/* ===== TBG Hello Week — app shell styles (extends ../styles.css) ===== */
/* hidden must always win over component display rules (modals, drawers, menus) */
[hidden]{display:none!important}

/* --- Login --- */
.auth{min-height:100vh;display:grid;grid-template-columns:1.1fr .9fr}
.auth__brandside{background:var(--bg-soft);border-right:1px solid var(--line);padding:48px;display:flex;flex-direction:column;justify-content:space-between}
.auth__brand{display:flex;align-items:baseline;gap:8px;font-family:var(--serif);font-size:1.4rem}
.auth__pitch h1{font-size:clamp(2rem,4vw,3rem);line-height:1.05;margin-bottom:18px}
.auth__pitch p{color:var(--ink-dim);max-width:42ch}
.auth__stats{display:flex;gap:30px;margin-top:30px}
.auth__stats b{font-family:var(--serif);font-size:1.7rem;color:var(--accent-warm);display:block}
.auth__stats span{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-faint)}
.auth__formside{display:flex;align-items:center;justify-content:center;padding:40px}
.auth__card{width:100%;max-width:380px}
.auth__card h2{font-size:1.8rem;margin-bottom:6px}
.auth__card>p{color:var(--ink-dim);font-size:.92rem;margin-bottom:26px}
.auth__tabs{display:flex;gap:6px;margin-bottom:22px;background:var(--panel);border:1px solid var(--line);border-radius:999px;padding:4px}
.auth__tab{flex:1;background:transparent;border:0;color:var(--ink-dim);padding:.6em;border-radius:999px;cursor:pointer;font-family:var(--sans);font-size:.9rem}
.auth__tab.is-active{background:var(--ink);color:#000;font-weight:600}
.field{margin-bottom:16px}
.field label{display:block;font-size:.8rem;color:var(--ink-dim);margin-bottom:6px}
.field input{width:100%;background:var(--panel);border:1px solid var(--line-2);color:var(--ink);border-radius:10px;padding:.8em .9em;font-size:.95rem;font-family:var(--sans)}
.field input:focus{outline:none;border-color:var(--accent-warm)}
.auth__submit{width:100%;justify-content:center;margin-top:6px}
.auth__err{color:var(--bad);font-size:.84rem;margin-top:12px;min-height:1.2em}
.auth__alt{text-align:center;margin-top:20px;font-size:.85rem;color:var(--ink-faint)}
.auth__alt a{color:var(--ink-dim)}
.auth__note{font-size:.72rem;color:var(--ink-faint);margin-top:22px;text-align:center;line-height:1.5}
.auth__note b{color:var(--ink-dim)}

/* Google sign-in button */
.gbtn{width:100%;display:flex;align-items:center;justify-content:center;gap:12px;background:#fff;color:#1f1f1f;border:0;border-radius:10px;padding:.85em 1em;font-family:var(--sans);font-weight:600;font-size:.98rem;cursor:pointer;transition:.15s;margin-top:6px}
.gbtn:hover{box-shadow:0 6px 22px -8px rgba(255,255,255,.4);transform:translateY(-1px)}
.gbtn:active{transform:translateY(0)}
.auth__denied{background:rgba(224,103,90,.12);border:1px solid rgba(224,103,90,.4);color:#f0a79c;border-radius:10px;padding:12px 14px;font-size:.85rem;margin-bottom:18px}
.auth__denied b{color:#fff}
.auth__divider-x{display:flex;align-items:center;gap:12px;margin:22px 0 4px;color:var(--ink-faint);font-size:.7rem;letter-spacing:.12em;text-transform:uppercase}
.auth__divider-x::before,.auth__divider-x::after{content:"";flex:1;height:1px;background:var(--line)}

/* Simulated Google account chooser (demo) */
.gmodal{position:fixed;inset:0;background:rgba(0,0,0,.66);backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;z-index:200;padding:20px}
.gmodal__box{width:100%;max-width:400px;background:#fff;color:#1f1f1f;border-radius:14px;padding:10px;box-shadow:0 30px 80px -20px rgba(0,0,0,.6)}
.gmodal__head{display:flex;align-items:center;gap:10px;padding:14px 12px;font-size:.95rem;font-weight:600;border-bottom:1px solid #eee}
.gmodal__head em{color:#888;font-style:normal;font-weight:400;font-size:.8rem}
.gacct{width:100%;display:flex;align-items:center;gap:12px;background:none;border:0;padding:12px;cursor:pointer;text-align:left;border-radius:8px;font-family:var(--sans)}
.gacct:hover{background:#f3f4f6}
.gacct__av{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;background:#6366f1;color:#fff;font-size:.8rem;font-weight:600;flex:none}
.gacct__av--ext{background:#9aa0a6}
.gacct span:last-child{display:flex;flex-direction:column}
.gacct b{font-size:.9rem;color:#202124}
.gacct i{font-size:.8rem;color:#5f6368;font-style:normal}
.gacct--other b{color:#1a73e8}
.gmodal__cancel{width:100%;background:none;border:0;border-top:1px solid #eee;margin-top:6px;padding:14px;color:#1a73e8;font-weight:600;cursor:pointer;font-family:var(--sans)}

/* --- Dashboard shell --- */
.shell{display:grid;grid-template-columns:236px 1fr;min-height:100vh}
.side{background:var(--bg-soft);border-right:1px solid var(--line);padding:22px 16px;display:flex;flex-direction:column;gap:6px;position:sticky;top:0;height:100vh}
.side__brand{display:flex;align-items:baseline;gap:7px;font-family:var(--serif);font-size:1.2rem;padding:6px 10px 18px}
.side__link{display:flex;align-items:center;gap:10px;padding:.7em .9em;border-radius:10px;color:var(--ink-dim);font-size:.9rem;cursor:pointer;border:0;background:none;width:100%;text-align:left;font-family:var(--sans)}
.side__link:hover{background:var(--panel);color:var(--ink)}
.side__link.is-active{background:var(--panel);color:var(--ink);box-shadow:inset 0 0 0 1px var(--line)}
.side__link i{width:18px;text-align:center;font-style:normal;color:var(--accent-warm)}
.side__foot{margin-top:auto;border-top:1px solid var(--line);padding-top:14px}
.side__user{font-size:.82rem;color:var(--ink-dim);padding:6px 10px}
.side__user b{color:var(--ink);display:block;font-family:var(--sans)}

.main{padding:28px clamp(20px,4vw,44px)}
.topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:26px;gap:16px;flex-wrap:wrap}
.topbar h1{font-size:1.9rem}
.topbar p{color:var(--ink-faint);font-size:.88rem;margin-top:2px}

.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:26px}
.mcard{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:18px}
.mcard b{display:block;font-family:var(--serif);font-size:2rem;color:var(--ink)}
.mcard span{font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-faint)}
.mcard em{font-style:normal;font-size:.78rem;color:var(--good)}
.mcard--link{display:block;transition:.2s}
.mcard--link:hover{border-color:var(--line-2);transform:translateY(-3px)}
.mcard--link b{display:block;margin:6px 0 4px}
.mcard--link em{display:block;color:var(--ink-faint)}

/* Agents / team dashboard */
.td-grid{display:grid;grid-template-columns:300px 1fr 360px;gap:18px;align-items:start}
.spark{width:100%;height:70px;display:block}
.td-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:14px}
.td-stat{text-align:center}
.td-stat b{display:block;font-family:var(--serif);font-size:1.6rem}
.td-stat span{font-size:.66rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint)}
.td-stat i{display:block;height:3px;border-radius:2px;margin-top:8px}
.tier{display:flex;align-items:center;gap:10px;background:var(--panel-2);border:1px solid var(--line);border-radius:10px;padding:12px;margin-bottom:8px}
.tier b{font-family:var(--sans);font-size:.92rem}
.tier .tier__count{margin-left:auto;background:var(--panel);border:1px solid var(--line-2);border-radius:999px;padding:.1em .7em;font-size:.78rem;color:var(--ink-dim)}
.tier__ic{width:30px;height:30px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:.9rem}
.enroll-row{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid var(--line)}
.enroll-row select{background:var(--panel-2);border:1px solid var(--line-2);color:var(--ink-dim);border-radius:8px;padding:.4em .6em;font-size:.78rem;font-family:var(--sans)}
.enroll-row .btn{margin-left:auto}
.empty-mini{text-align:center;color:var(--ink-faint);font-size:.85rem;padding:30px 10px}

.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:20px;margin-bottom:20px}
.panel__head{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;gap:12px;flex-wrap:wrap}
.panel__head h3{font-size:1.25rem}

.view{display:none}
.view.is-active{display:block;animation:fadeUp .35s both}

/* roster table */
.table{width:100%;border-collapse:collapse;font-size:.88rem}
.table th{text-align:left;font-weight:600;color:var(--ink-faint);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;padding:10px 12px;border-bottom:1px solid var(--line)}
.table td{padding:12px;border-bottom:1px solid var(--line);color:var(--ink-dim)}
.table tr:hover td{background:var(--panel-2)}
.table .nm{display:flex;align-items:center;gap:10px;color:var(--ink)}
.tag{display:inline-block;font-size:.7rem;font-weight:600;padding:.25em .7em;border-radius:999px;border:1px solid}
.tag--new{color:var(--good);border-color:rgba(90,209,154,.45)}
.tag--producer{color:var(--accent-warm);border-color:rgba(201,162,75,.5)}
.tag--pip{color:var(--bad);border-color:rgba(224,103,90,.45)}
.bar{height:6px;border-radius:4px;background:var(--panel-2);overflow:hidden;min-width:70px}
.bar i{display:block;height:100%;background:var(--accent-warm);border-radius:4px}

/* coaching list */
.coachrow{display:flex;align-items:center;gap:12px;padding:12px;border:1px solid var(--line);border-radius:var(--r-sm);margin-bottom:8px;background:var(--panel-2)}
.coachrow b{font-family:var(--sans);font-size:.9rem;color:var(--ink)}
.coachrow span{font-size:.8rem;color:var(--ink-faint)}
.coachrow .why{margin-left:auto;font-size:.78rem;color:var(--warn);text-align:right}

.btn--xs{font-size:.78rem;padding:.45em 1em}
.assistant{display:grid;gap:12px}
.assistant__log{background:var(--panel-2);border:1px solid var(--line);border-radius:var(--r-sm);padding:14px;min-height:140px;max-height:300px;overflow-y:auto;display:flex;flex-direction:column;gap:10px}
.assistant__cmds{display:flex;flex-wrap:wrap;gap:8px}
.assistant__cmds button{background:var(--panel);border:1px solid var(--line-2);color:var(--ink-dim);font-size:.8rem;padding:.5em .9em;border-radius:999px;cursor:pointer;font-family:var(--sans)}
.assistant__cmds button:hover{color:var(--ink);border-color:#fff}

.live-banner{background:rgba(201,162,75,.1);border:1px solid rgba(201,162,75,.35);border-radius:var(--r-sm);padding:10px 14px;font-size:.82rem;color:var(--accent-warm);margin-bottom:16px}

/* ===== Floating top-pill app nav ===== */
#appnav{position:sticky;top:0;z-index:120;display:flex;justify-content:center;padding:16px 0 4px;pointer-events:none}
.pill{display:flex;align-items:center;gap:4px;background:#0d0d12;border:1px solid var(--line-2);border-radius:999px;padding:7px 10px;box-shadow:0 18px 40px -20px rgba(0,0,0,.9);pointer-events:auto}
.pill__btn{display:flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:50%;color:var(--ink-dim);background:none;border:0;cursor:pointer;transition:.18s}
.pill__btn svg{width:20px;height:20px}
.pill__btn:hover{color:var(--ink);background:rgba(255,255,255,.07)}
.pill__btn.is-active{background:var(--ink);color:#000}
.pill__settings{position:relative}
.pill__menu{position:absolute;top:54px;right:0;background:#0d0d12;border:1px solid var(--line-2);border-radius:14px;padding:8px;min-width:210px;box-shadow:0 30px 70px -24px rgba(0,0,0,.9);display:flex;flex-direction:column;gap:2px}
.pill__menu[hidden]{display:none}
.pill__menu a,.pill__menu button{display:block;text-align:left;background:none;border:0;color:var(--ink-dim);font-family:var(--sans);font-size:.88rem;padding:.6em .8em;border-radius:8px;cursor:pointer}
.pill__menu a:hover,.pill__menu button:hover{background:rgba(255,255,255,.07);color:var(--ink)}
.pill__menu a.is-active{color:var(--accent-warm)}
.pill__menu-sep{height:1px;background:var(--line);margin:6px 0}
.app-main{max-width:1180px;margin:0 auto;padding:20px clamp(20px,4vw,40px) 80px}
.app-main--wide{max-width:1320px}

/* ===== Leadership setup wizard ===== */
.setup{max-width:1100px;margin:0 auto;padding:24px clamp(20px,4vw,40px) 60px}
.setup__top{display:flex;justify-content:space-between;align-items:center;margin-bottom:36px}
.setup__brand{display:flex;align-items:baseline;gap:8px;font-family:var(--serif);font-size:1.3rem}
.setup__actions{display:flex;gap:10px}
.setup__head{text-align:center;max-width:620px;margin:0 auto 44px}
.setup__head h1{font-size:clamp(2rem,4vw,3rem);margin-top:10px}
.setup__head p{color:var(--ink-dim);margin-top:16px}
.setup__grid{display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:start}
.setup__form{display:flex;flex-direction:column;gap:14px}
.slot{display:flex;gap:14px;background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:16px}
.slot__num{flex:none;width:30px;height:30px;border-radius:50%;background:var(--panel-2);border:1px solid var(--line-2);display:flex;align-items:center;justify-content:center;font-family:var(--serif);color:var(--accent-warm)}
.slot__fields{flex:1;display:flex;flex-direction:column;gap:8px}
.slot__name,.slot__msg{width:100%;background:var(--panel-2);border:1px solid var(--line-2);color:var(--ink);border-radius:8px;padding:.6em .8em;font-family:var(--sans);font-size:.92rem}
.slot__name:focus,.slot__msg:focus{outline:none;border-color:var(--accent-warm)}
.slot__msg{resize:vertical;min-height:48px}
.slot__hint{font-size:.72rem;color:var(--ink-faint)}
.setup__note{text-align:center;color:var(--ink-faint);font-size:.82rem;margin-top:28px}

/* live preview */
.setup__preview{position:sticky;top:24px;background:var(--panel);border:1px solid var(--line);border-radius:16px;overflow:hidden;box-shadow:0 30px 80px -40px rgba(0,0,0,.9)}
.preview__chrome{display:flex;align-items:center;gap:6px;padding:12px 14px;background:var(--bg-soft);border-bottom:1px solid var(--line)}
.preview__chrome span{width:10px;height:10px;border-radius:50%;background:var(--line-2)}
.preview__chrome em{margin-left:10px;font-style:normal;font-size:.74rem;color:var(--ink-faint)}
.preview__body{padding:22px;background:#000}
.preview__label{text-align:center;font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:16px}
.preview__cards{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.preview__card{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:12px}
.preview__card .avatar{width:28px;height:28px;font-size:.62rem;margin-bottom:8px}
.preview__card b{font-size:.78rem;display:block;margin-bottom:3px}
.preview__card p{font-size:.72rem;color:var(--ink-dim);line-height:1.4}
.preview__welcome{text-align:center;margin-top:22px;padding-top:20px;border-top:1px solid var(--line)}
.preview__welcome strong{display:block;font-family:var(--serif);font-size:1.5rem;margin-bottom:14px}

@media(max-width:820px){.setup__grid{grid-template-columns:1fr}.setup__preview{position:static;order:-1}}

/* ===== Team Events calendar ===== */
.ev-toolbar{display:flex;align-items:center;gap:12px}
.ev-views{display:flex;gap:4px;background:var(--panel);border:1px solid var(--line);border-radius:999px;padding:4px}
.ev-view{background:none;border:0;color:var(--ink-dim);padding:.45em 1em;border-radius:999px;cursor:pointer;font-family:var(--sans);font-size:.82rem}
.ev-view.is-active{background:var(--ink);color:#000;font-weight:600}
.ev-calhead{display:flex;align-items:center;gap:14px;margin-bottom:16px}
.ev-calhead h2{font-size:1.4rem;min-width:230px}
.ev-nav{width:34px;height:34px;border-radius:8px;background:var(--panel);border:1px solid var(--line);color:var(--ink);cursor:pointer;font-size:1.1rem;line-height:1}
.ev-nav:hover{border-color:var(--line-2)}
.ev-today{margin-left:auto;background:var(--panel);border:1px solid var(--line-2);color:var(--ink-dim);padding:.5em 1.1em;border-radius:999px;cursor:pointer;font-family:var(--sans);font-size:.82rem}
.ev-today:hover{color:var(--ink)}

/* month grid */
.cal-dows{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin-bottom:6px}
.cal-dows span{font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint);text-align:center}
.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}
.cal-cell{min-height:104px;background:var(--panel-2);border:1px solid var(--line);border-radius:10px;padding:7px;cursor:pointer;display:flex;flex-direction:column;gap:4px;transition:.15s}
.cal-cell:hover{border-color:var(--line-2)}
.cal-cell--out{background:transparent;border:0;cursor:default}
.cal-cell--today{border-color:var(--accent-warm);box-shadow:0 0 0 1px var(--accent-warm) inset}
.cal-num{font-size:.78rem;color:var(--ink-dim);font-weight:600}
.cal-cell--today .cal-num{color:var(--accent-warm)}
.cal-pill{display:block;width:100%;text-align:left;border:0;border-radius:6px;padding:3px 6px;font-size:.68rem;color:#fff;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--sans)}
.cal-pill--training{background:rgba(99,102,241,.85)}
.cal-pill--meeting{background:rgba(201,162,75,.85);color:#1a1a1a}
.cal-pill--huddle{background:rgba(90,209,154,.85);color:#0a0a0a}
.cal-pill--graduation{background:rgba(224,103,90,.9)}
.cal-more{font-size:.64rem;color:var(--ink-faint)}

/* week */
.cal-week{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}
.cal-wcol{background:var(--panel-2);border:1px solid var(--line);border-radius:10px;padding:8px;min-height:200px;cursor:pointer;display:flex;flex-direction:column;gap:6px}
.cal-wcol--today{border-color:var(--accent-warm)}
.cal-whead{font-size:.7rem;color:var(--ink-faint);text-transform:uppercase;letter-spacing:.06em;display:flex;flex-direction:column}
.cal-whead b{font-family:var(--serif);font-size:1.2rem;color:var(--ink)}
.cal-event{text-align:left;border:0;border-radius:8px;padding:7px 9px;cursor:pointer;font-family:var(--sans);font-size:.74rem;color:#fff;display:flex;flex-direction:column;gap:2px;background:rgba(99,102,241,.85)}
.cal-event b{font-size:.68rem;opacity:.9}
.cal-event--meeting{background:rgba(201,162,75,.85);color:#1a1a1a}
.cal-event--huddle{background:rgba(90,209,154,.85);color:#0a0a0a}
.cal-event--graduation{background:rgba(224,103,90,.9)}
.cal-event--lg{font-size:.92rem;padding:14px 16px}
.cal-event--lg span{font-size:.78rem;opacity:.85;font-weight:400}
.cal-day{display:flex;flex-direction:column;gap:8px;min-height:120px}
.cal-empty{color:var(--ink-faint);font-size:.9rem;padding:30px;text-align:center}
.link-btn{background:none;border:0;color:var(--accent-warm);cursor:pointer;font-family:var(--sans);font-size:.9rem;text-decoration:underline}

/* event list rows */
.ev-row-item{width:100%;display:flex;align-items:center;gap:14px;background:var(--panel-2);border:1px solid var(--line);border-radius:10px;padding:12px 14px;margin-bottom:8px;cursor:pointer;text-align:left;font-family:var(--sans);transition:.15s}
.ev-row-item:hover{border-color:var(--line-2)}
.ev-date{display:flex;flex-direction:column;align-items:center;min-width:46px}
.ev-date b{font-family:var(--serif);font-size:1.4rem;color:var(--ink);line-height:1}
.ev-date i{font-style:normal;font-size:.66rem;text-transform:uppercase;color:var(--ink-faint)}
.ev-info{flex:1;display:flex;flex-direction:column;gap:2px}
.ev-info b{font-size:.92rem;color:var(--ink)}
.ev-info span{font-size:.8rem;color:var(--ink-faint)}
.ev-tagwrap{display:flex;align-items:center;gap:8px}
.ev-att{font-size:.74rem;color:var(--good)}

/* modal */
.ev-modal{position:fixed;inset:0;background:rgba(0,0,0,.66);backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;z-index:200;padding:20px}
.ev-modal__box{width:100%;max-width:460px;background:var(--panel);border:1px solid var(--line-2);border-radius:16px;padding:22px;box-shadow:0 30px 80px -20px rgba(0,0,0,.8)}
.ev-modal__head{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}
.ev-modal__head h3{font-size:1.4rem}
.ev-modal__x{background:none;border:0;color:var(--ink-dim);font-size:1.6rem;cursor:pointer;line-height:1}
.ev-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.ev-modal .field select,.ev-modal .field input{width:100%;background:var(--panel-2);border:1px solid var(--line-2);color:var(--ink);border-radius:10px;padding:.7em .8em;font-size:.92rem;font-family:var(--sans)}
.ev-modal .field input[type=date],.ev-modal .field input[type=time]{color-scheme:dark}
.ev-modal__actions{display:flex;align-items:center;gap:10px;margin-top:20px}

/* Rankings */
.rk-calc-toggle{width:100%;display:flex;justify-content:space-between;align-items:center;background:none;border:0;color:var(--ink);font-family:var(--sans);font-size:1rem;font-weight:600;cursor:pointer}
.rk-calc-toggle em{font-style:normal;color:var(--ink-faint);font-weight:400;font-size:.85rem}
.rk-target{background:rgba(201,162,75,.08);border:1px solid rgba(201,162,75,.3);border-radius:var(--r);padding:18px;margin:16px 0}
.rk-target__lbl{font-weight:600;color:var(--accent-warm)}
.rk-target__in{font-size:1.3rem;margin-top:10px;display:flex;align-items:center;gap:6px;color:var(--ink)}
.rk-target__in input{background:var(--panel-2);border:1px solid var(--line-2);color:var(--ink);border-radius:8px;padding:.5em .7em;font-size:1.2rem;font-family:var(--sans);width:160px}
.rk-vals{display:grid;gap:8px}
.rk-val{display:flex;align-items:center;gap:14px;padding:8px 0;border-bottom:1px solid var(--line)}
.rk-val>span:first-child{flex:1;color:var(--ink-dim);font-size:.9rem}
.rk-val__in{display:flex;align-items:center;gap:5px;color:var(--ink)}
.rk-val__in input{background:var(--panel-2);border:1px solid var(--line-2);color:var(--ink);border-radius:8px;padding:.4em .6em;width:120px;font-family:var(--sans)}
.rk-auto{background:#1d4ed8;color:#fff;font-size:.7rem;padding:.25em .8em;border-radius:999px}
.rk-table-wrap{overflow-x:auto}
.rk-table small{color:var(--ink-faint);font-weight:400}
.rk-table td b{color:var(--ink)}
.rk-rank{font-size:.68rem;letter-spacing:.06em;color:var(--accent-warm);font-weight:600;white-space:nowrap}
.rk-total{font-family:var(--serif);color:var(--accent-warm);font-size:1rem;white-space:nowrap}

/* Settings tabs / generic settings */
.set-tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:22px;border-bottom:1px solid var(--line);padding-bottom:14px}
.set-tabs a{font-size:.85rem;color:var(--ink-dim);padding:.45em .9em;border-radius:999px}
.set-tabs a:hover{color:var(--ink);background:var(--panel)}
.set-tabs a.is-active{background:var(--ink);color:#000;font-weight:600}
.toggle{position:relative;width:44px;height:24px;border-radius:999px;background:var(--panel-2);border:1px solid var(--line-2);cursor:pointer;flex:none;transition:.2s}
.toggle::after{content:"";position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:50%;background:var(--ink-dim);transition:.2s}
.toggle.is-on{background:var(--accent-warm);border-color:var(--accent-warm)}
.toggle.is-on::after{left:22px;background:#1a1a1a}
.swatches{display:flex;gap:10px;align-items:center;margin-top:12px}
.swatch{width:30px;height:30px;border-radius:50%;border:2px solid var(--line-2);cursor:pointer;padding:0}
.row-between{display:flex;justify-content:space-between;align-items:center;gap:16px}
.logo-box{width:180px;height:90px;border:1px dashed var(--line-2);border-radius:10px;display:flex;align-items:center;justify-content:center;background:var(--panel-2);color:var(--ink-faint);overflow:hidden}
.logo-box img{max-width:100%;max-height:100%}
.map-row{display:grid;grid-template-columns:1fr 24px 1fr;gap:12px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line)}
.map-row select,.map-row input{width:100%;background:var(--panel-2);border:1px solid var(--line-2);color:var(--ink);border-radius:8px;padding:.5em .7em;font-family:var(--sans);font-size:.85rem}

/* Before You Go… completion modal */
.byg{position:fixed;inset:0;background:rgba(0,0,0,.6);backdrop-filter:blur(3px);z-index:220;display:flex;align-items:center;justify-content:center;padding:20px}
.byg__box{width:100%;max-width:620px;max-height:88vh;display:flex;flex-direction:column;background:var(--panel);border:1px solid var(--line-2);border-radius:18px;overflow:hidden;box-shadow:0 40px 100px -30px rgba(0,0,0,.85)}
.byg__head{padding:24px 26px 16px;border-bottom:1px solid var(--line)}
.byg__head h2{font-size:1.7rem}
.byg__head p{color:var(--ink-faint);font-size:.9rem;margin-top:4px}
.byg__head b{color:var(--ink-dim)}
.byg__body{overflow-y:auto;padding:18px 26px;display:flex;flex-direction:column;gap:16px}
.byg__sec{border:1px solid var(--line);border-radius:14px;padding:18px}
.byg__sec h3{font-family:var(--sans);font-size:1rem;font-weight:600;display:flex;align-items:center;gap:8px;margin-bottom:12px}
.byg__chk{width:20px;height:20px;border-radius:50%;background:var(--good);color:#04130c;display:inline-flex;align-items:center;justify-content:center;font-size:.7rem}
.byg__opt{display:flex;align-items:center;gap:10px;background:var(--panel-2);border:1px solid var(--line);border-radius:10px;padding:12px 14px;margin-bottom:8px;cursor:pointer;font-size:.92rem}
.byg__opt input{accent-color:var(--accent-warm)}
.byg__opt:has(input:checked){border-color:var(--accent-warm);background:rgba(201,162,75,.08)}
.byg__opt select{background:var(--panel);border:1px solid var(--line-2);color:var(--ink);border-radius:6px;padding:.2em .5em;font-family:var(--sans);margin:0 4px}
.byg__sub{font-size:.8rem;color:var(--ink-faint);margin:10px 0 6px}
.byg__field{display:block;font-size:.82rem;color:var(--ink-dim);margin:12px 0 4px}
.byg__field select{display:block;width:100%;margin-top:5px;background:var(--panel-2);border:1px solid var(--line-2);color:var(--ink);border-radius:8px;padding:.55em .7em;font-family:var(--sans)}
.byg__seals{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;margin-top:6px}
.byg-seal{background:var(--panel-2);border:1px solid var(--line);border-radius:10px;padding:10px 4px;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:4px;color:var(--ink)}
.byg-seal span{font-size:1.2rem}
.byg-seal i{font-style:normal;font-size:.6rem;color:var(--ink-faint)}
.byg-seal.is-sel{border-color:var(--accent-warm);background:rgba(201,162,75,.12)}
.byg__preview{margin-top:14px;background:var(--panel-2);border:1px solid var(--line);border-radius:10px;padding:16px}
.byg__preview-lbl{font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-faint)}
.cert-mini{background:#fff;color:#1a1a1a;border-radius:8px;padding:18px;text-align:center;margin-top:10px;max-width:280px;margin-left:auto;margin-right:auto;border:1px solid #ddd}
.cert-mini__seal{font-size:1.6rem;color:var(--accent-warm)}
.cert-mini__t{font-family:var(--serif);font-size:1rem;letter-spacing:.1em;margin-top:4px}
.cert-mini__sub{font-size:.62rem;color:#777}
.cert-mini__name{font-family:var(--serif);font-size:1.1rem;margin:8px 0 2px}
.cert-mini__j{font-size:.66rem;color:#555}
.byg__opt--chk:has(input:checked){border-color:var(--good);background:rgba(90,209,154,.08)}
.byg__foot{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:16px 26px;border-top:1px solid var(--line);background:var(--bg-soft)}
.byg__later{background:none;border:0;color:var(--ink-dim);cursor:pointer;font-family:var(--sans);font-size:.9rem}
.byg__later:hover{color:var(--ink)}
@media(max-width:560px){.byg__seals{grid-template-columns:repeat(3,1fr)}}

/* Journey Builder */
.jb-hub{display:grid;grid-template-columns:1fr 360px;gap:24px;align-items:start}
.jb-sec{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-faint);margin:22px 0 12px}
.jb-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.jb-card{display:flex;align-items:center;gap:12px;background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:16px;cursor:pointer;text-align:left;font-family:var(--sans);transition:.2s}
.jb-card:hover{border-color:var(--accent-warm);transform:translateY(-2px)}
.jb-card__ic{width:38px;height:38px;border-radius:10px;background:var(--panel-2);display:flex;align-items:center;justify-content:center;font-size:1.1rem;flex:none}
.jb-card b{display:block;font-size:.92rem;color:var(--ink)}
.jb-card span{font-size:.78rem;color:var(--ink-faint)}
.jb-preview{position:sticky;top:80px}
.jb-preview__tag{background:var(--good);color:#04130c;font-size:.74rem;font-weight:600;padding:.5em 1em;border-radius:10px 10px 0 0;text-align:center}
.phone--lg{width:300px;margin:0 auto}
.phone--lg .phone__screen{min-height:520px;background:linear-gradient(180deg,#0c0c14,#04040a)}
.ph-head{text-align:center;margin:6px 0 18px}
.ph-head b{display:block;font-family:var(--serif);font-size:1.3rem}
.ph-head span{font-size:.72rem;color:rgba(255,255,255,.5)}
.ph-slot{border:1.5px dashed rgba(201,162,75,.5);border-radius:14px;padding:18px;text-align:center;color:var(--accent-warm);margin-bottom:12px;font-size:1.2rem}
.ph-slot span{display:block;font-size:.9rem;color:#fff;margin-top:6px}
.ph-slot em{display:block;font-style:normal;font-size:.7rem;color:rgba(255,255,255,.4)}
.ph-step{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);border-radius:14px;padding:14px;margin-bottom:12px}
.ph-step__t{font-size:.64rem;color:var(--accent-warm);letter-spacing:.04em}
.ph-step b{display:block;font-size:.92rem;margin:4px 0}
.ph-step p{font-size:.78rem;color:rgba(255,255,255,.75);line-height:1.4}
.ph-done{margin-top:10px;background:var(--accent-warm);color:#1a1a1a;border:0;border-radius:999px;padding:.4em 1em;font-size:.74rem;font-weight:600;cursor:pointer;font-family:var(--sans)}
.ph-empty{color:rgba(255,255,255,.4);font-size:.82rem;text-align:center;padding:30px 0}
.jb-back{display:inline-block;font-size:.8rem;color:var(--ink-dim);margin-bottom:6px}
.jb-title{background:none;border:0;border-bottom:1px solid transparent;color:var(--ink);font-family:var(--serif);font-size:1.8rem;width:100%;max-width:480px;padding:2px 0}
.jb-title:focus{outline:none;border-bottom-color:var(--accent-warm)}
.jb-days{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:18px}
.jb-day{background:var(--panel);border:1px solid var(--line);color:var(--ink-dim);padding:.5em 1em;border-radius:999px;cursor:pointer;font-family:var(--sans);font-size:.82rem}
.jb-day.is-active{background:var(--ink);color:#000;font-weight:600}
.jb-edit{display:grid;grid-template-columns:1fr 360px;gap:24px;align-items:start}
.jb-edit__head{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}
.jb-step{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:14px;margin-bottom:10px}
.jb-step__bar{display:flex;align-items:center;gap:8px;margin-bottom:10px}
.jb-step__n{font-size:.72rem;color:var(--ink-faint);text-transform:uppercase;letter-spacing:.08em}
.jb-step__type{background:var(--panel-2);border:1px solid var(--line-2);color:var(--ink-dim);border-radius:8px;padding:.3em .5em;font-size:.78rem;font-family:var(--sans)}
.jb-ic{width:28px;height:28px;border-radius:7px;background:var(--panel-2);border:1px solid var(--line);color:var(--ink-dim);cursor:pointer}
.jb-ic:hover{color:var(--ink)}
.jb-ic--del:hover{color:var(--bad);border-color:var(--bad)}
.jb-step__title{width:100%;background:var(--panel-2);border:1px solid var(--line-2);color:var(--ink);border-radius:8px;padding:.55em .7em;font-size:.92rem;font-family:var(--sans);margin-bottom:8px}
.jb-step__body{width:100%;background:var(--panel-2);border:1px solid var(--line-2);color:var(--ink-dim);border-radius:8px;padding:.55em .7em;font-size:.85rem;font-family:var(--sans);resize:vertical}
.jb-flash{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:var(--ink);color:#000;padding:.7em 1.4em;border-radius:999px;font-weight:600;font-size:.88rem;z-index:300;animation:fadeUp .3s both}
/* editor chrome */
.jb-top__l{display:flex;align-items:center;gap:10px}
.jb-top__r{display:flex;gap:8px;flex-wrap:wrap}
.jb-back{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:8px;background:var(--panel);border:1px solid var(--line);color:var(--ink-dim);font-size:1.1rem}
.jb-back:hover{color:var(--ink)}
.jb-daynav{display:flex;align-items:center;justify-content:center;gap:14px;margin-bottom:10px}
.jb-chev{width:32px;height:32px;border-radius:8px;background:var(--panel);border:1px solid var(--line-2);color:var(--ink);cursor:pointer;font-size:1rem}
.jb-chev:hover{border-color:var(--accent-warm)}
.jb-dayof{font-size:.95rem;color:var(--ink-dim)}.jb-dayof b{color:var(--ink);font-family:var(--serif);font-size:1.1rem;margin:0 2px}
.jb-prog-wrap{max-width:680px;margin:0 auto 18px}
.jb-prog-bar{display:flex;gap:4px}
.jb-prog{flex:1;height:7px;border-radius:4px;background:var(--panel-2)}
.jb-prog.done{background:var(--good)}
.jb-prog.cur{background:var(--accent-warm)}
.jb-prog-lbl{display:flex;justify-content:space-between;font-size:.7rem;color:var(--ink-faint);margin-top:5px}
.jb-phases{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:22px}
.jb-phase{background:var(--panel-2);border:1px dashed var(--line-2);border-radius:10px;padding:12px;color:var(--ink-dim);cursor:pointer;font-family:var(--sans);font-size:.9rem}
.jb-phase:hover{color:var(--ink);border-color:var(--accent-warm)}
.jb-phase--end:hover{border-color:var(--accent-warm)}
.jb-phase.is-active{border-style:solid;border-color:var(--accent-warm);background:rgba(201,162,75,.1);color:var(--ink)}
.jb-phase--has{border-style:solid;color:var(--ink)}
.jb-goto{margin-top:14px;float:right}
/* step rows */
.jb-step__hd{display:flex;align-items:center;gap:10px;cursor:pointer}
.jb-grip{color:var(--ink-faint);cursor:grab;font-size:.9rem}
.jb-type-ic{width:24px;height:24px;border-radius:6px;background:var(--panel-2);display:flex;align-items:center;justify-content:center;font-size:.8rem;color:var(--accent-warm)}
.jb-step__title-c{flex:1;font-size:.95rem;color:var(--ink);font-weight:600}
.jb-chev2{color:var(--ink-faint);width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:rgba(201,162,75,.12)}
.jb-step__body-c{margin-top:14px;border-top:1px solid var(--line);padding-top:14px}
.jb-lbl{display:block;font-size:.78rem;color:var(--ink-faint);margin:12px 0 6px;font-weight:600}
/* rich text editor */
.rte-tb{display:flex;flex-wrap:wrap;align-items:center;gap:4px;background:var(--panel-2);border:1px solid var(--line);border-radius:10px 10px 0 0;padding:7px}
.rte-tb select{background:var(--panel);border:1px solid var(--line);color:var(--ink-dim);border-radius:6px;padding:.3em .5em;font-size:.78rem;font-family:var(--sans)}
.rte-tb button{min-width:30px;height:30px;background:var(--panel);border:1px solid var(--line);color:var(--ink-dim);border-radius:6px;cursor:pointer;font-size:.82rem;padding:0 6px}
.rte-tb button:hover{color:var(--ink);border-color:var(--line-2)}
.rte-sep{width:1px;height:20px;background:var(--line);margin:0 4px}
.jb-rte{min-height:140px;background:var(--panel-2);border:1px solid var(--line);border-top:0;border-radius:0 0 10px 10px;padding:14px;color:var(--ink);font-size:.95rem;line-height:1.6;outline:none;overflow-y:auto;max-height:340px}
.jb-rte:empty:before{content:attr(data-ph);color:var(--ink-faint)}
.jb-rte ul,.jb-rte ol{margin:8px 0 8px 22px}
.jb-rte a{color:var(--accent-warm);text-decoration:underline}
.rte-video{position:relative;padding-bottom:56%;height:0;margin:10px 0;border-radius:8px;overflow:hidden}
.rte-video iframe{position:absolute;inset:0;width:100%;height:100%}
.ph-rich{font-size:.78rem;color:rgba(255,255,255,.78);line-height:1.5;margin:4px 0}
.ph-rich ul,.ph-rich ol{margin:6px 0 6px 18px}
.ph-rich a{color:var(--accent-warm)}
.ph-rich .rte-video{padding-bottom:56%}
@media(max-width:900px){.jb-hub,.jb-edit{grid-template-columns:1fr}.jb-preview{position:static}.jb-row{grid-template-columns:1fr}}

/* Analytics */
.an-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.an-chart{width:100%;height:auto;display:block}
.an-donut-wrap{display:flex;align-items:center;gap:24px}
.an-donut{width:140px;height:140px;flex:none}
.an-legend{display:flex;flex-direction:column;gap:10px;font-size:.85rem;color:var(--ink-dim)}
.an-legend span{display:flex;align-items:center;gap:8px}
.an-legend i{width:11px;height:11px;border-radius:3px;display:inline-block}
.fn-row{display:flex;align-items:center;gap:12px;margin-bottom:10px;font-size:.85rem;color:var(--ink-dim)}
.fn-row span{min-width:96px}
.fn-row b{color:var(--ink);min-width:24px;text-align:right}
.fn-bar{flex:1;height:10px;background:var(--panel-2);border-radius:6px;overflow:hidden}
.fn-bar i{display:block;height:100%;background:linear-gradient(90deg,var(--accent-warm),#b88a2e);border-radius:6px}
@media(max-width:820px){.an-grid{grid-template-columns:1fr}}

/* Wingman coach page */
.coach-hero{text-align:center;padding:clamp(30px,7vw,80px) 0 20px}
.coach-hero__icon{width:84px;height:84px;border-radius:22px;background:linear-gradient(135deg,var(--accent-warm),#b88a2e);display:flex;align-items:center;justify-content:center;font-size:2.2rem;color:#1a1a1a;margin:0 auto 24px}
.coach-hero h1{font-size:clamp(2.4rem,5vw,3.4rem)}
.coach-hero p{color:var(--ink-dim);max-width:420px;margin:14px auto 0}
.coach-hero__cta{display:flex;gap:12px;justify-content:center;margin-top:30px;flex-wrap:wrap}
.coach-thread{display:flex;flex-direction:column;gap:12px;max-width:760px;margin:0 auto;padding:20px 0}
.coach-suggest{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;max-width:760px;margin:10px auto 0}
.coach-suggest button{background:var(--panel);border:1px solid var(--line-2);color:var(--ink-dim);font-size:.82rem;padding:.55em 1em;border-radius:999px;cursor:pointer;font-family:var(--sans)}
.coach-suggest button:hover{color:var(--ink);border-color:#fff}
.coach-input{display:flex;gap:8px;max-width:760px;margin:18px auto 0;background:var(--panel);border:1px solid var(--line-2);border-radius:999px;padding:6px 6px 6px 18px}
.coach-input input{flex:1;background:none;border:0;color:var(--ink);font-size:1rem;font-family:var(--sans)}
.coach-input input:focus{outline:none}
.coach-input button{width:44px;height:44px;border-radius:50%;background:var(--accent-warm);color:#1a1a1a;border:0;cursor:pointer;font-size:1rem}
.coach-foot{text-align:center;color:var(--ink-faint);font-size:.74rem;margin-top:12px}

/* Resource library */
.res-toolbar{display:flex;gap:12px;margin-bottom:18px;flex-wrap:wrap}
.res-search{flex:1;min-width:220px;background:var(--panel);border:1px solid var(--line-2);color:var(--ink);border-radius:999px;padding:.7em 1.1em;font-family:var(--sans);font-size:.92rem}
.res-search:focus{outline:none;border-color:var(--accent-warm)}
.res-filter{background:var(--panel);border:1px solid var(--line-2);color:var(--ink-dim);border-radius:999px;padding:.7em 1.1em;font-family:var(--sans);font-size:.88rem}
.res-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px}
.res-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:18px;display:flex;flex-direction:column;transition:.2s}
.res-card:hover{border-color:var(--line-2);transform:translateY(-3px)}
.res-card__top{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}
.res-card__ic{width:38px;height:38px;border-radius:10px;background:var(--panel-2);display:flex;align-items:center;justify-content:center;font-size:1.1rem}
.res-card b{font-size:.98rem;color:var(--ink)}
.res-card p{font-size:.84rem;color:var(--ink-dim);margin:6px 0 14px;flex:1;line-height:1.5}
.res-card__foot{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding-top:12px}
.res-card__foot a{color:var(--accent-warm);font-size:.85rem;font-weight:600}
.res-del{background:none;border:0;color:var(--ink-faint);cursor:pointer;font-size:.9rem}
.res-del:hover{color:var(--bad)}

/* Rules of Engagement drawer */
.rules-drawer{position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:210;display:flex;justify-content:flex-end}
.rules-drawer__panel{width:min(380px,90vw);height:100%;background:var(--bg-soft);border-left:1px solid var(--line-2);padding:28px 24px;overflow-y:auto;position:relative;animation:slideIn .25s ease}
@keyframes slideIn{from{transform:translateX(30px);opacity:.6}to{transform:none;opacity:1}}
.rules-drawer__x{position:absolute;top:18px;right:18px;background:none;border:0;color:var(--ink-dim);font-size:1.5rem;cursor:pointer;line-height:1}
.rules-drawer h2{font-size:1.5rem;margin-bottom:4px}
.rules-opt{display:flex;gap:12px;align-items:flex-start;background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:14px;margin-bottom:10px;cursor:pointer}
.rules-opt input{margin-top:3px;accent-color:var(--accent-warm)}
.rules-opt b{display:block;font-size:.95rem}
.rules-opt span{font-size:.82rem;color:var(--ink-faint)}
.rules-opt:has(input:checked){border-color:var(--accent-warm)}
.rules-tog{display:flex;justify-content:space-between;align-items:center;gap:14px;background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:14px;margin-top:14px}
.rules-tog b{display:block;font-size:.95rem}
.rules-tog span{font-size:.8rem;color:var(--ink-faint)}

/* Wingman FAB */
.wingman-fab{position:fixed;bottom:22px;right:22px;z-index:150;background:linear-gradient(135deg,var(--accent-warm),#b88a2e);color:#1a1a1a;border:0;border-radius:999px;padding:.8em 1.3em;font-family:var(--sans);font-weight:600;font-size:.88rem;cursor:pointer;box-shadow:0 12px 30px -10px rgba(201,162,75,.6)}
.wingman-fab:hover{transform:translateY(-2px)}

@media(max-width:900px){
  .shell{grid-template-columns:1fr}
  .side{position:static;height:auto;flex-direction:row;flex-wrap:wrap;align-items:center}
  .side__brand{padding:6px 10px}.side__foot{margin:0;border:0;padding:0}
  .cards{grid-template-columns:1fr 1fr}
  .auth{grid-template-columns:1fr}.auth__brandside{display:none}
}
@media(max-width:560px){.cards{grid-template-columns:1fr}.table .hide-sm{display:none}}
