/* Back office (admin) and client login. Builds on brand.css tokens; no new look.
   Spacing scale: 4 8 12 16 24 32 48 64. Radius: 10 (controls), 14-16 (cards), 999 (pills). */

body.adm-body{
  --bg:#faf7f8; --card:#ffffff; --card-2:#faf7f8; --hover:#f4eff2; --sel:#fbeef3;
  --ink:#1f171c; --ink-2:#4a3d45; --soft:#6f6069; --line:#ebe3e8; --line-2:#dcd0d7;
  --plum:#8c2f55; --plum-2:#6f2143; --plum-ink:#ffffff; --plum-soft:#fbeef3;
  --ok:#2f6b4f; --ok-bg:#e5f1e9; --warn:#8a5a12; --warn-bg:#faefd9; --bad:#9b2c2c; --bad-bg:#fbe7e7; --info:#3d4f7a; --info-bg:#e8ecf6;
  --blush:#f4cedb; --butter:#f3d98a; --sage:#a9c6a8;
  --shadow:0 1px 2px rgba(31,23,28,.05),0 14px 34px -14px rgba(31,23,28,.18);
  --shadow-pop:0 2px 6px rgba(31,23,28,.08),0 24px 48px -18px rgba(31,23,28,.28);
  --focus:0 0 0 3px rgba(140,47,85,.28);
  --side:256px; --top:64px;
  background:var(--bg); color:var(--ink); font:400 15px/1.5 var(--sans); margin:0; min-height:100vh;
  -webkit-font-smoothing:antialiased; color-scheme:light;
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]) body.adm-body{
    --bg:#151014; --card:#1d171b; --card-2:#221b20; --hover:#2a2228; --sel:#3a2230;
    --ink:#f3ecf0; --ink-2:#d6cad1; --soft:#ab9ca5; --line:#33292f; --line-2:#44383f;
    --plum:#e48bb0; --plum-2:#f0a9c6; --plum-ink:#1d171b; --plum-soft:#3a2230;
    --ok:#8fd0ad; --ok-bg:#1f3529; --warn:#f0c77a; --warn-bg:#3a2e17; --bad:#f1a1a1; --bad-bg:#3b1f1f; --info:#aebde6; --info-bg:#232a3d;
    --blush:#c77a99; --butter:#d9b956; --sage:#86a985;
    --shadow:0 1px 2px rgba(0,0,0,.4),0 14px 34px -14px rgba(0,0,0,.6); --shadow-pop:0 24px 48px -18px rgba(0,0,0,.7);
    --focus:0 0 0 3px rgba(228,139,176,.35); color-scheme:dark;
  }
}
:root[data-theme="dark"] body.adm-body{
  --bg:#151014; --card:#1d171b; --card-2:#221b20; --hover:#2a2228; --sel:#3a2230;
  --ink:#f3ecf0; --ink-2:#d6cad1; --soft:#ab9ca5; --line:#33292f; --line-2:#44383f;
  --plum:#e48bb0; --plum-2:#f0a9c6; --plum-ink:#1d171b; --plum-soft:#3a2230;
  --ok:#8fd0ad; --ok-bg:#1f3529; --warn:#f0c77a; --warn-bg:#3a2e17; --bad:#f1a1a1; --bad-bg:#3b1f1f; --info:#aebde6; --info-bg:#232a3d;
  --blush:#c77a99; --butter:#d9b956; --sage:#86a985;
  --shadow:0 1px 2px rgba(0,0,0,.4),0 14px 34px -14px rgba(0,0,0,.6); --shadow-pop:0 24px 48px -18px rgba(0,0,0,.7);
  --focus:0 0 0 3px rgba(228,139,176,.35); color-scheme:dark;
}
:root[data-theme="dark"] html, :root[data-theme="dark"]{background:#151014}
body.adm-body *, body.adm-body *::before, body.adm-body *::after{box-sizing:border-box}
:where(body.adm-body) a{color:inherit}
:where(body.adm-body) :focus-visible{outline:none;box-shadow:var(--focus);border-radius:8px}
:where(body.adm-body) button{font:inherit;color:inherit}
:where(body.adm-body) :is(h1,h2,h3){margin:0;color:var(--ink)}
:where(body.adm-body) p{margin:0}
body.adm-body .empty{border:0;background:none;border-radius:0}
.sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip-adm{position:absolute;left:12px;top:-60px;z-index:200;background:var(--plum);color:var(--plum-ink)!important;padding:10px 14px;border-radius:10px;text-decoration:none}
.skip-adm:focus{top:12px}

/* ---------- layout ---------- */
.adm{display:grid;grid-template-columns:var(--side) minmax(0,1fr);min-height:100vh}
.adm.collapsed{grid-template-columns:0 minmax(0,1fr)}
.adm.collapsed .side{visibility:hidden}
.side{position:sticky;top:0;height:100vh;overflow:auto;background:var(--card);border-right:1px solid var(--line);display:flex;flex-direction:column;padding:16px 12px 16px}
.side-brand{display:flex;align-items:center;gap:10px;padding:6px 8px 18px;text-decoration:none;color:var(--ink);font:700 17px/1 var(--display);letter-spacing:-.01em}
.side-brand .lc-mark{width:34px;height:34px;font-size:13px}
.side-brand small{display:block;font:500 11px/1.2 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--soft);margin-top:4px}
.side-group{margin:10px 0 4px}
.side-group h2{font:500 11px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--soft);padding:10px 10px 6px}
.side a.nav{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:40px;padding:8px 10px;border-radius:10px;text-decoration:none;color:var(--ink-2);font-weight:500}
.side a.nav:hover{background:var(--hover);color:var(--ink)}
.side a.nav[aria-current="page"]{background:var(--plum-soft);color:var(--plum);font-weight:600}
.side a.nav .badge{min-width:22px;height:22px;padding:0 7px;border-radius:999px;background:var(--plum);color:var(--plum-ink);font:600 12px/22px var(--mono);text-align:center}
.side a.nav .soon{font:500 10px/1 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--soft)}
.side-foot{margin-top:auto;padding-top:12px;border-top:1px solid var(--line)}

.main{min-width:0;display:flex;flex-direction:column}
.top{position:sticky;top:0;z-index:40;height:var(--top);display:flex;align-items:center;gap:12px;padding:0 24px;background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.top .grow{flex:1;min-width:0}
.icon-btn{position:relative;display:inline-grid;place-items:center;width:44px;height:44px;border-radius:12px;border:1px solid var(--line);background:var(--card);cursor:pointer;color:var(--ink-2)}
.icon-btn:hover{border-color:var(--line-2);color:var(--ink)}
.icon-btn svg{width:20px;height:20px}
.icon-btn .dot{position:absolute;top:6px;right:6px;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:var(--plum);color:var(--plum-ink);font:600 11px/18px var(--mono);text-align:center}
.search{position:relative;max-width:520px}
.search input{width:100%;height:44px;padding:0 44px 0 40px;border-radius:12px;border:1px solid var(--line);background:var(--card);color:var(--ink);font:400 15px var(--sans)}
.search input:focus{outline:none;border-color:var(--plum);box-shadow:var(--focus)}
.search svg{position:absolute;left:13px;top:12px;width:18px;height:18px;color:var(--soft)}
.search kbd{position:absolute;right:10px;top:10px;font:500 12px/22px var(--mono);padding:0 7px;border:1px solid var(--line-2);border-radius:6px;color:var(--soft);background:var(--card-2)}
.search-results{position:absolute;left:0;right:0;top:50px;max-height:min(70vh,520px);overflow:auto;background:var(--card);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow-pop);padding:6px}
.search-results a{display:flex;gap:12px;align-items:baseline;padding:10px 12px;border-radius:10px;text-decoration:none}
.search-results a:hover,.search-results a[aria-selected="true"]{background:var(--hover)}
.search-results .k{flex:0 0 76px;font:500 11px/1.6 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--plum)}
.search-results .s{display:block;color:var(--soft);font-size:13px}
.search-results .none{padding:14px;color:var(--soft)}

.avatar{display:inline-grid;place-items:center;width:44px;height:44px;border-radius:12px;background:var(--plum-soft);color:var(--plum);font:600 15px/1 var(--display);border:1px solid var(--line);cursor:pointer}

.content{width:100%;max-width:1320px;margin:0 auto;padding:28px 24px 96px}
.practice-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px 16px;padding:8px 16px;background:var(--warn-bg);color:var(--warn);font:500 13px/1.4 var(--sans);text-align:center;border-bottom:1px solid var(--line)}
.practice-bar button{background:none;border:0;text-decoration:underline;cursor:pointer;color:inherit;min-height:44px;padding:0 6px}

/* ---------- page header ---------- */
.crumbs{display:flex;flex-wrap:wrap;gap:6px;font:500 13px/1.4 var(--sans);color:var(--soft);margin-bottom:12px}
.crumbs a{color:var(--soft);text-decoration:none}
.crumbs a:hover{color:var(--plum);text-decoration:underline}
.crumbs span[aria-hidden]{color:var(--line-2)}
.ph{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:16px 24px;margin-bottom:24px}
.ph .eyebrow{display:inline-flex;gap:.5em;font:500 12px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--soft);margin-bottom:10px}
.ph .eyebrow::before{content:"[";color:var(--plum)} .ph .eyebrow::after{content:"]";color:var(--plum)}
.ph h1{font:800 clamp(28px,3.4vw,40px)/1.05 var(--display);letter-spacing:-.03em}
.ph h1 em{font-style:normal;color:var(--plum)}
.ph p.desc{margin-top:8px;color:var(--soft);max-width:62ch}
.ph .acts{display:flex;flex-wrap:wrap;gap:10px}

/* ---------- buttons ---------- */
.b{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 18px;border-radius:10px;border:1px solid transparent;background:var(--plum);color:var(--plum-ink);font:600 15px/1 var(--sans);text-decoration:none;cursor:pointer;white-space:nowrap;transition:background .15s,border-color .15s}
.b:hover{background:var(--plum-2)}
.b.ghost{background:var(--card);color:var(--ink);border-color:var(--line-2)}
.b.ghost:hover{border-color:var(--plum);color:var(--plum)}
.b.quiet{background:transparent;color:var(--ink-2);border-color:transparent}
.b.quiet:hover{background:var(--hover);color:var(--ink)}
.b.danger{background:var(--card);color:var(--bad);border-color:var(--line-2)}
.b.danger:hover{border-color:var(--bad)}
.b.sm{min-height:36px;padding:0 12px;font-size:14px;border-radius:9px}
.b[disabled],.b[aria-disabled="true"]{opacity:.5;cursor:not-allowed}
.b svg{width:18px;height:18px}
.tl{color:var(--plum);font-weight:600;text-decoration:none;display:inline-flex;align-items:center;gap:6px;min-height:44px;background:none;border:0;cursor:pointer;padding:0}
.tl::after{content:"→";transition:transform .15s}
.tl:hover::after{transform:translateX(3px)}
.tl.plain::after{content:none}

/* ---------- cards ---------- */
.card{background:var(--card);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);padding:20px}
.card + .card{margin-top:16px}
.card h2{font:700 18px/1.2 var(--display);letter-spacing:-.01em}
.card .card-h{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}
.card .card-h p{color:var(--soft);font-size:14px}
.card.tint{background:var(--plum-soft);border-color:transparent;box-shadow:none}
.grid{display:grid;gap:16px}
.g2{grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr))}
.g3{grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr))}
.g4{grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr))}
.split{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:16px;align-items:start}
@media (max-width:1100px){.split{grid-template-columns:minmax(0,1fr)}}
.stat{position:relative;overflow:hidden;padding:18px 20px}
.stat::before{content:"";position:absolute;inset:0 0 auto 0;height:4px;background:var(--blush)}
.stat.butter::before{background:var(--butter)} .stat.sage::before{background:var(--sage)} .stat.plum::before{background:var(--plum)}
.stat .k{font:500 12px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--soft)}
.stat .v{font:800 30px/1.1 var(--display);letter-spacing:-.03em;margin-top:10px}
.stat .v small{font:500 14px/1 var(--sans);color:var(--soft);letter-spacing:0}
.stat .n{margin-top:6px;color:var(--soft);font-size:13px}
.meter{height:8px;border-radius:999px;background:var(--hover);overflow:hidden;margin-top:12px}
.meter i{display:block;height:100%;border-radius:999px;background:var(--plum)}

/* ---------- pills ---------- */
.pill{display:inline-flex;align-items:center;gap:6px;min-height:24px;padding:2px 10px;border-radius:999px;font:600 12px/1.4 var(--sans);background:var(--hover);color:var(--ink-2);white-space:nowrap}
.pill.ok{background:var(--ok-bg);color:var(--ok)} .pill.warn{background:var(--warn-bg);color:var(--warn)}
.pill.bad{background:var(--bad-bg);color:var(--bad)} .pill.info{background:var(--info-bg);color:var(--info)}
.pill.plum{background:var(--plum-soft);color:var(--plum)}
.mono{font-family:var(--mono);font-size:13px;letter-spacing:.01em}
.muted{color:var(--soft)} .small{font-size:13px}
.num{font-family:var(--mono);font-variant-numeric:tabular-nums;white-space:nowrap}

/* ---------- toolbar, filters ---------- */
.toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:14px}
.toolbar .grow{flex:1}
.f-input,.f-select{height:40px;padding:0 12px;border-radius:10px;border:1px solid var(--line-2);background:var(--card);color:var(--ink);font:400 14px var(--sans);min-width:0}
.f-input:focus,.f-select:focus{outline:none;border-color:var(--plum);box-shadow:var(--focus)}
.f-input.q{width:min(100%,280px)}
.seg{display:inline-flex;border:1px solid var(--line-2);border-radius:10px;overflow:hidden;background:var(--card)}
.seg button{min-height:38px;padding:0 12px;border:0;background:none;cursor:pointer;font-weight:500;color:var(--ink-2)}
.seg button+button{border-left:1px solid var(--line-2)}
.seg button[aria-pressed="true"]{background:var(--plum-soft);color:var(--plum);font-weight:600}

/* ---------- tables ---------- */
.tw{overflow-x:auto;border:1px solid var(--line);border-radius:14px;background:var(--card);box-shadow:var(--shadow)}
table.t{width:100%;border-collapse:collapse;font-size:14px}
table.t th{position:sticky;top:0;background:var(--card-2);text-align:left;font:500 11px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--soft);padding:0;border-bottom:1px solid var(--line);white-space:nowrap}
table.t th > span,table.t th > button{display:flex;align-items:center;gap:6px;width:100%;min-height:42px;padding:0 14px;background:none;border:0;cursor:default;font:inherit;letter-spacing:inherit;text-transform:inherit;color:inherit;text-align:left}
table.t th > button{cursor:pointer} table.t th > button:hover{color:var(--ink)}
table.t th[aria-sort="ascending"] > button::after{content:"▲";font-size:9px;color:var(--plum)}
table.t th[aria-sort="descending"] > button::after{content:"▼";font-size:9px;color:var(--plum)}
table.t td{padding:12px 14px;border-bottom:1px solid var(--line);vertical-align:top}
table.t tr:last-child td{border-bottom:0}
table.t tbody tr:hover{background:var(--hover)}
table.t td a.row-link{font-weight:600;text-decoration:none;color:var(--ink)}
table.t td a.row-link:hover{color:var(--plum);text-decoration:underline}
table.t td .sub{display:block;color:var(--soft);font-size:13px;margin-top:2px}
table.t td.r,table.t th.r > button,table.t th.r > span{text-align:right;justify-content:flex-end}
.pager{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;margin-top:12px;color:var(--soft);font-size:13px}
.pager .seg button{min-width:44px}
.empty{padding:40px 20px;text-align:center;color:var(--soft)}
.empty b{display:block;color:var(--ink);font:700 17px/1.3 var(--display);margin-bottom:6px}
.empty .b{margin-top:14px}
.loading{padding:28px;color:var(--soft)}
.skeleton{height:14px;border-radius:6px;background:linear-gradient(90deg,var(--hover),var(--card-2),var(--hover));background-size:200% 100%;animation:sk 1.2s linear infinite}
@keyframes sk{to{background-position:-200% 0}}

/* ---------- board ---------- */
.board{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(260px,1fr);gap:12px;overflow-x:auto;padding-bottom:8px;align-items:start}
.col{background:var(--card-2);border:1px solid var(--line);border-radius:14px;padding:10px;min-height:120px}
.col h3{display:flex;justify-content:space-between;font:500 11px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--soft);padding:6px 6px 10px}
.bcard{display:block;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:12px;text-decoration:none;color:var(--ink);box-shadow:0 1px 2px rgba(31,23,28,.05)}
.bcard + .bcard{margin-top:8px}
.bcard:hover{border-color:var(--plum)}
.bcard b{display:block;font-weight:600}
.bcard .sub{display:block;color:var(--soft);font-size:13px;margin-top:4px}
.bcard .move{margin-top:10px}

/* ---------- lists in cards ---------- */
.list{list-style:none;margin:0;padding:0}
.list li{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}
.list li:last-child{border-bottom:0}
.list .t1{font-weight:600}
.list .t2{color:var(--soft);font-size:13px}
.list a{text-decoration:none} .list a:hover .t1{color:var(--plum)}
.kv{display:grid;grid-template-columns:minmax(120px,38%) 1fr;gap:10px 16px;margin:0}
.kv dt{color:var(--soft);font-size:13px} .kv dd{margin:0;overflow-wrap:anywhere}

/* ---------- tabs ---------- */
.tabs{display:flex;gap:4px;overflow-x:auto;border-bottom:1px solid var(--line);margin-bottom:20px;scrollbar-width:thin}
.tabs a,.tabs button{flex:0 0 auto;min-height:44px;padding:0 14px;border:0;background:none;border-bottom:2px solid transparent;margin-bottom:-1px;cursor:pointer;color:var(--ink-2);font-weight:500;text-decoration:none;display:inline-flex;align-items:center;gap:6px}
.tabs [aria-selected="true"],.tabs [aria-current="page"]{border-bottom-color:var(--plum);color:var(--plum);font-weight:600}

/* ---------- forms ---------- */
.form{display:grid;gap:14px}
.fgrid{display:grid;gap:14px 16px;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr))}
.fld{display:grid;gap:6px;min-width:0}
.fld.wide{grid-column:1/-1}
.fld label,.fld .lbl{font-weight:600;font-size:14px}
.fld .hint{color:var(--soft);font-size:13px}
.fld input:not([type=checkbox]):not([type=radio]),.fld select,.fld textarea{width:100%;min-height:44px;padding:10px 12px;border-radius:10px;border:1px solid var(--line-2);background:var(--card);color:var(--ink);font:400 15px/1.4 var(--sans)}
.fld textarea{min-height:110px;resize:vertical}
.fld input:focus,.fld select:focus,.fld textarea:focus{outline:none;border-color:var(--plum);box-shadow:var(--focus)}
.fld [aria-invalid="true"]{border-color:var(--bad)!important}
.fld .err{color:var(--bad);font-size:13px}
.check{display:flex;align-items:center;gap:10px;min-height:44px;cursor:pointer}
.check input{width:20px;height:20px;accent-color:var(--plum)}
.msg{padding:12px 14px;border-radius:10px;font-size:14px}
.msg.ok{background:var(--ok-bg);color:var(--ok)} .msg.bad{background:var(--bad-bg);color:var(--bad)} .msg.warn{background:var(--warn-bg);color:var(--warn)} .msg.info{background:var(--info-bg);color:var(--info)}
.form-acts{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end;padding-top:6px}

/* ---------- dialog, menus, toasts ---------- */
dialog.dlg{width:min(640px,calc(100vw - 32px));max-height:calc(100vh - 48px);padding:0;border:1px solid var(--line);border-radius:18px;background:var(--card);color:var(--ink);box-shadow:var(--shadow-pop)}
dialog.dlg::backdrop{background:rgba(21,16,20,.45)}
dialog.dlg[open]{animation:pop .18s ease-out}
@keyframes pop{from{transform:translateY(8px);opacity:0}to{transform:none;opacity:1}}
.dlg-h{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 20px;border-bottom:1px solid var(--line)}
.dlg-h h2{font:700 19px/1.2 var(--display)}
.dlg-b{padding:20px;overflow:auto;max-height:calc(100vh - 200px)}
.dlg-f{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px;padding:14px 20px;border-top:1px solid var(--line);background:var(--card-2);border-radius:0 0 18px 18px}
.menu{position:absolute;z-index:60;min-width:240px;background:var(--card);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow-pop);padding:6px}
.menu a,.menu button{display:flex;align-items:center;gap:10px;width:100%;min-height:42px;padding:0 12px;border:0;border-radius:9px;background:none;text-align:left;text-decoration:none;color:var(--ink);cursor:pointer;font-weight:500}
.menu a:hover,.menu button:hover,.menu a:focus-visible,.menu button:focus-visible{background:var(--hover)}
.menu hr{border:0;border-top:1px solid var(--line);margin:6px 4px}
.menu .mh{padding:8px 12px 4px;font:500 11px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--soft)}
.toasts{position:fixed;z-index:300;right:16px;bottom:16px;display:grid;gap:8px;max-width:min(420px,calc(100vw - 32px))}
.toast{padding:12px 16px;border-radius:12px;background:var(--ink);color:var(--card);box-shadow:var(--shadow-pop);font-weight:500;animation:pop .18s ease-out}
.toast.bad{background:var(--bad);color:#fff}
.notif{display:flex;gap:12px;padding:12px;border-radius:12px;text-decoration:none}
.notif:hover{background:var(--hover)}
.notif .dotm{flex:0 0 8px;height:8px;margin-top:7px;border-radius:50%;background:var(--plum)}
.notif.read .dotm{background:transparent}
.notif .when{color:var(--soft);font-size:12px;font-family:var(--mono)}
.feed{list-style:none;margin:0;padding:0}
.feed li{display:grid;grid-template-columns:auto 1fr;gap:4px 12px;padding:10px 0;border-bottom:1px solid var(--line)}
.feed li:last-child{border-bottom:0}
.feed .when{grid-row:span 2;font:500 12px/1.6 var(--mono);color:var(--soft);min-width:84px}

/* ---------- sign-in ---------- */
.auth{min-height:100vh;display:grid;place-items:center;padding:24px 16px;background:var(--bg)}
.auth-card{width:min(440px,100%);background:var(--card);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow);padding:28px}
.auth-card .lc-brand{margin-bottom:22px;color:var(--ink)}
.auth-card h1{font:800 30px/1.1 var(--display);letter-spacing:-.03em;margin-bottom:6px}
.auth-card p.lede{color:var(--soft);margin-bottom:20px}
.auth-card .alt{margin-top:16px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;font-size:14px}
.or{display:flex;align-items:center;gap:10px;color:var(--soft);font-size:13px;margin:4px 0}
.or::before,.or::after{content:"";flex:1;border-top:1px solid var(--line)}

/* ---------- phones ---------- */
.mbar{display:none}
@media (max-width:900px){
  .adm,.adm.collapsed{grid-template-columns:minmax(0,1fr)}
  .side{position:fixed;inset:0 auto 0 0;z-index:90;width:min(320px,86vw);transform:translateX(-102%);transition:transform .2s ease;box-shadow:var(--shadow-pop);visibility:visible!important}
  .adm.menu-open .side{transform:none}
  .scrim{position:fixed;inset:0;z-index:80;background:rgba(21,16,20,.45)}
  .top{padding:0 12px;gap:8px}
  .top .hide-sm{display:none}
  .content{padding:20px 16px 112px}
  .mbar{display:grid;grid-template-columns:repeat(5,1fr);position:fixed;left:0;right:0;bottom:0;z-index:70;background:var(--card);border-top:1px solid var(--line);padding:6px 6px calc(6px + env(safe-area-inset-bottom,0px))}
  .mbar a,.mbar button{display:grid;justify-items:center;gap:2px;min-height:52px;padding:6px 2px;border:0;background:none;border-radius:10px;text-decoration:none;color:var(--ink-2);font:500 11px/1.2 var(--sans);cursor:pointer;position:relative}
  .mbar svg{width:22px;height:22px}
  .mbar [aria-current="page"]{color:var(--plum)}
  .mbar .badge{position:absolute;top:2px;left:calc(50% + 6px);min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:var(--plum);color:var(--plum-ink);font:600 10px/18px var(--mono)}
  .toasts{bottom:84px}
  .kv{grid-template-columns:1fr}
}
@media (max-width:520px){.search kbd{display:none}.ph .acts{width:100%}.ph .acts .b{flex:1}}
@media (prefers-reduced-motion:reduce){
  body.adm-body *,body.adm-body *::before,body.adm-body *::after{animation:none!important;transition:none!important}
}
@media print{
  .side,.top,.mbar,.practice-bar,.no-print,.toasts{display:none!important}
  .adm{display:block} .content{padding:0;max-width:none} body.adm-body{background:#fff}
  .card{box-shadow:none;border:0;padding:0}
}

/* ---------- palette: blush, butter and sage alongside plum ----------
   Each sidebar group has a tone (data-tone on <body>); pages and cards pick it up through --tone variables.
   Text on tinted backgrounds uses a dark shade of the same hue for contrast. */
body.adm-body{
  --blush-soft:#fbeef3; --blush-ink:#8c2f55;
  --butter-soft:#fcf3d6; --butter-ink:#6e520c;
  --sage-soft:#ebf3ea; --sage-ink:#2f5a3e;
  --plumtone-soft:#f3e6ec; --plumtone-ink:#6f2143;
  --ok-bg:#e3efe2; --warn-bg:#fbf0cf;
  --tone:var(--blush); --tone-soft:var(--blush-soft); --tone-ink:var(--blush-ink);
}
@media (prefers-color-scheme:dark){ :root:not([data-theme="light"]) body.adm-body{
  --blush-soft:#3a2230; --blush-ink:#f0a9c6; --butter-soft:#352c14; --butter-ink:#f0d48a;
  --sage-soft:#1f2f22; --sage-ink:#a9d0a8; --plumtone-soft:#33202b; --plumtone-ink:#e48bb0; --ok-bg:#1f3123; --warn-bg:#352c14; } }
:root[data-theme="dark"] body.adm-body{
  --blush-soft:#3a2230; --blush-ink:#f0a9c6; --butter-soft:#352c14; --butter-ink:#f0d48a;
  --sage-soft:#1f2f22; --sage-ink:#a9d0a8; --plumtone-soft:#33202b; --plumtone-ink:#e48bb0; --ok-bg:#1f3123; --warn-bg:#352c14; }
body.adm-body[data-tone="sage"]{--tone:var(--sage);--tone-soft:var(--sage-soft);--tone-ink:var(--sage-ink)}
body.adm-body[data-tone="butter"]{--tone:var(--butter);--tone-soft:var(--butter-soft);--tone-ink:var(--butter-ink)}
body.adm-body[data-tone="plum"]{--tone:var(--plum);--tone-soft:var(--plumtone-soft);--tone-ink:var(--plumtone-ink)}

/* sidebar groups */
.side-group[data-tone="blush"]{--g:var(--blush);--g-soft:var(--blush-soft);--g-ink:var(--blush-ink)}
.side-group[data-tone="sage"]{--g:var(--sage);--g-soft:var(--sage-soft);--g-ink:var(--sage-ink)}
.side-group[data-tone="butter"]{--g:var(--butter);--g-soft:var(--butter-soft);--g-ink:var(--butter-ink)}
.side-group[data-tone="plum"]{--g:var(--plum);--g-soft:var(--plumtone-soft);--g-ink:var(--plumtone-ink)}
.side-group h2{display:flex;align-items:center;gap:8px}
.side-group h2::before{content:"";width:10px;height:10px;border-radius:3px;background:var(--g,var(--line-2))}
.side-group a.nav[aria-current="page"]{background:var(--g-soft);color:var(--g-ink);box-shadow:inset 3px 0 0 var(--g)}
.side-group a.nav:hover{background:var(--g-soft)}
.side-group a.nav .badge{background:var(--g-soft);color:var(--g-ink);border:1px solid var(--g)}
.side-foot a.nav[aria-current="page"]{background:var(--sage-soft);color:var(--sage-ink);box-shadow:inset 3px 0 0 var(--sage)}
.side-brand .lc-mark::before,.side-brand .lc-mark::after{border-color:var(--plum)}

/* page header picks up the section's tone */
.ph{position:relative;padding-bottom:18px;border-bottom:1px solid var(--line)}
.ph::after{content:"";position:absolute;left:0;bottom:-1px;width:96px;height:3px;border-radius:3px;background:linear-gradient(90deg,var(--blush) 0 33%,var(--butter) 33% 66%,var(--sage) 66%)}
.ph .eyebrow::before,.ph .eyebrow::after{color:var(--tone-ink)}
.crumbs a:hover{color:var(--tone-ink)}

/* cards with colored top edges, like the homepage statistics */
.card.edge{position:relative;overflow:hidden}
.card.edge::before{content:"";position:absolute;inset:0 0 auto 0;height:4px;background:var(--tone)}
.card.edge.blush::before{background:var(--blush)} .card.edge.butter::before{background:var(--butter)} .card.edge.sage::before{background:var(--sage)} .card.edge.plum::before{background:var(--plum)}
.card.soft-blush{background:var(--blush-soft);border-color:transparent;box-shadow:none}
.card.soft-butter{background:var(--butter-soft);border-color:transparent;box-shadow:none}
.card.soft-sage{background:var(--sage-soft);border-color:transparent;box-shadow:none}
.card.tint{background:var(--tone-soft)}
.swatch{display:inline-block;width:12px;height:12px;border-radius:4px;vertical-align:middle;margin-right:8px;background:var(--tone)}
.swatch.blush{background:var(--blush)} .swatch.butter{background:var(--butter)} .swatch.sage{background:var(--sage)} .swatch.plum{background:var(--plum)}

/* pills in the palette */
.pill.plum{background:var(--blush-soft);color:var(--blush-ink)}
.pill.ok{background:var(--sage-soft);color:var(--sage-ink)}
.pill.warn{background:var(--butter-soft);color:var(--butter-ink)}

/* top bar and small touches */
.avatar{background:var(--butter-soft);color:var(--butter-ink);border-color:var(--butter)}
.icon-btn .dot{background:var(--blush);color:#4a1730}
.b.ghost:hover{border-color:var(--tone);background:var(--tone-soft);color:var(--tone-ink)}
.seg button[aria-pressed="true"]{background:var(--tone-soft);color:var(--tone-ink)}
.tabs [aria-selected="true"],.tabs [aria-current="page"]{border-bottom-color:var(--tone);color:var(--tone-ink)}
table.t th{background:var(--card-2)}
table.t tbody tr:hover{background:var(--tone-soft)}
.feed .when{color:var(--sage-ink)}
.notif .dotm{background:var(--blush)}
.mbar [aria-current="page"]{color:var(--tone-ink)}
.mbar [aria-current="page"] svg{background:var(--tone-soft);border-radius:8px;box-shadow:0 0 0 4px var(--tone-soft)}
.mbar .badge{background:var(--blush);color:#4a1730}
.auth-card{position:relative;overflow:hidden}
.auth-card::before{content:"";position:absolute;inset:0 0 auto 0;height:6px;background:linear-gradient(90deg,var(--blush) 0 33.3%,var(--butter) 33.3% 66.6%,var(--sage) 66.6%)}
.settings-card{display:block;text-decoration:none;position:relative;overflow:hidden;transition:border-color .15s,transform .15s}
.settings-card::before{content:"";position:absolute;inset:0 0 auto 0;height:4px;background:var(--c,var(--tone))}
.settings-card:hover{border-color:var(--c,var(--tone));transform:translateY(-2px)}
@media (prefers-reduced-motion:reduce){.settings-card:hover{transform:none}}
.grid > .card + .card,.split > div > .card:first-child{margin-top:0}

/* ======================================================================
   Design upgrade (Oct 27): command menu, profile card, Home
   ====================================================================== */
body.adm-body{--r-lg:18px;--r-md:14px;--r-sm:10px}
.content{padding-top:32px}
.ph h1{font-size:clamp(30px,3.6vw,44px);letter-spacing:-.035em}
.ph .acts .b{min-height:42px}
.card{border-radius:var(--r-lg)}

/* command menu trigger in the top bar */
.cmd-trigger{display:flex;align-items:center;gap:10px;max-width:520px;height:44px;padding:0 10px 0 14px;border-radius:12px;border:1px solid var(--line);background:var(--card);color:var(--soft);font:400 15px var(--sans);cursor:pointer;text-align:left;transition:border-color .15s,box-shadow .15s}
.cmd-trigger:hover{border-color:var(--line-2);box-shadow:0 1px 2px rgba(31,23,28,.06)}
.cmd-trigger svg{width:18px;height:18px;flex:0 0 auto}
.cmd-trigger .cmd-ph{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cmd-trigger kbd,.cmd kbd{font:500 11px/20px var(--mono);padding:0 6px;border:1px solid var(--line-2);border-bottom-width:2px;border-radius:6px;color:var(--soft);background:var(--card-2)}
@media (max-width:520px){.cmd-trigger kbd{display:none}}

/* command menu */
dialog.cmd{width:min(640px,calc(100vw - 24px));max-height:min(560px,calc(100vh - 80px));margin:10vh auto auto;padding:0;border:1px solid var(--line);border-radius:20px;background:var(--card);color:var(--ink);box-shadow:var(--shadow-pop);overflow:hidden;display:flex;flex-direction:column}
dialog.cmd:not([open]){display:none}
dialog.cmd::backdrop{background:rgba(21,16,20,.4);backdrop-filter:blur(2px)}
dialog.cmd[open]{animation:pop .16s ease-out}
.cmd-in{display:flex;align-items:center;gap:12px;padding:0 16px;border-bottom:1px solid var(--line)}
.cmd-in svg{width:20px;height:20px;color:var(--plum);flex:0 0 auto}
.cmd-in input{flex:1;min-width:0;height:60px;border:0;background:none;color:var(--ink);font:500 17px var(--sans);outline:none}
.cmd-list{overflow:auto;padding:6px 8px 10px;flex:1}
.cmd-g{padding:12px 10px 6px;font:600 12px/1 var(--sans);color:var(--soft)}
.cmd-i{display:flex;align-items:center;gap:12px;min-height:46px;padding:8px 12px;border-radius:12px;text-decoration:none;color:var(--ink)}
.cmd-i[aria-selected="true"]{background:var(--hover)}
.cmd-i[aria-selected="true"] .cmd-t{color:var(--plum)}
.cmd-dot{flex:0 0 10px;height:10px;border-radius:3px;background:var(--line-2)}
.cmd-dot[data-tone="blush"]{background:var(--blush)} .cmd-dot[data-tone="sage"]{background:var(--sage)} .cmd-dot[data-tone="butter"]{background:var(--butter)} .cmd-dot[data-tone="plum"]{background:var(--plum)}
.cmd-t{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cmd-s{margin-left:auto;color:var(--soft);font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:50%}
.cmd-none{padding:18px 12px;color:var(--soft)}
.cmd-foot{display:flex;gap:18px;padding:10px 16px;border-top:1px solid var(--line);background:var(--card-2);color:var(--soft);font-size:12px}
.cmd-foot kbd{margin-right:3px}
@media (max-width:520px){.cmd-foot{display:none} dialog.cmd{margin-top:12px}}

/* profile card in the sidebar */
.me-card{display:flex;align-items:center;gap:10px;margin-top:10px;padding:10px;border-radius:14px;background:var(--card-2);border:1px solid var(--line)}
.me-av{display:grid;place-items:center;width:36px;height:36px;border-radius:10px;background:var(--butter-soft);color:var(--butter-ink);border:1px solid var(--butter);font:700 13px/1 var(--display);flex:0 0 auto}
.me-tx{min-width:0;display:grid}
.me-tx b{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.me-tx span{font-size:12px;color:var(--soft)}

/* ---------- Home ---------- */
.home{display:grid;gap:20px}
.k-dot{display:inline-block;width:10px;height:10px;border-radius:3px;background:var(--line-2);flex:0 0 auto}
.k-dot.blush{background:var(--blush)} .k-dot.butter{background:var(--butter)} .k-dot.sage{background:var(--sage)}

/* the Today ribbon: the one bold element */
.today{position:relative;background:var(--card);border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow);padding:22px 24px 18px;overflow:hidden}
.today::before{content:"";position:absolute;inset:0 0 auto 0;height:5px;background:linear-gradient(90deg,var(--blush) 0 33.3%,var(--butter) 33.3% 66.6%,var(--sage) 66.6%)}
.today-h{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:10px 24px;margin-bottom:18px}
.today-h h2{font:800 26px/1 var(--display);letter-spacing:-.03em}
.today-h p{margin-top:6px;color:var(--ink-2)}
.today-key{display:flex;flex-wrap:wrap;gap:6px 16px;list-style:none;margin:0;padding:0;font-size:13px;color:var(--soft)}
.today-key li{display:flex;align-items:center;gap:6px}
.rb-scroll{overflow-x:auto;overflow-y:hidden;margin:0 -8px;padding:0 8px 4px;scrollbar-width:thin}
.rb-scroll:focus-visible{box-shadow:var(--focus);border-radius:12px}
.rb{position:relative;min-width:680px;height:calc(34px + var(--lanes) * 58px + 10px)}
.rb-axis{position:absolute;inset:0}
.rb-tick{position:absolute;top:22px;bottom:0;width:1px;background:var(--line)}
.rb-tick.minor{background:transparent;border-left:1px dashed var(--line)}
.rb-tick i{position:absolute;top:-22px;left:0;transform:translateX(-50%);font:500 12px/1 var(--mono);font-style:normal;color:var(--soft);white-space:nowrap}
.rb-tick:first-child i{transform:none}
.rb-tick:last-child i{transform:translateX(-100%)}
.rb-track{position:absolute;left:0;right:0;top:22px;height:4px;border-radius:4px;background:var(--hover);transform-origin:left;animation:rb-draw .7s cubic-bezier(.2,.7,.2,1) both}
.rb-past{display:block;height:100%;border-radius:4px;background:var(--line-2)}
.rb-marks{list-style:none;margin:0;padding:0}
.rb-m{position:absolute;left:var(--l);width:max(var(--w),172px);top:calc(36px + var(--lane) * 58px);animation:rb-in .45s cubic-bezier(.2,.7,.2,1) both;animation-delay:calc(.35s + var(--i) * 70ms)}
.rb-m a{display:grid;gap:2px;height:50px;padding:7px 10px 7px 12px;border-radius:12px;text-decoration:none;color:#2a1f25;border-left:4px solid;box-shadow:0 1px 2px rgba(31,23,28,.06);transition:transform .15s,box-shadow .15s}
.rb-m a:hover,.rb-m a:focus-visible{transform:translateY(-1px);box-shadow:0 8px 18px -10px rgba(31,23,28,.4)}
.rb-m b{font-size:13px;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rb-m span{font-size:12px;line-height:1.2;opacity:.8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rb-m.blush a{background:var(--blush-soft);border-color:var(--blush);color:var(--blush-ink)}
.rb-m.butter a{background:var(--butter-soft);border-color:var(--butter);color:var(--butter-ink)}
.rb-m.sage a{background:var(--sage-soft);border-color:var(--sage);color:var(--sage-ink)}
.rb-now{position:absolute;top:14px;bottom:0;width:2px;margin-left:-1px;background:var(--plum);border-radius:2px;z-index:2}
.rb-now::before{content:"";position:absolute;top:4px;left:50%;width:12px;height:12px;margin-left:-6px;border-radius:50%;background:var(--plum);box-shadow:0 0 0 4px var(--card)}
.rb-now i{position:absolute;bottom:2px;left:6px;font:600 11px/1 var(--mono);font-style:normal;color:var(--plum);white-space:nowrap;background:var(--card);padding:2px 4px;border-radius:4px}
.rb-anytime{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin-top:14px;padding-top:14px;border-top:1px dashed var(--line-2)}
.rb-any-h{font-size:13px;font-weight:600;color:var(--sage-ink)}
.rb-anytime ul{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:0;padding:0}
.rb-anytime a{display:inline-flex;align-items:center;gap:8px;min-height:36px;padding:4px 12px;border-radius:999px;background:var(--sage-soft);color:var(--sage-ink);font-size:14px;font-weight:600;text-decoration:none}
.rb-anytime a:hover{box-shadow:inset 0 0 0 1px var(--sage)}
.rb-anytime small{font-weight:400;opacity:.8}
@keyframes rb-draw{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes rb-in{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}

/* goals: one band, three meters */
.goals{display:grid;grid-template-columns:1.4fr 1fr 1fr;background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow)}
.goal{display:grid;align-content:start;gap:8px;padding:18px 22px}
.goal + .goal{border-left:1px solid var(--line)}
.g-k{font-size:13px;font-weight:600;color:var(--soft)}
.g-v{font:800 30px/1 var(--display);letter-spacing:-.03em}
.g-v small{font:500 14px var(--sans);letter-spacing:0;color:var(--soft)}
.g-bar{position:relative;display:block;height:10px;border-radius:999px;background:var(--hover);overflow:visible}
.g-bar i{display:block;height:100%;border-radius:999px;background:var(--plum)}
.g-rev .g-bar i{background:linear-gradient(90deg,var(--blush),var(--plum))}
.g-mrr .g-bar i{background:var(--sage)}
.g-bar em{position:absolute;top:-4px;bottom:-4px;width:2px;background:var(--ink-2);opacity:.35;border-radius:2px}
.g-pips{display:flex;gap:6px}
.g-pips i{flex:1;height:10px;border-radius:999px;background:var(--hover)}
.g-pips i.on{background:var(--butter)}
.g-n{font-size:13px;color:var(--soft)}
@media (max-width:900px){.goals{grid-template-columns:1fr}.goal + .goal{border-left:0;border-top:1px solid var(--line)}}

.home-grid{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:20px;align-items:start}
.home-grid > div{display:grid;gap:20px;align-content:start}
.home-grid .card + .card{margin-top:0}
@media (max-width:1100px){.home-grid{grid-template-columns:minmax(0,1fr)}}

/* the Needs you queue */
.q-list{list-style:none;margin:0 -8px;padding:0}
.q-i a{display:grid;grid-template-columns:132px minmax(0,1fr) auto;grid-template-areas:"w t a" "w s a";column-gap:16px;row-gap:2px;align-items:center;padding:12px 8px 12px 14px;border-radius:12px;text-decoration:none;color:var(--ink);position:relative}
.q-i a::before{content:"";position:absolute;left:0;top:12px;bottom:12px;width:4px;border-radius:4px;background:var(--line-2)}
.q-i + .q-i a{box-shadow:inset 0 1px 0 var(--line)}
.q-i a:hover{background:var(--hover)}
.q-w{grid-area:w;font-size:13px;font-weight:600;color:var(--soft)}
.q-t{grid-area:t;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.q-s{grid-area:s;font-size:13px;color:var(--soft);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.q-a{grid-area:a;font-size:14px;font-weight:600;color:var(--plum);padding:8px 12px;border-radius:9px;border:1px solid var(--line-2);white-space:nowrap}
.q-i a:hover .q-a{border-color:var(--plum);background:var(--card)}
.q-i[data-tone="bad"] a::before{background:var(--bad)} .q-i[data-tone="bad"] .q-w{color:var(--bad)}
.q-i[data-tone="blush"] a::before{background:var(--blush)} .q-i[data-tone="plum"] a::before{background:var(--plum)}
.q-i[data-tone="butter"] a::before{background:var(--butter)} .q-i[data-tone="sage"] a::before{background:var(--sage)}
.q-clear{padding:28px 8px 12px;text-align:left}
.q-clear b{font:700 18px/1.3 var(--display)}
.q-clear p{color:var(--soft);margin:6px 0 14px;max-width:52ch}
@media (max-width:640px){.q-i a{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"w a" "t a" "s a"}}

.soon-l,.act-l{list-style:none;margin:0;padding:0}
.soon-l a{display:flex;gap:12px;align-items:flex-start;padding:10px 0;text-decoration:none;color:var(--ink)}
.soon-l li + li a{border-top:1px solid var(--line)}
.soon-l .k-dot{margin-top:5px}
.soon-l b{display:block;font-weight:600}
.soon-l small{display:block;color:var(--soft);font-size:13px}
.soon-l a:hover b{color:var(--plum)}
.act-l li{display:grid;grid-template-columns:1fr auto;gap:2px 12px;padding:10px 0}
.act-l li + li{border-top:1px solid var(--line)}
.act-w{font-weight:600;font-size:14px}
.act-s{grid-column:1;color:var(--soft);font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.act-l time{grid-row:1 / span 2;grid-column:2;font:500 12px/1.6 var(--mono);color:var(--sage-ink)}

/* settings: side menu + panel */
.set-wrap{display:grid;grid-template-columns:240px minmax(0,1fr);gap:24px;align-items:start}
.set-nav{position:sticky;top:88px;display:grid;gap:2px;padding:8px;background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg)}
.set-nav a{display:flex;align-items:center;gap:10px;min-height:42px;padding:8px 12px;border-radius:10px;text-decoration:none;color:var(--ink-2);font-weight:500}
.set-nav a:hover{background:var(--hover);color:var(--ink)}
.set-nav a[aria-current="page"]{background:var(--sage-soft);color:var(--sage-ink);font-weight:600}
.set-list{background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow);overflow:hidden}
.set-list a{display:grid;grid-template-columns:12px minmax(0,1fr) auto;gap:4px 14px;align-items:center;padding:16px 20px;text-decoration:none;color:var(--ink)}
.set-list a + a{border-top:1px solid var(--line)}
.set-list a:hover{background:var(--hover)}
.set-list b{font-weight:600}
.set-list small{grid-column:2;color:var(--soft);font-size:14px}
.set-list .go{grid-row:1 / span 2;grid-column:3;color:var(--plum);font-weight:600;font-size:14px}
@media (max-width:900px){.set-wrap{grid-template-columns:minmax(0,1fr)}.set-nav{position:static;display:flex;overflow-x:auto}.set-nav a{white-space:nowrap}}

@media (prefers-reduced-motion:reduce){.rb-track,.rb-m{animation:none}}
.cmd-in input:focus,.cmd-in input:focus-visible{box-shadow:none;outline:none}

/* ================= milestone 2: work pages ================= */
.sub{display:block;color:var(--soft);font-size:13px;margin-top:2px}
.late{color:var(--bad)!important}
.num.late{font-weight:600}
.plain-btn{background:none;border:0;padding:0;margin:0;cursor:pointer;text-align:left;font:inherit;font-weight:600;color:var(--ink);min-height:28px}
.plain-btn:hover{color:var(--plum);text-decoration:underline}
.plain-btn.is-done{color:var(--soft);text-decoration:line-through}
.tick{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;margin:-12px -6px -12px -10px;cursor:pointer}
.tick input{width:20px;height:20px;accent-color:var(--sage-ink, var(--ok));cursor:pointer}
table.t td.c-tick,table.t th.c-tick{width:44px}
table.t tr.grp th{position:static;background:var(--tone-soft);color:var(--tone-ink);font:600 13px/1.3 var(--sans);letter-spacing:0;text-transform:none;padding:10px 14px;border-bottom:1px solid var(--line)}
table.t tr.grp th span{margin-left:8px;font:500 12px/1 var(--mono);color:var(--soft)}
table.t tbody tr.grp:hover{background:none}
.ph-pills{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.seg-a{display:inline-flex;align-items:center;min-height:40px;padding:0 14px;text-decoration:none;color:var(--ink-2);font-weight:500}
.seg-a + .seg-a{border-left:1px solid var(--line-2)}
.seg-a[aria-current="page"]{background:var(--tone-soft);color:var(--tone-ink);font-weight:600}
.seg-a:hover{color:var(--ink)}
.tab-h{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}
.tab-h h2{font:700 18px/1.2 var(--display);letter-spacing:-.01em}
.stats .stat .v.sm{font-size:22px;line-height:1.25}
.stats{margin-bottom:0}
.row-acts{display:flex;gap:6px;justify-content:flex-end;flex-wrap:wrap}
.small-empty{padding:28px 16px;background:var(--card);border:1px dashed var(--line-2);border-radius:14px}
.sub-h{font:600 14px/1.3 var(--sans);margin:18px 0 6px;color:var(--ink)}
.msg-body{white-space:pre-wrap;background:var(--card-2);border:1px solid var(--line);border-radius:12px;padding:12px 14px;max-width:70ch}
.sec-h{font:700 20px/1.2 var(--display);letter-spacing:-.01em;margin:4px 0 12px}
.f-select.sm{height:36px;min-height:36px;font-size:14px;padding:0 8px}

/* onboarding checklist */
.ob-prog{display:flex;align-items:center;gap:14px;margin-bottom:12px}
.ob-prog .meter{flex:1;margin:0}
.ob-prog .meter i{background:var(--sage)}
.checklist{list-style:none;margin:0;padding:0}
.ck{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:8px;align-items:center;padding:10px 0;border-top:1px solid var(--line)}
.ck:first-child{border-top:0}
.ck .tick{margin:0}
.ck-tx b{display:block;font-weight:600}
.ck-tx small{display:block;color:var(--soft);font-size:13px}
.ck.done .ck-tx b{color:var(--soft);text-decoration:line-through}
.ck.waiting_on_client .ck-tx b::after{content:"Waiting on client";margin-left:8px;font:600 11px/1 var(--sans);padding:3px 8px;border-radius:999px;background:var(--butter-soft);color:var(--butter-ink);vertical-align:middle}
.ck-acts{display:flex;gap:6px;align-items:center}
@media (max-width:560px){.ck{grid-template-columns:44px minmax(0,1fr)}.ck-acts{grid-column:2}}

/* private notes */
.notes{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.notes .card + .card{margin-top:0}
.note-b{white-space:pre-wrap;max-width:75ch}
.note-f{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-top:10px;padding-top:10px;border-top:1px solid var(--line)}

/* calendar */
.cal-bar{gap:10px}
.cal-title{font:700 20px/1.2 var(--display);letter-spacing:-.01em;margin:0 4px}
.cal-keys{display:flex;flex-wrap:wrap;gap:4px 18px;border:0;padding:0;margin:0 0 14px}
.cal-keys .check{gap:8px}
.month{padding:0;overflow:hidden}
.mh-row{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border-bottom:1px solid var(--line);background:var(--card-2)}
.mh-row span{padding:10px 10px;font:500 11px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--soft)}
.mgrid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}
.mc{min-height:118px;padding:6px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-width:0;position:relative}
.mc:nth-child(7n){border-right:0}
.mc.out{background:var(--card-2)} .mc.out .mc-d{color:var(--soft)}
.mc.sel{background:var(--tone-soft)}
.mc-d{display:inline-grid;place-items:center;min-width:32px;height:32px;border-radius:999px;border:0;background:none;cursor:pointer;font:600 14px/1 var(--sans);color:var(--ink)}
.mc-d:hover{background:var(--hover)}
.mc.is-today .mc-d{background:var(--plum);color:var(--plum-ink)}
.mc-ev{display:grid;gap:3px;margin-top:4px}
.ev{display:flex;align-items:center;gap:6px;width:100%;min-width:0;min-height:24px;padding:2px 6px;border-radius:7px;border:0;background:var(--card);cursor:pointer;text-decoration:none;color:var(--ink);font:500 12px/1.3 var(--sans);text-align:left}
.ev:hover{background:var(--hover);color:var(--plum)}
.ev .k-dot{flex:0 0 auto}
.ev-t{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.ev b{font:500 11px/1 var(--mono);color:var(--soft)}
.ev.off .ev-t{text-decoration:line-through;color:var(--soft)}
.ev.more{color:var(--plum);font-weight:600}
.mc-dots{display:none}
@media (max-width:760px){
  .mc{min-height:56px;padding:4px;text-align:center}
  .mc-ev{display:none}
  .mc-dots{display:flex;justify-content:center;gap:3px;margin-top:2px}
  .mc-dots .k-dot{width:6px;height:6px}
  .mc-d{min-width:40px;height:40px}
  .mh-row span{text-align:center;padding:8px 2px}
}
.day-list{margin-top:16px}
.agenda{list-style:none;margin:0;padding:0}
.agenda li + li{border-top:1px solid var(--line)}
.ag-i{display:grid;grid-template-columns:10px 72px minmax(0,1fr);gap:12px;align-items:start;width:100%;padding:10px 0;border:0;background:none;text-align:left;text-decoration:none;color:var(--ink);cursor:pointer;font:inherit}
.ag-i .k-dot{margin-top:6px}
.ag-time{font-size:13px;color:var(--soft);padding-top:1px}
.ag-tx b{display:block;font-weight:600}
.ag-tx small{display:block;color:var(--soft);font-size:13px}
.ag-i:hover b{color:var(--plum)}
.ag-i.off b{text-decoration:line-through;color:var(--soft)}
.agenda.compact .ag-i{grid-template-columns:10px minmax(0,1fr);gap:8px}
.agenda.compact .ag-time{display:none}
.ag-day h2{font:700 16px/1.3 var(--display);margin-bottom:6px}
.week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}
.wk-d{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:10px;min-width:0;min-height:160px}
.wk-d.is-today{border-color:var(--plum);box-shadow:inset 0 3px 0 var(--plum)}
.wk-d h3{display:flex;align-items:baseline;gap:6px;font:500 11px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--soft);margin-bottom:6px}
.wk-d h3 b{font:800 20px/1 var(--display);letter-spacing:-.02em;color:var(--ink)}
.wk-d .add-on{min-height:36px;font-size:13px}
@media (max-width:1100px){.week{grid-template-columns:repeat(auto-fill,minmax(min(100%,220px),1fr))}.wk-d{min-height:0}}

/* documents */
.preview{padding:12px}
.pv-box{display:grid;place-items:center;min-height:360px;background:var(--card-2);border-radius:12px;overflow:hidden}
.pv-box img{max-width:100%;max-height:70vh;object-fit:contain}
.pv-box object{width:100%;height:70vh;border:0}
.versions{list-style:none;margin:0;padding:0}
.versions li{display:grid;grid-template-columns:40px minmax(0,1fr);gap:10px;padding:8px 0;border-top:1px solid var(--line)}
.versions li:first-child{border-top:0}
.versions li[aria-current] .num{color:var(--plum);font-weight:600}

/* agreements */
.tpl-list{list-style:none;margin:0;padding:0}
.tpl-list li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 12px;align-items:center;padding:12px 0;border-top:1px solid var(--line)}
.tpl-list li:first-child{border-top:0}
.tpl-list a{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px;text-decoration:none;color:var(--ink)}
.tpl-list a:hover b{color:var(--plum)}
.tpl-list .mono{color:var(--soft)}
.tpl-list .muted{grid-column:1 / -1}
.doc-paper{padding:clamp(20px,4vw,44px);max-width:none}
.md{max-width:72ch;font-size:15px;line-height:1.65;color:var(--ink)}
.md h2{font:800 26px/1.15 var(--display);letter-spacing:-.02em;margin:0 0 16px}
.md h3{font:700 18px/1.3 var(--display);margin:22px 0 8px}
.md h4{font:700 15px/1.3 var(--sans);margin:18px 0 6px}
.md p{margin:0 0 12px}
.md ul,.md ol{margin:0 0 12px;padding-left:22px}
.md li{margin:4px 0}
.md li.md-cb{list-style:none;margin-left:-22px;display:flex;gap:10px;align-items:baseline}
.md .box{display:inline-grid;place-items:center;flex:0 0 18px;width:18px;height:18px;border:1.5px solid var(--line-2);border-radius:4px;font-size:12px;transform:translateY(3px)}
.md-t{overflow-x:auto;margin:6px 0 16px}
.md table{border-collapse:collapse;min-width:min(100%,420px);font-size:14px}
.md th,.md td{border:1px solid var(--line);padding:8px 10px;text-align:left;vertical-align:top}
.md thead th{background:var(--card-2);font-weight:600}
.md tbody th{font-weight:600;color:var(--ink-2);background:var(--card-2)}
@media print{
  body.adm-body .side,body.adm-body .top,body.adm-body .mbar,body.adm-body .crumbs,body.adm-body .ph .acts,body.adm-body .practice-bar,body.adm-body .split > div:last-child,.no-print{display:none!important}
  body.adm-body .adm{display:block} body.adm-body .split{display:block} body.adm-body .doc-paper{border:0;box-shadow:none;padding:0}
  body.adm-body .ph{border:0} body.adm-body .ph::after{display:none}
}
/* the public site's .board/.col (homepage illustration) must not leak into admin boards */
body.adm-body .board{position:static;inset:auto;background:none;border:0;border-radius:0;box-shadow:none;padding:0 0 8px;display:grid;flex-direction:initial;gap:12px}
body.adm-body .col{display:block;background:var(--card-2);border:1px solid var(--line);border-radius:14px;padding:10px;gap:0}
/* client page has many tabs: wrap them on wide screens instead of hiding some off to the side */
@media (min-width:901px){.tabs{flex-wrap:wrap;overflow:visible}}
.grid.g4.stats{grid-template-columns:repeat(auto-fit,minmax(min(100%,150px),1fr))}
@media (max-width:520px){.stats .stat{padding:14px 16px}.stats .stat .v{font-size:24px}.stats .stat .v.sm{font-size:18px}}

/* ================= milestone 3: money pages ================= */
.li-in{width:100%;min-height:40px;padding:8px 10px;border:1px solid var(--line-2);border-radius:9px;background:var(--card);color:var(--ink);font:400 14px/1.3 var(--sans)}
.li-in:focus{outline:none;border-color:var(--plum);box-shadow:var(--focus)}
.li-q{max-width:72px;text-align:right}.li-u{max-width:120px;text-align:right}
table.t.items td{vertical-align:middle}
table.t.items td:first-child{min-width:220px}
.li-add{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}
.li-add .f-select{min-width:min(100%,280px)}
.tot-kv{grid-template-columns:1fr auto}
.tot-kv dd{text-align:right}
.big-n{font:800 26px/1.1 var(--display);letter-spacing:-.02em}
.timer-card{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px}
.timer-card.on{background:var(--sage-soft);border-color:transparent}
.tm-l{display:flex;align-items:center;gap:14px;min-width:0}
.tm-l > div{display:grid;gap:2px}
.tm-l b{font-weight:600}
.tm-clock{font:800 30px/1 var(--display)!important;letter-spacing:-.02em}
.tm-dot{width:12px;height:12px;border-radius:50%;background:var(--ok);box-shadow:0 0 0 4px var(--ok-bg);flex:0 0 auto}
@media (prefers-reduced-motion:no-preference){.tm-dot{animation:tmPulse 2s ease-in-out infinite}@keyframes tmPulse{50%{opacity:.45}}}
.timer-card .tm-l > .muted{display:block}
.hours-l{list-style:none;margin:0;padding:0;display:grid;gap:14px}
.hl-h{display:flex;justify-content:space-between;gap:10px;margin-bottom:6px}
.hours-l .meter{margin-top:0}
.hours-l .meter i{background:var(--sage)}
.hours-l .meter.over i{background:var(--bad)}
.cat-bars{list-style:none;margin:12px 0 0;padding:0;display:grid;gap:10px}
.cat-bars li{display:grid;grid-template-columns:120px minmax(0,1fr) 90px;gap:12px;align-items:center}
.cat-bars .meter{margin:0}.cat-bars .meter i{background:var(--butter)}
.cat-bars .num{text-align:right}
.mileage{background:var(--card-2);border:1px solid var(--line);border-radius:12px;padding:12px}
/* printable quote and invoice */
.paper{max-width:860px;margin:0 auto;padding:clamp(24px,5vw,56px)}
.paper-h{display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px;align-items:flex-start;padding-bottom:20px;border-bottom:2px solid var(--ink)}
.paper-h .lc-brand{font:700 20px/1 var(--display);color:var(--ink)}
.paper-from{color:var(--soft);font-size:13px;text-align:right}
.paper-meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px;margin:22px 0}
.paper-meta .k{display:block;font:500 11px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--soft);margin-bottom:6px}
.paper-meta small{display:block;color:var(--soft)}
.paper-t{font:800 26px/1.15 var(--display);letter-spacing:-.02em;margin:8px 0}
.paper-intro{color:var(--ink-2);max-width:65ch;margin-bottom:14px}
.paper-items{width:100%;border-collapse:collapse;margin:14px 0}
.paper-items th{font:500 11px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--soft);text-align:left;padding:10px 8px;border-bottom:1px solid var(--line-2)}
.paper-items td{padding:12px 8px;border-bottom:1px solid var(--line)}
.paper-items .r{text-align:right}
.paper-tot{display:grid;grid-template-columns:1fr auto;gap:8px 24px;max-width:340px;margin:8px 0 18px auto}
.paper-tot dd{margin:0;text-align:right}.paper-tot .big{font-weight:700;font-size:18px}
.paper-sub{font:700 16px/1.3 var(--display);margin-top:20px}
.paper-terms{color:var(--ink-2);white-space:pre-wrap;max-width:70ch}
@media print{body.adm-body .paper{border:0;box-shadow:none;max-width:none;padding:0}}
.hours-l .meter,.cat-bars .meter{display:block;height:8px}
.hours-l .meter i,.cat-bars .meter i{height:100%}
.tm-l.tm-off{flex-direction:column;align-items:flex-start;gap:2px}
@media (max-width:520px){.cat-bars li{grid-template-columns:minmax(0,1fr) auto}.cat-bars .meter{grid-column:1 / -1;grid-row:2}}

/* ================= milestone 4: projects, support, systems, client login ================= */
.stages{list-style:none;margin:0;padding:0;display:flex;gap:4px;counter-reset:st}
.stages li{flex:1;position:relative;min-width:0}
.stages li span,.stages li button{display:flex;align-items:center;justify-content:center;min-height:40px;padding:6px 10px;border-radius:10px;background:var(--hover);color:var(--soft);font:600 13px/1.2 var(--sans);text-align:center;border:0;width:100%}
.stages li button{cursor:pointer}.stages li button:hover:not(:disabled){color:var(--ink);background:var(--line)}
.stages li.done span,.stages li.done button{background:var(--sage-soft);color:var(--sage-ink)}
.stages li.now span,.stages li.now button{background:var(--plum);color:var(--plum-ink)}
.stages.wide{margin-bottom:18px}
.stages.wide li button{min-height:44px}
@media (max-width:640px){.stages{flex-wrap:wrap}.stages li{flex:1 1 30%}}
.proj .stages{margin-top:6px}
body.portal{background:var(--bg)}
.p-in{max-width:1180px;margin:0 auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
.p-top{background:var(--card);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}
.p-top > .p-in{display:flex;align-items:center;gap:14px;min-height:64px;flex-wrap:wrap}
.p-top .lc-brand{display:flex;align-items:center;gap:10px;font:700 17px/1 var(--display);text-decoration:none;color:var(--ink)}
.p-top .lc-brand .lc-mark{width:32px;height:32px;font-size:12px}
.p-biz{font-weight:600;color:var(--ink-2);padding-left:14px;border-left:1px solid var(--line)}
.p-top .f-select{max-width:260px}
@media (max-width:600px){.p-who{display:none}}
.p-nav{border-top:1px solid var(--line)}
.p-nav .p-in{display:flex;gap:2px;overflow-x:auto;scrollbar-width:thin}
.p-nav a{flex:0 0 auto;display:inline-flex;align-items:center;gap:6px;min-height:46px;padding:0 12px;text-decoration:none;color:var(--ink-2);font-weight:500;border-bottom:2px solid transparent}
.p-nav a:hover{color:var(--ink)}
.p-nav a[aria-current="page"]{color:var(--plum);border-bottom-color:var(--plum);font-weight:600}
.p-main{padding:28px 0 56px}
.p-main:focus{outline:none}
.p-h{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px;margin-bottom:18px}
.p-h h1{font:800 clamp(26px,3.2vw,36px)/1.1 var(--display);letter-spacing:-.03em}
.p-h p{margin-top:6px}
.p-foot{border-top:1px solid var(--line);padding:18px 0 28px;background:var(--card)}
.preview-bar{background:var(--sage-soft);color:var(--sage-ink)}
.preview-bar a{color:inherit;font-weight:600}
.ck-ic{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:50%;border:1.5px solid var(--line-2);margin:0 8px;color:var(--ok);font-weight:700}
.ck.done .ck-ic{background:var(--ok-bg);border-color:var(--ok)}
/* client login: fill the window so the page color reaches the bottom */
body.adm-body.portal { min-height: 100vh; min-height: 100dvh; display: flex; flex-direction: column; }
body.adm-body.portal .p-main { flex: 1 0 auto; width: 100%; }
body.adm-body.portal .p-foot { margin-top: auto; }
@media (max-width: 600px) { body.adm-body.portal .tw td { white-space: normal; } body.adm-body.portal .tw td.r, body.adm-body.portal .tw td .num { white-space: nowrap; } }
/* milestone 5: prospects, referrals, reports, Eli */
.row-edit{margin-left:8px;vertical-align:middle}
td .row-edit:only-child{margin-left:0}
.empty-acts{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:14px}
.empty-acts .b{margin-top:0}
.apprs{display:inline-flex;flex-wrap:wrap;gap:4px}
.appr{display:inline-flex;align-items:center;min-height:24px;padding:0 8px;border-radius:999px;font:500 11.5px/1 var(--mono);letter-spacing:.02em;border:1px dashed var(--line-2);color:var(--soft)}
.appr.on{border-style:solid;border-color:transparent;background:var(--ok-bg);color:var(--ok)}
.appr-list{display:grid;gap:12px}
.appr-list .check{align-items:flex-start;min-height:44px}
.appr-list .check input{margin-top:3px}
.appr-list .dnc{padding-top:12px;border-top:1px solid var(--line)}
ol.calls{list-style:none;margin:12px 0 0;padding:0;display:grid;gap:0}
ol.calls li{padding:12px 0;border-top:1px solid var(--line);display:grid;gap:4px}
ol.calls li:first-child{border-top:0;padding-top:0}
.c-top{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between}
.quote{display:block;font-style:italic;max-width:60ch;color:var(--ink)}
.num.late{color:var(--bad)}
.rep-bar{margin-bottom:14px;align-items:center}
.seg a.segb{display:inline-flex;align-items:center;min-height:44px;padding:0 12px;text-decoration:none;color:var(--ink-2);font-weight:500}
.seg a.segb+a.segb{border-left:1px solid var(--line-2)}
.seg a.segb[aria-current="true"]{background:var(--plum-soft);color:var(--plum);font-weight:600}
.rep-bar input[type=date]{width:auto;min-width:0}
.rep-range{margin:0 0 14px}
.rep-stats{margin-bottom:16px}
.card.rep{margin-bottom:16px}
.rep-chart{margin:14px 0 16px}
.vchart{position:relative;overflow-x:auto;padding-top:14px}
.vchart svg{display:block;width:100%;min-width:280px;height:204px}
.vchart .grid{stroke:var(--line);stroke-width:1}
.vchart .base{stroke:var(--line-2);stroke-width:1}
.vchart text{fill:var(--soft);font:500 11px var(--mono)}
.vchart .vmax{position:absolute;top:0;left:0;font-size:11px;color:var(--soft)}
.vchart g:hover path{opacity:.8}
.tone-plum{fill:var(--plum);background:var(--plum)}
.tone-sage{fill:var(--mk-sage);background:var(--mk-sage)}
.tone-butter{fill:var(--mk-butter);background:var(--mk-butter)}
.tone-blush{fill:var(--mk-blush);background:var(--mk-blush)}
body.adm-body{--mk-sage:#3d8a4f;--mk-butter:#a0780f;--mk-blush:#c45f86}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) body.adm-body{--mk-sage:#7cc58a;--mk-butter:#d9b956;--mk-blush:#e08aab}}
:root[data-theme="dark"] body.adm-body{--mk-sage:#7cc58a;--mk-butter:#d9b956;--mk-blush:#e08aab}
.hbars{display:grid;gap:8px}
.hb{display:grid;grid-template-columns:minmax(90px,180px) 1fr auto;gap:12px;align-items:center}
.hb-l{font-size:13.5px;color:var(--ink-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hb-t{height:14px;border-radius:0 4px 4px 0;background:var(--line);overflow:hidden}
.hb-t i{display:block;height:100%;border-radius:0 4px 4px 0;min-width:2px}
.hb-v{font-size:13px;min-width:48px;text-align:right}
@media (max-width:520px){.hb{grid-template-columns:96px 1fr auto;gap:8px}}
ol.steps-n{margin:12px 0 0;padding-left:22px;display:grid;gap:10px}
ol.steps-n li{padding-left:4px;line-height:1.55}
ul.bul{margin:10px 0 0;padding-left:20px;display:grid;gap:6px;line-height:1.55}
fieldset.kinds{border:0;padding:0;margin:14px 0 0;display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:4px 16px}
fieldset.kinds legend{font-weight:600;margin-bottom:6px;padding:0}
fieldset.kinds .check{min-height:40px}
article.draft{padding:14px 0;border-top:1px solid var(--line);display:grid;gap:8px}
article.draft:first-child{border-top:0;padding-top:4px}
article.draft textarea{width:100%;font:inherit;line-height:1.55}
.vchart svg{height:180px}
.vchart .vlabels{display:grid;gap:2px;margin-top:6px;min-width:280px}
.vchart .vlabels span{text-align:center;font:500 11px/1.2 var(--mono);color:var(--soft);white-space:nowrap;overflow:hidden}
.vchart rect[class^="tone-"]{rx:3px}
.appr{white-space:nowrap}
