/* Novate clickable demo : A2c hybrid design lock (2026-06-11)
   CRM structure + editorial brand. Tokens are the law; see DECISION.md. */
:root{
  --paper:#FBFAF7; --card:#FFFFFF; --ink:#1A1C1E; --mute:#6B6E73;
  --rule:rgba(26,28,30,.12); --green:#1F5C45; --green-soft:#EAF2EE;
  --amber:#8A6D1F; --amber-soft:#F7F0DC; --red:#8C2F2F;
  --serif:'Iowan Old Style','Charter',Georgia,serif;
  --sans:-apple-system,BlinkMacSystemFont,'Segoe UI',system-ui,sans-serif;
  --mono:ui-monospace,'SF Mono',Menlo,monospace;
}
*{box-sizing:border-box;margin:0;padding:0}
html,body{height:100%}
body{background:var(--paper);color:var(--ink);font:13.5px/1.5 var(--sans)}
a{color:inherit;text-decoration:none}
button{font:inherit;cursor:pointer}

/* ---------- shell ---------- */
.shell{display:grid;grid-template-columns:222px 1fr;min-height:100vh}
.nav{border-right:1px solid var(--rule);padding:20px 14px;display:flex;flex-direction:column;gap:2px;background:var(--card);position:sticky;top:0;height:100vh}
.wordmark{font:600 18px/1 var(--serif);padding:0 10px;margin-bottom:18px}
.wordmark em{font-style:italic;color:var(--green)}
.nav a{display:flex;align-items:center;gap:9px;padding:8px 10px;border-radius:6px;color:var(--mute);font-weight:500}
.nav a.on{background:var(--green-soft);color:var(--green);font-weight:600}
.nav a .n{margin-left:auto;font:600 10.5px/1 var(--mono);background:var(--green);color:#fff;border-radius:8px;padding:2.5px 6px}
.nav .sec{font:600 10px/1 var(--mono);text-transform:uppercase;letter-spacing:.14em;color:var(--mute);margin:16px 10px 4px}
.nav .firm{margin-top:auto;padding:10px;border-top:1px solid var(--rule);font-size:12px;color:var(--mute)}
.main{padding:0 28px 48px;max-width:1080px}

/* ---------- demo time bar ---------- */
.timebar{position:sticky;top:0;z-index:40;display:flex;align-items:center;gap:10px;margin:0 -28px 6px;padding:9px 28px;background:#14241D;color:#E8EFE9;font:500 12px/1 var(--sans)}
.timebar .tb-label{font:600 9.5px/1 var(--mono);text-transform:uppercase;letter-spacing:.16em;color:#9DBBA9}
.timebar b{font:600 13px/1 var(--mono);color:#fff}
.timebar button{background:none;border:1px solid rgba(255,255,255,.28);color:#E8EFE9;border-radius:5px;padding:6px 10px;font:600 11.5px/1 var(--sans)}
.timebar button:hover{border-color:#fff}
.timebar button.jump{background:#2E7D5B;border-color:#2E7D5B}
.timebar .reset{margin-left:auto;opacity:.75}

/* ---------- page head / toolbar ---------- */
.pagehead{padding:22px 4px 12px}
.kick{font:600 10px/1 var(--mono);text-transform:uppercase;letter-spacing:.2em;color:var(--green);margin-bottom:6px}
h1{font:400 26px/1.2 var(--serif);letter-spacing:-.015em}
h1 b{font-weight:400;color:var(--green);font-style:italic}
.toolbar{display:flex;align-items:center;gap:8px;padding:8px 0 12px;flex-wrap:wrap}
.search{flex:0 1 230px;display:flex;align-items:center;gap:7px;border:1px solid var(--rule);border-radius:7px;padding:7px 10px;color:var(--mute);background:var(--card)}
.search input{border:none;outline:none;background:none;font:inherit;color:var(--ink);width:100%}
.tbtn{font:500 12.5px/1 var(--sans);border:1px solid var(--rule);background:var(--card);border-radius:7px;padding:8px 12px;color:var(--ink)}
.tbtn.primary{background:var(--green);border-color:var(--green);color:#fff;font-weight:600;margin-left:auto}
.views{display:flex;gap:6px}
.views button{font:500 12px/1 var(--sans);color:var(--mute);padding:7px 10px;border-radius:99px;border:1px solid transparent;background:none}
.views button.on{color:var(--green);border-color:var(--green);font-weight:600;background:var(--card)}

/* ---------- table ---------- */
.tablecard{background:var(--card);border:1px solid var(--rule);border-radius:10px;overflow:hidden}
table{width:100%;border-collapse:collapse}
thead th{font:600 10.5px/1 var(--mono);text-transform:uppercase;letter-spacing:.1em;color:var(--mute);text-align:left;padding:10px 14px;border-bottom:1px solid var(--rule);background:#FDFCF9;white-space:nowrap}
tbody td{padding:10px 14px;border-bottom:1px solid var(--rule);vertical-align:middle}
tbody tr:last-child td{border-bottom:none}
tbody tr{cursor:pointer}
tbody tr:hover{background:#FDFCF9}
.cname{font:600 14.5px/1.25 var(--serif)}
.subline{color:var(--mute);font-size:11.5px;display:block;margin-top:1px}
.pill{display:inline-block;font:600 11px/1 var(--sans);padding:4px 9px;border-radius:99px;white-space:nowrap}
.pill.today{background:var(--green);color:#fff}
.pill.soon{background:var(--amber-soft);color:var(--amber)}
.pill.quiet{background:#F0EFEA;color:var(--mute)}
.health{display:inline-flex;gap:3px}
.health i{width:5px;height:13px;border-radius:2px;background:#E4E2DA}
.health i.f{background:var(--green)}
.own{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--green);color:#fff;font:700 9.5px/1 var(--sans)}
.tfoot{display:flex;gap:18px;padding:10px 14px;border-top:1px solid var(--rule);color:var(--mute);font:500 11.5px/1 var(--mono);background:#FDFCF9}

/* ---------- reminders ---------- */
.group-label{font:600 10.5px/1 var(--mono);text-transform:uppercase;letter-spacing:.16em;color:var(--mute);margin:22px 0 10px}
.item{background:var(--card);border:1px solid var(--rule);border-radius:8px;margin-bottom:10px;overflow:hidden}
.item-row{display:grid;grid-template-columns:8px 1fr auto;gap:14px;align-items:center;padding:14px 16px;cursor:pointer}
.dot{width:8px;height:8px;border-radius:50%;background:var(--green)}
.dot.amber{background:var(--amber)}
.it-title{font-weight:600;font-size:14.5px}
.it-why{color:var(--mute);font-size:12.5px;margin-top:2px}
.it-why b{color:var(--ink);font-weight:600}
.chip{font:600 10.5px/1 var(--mono);text-transform:uppercase;letter-spacing:.08em;padding:5px 9px;border-radius:4px;background:var(--green-soft);color:var(--green);white-space:nowrap}
.chip.amber{background:var(--amber-soft);color:var(--amber)}
.draft{border-top:1px solid var(--rule);background:#FDFCF9;padding:18px 20px}
.draft-kick{font:600 10px/1 var(--mono);text-transform:uppercase;letter-spacing:.18em;color:var(--green);margin-bottom:10px;display:flex;gap:8px;align-items:center}
.draft-kick::after{content:"";flex:1;height:1px;background:var(--rule)}
.d-subj{font:600 15.5px/1.3 var(--serif);margin-bottom:9px}
.d-body{font:14.5px/1.65 var(--serif);color:#2A2D30;max-width:64ch;white-space:pre-line}
.d-actions{display:flex;gap:8px;margin-top:14px;align-items:center;flex-wrap:wrap}
.btn{font:600 12.5px/1 var(--sans);padding:9px 14px;border-radius:6px;border:1px solid var(--rule);background:var(--card)}
.btn.primary{background:var(--green);border-color:var(--green);color:#fff}
.btn.ghost{border-color:transparent;background:none;color:var(--mute)}
.d-meta{margin-left:auto;font:11.5px/1.5 var(--sans);color:var(--mute);font-style:italic}
.regen .d-body{opacity:.35;filter:blur(1px)}
.empty{padding:34px;border:1px dashed var(--rule);border-radius:10px;text-align:center;color:var(--mute);font-style:italic;background:var(--card)}

/* ---------- client detail ---------- */
.crumb{font:500 12px/1 var(--sans);color:var(--mute);padding:18px 4px 0}
.crumb a{color:var(--green);font-weight:600}
.detail{display:grid;grid-template-columns:1fr 290px;gap:24px;align-items:start}
.panel{background:var(--card);border:1px solid var(--rule);border-radius:10px;padding:16px 18px;margin-bottom:14px}
.panel h3{font:600 10px/1 var(--mono);text-transform:uppercase;letter-spacing:.16em;color:var(--mute);margin-bottom:12px}
.job{display:grid;grid-template-columns:1fr auto;gap:10px;padding:11px 0;border-bottom:1px solid var(--rule)}
.job:last-child{border-bottom:none}
.job b{font:600 14px/1.3 var(--serif)}
.job span{font-size:12px;color:var(--mute);display:block;margin-top:2px}
.tl{border-left:2px solid var(--rule);margin-left:5px;padding-left:16px}
.tl .ev{position:relative;padding-bottom:14px}
.tl .ev::before{content:"";position:absolute;left:-21.5px;top:5px;width:9px;height:9px;border-radius:50%;background:var(--green);border:2px solid var(--card)}
.tl .ev.future::before{background:#E4E2DA}
.tl .ev b{font-size:13px}
.tl .ev span{display:block;font-size:11.5px;color:var(--mute)}

/* ---------- modal / wizard ---------- */
.overlay{position:fixed;inset:0;background:rgba(20,25,22,.45);display:flex;align-items:flex-start;justify-content:center;padding:7vh 20px;z-index:60}
.modal{background:var(--card);border-radius:12px;width:680px;max-width:100%;max-height:84vh;overflow:auto;box-shadow:0 24px 60px rgba(15,20,17,.35)}
.m-head{padding:18px 22px 0}
.m-kick{font:600 10px/1 var(--mono);text-transform:uppercase;letter-spacing:.18em;color:var(--green);margin-bottom:6px}
.m-head h2{font:400 22px/1.25 var(--serif)}
.m-body{padding:16px 22px 22px}
.steps{display:flex;gap:6px;padding:12px 22px 0}
.steps i{height:3px;flex:1;border-radius:2px;background:#E9E7E0;font-style:normal}
.steps i.on{background:var(--green)}
.f-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.f-grid .full{grid-column:1/-1}
label{display:block;font:600 11px/1 var(--sans);color:var(--mute);margin:10px 0 5px}
input[type=text],input[type=email],input[type=date],input[type=number],select,textarea{width:100%;font:13.5px/1.4 var(--sans);padding:9px 11px;border:1px solid var(--rule);border-radius:7px;background:#FDFDFB;color:var(--ink);outline:none}
input:focus,select:focus,textarea:focus{border-color:var(--green)}
.cats{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.cats button{border:1px solid var(--rule);background:#FDFDFB;border-radius:8px;padding:12px 8px;text-align:center;font:600 12px/1.3 var(--sans)}
.cats button small{display:block;font:400 10.5px/1.3 var(--sans);color:var(--mute);margin-top:3px}
.cats button.on{border-color:var(--green);background:var(--green-soft);color:var(--green)}
.types{display:grid;gap:7px;margin-top:12px}
.types button{display:flex;justify-content:space-between;gap:10px;border:1px solid var(--rule);background:#fff;border-radius:7px;padding:10px 12px;font:500 13px/1.3 var(--sans);text-align:left}
.types button small{color:var(--mute);font-size:11px}
.types button.on{border-color:var(--green);background:var(--green-soft)}
.curvebox{border:1px solid var(--rule);border-left:3px solid var(--green);border-radius:8px;background:#FDFCF9;padding:14px 16px;margin-top:14px}
.curvebox h4{font:600 10px/1 var(--mono);text-transform:uppercase;letter-spacing:.16em;color:var(--green);margin-bottom:10px}
.curvebox .cv{display:grid;grid-template-columns:auto 1fr;gap:10px;padding:7px 0;border-bottom:1px dashed var(--rule);align-items:baseline}
.curvebox .cv:last-child{border-bottom:none}
.curvebox .cv b{font:600 12px/1 var(--mono);color:var(--green);white-space:nowrap}
.curvebox .cv span{font-size:12.5px}
.curvebox .cv i{display:block;font-size:11.5px;color:var(--mute);font-style:italic;margin-top:2px}
.m-foot{display:flex;gap:8px;padding:14px 22px;border-top:1px solid var(--rule);position:sticky;bottom:0;background:var(--card)}
.m-foot .spacer{flex:1}

/* ---------- intro / toast ---------- */
.intro{max-width:560px}
.intro .m-body p{font:15px/1.65 var(--serif);margin-bottom:12px}
.intro ol{margin:0 0 14px 18px;font:14px/1.7 var(--sans)}
.intro ol b{color:var(--green)}
.toast{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);background:#14241D;color:#fff;padding:11px 18px;border-radius:8px;font:600 12.5px/1 var(--sans);z-index:80;box-shadow:0 10px 30px rgba(0,0,0,.3)}
.flash{animation:flash 1.2s ease 2}
@keyframes flash{0%,100%{background:var(--card)}40%{background:var(--green-soft)}}

@media (max-width:860px){
  .shell{grid-template-columns:1fr}
  .nav{position:static;height:auto;flex-direction:row;flex-wrap:wrap;align-items:center}
  .nav .firm{display:none}
  .detail{grid-template-columns:1fr}
  .cats{grid-template-columns:repeat(2,1fr)}
  .f-grid{grid-template-columns:1fr}
}

/* agent capture */
.tbtn.agent{border-color:var(--green);color:var(--green);font-weight:600}
.agentband{background:var(--green-soft);border:1px solid var(--green);border-radius:7px;padding:10px 12px;font-size:12.5px;color:var(--green);margin-bottom:12px}
textarea{resize:vertical;min-height:64px}
