:root{
  --bg:#f5f6f8; --card:#ffffff; --text:#181a1f; --muted:#6a7280; --border:#e3e6ea;
  --accent:#2f6fed; --accent-ink:#fff; --danger:#c93a3a; --chip:#eef1f5; --radius:14px;
}
@media (prefers-color-scheme: dark){
  :root{ --bg:#0a0a0f; --card:#14141b; --text:#e4e4e7; --muted:#8b8b96; --border:#2a2a36;
         --accent:#5b8def; --chip:#1d1d27; }
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{background:var(--bg);color:var(--text);font-family:Vazirmatn,"Segoe UI",Tahoma,Arial,sans-serif;font-size:17px;line-height:1.8;-webkit-text-size-adjust:100%}
.hidden{display:none!important}
.muted{color:var(--muted);font-size:14px}

/* layout */
.view{max-width:660px;margin:0 auto;padding:0 14px}
main{padding-bottom:64px}
.topbar{position:sticky;top:0;z-index:5;display:flex;align-items:center;justify-content:space-between;
  padding:10px 2px;background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(8px)}
.brand{font-weight:700;font-size:20px}
.topbar-actions{display:flex;gap:8px}

/* cards */
.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:14px;margin:12px 0}
.note-card{cursor:pointer;transition:transform .05s ease}
.note-card:active{transform:scale(.995)}
.note-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:6px}
.note-excerpt{white-space:pre-wrap;word-break:break-word}

/* chips */
.chip{display:inline-block;padding:2px 10px;border-radius:999px;font-size:12.5px;background:var(--chip);color:var(--muted)}
.chip.ready{color:#1a7f4b;background:color-mix(in srgb,#1a7f4b 12%,transparent)}
.chip.error{color:var(--danger);background:color-mix(in srgb,var(--danger) 12%,transparent)}
.chip.transcribing,.chip.processing{color:#9a6b00;background:color-mix(in srgb,#d19a2a 16%,transparent)}
.chip.vec{color:#5b4bd6;background:color-mix(in srgb,#5b4bd6 12%,transparent)}
.chip.t-negot{color:#2f6fed;background:color-mix(in srgb,#2f6fed 12%,transparent)}
.chip.t-price{color:#1a7f4b;background:color-mix(in srgb,#1a7f4b 12%,transparent)}
.chip.t-action{color:#9a6b00;background:color-mix(in srgb,#d19a2a 16%,transparent)}
.chip.t-note{color:var(--muted)}
.chip.overdue{color:var(--danger);background:color-mix(in srgb,var(--danger) 14%,transparent)}

/* buttons */
.btn{appearance:none;border:1px solid var(--border);background:var(--card);color:var(--text);
  border-radius:12px;padding:11px 18px;font-size:16px;font-family:inherit;min-height:48px;cursor:pointer}
.btn.small{min-height:38px;padding:6px 12px;font-size:14px}
.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}
.btn.record{background:color-mix(in srgb,var(--danger) 10%,var(--card));border-color:color-mix(in srgb,var(--danger) 40%,var(--border))}
.btn.danger{border-color:color-mix(in srgb,var(--danger) 45%,var(--border));color:var(--danger)}
.btn.ghost{background:transparent}
.capture-actions{display:flex;gap:10px;margin-top:10px;flex-wrap:wrap}

/* inputs */
textarea,input{width:100%;font-family:inherit;font-size:17px;color:var(--text);background:var(--card);
  border:1px solid var(--border);border-radius:12px;padding:12px;line-height:1.8}
textarea{resize:vertical}
label{display:block;margin:10px 0;font-size:15px;color:var(--muted)}
label input{margin-top:6px}
.searchbar{position:sticky;top:54px;z-index:4;padding:6px 0;background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(8px)}
.searchbar input{font-size:18px;min-height:52px;border-radius:14px}

/* recorder */
.rec-row{display:flex;align-items:center;gap:12px;font-size:18px}
.dot{width:14px;height:14px;border-radius:50%;background:var(--danger);animation:pulse 1.1s infinite}
@keyframes pulse{0%{opacity:1}50%{opacity:.35}100%{opacity:1}}

/* login */
.login-card{max-width:420px;margin:12vh auto 0}
.login-card h1{margin:4px 0 0;text-align:center;font-size:34px}

/* detail */
audio{width:100%;margin:8px 0}
.raw{white-space:pre-wrap;background:var(--chip);border-radius:10px;padding:10px;margin-top:6px}
.err-box{border:1px solid color-mix(in srgb,var(--danger) 40%,var(--border));border-radius:10px;padding:10px;margin-top:10px;color:var(--danger);font-size:14.5px}
details summary{cursor:pointer;margin-top:8px}
.result-count{padding:8px 2px}

/* toast */
#toast{position:fixed;bottom:22px;right:50%;transform:translate(50%,20px);background:#23232c;color:#fff;
  padding:11px 20px;border-radius:12px;font-size:15px;opacity:0;pointer-events:none;transition:all .25s ease;z-index:50;max-width:90vw}
#toast.show{opacity:1;transform:translate(50%,0)}
#toast.err{background:#8c2f2f}

/* pw dialog */
#pw-dialog{position:fixed;inset:0;background:color-mix(in srgb,#000 45%,transparent);display:flex;align-items:center;justify-content:center;z-index:60}
#pw-dialog .card{width:min(430px,92vw);margin:0}

/* ---------- M1.5: مدل بابا ---------- */
/* tabs */
.tabs{display:flex;gap:8px;margin:14px 2px 4px}
.tab{flex:1;appearance:none;border:1px solid var(--border);background:var(--card);color:var(--muted);
  border-radius:12px;padding:10px 12px;font-family:inherit;font-size:15.5px;min-height:46px;cursor:pointer}
.tab.active{color:var(--text);border-color:color-mix(in srgb,var(--accent) 55%,var(--border));
  background:color-mix(in srgb,var(--accent) 8%,var(--card));font-weight:600}
.tab .badge{display:inline-block;min-width:22px;padding:0 6px;border-radius:999px;background:var(--accent);
  color:#fff;font-size:12.5px;line-height:22px;margin-inline-start:4px}
/* type chips */
.type-row{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0 4px}
.chip-btn{appearance:none;border:1px solid var(--border);background:var(--card);color:var(--muted);
  border-radius:999px;padding:6px 14px;font-size:14.5px;font-family:inherit;cursor:pointer;min-height:40px}
.chip-btn.active{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}
/* capture details */
#capture-details{margin-top:6px;border-top:1px dashed var(--border);padding-top:6px}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:0 12px}
@media (max-width:520px){.grid2{grid-template-columns:1fr}}
.grid2 label{margin:8px 0}
/* pending audio */
.pending{display:flex;align-items:center;justify-content:space-between;gap:10px;
  background:color-mix(in srgb,var(--accent) 8%,var(--card));
  border:1px solid color-mix(in srgb,var(--accent) 35%,var(--border));
  border-radius:12px;padding:9px 12px;margin-top:10px;font-size:14.5px}
/* next actions */
.next-action{margin:4px 0;color:#9a6b00;font-size:15px}
.next-action.overdue,.next-action .od{color:var(--danger)}
.action-card .next-action{font-size:16px;font-weight:600}
.action-card.done{opacity:.55}
