/*
 VennAura Curator Concierge — Design System
 File: va-styles.css
*/
:root {
  --obs:#0d0b10; --obs2:#15121a; --obs3:#1e1820;
  --parch:#f4ede2; --parch2:#e2d5c0; --paper:#faf7f2;
  --terra:#c4835a; --terra2:#d9a07a; --terra3:#8c4e2e;
  --gold:#b8963e; --gold2:#d4af6b;
  --ink:#1a1510; --ink2:#4a4035; --ink3:#8a7a68; --ink4:#b8a898;
  --coral:#e26e5a; --amber:#dcaf37; --teal:#48b9a3; --lav:#aa94d4;
  --rose:#e67d91; --sky:#55b2d7; --mist:#9d9bb8;
  --flag-red:#c0392b; --flag-amber:#e67e22; --flag-green:#27ae60; --flag-blue:#2980b9;
  --radius:12px; --shadow:0 2px 16px rgba(13,11,16,.12); --shadow-lg:0 8px 40px rgba(13,11,16,.18);
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'Jost',sans-serif;background:var(--parch);color:var(--ink);font-size:15px;line-height:1.65;min-height:100vh}
::-webkit-scrollbar{width:6px;height:6px}
::-webkit-scrollbar-track{background:var(--obs2)}
::-webkit-scrollbar-thumb{background:var(--terra3);border-radius:3px}
/* HEADER */
.hdr{background:var(--obs);padding:40px 64px 36px;position:relative;overflow:hidden}
.hdr::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 800px 300px at 70% 50%,rgba(196,131,90,.08) 0%,transparent 70%),radial-gradient(ellipse 400px 250px at 0% 100%,rgba(157,155,184,.06) 0%,transparent 60%);pointer-events:none}
.hdr-eye{font-family:'Courier Prime',monospace;font-size:.6rem;letter-spacing:4px;text-transform:uppercase;color:rgba(232,213,188,.3);margin-bottom:14px;position:relative;z-index:1}
.hdr h1{font-family:'Playfair Display',serif;font-size:2.6rem;font-weight:700;color:#fff;line-height:1.1;position:relative;z-index:1;margin-bottom:10px}
.hdr h1 em{font-style:italic;background:linear-gradient(135deg,#f0dfc0,var(--coral),var(--terra3));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.hdr-desc{font-size:.88rem;color:rgba(232,213,188,.42);max-width:680px;line-height:1.8;position:relative;z-index:1}
.hdr-pills{display:flex;gap:8px;flex-wrap:wrap;margin-top:20px;position:relative;z-index:1}
.pill{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.11);border-radius:20px;padding:4px 12px;font-size:.62rem;color:rgba(232,213,188,.55);font-family:'Courier Prime',monospace;letter-spacing:1px}
.status-live{display:inline-flex;align-items:center;gap:6px;font-family:'Courier Prime',monospace;font-size:.62rem;color:var(--teal);letter-spacing:2px;position:absolute;top:40px;right:64px;z-index:1}
.status-live::before{content:'';width:8px;height:8px;border-radius:50%;background:var(--teal);animation:pulse-dot 2s infinite}
@keyframes pulse-dot{0%,100%{opacity:1}50%{opacity:.3}}
/* TABS */
.tab-bar{background:var(--obs2);display:flex;overflow-x:auto;gap:0;padding:0 18px;position:sticky;top:0;z-index:200;border-bottom:1px solid rgba(232,213,188,.05);scrollbar-width:thin}
.tab-bar::-webkit-scrollbar{height:3px}
.tab-bar::-webkit-scrollbar-thumb{background:var(--terra);border-radius:2px}
.tb{background:transparent;border:none;border-bottom:2px solid transparent;color:rgba(232,213,188,.35);padding:12px 14px;cursor:pointer;font-size:.58rem;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;font-family:'Courier Prime',monospace;white-space:nowrap;transition:all .2s;display:flex;align-items:center;gap:6px}
.tb:hover{color:rgba(232,213,188,.65);background:rgba(255,255,255,.02)}
.tb.on{color:var(--terra2);border-bottom-color:var(--terra);background:rgba(196,131,90,.04)}
.tb-badge{font-size:.55rem;padding:1px 5px;border-radius:8px;background:rgba(226,110,90,.2);color:var(--coral);font-weight:700}
.tb.on .tb-badge{background:var(--terra);color:#fff}
/* PANELS */
.panel{display:none}.panel.on{display:block}
.pw{max-width:1200px;margin:0 auto;padding:48px 64px 100px}
/* TYPOGRAPHY */
.lbl{font-family:'Courier Prime',monospace;font-size:.6rem;letter-spacing:3.5px;text-transform:uppercase;color:var(--ink4);margin-bottom:8px}
.eyebrow{font-family:'Courier Prime',monospace;font-size:.62rem;letter-spacing:3px;text-transform:uppercase;color:var(--terra);margin-bottom:10px}
h2{font-family:'Playfair Display',serif;font-size:1.9rem;font-weight:700;color:var(--ink);margin:40px 0 12px;padding-bottom:10px;border-bottom:1px solid var(--parch2);line-height:1.2}
h2:first-of-type{margin-top:0}
h2 em{font-style:italic;color:var(--terra)}
h3{font-family:'Playfair Display',serif;font-size:1.2rem;font-weight:700;color:var(--ink2);margin:20px 0 8px}
h4{font-family:'Courier Prime',monospace;font-size:.7rem;letter-spacing:2px;text-transform:uppercase;color:var(--terra);margin:14px 0 6px}
p{font-size:.9rem;color:var(--ink2);margin-bottom:10px;line-height:1.78}
ul,ol{padding-left:20px;margin-bottom:10px}
li{font-size:.88rem;color:var(--ink2);margin-bottom:5px;line-height:1.6}
strong{color:var(--ink);font-weight:600}
code{font-family:'Courier Prime',monospace;font-size:.82em;background:rgba(196,131,90,.1);padding:2px 7px;border-radius:4px;color:var(--terra3)}
/* GRIDS */
.g2{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:14px 0}
.g3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:14px;margin:14px 0}
.g4{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:14px 0}
/* CARDS */
.card{background:var(--paper);border-radius:var(--radius);padding:20px 22px;border:1px solid var(--parch2);border-top:3px solid var(--terra);box-shadow:var(--shadow)}
.card.gold{border-top-color:var(--gold)}.card.teal{border-top-color:var(--teal)}.card.mist{border-top-color:var(--mist)}.card.red{border-top-color:var(--coral)}.card.blue{border-top-color:var(--sky)}.card.lav{border-top-color:var(--lav)}
.card-title{font-family:'Playfair Display',serif;font-size:1.05rem;font-weight:700;margin-bottom:12px}
.card-sub{font-family:'Courier Prime',monospace;font-size:.6rem;letter-spacing:2px;text-transform:uppercase;color:var(--ink4);margin-bottom:6px}
/* HIGHLIGHT BOXES */
.hl{border-left:4px solid var(--coral);background:rgba(226,110,90,.06);padding:16px 20px;border-radius:0 10px 10px 0;margin:16px 0;font-size:.88rem;line-height:1.75;color:var(--ink2)}
.hl.blue{border-color:var(--sky);background:rgba(85,178,215,.06)}
.hl.green{border-color:var(--teal);background:rgba(72,185,163,.06)}
.hl.amber{border-color:var(--amber);background:rgba(220,175,55,.06)}
.hl.purple{border-color:var(--lav);background:rgba(170,148,212,.06)}
.hl.gold{border-color:var(--gold);background:rgba(184,150,62,.06)}
/* STATS */
.stat-card{background:var(--paper);border:1px solid var(--parch2);border-radius:var(--radius);padding:20px;text-align:center;box-shadow:var(--shadow)}
.stat-n{font-family:'Playfair Display',serif;font-size:2.6rem;font-weight:700;line-height:1;margin-bottom:4px}
.stat-l{font-size:.78rem;color:var(--ink3);font-weight:600;letter-spacing:.04em}
.stat-n.red{color:var(--coral)}.stat-n.blue{color:var(--sky)}.stat-n.green{color:var(--teal)}.stat-n.gold{color:var(--gold)}.stat-n.purple{color:var(--lav)}
/* FORMS */
.fg{margin-bottom:16px}
.fg label{display:block;font-family:'Courier Prime',monospace;font-size:.62rem;letter-spacing:2px;text-transform:uppercase;color:var(--ink3);margin-bottom:6px}
.fg input,.fg select,.fg textarea{width:100%;background:var(--paper);border:1px solid var(--parch2);border-radius:8px;padding:10px 14px;font-family:'Jost',sans-serif;font-size:.88rem;color:var(--ink);outline:none;transition:border-color .2s}
.fg input:focus,.fg select:focus,.fg textarea:focus{border-color:var(--terra);box-shadow:0 0 0 3px rgba(196,131,90,.12)}
.fg textarea{min-height:100px;resize:vertical}
input[type="range"]{-webkit-appearance:none;width:100%;height:6px;border-radius:3px;background:var(--parch2);outline:none;cursor:pointer}
input[type="range"]::-webkit-slider-thumb{-webkit-appearance:none;width:18px;height:18px;border-radius:50%;background:var(--terra);box-shadow:0 0 0 3px rgba(196,131,90,.2)}
.radio-group{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}
.radio-opt{display:flex;align-items:center;gap:6px;background:var(--paper);border:1px solid var(--parch2);border-radius:8px;padding:7px 12px;font-size:.82rem;cursor:pointer;transition:all .15s}
.radio-opt:has(input:checked){border-color:var(--terra);background:rgba(196,131,90,.08);color:var(--terra3)}
.radio-opt input{margin:0;accent-color:var(--terra)}
/* BUTTONS */
.btn{display:inline-flex;align-items:center;gap:7px;padding:10px 20px;border-radius:8px;font-family:'Jost',sans-serif;font-size:.88rem;font-weight:600;cursor:pointer;border:none;transition:all .2s;text-decoration:none}
.btn-primary{background:var(--terra);color:#fff}.btn-primary:hover{background:var(--terra3)}
.btn-secondary{background:var(--paper);color:var(--ink2);border:1px solid var(--parch2)}.btn-secondary:hover{border-color:var(--terra);color:var(--terra)}
.btn-danger{background:rgba(192,57,43,.1);color:var(--flag-red);border:1px solid rgba(192,57,43,.2)}.btn-danger:hover{background:var(--flag-red);color:#fff}
.btn-success{background:rgba(39,174,96,.1);color:var(--flag-green);border:1px solid rgba(39,174,96,.2)}.btn-success:hover{background:var(--flag-green);color:#fff}
.btn-sm{padding:6px 14px;font-size:.8rem}.btn-lg{padding:14px 28px;font-size:1rem}
/* BADGES */
.badge{font-family:'Courier Prime',monospace;font-size:.6rem;letter-spacing:1px;text-transform:uppercase;padding:3px 9px;border-radius:100px;font-weight:700;display:inline-block}
.badge-must{background:rgba(192,57,43,.12);color:var(--flag-red)}.badge-high{background:rgba(230,126,34,.12);color:var(--flag-amber)}
.badge-med{background:rgba(39,174,96,.12);color:var(--flag-green)}.badge-ai{background:rgba(170,148,212,.12);color:var(--lav)}
.badge-gate{background:rgba(196,131,90,.12);color:var(--terra)}.badge-done{background:rgba(72,185,163,.12);color:var(--teal)}.badge-phase{background:rgba(85,178,215,.12);color:var(--sky)}
/* TABLES */
.tbl{width:100%;border-collapse:collapse;font-size:.85rem;margin-bottom:20px}
.tbl th{background:var(--obs);color:#fff;padding:10px 14px;text-align:left;font-size:.6rem;letter-spacing:.08em;text-transform:uppercase;font-family:'Courier Prime',monospace}
.tbl th:first-child{border-radius:8px 0 0 0}.tbl th:last-child{border-radius:0 8px 0 0}
.tbl td{padding:11px 14px;border-bottom:1px solid var(--parch2);vertical-align:top;line-height:1.55}
.tbl tr:last-child td{border-bottom:none}.tbl tr:nth-child(even) td{background:rgba(242,237,228,.5)}.tbl tr:hover td{background:rgba(196,131,90,.04)}
/* SCORE BARS */
.score-bar{height:10px;border-radius:5px;background:var(--parch2);overflow:hidden;margin-top:4px}
.score-fill{height:100%;border-radius:5px;transition:width .4s ease}
.fill-red{background:linear-gradient(90deg,var(--coral),var(--flag-red))}.fill-blue{background:linear-gradient(90deg,var(--sky),#2d6be4)}
.fill-green{background:linear-gradient(90deg,var(--teal),var(--flag-green))}.fill-gold{background:linear-gradient(90deg,var(--amber),var(--gold))}
.fill-terra{background:linear-gradient(90deg,var(--terra2),var(--terra3))}
/* TIMELINE */
.timeline{position:relative;padding-left:36px}
.timeline::before{content:'';position:absolute;left:12px;top:8px;bottom:0;width:2px;background:linear-gradient(to bottom,var(--terra),var(--parch2))}
.tl-item{position:relative;margin-bottom:24px}
.tl-dot{position:absolute;left:-30px;top:6px;width:12px;height:12px;border-radius:50%;background:var(--paper);border:2px solid var(--parch2)}
.tl-dot.done{background:var(--teal);border-color:var(--teal)}.tl-dot.active{background:var(--terra);border-color:var(--terra);box-shadow:0 0 0 4px rgba(196,131,90,.2)}.tl-dot.warn{background:var(--amber);border-color:var(--amber)}.tl-dot.flag{background:var(--coral);border-color:var(--coral)}
.tl-card{background:var(--paper);border:1px solid var(--parch2);border-radius:10px;padding:14px 18px;box-shadow:var(--shadow)}
.tl-date{font-family:'Courier Prime',monospace;font-size:.62rem;color:var(--ink3);letter-spacing:1px;margin-bottom:4px}
.tl-title{font-weight:700;font-size:.92rem;margin-bottom:4px}.tl-body{font-size:.82rem;color:var(--ink3);line-height:1.6}
/* PHASE STRIP */
.phase-strip{display:flex;gap:0;border:1px solid var(--parch2);border-radius:var(--radius);overflow:hidden;margin:16px 0 28px}
.ph{flex:1;padding:14px 12px;text-align:center;border-right:1px solid var(--parch2)}.ph:last-child{border-right:none}
.ph-n{font-family:'Courier Prime',monospace;font-size:.58rem;letter-spacing:.12em;text-transform:uppercase;margin-bottom:5px}
.ph-title{font-weight:700;font-size:.85rem;margin-bottom:3px}.ph-sub{font-size:.75rem;color:var(--ink3)}
.ph0{background:rgba(226,110,90,.06)}.ph0 .ph-n{color:var(--coral)}.ph1{background:rgba(72,185,163,.06)}.ph1 .ph-n{color:var(--teal)}
.ph2{background:rgba(85,178,215,.06)}.ph2 .ph-n{color:var(--sky)}.ph3{background:rgba(170,148,212,.06)}.ph3 .ph-n{color:var(--lav)}
.ph4{background:rgba(220,175,55,.06)}.ph4 .ph-n{color:var(--gold)}.ph.active{outline:2px solid var(--terra);outline-offset:-2px}
/* FLAGS */
.flag-item{padding:14px 18px;border-radius:10px;font-size:.85rem;line-height:1.6;margin-bottom:10px}
.flag-red{background:rgba(192,57,43,.06);border-left:3px solid var(--flag-red)}.flag-amber{background:rgba(230,126,34,.06);border-left:3px solid var(--flag-amber)}
.flag-yellow{background:rgba(243,156,18,.06);border-left:3px solid #f39c12}.flag-green{background:rgba(39,174,96,.06);border-left:3px solid var(--flag-green)}
.flag-item strong{display:block;font-size:.82rem;font-weight:700;margin-bottom:3px}
/* AVATARS & MEMBERS */
.avatar{width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:'Playfair Display',serif;font-size:1.1rem;font-weight:700;color:#fff;flex-shrink:0}
.avatar-terra{background:linear-gradient(135deg,var(--terra),var(--terra3))}.avatar-teal{background:linear-gradient(135deg,var(--teal),#2d9e8a)}
.avatar-sky{background:linear-gradient(135deg,var(--sky),var(--sky))}.avatar-lav{background:linear-gradient(135deg,var(--lav),#7b3fa0)}
.avatar-gold{background:linear-gradient(135deg,var(--gold),var(--terra3))}.avatar-coral{background:linear-gradient(135deg,var(--coral),var(--flag-red))}
.member-row{display:flex;align-items:center;gap:14px;background:var(--paper);border:1px solid var(--parch2);border-radius:10px;padding:14px 18px;margin-bottom:10px;cursor:pointer;transition:all .15s;box-shadow:var(--shadow)}
.member-row:hover{border-color:var(--terra);box-shadow:var(--shadow-lg)}.member-info{flex:1}
.member-name{font-weight:700;font-size:.95rem;margin-bottom:2px}.member-meta{font-size:.78rem;color:var(--ink3);font-family:'Courier Prime',monospace;letter-spacing:.5px}
/* DIMENSION ROWS */
.dim-row{background:var(--paper);border:1px solid var(--parch2);border-radius:10px;padding:16px 18px;margin-bottom:12px;box-shadow:var(--shadow)}
.dim-head{display:flex;align-items:center;gap:10px;margin-bottom:10px}
.dim-icon{font-size:1.3rem;flex-shrink:0}.dim-title{font-family:'Playfair Display',serif;font-size:.95rem;font-weight:700;flex:1}
.dim-max{font-family:'Courier Prime',monospace;font-size:.7rem;color:var(--ink3)}.dim-score-display{font-family:'Playfair Display',serif;font-size:1.1rem;font-weight:700;color:var(--terra);min-width:36px;text-align:right}
.dim-desc{font-size:.8rem;color:var(--ink3);line-height:1.55;margin-bottom:10px}
/* SIGNAL TRACKER */
.sig-cluster{background:var(--paper);border:1px solid var(--parch2);border-radius:var(--radius);margin-bottom:16px;box-shadow:var(--shadow);overflow:hidden}
.sig-cluster-head{padding:14px 18px;background:var(--obs);color:rgba(232,213,188,.8);display:flex;align-items:center;gap:10px}
.sig-cluster-title{font-family:'Courier Prime',monospace;font-size:.72rem;letter-spacing:2px;text-transform:uppercase}
.sig-row{display:grid;grid-template-columns:70px 1fr auto;gap:12px;align-items:center;padding:12px 16px;border-bottom:1px solid var(--parch2);font-size:.85rem}
.sig-row:last-child{border-bottom:none}.sig-id{font-family:'Courier Prime',monospace;font-size:.72rem;color:var(--ink3)}
.sig-status{display:flex;gap:4px}
.sig-btn{width:28px;height:28px;border-radius:6px;border:1px solid var(--parch2);background:var(--paper);cursor:pointer;font-size:.75rem;display:flex;align-items:center;justify-content:center;transition:all .15s}
.sig-btn.pos.on{background:var(--teal);border-color:var(--teal);color:#fff}.sig-btn.neg.on{background:var(--coral);border-color:var(--coral);color:#fff}.sig-btn.neu.on{background:var(--amber);border-color:var(--amber);color:#fff}
.sig-btn.pos:hover{background:var(--teal);border-color:var(--teal);color:#fff}.sig-btn.neg:hover{background:var(--coral);border-color:var(--coral);color:#fff}.sig-btn.neu:hover{background:var(--amber);border-color:var(--amber);color:#fff}
/* NARRATIVE PROMPTS */
.prompt-card{background:var(--paper);border:1px solid var(--parch2);border-radius:var(--radius);padding:20px 22px;margin-bottom:14px;box-shadow:var(--shadow)}
.prompt-head{display:flex;align-items:flex-start;gap:12px;margin-bottom:12px}
.prompt-num{background:var(--obs);color:var(--terra2);font-family:'Courier Prime',monospace;font-size:.65rem;letter-spacing:1px;width:36px;height:36px;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-weight:700}
.prompt-meta{flex:1}.prompt-title{font-family:'Playfair Display',serif;font-size:1.05rem;font-weight:700;margin-bottom:3px}
.prompt-week{font-family:'Courier Prime',monospace;font-size:.62rem;color:var(--ink3);letter-spacing:1px}
.prompt-text{font-size:.85rem;color:var(--ink2);line-height:1.7;font-style:italic;margin-bottom:12px;background:rgba(196,131,90,.06);padding:12px 14px;border-radius:8px;border-left:3px solid var(--terra2)}
.prompt-reveals{font-size:.8rem;color:var(--ink3);margin-bottom:12px}
/* MODAL */
.modal-overlay{position:fixed;inset:0;background:rgba(13,11,16,.8);z-index:1000;display:flex;align-items:center;justify-content:center;backdrop-filter:blur(4px);opacity:0;pointer-events:none;transition:opacity .2s}
.modal-overlay.open{opacity:1;pointer-events:all}
.modal{background:var(--paper);border-radius:var(--radius);padding:32px;max-width:680px;width:92%;max-height:88vh;overflow-y:auto;box-shadow:var(--shadow-lg);transform:translateY(20px);transition:transform .2s;position:relative}
.modal-overlay.open .modal{transform:translateY(0)}.modal-title{font-family:'Playfair Display',serif;font-size:1.4rem;font-weight:700;margin-bottom:20px}
.modal-close{position:absolute;top:16px;right:16px;background:none;border:none;cursor:pointer;font-size:1.2rem;color:var(--ink3);padding:4px;transition:color .15s}.modal-close:hover{color:var(--coral)}
/* TOAST */
#toast-container{position:fixed;bottom:24px;right:24px;z-index:2000;display:flex;flex-direction:column;gap:8px}
.toast{background:var(--obs);color:#fff;padding:12px 20px;border-radius:10px;font-size:.85rem;border-left:3px solid var(--terra);box-shadow:var(--shadow-lg);animation:slideIn .3s ease;max-width:320px}
.toast.success{border-color:var(--teal)}.toast.error{border-color:var(--coral)}
@keyframes slideIn{from{transform:translateX(100%);opacity:0}to{transform:none;opacity:1}}
/* IMPORT ZONE */
.import-zone{border:2px dashed var(--parch2);border-radius:var(--radius);padding:40px;text-align:center;cursor:pointer;transition:all .2s;background:var(--paper)}
.import-zone:hover,.import-zone.dragover{border-color:var(--terra);background:rgba(196,131,90,.04)}
.import-zone .iz-icon{font-size:2.5rem;margin-bottom:12px}.import-zone .iz-title{font-family:'Playfair Display',serif;font-size:1.1rem;font-weight:700;margin-bottom:6px}.import-zone .iz-sub{font-size:.82rem;color:var(--ink3)}
/* MANUAL */
.manual-section{background:var(--paper);border:1px solid var(--parch2);border-radius:var(--radius);margin-bottom:16px;overflow:hidden;box-shadow:var(--shadow)}
.manual-header{padding:16px 20px;cursor:pointer;display:flex;align-items:center;gap:12px;background:var(--paper);transition:background .15s}.manual-header:hover{background:rgba(196,131,90,.04)}
.manual-icon{font-size:1.4rem;flex-shrink:0}.manual-title{font-family:'Playfair Display',serif;font-size:1.05rem;font-weight:700;flex:1}
.manual-arrow{color:var(--ink3);transition:transform .2s;font-size:.8rem}.manual-section.open .manual-arrow{transform:rotate(90deg)}
.manual-body{padding:0 20px 20px;display:none}.manual-section.open .manual-body{display:block}
.example-box{background:rgba(196,131,90,.06);border:1px solid rgba(196,131,90,.2);border-radius:10px;padding:16px 18px;margin:12px 0}
.example-box .ex-label{font-family:'Courier Prime',monospace;font-size:.6rem;letter-spacing:2px;text-transform:uppercase;color:var(--terra);margin-bottom:8px}
.example-box .ex-scenario{font-size:.85rem;color:var(--ink2);line-height:1.7}.example-box .ex-action{font-size:.83rem;color:var(--teal);font-weight:600;margin-top:8px}
.step-list{list-style:none;counter-reset:step-counter}
.step-list li{counter-increment:step-counter;position:relative;padding-left:36px;margin-bottom:12px;font-size:.88rem;color:var(--ink2);line-height:1.7}
.step-list li::before{content:counter(step-counter);position:absolute;left:0;width:24px;height:24px;border-radius:50%;background:var(--terra);color:#fff;display:flex;align-items:center;justify-content:center;font-size:.7rem;font-weight:700;font-family:'Courier Prime',monospace}
/* CADENCE */
.cadence-track{display:grid;grid-template-columns:repeat(28,1fr);gap:3px;margin:16px 0}
.day-cell{aspect-ratio:1;border-radius:4px;background:var(--parch2);cursor:pointer;transition:all .15s;position:relative}.day-cell:hover{transform:scale(1.15);z-index:1}
.day-cell.text-day{background:linear-gradient(135deg,var(--terra2),var(--terra3))}.day-cell.call-day{background:linear-gradient(135deg,var(--sky),#2d6be4)}
.day-cell.video-day{background:linear-gradient(135deg,var(--lav),#7b3fa0)}.day-cell.date-day{background:linear-gradient(135deg,var(--teal),var(--flag-green))}
.day-cell.flag-day{background:linear-gradient(135deg,var(--coral),var(--flag-red))}.day-cell.deadline{outline:2px solid var(--coral);outline-offset:-1px}
/* GATE CHECK */
.gate-check{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border-radius:8px;background:var(--paper);border:1px solid var(--parch2);margin-bottom:8px;font-size:.85rem}
.gate-check input[type="checkbox"]{width:18px;height:18px;flex-shrink:0;accent-color:var(--terra);margin-top:1px;cursor:pointer}
.gate-check.checked{background:rgba(72,185,163,.06);border-color:var(--teal)}
.gate-check label{flex:1;cursor:pointer;line-height:1.5}.gate-check label strong{display:block;font-size:.85rem;margin-bottom:2px}.gate-check label span{font-size:.78rem;color:var(--ink3)}
/* UTILITIES */
.mt-0{margin-top:0!important}.mb-0{margin-bottom:0!important}.mt-16{margin-top:16px}.mb-16{margin-bottom:16px}.mb-24{margin-bottom:24px}
.flex{display:flex}.flex-center{display:flex;align-items:center}.gap-8{gap:8px}.gap-12{gap:12px}.gap-16{gap:16px}
.fw-bold{font-weight:700}.text-muted{color:var(--ink3)}.text-terra{color:var(--terra)}.text-teal{color:var(--teal)}.text-coral{color:var(--coral)}
.mono{font-family:'Courier Prime',monospace}.italic{font-style:italic}.justify-between{justify-content:space-between}.w-full{width:100%}.hidden{display:none!important}
hr.div{border:none;border-top:1px solid var(--parch2);margin:32px 0}
.empty-state{text-align:center;padding:48px 24px;color:var(--ink3)}.empty-state .es-icon{font-size:3rem;margin-bottom:12px}.empty-state .es-title{font-family:'Playfair Display',serif;font-size:1.2rem;margin-bottom:8px;color:var(--ink2)}.empty-state .es-sub{font-size:.85rem;max-width:360px;margin:0 auto}
/* RESPONSIVE */
@media(max-width:900px){.pw{padding:24px 18px 60px}.hdr{padding:28px 18px 24px}.hdr h1{font-size:1.8rem}.status-live{position:static;margin-top:12px}.g3,.g4{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.g2,.g3,.g4{grid-template-columns:1fr}.hdr h1{font-size:1.5rem}.cadence-track{grid-template-columns:repeat(14,1fr)}}
@media print{.tab-bar,.btn,.modal-overlay,#toast-container{display:none!important}.panel{display:block!important}.pw{padding:20px}body{font-size:12px}}
