/* Navy & mint: a calm cash-control workspace. */
:root {
  --primary:#155a69; --primary-600:#155a69; --primary-700:#104652;
  --primary-light:#e4f2ef; --primary-grad:#152d3f;
  --accent:#126c55; --accent-light:#e5f4eb;
  --bg:#f3f2ed; --card:#fffefa; --surface:#fffefa;
  --surface-2:#f0f3ef; --surface-3:#e8eeeb;
  --text:#182d39; --muted:#586975; --border:#dce3df;
  --line-2:#e5e9e4; --on-primary:#fff;
  --shadow-sm:0 3px 12px #152d3f05; --shadow:0 10px 28px #152d3f07;
  --shadow-lg:0 20px 70px #102b3c24; --shadow-primary:none;
  --radius:22px; --radius-sm:12px;
}
:root[data-theme="dark"] {
  --primary:#8edcc2; --primary-600:#8edcc2; --primary-700:#b3ead8; --primary-light:#203d3d;
  --accent:#8edcc2; --accent-light:#1b3a31; --bg:#10212d; --card:#182e3c;
  --surface:#182e3c; --surface-2:#213846; --surface-3:#294250;
  --text:#eef4ef; --muted:#b0c2c9; --border:#34505d; --line-2:#2b4350; --on-primary:#102b30;
}
@media(prefers-color-scheme:dark) {
  :root:not([data-theme="light"]) {
    --primary:#8edcc2; --primary-600:#8edcc2; --primary-700:#b3ead8; --primary-light:#203d3d;
    --accent:#8edcc2; --accent-light:#1b3a31; --bg:#10212d; --card:#182e3c;
    --surface:#182e3c; --surface-2:#213846; --surface-3:#294250;
    --text:#eef4ef; --muted:#b0c2c9; --border:#34505d; --line-2:#2b4350; --on-primary:#102b30;
  }
}
body { background:var(--bg); }
.app-header { background:#152d3f; color:#f3faf6; border:0; padding-inline:32px; box-shadow:none; gap:30px; }
.app-header .brand h1 { color:#f3faf6; font-weight:650; letter-spacing:-.04em; font-size:1.22rem; }
.app-header .brand > svg:first-child { background:#bbe7d5; color:#163c40; padding:7px; border-radius:12px; width:36px; height:36px; }
.app-header .nav-tabs button { color:#ccdade; border-radius:10px; padding:10px 18px; border:0; }
.app-header .nav-tabs button.active { color:#13363b; background:#bbe7d5; box-shadow:none; }
.app-header .nav-tabs button:hover:not(.active) { background:#ffffff12; color:#fff; }
.app-header .hdr-btn { color:#e9f6f1; background:#ffffff0d; border:1px solid #ffffff19; border-radius:12px; }
.app-header .hdr-avatar { background:#345460; color:#eafff4; }
.container { max-width:1180px; padding:0 28px; margin:38px auto; }
.hero { margin-bottom:30px; padding:0; }
.hero-greet { font-size:1rem; font-weight:500; color:var(--muted); }
.hero-sub { font-size:.8rem; margin-top:5px; }
.wave-emoji { display:none; }
#cashControl { position:relative; margin-bottom:30px; }
#cashControl > h2 { font-size:clamp(1.8rem,3.6vw,2.65rem); letter-spacing:-.055em; font-weight:650; line-height:1.15; margin-bottom:12px; }
#cashControl > .help-note { font-size:.9rem; line-height:1.7; max-width:660px; }
.cc-actions { gap:10px; align-items:center; margin:24px 0 18px; }
.btn { border-radius:12px; min-height:44px; padding:11px 17px; font-weight:600; box-shadow:none; }
.btn-primary { background:var(--primary); color:var(--on-primary); border-color:transparent; }
.btn-primary:hover { background:var(--primary-700); }
.btn-outline { background:var(--card); border:1px solid var(--border); color:var(--text); }
.btn-outline:hover { background:var(--surface-2); border-color:var(--primary); }
#cashControl > .cc-actions:first-of-type > button:first-child::before { content:"↙"; font-size:1.25rem; margin-right:8px; }
#cashControl > .cc-actions:first-of-type > button:nth-child(2)::before { content:"↗"; font-size:1.25rem; margin-right:8px; }
#cashControl > .cc-actions:first-of-type > button:nth-child(3)::before { content:"+"; font-size:1.25rem; margin-right:8px; }
.cc-actions select { margin-left:auto; min-height:44px; padding-inline:16px; border:1px solid var(--border); border-radius:12px; background:var(--card); }
#ccSaveState { display:flex; gap:7px; align-items:center; font-size:.75rem; margin:0 0 14px; }
#ccSaveState::before { content:""; width:6px; height:6px; border-radius:50%; background:var(--accent); }
#ccSaveState[data-state="failed"]::before { background:var(--danger); }
#ccSaveState[data-state="saving"]::before { background:var(--warn); }
#cashControl .dash-grid { display:grid; grid-template-columns:1.25fr 1.25fr 1fr 1fr; gap:14px; margin-bottom:18px; }
#cashControl .cc-metric { padding:24px; border:1px solid var(--border); box-shadow:none; border-radius:20px; min-width:0; }
#cashControl .cc-metric .dc-label { font-size:.8rem; font-weight:500; letter-spacing:0; color:var(--muted); }
#cashControl .cc-metric .dc-val { font-family:var(--font); font-variant-numeric:tabular-nums; letter-spacing:-.045em; display:block; margin-top:10px; font-size:clamp(1.3rem,2.5vw,1.9rem); font-weight:600; line-height:1.3; }
#cashControl .cc-metric-cash { grid-column:span 2; grid-row:span 2; background:#152d3f; color:#f4fbf6; border-color:#152d3f; position:relative; overflow:hidden; display:flex; flex-direction:column; justify-content:center; padding:36px; min-height:240px; }
#cashControl .cc-metric-cash::after { content:""; position:absolute; width:250px; height:250px; border:45px solid #bfe6d80b; border-radius:50%; right:-130px; bottom:-140px; pointer-events:none; }
#cashControl .cc-metric-cash .dc-label { color:#bdd0d7; font-size:.9rem; }
#cashControl .cc-metric-cash .dc-val { color:#f4fbf6; font-size:clamp(1.75rem,3.6vw,3rem); position:relative; z-index:1; }
#cashControl .cc-metric-receivable { border-top:3px solid #479d82; }
#cashControl .cc-metric-payable { border-top:3px solid #bc8553; }
#cashControl .cc-metric-month { grid-column:span 2; display:grid; grid-template-columns:1fr auto; align-items:center; gap:4px 14px; padding-block:18px; }
#cashControl .cc-metric-month .dc-val { margin:0; font-size:1.35rem; }
#cashControl .cc-metric-month .help-note { grid-column:1/-1; font-size:.72rem; line-height:1.5; margin-top:5px; }
#cashControl > h3 { margin:32px 0 16px; font-size:1.22rem; font-weight:600; letter-spacing:-.025em; }
.cc-debt { background:var(--card); border:1px solid var(--border); border-radius:16px; padding:20px; margin-bottom:10px; gap:20px; }
.cc-debt > div { flex:1; min-width:0; }
.cc-debt strong { display:block; font-size:.95rem; margin-bottom:7px; }
.cc-debt > div > div { font-size:.84rem; margin-bottom:5px; color:var(--muted); }
.cc-debt .btn { font-size:.8rem; flex-shrink:0; }
.cc-warning { background:var(--warn-light); color:var(--warn); border-radius:12px; padding:10px 14px; font-size:.8rem; line-height:1.6; margin-block:10px; }
.card,.contract-card { border:1px solid var(--border); border-radius:20px; box-shadow:none; }
.card-header { border-bottom:1px solid var(--border); padding:18px 22px; background:transparent; }
.card-body { padding:22px; }
input,select,textarea { border-radius:10px; background:var(--surface); color:var(--text); border:1px solid var(--border); }
input:focus,select:focus,textarea:focus { border-color:var(--primary); outline:3px solid var(--primary-light); }
button:focus-visible,summary:focus-visible { outline:3px solid var(--primary); outline-offset:4px; }
.app-header button:focus-visible { outline-color:#bbe7d5; }
.cc-dialog { margin:auto; background:var(--card); color:var(--text); border-radius:24px; padding:28px; box-shadow:var(--shadow-lg); }
.cc-dialog h2 { margin-bottom:20px; font-size:1.4rem; letter-spacing:-.035em; }
.cc-dialog label { font-size:.8rem; font-weight:550; display:block; }
.cc-dialog input,.cc-dialog select { min-height:46px; }
.modal-content,.modal { border-radius:24px; }
details { border:1px solid var(--border); border-radius:16px; background:var(--card); margin-block:20px; }
details > summary { cursor:pointer; font-size:.85rem; font-weight:550; }
@media(max-width:900px) {
  .container { padding-inline:20px; margin-top:26px; }
  #cashControl .dash-grid { grid-template-columns:1fr 1fr; }
  #cashControl .cc-metric-cash { grid-column:1/-1; grid-row:auto; min-height:190px; }
  #cashControl .cc-metric-month { grid-column:1/-1; }
  .app-header { gap:16px; padding-inline:20px; }
}
@media(max-width:640px) {
  .app-header { padding:12px 18px; padding-top:calc(12px + env(safe-area-inset-top)); height:auto; min-height:66px; }
  .app-header .nav-tabs { background:#152d3f; border:0; box-shadow:0 -4px 20px #10212d18; padding:8px 12px calc(8px + env(safe-area-inset-bottom)); gap:8px; }
  .app-header .nav-tabs button { border:0; padding:8px 5px; border-radius:12px; font-size:.7rem; gap:4px; }
  .container { padding-inline:16px; margin:24px auto 110px; }
  .hero { margin-bottom:22px; }
  #cashControl > h2 { font-size:1.95rem; }
  .cc-actions { gap:8px; margin-top:20px; }
  .cc-actions > button { flex:1 1 28%; font-size:.78rem; padding:10px 8px; }
  .cc-actions select { margin-left:0; width:100%; }
  #cashControl .cc-metric { padding:20px; }
  #cashControl .cc-metric-cash { min-height:180px; padding:28px; }
  #cashControl .cc-metric-cash .dc-val { font-size:2.2rem; }
  #cashControl .cc-metric-month { display:block; }
  #cashControl .cc-metric-month .dc-val { margin:8px 0; }
  .cc-debt { flex-direction:row; flex-wrap:wrap; align-items:center; padding:18px; }
  .cc-debt .btn { min-height:40px; }
}
@media(prefers-reduced-motion:reduce) { * { scroll-behavior:auto; } }

/* Login is the entry screen; app content is hidden before initialization. */
.auth-required > .app-header,.auth-required > .container { display:none !important; }
.auth-required .auth-close,.auth-required .auth-grip { display:none; }
.auth-required .auth-screen { background:#152d3f; align-items:center; padding:20px; backdrop-filter:none; }
.auth-required .auth-box { transform:none; opacity:1; border:1px solid var(--border); border-radius:26px; padding:32px; max-height:calc(100dvh - 40px); box-shadow:0 24px 80px #0003; }
.auth-required .auth-box > * { opacity:1; transform:none; }
.auth-required .auth-logo { background:#bbe7d5; color:#153a3e; animation:none; }
.auth-required .auth-sub { line-height:1.6; }
@media(max-width:480px) { .auth-required .auth-screen { padding:14px; } .auth-required .auth-box { padding:26px 22px; max-height:calc(100dvh - 28px); } }

/* Clear blue workspace — shared with the web entry page. */
:root{--primary:#2162e8;--primary-600:#2162e8;--primary-700:#184ec0;--primary-light:#e5efff;--primary-grad:#2162e8;--bg:#f5f7fb;--card:#fff;--surface:#fff;--surface-2:#f0f4fa;--text:#172433;--muted:#657487;--border:#dfe6ef;--radius:12px;--radius-sm:8px}
.app-header{background:var(--card);color:var(--text);border-bottom:1px solid var(--border);gap:26px}
.app-header .brand h1{color:var(--text)}.app-header .brand > svg:first-child{background:#2162e8;color:#fff;border-radius:9px}
.app-header .nav-tabs button{color:var(--muted);border-radius:8px}.app-header .nav-tabs button.active{background:var(--primary-light);color:var(--primary)}.app-header .nav-tabs button:hover:not(.active){color:var(--text);background:var(--surface-2)}
.app-header .hdr-btn{color:var(--text);background:var(--surface-2);border-color:var(--border);border-radius:8px}.app-header .hdr-avatar{background:var(--primary-light);color:var(--primary)}
.container{max-width:1180px;margin-top:28px}.hero{margin-bottom:20px}#cashControl > h2{font-size:clamp(1.65rem,3vw,2.2rem);letter-spacing:-.04em}
.btn{border-radius:8px}.cc-actions select{border-radius:8px}
#cashControl .dash-grid{grid-template-columns:repeat(3,1fr);gap:14px}
#cashControl .cc-metric{border-radius:12px;padding:24px}
#cashControl .cc-metric-cash{grid-column:auto;grid-row:auto;min-height:160px;background:#2162e8;border-color:#2162e8;padding:24px;justify-content:center}
#cashControl .cc-metric-cash:after{display:none}
#cashControl .cc-metric-cash .dc-label{color:#e5edff}
#cashControl .cc-metric-cash .dc-val{font-size:clamp(1.4rem,2.5vw,2rem);letter-spacing:-.035em}
#cashControl .cc-metric-receivable,#cashControl .cc-metric-payable{display:flex;flex-direction:column;justify-content:center}
#cashControl .cc-metric-month{grid-column:1/-1;grid-template-columns:1fr auto;padding:16px 24px}
.card,.contract-card,.cc-debt,details{border-radius:12px}.cc-dialog,.modal{border-radius:16px}
.auth-required .auth-screen{background:var(--bg)}.auth-required .auth-box{border-radius:16px;box-shadow:0 15px 50px #243b6010}
.auth-required .auth-logo{background:#2162e8;color:white;border-radius:14px}
@media(max-width:900px){#cashControl .dash-grid{grid-template-columns:1fr 1fr}#cashControl .cc-metric-cash{grid-column:1/-1;min-height:160px}}
@media(max-width:640px){.app-header .nav-tabs{background:var(--card);border-top:1px solid var(--border);box-shadow:0 -4px 15px #17243305}.app-header .nav-tabs button{border-radius:8px}.container{margin-bottom:110px}#cashControl .cc-metric{padding:20px}#cashControl .cc-metric-month{display:block}}

/* Shared components: all application views and modal workflows. */
:root{--surface-3:#e8eef6;--line-2:#e8edf4;--accent:#18734f;--accent-light:#edf7f1;--danger:#c93338;--danger-light:#fff0f0;--warn:#945b16;--warn-light:#fff6e8;--on-primary:#fff;--shadow-primary:none;--shadow-sm:none;--shadow:0 3px 12px #19365a04;--shadow-lg:0 20px 60px #17243320}
:root[data-theme="dark"]{--primary:#8ab4ff;--primary-600:#8ab4ff;--primary-700:#b2ceff;--primary-grad:#2162e8;--primary-light:#203454;--bg:#101a29;--card:#172437;--surface:#172437;--surface-2:#1c2c42;--surface-3:#26384e;--text:#edf3fc;--muted:#b0bfd3;--border:#34465e;--line-2:#293d54;--accent:#79d5a6;--accent-light:#183a30;--danger:#ff9b9f;--danger-light:#40272f;--warn:#efc481;--warn-light:#3d3326;--on-primary:#10213a}
@media(prefers-color-scheme:dark){:root:not([data-theme="light"]){--primary:#8ab4ff;--primary-600:#8ab4ff;--primary-700:#b2ceff;--primary-grad:#2162e8;--primary-light:#203454;--bg:#101a29;--card:#172437;--surface:#172437;--surface-2:#1c2c42;--surface-3:#26384e;--text:#edf3fc;--muted:#b0bfd3;--border:#34465e;--line-2:#293d54;--accent:#79d5a6;--accent-light:#183a30;--danger:#ff9b9f;--danger-light:#40272f;--warn:#efc481;--warn-light:#3d3326;--on-primary:#10213a}}
.page-title{margin-bottom:24px;gap:16px}.page-title h2{font-size:1.6rem;font-weight:650;letter-spacing:-.045em}.page-title .sub{line-height:1.5}
.card,.dash-card,.contract-card,.trx-entry,.trx-tcard,.debt-entry,.bal-card{border:1px solid var(--border);border-radius:12px;box-shadow:none}
.card-header{padding:18px 22px;background:var(--card)}.card-header h2,.card-header h3{font-weight:600;letter-spacing:-.02em}.card-body{padding:22px}
.contract-card:hover{transform:translateY(-2px);box-shadow:0 6px 20px #17243308}.contract-card:before,.trx-entry:before{width:3px}
.trx-title,.profile-name,.contract-card .cc-num{font-weight:600}.trx-entry{padding:18px 20px}.trx-amt,.trx-tcard .tv,.bal-card .bal-val,.dash-card .dc-val,.hri-amt{font-family:var(--font);font-variant-numeric:tabular-nums;font-weight:650;letter-spacing:-.025em}
.btn,.qa-btn,.btn-add-row,.trx-voice-btn,.payment-methods label,.filter-chips button,.lang-seg,.lang-seg button,.search-bar{border-radius:8px}
.btn:hover{box-shadow:none;filter:none}.btn-primary{color:var(--on-primary)}.btn-outline{border-color:var(--border)}.btn-add-row{border:1px dashed var(--border);background:var(--surface-2)}.btn-add-row:hover{background:var(--primary-light)}.qa-btn{font-weight:550;border-width:1px;padding:11px 14px}
.btn-sm,.trx-voice-btn{min-height:36px}.filter-chips{gap:7px}.filter-chips button{font-weight:550;min-height:38px;border-width:1px}.filter-chips button.active{background:var(--primary-light);border-color:var(--primary);color:var(--primary)}
.search-bar{padding:5px 12px;min-height:46px}.search-bar:focus-within{border-color:var(--primary);outline:2px solid var(--primary-light)}.search-bar input:focus{outline:none}
input,select,textarea{font-family:var(--font);border-radius:8px;accent-color:var(--primary)}input:not([type=checkbox]):not([type=radio]):not([type=range]),select{min-height:44px}textarea{line-height:1.6}
.field-group>label,.auth-field label{font-weight:550;text-transform:none;letter-spacing:0;color:var(--muted)}
.trx-cat,.trx-due,.profile-badge,.biz-status{border-radius:6px;font-weight:550}
.summary-box,.quick-preview,.backup-info{background:var(--surface-2);border:1px solid var(--border);border-radius:10px}
.summary-row{border-color:var(--border)}.summary-row.profit-row{box-shadow:none;border:1px solid var(--border);border-radius:8px}.summary-row.profit-row .val{font-size:1.35rem}
table{font-size:.86rem}thead th{background:var(--surface-2);color:var(--muted);font-weight:550;text-transform:none;letter-spacing:0;border-color:var(--border)}
td{border-color:var(--line-2)}tbody tr:hover{background:var(--surface-2)}.amount-display,.cost-amount-display{border-radius:7px;font-weight:600}
.bal-card.pos{background:var(--accent-light);border-color:var(--border)}.bal-card.neg{background:var(--danger-light);border-color:var(--border)}.bal-card.neutral{background:var(--surface-2)}
.bal-card.pos .bal-label,.bal-card.pos .bal-val{color:var(--accent)}.bal-card.neg .bal-label{color:var(--danger)}
.goal-item,.task-item,.biz-item,.recur-item,.home-recent-item{border-color:var(--line-2);padding-top:15px;padding-bottom:15px}
.st-paused{color:var(--warn);background:var(--warn-light)}.st-done{color:var(--accent);background:var(--accent-light)}.st-cancelled{color:var(--danger);background:var(--danger-light)}
.modal-overlay{background:#10213a66;padding:20px;align-items:center}.modal{border:1px solid var(--border);border-radius:16px;padding:26px;box-shadow:var(--shadow-lg);max-height:calc(100dvh - 40px)}
.modal h2,.cc-dialog h2{font-weight:600;font-size:1.3rem;letter-spacing:-.025em}.modal .actions{background:var(--surface);border-top:1px solid var(--border);padding-top:16px}
.profile-avatar{border-radius:14px;background:var(--primary-light);color:var(--primary);font-weight:650}.profile-head{padding:8px 0 20px;border-bottom:1px solid var(--border);margin-bottom:12px}
.set-row{padding:16px 0;border-bottom:1px solid var(--line-2)}.set-row:last-child{border:0}.set-row b{font-size:.9rem;font-weight:550}.lang-seg{background:var(--surface-2);border:1px solid var(--border)}.lang-seg button{font-weight:550;min-height:34px}.lang-seg button.active{background:var(--primary-light);box-shadow:none}.switch input:focus-visible+.slider{outline:3px solid var(--primary);outline-offset:3px}
.lock-screen{background:var(--bg);color:var(--text)}.lock-box{background:var(--card);border:1px solid var(--border);border-radius:18px;padding:28px;box-shadow:var(--shadow-lg)}.lock-logo{background:#2162e8;color:white;animation:none!important;border-radius:14px}.lock-box h2,.lock-box p{color:var(--text)}.pin-dots .dot{border-color:var(--border)}.pin-dots .dot.on{background:var(--primary);border-color:var(--primary)}.keypad button{background:var(--surface-2);color:var(--text);border:1px solid var(--border);border-radius:10px;font-weight:550}.keypad button:hover{background:var(--primary-light)}
.empty-state{padding:36px 20px}.empty-state svg{animation:none!important;color:var(--muted)}.wave-emoji{display:none!important}
.auth-box .auth-btn{border-radius:8px}.auth-box .auth-logo{animation:none!important}.auth-back{color:var(--primary)}
@media(max-width:640px){.page-title h2{font-size:1.35rem}.card-header,.card-body{padding:17px}.modal-overlay{padding:12px}.modal{padding:20px;border-radius:14px;max-height:calc(100dvh - 24px)}.set-row{flex-wrap:wrap;gap:10px}.trx-totals{gap:8px}.trx-tcard{padding:13px}.trx-tcard .tv{font-size:1rem}.trx-top{flex-wrap:wrap}.trx-amt{white-space:normal;overflow-wrap:anywhere}.lock-box{padding:24px;max-width:calc(100vw - 30px)}.keypad{gap:10px}.keypad button{height:54px}}
@media print{.card,.summary-box,.contract-card,.trx-entry{box-shadow:none;border-color:#ccc}.container{max-width:none}}

.contract-card .cc-num,.contract-card .cc-stat .v{font-family:var(--font);font-variant-numeric:tabular-nums}.modal .help-note{line-height:1.55}

/* ══════════════════════════════════════════════════════════════════
   DAFTAR — yakuniy qatlam
   ──────────────────────────────────────────────────────────────────
   Yo'nalish: iliq qog'oz, chiziqli chegaralar, serif raqamlar.
   Chuqurlik soyadan emas, qatlamdan.

   NEGA SHU FAYLDA: index.html theme-3a.css dan KEYIN shu faylni
   yuklaydi, va yuqoridagi bloklar :root ni to'liq qayta ta'riflaydi.
   Daftar tokenlari o'sha faylga yozilsa, jimgina bosib ketilardi —
   ya'ni tema o'zgargandek ko'rinib, aslida o'zgarmasdi.

   Ranglar hozirgi brend DNK sidan: indigo va emerald o'z joyida,
   faqat neytrallar sovuqdan iliqqa o'tdi.
   ══════════════════════════════════════════════════════════════════ */

:root{
  --primary:#4338ca;--primary-600:#4338ca;--primary-700:#3730a3;
  --primary-light:#eeedfa;--primary-grad:#4338ca;
  --accent:#047857;--accent-light:#e7f4ee;
  /* Muhr qizili: #c93338 oq fonda 4.5:1 chegarasida edi, bu 7.1:1 */
  --danger:#9f1239;--danger-light:#fbeef1;
  --warn:#92400e;--warn-light:#faf3e8;
  --bg:#fbfaf7;--card:#ffffff;--surface:#ffffff;
  --surface-2:#f6f3ec;--surface-3:#efebe2;
  --text:#15202e;--muted:#4b5563;
  --border:#e4dfd4;--line-2:#ede8de;--faint:#8a7f6d;
  --on-primary:#ffffff;--on-danger:#ffffff;
  /* Daftar varag'i yumaloq emas */
  --radius:10px;--radius-sm:6px;
  --shadow-sm:none;--shadow:none;--shadow-primary:none;
  --shadow-lg:0 16px 30px -26px rgba(21,32,46,.55);
  --serif:'Literata',Georgia,'Times New Roman',serif;
  color-scheme:light;
}

/* Tungi rejim — boshqa dizayn emas, o'sha tokenlarning teskari qiymati */
:root[data-theme="dark"]{
  --primary:#818cf8;--primary-600:#818cf8;--primary-700:#a5b4fc;
  --primary-light:#242838;--primary-grad:#4f46e5;
  --accent:#34d399;--accent-light:#123026;
  --danger:#fb7185;--danger-light:#2d1720;
  --warn:#fbbf24;--warn-light:#2e2314;
  --bg:#15171c;--card:#1d2027;--surface:#1d2027;
  --surface-2:#242831;--surface-3:#2b3039;
  /* Iliq oq: sof #fff qorong'i fonda ko'zni qamashtiradi */
  --text:#edeae3;--muted:#9aa0ab;
  --border:#2b2f38;--line-2:#262a33;--faint:#858b97;
  --on-primary:#16182b;--on-danger:#2d1018;
  --shadow-lg:0 16px 30px -26px #000;
  color-scheme:dark;
}
@media(prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --primary:#818cf8;--primary-600:#818cf8;--primary-700:#a5b4fc;
  --primary-light:#242838;--primary-grad:#4f46e5;
  --accent:#34d399;--accent-light:#123026;
  --danger:#fb7185;--danger-light:#2d1720;
  --warn:#fbbf24;--warn-light:#2e2314;
  --bg:#15171c;--card:#1d2027;--surface:#1d2027;
  --surface-2:#242831;--surface-3:#2b3039;
  --text:#edeae3;--muted:#9aa0ab;
  --border:#2b2f38;--line-2:#262a33;--faint:#858b97;
  --on-primary:#16182b;--on-danger:#2d1018;
  --shadow-lg:0 16px 30px -26px #000;
  color-scheme:dark;
}}

/* ── Daftar chiziqlari ──
   Juda past kontrastda: tartib hissini beradi, o'qishga xalaqit qilmaydi */
body{background-image:linear-gradient(var(--line-2) 1px,transparent 1px);background-size:100% 28px}
/* Varaqlar ustida chiziq ko'rinmasin */
.card,.cc-dialog,.modal,.adv-item,.net-position,.summary-box{background-image:none}

/* ── Pul summalari va sarlavhalar serif bilan ──
   Literata tabular raqamlarga ega, ya'ni ustunda qator siljimaydi */
.score-num,.score-of,.sc-top .sc-val,
.fc-row .v,.fc-total .v,.bud-sum-row .v,
.summary-row .val,.contract-card .cc-num,#cashControl .dc-val,
.card-header h2,.app-header .brand h1,.adv-title{
  font-family:var(--serif);font-variant-numeric:tabular-nums;letter-spacing:-.015em;
}
.card-header h2,.app-header .brand h1,.adv-title{font-weight:600}
.adv-title{line-height:1.32}

/* ── Tavsiya kartasi: rangli fon o'rniga oq varaq + chap chiziq ──
   Rangli fon matn kontrastini pasaytirardi va to'rtta tavsiya yonma-yon
   turganda ekran rang-barang bo'lardi. Endi rang faqat 3px chiziqda. */
.adv-item{background:var(--card);border:1px solid var(--border);border-left-width:3px;border-radius:var(--radius-sm)}
.adv-critical{background:var(--card);border-left-color:var(--danger)}
.adv-warning{background:var(--card);border-left-color:var(--warn)}
.adv-info{background:var(--card);border-left-color:var(--primary)}
.adv-good{background:var(--card);border-left-color:var(--accent)}

/* Harakat rejasi — qog'oz ichidagi ajratilgan maydon */
.adv-plan{background:var(--surface-2);border:1px solid var(--line-2);border-radius:var(--radius-sm);padding:10px 12px 10px 28px;margin-top:10px}
.adv-plan li::marker{color:var(--accent)}
.adv-disclaimer{border-top-color:var(--line-2)}

/* ── Nuqtali yetakchi chiziq ──
   Daftarda ko'z chapdagi nomdan o'ngdagi raqamga shu chiziq orqali
   boradi. Bezak emas: uch ustunli qatorda adashish kamayadi. */
.fc-row,.bud-sum-row,.sc-row .sc-top{display:flex;align-items:baseline;gap:8px}
.fc-row .k,.bud-sum-row .k,.sc-row .sc-top .sc-name{flex:0 0 auto}
.fc-row::before,.bud-sum-row::before,.sc-row .sc-top::before{
  content:"";order:1;flex:1 1 auto;border-bottom:1px dotted var(--border);
  transform:translateY(-3px);min-width:18px;
}
.fc-row .v,.bud-sum-row .v,.sc-row .sc-top .sc-val{order:2;flex:0 0 auto}

/* ── Ko'tarilgan varaq ── yagona soya, qolgan joyda chiziq ishlaydi */
.card{box-shadow:0 1px 0 var(--line-2),var(--shadow-lg)}
