/* Best Api themes (v8.6). Loaded LAST on every page (login, register, user dashboard, admin).
   Pick the theme in Admin > Settings > Appearance; it is stored in settings.site_theme and
   rendered as <html data-theme="...">. "mint" (default) needs no block: its tokens live in bestapi.css. */
html[data-theme]{color-scheme:var(--t-scheme)}

/* Ocean Blue */
html[data-theme="ocean"]{
  --t-page1:#cfe6fa; --t-page2:#b4d6f5; --t-page3:#8fc0ee;
  --t-d1:#12365e; --t-d2:#1d4f85; --t-d3:#5aa5e0;
  --t-a:#2f7dc8; --t-a2:#3b87d0; --t-a3:#6bb7f0; --t-a4:#8fd0ff;
  --t-ad:#1f5f9e; --t-add:#14406b;
  --t-ink:#0f2540; --t-ink2:#14325a; --t-mut:#4a6683; --t-mut2:#35516e;
  --t-hi:#ffd166; --t-on-hi:#3a2a00; --t-bd:#8fb9e2; --t-bd2:#c6dbf0;
  --t-input:#f3f8fd; --t-card:#ffffff; --t-panel:rgba(240,247,254,.88);
  --t-code:#0f2540; --t-codefg:#9fd4ff; --t-kpi1:#eaf3fc; --t-kpi2:#d3e6f8;
  --t-rgb:30 100 170; --t-argb:47 125 200; --t-hirgb:255 209 102; --t-deep:6 24 48; --t-wash:255 255 255;
  --t-scheme:light;
}
/* Royal Purple */
html[data-theme="royal"]{
  --t-page1:#e6dcf8; --t-page2:#d4c4f1; --t-page3:#bda5e8;
  --t-d1:#34195e; --t-d2:#4b2a85; --t-d3:#9a74d6;
  --t-a:#7c4fcf; --t-a2:#8559d6; --t-a3:#ad88f0; --t-a4:#c7aaff;
  --t-ad:#5e35a8; --t-add:#3f2277;
  --t-ink:#22123f; --t-ink2:#2d1a55; --t-mut:#6a5a86; --t-mut2:#50416b;
  --t-hi:#ffd36e; --t-on-hi:#3b2a00; --t-bd:#bba3e6; --t-bd2:#d9ccf0;
  --t-input:#f8f5fd; --t-card:#ffffff; --t-panel:rgba(246,242,253,.88);
  --t-code:#22123f; --t-codefg:#d5c0ff; --t-kpi1:#f1ecfb; --t-kpi2:#e0d6f5;
  --t-rgb:90 55 160; --t-argb:124 79 207; --t-hirgb:255 211 110; --t-deep:22 10 44; --t-wash:255 255 255;
  --t-scheme:light;
}
/* Sunset Orange */
html[data-theme="sunset"]{
  --t-page1:#fde5cf; --t-page2:#f9d2ae; --t-page3:#f4b886;
  --t-d1:#5a2410; --t-d2:#8a3a14; --t-d3:#e89a55;
  --t-a:#e07a2f; --t-a2:#e5883f; --t-a3:#f6ad6a; --t-a4:#ffc994;
  --t-ad:#b45a14; --t-add:#7c3a08;
  --t-ink:#3a1b0b; --t-ink2:#4d2410; --t-mut:#7d5a44; --t-mut2:#64442f;
  --t-hi:#ffe08a; --t-on-hi:#3b2300; --t-bd:#efc197; --t-bd2:#f4dcc3;
  --t-input:#fffaf5; --t-card:#ffffff; --t-panel:rgba(255,248,240,.88);
  --t-code:#3a1b0b; --t-codefg:#ffd9a8; --t-kpi1:#fdf1e4; --t-kpi2:#f8dfc4;
  --t-rgb:170 90 30; --t-argb:224 122 47; --t-hirgb:255 224 138; --t-deep:44 16 6; --t-wash:255 255 255;
  --t-scheme:light;
}
/* Rose Pink */
html[data-theme="rose"]{
  --t-page1:#fbdce8; --t-page2:#f7c4d8; --t-page3:#f0a3c2;
  --t-d1:#5c1535; --t-d2:#8a2552; --t-d3:#e77fa8;
  --t-a:#d6457f; --t-a2:#de5a8e; --t-a3:#f58fb5; --t-a4:#ffb3cf;
  --t-ad:#ad2c60; --t-add:#7a1a42;
  --t-ink:#3d1022; --t-ink2:#55152f; --t-mut:#7a4e62; --t-mut2:#5f3a4c;
  --t-hi:#ffe08a; --t-on-hi:#3b2300; --t-bd:#eeaac6; --t-bd2:#f6d2e0;
  --t-input:#fff7fa; --t-card:#ffffff; --t-panel:rgba(255,245,249,.88);
  --t-code:#3d1022; --t-codefg:#ffc4da; --t-kpi1:#fdeaf1; --t-kpi2:#f8d3e2;
  --t-rgb:170 40 90; --t-argb:214 69 127; --t-hirgb:255 224 138; --t-deep:40 8 22; --t-wash:255 255 255;
  --t-scheme:light;
}
/* Slate Grey */
html[data-theme="slate"]{
  --t-page1:#e4e8ee; --t-page2:#d3d9e2; --t-page3:#bcc5d2;
  --t-d1:#1e2530; --t-d2:#2f3a4a; --t-d3:#6f7f96;
  --t-a:#4a5a74; --t-a2:#566784; --t-a3:#7d8fae; --t-a4:#a3b3cf;
  --t-ad:#36445c; --t-add:#232d3e;
  --t-ink:#172033; --t-ink2:#1f2a40; --t-mut:#5a6678; --t-mut2:#444f61;
  --t-hi:#5ee0c6; --t-on-hi:#06251e; --t-bd:#b3bfd0; --t-bd2:#d5dbe5;
  --t-input:#f6f8fb; --t-card:#ffffff; --t-panel:rgba(246,248,251,.9);
  --t-code:#172033; --t-codefg:#a9e8d8; --t-kpi1:#eef1f6; --t-kpi2:#dde3ec;
  --t-rgb:60 80 120; --t-argb:74 90 116; --t-hirgb:94 224 198; --t-deep:12 16 24; --t-wash:255 255 255;
  --t-scheme:light;
}
/* Midnight Dark */
html[data-theme="night"]{
  --t-page1:#0a1310; --t-page2:#0d1814; --t-page3:#11201a;
  --t-d1:#060d0a; --t-d2:#0d1f17; --t-d3:#1b4a36;
  --t-a:#1f9d63; --t-a2:#25a96c; --t-a3:#34c27f; --t-a4:#6fe0a8;
  --t-ad:#5fe0a6; --t-add:#a7f3d0;
  --t-ink:#e6f5ec; --t-ink2:#d5f5e3; --t-mut:#9bb8a9; --t-mut2:#b3cdbf;
  --t-hi:#6ec6ee; --t-on-hi:#06151c; --t-bd:#2f5a47; --t-bd2:#2a4d3d;
  --t-input:#0e1c17; --t-card:#13271f; --t-panel:rgba(18,38,31,.92);
  --t-code:#050d09; --t-codefg:#9ff0c0; --t-kpi1:#12281f; --t-kpi2:#0f211a;
  --t-rgb:95 224 166; --t-argb:47 191 127; --t-hirgb:110 198 238; --t-deep:4 12 8; --t-wash:30 58 48;
  --t-scheme:dark;
}

/* ---- parts that must follow the theme in every theme ---- */
.dash-dropdown{background:var(--t-card);border:1px solid var(--t-bd);box-shadow:0 14px 30px -12px rgba(0,0,0,.35)}
.dash-dropdown .dropdown-item,.dash-dropdown .dropdown-item-text,.admin-body .dropdown-menu .dropdown-item-text{color:var(--t-ink)}
.dash-dropdown .dropdown-item:hover,.dash-dropdown .dropdown-item:focus{background:rgb(var(--t-argb)/.14);color:var(--t-ink)}
.dash-dropdown .dropdown-divider{border-color:var(--t-bd2)}
.dash-dropdown .btn-logout{border:1px solid var(--t-bd);color:var(--t-ink);width:100%;padding:7px;border-radius:3px;background:transparent}
.dash-dropdown .btn-logout:hover{background:rgb(var(--t-argb)/.14)}
.dash-user{color:#fff}
.pay-pop-card{color:var(--t-ink)}
.docs-main,.docs-main h1,.docs-main h2,.docs-main h3{color:var(--t-ink)}
.fld .err{color:#b42318}
select option{background:var(--t-card);color:var(--t-ink)}

/* ---- Appearance picker (Admin > Settings, admin top bar) ---- */
.theme-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;margin:6px 0 14px}
.theme-opt{position:relative;display:block;cursor:pointer;margin:0}
.theme-opt input{position:absolute;opacity:0;pointer-events:none}
.theme-opt .tc{display:block;border:2px solid var(--t-bd);background:var(--t-card);border-radius:6px;padding:8px;transition:border-color .15s,box-shadow .15s,transform .15s}
.theme-opt:hover .tc{transform:translateY(-1px)}
.theme-opt input:checked+.tc{border-color:var(--t-a);box-shadow:0 0 0 3px rgb(var(--t-argb)/.25)}
.theme-opt input:focus-visible+.tc{outline:2px solid var(--t-hi);outline-offset:2px}
.theme-opt .sw{display:flex;height:54px;border-radius:4px;overflow:hidden;border:1px solid rgba(0,0,0,.12)}
.theme-opt .sw i{flex:1}
.theme-opt .sw i:first-child{flex:.7}
.theme-opt b{display:block;margin-top:7px;font-size:.85rem;color:var(--t-ink)}
.theme-opt small{color:var(--t-mut);font-size:.72rem}
.theme-opt .cur{position:absolute;right:6px;top:6px;background:var(--t-a);color:#fff;font-size:.62rem;font-weight:700;padding:2px 6px;border-radius:3px;letter-spacing:.04em}
.theme-menu{min-width:230px;padding:10px}
.theme-menu .tm-t{font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--t-mut);margin:0 4px 6px}
.theme-menu form{margin:0;display:grid;gap:4px}
.theme-menu button.tm{display:flex;align-items:center;gap:10px;width:100%;background:transparent;border:0;border-radius:4px;padding:7px 8px;color:var(--t-ink);font-weight:600;font-size:.88rem;cursor:pointer;text-align:left}
.theme-menu button.tm:hover{background:rgb(var(--t-argb)/.14)}
.theme-menu button.tm.on{background:rgb(var(--t-argb)/.2)}
.theme-menu .dot{width:22px;height:22px;border-radius:50%;border:1px solid rgba(0,0,0,.15);flex:none}
.top-pill.theme-btn{cursor:pointer;font-family:inherit}
.top-pill.theme-btn:hover{background:rgba(255,255,255,.18)}

/* ---- Profile pages (user + admin) ---- */
.pf-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:18px;align-items:start;margin-bottom:18px}
.pf-grid .panel{margin-bottom:18px}
.pf-grid>div>.panel:last-child{margin-bottom:0}
@media(max-width:991px){.pf-grid{grid-template-columns:minmax(0,1fr)}}
.pf-head{display:flex;gap:16px;align-items:center;margin-bottom:14px}
.pf-avatar{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;font-family:var(--font-head);font-size:1.6rem;font-weight:800;color:#fff;background:linear-gradient(135deg,var(--t-a),var(--t-a4));flex:none}
.pf-head h2{margin:0 0 2px;font-size:1.15rem}
.pf-head p{margin:0;color:var(--t-mut);font-size:.88rem;word-break:break-word}
.pf-list{list-style:none;margin:0;padding:0}
.pf-list li{display:flex;justify-content:space-between;gap:14px;padding:9px 0;border-top:1px solid var(--line);font-size:.9rem;color:var(--t-mut)}
.pf-list li strong{color:var(--t-ink);text-align:right;word-break:break-word;font-weight:600}
.pf-bar{height:8px;background:rgb(var(--t-argb)/.18);border-radius:99px;overflow:hidden;margin:6px 0 4px}
.pf-bar i{display:block;height:100%;background:linear-gradient(90deg,var(--t-a2),var(--t-a3))}
.pf-note{color:var(--t-mut);font-size:.82rem;margin:4px 0 14px}
.fld input:disabled,.input:disabled{opacity:.7;cursor:not-allowed}
.fld .hint{color:var(--t-mut)}

/* ---- Midnight Dark: surfaces that were hard-coded light ---- */
html[data-theme="night"] .kpi.k-blue{background:linear-gradient(90deg,#12253d,#0f1f35)}
html[data-theme="night"] .kpi.k-purple{background:linear-gradient(90deg,#1e1838,#181330)}
html[data-theme="night"] .kpi.k-amber{background:linear-gradient(90deg,#2b2112,#231b0e)}
html[data-theme="night"] .kpi.k-blue strong{color:#9cc3ff}
html[data-theme="night"] .kpi.k-purple strong{color:#c6b2ff}
html[data-theme="night"] .kpi.k-amber strong{color:#ffd27a}
html[data-theme="night"] .kpi strong{color:var(--t-ink)}
html[data-theme="night"] .tbl th{color:#fff}
html[data-theme="night"] .tbl td,html[data-theme="night"] .admin-body .admin-table td{color:var(--t-ink)}
html[data-theme="night"] .admin-body .admin-table th{background:var(--t-a)}
html[data-theme="night"] .badge-neutral,html[data-theme="night"] .admin-body .badge-pill{background:#1c2f27;color:#b3cdbf;border-color:#2f5a47}
html[data-theme="night"] .pay-off{background:#2a1515;border-color:#6b2b2b;color:#f2b3b3}
html[data-theme="night"] .dash-alert{background:#2b2210;border-color:#6b5320;color:#f1d28a}
html[data-theme="night"] .dash-alert.bad{background:#2a1515;border-color:#6b2b2b;color:#f2b3b3}
html[data-theme="night"] .alert-bad{background:#2a1515;border-color:#6b2b2b;color:#f2b3b3}
html[data-theme="night"] .alert-ok,html[data-theme="night"] .fresh-key{background:#12301f;border-color:#2f6b4c;color:#a7f3d0}
html[data-theme="night"] .fld .err{color:#ff9d9d}
html[data-theme="night"] .dash-box li strong{color:var(--t-ink)}
html[data-theme="night"] .dash-box li strong.ok{color:#6fe0a8}
html[data-theme="night"] .dash-box li strong.warn{color:#ffd27a}
html[data-theme="night"] .dash-box li strong.bad{color:#ff9d9d}
html[data-theme="night"] .amt-up{color:#6fe0a8}
html[data-theme="night"] .amt-down{color:#ff9d9d}
html[data-theme="night"] .btn-link.danger{color:#ff9d9d}
html[data-theme="night"] .tbl tbody tr:nth-child(even){background:rgba(255,255,255,.03)}
html[data-theme="night"] .bp-top{background:linear-gradient(90deg,#0d1f17,#0a1713);border-bottom-color:var(--t-bd)}
