*{box-sizing:border-box}
[hidden]{display:none!important}
html,body{background:var(--bg)}
body{color:var(--ink);font-family:var(--body);font-size:15px;line-height:1.5;padding:0 16px;padding-block:14px 40px}
.wrap{max-width:1280px;margin:0 auto;display:flex;flex-direction:column;gap:14px}
button,select{font:inherit;cursor:pointer}
button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,tr:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
h1,h2,h3,h4{font-family:var(--display);margin:0;text-wrap:balance;letter-spacing:-.01em}
p{margin:0}
.eyebrow{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3)}
.num{font-family:var(--mono);font-variant-numeric:tabular-nums}

.top{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 20px;background:var(--metal);color:var(--on-metal);border-radius:16px;padding:12px 16px;box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 1px 2px rgba(0,0,0,.2)}
.top .eyebrow{color:var(--gold-flat)}
.top .status{color:#C9C7C0}
.top .btn{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.2);color:var(--on-metal)}
.top .btn.ghost{background:transparent;border-color:transparent;color:var(--on-metal)}
.brand{display:flex;align-items:center;gap:12px}
.mark{width:46px;height:46px;border-radius:12px;background:#17181A;border:1px solid rgba(212,175,55,.55);display:grid;place-items:center;font-family:var(--display);font-weight:700;font-size:15px;letter-spacing:.04em;flex:none}
.mark span{font-family:"Cinzel","Trajan Pro",Georgia,"Times New Roman",serif;font-weight:600;letter-spacing:.08em;padding:0 0 2px .08em;border-bottom:1.5px solid #CFCEC9;background:var(--gold);-webkit-background-clip:text;background-clip:text;color:#CFCEC9;-webkit-text-fill-color:transparent;line-height:1.1}
.brand-name{font-family:"Cinzel","Trajan Pro",Georgia,"Times New Roman",serif;font-weight:600;letter-spacing:.03em}
.top h1{font-size:28px;line-height:1.1}
.top-r{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.fine-btn{background:none;border:0;padding:0;margin:0;font:inherit;color:var(--link,#2563eb);text-decoration:underline;cursor:pointer}
.jk-src{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:8px;padding-top:8px;border-top:1px solid var(--line)}
.fine-btn:hover{opacity:.75}
.qref{gap:12px;border:1px solid var(--line);border-radius:14px;padding:14px;background:var(--card);box-shadow:0 10px 30px rgba(0,0,0,.18)}
#qrBtn[aria-expanded="true"],#setupBtn[aria-expanded="true"]{background:var(--ink);color:var(--card);border-color:var(--ink)}
.qref .fu-item input[type=checkbox]{width:20px;height:20px;cursor:pointer;flex:0 0 auto}
table.dash.comp input[type=date]{max-width:148px}
table.dash.comp td{vertical-align:top}
table.dash.comp .comp-miss{max-width:300px}
details.lib-add > summary{list-style:none}
details.lib-add > summary::-webkit-details-marker{display:none}
details.lib-add > summary::before{content:"+ ";font-weight:600;color:var(--link,#2563eb)}
details.lib-add[open] > summary::before{content:"\2212 "}
table.dash tr.row-future td{opacity:.55}
table.dash td.good{color:var(--good)} table.dash td.bad{color:var(--bad)}
.status{font-size:13px;color:var(--ink-3)}
.seg{display:inline-flex;flex-wrap:wrap;border:1px solid var(--line);border-radius:999px;padding:3px;background:var(--surface);gap:2px}
.seg button{border:0;background:transparent;color:var(--ink-2);padding:5px 12px;border-radius:999px;font-weight:600;font-size:13px}
.seg button[aria-pressed="true"]{background:var(--metal);color:var(--gold-flat)}
.tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);overflow-x:auto}
.tabs button{border:0;background:none;padding:8px 14px;font-weight:600;color:var(--ink-2);border-bottom:3px solid transparent;margin-bottom:-1px;white-space:nowrap}
.tabs button[aria-selected="true"]{color:var(--ink);border-bottom-color:var(--route)}
.tabs .sm{display:none}
.tabs .badge{display:inline-block;min-width:18px;padding:0 5px;margin-left:6px;border-radius:9px;background:var(--route-soft);color:var(--route);font-size:11px;font-family:var(--mono)}

.route{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:12px 14px;overflow-x:auto}
.route ol{list-style:none;margin:0;padding:0;display:flex;min-width:640px}
.route li{flex:1;position:relative}
.route li::before{content:"";position:absolute;top:11px;left:0;right:0;height:2px;background:var(--line)}
.route li:first-child::before{left:50%}
.route li:last-child::before{right:50%}
.route li.done::before{background:var(--accent)}
.route button{position:relative;display:flex;flex-direction:column;align-items:center;gap:4px;width:100%;border:0;background:none;color:var(--ink-2);padding:0;font-size:12.5px;font-weight:600}
.dot{width:24px;height:24px;border-radius:50%;border:2px solid var(--line);background:var(--surface);display:grid;place-items:center;font-family:var(--mono);font-size:11px;color:var(--ink-3)}
.route li.done .dot{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}
.route li.here .dot{border-color:var(--route);background:var(--route-soft);color:var(--route);box-shadow:0 0 0 4px var(--route-soft)}
.route li.here button{color:var(--ink)}

.mobile-tabs{display:none}
.work{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:14px;align-items:start}
@media (max-width:900px){
  .work{grid-template-columns:minmax(0,1fr)}
  .mobile-tabs{display:flex}
  .work[data-show="coach"] .sheet{display:none}
  .work[data-show="plan"] .coach{display:none}
}
.coach{background:var(--surface);border:1px solid var(--line);border-radius:14px;display:flex;flex-direction:column;position:sticky;top:calc(env(safe-area-inset-top,0px) + 10px);max-height:calc(100vh - 40px);min-height:480px}
@media (max-width:900px){.coach{position:static;max-height:none;min-height:0}}
.coach-h{padding:14px 16px 10px;border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:2px}
.coach-h h2{font-size:19px}
.thread{flex:1;overflow-y:auto;padding:14px 16px;display:flex;flex-direction:column;gap:10px;min-height:260px}
@media (max-width:900px){.thread{max-height:62vh}}
.msg{max-width:88%;padding:9px 12px;border-radius:12px;white-space:pre-wrap;overflow-wrap:anywhere}
.msg.a{background:var(--surface-2);align-self:flex-start;border-top-left-radius:4px}
.msg.u{background:var(--accent);color:var(--accent-ink);align-self:flex-end;border-top-right-radius:4px}
.msg.wait{color:var(--ink-3);font-style:italic}
.divider{display:flex;align-items:center;gap:8px;color:var(--route);font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;margin-top:6px}
.divider::before,.divider::after{content:"";flex:1;height:1px;background:var(--line)}
.qlist{margin:0;padding-left:18px;color:var(--ink-2)}
.composer{border-top:1px solid var(--line);padding:10px 12px;display:flex;flex-direction:column;gap:8px}
.composer textarea{width:100%;min-height:64px;resize:vertical;border:1px solid var(--line);border-radius:10px;padding:9px 11px;font:inherit;background:var(--bg);color:var(--ink)}
.row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.spacer{flex:1}
.note{font-size:13px;color:var(--ink-3)}
.note.err{color:var(--danger)}
.btn{border:1px solid var(--line);background:var(--surface);color:var(--ink);padding:7px 14px;border-radius:9px;font-weight:600;font-size:14px}
.btn:hover{border-color:var(--ink-3)}
.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}
.btn.ghost{border-color:transparent;background:transparent;color:var(--ink-2)}
.btn:disabled{opacity:.5;cursor:not-allowed}
.btn.sm{padding:4px 10px;font-size:13px}

.sheet{display:flex;flex-direction:column;gap:14px;min-width:0}
.card{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:16px;display:flex;flex-direction:column;gap:12px;min-width:0}
.card-h{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
.card-h h3{font-size:18px}
.tag{font-family:var(--display);font-weight:700;font-size:13px;width:26px;height:26px;border-radius:7px;display:inline-grid;place-items:center;background:var(--metal);color:var(--gold-flat);flex:none}
.card-h .sub{color:var(--ink-3);font-size:13px}
.banner{background:var(--route-soft);border:1px solid var(--route);border-radius:14px;padding:12px 14px;display:flex;gap:10px 14px;align-items:center;flex-wrap:wrap}
.banner p{flex:1;min-width:220px}
.fine{font-size:12.5px;color:var(--ink-3);border-left:3px solid var(--line);padding:4px 10px}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px}
.fld{display:flex;flex-direction:column;gap:3px;min-width:0}
.fld-l{font-size:12px;font-weight:600;color:var(--ink-2)}
.fld-in{display:flex;align-items:center;border:1px solid var(--line);border-radius:8px;background:var(--bg);padding:0 9px;min-width:0}
.fld-in:focus-within{border-color:var(--accent)}
.fld-in i{font-style:normal;color:var(--ink-3);font-family:var(--mono);font-size:13px}
.fld-in input,.fld-in select{border:0;background:transparent;color:var(--ink);font:inherit;padding:7px 4px;width:100%;min-width:0}
.fld-in input:focus-visible,.fld-in textarea:focus-visible,.fld-in select:focus-visible{outline:none}
.fld-in textarea{border:0;background:transparent;color:var(--ink);font:inherit;padding:6px 4px;width:100%;min-width:0;resize:none;field-sizing:content;min-height:2.4em;line-height:1.35}
.fld-in.area{align-items:flex-start}
.fld-in.money input,.fld-in.pct input,.fld-in.int input{font-family:var(--mono);font-size:14px}
input:disabled,textarea:disabled{color:var(--ink-2)}
.readout{display:flex;flex-wrap:wrap;gap:6px 18px;align-items:baseline;padding:10px 12px;border-radius:10px;background:var(--accent-soft)}
.readout b{font-family:var(--mono);font-size:24px;font-weight:500;color:var(--ink)}
.readout span{color:var(--ink-2);font-size:13px}
.tbl-wrap{overflow-x:auto}
table{border-collapse:collapse;width:100%;min-width:440px;font-size:14px}
th,td{text-align:left;padding:7px 8px;border-bottom:1px solid var(--line);vertical-align:middle}
th{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);font-weight:700;white-space:nowrap}
td.r,th.r{text-align:right}
tr.total td{font-weight:700;border-bottom:0}
.bar{height:6px;border-radius:3px;background:var(--surface-2);overflow:hidden;min-width:60px}
.bar>div{height:100%;background:var(--accent)}
.facts{display:flex;flex-wrap:wrap;gap:6px 18px;font-size:13.5px;color:var(--ink-2)}
.facts b{color:var(--ink);font-family:var(--mono);font-weight:500}
.goalstrip{border:2px solid var(--route);border-radius:12px;padding:10px 14px;display:flex;justify-content:space-between;gap:6px 16px;flex-wrap:wrap;align-items:baseline}
.goalstrip strong{font-family:var(--display);font-size:20px}
.cols{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
@media (max-width:1100px){.cols{grid-template-columns:minmax(0,1fr)}}
.col{border:1px solid var(--line);border-radius:12px;padding:10px;display:flex;flex-direction:column;gap:8px;background:var(--bg)}
.col-h{display:flex;align-items:center;gap:8px}
.col .tag{background:var(--accent);color:var(--accent-ink)}
.strat{display:flex;gap:6px;align-items:center}
.strat .n{font-family:var(--mono);font-size:12px;color:var(--ink-3);width:22px;flex:none}
.strat .fld{flex:1}
.lane{display:flex;flex-direction:column;gap:8px}
.items{display:flex;flex-direction:column;gap:6px}
.item{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,1.2fr) minmax(0,1.2fr) auto;gap:6px;align-items:end}
.ms{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,3fr) auto;gap:6px;align-items:end}
@media (max-width:560px){.item{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto}.item .fld:first-child{grid-column:1/-1}}
.x{border:0;background:none;color:var(--ink-3);font-size:18px;line-height:1;padding:6px 6px}
.x:hover{color:var(--danger)}
.lanes{display:grid;grid-template-columns:minmax(0,1fr);gap:16px}
.lane h4{font-size:15px}
.empty{color:var(--ink-3);font-size:13.5px}
.pill{display:inline-block;padding:2px 9px;border-radius:999px;font-size:12px;font-weight:700;background:var(--surface-2);color:var(--ink-2);white-space:nowrap}
.pill.good{background:var(--good-soft);color:var(--good)}
.pill.warn{background:var(--warn-soft);color:var(--warn)}
.pill.bad{background:var(--bad-soft);color:var(--bad)}
.pill.soon{background:var(--warn-soft);color:var(--warn)}
.pill.today{background:var(--warn-solid);color:var(--status-ink)}
.pill.late{background:var(--bad-solid);color:var(--status-ink)}
.fu-item.late{border-color:var(--bad)}
.has-mic{display:flex;align-items:center;gap:8px}
.mic-inline{margin-left:auto;padding:1px 8px;font-size:11px;font-weight:600;flex:none}
.kpi.band-bad{border-color:var(--bad);background:var(--bad-soft)}
.kpi.band-warn{border-color:var(--warn);background:var(--warn-soft)}
.kpi.band-good{border-color:var(--good);background:var(--good-soft)}
.pill.sub{background:var(--accent-soft);color:var(--accent)}
.foot{display:flex;flex-wrap:wrap;gap:8px;align-items:center}

/* progress */
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}
.kpi.bad{border-color:var(--bad);background:var(--bad-soft)}
.kpi{border:1px solid var(--line);border-radius:12px;padding:10px 12px;background:var(--surface);display:flex;flex-direction:column;gap:2px;min-width:0}
.kpi b{font-family:var(--mono);font-weight:500;font-size:22px}
.kpi span{font-size:12.5px;color:var(--ink-3)}
.pace{position:relative;height:10px;border-radius:5px;background:var(--surface-2);min-width:110px}
.pace .fill{position:absolute;left:0;top:0;bottom:0;border-radius:5px;background:var(--accent)}
.pace .pend{position:absolute;top:0;bottom:0;background:repeating-linear-gradient(45deg,var(--accent) 0 3px,transparent 3px 6px);opacity:.6}
.pace .tick{position:absolute;top:-3px;bottom:-3px;width:2px;background:var(--ink)}
.legend{display:flex;flex-wrap:wrap;gap:4px 14px;font-size:12px;color:var(--ink-3);align-items:center}
.legend i{display:inline-block;width:14px;height:8px;border-radius:2px;margin-right:4px;vertical-align:middle}
.sugg{display:flex;flex-direction:column;gap:8px}
.sg{border:1px solid var(--line);border-radius:12px;padding:10px 12px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 12px;background:var(--bg)}
.sg.done{opacity:.6}
.sg h4{font-size:15px}
.sg .meta{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.sg .acts{display:flex;flex-direction:column;gap:6px;align-items:stretch;min-width:150px}
@media (max-width:620px){.sg{grid-template-columns:minmax(0,1fr)}.sg .acts{flex-direction:row;flex-wrap:wrap}}
.signals{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.signals li{display:flex;gap:10px;align-items:flex-start;padding:8px 10px;border-radius:10px;background:var(--bg);border:1px solid var(--line)}
.sev{width:8px;height:8px;border-radius:50%;margin-top:7px;flex:none;background:var(--ink-3)}
.sev.bad{background:var(--bad)} .sev.warn{background:var(--warn)} .sev.good{background:var(--good)}
.cov{display:flex;gap:3px}
.cov i{width:12px;height:12px;border-radius:3px;background:var(--surface-2);border:1px solid var(--line)}
.cov i.on{background:var(--accent);border-color:var(--accent)}
.two{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px;align-items:start}
@media (max-width:980px){.two{grid-template-columns:minmax(0,1fr)}}
.check{display:flex;gap:8px;align-items:flex-start;font-size:14px}
.check input{margin-top:4px}
.note-box{white-space:pre-wrap;background:var(--accent-soft);border-radius:10px;padding:10px 12px}
.ai-out{white-space:pre-wrap;background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:10px 12px;min-height:60px;width:100%;font:inherit;color:var(--ink);resize:vertical}
.dash tbody tr{cursor:pointer}
.dash tbody tr:hover td{background:var(--surface-2)}
.dash tr.sel td{background:var(--accent-soft)}
.mini{display:flex;gap:10px;flex-wrap:wrap;font-family:var(--mono);font-size:12px;color:var(--ink-2)}
.mini b{font-weight:500;color:var(--ink)}
.drop{border:2px dashed var(--line);border-radius:12px;padding:18px;text-align:center;color:var(--ink-2);display:flex;flex-direction:column;gap:8px;align-items:center}
.drop.over{border-color:var(--accent);background:var(--accent-soft)}
.map{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px}
.src{display:flex;gap:6px;flex-wrap:wrap}
.chk-list{display:flex;flex-wrap:wrap;gap:6px 14px}
.steppers{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px 14px}
.stepper{display:flex;flex-direction:column;gap:4px}
.step-row{display:flex;align-items:stretch;border:1px solid var(--line);border-radius:10px;background:var(--bg);overflow:hidden}
.step-row input{flex:1;min-width:0;border:0;background:transparent;color:var(--ink);text-align:center;font-family:var(--mono);font-size:18px;padding:8px 0;-moz-appearance:textfield}
.step-row input::-webkit-outer-spin-button,.step-row input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.step{border:0;background:var(--surface-2);color:var(--ink);width:48px;font-size:22px;line-height:1}
.step.plus{background:var(--accent);color:var(--accent-ink)}
.step:active{filter:brightness(.92)}
.charts{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px}
.chart{margin:0;display:flex;flex-direction:column;gap:4px}
.funnel{display:flex;align-items:center;gap:4px;flex-wrap:wrap}
.fn-step{display:flex;flex-direction:column;align-items:center;padding:8px 12px;border-radius:10px;background:var(--accent-soft);min-width:78px}
.fn-step b{font-size:20px;font-weight:500}
.fn-step span{font-size:12px;color:var(--ink-2)}
.fn-conv{font-family:var(--mono);font-size:12px;color:var(--ink-3);padding:0 2px}
.fn-conv::before{content:"→ "}
.fu-form{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,2fr) minmax(0,1fr) minmax(0,1fr) minmax(0,1fr) auto;gap:8px;align-items:end}
@media (max-width:900px){.fu-form{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.fu-form .btn{grid-column:1/-1}}
.fu-item{display:flex;gap:10px;align-items:flex-start;padding:8px 10px;border:1px solid var(--line);border-radius:10px;background:var(--bg)}
.fu-item input{margin-top:5px;width:18px;height:18px}
.fu-item.done{opacity:.55}
.fu-item .meta{display:flex;gap:6px;flex-wrap:wrap;margin-top:4px}
/* ease of use + TCG */
.linkish{border:0;background:none;padding:0;color:var(--accent);font:inherit;font-weight:600;text-decoration:underline;cursor:pointer}
.btn.mic.on{background:var(--bad-soft);border-color:var(--bad);color:var(--bad)}
.quick{border-left:4px solid var(--route)}
.receipt{display:flex;flex-direction:column;gap:8px;margin:8px 0}
.copy{border:1px dashed var(--route);border-radius:12px;padding:10px 12px;display:flex;flex-direction:column;gap:8px;background:var(--bg)}
.copy-row{display:grid;grid-template-columns:120px minmax(0,1fr) auto;gap:8px;align-items:start}
.copy-row p{white-space:pre-wrap}
@media (max-width:560px){.copy-row{grid-template-columns:minmax(0,1fr)}}
.lib-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px}
.lib-item{border:1px solid var(--line);border-radius:12px;padding:12px;background:var(--bg);display:flex;flex-direction:column;gap:6px}
details.req{border:1px solid var(--line);border-radius:12px;padding:10px 12px;background:var(--bg)}
details.req summary{cursor:pointer;display:flex;flex-wrap:wrap;gap:6px;align-items:center}
details.req[open]{background:var(--surface)}
.weekend{border-left:4px solid var(--route)}
.weekend .card-h .pill{white-space:normal}
.jeddi .tag{background:var(--metal);color:var(--gold-flat)}
table.oversight td{vertical-align:top}
table.oversight tr.attn td{background:var(--warn-soft)}
ol.steps{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:4px;font-size:14px}
code.token{font-family:var(--mono);font-size:15px;word-break:break-all;background:var(--surface);padding:6px 8px;border-radius:6px;user-select:all}
.se-row{display:flex;flex-wrap:wrap;gap:8px;align-items:flex-end;padding:8px 0;border-bottom:1px solid var(--line)}
.se-row:last-of-type{border-bottom:0}
pre.transcript{white-space:pre-wrap;max-height:320px;overflow:auto;font:13px/1.5 ui-monospace,Menlo,Consolas,monospace;background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:10px;margin:8px 0 0}
.zp-card{max-width:560px;max-height:calc(100vh - 32px);overflow:auto}
.zp-recap{font-size:14px;border-left:3px solid var(--route);padding-left:10px;margin:0}
.sess{border-top:1px solid var(--line);padding-top:10px}
.followup{border:1px solid var(--route);border-radius:12px;padding:10px 12px;background:var(--bg)}
.fu-item.done label{text-decoration:line-through;opacity:.7}
.fu-item.sel{border-color:var(--route)}
.fu-item input[type=checkbox]{margin-top:3px;width:18px;height:18px;flex:none}
.fu-item input[type=date]{max-width:150px}
@media (max-width:620px){#sessCard .fu-item{flex-wrap:wrap}#sessCard .fu-item>div:first-child{flex:1 1 100%}}
.txn-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px}
.txn-card{display:flex;flex-direction:column;gap:6px;text-align:left;font:inherit;color:inherit;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:12px;cursor:pointer}
.txn-card.sel{border-color:var(--route);box-shadow:0 0 0 2px var(--route)}
.txn-card.late{border-left:4px solid var(--bad)}
.ti-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:8px 0;border-bottom:1px solid var(--line)}
.ti-row:last-of-type{border-bottom:0}
.ti-row.done > div:first-child > span:first-child{text-decoration:line-through;opacity:.65}
.ti-row.late > div:first-child > span:first-child{color:var(--bad);font-weight:600}
.ti-row input[type=date]{max-width:160px}
.ti-row select{max-width:170px}
.fu-item.late{border-color:var(--bad)}
.tc-bar{border-top:3px solid var(--route)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.br-card{max-width:640px}
details.idea-block{border:1px solid var(--line);border-radius:12px;padding:8px 12px;background:var(--bg)}
details.idea-block summary{display:flex;flex-wrap:wrap;gap:6px;align-items:baseline}
.affil{border:1px solid var(--line);border-radius:12px;padding:10px 12px;background:var(--bg)}
.doc-sug li{margin:2px 0}
.brlg-cta{align-self:flex-start;margin:-2px 0 6px}
.sticky-acts{position:sticky;bottom:0;background:var(--surface);padding:10px 0;border-top:1px solid var(--line);z-index:2}
.tour{position:fixed;inset:0;z-index:60;background:rgba(10,10,12,.55);display:grid;place-items:center;padding:16px}
.tour-card{background:var(--surface);color:var(--ink);border-radius:18px;max-width:420px;width:100%;padding:20px;display:flex;flex-direction:column;gap:10px;border-top:4px solid var(--route);box-shadow:0 20px 50px rgba(0,0,0,.35)}
.tour-card h2{font-size:24px}
.dots{display:flex;gap:6px}
.dots i{width:8px;height:8px;border-radius:50%;background:var(--line)}
.dots i.on{background:var(--route)}
/* my life */
.life-head{display:flex;justify-content:space-between;align-items:flex-end;gap:10px;flex-wrap:wrap}
.privacy{display:flex;gap:12px;align-items:center;flex-wrap:wrap;border:1px solid var(--line);border-radius:14px;padding:12px 14px;background:var(--surface)}
.privacy.private{border-left:4px solid var(--ink-3)}
.privacy.summary,.privacy.details{border-left:4px solid var(--route)}
.coach-card summary{cursor:pointer;display:flex;align-items:center;gap:8px;flex-wrap:wrap;list-style:none}
.coach-card summary::-webkit-details-marker{display:none}
.coach-card summary::after{content:"▾";margin-left:auto;color:var(--ink-3)}
.coach-card[open] summary::after{content:"▴"}
.mini-thread{max-height:320px;min-height:0;border:1px solid var(--line);border-radius:12px;background:var(--bg);padding:10px}
.changes{background:var(--accent-soft);border-radius:10px;padding:8px 10px;font-size:14px;display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.review{background:var(--route-soft);border-radius:10px;padding:10px 12px;display:flex;flex-direction:column;gap:4px}
.coach-pick{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px}
.coach-tile,.linkcard{text-align:left;cursor:pointer;font:inherit;color:var(--ink)}
.coach-tile{display:flex;flex-direction:column;gap:4px;align-items:flex-start;border:1px solid var(--line);border-radius:12px;padding:12px;background:var(--bg)}
.coach-tile:hover,.linkcard:hover{border-color:var(--route)}
.goal-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:10px}
.goal{border:1px solid var(--line);border-radius:12px;padding:10px;background:var(--bg);display:flex;flex-direction:column;gap:8px;min-width:0}
.goal.done{opacity:.65}
.goal input[type=range]{width:100%;accent-color:var(--accent)}
.grid.tight{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px}
.scales{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}
.scale{display:flex;flex-direction:column;gap:4px}
.scale-row{display:flex;gap:4px}
.scale-row button{flex:1;border:1px solid var(--line);background:var(--bg);color:var(--ink);border-radius:9px;padding:9px 0;font-weight:700;font-family:var(--mono)}
.scale-row button[aria-pressed="true"]{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}
.check.habit{border:1px solid var(--line);border-radius:999px;padding:6px 12px;background:var(--bg)}
table.habits td,table.habits th{padding:5px 4px}
.hdot{display:inline-block;width:14px;height:14px;border-radius:4px;background:var(--surface-2);border:1px solid var(--line)}
.hdot.on{background:var(--accent);border-color:var(--accent)}
ul.plain{margin:0;padding-left:18px;font-size:14px}
@media (max-width:700px){
  body{padding-block:10px calc(84px + env(safe-area-inset-bottom,0px))}
  .top h1{font-size:22px}
  .mark{width:38px;height:38px;font-size:12px}
  .tabs{position:fixed;left:0;right:0;bottom:0;z-index:20;background:var(--surface);border-top:1px solid var(--line);border-bottom:0;margin:0;padding:4px 4px calc(4px + env(safe-area-inset-bottom,0px));justify-content:space-around;overflow-x:auto}
  .tabs button{border-bottom:0;border-top:3px solid transparent;margin:0;padding:8px 6px;font-size:11.5px;flex:1 0 auto;min-width:0}
  .tabs{justify-content:flex-start;scrollbar-width:none}
  .tabs button[aria-selected="true"]{border-top-color:var(--route)}
  .tabs .lg{display:none} .tabs .sm{display:inline}
  .tabs .badge{margin-left:3px}
  .top .eyebrow{font-size:10px}
  .card{padding:12px}
  .kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
}
/* =====================================================================
   CALENDAR — the rules kwa.html does not already have

   Everything else the calendar module leans on (.card, .kpis, .items,
   .fu-item, .tbl-wrap, .legend, .quick, .sev, .band-bad, .pill, .seg,
   .facts, .lane, .eyebrow) is already in the target's style block, so
   only the month grid and the event chips are here. Paste this inside
   the existing style element, alongside the transaction rules.

   One addition to the source: k-mastermind, which the mortgage app had
   no equivalent of.
   ===================================================================== */
.cal-head{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;margin-bottom:4px}
.cal-head span{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);text-align:center}
.cal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}
.cal-cell{min-height:92px;border:1px solid var(--line);border-radius:10px;padding:4px;background:var(--surface);display:flex;flex-direction:column;gap:3px;min-width:0}
.cal-cell.out{background:transparent;border-color:transparent}
.cal-cell.is-today{border-color:var(--route);box-shadow:inset 0 0 0 1px var(--route)}
.cal-d{display:flex;align-items:center;justify-content:space-between;font-family:var(--mono);font-size:12px;color:var(--ink-3)}
.cal-add{border:0;background:none;color:var(--ink-3);font-size:15px;line-height:1;padding:0 3px;border-radius:5px;opacity:0}
.cal-cell:hover .cal-add,.cal-add:focus-visible{opacity:1}
.cal-add:hover{background:var(--accent-soft);color:var(--accent)}
.cal-ev{display:flex;flex-direction:column;gap:1px;text-align:left;border:0;border-left:3px solid var(--ink-3);border-radius:5px;background:var(--surface-2);padding:3px 5px;font:inherit;color:var(--ink);min-width:0;cursor:pointer}
.cal-ev:hover{background:var(--accent-soft)}
.cal-ev.off{opacity:.45;text-decoration:line-through}
.cal-ev .cal-t{font-family:var(--mono);font-size:10px;color:var(--ink-3)}
.cal-ev .cal-n{font-size:11.5px;font-weight:600;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cal-ev.k-leadgen,.legend i.k-leadgen{border-color:var(--accent)}
.cal-ev.k-class,.legend i.k-class{border-color:var(--good)}
.cal-ev.k-officemtg,.legend i.k-officemtg{border-color:var(--ink-2)}
.cal-ev.k-mastermind,.legend i.k-mastermind{border-color:var(--route)}
.cal-ev.k-productivity,.legend i.k-productivity{border-color:var(--route)}
.cal-ev.k-event{border-color:var(--bad)}
.cal-ev.k-culture,.legend i.k-culture{border-color:var(--good)}
.cal-ev.k-txn,.lay-dot.k-txn{border-color:var(--route)}
.cal-ev.k-follow,.lay-dot.k-follow{border-color:var(--warn)}
.cal-ev.late{background:var(--bad-soft)}
.lay-dot{display:inline-block;width:10px;height:10px;border-radius:3px;border-left:3px solid var(--ink-3);background:var(--surface-2);margin-right:6px;vertical-align:middle;flex:none}
/* A hollow ring on anything read live from Google, so a date that this
   app cannot change is never mistaken for one it can. */
.cal-ev.is-live{border-style:solid;border-right:2px dotted var(--ink-3)}
.lay-dot.is-live{box-shadow:inset 0 0 0 1px var(--surface);opacity:.92}
.lay-dot.k-class{border-color:var(--good)}.lay-dot.k-officemtg{border-color:var(--ink-2)}
.lay-dot.k-leadgen{border-color:var(--accent)}.lay-dot.k-mastermind{border-color:var(--route)}
.lay-dot.k-culture{border-color:var(--good)}.lay-dot.k-event{border-color:var(--bad)}
.lay-dot.k-productivity{border-color:var(--route)}.lay-dot.k-lunchlearn{border-color:var(--warn)}
.lib-item.partner{border-left:4px solid var(--warn)}
/* ---- vendor families ----
   Four hues, stepped separately for each theme rather than flipped, and
   checked at every pair for colour-vision deficiency against this app's
   real card surfaces. Two light steps fall under 3:1 on the card and the
   dark green and yellow are close under protanopia, so the colour is
   never asked to carry meaning alone: every dot and every bar sits beside
   the family's name, and text keeps its own ink. */
:root{--acc-1:#2a78d6; --acc-2:#eda100; --acc-3:#e87ba4; --acc-4:#008300; --acc-0:#8B8B87}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){
  --acc-1:#3987e5; --acc-2:#c98500; --acc-3:#d55181; --acc-4:#008300; --acc-0:#8B8B87}}
:root[data-theme="dark"]{--acc-1:#3987e5; --acc-2:#c98500; --acc-3:#d55181; --acc-4:#008300; --acc-0:#8B8B87}
/* The vendor families and the resource sections are the same four
   accents used twice. They read as one system that way, and there is only
   one palette to hold to the bar rather than two drifting apart. */
:root{--vf-check:var(--acc-1); --vf-fix:var(--acc-2); --vf-show:var(--acc-3); --vf-close:var(--acc-4); --vf-other:var(--acc-0)}
.rl-1{--vf:var(--acc-1)}.rl-2{--vf:var(--acc-2)}.rl-3{--vf:var(--acc-3)}
.rl-4{--vf:var(--acc-4)}.rl-0{--vf:var(--acc-0)}
/* the board */
.rl-board{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px;margin-top:4px}
.rl-tile{border:1px solid var(--line);border-left:5px solid var(--vf,var(--line));border-radius:14px;
  padding:14px 16px;background:var(--bg);color:var(--ink);font:inherit;text-align:left;cursor:pointer;
  display:flex;flex-direction:column;gap:5px;min-height:118px}
.rl-tile:hover{background:var(--surface-2)}
.rl-tile:focus-visible{outline:2px solid var(--vf,var(--ink));outline-offset:2px}
.rl-tile b{font-family:var(--display);font-size:17px;line-height:1.25}
.rl-tile .n{font-size:26px;font-weight:700;font-variant-numeric:tabular-nums;line-height:1}
.rl-tile .rl-meta{margin-top:auto;display:flex;align-items:baseline;gap:8px}
/* Compliance Checklist: every stage's table keeps the same columns, so the stages line up. */
.cc-table{table-layout:fixed}.cc-table th:nth-child(1){width:42%}.cc-table th:nth-child(2){width:140px}
.cc-table.cc-num th:nth-child(1){width:56px}.cc-table.cc-num th:nth-child(2){width:40%}.cc-table.cc-num th:nth-child(3){width:140px}
.rl-crumb{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:6px}
.lib-item.rl{border-left:4px solid var(--vf,var(--line))}
.vf-check{--vf:var(--vf-check)}.vf-fix{--vf:var(--vf-fix)}.vf-show{--vf:var(--vf-show)}
.vf-close{--vf:var(--vf-close)}.vf-other{--vf:var(--vf-other)}
.vf-dot{display:inline-block;width:10px;height:10px;border-radius:3px;background:var(--vf,var(--ink-3));flex:none}
.req-group.vf{border-left:4px solid var(--vf,var(--line))}
.pill.vf{border-left:3px solid var(--vf,var(--line));border-radius:4px 999px 999px 4px;padding-left:8px}
.vf-chips{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0 2px}
.vf-chip{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--line);border-radius:999px;
  padding:5px 12px;background:var(--surface);color:var(--ink);font:inherit;font-size:13px;cursor:pointer;line-height:1.3}
.vf-chip:hover{background:var(--surface-2)}
.vf-chip[aria-pressed="true"]{box-shadow:inset 0 0 0 2px var(--vf,var(--ink-2));border-color:transparent}
.vf-chip .n{color:var(--ink-3);font-variant-numeric:tabular-nums}
.vstars{display:inline-flex;gap:1px;line-height:1;flex:none}
.vstars i{font-style:normal;font-size:15px;color:var(--line)}
.vstars i.on{color:var(--warn)}
.vstars i.half{background:linear-gradient(90deg,var(--warn) 50%,var(--line) 50%);-webkit-background-clip:text;background-clip:text;color:transparent}
.vstars.sm i{font-size:12.5px}
.mk-src{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:6px;vertical-align:middle;flex:none}
.mk-src.agent{background:var(--mk-agent)}
.mk-src.house{background:var(--mk-house)}
.kpis.from-agents .kpi{border-left:3px solid var(--mk-agent)}
.kpis.from-house .kpi{border-left:3px solid var(--mk-house)}
.src-h{display:flex;flex-wrap:wrap;gap:4px 10px;align-items:baseline;margin:14px 0 6px}
tr.row-agent td:first-child{box-shadow:inset 3px 0 0 var(--mk-agent)}
tr.row-house td{background:var(--mk-house-soft)}
tr.row-house td:first-child{box-shadow:inset 3px 0 0 var(--mk-house)}
tr.row-total td{border-top:2px solid var(--line);font-weight:600}
.cal-offices{display:flex;flex-wrap:wrap;gap:6px}
.req-group{border:1px solid var(--line);border-radius:12px;padding:10px 12px;background:var(--bg)}
.req-group-h{display:flex;flex-wrap:wrap;gap:4px 10px;align-items:baseline;margin-bottom:8px}
.req-pick{align-items:flex-start;border-radius:12px}
.req-pick .note{display:block;font-size:11.5px;line-height:1.3}
.legend i.k-culture{background:var(--good)}
.cal-ev.k-lunchlearn{border-color:var(--warn)}
.legend i.k-leadgen{background:var(--accent)}.legend i.k-class{background:var(--good)}
.legend i.k-officemtg{background:var(--ink-2)}.legend i.k-mastermind{background:var(--route)}
@media (max-width:760px){
  .cal-cell{min-height:64px;padding:3px}
  .cal-ev .cal-t{display:none}
  .cal-ev .cal-n{font-size:10.5px}
  .cal-add{opacity:1}
}

.subtabs{display:flex;gap:4px;flex-wrap:wrap}
.subtabs button{border:1px solid var(--line);background:var(--surface);color:var(--ink-2);padding:5px 12px;border-radius:999px;font-weight:600;font-size:13px}
.subtabs button[aria-selected="true"]{background:var(--metal);color:var(--gold-flat);border-color:transparent}
.today-top{display:grid;grid-template-columns:minmax(0,340px) minmax(0,1fr);gap:14px;align-items:start}
@media (max-width:860px){.today-top{grid-template-columns:minmax(0,1fr)}}
.news .card-h{align-items:center}
.news-mark{font-family:var(--display);font-weight:700;font-size:11px;letter-spacing:.06em;padding:4px 8px;border-radius:7px;background:var(--metal);color:var(--gold-flat);flex:none}
.news-item{display:flex;flex-direction:column;gap:2px;padding:8px 10px;border:1px solid var(--line);border-radius:10px;background:var(--bg);text-decoration:none;color:inherit}
.news-item:hover{border-color:var(--route)}
.news-item strong{font-size:14px;line-height:1.3}

/* org + scope */
.scope{border-left:4px solid var(--route)}
.orgtree{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px}
.org-office{border:1px solid var(--line);border-radius:12px;padding:10px;background:var(--bg);display:flex;flex-direction:column;gap:8px;min-width:0}
.org-h{display:flex;align-items:center;justify-content:space-between;gap:8px}
.org-teams{display:flex;flex-direction:column;gap:6px}
.org-team{display:flex;flex-direction:column;gap:2px;text-align:left;font:inherit;color:inherit;border:1px solid var(--line);border-radius:9px;background:var(--surface);padding:6px 9px;cursor:pointer}
.org-team:hover{border-color:var(--route)}
tr.off td{opacity:.55}

@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
/* Advisors TC files (59-advisors-tc-files.js) */
.tcf-row{cursor:pointer}
.tcf-row:hover td{background:var(--surface)}
.tcf-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}
.tcf-disclosures{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));align-items:start}
.tcf-col-title{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);margin:0 0 6px}
.tcf-doc{padding-block:6px}

/* Flyer editor (js/flyer-review.js): the flyer as it will be made, texts typed in place, photos picked.
   The page is always white paper, so what is drawn over it uses fixed dark tones with a white ring. */
.fe{display:grid;gap:12px;min-width:0}
.fe-pages{display:grid;gap:12px}
.fe-sheet{position:relative;overflow:hidden;border:1px solid var(--line);border-radius:8px;background:#fff;--kw-flyer-scale:1}
.fe-sheet-img{display:block;width:100%;height:auto}
.fe-mask{position:absolute;z-index:2;pointer-events:none}
.fe-photo{position:absolute;z-index:1;display:block;margin:0;padding:0;border:0;background:transparent;overflow:hidden;border-radius:0;font:inherit}
.fe-photo-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.fe-photo-img[hidden]{display:none}
button.fe-photo{cursor:pointer}
button.fe-photo:focus-visible{outline:3px solid #1C1D20;outline-offset:-3px;box-shadow:inset 0 0 0 5px #fff}
.fe-chip{position:absolute;right:8px;bottom:8px;z-index:4;display:inline-flex;align-items:center;gap:5px;white-space:nowrap;padding:4px 10px;border:1px solid #D8D8D4;border-radius:999px;background:#fff;color:#1C1D20;font-size:12px;font-weight:600;line-height:1.3;box-shadow:0 1px 3px rgba(0,0,0,.2)}
button.fe-photo:hover .fe-chip,button.fe-photo:focus-visible .fe-chip{background:#1C1D20;border-color:#1C1D20;color:#fff}
.fe-text{position:absolute;z-index:3;outline:1px dashed rgba(28,29,32,.45);outline-offset:2px;cursor:text}
.fe-text:hover{outline-color:rgba(28,29,32,.8)}
.fe-text:focus-within{z-index:5;outline:2px solid #1C1D20;box-shadow:0 0 0 4px #fff}
.fe-text.is-empty{background:rgba(28,29,32,.06)}
.fe-text-label{position:absolute;top:0;left:0;width:100%;min-height:100%;margin:0;white-space:pre-wrap;overflow-wrap:normal;font-kerning:none;outline:none;caret-color:#1C1D20}
.fe-picker{width:min(720px,calc(100vw - 32px));max-height:calc(100vh - 48px);padding:16px;border:1px solid var(--line);border-radius:14px;background:var(--surface);color:var(--ink)}
.fe-picker::backdrop{background:rgba(17,18,20,.55)}
.fe-picker[open]{display:flex;flex-direction:column;gap:12px}
.fe-picker-h{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
.fe-picker-h h3{font-size:18px}
.fe-picker-h .sub{color:var(--ink-3);font-size:13px}
.fe-picker-x{margin-left:auto}
.fe-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;overflow:auto;min-height:0}
.fe-thumb{position:relative;display:block;padding:0;border:2px solid transparent;border-radius:9px;background:var(--surface-2);overflow:hidden;aspect-ratio:4/3;cursor:pointer}
.fe-thumb img{display:block;width:100%;height:100%;object-fit:cover}
.fe-thumb:hover{border-color:var(--ink-3)}
.fe-thumb:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.fe-thumb.is-current{border-color:var(--accent)}
.fe-thumb:disabled{cursor:default}
.fe-thumb.is-loading{animation:fe-pulse 1.2s ease-in-out infinite}
@keyframes fe-pulse{50%{opacity:.55}}
@media (prefers-reduced-motion:reduce){.fe-thumb.is-loading{animation:none}}
.fe-thumb-failed{display:none;position:absolute;inset:0;place-items:center;padding:8px;text-align:center;font-size:12px;font-weight:600;color:var(--ink-2)}
.fe-thumb.is-failed .fe-thumb-failed{display:grid}
.fe-thumb.is-failed img{visibility:hidden}
.fe-thumb.is-current::after{content:"In use";position:absolute;left:6px;top:6px;padding:2px 8px;border-radius:999px;background:var(--accent);color:var(--accent-ink);font-size:11px;font-weight:700}
@media (max-width:600px){.fe-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.fe-chip{right:4px;bottom:4px;padding:6px}.fe-chip-t{display:none}}

/* REMA Referral (Screens\RemaReferral): the form beside "Say it instead" and "Pick a client"; on a phone, saying it comes first. */
.rr{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,1fr);grid-template-areas:"main side";gap:16px;align-items:start}
.rr-main{grid-area:main;min-width:0}
.rr-side{grid-area:side;display:grid;gap:16px;min-width:0}
.rr-h,.qa-office{margin:6px 0 0;font-size:14px;font-weight:700;color:var(--ink-2)}
.rr-find{display:flex;gap:8px;align-items:flex-end}
.rr-find .fld{flex:1}
.rr-live{min-height:1.3em;margin:0}
.btn.mic{display:inline-flex;align-items:center;gap:6px}
@media (max-width:900px){.rr{grid-template-columns:minmax(0,1fr);grid-template-areas:"side" "main"}}
/* Instant Marketing (Marketing > Requests on the agent app): the catalog's categories and designs as pictures. */
.mk-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px}
.mk-tile{gap:8px;padding:12px;color:inherit;text-decoration:none}
a.mk-tile:hover{border-color:var(--ink-3)}
.mk-thumb{width:100%;height:180px;object-fit:contain;background:var(--bg);border:1px solid var(--line);border-radius:10px;display:block}
.mk-thumb-lg{height:auto;max-height:420px;max-width:520px}

/* A box that can be minimised (My Life, see [data-minimise] in js/forms.js): the heading stays, the rest folds. */
.card-min-btn{margin-left:auto;flex:none;width:26px;height:26px;border:1px solid var(--line);border-radius:8px;background:var(--surface-2);color:var(--ink-2);font-size:15px;font-weight:700;line-height:1;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}
.card-min-btn:hover{border-color:var(--ink-3);color:var(--ink)}
.card.card-min{gap:0}
.card.card-min > *:not(.card-h){display:none!important}
.card-min-tag{font-style:italic}

/* Deal status: under contract has its own colour, apart from closed (green) and a live listing (blue); off market keeps
   the plain grey pill. The status word is inside the pill, so colour is never the only signal. */
.pill.pend{background:var(--warn-soft);color:var(--warn);box-shadow:inset 0 0 0 1px var(--warn)}
.pill.listed{background:var(--mk-agent-soft);color:var(--mk-agent);box-shadow:inset 0 0 0 1px var(--mk-agent)}

/* One colour per calendar layer, so with every layer on it shows which item is which. Hues already in the palette with
   light and dark values; red is not among them, because red still means late. The layer switch carries its swatch. */
.cal-ev.cal-l-pc,.lay-dot.cal-l-pc{border-color:var(--route)}
.cal-ev.cal-l-office,.lay-dot.cal-l-office{border-color:var(--mk-house)}
.cal-ev.cal-l-team,.lay-dot.cal-l-team{border-color:var(--accent)}
.cal-ev.cal-l-txn,.lay-dot.cal-l-txn{border-color:var(--good)}
.cal-ev.cal-l-follow,.lay-dot.cal-l-follow{border-color:var(--warn)}
.cal-ev.cal-l-mine,.lay-dot.cal-l-mine{border-color:var(--mk-agent)}

/* The team or Market Center a person with several seats is looking at (View/AppPage.php) */
.seat-picker{align-items:flex-end;margin:0 0 16px}
.seat-picker .fld{flex:0 1 320px}
