/* EmailClaw — UI redesign. ec-* classes scoped under body.ec-body.
   Zero external requests: system fonts + inline SVG + CSS only.
   .ec-shell > .ec-wrap wrappers are emitted by emailclaw.js render(). */

/* ---------- TOKENS ---------- */
:root{
  /* Text (contrast vs #0c181e base annotated) */
  --ink:#e9f3f5;          /* 15.3:1  body/heading */
  --dim:#9fb6c0;          /* 7.4:1   secondary */
  --faint:#82989f;        /* 4.9:1   AA (was #647a84 3.2:1 FAIL) */
  --faint-lg:#6f858d;     /* 3.6:1   large-text-only tertiary */
  /* Accents */
  --mint:#5ef2b0;         /* trust / success   11.6:1 */
  --cyan:#45d6e0;         /* active / selection 9.6:1 */
  --blue:#5a92ff;         /* info */
  --blue2:#7da2ff;
  --amber:#f5b86b;        /* attention / needs-you 9.7:1 */
  --red:#ff6b6b;
  --red2:#ff9b9b;
  /* Surfaces / glass elevation */
  --glass-0:rgba(255,255,255,0.025);   /* recessed */
  --glass-1:rgba(255,255,255,0.045);   /* base panel */
  --glass-2:rgba(255,255,255,0.07);    /* raised card */
  --glass-3:rgba(255,255,255,0.10);    /* pop / hover */
  --line:rgba(255,255,255,0.10);       /* hairline */
  --line-2:rgba(255,255,255,0.16);     /* stronger hairline */
  /* Selection */
  --sel-bg:rgba(69,214,224,0.10);
  --sel-bd:rgba(69,214,224,0.55);
  --amber-bg:rgba(245,184,107,0.10);
  --amber-bd:rgba(245,184,107,0.45);
  --mint-bg:rgba(94,242,176,0.10);
  --mint-bd:rgba(94,242,176,0.45);
  /* CTA + focus */
  --grad:linear-gradient(92deg,#5ef2b0,#45d6e0);
  --grad-ink:#06140d;
  --ring:rgba(69,214,224,0.9);
  /* Spacing (4pt) + radius */
  --s1:4px; --s2:8px; --s3:12px; --s4:16px; --s5:20px; --s6:24px; --s7:32px; --s8:44px; --s9:64px;
  --r-chip:99px; --r-1:8px; --r-2:11px; --r-3:14px; --r-4:18px;
  /* Type — sans prose, mono for machine-truth */
  --sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,system-ui,sans-serif;
  --mono:ui-monospace,"SFMono-Regular","SF Mono",Menlo,Consolas,"Liberation Mono",monospace;
  /* Elevation */
  --shadow-1:0 1px 0 rgba(255,255,255,0.03) inset, 0 8px 30px -18px rgba(0,0,0,0.7);
  --shadow-2:0 1px 0 rgba(255,255,255,0.04) inset, 0 22px 60px -30px rgba(0,0,0,0.85);
  --glow-mint:0 0 0 1px rgba(94,242,176,0.15), 0 0 22px -6px rgba(94,242,176,0.35);
  /* Motion */
  --dur-1:120ms; --dur-2:220ms; --dur-3:420ms;
  --ease:cubic-bezier(.2,.8,.2,1);
}

/* ---------- RESET / BASE ---------- */
*{box-sizing:border-box;}
html,body{margin:0;padding:0;}
body.ec-body{
  font-family:var(--sans);
  color:var(--ink);
  background:
    radial-gradient(680px 420px at 12% -8%, rgba(94,242,176,0.10), transparent 60%),
    radial-gradient(760px 480px at 92% -12%, rgba(69,214,224,0.10), transparent 62%),
    linear-gradient(165deg,#0c181e,#091014 62%,#0a1216);
  background-attachment:fixed;
  min-height:100vh;
  -webkit-font-smoothing:antialiased;
  font-size:16px;
  line-height:1.5;
}
body.ec-body::selection,.ec-body ::selection{background:rgba(69,214,224,0.28);}
.ec-mono{font-family:var(--mono);font-variant-numeric:tabular-nums;}

/* ---------- APP SHELL ---------- */
.ec-shell{min-height:100vh;}
.ec-wrap{max-width:1060px;margin:0 auto;padding:28px 22px 40px;animation:ec-fade var(--dur-3) var(--ease);}
@keyframes ec-fade{from{opacity:0;transform:translateY(6px);}to{opacity:1;transform:none;}}

/* ---------- ICONS ---------- */
.ec-i{width:20px;height:20px;flex:0 0 auto;display:inline-block;vertical-align:middle;
  fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;}
.ec-i-sm{width:16px;height:16px;}
.ec-i-lg{width:26px;height:26px;}

/* Hexagon logo mark — conic mint→cyan→blue clipped to hex */
.ec-logo{
  width:40px;height:40px;flex:0 0 auto;border-radius:9px;
  background:conic-gradient(from 210deg,#5ef2b0,#45d6e0 42%,#5a92ff 74%,#5ef2b0);
  clip-path:polygon(50% 2%,95% 26%,95% 74%,50% 98%,5% 74%,5% 26%);
  display:grid;place-items:center;position:relative;
  box-shadow:0 0 22px -6px rgba(69,214,224,0.6);
}
.ec-logo::after{content:"";position:absolute;inset:3px;border-radius:7px;
  background:linear-gradient(160deg,rgba(9,16,20,0.0),rgba(9,16,20,0.55));
  clip-path:polygon(50% 2%,95% 26%,95% 74%,50% 98%,5% 74%,5% 26%);}
.ec-logo svg{position:relative;z-index:1;width:20px;height:20px;stroke:#06140d;stroke-width:1.8;fill:none;}
.ec-logo-sm{width:30px;height:30px;border-radius:7px;}
.ec-logo-sm svg{width:15px;height:15px;}

/* ---------- HEADER ---------- */
.ec-header{display:flex;align-items:center;gap:14px;margin-bottom:26px;}
.ec-brand{display:flex;align-items:center;gap:12px;min-width:0;}
.ec-brand-tt{display:flex;flex-direction:column;gap:2px;min-width:0;}
.ec-brand-name{font-size:20px;font-weight:700;letter-spacing:-.01em;line-height:1;}
.ec-brand-sub{font-size:12px;color:var(--dim);line-height:1.2;}
.ec-brand-sub b{color:var(--ink);font-weight:600;}
.ec-header-spacer{flex:1;}

/* Seal chip — the trust state indicator */
.ec-seal{
  display:inline-flex;align-items:center;gap:8px;
  font-family:var(--mono);font-size:11px;letter-spacing:.06em;
  padding:7px 13px 7px 11px;border-radius:var(--r-chip);
  background:var(--mint-bg);border:1px solid var(--mint-bd);color:var(--mint);
  white-space:nowrap;
}
.ec-seal .ec-dot{background:var(--mint);box-shadow:0 0 0 4px rgba(94,242,176,0.14);}
.ec-seal[data-mode="byok"]{background:var(--sel-bg);border-color:var(--sel-bd);color:var(--cyan);}
.ec-seal[data-mode="byok"] .ec-dot{background:var(--cyan);box-shadow:0 0 0 4px rgba(69,214,224,0.14);}
.ec-seal[data-mode="airplane"]{background:var(--amber-bg);border-color:var(--amber-bd);color:var(--amber);}
.ec-seal[data-mode="airplane"] .ec-dot{background:var(--amber);box-shadow:0 0 0 4px rgba(245,184,107,0.14);animation:none;}

/* live/breathing dot */
.ec-dot{width:8px;height:8px;border-radius:50%;flex:0 0 auto;animation:ec-pulse 2.4s var(--ease) infinite;}
@keyframes ec-pulse{0%,100%{opacity:1;}50%{opacity:.45;}}

/* ---------- WIZARD: PROGRESS RAIL ---------- */
.ec-rail{
  display:flex;align-items:center;gap:0;margin-bottom:18px;
  padding:14px 18px;border-radius:var(--r-3);
  background:var(--glass-1);border:1px solid var(--line);box-shadow:var(--shadow-1);
}
.ec-step{display:flex;align-items:center;gap:10px;flex:0 0 auto;}
.ec-step-num{
  width:26px;height:26px;border-radius:50%;display:grid;place-items:center;
  font-family:var(--mono);font-size:12px;font-weight:600;
  background:var(--glass-2);border:1px solid var(--line-2);color:var(--faint);
}
.ec-step-lbl{font-size:14px;color:var(--faint);font-weight:500;}
.ec-step[data-state="active"] .ec-step-num{background:var(--sel-bg);border-color:var(--sel-bd);color:var(--cyan);box-shadow:0 0 16px -6px rgba(69,214,224,0.7);}
.ec-step[data-state="active"] .ec-step-lbl{color:var(--ink);}
.ec-step[data-state="done"] .ec-step-num{background:var(--mint-bg);border-color:var(--mint-bd);color:var(--mint);}
.ec-step[data-state="done"] .ec-step-lbl{color:var(--dim);}
.ec-connector{flex:1;height:1px;background:var(--line-2);margin:0 14px;min-width:24px;}
.ec-step[data-state="done"]+.ec-connector{background:linear-gradient(90deg,var(--mint-bd),var(--line-2));}
.ec-rail-note{margin-left:auto;font-family:var(--mono);font-size:12px;color:var(--mint);letter-spacing:.04em;flex:0 0 auto;padding-left:16px;}

/* restore strip */
.ec-restore{
  display:flex;align-items:center;gap:10px;margin-bottom:22px;padding:9px 16px;
  border-radius:var(--r-2);background:var(--glass-0);border:1px dashed var(--line-2);
  font-size:12.5px;color:var(--dim);
}
.ec-restore .ec-dot{background:var(--cyan);width:7px;height:7px;}

/* ---------- HERO ---------- */
.ec-hero{margin:6px 0 26px;}
.ec-hero h1{font-size:42px;line-height:1.08;letter-spacing:-.02em;font-weight:750;margin:0 0 14px;max-width:20ch;text-wrap:balance;}
.ec-grad-text{background:var(--grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;}
.ec-hero p{font-size:17px;color:var(--dim);max-width:60ch;margin:0;line-height:1.55;}

/* charm cards */
.ec-charms{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:22px 0;}
.ec-charm{display:flex;align-items:center;gap:11px;padding:13px 15px;border-radius:var(--r-2);
  background:var(--glass-1);border:1px solid var(--line);}
.ec-charm .ec-i{color:var(--mint);}
.ec-charm b{font-size:13.5px;font-weight:600;display:block;}
.ec-charm span{font-size:12px;color:var(--faint);}

/* ---------- TWO-COLUMN (connect / brain) ---------- */
.ec-two{display:grid;grid-template-columns:1.15fr 1fr;gap:18px;align-items:start;}
.ec-col-h{font-size:12px;font-weight:600;letter-spacing:.02em;color:var(--dim);margin:0 0 12px;}

/* provider tiles */
.ec-provs{display:flex;flex-direction:column;gap:12px;}
.ec-prov{
  display:flex;align-items:center;gap:14px;width:100%;text-align:left;cursor:pointer;
  padding:18px;border-radius:var(--r-3);background:var(--glass-1);
  border:1px solid var(--line);color:var(--ink);
  transition:border-color var(--dur-2),background var(--dur-2),transform var(--dur-1),box-shadow var(--dur-2);
}
.ec-prov:hover{background:var(--glass-2);border-color:var(--sel-bd);transform:translateY(-1px);box-shadow:var(--shadow-1);}
.ec-prov:active{transform:translateY(0);}
.ec-prov.selected{background:var(--sel-bg);border-color:var(--sel-bd);}
.ec-prov-ic{width:44px;height:44px;border-radius:11px;display:grid;place-items:center;flex:0 0 auto;
  background:var(--glass-2);border:1px solid var(--line-2);color:var(--cyan);}
.ec-prov-tt b{font-size:15.5px;font-weight:650;display:block;}
.ec-prov-tt span{font-size:13.5px;color:var(--faint);}
.ec-prov-go{margin-left:auto;color:var(--faint);transition:color var(--dur-1),transform var(--dur-1);}
.ec-prov:hover .ec-prov-go{color:var(--cyan);transform:translateX(2px);}

/* "why different" panel */
.ec-why{padding:18px;border-radius:var(--r-3);background:var(--glass-1);border:1px solid var(--line);}
.ec-why-row{display:flex;align-items:flex-start;gap:12px;padding:11px 0;border-bottom:1px solid var(--line);}
.ec-why-row:last-of-type{border-bottom:0;}
.ec-bar{width:4px;align-self:stretch;border-radius:99px;flex:0 0 auto;min-height:34px;}
.ec-bar-red{background:var(--red);}
.ec-bar-mint{background:var(--mint);}
.ec-why-row .t{font-size:13px;line-height:1.45;}
.ec-why-row .t b{font-weight:650;}
.ec-why-row.them .t b{color:var(--red2);}
.ec-why-row.us .t b{color:var(--mint);}
.ec-why-row .t span{color:var(--faint);}
.ec-why-foot{margin-top:14px;padding-top:14px;border-top:1px solid var(--line-2);
  display:flex;align-items:baseline;justify-content:space-between;gap:10px;}
.ec-why-foot .l{font-size:12.5px;color:var(--dim);}
.ec-why-foot .v{font-family:var(--mono);font-size:26px;font-weight:700;color:var(--mint);line-height:1;}

/* ---------- WIZARD STEP 2: BRAIN ---------- */
.ec-brains{display:flex;flex-direction:column;gap:14px;}
.ec-brain{
  border-radius:var(--r-3);background:var(--glass-1);border:1px solid var(--line);
  overflow:hidden;transition:border-color var(--dur-2),background var(--dur-2);
}
.ec-brain[data-sel="true"]{border-color:var(--sel-bd);background:var(--sel-bg);box-shadow:0 0 30px -18px rgba(69,214,224,0.9);}
.ec-brain-hd{display:flex;align-items:center;gap:14px;padding:16px 18px;cursor:pointer;width:100%;text-align:left;background:transparent;border:0;color:var(--ink);}
.ec-brain-ic{width:42px;height:42px;border-radius:11px;display:grid;place-items:center;flex:0 0 auto;
  background:var(--glass-2);border:1px solid var(--line-2);color:var(--cyan);}
.ec-brain[data-sel="true"] .ec-brain-ic{color:var(--mint);border-color:var(--mint-bd);}
.ec-brain-tt b{font-size:15.5px;font-weight:650;display:block;}
.ec-brain-tt span{font-size:12.5px;color:var(--faint);}
.ec-badge{margin-left:auto;font-family:var(--mono);font-size:10.5px;letter-spacing:.05em;padding:5px 10px;border-radius:var(--r-chip);flex:0 0 auto;}
.ec-badge-ok{background:var(--mint-bg);border:1px solid var(--mint-bd);color:var(--mint);}
.ec-badge-info{background:var(--sel-bg);border:1px solid var(--sel-bd);color:var(--cyan);}
.ec-badge-off{background:rgba(255,107,107,0.10);border:1px solid rgba(255,107,107,0.4);color:var(--red2);}
.ec-radiomark{width:20px;height:20px;border-radius:50%;border:1.5px solid var(--line-2);flex:0 0 auto;margin-left:10px;display:grid;place-items:center;transition:border-color var(--dur-1);}
.ec-brain[data-sel="true"] .ec-radiomark{border-color:var(--mint);}
.ec-brain[data-sel="true"] .ec-radiomark::after{content:"";width:10px;height:10px;border-radius:50%;background:var(--mint);}
.ec-brain-body{border-top:1px solid var(--line);padding:6px 18px 18px;display:none;}
.ec-brain[data-sel="true"] .ec-brain-body{display:block;}

/* model picker */
.ec-model{display:flex;align-items:center;gap:13px;padding:13px;border-radius:var(--r-2);
  cursor:pointer;border:1px solid transparent;transition:background var(--dur-1),border-color var(--dur-1);margin-top:8px;}
.ec-model:hover{background:var(--glass-1);}
.ec-model[data-sel="true"]{background:var(--glass-2);border-color:var(--sel-bd);}
.ec-model .ec-radiomark{margin-left:0;}
.ec-model[data-sel="true"] .ec-radiomark{border-color:var(--cyan);}
.ec-model[data-sel="true"] .ec-radiomark::after{content:"";width:10px;height:10px;border-radius:50%;background:var(--cyan);}
.ec-model-tt{flex:1;min-width:0;}
.ec-model-tt .r1{display:flex;align-items:center;gap:9px;flex-wrap:wrap;}
.ec-model-tt b{font-size:14px;font-weight:600;}
.ec-model-meta{font-family:var(--mono);font-size:11px;color:var(--dim);}
.ec-tag{font-family:var(--mono);font-size:10px;letter-spacing:.04em;padding:3px 8px;border-radius:var(--r-chip);}
.ec-tag-fast{background:var(--amber-bg);color:var(--amber);border:1px solid var(--amber-bd);}
.ec-tag-rec{background:var(--mint-bg);color:var(--mint);border:1px solid var(--mint-bd);}
.ec-model-tt .blurb{font-size:12px;color:var(--faint);margin-top:3px;}
.ec-cache-note{display:flex;align-items:center;gap:8px;margin-top:12px;font-size:12px;color:var(--dim);}
.ec-cache-note .ec-i{color:var(--mint);}

/* BYOK form */
.ec-field{display:flex;flex-direction:column;gap:6px;margin-top:14px;}
.ec-field label{font-size:12px;color:var(--dim);font-weight:600;}
.ec-input,.ec-select{
  font-family:var(--sans);font-size:14px;color:var(--ink);
  background:var(--glass-0);border:1px solid var(--line-2);border-radius:var(--r-1);
  padding:11px 13px;width:100%;transition:border-color var(--dur-1),box-shadow var(--dur-1),background var(--dur-1);
}
.ec-input::placeholder{color:var(--faint-lg);}
.ec-input:hover,.ec-select:hover{border-color:var(--line-2);background:var(--glass-1);}
.ec-input:focus-visible,.ec-select:focus-visible{outline:none;border-color:var(--sel-bd);box-shadow:0 0 0 3px rgba(69,214,224,0.25);background:var(--glass-1);}
.ec-input.ec-mono{letter-spacing:.02em;}
.ec-select{
  appearance:none;-webkit-appearance:none;cursor:pointer;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='%2382989f' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 6l4 4 4-4'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 12px center;padding-right:36px;
}
.ec-vault-note{display:flex;align-items:flex-start;gap:8px;margin-top:12px;font-size:12px;color:var(--dim);line-height:1.45;}
.ec-vault-note .ec-i{color:var(--mint);margin-top:1px;}

/* wizard footer buttons */
.ec-actions{display:flex;align-items:center;gap:12px;margin-top:20px;}
.ec-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:9px;
  font-family:var(--sans);font-size:15px;font-weight:650;cursor:pointer;
  padding:12px 20px;border-radius:var(--r-2);border:1px solid transparent;
  transition:transform var(--dur-1),box-shadow var(--dur-2),background var(--dur-2),border-color var(--dur-2),opacity var(--dur-2);
}
.ec-btn:active{transform:translateY(1px);}
.ec-btn-primary{background:var(--grad);color:var(--grad-ink);box-shadow:0 8px 26px -12px rgba(69,214,224,0.8);}
.ec-btn-primary:hover{box-shadow:0 10px 30px -10px rgba(69,214,224,0.95);}
.ec-btn-primary:disabled,.ec-btn-primary.is-disabled{background:var(--glass-2);color:var(--faint-lg);cursor:not-allowed;box-shadow:none;border-color:var(--line);}
.ec-btn-ghost{background:transparent;color:var(--dim);border-color:var(--line-2);}
.ec-btn-ghost:hover{background:var(--glass-2);color:var(--ink);}
.ec-btn .ec-spin{width:15px;height:15px;border-radius:50%;border:2px solid rgba(6,20,13,0.35);border-top-color:var(--grad-ink);animation:ec-rot .7s linear infinite;}
@keyframes ec-rot{to{transform:rotate(360deg);}}

/* explainer cards (step2 right col) */
.ec-info-card{padding:16px;border-radius:var(--r-3);background:var(--glass-1);border:1px solid var(--line);margin-bottom:14px;}
.ec-info-card h4{margin:0 0 8px;font-size:14.5px;font-weight:650;}
.ec-info-card p{margin:0;font-size:13.5px;color:var(--dim);line-height:1.5;}

/* ---------- FINAL SETUP SURFACE ---------- */
/* The setup page has one clear eye path: positioning ribbon → hero proof →
   glowing connect panel. Keep these styles separate from the working inbox so
   the standalone demo can evolve without changing the dashboard geometry. */
.ec-teaser{
  display:flex;align-items:center;gap:10px;
  width:calc(100% + 44px);margin:-28px -22px 26px;padding:10px 22px;
  background:rgba(69,214,224,.08);border:1px solid rgba(69,214,224,.35);
  border-left:0;border-right:0;min-height:46px;
}
.ec-teaser .ec-logo-sm{width:20px;height:20px;border-radius:5px;}
.ec-teaser .ec-logo-sm svg{width:10px;height:10px;}
.ec-teaser-copy{font-size:13px;line-height:1.5;color:var(--dim);flex:1;min-width:0;}
.ec-teaser-copy b{color:var(--ink);font-weight:700;}
.ec-teaser-link{color:var(--cyan);font-size:13px;font-weight:650;white-space:nowrap;text-decoration:underline;text-underline-offset:3px;}
.ec-teaser-link:hover{color:var(--mint);}
.ec-step1{display:flex;flex-direction:column;gap:30px;}
.ec-step1-main{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:34px;align-items:start;}
.ec-step1 .ec-hero{margin:22px 0 0;}
.ec-step1 .ec-hero h1{max-width:18ch;}
.ec-step1 .ec-hero p{max-width:48ch;}
.ec-proof-list{display:flex;flex-direction:column;gap:10px;margin-top:20px;}
.ec-proof-list>span{display:flex;align-items:center;gap:10px;font-size:13.5px;color:var(--dim);}
.ec-proof-list .ec-i{color:var(--mint);}
.ec-start-card{position:relative;margin-top:30px;padding:26px 20px 16px;border-radius:var(--r-3);background:var(--glass-1);border:1px solid var(--sel-bd);box-shadow:var(--glow-mint);}
.ec-start-card h2{margin:0 0 5px;font-size:16px;font-weight:700;}
.ec-start-card>p{margin:0 0 15px;font-size:13.5px;color:var(--dim);}
.ec-start-beacon{position:absolute;top:-14px;left:22px;display:inline-flex;align-items:center;padding:7px 13px;border-radius:var(--r-chip);background:var(--grad);color:var(--grad-ink);font-family:var(--mono);font-size:11px;font-weight:700;letter-spacing:.08em;white-space:nowrap;box-shadow:0 0 18px -5px rgba(94,242,176,.75);animation:ec-beacon 2.8s var(--ease) infinite;}
@keyframes ec-beacon{0%,100%{box-shadow:0 0 18px -5px rgba(94,242,176,.75)}50%{box-shadow:0 0 25px -3px rgba(69,214,224,.9)}}
.ec-prov-compact{padding:16px;border-radius:var(--r-2);background:rgba(69,214,224,.05);}
.ec-prov-compact+.ec-prov-compact{background:var(--glass-1);}
.ec-prov-compact .ec-prov-ic{width:36px;height:36px;border-radius:10px;}
.ec-prov-compact .ec-prov-tt b{font-size:16px;}
.ec-prov-compact .ec-prov-tt span{font-size:13px;}
.ec-start-foot{text-align:center;margin-top:11px;font-size:12px;color:var(--faint);}
.ec-privacy-band{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr) 112px;gap:20px;align-items:center;padding:18px 20px;border-radius:var(--r-3);background:var(--glass-1);border:1px solid var(--line);}
.ec-privacy-side{display:flex;align-items:stretch;gap:12px;min-width:0;}
.ec-privacy-side .ec-bar{min-height:46px;}
.ec-privacy-side .t{font-size:13px;line-height:1.5;color:var(--dim);}
.ec-privacy-side .t b{font-weight:700;}
.ec-privacy-side.them .t b{color:var(--red2);}
.ec-privacy-side.us .t b{color:var(--mint);}
.ec-privacy-bytes{display:flex;flex-direction:column;align-items:flex-end;gap:2px;color:var(--dim);font-size:12px;text-align:right;}
.ec-privacy-bytes b{font-family:var(--mono);font-size:24px;line-height:1;color:var(--mint);}
.ec-start-primary{box-shadow:0 0 24px -10px rgba(94,242,176,.9);}
.ec-device{display:flex;align-items:center;gap:12px;}
.ec-device-ic{width:38px;height:38px;border-radius:10px;display:grid;place-items:center;background:var(--glass-2);border:1px solid var(--line-2);color:var(--mint);flex:0 0 auto;}
.ec-device-tt b{font-size:13px;display:block;}
.ec-device-tt span{font-family:var(--mono);font-size:11px;color:var(--mint);}

/* ---------- RUN PHASE ---------- */
.ec-run{padding:26px;border-radius:var(--r-4);background:var(--glass-1);border:1px solid var(--line);box-shadow:var(--shadow-2);}
.ec-run-hd{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:20px;flex-wrap:wrap;}
.ec-run-hd h2{margin:0;font-size:24px;font-weight:700;letter-spacing:-.01em;}
.ec-run-hd h2 em{font-style:normal;color:var(--cyan);}
.ec-run-eta{font-family:var(--mono);font-size:13px;color:var(--dim);}
.ec-run-eta b{color:var(--cyan);}

/* boss bar */
.ec-boss{position:relative;height:13px;border-radius:99px;background:var(--glass-0);border:1px solid var(--line-2);overflow:hidden;}
.ec-boss-fill{position:absolute;inset:0;width:0;border-radius:99px;background:var(--grad);transition:width var(--dur-3) var(--ease);}
.ec-boss-fill::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,transparent 20%,rgba(255,255,255,0.55) 50%,transparent 80%);
  transform:translateX(-100%);animation:ec-sheen 1.6s linear infinite;}
@keyframes ec-sheen{to{transform:translateX(220%);}}
.ec-boss-meta{display:flex;align-items:center;justify-content:space-between;margin-top:10px;}
.ec-boss-stage{font-family:var(--mono);font-size:12.5px;color:var(--cyan);letter-spacing:.03em;}
.ec-boss-pct{font-family:var(--mono);font-size:15px;font-weight:600;color:var(--ink);}

/* run stat cards */
.ec-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:22px 0;}
.ec-stat{padding:16px;border-radius:var(--r-3);background:var(--glass-1);border:1px solid var(--line);}
.ec-stat .n{font-family:var(--mono);font-size:34px;font-weight:700;line-height:1;letter-spacing:-.01em;}
.ec-stat .n.bumped{animation:ec-bump .34s var(--ease);}
@keyframes ec-bump{0%{transform:scale(1);}40%{transform:scale(1.22);}100%{transform:scale(1);}}
.ec-stat .l{font-size:12px;color:var(--dim);margin-top:7px;display:flex;align-items:center;gap:6px;}
.ec-stat .l::before{content:"";width:7px;height:7px;border-radius:2px;}
.ec-stat[data-k="triaged"] .n{color:var(--cyan);} .ec-stat[data-k="triaged"] .l::before{background:var(--cyan);}
.ec-stat[data-k="filed"] .n{color:var(--blue2);} .ec-stat[data-k="filed"] .l::before{background:var(--blue2);}
.ec-stat[data-k="drafted"] .n{color:var(--mint);} .ec-stat[data-k="drafted"] .l::before{background:var(--mint);}
.ec-stat[data-k="needs"] .n{color:var(--amber);} .ec-stat[data-k="needs"] .l::before{background:var(--amber);}

.ec-run-foot{display:flex;align-items:center;gap:20px;flex-wrap:wrap;padding-top:18px;border-top:1px solid var(--line);}
.ec-edge{display:flex;align-items:center;gap:10px;flex:1;min-width:220px;}
.ec-edge-track{flex:1;height:6px;border-radius:99px;background:var(--glass-0);border:1px solid var(--line);overflow:hidden;}
.ec-edge-fill{height:100%;width:0;background:linear-gradient(90deg,var(--mint),var(--cyan));border-radius:99px;transition:width var(--dur-3) var(--ease);}
.ec-edge-lbl{font-family:var(--mono);font-size:11.5px;color:var(--mint);white-space:nowrap;}
.ec-saved{font-family:var(--mono);font-size:13px;color:var(--dim);}
.ec-saved b{color:var(--mint);font-size:16px;}
.ec-run-status{width:100%;font-family:var(--mono);font-size:12px;color:var(--faint);padding-top:4px;}
.ec-run-status .ec-dot{display:inline-block;background:var(--cyan);margin-right:7px;vertical-align:middle;}

/* ---------- DASHBOARD ---------- */
/* reconnect strip */
.ec-reconnect{display:flex;align-items:center;gap:11px;margin-bottom:14px;padding:11px 16px;border-radius:var(--r-2);
  background:var(--amber-bg);border:1px solid var(--amber-bd);color:var(--amber);font-size:13px;}
.ec-reconnect .ec-dot{background:var(--amber);}
.ec-reconnect .ro{margin-left:auto;font-family:var(--mono);font-size:10.5px;letter-spacing:.08em;padding:4px 10px;border-radius:var(--r-chip);
  background:rgba(245,184,107,0.12);border:1px solid var(--amber-bd);}

/* trust bar */
.ec-trust{display:flex;align-items:center;gap:18px;flex-wrap:wrap;padding:15px 18px;border-radius:var(--r-3);
  background:var(--glass-1);border:1px solid var(--line);box-shadow:var(--shadow-1);margin-bottom:16px;}
.ec-trust-metric{display:flex;flex-direction:column;gap:3px;}
.ec-trust-metric .n{font-family:var(--mono);font-size:24px;font-weight:700;line-height:1;}
.ec-trust-metric.zero .n{color:var(--mint);}
.ec-trust-metric.worked .n{color:var(--cyan);}
.ec-trust-metric .l{font-size:11px;color:var(--dim);letter-spacing:.01em;}
.ec-trust-div{width:1px;align-self:stretch;background:var(--line-2);margin:2px 0;}
.ec-trust-right{margin-left:auto;display:flex;align-items:center;gap:10px;flex-wrap:wrap;}

/* brain chip */
.ec-brainchip{display:inline-flex;align-items:center;gap:8px;font-size:12.5px;color:var(--ink);
  padding:8px 13px;border-radius:var(--r-chip);background:var(--glass-2);border:1px solid var(--line-2);}
.ec-brainchip .ec-i{color:var(--mint);}
.ec-brainchip b{font-weight:600;}
.ec-brainchip span{color:var(--faint);}

/* mailbox switcher (native select styled as blue pill) */
.ec-mbx{position:relative;display:inline-flex;}
.ec-mbx select,.ec-acct{
  appearance:none;-webkit-appearance:none;font-family:var(--sans);font-size:12.5px;font-weight:600;
  color:var(--blue2);background:rgba(90,146,255,0.10);border:1px solid rgba(90,146,255,0.45);
  border-radius:var(--r-chip);padding:8px 34px 8px 15px;cursor:pointer;transition:background var(--dur-1),border-color var(--dur-1);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='%237da2ff' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 6l4 4 4-4'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 12px center;max-width:220px;
}
.ec-mbx select:hover,.ec-acct:hover{background-color:rgba(90,146,255,0.16);}
.ec-mbx select:focus-visible,.ec-acct:focus-visible{outline:none;box-shadow:0 0 0 3px rgba(69,214,224,0.3);border-color:var(--sel-bd);}
.ec-mbx select optgroup,.ec-acct optgroup{background:#0d1620;color:var(--faint);font-family:var(--mono);}
.ec-mbx select option,.ec-acct option{background:#0d1620;color:var(--ink);font-family:var(--sans);}

/* pill button (rescan) */
.ec-pill{display:inline-flex;align-items:center;gap:8px;font-size:12.5px;font-weight:600;cursor:pointer;
  color:var(--dim);background:var(--glass-2);border:1px solid var(--line-2);border-radius:var(--r-chip);
  padding:8px 15px;transition:background var(--dur-1),color var(--dur-1),border-color var(--dur-1);}
.ec-pill:hover{background:var(--glass-3);color:var(--ink);}
.ec-pill:active{transform:translateY(1px);}
.ec-pill .ec-i{color:var(--cyan);}

/* airplane toggle */
.ec-airplane{display:inline-flex;align-items:center;gap:9px;font-size:12.5px;color:var(--dim);}
.ec-switch{width:44px;height:25px;border-radius:99px;background:var(--glass-2);border:1px solid var(--line-2);
  position:relative;cursor:pointer;padding:0;transition:background var(--dur-2),border-color var(--dur-2);flex:0 0 auto;}
.ec-switch::after{content:"";position:absolute;top:2px;left:2px;width:19px;height:19px;border-radius:50%;
  background:var(--dim);transition:transform var(--dur-2),background var(--dur-2);}
.ec-switch[aria-checked="true"]{background:var(--amber-bg);border-color:var(--amber-bd);}
.ec-switch[aria-checked="true"]::after{transform:translateX(19px);background:var(--amber);}
.ec-switch:focus-visible{outline:none;box-shadow:0 0 0 3px rgba(69,214,224,0.35);}
/* claw-mode variant: ON = active/working (mint), not airplane's blocked amber */
.ec-switch.claw[aria-checked="true"]{background:var(--mint-bg);border-color:var(--mint-bd);}
.ec-switch.claw[aria-checked="true"]::after{transform:translateX(19px);background:var(--mint);}

/* tabs */
.ec-tabs{display:flex;align-items:center;gap:4px;margin-bottom:14px;border-bottom:1px solid var(--line);}
.ec-tab{display:inline-flex;align-items:center;gap:8px;font-size:13.5px;font-weight:600;cursor:pointer;color:var(--faint);
  background:transparent;border:0;padding:11px 14px;position:relative;transition:color var(--dur-1);}
.ec-tab:hover{color:var(--dim);}
.ec-tab[aria-selected="true"]{color:var(--ink);}
.ec-tab[aria-selected="true"]::after{content:"";position:absolute;left:10px;right:10px;bottom:-1px;height:2px;border-radius:2px;background:var(--grad);}
.ec-tab .ec-i{width:16px;height:16px;color:currentColor;}
.ec-live{margin-left:auto;display:inline-flex;align-items:center;gap:8px;font-size:12px;color:var(--dim);padding-right:4px;}
.ec-live .ec-dot{background:var(--mint);box-shadow:0 0 0 4px rgba(94,242,176,0.12);}
.ec-live b{color:var(--mint);font-family:var(--mono);}

/* folder filter pills */
.ec-folders{display:flex;gap:9px;margin-bottom:14px;flex-wrap:wrap;}
.ec-mailbox-map{margin:0 0 14px;padding:13px 15px;border:1px solid rgba(69,214,224,.22);border-radius:var(--r-card);background:linear-gradient(110deg,rgba(69,214,224,.055),rgba(125,162,255,.035));color:var(--dim);}
.ec-mailbox-map-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;}
.ec-mailbox-map-copy{display:flex;flex-direction:column;gap:3px;min-width:0;}
.ec-mailbox-map-copy b{font-size:13px;color:var(--ink);}
.ec-mailbox-map-copy span,.ec-mailbox-map-empty,.ec-mailbox-map-note{font-size:11px;line-height:1.45;}
.ec-mailbox-map-controls{display:flex;align-items:center;gap:8px;flex-shrink:0;}
.ec-readonly-badge,.ec-map-refresh,.ec-mailbox-map-item,.ec-mailbox-map-categories{font-family:var(--mono);font-size:9.5px;}
.ec-readonly-badge{color:var(--mint);text-transform:uppercase;letter-spacing:.05em;}
.ec-map-refresh{border:1px solid var(--line-2);border-radius:var(--r-chip);background:var(--glass-1);color:var(--cyan);padding:5px 8px;cursor:pointer;}
.ec-map-refresh:disabled{opacity:.55;cursor:default;}
.ec-mailbox-map-items,.ec-mailbox-map-categories{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-top:10px;}
.ec-mailbox-map-item,.ec-mailbox-map-categories em{border:1px solid var(--line-2);border-radius:var(--r-chip);background:var(--glass-1);padding:4px 7px;color:var(--ink);font-style:normal;}
.ec-mailbox-map-item i{margin-left:6px;color:var(--cyan);font-style:normal;}
.ec-mailbox-map-categories>span{color:var(--faint);text-transform:uppercase;letter-spacing:.05em;}
.ec-mailbox-map-categories em{color:var(--blue2);}
.ec-mailbox-map-note{margin-top:8px;color:var(--amber);}
.ec-folder{display:inline-flex;align-items:center;gap:8px;font-size:12.5px;font-weight:600;cursor:pointer;
  color:var(--dim);background:var(--glass-1);border:1px solid var(--line);border-radius:var(--r-chip);
  padding:8px 14px;transition:background var(--dur-1),color var(--dur-1),border-color var(--dur-1);}
.ec-folder:hover{background:var(--glass-2);color:var(--ink);}
.ec-folder .ct{font-family:var(--mono);font-size:11px;padding:1px 7px;border-radius:var(--r-chip);background:var(--glass-2);color:var(--faint);}
.ec-folder[aria-pressed="true"]{color:var(--ink);}
.ec-folder[data-f="needs"][aria-pressed="true"]{background:var(--amber-bg);border-color:var(--amber-bd);color:var(--amber);}
.ec-folder[data-f="needs"][aria-pressed="true"] .ct{background:rgba(245,184,107,0.2);color:var(--amber);}
.ec-folder[data-f="drafts"][aria-pressed="true"]{background:var(--mint-bg);border-color:var(--mint-bd);color:var(--mint);}
.ec-folder[data-f="drafts"][aria-pressed="true"] .ct{background:rgba(94,242,176,0.2);color:var(--mint);}
.ec-folder[data-f="filed"][aria-pressed="true"]{background:rgba(90,146,255,0.10);border-color:rgba(90,146,255,0.45);color:var(--blue2);}
.ec-folder[data-f="filed"][aria-pressed="true"] .ct{background:rgba(90,146,255,0.2);color:var(--blue2);}
.ec-folder:focus-visible{outline:none;box-shadow:0 0 0 3px rgba(69,214,224,0.3);}

/* inbox grid — list kept narrow so the draft/chat column (where the user works)
   gets the room; collapsing the list hands it the full width. */
.ec-inbox{display:grid;grid-template-columns:0.8fr 1.35fr;gap:16px;align-items:start;}
.ec-inbox[data-collapsed="true"]{grid-template-columns:1fr;}

.ec-list-pane{min-width:0;}
.ec-list-meta{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:0 3px 8px;font-family:var(--mono);font-size:10.5px;letter-spacing:.03em;color:var(--dim);}
.ec-list-scroll{color:var(--faint);}

/* thread list */
.ec-list{border-radius:var(--r-3);background:var(--glass-1);border:1px solid var(--line);overflow:hidden;
  max-height:560px;overflow-y:auto;}
.ec-list::-webkit-scrollbar{width:10px;}
.ec-list::-webkit-scrollbar-thumb{background:var(--glass-3);border-radius:99px;border:3px solid transparent;background-clip:padding-box;}
.ec-thread{display:block;width:100%;text-align:left;cursor:pointer;padding:13px 16px;border:0;border-bottom:1px solid var(--line);
  background:transparent;color:var(--ink);transition:background var(--dur-1);position:relative;animation:ec-slidein var(--dur-3) var(--ease);}
@keyframes ec-slidein{from{opacity:0;transform:translateY(-4px);}to{opacity:1;transform:none;}}
.ec-thread:hover{background:var(--glass-1);}
.ec-thread[aria-current="true"]{background:var(--sel-bg);box-shadow:inset 3px 0 0 var(--cyan);}
.ec-thread:focus-visible{outline:none;box-shadow:inset 0 0 0 2px var(--sel-bd);}
.ec-thread-r1{display:flex;align-items:baseline;gap:10px;margin-bottom:3px;}
.ec-thread-from{font-weight:650;font-size:14px;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.ec-thread-addr{font-weight:400;font-size:12.5px;color:var(--faint);}
.ec-thread-tag{font-family:var(--mono);font-size:9.5px;letter-spacing:.08em;text-transform:uppercase;padding:3px 7px;border-radius:var(--r-chip);flex:0 0 auto;}
.ec-thread-tag[data-t="needs"]{background:var(--amber-bg);color:var(--amber);border:1px solid var(--amber-bd);}
.ec-thread-tag[data-t="drafted"]{background:var(--mint-bg);color:var(--mint);border:1px solid var(--mint-bd);}
.ec-thread-tag[data-t="filed"]{background:rgba(90,146,255,0.10);color:var(--blue2);border:1px solid rgba(90,146,255,0.4);}
.ec-thread-tag[data-t="sent"]{background:var(--glass-2);color:var(--faint);border:1px solid var(--line-2);}
.ec-thread-time{font-family:var(--mono);font-size:11px;color:var(--faint);flex:0 0 auto;}
.ec-thread-subj{font-size:13.5px;font-weight:550;margin-bottom:3px;line-height:1.35;}
.ec-thread-snip{font-size:12.5px;color:var(--faint);line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.ec-thread-signals{display:flex;align-items:center;gap:6px;margin-top:9px;overflow:hidden;white-space:nowrap;}
.ec-signal-score,.ec-topic{font-family:var(--mono);font-size:9.5px;letter-spacing:.02em;padding:3px 7px;border-radius:var(--r-chip);border:1px solid var(--line-2);background:var(--glass-0);color:var(--faint);}
.ec-signal-score.high{color:var(--amber);border-color:var(--amber-bd);background:var(--amber-bg);}
.ec-signal-score.mid{color:var(--cyan);border-color:rgba(69,214,224,.35);background:rgba(69,214,224,.06);}
.ec-signal-score.low{color:var(--dim);}
.ec-topic{color:var(--blue2);border-color:rgba(125,162,255,.25);background:rgba(125,162,255,.06);}
.ec-route-compact{display:flex;align-items:center;gap:6px;margin-top:8px;font-family:var(--mono);font-size:11px;color:var(--faint);}
.ec-route-compact .ec-route-arrow{letter-spacing:.06em;color:var(--faint);}
.ec-route-compact b{font-weight:600;color:var(--dim);}
.ec-route-compact[data-matched="true"] .ec-route-arrow,.ec-route-compact[data-matched="true"] b{color:var(--blue2);}
.ec-route-compact .ec-route-confidence{margin-left:auto;padding-left:8px;font-size:10px;white-space:nowrap;}
.ec-route-docket{margin-top:12px;padding:14px 15px;border:1px solid var(--line-2);border-left:3px solid var(--faint);border-radius:var(--r-card);background:linear-gradient(110deg,rgba(125,162,255,.055),rgba(69,214,224,.025));}
.ec-route-docket[data-matched="true"]{border-left-color:var(--blue2);}
.ec-route-head{display:flex;align-items:center;justify-content:space-between;gap:12px;font-family:var(--mono);font-size:10px;text-transform:uppercase;letter-spacing:.08em;}
.ec-route-label{color:var(--cyan);}.ec-route-score{color:var(--dim);}
.ec-route-line{display:flex;align-items:center;gap:10px;margin-top:10px;font-family:var(--mono);font-size:12px;color:var(--faint);}
.ec-route-line .ec-route-track{flex:0 1 64px;overflow:hidden;color:var(--blue2);letter-spacing:.2em;}
.ec-route-line b{font-family:var(--sans);font-size:14px;color:var(--blue2);}
.ec-route-title{display:block;margin-top:8px;font-size:13px;color:var(--ink);}
.ec-route-evidence{display:flex;flex-direction:column;gap:4px;margin-top:8px;font-size:11.5px;line-height:1.4;color:var(--dim);}
.ec-route-evidence span::before{content:'·';margin-right:7px;color:var(--cyan);}
.ec-route-correction{display:flex;flex-wrap:wrap;align-items:flex-end;gap:9px 12px;margin-top:12px;padding-top:12px;border-top:1px solid var(--line);}
.ec-route-choice{display:flex;flex:1 1 220px;flex-direction:column;gap:6px;font-family:var(--mono);font-size:10.5px;color:var(--dim);}
.ec-route-choice select{min-height:38px;padding:7px 32px 7px 10px;border:1px solid var(--line-2);border-radius:8px;background:var(--glass-0);color:var(--ink);font:500 13px var(--sans);}
.ec-route-correction-actions{display:flex;flex-wrap:wrap;gap:8px;}
.ec-route-correction button{min-height:38px;padding:7px 11px;border:1px solid rgba(69,214,224,.3);border-radius:8px;background:rgba(69,214,224,.06);color:var(--cyan);font:600 11px var(--mono);cursor:pointer;}
.ec-route-correction .ec-route-domain{border-color:var(--line-2);background:transparent;color:var(--dim);}
.ec-route-correction button:hover{border-color:var(--cyan);color:var(--mint);}
.ec-route-correction button:disabled{opacity:.55;cursor:wait;}
.ec-route-correction-error{flex-basis:100%;font-size:11.5px;color:var(--red2);}
.ec-route-docket[data-corrected="true"]{border-left-color:var(--mint);}
.ec-route-boundary{display:flex;align-items:center;gap:6px;margin-top:10px;padding-top:9px;border-top:1px solid var(--line);font-family:var(--mono);font-size:10.5px;color:var(--mint);}

/* reading column */
.ec-read{display:flex;flex-direction:column;gap:14px;}

/* compose card — the money component */
.ec-compose{border-radius:var(--r-3);background:var(--glass-2);border:1px solid var(--line-2);box-shadow:var(--shadow-2);overflow:hidden;}
.ec-compose-hd{display:flex;align-items:center;gap:10px;padding:13px 16px;border-bottom:1px solid var(--line);
  background:linear-gradient(180deg,rgba(94,242,176,0.06),transparent);}
.ec-compose-hd .ec-i{color:var(--mint);}
.ec-compose-hd b{font-size:13.5px;font-weight:650;}
.ec-held{margin-left:auto;display:inline-flex;align-items:center;gap:6px;font-family:var(--mono);font-size:10px;letter-spacing:.06em;
  color:var(--amber);background:var(--amber-bg);border:1px solid var(--amber-bd);padding:4px 10px;border-radius:var(--r-chip);}
.ec-held .ec-dot{width:6px;height:6px;background:var(--amber);animation:none;}
.ec-draft-source{font-family:var(--mono);font-size:10px;color:var(--cyan);letter-spacing:.03em;}

/* quoted original */
.ec-quote{margin:14px 16px 0;padding:12px 14px;border-radius:var(--r-2);background:var(--glass-0);border:1px solid var(--line);border-left:3px solid var(--line-2);}
.ec-quote .q-hd{display:flex;align-items:baseline;gap:8px;margin-bottom:6px;}
.ec-quote .q-from{font-size:12px;font-weight:600;color:var(--dim);}
.ec-quote .q-time{font-family:var(--mono);font-size:10.5px;color:var(--faint);margin-left:auto;}
.ec-quote .q-body{font-size:12.5px;color:var(--faint);line-height:1.5;white-space:pre-line;}

/* Enrichment is a quiet evidence layer: reusable local signals, not a second
   assistant voice competing with the draft. */
.ec-enrichment{margin:14px 16px 0;padding:12px 14px;border-radius:var(--r-2);background:rgba(69,214,224,.045);border:1px solid rgba(69,214,224,.20);}
.ec-enrichment-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:7px;}
.ec-enrichment-label{font-family:var(--mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--cyan);}
.ec-enrichment-cache{font-family:var(--mono);font-size:10px;color:var(--faint);}
.ec-enrichment-summary{margin:0 0 10px;font-size:13px;line-height:1.5;color:var(--ink);}
.ec-enrichment-chips{display:flex;flex-wrap:wrap;gap:6px;}
.ec-enrichment-action{margin-top:10px;font-size:11.5px;color:var(--dim);}
.ec-enrichment-action[data-needs-action="true"]{color:var(--amber);font-weight:650;}
.ec-enrichment-local{margin-top:7px;font-size:11px;color:var(--blue2);}
.ec-enrichment-reasons{display:flex;flex-direction:column;gap:4px;margin-top:11px;padding-top:9px;border-top:1px solid var(--line);}
.ec-enrichment-reasons-label{font-family:var(--mono);font-size:10px;letter-spacing:.07em;text-transform:uppercase;color:var(--faint);}
.ec-reason{font-size:11.5px;color:var(--dim);}
.ec-reason::before{content:'•';color:var(--cyan);margin-right:7px;}

/* Suggestions are explicit, reversible UI affordances. They never mutate the
   provider mailbox; sending remains a separate approval action on a draft. */
.ec-suggestions{margin:12px 16px 0;padding:11px 14px;border-radius:var(--r-2);background:rgba(245,184,107,.055);border:1px solid rgba(245,184,107,.25);}
.ec-suggestions-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:9px;}
.ec-suggestions-label{font-family:var(--mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--amber);}
.ec-suggestions-hint{font-size:10.5px;color:var(--faint);}
.ec-suggestions-actions{display:flex;flex-wrap:wrap;gap:8px;}
.ec-suggestions-actions .ec-btn{padding:8px 12px;font-size:12px;}
.ec-suggestions-actions .ec-i{width:14px;height:14px;}
.ec-suggestion-link{text-decoration:none;}
.ec-suggestion-draft:disabled{opacity:.65;cursor:wait;}
.ec-suggestion-error{margin:0 0 10px;padding:9px 10px;border-radius:var(--r-1);background:rgba(245,184,107,.09);border:1px solid var(--amber-bd);color:var(--amber);font-size:12px;line-height:1.45;}
.ec-suggestion-error b{font-weight:700;}

/* Context-aware drafting: search is explicit, bounded, and reversible. */
.ec-context{margin:14px 16px 0;padding:12px 14px;border-radius:var(--r-2);background:rgba(125,162,255,.055);border:1px solid rgba(125,162,255,.24);}
.ec-context-head,.ec-held-drafts-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:9px;}
.ec-context-label,.ec-command-label{font-family:var(--mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--blue2);}
.ec-context-hint,.ec-context-meta,.ec-context-trust,.ec-context-version{font-size:10.5px;color:var(--faint);}
.ec-context-search{display:flex;gap:8px;}
.ec-context-input{flex:1;min-width:0;font-family:var(--sans);font-size:13px;color:var(--ink);background:var(--glass-0);border:1px solid var(--line-2);border-radius:var(--r-1);padding:9px 10px;}
.ec-context-input:focus-visible{outline:none;border-color:var(--blue2);box-shadow:0 0 0 3px rgba(125,162,255,.18);}
.ec-context-search .ec-btn{padding:8px 12px;font-size:12px;}
.ec-context-meta{margin-top:9px;font-family:var(--mono);}
.ec-context-results{display:flex;flex-direction:column;gap:6px;margin-top:9px;}
.ec-context-result,.ec-search-result{display:flex;align-items:center;gap:9px;width:100%;text-align:left;color:var(--ink);background:var(--glass-0);border:1px solid var(--line);border-radius:var(--r-1);padding:9px 10px;cursor:pointer;transition:background var(--dur-1),border-color var(--dur-1);}
.ec-context-result:hover,.ec-search-result:hover{background:var(--glass-2);border-color:var(--line-2);}
.ec-context-result.selected{background:var(--sel-bg);border-color:var(--sel-bd);}
.ec-context-check{width:20px;height:20px;display:grid;place-items:center;border-radius:50%;background:var(--glass-2);color:var(--cyan);font-family:var(--mono);font-size:12px;flex:0 0 auto;}
.ec-context-result-main,.ec-search-result-main{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1;}
.ec-context-result-main b,.ec-search-result-main b{font-size:12px;}
.ec-context-result-main span,.ec-search-result-main span{font-size:11.5px;color:var(--dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.ec-context-score,.ec-search-score{font-family:var(--mono);font-size:10px;color:var(--blue2);white-space:nowrap;}
.ec-context-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px;}
.ec-context-actions .ec-btn{font-size:12px;padding:8px 11px;}
.ec-context-version{margin-top:9px;font-family:var(--mono);color:var(--blue2);}
.ec-context-error{margin-top:9px;padding:8px 9px;border-radius:var(--r-1);background:var(--amber-bg);border:1px solid var(--amber-bd);color:var(--amber);font-size:12px;line-height:1.4;}
.ec-context-trust{display:flex;align-items:center;gap:6px;margin-top:10px;padding-top:9px;border-top:1px solid var(--line);}
.ec-context-trust .ec-i{width:13px;height:13px;color:var(--mint);}

/* compose fields */
.ec-cfields{padding:14px 16px 0;display:flex;flex-direction:column;gap:2px;}
.ec-cfield{display:flex;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid var(--line);}
.ec-cfield .k{font-size:12px;color:var(--faint);width:56px;flex:0 0 auto;font-weight:600;}
.ec-cfield .v{font-size:13.5px;color:var(--ink);flex:1;min-width:0;}
.ec-cfield .v.dim{color:var(--faint);}
/* editable To input variant */
.ec-to-input{font-family:var(--sans);font-size:13.5px;color:var(--ink);background:var(--glass-0);
  border:1px solid var(--amber-bd);border-radius:var(--r-1);padding:8px 11px;flex:1;transition:border-color var(--dur-1),box-shadow var(--dur-1);}
.ec-to-input::placeholder{color:var(--faint-lg);}
.ec-to-input:focus-visible{outline:none;border-color:var(--cyan);box-shadow:0 0 0 3px rgba(69,214,224,0.25);}

/* draft body */
.ec-cbody{padding:14px 16px;font-size:14px;line-height:1.6;color:var(--ink);white-space:pre-line;}

/* compose actions */
.ec-cactions{display:flex;align-items:center;gap:12px;padding:14px 16px;border-top:1px solid var(--line);background:var(--glass-0);}
.ec-cactions .ec-btn{padding:11px 20px;}
.ec-send.busy{opacity:.7;cursor:default;}
.ec-chint{font-size:11.5px;color:var(--faint);margin-left:auto;display:flex;align-items:center;gap:6px;}
.ec-chint .ec-i{color:var(--faint);width:14px;height:14px;}

/* read-only auto-filed variant */
.ec-compose[data-variant="filed"] .ec-compose-hd{background:linear-gradient(180deg,rgba(90,146,255,0.06),transparent);}
.ec-compose[data-variant="filed"] .ec-compose-hd .ec-i{color:var(--blue2);}
.ec-compose[data-variant="needs"] .ec-compose-hd{background:linear-gradient(180deg,rgba(245,184,107,0.10),transparent);}
.ec-compose[data-variant="needs"] .ec-compose-hd .ec-i{color:var(--amber);}
.ec-compose[data-variant="later"] .ec-compose-hd,.ec-compose[data-variant="reviewed"] .ec-compose-hd{background:linear-gradient(180deg,rgba(90,146,255,0.06),transparent);}
.ec-compose[data-variant="later"] .ec-compose-hd .ec-i,.ec-compose[data-variant="reviewed"] .ec-compose-hd .ec-i{color:var(--blue2);}
.ec-noreply{padding:14px 16px;font-size:13px;color:var(--dim);display:flex;align-items:center;gap:9px;}
.ec-noreply .ec-i{color:var(--blue2);}
.ec-needs-action{padding:14px 16px;font-size:13px;color:var(--amber);display:flex;align-items:center;gap:9px;border-top:1px solid var(--amber-bd);background:var(--amber-bg);}
.ec-needs-action .ec-i{color:var(--amber);}

/* assistant chat */
.ec-chat{border-radius:var(--r-3);background:var(--glass-1);border:1px solid var(--line);display:flex;flex-direction:column;overflow:hidden;}
.ec-command-suggestions{display:flex;align-items:center;gap:7px;flex-wrap:wrap;padding:11px 13px;border-bottom:1px solid var(--line);background:var(--glass-0);}
.ec-command-chip{font-family:var(--mono);font-size:10.5px;color:var(--cyan);background:var(--glass-1);border:1px solid rgba(69,214,224,.28);border-radius:var(--r-chip);padding:6px 9px;cursor:pointer;}
.ec-command-chip:hover{background:var(--sel-bg);border-color:var(--sel-bd);}
.ec-held-drafts{padding:11px 13px;border-bottom:1px solid var(--line);background:rgba(245,184,107,.035);}
.ec-held-drafts-head{margin-bottom:7px;}
.ec-held-drafts-head span:first-child{font-size:12px;font-weight:650;color:var(--ink);}
.ec-held-drafts-head span:last-child{font-family:var(--mono);font-size:10px;color:var(--amber);}
.ec-held-draft{display:flex;align-items:center;gap:8px;width:100%;padding:7px 0;text-align:left;color:var(--dim);background:transparent;border:0;border-top:1px solid var(--line);cursor:pointer;}
.ec-held-draft:hover{color:var(--ink);}
.ec-held-draft>span:nth-child(2){display:flex;flex-direction:column;gap:2px;min-width:0;flex:1;}
.ec-held-draft b{font-size:11.5px;color:var(--ink);}
.ec-held-draft span span{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.ec-held-dot{width:7px;height:7px;border-radius:50%;background:var(--amber);box-shadow:0 0 0 3px var(--amber-bg);flex:0 0 auto;}
.ec-held-draft .ec-i{width:14px;height:14px;color:var(--faint);}
.ec-chat-log{padding:14px;display:flex;flex-direction:column;gap:11px;max-height:230px;overflow-y:auto;}
.ec-bub{max-width:82%;font-size:13px;line-height:1.5;padding:10px 13px;border-radius:14px;white-space:pre-line;}
.ec-bub-agent{align-self:flex-start;background:var(--glass-2);border:1px solid var(--line);border-bottom-left-radius:5px;color:var(--ink);}
.ec-bub-user{align-self:flex-end;background:var(--sel-bg);border:1px solid var(--sel-bd);border-bottom-right-radius:5px;color:var(--ink);}
.ec-search-answer{max-width:96%;white-space:normal;}
.ec-search-lead{margin-bottom:8px;line-height:1.45;}
.ec-search-result{margin-top:6px;padding:8px 9px;background:var(--glass-1);}
.ec-search-foot{display:block;margin-top:9px;font-size:10.5px;color:var(--faint);}
.ec-chat-in{display:flex;align-items:center;gap:10px;padding:11px 13px;border-top:1px solid var(--line);background:var(--glass-0);}
.ec-chat-in input{flex:1;font-family:var(--sans);font-size:13.5px;color:var(--ink);background:transparent;border:0;}
.ec-chat-in input::placeholder{color:var(--faint-lg);}
.ec-chat-in input:focus-visible{outline:none;}
.ec-chat-in:focus-within{box-shadow:inset 0 0 0 1px var(--sel-bd);border-radius:var(--r-1);}

/* empty folder state */
.ec-empty{grid-column:1/-1;text-align:center;padding:60px 20px;color:var(--faint);font-family:var(--mono);font-size:13px;}
.ec-empty .ec-i{width:32px;height:32px;color:var(--line-2);margin-bottom:12px;display:block;margin-left:auto;margin-right:auto;}

/* ---------- GLASS BOX LOG ---------- */
.ec-caps{display:flex;gap:10px;margin-bottom:14px;flex-wrap:wrap;}
.ec-cap{display:inline-flex;align-items:center;gap:8px;font-family:var(--mono);font-size:11.5px;letter-spacing:.03em;
  padding:8px 13px;border-radius:var(--r-chip);}
.ec-cap-granted{background:var(--mint-bg);border:1px solid var(--mint-bd);color:var(--mint);}
.ec-cap-held{background:var(--amber-bg);border:1px solid var(--amber-bd);color:var(--amber);}
.ec-cap .ec-i{width:14px;height:14px;}
.ec-logbox{border-radius:var(--r-3);background-color:rgba(4,10,13,0.5);border:1px solid var(--line);
  padding:14px 16px;max-height:400px;overflow-y:auto;font-family:var(--mono);font-size:12px;line-height:1.85;}
.ec-logline{display:flex;gap:12px;animation:ec-slidein var(--dur-2) var(--ease);}
.ec-logline .ts{color:var(--faint);flex:0 0 auto;}
.ec-logline .kind{flex:0 0 auto;width:44px;text-transform:uppercase;font-size:10px;letter-spacing:.06em;padding-top:1px;}
.ec-logline .msg{flex:1;}
.ec-logline[data-k="info"] .kind{color:var(--dim);} .ec-logline[data-k="info"] .msg{color:var(--dim);}
.ec-logline[data-k="ok"] .kind{color:var(--mint);} .ec-logline[data-k="ok"] .msg{color:var(--ink);}
.ec-logline[data-k="cap"] .kind{color:var(--cyan);} .ec-logline[data-k="cap"] .msg{color:var(--ink);}
.ec-logline[data-k="warn"] .kind{color:var(--amber);} .ec-logline[data-k="warn"] .msg{color:var(--amber);}
.ec-logline[data-k="edge"] .kind{color:var(--blue2);} .ec-logline[data-k="edge"] .msg{color:var(--blue2);}
.ec-logfoot{margin-top:16px;padding:18px;border-radius:var(--r-3);background:var(--glass-1);border:1px solid var(--mint-bd);box-shadow:var(--glow-mint);}
.ec-logfoot b{color:var(--mint);font-size:15px;display:block;margin-bottom:6px;}
.ec-logfoot p{margin:0;font-size:13px;color:var(--dim);line-height:1.55;}

/* header "Clear everything" (top-right, dashboard only) + its inline confirm */
.ec-clear{background:transparent;border:0;color:var(--faint);font-size:12px;cursor:pointer;display:inline-flex;align-items:center;gap:6px;padding:5px 9px;border-radius:var(--r-1);transition:color var(--dur-1);}
.ec-clear:hover{color:var(--amber);}
.ec-clear:focus-visible{outline:none;box-shadow:0 0 0 3px rgba(245,184,107,0.3);}
.ec-clear-confirm{display:inline-flex;align-items:center;gap:8px;font-size:12px;color:var(--dim);} .ec-clear-confirm button{border:0;cursor:pointer;font-size:12px;padding:5px 11px;border-radius:var(--r-1);}
.ec-clear-yes{background:var(--amber);color:#1a1205;font-weight:600;} .ec-clear-no{background:transparent;color:var(--faint);}

/* inline error affordance */
.ec-error{display:flex;align-items:flex-start;gap:10px;margin-top:12px;padding:12px 14px;border-radius:var(--r-2);
  background:rgba(255,107,107,0.08);border:1px solid rgba(255,107,107,0.4);}
.ec-error .ec-i{color:var(--red2);flex:0 0 auto;margin-top:1px;}
.ec-error .t{font-size:12.5px;color:var(--red2);line-height:1.45;}
.ec-error .t b{color:var(--red);}

/* boot spinner */
.ec-boot{min-height:60vh;display:grid;place-items:center;}
.ec-boot-ring{width:44px;height:44px;border-radius:50%;border:3px solid var(--glass-3);border-top-color:var(--cyan);animation:ec-rot .8s linear infinite;}

/* read-only masking on dashboard while a snapshot awaits the live reconnect */
.ec-ro .ec-chat-in,
.ec-ro .ec-mbx,.ec-ro .ec-acct,
.ec-ro .ec-pill,
.ec-ro .ec-cactions,
.ec-ro .ec-airplane{opacity:.5;pointer-events:none;filter:saturate(.6);}

/* ---------- RESPONSIVE ---------- */
/* All width-driven layout lives in emailclaw-responsive.css (linked after this
   file) — EmailClaw is opened on phones as often as desktop, and this file is at
   its 600-line cap. Only the width-independent reduced-motion layer stays here. */

/* ---------- REDUCED MOTION ---------- */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms !important;animation-iteration-count:1 !important;transition-duration:.001ms !important;}
  .ec-dot{opacity:1 !important;}
  .ec-boss-fill::after{display:none;}
  .ec-boot-ring{border-top-color:var(--cyan);border-right-color:var(--cyan);}
}
