/* ===========================================================
   Evensteer Desk — brand layer (Forest Light, same tokens as
   evensteer.com) + the simple, readable, animated finish.
   Loaded last; it only overrides.
   =========================================================== */

:root{
  --side:#FFFFFF;
  --pine:#0F4A36;
  --mint:#47C795;
  --gold:#1B6B4E;            /* AI actions now use the brand green */
  --ai-grad:linear-gradient(135deg,#1B6B4E 0%,#22835F 55%,#2E9C72 100%);
}


/* ---------- readable labels: no tiny mono capitals ---------- */
.panel-head .eyebrow,.col-head,.stat .label,.field label,.f-label,.peek-section,.pop-head,.fg-head,.modal-section,
.briefing .k,.crumb,.node-kind,.log-day-label,.day .dow{
  font-family:var(--sans)!important;text-transform:none!important;letter-spacing:0!important;
}
.panel-head .eyebrow .accent{color:var(--green-2)}
.stat .label{font-weight:500}
.field label,.f-label{font-size:12px;font-weight:500;color:var(--ink-soft)}
.col-head{font-size:13.5px;font-weight:600;color:var(--ink)}
.crumb b{color:var(--ink);font-weight:600}
.node-kind,.pop-head,.peek-section,.fg-head{font-size:12px;font-weight:600;color:var(--ink-soft)}
.pill,.tag,.stage-pill,.fb,.tag-chip,.lead .fit,.lead .led-chip{font-family:var(--sans)!important;text-transform:none!important;letter-spacing:0!important;font-size:12px!important;font-weight:500}
.tag{min-width:0;border-radius:999px;padding:4px 10px}
.pill.draft,.pill.grey{background:#EDF1EC;color:#4A5A50}
.pill.wait,.tag{background:var(--gold-wash);color:var(--amber)}
.tag.summary{background:var(--green-wash);color:#185C43}
.tag.post{background:#EAF0FB;color:#2F4F8A}
.tag.email{background:#E8F2F2;color:#225B5B}
.tag.gold{background:var(--green-wash);color:#185C43}

/* ---------- headings ---------- */
.stat .value,.money .value{font-family:var(--sans);font-weight:600;letter-spacing:-.02em}
.modal-head h3,.agent h3,.peek-title b,.flow-name{font-family:var(--sans);font-weight:600;letter-spacing:-.015em}

/* ---------- sidebar ---------- */
.nav a:hover{transform:translateX(2px)}
.nav a.active::before{content:"";position:absolute;left:-14px;top:8px;bottom:8px;width:3px;border-radius:0 3px 3px 0;background:var(--green);animation:barIn .35s var(--ease) both}
.nav a.active .count{background:var(--green);color:#fff}
.avatar{font-weight:600}
@keyframes barIn{from{transform:scaleY(0)}to{transform:scaleY(1)}}

/* ---------- top bar ---------- */

/* ---------- buttons ---------- */
.btn:hover{transform:translateY(-1px)}
.btn:focus-visible,.btn-quiet:focus-visible,.icon-btn:focus-visible{outline:2px solid var(--mint);outline-offset:2px}
.btn-ai{color:#fff}
.btn-ai:hover{background:var(--ai-grad);filter:brightness(1.06)}
.btn-ghost:hover{color:var(--green)}
.btn-quiet{font-size:13.5px}
.btn-lg{padding:14px 24px;font-size:16px;border-radius:12px}

/* ---------- surfaces ---------- */
.panel,.stat,.col,.wf,.person,.post{border-color:var(--line);border-radius:var(--r);box-shadow:var(--shadow)}
.panel{margin-bottom:20px}
.stat{min-height:112px}
.stat::after{content:"";position:absolute;right:-30px;top:-30px;width:110px;height:110px;border-radius:50%;background:radial-gradient(circle,rgba(71,199,149,.14),transparent 70%);transition:transform .5s var(--ease)}
.stat:hover::after{transform:scale(1.3)}
.stat .delta{color:var(--green-2)}
.lead{border-radius:12px;padding:12px 13px}
.lead:hover{background:var(--card);border-color:var(--green)}
.lead .fit{background:var(--green-wash);color:#185C43}
.lead .led-chip{background:var(--gold-wash);color:var(--amber)}
.rows .row:hover,.crm-table tbody tr:hover{background:var(--surface-2)}
.alert{background:#F4FAF6;border:1px solid #CFE3D6;color:var(--ink);border-radius:12px}
.alert .alert-ico{color:var(--green)}
textarea,.input,select{border-radius:10px;border-color:var(--line-strong);background:#fff;transition:border-color .16s,box-shadow .16s}
textarea:focus,.input:focus,select:focus{outline:0;border-color:var(--green);box-shadow:0 0 0 4px rgba(71,199,149,.18)}
.tabs button.active,.tab.on{border-bottom-color:var(--green)!important;color:var(--ink)}
.toast::before{content:"✓";display:inline-grid;place-items:center;width:20px;height:20px;border-radius:50%;background:var(--mint);color:var(--pine);font-size:12px;font-weight:700;margin-right:10px}
.modal-foot,.peek-foot,.peek-head,.panel-foot{background:var(--card-2)}
.drawer,.peek{background:var(--card)}
.preview{background:var(--card-2);border-color:var(--line);border-radius:12px}
.agent .seal{color:var(--green)!important}
.msg.user .bubble{background:var(--green)!important;color:#fff!important}
.stage-path .sp.now{background:var(--green)}
.stage-path .sp.done{background:var(--green-wash);color:#185C43}
.progress b,.bar-fill{background:var(--green)}
.bar-fill.gold{background:var(--mint)}
.chart-bar{background:linear-gradient(180deg,var(--green-2),var(--green))!important;border-radius:6px 6px 2px 2px}
.chart-bar.green{background:linear-gradient(180deg,var(--mint),var(--green-2))!important}
.node.sel{border-color:var(--green);box-shadow:0 0 0 4px rgba(71,199,149,.2)}
.fcard.on{border-color:var(--green);box-shadow:0 0 0 3px rgba(71,199,149,.2)}
.field-editor{border-color:var(--green);background:#F4FAF6}
/* .flash: crm.css (one opacity ring) */

/* ---------- home: hero, start checklist, quick add ---------- */
.hero{padding:28px 30px;margin-bottom:22px;color:#EAF5EE}
.hero::before{content:"";position:absolute;inset:-40%;background:conic-gradient(from 0deg,transparent,rgba(71,199,149,.25),transparent 40%);animation:spin 18s linear infinite}
.hero > *{position:relative}
.hero h1{font-size:clamp(1.7rem,2.6vw,2.3rem);font-weight:600;letter-spacing:-.025em;color:#fff}
.hero p{margin-top:8px;color:#CFE6D9;font-size:14.5px;max-width:60ch}
.hero-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}
.hero .btn:hover{color:var(--pine)}
.hero .btn-ghost:hover{color:#fff;border-color:#fff}
.hero-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:22px}
.hero-stat{border:1px solid rgba(255,255,255,.14);padding:12px 14px;transition:background .2s,transform .2s var(--ease)}
.hero-stat:hover{background:rgba(255,255,255,.14);transform:translateY(-2px)}
.hero-stat b{display:block;font-size:1.5rem;font-weight:600;color:#fff;letter-spacing:-.02em}
.hero-stat span{font-size:12px;color:#BFDCCB}

.start{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.start-step{display:flex;gap:12px;align-items:flex-start;text-align:left;border:1px solid var(--line);background:var(--card);border-radius:12px;padding:14px;cursor:pointer;transition:transform .2s var(--ease),box-shadow .2s var(--ease),border-color .2s}
.start-step:hover{transform:translateY(-2px);box-shadow:var(--shadow-lift);border-color:var(--green)}
.start-step .tick{width:26px;height:26px;border-radius:50%;border:2px solid var(--line-strong);display:grid;place-items:center;flex:none;font-size:13.5px;color:#fff;transition:all .3s var(--ease)}
.start-step.done .tick{background:var(--green);border-color:var(--green);animation:popIn .4s var(--ease)}
.start-step.done{background:#F6FAF7}
.start-step b{display:block;font-weight:600;font-size:14.5px}
.start-step span{font-size:12px;color:var(--ink-dim)}
.start-step.done b{color:var(--ink-dim);text-decoration:line-through;text-decoration-color:rgba(27,107,78,.4)}
.start-bar{height:8px;border-radius:999px;background:var(--paper-2);overflow:hidden;margin:2px 0 14px}
.start-bar b{display:block;height:100%;background:linear-gradient(90deg,var(--green),var(--mint));border-radius:999px;transform-origin:left;animation:grow .9s var(--ease) both}
@keyframes grow{from{transform:scaleX(0)}to{transform:scaleX(1)}}

.help-banner{display:flex}
.help-banner .hb-ico{width:34px;height:34px;display:grid;place-items:center;flex:none;font-size:16px}
.help-banner p{line-height:1.5}
.help-banner .hb-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}

.fab{position:fixed;z-index:45}
.fab-btn{width:56px;height:56px;border-radius:50%;border:0;color:#fff;font-size:26px;cursor:pointer}
.fab-btn:hover{transform:scale(1.06);box-shadow:0 20px 44px rgba(27,107,78,.45)}
.fab-menu{position:absolute;right:0;bottom:68px;display:flex;flex-direction:column;gap:8px;align-items:flex-end}
.fab-menu button{display:flex;align-items:center;gap:10px;border:1px solid var(--line);background:#fff;border-radius:999px;padding:10px 16px;font-size:14.5px;font-weight:500;cursor:pointer;box-shadow:var(--shadow-lift);white-space:nowrap}

.fab-menu button:hover{border-color:var(--green);color:var(--green)}
.fab-menu i{font-style:normal;width:26px;height:26px;border-radius:50%;background:var(--green-wash);color:var(--green);display:grid;place-items:center;font-size:13.5px}
@keyframes fabIn{from{opacity:0;transform:translateY(10px) scale(.95)}to{opacity:1;transform:none}}

/* count-up numbers settle in */

/* RTL */
[dir="rtl"] .nav a.active::before{left:auto;right:-14px;border-radius:3px 0 0 3px}
[dir="rtl"] .fab{right:auto;left:26px}
[dir="rtl"] .fab-menu{right:auto;left:0;align-items:flex-start}

@media (max-width:900px){
  .hero-stats,.start{grid-template-columns:1fr 1fr}
}
@media (max-width:620px){
  .hero{padding:22px 18px}
  .hero-stats{grid-template-columns:1fr 1fr}
  .start{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){
  .hero::before,.btn-quiet.ai-btn::after{animation:none!important}
}

/* last small mono labels → brand sans */
.col-sum,.mini-avatar,.owner-chip i,.task-meta,.enr summary .t,.act .t,.notice .t,.log-time,.log-event,.actor,.chip i,.tabs .tab i,.tabs .n,.th-sort,.crm-table th,.cal-dow span,.mc-dow span,.day .dow{font-family:var(--sans)!important;letter-spacing:0!important;text-transform:none!important}

/* phone: keep the top bar to the essentials */
@media (max-width:620px){
  .topbar .practice,.topbar a[href="#/admin"],.topbar [data-action="reset"],.crumb{display:none}
  .topbar .spacer{flex:1}
}

/* brand lockup: transparent Weave logo + a small product tag */
.brand{min-height:40px}
.brand img{display:block}

/* accounts */
.acc-id{font:600 12px/1 var(--mono);background:var(--green-wash);color:var(--pine);border:1px solid #CFE3D6;border-radius:6px;padding:3px 6px;white-space:nowrap}
.pager{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.sa-banner{position:sticky;top:0;z-index:25;padding:10px 40px;background:#FBF1DC;border-bottom:1px solid #EBD9AE;color:#5A3D08;font-size:13.5px}
.sa-banner span{min-width:220px}
.sa-banner .btn-ghost{background:transparent}
@media (max-width:620px){.sa-banner{padding:10px 14px}}
.brand-tag{white-space:nowrap}
.aside-admin .btn.btn-ghost{box-shadow:none}
.aside-admin .btn.btn-ghost:hover{background:rgba(255,255,255,.1);color:#fff;border-color:#fff}
/* a toast that reports a problem (app.js BAD_TOAST) */
.toast.bad::before{content:"!";background:#F6D9C9;color:#8A3A1C}
