/* TradePilot 2 — design system (RTL-first, works LTR via logical properties) */
@font-face{font-family:Vazirmatn;src:url(../fonts/Vazirmatn-Regular.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:Vazirmatn;src:url(../fonts/Vazirmatn-Medium.woff2) format("woff2");font-weight:500;font-display:swap}
@font-face{font-family:Vazirmatn;src:url(../fonts/Vazirmatn-SemiBold.woff2) format("woff2");font-weight:600;font-display:swap}
@font-face{font-family:Vazirmatn;src:url(../fonts/Vazirmatn-Bold.woff2) format("woff2");font-weight:700;font-display:swap}
@font-face{font-family:Vazirmatn;src:url(../fonts/Vazirmatn-ExtraBold.woff2) format("woff2");font-weight:800;font-display:swap}

:root{
  --bg:#f4f7fb;--surface:#fff;--surface-2:#f8fafd;--border:#e3e9f1;--border-strong:#cfd8e4;
  --text:#14243a;--text-2:#4b5b70;--muted:#7a889a;
  --primary:#2563eb;--primary-hover:#1d4fd0;--primary-soft:#e8f0ff;--navy:#16324f;
  --success:#0f8a5f;--success-soft:#e3f5ee;--danger:#c93c48;--danger-soft:#fdecee;
  --warning:#a86a00;--warning-soft:#fff4dd;--gold:#c79b42;
  --radius:12px;--radius-sm:8px;--shadow:0 1px 2px rgb(16 32 56/.05),0 4px 16px rgb(16 32 56/.05);
  --font:Vazirmatn,system-ui,-apple-system,"Segoe UI",sans-serif;
  color-scheme:light;
}
html[data-theme=dark]{
  --bg:#0c1320;--surface:#121b2b;--surface-2:#172235;--border:#223047;--border-strong:#2f4060;
  --text:#e6edf6;--text-2:#b3c0d1;--muted:#8392a7;
  --primary:#5b8cff;--primary-hover:#7aa2ff;--primary-soft:#1a2a4a;--navy:#cfe0ff;
  --success:#34c48f;--success-soft:#123327;--danger:#ff6b78;--danger-soft:#3a1820;
  --warning:#f2b544;--warning-soft:#3a2c10;
  --shadow:0 1px 2px rgb(0 0 0/.3);color-scheme:dark;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font);font-size:15px;line-height:1.7}
a{color:var(--primary);text-decoration:none}a:hover{text-decoration:underline}
img,svg{max-width:100%}
h1,h2,h3{line-height:1.35;margin:0 0 .5em;color:var(--text)}
h1{font-size:1.6rem;font-weight:800}h2{font-size:1.15rem;font-weight:700}h3{font-size:1rem;font-weight:700}
p{margin:0 0 1em}
.num,.ltr{direction:ltr;unicode-bidi:isolate;font-variant-numeric:tabular-nums}
.muted{color:var(--muted)}.small{font-size:.85rem}
.pos{color:var(--success)}.neg{color:var(--danger)}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
:focus-visible{outline:2px solid var(--primary);outline-offset:2px}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;border:1px solid var(--border-strong);background:var(--surface);color:var(--text);
  font:inherit;font-weight:600;font-size:.92rem;padding:.55rem 1rem;border-radius:var(--radius-sm);cursor:pointer;text-decoration:none;white-space:nowrap}
.btn:hover{background:var(--surface-2);text-decoration:none}
.btn-primary{background:var(--primary);border-color:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-hover)}
.btn-danger{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 35%,transparent)}.btn-danger:hover{background:var(--danger-soft)}
.btn-ghost{border-color:transparent;background:transparent}
.btn-sm{padding:.3rem .65rem;font-size:.82rem}.btn-block{width:100%}
.btn-lg{padding:.8rem 1.4rem;font-size:1rem}

/* Forms */
.field{display:flex;flex-direction:column;gap:.3rem;margin-bottom:1rem}
.field label,.label{font-weight:600;font-size:.88rem;color:var(--text-2)}
.input,select.input,textarea.input{width:100%;font:inherit;font-size:.95rem;color:var(--text);background:var(--surface);border:1px solid var(--border-strong);
  border-radius:var(--radius-sm);padding:.55rem .75rem;min-height:42px}
textarea.input{min-height:110px;resize:vertical}
.input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}
.input.is-invalid{border-color:var(--danger)}
.error{color:var(--danger);font-size:.82rem}
.hint{color:var(--muted);font-size:.8rem}
.check{display:flex;align-items:center;gap:.5rem;font-size:.9rem}
.grid{display:grid;gap:1rem}
.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.grid-main{grid-template-columns:minmax(0,2fr) minmax(0,1fr)}.mt-1{margin-top:1rem}
.seg{display:inline-flex;border:1px solid var(--border-strong);border-radius:var(--radius-sm);overflow:hidden}
.seg input{position:absolute;opacity:0}.seg label{padding:.5rem 1rem;cursor:pointer;font-weight:600;font-size:.9rem;color:var(--text-2)}
.seg input:checked+label{background:var(--primary);color:#fff}
.seg input.long:checked+label{background:var(--success)}.seg input.short:checked+label{background:var(--danger)}

/* Alerts */
.alert{padding:.75rem 1rem;border-radius:var(--radius-sm);margin-bottom:1rem;font-size:.92rem;border:1px solid transparent}
.alert-success{background:var(--success-soft);color:var(--success)}
.alert-warning{background:var(--warning-soft);color:var(--warning)}
.alert-danger{background:var(--danger-soft);color:var(--danger)}

/* Cards */
.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.25rem}
.card-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}
.card-head h2{margin:0}
.stack>*+*{margin-top:1rem}

/* App shell */
.shell{display:flex;min-height:100vh}
.sidebar{width:248px;flex-shrink:0;background:var(--surface);border-inline-end:1px solid var(--border);padding:1.25rem .9rem;display:flex;flex-direction:column;
  position:sticky;top:0;height:100vh}
.brand{display:flex;align-items:center;gap:.6rem;font-weight:800;font-size:1.2rem;color:var(--navy);padding:0 .5rem;margin-bottom:1.5rem}
.brand:hover{text-decoration:none}.brand img{width:34px;height:34px}
.nav{display:flex;flex-direction:column;gap:2px}
.nav-label{font-size:.72rem;font-weight:700;color:var(--muted);padding:.9rem .7rem .3rem;letter-spacing:.02em}
.nav a{display:flex;align-items:center;gap:.7rem;padding:.6rem .75rem;border-radius:var(--radius-sm);color:var(--text-2);font-weight:600;font-size:.93rem}
.nav a:hover{background:var(--surface-2);text-decoration:none}
.nav a.active{background:var(--primary-soft);color:var(--primary)}
.nav svg{width:19px;height:19px;flex-shrink:0}
.nav .soon{margin-inline-start:auto;font-size:.68rem;font-weight:700;background:var(--surface-2);color:var(--muted);border-radius:99px;padding:0 .45rem}
.side-foot{margin-top:auto;border-top:1px solid var(--border);padding-top:1rem}
.plan-pill{display:flex;justify-content:space-between;align-items:center;font-size:.85rem;background:var(--surface-2);border-radius:var(--radius-sm);padding:.6rem .75rem;margin-bottom:.75rem}
.badge{display:inline-block;font-size:.72rem;font-weight:700;padding:.1rem .55rem;border-radius:99px;background:var(--primary-soft);color:var(--primary)}
.badge-success{background:var(--success-soft);color:var(--success)}.badge-danger{background:var(--danger-soft);color:var(--danger)}
.badge-muted{background:var(--surface-2);color:var(--muted)}.badge-gold{background:#fbf3e2;color:#8a6314}
.main{flex:1;min-width:0;display:flex;flex-direction:column}
.topbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.9rem 1.75rem;border-bottom:1px solid var(--border);background:var(--surface)}
.topbar-actions{display:flex;align-items:center;gap:.5rem}
.content{padding:1.75rem;max-width:1280px;width:100%}
.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;margin-bottom:1.5rem;flex-wrap:wrap}
.page-head h1{margin:0}.page-head p{margin:.25rem 0 0;color:var(--muted)}
.menu-btn{display:none}
.account-switch select{min-height:36px;padding:.3rem .6rem;font-size:.88rem;width:auto}

/* KPI */
.kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin-bottom:1rem}
.kpi{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1rem 1.1rem;box-shadow:var(--shadow)}
.kpi .k-label{font-size:.82rem;color:var(--muted);font-weight:600}
.kpi .k-value{font-size:1.45rem;font-weight:800;margin:.15rem 0;display:block}
.kpi .k-sub{font-size:.78rem;color:var(--muted)}
.insights{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.25rem 1.5rem}
.insight{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;padding:.6rem 0;border-bottom:1px dashed var(--border);font-size:.9rem}
.insight b{font-weight:700}
.chart{width:100%;height:240px;display:block}
.chart-empty{height:240px;display:grid;place-items:center;color:var(--muted);border:1px dashed var(--border);border-radius:var(--radius-sm)}
.bar-row{display:grid;grid-template-columns:90px 1fr 90px;gap:.75rem;align-items:center;font-size:.88rem;padding:.35rem 0}
.bar{height:8px;background:var(--surface-2);border-radius:99px;overflow:hidden}.bar span{display:block;height:100%;border-radius:99px}
.period{display:inline-flex;gap:.25rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:.2rem}
.period a{padding:.3rem .75rem;border-radius:6px;font-size:.85rem;font-weight:600;color:var(--text-2)}
.period a.on{background:var(--primary);color:#fff;text-decoration:none}

/* Table */
.table-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}
table.table{width:100%;border-collapse:collapse;font-size:.9rem}
.table th{text-align:start;font-size:.78rem;color:var(--muted);font-weight:700;padding:.7rem .9rem;background:var(--surface-2);border-bottom:1px solid var(--border);white-space:nowrap}
.table td{padding:.7rem .9rem;border-bottom:1px solid var(--border);white-space:nowrap;vertical-align:middle}
.table tr:last-child td{border-bottom:0}
.table tr:hover td{background:var(--surface-2)}
.table .actions{display:flex;gap:.35rem;justify-content:flex-end}
.dir{font-weight:700;font-size:.78rem}.dir.long{color:var(--success)}.dir.short{color:var(--danger)}
.empty{text-align:center;padding:3rem 1rem;color:var(--muted)}
.empty h3{color:var(--text)}
.filters{display:flex;flex-wrap:wrap;gap:.6rem;align-items:flex-end;margin-bottom:1rem}
.filters .field{margin:0}.filters .input{min-height:38px;padding:.35rem .6rem}
.pager{display:flex;gap:.3rem;justify-content:center;margin-top:1rem;flex-wrap:wrap}
.pager a,.pager span{padding:.3rem .7rem;border:1px solid var(--border);border-radius:6px;font-size:.85rem;background:var(--surface)}
.pager .on{background:var(--primary);color:#fff;border-color:var(--primary)}
.limit-bar{display:flex;align-items:center;gap:.75rem;font-size:.85rem;color:var(--muted)}
.limit-bar .bar{width:140px}

/* Trade form */
.form-section{border-top:1px solid var(--border);padding-top:1.25rem;margin-top:.5rem}
.form-section:first-child{border-top:0;padding-top:0;margin-top:0}
.preview{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);padding:1rem}
.preview .p-row{display:flex;justify-content:space-between;padding:.35rem 0;font-size:.9rem}
.preview .p-total{font-size:1.4rem;font-weight:800}
.form-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:1.25rem;align-items:start}
.sticky{position:sticky;top:1rem}

/* Auth */
.auth{min-height:100vh;display:grid;place-items:center;padding:2rem 1rem}
.auth-card{width:100%;max-width:420px}
.auth-card .brand{justify-content:center;margin-bottom:1.25rem}
.auth-card h1{font-size:1.35rem;text-align:center}
.auth-card .sub{text-align:center;color:var(--muted);margin-bottom:1.5rem}
.auth-foot{text-align:center;font-size:.9rem;margin-top:1rem;color:var(--muted)}
.row-between{display:flex;justify-content:space-between;align-items:center;gap:1rem}

/* Landing */
.lp-nav{display:flex;align-items:center;justify-content:space-between;max-width:1160px;margin:0 auto;padding:1.1rem 1.25rem}
.lp-nav nav{display:flex;align-items:center;gap:.5rem}
.hero{max-width:1160px;margin:0 auto;padding:3.5rem 1.25rem 3rem;display:grid;grid-template-columns:1.1fr .9fr;gap:3rem;align-items:center}
.hero h1{font-size:clamp(1.9rem,4vw,2.8rem);line-height:1.35}
.hero p.lead{font-size:1.1rem;color:var(--text-2);max-width:34em}
.hero-cta{display:flex;gap:.75rem;flex-wrap:wrap;margin-top:1.5rem}
.hero-card{background:var(--surface);border:1px solid var(--border);border-radius:16px;box-shadow:0 20px 50px rgb(16 32 56/.10);padding:1.25rem}
.section{max-width:1160px;margin:0 auto;padding:3rem 1.25rem}
.section-title{text-align:center;max-width:640px;margin:0 auto 2rem}
.section-title p{color:var(--muted)}
.features{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.feature{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem}
.feature .ico{width:40px;height:40px;border-radius:10px;background:var(--primary-soft);color:var(--primary);display:grid;place-items:center;margin-bottom:.75rem}
.feature p{color:var(--text-2);font-size:.92rem;margin:0}
.plans{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.plan{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.5rem;display:flex;flex-direction:column}
.plan.featured{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}
.plan .price{font-size:1.6rem;font-weight:800;margin:.5rem 0 1rem}
.plan ul{list-style:none;padding:0;margin:0 0 1.5rem;flex:1}
.plan li{padding:.35rem 0;font-size:.92rem;color:var(--text-2)}
.plan li::before{content:"✓";color:var(--success);font-weight:800;margin-inline-end:.5rem}
.footer{border-top:1px solid var(--border);padding:2rem 1.25rem;text-align:center;color:var(--muted);font-size:.85rem}

/* Responsive */
@media (max-width:1100px){.kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.form-layout{grid-template-columns:minmax(0,1fr)}.sticky{position:static}}
@media (max-width:900px){
  .grid-main,.grid-2{grid-template-columns:1fr}
  .sidebar{position:fixed;inset-block:0;inset-inline-start:0;z-index:50;transform:translateX(100%);transition:transform .2s;box-shadow:0 0 40px rgb(0 0 0/.2)}
  html[dir=ltr] .sidebar{transform:translateX(-100%)}
  body.nav-open .sidebar{transform:none}
  .menu-btn{display:inline-flex}
  .content{padding:1.1rem}.topbar{padding:.75rem 1.1rem}
  .hero{grid-template-columns:1fr;padding-top:2rem}.features,.plans{grid-template-columns:1fr}
  .grid-3,.grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}.insights{grid-template-columns:1fr}
}
@media (max-width:560px){.grid-2,.grid-3,.grid-4,.kpis{grid-template-columns:1fr}.lp-nav .hide-sm{display:none}.topbar .hide-sm{display:none}}

/* ===== v2.1: shell additions ===== */
.icon-btn{padding:.4rem}
.nav a[aria-disabled=true]{opacity:.55;pointer-events:none}
.nav-scrim{display:none}
.chip{display:inline-flex;align-items:center;gap:.35rem;font-size:.82rem;font-weight:700;border:1px solid var(--border);background:var(--surface-2);color:var(--text-2);border-radius:99px;padding:.25rem .65rem;white-space:nowrap}
.chip-streak svg{color:var(--muted)}
.chip-streak.is-live{background:#fff1e6;border-color:#ffd3b0;color:#b4500f}.chip-streak.is-live svg{color:#f26b1d;animation:flick 1.6s ease-in-out infinite}
.chip-streak.is-gold{background:#fbf3e2;border-color:#ecd59f;color:#8a6314}
html[data-theme=dark] .chip-streak.is-live{background:#3a2210;border-color:#5a3418;color:#ffb27a}
@keyframes flick{0%,100%{transform:scale(1)}50%{transform:scale(1.15) rotate(-4deg)}}
.chip-clock .dot{width:8px;height:8px;border-radius:50%;background:var(--muted)}
.chip-clock.open .dot{background:var(--success);box-shadow:0 0 0 0 rgb(15 138 95/.5);animation:ping 1.8s infinite}
@keyframes ping{0%{box-shadow:0 0 0 0 rgb(15 138 95/.5)}100%{box-shadow:0 0 0 8px rgb(15 138 95/0)}}
.demo-bar{display:flex;align-items:center;justify-content:center;gap:.75rem;flex-wrap:wrap;padding:.55rem 1rem;background:linear-gradient(90deg,#4f46e5,#7c3aed);color:#fff;font-size:.88rem;font-weight:600}
.demo-bar .btn-primary{background:#fff;color:#4f46e5;border-color:#fff}
.crumbs{display:flex;align-items:center;gap:.3rem;font-size:.82rem;color:var(--muted);margin-bottom:.25rem}
.crumbs a{color:var(--muted)}
html[dir=ltr] .crumbs svg{transform:scaleX(-1)}

/* Bottom nav (mobile) */
.bottom-nav{display:none}
@media (max-width:900px){
  .nav-scrim{display:block;position:fixed;inset:0;z-index:40;background:rgb(10 20 35/.45);opacity:0;pointer-events:none;transition:opacity .2s}
  body.nav-open .nav-scrim{opacity:1;pointer-events:auto}
  .bottom-nav{display:grid;grid-template-columns:repeat(5,1fr);align-items:end;position:fixed;inset-inline:0;bottom:0;z-index:30;background:var(--surface);
    border-top:1px solid var(--border);padding:.35rem .25rem calc(.35rem + env(safe-area-inset-bottom));box-shadow:0 -6px 24px rgb(16 32 56/.06)}
  .bottom-nav a{display:flex;flex-direction:column;align-items:center;gap:2px;font-size:.7rem;font-weight:600;color:var(--muted);padding:.25rem 0}
  .bottom-nav a svg{width:22px;height:22px}
  .bottom-nav a.on{color:var(--primary)}.bottom-nav a:hover{text-decoration:none}
  .bottom-nav .fab{justify-self:center;width:56px;height:56px;border-radius:50%;border:0;margin-top:-26px;background:linear-gradient(135deg,var(--primary),#7c3aed);color:#fff;
    display:grid;place-items:center;box-shadow:0 8px 20px rgb(37 99 235/.4);cursor:pointer}
  .app-body .content{padding-bottom:6rem}
  .chip-clock [data-clock-label]{display:none}
}

/* Sheet dialog */
dialog.sheet{border:0;padding:1.25rem;border-radius:18px;width:min(460px,calc(100% - 1.5rem));background:var(--surface);color:var(--text);box-shadow:0 20px 60px rgb(0 0 0/.25)}
dialog.sheet::backdrop{background:rgb(10 20 35/.5);backdrop-filter:blur(2px)}
@media (max-width:560px){dialog.sheet{margin:auto auto 0;width:100%;max-width:100%;border-radius:18px 18px 0 0;padding-bottom:calc(1.25rem + env(safe-area-inset-bottom))}}
.sheet-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.sheet-head h2{margin:0}
.sheet-options{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}
.sheet-opt{display:flex;flex-direction:column;align-items:flex-start;gap:.25rem;text-align:start;font:inherit;color:var(--text);background:var(--surface-2);border:1px solid var(--border);border-radius:14px;padding:1rem;cursor:pointer}
.sheet-opt:hover{border-color:var(--primary);text-decoration:none}
.sheet-opt small{color:var(--muted);font-size:.78rem;line-height:1.5}
.ico{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:var(--primary-soft);color:var(--primary);flex-shrink:0}
.ico svg{width:20px;height:20px}.ico-muted{background:var(--warning-soft);color:var(--warning)}
.no-trade-form{margin-top:1rem;border-top:1px solid var(--border);padding-top:1rem}

/* Trade form v2 */
.mode-switch{display:grid;grid-template-columns:1fr 1fr;gap:.6rem}
.mode-switch input{position:absolute;opacity:0}
.mode-switch label{display:flex;gap:.7rem;align-items:center;padding:.8rem 1rem;border:1.5px solid var(--border);border-radius:14px;background:var(--surface);cursor:pointer}
.mode-switch label span{display:flex;flex-direction:column;line-height:1.45}.mode-switch small{color:var(--muted);font-size:.78rem}
.mode-switch label svg{color:var(--muted);flex-shrink:0}
.mode-switch input:checked+label{border-color:var(--primary);background:var(--primary-soft)}.mode-switch input:checked+label svg{color:var(--primary)}
.mode-switch input:focus-visible+label{outline:2px solid var(--primary)}
.tabs{display:flex;gap:.35rem;overflow-x:auto;scrollbar-width:none;padding:.25rem;background:var(--surface);border:1px solid var(--border);border-radius:12px}
.tabs::-webkit-scrollbar{display:none}
.tabs button{flex-shrink:0;font:inherit;font-size:.86rem;font-weight:600;color:var(--text-2);background:transparent;border:0;border-radius:9px;padding:.45rem .85rem;cursor:pointer;position:relative}
.tabs button[aria-selected=true]{background:var(--primary);color:#fff}
.tabs button.has-error::after{content:"";position:absolute;top:6px;inset-inline-end:6px;width:7px;height:7px;border-radius:50%;background:var(--danger)}
.js .tab-panel:not(.on){display:none}
.tab-panel{animation:fadeUp .25s ease}
@keyframes fadeUp{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
fieldset.plain{border:0;padding:0;margin:0;min-width:0}
.seg-wide{display:flex;width:100%}.seg-wide label{flex:1;text-align:center}
.switch-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.8rem 0;border-top:1px solid var(--border);cursor:pointer}
.switch-row span{display:flex;flex-direction:column;line-height:1.5}.switch-row small{color:var(--muted);font-size:.8rem}
.switch{appearance:none;-webkit-appearance:none;width:44px;height:26px;border-radius:99px;background:var(--border-strong);position:relative;cursor:pointer;flex-shrink:0;transition:background .2s;margin:0}
.switch::after{content:"";position:absolute;top:3px;inset-inline-start:3px;width:20px;height:20px;border-radius:50%;background:#fff;transition:inset-inline-start .2s;box-shadow:0 1px 3px rgb(0 0 0/.2)}
.switch:checked{background:var(--success)}.switch:checked::after{inset-inline-start:21px}
details.more{border-top:1px solid var(--border);padding-top:.8rem}
details.more summary{cursor:pointer;font-weight:700;color:var(--primary);font-size:.9rem;margin-bottom:.8rem}
.tick{display:flex;align-items:flex-start;gap:.6rem;padding:.6rem .75rem;border:1px solid var(--border);border-radius:10px;margin-bottom:.5rem;cursor:pointer;font-size:.92rem}
.tick input{width:18px;height:18px;margin-top:.2rem;accent-color:var(--success);flex-shrink:0}
.tick:has(input:checked){background:var(--success-soft);border-color:color-mix(in srgb,var(--success) 40%,transparent)}
.tick-score{font-size:.85rem;color:var(--muted);margin-top:.5rem}
.thumbs{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:.6rem;margin-bottom:1rem}
.thumbs figure{margin:0;position:relative;border-radius:10px;overflow:hidden;border:1px solid var(--border);aspect-ratio:4/3;background:var(--surface-2)}
.thumbs img{width:100%;height:100%;object-fit:cover;display:block}
.thumbs button{position:absolute;top:4px;inset-inline-end:4px;padding:.2rem;background:var(--surface)}
.drop{display:flex;flex-direction:column;align-items:center;gap:.3rem;text-align:center;padding:1.75rem 1rem;border:2px dashed var(--border-strong);border-radius:14px;cursor:pointer;color:var(--text-2)}
.drop:hover,.drop.over{border-color:var(--primary);background:var(--primary-soft)}
.drop svg{color:var(--primary)}.drop small{color:var(--muted)}
.drop input{position:absolute;opacity:0;width:1px;height:1px}
.drop-files{font-size:.82rem;color:var(--primary);font-weight:600}
.chips{display:flex;flex-wrap:wrap;gap:.4rem}
.chip-btn{font:inherit;font-size:.82rem;font-weight:600;border:1px dashed var(--border-strong);background:var(--surface);color:var(--text-2);border-radius:99px;padding:.25rem .7rem;cursor:pointer}
.chip-btn:hover{border-color:var(--primary);color:var(--primary)}
.chips input[type=radio]{position:absolute;opacity:0}
.chip-radio{font-size:.86rem;font-weight:600;border:1px solid var(--border-strong);border-radius:99px;padding:.3rem .85rem;cursor:pointer;color:var(--text-2);background:var(--surface)}
.chips input:checked+.chip-radio{background:var(--primary);border-color:var(--primary);color:#fff}
.chips input:focus-visible+.chip-radio{outline:2px solid var(--primary)}
.emo-group+.emo-group{margin-top:1.25rem}.emo-group h3{font-size:.92rem;color:var(--text-2)}
.small-empty{padding:1.5rem 1rem}.empty svg{color:var(--primary)}
@media (max-width:560px){.mode-switch label small{display:none}.save-btn{position:sticky;bottom:5rem;z-index:5;box-shadow:0 8px 20px rgb(37 99 235/.35)}}

/* Dashboard */
.welcome{display:flex;gap:1.25rem;align-items:center;margin-bottom:1rem;background:linear-gradient(135deg,var(--primary-soft),var(--surface) 70%)}
.welcome-art{width:72px;height:72px;border-radius:20px;display:grid;place-items:center;background:linear-gradient(135deg,var(--primary),#7c3aed);color:#fff;flex-shrink:0}
.welcome .actions,.nudge .actions{display:flex;gap:.5rem;flex-wrap:wrap}
.nudge{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;padding:.7rem 1rem;border:1px solid #ffd3b0;background:#fff7f0;border-radius:12px;margin-bottom:1rem;font-size:.9rem;color:#8a3d0b}
.nudge>svg{color:#f26b1d}.nudge .actions{margin-inline-start:auto}
html[data-theme=dark] .nudge{background:#2a1a0e;border-color:#5a3418;color:#ffc9a0}
@media (max-width:560px){.welcome{flex-direction:column;align-items:flex-start}}

/* Checklists */
.rules{list-style:none;padding:0;margin:0 0 1rem;display:grid;gap:.35rem}
.rules li{display:flex;gap:.5rem;align-items:flex-start;font-size:.92rem}.rules svg{color:var(--success);margin-top:.3rem;flex-shrink:0}
.mini-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.5rem;border-top:1px solid var(--border);padding-top:.8rem}
.mini-stats div{display:flex;flex-direction:column}.mini-stats span{font-size:.75rem;color:var(--muted)}.mini-stats b{font-size:1rem}
.card-head .actions{display:flex;gap:.35rem;flex-wrap:wrap}
@media (max-width:560px){.mini-stats{grid-template-columns:1fr 1fr}.card-head{flex-wrap:wrap}}

/* Tools */
.tool-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:.9rem}
.tool{display:flex;flex-direction:column;gap:.4rem;padding:1.1rem;background:var(--surface);border:1px solid var(--border);border-radius:14px;color:var(--text);box-shadow:var(--shadow);transition:transform .15s,border-color .15s}
a.tool:hover{text-decoration:none;transform:translateY(-2px);border-color:var(--primary)}
.tool small{color:var(--muted);font-size:.82rem;line-height:1.55}.tool.is-soon{opacity:.55}
@media (max-width:560px){.tool-grid{grid-template-columns:1fr 1fr}.tool small{display:none}}
.clock-now{display:flex;flex-direction:column;align-items:center;margin-bottom:1.25rem}.clock-now b{font-size:2.4rem;font-weight:800}
.sessions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;margin-bottom:1rem}
.session{border:1px solid var(--border);border-radius:12px;padding:.9rem}
.session.open{border-color:color-mix(in srgb,var(--success) 50%,transparent);background:var(--success-soft)}
.s-head,.s-foot{display:flex;justify-content:space-between;align-items:center;gap:.5rem}
.s-bar{height:8px;background:var(--surface-2);border-radius:99px;overflow:hidden;margin:.6rem 0}
.s-bar i{display:block;height:100%;width:0;background:var(--success);border-radius:99px;transition:width .5s}
@media (max-width:560px){.sessions{grid-template-columns:1fr}}
.rr-bar{display:flex;height:14px;border-radius:99px;overflow:hidden;background:var(--surface-2);margin-top:.5rem}
.rr-bar i{display:block;height:100%;transition:flex-grow .3s}.r-risk{background:var(--danger);flex:1}.r-reward{background:var(--success);flex:1}
.stars-input{display:inline-flex;flex-direction:row-reverse;justify-content:flex-end;gap:.15rem}
html[dir=rtl] .stars-input{flex-direction:row-reverse}
.stars-input input{position:absolute;opacity:0}
.stars-input label{font-size:1.6rem;color:var(--border-strong);cursor:pointer;line-height:1}
.stars-input input:checked~label,.stars-input label:hover,.stars-input label:hover~label{color:#f5b301}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
