/* Client Desk: a working CRM shell. Nav rail left (bottom tabs on phones);
   blue for your main account, teal for the second; status colours carry meaning. */
@font-face{font-family:"IBM Plex Sans";font-weight:400;font-style:normal;font-display:swap;src:url(fonts/ibm-plex-sans-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"IBM Plex Sans";font-weight:500;font-style:normal;font-display:swap;src:url(fonts/ibm-plex-sans-latin-500-normal.woff2) format("woff2")}
@font-face{font-family:"IBM Plex Sans";font-weight:600;font-style:normal;font-display:swap;src:url(fonts/ibm-plex-sans-latin-600-normal.woff2) format("woff2")}
@font-face{font-family:"IBM Plex Mono";font-weight:400;font-style:normal;font-display:swap;src:url(fonts/ibm-plex-mono-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"IBM Plex Mono";font-weight:500;font-style:normal;font-display:swap;src:url(fonts/ibm-plex-mono-latin-500-normal.woff2) format("woff2")}
@font-face{font-family:"Bricolage Grotesque";font-weight:600;font-style:normal;font-display:swap;src:url(fonts/bricolage-grotesque-latin-600-normal.woff2) format("woff2")}
@font-face{font-family:"Bricolage Grotesque";font-weight:700;font-style:normal;font-display:swap;src:url(fonts/bricolage-grotesque-latin-700-normal.woff2) format("woff2")}

:root{
  --paper:#F3F5F9; --surface:#FFFFFF; --raised:#F7F8FB; --ink:#151D2B; --muted:#5A6577; --line:#DCE1EA; --line-soft:#EEF1F5; --line-strong:#C6CDDA;
  --accent:#2B45C4; --accent-ink:#FFFFFF; --accent-soft:#E7EBFB;
  --bad:#B02436; --bad-soft:#FBE8EB; --warn:#A24F07; --warn-soft:#FCEFE1; --ok:#1C7448; --ok-soft:#E3F3EA;
  --rail:#151D2B; --scrim:rgba(14,20,32,.45); --shadow:0 18px 50px -20px rgba(20,30,60,.35);
  --chip-s:58%; --chip-l:32%; --chip-bg-l:93%;
  --display:"Bricolage Grotesque","Segoe UI",system-ui,sans-serif;
  --body:"IBM Plex Sans",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --mono:"IBM Plex Mono",ui-monospace,"SF Mono",Menlo,Consolas,monospace;
  color-scheme:light;
}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){
  --paper:#0E131B; --surface:#161D29; --raised:#1B2331; --ink:#E5E9F1; --muted:#97A2B4; --line:#263042; --line-soft:#1F2837; --line-strong:#334055;
  --accent:#8EA3FF; --accent-ink:#0E131B; --accent-soft:#1D2648;
  --bad:#FF8794; --bad-soft:#341A20; --warn:#F2A660; --warn-soft:#2F2214; --ok:#6FD3A0; --ok-soft:#15291F;
  --rail:#0A0E14; --scrim:rgba(0,0,0,.6); --shadow:0 18px 50px -20px rgba(0,0,0,.7);
  --chip-l:76%; --chip-bg-l:19%; color-scheme:dark;
}}
:root[data-theme="dark"]{
  --paper:#0E131B; --surface:#161D29; --raised:#1B2331; --ink:#E5E9F1; --muted:#97A2B4; --line:#263042; --line-soft:#1F2837; --line-strong:#334055;
  --accent:#8EA3FF; --accent-ink:#0E131B; --accent-soft:#1D2648;
  --bad:#FF8794; --bad-soft:#341A20; --warn:#F2A660; --warn-soft:#2F2214; --ok:#6FD3A0; --ok-soft:#15291F;
  --rail:#0A0E14; --scrim:rgba(0,0,0,.6); --shadow:0 18px 50px -20px rgba(0,0,0,.7);
  --chip-l:76%; --chip-bg-l:19%; color-scheme:dark;
}
*{box-sizing:border-box}
html,body{margin:0}
body{background:var(--paper);color:var(--ink);font:15px/1.5 var(--body);-webkit-font-smoothing:antialiased;padding-top:env(safe-area-inset-top,0px)}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer}
a{color:var(--accent)}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:6px}
h1,h2,h3{font-family:var(--display);margin:0;text-wrap:balance;letter-spacing:-.01em}
h2{font-size:17px} h3{font-size:15.5px}
.mono,.num{font-family:var(--mono);font-variant-numeric:tabular-nums}
.ic{fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}
.boot{min-height:100vh;display:flex;align-items:center;justify-content:center;gap:12px;color:var(--muted)}
.brand-mark{width:30px;height:30px;border-radius:8px;background:#2B45C4;color:#fff;display:inline-grid;place-items:center;font:700 15px/1 var(--display)}
.hint{color:var(--muted);font-size:13px;margin:0}
.small{font-size:12.5px}
.ok{color:var(--ok)} .bad{color:var(--bad)} .warn{color:var(--warn)}
.eyebrow{font-size:11.5px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--muted);margin:10px 0 4px}
.empty{color:var(--muted);padding:8px 0;font-size:14px;margin:0}
.pad{padding:12px 16px}

/* ---------- shell ---------- */
.shell{display:grid;grid-template-columns:232px minmax(0,1fr);min-height:100vh}
.side{position:sticky;top:0;align-self:start;height:100vh;overflow-y:auto;display:flex;flex-direction:column;gap:18px;padding:20px 12px 16px max(12px,env(safe-area-inset-left,0px));background:var(--surface);border-right:1px solid var(--line)}
.brand{display:flex;align-items:center;gap:10px;padding:0 8px;font:700 19px/1.1 var(--display)}
.brand.big{font-size:24px;gap:12px;margin-bottom:8px}
.nav{display:flex;flex-direction:column;gap:2px}
.nav button{display:flex;align-items:center;gap:11px;width:100%;padding:8px 10px;border:0;border-radius:9px;background:none;color:var(--muted);font-weight:500;text-align:left}
.nav button:hover{background:var(--paper);color:var(--ink)}
.nav button[aria-current="page"]{background:var(--accent-soft);color:var(--accent);font-weight:600}
.badge{margin-left:auto;min-width:22px;padding:0 6px;border-radius:999px;background:var(--bad-soft);color:var(--bad);font:500 12px/20px var(--mono);text-align:center}
.badge:empty{display:none}
.side-accts{display:flex;flex-direction:column;gap:2px;padding:0 2px}
.side-accts .eyebrow{padding:0 8px}
.acctrow{display:flex;gap:10px;align-items:flex-start;padding:6px 8px;border:0;border-radius:8px;background:none;text-align:left;width:100%}
.acctrow:hover{background:var(--paper)}
.acctrow i{width:10px;height:10px;border-radius:50%;margin-top:6px;flex:none}
.acctrow span{display:flex;flex-direction:column;min-width:0}
.acctrow small{font-size:12px;color:var(--muted)}
.acctrow small.bad{color:var(--bad)} .acctrow small.warn{color:var(--warn)}
.side-accts .linkbtn{padding:4px 8px}
.side-foot{margin-top:auto;display:flex;flex-direction:column;gap:8px;font-size:12.5px;color:var(--muted);padding:0 8px}
.status{display:flex;gap:8px;align-items:flex-start}
.status i{width:8px;height:8px;border-radius:50%;margin-top:6px;flex:none;background:var(--muted)}
.status[data-s="synced"] i,.status[data-s="demo"] i{background:var(--ok)}
.status[data-s="error"] i,.status[data-s="signin"] i{background:var(--bad)}
.status[data-s="offline"] i,.status[data-s="pending"] i,.status[data-s="syncing"] i{background:var(--warn)}
.linkbtn{border:0;background:none;padding:0;color:var(--accent);font-weight:500;text-align:left;font-size:inherit}
.linkbtn:hover{text-decoration:underline}
.linkbtn.big{font:700 19px/1.2 var(--display);color:var(--ink)}
.linkbtn.small{font-size:13px}

.main{min-width:0;padding:22px max(16px,env(safe-area-inset-right,0px)) 48px 28px;display:flex;flex-direction:column;gap:18px}
.top{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between}
.top-title{min-width:0;flex:1 1 280px}
.top h1{font-size:28px;line-height:1.1}
.sub{color:var(--muted);margin-top:3px;font-size:14.5px}
.sub:empty{display:none}
.controls{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.controls select{width:auto;min-width:180px}
.iconbtn{display:inline-grid;place-items:center;width:40px;height:40px;border-radius:10px;border:1px solid var(--line-strong);background:var(--surface);color:var(--ink);padding:0}
.iconbtn:hover{border-color:var(--muted)}
.only-phone{display:none}
.view{display:flex;flex-direction:column;gap:18px;min-width:0}

/* ---------- controls ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:8px 14px;min-height:38px;border-radius:9px;border:1px solid var(--line-strong);background:var(--surface);font-weight:500;white-space:nowrap;text-decoration:none;color:var(--ink)}
.btn:hover{border-color:var(--muted)}
.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}
.btn.primary:hover{filter:brightness(1.08)}
.btn.ghost{border-color:transparent;color:var(--accent)}
.btn.danger{color:var(--bad)}
.btn.danger.armed{background:var(--bad);border-color:var(--bad);color:var(--surface)}
.btn.sm{padding:5px 10px;min-height:32px;font-size:13px;border-radius:8px}
.btn.lg{padding:12px 22px;font-size:16px}
.btn[hidden]{display:none}
input,select,textarea{width:100%;padding:9px 11px;border:1px solid var(--line-strong);border-radius:8px;background:var(--surface);min-width:0}
textarea{min-height:80px;resize:vertical}
input:focus,select:focus,textarea:focus{outline:2px solid var(--accent);outline-offset:-1px}
input[type=checkbox],input[type=radio]{width:auto}
input[readonly]{background:var(--raised);font-family:var(--mono);font-size:13px}

.notice{display:flex;flex-wrap:wrap;gap:10px 16px;align-items:center;justify-content:space-between;padding:12px 14px;border-radius:10px;background:var(--accent-soft);font-size:14px}
.notice.warn{background:var(--warn-soft)}
.notice p{margin:0;max-width:78ch}

.stats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));background:var(--surface);border:1px solid var(--line);border-radius:12px;overflow:hidden}
.stat{display:flex;flex-direction:column;gap:2px;padding:13px 16px;border:0;border-left:1px solid var(--line);background:none;text-align:left}
.stat:first-child{border-left:0}
.stat:hover{background:var(--raised)}
.stat b{font:500 28px/1.1 var(--mono);font-variant-numeric:tabular-nums}
.stat span{font-size:13px;color:var(--muted)}
.stat.bad b{color:var(--bad)} .stat.warn b{color:var(--warn)} .stat.ok b{color:var(--ok)}

.board{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:start}
.lane{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:12px 14px;min-width:0}
.lane-head{display:flex;justify-content:space-between;align-items:baseline;gap:8px;padding-bottom:6px;border-bottom:2px solid var(--line)}
.lane-head h2{font-size:15px}
.lane-head .num{font-size:18px;color:var(--muted)}
.lane.bad .lane-head{border-bottom-color:var(--bad)} .lane.bad .lane-head .num{color:var(--bad)}
.lane.warn .lane-head{border-bottom-color:var(--warn)} .lane.warn .lane-head .num{color:var(--warn)}
.lane.acc .lane-head{border-bottom-color:var(--accent)}
.lane .linkbtn{font-size:13px;margin-top:6px}

.split{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:18px;align-items:start}
.stack{display:flex;flex-direction:column;gap:16px;min-width:0}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:18px;align-items:start}
.panel{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:15px 17px;min-width:0}
.panel > h2,.panel > h3{margin-bottom:6px}
.panel-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:6px;flex-wrap:wrap}
.empty-state{text-align:left;padding:28px}
.empty-state p{color:var(--muted);max-width:60ch}

/* ---------- rows ---------- */
.list{list-style:none;margin:0;padding:0}
.row{display:flex;gap:10px;align-items:flex-start;padding:9px 2px;border-top:1px solid var(--line-soft)}
.row:first-child{border-top:0}
.row-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px;border:0;background:none;padding:0;text-align:left;color:inherit}
.row-title{font-weight:500;overflow-wrap:anywhere}
button.row-main:hover .row-title{color:var(--accent)}
.is-done .row-title{text-decoration:line-through;color:var(--muted)}
.meta{display:flex;flex-wrap:wrap;gap:5px 7px;align-items:center;font-size:12.5px;color:var(--muted)}
.check{flex:none;width:22px;height:22px;margin-top:1px;border:1.7px solid var(--line-strong);border-radius:6px;background:var(--surface);position:relative;padding:0}
.check:hover{border-color:var(--ok)}
.check.on{background:var(--ok);border-color:var(--ok)}
.check.on::after{content:"";position:absolute;left:6px;top:2px;width:6px;height:11px;border:solid var(--surface);border-width:0 2px 2px 0;transform:rotate(45deg)}
.check.skip{border-style:dashed}
.when{flex:none;width:92px;font:500 13px/1.5 var(--mono);color:var(--muted);padding-top:1px}
.when.allday{font-family:var(--body);font-size:12.5px}
.dot{width:9px;height:9px;border-radius:50%;margin-top:7px;flex:none}
.dot.lg{width:12px;height:12px;margin-top:6px}
.chip{display:inline-flex;align-items:center;gap:5px;padding:1px 8px;border-radius:999px;font-size:12px;font-weight:500;max-width:100%;
  background:hsl(var(--h) var(--chip-s) var(--chip-bg-l));color:hsl(var(--h) var(--chip-s) var(--chip-l))}
.chip::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;flex:none}
.chip.biz{background:var(--raised);color:var(--ink);border:1px solid var(--line)}
.pill{display:inline-flex;align-items:center;padding:0 7px;border-radius:999px;border:1px solid var(--line);font-size:12px;line-height:19px;color:var(--muted);white-space:nowrap}
.pill.bad{background:var(--bad-soft);border-color:transparent;color:var(--bad)}
.pill.warn{background:var(--warn-soft);border-color:transparent;color:var(--warn)}
.pill.ok{background:var(--ok-soft);border-color:transparent;color:var(--ok)}
.pill.accent{background:var(--accent-soft);border-color:transparent;color:var(--accent)}
.pill.auto{border-style:dashed;border-color:var(--accent);color:var(--accent)}
.pill.ex{border-style:dashed}
.acct{display:inline-flex;align-items:center;gap:5px}
.acct i{width:8px;height:8px;border-radius:50%;display:inline-block}
.tabs{display:inline-flex;flex-wrap:wrap;gap:2px;padding:3px;border:1px solid var(--line);border-radius:10px;background:var(--surface)}
.tab{border:0;background:none;padding:6px 12px;border-radius:7px;color:var(--muted);font-weight:500;font-size:14px}
.tab[aria-selected="true"]{background:var(--accent-soft);color:var(--accent);font-weight:600}
.tab .num{font-size:12px;margin-left:4px}
.bar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between}
.bar .filters{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.bar .filters select,.bar .filters input{width:auto;min-width:160px}
.quick{display:grid;grid-template-columns:minmax(0,1fr) 210px 160px auto;gap:8px;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:10px}
.quick.slim{grid-template-columns:minmax(0,1fr) 150px auto;border:0;padding:0;background:none;margin:2px 0 8px}
.group + .group{margin-top:12px}
.group h3{font:600 12px/1 var(--body);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:6px 0 4px}
.group h3.bad{color:var(--bad)}
.table-wrap{overflow-x:auto;margin-inline:-4px}
table.data{width:100%;border-collapse:collapse;font-size:14px;min-width:620px}
table.data th{text-align:left;font:600 11.5px/1.2 var(--body);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);padding:8px;border-bottom:1px solid var(--line);white-space:nowrap}
table.data td{padding:9px 8px;border-bottom:1px solid var(--line-soft);vertical-align:middle;white-space:nowrap}
table.data .chip{white-space:nowrap}
table.data td.n,table.data th.n{text-align:right;font-family:var(--mono);font-variant-numeric:tabular-nums}
table.data tr:last-child td{border-bottom:0}
table.data tr.click{cursor:pointer}
table.data tr.click:hover td{background:var(--raised)}
td .bad{color:var(--bad);font-weight:600}
.statusgrid{display:grid;gap:10px}
.srow{display:flex;gap:10px;align-items:flex-start;font-size:14px}
.srow i{width:9px;height:9px;border-radius:50%;margin-top:6px;flex:none;background:var(--muted)}
.srow i.ok{background:var(--ok)} .srow i.warn{background:var(--warn)} .srow i.bad{background:var(--bad)}
.srow small{display:block;color:var(--muted);font-size:12.5px}
.live-err{font-size:13.5px;color:var(--warn);margin:8px 0 0;display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.progress{display:block;height:6px;border-radius:99px;background:var(--line);overflow:hidden;margin-top:4px}
.progress i{display:block;height:100%;background:var(--accent);border-radius:99px}
.copy{border:0;background:none;color:var(--accent);font-size:12px;padding:0}
.copyfield{display:flex;gap:6px;margin:6px 0 10px}
.kv{display:grid;grid-template-columns:96px minmax(0,1fr);gap:4px 12px;font-size:14px;margin:0 0 12px}
.kv dt{color:var(--muted)} .kv dd{margin:0;overflow-wrap:anywhere}
.btnrow{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.btnrow.wrap{margin:10px 0}
.filelabel{position:relative;overflow:hidden;cursor:pointer}
.filelabel input{position:absolute;inset:0;opacity:0;cursor:pointer}

/* ---------- inbox ---------- */
.inbox{display:grid;grid-template-columns:200px minmax(300px,420px) minmax(0,1fr);background:var(--surface);border:1px solid var(--line);border-radius:12px;overflow:hidden;min-height:70vh}
.folders{padding:14px 10px;border-right:1px solid var(--line);display:flex;flex-direction:column;gap:2px}
.folders .eyebrow{padding:0 8px}
.fold{display:flex;align-items:center;gap:9px;padding:7px 9px;border:0;border-radius:8px;background:none;text-align:left;color:var(--ink);font-weight:500}
.fold:hover{background:var(--paper)}
.fold.on{background:var(--accent-soft);color:var(--accent);font-weight:600}
.fold i{width:9px;height:9px;border-radius:50%;flex:none}
.fold i.both{background:linear-gradient(90deg,#2B45C4 50%,#0F7A68 50%)}
.fold .mono{margin-left:auto;font-size:12.5px;color:var(--muted)}
.mlist{border-right:1px solid var(--line);overflow-y:auto;max-height:calc(100vh - 150px);min-width:0}
.mlist-head{padding:14px 14px 10px;border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:10px;position:sticky;top:0;background:var(--surface);z-index:1}
.chips{display:none;gap:6px;overflow-x:auto;padding-bottom:2px}
.chipbtn{flex:none;padding:5px 12px;border-radius:999px;border:1px solid var(--line-strong);background:var(--surface);font-size:13px;font-weight:500}
.chipbtn.on{border-color:var(--accent);background:var(--accent-soft);color:var(--accent);font-weight:600}
.mrow{border-bottom:1px solid var(--line-soft);position:relative;transition:transform .12s ease;background:var(--surface)}
.mrow[data-dir="reply"]{box-shadow:inset 6px 0 0 var(--ok)} .mrow[data-dir="wait"]{box-shadow:inset -6px 0 0 var(--warn)}
.mrow-main{display:flex;gap:10px;width:100%;padding:11px 14px;border:0;background:none;text-align:left;color:inherit}
.mrow-main:hover{background:var(--raised)}
.mrow.sel .mrow-main{background:var(--accent-soft)}
.mrow-body{min-width:0;flex:1;display:flex;flex-direction:column;gap:2px}
.mrow-top{display:flex;justify-content:space-between;gap:10px}
.mrow-from{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mrow-time{font-size:12px;color:var(--muted);flex:none}
.mrow-subj{overflow-wrap:anywhere}
.mrow-prev{font-size:13px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.unread .mrow-from,.unread .mrow-subj{font-weight:600}
.mrow .meta{margin-top:3px}
.reader{padding:16px;min-width:0;overflow-y:auto;max-height:calc(100vh - 150px);background:var(--paper)}
.reader-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:14px;align-items:start}
@media (min-width: 1600px){.reader-grid{grid-template-columns:minmax(0,1fr) 280px}}
.msg{display:flex;flex-direction:column;gap:12px}
.msg h2{font-size:22px;line-height:1.25}
.acctbadge{display:inline-flex;align-items:center;gap:6px;padding:1px 10px;border-radius:999px;background:color-mix(in srgb,var(--c) 14%,transparent);color:var(--c);font-weight:600;font-size:12.5px}
.acctbadge i{width:7px;height:7px;border-radius:50%;background:var(--c)}
.from{margin:0;font-size:14px;color:var(--muted)} .from b{color:var(--ink)}
.actions{display:flex;flex-wrap:wrap;gap:8px}
.body{border-top:1px solid var(--line);padding-top:12px}
.imgbar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between;background:var(--raised);border:1px solid var(--line);border-radius:10px;padding:8px 12px;margin:0 0 10px;font-size:13.5px;color:var(--muted)}
.imgbar span{display:flex;gap:8px;align-items:center}
.mailhtml{display:block;max-width:100%}
.mailtext{white-space:pre-wrap;overflow-wrap:anywhere;font:15px/1.6 var(--body);margin:0;max-width:72ch}
.atts{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.att{display:inline-flex;gap:6px;align-items:center;padding:6px 10px;border:1px solid var(--line);border-radius:8px;font-size:13px}
.cname{display:flex;align-items:center;gap:9px;margin:4px 0}
.inline-form{display:flex;gap:6px;margin-top:8px}
.back{display:inline-flex;align-items:center;gap:4px;border:0;background:none;padding:0;color:var(--muted);font-size:14px;font-weight:500;margin-bottom:6px}
.back:hover{color:var(--accent)}

/* ---------- day planner ---------- */
.planbar{display:flex;flex-wrap:wrap;gap:12px 20px;align-items:flex-end;justify-content:space-between}
.planbar h2{font-size:22px}
.weekstrip{display:flex;gap:4px;align-items:stretch;flex-wrap:wrap}
.wday{display:flex;flex-direction:column;align-items:center;min-width:54px;padding:5px 4px;border-radius:10px;border:1px solid var(--line);background:var(--surface);font-size:12px;color:var(--muted)}
.wday b{font:600 18px/1.15 var(--display);color:var(--ink)}
.wday .mono{font-size:11px}
.wday.today b{color:var(--accent)}
.wday.on{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}
.wday.on b,.wday.on .mono{color:var(--accent-ink)}
.planner{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr)}
.tl-head{display:grid;gap:0 8px;padding-bottom:8px;border-bottom:1px solid var(--line);font-size:13px;font-weight:600}
.tl-head span{display:flex;align-items:center;gap:6px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tl-head i{width:9px;height:9px;border-radius:50%;flex:none}
.allday{display:flex;flex-wrap:wrap;gap:6px;padding:8px 0 0 64px}
.adblock{border:0;border-radius:7px;padding:3px 10px;font-size:13px;background:color-mix(in srgb,var(--c) 16%,var(--surface));color:var(--ink);text-align:left}
.tl{position:relative;display:grid;gap:0 8px;margin-top:12px}
.tl-hours{position:relative;grid-column:1;grid-row:1}
.tl-hours span{position:absolute;left:0;transform:translateY(-8px);font:500 11.5px var(--mono);color:var(--muted)}
.tl-line{position:absolute;left:56px;right:0;border-top:1px solid var(--line-soft)}
.tl-col{position:relative;grid-row:1}
.gap{position:absolute;left:64px;right:0;border:1.5px dashed color-mix(in srgb,var(--accent) 45%,transparent);border-radius:9px;background:color-mix(in srgb,var(--accent) 5%,transparent);color:var(--accent);font-size:12.5px;font-weight:500;display:flex;align-items:center;justify-content:center;padding:0 8px;z-index:0}
.gap:hover{background:color-mix(in srgb,var(--accent) 10%,transparent)}
.nowline{position:absolute;left:56px;right:0;border-top:2px solid var(--bad);z-index:3}
.nowline::before{content:"";position:absolute;left:-5px;top:-5px;width:8px;height:8px;border-radius:50%;background:var(--bad)}
.tblock{position:absolute;z-index:2;border:0;border-left:0;border-radius:8px;padding:5px 9px;text-align:left;overflow:hidden;display:flex;flex-direction:column;gap:1px;
  background:color-mix(in srgb,var(--c) 15%,var(--surface));color:var(--ink);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--c) 28%,transparent)}
.tblock:hover{box-shadow:inset 0 0 0 1.5px var(--c)}
.tblock .t{font-size:11.5px;color:var(--c);font-weight:500}
.tblock .n{font-weight:600;font-size:13.5px;line-height:1.25}
.tblock .s{font-size:12px;color:var(--muted)}
.tblock.short{padding:2px 8px;justify-content:center}
.tblock.short .n{font-size:12.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tblock.short .t{margin-right:4px}
.tblock.plan{background:var(--ok-soft);outline:1.5px dashed var(--ok);outline-offset:-1.5px}

/* ---------- clients ---------- */
.cwrap{display:grid;grid-template-columns:270px minmax(0,1fr);gap:18px;align-items:start}
.clist{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:14px 10px;display:flex;flex-direction:column;gap:2px;position:sticky;top:14px;max-height:calc(100vh - 28px);overflow-y:auto}
.clist-head{display:flex;justify-content:space-between;align-items:center;padding:0 4px 8px}
.clist input{margin:0 0 8px}
.clist .eyebrow{padding:0 8px}
.citem{display:flex;align-items:center;gap:9px;padding:8px;border:0;border-radius:9px;background:none;text-align:left;width:100%;color:var(--ink)}
.citem:hover{background:var(--paper)}
.citem.on{background:var(--accent-soft)}
.citem.biz{border:1px solid var(--line);background:var(--raised);margin-bottom:6px}
.citem.biz.on{border-color:var(--accent);background:var(--accent-soft)}
.ci-txt{min-width:0;flex:1;display:flex;flex-direction:column}
.ci-txt b{font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.citem.on .ci-txt b{font-weight:600}
.ci-txt small{font-size:12px;color:var(--muted)}
.flag{font:500 12px/20px var(--mono);padding:0 7px;border-radius:999px;color:var(--muted)}
.flag.bad{background:var(--bad-soft);color:var(--bad)}
.swatch{width:11px;height:11px;border-radius:4px;flex:none;background:hsl(var(--h) var(--chip-s) 50%)}
.swatch.lg{width:14px;height:14px}
.cmain{min-width:0;display:flex;flex-direction:column;gap:16px}
.whead{display:flex;flex-direction:column;gap:12px}
.whead-row{display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;align-items:flex-end}
.wtitle{display:flex;align-items:center;gap:10px;font-size:28px;line-height:1.1}
.whead .meta{margin-top:8px}
.ctabs{display:flex;flex-wrap:wrap;gap:2px;border-bottom:1px solid var(--line)}
.ctab{border:0;background:none;padding:9px 14px;font-weight:500;color:var(--muted);border-bottom:2px solid transparent;margin-bottom:-1px}
.ctab.on{color:var(--accent);font-weight:600;border-bottom-color:var(--accent)}
.tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.tiles.four{grid-template-columns:repeat(4,minmax(0,1fr))}
.tile{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:13px 15px;display:flex;flex-direction:column;gap:2px;text-align:left;color:inherit}
button.tile:hover{border-color:var(--line-strong)}
.tile b{font-size:25px;line-height:1.15;font-weight:500}
.tile b.bad{color:var(--bad)} .tile b.warn{color:var(--warn)}
.tile span{font-size:13px;color:var(--muted)}
.timeline{list-style:none;margin:0;padding:0}
.timeline li{display:grid;grid-template-columns:60px 14px minmax(0,1fr);gap:8px;padding:8px 0;border-top:1px solid var(--line-soft);font-size:14px;align-items:start}
.timeline li:first-child{border-top:0}
.timeline .d{font-size:12.5px;color:var(--muted);line-height:1.6}
.timeline .tdot{width:9px;height:9px;border-radius:50%;margin-top:7px}
.timeline .k{font-size:11px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);margin-right:6px}
.contact{padding:8px 0;border-top:1px solid var(--line-soft);font-size:14px}
.contact:first-child{border-top:0}
.contact b{font-weight:600}
details.archived summary,.small-details summary{cursor:pointer;color:var(--muted);font-weight:500;padding:6px 8px;font-size:14px}

/* ---------- settings ---------- */
.accrow{display:flex;flex-wrap:wrap;gap:10px 14px;align-items:flex-start;padding:12px 0;border-top:1px solid var(--line-soft)}
.accrow:first-of-type{border-top:0}
.acc-txt{flex:1 1 200px;min-width:0}
.acc-txt .hint{overflow-wrap:anywhere}

/* ---------- setup ---------- */
.setup{min-height:100vh;display:grid;place-items:center;padding:24px max(16px,env(safe-area-inset-right,0px)) 40px max(16px,env(safe-area-inset-left,0px))}
.setup-card{width:min(560px,100%);background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:28px;display:flex;flex-direction:column;gap:14px;box-shadow:var(--shadow)}
.setup-card.wide{width:min(760px,100%)}
.setup-card h1{font-size:28px}
.setup-card p{margin:0;max-width:66ch}
.setup-try{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;padding:14px;border-radius:12px;background:var(--accent-soft)}
.steps{margin:0;padding-left:22px;display:flex;flex-direction:column;gap:12px}
.steps li{padding-left:4px}
.steps .copyfield{margin:6px 0}
.steps ul{margin:6px 0 0;padding-left:18px;display:flex;flex-direction:column;gap:6px;list-style:disc}
.cid-form{display:flex;flex-direction:column;gap:10px;padding:14px;border:1px solid var(--line);border-radius:12px;background:var(--raised)}
.setup-alt{font-size:14px;color:var(--muted)}

/* ---------- sheet (dialog) ---------- */
.scrim{position:fixed;inset:0;z-index:40;background:var(--scrim);display:grid;place-items:center;padding:max(16px,env(safe-area-inset-top,0px)) max(16px,env(safe-area-inset-right,0px)) max(16px,env(safe-area-inset-bottom,0px)) max(16px,env(safe-area-inset-left,0px))}
.scrim[hidden]{display:none}
.sheet{width:min(640px,100%);max-height:100%;overflow:auto;background:var(--surface);border-radius:14px;box-shadow:var(--shadow);padding:20px}
.sheet h2{font-size:21px;margin-bottom:14px}
.sheet-link{margin:-6px 0 14px}
.extlink{color:var(--accent);font-weight:500;font-size:14px}
.form{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.form .full{grid-column:1/-1}
.field{display:flex;flex-direction:column;gap:5px;min-width:0}
.field>span{font-size:12px;font-weight:600;letter-spacing:.03em;color:var(--muted)}
.field .inline{display:flex;gap:6px;font-size:inherit;color:inherit;letter-spacing:0}
.checkline{display:flex;gap:8px;align-items:center;font-size:14px}
.swatches{display:flex;flex-wrap:wrap;gap:8px}
.swatches label{position:relative}
.swatches input{position:absolute;opacity:0;width:1px;height:1px}
.swatches span{display:block;width:30px;height:30px;border-radius:8px;background:hsl(var(--h) var(--chip-s) 50%);border:2px solid transparent;box-shadow:inset 0 0 0 2px var(--surface)}
.swatches input:checked + span{border-color:var(--ink)}
.swatches input:focus-visible + span{outline:2px solid var(--accent);outline-offset:2px}
.sheet-actions{display:flex;gap:10px;justify-content:space-between;align-items:center;margin-top:18px;flex-wrap:wrap}
.sheet-actions .right{display:flex;gap:10px;margin-left:auto;flex-wrap:wrap}
.form-error{grid-column:1/-1;color:var(--bad);font-size:13.5px;margin:0}
.dyn{display:flex;flex-direction:column;gap:8px}
.dyn-row{display:grid;gap:8px;align-items:center;padding:10px;border:1px solid var(--line);border-radius:10px}
.dyn-row.contact-row{grid-template-columns:repeat(2,minmax(0,1fr))}
.dyn-row.kd-row{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr) auto}
.mini{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--muted);white-space:nowrap}
.mini input{width:70px}
.dyn-row .rm{justify-self:start}
.pick{max-height:60vh;overflow:auto}
.pickrow{display:flex;flex-direction:column;gap:2px;width:100%;padding:10px;border:0;border-bottom:1px solid var(--line-soft);background:none;text-align:left;color:inherit}
.pickrow:hover{background:var(--raised)}

.toast{position:fixed;z-index:50;left:50%;transform:translateX(-50%);bottom:calc(24px + env(safe-area-inset-bottom,0px));max-width:calc(100% - 32px);display:flex;gap:14px;align-items:center;padding:10px 16px;border-radius:10px;background:var(--ink);color:var(--paper);font-size:14px;box-shadow:var(--shadow)}
.toast[hidden]{display:none}
.toast button{border:0;background:none;color:var(--paper);font-weight:600;text-decoration:underline;padding:0}
.tabbar,.fab{display:none}
.drawer-scrim{position:fixed;inset:0;z-index:45;background:var(--scrim)}
.drawer-scrim[hidden]{display:none}
.drawer{position:absolute;top:0;bottom:0;left:0;width:min(300px,85vw);background:var(--surface);padding:max(20px,env(safe-area-inset-top,0px)) 12px 20px max(12px,env(safe-area-inset-left,0px));display:flex;flex-direction:column;gap:12px;overflow-y:auto}
.drawer .nav,.drawer .side-accts{display:flex}

/* ---------- app lock ---------- */
body.locked .shell, body.locked #modal, body.locked #toast, body.locked .drawer-scrim, body.locked .boot{display:none!important}
.lockscreen{position:fixed;inset:0;z-index:100;background:var(--paper);display:grid;place-items:center;padding:24px max(16px,env(safe-area-inset-right,0px)) 24px max(16px,env(safe-area-inset-left,0px))}
.lock-card{width:min(400px,100%);display:flex;flex-direction:column;align-items:center;gap:14px;text-align:center}
.lock-card h1{font-size:24px}
.lock-card p{margin:0;color:var(--muted)}
.lock-card .btn{width:100%}
.pin-form{width:100%;display:flex;flex-direction:column;gap:12px}
.pin-input{width:100%;font:500 24px/1.2 var(--mono,monospace);letter-spacing:.4em;text-align:center;padding:12px 14px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:inherit}
.pin-input.sm{font-size:18px;text-align:left;letter-spacing:.3em;max-width:260px;padding:9px 12px}
.pin-input:focus{outline:2px solid var(--accent,#2B45C4);outline-offset:1px}
.pin-setup{display:flex;flex-direction:column;gap:12px;margin-top:4px}
.brand-mark.lg{width:56px;height:56px;border-radius:14px;font-size:26px}

/* ---------- responsive ---------- */
@media (max-width: 1280px){
  .reader-grid{grid-template-columns:minmax(0,1fr)}
  .inbox{grid-template-columns:minmax(280px,380px) minmax(0,1fr)}
  .folders{display:none}
  .chips{display:flex}
}
@media (max-width: 1100px){
  .split,.planner{grid-template-columns:minmax(0,1fr)}
  .tiles.four{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width: 900px){
  .shell{grid-template-columns:72px minmax(0,1fr)}
  .side{padding:16px 8px}
  .side .brand span:last-child,.side .nav button span:not(.badge),.side-accts,.side-foot{display:none}
  .side .nav button{justify-content:center;position:relative}
  .side .badge{position:absolute;top:2px;right:2px;min-width:16px;font-size:10px;line-height:16px}
  .cwrap{grid-template-columns:minmax(0,1fr)}
  .clist{position:static;max-height:none}
  .cwrap.detail .clist{display:none}
  .inbox{grid-template-columns:minmax(0,1fr)}
  .inbox .reader{display:none}
  .inbox.reading .mlist{display:none}
  .inbox.reading .reader{display:block;max-height:none}
}
@media (max-width: 760px){
  body{padding-bottom:calc(70px + env(safe-area-inset-bottom,0px))}
  .shell{display:block}
  .side{display:none}
  .only-phone{display:inline-grid}
  .main{padding:12px max(16px,env(safe-area-inset-right,0px)) 24px max(16px,env(safe-area-inset-left,0px));gap:14px}
  .top{flex-wrap:nowrap}
  .top h1{font-size:22px}
  .sub{font-size:13px}
  .top .controls{flex-wrap:nowrap}
  .top .controls select{position:absolute;left:-9999px}
  .view[data-view="today"] ~ * {}
  #new-btn{display:none}
  .stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .stat{border-left:0;border-top:1px solid var(--line)}
  .stat:nth-child(1),.stat:nth-child(2){border-top:0}
  .stat:nth-child(even){border-left:1px solid var(--line)}
  .stat:last-child{grid-column:1/-1;border-left:0}
  .stat b{font-size:24px}
  .board{grid-template-columns:minmax(0,1fr)}
  .quick{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .quick > :first-child{grid-column:1/-1}
  .quick button{grid-column:1/-1}
  .quick.slim{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .quick.slim button{grid-column:auto}
  .grid{grid-template-columns:minmax(0,1fr)}
  .form{grid-template-columns:minmax(0,1fr)}
  .dyn-row.contact-row,.dyn-row.kd-row{grid-template-columns:minmax(0,1fr)}
  .bar .filters{width:100%}
  .bar .filters select,.bar .filters input{flex:1;min-width:0}
  .tiles,.tiles.four{grid-template-columns:repeat(2,minmax(0,1fr))}
  .wtitle{font-size:23px}
  .inbox{border-radius:12px;margin-inline:-4px}
  .mlist,.reader{max-height:none}
  .weekstrip{width:100%;flex-wrap:nowrap;overflow-x:auto}
  .wday{min-width:46px}
  .gap span{font-size:12px}
  .scrim{place-items:end stretch;padding:0;padding-top:max(16px,env(safe-area-inset-top,0px))}
  .sheet{width:100%;border-radius:16px 16px 0 0;padding:18px max(16px,env(safe-area-inset-right,0px)) calc(18px + env(safe-area-inset-bottom,0px)) max(16px,env(safe-area-inset-left,0px))}
  .tabbar{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));position:fixed;z-index:30;left:0;right:0;bottom:0;background:var(--surface);border-top:1px solid var(--line);
    padding:6px max(8px,env(safe-area-inset-right,0px)) calc(6px + env(safe-area-inset-bottom,0px)) max(8px,env(safe-area-inset-left,0px))}
  .tabbar button{display:flex;flex-direction:column;align-items:center;gap:2px;border:0;background:none;color:var(--muted);font-size:11px;font-weight:500;padding:4px 0;min-height:48px;position:relative}
  .tabbar button[aria-current="page"]{color:var(--accent)}
  .dot-badge{position:absolute;top:4px;left:calc(50% + 7px);width:8px;height:8px;border-radius:50%;background:var(--bad)}
  .fab{display:inline-grid;place-items:center;position:fixed;z-index:31;right:max(16px,env(safe-area-inset-right,0px));bottom:calc(76px + env(safe-area-inset-bottom,0px));width:56px;height:56px;border-radius:16px;border:0;background:var(--accent);color:var(--accent-ink);box-shadow:0 10px 24px -10px rgba(43,69,196,.7)}
  .toast{bottom:calc(84px + env(safe-area-inset-bottom,0px))}
  .setup-card{padding:20px}
  .setup-card h1{font-size:23px}
}
@media (prefers-reduced-motion: no-preference){
  .sheet{animation:rise .18s ease-out}
  @keyframes rise{from{transform:translateY(10px);opacity:.6}to{transform:none;opacity:1}}
}

/* review area */
.pill.review{background:var(--accent-soft);color:var(--accent)}
.review-panel{border-color:var(--accent);box-shadow:inset 3px 0 0 var(--accent)}
.review-panel .panel-head{flex-wrap:wrap;gap:8px}
.review-row{align-items:flex-start;gap:12px;flex-wrap:wrap}
.review-row .row-main.static{cursor:default;flex:1 1 260px;min-width:0;display:flex;flex-direction:column;gap:4px}
.rv-preview{font-size:13px;color:var(--muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.rv-actions{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.pad-b{margin-bottom:10px;align-items:center}

/* calendar views */
.calbar{display:flex;flex-wrap:wrap;gap:10px 16px;align-items:center;justify-content:space-between;margin-bottom:4px}
.calbar.day-mode{margin-bottom:-4px}
.calnav{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.calnav h2{font-size:20px;min-width:0}
.seg{display:inline-flex;border:1px solid var(--line);border-radius:10px;padding:3px;background:var(--surface);gap:2px}
.seg button{border:0;background:none;padding:6px 14px;border-radius:7px;font:500 14px var(--body);color:var(--muted)}
.seg button[aria-selected="true"]{background:var(--accent);color:var(--accent-ink)}
.week-wrap{overflow-x:auto}
.wk-head,.wk-allday{display:grid;gap:0 4px;align-items:start}
.wk-head{padding-bottom:6px;border-bottom:1px solid var(--line)}
.wk-day{display:flex;flex-direction:column;align-items:center;gap:1px;border:0;background:none;padding:4px 2px;border-radius:9px;color:var(--muted);font-size:12px;min-width:0}
.wk-day b{font:600 18px/1.1 var(--display);color:var(--ink)}
.wk-day.today b{color:var(--accent)}
.wk-day:hover{background:var(--raised)}
.wk-day .pill{font-size:10.5px;padding:0 6px}
.wk-allday{padding:6px 0;border-bottom:1px solid var(--line-soft)}
.wk-allday>div{display:flex;flex-direction:column;gap:3px;min-width:0}
.wk-allday .adblock{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:2px 6px}
.wk-allday .hint{font-size:11px;padding-top:3px}
.wk-tl{gap:0 4px;margin-top:8px}
.wk-col.today{background:color-mix(in srgb,var(--accent) 4%,transparent);border-radius:6px}
.tblock.narrow{padding:2px 5px}
.tblock.narrow .n{font-size:11.5px;white-space:normal;line-height:1.2}
.tblock.narrow .t{font-size:10.5px}
.nowline.in-col{left:0}
.mgrid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}
.mhead span{font-size:12px;font-weight:600;color:var(--muted);text-align:center;padding:4px 0}
.mcell{min-height:104px;display:flex;flex-direction:column;align-items:stretch;gap:2px;text-align:left;border:1px solid var(--line-soft);border-radius:9px;background:var(--surface);padding:5px 6px;min-width:0;color:inherit;overflow:hidden}
.mcell:hover{border-color:var(--accent)}
.mcell.out{background:var(--raised);opacity:.7}
.mcell.today .mnum{background:var(--accent);color:var(--accent-ink);border-radius:999px;padding:0 7px}
.mcell.sel{box-shadow:inset 0 0 0 1.5px var(--accent)}
.mnum{font:600 13px var(--display);align-self:flex-start}
.mev{display:flex;gap:4px;align-items:center;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.mev i,.mdots i,.cdot{width:7px;height:7px;border-radius:50%;flex:none;display:inline-block}
.mev .mono{font-size:11px;color:var(--muted)}
.more,.mdue{font-size:11.5px;color:var(--muted)}
.mdue{margin-top:auto;color:var(--warn)}
.mdots{display:flex;gap:3px;flex-wrap:wrap}
.cdot{margin-right:7px;vertical-align:1px}
.agenda-day+.agenda-day{margin-top:14px}
.agenda-day h3{font-size:14px;margin:0 0 4px}
.agenda-day.is-today h3 .linkbtn{color:var(--accent)}
.agenda-day .when{flex:none;width:96px;font-size:12.5px;color:var(--muted);padding-top:2px}
.due-line .row-title{color:var(--warn)}
@media (max-width:760px){
  .mcell{min-height:58px;padding:4px}
  .mgrid{gap:2px}
  .calnav{width:100%}
  .calnav h2{font-size:17px;flex:1;text-align:center}
  .seg button{padding:6px 10px}
  .agenda-day .when{width:78px}
}

/* email drafts */
.email-box{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between;padding:10px 12px;border:1px dashed var(--line-strong);border-radius:10px;background:var(--raised)}
.email-box>div:first-child{display:flex;flex-direction:column;gap:2px;min-width:0}
.compose-body{min-height:220px;font:15px/1.5 var(--body)}
.send-sum{display:grid;grid-template-columns:auto 1fr;gap:4px 14px;margin:0 0 10px}
.send-sum dt{font-weight:600;color:var(--muted);font-size:13px}
.send-sum dd{margin:0;overflow-wrap:anywhere}
.send-preview{max-height:240px;overflow:auto;padding:12px;border:1px solid var(--line);border-radius:10px;background:var(--raised);font-size:14.5px;line-height:1.5;overflow-wrap:anywhere}

/* quick skip */
.row{position:relative}
.rowskip{flex:none;align-self:center;display:inline-flex;align-items:center;gap:4px;border:1px solid transparent;background:none;color:var(--muted);font-size:12.5px;padding:4px 8px;border-radius:8px;opacity:0;transition:opacity .12s}
.row:hover .rowskip,.rowskip:focus-visible{opacity:1}
.rowskip:hover{border-color:var(--line);color:var(--ink);background:var(--raised)}
@media (hover:none){.rowskip{opacity:1}.rowskip span{display:none}}
@media (max-width:760px){.rowskip{display:none}}
.row[data-dir="done"]{box-shadow:inset 6px 0 0 var(--ok)} .row[data-dir="skip"]{box-shadow:inset -6px 0 0 var(--muted)}
.row[data-tswipe]{touch-action:pan-y}

/* the demo is all example data, so the Example tags are hidden there */
.is-demo .pill.ex{display:none}

/* clients from email */
.rv-link{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-top:4px}
.rv-link select,.rv-actions select{max-width:200px;font-size:13px;padding:5px 8px}
.senders-box{display:flex;flex-direction:column;gap:2px;text-align:left;width:100%;border:1px solid var(--accent);background:var(--accent-soft);color:var(--ink);border-radius:10px;padding:8px 12px;margin:8px 0}
.senders-box b{color:var(--accent);font-size:14px}.senders-box small{color:var(--muted);font-size:12px}
.sender-row{align-items:flex-start;gap:12px;flex-wrap:wrap}
.sender-row .row-main.static{flex:1 1 240px;min-width:0;display:flex;flex-direction:column;gap:3px}

.updbar{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(84px + env(safe-area-inset-bottom,0px));z-index:90;display:flex;gap:12px;align-items:center;background:var(--ink);color:var(--paper);padding:8px 10px 8px 16px;border-radius:12px;box-shadow:0 8px 24px rgba(0,0,0,.25);font-size:14px}
@media (min-width:761px){.updbar{bottom:24px}}

/* ===== day planner: Now, Plan, Personal ===== */
:root{--personal:#C2410C;--personal-soft:#FDEEE6;--personal-ink:#8A2F09;--mincha:#0F7A68;--mincha-soft:#E2F4EF}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){--personal:#FB9A6B;--personal-soft:#33200F;--personal-ink:#FDBA94;--mincha:#5FD3B6;--mincha-soft:#12302A}}
:root[data-theme="dark"]{--personal:#FB9A6B;--personal-soft:#33200F;--personal-ink:#FDBA94;--mincha:#5FD3B6;--mincha-soft:#12302A}
.nav-more{padding:12px 10px 2px;margin:0}
.nav button.nav-2{padding-top:6px;padding-bottom:6px;font-size:14px}
.dateline{display:flex;flex-direction:column;align-items:flex-end;gap:0;line-height:1.25;text-align:right;margin-left:auto}
.dateline .bsd{font:600 13px/1 "IBM Plex Sans Hebrew","Arial Hebrew",var(--body);color:var(--muted);margin-bottom:3px}
.dl-time{font-size:22px;font-weight:500;letter-spacing:-.01em}
.dl-date{font-size:13px;color:var(--muted);display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.dl-heb{font-family:"IBM Plex Sans Hebrew","Arial Hebrew",var(--body)}
.daybanner{display:flex;align-items:center;gap:12px;padding:11px 14px;border-radius:12px;background:var(--personal-soft);color:var(--personal-ink);font-size:14.5px;box-shadow:inset 4px 0 0 var(--personal)}
.daybanner>span{flex:1;min-width:0}
.daybanner .linkbtn{color:var(--personal-ink);white-space:nowrap}
.nowgrid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(280px,1fr);gap:18px;align-items:start}
.nowcard{padding:20px 22px;display:flex;flex-direction:column;gap:10px;border-color:var(--accent);box-shadow:inset 4px 0 0 var(--accent)}
.nowcard.calm{border-color:var(--line);box-shadow:none}
.nowcard.mincha{border-color:var(--mincha);box-shadow:inset 4px 0 0 var(--mincha)}
.nc-top{display:flex;justify-content:space-between;gap:10px;align-items:baseline;flex-wrap:wrap}
.nc-label{font-size:12.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.nc-left{font-size:15px;color:var(--accent)}
.nc-title{font-size:26px;line-height:1.2}
.nc-title .linkbtn.big{font-size:inherit;text-align:left}
.nc-notes{margin:0;color:var(--muted);font-size:14px}
.nowcard p{margin:0}
.nc-foot{margin-top:6px}
.btnrow{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.miniplan{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.miniplan li{display:flex;gap:12px;font-weight:600}
.miniplan li .mono{color:var(--muted);font-weight:500;width:48px;flex:none}
.miniplan li.k-meeting,.miniplan li.k-fixed{font-weight:400}
.miniplan li.k-mincha span:last-child{color:var(--mincha)} .miniplan li.k-personal span:last-child{color:var(--personal)}
.where .eyebrow{margin:4px 0 6px}
.chips{display:flex;flex-wrap:wrap;gap:6px}
.chipbtn{min-height:36px;padding:0 14px;border-radius:999px;border:1px solid var(--line-strong);background:var(--surface);font-weight:500;font-size:14px}
.chipbtn[aria-pressed="true"]{border-color:var(--accent);background:var(--accent-soft);color:var(--accent);font-weight:600}
.chipbtn.personal{border-color:var(--personal);color:var(--personal-ink);background:var(--surface)}
.chipbtn.personal:hover{background:var(--personal-soft)}
.pill.personal{background:var(--personal-soft);border-color:transparent;color:var(--personal-ink)}
.personal-txt{color:var(--personal-ink)}
.side-stack{gap:12px}
.sidecard{display:flex;flex-direction:column;gap:4px;padding:14px 16px;border-radius:12px;border:1px solid var(--line);background:var(--surface);text-align:left;font-size:14px;position:relative;min-width:0}
button.sidecard:hover{border-color:var(--muted)}
.sidecard.acc{border-color:var(--accent);box-shadow:inset 3px 0 0 var(--accent)}
.sc-label{font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.sc-nums b{font:500 18px var(--mono)}
.sc-go{position:absolute;right:14px;top:14px;color:var(--accent);font-weight:600;font-size:13.5px}
.sidecard .btn.ghost{align-self:flex-start;padding-left:0;margin-top:2px}
.zlist{display:grid;grid-template-columns:1fr auto;gap:2px 14px;margin:2px 0 0;font-size:14px}
.zlist dt{color:var(--muted)} .zlist dd{margin:0;font-family:var(--mono);text-align:right}
.zlist.wide{grid-template-columns:repeat(2,minmax(0,1fr) auto);margin-top:14px;padding-top:12px;border-top:1px solid var(--line-soft)}
.tl{list-style:none;margin:6px 0 10px;padding:0;display:flex;flex-direction:column}
.tl li{display:flex;gap:12px;align-items:baseline;padding:5px 0 5px 10px;border-left:3px solid var(--line);font-size:14.5px}
.tl li .mono{color:var(--muted);width:46px;flex:none;font-size:13.5px}
.tl-t{border:0;background:none;padding:0;text-align:left;color:inherit;min-width:0}
.tl-t em{font-style:normal;color:var(--accent);font-weight:600}
.tl li.k-meeting{border-left-color:#97A2B4} .tl li.k-mincha{border-left-color:var(--mincha)} .tl li.k-personal{border-left-color:var(--personal)} .tl li.k-fixed{border-left-color:var(--line-strong)}
.tl li.k-task,.tl li.k-chase{border-left-color:var(--accent)}
.tl li.done .tl-t{text-decoration:line-through;color:var(--muted)}
.tl li.now{background:var(--accent-soft);border-radius:0 8px 8px 0;font-weight:600}
.tl li.late .mono{color:var(--bad)}
.progress{height:6px;border-radius:99px;background:var(--line-soft);overflow:hidden}
.progress i{display:block;height:100%;background:var(--ok);border-radius:99px}
.tl-foot{margin-top:10px}
.tl-foot .hint{margin-right:auto}
.prow .when{width:52px;flex:none;font-size:13.5px;line-height:1.3}
.prow .when small{color:var(--muted)}
.prow.k-meeting .row-title,.prow.k-fixed .row-title{font-weight:400}
.prow.k-mincha .row-title{color:var(--mincha)} .prow.k-personal .row-title{color:var(--personal-ink)}
.prow-acts{display:flex;gap:2px;flex-wrap:wrap}
.prow-acts .btn{min-height:30px;padding:3px 8px;font-size:12.5px}
.plan-day{font-size:19px;margin-left:6px}
.plan-sum{display:flex;flex-wrap:wrap;gap:6px 14px;align-items:center;font-size:14px}
.ptypes{margin-bottom:2px}
.plist{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.pcard{display:flex;flex-direction:column;gap:5px;width:100%;padding:13px 14px;border:1px solid var(--line);border-radius:12px;background:var(--surface);text-align:left;box-shadow:inset 4px 0 0 var(--personal)}
.pcard:hover{border-color:var(--muted)}
.pc-top{display:flex;justify-content:space-between;gap:10px;font-size:12.5px;color:var(--muted)}
.pc-title{font-weight:600;font-size:15.5px}
.pc-sub{font-size:13.5px;color:var(--muted)}
.pc-todo{font-size:13.5px;color:var(--personal-ink);font-weight:500}
table.wk{width:100%;border-collapse:collapse;font-size:14px;margin:6px 0 12px}
table.wk th,table.wk td{padding:5px 6px 5px 0;text-align:left;vertical-align:middle}
table.wk thead th{font-size:12px;color:var(--muted);font-weight:600}
table.wk input[type=time]{min-width:96px;padding:6px 8px}
table.wk td:last-child{width:40%}
.form.two{grid-template-columns:1fr 1fr}
.daychk{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border:1px solid var(--line-strong);border-radius:999px;font-size:13.5px}
.field .inline input,.field .inline select{min-width:0}
.alerts{position:fixed;z-index:60;right:16px;top:16px;display:flex;flex-direction:column;gap:8px;width:min(380px,calc(100% - 32px))}
.alert{display:flex;gap:12px;align-items:flex-start;justify-content:space-between;padding:12px 14px;border-radius:12px;background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-left:5px solid var(--accent)}
.alert div{display:flex;flex-direction:column;gap:2px;min-width:0} .alert span{font-size:13.5px;color:var(--muted)}
.alert.k-mincha{border-left-color:var(--mincha)} .alert.k-personal{border-left-color:var(--personal)}
@media (max-width: 1100px){.nowgrid{grid-template-columns:minmax(0,1fr)}.side-stack{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}}
@media (max-width: 900px){.side .nav-more{display:none}}
@media (max-width: 760px){
  .dateline{display:none}
  .nc-title{font-size:22px}
  .nowcard{padding:16px}
  .nowcard .btnrow .btn{flex:1 1 auto}
  .side-stack{grid-template-columns:minmax(0,1fr)}
  table.wk thead{display:none}
  table.wk td:last-child{width:auto}
  table.wk tr{display:grid;grid-template-columns:80px 30px 1fr 1fr;gap:4px;padding:6px 0;border-top:1px solid var(--line-soft)}
  table.wk tr td:last-child{grid-column:1/-1}
  .form.two{grid-template-columns:minmax(0,1fr)}
  .zlist.wide{grid-template-columns:1fr auto}
  .alerts{top:auto;bottom:calc(84px + env(safe-area-inset-bottom,0px))}
  .prow-acts{width:100%;padding-left:62px}
}
.only-phone-date{display:none}
@media (max-width: 760px){.only-phone-date{display:block}}
.field>span.locnote{font-size:12.5px;color:var(--muted);font-weight:400;letter-spacing:0;display:flex;flex-wrap:wrap;align-items:center;gap:4px}
