
/* ---- /static/sp1461/inl-d9d07e79e867fc51.css?v=d9d07e79e867fc51 ---- */
html:not(.cc-early-on) .cc-early{display:none!important}
html.cc-early-on #loginForm>label.f,html.cc-early-on #loginForm>.lg-row,html.cc-early-on #loginForm>.lg-note,html.cc-early-on #loginForm>button.btn-lg,html.cc-early-on #loginForm>.lg-info{display:none!important}
html.cc-wait .cc-early .cs-go{opacity:.82;animation:cc659p 1.1s ease-in-out infinite}@keyframes cc659p{50%{opacity:.6}}
/* ---- /static/sp1461/inl-3c222a4ac70296a7.css?v=3c222a4ac70296a7 ---- */
html.cc-booting #login{visibility:hidden}#ccBoot{display:none}html.cc-booting #ccBoot{display:block;position:fixed;inset:var(--cct-h,30px) 0 0 0;z-index:5;background:#f5f7fb;padding:22px 4vw}#ccBoot i{display:block;border-radius:14px;background:linear-gradient(90deg,#eaeff6 25%,#f6f8fc 50%,#eaeff6 75%);background-size:200% 100%;animation:ccbs 1.2s linear infinite;margin-bottom:16px}@keyframes ccbs{0%{background-position:100% 0}100%{background-position:-100% 0}}
/* ---- /static/style.css?v=49-1577 ---- */
/* iTutor Command Center — v3 design system */
@font-face{font-family:"Inter";font-style:normal;font-display:swap;font-weight:100 900;src:url(/static/fonts/inter-latin-wght-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Inter";font-style:normal;font-display:swap;font-weight:100 900;src:url(/static/fonts/inter-latin-ext-wght-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
:root{
  --bg:#f6f6f8;--surface:#fff;--surface-2:#f4f4f7;--surface-3:#ececf1;--border:#e6e6ec;--border-strong:#d4d4dd;
  --text:#14141c;--text-2:#3f3f4c;--muted:#666675;--faint:#9b9baa;
  --primary:#5753d8;--primary-h:#4743c4;--primary-soft:#eeeeff;--primary-text:#4440c0;--ring:rgba(87,83,216,.35);
  --success:#16a34a;--success-t:#137a3a;--success-soft:#e7f6ec;--danger:#dc2626;--danger-t:#b91c1c;--danger-soft:#fdeceb;
  --warning:#8b7cf6;--warning-t:#5b45b8;--warning-soft:#f3f0ff;--info:#2563eb;--info-t:#1d4fbf;--info-soft:#e8effd;
  --violet:#7c3aed;--violet-t:#6427cc;--violet-soft:#f1ebfe;--orange:#8b7cf6;--orange-t:#5b45b8;--orange-soft:#f3f0ff;--neutral-soft:#efeff3;
  --sh-xs:0 1px 2px rgba(20,20,40,.05);--sh-sm:0 1px 2px rgba(20,20,40,.04),0 2px 6px rgba(20,20,40,.04);
  --sh-md:0 4px 12px rgba(20,20,40,.06),0 1px 3px rgba(20,20,40,.05);--sh-lg:0 24px 60px -12px rgba(20,20,50,.25),0 8px 20px rgba(20,20,50,.08);
  --r-sm:8px;--r:12px;--r-lg:16px;--r-xl:20px;--sbw:252px;--tb-h:60px;
  --sb-bg:#0d0d13;--sb-border:#1d1d27;--sb-text:#a0a0b4;--sb-text-h:#f2f2f7;--sb-hover:rgba(255,255,255,.055);--sb-active:rgba(255,255,255,.09);
  --ease:cubic-bezier(.2,.8,.2,1);color-scheme:light}
[data-theme=dark]{
  --bg:#09090d;--surface:#121218;--surface-2:#18181f;--surface-3:#202029;--border:#24242e;--border-strong:#33333f;
  --text:#ececf2;--text-2:#c4c4d0;--muted:#9696a8;--faint:#6c6c7e;
  --primary:#7472f0;--primary-h:#8583f5;--primary-soft:rgba(116,114,240,.15);--primary-text:#a9a8ff;--ring:rgba(132,130,255,.45);
  --success:#22c55e;--success-t:#4ade80;--success-soft:rgba(34,197,94,.13);--danger:#ef4444;--danger-t:#f87171;--danger-soft:rgba(239,68,68,.14);
  --warning:#8b7cf6;--warning-t:#8b7cf6;--warning-soft:rgba(139,124,246,.14);--info:#3b82f6;--info-t:#7aa7ff;--info-soft:rgba(59,130,246,.15);
  --violet:#8b5cf6;--violet-t:#b49aff;--violet-soft:rgba(139,92,246,.16);--orange:#8b7cf6;--orange-t:#c4b8f5;--orange-soft:rgba(139,124,246,.14);--neutral-soft:rgba(255,255,255,.07);
  --sh-xs:0 1px 2px rgba(0,0,0,.4);--sh-sm:0 1px 2px rgba(0,0,0,.35);--sh-md:0 6px 18px rgba(0,0,0,.35);--sh-lg:0 30px 80px -10px rgba(0,0,0,.7);
  --sb-bg:#0b0b10;--sb-border:#1b1b24;color-scheme:dark}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font:14px/1.55 "Inter",ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;font-feature-settings:"cv11","ss01","ss03";background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background .25s var(--ease),color .25s var(--ease)}
.hidden{display:none!important}
a{color:var(--primary-text);text-decoration:none;text-underline-offset:2px}a:hover{text-decoration:underline}
h1,h2,h3,h4{letter-spacing:-.015em;color:var(--text)}
code,pre,kbd{font-family:ui-monospace,"SF Mono","JetBrains Mono",Menlo,Consolas,monospace}
code{font-size:12px;background:var(--surface-2);border:1px solid var(--border);border-radius:6px;padding:1px 5px}
kbd{font-size:11px;padding:1px 6px;border-radius:6px;border:1px solid var(--border-strong);border-bottom-width:2px;background:var(--surface);color:var(--muted);line-height:1.5}
::selection{background:var(--primary-soft)}
.i{width:16px;height:16px;flex-shrink:0;vertical-align:-3px}
.skip{position:absolute;left:-999px;top:8px;z-index:100;background:var(--primary);color:#fff;padding:8px 12px;border-radius:8px}.skip:focus{left:8px}
:focus-visible{outline:2px solid var(--primary);outline-offset:2px}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:none;box-shadow:0 0 0 3px var(--ring)}
@media (prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}

/* ---------- forms ---------- */
input,select,textarea{font:inherit;font-size:14px;color:var(--text);padding:8px 11px;border:1px solid var(--border-strong);border-radius:10px;background:var(--surface);max-width:100%;transition:border-color .15s,box-shadow .15s,background .2s}
input:hover,select:hover,textarea:hover{border-color:var(--faint)}
input:focus,select:focus,textarea:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px var(--ring)}
input::placeholder,textarea::placeholder{color:var(--faint)}
select{appearance:none;-webkit-appearance:none;padding-right:30px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23888899' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center;cursor:pointer}
input[type=checkbox]{width:16px;height:16px;accent-color:var(--primary);padding:0;cursor:pointer}
input[type=date],input[type=datetime-local]{min-height:38px}
textarea{width:100%;min-height:84px;resize:vertical;line-height:1.5}
label.f{display:flex;flex-direction:column;gap:6px;margin-bottom:14px;font-weight:550;font-size:13px;color:var(--text-2)}
label.f span{font-weight:400;font-size:12px;color:var(--muted)}
label.row{font-size:14px;color:var(--text-2);padding:3px 0}
/* ---------- buttons ---------- */
button,a.btn{font:inherit;font-size:13.5px;font-weight:550;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:8px 14px;border-radius:10px;border:1px solid transparent;background:var(--primary);color:#fff;cursor:pointer;line-height:1.3;white-space:nowrap;
  transition:background .15s,border-color .15s,color .15s,box-shadow .15s,transform .12s var(--ease);box-shadow:0 1px 2px rgba(30,30,90,.15),inset 0 1px 0 rgba(255,255,255,.12);text-decoration:none}
/* V10.8.1577 root fix: hover never swaps a button background (that turned light buttons solid blue with dark text). It only darkens what is there, so text keeps its contrast everywhere. */button:not(:disabled):hover{filter:brightness(.93)}button.sec:hover,button.ok:hover,button.bad:hover,.icon-btn:hover,button:disabled:hover{filter:none}button:active,a.btn:active{transform:translateY(1px) scale(.99)}
button.sec,a.btn{background:var(--surface);color:var(--text);border-color:var(--border-strong);box-shadow:var(--sh-xs)}
button.sec:hover,a.btn:hover{background:var(--surface-2);border-color:var(--faint);text-decoration:none}
button.ok{background:var(--success);color:#fff}button.ok:hover{background:#13893f}
button.bad{background:var(--danger);color:#fff}button.bad:hover{background:#c21f1f}
button.ghost{background:transparent;color:var(--text-2);box-shadow:none}button.ghost:hover{background:var(--surface-2)}
button.sm,a.btn.sm{padding:5px 10px;font-size:12.5px;border-radius:8px;gap:5px}button.sm .i,a.btn.sm .i{width:14px;height:14px}
button:disabled{opacity:.5;cursor:not-allowed}
.btn-lg{padding:11px 16px;font-size:15px;width:100%}
.icon-btn{width:36px;height:36px;padding:0;border-radius:10px;background:transparent;color:var(--text-2);box-shadow:none;border:1px solid transparent}
.icon-btn:hover{background:var(--surface-2);color:var(--text)}.icon-btn .i{width:18px;height:18px}
.link{background:none;border:none;color:var(--primary-text);box-shadow:none;padding:0;font:inherit;cursor:pointer}
/* ---------- utils ---------- */
.err{color:var(--danger-t);font-size:13px}.muted{color:var(--muted);font-size:13px}
.row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.spacer{flex:1}
.stack{display:flex;flex-direction:column;gap:8px}
pre{white-space:pre-wrap;word-break:break-word;background:var(--surface-2);border:1px solid var(--border);padding:10px 12px;border-radius:10px;margin:6px 0;font-size:12.5px;line-height:1.55;color:var(--text-2)}
details summary{cursor:pointer;user-select:none;font-size:12.5px;color:var(--muted);padding:2px 0}details summary:hover{color:var(--text)}
hr{border:none;border-top:1px solid var(--border);margin:12px 0}

/* ---------- auth ---------- */
.auth{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px;
  background:radial-gradient(900px 500px at 15% 10%,rgba(99,102,241,.22),transparent 60%),radial-gradient(800px 500px at 90% 90%,rgba(168,85,247,.18),transparent 60%),var(--bg)}
.auth-card{width:100%;max-width:400px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-xl);padding:32px 28px;box-shadow:var(--sh-lg);display:flex;flex-direction:column;animation:pop .4s var(--ease)}
.auth-card h1{font-size:22px;margin:18px 0 4px;text-align:center}.auth-sub{color:var(--muted);text-align:center;margin:0 0 22px;font-size:14px}
.auth-foot{text-align:center;color:var(--faint);font-size:12px;margin:16px 0 0}#loginErr,#pwErr{text-align:center;margin-top:10px;min-height:1em}
.logo-mark{width:32px;height:32px;border-radius:9px;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;font-weight:800;font-size:13px;color:#fff;letter-spacing:-.02em;
  background:linear-gradient(135deg,#6366f1,#a855f7);box-shadow:0 4px 14px rgba(99,102,241,.4),inset 0 1px 0 rgba(255,255,255,.25)}
.logo-mark.lg{width:52px;height:52px;border-radius:15px;font-size:19px;margin:0 auto}

/* ---------- shell ---------- */
.sidebar{position:fixed;inset:0 auto 0 0;width:var(--sbw);background:var(--sb-bg);border-right:1px solid var(--sb-border);display:flex;flex-direction:column;z-index:40;transition:width .25s var(--ease),transform .25s var(--ease);color:var(--sb-text)}
.sb-head{height:var(--tb-h);display:flex;align-items:center;padding:0 14px;gap:8px;flex-shrink:0}
.sb-brand{display:flex;align-items:center;gap:10px;color:#fff;min-width:0;flex:1}.sb-brand:hover{text-decoration:none}
.sb-brand-t{display:flex;flex-direction:column;line-height:1.15;min-width:0;white-space:nowrap}.sb-brand-t b{font-size:14px;font-weight:650;color:#fff}.sb-brand-t small{font-size:11.5px;color:var(--sb-text)}
.sb-close{display:none;color:var(--sb-text)}.sb-close:hover{background:var(--sb-hover);color:#fff}
.sb-scroll{flex:1;overflow-y:auto;overflow-x:hidden;padding:4px 10px 12px;scrollbar-width:thin;scrollbar-color:#2a2a36 transparent}
.navh{font-size:10.5px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:#7c7c92;padding:16px 10px 6px;white-space:nowrap}
.sidebar a[data-i]{position:relative;display:flex;align-items:center;gap:11px;padding:7px 10px;margin:1px 0;border-radius:9px;color:var(--sb-text);font-weight:500;font-size:13.5px;white-space:nowrap;transition:background .15s,color .15s}
.sidebar a[data-i] .i{width:17px;height:17px;opacity:.85;transition:opacity .15s,transform .2s var(--ease)}
.sidebar a[data-i]:hover{background:var(--sb-hover);color:var(--sb-text-h);text-decoration:none}.sidebar a[data-i]:hover .i{opacity:1}
.sidebar a[data-i].active{background:var(--sb-active);color:#fff}.sidebar a[data-i].active .i{opacity:1;color:#a5a4ff}
.sidebar a[data-i].active:before{content:"";position:absolute;left:-10px;top:8px;bottom:8px;width:3px;border-radius:0 3px 3px 0;background:linear-gradient(#818cf8,#c084fc)}
.sidebar .lbl{flex:1;overflow:hidden;text-overflow:ellipsis}
.badge:empty{display:none}
.badge{min-width:20px;height:20px;padding:0 6px;border-radius:999px;font-size:11px;font-weight:650;display:inline-flex;align-items:center;justify-content:center;background:rgba(255,255,255,.1);color:#e7e7f0;font-variant-numeric:tabular-nums}
.badge.hot{background:#ef4444;color:#fff;box-shadow:0 0 0 3px rgba(239,68,68,.18)}
.sidebar .badge.nb{min-width:18px;height:18px;padding:0 6px;font-size:10.5px;box-shadow:none}
.main .badge,.card .badge,table .badge{background:var(--warning-soft);color:var(--warning-t)}
.sb-foot{border-top:1px solid var(--sb-border);padding:10px;display:flex;flex-direction:column;gap:6px;flex-shrink:0}
.sb-user{display:flex;align-items:center;gap:10px;padding:6px;border-radius:10px;min-width:0}
.sb-user-t{display:flex;flex-direction:column;line-height:1.2;min-width:0;flex:1}.sb-user-t b{color:#fff;font-size:13px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sb-user-t small{font-size:11.5px;color:var(--sb-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sb-user .icon-btn{color:var(--sb-text);width:32px;height:32px}.sb-user .icon-btn:hover{background:var(--sb-hover);color:#fff}
.sb-toggle{background:transparent;border:none;box-shadow:none;color:#8a8aa0;justify-content:flex-start;padding:7px 10px;font-size:12.5px;font-weight:500;gap:11px;border-radius:9px}
.sb-toggle:hover{background:var(--sb-hover);color:#fff}
.sb-collapsed{--sbw:68px}
.sb-collapsed .sb-brand-t,.sb-collapsed .sidebar .lbl,.sb-collapsed .sb-user-t,.sb-collapsed .sb-toggle span,.sb-collapsed .sb-user .icon-btn{display:none}
.sb-collapsed .navh{font-size:0;padding:10px 0 4px;margin:0 12px;border-top:1px solid var(--sb-border)}.sb-collapsed .navh:first-child{border:none}
.sb-collapsed .sidebar a[data-i]{justify-content:center;padding:9px 0}
.sb-collapsed .sidebar a[data-i] .badge{position:absolute;top:2px;right:6px;min-width:16px;height:16px;font-size:9.5px;padding:0 4px}
.sb-collapsed .sb-head{padding:0 18px}.sb-collapsed .sb-user{justify-content:center}.sb-collapsed .sb-toggle{justify-content:center}
.main-wrap{margin-left:var(--sbw);min-height:100vh;transition:margin-left .25s var(--ease);display:flex;flex-direction:column;min-width:0}
.topbar{position:sticky;top:0;z-index:30;height:var(--tb-h);display:flex;align-items:center;gap:12px;padding:0 24px;
  background:color-mix(in srgb,var(--bg) 78%,transparent);backdrop-filter:saturate(180%) blur(14px);-webkit-backdrop-filter:saturate(180%) blur(14px);border-bottom:1px solid var(--border)}
.menu{display:none}
.tb-title{flex:1;min-width:0}.crumb{font-weight:600;font-size:14.5px;color:var(--text);display:flex;align-items:center;gap:8px;white-space:nowrap;overflow:hidden}.crumb .i{color:var(--muted)}
.crumb small{color:var(--faint);font-weight:500}
.search-trigger{width:340px;max-width:40vw;justify-content:flex-start;gap:9px;background:var(--surface);color:var(--faint);border:1px solid var(--border);box-shadow:var(--sh-xs);font-weight:400;padding:7px 8px 7px 11px}
.search-trigger:hover{background:var(--surface);border-color:var(--border-strong);color:var(--muted)}.search-trigger .st-t{flex:1;text-align:left;overflow:hidden;text-overflow:ellipsis}
main{flex:1;padding:24px 28px 40px;width:100%;max-width:1400px;min-width:0;outline:none}
.view-enter{animation:viewIn .35s var(--ease)}
@keyframes viewIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@keyframes pop{from{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:none}}
.scrim{display:none}
.tabbar{display:none}
/* tabbar lives outside #shell; hide with shell on login/pw screens */
#shell.hidden~#tabbar{display:none!important}

/* ---------- page header ---------- */
.ph{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap;margin:2px 0 18px}
.ph-t{flex:1;min-width:220px}.ph h1{font-size:22px;margin:0;font-weight:680;display:flex;align-items:center;gap:10px}.ph p{margin:4px 0 0;color:var(--muted);font-size:13.5px;max-width:780px}
.ph .ic-sq{width:34px;height:34px;border-radius:10px}.ph .ic-sq .i{width:18px;height:18px}
.back{display:inline-flex;align-items:center;gap:6px;color:var(--muted);font-size:13px;font-weight:500;margin-bottom:12px}.back:hover{color:var(--text);text-decoration:none}
.toolbar{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.toolbar input:not([type=checkbox]),.toolbar select{min-width:150px}
.search-in{position:relative;display:inline-flex;align-items:center}.search-in .i{position:absolute;left:10px;color:var(--faint);pointer-events:none}.search-in input{padding-left:32px;min-width:230px}

/* ---------- cards ---------- */
.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:18px;margin-bottom:16px;box-shadow:var(--sh-sm);transition:background .25s,border-color .25s,box-shadow .2s}
.card h3{margin:0 0 12px;font-size:14.5px;font-weight:620;display:flex;align-items:center;gap:9px}
.card-h{display:flex;align-items:center;gap:10px;margin-bottom:14px;flex-wrap:wrap}.card-h h3{margin:0}.card-h .muted{font-size:12.5px}
.card-h a.more{font-size:12.5px;font-weight:550;display:inline-flex;align-items:center;gap:3px;color:var(--muted)}.card-h a.more:hover{color:var(--primary-text);text-decoration:none}
.card.flush{padding:0;overflow:hidden}.card.flush>.card-h{padding:16px 18px 0}
.card.tinted-warn{background:linear-gradient(var(--warning-soft),var(--warning-soft)),var(--surface);border-color:color-mix(in srgb,var(--warning) 30%,var(--border))}
.card.tinted-ok{background:linear-gradient(var(--success-soft),var(--success-soft)),var(--surface);border-color:color-mix(in srgb,var(--success) 30%,var(--border))}
.ic-sq{width:28px;height:28px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;background:var(--primary-soft);color:var(--primary-text)}
.ic-sq .i{width:15px;height:15px}
.tone-red{background:var(--danger-soft);color:var(--danger-t)}.tone-amber{background:var(--warning-soft);color:var(--warning-t)}.tone-green{background:var(--success-soft);color:var(--success-t)}
.tone-blue{background:var(--info-soft);color:var(--info-t)}.tone-violet{background:var(--violet-soft);color:var(--violet-t)}.tone-orange{background:var(--orange-soft);color:var(--orange-t)}.tone-gray{background:var(--neutral-soft);color:var(--text-2)}.tone-indigo{background:var(--primary-soft);color:var(--primary-text)}
.note{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border-radius:var(--r);background:var(--surface-2);border:1px solid var(--border);color:var(--text-2);font-size:13px;margin-bottom:16px}
.note .i{margin-top:2px;color:var(--muted)}.note.info{background:var(--info-soft);border-color:transparent;color:var(--text-2)}.note.info .i{color:var(--info-t)}
.note.warn{background:var(--warning-soft);border-color:transparent}.note.warn .i{color:var(--warning-t)}
.list-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding:10px 0;border-bottom:1px solid var(--border)}.list-row:last-child{border-bottom:none}
.list-row.click{cursor:pointer;margin:0 -10px;padding:10px;border-radius:10px;border-bottom:none}.list-row.click:hover{background:var(--surface-2)}

/* ---------- pills / chips ---------- */
.pill{display:inline-flex;align-items:center;gap:5px;padding:2px 9px;border-radius:999px;font-size:11.5px;font-weight:550;line-height:1.6;background:var(--neutral-soft);color:var(--text-2);white-space:nowrap;text-transform:capitalize;letter-spacing:.005em;vertical-align:middle;border:1px solid transparent}
.pill .i{width:12px;height:12px;vertical-align:0}
.pill[class*=" s-"]:before,.pill.dot:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;opacity:.9}
.s-new,.s-scheduled,.s-confirmed,.s-open{background:var(--info-soft);color:var(--info-t)}
.s-bot_handling,.s-assigned,.s-investigating,.s-claimed{background:var(--violet-soft);color:var(--violet-t)}
.s-awaiting_approval,.s-pending,.s-waiting,.s-in_progress,.s-snoozed{background:var(--warning-soft);color:var(--warning-t)}
.s-escalated,.s-pending_senior,.s-no_show,.s-late{background:var(--danger-soft);color:var(--danger-t)}
.s-resolved,.s-approved,.s-executed,.s-completed,.s-closed,.s-handled,.s-acknowledged{background:var(--success-soft);color:var(--success-t)}
.s-rejected,.s-failed{background:var(--danger-soft);color:var(--danger-t)}.s-cancelled{background:var(--neutral-soft);color:var(--muted)}
.s-approved{background:var(--info-soft);color:var(--info-t)}
.p-urgent{background:var(--danger);color:#fff}.p-high{background:var(--orange-soft);color:var(--orange-t)}.p-low{background:var(--neutral-soft);color:var(--muted)}.p-normal{background:var(--neutral-soft)}
.sev-critical{background:var(--danger);color:#fff}.sev-high{background:var(--orange-soft);color:var(--orange-t)}.sev-medium{background:var(--warning-soft);color:var(--warning-t)}.sev-low{background:var(--neutral-soft);color:var(--muted)}
.pill.sev-critical:before,.pill.sev-high:before,.pill.sev-medium:before,.pill.sev-low:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}
.pill.sev-critical:before{background:#fff;animation:blink 1.6s infinite}
@keyframes blink{50%{opacity:.35}}
.money{background:var(--warning-soft);color:var(--warning-t);border-color:color-mix(in srgb,var(--warning) 40%,transparent)}
.risk{background:#7f1d1d;color:#fff}[data-theme=dark] .risk{background:#991b1b}
.flag{background:var(--danger);color:#fff}.budget{background:var(--orange-soft);color:var(--orange-t)}.lead{background:var(--success-soft);color:var(--success-t)}
.pol-ok{background:var(--success-soft);color:var(--success-t)}.pol-warn{background:var(--warning-soft);color:var(--warning-t)}.pol-violation{background:var(--danger-soft);color:var(--danger-t);border-color:color-mix(in srgb,var(--danger) 35%,transparent)}
.conf-low{background:var(--danger-soft);color:var(--danger-t)}.conf-high{background:var(--info-soft);color:var(--info-t)}
.live{background:var(--success-soft);color:var(--success-t)}.live:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--success);animation:pulse 1.6s infinite}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(34,197,94,.55)}70%{box-shadow:0 0 0 6px rgba(34,197,94,0)}100%{box-shadow:0 0 0 0 rgba(34,197,94,0)}}
.hs{display:inline-flex;align-items:center;gap:5px;padding:2px 9px;border-radius:999px;font-size:11.5px;font-weight:650;white-space:nowrap}
.hs:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}
.hs-good{background:var(--success-soft);color:var(--success-t)}.hs-watch{background:var(--warning-soft);color:var(--warning-t)}.hs-risk{background:var(--danger-soft);color:var(--danger-t)}
.since{font-variant-numeric:tabular-nums;font-weight:650;color:var(--danger-t);white-space:nowrap;font-size:12.5px;display:inline-flex;align-items:center;gap:4px}
.quo{padding:10px 12px;border-radius:10px;font-weight:550;font-size:13px}.quo.closed{background:var(--success-soft);color:var(--success-t)}.quo.pending,.quo.closing{background:var(--warning-soft);color:var(--warning-t)}.quo.failed{background:var(--danger-soft);color:var(--danger-t)}
.stage{display:flex;gap:4px;flex-wrap:wrap;align-items:center;color:var(--faint)}
.stage span{padding:3px 10px;border-radius:999px;font-size:11.5px;font-weight:550;background:var(--surface-2);color:var(--muted);border:1px solid var(--border);text-transform:capitalize}
.stage span.on{background:var(--primary);color:#fff;border-color:var(--primary);box-shadow:0 2px 8px var(--ring)}
.stage .sep{color:var(--faint);display:inline-flex}.stage .sep .i{width:12px;height:12px}

/* ---------- avatars ---------- */
.av{--s:30px;width:var(--s);height:var(--s);border-radius:50%;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;font-size:calc(var(--s)*.38);font-weight:650;color:#fff;letter-spacing:-.02em;user-select:none;vertical-align:middle;box-shadow:inset 0 0 0 1px rgba(255,255,255,.12)}
.av .i{width:calc(var(--s)*.55);height:calc(var(--s)*.55)}
.av.xs{--s:20px}.av.sm{--s:24px}.av.lg{--s:44px}.av.xl{--s:56px}
.av.c0{background:linear-gradient(135deg,#8b7cf6,#ef4444)}.av.c1{background:linear-gradient(135deg,#06b6d4,#3b82f6)}.av.c2{background:linear-gradient(135deg,#10b981,#059669)}.av.c3{background:linear-gradient(135deg,#ec4899,#d946ef)}
.av.c4{background:linear-gradient(135deg,#8b7cf6,#8b7cf6)}.av.c5{background:linear-gradient(135deg,#14b8a6,#0ea5e9)}.av.c6{background:linear-gradient(135deg,#8b5cf6,#6366f1)}.av.c7{background:linear-gradient(135deg,#64748b,#475569)}
.av.anon{background:var(--surface-3);color:var(--muted);box-shadow:inset 0 0 0 1px var(--border)}
.av.bot{background:linear-gradient(135deg,#6366f1 0%,#8b5cf6 55%,#d946ef 100%);box-shadow:0 0 0 2px var(--surface),0 0 0 3.5px rgba(139,92,246,.45)}
.who{display:inline-flex;align-items:center;gap:9px;min-width:0}.who b{font-weight:600}.who .sub{display:block;color:var(--muted);font-size:12px;font-weight:400}

/* ---------- tables ---------- */
.tw{overflow-x:auto;margin:0 -18px -18px;border-top:1px solid var(--border)}
.card-h+.tw,.tw:first-child{border-top:none}
table{width:100%;border-collapse:separate;border-spacing:0}
th,td{text-align:left;padding:11px 14px;border-bottom:1px solid var(--border);vertical-align:middle}
th{font-size:11.5px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;background:var(--surface-2);white-space:nowrap}
.tw th:first-child,.tw td:first-child{padding-left:18px}.tw th:last-child,.tw td:last-child{padding-right:18px}
tr:last-child td{border-bottom:none}
tr.click{cursor:pointer;transition:background .12s}tr.click:hover td{background:var(--surface-2)}
td .muted{font-size:12.5px}
.kv td:first-child{color:var(--muted);width:40%;font-size:13px}.kv td{padding:9px 0;border-bottom:1px solid var(--border)}

/* ---------- tabs ---------- */
.tabs{display:inline-flex;gap:2px;margin-bottom:16px;flex-wrap:wrap;background:var(--surface-2);border:1px solid var(--border);padding:3px;border-radius:12px;align-items:center}
.tabs-wrap{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:16px}.tabs-wrap .tabs{margin-bottom:0}
.tabs button{background:transparent;color:var(--muted);box-shadow:none;border:none;padding:6px 12px;border-radius:9px;font-weight:550;text-transform:capitalize}
.tabs button:hover{color:var(--text);background:transparent}
.tabs button.on{background:var(--surface);color:var(--text);box-shadow:var(--sh-sm),0 0 0 1px var(--border)}

/* ---------- hero (command center) ---------- */
.hero{position:relative;overflow:hidden;border-radius:var(--r-xl);padding:26px 28px;margin-bottom:18px;color:#fff;border:1px solid rgba(255,255,255,.08);
  background:radial-gradient(600px 300px at 0% 0%,rgba(129,140,248,.55),transparent 60%),radial-gradient(500px 300px at 100% 0%,rgba(217,70,239,.45),transparent 60%),radial-gradient(600px 300px at 60% 140%,rgba(34,211,238,.35),transparent 60%),linear-gradient(135deg,#1e1b4b,#312e81 45%,#4c1d95);
  box-shadow:0 20px 50px -20px rgba(76,29,149,.55)}
.hero:after{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.14) 1px,transparent 1px);background-size:18px 18px;mask-image:linear-gradient(120deg,transparent 30%,#000 100%);-webkit-mask-image:linear-gradient(120deg,transparent 30%,#000 100%);pointer-events:none}
.hero>*{position:relative;z-index:1}
.hero h1{color:#fff;font-size:26px;margin:0;font-weight:700;letter-spacing:-.025em}.hero .hero-sub{margin:6px 0 0;color:rgba(255,255,255,.78);font-size:14px}
.hero .eyebrow{display:inline-flex;align-items:center;gap:7px;font-size:12px;font-weight:550;color:rgba(255,255,255,.85);margin-bottom:10px;padding:4px 10px 4px 8px;border-radius:999px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.14);backdrop-filter:blur(8px)}
.hero .eyebrow .dotlive{width:7px;height:7px;border-radius:50%;background:#4ade80;animation:pulse 1.8s infinite}
.hero-row{display:flex;gap:16px;align-items:flex-end;flex-wrap:wrap}
.glass{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.16);backdrop-filter:blur(12px) saturate(140%);-webkit-backdrop-filter:blur(12px) saturate(140%);border-radius:14px}
.hero-chips{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}
.hero-chip{padding:10px 14px;min-width:120px;display:flex;flex-direction:column;color:#fff}.hero-chip b{font-size:20px;font-weight:700;line-height:1.1;font-variant-numeric:tabular-nums}.hero-chip span{font-size:12px;color:rgba(255,255,255,.75)}
a.hero-chip:hover{background:rgba(255,255,255,.16);text-decoration:none}
.hero .btn.glass{color:#fff;border-color:rgba(255,255,255,.22);background:rgba(255,255,255,.12);box-shadow:none}.hero .btn.glass:hover{background:rgba(255,255,255,.2)}
.hero kbd{background:rgba(255,255,255,.15);border-color:rgba(255,255,255,.25);color:#fff}

/* ---------- stat cards ---------- */
.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px}
.stat-card{position:relative;display:flex;flex-direction:column;gap:6px;padding:16px 16px 12px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--sh-sm);color:inherit;overflow:hidden;
  transition:transform .2s var(--ease),box-shadow .2s var(--ease),border-color .2s}
.stat-card:hover{transform:translateY(-2px);box-shadow:var(--sh-md);border-color:var(--border-strong);text-decoration:none}
.sc-top{display:flex;align-items:center;gap:9px}.sc-lbl{font-size:12.5px;font-weight:550;color:var(--muted);flex:1;line-height:1.3}
.sc-val{font-size:28px;font-weight:700;letter-spacing:-.03em;line-height:1.1;font-variant-numeric:tabular-nums;color:var(--text)}
.stat-card.hot .sc-val{color:var(--danger-t)}
.sc-foot{display:flex;align-items:flex-end;gap:8px;min-height:30px}.sc-foot .muted{font-size:11.5px;flex:1;line-height:1.3}
.spark{width:96px;height:30px;flex-shrink:0;overflow:visible}.spark path.ln{fill:none;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}
.spark .dot{stroke:var(--surface);stroke-width:1.5}
.spark-draw path.ln{stroke-dasharray:300;stroke-dashoffset:300;animation:draw 1.1s var(--ease) forwards}
@keyframes draw{to{stroke-dashoffset:0}}
.minibars{display:flex;gap:4px;align-items:flex-end;height:30px}.minibars i{display:block;width:10px;border-radius:3px 3px 1px 1px;background:var(--primary);opacity:.85;min-height:3px;transform-origin:bottom;animation:grow .7s var(--ease) both}
.minibars i:nth-child(2){animation-delay:.08s;opacity:.65}.minibars i:nth-child(3){animation-delay:.16s;opacity:.45}
@keyframes grow{from{transform:scaleY(0)}}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px}
.stat{display:flex;flex-direction:column;gap:2px;color:inherit;background:var(--surface);border:1px solid var(--border);border-radius:var(--r);padding:14px;box-shadow:var(--sh-xs)}
.card .stat{background:var(--surface-2);box-shadow:none}
.stat b{display:block;font-size:24px;font-weight:700;letter-spacing:-.02em;color:var(--text);line-height:1.15;font-variant-numeric:tabular-nums}.stat span{color:var(--muted);font-size:12.5px}.stat.hot b{color:var(--danger-t)}
.cols{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(300px,1fr);gap:16px;align-items:start}
.cols>div{min-width:0}

/* ---------- attention items ---------- */
.att{position:relative;display:flex;gap:12px;padding:12px 14px 12px 16px;border-radius:12px;border:1px solid var(--border);margin-bottom:8px;align-items:flex-start;background:var(--surface);transition:border-color .15s,box-shadow .15s,transform .15s}
.att:hover{border-color:var(--border-strong);box-shadow:var(--sh-sm)}
.att:before{content:"";position:absolute;left:0;top:10px;bottom:10px;width:3px;border-radius:0 3px 3px 0;background:var(--faint)}
.att.sev-critical{background:linear-gradient(90deg,var(--danger-soft),transparent 70%),var(--surface);color:var(--text)}.att.sev-critical:before{background:var(--danger)}
.att.sev-high:before{background:var(--orange)}.att.sev-medium:before{background:var(--warning)}.att.sev-low:before{background:var(--faint)}
.att .t{flex:1;min-width:0}.att .t b{font-weight:600}.att .meta{display:flex;gap:6px 10px;flex-wrap:wrap;align-items:center;margin-top:6px;font-size:12.5px}
.att .acts{display:flex;gap:6px;flex-wrap:wrap;margin-left:auto}
.att .ic-sq{margin-top:1px}

/* ---------- timeline: what the bot did ---------- */
.btl-group{padding:4px 0 14px}.btl-group+.btl-group{border-top:1px dashed var(--border);padding-top:14px}
.btl{position:relative;padding-left:30px;margin:10px 0 0 4px}
.btl:before{content:"";position:absolute;left:11px;top:6px;bottom:6px;width:2px;background:linear-gradient(var(--border-strong),var(--border));border-radius:2px}
.btl .ev{position:relative;margin-bottom:12px;font-size:13px;animation:viewIn .4s var(--ease) both}
.btl .ev:last-child{margin-bottom:0}
.btl .node{position:absolute;left:-30px;top:-1px;width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--surface);border:2px solid var(--border-strong);color:var(--muted)}
.btl .node .i{width:12px;height:12px}
.btl .ev.executed .node{background:var(--success);border-color:var(--success);color:#fff;box-shadow:0 0 0 4px var(--success-soft)}
.btl .ev.failed .node{background:var(--danger);border-color:var(--danger);color:#fff;box-shadow:0 0 0 4px var(--danger-soft)}
.btl .ev.approved .node{background:var(--info);border-color:var(--info);color:#fff}
.btl .ev.rejected .node{background:#7f1d1d;border-color:#7f1d1d;color:#fff}
.btl .ev.proposed .node{background:var(--violet-soft);border-color:var(--violet);color:var(--violet-t)}
.btl .ev.waiting .node{border-style:dashed;animation:spin 6s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.btl .ev b{font-weight:600}
.chg{display:grid;grid-template-columns:minmax(90px,auto) 1fr auto 1fr;gap:4px 10px;align-items:center;font-size:12.5px;background:var(--surface-2);border:1px solid var(--border);border-radius:10px;padding:8px 10px;margin-top:6px}
.chg .b{color:var(--muted);text-decoration:line-through;text-decoration-color:var(--danger);word-break:break-word}.chg .a{color:var(--success-t);font-weight:600;word-break:break-word}.chg .arr{color:var(--faint);display:flex}
.change-item{padding:12px 0;border-bottom:1px solid var(--border);display:flex;gap:12px}.change-item:last-child{border-bottom:none}.change-item .body{flex:1;min-width:0}

/* ---------- messages ---------- */
.tl{display:flex;flex-direction:column;gap:10px}
.mrow{display:flex;gap:9px;align-items:flex-end;max-width:88%}.mrow.out{align-self:flex-end;flex-direction:row-reverse}.mrow.full{max-width:100%;align-self:stretch;align-items:flex-start}
.msg{padding:9px 13px;border-radius:16px;max-width:100%;font-size:13.5px;line-height:1.5;word-wrap:break-word;animation:viewIn .3s var(--ease) both}
.msg .meta{font-size:11px;color:var(--muted);margin-bottom:2px;display:block}
.msg.inbound{background:var(--surface-2);border:1px solid var(--border);border-bottom-left-radius:5px;align-self:flex-start}
.msg.outbound{background:var(--primary);color:#fff;border-bottom-right-radius:5px;align-self:flex-end}.msg.outbound .meta,.msg.outbound .muted{color:rgba(255,255,255,.75)}
.msg.bot_note{background:var(--violet-soft);border:1px solid color-mix(in srgb,var(--violet) 22%,transparent);border-radius:12px;flex:1}
.msg.manager_note{background:var(--warning-soft);border:1px solid color-mix(in srgb,var(--warning) 25%,transparent);border-radius:12px;flex:1}
.msg.system{background:none;color:var(--muted);font-size:12px;padding:2px 0;text-align:center;align-self:center;display:flex;align-items:center;gap:6px}
.msg.preview{border-radius:14px;border-bottom-right-radius:5px;margin:10px 0}
.composer{display:flex;gap:8px;align-items:flex-end;margin-top:14px;padding-top:14px;border-top:1px solid var(--border)}.composer textarea{min-height:44px;flex:1}

/* ---------- live feed ---------- */
.feed{display:flex;flex-direction:column;gap:8px;max-height:560px;overflow:auto;padding:2px;margin:-2px}
.fi{position:relative;display:flex;gap:12px;padding:12px;border-radius:14px;background:var(--surface);border:1px solid var(--border);transition:background .4s,border-color .4s,opacity .4s,transform .2s}
.fi:hover{border-color:var(--border-strong)}
.fi .fic{position:relative;width:34px;height:34px;border-radius:11px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.fi .fic .i{width:17px;height:17px}
.fi:not(.handled) .fic:after{content:"";position:absolute;top:-3px;right:-3px;width:9px;height:9px;border-radius:50%;background:var(--danger);border:2px solid var(--surface);animation:blinkdot 2s infinite}
@keyframes blinkdot{50%{transform:scale(.7);opacity:.6}}
.fi .body{flex:1;min-width:0}.fi .ft{display:flex;gap:8px;align-items:baseline}.fi .ft b{font-weight:600;font-size:13.5px;flex:1;min-width:0}.fi .ft .muted{font-size:11.5px;white-space:nowrap}
.fi .fb{font-size:13px;color:var(--text-2);margin-top:2px}
.fi.handled{background:var(--surface-2);opacity:.92}.fi.handled .ft b{color:var(--text-2)}
.check{display:inline-flex;align-items:center;gap:7px;color:var(--success-t);font-weight:550;font-size:12.5px;margin-top:6px}
.ck{width:18px;height:18px;border-radius:50%;background:var(--success);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 0 0 3px var(--success-soft)}
.ck svg{width:11px;height:11px;stroke:#fff;stroke-width:3.2;fill:none;stroke-linecap:round;stroke-linejoin:round}
.ck path{stroke-dasharray:24;stroke-dashoffset:0}
.fi.just-handled .ck{animation:ckpop .5s var(--ease)}.fi.just-handled .ck path{stroke-dashoffset:24;animation:ckdraw .45s .15s var(--ease) forwards}
@keyframes ckpop{0%{transform:scale(0)}60%{transform:scale(1.25)}100%{transform:scale(1)}}
@keyframes ckdraw{to{stroke-dashoffset:0}}
.fi.enter{animation:feedIn .6s var(--ease) both}
.fi.enter:before{content:"";position:absolute;inset:-1px;border-radius:14px;border:1.5px solid var(--primary);opacity:0;animation:ring 2.2s ease-out}
@keyframes feedIn{from{opacity:0;transform:translateY(-10px) scale(.98)}to{opacity:1;transform:none}}
@keyframes ring{0%{opacity:.9}100%{opacity:0}}
.live-ind{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--success-t);font-weight:550}.live-ind:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--success);animation:pulse 1.8s infinite}

/* ---------- kanban / boards ---------- */
.kanban,.board{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;align-items:start}
.kcol{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-lg);padding:10px;min-height:140px}
.kcol-h{display:flex;align-items:center;gap:8px;padding:4px 4px 10px;font-weight:600;font-size:13px;text-transform:capitalize}.kcol-h .cnt{margin-left:auto;font-size:11.5px;color:var(--muted);background:var(--surface);border:1px solid var(--border);border-radius:999px;padding:0 8px}
.kcol-h .kdot{width:8px;height:8px;border-radius:50%;background:var(--faint)}
.kcard{background:var(--surface);border-radius:12px;padding:12px;margin-bottom:8px;border:1px solid var(--border);box-shadow:var(--sh-xs);transition:transform .15s var(--ease),box-shadow .15s;font-size:13px}
.kcard:hover{transform:translateY(-1px);box-shadow:var(--sh-md)}.kcard select{font-size:12.5px;padding:5px 28px 5px 8px}.kcard .row{margin-top:6px}
.kempty{font-size:12px;color:var(--faint);text-align:center;padding:14px 4px;border:1px dashed var(--border-strong);border-radius:10px}

/* ---------- chat ---------- */
.chat{display:grid;grid-template-columns:260px 1fr;gap:16px;height:calc(100vh - var(--tb-h) - 64px)}
.chat>.card{margin:0;display:flex;flex-direction:column;min-height:0}
.threads{gap:2px;overflow:auto}.threads a{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:10px;color:var(--text-2);font-weight:500}.threads a:hover{background:var(--surface-2);text-decoration:none}
.threads a.on{background:var(--primary-soft);color:var(--primary-text);font-weight:600}.threads a .lbl{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cmsgs{flex:1;overflow:auto;display:flex;flex-direction:column;gap:12px;min-height:300px;padding:6px 2px}
.cm-row{display:flex;gap:10px;align-items:flex-start;max-width:80%}.cm-row.mine{align-self:flex-end;flex-direction:row-reverse}
.cm{background:var(--surface-2);border:1px solid var(--border);padding:8px 12px;border-radius:14px;border-top-left-radius:5px;font-size:13.5px}
.cm-row.mine .cm{background:var(--primary);color:#fff;border-color:transparent;border-radius:14px;border-top-right-radius:5px}
.cm-meta{font-size:11.5px;color:var(--muted);margin-bottom:3px}.cm-row.mine .cm-meta{text-align:right}

/* ---------- action panel ---------- */
.panel{position:sticky;top:calc(var(--tb-h) + 16px)}
.panel .acts{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.panel .acts button,.panel .acts a.btn{width:100%;font-size:12.5px;padding:8px 10px;justify-content:flex-start;font-weight:500}
.panel .acts .i{color:var(--muted)}
.ans{border-left:3px solid var(--primary);padding:8px 12px;background:var(--surface-2);border-radius:0 10px 10px 0;margin:8px 0;font-size:13px}

/* ---------- modal ---------- */
.modal{position:fixed;inset:0;background:rgba(10,10,20,.45);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);z-index:80;display:flex;align-items:flex-start;justify-content:center;padding:9vh 14px;animation:fade .18s ease}
.mbox{width:100%;max-width:520px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-xl);box-shadow:var(--sh-lg);padding:20px 22px;animation:pop .25s var(--ease);max-height:82vh;overflow:auto}
.m-head{display:flex;align-items:center;gap:8px;margin-bottom:14px}.m-head h3{margin:0;font-size:16px;font-weight:650;display:flex;align-items:center;gap:9px}
.m-foot{display:flex;gap:8px;justify-content:flex-end;margin-top:6px;padding-top:14px;border-top:1px solid var(--border)}
@keyframes fade{from{opacity:0}}

/* ---------- command palette ---------- */
.palette{position:fixed;inset:0;z-index:90;background:rgba(10,10,20,.5);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);display:flex;justify-content:center;align-items:flex-start;padding:12vh 14px;animation:fade .15s ease}
.pal-box{width:100%;max-width:640px;background:color-mix(in srgb,var(--surface) 94%,transparent);border:1px solid var(--border);border-radius:var(--r-xl);box-shadow:var(--sh-lg),0 0 0 1px rgba(255,255,255,.04) inset;overflow:hidden;animation:pop .22s var(--ease);display:flex;flex-direction:column;max-height:70vh}
.pal-in{display:flex;align-items:center;gap:10px;padding:14px 16px;border-bottom:1px solid var(--border)}.pal-in .i{width:19px;height:19px;color:var(--muted)}
.pal-in input{flex:1;border:none;background:transparent;font-size:16px;padding:4px 0;box-shadow:none!important}.pal-in input:focus{box-shadow:none}
.pal-list{overflow:auto;padding:6px;flex:1}
.pal-grp{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--faint);padding:10px 10px 4px}
.pal-item{display:flex;align-items:center;gap:11px;padding:9px 10px;border-radius:10px;cursor:pointer;color:var(--text);font-size:13.5px;scroll-margin:8px}
.pal-item .pi-ic{width:30px;height:30px;border-radius:9px;display:flex;align-items:center;justify-content:center;background:var(--surface-2);border:1px solid var(--border);color:var(--text-2);flex-shrink:0}
.pal-item .pi-ic .i{width:15px;height:15px}
.pal-item .pi-t{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pal-item .pi-t small{color:var(--muted);margin-left:6px}
.pal-item .pi-k{font-size:11.5px;color:var(--faint)}
.pal-item.on{background:var(--primary-soft)}.pal-item.on .pi-ic{background:var(--primary);color:#fff;border-color:var(--primary)}.pal-item.on .pi-k{color:var(--primary-text)}
.pal-foot{display:flex;gap:14px;align-items:center;padding:9px 14px;border-top:1px solid var(--border);font-size:11.5px;color:var(--muted);background:var(--surface-2)}
.pal-foot kbd{margin-right:3px}
.pal-empty{padding:30px;text-align:center;color:var(--muted)}

/* ---------- toasts ---------- */
.toasts{position:fixed;top:16px;right:16px;z-index:100;display:flex;flex-direction:column;gap:8px;pointer-events:none;max-width:min(380px,calc(100vw - 32px))}
.toast{pointer-events:auto;display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border-radius:14px;background:var(--surface);color:var(--text);border:1px solid var(--border);box-shadow:var(--sh-lg);font-size:13.5px;font-weight:500;animation:toastIn .35s var(--ease) both}
.toast .ti{width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}.toast .ti .i{width:13px;height:13px}
.toast.success .ti{background:var(--success-soft);color:var(--success-t)}.toast.error .ti{background:var(--danger-soft);color:var(--danger-t)}.toast.info .ti{background:var(--primary-soft);color:var(--primary-text)}
.toast .tm{flex:1;padding-top:1px;word-break:break-word}.toast.out{animation:toastOut .3s var(--ease) forwards}
.toast .bar{position:absolute}
@keyframes toastIn{from{opacity:0;transform:translateX(20px) scale(.97)}to{opacity:1;transform:none}}
@keyframes toastOut{to{opacity:0;transform:translateX(20px) scale(.97)}}

/* ---------- empty states ---------- */
.empty{color:var(--muted);text-align:center;padding:18px;font-size:13px}
.es{display:flex;flex-direction:column;align-items:center;text-align:center;padding:26px 16px;color:var(--muted)}
.es-art{position:relative;width:72px;height:72px;margin-bottom:12px;display:flex;align-items:center;justify-content:center}
.es-art:before,.es-art:after{content:"";position:absolute;border-radius:50%;border:1px dashed var(--border-strong)}
.es-art:before{inset:0;animation:spin 30s linear infinite}.es-art:after{inset:-12px;border-style:solid;border-color:var(--border);opacity:.7}
.es-art span{width:48px;height:48px;border-radius:15px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--primary-soft),var(--violet-soft));color:var(--primary-text);box-shadow:var(--sh-sm);border:1px solid var(--border)}
.es-art span .i{width:22px;height:22px}
.es.good .es-art span{background:linear-gradient(135deg,var(--success-soft),var(--info-soft));color:var(--success-t)}
.es b{color:var(--text);font-weight:600;font-size:14px}.es p{margin:4px 0 0;font-size:13px;max-width:380px}
.es.compact{padding:16px 10px}.es.compact .es-art{width:52px;height:52px;margin-bottom:8px}.es.compact .es-art span{width:36px;height:36px;border-radius:11px}.es.compact .es-art:after{inset:-8px}

/* ---------- skeletons ---------- */
.sk{background:linear-gradient(90deg,var(--surface-2) 0%,var(--surface-3) 40%,var(--surface-2) 80%);background-size:300% 100%;animation:shimmer 1.3s ease-in-out infinite;border-radius:8px}
@keyframes shimmer{0%{background-position:100% 0}100%{background-position:-100% 0}}
.sk-line{height:12px;margin:8px 0}.sk-title{height:22px;width:260px;margin-bottom:8px}.sk-hero{height:150px;border-radius:var(--r-xl);margin-bottom:18px}
.sk-card{height:118px;border-radius:var(--r-lg)}.sk-block{height:260px;border-radius:var(--r-lg);margin-bottom:16px}

/* ---------- misc ---------- */
.approve-big{gap:8px}
.action-card{position:relative;transition:box-shadow .2s,border-color .2s}.action-card.pending{border-color:color-mix(in srgb,var(--warning) 35%,var(--border))}
.action-card.pending:before{content:"";position:absolute;left:-1px;top:16px;bottom:16px;width:3px;border-radius:0 3px 3px 0;background:var(--warning)}
.ac-head{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.reason{font-size:13px;color:var(--text-2);margin-top:8px}.reason b{color:var(--text)}
.policy{font-size:12.5px;color:var(--text-2);margin:8px 0;display:flex;flex-direction:column;gap:3px}.policy div{display:flex;gap:6px;align-items:flex-start}.policy .i{width:14px;height:14px;margin-top:2px}
.profile-head{display:flex;gap:16px;align-items:center;flex-wrap:wrap}
.profile-head h2{margin:0;font-size:21px;font-weight:680}
.health-ring{--v:50;width:54px;height:54px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px;background:conic-gradient(var(--hc,var(--success)) calc(var(--v)*1%),var(--surface-3) 0);position:relative}
.health-ring:before{content:"";position:absolute;inset:5px;border-radius:50%;background:var(--surface)}.health-ring span{position:relative}
.fade-in{animation:viewIn .35s var(--ease) both}

/* ---------- responsive ---------- */
@media (max-width:1180px){.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.cols{grid-template-columns:1fr}.panel{position:static}}
@media (max-width:860px){
  :root{--tb-h:56px}
  .sidebar{transform:translateX(-100%);width:280px;box-shadow:var(--sh-lg)}.sidebar.open{transform:none}
  .sb-collapsed{--sbw:252px}.sb-collapsed .sb-brand-t,.sb-collapsed .sidebar .lbl,.sb-collapsed .sb-user-t,.sb-collapsed .sb-user .icon-btn{display:revert}
  .sb-collapsed .sidebar a[data-i]{justify-content:flex-start;padding:7px 10px}.sb-collapsed .navh{font-size:10.5px;padding:16px 10px 6px;border:none;margin:0}
  .sb-collapsed .sidebar a[data-i] .badge{position:static}
  .sb-close{display:inline-flex}.sb-toggle{display:none}
  .scrim{display:block;position:fixed;inset:0;background:rgba(5,5,12,.5);backdrop-filter:blur(2px);z-index:35;opacity:0;pointer-events:none;transition:opacity .25s}
  .scrim.on{opacity:1;pointer-events:auto}
  .main-wrap{margin-left:0}
  .topbar{padding:0 10px 0 6px;gap:6px}.menu{display:inline-flex}
  .search-trigger{width:auto;max-width:none;padding:0;width:36px;height:36px;justify-content:center;border:none;background:transparent;box-shadow:none;color:var(--text-2)}
  .search-trigger .st-t,.search-trigger kbd{display:none}.search-trigger .i{width:18px;height:18px}
  main{padding:16px 14px calc(var(--cc-tabbar-h,64px) + 28px + env(safe-area-inset-bottom,0px))}
  .hide-m{display:none}
  /* Shared Ops+Sales+People tab bar — iOS root cause fix (2026-10-06):
     WebKit makes position:fixed behave like absolute when the element OR an ancestor has
     transform/filter/backdrop-filter/perspective/will-change/contain. The bar then scrolls
     mid-page with the document (blank space beneath). Prior --tb-pin-bottom made it worse.
     Fix: #tabbar is a direct <body> child; solid bg (NO backdrop-filter); bottom:0 only;
     html/body/#shell hardened so they never become fixed containing blocks; no JS pin. */
  :root{--cc-tabbar-h:64px;--cc-tabbar-pad:calc(var(--cc-tabbar-h) + env(safe-area-inset-bottom,0px))}
  html,body{transform:none!important;filter:none!important;perspective:none!important;contain:none!important;will-change:auto!important;
    backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
  #shell,.main-wrap{transform:none!important;filter:none!important;perspective:none!important;contain:none!important;will-change:auto!important;
    backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
  #tabbar.tabbar,.tabbar{display:flex!important;position:fixed!important;left:0!important;right:0!important;bottom:0!important;
    top:auto!important;z-index:45;height:var(--cc-tabbar-pad);width:100%;max-width:100vw;margin:0;box-sizing:border-box;
    padding:6px 6px env(safe-area-inset-bottom,0px);border-top:1px solid var(--border);
    background:var(--surface); /* opaque — backdrop-filter on fixed is the iOS mid-screen landmine */
    transform:none!important;-webkit-transform:none!important;filter:none!important;
    backdrop-filter:none!important;-webkit-backdrop-filter:none!important;will-change:auto!important;contain:none!important}
  .tabbar a{position:relative;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;color:var(--muted);font-size:10.5px;font-weight:550;border-radius:12px;transition:color .15s}
  .tabbar a .i{width:22px;height:22px;transition:transform .2s var(--ease)}.tabbar a:hover{text-decoration:none}
  .tabbar a.active{color:var(--primary-text)}.tabbar a.active .i{transform:translateY(-1px)}
  .tabbar a.active:before{content:"";position:absolute;top:-6px;width:28px;height:3px;border-radius:0 0 3px 3px;background:var(--primary)}
  .tabbar em{position:absolute;top:2px;left:calc(50% + 6px);min-width:17px;height:17px;padding:0 5px;border-radius:999px;background:var(--warning);color:#1a1a1a;font-style:normal;font-size:10px;font-weight:700;display:flex;align-items:center;justify-content:center;border:2px solid var(--surface)}
  .tabbar em.hot{background:#ef4444;color:#fff}.tabbar em:empty{display:none}
  .tabbar em{top:3px;left:calc(50% + 5px);min-width:18px;height:18px;padding:0 5px;font-size:10.5px;line-height:1;letter-spacing:-.01em;font-variant-numeric:tabular-nums;box-shadow:0 1px 2px rgba(0,0,0,.18)}
  .toasts{top:auto;bottom:calc(var(--cc-tabbar-pad,76px) + 12px);right:12px;left:12px;max-width:none}
  .chat{grid-template-columns:1fr;height:auto}.chat .threads{flex-direction:row;overflow-x:auto;display:flex}.chat .threads a{flex-shrink:0}
  .hero{padding:20px;border-radius:18px}.hero h1{font-size:21px}.hero-chip{min-width:0;flex:1 1 40%}
  .stats{gap:10px}.stat-card{padding:13px 13px 10px}.sc-val{font-size:23px}.spark{width:64px}
  .ph h1{font-size:19px}.card{padding:15px;border-radius:14px}.tw{margin:0 -15px -15px}
  .approve-big{display:grid!important;grid-template-columns:1fr 1fr;gap:8px}.approve-big input{grid-column:1/-1}
  .approve-big button{padding:13px;font-size:15px;border-radius:12px}.approve-big button.sec{padding:10px;font-size:13.5px}
  .att{flex-wrap:wrap}.att .acts{margin-left:0;width:100%}
  .toolbar{width:100%}.toolbar>*{flex:1 1 140px}.search-in{flex:1 1 100%}.search-in input{width:100%;min-width:0}
  .palette{padding:0;align-items:flex-end}.pal-box{max-width:none;border-radius:20px 20px 0 0;max-height:85vh}.pal-foot{display:none}
  .modal{padding:0;align-items:flex-end}.mbox{border-radius:20px 20px 0 0;max-height:88vh;padding-bottom:calc(20px + env(safe-area-inset-bottom))}
  .mrow{max-width:94%}.chg{grid-template-columns:1fr auto 1fr}.chg b{grid-column:1/-1}
}
@media (max-width:420px){.stats{grid-template-columns:1fr 1fr}.sc-lbl{font-size:11.5px}.hero-chips{gap:8px}}

.pal-item .pi-ic.has-av,.pal-item.on .pi-ic.has-av{background:transparent;border-color:transparent}
@media (max-width:860px){.tabs{display:flex;flex-wrap:nowrap;overflow-x:auto;max-width:100%;scrollbar-width:none}.tabs::-webkit-scrollbar{display:none}.tabs button{flex-shrink:0}}
.stage span.sep{background:none;border:none;padding:0;box-shadow:none}
.att{color:var(--text)!important}.att.sev-high,.att.sev-medium,.att.sev-low{background:var(--surface)}
.pill.tone-red{background:var(--danger-soft);color:var(--danger-t)}.pill.tone-amber{background:var(--warning-soft);color:var(--warning-t)}.pill.tone-green{background:var(--success-soft);color:var(--success-t)}
.pill.tone-blue{background:var(--info-soft);color:var(--info-t)}.pill.tone-violet{background:var(--violet-soft);color:var(--violet-t)}.pill.tone-indigo{background:var(--primary-soft);color:var(--primary-text)}
.pill{text-transform:none}
.board{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}.kanban{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}
@media (max-width:860px){.hero kbd{display:none}.hero-chip{padding:8px 12px}.hero-chip b{font-size:17px}}

/* ================= v4: friendlier, clearer (plain words, cards, phone-first) ================= */
.pill{text-transform:none}
.ph p{font-size:14px;line-height:1.5;color:var(--text-2);max-width:640px}
.card-h h3{font-size:15px}
.muted{line-height:1.5}
/* action / suggestion card */
.action-card .ac-head{align-items:flex-start}
.ac-title{font-size:15.5px;font-weight:650;color:var(--text);line-height:1.35}
.ac-sub{margin-top:2px;font-size:13px}.ac-pills{margin-top:8px}
.action-card .msg.preview{font-size:14.5px;line-height:1.5;margin-top:12px}
.reason{font-size:14px;line-height:1.55;background:var(--surface-2);border-radius:12px;padding:10px 12px;margin-top:12px}
.policy{background:var(--surface-2);border-radius:12px;padding:10px 12px;font-size:13px}.pol-h{font-weight:600;color:var(--text);margin-bottom:2px}
.kv.pay{margin-top:12px}.kv.pay td:first-child{color:var(--muted);width:40%}
.wait-row{margin-top:12px;padding:10px 12px;border-radius:12px;background:var(--info-soft,var(--surface-2))}
.approve-big{display:flex!important;flex-direction:column;align-items:stretch;gap:10px;margin-top:14px;padding-top:14px;border-top:1px solid var(--border)}
.approve-big input{width:100%}
.ab-btns{display:flex;gap:8px;flex-wrap:wrap}.ab-btns button{flex:1 1 auto;min-height:44px;font-size:14.5px;font-weight:600}
.ab-btns button.ok{flex:2 1 160px}.ab-btns button.sec{flex:0 1 auto}
.link-btn{background:none!important;border:none!important;box-shadow:none!important;color:var(--muted)!important;font-size:12.5px;padding:2px 0!important;align-self:flex-start;display:inline-flex;gap:5px;align-items:center;min-height:0}
.link-btn:hover{color:var(--text)!important}.link-btn .i{width:14px;height:14px}
/* tucked-away technical details */
details.tech{margin-top:12px}details.tech>summary{font-size:12px;color:var(--faint,var(--muted));list-style:none;display:inline-flex;align-items:center;gap:4px}
details.tech>summary::-webkit-details-marker{display:none}details.tech>summary:before{content:"▸";font-size:10px;transition:transform .15s}details.tech[open]>summary:before{transform:rotate(90deg)}
details.tech pre{font-size:11.5px;margin-top:6px}
/* conversation */
.from-quo{display:inline-block;margin-left:6px;padding:0 7px;border-radius:999px;font-size:10.5px;font-weight:600;background:var(--neutral-soft);color:var(--muted);vertical-align:1px}
.msg{font-size:14px;line-height:1.5}.msg .meta{font-size:11.5px}
.msg.system{font-size:12.5px;text-align:center;justify-content:center;flex-wrap:wrap}
.tk-title{font-size:19px;line-height:1.3;margin:0 0 4px;font-weight:680}
/* audit log */
.audit{padding:6px 18px}.au-row{display:flex;gap:12px;padding:12px 0;border-bottom:1px solid var(--border)}.au-row:last-child{border-bottom:none}
.au-b{flex:1;min-width:0}.au-t{font-size:14px;line-height:1.45}.au-m{display:flex;gap:12px;align-items:baseline;flex-wrap:wrap;font-size:12.5px;margin-top:3px}
.au-m details.tech{margin-top:0;flex-basis:100%}
.au-row>.av.anon{opacity:.7}
/* shift handoff */
.ho-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:0}
.ho-card{margin-bottom:16px;border-top:3px solid var(--border)}.ho-card.tone-g{border-top-color:var(--success)}.ho-card.tone-a{border-top-color:var(--warning)}.ho-card.tone-o{border-top-color:var(--orange,var(--warning))}
.ho-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.ho-list li{display:flex;gap:10px;align-items:flex-start;font-size:14.5px;line-height:1.45}.ho-list .i{width:17px;height:17px;flex-shrink:0;margin-top:2px;color:var(--muted)}
.tone-g .ho-list .i{color:var(--success-t,var(--success))}.tone-a .ho-list .i{color:var(--warning-t,var(--warning))}
.ho-para{white-space:pre-wrap;font-size:14px;line-height:1.6;background:var(--surface-2);border:1px solid var(--border);border-radius:12px;padding:12px 14px;color:var(--text-2)}
.ho-btns{display:flex;gap:8px;margin-top:12px;justify-content:flex-end}.ho-btns button{min-height:44px}
.kb-body{white-space:pre-wrap;font-size:14px;line-height:1.6;color:var(--text-2);padding-top:8px}
.es b{font-size:15px;color:var(--text)}.es p{font-size:13.5px;max-width:360px}
@media (max-width:1000px){.ho-grid{grid-template-columns:1fr;gap:0}}
@media (max-width:860px){
  body{font-size:15px}
  .ph{margin-bottom:16px}.ph p{font-size:14px}
  .card h3,.card-h h3{font-size:15.5px}
  .list-row{padding:11px 0;gap:8px}
  .pill{font-size:12px;padding:3px 10px}
  .ab-btns button{min-height:48px;font-size:15.5px;border-radius:12px}
  .ab-btns button.ok,.ab-btns button.bad{flex:1 1 40%}.ab-btns button.sec{flex:1 1 100%}
  .ho-btns{justify-content:stretch}.ho-btns button{flex:1}
  .audit{padding:2px 15px}
  .acts .btn,.acts button{min-height:42px}
  .tk-title{font-size:18px}
  label.f{font-size:14px}input,select,textarea{font-size:16px}
}
.stage span{text-transform:none}
.tabs button,.kcol-h{text-transform:none}

/* ===================== v5 — bright "support hub" look ===================== */
:root{--gold:#8b7cf6;--gold-t:#5b45b8;--gold-soft:#f3f0ff;--r-lg:18px;--r-xl:22px}
html:not([data-theme=dark]){--bg:#f4f6fb;--surface:#fff;--surface-2:#f5f7fc;--surface-3:#eceff7;--border:#e6e9f2;--border-strong:#d5dae6;
  --text:#121a2e;--text-2:#3b4560;--muted:#66708a;--faint:#9aa2b8;
  --primary:#3b6cf6;--primary-h:#2f5be0;--primary-soft:#eaf0ff;--primary-text:#2c56d8;--ring:rgba(59,108,246,.3);
  --gold:#8b7cf6;--gold-t:#5b45b8;--gold-soft:#f3f0ff;
  --sh-sm:0 1px 2px rgba(23,35,79,.04),0 4px 14px rgba(23,35,79,.05);--sh-md:0 8px 24px rgba(23,35,79,.08),0 1px 3px rgba(23,35,79,.05);
  --r-lg:18px;--r-xl:22px;
  --sb-bg:#ffffff;--sb-border:#e8ebf3;--sb-text:#4c5670;--sb-text-h:#121a2e;--sb-hover:#f2f5fc;--sb-active:#eaf0ff}
[data-theme=dark]{--primary:#6d8dfa;--primary-h:#839ffb;--primary-soft:rgba(109,141,250,.16);--primary-text:#a7bcff;--ring:rgba(109,141,250,.45);
  --gold:#8b7cf6;--gold-t:#c4b8f5;--gold-soft:rgba(139,124,246,.15);
  --sb-bg:#0b0b10;--sb-border:#1b1b24;--sb-text:#a0a0b4;--sb-text-h:#f2f2f7;--sb-hover:rgba(255,255,255,.055);--sb-active:rgba(255,255,255,.09)}
.logo-mark{background:linear-gradient(135deg,#8b7cf6,#8b7cf6);color:#111;box-shadow:0 4px 14px rgba(139,124,246,.35),inset 0 1px 0 rgba(255,255,255,.4)}
.card{border-radius:var(--r-lg);box-shadow:var(--sh-sm)}
.ic-sq,.ph .ic-sq{border-radius:999px}
.tone-gold{background:var(--gold-soft);color:var(--gold-t)}.tone-indigo{background:var(--primary-soft);color:var(--primary-text)}
.cbadge{width:40px;height:40px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;background:var(--primary-soft);color:var(--primary-text)}
.cbadge .i{width:19px;height:19px}
/* light sidebar */
html:not([data-theme=dark]) .sb-brand,html:not([data-theme=dark]) .sb-brand-t b,html:not([data-theme=dark]) .sb-user-t b{color:var(--text)}
html:not([data-theme=dark]) .sidebar a[data-i].active{color:var(--primary-text);font-weight:600}
html:not([data-theme=dark]) .sidebar a[data-i].active .i{color:var(--primary)}
html:not([data-theme=dark]) .navh{color:#8b93aa}
html:not([data-theme=dark]) .sb-close:hover,html:not([data-theme=dark]) .sb-user .icon-btn:hover,html:not([data-theme=dark]) .sb-toggle:hover{color:var(--text)}
html:not([data-theme=dark]) .sb-scroll{scrollbar-color:#d6dbe7 transparent}
html:not([data-theme=dark]) .sidebar{box-shadow:1px 0 0 var(--sb-border),4px 0 24px rgba(23,35,79,.03)}
.sb-ella{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:12px;background:var(--sb-hover);color:var(--sb-text-h)}.sb-ella:hover{text-decoration:none;background:var(--sb-active)}
.sb-ella-av{position:relative;width:32px;height:32px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#6d8dfa,#8b5cf6);color:#fff;flex-shrink:0}
.sb-ella-av i{position:absolute;right:-1px;bottom:-1px;width:11px;height:11px;border-radius:999px;border:2px solid var(--sb-bg);background:#9aa2b8}
.sb-ella[data-state=operational] .sb-ella-av i{background:#22c55e}.sb-ella[data-state=delayed] .sb-ella-av i{background:#8b7cf6}.sb-ella[data-state=not_connected] .sb-ella-av i{background:#ef4444}
.sb-ella-t{display:flex;flex-direction:column;line-height:1.2;min-width:0}.sb-ella-t b{font-size:13px}.sb-ella-t small{font-size:11.5px;color:var(--sb-text)}
.sb-ella[data-state=operational] small{color:#16a34a}
.sb-human{display:flex;flex-direction:column;gap:2px;padding:11px 12px;border-radius:14px;background:linear-gradient(135deg,var(--gold-soft),var(--primary-soft));color:var(--sb-text-h);border:1px solid var(--sb-border)}
.sb-human:hover{text-decoration:none;filter:brightness(.98)}.sb-human b{font-size:13px}.sb-human small{font-size:11.5px;color:var(--sb-text);line-height:1.35}.sb-human span{font-size:12px;font-weight:600;color:var(--primary-text);margin-top:4px}
.sb-collapsed .sb-human,.sb-collapsed .sb-ella-t{display:none}.sb-collapsed .sb-ella{justify-content:center;padding:6px 0;background:none}
/* status pills */
.spill{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:600;white-space:nowrap;background:var(--neutral-soft);color:var(--text-2)}
.spill.st-green{background:var(--success-soft);color:var(--success-t)}.spill.st-amber{background:var(--warning-soft);color:var(--warning-t)}.spill.st-red{background:var(--danger-soft);color:var(--danger-t)}
.spill.st-blue{background:var(--info-soft);color:var(--info-t)}.spill.st-violet{background:var(--violet-soft);color:var(--violet-t)}.spill.st-gray{background:var(--neutral-soft);color:var(--muted)}
.spill i.ld{width:7px;height:7px;border-radius:999px;background:currentColor;box-shadow:0 0 0 0 currentColor;animation:ldp 1.6s infinite}
@keyframes ldp{0%{box-shadow:0 0 0 0 color-mix(in srgb,currentColor 55%,transparent)}70%{box-shadow:0 0 0 7px transparent}100%{box-shadow:0 0 0 0 transparent}}
.jchip{display:inline-flex;align-items:center;padding:2px 9px;border-radius:999px;font-size:11.5px;font-weight:550;background:var(--surface-2);border:1px solid var(--border);color:var(--muted);white-space:nowrap}
.jchip.ok{background:var(--success-soft);border-color:transparent;color:var(--success-t)}.jchip.warn{background:var(--warning-soft);border-color:transparent;color:var(--warning-t)}.jchip.bad{background:var(--danger-soft);border-color:transparent;color:var(--danger-t)}
.sref{font-size:12px;font-weight:500;color:var(--faint)}
/* session cards */
.slist{display:flex;flex-direction:column;gap:8px}
.scard{display:flex;align-items:center;gap:14px;padding:12px 14px;border:1px solid var(--border);border-radius:14px;background:var(--surface);color:var(--text);transition:border-color .15s,box-shadow .15s}
.scard:hover{text-decoration:none;border-color:var(--border-strong);box-shadow:var(--sh-sm)}
.sc-time{display:flex;flex-direction:column;align-items:center;min-width:62px;padding:6px 4px;border-radius:12px;background:var(--primary-soft);color:var(--primary-text);line-height:1.15}
.sc-time b{font-size:13.5px;white-space:nowrap}.sc-time span{font-size:10.5px;opacity:.8}
.sc-main{flex:1;min-width:0}.sc-t{font-weight:650;font-size:14px}.sc-who{font-size:13px;color:var(--text-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sc-chips{display:flex;flex-wrap:wrap;gap:5px;margin-top:6px}.sc-st{flex-shrink:0}
.sync-l{display:flex;align-items:center;gap:6px;margin:-6px 0 12px;font-size:12.5px}.sync-l .i{width:14px;height:14px}
.show-m{display:none}
/* home */
.h-greet h1{font-size:24px;margin:2px 0 4px}.h-greet p{margin:0 0 18px;color:var(--muted)}
.h-top{display:grid;grid-template-columns:2fr 1fr;gap:16px}
.ask{background:linear-gradient(135deg,#ffffff 0%,#f1f5ff 100%);border-color:#dfe6fb}
[data-theme=dark] .ask{background:linear-gradient(135deg,var(--surface),color-mix(in srgb,var(--primary) 10%,var(--surface)));border-color:var(--border)}
.ask-h{display:flex;align-items:center;gap:8px;font-weight:650;font-size:15px;margin-bottom:12px}.ask-h .i{color:var(--gold)}
.ask-bar{display:flex;align-items:center;gap:8px;background:var(--surface);border:1px solid var(--border-strong);border-radius:14px;padding:5px 5px 5px 12px;box-shadow:var(--sh-xs)}
.ask-bar:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px var(--ring)}
.ask-bar input{flex:1;border:none;box-shadow:none!important;padding:8px 2px;background:transparent;font-size:15px;min-width:0}.ask-ic{color:var(--faint);display:inline-flex}
.ask-bar button{width:38px;height:38px;padding:0;border-radius:11px}
.ask-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.chip{background:var(--surface);color:var(--text-2);border:1px solid var(--border);box-shadow:none;border-radius:999px;padding:6px 12px;font-size:12.5px;font-weight:550}
.chip:hover{background:var(--primary-soft);color:var(--primary-text);border-color:transparent}.chip .i{width:14px;height:14px;color:var(--primary)}
.clock{display:flex;align-items:center;gap:16px}.clock .cbadge{width:52px;height:52px}.clock .cbadge .i{width:24px;height:24px}
.clk-t{font-size:28px;font-weight:700;letter-spacing:-.02em;line-height:1.1}.clk-d{color:var(--muted);font-size:13px}
.sys-ok{display:inline-flex;align-items:center;gap:7px;margin-top:8px;font-size:12.5px;font-weight:600;color:var(--success-t);background:var(--success-soft);padding:3px 10px;border-radius:999px}
.sys-ok i{width:7px;height:7px;border-radius:999px;background:currentColor}.sys-ok.warn{color:var(--warning-t);background:var(--warning-soft)}
.kpis{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin-bottom:16px}
.kpi{position:relative;display:flex;flex-direction:column;gap:10px;padding:14px;border-radius:var(--r-lg);background:var(--surface);border:1px solid var(--border);box-shadow:var(--sh-sm);color:var(--text);transition:transform .15s var(--ease),box-shadow .15s}
.kpi:hover{text-decoration:none;transform:translateY(-2px);box-shadow:var(--sh-md)}
.kpi-b{display:flex;flex-direction:column;min-width:0}.kpi-l{font-size:12.5px;color:var(--muted);font-weight:550;line-height:1.25}.kpi-v{font-size:26px;font-weight:700;letter-spacing:-.02em;line-height:1.2}
.kpi-s{font-size:11.5px;color:var(--faint)}.kpi .kpi-c{position:absolute;right:12px;top:16px;color:var(--faint)}
.kpi.hot{border-color:color-mix(in srgb,var(--danger) 35%,var(--border))}.kpi.hot .kpi-v{color:var(--danger-t)}
.h-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:16px}
.eline,.aline,.sline{display:flex;align-items:center;gap:12px;padding:10px 4px;border-top:1px solid var(--border);color:var(--text)}
.eline:first-of-type,.aline:first-of-type,.sline:first-of-type{border-top:none}
.eline:hover,a.aline:hover{text-decoration:none;background:var(--surface-2);border-radius:10px}
.eline .cbadge,.aline .cbadge{width:34px;height:34px}.eline .cbadge .i,.aline .cbadge .i{width:16px;height:16px}
.el-t{flex:1;min-width:0;display:flex;flex-direction:column;font-size:13.5px;line-height:1.35}.el-t small{font-size:12px;color:var(--muted)}
.handle{background:var(--danger)!important;color:#fff!important;border-color:transparent!important}.handle:hover{background:#c21f1f!important}
.qa{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.qa-b{flex-direction:column;gap:8px;padding:14px 8px;background:var(--surface-2);color:var(--text);border:1px solid var(--border);box-shadow:none;border-radius:14px;font-size:12.5px;text-align:center}
.qa-b:hover{background:var(--primary-soft);border-color:transparent}
.sdot{width:10px;height:10px;border-radius:999px;flex-shrink:0;background:#9aa2b8}.sdot.operational{background:#22c55e;box-shadow:0 0 0 4px var(--success-soft)}
.sdot.delayed{background:#8b7cf6;box-shadow:0 0 0 4px var(--warning-soft)}.sdot.not_connected{background:#ef4444;box-shadow:0 0 0 4px var(--danger-soft)}
.banner{display:flex;align-items:center;gap:18px;padding:20px 22px;border-radius:var(--r-xl);margin:4px 0 16px;color:#111;
  background:linear-gradient(120deg,#c4b8f5 0%,#c4b8f5 45%,#c9d8ff 100%);box-shadow:var(--sh-sm)}
.bn-art{width:56px;height:56px;border-radius:999px;background:#111;color:#c4b8f5;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.bn-art .i{width:26px;height:26px}
.bn-t{flex:1;display:flex;flex-direction:column;gap:3px}.bn-t b{font-size:16px}.bn-t span{font-size:13.5px;color:#2b2b2b}
.bn-b{flex-shrink:0}
.home a.more{font-size:12.5px;font-weight:550;display:inline-block;margin-top:8px}
@media (max-width:1180px){.kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.h-grid{grid-template-columns:1fr}}
@media (max-width:860px){
  .show-m{display:block}.hide-m{display:none!important}
  .h-top{grid-template-columns:1fr;gap:0}.kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .kpi{padding:12px}.kpi-v{font-size:22px}.kpi .cbadge{width:34px;height:34px}.kpi .cbadge .i{width:16px;height:16px}
  .h-greet h1{font-size:20px}.clk-t{font-size:24px}.qa{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.qa-b{padding:12px 4px;font-size:12px}
  .banner{flex-direction:column;align-items:flex-start;padding:18px}
  .scard{flex-wrap:wrap;gap:10px;padding:12px}.sc-main{flex:1 1 calc(100% - 80px)}.sc-st{flex-basis:100%;order:3}
  .sc-who{white-space:normal}
}
@media (max-width:860px){.slist.show-m{display:flex}}
/* cases v5 */
.schips{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;margin:0 0 14px;padding:2px 0;max-width:100%}.schips::-webkit-scrollbar{display:none}
.schip{display:inline-flex;align-items:center;gap:7px;padding:7px 12px;border-radius:999px;background:var(--surface);border:1px solid var(--border);color:var(--text-2);font-size:13px;font-weight:550;white-space:nowrap;flex-shrink:0}
.schip:hover{text-decoration:none}.schip i{width:8px;height:8px;border-radius:999px}.schip b{font-size:11.5px;min-width:20px;padding:0 6px;border-radius:999px;background:var(--surface-2);color:var(--muted);text-align:center}
.schip.on{background:var(--primary);border-color:var(--primary);color:#fff}.schip.on b{background:rgba(255,255,255,.22);color:#fff}
.clist{display:flex;flex-direction:column;gap:10px}
.ccard{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:12px 14px;box-shadow:var(--sh-sm);display:flex;flex-direction:column;gap:8px;min-width:0;overflow:hidden}
.cc-top{display:flex;align-items:center;gap:10px;color:var(--text);min-width:0}.cc-top:hover{text-decoration:none}
.cc-n{flex:1;min-width:0;display:flex;flex-direction:column;line-height:1.3}.cc-n b{font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cc-topic{font-size:12.5px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pdot{width:10px;height:10px;border-radius:999px;flex-shrink:0}
.cc-meta{display:flex;flex-wrap:wrap;gap:5px}.cc-meta:empty{display:none}
.cc-foot{display:flex;align-items:center;gap:8px;min-width:0}
.cc-due{display:inline-flex;align-items:center;gap:5px;font-size:12px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.cc-due .i{width:13px;height:13px}
.cc-due.warn{color:var(--warning-t)}.cc-due.bad{color:var(--danger-t);font-weight:600}
.own-chip{display:inline-flex;align-items:center;gap:6px;padding:3px 8px 3px 3px;border-radius:999px;background:var(--surface-2);border:1px solid var(--border);color:var(--text-2);box-shadow:none;font-size:12px;font-weight:550;flex-shrink:0;max-width:130px}
.own-chip:hover{background:var(--primary-soft);color:var(--primary-text)}.own-chip span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.own-chip .i{width:12px;height:12px}
.own-list{display:flex;flex-direction:column;gap:6px;margin-bottom:8px}
.own-opt{display:flex;align-items:center;gap:10px;padding:8px 10px;border:1px solid var(--border);border-radius:12px;cursor:pointer}.own-opt:has(input:checked){border-color:var(--primary);background:var(--primary-soft)}
.board2{display:flex;gap:12px;align-items:flex-start}
.kcol2{flex:1 1 0;min-width:0;display:flex;flex-direction:column;gap:10px;background:var(--surface-2);border:1px solid var(--border);border-radius:18px;padding:10px}
.kcol2 .kcol-h{display:flex;align-items:center;gap:8px;font-weight:650;font-size:13px;padding:2px 4px}.kcol2 .cnt{margin-left:auto;font-size:12px;color:var(--muted)}
.kcol2.slim{flex:0 0 46px;align-items:center;padding:12px 0;min-height:180px}
.kcol2.slim .kcol-h{flex-direction:column;gap:10px;padding:0}.kcol2.slim .slim-t{writing-mode:vertical-rl;transform:rotate(180deg);font-size:12px;color:var(--muted);font-weight:600;white-space:nowrap}
.kcol2.slim .cnt{margin:0}
.kcol2:not(.slim){max-width:480px}
/* live ticket timeline */
.pill.s-superseded{background:var(--neutral-soft);color:var(--muted)}
.hx-st.t-muted{background:var(--neutral-soft)!important;color:var(--muted)!important}.hx-st.t-warn{background:var(--warning-soft)!important;color:var(--warning-t)!important}
.hx-st.t-ok{background:var(--success-soft)!important;color:var(--success-t)!important}.hx-st.t-bad{background:var(--danger-soft)!important;color:var(--danger-t)!important}
.hx-typing{display:flex;align-items:center;gap:8px;margin:6px 0 2px auto;width:max-content;max-width:100%;padding:7px 12px;border-radius:16px 16px 4px 16px;background:var(--primary-soft);color:var(--primary-text);font-size:12.5px;font-weight:550}
.hx-dots{display:inline-flex;gap:3px}.hx-dots i{width:6px;height:6px;border-radius:999px;background:currentColor;opacity:.35;animation:hxd 1.2s infinite}
.hx-dots i:nth-child(2){animation-delay:.15s}.hx-dots i:nth-child(3){animation-delay:.3s}
@keyframes hxd{0%,60%,100%{opacity:.3;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}

/* thread views: 'Jump to latest' pill */
.thread-wrap{position:relative;display:flex;flex-direction:column;flex:1;min-height:0}
.jump-latest{position:absolute;left:50%;bottom:12px;transform:translateX(-50%);z-index:3;border-radius:999px;padding:6px 14px;font-size:13px;font-weight:600;
  box-shadow:0 4px 14px rgba(0,0,0,.18);display:inline-flex;align-items:center;gap:6px;white-space:nowrap}
.jump-latest.hidden{display:none}

/* Paid & Scheduled */
.pay-row{padding:14px 16px}
.pay-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px 14px;margin-top:10px}
.pay-grid>div{display:flex;flex-direction:column;gap:2px;min-width:0}.pay-grid .muted{font-size:12px}.pay-grid b{font-weight:600;overflow-wrap:anywhere}
.kpis{grid-template-columns:repeat(7,minmax(0,1fr))}
@media (max-width:1180px){.kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.kpis .kpi.wide{grid-column:1/-1}}
@media (max-width:860px){.kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.pay-grid{grid-template-columns:1fr 1fr}}

/* nav badges: Inbox is blue when everything is with Ella, red when a manager is needed */
.badge.calm{background:#3b82f6;color:#fff;box-shadow:none}
@media (max-width:900px){.tabbar em.calm{background:#3b82f6;color:#fff}}
.tabbar em.calm{background:#3b82f6;color:#fff}
/* Not reviewed (Ella resolved on her own) */
.pill.not-reviewed{background:rgba(139,124,246,.14);color:#5b45b8;border-color:rgba(139,124,246,.35)}
[data-theme=dark] .pill.not-reviewed{color:#8b7cf6}
.review-strip{display:flex;align-items:center;gap:8px;padding:10px 12px;margin:-4px 0 10px;border-radius:10px;background:rgba(139,124,246,.1);color:var(--text);font-size:13px}
.review-strip:hover{text-decoration:none;background:rgba(139,124,246,.16)}.review-strip .i{width:16px;height:16px}
.review-card{border-left:3px solid #8b7cf6}
.pill.reviewed{background:rgba(34,197,94,.12);color:#15803d;border-color:rgba(34,197,94,.3);cursor:pointer;text-transform:none}
[data-theme=dark] .pill.reviewed{color:#4ade80}
.pill.not-reviewed{text-transform:none}
.rev-line{margin:6px 0 0 40px}.rev-line .pill{white-space:normal}
.rev-line .pill.reviewed{border-radius:10px}

/* ---- Team Chat v2: reactions, replies, shift status ---- */
.sdot{display:inline-block;width:9px;height:9px;border-radius:50%;background:#9ca3af;flex-shrink:0;vertical-align:middle;box-shadow:0 0 0 2px var(--surface)}
.sdot.on{background:#22c55e}.sdot.break{background:#8b7cf6}.sdot.off{background:#9ca3af}
.av-wrap{position:relative;display:inline-flex;flex-shrink:0}.av-wrap .sdot{position:absolute;right:-1px;bottom:-1px}
#meAvatar{position:relative;display:inline-flex}#meAvatar:after{content:"";position:absolute;right:-1px;bottom:-1px;width:9px;height:9px;border-radius:50%;background:#9ca3af;box-shadow:0 0 0 2px var(--sb-bg)}
#meAvatar[data-shift=on]:after{background:#22c55e}#meAvatar[data-shift=break]:after{background:#8b7cf6}
.ch-bar{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;padding:0 0 10px;margin-bottom:6px;border-bottom:1px solid var(--border)}
.ch-members{display:flex;flex-wrap:wrap;gap:6px 12px;flex:1;min-width:0}
.ch-members .mem{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;color:var(--text-2)}
.ch-shift,.sb-shift{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.shift-me{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:600;color:var(--text-2);margin-right:2px}
.sb-shift{padding:2px 6px}.sb-shift .shift-me{color:var(--sb-text);width:100%}.sb-shift .sdot{box-shadow:0 0 0 2px var(--sb-bg)}
.sb-shift button{background:var(--sb-hover);color:#fff;border:1px solid var(--sb-border);box-shadow:none}
.sb-collapsed .sb-shift{display:none}
.cm-sys{align-self:center;text-align:center;margin:2px 0}
.cm-sys span{display:inline-block;background:var(--surface-2);color:var(--muted);font-size:11.5px;padding:3px 10px;border-radius:8px;border:1px solid var(--border)}
.cm-col{min-width:0;max-width:100%;display:flex;flex-direction:column}
.cm-row.mine .cm-col{align-items:flex-end}
.cm-bw{position:relative;display:flex;align-items:center;gap:4px;max-width:100%}.cm-row.mine .cm-bw{flex-direction:row-reverse}
.cm-acts{display:flex;gap:2px;opacity:0;transition:opacity .12s}.cm-acts .icon-btn{width:28px;height:28px;color:var(--muted)}.cm-acts .i{width:16px;height:16px}
.cm-row:hover .cm-acts,.cm-row:focus-within .cm-acts{opacity:1}
@media (pointer:coarse){.cm-acts{display:none}}
.cm-quote{display:flex;flex-direction:column;align-items:flex-start;text-align:left;width:100%;margin:0 0 6px;padding:5px 9px;border-radius:8px;border:none;border-left:3px solid var(--primary);background:rgba(99,102,241,.08);color:inherit;font:inherit;font-size:12px;line-height:1.35;cursor:pointer;box-shadow:none}
.cm-quote b{font-size:11.5px;color:var(--primary-text)}.cm-quote span{opacity:.8;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.cm-row.mine .cm-quote{background:rgba(255,255,255,.16);border-left-color:rgba(255,255,255,.85)}.cm-row.mine .cm-quote b{color:#fff}
.cm-rx{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}
.rx{display:inline-flex;align-items:center;gap:4px;height:24px;padding:0 8px;border-radius:999px;border:1px solid var(--border);background:var(--surface);color:var(--text-2);font-size:13px;font-weight:600;box-shadow:none;cursor:pointer}
.rx span{font-size:11.5px}.rx.mine{background:var(--primary-soft);border-color:color-mix(in srgb,var(--primary) 40%,transparent);color:var(--primary-text)}
.rx.add{padding:0 6px;color:var(--muted)}.rx.add .i{width:14px;height:14px}
.cm-row.flash .cm{animation:cmFlash 1.6s ease}
@keyframes cmFlash{0%,40%{box-shadow:0 0 0 3px #8b7cf6}100%{box-shadow:0 0 0 0 transparent}}
.ch-reply{display:flex;align-items:center;gap:8px;margin-top:10px;padding:6px 8px 6px 10px;border-left:3px solid var(--primary);background:var(--surface-2);border-radius:8px}
.ch-reply .rq{flex:1;min-width:0;display:flex;flex-direction:column;font-size:12.5px}.ch-reply .rq span{color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ch-reply+.composer{margin-top:8px;padding-top:8px}
.emo-btn{flex-shrink:0;align-self:center}
.emo-pop{position:fixed;z-index:200;background:var(--surface);border:1px solid var(--border);border-radius:14px;box-shadow:0 12px 32px rgba(0,0,0,.18);padding:6px}
.emo-pop button{border:none;background:none;box-shadow:none;font-size:22px;line-height:1;width:38px;height:38px;padding:0;border-radius:10px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;color:var(--muted)}
.emo-pop button:hover{background:var(--surface-2);transform:scale(1.12)}
.emo-quick{display:flex;justify-content:space-between}.emo-more{display:grid;grid-template-columns:repeat(auto-fill,minmax(38px,1fr));border-top:1px solid var(--border);margin-top:4px;padding-top:4px}
@media (max-width:900px){.ch-bar{gap:8px}.ch-shift{width:100%}.cm-row{max-width:94%}}
@media (max-width:900px){.chat{grid-template-columns:minmax(0,1fr)}.chat>.card{min-width:0}.composer input{min-width:0}.composer>button:last-child{flex-shrink:0}}
.sidebar .sb-shift button{background:#6366f1;color:#fff;border:1px solid transparent;opacity:1;padding:5px 10px;font-size:12px}
.sidebar .sb-shift button.sec{background:rgba(255,255,255,.08);color:#e7e7f0;border-color:rgba(255,255,255,.16)}
.sidebar .sb-shift button:hover{filter:brightness(1.1)}
.cm-quote{white-space:normal;min-width:0;justify-content:flex-start}.cm-bw,.cm{min-width:0}.cm{overflow-wrap:anywhere}
.sidebar .sb-shift button.sec{background:var(--sb-hover);color:var(--sb-text-h);border-color:var(--sb-border)}
.cm .cm-quote:hover{background:rgba(99,102,241,.15);color:inherit}.cm-row.mine .cm .cm-quote:hover{background:rgba(255,255,255,.24)}

/* Quo call button + options menu */
.callgrp{display:inline-flex;align-items:stretch}.callgrp>a.btn{border-top-right-radius:0;border-bottom-right-radius:0}
.callgrp>.callmore{border-top-left-radius:0;border-bottom-left-radius:0;border-left:0;padding-left:7px;padding-right:7px}
.callpop{position:absolute;z-index:1000;min-width:240px;max-width:300px;background:var(--surface);border:1px solid var(--border-strong);border-radius:12px;box-shadow:var(--sh-lg,0 10px 30px rgba(0,0,0,.18));padding:6px;display:flex;flex-direction:column;gap:2px}
.callpop a,.callpop button{display:flex;align-items:center;justify-content:flex-start;gap:10px;padding:9px 10px;border-radius:8px;color:var(--text);text-decoration:none;font-size:13.5px;text-align:left;width:100%}
.callpop a:hover,.callpop button:hover{background:var(--surface-2);text-decoration:none}
.callpop a span{display:flex;flex-direction:column}.callpop small{color:var(--muted);font-weight:400;font-size:12px}
.callpop-note{color:var(--muted);font-size:12px;padding:6px 10px 4px;border-top:1px solid var(--border);margin-top:4px;line-height:1.4}

/* tutor no-show bundle card (2026-10-04) */
.pol-note{background:var(--neutral-soft);color:var(--text-2)}
.ns-bundle{margin-top:8px}.ns-steps{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}
.ns-step{display:inline-flex;align-items:center;gap:6px;background:var(--surface-2);border-radius:999px;padding:3px 10px;font-size:12.5px}
.ns-step b{display:inline-grid;place-items:center;width:18px;height:18px;border-radius:50%;background:var(--primary-soft);color:var(--primary-text);font-size:11px}
.ns-amt{margin-top:8px;max-width:260px}

/* ---------- Needs Attention v2 (Tamra 2026-10-04): compact case rows + focused task view ---------- */
.ux-filters{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;margin:0 0 12px;padding-bottom:2px}.ux-filters::-webkit-scrollbar{display:none}
.ux-filters button{flex-shrink:0;background:var(--surface);color:var(--text-2);border:1px solid var(--border);box-shadow:none;padding:6px 12px;border-radius:999px;font-weight:600;font-size:13px}
.ux-filters button em{font-style:normal;margin-left:4px;padding:0 6px;border-radius:999px;background:var(--surface-3);color:var(--muted);font-size:11.5px}
.ux-filters button.on{background:var(--text);color:var(--surface);border-color:var(--text)}.ux-filters button.on em{background:rgba(255,255,255,.2);color:inherit}
.ux-row{display:flex;gap:12px;align-items:center;padding:12px 12px 12px 14px;margin-bottom:8px;background:var(--surface);border:1px solid var(--border);border-left:4px solid var(--faint);border-radius:12px;color:var(--text);text-decoration:none!important;transition:box-shadow .15s,border-color .15s}
.ux-row:hover{box-shadow:var(--sh-sm);border-color:var(--border-strong)}
.ux-row.sv-critical,.ux-task.sv-critical{border-left-color:var(--danger)}.ux-row.sv-high,.ux-task.sv-high{border-left-color:var(--orange)}.ux-row.sv-medium,.ux-task.sv-medium{border-left-color:var(--warning)}.ux-row.sv-low,.ux-task.sv-low{border-left-color:var(--faint)}
.ux-ic{width:36px;height:36px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;background:var(--neutral-soft);color:var(--text-2)}
.ux-ic.sv-critical{background:var(--danger-soft);color:var(--danger-t)}.ux-ic.sv-high{background:var(--orange-soft);color:var(--orange-t)}.ux-ic.sv-medium{background:var(--warning-soft);color:var(--warning-t)}
.ux-ic .i{width:18px;height:18px}
.ux-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.ux-l1{display:flex;align-items:center;gap:8px;min-width:0}.ux-l1 b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:15px;font-weight:700}
.ux-l2{color:var(--muted);font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ux-l3{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:3px;font-size:12.5px;color:var(--text-2)}
.ux-prio{flex-shrink:0;display:inline-block;padding:1px 8px;border-radius:999px;font-size:11px;font-weight:700;letter-spacing:.02em;text-transform:uppercase;background:var(--neutral-soft);color:var(--muted)}
.ux-prio.sv-critical{background:var(--danger);color:#fff}.ux-prio.sv-high{background:var(--orange-soft);color:var(--orange-t)}.ux-prio.sv-medium{background:var(--warning-soft);color:var(--warning-t)}
.ux-side{display:flex;align-items:center;gap:6px;flex-shrink:0;color:var(--muted)}
.ux-age{font-size:12.5px;font-weight:650;font-variant-numeric:tabular-nums;color:var(--danger-t);white-space:nowrap}
.ux-task{background:var(--surface);border:1px solid var(--border);border-left:4px solid var(--faint);border-radius:16px;padding:16px;box-shadow:var(--sh-sm);max-width:820px}
.ux-head{display:flex;gap:12px;align-items:flex-start}.ux-ht{flex:1;min-width:0}
.ux-head h2{margin:6px 0 2px;font-size:20px;line-height:1.25}.ux-sl{font-size:13.5px;color:var(--text-2)}.ux-sl.muted{color:var(--muted);font-size:12.5px}
.ux-people{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:8px;margin:14px 0 8px}
.ux-person{display:flex;align-items:center;gap:10px;padding:8px 10px;border:1px solid var(--border);border-radius:12px;background:var(--surface-2)}
.ux-pn{flex:1;min-width:0;display:flex;flex-direction:column;line-height:1.25}.ux-pn b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ux-pn small{color:var(--muted);font-size:12px}
.ux-pa{display:flex;gap:4px;flex-shrink:0}.ux-pa .btn.ic{padding:6px 8px}.ux-pa .callgrp .btn{padding:6px 8px}
.ux-chips{display:flex;gap:6px;flex-wrap:wrap;margin:4px 0 10px}
.ux-tabs{display:flex;gap:2px;border-bottom:1px solid var(--border);margin:8px 0 14px;overflow-x:auto;scrollbar-width:none}.ux-tabs::-webkit-scrollbar{display:none}
.ux-tabs button{flex-shrink:0;background:transparent;box-shadow:none;border:none;border-bottom:2px solid transparent;border-radius:0;color:var(--muted);font-weight:600;padding:8px 12px;margin-bottom:-1px}
.ux-tabs button.on{color:var(--primary-text);border-bottom-color:var(--primary)}.ux-tabs button em{font-style:normal;font-size:11px;padding:0 6px;border-radius:999px;background:var(--surface-3);margin-left:4px}
.ux-h{margin:0 0 8px;font-size:13px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}
.ux-steps{display:flex;flex-direction:column;gap:8px;margin-bottom:14px}
.ux-step{display:flex;align-items:center;gap:12px;padding:10px 12px;border:1px solid var(--border);border-radius:12px;background:var(--surface)}
.ux-step.ux-lead{border-color:var(--warning);background:var(--warning-soft)}
.ux-n{width:26px;height:26px;border-radius:50%;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:13px;background:var(--primary);color:#fff}
.ux-step.ux-lead .ux-n{background:var(--warning)}
.ux-st{flex:1;min-width:0;display:flex;flex-direction:column;line-height:1.3}.ux-st b{font-size:14.5px}.ux-st small{color:var(--muted);font-size:12.5px}
.ux-sb{flex-shrink:0}.ux-multi{display:flex;gap:4px;flex-wrap:wrap;justify-content:flex-end}
.ux-box{border:1px solid var(--border);border-radius:12px;padding:12px;margin-bottom:12px;background:var(--surface-2)}
.ux-bh{display:flex;align-items:center;gap:8px;margin-bottom:10px}.ux-bh .i{color:var(--primary-text)}
.ux-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px}
.ux-tile{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:8px 10px;display:flex;flex-direction:column;line-height:1.3}.ux-tile b{font-size:13.5px}.ux-tile small{color:var(--muted);font-size:12px}
.ux-mnote{margin-top:8px;font-size:12.5px;color:var(--text-2)}.ux-mwarn{margin-top:6px;font-size:12.5px;color:var(--warning-t);display:flex;gap:6px;align-items:center}
.ux-auto{display:flex;gap:8px;align-items:flex-start;padding:10px 12px;border-radius:12px;font-size:13.5px;background:var(--info-soft);color:var(--text-2)}
.ux-auto b{margin-right:6px;color:var(--text)}.ux-auto .i{margin-top:2px;flex-shrink:0}
.ux-auto.t-ok{background:var(--success-soft)}.ux-auto.t-ok .i{color:var(--success-t)}.ux-auto.t-warn{background:var(--warning-soft)}.ux-auto.t-warn .i{color:var(--warning-t)}
.ux-auto.t-bad{background:var(--danger-soft)}.ux-auto.t-bad .i{color:var(--danger-t)}.ux-auto.t-info .i{color:var(--info-t)}
.ux-guide p{margin:0 0 10px;font-size:13.5px;color:var(--text-2)}
.ux-hist{display:flex;flex-direction:column;gap:10px}.ux-hi{display:flex;gap:10px;align-items:flex-start}.ux-hi span:last-child{display:flex;flex-direction:column;line-height:1.3}.ux-hi small{color:var(--muted);font-size:12px}
.ux-hi .dot{width:9px;height:9px;border-radius:50%;margin-top:5px;flex-shrink:0;background:var(--faint)}.ux-hi .dot.sv-critical{background:var(--danger)}.ux-hi .dot.sv-high{background:var(--orange)}.ux-hi .dot.sv-medium{background:var(--warning)}
.ux-rel{display:flex;flex-direction:column;gap:6px}.ux-ri{display:flex;gap:8px;align-items:center;padding:8px 10px;border:1px solid var(--border);border-radius:10px;color:var(--text);text-decoration:none!important}.ux-ri span:nth-child(2){flex:1;min-width:0}
a.ux-ri:hover{border-color:var(--border-strong);background:var(--surface-2)}
.ux-foot{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:16px;padding-top:14px;border-top:1px solid var(--border)}
.ux-foot>button{padding:10px 16px;font-weight:650}.ux-more{display:flex;gap:6px;align-items:center;margin-left:auto;flex-wrap:wrap}
@media (max-width:600px){
  .ux-row{padding:10px 10px 10px 12px;gap:10px}.ux-ic{width:32px;height:32px}.ux-l1 b{font-size:14.5px}
  .ux-task{padding:12px;border-radius:14px}.ux-head h2{font-size:18px}.ux-people{grid-template-columns:1fr}
  .ux-step{flex-wrap:wrap;gap:8px 10px}.ux-sb{margin-left:36px}.ux-step .ux-st{flex-basis:calc(100% - 40px)}
  .ux-tiles{grid-template-columns:1fr 1fr}.ux-foot>button{flex:1}.ux-more{margin-left:0;width:100%}
}
.ux-head h2{font-size:24px;font-weight:750;margin:8px 0 2px}.ux-pl{font-size:15px;font-weight:650;color:var(--primary-text)}
.ux-dt{display:flex;gap:16px;flex-wrap:wrap;margin:8px 0 4px;font-size:13.5px;color:var(--text-2)}.ux-dt span{display:inline-flex;align-items:center;gap:6px}.ux-dt .i{color:var(--muted)}
.ux-task .ux-head{background:linear-gradient(180deg,var(--orange-soft),transparent);margin:-16px -16px 0;padding:16px;border-radius:12px 12px 0 0}
.ux-task.sv-critical .ux-head{background:linear-gradient(180deg,var(--danger-soft),transparent)}.ux-task.sv-medium .ux-head{background:linear-gradient(180deg,var(--warning-soft),transparent)}.ux-task.sv-low .ux-head{background:none}
.ux-take{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;margin-top:14px;padding:12px 16px;font-size:15px;font-weight:700;border-radius:12px}
.ux-take em{font-style:normal;font-size:12px;padding:0 7px;border-radius:999px;background:rgba(255,255,255,.22)}
.ux-sheet-bg{position:fixed;inset:0;z-index:300;background:rgba(10,10,20,0);display:flex;align-items:flex-end;justify-content:center;transition:background .2s}
.ux-sheet-bg.on{background:rgba(10,10,20,.45)}
.ux-sheet{width:100%;max-width:560px;max-height:88vh;overflow:auto;background:var(--surface);border-radius:22px 22px 0 0;padding:8px 16px calc(18px + env(safe-area-inset-bottom));box-shadow:var(--sh-lg);transform:translateY(100%);transition:transform .25s var(--ease)}
.ux-sheet-bg.on .ux-sheet{transform:none}
.ux-grab{display:block;width:44px;height:5px;border-radius:9px;background:var(--border-strong);margin:4px auto 10px}
.ux-sh-h{display:flex;align-items:center;justify-content:space-between;margin:0 2px 12px}.ux-sh-h b{font-size:20px;font-weight:750}
.ux-sh-h button{background:transparent;box-shadow:none;border:none;color:var(--text);padding:6px}
.ux-act{white-space:normal;overflow-wrap:anywhere;display:flex;align-items:center;gap:14px;width:100%;text-align:left;padding:12px 14px;margin-bottom:10px;background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:14px;box-shadow:var(--sh-xs);font-weight:400}
.ux-act:hover{background:var(--surface-2);border-color:var(--border-strong)}.ux-act>.i{color:var(--muted);flex-shrink:0}
.ux-act.danger{background:var(--danger-soft);border-color:transparent}.ux-act.danger b{color:var(--danger-t)}
.ux-act.info{cursor:default}.ux-act.info:hover{background:var(--surface)}
.ux-ai{width:44px;height:44px;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.ux-ai .i{width:22px;height:22px}
.ux-act.danger .ux-ai{background:transparent}
.ux-at{flex:1;min-width:0;display:flex;flex-direction:column;line-height:1.3}.ux-at b{font-size:15px;font-weight:650}.ux-at small{color:var(--muted);font-size:13px}
@media (min-width:861px){.ux-sheet-bg{align-items:center}.ux-sheet{border-radius:20px}.ux-grab{display:none}}
@media (max-width:600px){.ux-task .ux-head{margin:-12px -12px 0;padding:12px}.ux-head h2{font-size:22px}.ux-people{grid-template-columns:1fr}
  .ux-take{position:sticky;bottom:calc(64px + env(safe-area-inset-bottom));z-index:5;box-shadow:var(--sh-md)}}
@media (max-width:600px){.ux-row .ux-l1{flex-wrap:wrap;gap:4px 8px}.ux-row .ux-l1 b{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;flex-basis:100%}
  .ux-row .ux-l2{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.ux-side{flex-direction:column;align-items:flex-end;gap:2px}.ux-age{font-size:11.5px}}

/* ---------- Control Center 2.0 (Tamra 2026-10-04): metrics bar, case states, five-question cards, timeline, Approval Center ---------- */
.cc-metrics{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin:0 0 16px}
.cc-m{display:flex;gap:10px;align-items:center;padding:12px;background:var(--surface);border:1px solid var(--border);border-radius:12px;color:var(--text);text-decoration:none!important;min-width:0;transition:box-shadow .15s,border-color .15s}
.cc-m:hover{border-color:var(--border-strong);box-shadow:0 2px 10px rgba(0,0,0,.05)}
.cc-mi{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;flex-shrink:0}.cc-mi svg{width:18px;height:18px}
.cc-mt{display:flex;flex-direction:column;min-width:0}.cc-mt b{font-size:22px;line-height:1.1;font-variant-numeric:tabular-nums}.cc-mt span{font-size:12.5px;font-weight:600;color:var(--text-2)}
.cc-mt small{font-size:11.5px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cc-m.tone-b-red b{color:var(--danger-t)}.cc-m.tone-b-amber b{color:var(--warning-t)}
.tone-violet{background:var(--violet-soft);color:var(--violet-t)}.tone-blue{background:var(--info-soft);color:var(--info-t)}
.cc-st{display:inline-flex;align-items:center;gap:4px;padding:2px 9px;border-radius:999px;font-size:11.5px;font-weight:650;white-space:nowrap}.cc-st svg{width:13px;height:13px}
.cc-st.st-human{background:var(--danger-soft);color:var(--danger-t)}.cc-st.st-approval{background:var(--warning-soft);color:var(--warning-t)}
.cc-st.st-ai{background:var(--violet-soft);color:var(--violet-t)}.cc-st.st-waiting{background:var(--info-soft);color:var(--info-t)}.cc-st.st-resolved{background:var(--success-soft);color:var(--success-t)}
.ux-l1 .cc-st{margin-left:6px}
.cc-card{background:var(--surface);border:1px solid var(--border);border-left:4px solid var(--faint);border-radius:12px;margin-bottom:10px;overflow:hidden}
.cc-card.sv-critical{border-left-color:var(--danger)}.cc-card.sv-high{border-left-color:var(--orange)}.cc-card.sv-medium{border-left-color:var(--warning)}
.cc-top{display:flex;flex-direction:column;gap:3px;padding:12px 14px 8px;color:var(--text);text-decoration:none!important}
.cc-h{display:flex;align-items:center;gap:6px}.cc-h>svg{width:16px;height:16px;color:var(--muted)}
.cc-title{font-size:15px}.cc-sub{font-size:12.5px;color:var(--muted)}
.cc-q{display:grid;grid-template-columns:130px 1fr;gap:6px 12px;padding:4px 14px 12px;font-size:13.5px}
.cc-q>div{display:contents}.cc-q span{color:var(--muted);font-size:12.5px;font-weight:600;padding-top:1px}.cc-q b{font-weight:500}
.cc-q em{font-style:normal;font-weight:650;color:var(--info-t);margin-left:4px}
.cc-q-big{padding:4px 0 14px;font-size:14px;border-bottom:1px solid var(--border);margin-bottom:12px}
.cc-done{display:flex;flex-direction:column;gap:2px}.cc-done i{font-style:normal}
.cc-yes{color:var(--danger-t)!important;font-weight:600!important}.cc-no{color:var(--success-t)!important}
.cc-acts{display:flex;gap:8px;justify-content:flex-end;padding:8px 14px;border-top:1px solid var(--border);background:var(--surface-2)}
.cc-until{font-size:12.5px;font-weight:650;color:var(--info-t);white-space:nowrap;font-variant-numeric:tabular-nums}
.cc-also{display:flex;gap:8px;align-items:flex-start;padding:10px 12px;margin-bottom:12px;border-radius:10px;background:var(--surface-2);font-size:13px;color:var(--text-2)}.cc-also svg{width:16px;height:16px;flex-shrink:0;margin-top:1px}
.cc-why{color:var(--text-2)}
.cc-tl{position:relative;margin:4px 0 8px}
.cc-day{font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin:12px 0 4px 78px}
.cc-ev{display:grid;grid-template-columns:66px 14px 1fr;gap:0 8px;align-items:start;position:relative;padding:3px 0}
.cc-ev::before{content:"";position:absolute;left:80px;top:0;bottom:0;width:2px;background:var(--border)}
.cc-t{font-size:12px;font-weight:600;color:var(--muted);text-align:right;font-variant-numeric:tabular-nums;padding-top:2px;white-space:nowrap}
.cc-dot{width:10px;height:10px;border-radius:50%;background:var(--surface);border:2px solid var(--faint);margin:4px 0 0 2px;position:relative;z-index:1}
.cc-x{font-size:13.5px;line-height:1.45;min-width:0;overflow-wrap:anywhere}.cc-x small{display:block;color:var(--muted);font-size:12px;margin-top:1px}
.cc-ev.k-done .cc-dot,.cc-ev.k-ella .cc-dot{border-color:var(--success)}.cc-ev.k-problem .cc-dot,.cc-ev.k-escalation .cc-dot{border-color:var(--danger)}
.cc-ev.k-approval .cc-dot,.cc-ev.k-pending .cc-dot{border-color:var(--warning)}.cc-ev.k-note .cc-x,.cc-ev.k-system .cc-x{color:var(--text-2)}
.cc-ev.k-now .cc-t{color:var(--danger-t);font-weight:800}.cc-ev.k-now .cc-dot{background:var(--danger);border-color:var(--danger);box-shadow:0 0 0 4px var(--danger-soft)}
.cc-ev.k-now .cc-x b{color:var(--text)}.cc-ev.k-now::before{bottom:50%}
.ap-what{margin:12px 0 4px}.ap-k{font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}
.ap-facts{display:grid;grid-template-columns:130px 1fr;gap:8px 12px;margin:12px 0 4px;padding:12px;border-radius:10px;background:var(--surface-2);font-size:13.5px}
.ap-f{display:contents}.ap-f .ap-k{padding-top:2px}.ap-v{min-width:0;overflow-wrap:anywhere}
.ap-v.policy{display:flex;flex-direction:column;gap:4px}.ap-v.policy>div{display:flex;gap:6px;align-items:flex-start}.ap-v.policy svg{width:15px;height:15px;margin-top:2px}
.ap-risk{display:inline-block;padding:1px 9px;border-radius:999px;font-size:12px;font-weight:700}
.ap-risk.r-low{background:var(--success-soft);color:var(--success-t)}.ap-risk.r-medium{background:var(--warning-soft);color:var(--warning-t)}.ap-risk.r-high{background:var(--danger-soft);color:var(--danger-t)}
@media (max-width:1100px){.cc-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:600px){
  .cc-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.cc-m{padding:10px;gap:8px}.cc-mi{width:30px;height:30px}.cc-mt b{font-size:19px}
  .cc-q,.ap-facts{grid-template-columns:1fr;gap:2px}.cc-q span,.ap-f .ap-k{margin-top:6px}
  .cc-ev{grid-template-columns:54px 14px 1fr;gap:0 6px}.cc-ev::before{left:66px}.cc-day{margin-left:64px}
  .cc-acts{flex-wrap:wrap}
}
.cc-ev.k-in .cc-dot{border-color:var(--info)}.cc-ev.k-out .cc-dot{border-color:var(--violet)}.cc-ev.k-decision .cc-dot,.cc-ev.k-action .cc-dot{border-color:var(--warning)}
.cc-ev.k-check .cc-dot{border-color:var(--orange)}.cc-ev.k-session .cc-dot{border-color:var(--text-2)}
.cc-top{text-align:left;align-items:stretch}.cc-h .spacer{flex:1}
#bAI,#bWait{background:var(--surface-3);color:var(--text-2)}

/* ---------- Home v2 (Tamra 2026-10-04): dynamic status cards, ops line, compact Ask bar, header status dot, Human Required cards ---------- */
.cc-mt i{font-style:normal;font-size:.6em;color:var(--muted);font-weight:600}
.cc-mt small{white-space:normal;overflow:visible;text-overflow:clip;line-height:1.3}
.cc-m.quiet{background:var(--surface-2);border-color:var(--border);box-shadow:none}
.cc-m.quiet .cc-mi{background:var(--surface-3);color:var(--muted)}.cc-m.quiet b{color:var(--muted)!important}.cc-m.quiet .cc-mt span{color:var(--muted)}
.cc-m.hot{border-width:2px;padding:11px}
.cc-m.hot b{font-size:28px}
.cc-m.hot.tone-b-red{border-color:var(--danger);background:var(--danger-soft)}.cc-m.hot.tone-b-red .cc-mt span{color:var(--danger-t)}
.cc-m.hot.tone-b-amber{border-color:var(--warning);background:var(--warning-soft)}.cc-m.hot.tone-b-amber .cc-mt span{color:var(--warning-t)}
.cc-m.hot.tone-b-blue{border-color:var(--info);background:var(--info-soft)}.cc-m.hot.tone-b-blue b,.cc-m.hot.tone-b-blue .cc-mt span{color:var(--info-t)}
.cc-ops{margin:-6px 0 16px;font-size:13.5px;color:var(--text-2);line-height:1.45}
.ask{padding:10px 12px}.ask-chips{margin-top:8px;gap:6px}.ask-chips .chip{padding:5px 10px}
.ask-bar{padding:3px 3px 3px 10px;border-radius:12px}.ask-bar input{padding:6px 2px;font-size:14.5px}.ask-bar button{width:34px;height:34px}
.sys-dot{display:inline-flex;align-items:center;gap:6px;background:transparent;border:none;box-shadow:none;padding:6px 8px;border-radius:999px;font-size:12px;font-weight:600;color:var(--text-2);cursor:pointer;white-space:nowrap}
.sys-dot i{width:9px;height:9px;border-radius:50%;background:var(--faint);flex-shrink:0}
.sys-dot[data-state=green] i{background:var(--success);box-shadow:0 0 0 3px var(--success-soft)}
.sys-dot[data-state=amber] i{background:var(--warning);box-shadow:0 0 0 3px var(--warning-soft)}.sys-dot[data-state=amber]{color:var(--warning-t)}
.sys-dot[data-state=red] i{background:var(--danger);box-shadow:0 0 0 3px var(--danger-soft)}.sys-dot[data-state=red]{color:var(--danger-t)}
.sys-dot:hover{background:var(--surface-2)}
/* Waiting breakdown */
.wb-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:8px;margin:0 0 14px}
.wb{display:flex;flex-direction:column;padding:10px 12px;border-radius:12px;border:1px solid var(--border);background:var(--surface-2);color:var(--muted);text-decoration:none!important}
.wb b{font-size:22px;line-height:1.1}.wb span{font-size:12.5px;font-weight:600}
.wb.on{background:var(--info-soft);border-color:transparent;color:var(--info-t)}.wb.sel{outline:2px solid var(--info);outline-offset:-2px}
/* Human Required cards */
.hr-card{background:var(--surface);border:1px solid var(--border);border-left:5px solid var(--danger);border-radius:14px;margin-bottom:12px;overflow:hidden}
.hr-card.sv-medium,.hr-card.sv-low{border-left-color:var(--warning)}
.hr-top{display:flex;align-items:center;gap:8px;padding:10px 14px 0}
.hr-why{display:inline-flex;align-items:center;gap:6px;padding:4px 11px;border-radius:999px;font-size:12.5px;font-weight:800;text-transform:uppercase;letter-spacing:.03em;background:var(--danger);color:#fff}
.hr-why svg{width:14px;height:14px}
.r-decision .hr-why{background:var(--warning-soft);color:var(--warning-t)}.r-stuck .hr-why{background:var(--orange-soft);color:var(--orange-t)}.r-owned .hr-why{background:var(--info-soft);color:var(--info-t)}
.hr-age{display:inline-flex;align-items:center;gap:4px;font-size:13px;font-weight:700;font-variant-numeric:tabular-nums;color:var(--text-2);white-space:nowrap}.hr-age svg{width:14px;height:14px}
.hr-age small{font-weight:600;color:var(--muted)}.hr-age.over,.hr-age.over small{color:var(--danger-t)}
.hr-main{display:flex;flex-direction:column;gap:2px;padding:8px 14px 10px;color:var(--text);text-decoration:none!important}
.hr-title{font-size:16px;line-height:1.3}.hr-sub{font-size:12.5px;color:var(--muted)}
.hr-who{display:flex;align-items:center;gap:10px;margin:0 14px;padding:9px 10px;border-radius:10px;background:var(--surface-2)}
.hr-who .el-t{flex:1;min-width:0}.hr-cbtns{display:flex;gap:6px;flex-shrink:0}
.hr-did{margin:10px 14px 0;font-size:12.5px;color:var(--text-2);display:flex;flex-direction:column;gap:3px}
.hr-did .hr-k{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}
.hr-did div{display:grid;grid-template-columns:62px 1fr;gap:6px}.hr-did em{font-style:normal;font-weight:600;color:var(--muted);font-variant-numeric:tabular-nums}
.hr-did span{overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.hr-acts{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:12px 14px;margin-top:10px;border-top:1px solid var(--border)}
.hr-acts .hr-prim,.hr-acts .callgrp .hr-prim{font-size:15px;font-weight:700;padding:10px 18px}
.hr-own{display:inline-flex;align-items:center;gap:4px;font-size:12.5px}.hr-own svg{width:14px;height:14px}
.hr-empty .hr-also{text-align:center;font-size:13px;color:var(--text-2);margin-top:-6px;padding-bottom:6px}
@media (max-width:860px){
  .card.clock{display:none}.h-top{grid-template-columns:1fr}
  .sys-dot span{display:none}.sys-dot{padding:8px}
}
@media (max-width:600px){
  .cc-m.hot{grid-column:1 / -1}.cc-m.hot b{font-size:26px}
  .cc-ops{margin-top:-2px;font-size:13px}
  .ask{padding:8px}.ask-chips{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}.ask-chips .chip{flex-shrink:0}
  .hr-acts{gap:6px}.hr-acts .callgrp{flex:1;display:flex}.hr-acts .callgrp .hr-prim,.hr-acts > .hr-prim{flex:1;justify-content:center}
  .hr-acts .spacer{display:none}.hr-own{width:100%}
  .wb-grid{grid-template-columns:repeat(2,1fr)}
}
.hr-why{white-space:nowrap}
.hr-prim{background:var(--success)!important;color:#fff!important;border-color:transparent!important}
.callgrp .hr-prim + .callmore{background:var(--success);color:#fff;border-color:transparent}
.cc-h{flex-wrap:wrap;row-gap:4px}
.wb-grid{grid-template-columns:repeat(auto-fit,minmax(78px,1fr));gap:6px}.wb{padding:7px 10px}.wb b{font-size:18px}.wb span{font-size:12px}
@media (max-width:600px){
  .cc-m.hot{grid-column:auto}.cc-m.hot b{font-size:24px}
  .wb-grid{grid-template-columns:repeat(3,1fr)}
}
.h-top>*{min-width:0}.ask{overflow:hidden}

/* ---------- universal case block (case engine, Tamra 2026-10-04) ---------- */
.cx{display:grid;grid-template-columns:118px 1fr;gap:6px 12px;padding:4px 14px 12px;font-size:13.5px}
.cx.detail{padding:2px 0 14px;border-bottom:1px solid var(--border);margin-bottom:12px;font-size:14px}
.cx-r{display:contents}.cx-k{color:var(--muted);font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;padding-top:2px}
.cx-v{min-width:0;overflow-wrap:anywhere}
.cx-own{display:inline-flex;align-items:center;gap:5px;padding:1px 9px;border-radius:999px;font-size:12.5px;font-weight:600;background:var(--surface-2);border:1px solid var(--border)}.cx-own svg{width:13px;height:13px}
.cx-own.o-ella{background:var(--violet-soft);color:var(--violet-t);border-color:transparent}.cx-own.o-manager{background:var(--danger-soft);color:var(--danger-t);border-color:transparent}
.cx-own.o-approver{background:var(--warning-soft);color:var(--warning-t);border-color:transparent}.cx-own.o-contact,.cx-own.o-system{background:var(--info-soft);color:var(--info-t);border-color:transparent}
.cx-done{display:flex;flex-direction:column;gap:2px}.cx-done i{font-style:normal}
.cx-tl{display:inline-flex;align-items:center;gap:2px;font-size:12.5px;font-weight:600;margin-top:2px}.cx-tl svg{width:13px;height:13px}
.cx-when{font-style:normal;font-weight:650;color:var(--info-t);margin-left:4px;white-space:nowrap}
.cx-yes{display:inline-flex;gap:5px;align-items:flex-start;color:var(--danger-t);font-weight:600}.cx-no{display:inline-flex;gap:5px;align-items:center;color:var(--success-t);font-weight:600}
.cx-yes svg,.cx-no svg{width:15px;height:15px;flex-shrink:0;margin-top:1px}
.cx-acts{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.cx-ta .cx-k{padding-top:9px}
.cx-age{display:inline-flex;align-items:center;gap:4px;font-size:12.5px;font-weight:650;color:var(--text-2);white-space:nowrap;font-variant-numeric:tabular-nums}.cx-age svg{width:14px;height:14px}
.cx-age.over{color:var(--danger-t)}
.cx.lean{display:block;padding:0 14px 12px}.cx.lean .cx-r{display:flex;gap:8px;margin-top:4px}.cx.lean .cx-k{width:52px;flex-shrink:0}
.cx-lh{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:14px;color:var(--info-t)}.cx-lh svg{width:15px;height:15px}.cx-lh b{color:var(--text)}
.cx-more{margin-top:8px}.cx-more summary{cursor:pointer;font-size:13px;font-weight:600;color:var(--primary-text,var(--primary));list-style:none}
.cx-more summary::-webkit-details-marker{display:none}.cx-more summary::after{content:" ›"}.cx-more[open] summary::after{content:" ˅"}
.cx-more[open]{padding-top:4px}.cx-more .cx-r{display:flex}.cx-more .cx-k{width:96px}.cx-more .cx-acts{margin-top:8px}
.cx.human{padding:10px 14px 0;grid-template-columns:118px 1fr}
.hr-whyh{margin:0 14px 10px;font-size:13px;color:var(--text-2)}.hr-whyh span{font-weight:700;color:var(--danger-t);margin-right:2px}
.cx-prim-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:6px 0 10px}.cx-prim-row .cx-k{width:100%}
.cx-open,.cx-open-l{display:inline-flex;align-items:center;gap:4px;font-size:12.5px;font-weight:600;color:var(--primary-text,var(--primary))}.cx-open-l{margin:8px 0 4px;gap:8px}
.cx-open svg,.cx-open-l svg{width:14px;height:14px}
.cx-host{margin-bottom:12px}.card .cx{padding-left:0;padding-right:0}
@media (max-width:600px){
  .cx{grid-template-columns:1fr;gap:1px}.cx .cx-k{margin-top:8px}.cx.detail .cx-k:first-child{margin-top:0}
  .cx.human{grid-template-columns:1fr}
  .cx-acts .callgrp{flex:1;display:flex}.cx-acts .callgrp .hr-prim,.cx-acts > .hr-prim{flex:1;justify-content:center}
}
.cx-drafts{margin:0 0 12px;border:1px solid var(--border);border-radius:12px;padding:10px 12px;background:var(--surface-2)}
.cx-drafts summary{cursor:pointer;font-weight:650;font-size:13.5px;display:flex;align-items:center;gap:6px;flex-wrap:wrap;list-style:none}.cx-drafts summary::-webkit-details-marker{display:none}
.cx-drafts summary svg{width:15px;height:15px}.cx-drafts summary em{font-style:normal;background:var(--surface-3);border-radius:999px;padding:0 7px;font-size:12px}
.cx-drafts[open] summary{margin-bottom:10px}

/* ---------- Case Command Center (progressive disclosure, Tamra 2026-10-04) ---------- */
.ux-task.cmd{padding-top:0}
.cmd-head{padding:14px 16px 8px}
.cmd-pills{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.cmd-pills .ux-prio{text-transform:uppercase;letter-spacing:.03em}.cmd-dot{color:var(--faint);font-weight:700}
.cmd-pills .cc-st{text-transform:uppercase;letter-spacing:.03em}
.cmd-title{font-size:20px;line-height:1.25;margin:8px 0 4px}
.cmd-status{font-size:13.5px;color:var(--text-2)}.cmd-status .cmd-k{color:var(--muted)}
.cmd-k{font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:var(--muted)}
.cmd-task{margin:6px 16px 10px;padding:12px 14px;border-radius:12px;background:var(--danger-soft);border:1px solid transparent}
.cmd-tt{font-size:16px;display:flex;gap:6px;align-items:center}.cmd-tr{font-size:13px;color:var(--text-2);margin-top:3px}
.cmd-ta{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.cmd-ta .callgrp{flex:1;display:flex}.cmd-ta .hr-prim{flex:1;justify-content:center;font-size:15px;font-weight:700;padding:10px 16px}
.cmd-done{margin:0 16px 8px;display:flex;flex-direction:column;gap:2px;font-size:13.5px}.cmd-done .cmd-k{color:var(--success-t)}
.cmd-ok{display:grid;grid-template-columns:1fr auto;align-items:center;gap:2px 8px;margin:0 16px 8px;width:calc(100% - 32px);text-align:left;padding:10px 12px;border-radius:12px;background:var(--violet-soft);border:1px solid transparent;color:var(--text);box-shadow:none;font-weight:500}
.cmd-ok .cmd-k{color:var(--violet-t);display:inline-flex;gap:5px;align-items:center}.cmd-ok .cmd-k svg{width:14px;height:14px}.cmd-ok .cmd-v{grid-column:1;font-size:13.5px}.cmd-ok>svg{grid-row:1 / 3;grid-column:2;width:16px;height:16px;color:var(--violet-t)}
.cmd-after{display:flex;gap:6px;align-items:flex-start;margin:0 16px 10px;font-size:13px;color:var(--text-2)}.cmd-after svg{width:15px;height:15px;flex-shrink:0;margin-top:1px;color:var(--violet-t)}
.cmd-tabs{overflow-x:auto;scrollbar-width:none;flex-wrap:nowrap}.cmd-tabs button{flex-shrink:0}
.cmd-fold{margin:10px 0;border:1px solid var(--border);border-radius:12px;background:var(--surface)}
.cmd-fold>summary{cursor:pointer;list-style:none;padding:10px 12px;font-weight:650;font-size:13.5px;display:flex;gap:6px;align-items:center}.cmd-fold>summary::-webkit-details-marker{display:none}
.cmd-fold>summary svg{width:15px;height:15px;color:var(--muted)}.cmd-fold>summary::after{content:"›";margin-left:auto;color:var(--muted);font-size:16px;transition:transform .15s}.cmd-fold[open]>summary::after{transform:rotate(90deg)}
.cmd-fb{padding:0 12px 12px}
.tk-fold{background:var(--surface);margin:0 0 10px}.tk-n{font-style:normal;font-size:11.5px;background:var(--violet-soft);color:var(--violet-t);padding:1px 7px;border-radius:999px}
.cmd-hint{margin:-4px 0 8px;font-size:12.5px}
.cmd-conv{margin-bottom:14px}.cmd-ch{display:flex;align-items:center;gap:8px;margin-bottom:8px}
/* collapsed approval card */
.ap-c{padding:14px}.ap-t{display:flex;gap:10px;align-items:flex-start}.ap-t b{font-size:15px}.ap-t small{display:block;color:var(--muted);font-size:12.5px;margin-top:1px}
.ap-pills{display:flex;gap:6px;flex-wrap:wrap;margin:8px 0 6px}.ap-wait{background:var(--violet-soft);color:var(--violet-t)}
.ap-l{font-size:13.5px;margin-top:3px;color:var(--text-2)}.ap-l b{color:var(--text);font-weight:650}.ap-sep{color:var(--faint);margin:0 2px}
.ap-prev{margin-top:8px}.ap-prev>summary,.ap-det>summary{cursor:pointer;list-style:none;font-weight:600;font-size:13.5px;color:var(--primary-text,var(--primary))}
.ap-prev>summary::-webkit-details-marker,.ap-det>summary::-webkit-details-marker{display:none}.ap-prev>summary::after,.ap-det>summary::after{content:" ›"}.ap-prev[open]>summary::after,.ap-det[open]>summary::after{content:" ˅"}
.ap-prev[open]>summary{margin-bottom:8px}.ap-det{margin-top:8px}.ap-note{width:100%;margin-top:10px}
.ap-btns{margin-top:12px}
.ap-inhuman{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border-radius:12px;background:var(--surface-2);border:1px dashed var(--border-strong);margin-top:6px;font-size:13.5px}
.ap-inhuman>svg{width:18px;height:18px;color:var(--danger-t);flex-shrink:0}.ap-inhuman small{display:block;color:var(--muted);margin:2px 0 8px}.ap-inhuman .btn{margin:0 6px 6px 0}
@media (max-width:600px){.cmd-title{font-size:18px}.ap-btns{display:grid;grid-template-columns:1fr 1fr;gap:8px}.ap-btns .ok{grid-column:1 / -1}}
.cmd-ok{white-space:normal;min-width:0;box-sizing:border-box}.cmd-ok .cmd-v,.cmd-ok .cmd-k{min-width:0;overflow-wrap:anywhere}
.ap-inhuman>div{min-width:0;flex:1}.ap-inhuman .btn{white-space:normal;max-width:100%;text-align:left;height:auto}
@media (max-width:600px){.cmd-tabs{gap:0}.cmd-tabs button{padding-left:7px;padding-right:7px;font-size:13px}}
@media (max-width:420px){.cmd-tabs button{padding-left:5px;padding-right:5px;font-size:12.5px}.cmd-tabs button em{margin-left:2px;padding:0 5px}}
/* Home phone: Paid today sits in the half slot next to Open tickets (Tamra 2026-10-04) */
@media (max-width:860px){.kpis .kpi.wide{grid-column:auto}}
.h-grid>*{min-width:0}.eline .spill{max-width:46%;white-space:normal;text-align:center}

/* ---------- Mockup match (Tamra 2026-10-04 ~15:30): layout only, same tokens ---------- */
/* case top checklist */
.cmd-ck{margin:2px 16px 10px}.cmd-ck ul{list-style:none;margin:6px 0 0;padding:0;display:flex;flex-direction:column;gap:5px}
.cmd-ck li{display:flex;gap:8px;align-items:flex-start;font-size:13.5px;line-height:1.35}.cmd-ck li em{font-style:normal;color:var(--muted);font-size:12.5px}
.cmd-ck .ck-i{width:18px;flex-shrink:0;text-align:center;font-size:13px}.cmd-ck li.w span:last-child{color:var(--warning-t,var(--text))}
.cmd-ck li.now b{font-weight:650}.cmd-ck .link-btn{margin-top:4px;font-size:12.5px}
.cmd-ta2{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:8px}.cmd-ta2 button{justify-content:center}
.cmd-ta2:empty{display:none}
/* Actions tab: one icon button per step */
.ux-steps.icn .ux-sb .btn,.ux-steps.icn .ux-sb>button{font-size:0;gap:0;width:40px;height:40px;padding:0;justify-content:center;border-radius:10px}
.ux-steps.icn .ux-sb .btn .i,.ux-steps.icn .ux-sb>button .i{width:18px;height:18px;margin:0}
.ux-steps.icn .ux-sb .callgrp>:not(:first-child){display:none}.ux-steps.icn .ux-sb .callgrp>:first-child{border-radius:10px}
.ux-steps.icn .ux-sb .ux-multi button{font-size:12.5px;width:auto;height:auto;padding:5px 9px}
.ux-stm{margin:8px 0 4px;display:inline-flex;gap:4px;align-items:center}
.ap-rows{display:flex;flex-direction:column;gap:8px}
.ap-row{border:1px solid var(--border);border-radius:12px;background:var(--surface)}
.ap-row>summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:10px;padding:10px 12px}.ap-row>summary::-webkit-details-marker{display:none}
.ap-row>summary>.i{margin-left:auto;color:var(--muted);transition:transform .15s}.ap-row[open]>summary>.i{transform:rotate(90deg)}
.ap-ri{width:34px;height:34px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;background:var(--violet-soft);color:var(--violet-t);flex-shrink:0}.ap-ri .i{width:16px;height:16px}
.ap-rt{display:flex;flex-direction:column;min-width:0}.ap-rt b{font-size:14px}.ap-rt small{color:var(--muted);font-size:12.5px}
.ap-row>.ap-c{margin:0 8px 8px;box-shadow:none}
/* approval card: Policy | Risk | Confidence */
.ap-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:8px 0 4px}
.ap-stats>span{display:flex;flex-direction:column;gap:2px;padding:7px 9px;border-radius:10px;background:var(--surface-2);border:1px solid var(--border)}
.ap-stats small{font-size:11px;color:var(--muted);font-weight:600;text-transform:uppercase;letter-spacing:.03em}.ap-stats b{font-size:13.5px}
.ap-stats .apol-ok,.ap-stats .apol-note{color:var(--success-t)}.ap-stats .apol-warn{color:var(--warning-t,#5b45b8)}.ap-stats .apol-violation{color:var(--danger-t)}
.ap-stats .ap-risk{background:none;padding:0}
/* Timeline chips */
.tl-f{margin-top:2px}
/* Human Required card: owner line */
.hr-own{display:flex;align-items:center;gap:6px;font-size:12.5px;color:var(--muted);margin:2px 0 10px}.hr-own .i{width:14px;height:14px}
.hr-done-l{display:inline-flex;gap:4px;align-items:center;margin:4px auto 6px;font-weight:600}.hr-empty{text-align:center}
/* Waiting tabs */
.tabs button em{font-style:normal;margin-left:4px;padding:0 6px;border-radius:999px;background:var(--surface-3);color:var(--muted);font-size:11.5px}
/* Home: compact Live now / Starting soon + Ella today */
@media (max-width:860px){
  .kpis .kpi.sm{flex-direction:row;align-items:center;gap:10px;padding:10px 12px}.kpis .kpi.sm .cbadge{width:30px;height:30px}.kpis .kpi.sm .cbadge .i{width:15px;height:15px}
  .kpis .kpi.sm .kpi-v{font-size:20px;line-height:1.1}.kpis .kpi.sm .kpi-s{font-size:11.5px}.kpis .kpi.sm .kpi-c{display:none}
}
.et-row{padding:0;margin-bottom:16px}.et-row>summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:12px;padding:12px 14px}.et-row>summary::-webkit-details-marker{display:none}
.et-row .cbadge{width:36px;height:36px}.et-t{display:flex;flex-direction:column;min-width:0;flex:1}.et-t b{font-size:14.5px}.et-t small{color:var(--muted);font-size:12.5px;line-height:1.45}
.et-bad{color:var(--danger-t);font-weight:600}.et-c{color:var(--muted);transition:transform .15s}.et-row[open] .et-c{transform:rotate(180deg)}
.et-b{padding:0 14px 12px;border-top:1px solid var(--border)}.et-i{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid var(--border);color:var(--text)}.et-i:last-of-type{border-bottom:none}
.et-i .cbadge{width:32px;height:32px}.et-i .cbadge .i{width:15px;height:15px}.et-i>.i{margin-left:auto;color:var(--muted)}.et-n{font-size:12px;margin:6px 0 0}
.ux-steps.icn .ux-step:not(:has(.ux-multi)){flex-wrap:nowrap}.ux-steps.icn .ux-step:not(:has(.ux-multi)) .ux-st{flex:1;flex-basis:auto;min-width:0}
.ux-steps.icn .ux-step:not(:has(.ux-multi)) .ux-sb{margin-left:auto}
.ux-steps.icn .ux-sb .btn:not(.hr-prim),.ux-steps.icn .ux-sb>button{background:var(--primary-soft);color:var(--primary-text);border:1px solid transparent;box-shadow:none}
.i.flip{transform:rotate(180deg)}
.hr-own{padding:0 14px;margin:8px 0 0}
.cmd-ok:hover,.cmd-ok:focus-visible{background:var(--violet-soft);color:var(--text);border-color:var(--violet-t)}
.ap-row>summary .ap-rt b{color:var(--text)}

/* ---------- Home status cards: own colour identity, always visible (Tamra reference, 2026-10-04) ---------- */
/* per-card palette; zero = soft tint + light border, non-zero (Human/Approval/Waiting) = stronger border + fill. Never grey. */
.cc-m.k-human{--cc:var(--danger);--cc-t:var(--danger-t);--cc-s:var(--danger-soft)}
.cc-m.k-approval{--cc:var(--warning);--cc-t:var(--warning-t);--cc-s:var(--warning-soft)}
.cc-m.k-waiting{--cc:var(--info);--cc-t:var(--info-t);--cc-s:var(--info-soft)}
.cc-m.k-ai{--cc:var(--violet);--cc-t:var(--violet-t);--cc-s:var(--violet-soft)}
.cc-m.k-healthy{--cc:var(--success);--cc-t:var(--success-t);--cc-s:var(--success-soft)}
.cc-m.k-sessions{--cc:var(--primary);--cc-t:var(--primary-text);--cc-s:var(--primary-soft)}
.cc-m[class*=" k-"],.cc-m.quiet[class*=" k-"]{border-color:color-mix(in srgb,var(--cc) 22%,var(--border));box-shadow:none}
.cc-m[class*=" k-"] .cc-mi,.cc-m.quiet[class*=" k-"] .cc-mi{background:var(--cc-s);color:var(--cc-t)}
.cc-m.quiet[class*=" k-"] b{color:var(--text)!important}.cc-m.quiet[class*=" k-"] .cc-mt span{color:var(--text-2)}
/* tinted cards (always): Human, Approval, Waiting, Healthy; Ella + Sessions stay white with a tinted icon */
.cc-m.k-human,.cc-m.k-approval,.cc-m.k-waiting,.cc-m.k-healthy,
.cc-m.quiet.k-human,.cc-m.quiet.k-approval,.cc-m.quiet.k-waiting{background:color-mix(in srgb,var(--cc-s) 45%,var(--surface))}
.cc-m.k-ai,.cc-m.k-sessions{background:var(--surface)}
/* labels in the card's colour for the attention cards */
.cc-m.k-human .cc-mt span,.cc-m.k-waiting .cc-mt span,.cc-m.k-approval .cc-mt span{color:var(--cc-t)!important}
.cc-m.quiet.k-human .cc-mt span,.cc-m.quiet.k-waiting .cc-mt span,.cc-m.quiet.k-approval .cc-mt span{color:color-mix(in srgb,var(--cc-t) 75%,var(--text-2))!important}
/* non-zero attention cards: stronger border + fill (as in the reference) */
.cc-m.nz{background:var(--cc-s);border-color:color-mix(in srgb,var(--cc) 70%,transparent);border-width:1.5px}
.cc-m.nz .cc-mi{background:color-mix(in srgb,var(--cc) 16%,var(--surface))}
.cc-m.nz b{color:var(--cc-t)!important}.cc-m.k-approval.nz .cc-mt span{color:var(--cc-t)!important}
.cc-m.hot.nz{border-width:2px;border-color:var(--cc)}
.cc-m[class*=" k-"]:hover{border-color:color-mix(in srgb,var(--cc) 55%,var(--border))}
/* dark mode: soft tokens are already translucent; keep fills subtle */
[data-theme=dark] .cc-m.k-human,[data-theme=dark] .cc-m.k-approval,[data-theme=dark] .cc-m.k-waiting,[data-theme=dark] .cc-m.k-healthy{background:color-mix(in srgb,var(--cc) 7%,var(--surface))}
[data-theme=dark] .cc-m.nz{background:color-mix(in srgb,var(--cc) 14%,var(--surface))}

/* ---- desktop alerts + Waiting on reply info (Tamra 2026-10-04 ~16:00 MYT) ---- */
.notif-btn{position:relative}
.notif-btn .nb-on{position:absolute;top:7px;right:7px;width:8px;height:8px;border-radius:50%;background:#22c55e;box-shadow:0 0 0 2px var(--bg,#fff)}
.notif-btn.on{color:var(--accent,#6366f1)}
.nt-sw{display:flex;align-items:center;gap:12px;cursor:pointer;padding:12px;border:1px solid var(--line,#e5e7eb);border-radius:12px}
.nt-sw input{position:absolute;opacity:0;width:1px;height:1px}
.nt-sw .nt-tr{flex:none;width:42px;height:24px;border-radius:999px;background:#d1d5db;position:relative;transition:background .15s}
.nt-sw .nt-tr i{position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.25);transition:left .15s}
.nt-sw input:checked + .nt-tr{background:#22c55e}
.nt-sw input:checked + .nt-tr i{left:21px}
.nt-sw input:focus-visible + .nt-tr{outline:2px solid var(--accent,#6366f1);outline-offset:2px}
.nt-sw small{display:block;color:var(--muted,#6b7280);font-size:12.5px;margin-top:2px}
.nt-st{font-size:13px;margin:10px 2px;color:var(--muted,#6b7280)}
.nt-st.ok{color:#15803d}.nt-st.warn{color:#5b45b8}
.nt-what{font-size:13px;margin:6px 2px}
.nt-what ul{list-style:none;padding:0;margin:6px 0 0;display:grid;gap:5px}
.nt-what li{display:flex;align-items:center;gap:8px}
.nt-what li svg{width:15px;height:15px;opacity:.75}
.nt-note{font-size:12.5px;margin:10px 2px}
.nt-toast{max-width:380px;align-items:flex-start}
.nt-toast .tm b{display:block}
.nt-toast .tm small{display:block;opacity:.85;margin-top:2px;font-size:12.5px}
.nt-toast button{flex:none;margin-left:8px}
.cc-info{border:0;background:none;padding:0 2px;margin:0;font:inherit;font-size:12px;color:inherit;opacity:.6;cursor:help;line-height:1;min-height:0;box-shadow:none}
.cc-info:hover{opacity:1}
[data-theme=dark] .nt-sw .nt-tr{background:#3f3f46}
[data-theme=dark] .nt-st.ok{color:#4ade80}[data-theme=dark] .nt-st.warn{color:#8b7cf6}
/* Home desktop (Tamra 2026-10-04 ~16:10 MYT): no System status card (the header dot keeps it); Ella today sits in the right column */
.et-side{display:none}
@media (min-width:861px){.h-sys{display:none}}
@media (min-width:1181px){.et-top{display:none}.et-side{display:block}}
.cc-mt .cc-info{display:inline;width:auto;height:auto;min-width:0;vertical-align:baseline;border-radius:0;font-weight:500}

/* ===== Team Operations Phase 1 (Tamra 2026-10-04 ~16:30 MYT) ===== */
.av.xxl{--s:96px}.av.img{background:var(--surface-3);overflow:hidden;padding:0}.av.img img{width:100%;height:100%;object-fit:cover;border-radius:50%}
.av[data-user],.tav,.tnm{cursor:pointer}
.tnm{background:none;border:0;padding:0;margin:0;font:inherit;font-weight:650;color:var(--text);display:inline;min-height:0;box-shadow:none;border-radius:0}.tnm:hover{text-decoration:underline;background:none}
.pdot{position:absolute;right:-1px;bottom:-1px;width:10px;height:10px;border-radius:50%;box-shadow:0 0 0 2px var(--surface);background:#9ca3af}
.av.lg+.pdot,.av.xl+.pdot{width:13px;height:13px;right:1px;bottom:1px}.av.xxl+.pdot{width:18px;height:18px;right:6px;bottom:6px;box-shadow:0 0 0 3px var(--surface)}
.pdot.t-green{background:#22c55e}.pdot.t-blue{background:#3b82f6}.pdot.t-amber{background:#8b7cf6}.pdot.t-violet{background:#8b5cf6}.pdot.t-red{background:#ef4444}.pdot.t-gray{background:#c4c8d2}
.pchip .pdot,.ppill .pdot{position:static;box-shadow:none;width:8px;height:8px;display:inline-block}
.ppill{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;padding:3px 9px;border-radius:999px;background:var(--surface-2);color:var(--text-2);width:max-content}
.ppill.t-green{background:#e8f8ee;color:#15803d}.ppill.t-blue{background:#e8f0fe;color:#1d4ed8}.ppill.t-amber{background:#f3f0ff;color:#5b45b8}.ppill.t-violet{background:#f1ecff;color:#6d28d9}.ppill.t-red{background:#fdecec;color:#b91c1c}
small.t-green{color:#15803d!important}small.t-blue{color:#1d4ed8!important}small.t-amber{color:#5b45b8!important}small.t-violet{color:#6d28d9!important}small.t-red{color:#b91c1c!important}
/* hub */
.th{display:grid;grid-template-columns:240px minmax(0,1fr) 300px;gap:14px;height:calc(100vh - var(--tb-h) - 48px);min-height:520px}
.th>*{min-width:0}
.th-nav{overflow:auto;padding:14px 10px}.thn-h{padding:2px 8px 10px}.thn-h b{display:flex;align-items:center;gap:8px;font-size:16px}.thn-h small{display:block;color:var(--muted);font-size:12px;margin-top:4px}
.th-nav .navh{padding:12px 10px 6px;color:var(--faint)}
.th-nav a{display:flex;align-items:center;gap:9px;padding:7px 10px;border-radius:10px;color:var(--text-2);font-size:13.5px;text-decoration:none}
.th-nav a:hover{background:var(--surface-2)}.th-nav a.on{background:var(--primary-soft);color:var(--primary-text);font-weight:600}
.th-nav a .i{width:16px;height:16px;opacity:.75}.th-nav a .lbl{flex:1;min-width:0;display:flex;flex-direction:column;line-height:1.25}.th-nav a .lbl small{font-size:11.5px;color:var(--muted);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.th-main{display:flex;flex-direction:column;padding:0;overflow:hidden}
.th-head{display:flex;align-items:center;gap:10px;padding:12px 16px;border-bottom:1px solid var(--border)}.th-ht{min-width:0}.th-ht b{display:block;font-size:15.5px}.th-ht small{color:var(--muted);font-size:12.5px;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.th-hash{width:32px;height:32px;border-radius:10px;background:var(--surface-2);display:inline-flex;align-items:center;justify-content:center;color:var(--muted)}
.th-menu,.th-roster-b{display:none}
.th-body{position:relative;flex:1;min-height:0;display:flex}.th-body .thread-wrap{flex:1;min-height:0;display:flex}.tmsgs{padding:14px 16px;gap:14px}
.th-main .composer{margin:0;padding:10px 12px;border-top:1px solid var(--border)}
.tm-row{display:flex;gap:10px;align-items:flex-start}.tm-col{min-width:0;flex:1}.tm-meta{font-size:12.5px;margin-bottom:3px}
.tm-bw{display:flex;align-items:flex-start;gap:6px}.tm-bw .cm{max-width:min(560px,100%)}.tm-row .cm-acts{opacity:0;transition:opacity .15s}.tm-row:hover .cm-acts{opacity:1}
.tm-th{background:none;border:0;padding:4px 0 0;color:var(--primary-text);font-size:12.5px;font-weight:600;display:inline-flex;gap:5px;align-items:center;min-height:0;box-shadow:none}.tm-th .i{width:14px;height:14px}
.at-ella{color:#7c3aed;font-weight:650;background:#f3eaff;border-radius:6px;padding:0 4px}
.cm-sys.claim span{color:#15803d;display:inline-flex;gap:6px;align-items:center}.cm-sys.claim .i{width:14px;height:14px}
/* case card */
.tcase{border:1px solid var(--border);border-left:4px solid #94a3b8;border-radius:14px;padding:12px 14px;background:var(--surface);max-width:520px;width:100%;box-shadow:0 1px 2px rgba(16,24,40,.04)}
.tcase.sv-critical,.tcase.sv-high{border-left-color:#ef4444}.tcase.sv-medium{border-left-color:#8b7cf6}.tcase.sv-low{border-left-color:#3b82f6}
.tcase-h{display:flex;align-items:center;gap:6px;font-size:12.5px;font-weight:700;color:#b91c1c}.tcase-h .i{width:15px;height:15px}
.tcase-t{font-weight:700;font-size:14.5px;margin:6px 0 2px}.tcase-p{font-size:12.5px;color:var(--muted)}.tcase-w{font-size:13px;color:var(--text-2);margin-top:6px}
.tcase-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.jchip.sev-high,.jchip.sev-critical{background:#fdecec;color:#b91c1c}.jchip.sev-medium{background:#f3f0ff;color:#5b45b8}
.tcase-b{display:flex;align-items:center;gap:8px;margin-top:10px}.tcase-b .btn,.tcase-b button{flex:1}.tcase-cl{flex:1;display:inline-flex;align-items:center;gap:6px;color:#15803d;font-weight:600;font-size:13px;justify-content:center}
.tcase-by{font-size:11.5px;margin-top:8px}.tcase.done{border-left-color:#22c55e;opacity:.8}.tcase.done .tcase-h{color:#15803d}
/* Ella answer */
.cm.ella-a{background:linear-gradient(180deg,#faf7ff,#fff);border:1px solid #e9ddff;max-width:560px}.cm.ella-a>b{display:block;margin-bottom:6px}
.ea-l{display:flex;gap:8px;align-items:flex-start;margin:6px 0;font-size:13px}.ea-l>.i{width:15px;height:15px;flex:none;margin-top:2px}
.ea-l.t-red>.i{color:#dc2626}.ea-l.t-blue>.i{color:#2563eb}.ea-l.t-amber>.i{color:#8b7cf6}.ea-l.t-green>.i{color:#16a34a}.ea-l.t-violet>.i{color:#7c3aed}.ea-l.t-gray>.i,.ea-l.t-indigo>.i{color:#6366f1}
.ea-l ul{margin:3px 0 0 0;padding-left:16px;color:var(--text-2);font-size:12.5px}.ea-link{margin-top:8px;width:100%;justify-content:center}
/* thread panel */
.th-thread{position:absolute;inset:0 0 0 auto;width:min(380px,100%);background:var(--surface);border-left:1px solid var(--border);display:flex;flex-direction:column;box-shadow:-8px 0 24px rgba(16,24,40,.06);z-index:2}
.tt-h{display:flex;align-items:center;padding:10px 14px;border-bottom:1px solid var(--border)}.tt-b{flex:1;overflow:auto;padding:12px 14px;display:flex;flex-direction:column;gap:12px}
.tt-sep{font-size:12px;color:var(--muted);border-bottom:1px solid var(--border);padding-bottom:4px}.th-thread .composer{margin:0;padding:10px 12px}
/* roster */
.th-side{overflow:auto;display:flex;flex-direction:column;gap:12px}.tr-card{padding:14px}.tr-card .card-h{margin-bottom:6px}
.tr-row{display:flex;align-items:center;gap:10px;padding:7px 0;border-bottom:1px solid var(--border)}.tr-row:last-child{border-bottom:0}.tr-t{flex:1;min-width:0;display:flex;flex-direction:column}
.tr-t small{font-size:12px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tr-n{font-size:12px;color:var(--muted)}
.tr-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.tr-stats>div{border-radius:12px;padding:10px;text-align:center;background:var(--surface-2)}
.tr-stats b{display:block;font-size:20px}.tr-stats span{font-size:12px;color:var(--muted)}.tr-stats .k-on{background:#e8f8ee}.tr-stats .k-on b{color:#15803d}.tr-stats .k-br{background:#f3f0ff}.tr-stats .k-br b{color:#5b45b8}
.tw-row{display:grid;grid-template-columns:72px 1fr 20px;gap:8px;align-items:center;font-size:12.5px;margin:7px 0}.tw-bar{height:8px;border-radius:99px;background:var(--surface-3);overflow:hidden}
.tw-bar i{display:block;height:100%;border-radius:99px;min-width:2px}.tw-bar i.lo{background:#22c55e}.tw-bar i.mid{background:#3b82f6}.tw-bar i.hi{background:#ef4444}.tw-row b{text-align:right}.tw-row.un span:first-child{color:#b91c1c}
.tr-sub{font-size:12px;margin:2px 0 4px}
/* mini-card */
.tcard{position:fixed;z-index:60;width:320px;background:var(--surface);border:1px solid var(--border);border-radius:18px;box-shadow:0 18px 48px rgba(16,24,40,.18);padding:16px}
.tcard.sheet{left:0!important;right:0;bottom:0;top:auto!important;width:auto;border-radius:20px 20px 0 0;padding:18px 18px calc(18px + env(safe-area-inset-bottom))}
.tcard-bg{position:fixed;inset:0;background:rgba(15,18,30,.35);z-index:59}
.tc-x{position:absolute;right:8px;top:8px}.tc-top{display:flex;gap:12px;align-items:center}.tc-top>div{display:flex;flex-direction:column;gap:3px;min-width:0}
.tc-n{font-size:16px}.tc-r{font-size:12.5px;color:var(--muted)}.tc-case{display:flex;gap:6px;align-items:center;margin-top:10px;font-size:12.5px;color:#1d4ed8;background:#eef4ff;border-radius:10px;padding:7px 9px}.tc-case .i{width:14px;height:14px}
.tc-facts{display:flex;flex-direction:column;gap:6px;margin-top:12px;font-size:13px;color:var(--text-2)}.tc-facts>div{display:flex;gap:8px;align-items:center}.tc-facts .i{width:15px;height:15px;color:var(--muted)}
.tc-mn{color:#b91c1c}.tc-cases{display:flex;flex-direction:column;gap:4px;margin-top:10px}.tc-cases a{font-size:12.5px;display:flex;gap:6px;align-items:center;color:var(--text)}
.tc-pres{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}.pchip{font-size:12px;padding:5px 9px;border-radius:999px;background:var(--surface-2);color:var(--text-2);border:1px solid var(--border);display:inline-flex;gap:6px;align-items:center;min-height:0;box-shadow:none}
.pchip.on{background:var(--primary-soft);border-color:var(--primary);color:var(--primary-text)}.pchip:disabled{opacity:.5}.pchip .i{width:13px;height:13px}
.tc-btns{display:flex;gap:6px;margin-top:14px}.tc-btns>*{flex:1;font-size:12.5px;padding:8px 8px}
/* people + profile */
.pp-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px}.pp-card{display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;padding:18px}
.pp-t{display:flex;flex-direction:column;align-items:center;gap:4px}.pp-t small{color:var(--muted)}.pp-n b{font-size:20px;display:block}.pp-n small{color:var(--muted);font-size:12px}.pp-b{display:flex;gap:6px}
.pf{display:grid;grid-template-columns:340px minmax(0,1fr);gap:16px;margin-top:12px}.pf-l,.pf-r2{display:flex;flex-direction:column;gap:14px;min-width:0}
.pf-head{display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px}.pf-head h2{margin:6px 0 0}.pf-head .tc-facts{align-items:flex-start;text-align:left;width:100%}.pf-head .tc-btns{width:100%}
.pf-ph{position:relative}.pf-up{position:absolute;right:0;bottom:0;width:32px;height:32px;border-radius:50%;background:var(--primary);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 0 0 3px var(--surface)}
.pf-up input{position:absolute;inset:0;opacity:0;cursor:pointer}.pf-up .i{width:16px;height:16px}
.pf-grid{display:grid;grid-template-columns:1fr 1fr;gap:4px 14px}.pf-r{display:flex;justify-content:space-between;gap:10px;padding:7px 0;border-bottom:1px solid var(--border);font-size:13.5px}.pf-r span{color:var(--muted)}
.pf-chips{display:flex;flex-wrap:wrap;gap:6px}.chip-x{background:none;border:0;padding:0 0 0 4px;color:inherit;min-height:0;box-shadow:none;cursor:pointer;font-size:14px}
.pf-att{width:100%;font-size:13px;border-collapse:collapse}.pf-att th,.pf-att td{text-align:left;padding:7px 6px;border-bottom:1px solid var(--border)}.pf-att th{color:var(--muted);font-weight:600;font-size:12px}
.pf-act{display:flex;justify-content:space-between;gap:10px;padding:7px 0;border-bottom:1px solid var(--border);font-size:13px}
.pf-r2 textarea{width:100%;min-height:90px}
@media (max-width:1180px){.th{grid-template-columns:220px minmax(0,1fr)}.th-side{display:none}.th-roster-b{display:inline-flex}}
@media (max-width:860px){
  .th{grid-template-columns:minmax(0,1fr);height:calc(100dvh - var(--tb-h) - 96px);gap:0}
  .th-nav{display:none;position:fixed;left:0;right:0;top:var(--tb-h);bottom:0;z-index:40;border-radius:0}.th.nav-open .th-nav{display:block}
  .th-menu{display:inline-flex}.th-main{border-radius:14px}.th-head{padding:10px 12px}.tmsgs{padding:12px}.tm-bw .cm,.tcase{max-width:100%}
  .tm-row .cm-acts{opacity:1}.pf{grid-template-columns:minmax(0,1fr)}.pf-grid{grid-template-columns:1fr}.th-thread{width:100%}
}
.tr-sheet{max-height:80vh;overflow:auto}.tr-sheet .tr-card{box-shadow:none;border:0;padding:6px 0}
[data-theme=dark] .ppill.t-green,[data-theme=dark] .tr-stats .k-on{background:rgba(34,197,94,.14)}[data-theme=dark] .ppill.t-blue{background:rgba(59,130,246,.16)}
[data-theme=dark] .ppill.t-amber,[data-theme=dark] .tr-stats .k-br{background:rgba(139,124,246,.14)}[data-theme=dark] .cm.ella-a{background:rgba(139,92,246,.08);border-color:rgba(139,92,246,.3)}
[data-theme=dark] .at-ella{background:rgba(139,92,246,.2);color:#c4b5fd}[data-theme=dark] .tc-case{background:rgba(59,130,246,.14);color:#93c5fd}
/* sidebar: Ella's Operations Summary (replaces the 'Need a person?' banner) */
.sb-ops{display:flex;flex-direction:column;gap:6px;padding:11px 12px;border-radius:14px;background:var(--violet-soft,#f3efff);border:1px solid var(--sb-border);color:var(--sb-text-h);font-size:11.5px;line-height:1.35}
.sb-ops:empty{display:none}.so-h{display:flex;align-items:center;gap:6px;font-size:12.5px}.so-h .i{width:14px;height:14px;color:#7c3aed}
.so-n{color:var(--sb-text)}.so-n a{color:inherit}.so-n a b{color:var(--sb-text-h)}.so-n a.bad,.so-n a.bad b{color:#b91c1c}
.so-risk,.so-next{display:flex;gap:6px;align-items:flex-start;color:var(--sb-text)}.so-risk .i,.so-next .i{width:13px;height:13px;flex:none;margin-top:1px}
.so-risk{color:#5b45b8;font-weight:600}.so-risk.ok{color:#15803d;font-weight:500}.so-next b{color:var(--sb-text-h)}
.so-link{font-weight:600;color:var(--primary-text);font-size:12px}
.sb-collapsed .sb-ops{display:none}
/* ===== desktop Home v3 (Tamra mockup 2026-10-04): semantic pale sections, nested cards for actionable items ===== */
.hd{--sec-red:#fff5f5;--sec-red-b:#fbd5d5;--sec-blue:#f3f7ff;--sec-blue-b:#d6e3fb;--sec-violet:#f7f4ff;--sec-violet-b:#e4dafb;--sec-green:#f2fbf5;--sec-green-b:#cdeed8}
.hd-greet{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:14px}.hd-greet h1{margin:0;font-size:26px}.hd-greet p{margin:4px 0 0;color:var(--muted);font-size:13.5px}
.hd-clock{text-align:right;flex:none}.hd-clock span{display:block;color:var(--muted);font-size:13px}.hd-clock b{font-size:24px;letter-spacing:-.02em}
.hd-sh{display:flex;align-items:center;gap:10px;margin-bottom:12px}.hd-sh>b{font-size:15px}.hd-n{color:var(--muted);font-weight:600}.hd-d{font-weight:500;font-size:12.5px}.hd-sh .cbadge{width:30px;height:30px}
.hd-sh .btn.sm,.hd-sh button.sm{font-size:12.5px}
.hd-glance{padding:14px 16px;margin-bottom:16px}.hd-glance .hd-sh{margin-bottom:8px}
.hd-gr{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}.hd-g{display:flex;gap:12px;align-items:center;padding:6px 14px;border-left:1px solid var(--border);color:var(--text);text-decoration:none}
.hd-g:first-child{border-left:0;padding-left:4px}.hd-g:hover{text-decoration:none;background:var(--surface-2);border-radius:10px}
.hd-gi{width:40px;height:40px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;flex:none}.hd-gi .i{width:19px;height:19px}
.hd-gi.tone-blue{background:var(--info-soft);color:var(--info)}.hd-gi.tone-violet{background:var(--violet-soft);color:var(--violet)}.hd-gi.tone-indigo{background:var(--primary-soft);color:var(--primary)}
.hd-g small{display:block;font-size:12.5px;color:var(--muted)}.hd-g b{display:block;font-size:22px;line-height:1.15}.hd-gs{font-size:12px;color:var(--muted)}.hd-gs.bad{color:var(--danger-t);font-weight:600}
.hd-grid{display:grid;grid-template-columns:minmax(0,1.62fr) minmax(0,1fr);gap:16px;align-items:start}.hd-main,.hd-side{display:flex;flex-direction:column;gap:16px;min-width:0}
.hd-sec{border-radius:var(--r-lg,18px);padding:14px 16px;border:1px solid var(--border)}
.hd-sec.sec-red{background:var(--sec-red);border-color:var(--sec-red-b)}.hd-sec.sec-blue{background:var(--sec-blue);border-color:var(--sec-blue-b)}
.hd-sec.sec-violet{background:var(--sec-violet);border-color:var(--sec-violet-b)}.hd-sec.sec-green{background:var(--sec-green);border-color:var(--sec-green-b)}
.hd-sec.sec-cream{background:#fffaf0;border-color:#e4ddff}
.hd-empty{font-size:13px;padding:6px 2px}
/* Manager Needed nested cards */
.hd-mns{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px}
.hd-mn{background:var(--surface);border:1px solid var(--sec-red-b);border-radius:14px;padding:12px;display:flex;flex-direction:column;gap:9px;min-width:0;box-shadow:0 1px 2px rgba(16,24,40,.04)}
.hd-mt{display:flex;align-items:center;gap:6px;min-width:0}
.hd-pill{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:750;letter-spacing:.04em;text-transform:uppercase;padding:3px 8px;border-radius:7px;background:var(--danger-soft);color:var(--danger-t);white-space:nowrap}
.hd-pill .i{width:13px;height:13px}.hd-pill.p-tutor-risk{background:var(--warning-soft);color:var(--warning-t)}.hd-pill.p-aware,.hd-pill.p-decision{background:var(--violet-soft);color:var(--violet-t)}
.hd-when{font-size:12px;color:var(--muted);display:inline-flex;align-items:center;gap:2px;white-space:nowrap}.hd-when.bad{color:var(--danger-t);font-weight:700}.hd-when .i{width:14px;height:14px}
.hd-mw{display:flex;gap:10px;align-items:flex-start;color:var(--text);text-decoration:none;min-width:0}.hd-mw:hover{text-decoration:none}.hd-mw:hover b{text-decoration:underline}
.hd-mw .el-t b{font-size:14.5px}.hd-mw .el-t small{display:block;font-size:12.5px;color:var(--text-2);line-height:1.35}
.hd-chips{display:flex;flex-wrap:wrap;gap:5px}.hd-chips .jchip{font-size:11.5px}
.hd-btns{display:flex;gap:6px;align-items:stretch;margin-top:auto}.hd-btns>.btn,.hd-btns>.callgrp{flex:1;justify-content:center;font-size:13px;min-width:0}
.hd-btns .callgrp{display:flex}.hd-btns .callgrp>a{flex:1;justify-content:center}.hd-p{font-weight:650}
.hd-more{position:relative;flex:none}.hd-more>summary{list-style:none;padding:0 10px;height:100%;display:flex;align-items:center}.hd-more>summary::-webkit-details-marker{display:none}
.hd-menu{position:absolute;right:0;bottom:calc(100% + 6px);z-index:20;background:var(--surface);border:1px solid var(--border);border-radius:12px;box-shadow:0 12px 32px rgba(16,24,40,.16);padding:6px;min-width:200px;display:flex;flex-direction:column}
.hd-menu>a,.hd-menu>button{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:8px;font-size:13px;color:var(--text);background:none;border:0;text-align:left;min-height:0;box-shadow:none;font-weight:500;text-decoration:none}
.hd-menu>a:hover,.hd-menu>button:hover{background:var(--surface-2)}.hd-menu .i{width:15px;height:15px;color:var(--muted)}
/* Waiting mini-cards */
.hd-ws{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.hd-w{background:var(--surface);border:1px solid var(--sec-blue-b);border-radius:14px;padding:11px;display:flex;flex-wrap:wrap;gap:9px;align-items:flex-start;min-width:0}
.hd-w .el-t{min-width:0;flex:1}.hd-w .el-t b{font-size:13.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}.hd-w .el-t small{display:block;font-size:12px;color:var(--muted)}.hd-w small.bad{color:var(--danger-t);font-weight:650}
.hd-wb{display:flex;align-items:center;justify-content:space-between;width:100%;gap:6px}.hd-wb .btn{padding-inline:16px}
/* sessions */
.hd-sess{padding:14px 16px}#hSess{display:flex;flex-direction:column;gap:8px}
.hd-s{display:flex;align-items:center;gap:12px;padding:9px 12px;border:1px solid var(--border);border-radius:12px;color:var(--text);text-decoration:none}.hd-s:hover{text-decoration:none;border-color:var(--border-strong);background:var(--surface-2)}
.hd-si{width:30px;height:30px;border-radius:9px;background:var(--info-soft);color:var(--info);display:inline-flex;align-items:center;justify-content:center;flex:none}.hd-si .i{width:15px;height:15px}
.hd-st{width:74px;flex:none;color:var(--info-t);font-size:13.5px}.hd-s .el-t{flex:1;min-width:0}.hd-s .el-t b{font-size:13.5px}.hd-s .el-t small{font-size:12px;color:var(--muted)}.hd-sp{margin-left:6px}.hd-s>.i:last-child{color:var(--faint)}
/* Ella Today */
.hd-on{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:#15803d;background:#e8f8ee;border-radius:99px;padding:3px 9px}.hd-on i{width:7px;height:7px;border-radius:50%;background:#22c55e}
.hd-on.warn{color:#5b45b8;background:#f3f0ff}.hd-on.warn i{background:#8b7cf6}
.hd-ec{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));background:var(--surface);border:1px solid var(--sec-violet-b);border-radius:12px;margin-bottom:12px}
.hd-ec a{padding:10px 12px;border-left:1px solid var(--sec-violet-b);color:var(--text);text-decoration:none}.hd-ec a:first-child{border-left:0}.hd-ec a:hover{background:var(--surface-2);text-decoration:none}
.hd-ec b{display:block;font-size:20px}.hd-ec small{font-size:11.5px;color:var(--muted);line-height:1.25;display:block}.hd-ec a.bad b{color:var(--danger-t)}
.hd-eh{font-weight:650;font-size:13.5px;margin-bottom:6px}.hd-ek{font-size:10.5px;font-weight:750;letter-spacing:.06em;text-transform:uppercase;color:var(--faint);margin:8px 0 6px}
.hd-ea{display:flex;align-items:center;gap:9px;background:var(--surface);border:1px solid var(--sec-violet-b);border-radius:12px;padding:8px 10px;margin-bottom:6px;color:var(--text);text-decoration:none}.hd-ea:hover{text-decoration:none;border-color:#cbb8f6}
.hd-ea .cbadge{width:28px;height:28px}.hd-ea .el-t{flex:1;min-width:0}.hd-ea .el-t b{font-size:13px;font-weight:600}.hd-ea .el-t small{font-size:11.5px;color:var(--muted)}.hd-ea .spill,.hd-er .spill{white-space:nowrap;font-size:11px}
.hd-er{display:flex;align-items:center;gap:10px;padding:6px 2px;border-bottom:1px solid var(--sec-violet-b);font-size:12.5px;color:var(--text);text-decoration:none}.hd-er:last-child{border-bottom:0}.hd-er:hover{text-decoration:none;background:rgba(255,255,255,.6)}
.hd-et{width:58px;flex:none;color:var(--muted);font-size:12px}.hd-ex{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
/* calls + system */
.hd-calls{padding:14px 16px}.hd-c{display:flex;align-items:center;gap:10px;padding:9px 0;border-top:1px solid var(--border)}.hd-c:first-of-type{border-top:0}
.hd-c .el-t{flex:1;min-width:0;color:var(--text);text-decoration:none}.hd-c .el-t b{font-size:13px;display:block}.hd-c .el-t small{font-size:12px;color:var(--muted)}.hd-c .callgrp{flex:none}
.hd-sy{display:flex;gap:12px;align-items:center;background:var(--surface);border:1px solid var(--sec-green-b);border-radius:12px;padding:10px 12px}
.hd-ok{width:34px;height:34px;border-radius:50%;background:#22c55e;color:#fff;display:inline-flex;align-items:center;justify-content:center;flex:none}.hd-ok.warn{background:#8b7cf6}.hd-ok .i{width:18px;height:18px}
.hd-sy b{color:#15803d;font-size:14px}.hd-sy small{display:block;font-size:12px;color:var(--muted)}
@media (max-width:1180px){.hd-ws{grid-template-columns:repeat(2,minmax(0,1fr))}.hd-grid{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr)}}
[data-theme=dark] .hd{--sec-red:rgba(239,68,68,.07);--sec-red-b:rgba(239,68,68,.25);--sec-blue:rgba(59,130,246,.07);--sec-blue-b:rgba(59,130,246,.25);--sec-violet:rgba(139,92,246,.08);--sec-violet-b:rgba(139,92,246,.28);--sec-green:rgba(34,197,94,.07);--sec-green-b:rgba(34,197,94,.25)}
[data-theme=dark] .hd-on{background:rgba(34,197,94,.14)}
/* phone Home: same nested-card treatment for Manager Needed */
@media (max-width:860px){.home .h-mn{background:#fff5f5;border-color:#fbd5d5}.home .h-mn .aline{background:var(--surface);border:1px solid #fbd5d5;border-radius:12px;padding:10px;margin-top:8px}
  .home .h-mn .aline+.aline{border-top:1px solid #fbd5d5}[data-theme=dark] .home .h-mn{background:rgba(239,68,68,.07)}}
.hd-btns{flex-wrap:nowrap;min-width:0}.hd-btns .callgrp{min-width:0}.hd-btns .callgrp>a{min-width:0;white-space:nowrap;overflow:hidden}
.hd .btn.hd-p,.hd .hd-pg>a.btn{background:var(--primary);border-color:var(--primary);color:#fff}.hd .btn.hd-p:hover{background:var(--primary-h)}
.hd .hd-pg>a.btn{background:#16a34a;border-color:#16a34a}.hd .hd-pg>a.btn:hover{background:#15803d}.hd .hd-pg>.callmore{background:#16a34a;border-color:#16a34a;color:#fff}
.hd-ella .hd-sh>b{white-space:nowrap}.hd-on{white-space:nowrap;font-size:11.5px;padding:2px 8px}
.hd .hd-pg>.callmore{display:none}.hd .hd-pg>a.btn{border-radius:10px}
.hd-ella .hd-sh{flex-wrap:nowrap}.hd-ella .hd-sh .btn.sm{padding:5px 9px;white-space:nowrap}
/* flagged tutor case box */
.ft{padding:14px 16px;margin-bottom:14px;display:flex;flex-direction:column;gap:10px;border-color:#e4ddff}
.ft-h,.ft-rec,.ft-sh{display:flex;align-items:center;gap:10px}.ft-h .el-t,.ft-rec .el-t,.ft-sh .el-t{flex:1;min-width:0}.ft-h .el-t b{font-size:15px}.ft .el-t small{display:block;color:var(--muted);font-size:12.5px}
.ft-inc{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.ft-inc li{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:13px;padding:8px 10px;border:1px solid var(--border);border-radius:10px;background:var(--surface-2)}
.ft-inc li small{flex-basis:100%;color:var(--muted);font-size:12px}
.ft-rec{background:var(--violet-soft);border:1px solid #e4dafb;border-radius:12px;padding:10px 12px}.ft-rec b{font-size:13.5px}
.ft .ux-h{margin:4px 0 0}
.ft-s{border:1px solid var(--border);border-radius:12px;padding:10px 12px;display:flex;flex-direction:column;gap:6px;background:var(--surface)}.ft-s.kept{opacity:.75}
.ft-r{display:flex;gap:10px;font-size:13px;align-items:baseline}.ft-r>span:first-child{width:120px;flex:none;color:var(--muted)}.ft-rep{display:flex;flex-direction:column;gap:3px}.ft-rep small{color:var(--muted);font-size:12px}
.ft-rep .spill{width:max-content}.ft-acts{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}
.ft-ok{flex-direction:row;align-items:center;gap:10px;color:#15803d}.ft-ok small{display:block;color:var(--muted)}
@media (max-width:860px){.ft-r{flex-direction:column;gap:2px}.ft-acts>*{flex:1 1 45%}}
/* ticket header v2 (Tamra 2026-10-04) */
.tk-head{display:flex;flex-direction:column;gap:10px}.tk-pills{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.tkp{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;font-weight:750;letter-spacing:.05em;text-transform:uppercase;padding:4px 10px;border-radius:8px;background:var(--neutral-soft);color:var(--muted)}
.tkp.t-red{background:var(--danger-soft);color:var(--danger-t)}.tkp.t-amber{background:var(--warning-soft);color:var(--warning-t)}.tkp.t-blue{background:var(--info-soft);color:var(--info-t)}.tkp.t-violet{background:var(--violet-soft);color:var(--violet-t)}
.tk-ref{font-size:12.5px;margin-bottom:-6px}.tk-who{font-size:14px;color:var(--text-2)}
.tk-why{display:flex;flex-direction:column;gap:2px;background:var(--danger-soft);border-radius:12px;padding:9px 12px}.tk-why span{font-size:11px;font-weight:750;letter-spacing:.06em;text-transform:uppercase;color:var(--danger-t)}.tk-why b{font-size:14px;font-weight:600}
.tk-over{display:inline-flex;gap:6px;align-items:center;color:var(--danger-t);font-weight:700;font-size:13.5px}.tk-over .i{width:15px;height:15px}
.tk-btns{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.tk-btns .tk-prim,.tk-btns .callgrp .tk-prim{font-size:15px;padding:11px 20px;font-weight:700}
.tk-btns .callgrp>a.tk-prim{background:#16a34a;border-color:#16a34a;color:#fff}.tk-btns a.btn.tk-prim:not(.sec):not(.ok){background:var(--primary);border-color:var(--primary);color:#fff}
.tk-more .hd-menu{bottom:auto;top:calc(100% + 6px);left:0;right:auto}
.tk-life{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between;border-top:1px solid var(--border);padding-top:10px}.tk-life .stage{margin:0}
.tk-own{font-size:13px;color:var(--muted)}.tk-own b{color:var(--text)}.tk-own.t-red b{color:var(--danger-t)}.tk-own.t-violet b{color:var(--violet-t)}.tk-own.t-blue b{color:var(--info-t)}.tk-own.t-amber b{color:var(--warning-t)}
.tcard{width:340px}.tc-btns{flex-wrap:wrap}.tc-btns>*{flex:1 1 0;min-width:0;white-space:nowrap;padding:8px 6px;justify-content:center}
.tr-t{align-items:flex-start;text-align:left}.tr-t .tnm{text-align:left}
/* Escalation cards, plain fast-food format (escsum.py; Tamra 2026-10-04 ~18:10) */
.esc2{padding:16px 18px;border-left:4px solid var(--border)}.esc2.esc2-high,.esc2.esc2-critical{border-left-color:#e5484d}.esc2.esc2-medium{border-left-color:#8b7cf6}
.esc2-top{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:12.5px}.esc2-st{color:var(--muted);font-weight:500}
.esc2-own{display:inline-flex;align-items:center;gap:5px;color:var(--text);font-weight:500}.esc2-own.un{color:#5b45b8;background:#f3f0ff;border-radius:999px;padding:2px 9px}
.esc2-t{font-size:17px;line-height:1.3;margin:10px 0 4px;font-weight:650}.esc2-c .esc2-t{font-size:15px}
.esc2-why{margin:0 0 6px;color:var(--text);font-size:14px}.esc2-why b{font-weight:600}
.esc2-b{margin:4px 0 8px;padding-left:20px;font-size:13.5px;color:var(--text)}.esc2-b li{margin:2px 0}
.esc2-next{display:flex;gap:8px;align-items:flex-start;background:#eef4ff;color:#1d3f8f;border-radius:10px;padding:9px 12px;font-size:14px;margin:8px 0}.esc2-next .i{width:16px;height:16px;flex:none;margin-top:2px}
.esc2-meta{color:var(--muted);font-size:12px;margin-top:6px}.esc2-meta a{color:inherit;text-decoration:underline}
.esc2-note{display:flex;gap:6px;align-items:flex-start;font-size:13px;margin-top:6px}
.esc-raw{display:none;margin-top:8px;font-size:12.5px}body.hx-tech-on .esc-raw{display:block}.esc-raw>summary{cursor:pointer;color:var(--muted)}
.esc-rawb{white-space:pre-wrap;background:var(--surface-2);border-radius:8px;padding:10px;margin-top:6px;color:var(--muted)}
.esc2-foot{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:12px;padding-top:12px;border-top:1px solid var(--border)}
.esc2-more .hd-menu{right:0;left:auto;min-width:220px}.esc2-pri{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 10px;font-size:13px}
.esc2-bar{margin-bottom:12px;align-items:center}.esc2-bar .tabs{margin:0}
.card .esc2{box-shadow:none;border:1px solid var(--border);border-left-width:4px;margin:8px 0}
@media (max-width:600px){.esc2{padding:14px}.esc2-t{font-size:16px}.esc2-foot>.spacer{display:none}.esc2-foot .ok{width:100%;justify-content:center}}
/* Dynamic makeup times (Tamra 2026-10-04) */
.mk-chips{display:flex;flex-wrap:wrap;gap:5px;margin-top:6px}
.mk-chip{font-size:12px;background:var(--surface);border:1px solid var(--border);border-radius:999px;padding:2px 9px;white-space:nowrap}
.mk-chip.taken{text-decoration:line-through;color:var(--muted)}
.mk-live{display:block;margin-top:6px;font-size:12px;color:var(--muted);line-height:1.4}
.mk-chk{display:flex;align-items:center;gap:5px;flex-wrap:wrap}.mk-chk svg{width:13px;height:13px}.mk-chk b{color:var(--text-2);font-weight:600}
.mk-upd{display:flex;gap:5px;align-items:flex-start;margin-top:4px;color:var(--text-2);background:var(--surface);border-radius:8px;padding:5px 8px}.mk-upd svg{width:13px;height:13px;flex:none;margin-top:2px}
.mk-block{display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin-top:6px;color:var(--warning-t);font-size:12.5px}.mk-block svg{width:14px;height:14px;flex:none}
.ux-tile.taken{opacity:.6}.ux-tile.taken b{text-decoration:line-through}
.mk-modal{margin:0 0 10px}.mk-modal .ux-tiles{grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}
.mk-picks{display:flex;flex-direction:column;gap:6px;max-height:52vh;overflow:auto}
.mk-pick{display:flex;gap:10px;align-items:flex-start;border:1px solid var(--border);border-radius:10px;padding:8px 10px;cursor:pointer}
.mk-pick span{display:flex;flex-direction:column}.mk-pick small{color:var(--muted);font-size:12px}.mk-pick input{margin-top:3px}
.ux-bh{flex-wrap:wrap}.ux-bh b{white-space:nowrap}
/* ---- Ella activity grouped by case (Tamra 2026-10-04 ~23:00): one row per case, expand for its items ---- */
.ea-bar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:8px}.ea-bar .tabs{margin-bottom:0}
.ea-tabs button em{font-style:normal;font-weight:700;margin-left:4px;background:var(--neutral-soft);border-radius:999px;padding:0 7px;font-size:11.5px}
.ea-tabs button.on em{background:var(--violet-soft);color:var(--violet-t)}
.ea-search{display:flex;align-items:center;gap:6px;flex:1;min-width:200px;max-width:360px;background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:0 10px}
.ea-search .i{width:15px;height:15px;color:var(--muted)}.ea-search input{border:0;outline:0;background:transparent;flex:1;padding:8px 0;min-width:0;box-shadow:none}
.ea-sum{font-size:12.5px;margin:2px 2px 10px}
.ea-row{background:var(--surface);border:1px solid var(--border);border-radius:12px;margin-bottom:8px;overflow:hidden}
.ea-row.st-human{border-left:3px solid var(--violet-t)}.ea-row.st-approval{border-left:3px solid var(--warning-t)}.ea-row.st-ai{border-left:3px solid #a78bfa}.ea-row.st-waiting{border-left:3px solid var(--info-t)}
.ea-row>summary{display:flex;align-items:center;gap:10px;padding:10px 12px;cursor:pointer;list-style:none}.ea-row>summary::-webkit-details-marker{display:none}
.ea-row>summary:hover{background:var(--surface-2)}
.ea-row .cbadge{width:30px;height:30px;flex-shrink:0}.ea-row .el-t{flex:1;min-width:0}.ea-row .el-t b{font-size:13.5px;font-weight:650;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ea-row .el-t small{font-size:12px;color:var(--muted);display:block}
.ea-side{display:flex;flex-direction:column;align-items:flex-end;gap:3px;flex-shrink:0}.ea-side small{font-size:11px;color:var(--muted)}.ea-side .spill{font-size:11px}
.ea-chev{width:16px;height:16px;color:var(--muted);transition:transform .15s;flex-shrink:0}details[open]>summary .ea-chev{transform:rotate(180deg)}
.ea-items{border-top:1px solid var(--border);padding:6px 12px 10px 52px;background:var(--surface-2)}
.ea-i{display:flex;align-items:center;gap:8px;padding:6px 0;border-bottom:1px dashed var(--border);color:var(--text);text-decoration:none;font-size:12.5px}.ea-i:hover{text-decoration:none;color:var(--violet-t)}
.ea-i .ea-x{flex:1;min-width:0}.ea-i small{color:var(--muted);font-size:11px;white-space:nowrap}.ea-i .spill{font-size:10.5px;padding:2px 8px}
.ea-dot{width:7px;height:7px;border-radius:50%;background:var(--muted);flex-shrink:0}.ea-dot.t-violet{background:var(--violet-t)}.ea-dot.t-amber{background:var(--warning-t)}.ea-dot.t-red{background:var(--danger-t)}.ea-dot.t-blue{background:var(--info-t)}.ea-dot.t-green{background:var(--success-t)}
.ea-acts{display:flex;align-items:center;gap:8px;padding-top:8px;font-size:12px}.ea-acts .muted{overflow:hidden;text-overflow:ellipsis}
.ea-none{font-size:12.5px;padding:6px 0}
.ea-more{display:block;margin:6px auto 14px}.ea-end{text-align:center;font-size:12px}
.ea-c{margin-bottom:6px;border-color:var(--sec-violet-b,var(--border))}.ea-c>summary{padding:8px 10px}.ea-c .cbadge{width:28px;height:28px}.ea-c .el-t b{font-size:13px}
.ea-c .ea-items{padding-left:12px}
.ap-count{font-size:12.5px;margin:0 2px 10px}
.ap-grp{border:1px solid var(--border);border-radius:14px;margin-bottom:14px;background:var(--surface-2);padding:0 10px 4px}
.ap-gh{display:flex;align-items:center;gap:10px;padding:10px 4px;cursor:pointer;list-style:none}.ap-gh::-webkit-details-marker{display:none}.ap-gh .el-t{flex:1;min-width:0}.ap-gh .el-t small{display:block;color:var(--muted);font-size:12px}
@media (max-width:860px){.ea-search{max-width:none;min-width:100%}.ea-items{padding-left:12px}.ea-i{flex-wrap:wrap}.ea-i .ea-x{flex-basis:calc(100% - 20px)}.ea-row .el-t small{white-space:normal}}

/* ===== Tamra 2026-10-05: sync freshness chip, session progress stepper, close-case hint ===== */
.sync-chip{position:relative;flex-shrink:0}
.sync-chip>button{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 10px;border-radius:999px;border:1px solid var(--border);background:var(--card,#fff);color:var(--muted,#64748b);font-size:12.5px;font-weight:600;cursor:pointer;white-space:nowrap}
.sync-chip>button i{width:8px;height:8px;border-radius:50%;background:#94a3b8;display:inline-block}
.sync-chip[data-tone=ok]>button i{background:#22c55e}
.sync-chip[data-tone=warn]>button{color:#5b45b8;border-color:#c4b8f5;background:#f3f0ff}.sync-chip[data-tone=warn]>button i{background:#8b7cf6}
.sync-chip[data-tone=behind]>button{color:#b91c1c;border-color:#fecaca;background:#fef2f2}.sync-chip[data-tone=behind]>button i{background:#ef4444}
.sync-chip[data-tone=paused]>button i{background:#94a3b8}
.sync-chip .sy-pop{display:none;position:absolute;right:0;top:38px;z-index:60;min-width:330px;background:var(--card,#fff);border:1px solid var(--border);border-radius:12px;box-shadow:0 10px 30px rgba(15,23,42,.15);padding:10px 12px;font-size:13px}
.sync-chip.open .sy-pop{display:block}
@media (hover:hover) and (pointer:fine){.sync-chip:hover .sy-pop{display:block}}
.sy-r{display:flex;align-items:center;gap:8px;padding:5px 0}.sy-r b{min-width:110px}.sy-r span:last-child{color:var(--muted,#64748b);white-space:nowrap}
.sy-d{width:8px;height:8px;border-radius:50%;background:#94a3b8;flex-shrink:0}.sy-d.ok{background:#22c55e}.sy-d.warn{background:#8b7cf6}.sy-d.behind{background:#ef4444}
.sy-f{margin-top:6px;padding-top:6px;border-top:1px solid var(--border);color:var(--muted,#64748b);font-size:11.5px}
.sync-l[data-tone=warn],#sSync span[data-tone=warn]{color:#5b45b8}.sync-l[data-tone=behind],#sSync span[data-tone=behind]{color:#b91c1c}
@media (max-width:760px){.sync-chip>button{height:28px;padding:0 8px;font-size:11.5px}.sync-chip .sy-pop{position:fixed;left:12px;right:12px;top:58px;min-width:0}}
.tk-hint{flex-basis:100%;order:99;font-size:12px;margin-top:2px}
.sp-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:14px;padding-top:12px;border-top:1px solid var(--border)}
.sp-lbl{color:var(--muted,#64748b);font-size:13px;font-weight:600;white-space:nowrap}
.sp-steps{display:flex;align-items:flex-start;flex:1 1 420px;min-width:0}
.sp-st{display:flex;flex-direction:column;align-items:center;gap:4px;min-width:62px;text-align:center;font-size:11.5px;color:var(--muted,#64748b)}
.sp-st b{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;font-size:12px;border:2px solid #cbd5e1;background:var(--card,#fff);color:#94a3b8}
.sp-st em{font-style:normal;line-height:1.2}
.sp-st.done b{background:#22c55e;border-color:#22c55e;color:#fff}.sp-st.done{color:var(--text,#0f172a)}
.sp-st.cur b{border-color:#3b82f6;color:#2563eb}.sp-st.cur{color:#1d4ed8;font-weight:600}
.sp-st.warn b{border-color:#8b7cf6;color:#5b45b8;background:#f3f0ff}.sp-st.warn{color:#5b45b8}
.sp-st.bad b{border-color:#ef4444;color:#b91c1c;background:#fef2f2}.sp-st.bad{color:#b91c1c}
.sp-bar{flex:1;height:2px;background:#e2e8f0;margin-top:12px;min-width:10px}.sp-bar.done{background:#22c55e}
.sp-flag{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:700;white-space:nowrap}
.sp-flag.late{background:#e4ddff;color:#5b45b8}.sp-flag.bad{background:#fee2e2;color:#b91c1c}.sp-flag.off{background:#f1f5f9;color:#475569}
.sp-flag svg{width:14px;height:14px}
.sp-chg{position:relative;flex-shrink:0}.sp-chg>summary{list-style:none;white-space:nowrap;cursor:pointer}.sp-chg>summary::-webkit-details-marker{display:none}
.sp-menu{position:absolute;right:0;top:36px;z-index:40;background:var(--card,#fff);border:1px solid var(--border);border-radius:10px;box-shadow:0 10px 30px rgba(15,23,42,.15);padding:6px;min-width:180px;display:flex;flex-direction:column}
.sp-menu button{background:none;border:0;text-align:left;padding:8px 10px;border-radius:8px;color:var(--text,#0f172a);font-size:13px;cursor:pointer;box-shadow:none}
.sp-menu button:hover{background:var(--hover,#f1f5f9)}.sp-menu .bad-t{color:#b91c1c}
@media (max-width:760px){.sp-steps{flex-basis:100%;order:2}.sp-st{min-width:0;flex:0 0 auto;font-size:10.5px}.sp-st em{max-width:62px}.sp-lbl{order:1}.sp-flag{order:1}.sp-chg{order:1;margin-left:auto}}
.sdot.down{background:#ef4444;box-shadow:0 0 0 4px var(--danger-soft)}.sdot.low{background:#cbd5e1;box-shadow:none}
.sync-chip .sy-s{display:none}
@media (max-width:760px){.sync-chip .sy-l{display:none}.sync-chip .sy-s{display:inline}}
@media (max-width:760px){.crumb .i,.crumb>svg{display:none}.crumb{font-size:14px;gap:4px}.topbar{gap:4px}.sync-chip>button{padding:0 7px;gap:4px}}
/* makeup availability source (item d, 2026-10-05) */
.ux-mnote.mk-src{display:flex;align-items:center;gap:6px;color:var(--text-2)}
.ux-mnote.mk-src svg{width:14px;height:14px;color:#16a34a;flex:none}

/* ===== Shifts (2026-10-05): header clock control, Start your shift? sheet, weekly schedule picker ===== */
.sy-r span.sy-ok{color:#15803d!important}
.tb-shift{position:relative;flex-shrink:0}
.tbs-b{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 11px 0 9px;border-radius:999px;border:1px solid var(--border);background:var(--card,#fff);color:var(--text-2,#334155);font-size:12.5px;font-weight:600;cursor:pointer;white-space:nowrap;position:relative;box-shadow:none}
.tbs-b:hover{background:var(--hover,#f8fafc)}
.tbs-ic{display:inline-flex}.tbs-ic .i{width:16px;height:16px}
.tbs-dot{width:8px;height:8px;border-radius:50%;background:#94a3b8;display:inline-block;flex-shrink:0}
.tb-shift[data-state=on] .tbs-dot{background:#22c55e}.tb-shift[data-state=break] .tbs-dot{background:#8b7cf6}
.tb-shift[data-state=off] .tbs-b{border-color:#c7d2fe;color:var(--primary-text,#4338ca);background:var(--primary-soft,#eef2ff)}
.tb-shift[data-state=on] .tbs-b{border-color:#bbf7d0;color:#15803d;background:#f0fdf4}
.tbs-pop{display:none;position:absolute;right:0;top:40px;z-index:60;width:290px;background:var(--card,#fff);border:1px solid var(--border);border-radius:14px;box-shadow:0 14px 34px rgba(15,23,42,.18);padding:12px;font-size:13px;color:var(--text)}
.tb-shift.open .tbs-pop{display:block}
.tbs-h{display:flex;align-items:center;gap:8px;margin-bottom:6px}.tbs-h b{font-size:14px}.tbs-h small{color:var(--muted)}
.tbs-s{display:flex;align-items:center;gap:6px;color:var(--muted);margin:2px 0 10px}.tbs-s .i{width:15px;height:15px}
.tbs-acts{display:flex;gap:8px}.tbs-a{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:6px;height:38px;border-radius:10px;border:1px solid var(--border);background:var(--surface,#fff);color:var(--text);font-weight:600;font-size:13px;cursor:pointer}
.tbs-a .i{width:16px;height:16px}.tbs-a.pri{background:#8b7cf6;border-color:#8b7cf6;color:#030D14}.tbs-a.dark{background:#030D14;border-color:#030D14;color:#fff}
.tbs-l{display:flex;align-items:center;gap:6px;margin:10px 0 4px;font-weight:600;font-size:13px}.tbs-l .i{width:15px;height:15px}
.tbs-n{margin:6px 0 0;color:var(--muted);font-size:11.5px;line-height:1.4}
@media (max-width:860px){.tbs-t{display:none}.tbs-b{width:36px;height:36px;padding:0;justify-content:center;border-radius:50%}.tbs-dot{position:absolute;right:4px;top:5px;box-shadow:0 0 0 2px var(--surface,#fff)}
  .tbs-pop{position:fixed;left:10px;right:10px;top:calc(var(--tb-h) + 6px);width:auto}
  .sync-chip .sy-pop{position:fixed;left:10px;right:10px;top:calc(var(--tb-h) + 6px);min-width:0}.sy-r b{min-width:96px}.sy-r span:last-child{white-space:normal}}
.sh-sheet{position:fixed;z-index:8000;right:20px;bottom:20px;width:400px;max-width:calc(100vw - 24px);animation:shIn .28s cubic-bezier(.2,.8,.2,1)}
@keyframes shIn{from{transform:translateY(16px);opacity:0}to{transform:none;opacity:1}}
.sh-card{display:grid;grid-template-columns:auto 1fr;gap:12px 14px;background:#fff;color:#030D14;border-radius:20px;padding:18px 18px 16px;box-shadow:0 24px 60px -16px rgba(3,13,20,.45),0 0 0 1px rgba(3,13,20,.06);position:relative;overflow:hidden;font-family:inherit}
.sh-card::before{content:"";position:absolute;inset:0 22px auto;height:4px;border-radius:0 0 6px 6px;background:linear-gradient(90deg,#75B2CE 0 33%,#F1AAC8 33% 66%,#8b7cf6 66%)}
.sh-ic{width:44px;height:44px;border-radius:14px;background:#e4ddff;color:#5b45b8;display:flex;align-items:center;justify-content:center}.sh-ic .i{width:22px;height:22px}.sh-ic.warn{background:#fee2e2;color:#b91c1c}
.sh-tx h3{margin:2px 0 4px;font-size:17px;font-weight:650}.sh-tx p{margin:0;color:#3A434B;font-size:14px;line-height:1.45}
.sh-acts{grid-column:1/-1;display:flex;gap:10px;justify-content:flex-end}
.sh-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 20px;border-radius:999px;border:0;background:#8b7cf6;color:#030D14;font-weight:650;font-size:14.5px;cursor:pointer;box-shadow:none}
.sh-btn .i{width:17px;height:17px}.sh-btn.ghost{background:#fff;border:1.5px solid #E3E6EA}.sh-btn.dark{background:#030D14;color:#fff}
@media (max-width:860px){.sh-sheet{left:10px;right:10px;width:auto;bottom:calc(74px + env(safe-area-inset-bottom))}.sh-acts .sh-btn{flex:1}}
[data-theme=dark] .sh-card{background:#fff}
.sched{display:flex;flex-direction:column;gap:6px}
.sched-q{display:flex;flex-wrap:wrap;gap:6px;align-items:center;font-size:12.5px;color:var(--muted,#6B737A);margin-bottom:4px}
.sched-q button{font-size:12.5px;padding:5px 10px;border-radius:999px;border:1px solid var(--border,#E3E6EA);background:var(--surface,#fff);color:inherit;cursor:pointer;box-shadow:none;min-height:0;font-weight:500}
.sched-d{display:grid;grid-template-columns:74px 1fr auto;align-items:center;gap:8px;padding:6px 8px;border-radius:12px;border:1px solid var(--border,#E3E6EA);background:var(--surface,#fff)}
.sched-d.on{border-color:#8b7cf6;background:#f3f0ff}
.sched-day{display:flex;align-items:center;gap:8px;font-weight:600;font-size:14px;cursor:pointer;margin:0}.sched-day input{width:18px;height:18px;accent-color:#030D14;margin:0}
.sched-bl{display:flex;flex-wrap:wrap;gap:6px}.sched-off{color:var(--muted,#6B737A);font-size:13px}
.sched-b{display:inline-flex;align-items:center;gap:4px;background:#fff;border:1px solid #E3E6EA;border-radius:10px;padding:2px 4px}
.sched-b input{border:0;background:transparent;font-size:14px;padding:4px 2px;width:auto;min-width:0;color:#030D14;font-family:inherit}.sched-b i{color:#6B737A;font-style:normal}
.sched-x,.sched-add{width:30px;height:30px;padding:0;border-radius:8px;border:0;background:transparent;color:#6B737A;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:none;min-height:0}
.sched-x .i,.sched-add .i{width:15px;height:15px}.sched-add{border:1px dashed #C9CED4}
.sched-n{margin:4px 0 0;font-size:12px;color:var(--muted,#6B737A)}
@media (max-width:520px){.sched-d{grid-template-columns:62px 1fr auto;padding:6px}.sched-b input{font-size:13.5px}}
.pf-ro{display:grid;gap:3px}.pf-rol{font-size:12.5px;font-weight:600;color:var(--muted)}.pf-rov{font-size:14.5px;font-weight:600;color:var(--text);padding:9px 12px;border-radius:10px;background:var(--hover,#f8fafc);border:1px dashed var(--border)}.pf-ron{font-size:12px;color:var(--muted)}
.sched-add[hidden]{display:none!important}
.sched-d{grid-template-columns:74px minmax(0,1fr) auto}
.sched-b input::-webkit-calendar-picker-indicator{opacity:.55;margin-left:2px}
@media (max-width:520px){.sched-d{grid-template-columns:54px minmax(0,1fr) auto;gap:6px}.sched-day{gap:6px;font-size:13.5px}
  .sched-b{padding:2px 2px 2px 4px;gap:2px}.sched-b input{width:76px;font-size:13px;padding:4px 0}.sched-b input::-webkit-calendar-picker-indicator{display:none}
  .sched-x,.sched-add{width:26px;height:26px}}
@media (max-width:400px){#themeBtn{display:none}}   /* 2026-10-05: room for the clock control; dark mode stays in the command palette */
/* ---- schedule approvals + time off (timeoff.js, 2026-10-05) ---- */
.ppill.t-gray{background:var(--neutral-soft,var(--surface-2));color:var(--text-2)}
.to-mode{display:flex;gap:8px;margin:0 0 12px}.to-mode label{flex:1;display:flex;align-items:center;gap:8px;padding:10px 12px;border:1px solid var(--border);border-radius:10px;font-size:14px;font-weight:550;cursor:pointer}
.to-mode label:has(input:checked){border-color:var(--primary);background:var(--primary-soft);color:var(--primary-text)}
.to-2{display:grid;grid-template-columns:1fr 1fr;gap:10px}.to-2[hidden]{display:none}.to-2 .f{min-width:0}.to-2 input{width:100%;min-width:0}
.to-sum{margin:2px 0 0;font-size:13px}
.to-list{display:grid;gap:12px}.to-card{padding:14px 16px}
.to-h{display:flex;align-items:center;gap:10px;margin-bottom:10px}.to-ht{flex:1;min-width:0;display:flex;flex-direction:column}.to-ht b{font-size:15px}.to-ht small{color:var(--muted);font-size:12.5px}
.to-when{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:14.5px}.to-when .i{color:var(--warning-t)}.to-rs{margin:6px 0 0;font-size:13.5px;color:var(--text-2)}
.cv{margin-top:12px;border:1px solid var(--border);border-radius:10px;overflow:hidden}
.cv-h{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:8px 12px;background:var(--surface-2);font-size:13px}.cv-h .muted{font-size:12px}
.cv-flag{margin-left:auto;background:var(--danger-soft);color:var(--danger-t);font-weight:700;font-size:12px;padding:2px 8px;border-radius:999px}.cv-ok{margin-left:auto;background:var(--success-soft);color:var(--success-t);font-weight:650;font-size:12px;padding:2px 8px;border-radius:999px}
.cv-r{display:grid;grid-template-columns:minmax(120px,40%) 1fr;gap:8px;padding:8px 12px;border-top:1px solid var(--border);font-size:13px;align-items:center}
.cv-r.gap{background:color-mix(in srgb,var(--danger-soft) 55%,transparent)}.cv-l{font-weight:550}.cv-p{display:flex;flex-wrap:wrap;gap:6px}
.cv-chip{background:var(--surface-2);border-radius:999px;padding:2px 8px;font-size:12.5px;font-weight:600}.cv-chip small{font-weight:500;color:var(--muted)}.cv-chip.off{text-decoration:line-through;opacity:.7}
.cv-none{color:var(--danger-t);display:inline-flex;align-items:center;gap:5px;font-size:13px}.cv-tag{font-style:normal;font-size:11px;font-weight:700;color:var(--warning-t);background:var(--warning-soft);border-radius:6px;padding:1px 6px;margin-right:6px}
.cv-more{margin:0;padding:6px 12px;font-size:12px}
.sd-n{margin:0 0 8px;font-size:12.5px}.sd-t{width:100%;border-collapse:collapse;font-size:13px}.sd-t th,.sd-t td{padding:6px 8px;border-bottom:1px solid var(--border);text-align:left;vertical-align:top}
.sd-t thead th{font-size:11.5px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-weight:650}.sd-t tbody th{width:44px;color:var(--text-2)}
.sd-t tr.chg{background:color-mix(in srgb,var(--warning-soft) 60%,transparent)}.sd-t td.old{text-decoration:line-through;color:var(--muted)}.sd-t td.new{font-weight:650;color:var(--text)}
.to-acts{display:grid;gap:8px;margin-top:12px}.to-note{width:100%}.to-bt{display:flex;gap:8px;justify-content:flex-end}.to-bt button{min-width:110px}
.to-wait{display:flex;align-items:center;gap:8px;margin-top:12px;font-size:13px;color:var(--text-2)}.to-wait .sec{margin-left:auto}.to-dec{margin-top:10px;font-size:12.5px}
.to-sec{display:grid;gap:12px;margin:0 0 18px}.to-sh{display:flex;align-items:center;gap:10px;font-size:15px}.to-sh .muted{font-size:12.5px}.to-sh a{font-size:13px;display:inline-flex;align-items:center;gap:4px}
.pf-tow{margin-top:12px}.pf-sreq{margin-bottom:10px}.pf-to{border:1px solid var(--border);border-radius:10px;padding:10px 12px}.pf-toh{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.pf-tor{display:flex;align-items:center;gap:8px;padding:6px 0;border-top:1px solid var(--border);margin-top:6px;font-size:13px}.pf-tor span:first-child{flex:1}
.linkb{background:none;border:0;padding:0;color:var(--primary-text);font-weight:600;font-size:12.5px;cursor:pointer;min-height:0}
.tbs-off{color:var(--text-2)}.tbs-off .i{color:var(--warning-t)}.tbs-pend{color:var(--warning-t)}.sch-pend{margin-bottom:10px}
.ob-schn{margin:6px 0 0;font-size:13px;color:#5b45b8;background:#f3f0ff;border-radius:8px;padding:8px 10px}
@media (max-width:520px){.cv-r{grid-template-columns:1fr}.to-bt button{flex:1;min-width:0}.to-card{padding:12px}}
.sd{border:1px solid var(--border);border-radius:10px;overflow:hidden;font-size:13px}.sd-r{display:grid;grid-template-columns:48px 1fr 1fr;gap:8px;padding:7px 10px;border-top:1px solid var(--border);align-items:baseline}
.sd.one .sd-r{grid-template-columns:48px 1fr}.sd-r:first-child{border-top:0}.sd-hd{background:var(--surface-2);font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-weight:650}
.sd-r b{color:var(--text-2);font-weight:650}.sd-r i{font-style:normal;color:var(--muted)}.sd-r.sd-chg{background:color-mix(in srgb,var(--warning-soft) 65%,transparent)}
.sd-r .old{text-decoration:line-through;color:var(--muted)}.sd-r .new{font-weight:700;color:var(--text)}
.to-sec>*,.to-list>*{min-width:0}.to-card{max-width:100%;overflow:hidden}.to-h .ppill{flex-shrink:0}.to-ht small{white-space:normal}

/* ---- mobile QA fixes (2026-10-05): drawer scrolls on iPhone, reachable footer, body lock, keyboard, tap targets ---- */
@media (max-width:860px){
  .sidebar{z-index:60;top:0;bottom:auto;height:100vh;height:100dvh;max-height:100dvh;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;touch-action:pan-y;
    padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom);padding-left:env(safe-area-inset-left);width:min(300px,86vw)}
  .sidebar .sb-scroll{flex:0 0 auto;overflow:visible;min-height:auto}
  .sidebar .sb-foot{flex-shrink:0;padding-bottom:14px}
  .sidebar .sb-head{position:sticky;top:0;z-index:3;background:var(--sb-bg)}
  .sidebar a[data-i]{padding:10px 10px;min-height:42px}
  .sidebar .sb-user .icon-btn,.sb-close{min-width:40px;min-height:40px}
  .scrim{z-index:55;touch-action:none}
  html.nav-lock,html.nav-lock body{overflow:hidden;overscroll-behavior:none}
  html.nav-lock body{position:fixed;left:0;right:0;width:100%}
  .mbox{max-height:88vh;max-height:88dvh;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}
  .linkb{min-height:32px;padding:0 4px}
  /* on-screen keyboard open (mobile.js sets --vvh / kb-open): hide the bottom nav, fit Team Chat above the keyboard */
  html.kb-open .tabbar,html.kb-open #tabbar{display:none!important}
  /* NEVER pin via visualViewport / --tb-pin-bottom / top / transform — those floated the bar mid-screen on iOS */
  #tabbar.tabbar,.tabbar{bottom:0!important;top:auto!important;transform:none!important;filter:none!important;
    backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
  html.kb-open main{padding-bottom:12px}
  html.kb-open .th{height:calc(var(--vvh,100dvh) - var(--tb-h) - 24px);min-height:0}
  html.kb-open .sh-sheet,html.kb-open .toasts{bottom:12px}
}
/* pull to refresh indicator (mobile.js) */
.ptr{position:fixed;left:50%;top:calc(var(--tb-h,56px) + env(safe-area-inset-top));z-index:70;transform:translate(-50%,-60px);opacity:0;display:flex;align-items:center;gap:8px;
  padding:7px 12px 7px 8px;border-radius:999px;background:var(--surface);color:var(--text-2);box-shadow:var(--sh-md);border:1px solid var(--border);font-size:12.5px;font-weight:600;pointer-events:none}
.ptr-c{display:inline-flex;width:28px;height:28px;border-radius:50%;align-items:center;justify-content:center;background:var(--surface-2);color:var(--muted)}
.ptr.ready .ptr-c,.ptr.spin .ptr-c{background:var(--primary);color:#fff}.ptr.spin .ptr-c{animation:ptrspin .8s linear infinite}
@keyframes ptrspin{to{transform:rotate(360deg)}}
/* In-person today: all-zero summary line + per-view empty states (2026-10-05) */
.ip-k0{display:flex;align-items:center;gap:12px;padding:12px 16px;margin:0 0 14px;background:var(--surface);border:1px solid var(--border);border-radius:14px}
.ip-k0>.i{width:20px;height:20px;color:var(--muted)}.ip-k0 span{display:flex;flex-direction:column;gap:2px}.ip-k0 b{font-size:15px}.ip-k0 small{color:var(--muted);font-size:13px}
.ip-nl{display:flex;align-items:center;justify-content:center;gap:8px;margin:4px 0 0;color:var(--text-2);font-size:13px;text-align:center}.ip-nl .i{width:15px;height:15px;color:var(--muted)}
@media (max-width:860px){.ip-vt button{height:40px}}

/* Students & Families on a phone (2026-10-05): stacked rows, no sideways scroll. Top: name + At risk tag (+ open count). Below: role + Family reliability. */
.fam-tbl .fam-sl{display:none}
@media (max-width:600px){
  .tw:has(> .fam-tbl){overflow-x:visible}
  .fam-tbl,.fam-tbl tbody{display:block;width:100%;min-width:0}
  .fam-tbl tr:first-child{display:none}
  .fam-tbl tr.click{display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"n n o" "w s s" "p p p";column-gap:10px;row-gap:6px;align-items:center;padding:10px 12px;border-bottom:1px solid var(--border,#eaecf0)}
  .fam-tbl tr.click td{display:block;padding:0;border:0;min-width:0}
  .fam-tbl td.fam-n{grid-area:n}.fam-tbl td.fam-o{grid-area:o;justify-self:end}.fam-tbl td.fam-w{grid-area:w}.fam-tbl td.fam-s{grid-area:s;justify-self:start;display:flex!important;flex-wrap:wrap;align-items:center;gap:6px}
  .fam-tbl td.fam-o:empty{display:none}
  .fam-tbl .fam-sl{display:inline;font-size:12px;color:var(--muted,#667085)}
  .fam-tbl td.fam-n .who{min-width:0;flex-wrap:wrap}
  .fam-tbl td.fam-n .who > span:last-child{min-width:0;overflow-wrap:anywhere}
  .fam-tbl .ix-rp{display:inline-block;margin-top:3px;white-space:normal}
  .fam-tbl td.fam-p{grid-area:p;font-size:13px;overflow-wrap:anywhere}.fam-tbl td.fam-p br{display:none}.fam-tbl td.fam-p .muted{margin-left:8px}
}
/* Account rows (2026-10-05): the people inside a Parent/Student account, each linking to their own profile */
.fam-tbl td.fam-n .sub a{color:inherit;text-decoration:underline;text-decoration-color:var(--border,#d0d5dd);text-underline-offset:2px}.fam-tbl td.fam-n .sub a:hover{color:var(--primary,#1d4ed8)}

/* compact team-chat summaries (Tamra 2026-10-06) */
.tm-bw .cm{line-height:1.5}.cm b{font-weight:650}
.cm a.cm-lk{font-weight:600;color:var(--primary);text-decoration:none;white-space:nowrap;padding:2px 0}.cm a.cm-lk:hover{text-decoration:underline}
.ho-compact{white-space:normal}
.ho-all summary{cursor:pointer;list-style:none;display:flex;align-items:center;gap:8px}.ho-all summary::-webkit-details-marker{display:none}
.ho-all[open] summary{margin-bottom:8px}.ho-all .list-row{align-items:flex-start;gap:10px}

/* callback-btn 2026-10-07: primary card button label stays on one line, ellipsis instead of mid-word clipping (2-col desktop + mobile) */
.hd-btns>.btn,.hd-btns>.callgrp,.hd-btns .callgrp>a,.hd .btn.hd-p,.hd .hd-pg>a.btn,.hd .btn.hr-prim{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.hd-btns .hd-lbl{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}

/* Avatars never stretch (Tamra 2026-10-08: 'SP' ovals in Related conversations). Beats generic 'x span{flex:1}' rules. */
.av.av{flex:0 0 auto;aspect-ratio:1/1;min-width:0}
/* System status: N/A = a live-only service that does not run on the test site (grey, never counted as a problem) */
.sdot.na{background:#cbd5e1;box-shadow:none}

/* ---- /static/checkin.css?v=7 ---- */
/* Tutor check-in pilot: tutor page (body.tc) + "In-person today" board (.ckb). Look follows /workspace/mockups/tutor-checkin. */
@font-face{font-family:"Inter";font-weight:100 900;font-display:swap;src:url(/static/fonts/inter-latin-wght-normal.woff2) format("woff2")}
body.tc{--bg:#f6f6f8;--surface:#fff;--surface-2:#f4f4f7;--border:#e6e6ec;--text:#14141c;--text-2:#3f3f4c;--muted:#666675;--faint:#9b9baa;
  --primary:#5753d8;--primary-soft:#eeeeff;--success-t:#137a3a;--success-soft:#e7f6ec;--warning-t:#5b45b8;--warning-soft:#f3f0ff;--info-t:#1d4fbf;--info-soft:#e8effd;
  --violet:#7c3aed;--violet-soft:#f1ebfe;--danger-t:#b91c1c;--danger-soft:#fdeceb;--sh-sm:0 1px 2px rgba(20,20,40,.04),0 2px 6px rgba(20,20,40,.04);
  margin:0;background:var(--bg);color:var(--text);font:15px/1.45 Inter,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;-webkit-font-smoothing:antialiased;font-feature-settings:"cv11","ss01"}
.tc *{box-sizing:border-box}
.tc-page{max-width:460px;margin:0 auto;padding:14px 16px calc(28px + env(safe-area-inset-bottom))}
.tc-brand{display:flex;align-items:center;gap:9px;padding:6px 2px 16px;font-weight:650;font-size:15px}
.tc-logo{width:28px;height:28px;border-radius:8px;background:linear-gradient(135deg,#5753d8,#7c3aed);display:flex;align-items:center;justify-content:center;color:#fff;font-size:14px;font-weight:750;box-shadow:0 2px 6px rgba(87,83,216,.35)}
.tc-tag{margin-left:auto;height:22px;display:inline-flex;align-items:center;padding:0 9px;border-radius:999px;font-size:11px;font-weight:600;background:var(--surface-2);color:var(--muted);border:1px solid var(--border)}
.tc-hi{font-size:23px;font-weight:700;letter-spacing:-.02em;margin:0 2px 2px}
.tc-sub{color:var(--muted);margin:0 2px 14px;font-size:14.5px}.tc-sub b{color:var(--text)}
.tc-card{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:16px;box-shadow:var(--sh-sm)}
.tc-row{display:flex;align-items:center;gap:10px}
.tc-av{width:40px;height:40px;border-radius:50%;background:#e8489a;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:650;font-size:14px;flex:none}
.tc-name{font-weight:640;font-size:16px}.tc-muted{color:var(--muted)}.tc-sm{font-size:12.5px}
.tc-chip{margin-left:auto;display:inline-flex;align-items:center;height:24px;padding:0 10px;border-radius:999px;font-size:12px;font-weight:600;background:var(--violet-soft);color:var(--violet)}
.tc-kv{display:flex;align-items:center;gap:9px;font-size:14px;color:var(--text-2);margin-top:10px}.tc-kv svg{color:var(--faint);flex:none}
.tc-btn{font:inherit;width:100%;display:flex;align-items:center;justify-content:center;gap:9px;border-radius:14px;border:1px solid transparent;font-weight:650;cursor:pointer;
  height:60px;font-size:17.5px;margin-top:12px;-webkit-tap-highlight-color:transparent;transition:transform .08s}
.tc-btn:active{transform:scale(.985)}.tc-btn:disabled{opacity:.5}
.tc-primary{background:var(--primary);color:#fff;box-shadow:0 8px 20px -6px rgba(87,83,216,.6)}
.tc-amber{background:var(--warning-soft);color:var(--warning-t);border-color:#e4ddff}
.tc-amber-solid{background:#8b7cf6;color:#fff}
.tc-green{background:var(--surface);color:var(--success-t);border-color:#bfe5cc;box-shadow:0 1px 2px rgba(20,20,40,.05)}
.tc-sm-btn{height:50px;font-size:16px;margin-top:10px}
.tc-panel{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:14px;margin-top:8px;box-shadow:var(--sh-sm)}
.tc-ph{font-weight:620;font-size:14.5px;margin-bottom:10px}
.tc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.tc-pick{font:inherit;height:48px;border-radius:12px;font-weight:650;font-size:16px;border:1px solid;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:6px}
.tc-blue{background:var(--info-soft);color:var(--info-t);border-color:#cddcfb}.tc-amb{background:var(--warning-soft);color:var(--warning-t);border-color:#e4ddff}
.tc-pick.on{outline:3px solid currentColor;outline-offset:-3px}
.tc-time input{font:inherit;font-size:14px;border:0;background:transparent;color:inherit;width:84px;font-weight:600}
.tc textarea{font:inherit;font-size:15px;width:100%;margin-top:10px;border:1px solid var(--border);border-radius:12px;padding:10px 12px;resize:vertical;background:#fff}
.tc-status{border-radius:16px;padding:14px 16px;margin-top:12px;font-weight:600;display:flex;gap:11px;align-items:center;font-size:15.5px}
.tc [hidden]{display:none!important}
.tc-status small{display:block;font-weight:500;font-size:13px;opacity:.85;margin-top:2px}
.tc-status svg{flex:none}
.tc-status.s-on_way{background:var(--info-soft);color:var(--info-t);border:1px solid #cddcfb}
.tc-status.s-late{background:var(--warning-soft);color:var(--warning-t);border:1px solid #e4ddff}
.tc-status.s-arrived{background:var(--success-soft);color:var(--success-t);border:1px solid #bfe5cc}
.tc-status.s-err{background:var(--danger-soft);color:var(--danger-t)}
.tc-foot{display:flex;gap:8px;margin:16px 4px 0;font-size:12.5px;color:var(--muted);line-height:1.45;align-items:flex-start}.tc-foot svg{color:var(--faint);flex:none;margin-top:2px}
.tc-done .tc-btn:not(.tc-keep){display:none}

/* ---------- "In-person today" board (manager app) ---------- */
.ckb-sum{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 14px}
.ckb-sum span{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 12px;border-radius:999px;font-weight:600;font-size:13px;background:var(--surface);border:1px solid var(--border)}
.ckb-sum span b{font-size:15px}
.ckb-list{display:flex;flex-direction:column;gap:10px}
.ckb-row{display:grid;grid-template-columns:92px 1fr auto;gap:14px;align-items:center;background:var(--surface);border:1px solid var(--border);border-left:4px solid var(--border-strong);
  border-radius:14px;padding:12px 14px;box-shadow:var(--sh-sm);cursor:pointer;transition:box-shadow .15s}
.ckb-row:hover{box-shadow:var(--sh-md)}
.ckb-row.t-blue{border-left-color:var(--info)}.ckb-row.t-amber{border-left-color:var(--warning)}.ckb-row.t-green{border-left-color:var(--success)}.ckb-row.t-red{border-left-color:var(--danger)}
.ckb-time b{display:block;font-size:17px;font-weight:700;letter-spacing:-.01em}.ckb-time small{color:var(--muted);font-size:12px}
.ckb-who{min-width:0}.ckb-who b{font-size:15px}.ckb-who .ar{color:var(--faint);margin:0 4px}
.ckb-who .sub{color:var(--muted);font-size:12.5px;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ckb-nonum{display:inline-flex;align-items:center;height:20px;padding:0 7px;border-radius:6px;background:var(--danger-soft);color:var(--danger-t);font-size:11.5px;font-weight:650;margin-left:6px;vertical-align:1px}
.ckb-test{display:inline-flex;align-items:center;height:20px;padding:0 7px;border-radius:6px;background:var(--neutral-soft);color:var(--muted);font-size:11px;font-weight:650;margin-left:6px;vertical-align:1px}
.ckb-st{text-align:right}
.ckb-chip{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 12px;border-radius:999px;font-weight:650;font-size:13.5px;white-space:nowrap}
.ckb-chip:before{content:"";width:8px;height:8px;border-radius:50%;background:currentColor}
.ckb-chip.gray{background:var(--neutral-soft);color:var(--muted)}.ckb-chip.blue{background:var(--info-soft);color:var(--info-t)}
.ckb-chip.amber{background:var(--warning-soft);color:var(--warning-t)}.ckb-chip.green{background:var(--success-soft);color:var(--success-t)}
.ckb-chip.red{background:var(--danger-soft);color:var(--danger-t)}.ckb-chip.red:before{animation:blink 1.6s infinite}
.ckb-eta{font-size:13px;font-weight:600;margin-top:4px;color:var(--text-2);white-space:nowrap}.ckb-eta.late{color:var(--danger-t)}
.ckb-foot{color:var(--muted);font-size:12.5px;margin-top:12px;display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.ckb-live{display:inline-flex;align-items:center;gap:6px}.ckb-live:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--success);animation:blink 2s infinite}
.ckb-x{display:none;grid-column:1/-1;border-top:1px dashed var(--border);padding-top:10px;margin-top:2px}
.ckb-row.open .ckb-x{display:block}
.ckb-x .row{gap:6px;flex-wrap:wrap}
@media (max-width:640px){
  .ckb-row{grid-template-columns:72px 1fr;gap:4px 10px;padding:12px}
  .ckb-time b{font-size:15px;white-space:nowrap}
  .ckb-sum span{height:28px;padding:0 10px;font-size:12.5px}
  .ckb-st{grid-column:2;text-align:left;display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:4px}
  .ckb-eta{margin-top:0}
  .ckb-chip{height:28px;font-size:13px}
}

/* ===== In-person today (Tamra's design, 2026-10-04) ===== */
.ip-vt{display:inline-flex;background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:3px;gap:2px}
.ip-vt button{background:transparent;color:var(--text-2);border:0;height:32px;padding:0 12px;border-radius:8px;font-weight:600;font-size:13px;display:inline-flex;align-items:center;gap:6px;box-shadow:none}
.ip-vt button .i{width:15px;height:15px}
.ip-vt button.on{background:var(--info);color:#fff}
.ip-kpis{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));background:var(--surface);border:1px solid var(--border);border-radius:14px;box-shadow:var(--sh-sm);margin-bottom:12px}
.ip-kpi{display:flex;gap:10px;align-items:center;padding:14px;border-right:1px solid var(--border);min-width:0}
.ip-kpi:last-child{border-right:0}
.ip-kpi>span:last-child{display:flex;flex-direction:column;min-width:0}
.ip-kpi b{font-size:24px;line-height:1.1;font-weight:700;letter-spacing:-.02em}
.ip-kt{font-weight:650;font-size:13px}.ip-kt.t-green{color:var(--success-t)}.ip-kt.t-amber{color:var(--warning-t)}.ip-kt.t-red{color:var(--danger-t)}
.ip-kpi small{color:var(--muted);font-size:11.5px;line-height:1.3}
.ip-kic{width:38px;height:38px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}
.ip-kic .i{width:19px;height:19px}
.ip-info{display:flex;gap:10px;align-items:center;background:#f3f0ff;border:1px solid #c4b8f5;color:#5c4a06;border-radius:12px;padding:10px 14px;margin-bottom:12px;font-size:13.5px}
.ip-info .i{color:#5b45b8;width:20px;height:20px;flex-shrink:0}
[data-theme=dark] .ip-info{background:rgba(139,124,246,.12);border-color:rgba(139,124,246,.3);color:#c4b8f5}
.ip-list{display:flex;flex-direction:column;gap:12px}
.ip-card{display:grid;grid-template-columns:170px minmax(0,1fr) minmax(250px,300px) 210px;grid-template-areas:'l m p r';gap:16px;background:var(--surface);border:1px solid var(--border);border-left:5px solid var(--border-strong);border-radius:14px;padding:16px;box-shadow:var(--sh-sm)}
.ip-card.t-red{border-left-color:var(--danger);background:linear-gradient(90deg,var(--danger-soft),var(--surface) 55%)}
.ip-card.t-amber{border-left-color:var(--warning)}.ip-card.t-blue{border-left-color:var(--info)}.ip-card.t-green{border-left-color:var(--success)}
.ip-l{grid-area:l;display:flex;flex-direction:column;gap:4px;border-right:1px solid var(--border);padding-right:14px}
.ip-st{display:inline-flex;align-items:center;gap:6px;align-self:flex-start;height:28px;padding:0 12px;border-radius:999px;font-weight:700;font-size:13px}
.ip-st .i{width:15px;height:15px}
.ip-sts{color:var(--muted);font-size:12px}
.ip-time{margin-top:10px;color:var(--muted);font-size:13px;font-weight:600}.ip-time b{font-size:26px;color:var(--text);letter-spacing:-.02em;font-weight:750}
.ip-cd{font-size:13.5px;font-weight:650;color:var(--text-2)}.ip-cd.t-red{color:var(--danger-t)}
.ip-bar{height:6px;border-radius:9px;background:var(--surface-3);overflow:hidden;margin-top:6px}.ip-bar i{display:block;height:100%;background:var(--success);border-radius:9px}
.ip-m{grid-area:m;min-width:0;display:flex;flex-direction:column;gap:10px}
.ip-who{display:flex;gap:12px;align-items:center}
.ip-names{font-size:16px}.ip-names .ar{color:var(--faint);margin:0 6px}
.ip-ppl{color:var(--muted);font-size:12.5px;margin-top:2px}.ip-dot{margin:0 4px;color:var(--faint)}.ip-miss{color:var(--danger-t);font-weight:600}
.ip-meta{display:flex;flex-wrap:wrap;gap:6px 16px;color:var(--text-2);font-size:13px}.ip-meta span{display:inline-flex;align-items:center;gap:5px}.ip-meta .i{width:14px;height:14px;color:var(--muted)}
.ip-steps{display:flex;flex-wrap:wrap;gap:8px}
.ip-step{display:flex;gap:8px;align-items:center;border:1px solid var(--border);background:var(--surface);border-radius:10px;padding:7px 10px;min-width:130px}
.ip-step .i{width:18px;height:18px;flex-shrink:0}
.ip-step span{display:flex;flex-direction:column;line-height:1.25}.ip-step b{font-size:12.5px}.ip-step small{font-size:11.5px;color:var(--muted)}
.ip-step em{font-style:normal;font-weight:700;font-size:10.5px;padding:1px 6px;border-radius:6px;background:var(--surface-3);color:var(--text-2);margin-left:2px}
.ip-step.s-ok .i{color:var(--success)}.ip-step.s-warn .i{color:var(--warning)}.ip-step.s-warn em{background:var(--warning-soft);color:var(--warning-t)}
.ip-step.s-bad{border-color:color-mix(in srgb,var(--danger) 35%,transparent);background:var(--danger-soft)}.ip-step.s-bad .i,.ip-step.s-bad b{color:var(--danger-t)}
.ip-step.s-todo{border-style:dashed}.ip-step.s-todo .i,.ip-step.s-info .i{color:var(--faint)}.ip-step.s-live .i{color:var(--info)}
.ip-note{font-size:12.5px;color:var(--text-2);font-style:italic}
.ip-plan{grid-area:p;border-radius:12px;padding:12px 14px;background:var(--surface-2);border:1px solid var(--border);font-size:13px;align-self:start}
.ip-plan.p-at_risk{background:var(--danger-soft);border-color:transparent}.ip-plan.p-delayed{background:var(--warning-soft);border-color:transparent}
.ip-plan.p-on_way{background:var(--info-soft);border-color:transparent}.ip-plan.p-arrived{background:var(--success-soft);border-color:transparent}
.ip-plh{display:flex;align-items:center;gap:8px;margin-bottom:6px}.ip-plh .i{color:var(--violet-t,#6d28d9)}
.ip-plan ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:5px}
.ip-plan li{display:flex;gap:7px;align-items:flex-start;color:var(--text-2);line-height:1.35}.ip-plan li .i{width:15px;height:15px;flex-shrink:0;margin-top:1px;color:var(--faint)}
.ip-plan li.pi-done .i{color:var(--success)}.ip-plan li.pi-bad .i,.ip-plan li.pi-bad{color:var(--danger-t)}
.ip-next{margin-top:8px;color:var(--muted);font-size:12px}
.ip-bk{margin-top:10px;background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:8px 10px}
.ip-bkh{display:flex;gap:8px;align-items:center}.ip-bkh>span:nth-child(2){display:flex;flex-direction:column;flex:1;line-height:1.25}.ip-bkh small{color:var(--muted);font-size:11.5px}
.ip-bkt{display:flex;gap:8px;align-items:center;margin-top:8px}.ip-bkt>span:not(.av){flex:1;display:flex;flex-direction:column;min-width:0;line-height:1.25}.ip-bkt small{color:var(--muted);font-size:11.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ip-pill{display:inline-flex;align-items:center;height:24px;padding:0 10px;border-radius:999px;font-size:12px;font-weight:650;white-space:nowrap}
.ip-pill.red{background:var(--danger-soft);color:var(--danger-t)}.ip-pill.amber{background:var(--warning-soft);color:var(--warning-t)}.ip-pill.green{background:var(--success-soft);color:var(--success-t)}
.ip-pill.blue{background:var(--info-soft);color:var(--info-t)}.ip-pill.gray{background:var(--surface-3);color:var(--text-2)}
.ip-r{grid-area:r;display:flex;flex-direction:column;gap:10px;position:relative}
.ip-hh{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:12.5px;color:var(--muted)}
.ip-acts{display:flex;flex-direction:column;gap:8px}
.ip-acts>.btn,.ip-acts>button,.ip-acts>.callgrp{width:100%;justify-content:center}
.ip-acts>.callgrp{display:flex}.ip-acts>.callgrp>a{flex:1;justify-content:center}
.ip-prim{background:var(--info)!important;color:#fff!important;border-color:var(--info)!important}
.ip-arow{display:flex;gap:6px;flex-wrap:wrap}.ip-arow>.btn,.ip-arow>.callgrp{flex:1}.ip-arow .ip-dots{flex:0 0 auto}
.ip-more{position:absolute;right:0;top:100%;margin-top:4px;z-index:30;background:var(--surface);border:1px solid var(--border);border-radius:12px;box-shadow:var(--sh-lg,0 10px 30px rgba(0,0,0,.15));padding:6px;min-width:220px;display:flex;flex-direction:column}
.ip-more[hidden]{display:none}
.ip-more a,.ip-more button{display:flex;gap:8px;align-items:center;background:transparent;border:0;box-shadow:none;color:var(--text);font-weight:500;font-size:13px;height:34px;padding:0 10px;border-radius:8px;text-decoration:none;justify-content:flex-start}
.ip-more a:hover,.ip-more button:hover{background:var(--surface-2)}
.ip-msep{font-size:11px;color:var(--muted);padding:6px 10px 2px;border-top:1px solid var(--border);margin-top:4px}
.ip-bottom{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:12px;margin-top:14px}
.ip-bottom .card{margin:0}
.ip-bh{display:flex;gap:8px;align-items:center;margin-bottom:10px}
.ip-locg{display:flex;flex-wrap:wrap;gap:8px}
.ip-loc{display:flex;gap:8px;align-items:center;border:1px solid var(--border);border-radius:10px;padding:8px 12px;min-width:180px}
.ip-loc .i{color:var(--success)}.ip-loc>span{display:flex;flex-direction:column;line-height:1.3}.ip-loc small{font-size:11.5px;color:var(--muted)}
.ip-loc i.r{font-style:normal;color:var(--danger-t)}.ip-loc i.a{font-style:normal;color:var(--warning-t)}.ip-loc i.g{font-style:normal;color:var(--success-t)}.ip-loc i.b{font-style:normal;color:var(--info-t)}
.ip-mon{display:flex;gap:12px;align-items:center}.ip-monb{flex:1;display:flex;flex-direction:column;gap:3px}.ip-monb small{color:var(--muted);font-size:12.5px}
.ip-tl,.ip-places{padding:14px}
.ip-tlr{display:flex;gap:12px;align-items:center;padding:10px 6px;border-bottom:1px solid var(--border);color:var(--text);text-decoration:none}
.ip-tlr:last-child{border-bottom:0}.ip-tlr:hover{background:var(--surface-2)}
.ip-tlt{width:72px;flex-shrink:0}
.ip-tld{width:10px;height:10px;border-radius:50%;flex-shrink:0;background:var(--faint)}
.ip-tld.d-red{background:var(--danger)}.ip-tld.d-amber{background:var(--warning)}.ip-tld.d-blue{background:var(--info)}.ip-tld.d-green{background:var(--success)}
.ip-tlb{flex:1;display:flex;flex-direction:column;min-width:0}.ip-tlb small{color:var(--muted);font-size:12px}
.ip-city{margin-bottom:12px}.ip-cityh{display:flex;gap:8px;align-items:center;padding:4px 6px;border-bottom:2px solid var(--border)}
@media (max-width:1560px){.ip-card{grid-template-columns:160px minmax(0,1fr) 200px;grid-template-areas:'l m r' 'l p r'}.ip-plan{align-self:stretch}}
@media (max-width:1100px){.ip-kpis{grid-template-columns:repeat(3,1fr)}.ip-kpi:nth-child(3){border-right:0}.ip-kpi:nth-child(-n+3){border-bottom:1px solid var(--border)}}
@media (max-width:760px){
  .ip-card{grid-template-columns:1fr;grid-template-areas:'l' 'm' 'p' 'r';gap:12px;padding:14px}
  .ip-l{border-right:0;padding-right:0;border-bottom:1px solid var(--border);padding-bottom:10px}
  .ip-kpis{grid-template-columns:repeat(2,1fr)}.ip-kpi{border-right:0!important;border-bottom:1px solid var(--border)}.ip-kpi:nth-child(odd){border-right:1px solid var(--border)!important}
  .ip-kpi:nth-last-child(-n+2){border-bottom:0}
  .ip-bottom{grid-template-columns:1fr}.ip-mon{flex-wrap:wrap}.ip-mon .btn{width:100%;justify-content:center}
  .ip-step{flex:1 1 calc(50% - 8px);min-width:0}
  .ph .toolbar{width:100%}.ip-vt{width:100%}.ip-vt button{flex:1;justify-content:center}
  .ip-more{left:0;right:0}
}
/* ===== Dispatch center (Tamra 2026-10-04 ~19:15 MYT; backups/checkin.css.pre-dispatch) ===== */
.dc-k5{grid-template-columns:repeat(5,minmax(0,1fr));margin-bottom:8px}
.dc-ops{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:9px 14px;margin-bottom:12px;font-size:13.5px;color:var(--text-2);box-shadow:var(--sh-sm)}
.dc-op{display:inline-flex;align-items:center;gap:5px;white-space:nowrap}.dc-op i{font-style:normal}.dc-op b{font-weight:750;color:var(--text)}
.dc-op.o-red b,.dc-op.o-red{color:var(--danger-t)}.dc-op.o-amber b{color:var(--warning-t)}.dc-op.o-green b{color:var(--success-t)}.dc-sep{color:var(--faint)}
.dc-card{grid-template-areas:'h h h h' 'l m p r';cursor:pointer;row-gap:12px}
.dc-card.t-red{background:var(--surface)}
.dc-hd{grid-area:h;display:flex;align-items:center;justify-content:space-between;gap:10px;margin:-16px -16px 0;padding:9px 16px;border-radius:9px 13px 0 0;border-bottom:1px solid var(--border);font-size:13.5px;flex-wrap:wrap}
.dc-hd.h-red{background:var(--danger-soft);color:var(--danger-t)}.dc-hd.h-amber{background:var(--warning-soft);color:var(--warning-t)}.dc-hd.h-blue{background:var(--info-soft);color:var(--info-t)}
.dc-hd.h-green{background:var(--success-soft);color:var(--success-t)}.dc-hd.h-gray{background:var(--surface-2);color:var(--text-2)}
.dc-ht b{letter-spacing:.04em;font-weight:800}.dc-ht span{font-weight:650}.dc-ht small{font-weight:500;opacity:.8;font-size:12.5px}
.dc-hr{display:inline-flex;align-items:center;gap:8px}.dc-hl{font-size:11.5px;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-weight:650}
.dc-chev .i{width:16px;height:16px;color:var(--muted)}
.dc-st{display:grid;grid-template-columns:1fr;gap:1px;margin:10px 0 0;font-size:12.5px}.dc-st dt{color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.04em;font-weight:650;margin-top:6px}
.dc-st dd{margin:0;font-weight:650;color:var(--text)}.dc-st dd.t-red{color:var(--danger-t)}.dc-st dd.t-amber{color:var(--warning-t)}
.dc-place{display:flex;align-items:center;gap:5px;color:var(--text-2);font-size:13px;margin-top:2px}.dc-place .i{width:14px;height:14px;color:var(--muted)}
.dc-lines{display:flex;flex-wrap:wrap;gap:6px}.dc-lines span{background:var(--surface-2);border:1px solid var(--border);border-radius:8px;padding:3px 9px;font-size:12.5px;font-weight:600;color:var(--text-2)}
.dc-lines span.ok{background:var(--success-soft);border-color:transparent;color:var(--success-t)}.dc-lines span.warn{background:var(--warning-soft);border-color:transparent;color:var(--warning-t)}
.dc-ckh{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-weight:650;margin-bottom:-4px}
.dc-cks{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}
.dc-ck{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text-2)}.dc-ck .i{width:16px;height:16px;flex-shrink:0;color:var(--faint)}.dc-ck b{min-width:62px;font-size:12.5px;color:var(--text)}
.dc-ck em{font-style:normal;font-weight:700;font-size:10.5px;padding:1px 6px;border-radius:6px;background:var(--surface-3);color:var(--text-2)}
.dc-ck.s-ok .i{color:var(--success)}.dc-ck.s-warn .i{color:var(--warning)}.dc-ck.s-warn em{background:var(--warning-soft);color:var(--warning-t)}
.dc-ck.s-bad,.dc-ck.s-bad b{color:var(--danger-t);font-weight:650}.dc-ck.s-bad .i{color:var(--danger)}.dc-ck.s-live .i{color:var(--info)}
.dc-plan li{align-items:flex-start}.dc-pt{min-width:58px;font-size:12px;color:var(--text);flex-shrink:0}
.ip-plan li.pi-now{color:var(--danger-t);font-weight:600}.ip-plan li.pi-now .i{color:var(--danger)}
.dc-who{font-style:normal;font-size:10.5px;font-weight:700;padding:1px 6px;border-radius:6px;margin-left:3px;white-space:nowrap}
.dc-who.w-manager{background:#e9e7ff;color:#4338ca}.dc-who.w-approval{background:var(--warning-soft);color:var(--warning-t)}
.dc-next{display:flex;align-items:center;gap:5px;font-weight:650;color:var(--text-2)}.dc-next .i{width:14px;height:14px}
.dc-more{display:block;color:var(--muted);font-size:11.5px;margin-top:4px}
.dc-bk .ip-bkt>span small.dc-nc{color:var(--warning-t);font-weight:600}
.dc-bkn{font-size:12px;color:var(--text-2);margin-top:6px}
.dc-fine{display:block;color:var(--muted);font-size:11px;margin-top:8px;line-height:1.35}
.dc-need{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:2px 8px;border:1px solid var(--border);border-radius:10px;padding:8px 10px;font-size:12.5px;color:var(--muted)}
.dc-need b{color:var(--success-t);font-size:13px}.dc-need small{flex-basis:100%;color:var(--text-2);font-size:12px}
.dc-need.yes{background:var(--danger-soft);border-color:transparent}.dc-need.yes b{color:var(--danger-t)}
.dc-dots{justify-content:flex-end}
.dc-owner{display:flex;align-items:center;gap:6px;font-size:12.5px;color:var(--text-2);justify-content:center}
.dc-tln{color:var(--text-2)!important;font-weight:600}.dc-tlh{font-size:12px;font-weight:700;color:var(--text-2);white-space:nowrap}
.dc-mapnote{margin:0 0 12px}
.dc-map{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:12px}
.dc-metro{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:12px;box-shadow:var(--sh-sm);
  background-image:linear-gradient(var(--surface-2) 1px,transparent 1px),linear-gradient(90deg,var(--surface-2) 1px,transparent 1px);background-size:28px 28px}
.dc-mh{display:flex;align-items:center;gap:8px;margin-bottom:10px;background:var(--surface);padding:2px 4px;border-radius:8px}.dc-mh .muted{margin-left:auto;font-size:12.5px}
.dc-towns{display:flex;flex-direction:column;gap:10px}
.dc-town{background:var(--surface);border:1px solid var(--border);border-left:4px solid var(--faint);border-radius:12px;padding:10px 12px}
.dc-town.p-red{border-left-color:var(--danger)}.dc-town.p-amber{border-left-color:var(--warning)}.dc-town.p-blue{border-left-color:var(--info)}.dc-town.p-green{border-left-color:var(--success)}
.dc-th{display:flex;gap:10px;align-items:center}.dc-th>span:last-child{display:flex;flex-direction:column;line-height:1.3}.dc-th b{font-size:15px}
.dc-th small{font-size:12.5px;color:var(--muted)}.dc-th small i{font-style:normal}.dc-th i.r{color:var(--danger-t);font-weight:650}.dc-th i.a{color:var(--warning-t);font-weight:650}.dc-th i.g{color:var(--success-t)}.dc-th i.b{color:var(--info-t)}
.dc-pin{width:30px;height:30px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:var(--surface-3);color:var(--text-2);flex-shrink:0}
.dc-pin .i{width:16px;height:16px}.p-red .dc-pin{background:var(--danger-soft);color:var(--danger-t)}.p-amber .dc-pin{background:var(--warning-soft);color:var(--warning-t)}
.p-blue .dc-pin{background:var(--info-soft);color:var(--info-t)}.p-green .dc-pin{background:var(--success-soft);color:var(--success-t)}
.dc-ts{display:flex;align-items:center;gap:10px;padding:8px 2px 2px;margin-top:6px;border-top:1px solid var(--border);color:var(--text);text-decoration:none;font-size:13px}
.dc-ts>b{width:66px;flex-shrink:0}.dc-ts>span:nth-child(2){flex:1;display:flex;flex-direction:column;min-width:0}.dc-ts small{color:var(--muted);font-size:11.5px}
@media (max-width:1560px){.dc-card{grid-template-areas:'h h h' 'l m r' 'l p r'}}
@media (max-width:1100px){.dc-k5{grid-template-columns:repeat(5,minmax(0,1fr))}.dc-k5 .ip-kpi{border-bottom:0!important;border-right:1px solid var(--border)!important;flex-direction:column;align-items:flex-start;gap:6px;padding:12px}.dc-k5 .ip-kpi:last-child{border-right:0!important}}
@media (max-width:760px){
  .dc-card{grid-template-columns:minmax(0,1fr);grid-template-areas:'h' 'l' 'm' 'p' 'r'}.dc-card>*{min-width:0}.dc-ck b{min-width:56px}
  .dc-hd{margin:-14px -14px 0;padding:9px 14px}
  .dc-k5{grid-template-columns:repeat(5,minmax(0,1fr))}.dc-k5 .ip-kpi{padding:9px 6px;align-items:center;text-align:center}.dc-k5 .ip-kic{display:none}
  .dc-k5 .ip-kpi b{font-size:20px}.dc-k5 .ip-kt{font-size:11px;line-height:1.2}.dc-k5 .ip-kpi small{display:none}
  .dc-ops{font-size:12.5px;gap:4px 8px;padding:8px 10px}.dc-sep{display:none}
  .dc-st{grid-template-columns:auto 1fr;column-gap:12px;align-items:baseline}.dc-st dt{margin-top:2px}
  .dc-map{grid-template-columns:1fr}
}
.ip-bottom.solo{grid-template-columns:1fr}
.dc-bk .ip-bkt small{white-space:normal}
/* one-time location share (geoshare, 2026-10-04) */
.tc-consent{display:flex;gap:8px;align-items:flex-start;margin:4px 4px 0;font-size:13px;line-height:1.45;color:var(--muted)}.tc-consent svg{flex:none;margin-top:2px;color:var(--faint)}
.tc-done .tc-consent{display:none}
.dc-geo{display:flex;gap:6px;align-items:flex-start;margin:6px 0 2px;font-size:12.5px;line-height:1.4;font-weight:600;padding:5px 8px;border-radius:8px;background:rgba(127,127,140,.10);color:var(--muted)}
.dc-geo svg{flex:none;width:14px;height:14px;margin-top:1px}
.dc-geo.g-ok{background:rgba(23,160,80,.12);color:#16a34a}.dc-geo.g-bad{background:rgba(220,38,38,.12);color:#dc2626}.dc-geo.g-warn{background:rgba(139,124,246,.13);color:#5b45b8}.dc-geo.g-info{background:rgba(37,99,235,.11);color:#2563eb}
.dc-geod{margin:4px 0 0;padding:0;list-style:none;font-size:11.5px;color:var(--muted,#666)}.dc-geod li{margin:1px 0}
.ip-more a.dc-map-a{white-space:normal}

/* ---- /static/login.css?v=2 ---- */
/* iTutor Command Center: sign-in page (scoped to #login). Target design from Tamra 2026-10-05.
   Brand matched to intellatutor.com: Poppins (headings/buttons) + Questrial (body) + Caveat (handwritten line),
   yellow #8b7cf6, ink #030D14, blue #2B95DF, soft grey #F7F7F7, gold #5b45b8, collage pastels pink #F1AAC8 / sky #75B2CE / butter #c4b8f5. */
@font-face{font-family:"Poppins";font-style:normal;font-weight:300;font-display:swap;src:url(/static/fonts/poppins-latin-300-normal.woff2) format("woff2")}
@font-face{font-family:"Poppins";font-style:normal;font-weight:400;font-display:swap;src:url(/static/fonts/poppins-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"Poppins";font-style:normal;font-weight:600;font-display:swap;src:url(/static/fonts/poppins-latin-600-normal.woff2) format("woff2")}
@font-face{font-family:"Questrial";font-style:normal;font-weight:400;font-display:swap;src:url(/static/fonts/questrial-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"Caveat";font-style:normal;font-weight:400 700;font-display:swap;src:url(/static/fonts/caveat-latin-wght-normal.woff2) format("woff2")}

#login.lg{--it-yellow:#8b7cf6;--it-yellow-h:#8b7cf6;--it-ink:#030D14;--it-ink-2:#3A434B;--it-muted:#6B737A;--it-faint:#9AA1A7;--it-blue:#2B95DF;
  --it-grey:#F7F7F7;--it-line:#DDE1E6;--it-gold:#5b45b8;--it-pink:#F1AAC8;--it-sky:#75B2CE;--it-butter:#c4b8f5;
  --lg-head:"Poppins",system-ui,-apple-system,"Segoe UI",sans-serif;--lg-body:"Questrial","Poppins",system-ui,sans-serif;--lg-hand:"Caveat","Segoe Print","Bradley Hand",cursive;
  position:relative;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;min-height:100vh;min-height:100dvh;padding:0;
  background:#fff;color:var(--it-ink);font-family:var(--lg-body);color-scheme:light;overflow-x:hidden;isolation:isolate}
#login.lg.hidden{display:none!important}
#login svg{flex-shrink:0}

/* top bar */
.lg-strip{position:relative;z-index:2;background:var(--it-yellow);color:var(--it-ink);height:40px;display:flex;align-items:center;justify-content:flex-end;padding:0 64px}
.lg-strip-t{display:inline-flex;align-items:center;gap:9px;font:400 14px/1 var(--lg-head)}
.lg-strip-t svg{width:16px;height:16px;stroke-width:2.4}

/* soft pastel wash behind the right side + bottom waves */
.lg-bg{position:absolute;inset:40px 0 0 0;z-index:-1;pointer-events:none;
  background:
   radial-gradient(520px 420px at 62% 16%,rgba(117,178,206,.16),transparent 70%),
   radial-gradient(460px 380px at 90% 40%,rgba(241,170,200,.16),transparent 70%),
   radial-gradient(640px 360px at 82% 100%,rgba(196,184,245,.26),transparent 70%),
   radial-gradient(700px 300px at 8% 104%,rgba(117,178,206,.20),transparent 70%),
   linear-gradient(90deg,#fff 0 30%,#FBFCFE 60%,#FDFBF6)}

.lg-wrap{flex:1;width:100%;max-width:1440px;margin:0 auto;padding:26px 64px 24px 72px;display:grid;
  grid-template-columns:440px minmax(0,1fr);column-gap:56px;align-items:start}

/* left */
.lg-logo img{display:block;width:176px;height:auto}
.lg-copy{margin:24px 0 20px}
.lg-copy h1{font:400 48px/1.08 var(--lg-head);letter-spacing:-.02em;margin:0;color:var(--it-ink)}
.lg-copy h1 b{font-weight:600;display:inline-block;position:relative;white-space:nowrap}
.lg-copy h1 b svg{position:absolute;left:-1%;bottom:-13px;width:96%;height:13px;overflow:visible}
.lg-tag{font:400 21px/1.4 var(--lg-body);color:var(--it-ink-2);margin:22px 0 0;letter-spacing:.005em}

#login .lg-card{max-width:none;width:100%;background:#fff;border:1px solid #E7EAEE;border-radius:20px;padding:26px 30px 24px;
  box-shadow:0 1px 2px rgba(3,13,20,.04),0 20px 50px -22px rgba(3,13,20,.20);display:flex;flex-direction:column;animation:pop .4s var(--ease)}
#login .lg-card h2{font:600 22px/1.25 var(--lg-head);margin:0 0 4px;color:var(--it-ink)}
#login .lg-card .auth-sub{text-align:left;font:400 14.5px/1.4 var(--lg-body);color:var(--it-muted);margin:0 0 20px}
#login label.f{font:400 14px/1.2 var(--lg-head);color:var(--it-ink);gap:8px;margin-bottom:16px}
.lg-in{position:relative;display:block}
.lg-in .lg-ic{position:absolute;left:15px;top:50%;width:18px;height:18px;transform:translateY(-50%);color:#6B737A;pointer-events:none}
#login .lg-in input{width:100%;font:400 15px/1.3 var(--lg-body);color:var(--it-ink);background:#fff;border:1px solid var(--it-line);border-radius:10px;
  padding:12px 16px 12px 44px;min-height:48px;box-shadow:none}
#login .lg-in input#lgPw{padding-right:48px}
#login .lg-in input::placeholder{color:#8C939A}
#login .lg-in input:hover{border-color:#C7CDD3}
#login .lg-in input:focus{border-color:var(--it-ink);box-shadow:0 0 0 4px rgba(139,124,246,.42);outline:none}
.lg-eye{position:absolute;right:6px;top:50%;transform:translateY(-50%);width:38px;height:38px;border-radius:8px;display:flex;align-items:center;justify-content:center;color:#4A535B;cursor:pointer}
.lg-eye:hover{background:var(--it-grey)}.lg-eye:focus-visible{outline:2px solid var(--it-ink);outline-offset:1px}
.lg-eye svg{width:19px;height:19px}.lg-eye .ec{display:none}.lg-eye.on .eo{display:none}.lg-eye.on .ec{display:inline}

.lg-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:2px 0 18px}
.lg-chk{display:inline-flex;align-items:center;gap:10px;font:400 14px/1.2 var(--lg-body);color:var(--it-ink-2);cursor:pointer;user-select:none}
#login .lg-chk input{position:absolute;opacity:0;width:1px;height:1px;min-height:0;padding:0}
.lg-box{width:18px;height:18px;border:1.5px solid #9AA1A7;border-radius:4px;background:#fff;display:inline-flex;align-items:center;justify-content:center;transition:background .15s,border-color .15s}
.lg-chk input:checked + .lg-box{background:var(--it-ink);border-color:var(--it-ink)}
.lg-chk input:checked + .lg-box::after{content:"";width:9px;height:5px;border:2px solid var(--it-yellow);border-top:0;border-right:0;transform:translateY(-1px) rotate(-45deg)}
.lg-chk input:focus-visible + .lg-box{box-shadow:0 0 0 3px rgba(139,124,246,.6)}
.lg-forgot{font:400 14px/1.2 var(--lg-body);color:#1D6FD8;text-decoration:underline;text-underline-offset:3px}
.lg-forgot:hover{color:var(--it-ink)}
.lg-note{margin:-6px 0 16px;padding:10px 12px;border-radius:10px;background:#f3f0ff;border:1px solid #c4b8f5;font:400 13.5px/1.45 var(--lg-body);color:var(--it-ink-2)}
#login .btn-lg{min-height:50px;border-radius:999px;background:var(--it-yellow);color:var(--it-ink);border:0;
  font:600 17px/1 var(--lg-head);letter-spacing:.005em;box-shadow:0 8px 20px -10px rgba(139,124,246,.9);gap:12px}
#login .btn-lg:hover{background:var(--it-yellow-h)}
#login .btn-lg:focus-visible{outline:3px solid var(--it-ink);outline-offset:3px}
#login .btn-lg:disabled{opacity:.6}
#login .btn-lg svg{width:20px;height:20px;stroke-width:2.4;transition:transform .2s var(--ease)}#login .btn-lg:hover svg{transform:translateX(3px)}
#login #loginErr{font:400 13.5px/1.4 var(--lg-body);color:#C0262D;text-align:center;margin-top:10px;min-height:0}
#login #loginErr:empty{margin-top:0}
.lg-info{display:flex;align-items:center;gap:14px;margin-top:16px;padding:13px 16px;border-radius:12px;background:#F1F5FB}
.lg-info svg{width:26px;height:26px;color:#3A434B;stroke-width:1.8}
.lg-info p{margin:0;font:400 13.5px/1.45 var(--lg-body);color:var(--it-ink-2)}

/* right: collage stage */
.lg-right{position:relative;min-height:780px;display:flex;flex-direction:column;align-items:center}
.lg-script{position:absolute;top:-6px;right:-22px;margin:0;font:500 34px/1.02 var(--lg-hand);color:var(--it-ink);transform:rotate(-7deg);transform-origin:right top;z-index:3;text-align:left}
.lg-script svg{display:block;width:150px;height:14px;margin:6px 0 0 34px;overflow:visible}
.lg-stage{position:relative;width:560px;margin:62px 70px 0 0}
.lg-stage picture,.lg-collage{display:block;width:100%;height:auto;position:relative;z-index:1}
.lg-c{position:absolute;border-radius:50%;z-index:0}
.lg-c.c1{width:120px;height:120px;left:-8px;top:-34px;background:rgba(117,178,206,.22)}
.lg-c.c2{width:44px;height:44px;left:190px;top:-48px;background:rgba(196,184,245,.85)}
.lg-c.c3{width:64px;height:64px;left:-44px;top:46%;background:rgba(196,184,245,.38)}
.lg-c.c4{width:46px;height:46px;right:-86px;bottom:12%;background:rgba(241,170,200,.75)}
.lg-c.c5{width:10px;height:10px;right:-66px;bottom:2%;background:#B9C6D3}
.lg-c.c6{width:12px;height:12px;left:-70px;top:4%;background:var(--it-yellow)}
.lg-arc{position:absolute;right:-74px;top:30%;width:70px;height:210px;z-index:0}
.lg-call{position:absolute;z-index:2;display:flex;align-items:center;gap:12px;background:#fff;border-radius:16px;padding:14px 18px 14px 14px;
  box-shadow:0 14px 34px -14px rgba(3,13,20,.28),0 1px 2px rgba(3,13,20,.05);max-width:200px}
.lg-call b{display:block;font:600 14px/1.25 var(--lg-head);color:var(--it-ink)}
.lg-call small{display:block;font:400 12px/1.35 var(--lg-body);color:var(--it-muted);margin-top:3px}
.lg-ci{width:42px;height:42px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.lg-ci svg{width:22px;height:22px}
.lg-ci.y{background:#e4ddff;color:#8b7cf6}.lg-ci.b{background:#E2EEFB;color:#2B72C9}.lg-ci.z{background:transparent;color:var(--it-yellow)}.lg-ci.z svg{width:30px;height:30px}
.lg-call.k1{left:-120px;top:17%}
.lg-call.k2{right:-150px;top:29%;max-width:210px}
.lg-call.k3{left:-118px;top:64%;max-width:190px}

.lg-stats{display:flex;align-items:center;gap:0;margin:40px 70px 0 0;z-index:1}
.lg-stat{display:flex;align-items:center;gap:16px;padding:0 34px}
.lg-stat + .lg-stat{border-left:1px solid #E3E6EA}
.lg-si{width:62px;height:62px;border-radius:50%;display:flex;align-items:center;justify-content:center}
.lg-si svg{width:26px;height:26px}
.lg-si.b{background:#DCEBFA;color:#2B72C9}.lg-si.p{background:#FBE1EB;color:#E0558E}.lg-si.y{background:#e4ddff;color:#8b7cf6}
.lg-stat b{display:block;font:400 15px/1.3 var(--lg-head);color:var(--it-ink);max-width:120px}
.lg-stat small{white-space:nowrap}
.lg-stat small{display:block;font:400 11px/1 var(--lg-head);letter-spacing:.16em;text-transform:uppercase;color:var(--it-faint);margin-top:8px}
.lg-foot{position:absolute;right:0;bottom:0;margin:0;font:400 12px/1 var(--lg-head);letter-spacing:.24em;text-transform:uppercase;color:#7D858C;word-spacing:.3em}

/* narrower laptops: shrink the stage */
@media (max-width:1320px){.lg-wrap{grid-template-columns:420px minmax(0,1fr);column-gap:40px;padding:24px 40px 22px 48px}.lg-stage{width:470px;margin-right:40px}
  .lg-call.k1{left:-96px}.lg-call.k3{left:-96px}.lg-call.k2{right:-120px}.lg-stat{padding:0 22px}.lg-script{font-size:30px}}
@media (max-width:1120px){.lg-stage{width:400px}.lg-call{display:none}.lg-stats{transform:scale(.9)}}

/* tablet & phone: stacked */
@media (max-width:900px){
  .lg-strip{height:34px;justify-content:center;padding:0 12px}.lg-strip-t{font-size:12.5px}
  .lg-bg{inset:34px 0 0 0;background:radial-gradient(420px 300px at 80% 18%,rgba(241,170,200,.16),transparent 70%),radial-gradient(420px 300px at 10% 30%,rgba(117,178,206,.18),transparent 70%),radial-gradient(500px 300px at 50% 100%,rgba(196,184,245,.22),transparent 70%),#fff}
  .lg-wrap{display:flex;flex-direction:column;padding:16px 20px 26px;max-width:520px}
  .lg-left{display:contents}
  .lg-logo{order:1;align-self:center}.lg-logo img{width:122px}
  .lg-right{display:contents}
  .lg-script,.lg-call,.lg-arc,.lg-c.c5,.lg-c.c6{display:none}
  .lg-stage{order:2;align-self:center;width:min(66%,240px);margin:18px 0 0}
  .lg-c.c1{width:70px;height:70px;left:-22px;top:-14px}.lg-c.c2{width:20px;height:20px;left:46%;top:-18px}
  .lg-c.c3{width:34px;height:34px;left:-26px}.lg-c.c4{width:24px;height:24px;right:-24px}
  .lg-stats{order:5;margin:22px 0 0;justify-content:center;width:100%}
  .lg-stat{flex-direction:column;text-align:center;gap:8px;padding:0 10px;flex:1}
  .lg-si{width:44px;height:44px}.lg-si svg{width:20px;height:20px}
  .lg-stat b{font-size:12.5px;max-width:none}.lg-stat small{font-size:9.5px;letter-spacing:.12em;margin-top:5px}
  .lg-foot{order:6;position:static;text-align:center;margin:22px 0 0;font-size:10px;letter-spacing:.16em;word-spacing:.15em}
  .lg-copy{order:3;margin:18px 0 16px;text-align:center}
  .lg-copy h1{font-size:30px}.lg-copy h1 br{display:none}.lg-copy h1 b svg{bottom:-9px;height:9px}
  .lg-tag{font-size:16px;margin-top:14px}
  #login .lg-card{order:4;padding:22px 20px 20px;border-radius:18px}
  #login .lg-card .auth-sub{margin-bottom:16px}
  .lg-info{padding:12px 14px;gap:12px}.lg-info svg{width:22px;height:22px}
}
@media (max-width:360px){.lg-copy h1{font-size:27px}.lg-row{flex-wrap:wrap}}
@media (prefers-reduced-motion:reduce){#login .lg-card{animation:none}#login .btn-lg svg{transition:none}}

/* ---- /static/li565.css?v=1 ---- */
/* V10.8.565 iTutor sign-in (TEST): Design 1 drifting photo wall + CC screens, inline tinted iTutor SVG. Only styles #login. */
#login{--mut:#5b6170}
#login .lg-right{min-height:760px;align-self:stretch}
.cx-art{position:absolute;inset:-26px -64px -24px -10px;overflow:hidden;background:#f3f0ff;border-radius:28px 0 0 0}
.cx-cols{position:absolute;inset:-40px 24px;display:flex;gap:18px}
.cx-col{flex:1;display:flex;flex-direction:column;gap:18px;animation:up 40s linear infinite}.cx-col:nth-child(2){animation-direction:reverse;animation-duration:46s}.cx-col:nth-child(3){animation-duration:52s}
.cx-col>img{width:100%;border-radius:22px;object-fit:cover;box-shadow:0 14px 30px -18px rgba(0,0,0,.35);flex:none}
.cx-shot{flex:none;background:#fff;border-radius:18px;padding:8px;box-shadow:0 14px 30px -18px rgba(0,0,0,.35)}.cx-shot:before{content:"";display:block;height:8px;width:30px;margin:2px 0 6px 4px;background:radial-gradient(circle,#8b7cf6 3px,transparent 3.5px) 0 0/10px 8px repeat-x}.cx-shot img{width:100%;display:block;border-radius:10px}
@keyframes up{to{transform:translateY(-50%)}}
.cx-art:after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 82%,rgba(243,240,255,.9));pointer-events:none}
.cx-fc{position:absolute;background:#fff;border-radius:16px;padding:12px 16px;display:flex;gap:10px;align-items:center;box-shadow:0 18px 40px -16px rgba(20,22,28,.28);font:600 14px/1.3 var(--lg-head);z-index:5;opacity:0;animation:pop .7s cubic-bezier(.2,1.4,.4,1) forwards,bob 5s ease-in-out infinite}
.cx-fc small{display:block;font-weight:400;color:var(--mut);font-size:13px}
.cx-fc i{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;font-style:normal;font-size:16px}
@keyframes pop{from{opacity:0;transform:translateY(16px) scale(.9)}to{opacity:1;transform:none}}
@keyframes bob{50%{translate:0 -8px}}
@media(max-width:900px){.cx-art{position:relative;order:2;inset:auto;height:300px;width:calc(100% + 40px);margin:10px -20px 0;border-radius:0}
 .cx-cols{inset:-20px 12px;gap:10px}.cx-col{gap:10px}.cx-col>img{border-radius:14px}.cx-col:nth-child(3){display:none}
 .cx-art:after{background:linear-gradient(transparent 70%,#fff)}
 .cx-fc:not(.cx-first){display:none}.cx-fc.cx-first{top:auto!important;bottom:16px!important;left:auto!important;right:14px!important;font-size:13px;padding:9px 12px}}
@media(prefers-reduced-motion:reduce){.cx-art *{animation:none!important}.cx-fc{opacity:1}}

#login .lg-strip{display:none}
.li565-logo{--logo-accent:var(--it-yellow);--logo-main:var(--it-ink)}
.lg-logo .lg-svg{width:176px;height:auto;display:block}
@media (max-width:900px){.lg-logo .lg-svg{width:122px}}

/* ---- /static/sso580.css?v=924 ---- */
/* V10.8.580 TEST: sign-in card vertically centred + larger in the left panel; Google/Apple buttons. Only styles #login. */
@media (min-width:901px){
 .lg-wrap{grid-template-columns:540px minmax(0,1fr)!important;align-items:stretch!important}
 #login .lg-left{display:flex;flex-direction:column;min-height:calc(100vh - 70px)}
 #login .lg-left>#loginForm{margin-top:auto}
 #login .lg-left>#sso580{margin-bottom:auto}
 #login .lg-card{padding:38px 40px 34px!important;border-radius:24px!important}
 #login .lg-card h2{font-size:28px!important}
 #login .lg-card .auth-sub{font-size:16px!important}
 #login .lg-card .f{font-size:15px}
 #login .lg-card .lg-in input{height:56px!important;font-size:16px!important}
 #login .lg-card .btn-lg{height:58px!important;font-size:17px!important}
 #login .lg-copy .lg-tag{font-size:22px}
}
@media (max-width:1320px) and (min-width:901px){.lg-wrap{grid-template-columns:480px minmax(0,1fr)!important}}
#sso580{display:flex;flex-direction:column;gap:12px;width:100%;margin-top:18px;order:5}
#sso580 .sso-or{display:flex;align-items:center;gap:12px;color:#5b6170;font:500 14px/1 var(--lg-body,inherit)}
#sso580 .sso-or:before,#sso580 .sso-or:after{content:"";flex:1;height:1px;background:#E7EAEE}
#sso580 .sso-b{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;height:54px;border-radius:14px;font:600 16px/1 var(--lg-body,inherit);cursor:pointer;transition:box-shadow .15s,transform .15s}
#sso580 .sso-b svg{width:20px;height:20px;flex:none}
#sso580 .sso-g,#sso580 .sso-g:hover,#sso580 .sso-g:focus{background:#fff!important;color:#1f1f1f!important;border:1px solid #DADCE0}
#sso580 .sso-a,#sso580 .sso-a:hover,#sso580 .sso-a:focus{background:#2b2d33!important;color:#fff!important;border:1px solid #2b2d33}
#sso580 .sso-b:hover{box-shadow:0 8px 20px -12px rgba(3,13,20,.35);transform:translateY(-1px)}
#sso580 .sso-b:focus-visible{outline:none;box-shadow:0 0 0 4px rgba(121,184,246,.45)}
#sso580 .sso-note{margin:2px 0 0;padding:10px 14px;border-radius:12px;background:#EEF5FF;color:#24324a;font-size:14px;text-align:center}
@media (max-width:900px){#sso580{margin-top:14px}#sso580 .sso-b{height:52px}}
/* V10.8.580b: inputs match the larger card on desktop (login.css #login .lg-in input sets padding 12px + min-height 48px) */
@media (min-width:901px){#login #loginForm .lg-in input{height:52px!important;min-height:52px!important;font-size:15px!important;padding-top:0!important;padding-bottom:0!important;box-sizing:border-box!important}}
/* V10.8.580c: tagline sits directly above the sign-in box, centred with it (logo stays at top) */
@media (min-width:901px){#login .lg-left>.lg-copy{margin:auto 0 14px!important;text-align:center}#login .lg-left>#loginForm{margin-top:0!important}#login .lg-copy .lg-tag{margin:0}}
@media (max-width:900px){#login .lg-copy{margin:18px 0 12px!important;text-align:center}#login .lg-copy .lg-tag{margin:0}}
@media (max-width:900px){#login .lg-copy{align-self:stretch;width:100%}#login .lg-copy .lg-tag{text-align:center}}
/* V10.8.580c: pastel blue iTutor logo (light blue i + navy word) + logo-blue Continue; no yellow on the sign-in page */
#login.lg{--it-yellow:#79B8F6;--it-yellow-h:#9CCBF8;--it-butter:#BFDDFB;--it-gold:#2B72C9}
#login .li565-logo{--logo-accent:#79B8F6;--logo-main:#0F2557}
#login .btn-lg,#login .btn-lg.cs-go{background:#79B8F6!important;color:#0F2557!important}
#login .btn-lg:hover,#login .btn-lg:focus-visible{background:#9CCBF8!important;color:#0F2557!important}
#login .lg-in input:focus,#login .cs-pick:hover,#login .cs-pick:focus-visible{box-shadow:0 0 0 4px rgba(121,184,246,.45)!important}
#login .lg-chk input:focus-visible + .lg-box{box-shadow:0 0 0 3px rgba(121,184,246,.6)}
#login .lg-bg{background:radial-gradient(640px 360px at 82% 100%,rgba(121,184,246,.22),transparent 70%),radial-gradient(700px 300px at 8% 104%,rgba(117,178,206,.20),transparent 70%),linear-gradient(90deg,#fff 0 30%,#FBFCFE 60%,#F6FAFE)!important}
#login .cx-art{background:#EEF5FF!important}
#login .cx-art:after{background:linear-gradient(transparent 82%,rgba(238,245,255,.9))!important}
#login .cx-shot:before{background:radial-gradient(circle,#79B8F6 3px,transparent 3.5px) 0 0/10px 8px repeat-x!important}
#login .cx-fc i[style*="FFF3C4"],#login .cx-fc i[style*="fff3c4"],#login .lg-ci.y{background:#E2EEFB!important;color:#2B72C9!important}
#login .cs-test{border-color:#79B8F6!important;background:#EEF5FF!important}#login .cs-test small{color:#24324a!important}#login .cs-test b{color:#0F2557!important}
@media (max-width:900px){#login .cx-art:after{background:linear-gradient(transparent 70%,#fff)!important}}
#login .btn-lg,#login .btn-lg:hover{box-shadow:0 10px 22px -12px rgba(43,114,201,.45)!important}
/* V10.8.580d: no pink - iPhone header area white, soft pastel blue lower down */
@media (max-width:900px){#login .lg-bg{background:radial-gradient(420px 300px at 10% 60%,rgba(121,184,246,.14),transparent 70%),radial-gradient(500px 300px at 50% 100%,rgba(121,184,246,.18),transparent 70%),#fff!important}}
/* V10.8.580f: mother/daughter tile shows the girl (she sits right of the mom) */
#login .cx-col>img[src*="mother-daughter-homework"]{object-position:78% 35%}
@media (min-width:901px){#login .cx-fc.cx-first{top:30%!important}}
/* V10.8.580g: faster photo wall (~6s per photo). Columns sized to their content so -50% = exactly one photo set (seamless loop; before, -50% used the box height and jumped). */
#login .cx-cols{align-items:flex-start}
#login .cx-col{height:max-content;flex:1 1 0;animation-duration:21s}
#login .cx-col:nth-child(2){animation-duration:23s}
#login .cx-col:nth-child(3){animation-duration:25s}
@media(prefers-reduced-motion:reduce){#login .cx-col{animation:none!important}}
/* V10.8.580h: Black teen on a laptop tile (replaces boy-backpack headshot) */
#login .cx-col>img[src*="teen-boy-laptop"]{object-position:50% 30%}
#login .cx-col>img[src*="teen-boy-classroom"]{object-position:45% 30%}
/* V10.8.580j: iPhone/phone (<=768px) photo wall ~3.5s per photo (was ~5-8s); desktop unchanged. GPU-composited translate3d + will-change for smooth motion; padding-bottom = gap so -50% is exactly one photo set (no jump at loop). */
@keyframes up580j{from{transform:translate3d(0,0,0)}to{transform:translate3d(0,-50%,0)}}
@media (max-width:768px){
 #login .cx-col{animation-name:up580j;animation-duration:14s;padding-bottom:10px;will-change:transform;backface-visibility:hidden}
 #login .cx-col:nth-child(2){animation-duration:10.5s}
}
@media(prefers-reduced-motion:reduce){#login .cx-col{animation:none!important}}
/* V10.8.580k: desktop - tagline + sign-in box start ~32px under the logo (was vertically centred, ~105px gap at 900px); Google/Apple fit on short laptop windows. Phone margins a touch tighter. */
@media (min-width:901px){
 #login .lg-left>.lg-copy{margin:32px 0 14px!important}
 #login .lg-left>#loginForm{margin-top:0!important}
 #login .lg-left>#sso580{margin-bottom:auto!important}
}
@media (min-width:901px) and (max-height:800px){
 #login .lg-left>.lg-copy{margin:24px 0 12px!important}
 #login .lg-card{padding:28px 36px 26px!important}
 #login #loginForm .lg-in input{height:48px!important;min-height:48px!important}
 #login .lg-card .btn-lg{height:52px!important}
 #sso580{margin-top:14px;gap:10px}#sso580 .sso-b{height:48px}
}
@media (max-width:900px){#login .lg-copy{margin:14px 0 10px!important}}

/* V10.8.671/672: Sign In With Apple hidden for now (Tamra Oct 17 8:18 PM MYT: Apple approval takes long). Code kept.
   Re-enable: set APPLE_ON=true in sso580.js (adds html.sso580-apple) + SSO580_APPLE_OFF=0 in service env. */
html:not(.sso580-apple) #sso580 .sso-a{display:none!important}
/* V10.8.924: Google sign-in problem message (pastel, readable) */
#sso580 .sso-note.sso-err{background:#FDECEC;color:#7a2330;border:1px solid #F6C9CE}

/* ---- /static/wb647.css?v=647b ---- */
/* V10.8.647 TEST: Command Center sign-in "Living Whiteboard" (replaces the photo collage). CSS only, 12s rolling loop, still for Reduce Motion. */
@font-face{font-family:Caveat647;src:url(/static/fonts/caveat-latin-wght-normal.woff2) format("woff2");font-weight:400 700;font-display:swap}
#login .wb647{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none}
#login .wb647 .wb-in{position:relative;width:362px;height:340px;flex:none;border-radius:22px;background:radial-gradient(120% 90% at 30% 15%,#fff 0,#f8fafd 60%,#eef2f8 100%);box-shadow:inset 0 0 0 7px #e8edf5,inset 0 0 0 8px #d9e0ec,0 22px 44px -28px rgba(15,37,87,.35);overflow:hidden}
#login .wb647 .wb-in:before{content:"";position:absolute;left:-30%;top:-40%;width:60%;height:180%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.55),transparent);transform:rotate(18deg);pointer-events:none}
#login .wb-svg{position:absolute;inset:0;width:100%;height:100%}
#login .wb-f{position:absolute;font-family:Caveat647,"Bradley Hand","Segoe Print",cursive;font-weight:700;line-height:1;white-space:nowrap;padding:2px 8px 6px 0;-webkit-clip-path:inset(0 100% 0 0);clip-path:inset(0 100% 0 0);animation:wbw647 12s linear var(--d) infinite both}
@keyframes wbw647{0%{-webkit-clip-path:inset(0 100% 0 0);clip-path:inset(0 100% 0 0);opacity:1}8%{-webkit-clip-path:inset(0 0 0 0);clip-path:inset(0 0 0 0)}92%{-webkit-clip-path:inset(0 0 0 0);clip-path:inset(0 0 0 0);opacity:1}97%,100%{-webkit-clip-path:inset(0 0 0 0);clip-path:inset(0 0 0 0);opacity:0}}
#login .wb-ln{stroke-dasharray:300;stroke-dashoffset:300;animation:wbl647 12s ease-out var(--d) infinite both}
@keyframes wbl647{0%{stroke-dashoffset:300;opacity:1}7%{stroke-dashoffset:0}92%{stroke-dashoffset:0;opacity:1}97%,100%{stroke-dashoffset:0;opacity:0}}
#login .wb-curve{animation-timing-function:ease-in-out}
#login .wb-dot{transform-box:fill-box;transform-origin:center;animation:wbd647 12s var(--d) infinite both}
@keyframes wbd647{0%{transform:scale(0)}3%{transform:scale(1.5)}5%,92%{transform:scale(1);opacity:1}97%,100%{opacity:0}}
#login .wb-n{position:absolute;min-width:140px;transform:rotate(var(--r))}
#login .wb-p{position:relative;padding:13px 12px 11px;border-radius:4px;color:#1a2340;font:600 14px/1.3 Inter,system-ui,sans-serif;box-shadow:0 12px 20px -12px rgba(15,37,87,.4);opacity:0;animation:wbs647 12s var(--d) infinite both}
#login .wb-p b{display:block;font-weight:600;font-size:14px;white-space:nowrap}
#login .wb-p small{display:block;margin-top:2px;font-weight:500;font-size:13px;color:#4b5672;white-space:nowrap}
#login .wb-p:before{content:"";position:absolute;top:-8px;left:50%;width:46px;height:15px;margin-left:-23px;background:rgba(255,255,255,.75);box-shadow:0 1px 2px rgba(15,37,87,.08);transform:rotate(-3deg)}
#login .n-blue{background:#dcecff}#login .n-pink{background:#ffe1ea}#login .n-green{background:#dcf5e7}#login .n-lav{background:#ebe4ff}
@keyframes wbs647{0%{opacity:0;transform:translateY(-22px) scale(.4)}4%{opacity:1;transform:scale(1.08)}6%{transform:scale(.96)}8%{transform:scale(1)}50%{transform:translateY(-3px)}92%{opacity:1;transform:none}97%,100%{opacity:0;transform:scale(.94)}}
#login .wb-tray{position:absolute;left:22px;right:22px;bottom:10px;height:9px;border-radius:5px;background:#dfe5ef;display:flex;gap:10px;padding-left:34px}
#login .wb-tray i{width:44px;height:8px;border-radius:4px;margin-top:-6px}
#login .wb-tray .wb-gone{animation:wbg647 12s infinite both}
@keyframes wbg647{0%,3%{opacity:1}4%,46%{opacity:0}48%,100%{opacity:1}}
#login .wb-mk{position:absolute;left:0;top:0;width:60px;height:16px;transform-origin:3px 8px;opacity:0;animation:wbm647 12s ease-in-out infinite both;filter:drop-shadow(0 4px 4px rgba(15,37,87,.18))}
@keyframes wbm647{
0%{opacity:0;transform:translate(220px,302px) rotate(-28deg)}
3%{opacity:1;transform:translate(24px,26px) rotate(-30deg)}
11%{transform:translate(150px,24px) rotate(-30deg)}
12.5%{transform:translate(206px,28px) rotate(-30deg)}
20%{transform:translate(340px,30px) rotate(-30deg)}
21.5%{transform:translate(226px,58px) rotate(-30deg)}
24%{transform:translate(226px,138px) rotate(-30deg)}
26%{transform:translate(334px,138px) rotate(-30deg)}
30%{transform:translate(276px,96px) rotate(-30deg)}
33%{transform:translate(334px,64px) rotate(-30deg)}
34%{transform:translate(34px,266px) rotate(-30deg)}
40.5%{transform:translate(150px,268px) rotate(-30deg)}
41.5%{transform:translate(214px,270px) rotate(-30deg)}
47.5%{transform:translate(340px,270px) rotate(-30deg);opacity:1}
52%,100%{opacity:0;transform:translate(220px,302px) rotate(-28deg)}}
@media (max-width:900px){#login .wb647{position:relative;inset:auto;order:2;width:calc(100% + 40px);height:340px;margin:12px -20px 0;display:flex;flex:none}
 #login .wb647 .wb-in{width:calc(100% - 28px);max-width:362px}}
@media (min-width:901px){#login .wb647 .wb-in{scale:1.45}}
@media (min-width:1321px){#login .wb647 .wb-in{scale:1.7}}
@media (prefers-reduced-motion:reduce){#login .wb647 *{animation:none!important}
 #login .wb-f{-webkit-clip-path:none!important;clip-path:none!important}#login .wb-ln{stroke-dashoffset:0!important}#login .wb-p{opacity:1!important}#login .wb-mk{display:none}}

/* V10.8.647: logo lightly animated (quick drop-in, the blue i + cap hops), no bubble; no Team button / chat sheet while signed out */
#login .li565-logo .lg-svg{animation:lgin647 .6s cubic-bezier(.2,1.3,.4,1) both}
@keyframes lgin647{from{opacity:0;transform:translateY(-8px) scale(.94)}to{opacity:1;transform:none}}
#login .li565-logo .lg-acc{animation:lghop647 3.6s cubic-bezier(.3,0,.3,1) 1s infinite}
@keyframes lghop647{0%,14%,100%{translate:0 0}5%{translate:0 -46px}9%{translate:0 0}11.5%{translate:0 -14px}}
body:has(#login:not(.hidden)) .tc-fab,body:has(#login:not(.hidden)) .tc-sheet{display:none!important}
@media (prefers-reduced-motion:reduce){#login .li565-logo .lg-svg,#login .li565-logo .lg-acc{animation:none!important}}

/* ---- /static/wb655.css?v=655b ---- */
/* V10.8.655 TEST: Command Center sign-in, full-page Living Whiteboard behind a centered card (Tamra: "whole page doing the animation", Didit-style card, board clearly visible ~80%). CSS only, 5s rolling loop, still frame for Reduce Motion. Overrides wb647/li565/sso580 layout only when .wb655 is present. */
#login.lg:has(.wb655){background:#f6f8fc}
#login:has(.wb655) .lg-bg,#login:has(.wb655) .lg-strip{display:none!important}
#login:has(.wb655) .lg-wrap{position:relative;display:flex!important;align-items:center;justify-content:center;max-width:none!important;width:100%;min-height:100vh;min-height:100dvh;padding:40px 24px!important;margin:0}
#login:has(.wb655) .lg-right{display:block!important;position:absolute;inset:0;min-height:0;margin:0;z-index:0;overflow:hidden;pointer-events:none}
/* the card */
#login:has(.wb655) .lg-left{position:relative;z-index:2;align-self:center!important;height:auto!important;display:flex!important;flex-direction:column;width:min(468px,100%);min-height:0!important;padding:28px 32px 26px;border-radius:26px;
  background:rgba(255,255,255,.95);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.9);
  box-shadow:0 0 90px 50px rgba(255,255,255,.42),0 2px 6px rgba(15,37,87,.06),0 34px 70px -34px rgba(15,37,87,.38)}
#login:has(.wb655) .lg-logo{display:flex;justify-content:center}
#login:has(.wb655) .lg-left>.lg-copy{margin:12px 0 16px!important;text-align:center}
#login:has(.wb655) .lg-copy .lg-tag{margin:0;font-size:17px}
#login:has(.wb655) .lg-left>#loginForm{margin:0!important;padding:0!important;border:0!important;background:none!important;box-shadow:none!important;max-width:none!important;width:100%!important}
#login:has(.wb655) .lg-left>#sso580{margin:16px 0 0!important}
/* board surface: soft white with faint dot grid, sheen and ghost smudges */
.wb655{position:absolute;inset:0;opacity:.85;font-family:Caveat647,"Bradley Hand","Segoe Print",cursive}
.wb655 .w5-tex{position:absolute;inset:0;background:
  radial-gradient(900px 520px at 22% 18%,rgba(255,255,255,.95),transparent 70%),
  radial-gradient(420px 160px at 78% 72%,rgba(150,165,195,.10),transparent 70%),
  radial-gradient(360px 120px at 14% 82%,rgba(150,165,195,.09),transparent 70%),
  radial-gradient(circle,rgba(15,37,87,.07) 1px,transparent 1.4px) 0 0/26px 26px,
  linear-gradient(160deg,#fbfcfe 0,#f1f4f9 100%)}
.wb655>*{position:absolute}
.w5-f{color:var(--c);font-weight:700;font-size:48px;line-height:1;white-space:nowrap;padding:2px 10px 12px 0;-webkit-clip-path:inset(0 100% 0 0);clip-path:inset(0 100% 0 0);animation:w5w 5s linear var(--d) infinite both}
.w5-f:after{content:"";position:absolute;left:2px;right:12px;bottom:2px;height:4px;border-radius:3px;background:var(--c);opacity:.45}
@keyframes w5w{0%{-webkit-clip-path:inset(0 100% 0 0);clip-path:inset(0 100% 0 0);opacity:1}18%,82%{-webkit-clip-path:inset(0 0 0 0);clip-path:inset(0 0 0 0);opacity:1}92%,100%{-webkit-clip-path:inset(0 0 0 0);clip-path:inset(0 0 0 0);opacity:0}}
.w5-l{stroke-dasharray:520;stroke-dashoffset:520;animation:w5l 5s ease-out var(--d) infinite both}
@keyframes w5l{0%{stroke-dashoffset:520;opacity:1}20%,82%{stroke-dashoffset:0;opacity:1}92%,100%{stroke-dashoffset:0;opacity:0}}
.w5-dot{transform-box:fill-box;transform-origin:center;animation:w5d 5s var(--d) infinite both}
@keyframes w5d{0%{transform:scale(0)}5%{transform:scale(1.6)}9%,80%{transform:scale(1);opacity:1}90%,100%{opacity:0;transform:scale(1)}}
.w5-n{transform:rotate(var(--r))}
.w5-p{position:relative;min-width:210px;padding:16px 16px 13px;border-radius:5px;color:#1a2340;font:600 17px/1.3 Inter,system-ui,sans-serif;box-shadow:0 16px 26px -16px rgba(15,37,87,.45);opacity:0;animation:w5s 5s var(--d) infinite both}
.w5-p b{display:block;font-weight:600;white-space:nowrap}
.w5-p small{display:block;margin-top:3px;font-weight:500;font-size:14px;color:#4b5672;white-space:nowrap}
.w5-p:before{content:"";position:absolute;top:-9px;left:50%;width:54px;height:17px;margin-left:-27px;background:rgba(255,255,255,.8);box-shadow:0 1px 2px rgba(15,37,87,.1);transform:rotate(-3deg)}
.wb655 .n-blue{background:#dcecff}.wb655 .n-pink{background:#ffe1ea}.wb655 .n-green{background:#dcf5e7}
@keyframes w5s{0%{opacity:0;transform:translateY(-26px) scale(.4)}6%{opacity:1;transform:scale(1.1)}10%{transform:scale(.95)}14%{transform:scale(1)}48%{transform:translateY(-4px)}82%{opacity:1;transform:none}92%,100%{opacity:0;transform:scale(.94)}}
.w5-tray{left:50%;bottom:0;width:440px;margin-left:-220px;height:12px;border-radius:7px 7px 0 0;background:#dde3ee;display:flex;gap:14px;padding-left:40px}
.w5-tray i{width:56px;height:10px;border-radius:5px;margin-top:-8px}
/* desktop spots: around the centered card */
.w5-a{left:6%;top:8%}.w5-b{right:6%;top:7%;font-size:42px}
.w5-c{left:9%;top:23%}.w5-g{right:7%;top:21%;width:280px;height:210px}
.w5-e{left:5%;top:51%;font-size:46px}.w5-d{left:11%;top:65%}
.w5-h{right:11%;top:58%}.w5-i{right:6%;top:81%;font-size:44px}
.w5-j{left:5%;bottom:7%;font-size:38px}.w5-t{left:24%;top:39%;width:120px;height:104px}
@media (max-width:1250px){.w5-t{display:none}.w5-a,.w5-e,.w5-j{left:3%}.w5-c,.w5-d{left:2.5%}.w5-b,.w5-i{right:3%}.w5-g{right:3%}.w5-h{right:2.5%}
 .wb655 .w5-n,.w5-g{scale:.82;transform-origin:left top}.w5-g,.w5-h{transform-origin:right top}.w5-f{font-size:38px!important}.w5-j{font-size:32px!important}}
@media (max-width:1060px) and (min-width:761px){.w5-j,.w5-e{display:none}.wb655 .w5-n,.w5-g{scale:.7}.w5-f{font-size:32px!important}}
/* phone: board above and below the card, never behind text */
@media (max-width:760px){
 #login:has(.wb655) .lg-wrap{display:block!important;padding:150px 14px 250px!important}
 #login:has(.wb655) .lg-left{width:100%;padding:22px 20px 20px;border-radius:22px;box-shadow:0 0 50px 24px rgba(255,255,255,.4),0 2px 6px rgba(15,37,87,.06),0 26px 50px -28px rgba(15,37,87,.38)}
 #login:has(.wb655) .lg-copy .lg-tag{font-size:15px}
 .w5-t,.w5-j,.w5-b,.w5-tray{display:none}
 .w5-f{font-size:32px!important}
 .wb655 .w5-p{min-width:0;padding:12px 12px 10px;font-size:14px}.wb655 .w5-p small{font-size:13px}
 .w5-a{left:14px;top:22px}.w5-c{right:12px;left:auto;top:16px;--r:3deg!important}
 .w5-g{left:18px;right:auto;top:64px;width:110px;height:82px;scale:1}
 .w5-e{left:auto;right:22px;top:auto;bottom:178px}.w5-d{left:12px;top:auto;bottom:118px;scale:1}
 .w5-h{right:12px;top:auto;bottom:28px;scale:1}.w5-i{left:20px;right:auto;top:auto;bottom:40px}}
@media (prefers-reduced-motion:reduce){.wb655 *{animation:none!important}.w5-f{-webkit-clip-path:none!important;clip-path:none!important}.w5-l{stroke-dashoffset:0!important}.wb655 .w5-p{opacity:1!important}}

/* ---- /static/wb662.css?v=662h ---- */
/* V10.8.662 TEST: CC sign-in whiteboard "zoomed out" (Tamra: see more of the board, keep it moving). Loads after wb655.css.
   Pieces ~70% size, 6 extra pieces via pseudo-elements (no HTML change), compact card on iPhone so more board shows. Text 13px+, 5s loop, Reduce Motion still. */
/* smaller pieces */
.w5-f{font-size:34px}
.w5-b{font-size:30px}.w5-e{font-size:32px}.w5-i{font-size:31px}.w5-j{font-size:27px}
.w5-f:after{height:3px}
.wb655 .w5-p{min-width:0;padding:11px 12px 9px;font-size:14px}
.wb655 .w5-p small{font-size:13px}
.wb655 .w5-p:before{width:40px;height:13px;margin-left:-20px;top:-7px}
.w5-g{width:196px;height:147px}.w5-t{width:84px;height:73px}
.w5-tray{width:320px;margin-left:-160px;height:9px}.w5-tray i{width:40px;height:8px;margin-top:-6px}
/* extra pieces (shared look) */
.wb655:before,.wb655:after,.wb655 .w5-tex:before,.wb655 .w5-tex:after,#login:has(.wb655) .lg-right:after,#login:has(.wb655) .lg-wrap:before{position:absolute;pointer-events:none;white-space:pre;z-index:1}
/* math pieces: marker write-on */
.wb655:before,.wb655 .w5-tex:before,#login:has(.wb655) .lg-right:after,#login:has(.wb655) .lg-wrap:before{font:700 30px/1 Caveat647,"Bradley Hand","Segoe Print",cursive;padding:2px 10px 8px 0;
  -webkit-clip-path:inset(0 100% 0 0);clip-path:inset(0 100% 0 0);animation:w5w 5s linear var(--d) infinite both}
.wb655:before{content:"√49 = 7";color:#3f9e98;--d:.2s;left:21%;top:15%}
.wb655 .w5-tex:before{content:"π ≈ 3.14";color:#d8708f;--d:1.6s;left:22%;top:82%}
#login:has(.wb655) .lg-right:after{content:"2³ = 8";color:#8f7dd0;--d:2.9s;left:25%;top:62%;opacity:.85}
#login:has(.wb655) .lg-wrap:before{content:"Area = πr²";color:#4f86d6;--d:4.2s;right:22%;top:42%;opacity:.85}
/* note pieces: sticky bounce */
.wb655:after,.wb655 .w5-tex:after{font:600 14px/1.35 Inter,system-ui,sans-serif;color:#1a2340;padding:11px 12px 9px;border-radius:5px;box-shadow:0 14px 22px -14px rgba(15,37,87,.45);opacity:0;animation:w5s 5s var(--d) infinite both}
.wb655:after{content:"🎓 Next Up\A Today 5:00 PM · Geometry";background:#ebe4ff;--d:1.1s;right:4%;top:44%;rotate:3deg}
.wb655 .w5-tex:after{content:"⭐ New 5-Star Review\A “Best Tutor Ever!”";background:#f3f0ff;--d:3.4s;right:17%;top:73%;rotate:-3deg}
@media (max-width:1250px) and (min-width:761px){.wb655:before,.wb655 .w5-tex:before,#login:has(.wb655) .lg-right:after,#login:has(.wb655) .lg-wrap:before{display:none}
 .wb655 .w5-tex:after{right:3%;top:70%}.w5-i{top:86%}}
/* iPhone: compact card, board above / below / peeking at the edges */
@media (max-width:760px){
 #login:has(.wb655) .lg-wrap{padding:168px 22px 300px!important}
 #login:has(.wb655) .lg-left{padding:16px 16px 16px;border-radius:20px}
 #login:has(.wb655) .lg-logo .lg-svg{width:104px}
 #login:has(.wb655) .lg-left>.lg-copy{margin:6px 0 10px!important}
 #login:has(.wb655) .lg-copy .lg-tag{font-size:14px}
 #login:has(.wb655) .lg-left>#sso580{margin:10px 0 0!important;gap:9px}
 #login:has(.wb655) #sso580 .sso-b{height:46px}
 .w5-t,.w5-j,.w5-b,.w5-tray{display:block}
 .w5-f{font-size:25px!important}.w5-b{font-size:21px!important}.w5-j{font-size:21px!important}
 .wb655 .w5-p{padding:8px 10px 7px;font-size:13px}.wb655 .w5-p small{font-size:13px}
 .wb655 .w5-p:before{width:32px;height:11px;margin-left:-16px;top:-6px}
 /* top band (above card) */
 .w5-a{left:12px;top:38px}
 .w5-c{left:auto;right:10px;top:34px}
 .w5-g{left:12px;right:auto;top:80px;width:80px;height:60px}
 .w5-b{left:100px;right:auto;top:98px}
 .wb655:after{font-size:13px;padding:8px 10px 7px;right:10px;top:96px;rotate:-2deg}
 /* bottom band (below card) */
 .w5-d{left:10px;top:auto;bottom:226px}
 .w5-e{left:auto;right:18px;top:auto;bottom:240px}
 .w5-j{left:14px;top:auto;bottom:178px}
 .w5-t{left:auto;right:26px;top:auto;bottom:150px;width:58px;height:50px}
 .w5-i{left:16px;right:auto;top:auto;bottom:112px}
 .w5-h{right:10px;top:auto;bottom:70px}
 .wb655 .w5-tex:before{font-size:22px;left:150px;top:auto;bottom:124px}
 .wb655 .w5-tex:after{font-size:13px;padding:8px 10px 7px;left:10px;right:auto;top:auto;bottom:22px}
 .wb655:before{font-size:22px;left:auto;right:18px;top:auto;bottom:20px}
 .w5-tray{width:200px;margin-left:-100px}
 /* edge peeks (sit in the side margin / card padding, never behind text) */
 #login:has(.wb655) .lg-right:after{content:"x²";font-size:26px;left:2px;top:250px}
 #login:has(.wb655) .lg-wrap:before{display:none}}
@media (prefers-reduced-motion:reduce){.wb655:before,.wb655 .w5-tex:before,#login:has(.wb655) .lg-right:after,#login:has(.wb655) .lg-wrap:before{animation:none!important;-webkit-clip-path:none!important;clip-path:none!important}
 .wb655:after,.wb655 .w5-tex:after{animation:none!important;opacity:1!important}}

/* V10.8.662 add-on (Tamra: "fill in the background with a bit more imagery... not too fun but just more"): grown-up marker line sketches
   (open book, pencil, globe, lightbulb, ruler, protractor, atom, bar chart, calendar) drawn on the board, each draws itself on the same 5s loop. */
.wb655 .w5-tex{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64' fill='none' stroke='%234f86d6' stroke-width='2.3' stroke-linecap='round' stroke-linejoin='round' opacity='.9'%3E%3Cstyle%3E%2A%7Bstroke-dasharray:100;stroke-dashoffset:100;animation:d 5s ease-out 0.3s infinite both%7D%40keyframes d%7B0%25%7Bstroke-dashoffset:100;opacity:1%7D24%25,82%25%7Bstroke-dashoffset:0;opacity:1%7D92%25,100%25%7Bstroke-dashoffset:0;opacity:0%7D%7Dsvg%7Banimation:none%7D%3C/style%3E%3Cpath d='M32 18c-6-5-15-6-24-5v34c9-1 18 0 24 5' pathLength='100'/%3E%3Cpath d='M32 18c6-5 15-6 24-5v34c-9-1-18 0-24 5' pathLength='100'/%3E%3Cpath d='M32 18v34' pathLength='100'/%3E%3Cpath d='M14 22c5 0 9 1 13 3M14 29c5 0 9 1 13 3M37 25c4-2 8-3 13-3M37 32c4-2 8-3 13-3' pathLength='100'/%3E%3C/svg%3E"), url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64' fill='none' stroke='%238f7dd0' stroke-width='2.3' stroke-linecap='round' stroke-linejoin='round' opacity='.9'%3E%3Cstyle%3E%2A%7Bstroke-dasharray:100;stroke-dashoffset:100;animation:d 5s ease-out 1.0s infinite both%7D%40keyframes d%7B0%25%7Bstroke-dashoffset:100;opacity:1%7D24%25,82%25%7Bstroke-dashoffset:0;opacity:1%7D92%25,100%25%7Bstroke-dashoffset:0;opacity:0%7D%7Dsvg%7Banimation:none%7D%3C/style%3E%3Cpath d='M14 50l4-12 28-28 8 8-28 28z' pathLength='100'/%3E%3Cpath d='M18 38l8 8M40 16l8 8' pathLength='100'/%3E%3Cpath d='M14 50l7-2' pathLength='100'/%3E%3C/svg%3E"), url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64' fill='none' stroke='%233f9e98' stroke-width='2.3' stroke-linecap='round' stroke-linejoin='round' opacity='.9'%3E%3Cstyle%3E%2A%7Bstroke-dasharray:100;stroke-dashoffset:100;animation:d 5s ease-out 1.7s infinite both%7D%40keyframes d%7B0%25%7Bstroke-dashoffset:100;opacity:1%7D24%25,82%25%7Bstroke-dashoffset:0;opacity:1%7D92%25,100%25%7Bstroke-dashoffset:0;opacity:0%7D%7Dsvg%7Banimation:none%7D%3C/style%3E%3Ccircle cx='32' cy='28' r='17' pathLength='100'/%3E%3Cpath d='M15 28h34M32 11c-6 6-6 28 0 34M32 11c6 6 6 28 0 34' pathLength='100'/%3E%3Cpath d='M20 47c7 5 17 5 24 0M32 47v8M24 56h16' pathLength='100'/%3E%3C/svg%3E"), url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64' fill='none' stroke='%23d8708f' stroke-width='2.3' stroke-linecap='round' stroke-linejoin='round' opacity='.9'%3E%3Cstyle%3E%2A%7Bstroke-dasharray:100;stroke-dashoffset:100;animation:d 5s ease-out 2.4s infinite both%7D%40keyframes d%7B0%25%7Bstroke-dashoffset:100;opacity:1%7D24%25,82%25%7Bstroke-dashoffset:0;opacity:1%7D92%25,100%25%7Bstroke-dashoffset:0;opacity:0%7D%7Dsvg%7Banimation:none%7D%3C/style%3E%3Cpath d='M24 40c0-6-8-9-8-18a16 16 0 0 1 32 0c0 9-8 12-8 18z' pathLength='100'/%3E%3Cpath d='M25 46h14M27 52h10' pathLength='100'/%3E%3Cpath d='M28 30l4 4 4-4' pathLength='100'/%3E%3C/svg%3E"), url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64' fill='none' stroke='%234f86d6' stroke-width='2.3' stroke-linecap='round' stroke-linejoin='round' opacity='.9'%3E%3Cstyle%3E%2A%7Bstroke-dasharray:100;stroke-dashoffset:100;animation:d 5s ease-out 0.6s infinite both%7D%40keyframes d%7B0%25%7Bstroke-dashoffset:100;opacity:1%7D24%25,82%25%7Bstroke-dashoffset:0;opacity:1%7D92%25,100%25%7Bstroke-dashoffset:0;opacity:0%7D%7Dsvg%7Banimation:none%7D%3C/style%3E%3Crect x='4' y='22' width='56' height='18' rx='2' pathLength='100'/%3E%3Cpath d='M12 22v7M20 22v5M28 22v7M36 22v5M44 22v7M52 22v5' pathLength='100'/%3E%3C/svg%3E"), url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64' fill='none' stroke='%238f7dd0' stroke-width='2.3' stroke-linecap='round' stroke-linejoin='round' opacity='.9'%3E%3Cstyle%3E%2A%7Bstroke-dasharray:100;stroke-dashoffset:100;animation:d 5s ease-out 3.1s infinite both%7D%40keyframes d%7B0%25%7Bstroke-dashoffset:100;opacity:1%7D24%25,82%25%7Bstroke-dashoffset:0;opacity:1%7D92%25,100%25%7Bstroke-dashoffset:0;opacity:0%7D%7Dsvg%7Banimation:none%7D%3C/style%3E%3Cpath d='M6 46a26 26 0 0 1 52 0z' pathLength='100'/%3E%3Cpath d='M20 46a12 12 0 0 1 24 0' pathLength='100'/%3E%3Cpath d='M32 20v5M14 28l3 4M50 28l-3 4M32 46l13-17' pathLength='100'/%3E%3C/svg%3E"), url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64' fill='none' stroke='%233f9e98' stroke-width='2.3' stroke-linecap='round' stroke-linejoin='round' opacity='.9'%3E%3Cstyle%3E%2A%7Bstroke-dasharray:100;stroke-dashoffset:100;animation:d 5s ease-out 1.3s infinite both%7D%40keyframes d%7B0%25%7Bstroke-dashoffset:100;opacity:1%7D24%25,82%25%7Bstroke-dashoffset:0;opacity:1%7D92%25,100%25%7Bstroke-dashoffset:0;opacity:0%7D%7Dsvg%7Banimation:none%7D%3C/style%3E%3Cellipse cx='32' cy='32' rx='25' ry='9' pathLength='100'/%3E%3Cellipse cx='32' cy='32' rx='25' ry='9' transform='rotate(60 32 32)' pathLength='100'/%3E%3Cellipse cx='32' cy='32' rx='25' ry='9' transform='rotate(-60 32 32)' pathLength='100'/%3E%3Ccircle cx='32' cy='32' r='3' pathLength='100'/%3E%3C/svg%3E"), url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64' fill='none' stroke='%2355b08a' stroke-width='2.3' stroke-linecap='round' stroke-linejoin='round' opacity='.9'%3E%3Cstyle%3E%2A%7Bstroke-dasharray:100;stroke-dashoffset:100;animation:d 5s ease-out 3.7s infinite both%7D%40keyframes d%7B0%25%7Bstroke-dashoffset:100;opacity:1%7D24%25,82%25%7Bstroke-dashoffset:0;opacity:1%7D92%25,100%25%7Bstroke-dashoffset:0;opacity:0%7D%7Dsvg%7Banimation:none%7D%3C/style%3E%3Cpath d='M8 54h50M8 54V10' pathLength='100'/%3E%3Crect x='15' y='36' width='8' height='18' pathLength='100'/%3E%3Crect x='28' y='26' width='8' height='28' pathLength='100'/%3E%3Crect x='41' y='16' width='8' height='38' pathLength='100'/%3E%3Cpath d='M14 30l13-9 12 3 14-12' pathLength='100'/%3E%3C/svg%3E"), url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64' fill='none' stroke='%23d8708f' stroke-width='2.3' stroke-linecap='round' stroke-linejoin='round' opacity='.9'%3E%3Cstyle%3E%2A%7Bstroke-dasharray:100;stroke-dashoffset:100;animation:d 5s ease-out 2.0s infinite both%7D%40keyframes d%7B0%25%7Bstroke-dashoffset:100;opacity:1%7D24%25,82%25%7Bstroke-dashoffset:0;opacity:1%7D92%25,100%25%7Bstroke-dashoffset:0;opacity:0%7D%7Dsvg%7Banimation:none%7D%3C/style%3E%3Crect x='8' y='12' width='48' height='42' rx='5' pathLength='100'/%3E%3Cpath d='M8 24h48M20 7v9M44 7v9' pathLength='100'/%3E%3Cpath d='M17 33h6M29 33h6M41 33h6M17 43h6M29 43h6' pathLength='100'/%3E%3Cpath d='M40 41l3 3 6-6' pathLength='100'/%3E%3C/svg%3E"),radial-gradient(900px 520px at 22% 18%,rgba(255,255,255,.95),transparent 70%),radial-gradient(420px 160px at 78% 72%,rgba(150,165,195,.10),transparent 70%),radial-gradient(360px 120px at 14% 82%,rgba(150,165,195,.09),transparent 70%),radial-gradient(circle,rgba(15,37,87,.07) 1px,transparent 1.4px),linear-gradient(160deg,#fbfcfe 0,#f1f4f9 100%);background-position:left 27% top 6%,left 2% top 36%,left 18% top 52%,left 2% top 77%,left 37% top 1%,left 60% top 2%,right 25% top 27%,right 2% top 67%,right 26% top 90%,0 0,0 0,0 0,0 0,0 0;background-size:72px,60px,72px,64px,120px,90px,72px,68px,64px,auto,auto,auto,26px 26px,auto;background-repeat:no-repeat,no-repeat,no-repeat,no-repeat,no-repeat,no-repeat,no-repeat,no-repeat,no-repeat,no-repeat,no-repeat,no-repeat,repeat,no-repeat}
@media (max-width:1250px) and (min-width:761px){.wb655 .w5-tex{background-size:60px,52px,0 0,54px,100px,80px,0 0,56px,0 0,auto,auto,auto,26px 26px,auto}}
@media (max-width:760px){#login:has(.wb655) .lg-wrap{padding-bottom:380px!important}
 .wb655 .w5-tex{background-position:left 20px bottom 296px,right 4px top 190px,left 172px bottom 300px,left 168px top 40px,0 0,0 0,0 0,left 178px bottom 64px,right 22px bottom 298px,0 0,0 0,0 0,0 0,0 0;background-size:48px,0 0,46px,40px,0 0,0 0,0 0,40px,44px,auto,auto,auto,26px 26px,auto}}
@media (prefers-reduced-motion:reduce){.wb655 .w5-tex{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64' fill='none' stroke='%234f86d6' stroke-width='2.3' stroke-linecap='round' stroke-linejoin='round' opacity='.9'%3E%3Cpath d='M32 18c-6-5-15-6-24-5v34c9-1 18 0 24 5' pathLength='100'/%3E%3Cpath d='M32 18c6-5 15-6 24-5v34c-9-1-18 0-24 5' pathLength='100'/%3E%3Cpath d='M32 18v34' pathLength='100'/%3E%3Cpath d='M14 22c5 0 9 1 13 3M14 29c5 0 9 1 13 3M37 25c4-2 8-3 13-3M37 32c4-2 8-3 13-3' pathLength='100'/%3E%3C/svg%3E"), url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64' fill='none' stroke='%238f7dd0' stroke-width='2.3' stroke-linecap='round' stroke-linejoin='round' opacity='.9'%3E%3Cpath d='M14 50l4-12 28-28 8 8-28 28z' pathLength='100'/%3E%3Cpath d='M18 38l8 8M40 16l8 8' pathLength='100'/%3E%3Cpath d='M14 50l7-2' pathLength='100'/%3E%3C/svg%3E"), url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64' fill='none' stroke='%233f9e98' stroke-width='2.3' stroke-linecap='round' stroke-linejoin='round' opacity='.9'%3E%3Ccircle cx='32' cy='28' r='17' pathLength='100'/%3E%3Cpath d='M15 28h34M32 11c-6 6-6 28 0 34M32 11c6 6 6 28 0 34' pathLength='100'/%3E%3Cpath d='M20 47c7 5 17 5 24 0M32 47v8M24 56h16' pathLength='100'/%3E%3C/svg%3E"), url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64' fill='none' stroke='%23d8708f' stroke-width='2.3' stroke-linecap='round' stroke-linejoin='round' opacity='.9'%3E%3Cpath d='M24 40c0-6-8-9-8-18a16 16 0 0 1 32 0c0 9-8 12-8 18z' pathLength='100'/%3E%3Cpath d='M25 46h14M27 52h10' pathLength='100'/%3E%3Cpath d='M28 30l4 4 4-4' pathLength='100'/%3E%3C/svg%3E"), url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64' fill='none' stroke='%234f86d6' stroke-width='2.3' stroke-linecap='round' stroke-linejoin='round' opacity='.9'%3E%3Crect x='4' y='22' width='56' height='18' rx='2' pathLength='100'/%3E%3Cpath d='M12 22v7M20 22v5M28 22v7M36 22v5M44 22v7M52 22v5' pathLength='100'/%3E%3C/svg%3E"), url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64' fill='none' stroke='%238f7dd0' stroke-width='2.3' stroke-linecap='round' stroke-linejoin='round' opacity='.9'%3E%3Cpath d='M6 46a26 26 0 0 1 52 0z' pathLength='100'/%3E%3Cpath d='M20 46a12 12 0 0 1 24 0' pathLength='100'/%3E%3Cpath d='M32 20v5M14 28l3 4M50 28l-3 4M32 46l13-17' pathLength='100'/%3E%3C/svg%3E"), url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64' fill='none' stroke='%233f9e98' stroke-width='2.3' stroke-linecap='round' stroke-linejoin='round' opacity='.9'%3E%3Cellipse cx='32' cy='32' rx='25' ry='9' pathLength='100'/%3E%3Cellipse cx='32' cy='32' rx='25' ry='9' transform='rotate(60 32 32)' pathLength='100'/%3E%3Cellipse cx='32' cy='32' rx='25' ry='9' transform='rotate(-60 32 32)' pathLength='100'/%3E%3Ccircle cx='32' cy='32' r='3' pathLength='100'/%3E%3C/svg%3E"), url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64' fill='none' stroke='%2355b08a' stroke-width='2.3' stroke-linecap='round' stroke-linejoin='round' opacity='.9'%3E%3Cpath d='M8 54h50M8 54V10' pathLength='100'/%3E%3Crect x='15' y='36' width='8' height='18' pathLength='100'/%3E%3Crect x='28' y='26' width='8' height='28' pathLength='100'/%3E%3Crect x='41' y='16' width='8' height='38' pathLength='100'/%3E%3Cpath d='M14 30l13-9 12 3 14-12' pathLength='100'/%3E%3C/svg%3E"), url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64' fill='none' stroke='%23d8708f' stroke-width='2.3' stroke-linecap='round' stroke-linejoin='round' opacity='.9'%3E%3Crect x='8' y='12' width='48' height='42' rx='5' pathLength='100'/%3E%3Cpath d='M8 24h48M20 7v9M44 7v9' pathLength='100'/%3E%3Cpath d='M17 33h6M29 33h6M41 33h6M17 43h6M29 43h6' pathLength='100'/%3E%3Cpath d='M40 41l3 3 6-6' pathLength='100'/%3E%3C/svg%3E"),radial-gradient(900px 520px at 22% 18%,rgba(255,255,255,.95),transparent 70%),radial-gradient(420px 160px at 78% 72%,rgba(150,165,195,.10),transparent 70%),radial-gradient(360px 120px at 14% 82%,rgba(150,165,195,.09),transparent 70%),radial-gradient(circle,rgba(15,37,87,.07) 1px,transparent 1.4px),linear-gradient(160deg,#fbfcfe 0,#f1f4f9 100%)}}

/* V10.8.662 final (Tamra: "add just a few more stickies"): 4 more sticky notes, no amounts. Pseudo-elements on the marker tray and the card (outside its edges, behind it). */
.wb655 .w5-tray:before,.wb655 .w5-tray:after,#login:has(.wb655) .lg-left:before,#login:has(.wb655) .lg-left:after{position:absolute;pointer-events:none;white-space:pre;
  font:600 14px/1.35 Inter,system-ui,sans-serif;color:#1a2340;padding:11px 12px 9px;border-radius:5px;box-shadow:0 14px 22px -14px rgba(15,37,87,.45);opacity:0;animation:w5s 5s var(--d) infinite both}
#login:has(.wb655) .lg-left:before,#login:has(.wb655) .lg-left:after{z-index:-1}
.wb655 .w5-tray:before{content:"🤝 Tutor Matched\A Ms. Lee · Chemistry";background:#dcecff;--d:.5s;left:-250px;bottom:30px;rotate:-3deg}
.wb655 .w5-tray:after{content:"📝 Lesson Notes Sent\A Algebra 1 · Today";background:#dcf5e7;--d:2.2s;left:270px;bottom:26px;rotate:2.5deg}
#login:has(.wb655) .lg-left:before{content:"👪 New Family Joined\A Welcome To iTutor!";background:#ffe1ea;--d:3.0s;left:calc(100% + 35px);top:172px;rotate:2deg;opacity:0}
#login:has(.wb655) .lg-left:after{content:"🔔 Reminder Sent\A Session In 1 Hour";background:#ebe4ff;--d:1.5s;left:calc(100% + 40px);top:-118px;rotate:-2.5deg}
@media (max-width:1250px) and (min-width:761px){#login:has(.wb655) .lg-left:before{left:auto;right:calc(100% + 12px);top:auto;bottom:-10px}#login:has(.wb655) .lg-left:after{left:calc(100% + 12px);top:-30px}}
@media (max-width:760px){
 #login:has(.wb655) .lg-wrap{padding-bottom:490px!important}
 .wb655 .w5-tray:before,.wb655 .w5-tray:after,#login:has(.wb655) .lg-left:before,#login:has(.wb655) .lg-left:after{font-size:13px;padding:8px 10px 7px}
 #login:has(.wb655) .lg-left:before{right:auto;left:-10px;top:calc(100% + 16px);bottom:auto}
 #login:has(.wb655) .lg-left:after{left:auto;right:-10px;top:calc(100% + 22px)}
 .wb655 .w5-tray:before{left:-85px;bottom:362px}
 .wb655 .w5-tray:after{left:110px;bottom:356px}}
@media (prefers-reduced-motion:reduce){.wb655 .w5-tray:before,.wb655 .w5-tray:after,#login:has(.wb655) .lg-left:before,#login:has(.wb655) .lg-left:after{animation:none!important;opacity:1!important}}

/* ---- /static/wb673.css?v=673b ---- */
/* V10.8.673 TEST: CC sign-in phone balance (Tamra 8:28 PM: "I see more happening at the bottom vs the top from a phone").
   Phone only (max-width:760px), loads after wb662.css. Card sits in the middle with an equal band of board above and below;
   top pieces are pinned to the top edge and bottom pieces to the bottom edge so the two bands mirror on any phone height;
   each band gets the same mix (2 notes + 1 more, marker lines, sketches), all on the same 5s loop. Desktop untouched. */
@media (max-width:760px){
 #login:has(.wb655){--b673:140px}
 /* equal bands; card centered when the screen is tall enough */
 #login:has(.wb655) .lg-wrap{display:flex!important;flex-direction:column;justify-content:center;align-items:stretch;min-height:100vh;min-height:100dvh;padding:var(--b673) 22px var(--b673)!important}
 #login:has(.wb655) .lg-left{width:100%;margin:0}
 /* a little tighter card (LIVE password form), text stays 13px+ */
 #login:has(.wb655) .lg-left>.lg-copy{margin:4px 0 8px!important}
 #login:has(.wb655) #loginForm>h2{margin-bottom:4px}
 #login:has(.wb655) label.f{margin-bottom:12px}
 #login:has(.wb655) .lg-row{margin:0 0 14px}
 #login:has(.wb655) .lg-info{margin-top:12px;padding:9px 12px}
 #login:has(.wb655) .lg-info p{font-size:13px;line-height:1.38}
 #login:has(.wb655) .lg-left>#sso580{margin:8px 0 0!important}
 /* pieces that would crowd a band: off on phone */
 #login:has(.wb655) .w5-i,#login:has(.wb655) .w5-j,#login:has(.wb655) .w5-t,
 #login:has(.wb655) .wb655:before,#login:has(.wb655) .wb655 .w5-tex:before,
 #login:has(.wb655) .wb655 .w5-tray:before,#login:has(.wb655) .wb655 .w5-tray:after,
 #login:has(.wb655) .lg-left:before,#login:has(.wb655) .lg-left:after{display:none!important}
 #login:has(.wb655) .w5-f{font-size:25px!important}
 #login:has(.wb655) .w5-b{font-size:22px!important}
 /* TOP band (measured from the top of the page) */
 #login:has(.wb655) .w5-a{left:14px;right:auto;top:20px;bottom:auto}
 #login:has(.wb655) .w5-g{left:146px;right:auto;top:10px;bottom:auto;width:58px;height:44px}
 #login:has(.wb655) .w5-c{left:auto;right:10px;top:16px;bottom:auto;--r:3deg!important}
 #login:has(.wb655) .wb655:after{left:10px;right:auto;top:82px;bottom:auto;rotate:-2deg}
 #login:has(.wb655) .w5-b{left:auto;right:16px;top:94px;bottom:auto}
 /* BOTTOM band (mirror, measured from the bottom of the page) */
 #login:has(.wb655) .w5-d{left:10px;right:auto;top:auto;bottom:80px;--r:2deg!important}
 #login:has(.wb655) .w5-e{left:auto;right:16px;top:auto;bottom:86px}
 #login:has(.wb655) .wb655 .w5-tex:after{font-size:13px;padding:8px 10px 7px;left:10px;right:auto;top:auto;bottom:16px;rotate:-2.5deg}
 #login:has(.wb655) .w5-h{left:auto;right:10px;top:auto;bottom:16px;--r:-3deg!important}
 #login:has(.wb655) .w5-tray{bottom:0}
 /* marker sketches: atom up top, lightbulb + bar chart below (order: book,pencil,globe,bulb,ruler,protractor,atom,chart,calendar) */
 #login:has(.wb655) .wb655 .w5-tex{background-position:0 0,0 0,0 0,left 196px bottom 88px,0 0,0 0,left 206px top 86px,left 180px bottom 12px,0 0,0 0,0 0,0 0,0 0,0 0;
  background-size:0 0,0 0,0 0,38px,0 0,0 0,38px,44px,0 0,auto,auto,auto,26px 26px,auto}
 /* narrow phones (360-380) */
}
@media (max-width:380px){
 #login:has(.wb655) .w5-g{left:132px;width:48px;height:36px}
 #login:has(.wb655) .w5-b{font-size:20px!important}
 #login:has(.wb655) .wb655 .w5-tex{background-position:0 0,0 0,0 0,left 180px bottom 88px,0 0,0 0,left 194px top 88px,left 180px bottom 12px,0 0,0 0,0 0,0 0,0 0,0 0;
  background-size:0 0,0 0,0 0,34px,0 0,0 0,32px,44px,0 0,auto,auto,auto,26px 26px,auto}
}
@media (max-width:760px){
 /* side peeks next to the card, in the margin only */
 #login:has(.wb655) .lg-right:after{content:"x²";font-size:24px;left:2px;top:calc(var(--b673) + 110px)}
}

/* ---- /static/pwa/onboarding.css?v=5 ---- */
/* First-sign-in onboarding + phone app setup (Tamra 2026-10-05). Brand: Poppins/Questrial, yellow #8b7cf6, ink #030D14. Scoped to .ob-* */
@font-face{font-family:"Poppins";font-style:normal;font-weight:400;font-display:swap;src:url(/static/fonts/poppins-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"Poppins";font-style:normal;font-weight:600;font-display:swap;src:url(/static/fonts/poppins-latin-600-normal.woff2) format("woff2")}
@font-face{font-family:"Questrial";font-style:normal;font-weight:400;font-display:swap;src:url(/static/fonts/questrial-latin-400-normal.woff2) format("woff2")}
.ob,.ob-coach,.ob-spot{--y:#8b7cf6;--yh:#8b7cf6;--ys:#e4ddff;--ink:#030D14;--ink2:#3A434B;--mut:#6B737A;--line:#E3E6EA;--grey:#F7F7F7;
  --red:#E5484D;--red-s:#FDECEC;--amb:#8b7cf6;--amb-s:#f3f0ff;--blu:#2B95DF;--blu-s:#E2F0FB;--pur:#7C5CE0;--pur-s:#EFEAFD;--grn:#22A35A;--grn-s:#E5F6EC;--ind:#4F5BD5;--ind-s:#E9EBFB;
  --h:"Poppins",system-ui,-apple-system,"Segoe UI",sans-serif;--b:"Questrial","Poppins",system-ui,sans-serif;color-scheme:light}
.ob{position:fixed;inset:0;z-index:9000;display:flex;align-items:center;justify-content:center;padding:24px;background:rgba(3,13,20,.55);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);animation:obFade .25s ease}
.ob.hidden,.ob-spot.hidden,.ob-coach.hidden{display:none!important}
@keyframes obFade{from{opacity:0}to{opacity:1}}
@keyframes obPop{from{opacity:0;transform:translateY(10px) scale(.985)}to{opacity:1;transform:none}}
.ob-box{width:100%;max-width:820px;max-height:calc(100vh - 48px);display:flex;flex-direction:column;background:#fff;color:var(--ink);border-radius:24px;box-shadow:0 30px 80px -20px rgba(3,13,20,.45);overflow:hidden;font-family:var(--b);animation:obPop .3s cubic-bezier(.2,.8,.2,1)}
.ob-head{display:flex;align-items:center;gap:18px;padding:18px 24px;border-bottom:1px solid var(--line);background:linear-gradient(180deg,#FFFDF3,#fff)}
.ob-head img{width:104px;height:auto;display:block}
.ob-dots{flex:1;display:flex;justify-content:center;align-items:center;gap:6px;margin:0;padding:0;list-style:none}
.ob-dots li{display:flex;align-items:center;gap:8px;font:400 12.5px/1 var(--h);color:var(--mut);white-space:nowrap}
.ob-dots li + li::before{content:"";width:28px;height:2px;border-radius:2px;background:var(--line);margin-right:2px}
.ob-dots i{width:12px;height:12px;border-radius:50%;background:#fff;border:2px solid #C9CED4;display:inline-block;flex-shrink:0;box-sizing:border-box}
.ob-dots li.on{color:var(--ink);font-weight:600}.ob-dots li.on i{background:var(--y);border-color:var(--ink);box-shadow:0 0 0 4px rgba(139,124,246,.35)}
.ob-dots li.ok i{background:var(--ink);border-color:var(--ink);position:relative}
.ob-dots li.ok i::after{content:"";position:absolute;left:2px;top:2px;width:4px;height:2px;border:1.6px solid var(--y);border-top:0;border-right:0;transform:rotate(-45deg)}
.ob-dots li.sk i{background:var(--grey);border-style:dashed}
.ob-x{background:none;border:0;box-shadow:none;color:var(--mut);font:400 13px/1 var(--h);padding:8px 10px;border-radius:10px;cursor:pointer}
.ob-x:hover{background:var(--grey);color:var(--ink)}
.ob-body{padding:28px 32px 8px;overflow:auto;flex:1}
.ob-kick{font:600 12px/1 var(--h);letter-spacing:.14em;text-transform:uppercase;color:#5b45b8;margin:0 0 10px}
.ob-body h2{font:600 26px/1.2 var(--h);margin:0 0 8px;color:var(--ink);letter-spacing:-.01em}
.ob-body h2 em{font-style:normal;background:linear-gradient(transparent 62%,rgba(139,124,246,.6) 62%);padding:0 2px}
.ob-lead{font:400 16px/1.55 var(--b);color:var(--ink2);margin:0 0 22px;max-width:620px}
.ob-foot{display:flex;align-items:center;gap:10px;padding:16px 24px 20px;border-top:1px solid var(--line)}
.ob-foot .sp{flex:1}
.ob .ob-btn,.ob-coach .ob-btn{font:600 15px/1 var(--h);min-height:46px;padding:0 24px;border-radius:999px;border:0;background:var(--y);color:var(--ink);cursor:pointer;display:inline-flex;align-items:center;gap:10px;box-shadow:0 8px 18px -10px rgba(139,124,246,.9);text-decoration:none}
.ob .ob-btn:hover,.ob-coach .ob-btn:hover{background:var(--yh)}
.ob .ob-btn:disabled{opacity:.55;cursor:default}
.ob .ob-btn.dark,.ob-coach .ob-btn.dark{background:var(--ink);color:#fff;box-shadow:none}.ob .ob-btn.dark:hover{background:#1b2630}
.ob .ob-btn.ghost,.ob-coach .ob-btn.ghost{background:#fff;color:var(--ink);border:1.5px solid var(--line);box-shadow:none}.ob .ob-btn.ghost:hover,.ob-coach .ob-btn.ghost:hover{background:var(--grey)}
.ob .ob-btn svg,.ob-coach .ob-btn svg{width:18px;height:18px}
.ob .ob-link,.ob-coach .ob-link{background:none;border:0;box-shadow:none;color:var(--mut);font:400 14px/1 var(--b);padding:10px 8px;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.ob .ob-link:hover,.ob-coach .ob-link:hover{color:var(--ink);background:none}
.ob-ic{display:inline-block;width:20px;height:20px;vertical-align:-4px}

/* welcome / tour intro */
.ob-hero{display:grid;grid-template-columns:1.1fr .9fr;gap:28px;align-items:center}
.ob-hero img{width:100%;height:auto;display:block}
.ob-legend{display:grid;grid-template-columns:1fr 1fr;gap:8px 14px;margin:6px 0 4px;padding:0;list-style:none}
.ob-legend li{display:flex;align-items:center;gap:10px;font:400 14px/1.35 var(--b);color:var(--ink2)}
.ob-legend b{font:600 13.5px/1.2 var(--h);color:var(--ink);display:block}
.ob-sw{width:12px;height:12px;border-radius:4px;flex-shrink:0}
.ob-sw.r{background:var(--red)}.ob-sw.a{background:var(--y)}.ob-sw.b{background:var(--blu)}.ob-sw.p{background:var(--pur)}.ob-sw.g{background:var(--grn)}.ob-sw.i{background:var(--ind)}

/* spotlight tour */
.ob-spot{position:fixed;z-index:9001;border-radius:16px;box-shadow:0 0 0 4px var(--y),0 0 0 9999px rgba(3,13,20,.62);pointer-events:none;transition:opacity .18s}.ob-spot.ob-wait,.ob-coach.ob-wait{opacity:0}
.ob-spot.center{width:0!important;height:0!important;left:50%!important;top:40%!important;box-shadow:0 0 0 9999px rgba(3,13,20,.62)}
.ob-coach{position:fixed;z-index:9002;width:380px;max-width:calc(100vw - 24px);background:#fff;color:var(--ink);border-radius:20px;padding:18px 20px 16px;box-shadow:0 24px 60px -16px rgba(3,13,20,.5);font-family:var(--b);transition:opacity .18s}
.ob-coach::before{content:"";position:absolute;inset:0 22px auto;height:4px;border-radius:0 0 6px 6px;background:linear-gradient(90deg,#75B2CE 0 33%,#F1AAC8 33% 66%,var(--y) 66%)}
.ob-ch{display:flex;align-items:center;gap:8px;margin:4px 0 10px;font:400 12px/1 var(--h);color:var(--mut)}
.ob-ch .sp{flex:1}
.ob-mini{display:flex;gap:5px}.ob-mini i{width:7px;height:7px;border-radius:50%;background:#D5D9DE}.ob-mini i.on{background:var(--ink);width:18px;border-radius:4px}.ob-mini i.ok{background:var(--y)}
.ob-coach h3{font:600 18px/1.3 var(--h);margin:0 0 6px}
.ob-coach p{font:400 14.5px/1.5 var(--b);color:var(--ink2);margin:0 0 12px}
.ob-coach .ob-legend{grid-template-columns:1fr;gap:6px;margin-bottom:12px}
.ob-coach .ob-legend li{font-size:13px}
.ob-cf{display:flex;align-items:center;gap:8px}.ob-cf .sp{flex:1}
.ob-coach .ob-btn{min-height:40px;padding:0 18px;font-size:14px}
.ob-prog{display:flex;gap:4px;align-items:center;margin:2px 0 12px;font:400 12px/1 var(--h);color:var(--mut)}
.ob-steps{display:flex;gap:6px;flex-wrap:wrap;margin:0 0 12px}
.ob-steps span{font:400 12px/1 var(--h);padding:6px 9px;border-radius:999px;background:var(--grey);color:var(--ink2)}
.ob-steps span.ok{background:var(--grn-s);color:#17703D}.ob-steps span.now{background:var(--ys);color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--y)}
.ob-at{display:inline-block;font:600 13px/1 var(--h);padding:4px 8px;border-radius:8px;background:var(--blu-s);color:#1D6FB8}

/* profile */
.ob-prof{display:grid;grid-template-columns:200px 1fr;gap:32px;align-items:start}
.ob-ph{display:flex;flex-direction:column;align-items:center;gap:12px}
.ob-av{width:148px;height:148px;border-radius:50%;background:var(--ys);display:flex;align-items:center;justify-content:center;font:600 46px/1 var(--h);color:var(--ink);overflow:hidden;box-shadow:0 0 0 6px #fff,0 0 0 8px var(--y)}
.ob-av img{width:100%;height:100%;object-fit:cover}
.ob-ph small{font:400 12.5px/1.4 var(--b);color:var(--mut);text-align:center}
.ob-f{display:flex;flex-direction:column;gap:7px;margin:0 0 16px;font:400 14px/1.2 var(--h);color:var(--ink)}
.ob-f span{font:400 12.5px/1.3 var(--b);color:var(--mut)}
.ob .ob-f input,.ob .ob-f select{font:400 15px/1.3 var(--b);color:var(--ink);background:#fff;border:1px solid #DDE1E6;border-radius:10px;padding:12px 14px;min-height:48px;width:100%;box-shadow:none}
.ob .ob-f input:focus,.ob .ob-f select:focus{border-color:var(--ink);box-shadow:0 0 0 4px rgba(139,124,246,.42);outline:none}
.ob-2{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}
.ob-role{display:inline-flex;align-items:center;gap:8px;min-height:48px;padding:0 14px;border-radius:10px;background:var(--grey);font:600 14px/1 var(--h);color:var(--ink)}
.ob-role svg{width:16px;height:16px;color:var(--mut)}
.ob-crop{display:flex;flex-direction:column;align-items:center;gap:14px}
.ob-cv{width:260px;height:260px;border-radius:50%;overflow:hidden;position:relative;background:#111;cursor:grab;touch-action:none;box-shadow:0 0 0 6px #fff,0 0 0 8px var(--y)}
.ob-cv:active{cursor:grabbing}
.ob-cv img{position:absolute;left:0;top:0;transform-origin:0 0;user-select:none;-webkit-user-drag:none;max-width:none}
.ob-zoom{display:flex;align-items:center;gap:10px;width:260px;font:400 12px/1 var(--h);color:var(--mut)}
.ob-zoom input{flex:1;accent-color:#030D14}
.ob-msg{font:400 13.5px/1.4 var(--b);margin:4px 0 0;color:#17703D}.ob-msg.err{color:#C0262D}

/* notifications */
.ob-not{display:grid;grid-template-columns:1fr 300px;gap:30px;align-items:start}
.ob-perm{display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:14px;background:var(--grey);margin:0 0 16px;font:400 14.5px/1.45 var(--b);color:var(--ink2)}
.ob-perm b{font:600 14.5px/1.3 var(--h);color:var(--ink)}.ob-perm > span > b:first-child{display:block;margin-bottom:2px}
.ob-perm .dot{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;background:#fff}
.ob-perm .dot svg{width:20px;height:20px}
.ob-perm.ok{background:var(--grn-s)}.ob-perm.ok .dot{color:var(--grn)}
.ob-perm.warn{background:#f3f0ff}.ob-perm.warn .dot{color:#5b45b8}
.ob-perm.bad{background:var(--red-s)}.ob-perm.bad .dot{color:var(--red)}
.ob-help{margin:0 0 14px;padding:0 0 0 20px;font:400 14px/1.6 var(--b);color:var(--ink2)}
.ob-help b{font-family:var(--h);font-weight:600}
.ob-acts{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 14px}
.ob-what{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:9px}
.ob-what li{display:flex;gap:10px;align-items:flex-start;font:400 14px/1.45 var(--b);color:var(--ink2)}
.ob-what li svg{width:18px;height:18px;flex-shrink:0;margin-top:1px;color:#5b45b8}
/* fake system notification preview */
.ob-toastp{border-radius:14px;background:rgba(246,246,248,.98);box-shadow:0 12px 30px -12px rgba(3,13,20,.35),0 0 0 1px rgba(3,13,20,.06);padding:12px 14px;display:flex;gap:12px;align-items:flex-start;font-family:-apple-system,"Segoe UI",system-ui,sans-serif}
.ob-toastp img{width:38px;height:38px;border-radius:9px;flex-shrink:0}
.ob-toastp b{display:block;font-size:13.5px;font-weight:600;color:#111}.ob-toastp small{display:block;font-size:12.5px;color:#444;line-height:1.35;margin-top:2px}
.ob-toastp .app{font-size:11px;color:#777;text-transform:uppercase;letter-spacing:.04em;display:flex;justify-content:space-between;margin-bottom:3px}
.ob-prevh{font:600 12px/1 var(--h);letter-spacing:.12em;text-transform:uppercase;color:var(--mut);margin:4px 0 10px}

/* phone */
.ob-phone{display:grid;grid-template-columns:auto 1fr;gap:34px;align-items:center}
.ob-qr{padding:14px;border-radius:20px;background:#fff;box-shadow:0 0 0 1px var(--line),0 16px 40px -20px rgba(3,13,20,.35);position:relative}
.ob-qr img{display:block;width:220px;height:220px}
.ob-qr span{position:absolute;left:50%;top:50%;width:46px;height:46px;margin:-23px 0 0 -23px;border-radius:12px;background:var(--y);box-shadow:0 0 0 5px #fff;display:flex;align-items:center;justify-content:center;font:700 19px/1 var(--h);color:var(--ink)}
.ob-url{display:inline-flex;align-items:center;gap:8px;font:600 15px/1 var(--h);padding:10px 14px;border-radius:12px;background:var(--grey);margin:0 0 16px}
.ob-num{list-style:none;counter-reset:n;padding:0;margin:0 0 16px;display:flex;flex-direction:column;gap:10px}
.ob-num li{counter-increment:n;display:flex;gap:12px;align-items:flex-start;font:400 15px/1.45 var(--b);color:var(--ink2)}
.ob-num li::before{content:counter(n);width:26px;height:26px;border-radius:50%;background:var(--ys);color:var(--ink);font:600 13px/26px var(--h);text-align:center;flex-shrink:0}
.ob-num li b{font-family:var(--h);font-weight:600;color:var(--ink)}
.ob-num li.now::before{background:var(--y)}
.ob-num svg{width:17px;height:17px;vertical-align:-3px;color:#1D6FD8}
.ob-plat{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:6px}
.ob-plat div{padding:12px 14px;border-radius:14px;background:var(--grey);font:400 13px/1.5 var(--b);color:var(--ink2)}
.ob-plat b{font:600 13px/1.3 var(--h);color:var(--ink)}.ob-plat b:first-child{display:block;font-size:13.5px;margin-bottom:3px}
.ob-done{display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:14px;background:var(--grn-s);font:400 14.5px/1.4 var(--b);color:#17502F;margin:0 0 14px}
.ob-done svg{width:22px;height:22px;color:var(--grn);flex-shrink:0}
.ob-done b{font-family:var(--h);font-weight:600}

/* iPhone illustrated guide: 3 frames, 9 s loop */
.ob-ios{display:grid;grid-template-columns:200px 1fr;gap:24px;align-items:center}
.ob-dev{width:200px;height:400px;border-radius:34px;background:#0d0f12;padding:9px;box-sizing:border-box;position:relative;box-shadow:0 20px 40px -18px rgba(3,13,20,.55)}
.ob-scr{width:100%;height:100%;border-radius:26px;overflow:hidden;position:relative;background:#fff}
.ob-fr{position:absolute;inset:0;opacity:0;animation:obFr 9s infinite}
.ob-fr.f2{animation-delay:3s}.ob-fr.f3{animation-delay:6s}
@keyframes obFr{0%{opacity:0}3%{opacity:1}31%{opacity:1}34%{opacity:0}100%{opacity:0}}
.ob-sf-top{height:52px;background:#F7F7F7;border-bottom:1px solid #e3e3e3;display:flex;align-items:flex-end;justify-content:center;padding-bottom:8px;box-sizing:border-box}
.ob-sf-top span{font:500 10px/1 -apple-system,system-ui;color:#333;background:#e9e9ec;border-radius:8px;padding:6px 18px}
.ob-sf-page{padding:14px 12px}
.ob-sf-page i{display:block;height:8px;border-radius:4px;background:#eceef1;margin:0 0 8px}
.ob-sf-page i.y{background:var(--y);width:60%;height:12px}
.ob-sf-bar{position:absolute;left:0;right:0;bottom:0;height:56px;background:#F7F7F7;border-top:1px solid #e3e3e3;display:flex;align-items:center;justify-content:space-around;padding-bottom:6px;box-sizing:border-box;color:#1C7CF4}
.ob-sf-bar svg{width:18px;height:18px}
.ob-sf-bar .sh{position:relative}
.ob-sf-bar .sh::after{content:"";position:absolute;inset:-9px;border-radius:50%;border:2.5px solid var(--y);animation:obPulse 1.2s ease-out infinite}
@keyframes obPulse{0%{transform:scale(.7);opacity:1}100%{transform:scale(1.5);opacity:0}}
.ob-finger{position:absolute;width:30px;height:30px;border-radius:50%;background:rgba(3,13,20,.25);border:2px solid #fff;box-shadow:0 2px 8px rgba(0,0,0,.25)}
.f1 .ob-finger{left:50%;bottom:14px;margin-left:-15px;animation:obTap 3s infinite}
.f2 .ob-finger{left:46px;top:187px;animation:obTap 3s infinite}
@keyframes obTap{0%,40%{transform:scale(1.25);opacity:0}55%{transform:scale(1);opacity:1}70%{transform:scale(.85)}100%{transform:scale(1);opacity:1}}
.ob-sheet{position:absolute;left:0;right:0;bottom:0;height:72%;background:#F2F2F6;border-radius:16px 16px 0 0;box-shadow:0 -8px 24px rgba(0,0,0,.15);padding:12px 10px;box-sizing:border-box}
.ob-sheet .row{display:flex;align-items:center;justify-content:space-between;background:#fff;border-radius:10px;padding:10px 12px;margin:0 0 6px;font:400 11px/1 -apple-system,system-ui;color:#111}
.ob-sheet .row svg{width:15px;height:15px;color:#111}
.ob-sheet .row.hl{box-shadow:0 0 0 2.5px var(--y);font-weight:600}
.ob-sheet .apps{display:flex;gap:8px;margin:0 0 10px}.ob-sheet .apps i{width:34px;height:34px;border-radius:9px;background:#dfe3e8}
.ob-home{position:absolute;inset:0;background:linear-gradient(160deg,#9ec5e6,#f1aac8 70%,#c4b8f5);padding:34px 14px;display:grid;grid-template-columns:repeat(4,1fr);gap:14px 8px;align-content:start}
.ob-home i{width:36px;height:36px;border-radius:9px;background:rgba(255,255,255,.55);justify-self:center}
.ob-home .app{display:flex;flex-direction:column;align-items:center;gap:4px;font:500 7.5px/1 -apple-system,system-ui;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.3)}
.ob-home .app img{width:36px;height:36px;border-radius:9px;animation:obIcon 3s infinite;animation-delay:6s}
@keyframes obIcon{0%,10%{transform:scale(0)}25%{transform:scale(1.15)}35%,100%{transform:scale(1)}}
.ob-cap{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.ob-cap li{display:flex;gap:12px;align-items:center;padding:10px 12px;border-radius:12px;font:400 14.5px/1.4 var(--b);color:var(--ink2);animation:obCap 9s infinite}
.ob-cap li:nth-child(2){animation-delay:3s}.ob-cap li:nth-child(3){animation-delay:6s}
@keyframes obCap{0%,31%{background:var(--ys);color:var(--ink)}34%,100%{background:transparent}}
.ob-cap li > span:first-child{width:30px;height:30px;border-radius:50%;background:#fff;box-shadow:0 0 0 1.5px var(--line);display:flex;align-items:center;justify-content:center;flex-shrink:0;color:#1C7CF4}
.ob-cap li > span:first-child svg{width:16px;height:16px}
.ob-cap li b{font-family:var(--h);font-weight:600;color:var(--ink)}
.ob-warn{padding:10px 12px;border-radius:12px;background:#f3f0ff;font:400 13.5px/1.45 var(--b);color:var(--ink2);margin:14px 0 0}
.ob-ios-banner{border-radius:18px;background:rgba(250,250,252,.96);box-shadow:0 14px 34px -12px rgba(3,13,20,.45);padding:11px 13px;display:flex;gap:10px;align-items:flex-start;font-family:-apple-system,system-ui,sans-serif;margin:0 0 16px;animation:obDrop .5s cubic-bezier(.2,.8,.2,1)}
@keyframes obDrop{from{transform:translateY(-30px);opacity:0}to{transform:none;opacity:1}}
.ob-ios-banner img{width:34px;height:34px;border-radius:8px}
.ob-ios-banner b{font-size:13px;font-weight:600;color:#111;display:block}.ob-ios-banner small{font-size:12.5px;color:#333;display:block;line-height:1.35;margin-top:2px}
.ob-ios-banner .t{font-size:11px;color:#888;margin-left:auto;white-space:nowrap}

/* finish */
.ob-fin{text-align:center;padding:10px 0 6px}
.ob-fin .big{width:84px;height:84px;border-radius:50%;background:var(--y);display:flex;align-items:center;justify-content:center;margin:0 auto 16px}
.ob-fin .big svg{width:40px;height:40px;color:var(--ink)}
.ob-sum{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin:16px 0 4px}
.ob-sum span{display:inline-flex;align-items:center;gap:7px;padding:8px 12px;border-radius:999px;background:var(--grey);font:400 13px/1 var(--h);color:var(--ink2)}
.ob-sum span.ok{background:var(--grn-s);color:#17703D}
.ob-sum svg{width:14px;height:14px}

/* sidebar: Help links (Replay tour) */
.ob-navh{margin-top:6px}
.sidebar a.ob-nav{display:flex;align-items:center;gap:11px;padding:7px 10px;margin:1px 0;border-radius:9px;color:var(--sb-text);font-weight:500;font-size:13.5px;white-space:nowrap;text-decoration:none}
.sidebar a.ob-nav:hover{background:var(--sb-hover);color:var(--sb-text-h)}
.sidebar a.ob-nav .ob-ic{width:17px;height:17px;opacity:.85;vertical-align:0}
.sb-collapsed .sidebar a.ob-nav{justify-content:center;padding:9px 0}

@media (max-width:760px){
  .ob{padding:0;align-items:stretch}
  .ob-box{max-width:none;max-height:none;height:100%;border-radius:0}
  .ob-head{padding:12px 14px;gap:10px;padding-top:max(12px,env(safe-area-inset-top))}
  .ob-head img{width:84px}
  .ob-dots{gap:4px}.ob-dots li{font-size:0;gap:0}.ob-dots li + li::before{width:16px}
  .ob-body{padding:20px 18px 8px}
  .ob-body h2{font-size:22px}.ob-lead{font-size:15px;margin-bottom:18px}
  .ob-foot{padding:12px 14px calc(14px + env(safe-area-inset-bottom));flex-wrap:wrap}
  .ob-foot .ob-btn{flex:1;justify-content:center}
  .ob-hero,.ob-prof,.ob-not,.ob-phone,.ob-ios{grid-template-columns:1fr;gap:18px}
  .ob-hero img{max-width:240px;margin:0 auto}
  .ob-legend{grid-template-columns:1fr}
  .ob-2{grid-template-columns:1fr}
  .ob-ios .ob-dev{margin:0 auto;width:170px;height:340px;border-radius:30px}
  .f2 .ob-finger{left:38px;top:156px}
  .ob-coach{width:auto;left:12px!important;right:12px;bottom:auto}
  .ob-plat{grid-template-columns:1fr}
  .ob-coach .ob-legend{display:none}
  .ob-sheet .row{font-size:9.5px;padding:8px 9px}
  .ob-cap li{font-size:14px;padding:8px 10px}
}

/* 2026-10-05 live: no focus ring on the step heading (focused by script for screen readers) */
#obT:focus,#obCoachT:focus,[tabindex="-1"]:focus{outline:none}

/* ===== 2026-10-05: meet-Ella welcome, real-UI spotlight tour, profile email + schedule ===== */
.ob-ella{grid-template-columns:1.15fr .85fr}
.ob-ella h2 em{font-style:normal;background:linear-gradient(transparent 62%,var(--ys) 62%)}
.ob-eli{list-style:none;padding:0;margin:4px 0 0;display:grid;gap:12px}
.ob-eli li{display:flex;gap:12px;align-items:flex-start;font:400 14.5px/1.45 var(--b);color:var(--ink2)}
.ob-eli b{display:block;font:600 14.5px/1.3 var(--h);color:var(--ink);margin-bottom:2px}
.ob-ei{width:36px;height:36px;border-radius:12px;background:var(--ys);color:#5b45b8;display:flex;align-items:center;justify-content:center;flex-shrink:0}.ob-ei .ob-ic{width:18px;height:18px;vertical-align:0}
.ob-eli li:nth-child(2) .ob-ei{background:#E8F3F9;color:#1D6FB8}.ob-eli li:nth-child(3) .ob-ei{background:#FCE8F1;color:#B83C77}
.ob-ellac{background:var(--grey);border-radius:20px;padding:16px;display:flex;flex-direction:column;gap:10px;box-shadow:inset 0 0 0 1px var(--line)}
.ob-ellah{display:flex;align-items:center;gap:10px}.ob-ellah b{display:block;font:600 15px/1.2 var(--h)}.ob-ellah small{color:var(--mut);font-size:12px}
.ob-ellav{width:40px;height:40px;border-radius:50%;background:var(--y);color:var(--ink);display:flex;align-items:center;justify-content:center;position:relative}
.ob-ellav::after{content:"";position:absolute;right:0;bottom:0;width:10px;height:10px;border-radius:50%;background:#22c55e;box-shadow:0 0 0 2px var(--grey)}
.ob-bub{background:#fff;border-radius:4px 16px 16px 16px;padding:10px 12px;font:400 13.5px/1.45 var(--b);color:var(--ink2);box-shadow:0 1px 2px rgba(3,13,20,.06);max-width:92%}
.ob-bub.me{align-self:flex-end;background:var(--ink);color:#fff;border-radius:16px 4px 16px 16px}
.ob-bub.sm{font-size:13px}
.ob-block{position:fixed;inset:0;z-index:9000;background:transparent;cursor:default}
.ob-block.hidden{display:none}
.ob-spot{animation:obPulse 2.2s ease-in-out infinite}
@keyframes obPulse{0%,100%{box-shadow:0 0 0 4px var(--y),0 0 0 9999px rgba(3,13,20,.62)}50%{box-shadow:0 0 0 7px rgba(139,124,246,.75),0 0 0 9999px rgba(3,13,20,.62)}}
.ob-spot.center{animation:none}
input.ob-demo{background:#f3f0ff!important;color:#030D14!important;font-weight:500}
.ob-role.ob-email{font-weight:500;word-break:break-all}.ob-role.ob-email i{color:var(--mut);font-style:normal}
.ob-sch{margin-top:22px;padding-top:18px;border-top:1px solid var(--line)}
.ob-sch h3{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font:600 17px/1.3 var(--h);margin:0 0 4px}.ob-sch h3 small{font:400 12.5px/1.2 var(--b);color:var(--mut)}
.ob-sch>p{margin:0 0 12px;font:400 14px/1.45 var(--b);color:var(--ink2)}
@media (max-width:760px){
  .ob-ella{grid-template-columns:1fr}.ob-ellac{order:-1;padding:12px}.ob-ellac .ob-bub.sm{display:none}
  .ob-eli{gap:10px}.ob-eli li{font-size:14px}
  .ob-coach{left:12px!important;right:12px;width:auto;bottom:auto;top:auto}
  .ob-coach h3{font-size:16.5px}.ob-coach p{font-size:14px;margin-bottom:10px}.ob-coach{padding:14px 16px 12px}
}
/* 2026-10-05: required 'Turn on notifications' stage + per-device banner */
.ob .ob-btn:disabled,.ob .ob-btn[disabled]{opacity:.45;cursor:not-allowed;box-shadow:none}
.ob-nbar{display:flex;align-items:center;gap:12px;margin:12px 24px 0;padding:10px 12px 10px 16px;border-radius:14px;background:#f3f0ff;border:1px solid #c4b8f5;color:#5A4300;font:400 14px/1.4 Poppins,system-ui,sans-serif}
.ob-nbar>svg{width:20px;height:20px;flex-shrink:0;color:#5b45b8}
.ob-nbar>span{flex:1;min-width:0}.ob-nbar b{font-weight:600;color:#3D2E00}.ob-nbar .sub{color:#5b45b8}
.ob-nbar .ob-btn{font:600 14px/1 Poppins,system-ui,sans-serif;min-height:36px;padding:0 16px;border-radius:999px;border:0;background:#8b7cf6;color:#030D14;cursor:pointer;flex-shrink:0}
.ob-nbar .ob-btn:hover{background:#8b7cf6}
html.dark .ob-nbar,[data-theme="dark"] .ob-nbar{background:#2E2608;border-color:#5b45b8;color:#e4ddff}
html.dark .ob-nbar b,[data-theme="dark"] .ob-nbar b{color:#e4ddff}html.dark .ob-nbar .sub,[data-theme="dark"] .ob-nbar .sub{color:#c4b8f5}
@media (max-width:760px){.ob-nbar{margin:10px 12px 0;padding:9px 10px 9px 12px;font-size:13px;gap:10px}.ob-nbar .sub{display:none}.ob-nbar .ob-btn{min-height:34px;padding:0 14px}}

/* ---- /static/worlds.css?v=8 ---- */
/* Worlds landing v2 (2026-10-07, Tamra design) */
html.wl-open body{overflow:hidden}
#wLand{position:fixed;inset:0;z-index:9000;overflow-y:auto;background:#f7f8fc;color:#0f1a3c;font-family:inherit;animation:pop .2s ease}
.wl-hdr{display:flex;align-items:center;gap:12px;padding:16px 28px;background:#fff;border-bottom:1px solid #eceef5}
.wl-logo{font-size:24px;font-weight:800;letter-spacing:-.02em;color:#0f1a3c}.wl-logo span{color:#8b7cf6}.wl-sp{flex:1}
.wl-demo{background:#e4ddff;color:#5b45b8;font-size:12px;font-weight:600;padding:5px 12px;border-radius:8px}
.wl-av{width:34px;height:34px;border-radius:50%;background:#3d5fb5;color:#fff;display:grid;place-items:center;font-weight:700}
.wl-banner{background:#f3f0ff;color:#5b45b8;font-size:13px;padding:8px 28px}
.wl-in{max-width:1000px;margin:0 auto;padding:28px 24px 40px}
.wl-eye{text-align:center;margin:0;font-size:17px;color:#2c3557}
#wLand h1{text-align:center;font-size:clamp(26px,3.4vw,36px);font-weight:800;margin:4px 0;color:#0f1a3c;letter-spacing:-.01em}
.wl-sub{text-align:center;margin:0 0 22px;color:#3d4566;font-size:16px}
.wl-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.wl-card{position:relative;display:flex;flex-direction:column;gap:12px;background:#fff;border:1px solid #e3e6ef;border-radius:14px;padding:20px;color:#0f1a3c;text-decoration:none;transition:box-shadow .15s,transform .15s}
a.wl-card:hover{box-shadow:0 10px 28px #1a1f4a1c;transform:translateY(-2px);text-decoration:none}
.wl-top{display:flex;gap:14px;align-items:flex-start}
.wl-ic{flex:none;width:52px;height:52px;border-radius:12px;display:grid;place-items:center}.wl-ic svg{width:26px;height:26px;fill:currentColor}
.wl-ops .wl-ic{background:#dfe9fd;color:#2552c9}.wl-sales .wl-ic{background:#d9f3ea;color:#0f8a5f}.wl-people .wl-ic{background:#e9e3fb;color:#6a4bd1}.wl-biz .wl-ic{background:#f3f0ff;color:#5b45b8}
.wl-tt{flex:1}.wl-tt h2{margin:2px 0 4px;font-size:21px;font-weight:700;color:#0f1a3c}.wl-tt p{margin:0;color:#3d4566;font-size:14px;line-height:1.4}
.wl-tt h2 em{font-style:normal;font-size:12px;font-weight:600;padding:3px 9px;border-radius:7px;background:#e9e3fb;color:#5a3fc0;vertical-align:middle;margin-left:6px}
.wl-chips{display:flex;gap:8px;flex-wrap:wrap}
.wl-chip{min-width:96px;padding:8px 12px;border-radius:8px;background:#eef3fd}.wl-sales .wl-chip{background:#e7f6f0}
.wl-chip b{display:block;font-size:18px;color:#1d3f9a;font-variant-numeric:tabular-nums}.wl-sales .wl-chip b{color:#0b6b4a}
.wl-chip small{font-size:12px;color:#3d4566}
.wl-note{margin:0 0 0 66px;font-size:13px;color:#3d4566}
.wl-go{margin-top:auto;font-weight:700;font-size:15px;color:#2552c9}.wl-sales .wl-go{color:#0f8a5f}.wl-biz .wl-go{color:#5b45b8}
.wl-dis{margin-top:auto;padding:10px 14px;border-radius:8px;background:#f0f1f5;color:#8a90a6;font-size:14px;max-width:260px}
.wl-card.soon{cursor:default}
.wl-chev{display:none;font-size:26px;line-height:1;color:#2552c9;align-self:center}
.wl-sum{display:none}
.wl-ella{display:flex;gap:16px;align-items:center;margin-top:20px;padding:18px 22px;border-radius:12px;background:#ece8fb}
.wl-ella svg{width:30px;height:30px;fill:#6a4bd1;flex:none}.wl-ella b{display:block;color:#0f1a3c;font-size:16px}.wl-ella span{color:#3d4566;font-size:14px}.wl-mb{display:none!important}
.wl-foot{margin:14px 0 0;color:#6b7290;font-size:13px}
@media (max-width:760px){
  .wl-hdr{padding:14px 16px}.wl-banner{padding:8px 16px}.wl-in{padding:18px 14px 90px}
  .wl-eye,#wLand h1,.wl-sub{text-align:left}#wLand h1{font-size:28px;line-height:1.15}.wl-sub{font-size:14px;margin-bottom:16px}
  .wl-grid{grid-template-columns:1fr;gap:12px}.wl-card{padding:14px;gap:8px}
  .wl-ic{width:44px;height:44px}.wl-ic svg{width:22px;height:22px}.wl-tt h2{font-size:17px}.wl-tt p{font-size:13px}
  .wl-chips,.wl-go,.wl-note,.wl-dis{display:none}.wl-chev{display:block}.wl-sum{display:block;margin:0;font-size:13px;color:#0f6a4a}.wl-ops .wl-sum{color:#1d3f9a}
  .wl-card.soon{background:#f5f3fc}.wl-ella{margin-top:14px;padding:14px}.wl-dk{display:none!important}.wl-mb{display:block!important;font-size:14px!important;font-weight:500!important}.wl-foot{display:none}
}
/* Switch world sheet */
#wSheet{position:fixed;inset:0;z-index:9500}
.ws-scrim{position:absolute;inset:0;background:rgba(15,22,50,.45)}
.ws-sh{position:absolute;left:0;right:0;bottom:0;max-width:520px;margin:0 auto;background:#fff;border-radius:20px 20px 0 0;padding:10px 16px 22px;box-shadow:0 -10px 40px #0003;animation:wsUp .22s ease;color:#0f1a3c}
@keyframes wsUp{from{transform:translateY(100%)}to{transform:none}}
.ws-grab{display:block;width:40px;height:4px;border-radius:4px;background:#d5d8e2;margin:0 auto 10px}
.ws-hd{display:flex;align-items:center;justify-content:space-between;margin:4px 2px 12px}.ws-hd b{font-size:18px}
.ws-x{border:0;background:none;font-size:18px;cursor:pointer;color:#3d4566}
.ws-row{display:flex;align-items:center;gap:12px;padding:10px 12px;margin-bottom:8px;border:1px solid #e3e6ef;border-radius:10px;color:#0f1a3c;text-decoration:none}
a.ws-row:hover{background:#f7f8fc;text-decoration:none}.ws-row.on{background:#f3f6fe}.ws-row.soon{background:#f5f3fc}
.ws-row .wl-ic{width:36px;height:36px;border-radius:9px}.ws-row .wl-ic svg{width:20px;height:20px}
.ws-t{flex:1}.ws-t b{display:block;font-size:15px}.ws-t small{color:#3d4566;font-size:12px}
.ws-row em{font-style:normal;font-size:11px;font-weight:600;padding:3px 8px;border-radius:6px;background:#e9e3fb;color:#5a3fc0}
.ws-row .wl-chev{display:block;color:#3d4566;font-size:22px}
.ws-cur{display:flex;gap:6px;align-items:center;font-size:13px;font-weight:600;color:#2552c9}.ws-cur i{font-style:normal;width:18px;height:18px;border-radius:50%;background:#2552c9;color:#fff;display:grid;place-items:center;font-size:11px}
.ws-all{text-align:center;border-top:1px solid #eceef5;margin-top:14px;padding-top:14px}
.ws-all button{border:0;background:none;color:#2552c9;font-weight:700;font-size:15px;cursor:pointer}.ws-all small{display:block;color:#6b7290;font-size:12px;margin-top:4px}
.wl-hdr{padding-top:40px}@media (max-width:760px){.wl-hdr{padding-top:38px}}.ws-sh{padding-bottom:72px}

/* v3: Students world (coming soon) - teal; full-width last row on desktop */
.wl-students .wl-ic{background:#d3f1f1;color:#0b7c7f}
.wl-card.wl-students{grid-column:1/-1;flex-direction:row;align-items:center;justify-content:space-between}
.wl-card.wl-students .wl-dis{margin-top:0;flex:none}
@media (max-width:760px){.wl-card.wl-students{flex-direction:column;align-items:stretch}}

/* v3b: closer match to Tamra's design */
.wl-me{position:relative}.wl-avb{display:flex;align-items:center;gap:6px;border:0;background:none;padding:0;cursor:pointer;color:#3d4566}
.wl-dd{width:18px;height:18px}
.wl-menu{position:absolute;right:0;top:44px;min-width:200px;background:#fff;border:1px solid #e3e6ef;border-radius:12px;box-shadow:0 12px 32px #1a1f4a26;padding:6px;z-index:2}
.wl-mh{padding:8px 10px;border-bottom:1px solid #eceef5;margin-bottom:4px}.wl-mh b{display:block;font-size:14px}.wl-mh small{color:#6b7290;font-size:12px}
.wl-menu button{display:block;width:100%;text-align:left;border:0;background:none;padding:9px 10px;border-radius:8px;font-size:14px;color:#0f1a3c;cursor:pointer}.wl-menu button:hover{background:#f3f5fb}
.wl-in{max-width:1180px;padding:30px 32px 44px}
.wl-grid{gap:20px}.wl-card{padding:24px;border-radius:16px;gap:16px}
.wl-ic{width:68px;height:68px;border-radius:16px}.wl-ic svg{width:34px;height:34px}
.wl-tt h2{font-size:24px;font-weight:800;margin-top:4px}.wl-tt p{font-size:15px}
.wl-chip{min-width:120px;padding:10px 16px;border-radius:10px}.wl-chip b{font-size:22px}.wl-chip small{font-size:13px}
.wl-note{margin-left:82px;font-size:14px}.wl-go{font-size:16px}.wl-dis{max-width:320px;padding:12px 16px}
.wl-ella{padding:22px 26px;gap:20px}.wl-ella svg{width:44px;height:44px}.wl-ella b{font-size:17px}
.wl-biz .wl-sum,.wl-people .wl-sum,.wl-students .wl-sum{color:#6b7290}
@media (max-width:760px){
  .wl-in{padding:18px 14px 90px}.wl-card{padding:14px;gap:8px;border-radius:14px}
  .wl-ic{width:48px;height:48px;border-radius:12px}.wl-ic svg{width:24px;height:24px}.wl-tt h2{font-size:18px}
  .wl-ella svg{width:30px;height:30px}.wl-ella{padding:14px}
}
.wl-avb,.wl-avb:hover,.wl-avb:focus{background:none!important;box-shadow:none!important;color:#3d4566!important}

/* ===== Worlds landing C (2026-10-08, Tamra picked mockup C "Command" + world-themed copy C1). Scoped to #wLand.wc ===== */
#wLand.wc{top:var(--cct-h,0px);background:#f4f6fb;color:#121a2e;font-family:Inter,system-ui,sans-serif;font-feature-settings:"cv11","ss01","ss03";-webkit-font-smoothing:antialiased;
  --navy:#0f1a3c;--blue:#3b6cf6;--gold:#8b7cf6;--t2:#3b4560;--mut:#66708a;--faint:#9aa2b8;--line:#e6e9f2;--ops:#3b6cf6;--sales:#22945a;--fin:#8b7cf6;--tut:#7a5cf0;--stu:#178c8c}
#wLand.wc *{box-sizing:border-box}
#wLand.wc svg{display:block}
#wLand.wc a{text-decoration:none;color:inherit}
html.wl-open #palette{z-index:9600}
.wc .wc-logo{font-size:22px;font-weight:800;letter-spacing:-.025em;color:var(--navy)}.wc .wc-logo span{color:var(--gold)}
.wc-app{display:grid;grid-template-columns:400px 1fr;min-height:100%;padding:18px}
/* Ella rail */
.wc-rail{position:sticky;top:18px;height:calc(100vh - var(--cct-h,0px) - 36px);min-height:560px;border-radius:26px;padding:26px 24px 22px;color:#fff;display:flex;flex-direction:column;overflow:hidden;
  background:radial-gradient(420px 300px at 100% 0%,rgba(91,134,255,.35),transparent 65%),radial-gradient(300px 220px at 0% 100%,rgba(139,124,246,.10),transparent 70%),linear-gradient(165deg,#13224f,#0a1330 70%);box-shadow:0 20px 50px rgba(10,19,48,.25)}
.wc-rail .wc-logo{color:#fff}
.wc-ehd{display:flex;align-items:center;gap:16px;margin-top:auto}
.wc-orb{width:58px;height:58px;border-radius:50%;flex-shrink:0;background:radial-gradient(circle at 34% 28%,#fff 0,#dbe5ff 10%,#7d9dff 34%,#3b6cf6 60%,#1c2f80 90%);box-shadow:0 0 30px rgba(91,134,255,.7),0 0 0 7px rgba(91,134,255,.1)}
.wc-ehd b{display:block;font-size:12.5px;font-weight:650;color:rgba(255,255,255,.62);letter-spacing:.08em}
.wc-ehd h2{margin:2px 0 0;font-size:23px;font-weight:700;letter-spacing:-.025em;color:#fff}
.wc-cnt{margin-left:auto;align-self:flex-start;font-size:12px;font-weight:700;color:#0f1a3c;background:#c4b8f5;border-radius:999px;padding:4px 9px}
.wc-cnt.z{background:rgba(95,211,154,.2);color:#8ff0bf}
.wc-list{margin-top:28px;display:flex;flex-direction:column;gap:12px}
.wc-it{display:flex;align-items:center;gap:14px;padding:16px;border-radius:18px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);color:#fff;cursor:pointer;transition:background .15s}
.wc-it:hover{background:rgba(255,255,255,.12)}
.wc-it:first-child{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.18);box-shadow:inset 0 1px 0 rgba(255,255,255,.1)}
.wc-iic{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;flex-shrink:0;background:color-mix(in srgb,var(--c) 26%,transparent);color:color-mix(in srgb,var(--c) 45%,#fff)}
.wc-iic svg{width:19px;height:19px}
.wc-itt{flex:1;min-width:0}
.wc-itt b{display:block;font-size:15px;font-weight:650;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.wc-itt small{display:block;font-size:12.5px;color:rgba(255,255,255,.62);margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.wc-itt small i{font-style:normal;font-weight:700;color:color-mix(in srgb,var(--c) 40%,#fff)}
.wc-ib{height:34px;padding:0 13px;border-radius:10px;font-size:13px;font-weight:650;display:inline-flex;align-items:center;background:rgba(255,255,255,.12);color:#fff;flex-shrink:0}
.wc-it:first-child .wc-ib{background:#fff;color:var(--navy)}
.wc-quiet{padding:18px 16px;border-radius:18px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);font-size:14.5px;color:rgba(255,255,255,.8)}
.wc-sk{height:72px;border-radius:18px;background:rgba(255,255,255,.06);animation:wcPulse 1.2s ease-in-out infinite}
@keyframes wcPulse{50%{opacity:.5}}
.wc-clear{display:flex;align-items:center;gap:10px;margin-top:18px;padding:0 4px;font-size:13px;color:rgba(255,255,255,.62)}.wc-clear svg{width:16px;height:16px;color:#5fd39a}
.wc-ask{display:flex;align-items:center;gap:10px;width:100%;height:50px;margin-top:auto;padding:0 8px 0 16px;border-radius:15px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);font:inherit;font-size:14px;color:rgba(255,255,255,.62);cursor:text;text-align:left;justify-content:flex-start}
.wc-ask:hover{background:rgba(255,255,255,.12)}
.wc-ask svg{width:16px;height:16px;color:#c4b8f5}
.wc-ask kbd{margin-left:auto;font:600 11.5px Inter,system-ui,sans-serif;color:rgba(255,255,255,.7);border:1px solid rgba(255,255,255,.18);border-radius:8px;padding:5px 8px;background:none}
.wc-note{font-size:12px;color:rgba(255,255,255,.45);margin:14px 0 0;text-align:center}
.wc-gap{flex:0 0 22px}
/* main */
.wc-main{padding:14px 30px 20px 48px;display:flex;flex-direction:column;min-width:0}
.wc-top{display:flex;align-items:center;height:48px;gap:12px}
.wc-date{font-size:13px;font-weight:600;color:var(--mut)}
.wc-sp{flex:1}
.wc-demo{background:#e4ddff;color:#5b45b8;font-size:12px;font-weight:650;padding:5px 11px;border-radius:999px}
.wc-me{position:relative}
.wc-avb{display:flex;align-items:center;gap:10px;border:0;background:none!important;box-shadow:none!important;padding:0;cursor:pointer;font:inherit;font-size:14px;font-weight:600;color:var(--t2)!important}
.wc-av{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,#c4b8f5,#8b7cf6);color:var(--navy);font-weight:750;font-size:12.5px;display:grid;place-items:center}
.wc .wl-menu{top:46px}
#wLand.wc h1.wc-h1{font-size:46px;font-weight:720;letter-spacing:-.038em;color:var(--navy);margin:60px 0 0;text-align:left;line-height:1.1}
.wc-sub{font-size:17px;color:var(--mut);margin:10px 0 0}
.wc-worlds{display:grid;grid-template-columns:repeat(var(--n,3),1fr);gap:22px;margin-top:42px}
.wc-w{position:relative;background:#fff;border-radius:22px;padding:30px 28px 26px;border:1px solid rgba(15,26,60,.06);box-shadow:0 1px 2px rgba(15,26,60,.04),0 12px 34px rgba(15,26,60,.07);display:flex;flex-direction:column;overflow:hidden;cursor:pointer;transition:transform .25s cubic-bezier(.2,.8,.2,1),box-shadow .25s}
.wc-w:hover{transform:translateY(-4px);box-shadow:0 2px 4px rgba(15,26,60,.05),0 22px 48px rgba(15,26,60,.13)}
.wc-w:focus-visible{outline:3px solid color-mix(in srgb,var(--c) 45%,transparent);outline-offset:3px}
.wc-w:before{content:"";position:absolute;right:-60px;top:-60px;width:220px;height:220px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--c) 9%,transparent),transparent 70%)}
.wc-i3{position:relative;width:76px;height:76px;flex-shrink:0}
.wc-i3:before{content:"";position:absolute;inset:6px -4px -6px 8px;border-radius:22px;background:color-mix(in srgb,var(--c) 22%,#fff);transform:rotate(10deg)}
.wc-i3 span{position:absolute;inset:0;border-radius:22px;display:grid;place-items:center;color:#fff;
  background:linear-gradient(155deg,color-mix(in srgb,var(--c) 55%,#fff) 0%,var(--c) 55%,color-mix(in srgb,var(--c) 80%,#000) 100%);
  box-shadow:0 16px 28px color-mix(in srgb,var(--c) 38%,transparent),inset 0 2px 0 rgba(255,255,255,.5),inset 0 -8px 14px rgba(0,0,0,.14)}
.wc-i3 span:after{content:"";position:absolute;left:10%;right:10%;top:5%;height:42%;border-radius:18px 18px 40% 40%;background:linear-gradient(180deg,rgba(255,255,255,.42),rgba(255,255,255,0))}
.wc-i3 svg{width:32px;height:32px;filter:drop-shadow(0 2px 3px rgba(0,0,0,.2));position:relative;z-index:1}
.wc-w h3{font-size:22px;font-weight:700;letter-spacing:-.02em;margin:30px 0 0;color:var(--text,#121a2e)}
.wc-w p{font-size:14px;color:var(--mut);margin:5px 0 0}
.wc-stat{display:flex;align-items:baseline;gap:8px;margin-top:26px;padding-top:22px;border-top:1px solid var(--line);min-height:57px}
.wc-stat b{font-size:34px;font-weight:720;letter-spacing:-.035em;color:var(--navy);font-variant-numeric:tabular-nums;line-height:1}
.wc-stat span{font-size:14px;color:var(--t2);font-weight:520}
.wc-stat .wc-phr{font-size:15px;font-weight:600;line-height:34px}
.wc-cta{margin-top:24px;height:50px;border-radius:13px;display:flex;align-items:center;justify-content:center;gap:8px;font-size:14.5px;font-weight:650;color:#fff;background:var(--c);box-shadow:0 8px 18px color-mix(in srgb,var(--c) 30%,transparent),inset 0 1px 0 rgba(255,255,255,.2)}
.wc-cta svg{width:16px;height:16px}
.wc-soonrow{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:22px}
.wc-soon{display:flex;align-items:center;gap:16px;padding:20px 22px;border-radius:20px;background:rgba(255,255,255,.55);border:1px dashed #d3d9e6}
.wc-soon .wc-i3{width:50px;height:50px;filter:grayscale(.35);opacity:.6}.wc-soon .wc-i3 span,.wc-soon .wc-i3:before{border-radius:15px}.wc-soon .wc-i3 svg{width:22px;height:22px}
.wc-soon b{display:block;font-size:16px;font-weight:650;color:#121a2e}
.wc-soon small{font-size:13px;color:var(--mut)}
.wc-lock{margin-left:auto;white-space:nowrap;flex-shrink:0;display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 12px;border-radius:999px;background:#fff;border:1px solid var(--line);font-size:12px;font-weight:650;color:var(--mut)}
.wc-lock svg{width:13px;height:13px}
.wc-foot{font-size:12.5px;color:var(--faint);margin:auto 0 0;padding-top:22px;text-align:center}
.wc-mhead{display:none}
@media (max-width:1180px) and (min-width:761px){.wc-app{grid-template-columns:340px 1fr}.wc-main{padding-left:32px}.wc-worlds{gap:16px}.wc-w{padding:24px 20px 20px}#wLand.wc h1.wc-h1{font-size:38px}}
@media (max-width:760px){
  .wc-app{display:flex;flex-direction:column;padding:0 0 84px}
  .wc-main{display:contents}
  .wc-h1,.wc-sub,.wc-worlds,.wc-soonrow{margin-left:16px!important;margin-right:16px!important}
  .wc-h1{order:1}.wc-sub{order:2}.wc-rail{order:3}.wc-worlds{order:4}.wc-soonrow{order:5}.wc-foot{order:6;padding:18px 16px 8px}
  .wc-mhead{display:flex;align-items:center;gap:10px;padding:14px 16px 4px}.wc-mhead .wc-av{width:32px;height:32px;font-size:12px}
  .wc-mhead .wc-sp{flex:1}
  .wc-top{display:none}
  #wLand.wc h1.wc-h1{font-size:30px;margin-top:12px}.wc-sub{font-size:15px;margin-top:6px}
  .wc-rail{position:static;height:auto;min-height:0;margin:18px 16px 0;border-radius:22px;padding:20px 16px 16px}
  .wc-rail>.wc-logo,.wc-gap,.wc-note{display:none}
  .wc-ehd{margin-top:0}.wc-orb{width:42px;height:42px}.wc-ehd h2{font-size:19px}
  .wc-list{margin-top:16px;gap:8px}.wc-it{padding:12px;gap:12px;border-radius:15px}.wc-sk{height:62px}
  .wc-iic{width:36px;height:36px}.wc-itt b{font-size:14px}.wc-itt small{font-size:12px}
  .wc-clear{margin-top:12px;font-size:12.5px}
  .wc-ask{margin-top:14px;height:46px}.wc-ask kbd{display:none}
  .wc-worlds{grid-template-columns:1fr;gap:14px;margin-top:18px}
  .wc-w{padding:20px;display:grid;grid-template-columns:60px 1fr;column-gap:16px;align-items:center}
  .wc-w .wc-hd{display:contents}
  .wc-w .wc-i3{width:60px;height:60px}.wc-w .wc-i3 span,.wc-w .wc-i3:before{border-radius:18px}.wc-w .wc-i3 svg{width:26px;height:26px}
  .wc-w h3{margin-top:0;font-size:19px}.wc-w p{margin-top:2px;font-size:13px}
  .wc-stat,.wc-cta{grid-column:1/3}
  .wc-stat{margin-top:16px;padding-top:14px;min-height:0}.wc-stat b{font-size:30px}
  .wc-cta{margin-top:14px;height:46px}
  .wc-soonrow{grid-template-columns:1fr;gap:10px;margin-top:14px}.wc-soon{padding:14px 16px}
}

/* ---- /static/worldsoft.css?v=640-790-1706 ---- */
/* Worlds landing "Soft Cards" (Tamra 2026-10-08, mockup worlds-educare). Scoped to #wLand.wsc; classes wsc-*. Command Center colors. */
#wLand.wsc{--wsc-navy:#121a2e;--wsc-t2:#3b4560;--wsc-mut:#66708a;--wsc-faint:#9aa2b8;--wsc-line:#e6e9f2;--wsc-ops:#3b6cf6;--wsc-sales:#22945a;--wsc-fin:#8b7cf6;
  --wsc-tut:#7a5cf0;--wsc-stu:#178c8c;--wsc-gold:#8b7cf6;--wsc-red:#e5484d;--wsc-soft:#f5f7fc;--wsc-sh:0 1px 2px rgba(23,35,79,.04),0 12px 32px -18px rgba(23,35,79,.18);
  background:radial-gradient(900px 500px at 100% 0,rgba(139,124,246,.10),transparent 60%),radial-gradient(800px 600px at 0 100%,rgba(59,108,246,.08),transparent 60%),#f4f6fb;
  color:var(--wsc-navy);font-family:Inter,system-ui,sans-serif;-webkit-font-smoothing:antialiased;animation:none}
#wLand.wsc *{box-sizing:border-box}
#wLand.wsc a{color:inherit;text-decoration:none}
#wLand.wsc svg{display:block}
#wLand.wsc h1,#wLand.wsc h2,#wLand.wsc h3,#wLand.wsc p{margin:0;font-family:inherit;text-align:left}
.wsc-wrap{max-width:1360px;margin:0 auto;padding:20px 36px 28px;font-variant-numeric:tabular-nums}
/* top bar */
.wsc-top{display:flex;align-items:center;gap:14px}
.wsc-brand{display:flex;align-items:center;gap:10px;background:#fff;border-radius:999px;padding:7px 18px 7px 7px;box-shadow:var(--wsc-sh)}
.wsc-bm{width:34px;height:34px;border-radius:50%;background:var(--wsc-navy);display:grid;place-items:center;color:#fff}.wsc-bm svg{width:18px;height:18px}
.wsc-logo{font-size:18px;font-weight:800;letter-spacing:-.025em}.wsc-logo span{color:var(--wsc-gold)}
.wsc-nav{margin:0 auto;display:flex;gap:4px;background:#fff;border-radius:999px;padding:6px;box-shadow:var(--wsc-sh)}
.wsc-nv{display:flex;align-items:center;gap:7px;font-size:13.5px;font-weight:600;color:var(--wsc-t2);padding:9px 15px;border-radius:999px;cursor:pointer}
.wsc-nv i{width:7px;height:7px;border-radius:50%;background:var(--c)}
a.wsc-nv:hover{background:var(--wsc-soft)}
.wsc-nv.on{background:var(--wsc-navy);color:#fff;cursor:default}
.wsc-nv.dim{color:var(--wsc-faint);cursor:default}
.wsc-me{position:relative;display:flex;align-items:center;gap:6px;background:#fff;border-radius:999px;padding:6px;box-shadow:var(--wsc-sh)}
.wsc-demo{font-size:11.5px;font-weight:700;color:#5b45b8;background:#f3f0ff;border-radius:999px;padding:6px 10px}
.wsc-rb{width:34px;height:34px;border-radius:50%;background:var(--wsc-soft);display:grid;place-items:center;color:var(--wsc-t2);position:relative}
.wsc-rb svg{width:17px;height:17px}.wsc-dot{position:absolute;top:7px;right:8px;width:7px;height:7px;border-radius:50%;background:var(--wsc-red);border:2px solid var(--wsc-soft)}
.wsc-av{width:34px;height:34px;border-radius:50%;border:0;background:linear-gradient(135deg,#2a3b78,#121a2e);color:#fff;display:grid;place-items:center;font:700 14px Inter,system-ui,sans-serif;cursor:pointer}
.wsc-menu{position:absolute;right:0;top:calc(100% + 8px);min-width:200px;background:#fff;border:1px solid var(--wsc-line);border-radius:14px;box-shadow:0 18px 40px -16px rgba(23,35,79,.3);padding:6px;z-index:2}
.wsc-mh{padding:8px 10px 10px;border-bottom:1px solid var(--wsc-line);margin-bottom:4px}.wsc-mh b{display:block;font-size:14px}.wsc-mh small{font-size:12px;color:var(--wsc-mut)}
.wsc-menu button{width:100%;text-align:left;border:0;background:none;padding:9px 10px;border-radius:9px;font:600 13.5px Inter,system-ui,sans-serif;color:var(--wsc-navy);cursor:pointer}
.wsc-menu button:hover{background:var(--wsc-soft)}
.wsc-banner{margin:12px auto 0;width:max-content;max-width:100%;font-size:12.5px;font-weight:600;color:#5b45b8;background:#f3f0ff;border-radius:999px;padding:6px 14px}
/* hero */
.wsc-hero{display:grid;grid-template-columns:1fr auto;align-items:center;gap:28px;margin:24px 0 18px}
#wLand.wsc h1{font-size:40px;font-weight:800;letter-spacing:-.035em;line-height:1.05;color:var(--wsc-navy)}
.wsc-sub{margin-top:8px!important;font-size:16px;color:var(--wsc-mut);font-weight:500}
.wsc-stats{display:grid;grid-template-columns:repeat(4,168px);gap:12px}
.wsc-stats.n3{grid-template-columns:repeat(3,168px)}.wsc-stats.n2{grid-template-columns:repeat(2,168px)}.wsc-stats.n1{grid-template-columns:168px}
.wsc-st{background:#fff;border-radius:18px;padding:13px 14px 12px;box-shadow:var(--wsc-sh);display:grid;grid-template-columns:1fr auto;row-gap:6px;transition:transform .15s,box-shadow .15s}
.wsc-st:hover,.wsc-w:hover,.wsc-li.own:hover{transform:translateY(-1px);box-shadow:0 1px 2px rgba(23,35,79,.05),0 16px 34px -16px rgba(23,35,79,.28)}
.wsc-l{font-size:13px;font-weight:600;color:var(--wsc-t2)}
.wsc-ci{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:color-mix(in srgb,var(--c) 14%,#fff);color:var(--c)}.wsc-ci svg{width:16px;height:16px}
.wsc-n{font-size:24px;font-weight:800;letter-spacing:-.03em;align-self:end}
.wsc-d{font-size:11.5px;font-weight:600;color:var(--wsc-faint);align-self:end;padding-bottom:3px}
.wsc-load{padding:40px 0;text-align:center;color:var(--wsc-mut);font-weight:600}
/* cards */
.wsc-card{background:#fff;border-radius:24px;box-shadow:var(--wsc-sh);padding:20px 22px;min-width:0}
.wsc-ch{display:flex;align-items:center;gap:10px;margin-bottom:16px}
#wLand.wsc .wsc-ch h2{font-size:17px;font-weight:700;letter-spacing:-.015em}
.wsc-sp{flex:1}
.wsc-chip{font-size:12.5px;font-weight:600;color:var(--wsc-t2);background:var(--wsc-soft);padding:8px 13px;border-radius:999px}
.wsc-rnd{width:36px;height:36px;border-radius:50%;border:1px solid var(--wsc-line);display:grid;place-items:center;color:var(--wsc-t2);background:#fff;flex:none}
.wsc-rnd svg{width:16px;height:16px}a.wsc-rnd:hover{background:var(--wsc-soft)}
.wsc-row2{display:grid;grid-template-columns:1.72fr 1fr;gap:18px}
.wsc-row3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:18px;margin-top:18px}
/* worlds */
.wsc-worlds{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.wsc-worlds.n2{grid-template-columns:repeat(2,1fr)}
.wsc-w{position:relative;border-radius:20px;padding:16px 16px 12px;background:var(--wsc-soft);display:flex;flex-direction:column;transition:transform .15s,box-shadow .15s}
.wsc-w.hot{background:linear-gradient(160deg,#1d3a9e,#3b6cf6);color:#fff}
.wsc-wh{display:grid;grid-template-columns:auto 1fr;grid-template-areas:"ic go" "nm nm";align-items:center;row-gap:12px}
.wsc-wh .wsc-ic{grid-area:ic}.wsc-wh .wsc-go{grid-area:go;justify-self:end}.wsc-wh .wsc-wn{grid-area:nm}
.wsc-ic{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:color-mix(in srgb,var(--c) 15%,#fff);color:var(--c);flex:none}
.wsc-ic svg{width:21px;height:21px}.wsc-ic.sm{width:36px;height:36px}.wsc-ic.sm svg{width:18px;height:18px}
.wsc-w.hot .wsc-ic{background:rgba(255,255,255,.18);color:#fff;box-shadow:inset 0 0 0 1px rgba(255,255,255,.3)}
#wLand.wsc .wsc-w h3{font-size:17px;font-weight:700;letter-spacing:-.015em;display:flex;align-items:center}
.wsc-tg{font-size:12.5px;color:var(--wsc-mut);font-weight:500;margin-top:1px}.wsc-w.hot .wsc-tg{color:rgba(255,255,255,.78)}
.wsc-go{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#fff;color:var(--wsc-navy);box-shadow:0 2px 6px rgba(23,35,79,.08)}.wsc-go svg{width:16px;height:16px}
.wsc-num{margin-top:14px;display:flex;align-items:baseline;gap:7px;flex-wrap:wrap}
.wsc-num b{font-size:34px;font-weight:800;letter-spacing:-.04em;line-height:1.05}
.wsc-num span{font-size:13px;font-weight:600;color:var(--wsc-mut)}.wsc-w.hot .wsc-num span{color:rgba(255,255,255,.82)}
.wsc-bars{display:flex;align-items:flex-end;gap:5px;height:46px;margin-top:10px}
.wsc-bars i{flex:1;height:100%;border-radius:7px;position:relative;overflow:hidden;background:repeating-linear-gradient(135deg,#e7e9f1 0 2px,transparent 2px 6px)}
.wsc-bars i::after{content:"";position:absolute;left:0;right:0;bottom:0;height:var(--h);border-radius:7px;background:color-mix(in srgb,var(--c) 32%,#fff)}
.wsc-bars i.t::after{background:var(--c)}
.wsc-w.hot .wsc-bars i{background:repeating-linear-gradient(135deg,rgba(255,255,255,.16) 0 2px,transparent 2px 6px)}
.wsc-w.hot .wsc-bars i::after{background:rgba(255,255,255,.38)}.wsc-w.hot .wsc-bars i.t::after{background:#fff}
.wsc-days{display:flex;gap:5px;margin-top:6px}.wsc-days span{flex:1;text-align:center;font-size:10.5px;font-weight:600;color:var(--wsc-faint)}
.wsc-cap{margin-top:6px;font-size:11px;font-weight:600;color:var(--wsc-faint)}
.wsc-w.hot .wsc-days span,.wsc-w.hot .wsc-cap{color:rgba(255,255,255,.65)}
.wsc-own{font-size:11px;font-weight:700;letter-spacing:.04em;color:#5b45b8;background:#f3f0ff;border-radius:999px;padding:4px 9px;margin-left:8px}
/* gauge */
.wsc-gc{display:flex;flex-direction:column}
.wsc-gauge{position:relative;display:grid;place-items:center;margin-top:2px}
.wsc-gauge svg{width:100%;max-width:330px;height:auto}
.wsc-gv{position:absolute;bottom:4px;left:0;right:0;text-align:center}
.wsc-gv b{display:block;font-size:42px;font-weight:800;letter-spacing:-.04em;line-height:1}
.wsc-gv span{font-size:13.5px;color:var(--wsc-mut);font-weight:500}
.wsc-leg{display:flex;justify-content:center;gap:18px;margin-top:14px;flex-wrap:wrap}
.wsc-leg>*{display:flex;align-items:center;gap:6px;font-size:12.5px;font-weight:600;color:var(--wsc-t2)}
.wsc-leg i{width:8px;height:8px;border-radius:50%;background:var(--c)}
/* list */
.wsc-li{display:flex;align-items:center;gap:12px;padding:10px 10px 10px 12px;border-radius:16px;border:1px solid var(--wsc-line);background:#fff;transition:transform .15s,box-shadow .15s}
.wsc-li+.wsc-li{margin-top:9px}
.wsc-li.own{background:color-mix(in srgb,var(--wsc-gold) 9%,#fff);border-color:color-mix(in srgb,var(--wsc-gold) 30%,#fff)}
.wsc-li.off{opacity:.62;filter:grayscale(.55);cursor:default}
.wsc-ring{width:38px;height:38px;border-radius:50%;flex:none;display:grid;place-items:center;background:conic-gradient(var(--c) calc(var(--p,0)*1%),#eceef4 0)}
.wsc-ring span{width:28px;height:28px;border-radius:50%;background:#fff;display:grid;place-items:center;color:var(--c)}.wsc-ring svg{width:14px;height:14px}
.wsc-li b{display:block;font-size:14.5px;font-weight:700;letter-spacing:-.01em}
.wsc-li small{font-size:12.5px;color:var(--wsc-mut);font-weight:500}
.wsc-li .wsc-rnd{width:32px;height:32px}
.wsc-li.own .wsc-rnd{background:var(--wsc-gold);border-color:var(--wsc-gold);color:#fff}
.wsc-li.off .wsc-rnd{color:var(--wsc-faint);background:var(--wsc-soft);border-color:transparent}
/* Ella insight */
.wsc-orb{width:30px;height:30px;border-radius:50%;flex:none;background:radial-gradient(circle at 34% 30%,#e3ecff 0,#8fb1ff 18%,#3b6cf6 52%,#1c3cb8 78%,#14277a 100%);box-shadow:0 0 0 4px rgba(59,108,246,.14),0 6px 18px rgba(59,108,246,.45)}
.wsc-ins{border-radius:18px;background:var(--wsc-soft);overflow:hidden}
.wsc-ih{display:flex;align-items:center;gap:11px;padding:13px 14px;background:#eef1f9}
.wsc-ih .wsc-ic{width:36px;height:36px}.wsc-ih .wsc-ic svg{width:18px;height:18px}
.wsc-ih b{font-size:15px;font-weight:700;letter-spacing:-.01em}
.wsc-ih small{display:block;font-size:12px;color:var(--wsc-mut);font-weight:600}
#wLand.wsc .wsc-ins p{padding:13px 15px 0;font-size:14px;line-height:1.5;color:var(--wsc-t2)}
#wLand.wsc .wsc-btn{display:flex;align-items:center;justify-content:center;gap:9px;margin:14px;padding:13px;border-radius:999px;background:var(--wsc-ops);color:#fff;font-weight:700;font-size:14.5px;box-shadow:0 10px 22px -10px rgba(59,108,246,.8)}
.wsc-btn:hover{background:#2f5be0}.wsc-btn svg{width:17px;height:17px}
/* Ella & Otto */
.wsc-trio{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;background:var(--wsc-soft);border-radius:16px;padding:12px 14px}
.wsc-trio small{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:var(--wsc-mut)}
.wsc-trio small i{width:7px;height:7px;border-radius:50%;background:var(--c)}
.wsc-trio b{display:block;font-size:22px;font-weight:800;letter-spacing:-.03em;margin-top:3px}
.wsc-ticks{display:flex;align-items:flex-end;gap:3.5px;height:46px;margin:16px 2px 6px}
.wsc-ticks i{flex:1;height:var(--h,30px);min-height:7px;border-radius:4px;background:color-mix(in srgb,var(--wsc-ops) 32%,#fff)}
.wsc-ticks i.f{background:#e9ebf2;height:22px}
.wsc-ticks i.now{height:46px;background:var(--wsc-navy);flex:1.4}
.wsc-tl{display:flex;justify-content:space-between;font-size:11px;font-weight:600;color:var(--wsc-faint)}
#wLand.wsc a:focus-visible,#wLand.wsc button:focus-visible{outline:2px solid var(--wsc-ops);outline-offset:2px}
/* tablet */
@media (max-width:1180px){.wsc-hero{grid-template-columns:1fr}.wsc-stats{grid-template-columns:repeat(4,1fr)!important}.wsc-nav{display:none}.wsc-top .wsc-me{margin-left:auto}}
/* phone */
@media (max-width:760px){
  .wsc-wrap{padding:14px 14px 28px}
  .wsc-nav,.wsc-rb,.wsc-demo{display:none}
  .wsc-brand{padding:5px 14px 5px 5px}.wsc-bm{width:30px;height:30px}.wsc-logo{font-size:16.5px}
  .wsc-top .wsc-me{margin-left:auto;padding:4px}.wsc-av{width:32px;height:32px}
  .wsc-hero{gap:16px;margin:20px 0 14px}
  #wLand.wsc h1{font-size:30px}.wsc-sub{font-size:15px;margin-top:6px!important}
  .wsc-stats{grid-template-columns:1fr 1fr!important;gap:10px}
  .wsc-st{padding:12px 12px 11px;border-radius:16px}.wsc-n{font-size:22px}
  .wsc-stack{display:flex;flex-direction:column;gap:12px}
  .wsc-row2,.wsc-row3{display:contents}
  .wsc-o1{order:1}.wsc-o2{order:2}.wsc-o3{order:3}.wsc-o4{order:4}.wsc-o5{order:5}
  .wsc-card{padding:16px;border-radius:22px}.wsc-ch{margin-bottom:12px}
  .wsc-worlds,.wsc-worlds.n2{grid-template-columns:1fr;gap:10px}
  .wsc-w{display:grid;grid-template-columns:auto 1fr auto;grid-template-areas:"ic nm go" "ic nb go";column-gap:12px;row-gap:0;padding:12px;align-items:center}
  .wsc-wh{display:contents}.wsc-w .wsc-ic{grid-area:ic}.wsc-w .wsc-wn{grid-area:nm;align-self:end}.wsc-w .wsc-go{grid-area:go;margin:0}
  .wsc-num{grid-area:nb;margin:0;align-self:start}.wsc-num b{font-size:20px}.wsc-num span{font-size:12.5px}
  .wsc-tg,.wsc-bars,.wsc-days,.wsc-cap{display:none}
  #wLand.wsc .wsc-w h3{font-size:16px}
  .wsc-gauge svg{max-width:280px}.wsc-gv b{font-size:36px}
}
#wLand.wsc .wsc-w h3,#wLand.wsc .wsc-num b{color:inherit}#wLand.wsc .wsc-w.hot h3,#wLand.wsc .wsc-w.hot .wsc-num b{color:#fff}
#wLand.wsc .wsc-n,#wLand.wsc .wsc-gv b,#wLand.wsc .wsc-trio b,#wLand.wsc .wsc-li b,#wLand.wsc .wsc-ih b{color:var(--wsc-navy)}
body:has(#ccTest) #wLand.wsc .wsc-wrap{padding-top:40px}   /* test only: clear the TEST stripe */
/* Pastel world cards (Tamra 2026-10-08: "Make the worlds boxes have a soft pastel. Business health can be tan.")
   Each world card gets its own soft tint: Operations sky, Sales mint, Finance (Business health) tan. Text stays navy; Ella's card keeps the only primary button. */
#wLand.wsc .wsc-w{--wsc-tint:#f5f7fc;--wsc-tint2:#eef1f8;--wsc-edge:rgba(18,26,46,.06);background:linear-gradient(160deg,var(--wsc-tint),var(--wsc-tint2));color:var(--wsc-navy);box-shadow:inset 0 0 0 1px var(--wsc-edge)}
#wLand.wsc .wsc-w[data-w=ops]{--wsc-tint:#eef4ff;--wsc-tint2:#e2ebff;--wsc-edge:rgba(59,108,246,.14)}
#wLand.wsc .wsc-w[data-w=sales]{--wsc-tint:#ecf8f1;--wsc-tint2:#dff3e8;--wsc-edge:rgba(34,148,90,.15)}
#wLand.wsc .wsc-w[data-w=biz]{--wsc-tint:#f3f0ff;--wsc-tint2:#e4ddff;--wsc-edge:rgba(91,69,184,.16)}
#wLand.wsc .wsc-w:hover{box-shadow:inset 0 0 0 1px var(--wsc-edge),0 16px 30px -18px rgba(23,35,79,.30)}
#wLand.wsc .wsc-w h3,#wLand.wsc .wsc-w .wsc-num b,#wLand.wsc .wsc-w.hot h3,#wLand.wsc .wsc-w.hot .wsc-num b{color:var(--wsc-navy)}
#wLand.wsc .wsc-w .wsc-ic{background:#fff;color:var(--c);box-shadow:0 1px 3px rgba(23,35,79,.08)}
#wLand.wsc .wsc-w .wsc-tg,#wLand.wsc .wsc-w .wsc-num span{color:#535d76}
#wLand.wsc .wsc-w .wsc-days span,#wLand.wsc .wsc-w .wsc-cap{color:#737c94}
#wLand.wsc .wsc-w .wsc-bars i{background:repeating-linear-gradient(135deg,rgba(18,26,46,.075) 0 2px,transparent 2px 6px)}
#wLand.wsc .wsc-w .wsc-bars i::after{background:color-mix(in srgb,var(--c) 40%,#fff)}
#wLand.wsc .wsc-w .wsc-bars i.t::after{background:var(--c)}
#wLand.wsc .wsc-w .wsc-own{background:#fff;color:#5b45b8}
/* Coming soon (Tutors / Students) stay muted, just a hint of their color */
#wLand.wsc .wsc-li.off{background:color-mix(in srgb,var(--c) 5%,#fff);border-color:color-mix(in srgb,var(--c) 10%,#e6e9f2)}

/* V624 worlds 2x2 grid */
#wLand.wsc .wsc-worlds,#wLand.wsc .wsc-worlds.n2,#wLand.wsc .wsc-worlds.n3,#wLand.wsc .wsc-worlds.n4{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:1fr;align-items:stretch}
#wLand.wsc .wsc-worlds>.wsc-w{height:100%;box-sizing:border-box}
#wLand.wsc .wsc-num b.wsc-sub{font-size:15px;font-weight:700}
@media (max-width:700px){#wLand.wsc .wsc-worlds,#wLand.wsc .wsc-worlds.n2,#wLand.wsc .wsc-worlds.n3,#wLand.wsc .wsc-worlds.n4{grid-template-columns:1fr}}

/* V624 Up Next */
#wLand.wsc .wsc-gc{display:flex;flex-direction:column}
#wLand.wsc .un624{margin-top:14px;padding-top:12px;border-top:1px solid #eef0f5;display:flex;flex-direction:column;gap:8px}
#wLand.wsc .un624 h4{margin:0;font-size:14px;font-weight:700;color:var(--wsc-navy)}
#wLand.wsc .un-r{display:grid;grid-template-columns:auto 1fr auto auto;gap:8px;align-items:center;padding:9px 11px;border-radius:12px;background:#f3f6fd;color:#2b3550;text-decoration:none;font-size:13px}
#wLand.wsc .un-r b{font-size:13px;white-space:nowrap}
#wLand.wsc .un-r span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#wLand.wsc .un-r.risk{background:#fde8ea;color:#8a2b36}
#wLand.wsc .un-r em{font-style:normal;font-size:13px;font-weight:650}
#wLand.wsc .un-r i{font-style:normal;font-size:13px;padding:2px 9px;border-radius:999px;background:#e3ecfb;color:#33508a}
#wLand.wsc .un-r i.ip{background:#e5f5ec;color:#2f6b49}
#wLand.wsc .un-e{font-size:13px;color:#66708a}
@media (max-width:420px){#wLand.wsc .un-r{grid-template-columns:auto 1fr auto}#wLand.wsc .un-r em{grid-column:1/-1;order:5}}
/* V624: world pill logo always in brand colors (gold i + cap, navy tutor), any world, TEST too */
html:not([data-theme=dark]) .sb-brand .itl,html:not([data-theme=dark]) .wchip .itl,html:not([data-theme=dark]) .wsc-brand .itl,html:not([data-theme=dark]) #wswBtn .itl{--logo-accent:#8b7cf6!important;--logo-main:#0b1736!important;filter:none!important}
html:not([data-theme=dark]) .wchip .wmk587::after{background:#8b7cf6!important}
html:not([data-theme=dark]) .cch-logo .itl,html:not([data-theme=dark]) .cch-lt.itl{--logo-accent:#8b7cf6!important;--logo-main:#0b1736!important;filter:none!important}

/* V629 Up Next: up to 5 on desktop, 3 on phone */
#wLand.wsc .un-more{font-size:13px;font-weight:650;color:#3b5bb5;text-decoration:none;padding:4px 2px}
@media (max-width:860px){#wLand.wsc .un624 .un-r:nth-of-type(n+4){display:none}}

/* V632 Up Next: always one line */
#wLand.wsc .un-r{grid-template-columns:auto minmax(0,1fr) auto auto!important;white-space:nowrap}
#wLand.wsc .un-r span{min-width:0;display:block}
#wLand.wsc .un-r em{grid-column:auto!important;order:0!important;white-space:nowrap}
#wLand.wsc .un-nt{text-decoration:none;display:inline-block;font-size:13px;font-weight:650;background:#f9d3d8;color:#8a2b36;border-radius:999px;padding:1px 8px;margin-right:6px;vertical-align:middle}
@media (max-width:420px){#wLand.wsc .un-r{gap:6px;padding:9px 9px}#wLand.wsc .un-r em{display:none}}

/* V633 skeletons */
#wLand.wsc .sk633b{display:block;height:14px;margin:10px 0 0;border-radius:10px;background:linear-gradient(90deg,#eef1f7 25%,#f7f8fc 50%,#eef1f7 75%);background-size:200% 100%;animation:sk633 1.2s linear infinite}
#wLand.wsc .sk633s{background:#fff;border-radius:18px;padding:14px;box-shadow:var(--wsc-sh)}
@keyframes sk633{to{background-position:-200% 0}}
@media (prefers-reduced-motion:reduce){#wLand.wsc .sk633b{animation:none}}

/* V10.8.636 Needs A Tutor banner (Tamra picked C): soft pink, roomy, sits above Up Next; Up Next rows stay one clean line */
#wLand.wsc .un-nt{display:none!important}
#wLand.wsc .nt636{margin-top:16px;padding:14px 16px;border-radius:16px;background:#fdeef1;box-shadow:inset 0 0 0 1px #f8d9df;display:flex;flex-direction:column;gap:10px}
#wLand.wsc .nt636-h{display:flex;align-items:center;gap:10px}
#wLand.wsc .nt636-ic{flex:none;width:30px;height:30px;border-radius:50%;background:#f9d5dc;color:#b23a4f;display:grid;place-items:center;font-weight:800;font-size:15px}
#wLand.wsc .nt636-h h4{margin:0;font-size:15px;font-weight:700;color:#a8344a;line-height:1.3}
#wLand.wsc .nt636-l{display:flex;flex-direction:column;gap:8px}
#wLand.wsc .nt636-r{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:12px;background:rgba(255,255,255,.65)}
#wLand.wsc .nt636-d{flex:1;min-width:0;display:flex;align-items:baseline;gap:10px;text-decoration:none;color:#7d3040;font-size:14px}
#wLand.wsc .nt636-d b{white-space:nowrap;font-size:14px;color:#8a2b3d}
#wLand.wsc .nt636-d span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#wLand.wsc .nt636-b{flex:none;font-size:13px;font-weight:700;text-decoration:none;color:#a8344a;background:#fff;border:1px solid #f1c3cc;border-radius:999px;padding:6px 14px;white-space:nowrap}
#wLand.wsc .nt636-b:hover{background:#fbe3e8}
#wLand.wsc .nt636-m{font-size:13px;font-weight:650;color:#a8344a;text-decoration:none;padding:0 2px}
#wLand.wsc .nt636+.un624{border-top:0;margin-top:16px;padding-top:0}
#wLand.wsc .un624 .nt636{margin-top:0}
@media (max-width:420px){#wLand.wsc .nt636{padding:12px 12px}#wLand.wsc .nt636-r{padding:10px 10px;gap:8px}#wLand.wsc .nt636-d{flex-direction:column;gap:2px}}

/* V10.8.640 Today's Sessions polish: At Risk is soft pink (no yellow on the card), legend text 13px */
#wLand.wsc,.wsc{--wsc-risk:#f2aab5}
#wLand.wsc .wsc-gc .wsc-leg>*{font-size:13px}
#wLand.wsc .wsc-gc .rp-pill,#wLand.wsc .wsc-gc .rp-pill.in{background:#fdeef1!important;color:#a8344a!important;font-size:13px!important}

/* V10.8.790 (pro audit L3): 3 Worlds sit in one row (no lone card + empty gap); 4 stay 2x2 */
@media (min-width:701px){#wLand.wsc .wsc-worlds.n3{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* V10.8.1706 (Tamra pt10u): Your Worlds card no longer leaves a big white blank under the tiles when Today's Sessions is taller.
   The tiles stretch to fill the card and the 7-day bars take the extra height. Desktop/tablet only; phone layout unchanged. */
@media (min-width:701px){
  #wLand.wsc .wsc-o1{display:flex;flex-direction:column}
  #wLand.wsc .wsc-o1>.wsc-worlds{flex:1 1 auto;min-height:0}
  #wLand.wsc .wsc-o1 .wsc-w{display:flex;flex-direction:column}
  #wLand.wsc .wsc-o1 .wsc-bars{flex:1 1 46px;height:auto;min-height:46px;max-height:300px}
}

/* ---- /static/sesscal.css?v=9-1548 ---- */
/* sesscal.css - Sessions · Calendar view (Tamra's approved mockups A Day / B Week / C Month, 2026-10-08). Command Center tokens only (style.css).
   V10.8.63+ colors: mode is the base (online = --info blue, in person = --violet), status rides on top (Live now = --success green ring + pulse,
   problem = amber/red edge, completed = lighter + gray check, cancelled = stripes + strike). */
.ph.cv-ph-host{position:relative}
.ph.cv-ph-host>.cv-sw{position:absolute;top:0;right:0}
.ph.cv-ph-host>.toolbar{margin-top:48px}
/* V10.8.1548 (Tamra 2026-10-26): the page title (.ph-t) is hidden by the design system (ccds.css) and the List filter bar is hidden while the Calendar shows,
   so the header had NO height and the absolutely-positioned List | Calendar switch hung down over the calendar card / day panel.
   The switch now sits IN the flow on its own right-aligned row (all widths); the List filter bar goes on the row below it. */
html .ph.cv-ph-host{display:flex;flex-direction:column;align-items:flex-end;justify-content:flex-start;flex-wrap:nowrap;gap:10px;height:auto!important;min-height:0!important;margin-bottom:14px}
html .ph.cv-ph-host>.cv-sw{position:static!important;order:-1;margin:0!important;max-width:100%;flex:0 0 auto}
html .ph.cv-ph-host>.toolbar{margin-top:0!important;max-width:100%}
html .ph.cv-ph-host>.toolbar.cv-hide{display:none!important}
.cv-seg{display:inline-flex;gap:2px;background:var(--surface-2);border:1px solid var(--border);padding:3px;border-radius:12px;flex:0 0 auto}
.cv-seg button{font:inherit;font-size:13px;font-weight:600;border:0;background:transparent;color:var(--muted);padding:6px 13px;border-radius:9px;display:inline-flex;align-items:center;gap:6px;cursor:pointer;box-shadow:none;min-width:0;line-height:1.3}
.cv-seg button:hover{background:transparent;color:var(--text)}
.cv-seg button .i{width:15px;height:15px}
.cv-seg button.on{background:var(--surface);color:var(--text);box-shadow:var(--sh-sm),0 0 0 1px var(--border)}
.cv-sw button{padding:7px 14px}
.cv-hide{display:none!important}
#scal{--cv-hr:80px;margin-bottom:16px}
#scal.has-panel{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:16px;align-items:start}
#scal *{box-sizing:border-box}
.cv-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--sh-sm);min-width:0;overflow:hidden}
.cv-tb{display:flex;align-items:center;gap:8px;padding:12px 14px;border-bottom:1px solid var(--border);flex-wrap:wrap}
.cv-tb .sp{flex:1}
.cv-btn{font:inherit;font-size:13px;font-weight:600;height:32px;padding:0 13px;border-radius:9px;border:1px solid var(--border-strong);background:var(--surface);color:var(--text);display:inline-flex;align-items:center;justify-content:center;gap:6px;white-space:nowrap;box-shadow:var(--sh-xs);cursor:pointer}
.cv-btn:hover{background:var(--surface-2)}
.cv-btn.ic{width:32px;padding:0;color:var(--text-2)}
.cv-btn .flip{transform:rotate(180deg)}
.cv-btn.pri{background:var(--primary);border-color:var(--primary);color:#fff;box-shadow:0 1px 2px rgba(87,83,216,.3),inset 0 1px 0 rgba(255,255,255,.15)}
.cv-btn.pri:hover{background:var(--primary-h)}
.cv-when{position:relative;font:inherit;font-size:16px;font-weight:660;letter-spacing:-.01em;margin-left:4px;white-space:nowrap;background:transparent;border:0;color:var(--text);padding:4px 6px;border-radius:8px;box-shadow:none;cursor:pointer;display:inline-flex;align-items:baseline;gap:8px}
.cv-when:hover{background:var(--surface-2)}
.cv-when small{font-size:12.5px;font-weight:550;color:var(--muted)}
.cv-when small .iss{color:var(--warning-t);font-weight:650}
.cv-when input[type=date]{position:absolute;left:0;bottom:0;width:100%;height:100%;opacity:0;pointer-events:none;min-width:0!important;padding:0;border:0}
.cv-filters{display:flex;align-items:center;gap:8px}
.cv-mleg{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:var(--text-2);white-space:nowrap}
.cv-mleg>span{display:inline-flex;align-items:center;gap:5px;padding:3px 9px 3px 7px;border-radius:999px;border:1px solid color-mix(in srgb,var(--mc) 30%,var(--border));background:var(--ms)}
.cv-mleg .on{--mc:var(--info);--ms:var(--info-soft);--mt:var(--info-t)}.cv-mleg .ip{--mc:var(--violet);--ms:var(--violet-soft);--mt:var(--violet-t)}
.cv-mleg .i{width:13px;height:13px;color:var(--mc)}.cv-mleg b{color:var(--mt);font-weight:700}
.cv-filters select{height:32px;min-height:32px;padding:0 28px 0 11px;font-size:13px;border-radius:9px;min-width:0!important;width:auto}
.cv-filters .search-in input{height:32px;min-height:32px;font-size:13px;border-radius:9px;min-width:0!important;width:190px}
.cv-sum{display:flex;align-items:center;gap:8px;padding:10px 14px;border-bottom:1px solid var(--border);flex-wrap:wrap;min-height:47px}
.cv-chip{display:inline-flex;align-items:center;gap:6px;font:inherit;font-size:12.5px;font-weight:600;color:var(--text-2);padding:3px 10px;border-radius:999px;background:var(--surface-2);border:1px solid transparent;line-height:1.5;box-shadow:none;white-space:nowrap}
.cv-chip .d{width:7px;height:7px;border-radius:7px;display:inline-block}
.cv-chip.lv{background:var(--success-soft);color:var(--success-t)}
.cv-chip .i{width:13px;height:13px}
button.cv-chip{cursor:pointer}button.cv-chip:hover{background:var(--surface-3)}
.cv-chip.warn{background:var(--warning-soft);color:var(--warning-t)}
button.cv-chip.warn:hover{background:var(--warning-soft);border-color:color-mix(in srgb,var(--warning) 35%,transparent)}
.cv-chip.warn.on{border-color:var(--warning);box-shadow:0 0 0 3px color-mix(in srgb,var(--warning) 16%,transparent)}
.cv-chip.clr{background:transparent;color:var(--muted);padding:3px 6px}
.cv-legend{display:flex;gap:14px;margin-left:auto;font-size:12px;color:var(--muted);flex-wrap:wrap}
.cv-legend span{display:inline-flex;align-items:center;gap:5px;white-space:nowrap}
.cv-legend i{width:10px;height:10px;border-radius:3px;display:inline-block}
.lg-live{background:var(--success);border-radius:10px!important;box-shadow:0 0 0 2px color-mix(in srgb,var(--success) 22%,transparent)}.lg-up{background:var(--surface);border:1.5px solid var(--text-2);border-radius:10px!important}
.cv-legend i.lg-done{background:transparent;color:var(--muted);display:inline-flex;align-items:center;justify-content:center;width:12px}.lg-done .i{width:12px;height:12px;stroke-width:2.6}
.lg-prob{background:transparent;border:2px solid var(--warning)}
.lg-cx{background:repeating-linear-gradient(45deg,var(--border-strong) 0 2px,var(--surface-3) 2px 4px)}
.cv-body{position:relative;min-height:220px}
.cv-load{display:flex;align-items:center;justify-content:center;height:320px;color:var(--muted);font-size:13px;gap:8px}
.cv-load:before{content:"";width:16px;height:16px;border-radius:50%;border:2px solid var(--border-strong);border-top-color:var(--primary);animation:cvspin .8s linear infinite}
@keyframes cvspin{to{transform:rotate(360deg)}}
.cv-empty{padding:30px 10px}
/* ---- mode = base color (online blue / in person violet) ---- */
.cv-m-on{--mc:var(--info);--ms:var(--info-soft);--mt:var(--info-t)}
.cv-m-ip{--mc:var(--violet);--ms:var(--violet-soft);--mt:var(--violet-t)}
.cv-blk,.cv-mini,.cv-mc{background:var(--ms);color:var(--text);border-color:color-mix(in srgb,var(--mc) 30%,var(--border))!important}
.cv-blk:before,.cv-mini:before,.cv-mc:before{background:var(--mc)}
.cv-blk .mo,.cv-mc .mo{color:var(--mt);font-weight:600}.cv-blk .mo .i,.cv-mini>.i,.cv-mc .mo .i{color:var(--mc);opacity:1}
.cv-blk .st{background:var(--surface);border:1.5px solid var(--mc)}
/* ---- status on top ---- */
.cv-s-soon .st{background:var(--mc);border-color:var(--mc)}
.cv-s-chk .st{background:var(--mc);border-color:var(--mc);opacity:.6}
.cv-s-done{background:color-mix(in srgb,var(--ms) 72%,var(--surface))}.cv-s-done:before{opacity:.8}
.cv-s-done .nm,.cv-s-done .fn{color:var(--text-2)}
.cv-blk .okc{position:absolute;top:4px;right:5px;color:var(--muted);display:flex}.cv-blk .okc .i{width:13px;height:13px;stroke-width:2.6}
.cv-mini.cv-s-done:not(.cv-p-amber):not(.cv-p-red):after{content:"✓";margin-left:auto;font-weight:800;color:var(--muted);padding-left:3px}
.cv-s-live{border:1.5px solid var(--success)!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--success) 18%,transparent)}
.cv-s-live .st{background:var(--success);border-color:var(--success);box-shadow:0 0 0 3px color-mix(in srgb,var(--success) 25%,transparent);animation:cvpulse 1.6s infinite}
@keyframes cvpulse{50%{box-shadow:0 0 0 5px color-mix(in srgb,var(--success) 8%,transparent)}}
.lvt{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:700;color:var(--success-t);background:var(--success-soft);border-radius:999px;padding:1px 8px 1px 7px;white-space:nowrap;line-height:1.5}
.lvt i{width:6px;height:6px;border-radius:6px;background:var(--success);animation:cvpulse 1.6s infinite}
.cv-blk .lvt{margin-top:3px}
.cv-s-late{border:1.5px solid var(--warning)!important}.cv-s-late .st{background:var(--warning);border-color:var(--warning)}
.cv-s-ns{border:1.5px solid var(--danger)!important}.cv-s-ns .st{background:var(--danger);border-color:var(--danger)}
.cv-s-cx{background:repeating-linear-gradient(135deg,color-mix(in srgb,var(--ms) 60%,var(--surface)) 0 6px,var(--surface-2) 6px 12px)!important;color:var(--muted);border-color:var(--border)!important;box-shadow:none}
.cv-s-cx:before{opacity:.4}.cv-s-cx .st{background:var(--faint);border-color:var(--faint)}.cv-s-cx .mo{opacity:.7}
.cv-s-cx .nm,.cv-s-cx .fn{text-decoration:line-through;font-weight:560}
/* problem edge: amber (medium / late) or red (high / no-show) */
.cv-p-amber{--pe:var(--warning)}.cv-p-red{--pe:var(--danger)}
.cv-blk.cv-p-amber,.cv-blk.cv-p-red{border:1.5px solid var(--pe)!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--pe) 14%,transparent)}
.cv-blk.cv-p-amber:before,.cv-blk.cv-p-red:before{background:var(--pe)!important;width:5px!important}
.cv-blk.cv-p-amber .st,.cv-blk.cv-p-red .st{display:none}
.cv-blk .warnic{position:absolute;top:4px;right:5px;color:var(--pe);display:flex}
.cv-blk .warnic .i{width:14px;height:14px}
.cv-sel{outline:2px solid var(--primary);outline-offset:2px}
/* ---- A: day by tutor ---- */
.cv-x{overflow-x:auto;scrollbar-width:thin}
.cv-day{display:grid;grid-template-columns:62px repeat(var(--cols),minmax(176px,1fr));min-width:100%}   /* V10.8.1548 fix1548: 128px -> 176px; JS widens a column further when sessions overlap in it */
.cv-dh{padding:10px;border-bottom:1px solid var(--border);border-left:1px solid var(--border);display:flex;align-items:center;gap:8px;min-width:0;background:var(--surface)}
.cv-dh.g{border-left:0}
.cv-dh .tn{min-width:0;line-height:1.25}
.cv-dh .tn b{display:block;font-size:12.5px;font-weight:620;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--text)}
.cv-dh .tn small{font-size:11.5px;color:var(--muted)}
.cv-gut{position:relative}
.cv-gut span{position:absolute;right:8px;font-size:11px;font-weight:550;color:var(--faint);transform:translateY(-50%);white-space:nowrap}
.cv-gut span:first-child{transform:none;top:3px!important}
.cv-col{position:relative;border-left:1px solid var(--border);
  background-image:linear-gradient(to bottom,var(--border) 1px,transparent 1px),linear-gradient(to bottom,color-mix(in srgb,var(--border) 55%,transparent) 1px,transparent 1px);
  background-size:100% var(--cv-hr),100% calc(var(--cv-hr) / 2)}
.cv-blk{position:absolute;z-index:3;border-radius:9px;padding:5px 8px 5px 10px;overflow:hidden;font:inherit;font-size:12px;line-height:1.3;border:1px solid transparent;cursor:pointer;text-align:left;display:block;box-shadow:none;transition:transform .12s var(--ease),box-shadow .15s}
.cv-blk:hover{transform:translateY(-1px);box-shadow:var(--sh-md)}
.cv-blk:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px}
.cv-blk .nm{font-weight:640;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;padding-right:14px}
.cv-blk .mt{display:flex;align-items:center;gap:4px;color:var(--muted);font-size:11.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cv-blk .mt .i{width:12px;height:12px;flex:none}
.cv-blk .st{position:absolute;top:6px;right:7px;width:7px;height:7px;border-radius:7px}
.cv-blk.tiny{padding-top:2px;padding-bottom:2px}.cv-blk.tiny .mt{display:none}
.cv-now{position:absolute;left:56px;right:0;height:0;border-top:2px solid var(--danger);z-index:4;pointer-events:none}
.cv-now:before{content:"";position:absolute;left:-5px;top:-6px;width:10px;height:10px;border-radius:10px;background:var(--danger)}
.cv-now b{position:absolute;left:-54px;top:-10px;font-size:10.5px;font-weight:700;color:#fff;background:var(--danger);padding:1px 5px;border-radius:6px;white-space:nowrap;line-height:1.5}
.cv-dbody{position:relative;display:contents}
/* ---- B: week ---- */
.cv-wk{display:grid;grid-template-columns:56px repeat(7,minmax(0,1fr))}
.cv-wh{padding:10px 10px 9px;border-left:1px solid var(--border);border-bottom:1px solid var(--border);line-height:1.25;min-width:0;cursor:pointer;background:transparent;font:inherit;text-align:left;border-top:0;border-right:0;border-radius:0;box-shadow:none;color:inherit;display:block}
.cv-wh:hover{background:var(--surface-2)}
.cv-wh.g{border-left:0;cursor:default}.cv-wh.g:hover{background:transparent}
.cv-wh .dn{display:flex;align-items:baseline;gap:6px;font-size:12px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}
.cv-wh .dn b{font-size:20px;letter-spacing:-.02em;color:var(--text);text-transform:none;font-weight:680}
.cv-wh .cnt{display:block;font-size:11.5px;color:var(--muted);margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cv-wh .cnt .iss{color:var(--warning-t);font-weight:650}
.cv-wh.today{background:linear-gradient(var(--primary-soft),color-mix(in srgb,var(--primary-soft) 40%,transparent))}
.cv-wh.today .dn{color:var(--primary-text)}
.cv-wh.today .dn b{color:#fff;background:var(--primary);border-radius:8px;padding:0 7px}
.cv-wh.wknd,.cv-wc.wknd{background:color-mix(in srgb,var(--surface-2) 55%,transparent)}
.cv-wc{border-left:1px solid var(--border);border-top:1px solid var(--border);padding:5px;display:flex;flex-direction:column;gap:3px;min-width:0;min-height:44px}
.cv-wc.today{background:color-mix(in srgb,var(--primary-soft) 40%,transparent)}
.cv-wg{font-size:11px;font-weight:550;color:var(--faint);padding:6px 8px 0 0;text-align:right;border-top:1px solid var(--border);white-space:nowrap}
.cv-mini{position:relative;display:flex;align-items:center;gap:5px;height:22px;padding:0 7px 0 9px;border-radius:6px;font:inherit;font-size:11.5px;line-height:1;white-space:nowrap;overflow:hidden;border:1px solid transparent;cursor:pointer;width:100%;text-align:left;box-shadow:none;min-width:0}
.cv-mini:hover{filter:brightness(.97)}
.cv-mini:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px}
.cv-mini .tm{font-weight:650;font-variant-numeric:tabular-nums;opacity:.75;flex:none}
.cv-mini .fn{overflow:hidden;text-overflow:ellipsis;font-weight:560;min-width:0}
.cv-mini .i{width:11px;height:11px;flex-shrink:0;opacity:.7}
.cv-mini.cv-p-amber,.cv-mini.cv-p-red{border:1.5px solid var(--pe)!important}
.cv-mini.cv-p-amber:before,.cv-mini.cv-p-red:before{background:var(--pe)!important}
.cv-mini.cv-p-amber:after,.cv-mini.cv-p-red:after{content:"!";margin-left:auto;font-weight:800;color:var(--pe);padding-left:3px}
.cv-more{font:inherit;font-size:11.5px;font-weight:600;color:var(--primary-text);padding:2px 8px;background:transparent;border:0;box-shadow:none;cursor:pointer;text-align:left;justify-content:flex-start}
.cv-more:hover{background:var(--primary-soft);border-radius:6px}
/* ---- C: month ---- */
.cv-mg{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}
.cv-dow{padding:9px 10px;font-size:11.5px;font-weight:650;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;border-bottom:1px solid var(--border)}
.cv-md{height:104px;border:0;border-left:1px solid var(--border);border-top:1px solid var(--border);border-radius:0;padding:8px 10px;position:relative;display:flex;flex-direction:column;gap:6px;background:transparent;font:inherit;color:inherit;text-align:left;box-shadow:none;cursor:pointer;min-width:0;align-items:stretch;justify-content:flex-start}
.cv-md:hover{background:var(--surface-2)}
.cv-md.c0{border-left:0}
.cv-md:nth-child(-n+14){border-top:0}
.cv-md .dt{font-size:13px;font-weight:620;color:var(--text-2);display:flex;align-items:center;gap:6px}
.cv-md.out .dt{color:var(--faint);font-weight:500}
.cv-md.out{background:color-mix(in srgb,var(--surface-2) 50%,transparent)}
.cv-md .c{font-size:12px;color:var(--muted);font-weight:550;margin-top:auto;display:flex;align-items:center;gap:6px;white-space:nowrap}
.cv-md .c b{font-size:18px;font-weight:680;color:var(--text);letter-spacing:-.02em}
.cv-md .c.none{color:var(--faint)}
.cv-md .bar{height:4px;border-radius:4px;background:var(--surface-3);overflow:hidden}
.cv-md .bar .fill{display:flex;gap:2px;height:100%;width:var(--w,100%)}
.cv-md .bar i{display:block;height:100%;border-radius:4px;min-width:3px}
.cv-md .bar i.on{background:var(--info)}.cv-md .bar i.ip{background:var(--violet)}
.cv-md .bar.past i{opacity:.55}
.cv-md .mx{margin-left:auto;display:inline-flex;gap:7px}
.cv-md .mx em{font-style:normal;display:inline-flex;align-items:center;gap:2px;font-size:11.5px;font-weight:650}
.cv-md .mx em .i{width:11px;height:11px}
.cv-md .mx em.on{color:var(--info-t)}.cv-md .mx em.ip{color:var(--violet-t)}
.cv-md .bdg{position:absolute;top:8px;right:8px;display:inline-flex;align-items:center;gap:3px;font-size:11px;font-weight:700;padding:1px 7px;border-radius:999px;background:var(--warning-soft);color:var(--warning-t)}
.cv-md .bdg.red{background:var(--danger-soft);color:var(--danger-t)}
.cv-md .bdg .i{width:11px;height:11px}
.cv-md.today .dt span{background:var(--primary);color:#fff;border-radius:999px;padding:0 7px}
.cv-md.on{background:var(--primary-soft);box-shadow:inset 0 0 0 2px var(--primary)}
.cv-panel{position:sticky;top:calc(var(--tb-h,60px) + var(--cct-h,0px) + 12px)}
.cv-ph{padding:16px 16px 12px;border-bottom:1px solid var(--border)}
.cv-ph h3{margin:0;font-size:17px;font-weight:680;letter-spacing:-.015em}
.cv-ph .sums{display:flex;gap:6px;margin-top:8px;flex-wrap:wrap}
.cv-ag{padding:6px 8px}
.cv-ag.scroll{max-height:440px;overflow:auto;scrollbar-width:thin}
.cv-agr{display:grid;grid-template-columns:56px minmax(0,1fr) auto;gap:10px;align-items:center;padding:7px 8px;border-radius:10px;position:relative;width:100%;background:transparent;border:0;font:inherit;color:inherit;text-align:left;box-shadow:none;cursor:pointer}
.cv-agr:hover{background:var(--surface-2)}
.cv-agr+.cv-agr{border-top:1px solid var(--border);border-radius:0 10px 10px 0}
.cv-agr .tm{font-size:12px;font-weight:650;color:var(--text-2);font-variant-numeric:tabular-nums;line-height:1.2}
.cv-agr .tm small{display:block;font-weight:500;color:var(--faint);font-size:11px}
.cv-agr .w{min-width:0;line-height:1.3}
.cv-agr .w b{display:block;font-size:13px;font-weight:620;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cv-agr .w span{display:flex;align-items:center;gap:4px;font-size:11.5px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cv-agr .w span .i{width:12px;height:12px;flex:none}
.cv-agr{box-shadow:inset 3px 0 0 var(--mc)}
.cv-agr .mo,.cv-agr .w .mo{font-style:normal;display:inline-flex;align-items:center;gap:4px;color:var(--mt);font-weight:600}.cv-agr .mo .i{color:var(--mc)}
.cv-agr .dk{color:var(--muted);display:flex}.cv-agr .dk .i{width:15px;height:15px;stroke-width:2.6}
.cv-agr.lv{background:color-mix(in srgb,var(--success) 7%,var(--surface))}
.cv-agr .w .pl{color:var(--pe);font-weight:650}
.cv-agr .d{width:9px;height:9px;border-radius:9px}
.cv-agr.cv-p-amber,.cv-agr.cv-p-red{background:color-mix(in srgb,var(--pe) 11%,var(--surface));box-shadow:inset 4px 0 0 var(--pe);border-radius:10px}
.cv-agr.cx .w b{text-decoration:line-through;color:var(--muted);font-weight:560}
.d-done{background:var(--faint)}.d-live{background:var(--success);box-shadow:0 0 0 3px color-mix(in srgb,var(--success) 22%,transparent)}.d-up{border:2px solid var(--mc,var(--info));background:var(--surface)}
.d-cx{background:var(--faint)}.d-soon{background:var(--mc,var(--violet))}.d-chk{background:var(--mc,var(--info));opacity:.6}.d-late{background:var(--warning)}.d-ns{background:var(--danger)}.d-warn{background:var(--pe,var(--warning))}
.cv-pf{padding:12px 16px 16px;border-top:1px solid var(--border);display:flex}
.cv-pf .cv-btn{flex:1;height:38px}
/* ---- popover / phone sheet ---- */
.cv-pop{position:absolute;z-index:60;width:320px;background:var(--surface);border:1px solid var(--border);border-radius:14px;box-shadow:var(--sh-lg);padding:14px 16px;color:var(--text);font-size:13px;animation:cvin .14s var(--ease)}
@keyframes cvin{from{opacity:0;transform:translateY(4px) scale(.98)}}
.cv-pop-h{display:flex;align-items:flex-start;gap:10px}
.cv-pop-h .ic{width:32px;height:32px;border-radius:10px;background:var(--ms,var(--info-soft));color:var(--mc,var(--info-t));display:flex;align-items:center;justify-content:center;flex:none}
.cv-pop-h .mtag{display:inline-block;font-size:10.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--mt);margin-bottom:1px}
.cv-kv .mo{color:var(--mt);font-weight:600}
.cv-pop-h h4{margin:0;font-size:15px;font-weight:680;letter-spacing:-.01em;line-height:1.3;word-break:break-word}
.cv-pop-h small{display:block;font-size:12px;color:var(--muted);font-weight:500}
.cv-pop-h .x{margin-left:auto;background:transparent;border:0;box-shadow:none;color:var(--faint);padding:4px;border-radius:8px;cursor:pointer}
.cv-pop-h .x:hover{background:var(--surface-2);color:var(--text)}
.cv-alert{display:flex;gap:8px;align-items:center;margin:12px 0 2px;padding:8px 10px;border-radius:10px;background:var(--warning-soft);color:var(--warning-t);font-size:12.5px;font-weight:600}
.cv-alert.red{background:var(--danger-soft);color:var(--danger-t)}
.cv-alert .i{width:15px;height:15px}
.cv-kv{margin:10px 0 0;display:grid;grid-template-columns:22px minmax(0,1fr);row-gap:8px;align-items:center}
.cv-kv>.i{color:var(--faint);width:15px;height:15px}
.cv-kv>div{display:flex;align-items:center;gap:6px;flex-wrap:wrap;min-width:0}
.cv-kv em{font-style:normal;color:var(--muted)}
.cv-pop .spill,.cv-pop .jchip{font-size:11.5px}
.cv-pop-f{margin-top:14px}
.cv-pop-f .cv-btn{width:100%;height:38px}
.cv-sheet-bg{position:fixed;inset:0;z-index:2147482000;background:rgba(10,10,20,.35);animation:cvfade .15s}
@keyframes cvfade{from{opacity:0}}
.cv-pop.sheet{position:fixed;left:0;right:0;bottom:0;top:auto;width:auto;border-radius:20px 20px 0 0;padding:16px 18px calc(18px + env(safe-area-inset-bottom,0px));z-index:2147482001;animation:cvup .2s var(--ease);font-size:14px}
.cv-pop.sheet:before{content:"";display:block;width:40px;height:4px;border-radius:4px;background:var(--border-strong);margin:-6px auto 12px}
@keyframes cvup{from{transform:translateY(30px);opacity:.4}}
.cv-pop.sheet .cv-pop-f .cv-btn{height:46px;font-size:15px;border-radius:12px}
/* ---- phone ---- */
.cv-m-tl{padding:12px 12px 4px}
.cv-tlg{display:grid;grid-template-columns:50px minmax(0,1fr);gap:10px;margin-bottom:12px}
.cv-tlg .tt{font-size:12px;font-weight:650;color:var(--text-2);padding-top:12px;text-align:right;font-variant-numeric:tabular-nums}
.cv-tlg .tt small{display:block;font-weight:500;color:var(--faint);font-size:10.5px}
.cv-tlg .cards{display:flex;flex-direction:column;gap:7px;position:relative;min-width:0}
.cv-tlg .cards:before{content:"";position:absolute;left:-6px;top:4px;bottom:-12px;width:2px;background:var(--surface-3);border-radius:2px}
.cv-mc{position:relative;border:1px solid var(--border);border-radius:13px;padding:10px 12px 10px 14px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 8px;align-items:center;box-shadow:var(--sh-xs);overflow:hidden;font:inherit;text-align:left;width:100%;cursor:pointer;color:var(--text)}
.cv-mc:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px}
.cv-mc.cv-s-done{background:color-mix(in srgb,var(--ms) 45%,var(--surface))}
.cv-mc b{font-size:14px;font-weight:640;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.cv-mc .mt{grid-column:1;display:block;font-size:12px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.cv-mc .mt .i{width:13px;height:13px;vertical-align:-2px;margin-right:3px}
.cv-mc .rt{grid-row:1/3;grid-column:2;display:flex;align-items:center}
.cv-mc .rt .okic{color:var(--muted);display:flex}.cv-mc .rt .okic .i{width:17px;height:17px;stroke-width:2.6}
.cv-mc .mt .mo{font-style:normal}.cv-mc.cv-s-live{border-width:1.5px}
.cv-mc .rt .spill{font-size:11px;padding:2px 8px}
.cv-mc.cv-s-cx b{text-decoration:line-through;font-weight:560;color:var(--muted)}
.cv-mc.cv-p-amber,.cv-mc.cv-p-red{border:1.5px solid var(--pe)!important;background:color-mix(in srgb,var(--pe) 7%,var(--surface));box-shadow:0 0 0 3px color-mix(in srgb,var(--pe) 12%,transparent)}
.cv-mc.cv-p-amber:before,.cv-mc.cv-p-red:before{background:var(--pe)}
.cv-mc .why{grid-column:1/3;display:flex;align-items:center;gap:5px;font-size:12px;font-weight:600;color:var(--pe);margin-top:4px}
.cv-mc .why .i{width:13px;height:13px}
.cv-mnow{display:grid;grid-template-columns:50px 1fr;gap:10px;align-items:center;margin:0 0 12px}
.cv-mnow span{font-size:10.5px;font-weight:700;color:#fff;background:var(--danger);border-radius:6px;padding:1px 5px;justify-self:end}
.cv-mnow i{height:2px;background:var(--danger);border-radius:2px;position:relative}
.cv-mnow i:before{content:"";position:absolute;left:-5px;top:-4px;width:10px;height:10px;border-radius:10px;background:var(--danger)}
.cv-strip{display:flex;gap:8px;overflow-x:auto;padding:12px 12px 6px;scroll-snap-type:x mandatory;scrollbar-width:none}
.cv-strip::-webkit-scrollbar{display:none}
.cv-dchip{flex:0 0 58px;scroll-snap-align:start;border:1px solid var(--border);border-radius:14px;background:var(--surface);text-align:center;padding:8px 0;line-height:1.2;font:inherit;color:var(--text);box-shadow:none;display:block;cursor:pointer}
.cv-dchip small{display:block;font-size:11px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}
.cv-dchip b{display:block;font-size:19px;font-weight:700;letter-spacing:-.02em;margin:2px 0 3px}
.cv-dchip em{font-style:normal;font-size:11px;font-weight:650;color:var(--muted);display:inline-flex;align-items:center;gap:3px}
.cv-dchip em i{width:6px;height:6px;border-radius:6px;background:var(--warning);display:inline-block}
.cv-dchip.past{background:var(--surface-2)}
.cv-dchip.today b{color:var(--primary-text)}
.cv-dchip.on{background:var(--primary);border-color:var(--primary);color:#fff;box-shadow:0 6px 16px -6px rgba(87,83,216,.6)}
.cv-dchip.on small,.cv-dchip.on em,.cv-dchip.on b{color:#fff}.cv-dchip.on em i{background:#c4b8f5}
.cv-mdayh{display:flex;align-items:baseline;gap:8px;margin:6px 14px 8px;flex-wrap:wrap}
.cv-mdayh b{font-size:15.5px;font-weight:680}
.cv-mdayh span{font-size:12.5px;color:var(--muted)}
.cv-mdayh .iss{color:var(--warning-t);font-weight:650}
.cv-mlist{margin:0 10px 12px;border:1px solid var(--border);border-radius:14px;padding:4px 6px}
.cv-mlist .cv-agr{grid-template-columns:52px minmax(0,1fr) auto;padding:9px 8px}
.cv-mlist .cv-agr .w b{font-size:13.5px}
.cv-mm{padding:10px 8px 8px}
.cv-mm-g{display:grid;grid-template-columns:repeat(7,1fr);row-gap:2px;text-align:center}
.cv-mm-g .dw{font-size:10.5px;font-weight:650;color:var(--faint);padding:2px 0 6px}
.cv-mm-d{height:46px;border-radius:11px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font:inherit;font-size:14px;font-weight:600;color:var(--text-2);position:relative;background:transparent;border:0;box-shadow:none;padding:0;cursor:pointer;min-width:0}
.cv-mm-d small{font-size:9.5px;font-weight:650;color:var(--faint);line-height:1;min-height:9.5px}
.cv-mm-d.out{color:var(--faint);opacity:.6}
.cv-mm-d .wd{position:absolute;top:5px;right:7px;width:6px;height:6px;border-radius:6px;background:var(--warning)}
.cv-mm-d .mb{display:flex;gap:1px;width:20px;height:3px;border-radius:3px;overflow:hidden}.cv-mm-d .mb i{display:block;height:100%}
.cv-mm-d .mb .on{background:var(--info)}.cv-mm-d .mb .ip{background:var(--violet)}.cv-mm-d.on .mb{outline:1px solid rgba(255,255,255,.7)}
.cv-mm-d.today{color:var(--primary-text)}
.cv-mm-d.on{background:var(--primary);color:#fff;box-shadow:0 6px 16px -6px rgba(87,83,216,.6)}
.cv-mm-d.on small{color:rgba(255,255,255,.85)}.cv-mm-d.on .wd{background:#c4b8f5}
.cv-mcta{padding:0 10px 12px}.cv-mcta .cv-btn{width:100%;height:44px;font-size:14px;border-radius:12px}
@media (max-width:1180px){#scal.has-panel{grid-template-columns:minmax(0,1fr) 320px}.cv-legend{display:none}}
@media (max-width:860px){
  #scal.has-panel{display:block}
  .cv-tb{padding:10px 10px 8px;gap:8px}
  .cv-tb .cv-nav{order:1}.cv-tb .cv-when{order:2;flex:1;justify-content:center;font-size:16px;margin:0}.cv-tb .cv-next{order:3}
  .cv-tb .cv-today{order:4}.cv-tb .sp{display:none}
  .cv-tb .cv-views{order:5;width:100%;display:flex}.cv-tb .cv-views button{flex:1;justify-content:center}
  .cv-tb .cv-mleg{order:6;width:100%;justify-content:center;font-size:11.5px}
  .cv-tb .cv-filters{order:7;width:100%;overflow-x:auto;scrollbar-width:none;padding-bottom:2px}
  .cv-tb .cv-filters::-webkit-scrollbar{display:none}
  .cv-filters select{flex:0 0 auto}.cv-filters .search-in{flex:1 0 150px!important}.cv-filters .search-in input{width:100%}
  .cv-when small{display:none}
  .cv-sum{padding:8px 12px;min-height:0}
  .cv-legend{display:none}
  .cv-md{height:auto}
  .ph.cv-ph-host .ph-t h1{padding-right:190px}
  .ph.cv-ph-host>.toolbar{margin-top:0}
  html .ph.cv-ph-host>.toolbar{align-self:stretch}
  .ph.cv-ph-host>.cv-sw button{padding:6px 11px;font-size:12.5px}
}
.cv-x{position:relative}
.cv-now{left:58px}
#scal.cv-busy .cv-body,#scal.cv-busy .cv-side{opacity:.55;transition:opacity .15s;pointer-events:none}
.cv-blk.short{padding-top:3px;padding-bottom:3px}.cv-blk.short .st{top:5px}
.cv-wg.gap{font-size:10.5px;padding:3px 8px 3px 0;color:var(--faint)}
.cv-wc.gap{min-height:22px;padding:0;background-image:repeating-linear-gradient(135deg,transparent 0 6px,color-mix(in srgb,var(--border) 45%,transparent) 6px 7px)}
.cv-wt small{margin-left:10px}
@media (max-width:860px){
  .cv-tb .cv-filters{flex-wrap:wrap;overflow:visible}
  .cv-filters select{flex:1 1 0!important;min-width:0}
  .cv-filters .search-in{flex:1 1 100%!important}
}
.cv-blk.short .mt.mo{display:none}
.cv-blk.cv-p-amber,.cv-blk.cv-p-red,.cv-mini.cv-p-amber,.cv-mini.cv-p-red,.cv-mc.cv-p-amber,.cv-mc.cv-p-red{border-color:var(--pe)!important}
@media (max-width:1180px) and (min-width:861px){.cv-mleg b{display:none}}
/* V10.8.1548 fix1548: at 861-1100px the 320px day panel squeezed the month grid (cells clipped); stack the panel under the grid instead */
@media (max-width:1100px) and (min-width:861px){#scal.has-panel{display:block}#scal.has-panel>.cv-side{margin-top:16px;position:static;max-height:none}}
.cv-mc.cv-p-amber,.cv-mc.cv-p-red{background:var(--ms)}
.cv-blk:before{width:4px}
/* problem = border + halo + icon; the left edge keeps the mode color so online / in person always reads */
.cv-blk.cv-p-amber:before,.cv-blk.cv-p-red:before,.cv-mini.cv-p-amber:before,.cv-mini.cv-p-red:before,.cv-mc.cv-p-amber:before,.cv-mc.cv-p-red:before{background:var(--mc)!important;width:4px!important}
.cv-blk.short .mt .i{color:var(--mc)}
.cv-md .c{overflow:hidden}.cv-md .mx{gap:6px}.cv-md .mx em{white-space:nowrap}
[data-theme=dark] .cv-m-on,[data-theme=dark] .cv-mleg .on{--ms:rgba(59,130,246,.2)}[data-theme=dark] .cv-m-ip,[data-theme=dark] .cv-mleg .ip{--ms:rgba(139,92,246,.24)}
#scal .spill.live:before,.cv-pop .spill.live:before{display:none}   /* sessPill already draws its own pulsing dot */
/* ---- V10.8.N (Tamra 2026-10-08): calendar fills the whole screen + calm hover/selected ---- */
/* 1) full width: lift the page's 1400px cap only while the Calendar is showing (List keeps the normal width) */
#view:has(> #scal:not(.cv-hide)){max-width:none}
#scal{width:100%}
#scal .cv-main{width:100%}
/* full height: Day grid height is sized in JS to the screen; long days scroll inside with the tutor row pinned */
.cv-xday{overflow:auto}
.cv-xday .cv-dh{position:sticky;top:0;z-index:6}
.cv-mg .cv-md{height:auto;min-height:104px}
.cv-wk .cv-wc{min-height:44px}
/* 2) hover / selected: a slightly darker tint of the block's own color + a soft ring; text stays dark and readable.
   (Blocks are <button>s, so the global button:hover would paint them solid primary blue: #scal wins over that.) */
.cv-blk,.cv-mini,.cv-mc{--rc:var(--mc)}
.cv-p-amber,.cv-p-red{--rc:var(--pe)}
.cv-s-live{--rc:var(--success)}
#scal .cv-blk:hover,#scal .cv-blk.cv-sel,#scal .cv-blk:focus-visible,
#scal .cv-mini:hover,#scal .cv-mini.cv-sel,#scal .cv-mini:focus-visible,
#scal .cv-mc:hover,#scal .cv-mc.cv-sel,#scal .cv-mc:focus-visible{
  background:color-mix(in srgb,var(--mc) 16%,var(--ms));color:var(--text);
  border-color:color-mix(in srgb,var(--rc) 60%,var(--border))!important;
  box-shadow:0 0 0 2px color-mix(in srgb,var(--rc) 32%,transparent),var(--sh-md);outline:none;filter:none}
#scal .cv-s-cx:hover,#scal .cv-s-cx.cv-sel{background:repeating-linear-gradient(135deg,color-mix(in srgb,var(--ms) 85%,var(--surface)) 0 6px,var(--surface-3) 6px 12px)!important}
#scal .cv-blk.cv-sel,#scal .cv-mini.cv-sel{background:color-mix(in srgb,var(--mc) 20%,var(--ms));box-shadow:0 0 0 2.5px color-mix(in srgb,var(--rc) 45%,transparent),var(--sh-md)}
#scal .cv-blk:hover .nm,#scal .cv-blk.cv-sel .nm,#scal .cv-mini:hover .fn,#scal .cv-mini.cv-sel .fn,#scal .cv-mc:hover b{color:var(--text)}
#scal .cv-blk:hover .mt,#scal .cv-blk.cv-sel .mt,#scal .cv-mc:hover .mt{color:var(--text-2)}
#scal .cv-blk:hover .mo,#scal .cv-blk.cv-sel .mo{color:var(--mt)}
#scal .cv-blk:hover .mt .i,#scal .cv-blk.cv-sel .mt .i{color:var(--mc)}
#scal .cv-blk:hover .st,#scal .cv-blk.cv-sel .st{border-color:var(--mc)}
.cv-sel{outline:none}
[data-theme=dark] #scal .cv-blk:hover,[data-theme=dark] #scal .cv-blk.cv-sel,[data-theme=dark] #scal .cv-mini:hover,[data-theme=dark] #scal .cv-mini.cv-sel,[data-theme=dark] #scal .cv-mc:hover{background:color-mix(in srgb,var(--mc) 32%,var(--surface))}
.cv-xwk{overflow:auto}
.cv-xwk .cv-wh{position:sticky;top:0;z-index:6;background-color:var(--surface)}
.cv-xwk .cv-wh.wknd{background:color-mix(in srgb,var(--surface-2) 55%,var(--surface))}
.cv-xwk .cv-wh.today{background:linear-gradient(var(--primary-soft),color-mix(in srgb,var(--primary-soft) 40%,var(--surface)))}

/* ---- /static/cx1721.css?v=1723 ---- */
/* V10.8.1721 cx1721: cancelled sessions on the staff Sessions calendar (Day / Week / Month / phone) read as CANCELLED at a glance.
   Same look as the tutor dashboard (tcal1571.css .st-cancelled / .sc-cancelled): light red tint #fdeaea, 3px red left edge #d93025,
   thin red ring #f2b8b4, solid red 'Cancelled' tag, strikethrough. Light, not darker. Additive; every rule hangs on html:not(.cx1721-off).
   Off: ?cx1721=off in the address (this visit) or localStorage cx1721='0' (stays off). On again: ?cx1721=on. */
html:not(.cx1721-off) .lg-cx{background:repeating-linear-gradient(135deg,#fdeaea 0 2px,#f7c9c5 2px 4px);border:1px solid #d93025}
html:not(.cx1721-off) .d-cx{background:#d93025}
/* Day (cv-blk), Week / Month mini (cv-mini), phone card (cv-mc) */
html:not(.cx1721-off) #scal .cv-s-cx{background:repeating-linear-gradient(135deg,#fdeaea 0 6px,#fcdfdd 6px 12px)!important;border-color:#f2b8b4!important;color:#7a1a14;box-shadow:inset 0 0 0 1px #f2b8b4}
html:not(.cx1721-off) #scal .cv-s-cx:before{opacity:1;background:#d93025;width:4px}
html:not(.cx1721-off) #scal .cv-s-cx:hover,html:not(.cx1721-off) #scal .cv-s-cx.cv-sel{background:repeating-linear-gradient(135deg,#fbe0de 0 6px,#f9d3d0 6px 12px)!important;border-color:#e8908a!important;color:#7a1a14}
html:not(.cx1721-off) #scal .cv-s-cx .nm,html:not(.cx1721-off) #scal .cv-s-cx .fn,html:not(.cx1721-off) #scal .cv-mc.cv-s-cx b{color:#7a1a14;text-decoration:line-through;text-decoration-color:#d93025;text-decoration-thickness:1.5px;font-weight:600}
html:not(.cx1721-off) #scal .cv-s-cx .mt,html:not(.cx1721-off) #scal .cv-s-cx .tm,html:not(.cx1721-off) #scal .cv-s-cx .mo{color:#8f3a34;opacity:1}
html:not(.cx1721-off) #scal .cv-s-cx .mo .i,html:not(.cx1721-off) #scal .cv-s-cx>.i{color:#c0443c}
/* Day block: the little dot becomes a red cancel badge (x); tall blocks show the word Cancelled */
html:not(.cx1721-off) #scal .cv-blk.cv-s-cx .st{width:14px;height:14px;border-radius:14px;background:#d93025;border:0;top:5px;right:6px;display:flex;align-items:center;justify-content:center}
html:not(.cx1721-off) #scal .cv-blk.cv-s-cx .st:after{content:"\2715";color:#fff;font:800 8px/1 Poppins,system-ui,sans-serif}
html:not(.cx1721-off) #scal .cv-blk.cv-s-cx:not(.tiny):not(.short) .st{width:auto;padding:0 7px;height:16px;top:5px;right:6px}
html:not(.cx1721-off) #scal .cv-blk.cv-s-cx:not(.tiny):not(.short) .st:after{content:"Cancelled";font-size:10px;font-weight:700;letter-spacing:.01em}
html:not(.cx1721-off) #scal .cv-blk.cv-s-cx:not(.tiny):not(.short) .nm{padding-right:66px}
/* Week / Month mini row: red x badge at the end */
html:not(.cx1721-off) #scal .cv-mini.cv-s-cx:after{content:"\2715";margin-left:auto;flex:none;width:14px;height:14px;border-radius:14px;background:#d93025;color:#fff;font:800 8px/14px Poppins,system-ui,sans-serif;text-align:center}
/* phone card pill (was grey) */
html:not(.cx1721-off) #scal .cv-mc.cv-s-cx .spill{background:#d93025;color:#fff}
/* side panel / phone agenda row */
html:not(.cx1721-off) #scal .cv-agr.cx{background:#fdeaea;box-shadow:inset 3px 0 0 #d93025;border-radius:10px}
html:not(.cx1721-off) #scal .cv-agr.cx .w b{color:#7a1a14;text-decoration-color:#d93025;text-decoration-thickness:1.5px}
html:not(.cx1721-off) #scal .cv-agr.cx .w span,html:not(.cx1721-off) #scal .cv-agr.cx .w .mo{color:#8f3a34}
html:not(.cx1721-off) #scal .cv-agr.cx .d-cx{width:auto;height:16px;padding:0 7px;border-radius:999px;display:inline-flex;align-items:center;background:#d93025}
html:not(.cx1721-off) #scal .cv-agr.cx .d-cx:after{content:"Cancelled";color:#fff;font:700 10px/1 Poppins,system-ui,sans-serif}
/* Month desktop cell (V10.8.1723): quiet pale-red dot after the date number (added by cx1721.js); hover title = 'N cancelled'. Click passes through to the day cell.
   Variant ?cx1721m=pill: small '2x' number pill. The old loud 'N cancelled' chip is retired. */
html:not(.cx1721-off) #scal .cv-md .cx-dot{flex:none;width:16px;height:16px;border-radius:50%;background:radial-gradient(circle,#ee9a94 0 3.5px,transparent 4.5px);cursor:inherit;transition:background .12s}
html:not(.cx1721-off) #scal .cv-md:hover .cx-dot,html:not(.cx1721-off) #scal .cv-md .cx-dot:hover{background:radial-gradient(circle,#d93025 0 4px,#fdeaea 4.5px 7px,transparent 7.5px)}
html:not(.cx1721-off) #scal .cv-md .cx-pill{flex:none;font-style:normal;font-size:10px;font-weight:600;line-height:15px;padding:0 5px;border-radius:999px;background:#fdf1f0;color:#c8665f;box-shadow:inset 0 0 0 1px #f6d3d0;letter-spacing:0;white-space:nowrap}
html:not(.cx1721-off) #scal .cv-md:hover .cx-pill,html:not(.cx1721-off) #scal .cv-md .cx-pill:hover{background:#fdeaea;color:#b3261e;box-shadow:inset 0 0 0 1px #f2b8b4}
html:not(.cx1721-off) #scal .cv-mm-d .cx-chip,html:not(.cx1721-off) #scal .cv-mm-d .cx-dot,html:not(.cx1721-off) #scal .cv-mm-d .cx-pill{display:none}

/* ---- /static/sidebar1.css?v=1 ---- */
/* Sidebar Sub-Tabs S1 (Tamra 2026-10-08, TEST). Goes with sidebar1.js. Uses the app's own sidebar tokens (style.css), so light + dark both work. */
#s1Nav{padding-top:2px}
.s1-stash,.s1-homeslot{display:none!important}
#sbOps{display:none!important}
/* section header: the old link (a.s1-h) or a group button (button.s1-hb) */
.sidebar button.s1-hb{appearance:none;-webkit-appearance:none;font:inherit;background:none;border:0;box-shadow:none;width:100%;text-align:left;cursor:pointer;
  position:relative;display:flex;align-items:center;gap:11px;padding:7px 10px;margin:1px 0;border-radius:9px;color:var(--sb-text);font-weight:500;font-size:13.5px;white-space:nowrap;min-height:0;height:auto;transition:background .15s,color .15s}
.sidebar button.s1-hb .i{width:17px;height:17px;opacity:.85}
.sidebar button.s1-hb:hover{background:var(--sb-hover);color:var(--sb-text-h)}
.sidebar .s1-h:focus-visible{outline:2px solid var(--ring);outline-offset:-2px}
.sidebar .s1-h>.badge:not(.s1-sum){display:none!important}
.sidebar .s1-chev{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;margin-right:-5px;border-radius:6px;color:var(--faint);flex-shrink:0;cursor:pointer}
.sidebar .s1-chev .i{width:14px!important;height:14px!important;opacity:1!important;color:var(--faint)!important;transition:transform .2s var(--ease)}
.sidebar .s1-chev:hover{background:var(--sb-active)}.sidebar .s1-chev:hover .i{color:var(--sb-text-h)!important}
.s1-sec:not(.open)>.s1-h .s1-chev .i{transform:rotate(-90deg)}
.sidebar .s1-sec.open>.s1-h{color:var(--sb-text-h);font-weight:600}
.sidebar .s1-sec.on>.s1-h:not(.active){color:var(--primary-text);font-weight:600}
.sidebar .s1-sec.on>.s1-h:not(.active) .i{color:var(--primary);opacity:1}
[data-theme=dark] .sidebar .s1-sec.on>.s1-h:not(.active) .i{color:#a5a4ff}
/* sub-tabs: indented, guide line, no icons */
.s1-sub{position:relative;margin:0 0 4px 18px;padding-left:12px;border-left:1.5px solid var(--sb-border)}
.s1-sec:not(.open)>.s1-sub{display:none}
.sidebar .s1-sub a,.sidebar .s1-sub a[data-i],.sidebar .s1-sub a.ob-nav{position:relative;display:flex;align-items:center;gap:8px;min-height:31px;height:auto;padding:5px 10px;margin:1px 0;border-radius:8px;
  font-size:13px;font-weight:500;color:var(--sb-text);white-space:nowrap;text-decoration:none;justify-content:flex-start}
.sidebar .s1-sub a>svg,.sidebar .s1-sub a>.i{display:none!important}
.sidebar .s1-sub a .lbl{flex:1;overflow:hidden;text-overflow:ellipsis}
.sidebar .s1-sub a:hover{background:var(--sb-hover);color:var(--sb-text-h)}
.sidebar .s1-sub a.active{background:var(--sb-active);color:var(--primary-text);font-weight:600}
[data-theme=dark] .sidebar .s1-sub a.active{color:#fff}
.sidebar .s1-sub a[data-i].active:before{left:-13.5px;top:7px;bottom:7px}
.s1-xw{font-size:10px;font-weight:600;color:var(--muted);border:1px solid var(--sb-border);border-radius:5px;padding:0 5px;line-height:16px;flex-shrink:0}
.s1-sep{height:1px;background:var(--sb-border);margin:8px 6px}
/* footer: Ella row, you + Clock in, Collapse (+ log out) */
.s1-done{margin-left:auto;font-size:11.5px;font-weight:600;color:var(--sb-text);white-space:nowrap}.s1-done:empty{display:none}
.sb-user #sbShift{flex-shrink:0;padding:0;gap:4px;flex-wrap:nowrap;width:auto}
.sb-user #sbShift .shift-me{display:none}
.sidebar .sb-user #sbShift button{padding:5px 10px;font-size:12px;border-radius:8px;white-space:nowrap}
.sidebar .sb-user #sbShift button+button,.sidebar .sb-user #sbShift button:has(+button){font-size:0;padding:6px 8px;gap:0}
.sidebar .sb-user #sbShift button .i{width:14px;height:14px}
.sb-user .sb-user-t small .s1-st{color:inherit}
.s1-footrow{display:flex;align-items:center;gap:4px}
.s1-footrow .sb-toggle{flex:1}
.s1-footrow #logout{color:var(--sb-text);width:30px;height:30px;flex-shrink:0}.s1-footrow #logout:hover{background:var(--sb-hover);color:var(--sb-text-h)}
.s1-footrow #logout .i{width:16px;height:16px}

/* ---------- collapsed 68px rail (desktop only) ---------- */
@media (min-width:861px){
  .sb-collapsed .s1-sub,.sb-collapsed .s1-chev,.sb-collapsed .s1-done{display:none!important}
  .sb-collapsed .sidebar button.s1-hb{justify-content:center;padding:9px 0}
  .sb-collapsed .sidebar .s1-h .lbl{display:none}
  .sb-collapsed .sidebar .s1-h .s1-sum{position:absolute;top:2px;right:6px;min-width:16px;height:16px;font-size:9.5px;padding:0 4px}
  .sb-collapsed .s1-sep{margin:8px 12px}
  .sb-collapsed .sidebar .s1-sec.on>.s1-h{background:var(--sb-active);color:var(--primary-text)}
  .sb-collapsed .sidebar .s1-sec.on>.s1-h:before{content:"";position:absolute;left:-10px;top:8px;bottom:8px;width:3px;border-radius:0 3px 3px 0;background:linear-gradient(#818cf8,#c084fc)}
  .sb-collapsed .sidebar .s1-sec.fly-on>.s1-h{background:var(--sb-hover);color:var(--sb-text-h)}
  .sb-collapsed .s1-footrow{justify-content:center}.sb-collapsed .s1-footrow .sb-toggle{flex:0 0 auto}
  .sb-collapsed .s1-footrow #logout{display:none}
}
#s1Fly{position:fixed;z-index:70;width:232px;background:var(--surface);border:1px solid var(--border);border-radius:14px;box-shadow:var(--sh-lg);padding:8px;
  opacity:0;transform:translateX(-4px);pointer-events:none;transition:opacity .12s,transform .12s;color:var(--text)}
#s1Fly.on{opacity:1;transform:none;pointer-events:auto}
#s1Fly:before{content:"";position:absolute;left:-6px;top:var(--ay,18px);width:10px;height:10px;background:var(--surface);border-left:1px solid var(--border);border-bottom:1px solid var(--border);transform:rotate(45deg)}
#s1Fly .s1f-h{display:flex;align-items:center;gap:8px;padding:6px 8px 8px;font-size:13px;color:var(--text);border-bottom:1px solid var(--border);margin-bottom:4px}
#s1Fly .s1f-h .i{width:16px;height:16px;color:var(--primary)}#s1Fly .s1f-h b{flex:1;font-weight:700}
#s1Fly .s1f-r{display:flex;align-items:center;gap:8px;min-height:32px;padding:0 8px;border-radius:8px;font-size:13px;color:var(--text-2);font-weight:500;white-space:nowrap;text-decoration:none}
#s1Fly .s1f-r .lbl{flex:1;overflow:hidden;text-overflow:ellipsis}
#s1Fly .s1f-r:hover{background:var(--sb-hover);color:var(--text)}
#s1Fly .s1f-r.active{background:var(--sb-active);color:var(--primary-text);font-weight:600}
#s1Fly .badge{min-width:18px;height:18px;padding:0 6px;font-size:10.5px;box-shadow:none;background:var(--surface-3);color:var(--text-2)}
#s1Fly .badge.hot{background:#ef4444;color:#fff}#s1Fly .badge.calm{background:#3b82f6;color:#fff}

/* ---------- phone ---------- */
#s1Chips{display:none}
html.s1on #tabbar>a[href="#/approvals"]:not(.sw-tab):not(.pw-tab),html.s1on #tabMore,html.s1on #tabBuild{display:none!important}
@media (max-width:860px){
  html.s1on .tabbar>a.s1-tab{display:flex}
  html.s1on[data-world=sales] .tabbar>a.s1-tab,html.s1on[data-world=people] .tabbar>a.s1-tab,html.sales-only .tabbar>a.s1-tab{display:none!important}
  .sidebar .s1-h{min-height:44px;font-size:15px}
  .sidebar .s1-h .i{width:19px;height:19px}
  .sidebar .s1-chev{width:36px;height:36px;margin:-8px -8px -8px 0}
  .sidebar .s1-sub a,.sidebar .s1-sub a[data-i],.sidebar .s1-sub a.ob-nav{min-height:40px;font-size:14.5px}
  #s1Chips.on{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;padding:10px 14px 10px;border-bottom:1px solid var(--border);background:var(--bg);-webkit-overflow-scrolling:touch}
  #s1Chips::-webkit-scrollbar{display:none}
  #s1Chips .s1c{display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 13px;border-radius:999px;border:1px solid var(--border);background:var(--surface);
    font-size:13.5px;font-weight:600;color:var(--text-2);white-space:nowrap;text-decoration:none;flex-shrink:0}
  #s1Chips .s1c.on{background:#16213e;border-color:#16213e;color:#fff}
  [data-theme=dark] #s1Chips .s1c.on{background:var(--primary);border-color:var(--primary)}
  #s1Chips .badge{height:18px;min-width:18px;font-size:10.5px;padding:0 5px;box-shadow:none;background:var(--surface-3);color:var(--text-2)}
  #s1Chips .badge.hot{background:#ef4444;color:#fff}
  #s1Chips .s1c.on .badge:not(.hot){background:rgba(255,255,255,.18);color:#fff}
}
#s1Sheet{position:fixed;inset:0;z-index:80}
#s1Sheet .s1s-scrim{position:absolute;inset:0;background:rgba(15,29,61,.38);opacity:0;transition:opacity .2s}
#s1Sheet .s1s-sh{position:absolute;left:0;right:0;bottom:0;background:var(--surface);border-radius:24px 24px 0 0;padding:10px 14px calc(18px + env(safe-area-inset-bottom,0px));
  box-shadow:0 -12px 40px rgba(15,29,61,.18);transform:translateY(100%);transition:transform .22s var(--ease);max-height:80vh;overflow-y:auto}
#s1Sheet.on .s1s-scrim{opacity:1}#s1Sheet.on .s1s-sh{transform:none}
#s1Sheet .s1s-grab{display:block;width:40px;height:5px;border-radius:99px;background:var(--border-strong);margin:0 auto 12px}
#s1Sheet .s1s-hd{display:flex;align-items:center;gap:10px;padding:0 4px 12px}
#s1Sheet .s1s-hd>span:nth-child(2){flex:1}
#s1Sheet .s1s-hd b{font-size:17px;color:var(--text)}#s1Sheet .s1s-hd small{display:block;font-size:12.5px;color:var(--muted);font-weight:500}
#s1Sheet .s1s-hic{width:36px;height:36px;border-radius:999px;background:var(--primary-soft);color:var(--primary);display:inline-flex;align-items:center;justify-content:center}
#s1Sheet .s1s-hic.s1s-mgr{background:var(--danger-soft,#fdecec);color:var(--danger-t,#b91c1c)}
#s1Sheet .s1s-hic .i{width:18px;height:18px}
#s1Sheet .s1s-x{width:36px;height:36px;border-radius:999px;border:0;background:var(--surface-2);color:var(--text-2);display:inline-flex;align-items:center;justify-content:center;padding:0;box-shadow:none}
#s1Sheet .s1s-x .i{width:16px;height:16px}
#s1Sheet .s1s-r{display:flex;align-items:center;gap:12px;min-height:54px;padding:0 10px;border-radius:14px;font-size:15.5px;font-weight:550;color:var(--text);text-decoration:none}
#s1Sheet .s1s-r+.s1s-r{margin-top:2px}
#s1Sheet .s1s-ic{width:34px;height:34px;border-radius:999px;background:var(--surface-2);color:var(--text-2);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}
#s1Sheet .s1s-ic .i{width:17px;height:17px}
#s1Sheet .s1s-r .lbl{flex:1}
#s1Sheet .s1s-r .s1s-ch{width:16px;height:16px;color:var(--faint)}
#s1Sheet .s1s-r.active{background:var(--primary-soft);color:var(--primary-text)}#s1Sheet .s1s-r.active .s1s-ic{background:var(--surface);color:var(--primary)}
#s1Sheet .badge{min-width:20px;height:20px;padding:0 6px;font-size:11px;box-shadow:none;background:var(--surface-3);color:var(--text-2)}
#s1Sheet .badge.hot{background:#ef4444;color:#fff}#s1Sheet .badge.calm{background:#3b82f6;color:#fff}
html.sales-only #s1Nav,html.sales-only #s1Chips{display:none!important}
.sidebar .s1-sub .badge:not(.hot):not(.calm){background:var(--surface-3);color:var(--text-2);box-shadow:none}
.sidebar .s1-sub .badge{min-width:18px;height:18px;padding:0 6px;font-size:10.5px}
.sidebar .sb-user{gap:8px}

/* ---- /static/tutormatch.css?v=15 ---- */
/* tutormatch.css - Tutor gallery cards (V10.8.169 Tamra card design). Command Center tokens only. */
.tm .tm-head .tm-lead{margin:2px 0 10px;color:var(--text-2);font-size:13.5px}
.tm .tm-need{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.tm .tm-k{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-right:4px;min-width:62px}
.tm .tm-src{display:flex;gap:6px;align-items:flex-start;margin:10px 0 0;font-size:12.5px}.tm .tm-src .i{width:14px;height:14px;flex:none;margin-top:2px}
.tm-count{font-size:12.5px;font-weight:650;color:var(--muted);margin:4px 2px 10px}
.tm-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px;margin-bottom:16px}
.tm-card{position:relative;display:flex;flex-direction:column;gap:12px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:16px;padding-top:18px;box-shadow:var(--sh-sm);min-width:0;transition:box-shadow .15s,transform .15s;overflow:hidden}
.tm-card:hover{box-shadow:var(--sh-md);transform:translateY(-1px)}
.tm-card{--tc:var(--faint);--ts:var(--neutral-soft);--tt:var(--text-2)}
.tm-card.tmt-green{--tc:var(--success);--ts:var(--success-soft);--tt:var(--success-t)}
.tm-card.tmt-blue{--tc:var(--primary);--ts:var(--primary-soft);--tt:var(--primary-text)}
.tm-card.tmt-amber{--tc:#8b7cf6;--ts:#f3f0ff;--tt:#5b45b8}
.tm-card.tmt-red{--tc:var(--danger);--ts:var(--danger-soft);--tt:var(--danger-t)}
.tm-card.tmt-gray{--tc:var(--faint);--ts:var(--neutral-soft);--tt:var(--text-2)}
.tm-card.best{border-color:color-mix(in srgb,var(--success) 45%,var(--border));box-shadow:0 0 0 3px color-mix(in srgb,var(--success) 12%,transparent),var(--sh-sm);padding-top:40px}
.tm-best{position:absolute;top:10px;left:12px;display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:700;color:#fff;background:var(--success);border-radius:999px;padding:2px 9px 2px 7px;box-shadow:var(--sh-xs);z-index:2}
.tm-best .i{width:12px;height:12px}
.tm-card.off{background:color-mix(in srgb,var(--surface-2) 55%,var(--surface))}
.tm-card.off .tm-ph{filter:grayscale(.6);opacity:.8}
.tm-card::before{content:"";position:absolute;left:0;right:0;top:0;height:4px;border-radius:var(--r-lg) var(--r-lg) 0 0;background:var(--tc);opacity:.95;z-index:0}
.tm-card.off::before{opacity:.5}
.tm-hd{display:flex;align-items:center;gap:12px;min-width:0}
.tm-ph{width:64px;height:64px;border-radius:50%;overflow:hidden;flex:none;display:flex;align-items:center;justify-content:center;background:var(--surface-2);box-shadow:0 0 0 2px var(--surface),0 0 0 3.5px var(--tc)}
.tm-ph img{width:100%;height:100%;object-fit:cover;display:block}
.tm-ph .av{--s:64px!important;font-size:22px}
.tm-id{min-width:0;flex:1;display:flex;flex-direction:column;gap:2px}
.tm-nm{font-size:15.5px;font-weight:700;letter-spacing:-.01em;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tm-nm:hover{color:var(--primary-text);text-decoration:none}
.tm-area{font-size:12.5px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tm-score{flex:none;display:flex;flex-direction:column;align-items:center;justify-content:center;width:56px;height:56px;border-radius:14px;background:var(--ts);color:var(--tt);line-height:1;border:1px solid color-mix(in srgb,var(--tc) 28%,transparent)}
.tm-score b{font-size:22px;font-weight:760;letter-spacing:-.03em}.tm-score small{font-size:9.5px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;margin-top:3px;opacity:.9}
.tm-fit{display:flex;align-items:center;gap:8px;margin-top:-4px}
.tm-badge{display:inline-flex;align-items:center;font-size:12px;font-weight:700;padding:3px 10px;border-radius:999px;background:var(--ts);color:var(--tt)}
.tm-sec{display:flex;align-items:flex-start;gap:6px;min-width:0}
.tm-sec .tm-k{padding-top:5px;min-width:62px;flex:none}
.tm-chips{display:flex;flex-wrap:wrap;gap:5px;min-width:0}
.tm-chip{display:inline-flex;align-items:center;gap:4px;font:inherit;font-size:12px;font-weight:600;line-height:1.4;padding:2px 9px;border-radius:999px;background:var(--primary-soft);color:var(--primary-text);border:1px solid color-mix(in srgb,var(--primary) 18%,transparent);white-space:nowrap;box-shadow:none}
.tm-chip .i{width:12px;height:12px}
.tm-chip.hit{background:var(--success-soft);color:var(--success-t);border-color:color-mix(in srgb,var(--success) 30%,transparent)}
.tm-chip.warn{background:var(--warning-soft);color:var(--warning-t);border-color:color-mix(in srgb,var(--warning) 30%,transparent)}
.tm-chip.muted{background:transparent;color:var(--muted);border-style:dashed;border-color:var(--border)}
.tm-chip.need{background:var(--primary-soft);color:var(--primary-text);border-color:color-mix(in srgb,var(--primary) 25%,transparent);font-size:12.5px;padding:3px 10px}
button.tm-chip.more{cursor:pointer;background:transparent;color:var(--primary-text);border-style:dashed;border-color:color-mix(in srgb,var(--primary) 35%,var(--border))}button.tm-chip.more:hover{background:var(--primary-soft)}
.tm-line{display:flex;align-items:center;gap:6px;font-size:12.5px;font-weight:600;color:var(--text-2)}
.tm-line .i{width:15px;height:15px;flex:none;color:var(--muted)}
.tm-line.ok{color:var(--success-t)}.tm-line.ok .i{color:var(--success)}
.tm-line.warn{color:var(--warning-t)}.tm-line.warn .i{color:var(--warning)}
.tm-line.bad{color:var(--danger-t)}.tm-line.bad .i{color:var(--danger)}
.tm-why{display:flex;flex-direction:column;gap:3px;font-size:12.5px}
.tm-why span{display:flex;align-items:center;gap:6px}.tm-why .i{width:14px;height:14px;flex:none}
.tm-why .ok{color:var(--text-2)}.tm-why .ok .i{color:var(--success)}
.tm-why .warn{color:var(--warning-t)}.tm-why .bad{color:var(--danger-t);font-weight:600}

/* Availability table (gallery) */
.tm-avail{display:flex;flex-direction:column;gap:0;min-width:0}
.tm-avail-hd{display:flex;align-items:center;gap:6px;margin-bottom:6px}
.tm-avail-hd .i{width:15px;height:15px;color:var(--success);flex:none}
.tm-avail-hd .tm-k{margin-right:auto;padding-top:0;min-width:0}
.tm-avail-tz{font-size:11.5px;font-weight:600;color:var(--muted);white-space:nowrap}
.tm-avail-list{display:flex;flex-direction:column;border-top:1px solid var(--border)}
.tm-avail-row{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid var(--border);font-size:13px}
.tm-avail-day{font-weight:700;color:var(--text);min-width:2.4em}
.tm-avail-t{font-weight:550;color:var(--text-2);text-align:right}
.tm-avail-more{display:inline-flex;align-items:center;gap:4px;margin-top:8px;padding:0!important;border:0!important;background:none!important;box-shadow:none!important;font:inherit;font-size:12.5px;font-weight:650;color:var(--primary-text);cursor:pointer;text-align:left;width:auto;height:auto;border-radius:0}
.tm-avail-more:hover{text-decoration:underline}
.tm-avail-empty{font-size:12.5px;font-weight:600;color:var(--muted);padding:6px 0}

.tm-ft{display:flex;align-items:center;gap:10px;margin-top:auto;padding-top:2px}
.tm-ft .tm-pick{flex:1;width:100%;height:40px;justify-content:center;border-radius:12px;font-weight:680}
button.tm-pick{background:var(--primary);color:#fff;border:0}button.tm-pick:hover{background:var(--primary-h)}
a.tm-pick{display:inline-flex;align-items:center;justify-content:center;gap:6px;text-decoration:none}
.tm-rel{display:inline-flex;align-items:center;gap:4px;font-size:11.5px;font-weight:600;color:var(--muted);white-space:nowrap}.tm-rel .i{width:13px;height:13px}
.tm-off{margin:4px 0 16px}
.tm-off>summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:650;color:var(--text-2);padding:6px 10px;border-radius:10px}
.tm-off>summary::-webkit-details-marker{display:none}.tm-off>summary:hover{background:var(--surface-2)}
.tm-off>summary .i{width:15px;height:15px;transition:transform .15s}.tm-off[open]>summary .i{transform:rotate(90deg)}
.tm-off .tm-grid{margin-top:10px}
@media (max-width:860px){
  .tm-grid{grid-template-columns:1fr;gap:12px}
  .tm-card{padding:14px;padding-top:16px}
  .tm-ph,.tm-ph .av{width:56px;height:56px;--s:56px!important}
  .tm-score{width:52px;height:52px}.tm-score b{font-size:20px}
  .tm .tm-k,.tm-sec .tm-k{min-width:56px}
}
@media (min-width:560px) and (max-width:860px){.tm-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Directory > Tutors browse gallery */
.tm-browse .tm-filters{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:4px}
.tm-browse .tm-filters .search-in{flex:1 1 100%;min-width:0}
.tm-browse .tm-filters .search-in input{width:100%;min-width:0;box-sizing:border-box}
.tm-browse .tm-filters > input,
.tm-browse .tm-filters > select{flex:1 1 140px;min-width:0;max-width:100%;box-sizing:border-box}
.tm-browse .tm-filters > button.sm{flex:0 0 auto}
.tm-browse .tm-card{cursor:pointer}
.tm-browse .tm-card:focus-visible{outline:2px solid var(--primary);outline-offset:2px}
@media (max-width:559px){
  .tm-browse .tm-filters > input,
  .tm-browse .tm-filters > select{flex:1 1 calc(50% - 8px)}
  .tm-browse .tm-filters > button.sm{flex:1 1 100%}
}

/* ---- /static/mgrstyle.css?v=4 ---- */
/* Ella's Work + Waiting on reply in the Manager Needed layout (TEST, Tamra 2026-10-08). Builds on mgrcases.css (mc-* classes). */
#view:has(> .qx){max-width:1680px}
.qx .mc-grid{height:max(640px,calc(100vh - var(--cct-h,0px) - var(--tb-h,60px) - 168px))}
.qx .mc-tile.t-violet .mc-ti{background:var(--violet-soft);color:var(--violet-t)}
.qx .mc-tile.t-amber .mc-ti{background:var(--warning-soft);color:var(--warning-t)}
.qx .mc-tile.t-red b{color:inherit}
.qx .mc-tile.t-red.on b,.qx .mc-tile.t-red b:not(:empty){color:var(--danger-t)}
.qx .mc-chip.t-blue{background:var(--primary-soft);color:var(--primary-text)}
.qx .mc-chip.t-violet{background:var(--violet-soft);color:var(--violet-t)}
.qx .mc-chip.t-amber{background:var(--warning-soft);color:var(--warning-t)}
.qx .mc-chip.t-green{background:var(--success-soft);color:var(--success-t)}
.qx .mc-chip.t-gray{background:var(--neutral-soft);color:var(--text-2)}
.qx .mc-chip.sm{padding:2px 8px;font-size:11.5px;max-width:128px;overflow:hidden;text-overflow:ellipsis}
.qx .mc-chip.sm .i{width:12px;height:12px;flex-shrink:0}
.qx .mc-due.lo{background:var(--neutral-soft);color:var(--text-2)}
.qx .qx-ago{font-size:11.5px;color:var(--muted);white-space:nowrap}
/* evidence tiles */
.qx .mc-pane{container-type:inline-size;container-name:qxpane}
.qx-ev{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.qx-tile{border:1px solid var(--border);border-radius:12px;background:var(--surface-2);padding:9px 11px 10px;min-width:0;--tt:var(--text)}
.qx-tile small{display:flex;gap:5px;align-items:center;font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);white-space:nowrap;overflow:hidden}
.qx-tile small .i{width:13px;height:13px;flex-shrink:0}
.qx-tile b{display:block;font-size:15.5px;font-weight:800;margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--tt)}
.qx-tile span{font-size:12.5px;color:var(--text-2);line-height:1.38;margin-top:2px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;word-break:break-word}
.qx-tile.t-red{--tt:var(--danger-t);background:color-mix(in srgb,var(--danger-soft) 55%,var(--surface))}
.qx-tile.t-amber{--tt:var(--warning-t);background:color-mix(in srgb,var(--warning-soft) 55%,var(--surface))}
.qx-tile.t-green{--tt:var(--success-t);background:color-mix(in srgb,var(--success-soft) 55%,var(--surface))}
.qx-tile.t-violet{--tt:var(--violet-t);background:color-mix(in srgb,var(--violet-soft) 55%,var(--surface))}
@container qxpane (max-width:620px){.qx-ev{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* Ella's items */
.qx-items{display:flex;flex-direction:column;gap:2px}.qx-items>b{font-size:13.5px;margin-bottom:4px}
.qx-i{display:flex;gap:9px;align-items:center;padding:6px 4px;border-radius:8px;color:var(--text);text-decoration:none!important;font-size:13px}
.qx-i:hover{background:var(--surface-2)}.qx-i span{flex:1;min-width:0}.qx-i small{color:var(--muted);font-size:11.5px;white-space:nowrap}
.qx-dot{width:8px;height:8px;border-radius:50%;background:var(--faint);flex-shrink:0}
.qx-dot.t-red{background:var(--danger)}.qx-dot.t-amber{background:var(--warning)}.qx-dot.t-green{background:var(--success)}.qx-dot.t-blue{background:var(--primary)}.qx-dot.t-violet{background:var(--violet)}
@media (max-width:860px){
  #view:has(> .qx){padding-bottom:96px}
  .qx .mc-grid{height:auto}
  .qx .mc-its{max-width:40%}
  .qx-ev{grid-template-columns:repeat(2,minmax(0,1fr))}
  .qx-tile b{font-size:14.5px}
}
/* v2: chips in one scrollable line, tile values may wrap to 2 lines, phone Ella card */
.qx .mc-chips{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:thin;padding-bottom:2px}
.qx-tile b{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.25}
@media (max-width:860px){
  .qx .mc-ella{flex-wrap:wrap}.qx .mc-ella .mc-cb{flex:1 1 calc(100% - 52px)}.qx .mc-er{flex-basis:100%;padding-left:48px}
  .qx .mc-chips{scrollbar-width:none}
}

/* v10.8.102 spacing (Tamra 2026-10-08 "not spaced enough"): header stacks, tiles fill the row evenly, labels never touch the edge */
.qx .mc-head{display:flex;flex-direction:column;align-items:stretch;gap:20px;margin-bottom:22px}
.qx .mc-ht h1{margin:0 0 8px}
.qx .mc-ht p{line-height:1.45}
.qx .mc-hl2{margin-top:12px;gap:20px;flex-wrap:wrap}
.qx .mc-tiles{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;width:100%}
.qx .mc-tile{padding:16px 18px;gap:14px;min-width:0}
.qx .mc-tile>span:last-child{min-width:0;flex:1}
.qx .mc-tile small{font-size:13px;white-space:normal;line-height:1.25;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}
.qx .mc-tile b{font-size:24px;margin-top:4px}
.qx .mc-ti{width:40px;height:40px}.qx .mc-ti .i{width:19px;height:19px}
.qx .mc-grid{height:max(640px,calc(100vh - var(--cct-h,0px) - var(--tb-h,60px) - 236px))}
@media (max-width:860px){
  .qx .mc-head{gap:16px;margin-bottom:16px}
  .qx .mc-ht h1{margin-bottom:6px}.qx .mc-hl2{margin-top:10px;gap:16px}
  .qx .mc-tiles{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .qx .mc-tile{padding:14px;gap:12px}.qx .mc-ti{width:34px;height:34px}.qx .mc-ti .i{width:17px;height:17px}
  .qx .mc-tile small{font-size:12.5px}.qx .mc-tile b{font-size:21px;margin-top:2px}
  .qx .mc-grid{height:auto}
}

/* ---- /static/famcombine.css?v=1-790 ---- */
/* V10.8 Parent/Student Combined Rows (Tamra 2026-10-08): one family = one row / one profile. Command Center colors. */
.pill.fc-ps{background:var(--indigo-soft,#eef0ff);color:var(--indigo,#4f46e5);border-color:transparent;font-weight:600;white-space:nowrap}
.fc-people{display:flex;flex-direction:column;gap:6px;margin-top:8px}
.fc-p{display:flex;flex-wrap:wrap;align-items:center;gap:4px 12px;font-size:13.5px;color:var(--text-2)}
.fc-p b{color:var(--text);font-weight:600}
.fc-p .fc-role{min-width:58px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--muted,#5F6475)}
.fc-p span.row{gap:4px}
.fc-rec summary{cursor:pointer;color:var(--text-2);font-size:13px;list-style:none;display:flex;align-items:center;gap:6px}
.fc-rec summary::-webkit-details-marker{display:none}
.fc-rec[open] summary{margin-bottom:6px}
.fc-sub{color:var(--muted,#5F6475)}
@media (max-width:860px){.fc-p{font-size:13px;gap:2px 10px}.fc-p .fc-role{min-width:0;width:100%}}
@media (max-width:860px){.fc-tbl .fc-sub{display:none}}

/* ---- /static/profile2.css?v=7-1555 ---- */
.p3{--blue:#2453d6;--blue2:#5b7cfa;--ink:#141a2b;--mut:#6b7287;--line:#e9ebf2;--bg:#f4f6fb;--r:16px;
--sh:0 1px 2px rgba(20,30,60,.04),0 4px 12px rgba(20,30,60,.05),0 16px 40px rgba(20,30,60,.06)}
.p3 *{box-sizing:border-box}
.p3{margin:0;font-family:Inter,"SF Pro Text",-apple-system,"Segoe UI",Helvetica,Arial,sans-serif;background:var(--bg);color:var(--ink);font-size:14px;-webkit-font-smoothing:antialiased}
.p3 svg{flex-shrink:0}
.p3 .q-ic{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.p3 .q-av{border-radius:50%;color:#fff;display:grid;place-items:center;font-weight:700}
.p3 .q-wrap{padding:24px 32px 40px;max-width:1240px}
.p3 h1{font-size:24px;margin:0 0 4px;letter-spacing:-.02em}
.p3 h1 span{color:#9097a8;font-weight:400}
.p3 .q-subt{color:var(--mut);margin:0 0 24px;font-size:13px}
.p3 .q-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:start}
.p3 .q-card{position:relative;background:#fff;border:1px solid rgba(225,228,238,.9);border-radius:var(--r);box-shadow:var(--sh);padding:20px;transition:transform .25s,box-shadow .25s}
.p3 .q-card:hover{transform:translateY(-2px);box-shadow:0 2px 4px rgba(20,30,60,.05),0 12px 28px rgba(20,30,60,.08),0 28px 60px rgba(20,30,60,.08)}
.p3 .q-lbl{font-size:10.5px;letter-spacing:.07em;text-transform:uppercase;color:#8a90a2;font-weight:600}
.p3 .q-ch{display:flex;align-items:center;justify-content:space-between;gap:8px}
.p3 .q-ch h3{margin:0;font-size:15px;letter-spacing:-.01em;display:flex;align-items:center;gap:8px}
.p3 .q-num{width:22px;height:22px;border-radius:7px;background:#eef0f5;color:#5b6275;font-size:11px;font-weight:700;display:inline-grid;place-items:center}
.p3 .q-chip{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;font-weight:500;border-radius:999px;padding:4px 10px;background:#f3f4f8;color:#3a4052;border:1px solid var(--line)}
.p3 .q-lav{background:#f1edff;color:#5146d6;border-color:#e3dcff}
.p3 .q-mint{background:#e9f8ee;color:#1f7a45;border-color:#cdeed8}
.p3 .q-peach{background:#f3f0ff;color:#5b45b8;border-color:#e4ddff}
.p3 .q-sky{background:#eaf3ff;color:#1f5fbf;border-color:#cfe2fb}
.p3 .q-in{opacity:0;transform:translateY(14px);animation:qrise .6s cubic-bezier(.2,.8,.2,1) forwards}
@keyframes qrise{to{opacity:1;transform:none}}
.p3 .q-stu{padding:0;overflow:visible}
.p3 .q-band{height:84px;border-radius:var(--r) var(--r) 0 0;background:radial-gradient(120% 140% at 0% 0%,#7c8cff 0,rgba(124,140,255,0) 55%),radial-gradient(120% 160% at 100% 0%,#f6a5c0 0,rgba(246,165,192,0) 55%),linear-gradient(120deg,#2453d6,#5b7cfa 60%,#8b7cf6);position:relative;overflow:hidden}
.p3 .q-band:after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(115deg,rgba(255,255,255,.07) 0 2px,transparent 2px 14px)}
.p3 .q-edit{position:absolute;top:14px;right:14px;z-index:2;display:flex;gap:6px;align-items:center;font-size:12px;font-weight:600;color:#fff;background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.35);backdrop-filter:blur(6px);padding:5px 10px;border-radius:999px;cursor:pointer}
.p3 .q-edit:hover{background:rgba(255,255,255,.3)}
.p3 .q-bigav{position:absolute;left:-22px;top:52px;width:84px;height:84px;font-size:26px;background:linear-gradient(135deg,#d6336c,#a51d58);box-shadow:0 0 0 4px #fff,0 0 0 7px #3ccf7a,0 10px 24px rgba(165,29,88,.35)}
.p3 .q-online{position:absolute;left:46px;top:116px;width:14px;height:14px;border-radius:50%;background:#3ccf7a;border:3px solid #fff}
.p3 .q-sbody{padding:16px 20px 84px 84px}
.p3 .q-cd b span{font-size:inherit;color:inherit}
.p3 .q-sname{font-size:21px;font-weight:700;letter-spacing:-.02em;margin:0}
.p3 .q-srole{color:var(--mut);font-size:12.5px;margin:2px 0 12px}
.p3 .q-rows{display:grid;gap:8px}
.p3 .q-rw{display:flex;align-items:center;gap:10px;font-size:13px;color:#3a4052}
.p3 .q-rw .q-ii{width:28px;height:28px;border-radius:8px;background:#f3f5fb;display:grid;place-items:center;color:var(--blue)}
.p3 .q-rw b{font-weight:600}
.p3 .q-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.p3 .q-gauge{position:absolute;right:16px;bottom:16px;display:flex;align-items:center;gap:10px;background:rgba(255,255,255,.9);backdrop-filter:blur(8px);border:1px solid #d9f0e1;border-radius:14px;padding:8px 12px 8px 8px;box-shadow:0 8px 24px rgba(31,122,69,.14);cursor:pointer}
.p3 .q-gauge .q-t{font-size:10.5px;color:var(--mut)}
.p3 .q-gauge .q-g{font-weight:700;color:#1f7a45;font-size:13px}
.p3 .q-gw{position:relative;width:52px;height:52px}
.p3 .q-gw svg{transform:rotate(-90deg)}
.p3 .q-gw span{position:absolute;inset:0;display:grid;place-items:center;font-weight:800;font-size:14px}
.p3 .q-ring{stroke-dasharray:138.2;stroke-dashoffset:138.2;transition:stroke-dashoffset 1.4s cubic-bezier(.2,.8,.2,1)}
.p3 .q-car{transition:transform .25s;color:var(--blue)}
.p3 .q-gauge.q-open .q-car{transform:rotate(180deg)}
.p3 .q-brk{position:absolute;right:16px;bottom:84px;width:240px;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:var(--sh);padding:14px;opacity:0;transform:translateY(6px) scale(.98);pointer-events:none;transition:.25s;z-index:4}
.p3 .q-brk.q-show{opacity:1;transform:none;pointer-events:auto}
.p3 .q-bk{display:grid;grid-template-columns:1fr 34px;gap:4px 8px;align-items:center;font-size:12px;margin-top:8px}
.p3 .q-bar{grid-column:1/3;height:6px;border-radius:4px;background:#eef0f5;overflow:hidden}
.p3 .q-bar i{display:block;height:100%;background:linear-gradient(90deg,#3ccf7a,#1f9d55);border-radius:4px}
.p3 .q-bill{display:grid;grid-template-columns:200px 1fr;gap:20px;margin-top:16px}
.p3 .q-cc{height:124px;border-radius:14px;padding:14px;color:#fff;position:relative;overflow:hidden;background:linear-gradient(135deg,#1b2a5e,#2453d6 55%,#7c5cf6);box-shadow:0 14px 30px rgba(36,83,214,.35);transition:transform .4s}
.p3 .q-cc:hover{transform:rotate(-2deg) translateY(-3px)}
.p3 .q-cc:before{content:"";position:absolute;width:180px;height:180px;border-radius:50%;background:rgba(255,255,255,.12);right:-60px;top:-80px}
.p3 .q-chipg{width:30px;height:22px;border-radius:5px;background:linear-gradient(135deg,#c4b8f5,#8b7cf6);margin-bottom:22px}
.p3 .q-cc .q-n{font:600 15px/1 "SF Mono",Menlo,monospace;letter-spacing:.12em}
.p3 .q-cc .q-f{display:flex;justify-content:space-between;font-size:10px;opacity:.85;margin-top:14px}
.p3 .q-glow{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:#1f7a45;background:#e9f8ee;border:1px solid #cdeed8;padding:4px 10px;border-radius:999px;box-shadow:0 0 0 4px rgba(60,207,122,.12),0 0 18px rgba(60,207,122,.35)}
.p3 .q-pulse{width:7px;height:7px;border-radius:50%;background:#3ccf7a;animation:qpl 2s infinite}
@keyframes qpl{0%{box-shadow:0 0 0 0 rgba(60,207,122,.6)}70%{box-shadow:0 0 0 7px rgba(60,207,122,0)}100%{box-shadow:0 0 0 0 rgba(60,207,122,0)}}
.p3 .q-cd{display:flex;align-items:baseline;gap:6px}
.p3 .q-cd b{font-size:30px;letter-spacing:-.03em}
.p3 .q-cd span{color:var(--mut);font-size:12.5px}
.p3 .q-kv{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}
.p3 .q-kv div{background:#f7f8fc;border-radius:10px;padding:8px 10px}
.p3 .q-kv b{display:block;font-size:13px;margin-top:2px}
.p3 .q-hist{margin-top:16px;display:flex;align-items:flex-end;gap:12px;border-top:1px solid var(--line);padding-top:14px}
.p3 .q-bars{display:flex;align-items:flex-end;gap:6px;height:40px;flex:1}
.p3 .q-bars i{flex:1;border-radius:4px 4px 2px 2px;background:#dfe6fb;transform-origin:bottom;transform:scaleY(0);transition:transform .8s cubic-bezier(.2,.8,.2,1)}
.p3 .q-bars i.q-pd{background:linear-gradient(#5b7cfa,#2453d6)}
.p3 .q-bars i.q-fut{background:repeating-linear-gradient(45deg,#e8ecf8 0 3px,#f4f6fc 3px 6px)}
.p3 .q-thread{flex:1;padding:14px;display:flex;flex-direction:column;gap:8px;background:linear-gradient(#fbfbfe,#f5f7fc);overflow:hidden}
.p3 .q-m{max-width:76%;padding:9px 13px 6px;border-radius:18px;font-size:13px;line-height:1.38;animation:qrise .4s both}
.p3 .q-m time{display:block;font-size:10px;opacity:.6;margin-top:3px;text-align:right}
.p3 .q-mi{background:#fff;border:1px solid #eceef3;align-self:flex-start;border-bottom-left-radius:6px;box-shadow:0 1px 2px rgba(0,0,0,.03)}
.p3 .q-mo{background:linear-gradient(135deg,#3a68ee,#2453d6);color:#fff;align-self:flex-end;border-bottom-right-radius:6px;box-shadow:0 4px 10px rgba(36,83,214,.25)}
.p3 .q-ev{align-self:center;display:flex;gap:6px;align-items:center;font-size:11px;font-weight:500;background:#fff;border:1px solid var(--line);border-radius:999px;padding:4px 10px;color:#5b6275;animation:qrise .4s both}
.p3 .q-ev i{width:7px;height:7px;border-radius:50%}
.p3 .q-day{text-align:center;font-size:10.5px;color:#9097a8;font-weight:600;letter-spacing:.05em;text-transform:uppercase;margin:4px 0}
.p3 .q-typing{align-self:flex-start;background:#fff;border:1px solid #eceef3;border-radius:18px;border-bottom-left-radius:6px;padding:11px 14px;display:flex;gap:4px}
.p3 .q-typing i{width:6px;height:6px;border-radius:50%;background:#a3a9ba;animation:qbl 1.2s infinite}
.p3 .q-typing i:nth-child(2){animation-delay:.15s}
.p3 .q-typing i:nth-child(3){animation-delay:.3s}
@keyframes qbl{0%,60%,100%{transform:none;opacity:.5}30%{transform:translateY(-4px);opacity:1}}
.p3 .q-compose{display:flex;gap:8px;padding:10px 14px 18px;border-top:1px solid #eef0f4;align-items:center}
.p3 .q-compose div{flex:1;background:#f3f4f8;border-radius:999px;padding:10px 14px;color:#9097a8;font-size:12.5px}
.p3 .q-compose span{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,#5b7cfa,#2453d6);color:#fff;display:grid;place-items:center;box-shadow:0 4px 12px rgba(36,83,214,.35)}
.p3 .q-stack{display:flex;flex-direction:column;gap:16px}
.p3 .q-ta{border:1px solid #c9d6fb;background:linear-gradient(180deg,#f7f9ff,#fff 40%);box-shadow:0 0 0 4px rgba(36,83,214,.06),var(--sh)}
.p3 .q-ta .q-num{background:linear-gradient(135deg,#5b7cfa,#2453d6);color:#fff}
.p3 .q-prim{margin-top:16px;width:100%;display:flex;align-items:center;justify-content:center;gap:10px;border:0;border-radius:12px;padding:13px;color:#fff;font:600 14px Inter,sans-serif;background:linear-gradient(135deg,#5b7cfa,#2453d6 60%,#1d40b0);box-shadow:0 8px 20px rgba(36,83,214,.35),inset 0 1px 0 rgba(255,255,255,.25);cursor:pointer;transition:.2s}
.p3 .q-prim:hover{transform:translateY(-1px);box-shadow:0 12px 26px rgba(36,83,214,.45)}
.p3 .q-prim kbd{background:rgba(255,255,255,.2);border-color:rgba(255,255,255,.35);color:#fff}
.p3 .q-tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:8px}
.p3 .q-tl{position:relative;background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px 6px 10px;text-align:center;cursor:pointer;transition:transform .2s,box-shadow .2s,border-color .2s}
.p3 .q-tl:hover{transform:translateY(-3px);box-shadow:0 10px 20px rgba(20,30,60,.1);border-color:#c9d6fb}
.p3 .q-tl:hover .q-ti{transform:scale(1.1) rotate(-4deg)}
.p3 .q-ti{width:34px;height:34px;border-radius:10px;margin:0 auto 6px;display:grid;place-items:center;transition:transform .25s}
.p3 .q-tl b{display:block;font-size:12px;font-weight:600}
.p3 .q-tl kbd{position:absolute;top:6px;right:6px;font-size:9px;padding:0 4px}
.p3 .q-tg{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:var(--blue);background:#eef3ff;border:0;border-radius:999px;padding:5px 10px;cursor:pointer}
.p3 .q-tg svg{transition:transform .3s}
.p3 .q-open .q-tg svg{transform:rotate(180deg)}
.p3 .q-tlx{display:grid;grid-template-rows:0fr;transition:grid-template-rows .4s cubic-bezier(.2,.8,.2,1)}
.p3 .q-open .q-tlx{grid-template-rows:1fr}
.p3 .q-tlx>div{overflow:hidden}
.p3 .q-prev{font-size:12.5px;color:var(--mut);margin-top:8px}
.p3 .q-vt{list-style:none;margin:14px 0 0;padding:0 0 0 4px;position:relative}
.p3 .q-vt:before{content:"";position:absolute;left:9px;top:6px;bottom:6px;width:2px;background:linear-gradient(#c9d6fb,#eef0f5)}
.p3 .q-vt li{position:relative;padding:0 0 12px 28px;font-size:13px}
.p3 .q-vt li:before{content:"";position:absolute;left:0;top:3px;width:12px;height:12px;border-radius:50%;background:var(--c);box-shadow:0 0 0 3px #fff,0 0 0 5px color-mix(in srgb,var(--c) 25%,transparent)}
.p3 .q-vt small{display:block;color:#9097a8;font-size:11px}
.p3 .q-opp{display:grid;grid-template-columns:1fr auto;gap:6px 12px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:12px;margin-top:10px;transition:.2s}
.p3 .q-opp:hover{border-color:#c9d6fb;background:#fafbff}
.p3 .q-opp b{font-size:13.5px}
.p3 .q-val{font-weight:700;font-size:15px}
.p3 .q-lk{grid-column:1/2;display:flex;align-items:center;gap:8px;font-size:11px;color:var(--mut)}
.p3 .q-lk .q-bar{flex:1;height:6px;border-radius:4px;background:#eef0f5;overflow:hidden}
.p3 .q-lk .q-bar i{display:block;height:100%;border-radius:4px;width:0;transition:width 1.2s cubic-bezier(.2,.8,.2,1)}
.p3 .q-cta{font-size:12px;font-weight:600;color:var(--blue);background:none;border:1px solid #c9d6fb;border-radius:8px;padding:5px 10px;cursor:pointer}
.p3 .q-cta:hover{background:#eef3ff}
.p3 .q-lc{display:flex;align-items:center;gap:12px;padding:10px 0;border-top:1px solid #f1f2f6}
.p3 .q-lc:first-of-type{border:0}
.p3 .q-lc .q-av{width:36px;height:36px;font-size:12px}
.p3 .q-lc b{font-size:13px;display:block}
.p3 .q-lc small{color:var(--mut);font-size:11.5px}
.p3 .q-qa{margin-left:auto;display:flex;gap:6px}
.p3 .q-qa span{width:30px;height:30px;border-radius:9px;border:1px solid var(--line);display:grid;place-items:center;color:#5b6275;cursor:pointer;transition:.2s}
.p3 .q-qa span:hover{color:var(--blue);border-color:#c9d6fb;background:#eef3ff;transform:translateY(-1px)}
@media (prefers-reduced-motion:reduce){.p3 *,.p3 *:before,.p3 *:after{animation:none!important;transition:none!important}
.p3 .q-in{opacity:1;transform:none}}
@media(max-width:900px){.p3 .q-grid{grid-template-columns:1fr}
.p3 .q-wrap{padding:16px}
.p3 .q-stu{margin-left:16px}
.p3 .q-sbody{padding:16px 16px 84px 70px}
.p3 .q-bill{grid-template-columns:1fr}
.p3 .q-cc{max-width:260px}
.p3 .q-tiles{grid-template-columns:repeat(2,1fr)}}
.p3 .q-sname{font-size:30px!important;line-height:1.1}
.p3 .q-srole{font-size:14px!important;margin:6px 0 16px!important}
.p3 .q-pp{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:14px}
.p3 .q-pp div{background:#f7f8fc;border:1px solid var(--line);border-radius:12px;padding:10px 14px}
.p3 .q-pp b{display:block;font-size:15.5px;margin-top:2px}
.p3 .q-pp small{color:var(--mut);font-size:12px}
.p3 .q-rw{font-size:15px!important}
.p3 .q-rw .q-ii,.p3 .q-facts .q-ii{width:36px!important;height:36px!important;border-radius:10px}
.p3 .q-rw .q-ii .q-ic,.p3 .q-facts .q-ii .q-ic{width:18px;height:18px}
.p3 .q-facts{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px;margin-top:14px}
.p3 .q-facts>div{display:flex;gap:8px;align-items:center}
.p3 .q-facts .q-ii{background:#f3f5fb;display:grid;place-items:center;color:var(--blue);flex-shrink:0}
.p3 .q-facts b{display:block;font-size:13.5px}
.p3 .q-stu .q-chip{font-size:13px;padding:6px 12px}
.p3 .q-sbody{padding:18px 22px 84px 84px!important}
.p3 .q-acts{display:flex;flex-direction:column;gap:14px}
.p3 .q-ah{display:flex;align-items:center;gap:8px}
.p3 .q-ah b{font-size:15px}
.p3 .q-ah>span:last-child{margin-left:auto;font-size:11.5px;color:var(--mut)}
.p3 .q-arow{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.p3 .q-arow.q-mid{grid-template-columns:repeat(2,1fr);width:50%;margin:0 auto}
.p3 .q-app-t{position:relative;display:flex;flex-direction:column;align-items:center;gap:8px;background:none;border:0;cursor:pointer;font:inherit;padding:0;transition:transform .2s}
.p3 .q-app-t .q-ai{width:76px;height:76px;border-radius:22px;display:grid;place-items:center;color:#fff;box-shadow:0 10px 22px rgba(20,30,60,.18),inset 0 1px 0 rgba(255,255,255,.35);transition:transform .2s,box-shadow .2s}
.p3 .q-app-t .q-ai .q-ic{width:32px;height:32px;stroke-width:2.2}
.p3 .q-app-t b{font-size:12.5px;font-weight:600;color:var(--ink)}
.p3 .q-app-t kbd{position:absolute;top:-6px;right:calc(50% - 46px);opacity:0;transition:.2s}
.p3 .q-app-t:hover .q-ai{transform:translateY(-4px);box-shadow:0 16px 30px rgba(20,30,60,.26),inset 0 1px 0 rgba(255,255,255,.35)}
.p3 .q-app-t:hover kbd{opacity:1}
.p3 .q-app-t:active .q-ai{transform:scale(.92);transition-duration:.08s}
@media(max-width:900px){.p3 .q-app-t .q-ai{width:62px;height:62px;border-radius:18px}
.p3 .q-app-t .q-ai .q-ic{width:26px;height:26px}
.p3 .q-arow{gap:8px}
.p3 .q-arow.q-mid{width:60%}
.p3 .q-app-t b{font-size:11px;text-align:center}
.p3 .q-facts{grid-template-columns:1fr 1fr}
.p3 .q-sname{font-size:24px!important}
.p3 .q-pp{grid-template-columns:1fr}
.p3 .q-sbody{padding:16px 16px 84px 70px!important}}
.p3 .q-idwrap{position:relative;perspective:1000px;padding:0 18px 22px 0}
.p3 .q-idc{position:relative;border-radius:20px;background:linear-gradient(160deg,#fff,#f7f8ff);border:1px solid #e3e7f5;box-shadow:var(--sh),0 24px 50px rgba(36,83,214,.12);overflow:hidden;transform-style:preserve-3d;transition:transform .15s ease-out}
.p3 .q-holo{position:absolute;inset:0;pointer-events:none;opacity:0;mix-blend-mode:overlay;background:linear-gradient(115deg,transparent 20%,rgba(255,0,170,.35),rgba(0,220,255,.35),rgba(139,124,246,.35),transparent 80%);background-size:250% 250%;transition:opacity .3s;z-index:3}
.p3 .q-idc:hover .q-holo{opacity:1;animation:qholo 2.5s linear infinite}
@keyframes qholo{from{background-position:0 0}to{background-position:250% 250%}}
.p3 .q-slot{position:absolute;top:10px;left:50%;transform:translateX(-50%);width:54px;height:10px;border-radius:6px;background:#f4f6fb;box-shadow:inset 0 2px 3px rgba(0,0,0,.35);z-index:2}
.p3 .q-idh{display:flex;align-items:center;justify-content:space-between;padding:28px 18px 14px;background:linear-gradient(120deg,#1b2a5e,#2453d6 55%,#8b7cf6);color:#fff;position:relative}
.p3 .q-idlogo{display:flex;align-items:center;gap:8px;font-size:14px}
.p3 .q-idlogo .q-logo{width:22px;height:22px}
.p3 .q-idt{font-size:12px;font-weight:800;letter-spacing:.32em;opacity:.95}
.p3 .q-idh .q-edit{position:static}
.p3 .q-idb{display:grid;grid-template-columns:120px 1fr;gap:18px;padding:18px}
.p3 .q-photo{border-radius:14px;background:linear-gradient(135deg,#d6336c,#a51d58);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;font-size:40px;font-weight:800;box-shadow:inset 0 0 0 3px rgba(255,255,255,.35),0 10px 20px rgba(165,29,88,.25);min-height:150px}
.p3 .q-photo small{font-size:10.5px;font-weight:600;background:rgba(255,255,255,.22);padding:3px 8px;border-radius:999px}
.p3 .q-idn{font-size:28px;font-weight:800;letter-spacing:-.02em;line-height:1.1}
.p3 .q-idno{font-size:12.5px;color:var(--mut);margin:4px 0 12px}
.p3 .q-idno b{color:var(--blue)}
.p3 .q-idg{display:grid;grid-template-columns:1fr 1fr;gap:10px 14px}
.p3 .q-idg b{display:block;font-size:14px;margin-top:1px}
.p3 .q-idg .q-wide{grid-column:1/3}
.p3 .q-idf{display:flex;align-items:center;gap:14px;padding:10px 100px 14px 18px;border-top:1px dashed #dfe3ef}
.p3 .q-idf span{font:600 10.5px "SF Mono",Menlo,monospace;color:var(--mut);letter-spacing:.08em;white-space:nowrap}
.p3 .q-bc{flex:1;height:30px;display:flex;gap:2px;overflow:hidden}
.p3 .q-bc i{background:#1f2433;height:100%;flex-shrink:0}
.p3 .q-idwrap .q-gauge{position:absolute;right:0;bottom:0;width:104px;height:104px;border-radius:50%;padding:0;flex-direction:column;justify-content:center;gap:0;background:#fff;border:1px solid #d9f0e1;box-shadow:0 0 0 6px rgba(255,255,255,.8),0 14px 30px rgba(31,122,69,.25);z-index:4}
.p3 .q-idwrap .q-gw{width:52px;height:52px}
.p3 .q-gl{text-align:center;line-height:1.1}
.p3 .q-gl b{display:block;font-size:12px;color:#1f7a45}
.p3 .q-gl span{font-size:9.5px;color:var(--mut)}
.p3 .q-idwrap .q-brk{bottom:112px;right:0}
.p3 .q-acts{gap:10px!important}
.p3 .q-arow{gap:10px!important}
.p3 .q-arow.q-mid{width:calc(50% - 5px)!important}
.p3 .q-app-t{background:#fff;border:1px solid var(--line);border-radius:16px;padding:12px 4px 10px;box-shadow:0 2px 6px rgba(20,30,60,.04)}
.p3 .q-app-t:hover{transform:translateY(-3px);box-shadow:0 10px 20px rgba(20,30,60,.1)}
.p3 .q-app-t .q-ai{width:56px!important;height:56px!important;border-radius:16px!important}
.p3 .q-app-t .q-ai .q-ic{width:26px!important;height:26px!important}
.p3 .q-app-t:hover .q-ai{transform:none}
.p3 .q-app-t kbd{top:6px!important;right:6px!important}
@media(max-width:900px){.p3 .q-idb{grid-template-columns:84px 1fr;gap:12px;padding:14px}
.p3 .q-photo{font-size:28px;min-height:110px}
.p3 .q-idn{font-size:22px}
.p3 .q-idg{grid-template-columns:1fr 1fr}
.p3 .q-idt{letter-spacing:.18em;font-size:10.5px}
.p3 .q-idlogo b{display:none}
.p3 .q-app-t .q-ai{width:46px!important;height:46px!important}
.p3 .q-arow{gap:6px!important}
.p3 .q-app-t{padding:10px 2px 8px}}
.p3 .q-cc2{position:relative;border-radius:20px;padding:18px;background:radial-gradient(120% 80% at 0% 0%,rgba(124,140,255,.16),transparent 60%),radial-gradient(100% 80% at 100% 100%,rgba(246,165,192,.14),transparent 60%),linear-gradient(180deg,rgba(255,255,255,.92),rgba(247,249,255,.92));border:1px solid rgba(201,214,251,.8);box-shadow:var(--sh),inset 0 1px 0 #fff;backdrop-filter:blur(12px)}
.p3 .q-cc2 .q-ah{display:flex;align-items:center;gap:8px;margin-bottom:14px}
.p3 .q-cc2 .q-ah b{font-size:15px}
.p3 .q-cc2 .q-num{background:linear-gradient(135deg,#5b7cfa,#2453d6);color:#fff}
.p3 .q-ahn{margin-left:auto;font-size:11.5px;color:var(--mut);white-space:nowrap}
.p3 .q-hero{display:grid;grid-template-columns:1.25fr 1fr;gap:12px}
.p3 .q-hb{position:relative;display:flex;align-items:center;gap:12px;border:0;border-radius:16px;padding:16px;color:#fff;text-align:left;cursor:pointer;font:inherit;transition:transform .2s,box-shadow .2s;overflow:hidden}
.p3 .q-hb:before{content:"";position:absolute;width:140px;height:140px;border-radius:50%;background:rgba(255,255,255,.12);right:-40px;top:-70px}
.p3 .q-hb1{background:linear-gradient(135deg,#6a8cff,#2453d6 60%,#1d3fa8);box-shadow:0 12px 26px rgba(36,83,214,.38),inset 0 1px 0 rgba(255,255,255,.3)}
.p3 .q-hb2{background:linear-gradient(135deg,#4be08a,#14965a 70%);box-shadow:0 12px 26px rgba(20,150,90,.32),inset 0 1px 0 rgba(255,255,255,.3)}
.p3 .q-hb:hover{transform:translateY(-3px)}
.p3 .q-hb:active{transform:scale(.97);transition-duration:.08s}
.p3 .q-hi{width:46px;height:46px;border-radius:14px;background:rgba(255,255,255,.22);display:grid;place-items:center;flex-shrink:0}
.p3 .q-hi .q-ic{width:24px;height:24px}
.p3 .q-hb b{display:block;font-size:17px}
.p3 .q-hb small{font-size:12px;opacity:.85}
.p3 .q-hb kbd{position:absolute;top:10px;right:10px;background:rgba(255,255,255,.2);border-color:rgba(255,255,255,.35);color:#fff}
.p3 .q-agrid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px 8px;margin-top:18px;padding-top:16px;border-top:1px solid rgba(201,214,251,.6)}
.p3 .q-cc2 .q-app-t{background:none!important;border:0!important;box-shadow:none!important;padding:0!important}
.p3 .q-cc2 .q-app-t .q-ai{width:60px!important;height:60px!important;border-radius:18px!important;box-shadow:0 8px 18px rgba(20,30,60,.18),inset 0 1px 0 rgba(255,255,255,.35)}
.p3 .q-cc2 .q-app-t:hover{transform:none}
.p3 .q-cc2 .q-app-t:hover .q-ai{transform:translateY(-4px)!important}
.p3 .q-cc2 .q-app-t:active .q-ai{transform:scale(.9)!important}
.p3 .q-cc2 .q-app-t kbd{top:-6px!important;right:calc(50% - 38px)!important}
@media(max-width:900px){.p3 .q-ahn{display:none}
.p3 .q-hero{grid-template-columns:1fr 1fr;gap:8px}
.p3 .q-hb{flex-direction:column;align-items:flex-start;padding:12px;gap:8px}
.p3 .q-hb b{font-size:15px}
.p3 .q-hb small{font-size:10.5px}
.p3 .q-cc2 .q-app-t .q-ai{width:50px!important;height:50px!important;border-radius:15px!important}
.p3 .q-cc2{padding:14px}}
.p3 .q-w2{max-width:1260px}
.p3 .q-ptitle{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:20px}
.p3 .q-ptitle h1{font-size:26px}
.p3 .q-ptitle .q-subt{margin:2px 0 0}
.p3 .q-last{font-size:12.5px;color:var(--mut)}
.p3 .q-last b{color:var(--ink)}
.p3 .q-g12{display:grid;grid-template-columns:repeat(12,1fr);gap:20px;align-items:stretch}
.p3 .q-c7{grid-column:span 7}
.p3 .q-c5{grid-column:span 5}
.p3 .q-c12{grid-column:1/-1}
.p3 .q-c4{grid-column:span 4}
.p3 .q-c7 .q-idwrap{height:100%}
.p3 .q-c7 .q-idc{height:100%;display:flex;flex-direction:column}
.p3 .q-c7 .q-idb{flex:1}
.p3 .q-col{display:flex;flex-direction:column;gap:20px}
.p3 .q-col>.q-card:first-child{flex:1}
.p3 .q-hic{width:28px;height:28px;border-radius:8px;background:#eef3ff;color:var(--blue);display:inline-grid;place-items:center}
.p3 .q-hic .q-ic{width:15px;height:15px}
.p3 .q-muted{font-size:12px;color:var(--mut)}
.p3 .q-lnk{font:600 12.5px Inter,sans-serif;color:var(--blue);background:none;border:0;cursor:pointer;white-space:nowrap}
.p3 .q-mb .q-bill{grid-template-columns:200px 1fr}
.p3 .q-amt{font-size:32px;font-weight:800;letter-spacing:-.03em}
.p3 .q-amt small{font-size:15px;color:var(--mut);font-weight:500}
.p3 .q-nx{font-size:12.5px;color:var(--mut);margin:2px 0 4px}
.p3 .q-nx b{color:var(--ink)}
.p3 .q-track{margin-top:18px;padding-top:14px;border-top:1px solid var(--line);position:relative}
.p3 .q-tl2{display:flex;align-items:center}
.p3 .q-tl2 i{width:16px;height:16px;border-radius:50%;background:#e6e9f1;flex-shrink:0;border:3px solid #fff;box-shadow:0 0 0 1px #dfe3ec}
.p3 .q-tl2 i.q-dn{background:#22a05a;box-shadow:0 0 0 1px #22a05a,0 0 0 5px rgba(34,160,90,.15)}
.p3 .q-tl2 span{flex:1;height:3px;background:#e6e9f1;border-radius:2px;overflow:hidden;position:relative}
.p3 .q-tl2 span:first-of-type:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#22a05a,#e6e9f1);transform:scaleX(0);transform-origin:left;transition:transform 1s .3s}
.p3 .q-track.q-go .q-tl2 span:first-of-type:after{transform:scaleX(1)}
.p3 .q-tlab{display:flex;justify-content:space-between;font-size:11px;color:var(--mut);margin-top:6px}
.p3 .q-tlab .q-pd{color:#1f7a45;font-weight:600}
.p3 .q-vp{position:absolute;right:0;top:-2px;display:none}
.p3 .q-alert{display:grid;grid-template-columns:auto 1fr 1fr;gap:16px;align-items:center;background:linear-gradient(90deg,#f3f0ff,#fff 60%);border:1px solid #e4ddff;border-radius:16px;padding:14px 18px;box-shadow:var(--sh)}
.p3 .q-al1{display:flex;align-items:center;gap:10px;font-size:16px;padding-right:16px;border-right:1px solid #e4ddff}
.p3 .q-warn{width:32px;height:32px;border-radius:10px;background:linear-gradient(135deg,#c4b8f5,#8b7cf6);color:#fff;font-weight:900;display:grid;place-items:center;box-shadow:0 6px 14px rgba(139,124,246,.3)}
.p3 .q-ai2{display:flex;align-items:center;gap:12px}
.p3 .q-ai2>div{flex:1}
.p3 .q-ai2 b{display:block;font-size:13.5px}
.p3 .q-ai2 small{font-size:11.5px;color:var(--mut)}
.p3 .q-rd{color:#c0264b}
.p3 .q-am{color:#5b45b8}
.p3 .q-aic{width:34px;height:34px;border-radius:10px;display:grid;place-items:center}
.p3 .q-aic.q-r{background:#fdecef;color:#c0264b}
.p3 .q-aic.q-a{background:#f3f0ff;color:#5b45b8}
.p3 .q-ob{font:600 12.5px Inter,sans-serif;color:var(--blue);background:#fff;border:1px solid #c9d6fb;border-radius:10px;padding:8px 12px;cursor:pointer;white-space:nowrap;transition:.2s}
.p3 .q-ob:hover{background:#eef3ff;transform:translateY(-1px)}
.p3 .q-conv{display:flex;flex-direction:column;padding:0;overflow:hidden}
.p3 .q-cvh{display:flex;align-items:center;gap:12px;padding:16px 18px;border-bottom:1px solid var(--line)}
.p3 .q-cvh b{display:block;font-size:15px}
.p3 .q-cvh small{font-size:12px;color:var(--mut)}
.p3 .q-tabs{display:flex;gap:6px;padding:12px 18px}
.p3 .q-tab{font-size:12.5px;font-weight:500;padding:6px 14px;border-radius:9px;cursor:pointer;color:#4a5064;background:#f3f4f8;transition:.2s}
.p3 .q-tab:hover{background:#e8ebf3}
.p3 .q-tab.q-on{background:var(--blue);color:#fff;box-shadow:0 4px 12px rgba(36,83,214,.28)}
.p3 .q-conv .q-thread{min-height:300px;background:#fbfbfd;border-top:1px solid #f1f2f6;border-bottom:1px solid #f1f2f6}
.p3 .q-draft{margin:12px 18px 0;border:1px solid #d6e0fb;background:#f6f8ff;border-radius:12px;padding:10px 14px;font-size:13px;color:#3a4052}
.p3 .q-dh{display:flex;justify-content:space-between;align-items:center;font-size:11.5px;color:var(--mut);margin-bottom:4px}
.p3 .q-dh span{display:flex;align-items:center;gap:6px}
.p3 .q-dh b{color:var(--ink)}
.p3 .q-comp{display:flex;align-items:center;gap:10px;padding:12px 18px 16px}
.p3 .q-pl{width:34px;height:34px;border-radius:50%;background:#f3f4f8;display:grid;place-items:center;color:var(--mut)}
.p3 .q-comp input{flex:1;border:1px solid var(--line);background:#fff;border-radius:999px;padding:10px 14px;font:13px Inter,sans-serif;outline:none}
.p3 .q-comp input:focus{border-color:#a9bdf6;box-shadow:0 0 0 3px rgba(36,83,214,.1)}
.p3 .q-nt{display:flex;align-items:center;gap:6px;font-size:11.5px;color:var(--mut);cursor:pointer;white-space:nowrap}
.p3 .q-nt i{width:30px;height:18px;border-radius:9px;background:#dfe3ec;position:relative;transition:.2s}
.p3 .q-nt i:after{content:"";position:absolute;width:14px;height:14px;border-radius:50%;background:#fff;top:2px;left:2px;transition:.2s;box-shadow:0 1px 2px rgba(0,0,0,.2)}
.p3 .q-nt.q-on i{background:#8b7cf6}
.p3 .q-nt.q-on i:after{left:14px}
.p3 .q-sendb{width:38px;height:38px;border-radius:50%;background:linear-gradient(135deg,#5b7cfa,#2453d6);color:#fff;display:grid;place-items:center;box-shadow:0 6px 14px rgba(36,83,214,.35)}
.p3 .q-hero2{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px}
.p3 .q-tg3{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:12px}
.p3 .q-tile{display:flex;flex-direction:column;align-items:center;gap:8px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px 6px;cursor:pointer;font:inherit;transition:transform .2s,box-shadow .2s,border-color .2s}
.p3 .q-tile b{font-size:12.5px;font-weight:600}
.p3 .q-tile:hover{transform:translateY(-3px);box-shadow:0 10px 20px rgba(20,30,60,.08);border-color:#c9d6fb}
.p3 .q-tile:active{transform:scale(.96)}
.p3 .q-tic{width:40px;height:40px;border-radius:12px;display:grid;place-items:center}
.p3 .q-tic .q-ic{width:19px;height:19px}
.p3 .q-nsr{display:flex;align-items:center;gap:12px;margin-top:14px}
.p3 .q-nsr>div{flex:1}
.p3 .q-nsr b{display:block;font-size:14px}
.p3 .q-nsr small{font-size:12px;color:var(--mut)}
.p3 .q-prim2{font:600 13px Inter,sans-serif;color:#fff;border:0;border-radius:10px;padding:10px 14px;background:linear-gradient(135deg,#5b7cfa,#2453d6);box-shadow:0 6px 14px rgba(36,83,214,.3);cursor:pointer;white-space:nowrap;transition:.2s}
.p3 .q-prim2:hover{transform:translateY(-1px)}
.p3 .q-prim2:active{transform:scale(.97)}
.p3 .q-mini{list-style:none;padding:0;margin:12px 0 0}
.p3 .q-mini li{position:relative;padding:0 0 10px 20px;font-size:13px;display:flex;justify-content:space-between}
.p3 .q-mini li:before{content:"";position:absolute;left:0;top:4px;width:10px;height:10px;border-radius:50%;background:var(--c)}
.p3 .q-mini small{color:var(--mut);font-size:11.5px}
.p3 .q-stackav{display:flex;margin-top:14px}
.p3 .q-stackav .q-av{width:46px;height:46px;font-size:14px;border:3px solid #fff;margin-left:-12px;box-shadow:0 4px 10px rgba(20,30,60,.12);transition:transform .2s}
.p3 .q-stackav .q-av:first-child{margin-left:0}
.p3 .q-stackav .q-av:hover{transform:translateY(-3px)}
.p3 .q-opps{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.p3 .q-opps div{border:1px solid var(--line);border-radius:12px;padding:10px;transition:.2s}
.p3 .q-opps div:hover{border-color:#c9d6fb;background:#fafbff}
.p3 .q-opps b{display:block;font-size:12.5px}
.p3 .q-opps small{color:#1f7a45;font-weight:600;font-size:12px}
@media(max-width:900px){.p3 .q-g12{grid-template-columns:1fr;gap:16px}
.p3 .q-c7,.p3 .q-c5,.p3 .q-c4,.p3 .q-c12{grid-column:1/-1}
.p3 .q-ptitle{flex-direction:column;align-items:flex-start;gap:4px}
.p3 .q-alert{grid-template-columns:1fr}
.p3 .q-al1{border:0;padding:0}
.p3 .q-mb .q-bill{grid-template-columns:1fr}
.p3 .q-tabs{overflow-x:auto}
.p3 .q-nt span{display:none}
.p3 .q-comp{gap:6px;padding:12px}
.p3 .q-hb{flex-direction:column;align-items:flex-start;padding:12px;gap:8px}
.p3 .q-hb b{font-size:15px}
.p3 .q-nsr{flex-wrap:wrap}
.p3 .q-prim2{width:100%}}
.p3 .q-idw2{position:relative;padding:0 14px 14px 0}
.p3 .q-rid{position:relative;height:100%;border-radius:20px;background:#fff;border:1px solid #e3e7f5;box-shadow:var(--sh),0 20px 44px rgba(36,83,214,.1);overflow:hidden;display:flex;flex-direction:column;transition:transform .15s}
.p3 .q-ridh{position:relative;height:150px;background:linear-gradient(115deg,#1b3aa0,#2453d6 50%,#4f7cf7);color:#fff;overflow:hidden;padding:16px 20px}
.p3 .q-blob{position:absolute;border-radius:50%;background:rgba(255,255,255,.12)}
.p3 .q-b1{width:220px;height:220px;right:-40px;top:20px}
.p3 .q-b2{width:140px;height:140px;right:120px;top:90px;background:rgba(255,255,255,.08)}
.p3 .q-ridh .q-idlogo{font-size:16px;position:relative;z-index:1}
.p3 .q-ridtag{position:absolute;left:50%;top:44px;transform:translateX(-10%);font-size:9.5px;font-weight:800;letter-spacing:.18em;background:#fff;color:var(--blue);padding:3px 10px;border-radius:999px;z-index:1}
.p3 .q-edit2{position:absolute;top:14px;right:16px;display:flex;gap:6px;align-items:center;font-size:12.5px;font-weight:600;background:#fff;color:var(--ink);padding:6px 12px;border-radius:10px;cursor:pointer;z-index:1;box-shadow:0 4px 10px rgba(0,0,0,.12)}
.p3 .q-ravw{position:absolute;left:22px;top:52px;z-index:2}
.p3 .q-rav{width:96px;height:96px;border-radius:24px;background:linear-gradient(135deg,#eaf0ff,#c9d6fb);color:var(--blue);font-size:34px;font-weight:800;display:grid;place-items:center;border:4px solid rgba(255,255,255,.9);box-shadow:0 12px 26px rgba(10,30,90,.3)}
.p3 .q-act{position:absolute;left:50%;bottom:-10px;transform:translateX(-50%);background:#22a05a;color:#fff;font-size:11px;font-weight:600;padding:3px 10px;border-radius:999px;white-space:nowrap;box-shadow:0 0 0 3px #fff}
.p3 .q-rname{position:absolute;left:140px;top:68px;z-index:1}
.p3 .q-nm{font-size:32px;font-weight:800;letter-spacing:-.02em;line-height:1.05}
.p3 .q-gl2{font-size:15px;font-weight:600;opacity:.92;margin-top:4px}
.p3 .q-ridb{flex:1;display:grid;grid-template-columns:1fr 1fr auto;gap:18px;padding:28px 22px 20px;align-items:center}
.p3 .q-rcol{display:grid;gap:14px;padding-right:14px;border-right:1px solid var(--line)}
.p3 .q-rr{display:flex;align-items:center;gap:12px}
.p3 .q-rr>.q-ic{width:20px;height:20px;color:#6b7287}
.p3 .q-rr b{display:block;font-size:14px}
.p3 .q-rr small{font-size:12px;color:var(--mut)}
.p3 .q-rbc{display:flex;flex-direction:column;align-items:center;gap:4px;padding-right:70px}
.p3 .q-rbc .q-bc{width:110px;height:44px;flex:none}
.p3 .q-rbc span{font:600 11px "SF Mono",Menlo,monospace;color:var(--mut)}
.p3 .q-idw2 .q-gauge{position:absolute;right:0;bottom:0;width:104px;height:104px;border-radius:50%;padding:0;flex-direction:column;justify-content:center;gap:0;background:#fff;border:1px solid #d9f0e1;box-shadow:0 0 0 6px rgba(255,255,255,.85),0 14px 30px rgba(31,122,69,.25);z-index:4}
.p3 .q-idw2 .q-brk{bottom:112px;right:0}
.p3 .q-tgl{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:600;color:#1f7a45;background:#e9f8ee;border:1px solid #cdeed8;padding:4px 6px 4px 12px;border-radius:999px}
.p3 .q-tgl i{width:32px;height:18px;border-radius:9px;background:#22a05a;position:relative}
.p3 .q-tgl i:after{content:"";position:absolute;right:2px;top:2px;width:14px;height:14px;border-radius:50%;background:#fff}
.p3 .q-mbr{display:grid;grid-template-columns:190px 1fr;gap:18px;margin-top:16px;align-items:center}
.p3 .q-mb2 .q-cc{height:118px}
.p3 .q-ccl{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:600;margin-bottom:10px;position:relative}
.p3 .q-mb2 .q-chipg{margin-bottom:14px}
.p3 .q-kv2{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}
.p3 .q-kv2>div{display:flex;gap:8px;align-items:center;border:1px solid var(--line);border-radius:12px;padding:8px}
.p3 .q-kv2 small{display:block;font-size:10.5px;color:var(--mut)}
.p3 .q-kv2 b{font-size:12.5px}
.p3 .q-ki{width:28px;height:28px;border-radius:8px;background:#eef3ff;color:var(--blue);display:grid;place-items:center;flex-shrink:0}
.p3 .q-ki .q-ic{width:14px;height:14px}
.p3 .q-trow{display:flex;align-items:center;gap:16px}
.p3 .q-trow .q-tl2{flex:1}
.p3 .q-tl2 i.q-dn{width:22px;height:22px;color:#fff;font-size:11px;font-style:normal;display:grid;place-items:center;font-weight:800}
@media(max-width:900px){.p3 .q-ridh{height:auto;padding-bottom:20px}
.p3 .q-ravw{position:relative;left:0;top:0;margin-top:28px;width:80px}
.p3 .q-rav{width:80px;height:80px;font-size:28px}
.p3 .q-ridtag{left:auto;right:84px;top:18px;transform:none}
.p3 .q-rname{position:relative;left:0;top:0;margin-top:20px}
.p3 .q-nm{font-size:26px}
.p3 .q-ridb{grid-template-columns:1fr;padding:20px}
.p3 .q-rcol{border:0;padding:0}
.p3 .q-rbc{align-items:flex-start;padding:0}
.p3 .q-mbr{grid-template-columns:1fr}
.p3 .q-mb2 .q-cc{max-width:260px}
.p3 .q-kv2{grid-template-columns:1fr 1fr}}
.p3 .q-kv2{grid-template-columns:1fr!important;gap:6px!important}
.p3 .q-kv2>div{padding:6px 8px!important}
.p3 .q-mbr{grid-template-columns:180px 1fr!important}
.p3 .q-col>.q-card:first-child{display:flex;flex-direction:column}
.p3 .q-col>.q-card:first-child .q-tg3{flex:1;grid-auto-rows:minmax(0,1fr)}
.p3 .q-conv .q-thread{min-height:0!important;height:282px;overflow-y:auto!important;flex:1 1 282px!important}
.p3 .q-tg3 .q-tile{padding:18px 6px}
.p3 .q-tg3 .q-tic{width:46px;height:46px;border-radius:14px}
.p3 .q-tg3 .q-tile{justify-content:center}
.p3 .q-ridh{z-index:1;overflow:visible!important}
.p3 .q-ridh .q-blob{display:none}
.p3 .q-ridh{background:radial-gradient(60% 120% at 85% 30%,rgba(255,255,255,.16),transparent 60%),linear-gradient(115deg,#1b3aa0,#2453d6 50%,#4f7cf7)!important;border-radius:20px 20px 0 0}
@media(max-width:900px){.p3 .q-mbr{grid-template-columns:1fr!important}
.p3 .q-kv2{grid-template-columns:1fr 1fr!important}}
.p3 .q-ctc{grid-column:1/-1;display:grid;grid-template-columns:auto 1fr;gap:10px;padding-right:70px}
.p3 .q-cp{display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:12px;padding:8px 10px;text-decoration:none;color:var(--ink);transition:.2s;min-width:0}
.p3 .q-cp:hover{border-color:#c9d6fb;background:#f7f9ff;transform:translateY(-1px)}
.p3 .q-cp b{display:block;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.p3 .q-cp small{font-size:11px;color:var(--mut)}
.p3 .q-cp>span:nth-child(2){min-width:0;flex:1}
.p3 .q-cpi{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;flex-shrink:0}
.p3 .q-cpi .q-ic{width:15px;height:15px}
.p3 .q-cpi.q-g{background:#e9f8ee;color:#1f7a45}
.p3 .q-cpi.q-b{background:#eef3ff;color:var(--blue)}
.p3 .q-cpy{color:#9097a8;font-size:14px;padding:2px 4px;border-radius:6px}
.p3 .q-cpy:hover{background:#eef0f5;color:var(--ink)}
.p3 .q-ridb{row-gap:14px!important;padding-top:24px!important}
.p3 .q-mcal{margin-top:14px;border-top:1px solid var(--line);padding-top:12px}
.p3 .q-mch{display:flex;justify-content:space-between;align-items:baseline;font-size:13px;margin-bottom:8px}
.p3 .q-mch .q-muted{font-size:11px}
.p3 .q-mg{display:grid;grid-template-columns:repeat(7,1fr);gap:3px;text-align:center;font-size:11px}
.p3 .q-mg .q-wd{color:#9097a8;font-weight:600;font-size:10px;padding-bottom:2px}
.p3 .q-mg .q-d{height:26px;display:grid;place-items:center;border-radius:8px;color:#4a5064}
.p3 .q-mg .q-d.q-s{color:#fff;font-weight:700}
.p3 .q-mg .q-d.q-t{box-shadow:inset 0 0 0 1.5px var(--blue);color:var(--blue);font-weight:700}
.p3 .q-mg .q-d.q-e{visibility:hidden}
.p3 .q-leg{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:10px;font-size:11px;color:var(--mut)}
.p3 .q-leg span{display:flex;align-items:center;gap:4px}
.p3 .q-leg i{width:8px;height:8px;border-radius:50%}
.p3 .q-leg .q-ob{margin-left:auto;padding:6px 10px}
.p3 .q-ov{position:fixed;inset:0;background:rgba(20,26,43,.35);backdrop-filter:blur(4px);display:none;align-items:center;justify-content:center;z-index:50;padding:24px}
.p3 .q-ov.q-show{display:flex;animation:qfd .2s}
@keyframes qfd{from{opacity:0}}
.p3 .q-md{width:min(1040px,100%);max-height:calc(100vh - 48px);overflow:auto;background:#fff;border-radius:20px;box-shadow:0 30px 80px rgba(20,30,60,.3);animation:qrise .3s}
.p3 .q-mdh{display:flex;align-items:center;gap:16px;padding:18px 22px;border-bottom:1px solid var(--line)}
.p3 .q-mdh b{display:block;font-size:17px}
.p3 .q-mdh small{font-size:12px;color:var(--mut)}
.p3 .q-seg{margin-left:auto;display:flex;background:#f1f3f7;border-radius:10px;padding:3px}
.p3 .q-seg span{padding:6px 14px;border-radius:8px;font-size:12.5px;font-weight:600;cursor:pointer;color:#5b6275}
.p3 .q-seg .q-on{background:#fff;color:var(--ink);box-shadow:0 1px 3px rgba(0,0,0,.1)}
.p3 .q-x{border:0;background:#f1f3f7;width:34px;height:34px;border-radius:10px;cursor:pointer;font-size:14px}
.p3 .q-mdb{display:grid;grid-template-columns:1fr 280px}
.p3 .q-calw{padding:16px 22px}
.p3 .q-calh{display:flex;align-items:center;gap:10px;margin-bottom:12px}
.p3 .q-nb{border:1px solid var(--line);background:#fff;border-radius:8px;width:30px;height:30px;cursor:pointer}
.p3 .q-bg{display:grid;grid-template-columns:repeat(7,1fr);border:1px solid var(--line);border-radius:12px;overflow:hidden}
.p3 .q-bg .q-wd{padding:8px;font-size:11px;font-weight:600;color:var(--mut);background:#fafbfd;border-bottom:1px solid var(--line)}
.p3 .q-bg .q-c{min-height:84px;padding:6px;border-right:1px solid #f1f2f6;border-bottom:1px solid #f1f2f6;font-size:12px;color:#5b6275}
.p3 .q-bg .q-c.q-e{background:#fbfbfd}
.p3 .q-bg .q-c.q-td{background:#f6f8ff}
.p3 .q-bg .q-c.q-td>span{background:var(--blue);color:#fff;border-radius:6px;padding:1px 6px}
.p3 .q-ev2{display:block;margin-top:4px;font-size:11px;font-weight:600;border-radius:7px;padding:4px 6px;cursor:pointer;border-left:3px solid;transition:.15s;text-align:left}
.p3 .q-ev2:hover{transform:translateY(-1px);box-shadow:0 4px 10px rgba(0,0,0,.08)}
.p3 .q-ev2.q-sel{outline:2px solid var(--blue)}
.p3 .q-k-att{background:#e9f8ee;color:#1f7a45;border-color:#22a05a}
.p3 .q-k-ns{background:#fdecef;color:#c0264b;border-color:#e5484d}
.p3 .q-k-cx{background:#f1f3f7;color:#6b7287;border-color:#b7bdca;text-decoration:line-through}
.p3 .q-k-up{background:#eef3ff;color:var(--blue);border-color:var(--blue)}
.p3 .q-wk{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}
.p3 .q-wk .q-c{border:1px solid var(--line);border-radius:12px;min-height:220px;padding:8px;font-size:12px}
.p3 .q-wk .q-c b{display:block;font-size:11px;color:var(--mut);margin-bottom:4px}
.p3 .q-det{border-left:1px solid var(--line);padding:18px;background:#fafbfd}
.p3 .q-det h4{margin:6px 0 2px;font-size:16px}
.p3 .q-dr{display:flex;justify-content:space-between;font-size:13px;padding:8px 0;border-bottom:1px solid var(--line)}
.p3 .q-dr span{color:var(--mut)}
.p3 .q-dbt{display:flex;gap:8px;margin-top:16px}
.p3 .q-dbt button{flex:1}
.p3 .q-danger{font:600 12.5px Inter,sans-serif;color:#c0264b;background:#fff;border:1px solid #f3c4cf;border-radius:10px;padding:8px 12px;cursor:pointer}
@media(max-width:900px){.p3 .q-ctc{grid-template-columns:1fr;padding-right:0}
.p3 .q-mdb{grid-template-columns:1fr}
.p3 .q-det{border-left:0;border-top:1px solid var(--line)}
.p3 .q-bg .q-c{min-height:56px;padding:3px;font-size:10px}
.p3 .q-ev2{font-size:0;padding:3px;height:8px}
.p3 .q-ov{padding:8px}}
.p3 .q-cvh{background:linear-gradient(180deg,#f7f9ff,#fff)}
.p3 .q-cvn{font-size:16px!important}
.p3 .q-cq span{width:34px!important;height:34px!important;border-radius:50%!important;background:#fff}
.p3 .q-cq span:last-child{border:0!important;font-size:18px;color:var(--mut)}
.p3 .q-tabs{gap:8px!important}
.p3 .q-tab{flex:0 0 auto;min-width:64px;text-align:center}
.p3 .q-dd{display:flex;align-items:center;gap:10px;font-size:11px;color:#9097a8;font-weight:600;margin:4px 0}
.p3 .q-dd:before,.p3 .q-dd:after{content:"";flex:1;height:1px;background:var(--line)}
.p3 .q-mrow{display:flex;align-items:flex-end;gap:8px;animation:qrise .4s both}
.p3 .q-ro{justify-content:flex-end}
.p3 .q-mw{max-width:72%;display:flex;flex-direction:column}
.p3 .q-ro .q-mw{align-items:flex-end}
.p3 .q-mw .q-m{max-width:none!important;animation:none!important;padding:10px 14px!important}
.p3 .q-mw time{font-size:10.5px;color:#9097a8;margin-top:3px;padding:0 4px}
.p3 .q-ma{width:30px;height:30px;border-radius:50%;color:#fff;font-size:11px;font-weight:700;display:grid;place-items:center;flex-shrink:0;margin-bottom:18px}
.p3 .q-hbt{flex:1}
.p3 .q-chev{font-size:22px;opacity:.8;margin-right:14px}
.p3 .q-tile{border-color:transparent!important}
.p3 .q-tile:hover{border-color:#c9d6fb!important}
.p3 .q-tile .q-tic{background:#fff!important;box-shadow:0 2px 6px rgba(20,30,60,.06)}
.p3 .q-bx{display:flex;flex-direction:column}
.p3 .q-mini li.q-more{display:none}
.p3 .q-mini.q-all li.q-more{display:flex;animation:qrise .3s}
.p3 .q-lcs{display:flex;align-items:flex-start;justify-content:center;margin-top:14px}
.p3 .q-lca{display:flex;flex-direction:column;align-items:center;gap:6px;margin-left:-10px}
.p3 .q-lca:first-child{margin-left:0}
.p3 .q-lca .q-av{width:50px;height:50px;font-size:15px;border:3px solid #fff;box-shadow:0 4px 10px rgba(20,30,60,.12);transition:transform .2s}
.p3 .q-lca:hover .q-av{transform:translateY(-3px)}
.p3 .q-lca small{font-size:11.5px;color:var(--mut)}
.p3 .q-ov2{z-index:1}
.p3 .q-opps2{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.p3 .q-opps2>div{display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:12px;padding:10px;cursor:pointer;transition:.2s}
.p3 .q-opps2>div:hover{border-color:#c9d6fb;background:#fafbff;transform:translateY(-1px)}
.p3 .q-opps2 b{font-size:12.5px;line-height:1.3}
.p3 .q-oi{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;flex-shrink:0}
.p3 .q-oi .q-ic{width:17px;height:17px}
.p3 .q-cpy{cursor:pointer;display:grid;place-items:center}
.p3 .q-cpy.q-ok{color:#1f7a45;background:#e9f8ee}
@media(max-width:900px){.p3 .q-mw{max-width:80%}
.p3 .q-ma{width:26px;height:26px;font-size:10px}
.p3 .q-chev{display:none}
.p3 .q-tabs{padding:10px 12px!important}
.p3 .q-tab{min-width:0;padding:6px 12px}
.p3 .q-tg3{gap:8px}
.p3 .q-tile{padding:14px 4px!important}
.p3 .q-tile b{font-size:11.5px}
.p3 .q-opps2{grid-template-columns:1fr}
.p3 .q-cq span:nth-child(2){display:none}
.p3 .q-ctc .q-cp{padding:10px}
.p3 .q-mg .q-d{height:30px}
.p3 .q-mch{flex-direction:column;align-items:flex-start;gap:2px}
.p3 .q-nsr .q-prim2{margin-top:4px}
.p3 .q-alert .q-ai2{flex-wrap:wrap}
.p3 .q-alert .q-ai2 .q-ob,.p3 .q-alert .q-ai2 .q-lnk{margin-left:46px}
.p3 .q-hero2{gap:8px}
.p3 .q-hb small{white-space:nowrap}}
.p3 .q-hb b{white-space:nowrap}
.p3 .q-hb small{white-space:nowrap}
.p3 .q-chev{margin-right:8px!important}
.p3 .q-hero2 .q-hb{padding:14px!important;gap:10px!important}
.p3 .q-lca{margin-left:-8px;width:62px}
.p3 .q-lca small{white-space:nowrap}
@media(max-width:900px){.p3 .q-idw2{padding:0 0 92px 0!important}
.p3 .q-idw2 .q-gauge{right:16px}
.p3 .q-nt{font-size:0!important;gap:0!important}
.p3 .q-alert .q-ai2>div{flex:1 1 calc(100% - 46px)}
.p3 .q-col .q-ch .q-muted{display:none}
.p3 .q-comp input{min-width:0}}
.p3 .q-pt2{align-items:center!important;margin-bottom:14px!important}
@media(max-width:900px){.p3 .q-pt2{align-items:flex-start!important}}/* ---- V10.8.313 additions on top of the scoped mockup CSS ---- */
.p3{background:transparent;font-size:14px;line-height:normal}
.p3 a{text-decoration:none}.p3 button{font-family:inherit;line-height:normal;margin:0}
.p3 h3,.p3 h4,.p3 p{font-family:inherit}
.p3 kbd{font:600 10px Inter,sans-serif;background:#fff;border:1px solid #dfe2ea;border-bottom-width:2px;border-radius:5px;padding:1px 5px;color:#6b7287}
.p3 .q-w2{max-width:1260px;margin:0 auto}
.p3 .q-hb{text-decoration:none}
.p3 .q-rav{position:relative;overflow:hidden}.p3 .q-rav img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;background:#eaf0ff}
.p3 .q-tgl.q-off{color:#6b7287;background:#f3f4f8;border-color:var(--line)}.p3 .q-tgl.q-off i{background:#c9cfdb}.p3 .q-tgl.q-off i:after{right:auto;left:2px}
.p3 .q-cc.q-empty{background:linear-gradient(135deg,#8b93a7,#b7bdca);box-shadow:0 10px 22px rgba(20,30,60,.15)}
.p3 .q-cp b[style]{font-weight:600}
.p3 .q-cpi:not(.q-g):not(.q-b){background:#f3f4f8;color:#9097a8}
.p3 .q-emp3{margin:auto;color:#9097a8;font-size:13px;padding:40px 0;text-align:center}
.p3 .q-ev{text-decoration:none}
.p3 .q-mw .q-m{white-space:pre-line;word-break:break-word}
.p3 .q-draft.q-none{background:#fafbfd;border-style:dashed}
.p3 .q-sendb,.p3 .q-pl,.p3 .q-cq span{cursor:pointer}.p3 .q-cq a{color:inherit}
.p3 .q-lca{text-decoration:none}
.p3 .q-tile{color:var(--ink)}
.p3 .q-mini{max-height:none}
/* risk chip on the ID card */
.p3 .q-riskchip{margin-top:8px;display:inline-flex;align-items:center;gap:6px;font:700 11.5px Inter,sans-serif;color:#9a1c3a;background:#fff;border:0;border-radius:999px;padding:5px 11px 5px 9px;cursor:pointer;box-shadow:0 4px 12px rgba(10,20,60,.25);transition:.2s;position:relative;z-index:3}
.p3 .q-riskchip:hover{transform:translateY(-1px);box-shadow:0 8px 18px rgba(10,20,60,.3)}.p3 .q-riskchip .q-ic{color:#e5484d}
/* compact alert list */
.p3 .q-alert3{display:grid;grid-template-columns:auto 1fr;gap:16px;align-items:center;background:linear-gradient(90deg,#f3f0ff,#fff 60%);border:1px solid #e4ddff;border-radius:16px;padding:10px 18px;box-shadow:var(--sh)}
.p3 .q-alist{display:flex;flex-direction:column;min-width:0}
.p3 .q-arow3{display:flex;align-items:center;gap:10px;min-width:0;padding:5px 0}.p3 .q-arow3+.q-arow3{border-top:1px solid #e4ddff}
.p3 .q-arow3 b{font-size:13.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:0 1 auto;color:#3a4052}
.p3 .q-arow3 small{font-size:11.5px;color:var(--mut);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1 1 0;min-width:0}
.p3 .q-arow3 .q-ob,.p3 .q-arow3 .q-lnk{margin-left:auto;flex-shrink:0}.p3 .q-arow3 .q-ob{padding:5px 10px}
.p3 .q-aic3{width:26px;height:26px;border-radius:8px;display:grid;place-items:center;flex-shrink:0;background:#f1f3f7;color:#5b6275}.p3 .q-aic3 .q-ic{width:14px;height:14px}
.p3 .q-t-amber .q-aic3{background:#f3f0ff;color:#5b45b8}.p3 .q-t-amber b{color:#5b45b8}
.p3 .q-t-red .q-aic3{background:#fdecef;color:#c0264b}.p3 .q-t-red b{color:#c0264b}
.p3 .q-amore{align-self:flex-start;margin:2px 0 0 36px;font:600 12px Inter,sans-serif;color:var(--blue);background:none;border:0;padding:2px 0;cursor:pointer}
/* calendar kinds (no-show WHO) */
.p3 .q-k-tns{background:#f3f0ff;color:#5b45b8;border-color:#8b7cf6}.p3 .q-k-uns{background:#f6eef1;color:#7d4a5b;border-color:#9b6b7a}
.p3 .q-k-tt{background:#f3f6ff;color:#4a6bd8;border-color:#7c9cf5;border-left-style:dashed}.p3 .q-k-nm{background:#f3f0ff;color:#5b45b8;border-color:#8b7cf6}
.p3 .q-ev2.q-sel{outline:2px solid var(--blue)}
/* at-risk popover */
.p3 .q-rk{width:min(460px,100%);background:#fff;border-radius:20px;box-shadow:0 30px 80px rgba(20,30,60,.3);animation:qrise .3s;max-height:calc(100vh - 48px);overflow:auto}
.p3 .q-rk-h{display:flex;align-items:center;gap:12px;padding:18px 20px;border-bottom:1px solid var(--line);background:linear-gradient(180deg,#fff6f7,#fff)}
.p3 .q-rk-h b{display:block;font-size:17px}.p3 .q-rk-h small{font-size:12px;color:var(--mut)}.p3 .q-rk-h .q-x{margin-left:auto}
.p3 .q-rk-ic{width:38px;height:38px;border-radius:12px;background:#fdecef;color:#c0264b;display:grid;place-items:center}
.p3 .q-rk-bd{padding:16px 20px 20px;display:flex;flex-direction:column;gap:12px;font-size:13.5px;color:#3a4052}
.p3 .q-rk-ev{border:1px solid #f3d3da;background:#fffafb;border-radius:12px;padding:12px 14px}.p3 .q-rk-ev b{display:block;font-size:14.5px;color:#9a1c3a;margin-bottom:3px}.p3 .q-rk-ev small{display:block;color:var(--mut);font-size:11.5px;margin-top:4px}
.p3 .q-rk-clear{display:flex;gap:10px;align-items:flex-start;background:#f7f8fc;border-radius:12px;padding:10px 12px}.p3 .q-rk-clear .q-ic{color:var(--blue);margin-top:2px}
.p3 .q-rk-sep{font-size:12.5px;color:var(--mut)}
.p3 .q-rk-sn{border-top:1px solid var(--line);padding-top:12px;display:flex;flex-direction:column;gap:8px}
.p3 .q-rk-row{display:flex;gap:8px;flex-wrap:wrap}
.p3 .q-rk-b{font:600 12.5px Inter,sans-serif;color:var(--ink);background:#fff;border:1px solid var(--line);border-radius:10px;padding:8px 14px;cursor:pointer;transition:.2s}.p3 .q-rk-b:hover:not([disabled]){border-color:#c9d6fb;background:#eef3ff;color:var(--blue)}
.p3 .q-rk-b.q-on{background:#eef3ff;border-color:#c9d6fb;color:var(--blue)}.p3 .q-rk-b[disabled]{opacity:.5;cursor:not-allowed}
.p3 .q-rk-note{font-size:11.5px;color:var(--mut)}
/* hide the old full-width at-risk banner on this page only (classic keeps it) */
body:has(#p2root.p3) #ixHost [data-ix="riskc"]{display:none!important}
@media(max-width:900px){
 .p3 .q-alert3{grid-template-columns:1fr;gap:8px;padding:12px 14px}
 .p3 .q-arow3{flex-wrap:wrap;row-gap:2px}.p3 .q-arow3 small{flex:1 1 100%;order:3;padding-left:36px}.p3 .q-arow3 b{flex:1 1 0}
 .p3 .q-rk-ov{align-items:flex-end;padding:0}.p3 .q-rk{width:100%;border-radius:22px 22px 0 0;max-height:88vh}
 .p3 .q-rname .q-riskchip{margin-top:10px}
}
.p3 .q-logo{display:inline-block;width:28px;height:28px;border-radius:8px;background:linear-gradient(135deg,#b8b6ff,#8fb8f6);flex-shrink:0}
.p3 .q-idlogo{display:flex;align-items:center;gap:8px}.p3 .q-idlogo .q-logo{width:22px;height:22px}
.p3 .q-leg{gap:4px 9px;font-size:10.5px}
#p2root .ix-rp,#p2root .ix-pill{display:none!important}
.p3 .q-tgl{white-space:nowrap}
.p3 .q-nb,.p3 .q-x{color:var(--ink)!important;font:600 16px/1 Inter,sans-serif!important;display:grid;place-items:center;padding:0}

/* V10.8.1555: texts sent from the profile message box show in the thread at once, with their state */
.p3 .p2pend-sending .q-m{opacity:.72}
.p3 .p2pend-review .q-m{background:linear-gradient(135deg,#8a94b0,#6b7694);box-shadow:none}
.p3 .p2pend-failed .q-m{background:#fdecec;color:#9b1c1c;box-shadow:none;border:1px solid #f3b8b8}
.p3 .p2pend-failed time{color:#b42318}
.p3 .p2perr{margin-top:4px;font-size:12px;line-height:1.35;color:#b42318;text-align:right;display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end;align-items:center}
.p3 .p2perr button{border:1px solid #f3b8b8;background:#fff;color:#b42318;border-radius:999px;padding:3px 10px;font:600 12px Inter,sans-serif;cursor:pointer}
.p3 .p2perr .p2pb2{border-color:var(--line);color:#6b7694}

/* ---- /static/sp1504.css?v=1504 ---- */
/* sp1504.css - V10.8.1506 (TEST): Progress / Tutor Summaries / Stalled pop-ups. Only layout glue; colors, pills, cards, tables, notes are the platform's own classes. */
#modal .mbox:has(.sp-ro){max-width:720px}
#modal .mbox:has(.sp-ro) .m-foot .sec{display:none}
.sp-ro .sp-card{margin:0 0 14px;padding:16px 18px 18px}
.sp-ro .sp-card .tw{margin:0 -18px -18px}
.sp-ro .sp-sum{align-items:flex-start;margin-bottom:14px}
.sp-ro .sp-sum p{margin:6px 0 10px;color:var(--text);font-size:14px;line-height:1.55;user-select:text}
.sp-ro .sp-act{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.sp-ro .sp-act button{padding:6px 14px;font-size:13px}
.sp-ro .sp-act button.sp-done{background:var(--success-soft);color:var(--success-t);border-color:transparent}
.sp-ro .sp-bar{display:inline-block;width:110px;height:8px;border-radius:99px;background:var(--surface-2);border:1px solid var(--border);vertical-align:middle;margin-right:8px;overflow:hidden}
.sp-ro .sp-bar i{display:block;height:100%;background:var(--primary);border-radius:99px}
.sp-ro .sp-pc{white-space:nowrap}
.sp-ro .sp-nw{white-space:nowrap;vertical-align:top}
.sp-ro .sp-pl{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap}
.sp-ro .sp-big{font-size:26px;font-weight:700;color:var(--text)}
.sp-ro .sp-sw{display:flex;gap:8px;margin-bottom:12px;flex-wrap:wrap}
.sp-ro .sp-sw button{padding:5px 12px;font-size:13px}
.sp-ro .sp-why{margin:-6px 0 10px}
.sp-ro .sp-next{margin:14px 0 0}
.p3 .q-sp-stall{color:#8a5300}
.p3 .q-sp-stall .q-ic{color:#d98a00}
.p3 .q-sp-stall{margin-right:6px}

/* ---- /static/session2.css?v=8 ---- */
/* V10.8.340 CC Session page v2: scoped copy of /workspace/mockups/session-v2/index.html CSS (generated by scope.py; do not hand-edit above the EXTRA marker) */
.s3{--blue:#2453d6;--blue2:#5b7cfa;--ink:#141a2b;--mut:#6b7287;--line:#e9ebf2;--bg:#f4f6fb;--r:16px;
--sh:0 1px 2px rgba(20,30,60,.04),0 4px 12px rgba(20,30,60,.05),0 16px 40px rgba(20,30,60,.06)}
.s3 *{box-sizing:border-box}
.s3{margin:0;font-family:Inter,"SF Pro Text",-apple-system,"Segoe UI",Helvetica,Arial,sans-serif;background:var(--bg);color:var(--ink);font-size:14px;-webkit-font-smoothing:antialiased}
.s3 svg{flex-shrink:0}
.s3 .z-ic{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.s3 .z-av{border-radius:50%;color:#fff;display:grid;place-items:center;font-weight:700}
.s3 h1{font-size:24px;margin:0 0 4px;letter-spacing:-.02em}
.s3 h1 span{color:#9097a8;font-weight:400}
.s3 .z-subt{color:var(--mut);margin:0 0 24px;font-size:13px}
.s3 .z-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:start}
.s3 .z-card{position:relative;background:#fff;border:1px solid rgba(225,228,238,.9);border-radius:var(--r);box-shadow:var(--sh);padding:20px;transition:transform .25s,box-shadow .25s}
.s3 .z-card:hover{transform:translateY(-2px);box-shadow:0 2px 4px rgba(20,30,60,.05),0 12px 28px rgba(20,30,60,.08),0 28px 60px rgba(20,30,60,.08)}
.s3 .z-lbl{font-size:10.5px;letter-spacing:.07em;text-transform:uppercase;color:#8a90a2;font-weight:600}
.s3 .z-ch{display:flex;align-items:center;justify-content:space-between;gap:8px}
.s3 .z-ch h3{margin:0;font-size:15px;letter-spacing:-.01em;display:flex;align-items:center;gap:8px}
.s3 .z-num{width:22px;height:22px;border-radius:7px;background:#eef0f5;color:#5b6275;font-size:11px;font-weight:700;display:inline-grid;place-items:center}
.s3 .z-chip{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;font-weight:500;border-radius:999px;padding:4px 10px;background:#f3f4f8;color:#3a4052;border:1px solid var(--line)}
.s3 .z-lav{background:#f1edff;color:#5146d6;border-color:#e3dcff}
.s3 .z-mint{background:#e9f8ee;color:#1f7a45;border-color:#cdeed8}
.s3 .z-peach{background:#f3f0ff;color:#5b45b8;border-color:#e4ddff}
.s3 .z-sky{background:#eaf3ff;color:#1f5fbf;border-color:#cfe2fb}
.s3 .z-in{opacity:0;transform:translateY(14px);animation:zrise .6s cubic-bezier(.2,.8,.2,1) forwards}
@keyframes zrise{to{opacity:1;transform:none}}
.s3 .z-stu{padding:0;overflow:visible}
.s3 .z-band{height:84px;border-radius:var(--r) var(--r) 0 0;background:radial-gradient(120% 140% at 0% 0%,#7c8cff 0,rgba(124,140,255,0) 55%),radial-gradient(120% 160% at 100% 0%,#f6a5c0 0,rgba(246,165,192,0) 55%),linear-gradient(120deg,#2453d6,#5b7cfa 60%,#8b7cf6);position:relative;overflow:hidden}
.s3 .z-band:after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(115deg,rgba(255,255,255,.07) 0 2px,transparent 2px 14px)}
.s3 .z-edit{position:absolute;top:14px;right:14px;z-index:2;display:flex;gap:6px;align-items:center;font-size:12px;font-weight:600;color:#fff;background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.35);backdrop-filter:blur(6px);padding:5px 10px;border-radius:999px;cursor:pointer}
.s3 .z-edit:hover{background:rgba(255,255,255,.3)}
.s3 .z-bigav{position:absolute;left:-22px;top:52px;width:84px;height:84px;font-size:26px;background:linear-gradient(135deg,#d6336c,#a51d58);box-shadow:0 0 0 4px #fff,0 0 0 7px #3ccf7a,0 10px 24px rgba(165,29,88,.35)}
.s3 .z-online{position:absolute;left:46px;top:116px;width:14px;height:14px;border-radius:50%;background:#3ccf7a;border:3px solid #fff}
.s3 .z-sbody{padding:16px 20px 84px 84px}
.s3 .z-cd b span{font-size:inherit;color:inherit}
.s3 .z-sname{font-size:21px;font-weight:700;letter-spacing:-.02em;margin:0}
.s3 .z-srole{color:var(--mut);font-size:12.5px;margin:2px 0 12px}
.s3 .z-rows{display:grid;gap:8px}
.s3 .z-rw{display:flex;align-items:center;gap:10px;font-size:13px;color:#3a4052}
.s3 .z-rw .z-ii{width:28px;height:28px;border-radius:8px;background:#f3f5fb;display:grid;place-items:center;color:var(--blue)}
.s3 .z-rw b{font-weight:600}
.s3 .z-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.s3 .z-gauge{position:absolute;right:16px;bottom:16px;display:flex;align-items:center;gap:10px;background:rgba(255,255,255,.9);backdrop-filter:blur(8px);border:1px solid #d9f0e1;border-radius:14px;padding:8px 12px 8px 8px;box-shadow:0 8px 24px rgba(31,122,69,.14);cursor:pointer}
.s3 .z-gauge .z-t{font-size:10.5px;color:var(--mut)}
.s3 .z-gauge .z-g{font-weight:700;color:#1f7a45;font-size:13px}
.s3 .z-gw{position:relative;width:52px;height:52px}
.s3 .z-gw svg{transform:rotate(-90deg)}
.s3 .z-gw span{position:absolute;inset:0;display:grid;place-items:center;font-weight:800;font-size:14px}
.s3 .z-ring{stroke-dasharray:138.2;stroke-dashoffset:138.2;transition:stroke-dashoffset 1.4s cubic-bezier(.2,.8,.2,1)}
.s3 .z-car{transition:transform .25s;color:var(--blue)}
.s3 .z-gauge.z-open .z-car{transform:rotate(180deg)}
.s3 .z-brk{position:absolute;right:16px;bottom:84px;width:240px;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:var(--sh);padding:14px;opacity:0;transform:translateY(6px) scale(.98);pointer-events:none;transition:.25s;z-index:4}
.s3 .z-brk.z-show{opacity:1;transform:none;pointer-events:auto}
.s3 .z-bk{display:grid;grid-template-columns:1fr 34px;gap:4px 8px;align-items:center;font-size:12px;margin-top:8px}
.s3 .z-bar{grid-column:1/3;height:6px;border-radius:4px;background:#eef0f5;overflow:hidden}
.s3 .z-bar i{display:block;height:100%;background:linear-gradient(90deg,#3ccf7a,#1f9d55);border-radius:4px}
.s3 .z-bill{display:grid;grid-template-columns:200px 1fr;gap:20px;margin-top:16px}
.s3 .z-cc{height:124px;border-radius:14px;padding:14px;color:#fff;position:relative;overflow:hidden;background:linear-gradient(135deg,#1b2a5e,#2453d6 55%,#7c5cf6);box-shadow:0 14px 30px rgba(36,83,214,.35);transition:transform .4s}
.s3 .z-cc:hover{transform:rotate(-2deg) translateY(-3px)}
.s3 .z-cc:before{content:"";position:absolute;width:180px;height:180px;border-radius:50%;background:rgba(255,255,255,.12);right:-60px;top:-80px}
.s3 .z-chipg{width:30px;height:22px;border-radius:5px;background:linear-gradient(135deg,#c4b8f5,#8b7cf6);margin-bottom:22px}
.s3 .z-cc .z-n{font:600 15px/1 "SF Mono",Menlo,monospace;letter-spacing:.12em}
.s3 .z-cc .z-f{display:flex;justify-content:space-between;font-size:10px;opacity:.85;margin-top:14px}
.s3 .z-glow{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:#1f7a45;background:#e9f8ee;border:1px solid #cdeed8;padding:4px 10px;border-radius:999px;box-shadow:0 0 0 4px rgba(60,207,122,.12),0 0 18px rgba(60,207,122,.35)}
.s3 .z-pulse{width:7px;height:7px;border-radius:50%;background:#3ccf7a;animation:zpl 2s infinite}
@keyframes zpl{0%{box-shadow:0 0 0 0 rgba(60,207,122,.6)}70%{box-shadow:0 0 0 7px rgba(60,207,122,0)}100%{box-shadow:0 0 0 0 rgba(60,207,122,0)}}
.s3 .z-cd{display:flex;align-items:baseline;gap:6px}
.s3 .z-cd b{font-size:30px;letter-spacing:-.03em}
.s3 .z-cd span{color:var(--mut);font-size:12.5px}
.s3 .z-kv{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}
.s3 .z-kv div{background:#f7f8fc;border-radius:10px;padding:8px 10px}
.s3 .z-kv b{display:block;font-size:13px;margin-top:2px}
.s3 .z-hist{margin-top:16px;display:flex;align-items:flex-end;gap:12px;border-top:1px solid var(--line);padding-top:14px}
.s3 .z-bars{display:flex;align-items:flex-end;gap:6px;height:40px;flex:1}
.s3 .z-bars i{flex:1;border-radius:4px 4px 2px 2px;background:#dfe6fb;transform-origin:bottom;transform:scaleY(0);transition:transform .8s cubic-bezier(.2,.8,.2,1)}
.s3 .z-bars i.z-pd{background:linear-gradient(#5b7cfa,#2453d6)}
.s3 .z-bars i.z-fut{background:repeating-linear-gradient(45deg,#e8ecf8 0 3px,#f4f6fc 3px 6px)}
.s3 .z-fch{display:flex;gap:6px;padding:10px 14px;border-bottom:1px solid #f0f1f5}
.s3 .z-fc{font-size:12px;font-weight:500;border:1px solid #e1e4ec;border-radius:999px;padding:5px 12px;cursor:pointer;background:#fff;transition:.2s}
.s3 .z-fc:hover{border-color:#b9c6f2}
.s3 .z-fc.z-on{background:var(--blue);color:#fff;border-color:var(--blue);box-shadow:0 4px 12px rgba(36,83,214,.3)}
.s3 .z-thread{flex:1;padding:14px;display:flex;flex-direction:column;gap:8px;background:linear-gradient(#fbfbfe,#f5f7fc);overflow:hidden}
.s3 .z-m{max-width:76%;padding:9px 13px 6px;border-radius:18px;font-size:13px;line-height:1.38;animation:zrise .4s both}
.s3 .z-m time{display:block;font-size:10px;opacity:.6;margin-top:3px;text-align:right}
.s3 .z-mi{background:#fff;border:1px solid #eceef3;align-self:flex-start;border-bottom-left-radius:6px;box-shadow:0 1px 2px rgba(0,0,0,.03)}
.s3 .z-mo{background:linear-gradient(135deg,#3a68ee,#2453d6);color:#fff;align-self:flex-end;border-bottom-right-radius:6px;box-shadow:0 4px 10px rgba(36,83,214,.25)}
.s3 .z-ev{align-self:center;display:flex;gap:6px;align-items:center;font-size:11px;font-weight:500;background:#fff;border:1px solid var(--line);border-radius:999px;padding:4px 10px;color:#5b6275;animation:zrise .4s both}
.s3 .z-ev i{width:7px;height:7px;border-radius:50%}
.s3 .z-day{text-align:center;font-size:10.5px;color:#9097a8;font-weight:600;letter-spacing:.05em;text-transform:uppercase;margin:4px 0}
.s3 .z-typing{align-self:flex-start;background:#fff;border:1px solid #eceef3;border-radius:18px;border-bottom-left-radius:6px;padding:11px 14px;display:flex;gap:4px}
.s3 .z-typing i{width:6px;height:6px;border-radius:50%;background:#a3a9ba;animation:zbl 1.2s infinite}
.s3 .z-typing i:nth-child(2){animation-delay:.15s}
.s3 .z-typing i:nth-child(3){animation-delay:.3s}
@keyframes zbl{0%,60%,100%{transform:none;opacity:.5}30%{transform:translateY(-4px);opacity:1}}
.s3 .z-compose{display:flex;gap:8px;padding:10px 14px 18px;border-top:1px solid #eef0f4;align-items:center}
.s3 .z-compose div{flex:1;background:#f3f4f8;border-radius:999px;padding:10px 14px;color:#9097a8;font-size:12.5px}
.s3 .z-compose span{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,#5b7cfa,#2453d6);color:#fff;display:grid;place-items:center;box-shadow:0 4px 12px rgba(36,83,214,.35)}
.s3 .z-stack{display:flex;flex-direction:column;gap:16px}
.s3 .z-ta{border:1px solid #c9d6fb;background:linear-gradient(180deg,#f7f9ff,#fff 40%);box-shadow:0 0 0 4px rgba(36,83,214,.06),var(--sh)}
.s3 .z-ta .z-num{background:linear-gradient(135deg,#5b7cfa,#2453d6);color:#fff}
.s3 .z-prim{margin-top:16px;width:100%;display:flex;align-items:center;justify-content:center;gap:10px;border:0;border-radius:12px;padding:13px;color:#fff;font:600 14px Inter,sans-serif;background:linear-gradient(135deg,#5b7cfa,#2453d6 60%,#1d40b0);box-shadow:0 8px 20px rgba(36,83,214,.35),inset 0 1px 0 rgba(255,255,255,.25);cursor:pointer;transition:.2s}
.s3 .z-prim:hover{transform:translateY(-1px);box-shadow:0 12px 26px rgba(36,83,214,.45)}
.s3 .z-prim kbd{background:rgba(255,255,255,.2);border-color:rgba(255,255,255,.35);color:#fff}
.s3 .z-tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:8px}
.s3 .z-tl{position:relative;background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px 6px 10px;text-align:center;cursor:pointer;transition:transform .2s,box-shadow .2s,border-color .2s}
.s3 .z-tl:hover{transform:translateY(-3px);box-shadow:0 10px 20px rgba(20,30,60,.1);border-color:#c9d6fb}
.s3 .z-tl:hover .z-ti{transform:scale(1.1) rotate(-4deg)}
.s3 .z-ti{width:34px;height:34px;border-radius:10px;margin:0 auto 6px;display:grid;place-items:center;transition:transform .25s}
.s3 .z-tl b{display:block;font-size:12px;font-weight:600}
.s3 .z-tl kbd{position:absolute;top:6px;right:6px;font-size:9px;padding:0 4px}
.s3 .z-tg{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:var(--blue);background:#eef3ff;border:0;border-radius:999px;padding:5px 10px;cursor:pointer}
.s3 .z-tg svg{transition:transform .3s}
.s3 .z-open .z-tg svg{transform:rotate(180deg)}
.s3 .z-tlx{display:grid;grid-template-rows:0fr;transition:grid-template-rows .4s cubic-bezier(.2,.8,.2,1)}
.s3 .z-open .z-tlx{grid-template-rows:1fr}
.s3 .z-tlx>div{overflow:hidden}
.s3 .z-prev{font-size:12.5px;color:var(--mut);margin-top:8px}
.s3 .z-vt{list-style:none;margin:14px 0 0;padding:0 0 0 4px;position:relative}
.s3 .z-vt:before{content:"";position:absolute;left:9px;top:6px;bottom:6px;width:2px;background:linear-gradient(#c9d6fb,#eef0f5)}
.s3 .z-vt li{position:relative;padding:0 0 12px 28px;font-size:13px}
.s3 .z-vt li:before{content:"";position:absolute;left:0;top:3px;width:12px;height:12px;border-radius:50%;background:var(--c);box-shadow:0 0 0 3px #fff,0 0 0 5px color-mix(in srgb,var(--c) 25%,transparent)}
.s3 .z-vt small{display:block;color:#9097a8;font-size:11px}
.s3 .z-opp{display:grid;grid-template-columns:1fr auto;gap:6px 12px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:12px;margin-top:10px;transition:.2s}
.s3 .z-opp:hover{border-color:#c9d6fb;background:#fafbff}
.s3 .z-opp b{font-size:13.5px}
.s3 .z-val{font-weight:700;font-size:15px}
.s3 .z-lk{grid-column:1/2;display:flex;align-items:center;gap:8px;font-size:11px;color:var(--mut)}
.s3 .z-lk .z-bar{flex:1;height:6px;border-radius:4px;background:#eef0f5;overflow:hidden}
.s3 .z-lk .z-bar i{display:block;height:100%;border-radius:4px;width:0;transition:width 1.2s cubic-bezier(.2,.8,.2,1)}
.s3 .z-cta{font-size:12px;font-weight:600;color:var(--blue);background:none;border:1px solid #c9d6fb;border-radius:8px;padding:5px 10px;cursor:pointer}
.s3 .z-cta:hover{background:#eef3ff}
.s3 .z-lc{display:flex;align-items:center;gap:12px;padding:10px 0;border-top:1px solid #f1f2f6}
.s3 .z-lc:first-of-type{border:0}
.s3 .z-lc .z-av{width:36px;height:36px;font-size:12px}
.s3 .z-lc b{font-size:13px;display:block}
.s3 .z-lc small{color:var(--mut);font-size:11.5px}
.s3 .z-qa{margin-left:auto;display:flex;gap:6px}
.s3 .z-qa span{width:30px;height:30px;border-radius:9px;border:1px solid var(--line);display:grid;place-items:center;color:#5b6275;cursor:pointer;transition:.2s}
.s3 .z-qa span:hover{color:var(--blue);border-color:#c9d6fb;background:#eef3ff;transform:translateY(-1px)}
@media (prefers-reduced-motion:reduce){.s3 *,.s3 *:before,.s3 *:after{animation:none!important;transition:none!important}
.s3 .z-in{opacity:1;transform:none}}
@media(max-width:900px){.s3 .z-grid{grid-template-columns:1fr}
.s3 .z-stu{margin-left:16px}
.s3 .z-sbody{padding:16px 16px 84px 70px}
.s3 .z-bill{grid-template-columns:1fr}
.s3 .z-cc{max-width:260px}
.s3 .z-tiles{grid-template-columns:repeat(2,1fr)}
.s3 .z-fch{overflow-x:auto}}
.s3 .z-sname{font-size:30px!important;line-height:1.1}
.s3 .z-srole{font-size:14px!important;margin:6px 0 16px!important}
.s3 .z-pp{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:14px}
.s3 .z-pp div{background:#f7f8fc;border:1px solid var(--line);border-radius:12px;padding:10px 14px}
.s3 .z-pp b{display:block;font-size:15.5px;margin-top:2px}
.s3 .z-pp small{color:var(--mut);font-size:12px}
.s3 .z-rw{font-size:15px!important}
.s3 .z-rw .z-ii,.s3 .z-facts .z-ii{width:36px!important;height:36px!important;border-radius:10px}
.s3 .z-rw .z-ii .z-ic,.s3 .z-facts .z-ii .z-ic{width:18px;height:18px}
.s3 .z-facts{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px;margin-top:14px}
.s3 .z-facts>div{display:flex;gap:8px;align-items:center}
.s3 .z-facts .z-ii{background:#f3f5fb;display:grid;place-items:center;color:var(--blue);flex-shrink:0}
.s3 .z-facts b{display:block;font-size:13.5px}
.s3 .z-stu .z-chip{font-size:13px;padding:6px 12px}
.s3 .z-sbody{padding:18px 22px 84px 84px!important}
.s3 .z-acts{display:flex;flex-direction:column;gap:14px}
.s3 .z-ah{display:flex;align-items:center;gap:8px}
.s3 .z-ah b{font-size:15px}
.s3 .z-ah>span:last-child{margin-left:auto;font-size:11.5px;color:var(--mut)}
.s3 .z-arow{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.s3 .z-arow.z-mid{grid-template-columns:repeat(2,1fr);width:50%;margin:0 auto}
.s3 .z-app-t{position:relative;display:flex;flex-direction:column;align-items:center;gap:8px;background:none;border:0;cursor:pointer;font:inherit;padding:0;transition:transform .2s}
.s3 .z-app-t .z-ai{width:76px;height:76px;border-radius:22px;display:grid;place-items:center;color:#fff;box-shadow:0 10px 22px rgba(20,30,60,.18),inset 0 1px 0 rgba(255,255,255,.35);transition:transform .2s,box-shadow .2s}
.s3 .z-app-t .z-ai .z-ic{width:32px;height:32px;stroke-width:2.2}
.s3 .z-app-t b{font-size:12.5px;font-weight:600;color:var(--ink)}
.s3 .z-app-t kbd{position:absolute;top:-6px;right:calc(50% - 46px);opacity:0;transition:.2s}
.s3 .z-app-t:hover .z-ai{transform:translateY(-4px);box-shadow:0 16px 30px rgba(20,30,60,.26),inset 0 1px 0 rgba(255,255,255,.35)}
.s3 .z-app-t:hover kbd{opacity:1}
.s3 .z-app-t:active .z-ai{transform:scale(.92);transition-duration:.08s}
@media(max-width:900px){.s3 .z-app-t .z-ai{width:62px;height:62px;border-radius:18px}
.s3 .z-app-t .z-ai .z-ic{width:26px;height:26px}
.s3 .z-arow{gap:8px}
.s3 .z-arow.z-mid{width:60%}
.s3 .z-app-t b{font-size:11px;text-align:center}
.s3 .z-facts{grid-template-columns:1fr 1fr}
.s3 .z-sname{font-size:24px!important}
.s3 .z-pp{grid-template-columns:1fr}
.s3 .z-sbody{padding:16px 16px 84px 70px!important}}
.s3 .z-idwrap{position:relative;perspective:1000px;padding:0 18px 22px 0}
.s3 .z-idc{position:relative;border-radius:20px;background:linear-gradient(160deg,#fff,#f7f8ff);border:1px solid #e3e7f5;box-shadow:var(--sh),0 24px 50px rgba(36,83,214,.12);overflow:hidden;transform-style:preserve-3d;transition:transform .15s ease-out}
.s3 .z-holo{position:absolute;inset:0;pointer-events:none;opacity:0;mix-blend-mode:overlay;background:linear-gradient(115deg,transparent 20%,rgba(255,0,170,.35),rgba(0,220,255,.35),rgba(139,124,246,.35),transparent 80%);background-size:250% 250%;transition:opacity .3s;z-index:3}
.s3 .z-idc:hover .z-holo{opacity:1;animation:zholo 2.5s linear infinite}
@keyframes zholo{from{background-position:0 0}to{background-position:250% 250%}}
.s3 .z-slot{position:absolute;top:10px;left:50%;transform:translateX(-50%);width:54px;height:10px;border-radius:6px;background:#f4f6fb;box-shadow:inset 0 2px 3px rgba(0,0,0,.35);z-index:2}
.s3 .z-idh{display:flex;align-items:center;justify-content:space-between;padding:28px 18px 14px;background:linear-gradient(120deg,#1b2a5e,#2453d6 55%,#8b7cf6);color:#fff;position:relative}
.s3 .z-idlogo{display:flex;align-items:center;gap:8px;font-size:14px}
.s3 .z-idlogo .z-logo{width:22px;height:22px}
.s3 .z-idt{font-size:12px;font-weight:800;letter-spacing:.32em;opacity:.95}
.s3 .z-idh .z-edit{position:static}
.s3 .z-idb{display:grid;grid-template-columns:120px 1fr;gap:18px;padding:18px}
.s3 .z-photo{border-radius:14px;background:linear-gradient(135deg,#d6336c,#a51d58);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;font-size:40px;font-weight:800;box-shadow:inset 0 0 0 3px rgba(255,255,255,.35),0 10px 20px rgba(165,29,88,.25);min-height:150px}
.s3 .z-photo small{font-size:10.5px;font-weight:600;background:rgba(255,255,255,.22);padding:3px 8px;border-radius:999px}
.s3 .z-idn{font-size:28px;font-weight:800;letter-spacing:-.02em;line-height:1.1}
.s3 .z-idno{font-size:12.5px;color:var(--mut);margin:4px 0 12px}
.s3 .z-idno b{color:var(--blue)}
.s3 .z-idg{display:grid;grid-template-columns:1fr 1fr;gap:10px 14px}
.s3 .z-idg b{display:block;font-size:14px;margin-top:1px}
.s3 .z-idg .z-wide{grid-column:1/3}
.s3 .z-idf{display:flex;align-items:center;gap:14px;padding:10px 100px 14px 18px;border-top:1px dashed #dfe3ef}
.s3 .z-idf span{font:600 10.5px "SF Mono",Menlo,monospace;color:var(--mut);letter-spacing:.08em;white-space:nowrap}
.s3 .z-bc{flex:1;height:30px;display:flex;gap:2px;overflow:hidden}
.s3 .z-bc i{background:#1f2433;height:100%;flex-shrink:0}
.s3 .z-idwrap .z-gauge{position:absolute;right:0;bottom:0;width:104px;height:104px;border-radius:50%;padding:0;flex-direction:column;justify-content:center;gap:0;background:#fff;border:1px solid #d9f0e1;box-shadow:0 0 0 6px rgba(255,255,255,.8),0 14px 30px rgba(31,122,69,.25);z-index:4}
.s3 .z-idwrap .z-gw{width:52px;height:52px}
.s3 .z-gl{text-align:center;line-height:1.1}
.s3 .z-gl b{display:block;font-size:12px;color:#1f7a45}
.s3 .z-gl span{font-size:9.5px;color:var(--mut)}
.s3 .z-idwrap .z-brk{bottom:112px;right:0}
.s3 .z-acts{gap:10px!important}
.s3 .z-arow{gap:10px!important}
.s3 .z-arow.z-mid{width:calc(50% - 5px)!important}
.s3 .z-app-t{background:#fff;border:1px solid var(--line);border-radius:16px;padding:12px 4px 10px;box-shadow:0 2px 6px rgba(20,30,60,.04)}
.s3 .z-app-t:hover{transform:translateY(-3px);box-shadow:0 10px 20px rgba(20,30,60,.1)}
.s3 .z-app-t .z-ai{width:56px!important;height:56px!important;border-radius:16px!important}
.s3 .z-app-t .z-ai .z-ic{width:26px!important;height:26px!important}
.s3 .z-app-t:hover .z-ai{transform:none}
.s3 .z-app-t kbd{top:6px!important;right:6px!important}
@media(max-width:900px){.s3 .z-idb{grid-template-columns:84px 1fr;gap:12px;padding:14px}
.s3 .z-photo{font-size:28px;min-height:110px}
.s3 .z-idn{font-size:22px}
.s3 .z-idg{grid-template-columns:1fr 1fr}
.s3 .z-idt{letter-spacing:.18em;font-size:10.5px}
.s3 .z-idlogo b{display:none}
.s3 .z-app-t .z-ai{width:46px!important;height:46px!important}
.s3 .z-arow{gap:6px!important}
.s3 .z-app-t{padding:10px 2px 8px}}
.s3 .z-cc2{position:relative;border-radius:20px;padding:18px;background:radial-gradient(120% 80% at 0% 0%,rgba(124,140,255,.16),transparent 60%),radial-gradient(100% 80% at 100% 100%,rgba(246,165,192,.14),transparent 60%),linear-gradient(180deg,rgba(255,255,255,.92),rgba(247,249,255,.92));border:1px solid rgba(201,214,251,.8);box-shadow:var(--sh),inset 0 1px 0 #fff;backdrop-filter:blur(12px)}
.s3 .z-cc2 .z-ah{display:flex;align-items:center;gap:8px;margin-bottom:14px}
.s3 .z-cc2 .z-ah b{font-size:15px}
.s3 .z-cc2 .z-num{background:linear-gradient(135deg,#5b7cfa,#2453d6);color:#fff}
.s3 .z-ahn{margin-left:auto;font-size:11.5px;color:var(--mut);white-space:nowrap}
.s3 .z-hero{display:grid;grid-template-columns:1.25fr 1fr;gap:12px}
.s3 .z-hb{position:relative;display:flex;align-items:center;gap:12px;border:0;border-radius:16px;padding:16px;color:#fff;text-align:left;cursor:pointer;font:inherit;transition:transform .2s,box-shadow .2s;overflow:hidden}
.s3 .z-hb:before{content:"";position:absolute;width:140px;height:140px;border-radius:50%;background:rgba(255,255,255,.12);right:-40px;top:-70px}
.s3 .z-hb1{background:linear-gradient(135deg,#6a8cff,#2453d6 60%,#1d3fa8);box-shadow:0 12px 26px rgba(36,83,214,.38),inset 0 1px 0 rgba(255,255,255,.3)}
.s3 .z-hb2{background:linear-gradient(135deg,#4be08a,#14965a 70%);box-shadow:0 12px 26px rgba(20,150,90,.32),inset 0 1px 0 rgba(255,255,255,.3)}
.s3 .z-hb:hover{transform:translateY(-3px)}
.s3 .z-hb:active{transform:scale(.97);transition-duration:.08s}
.s3 .z-hi{width:46px;height:46px;border-radius:14px;background:rgba(255,255,255,.22);display:grid;place-items:center;flex-shrink:0}
.s3 .z-hi .z-ic{width:24px;height:24px}
.s3 .z-hb b{display:block;font-size:17px}
.s3 .z-hb small{font-size:12px;opacity:.85}
.s3 .z-hb kbd{position:absolute;top:10px;right:10px;background:rgba(255,255,255,.2);border-color:rgba(255,255,255,.35);color:#fff}
.s3 .z-agrid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px 8px;margin-top:18px;padding-top:16px;border-top:1px solid rgba(201,214,251,.6)}
.s3 .z-cc2 .z-app-t{background:none!important;border:0!important;box-shadow:none!important;padding:0!important}
.s3 .z-cc2 .z-app-t .z-ai{width:60px!important;height:60px!important;border-radius:18px!important;box-shadow:0 8px 18px rgba(20,30,60,.18),inset 0 1px 0 rgba(255,255,255,.35)}
.s3 .z-cc2 .z-app-t:hover{transform:none}
.s3 .z-cc2 .z-app-t:hover .z-ai{transform:translateY(-4px)!important}
.s3 .z-cc2 .z-app-t:active .z-ai{transform:scale(.9)!important}
.s3 .z-cc2 .z-app-t kbd{top:-6px!important;right:calc(50% - 38px)!important}
@media(max-width:900px){.s3 .z-ahn{display:none}
.s3 .z-hero{grid-template-columns:1fr 1fr;gap:8px}
.s3 .z-hb{flex-direction:column;align-items:flex-start;padding:12px;gap:8px}
.s3 .z-hb b{font-size:15px}
.s3 .z-hb small{font-size:10.5px}
.s3 .z-cc2 .z-app-t .z-ai{width:50px!important;height:50px!important;border-radius:15px!important}
.s3 .z-cc2{padding:14px}}
.s3 .z-w2{max-width:1260px}
.s3 .z-ptitle{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:20px}
.s3 .z-ptitle h1{font-size:26px}
.s3 .z-ptitle .z-subt{margin:2px 0 0}
.s3 .z-last{font-size:12.5px;color:var(--mut)}
.s3 .z-last b{color:var(--ink)}
.s3 .z-g12{display:grid;grid-template-columns:repeat(12,1fr);gap:20px;align-items:stretch}
.s3 .z-c7{grid-column:span 7}
.s3 .z-c5{grid-column:span 5}
.s3 .z-c12{grid-column:1/-1}
.s3 .z-c4{grid-column:span 4}
.s3 .z-c7 .z-idwrap{height:100%}
.s3 .z-c7 .z-idc{height:100%;display:flex;flex-direction:column}
.s3 .z-c7 .z-idb{flex:1}
.s3 .z-col{display:flex;flex-direction:column;gap:20px}
.s3 .z-col>.z-card:first-child{flex:1}
.s3 .z-hic{width:28px;height:28px;border-radius:8px;background:#eef3ff;color:var(--blue);display:inline-grid;place-items:center}
.s3 .z-hic .z-ic{width:15px;height:15px}
.s3 .z-muted{font-size:12px;color:var(--mut)}
.s3 .z-lnk{font:600 12.5px Inter,sans-serif;color:var(--blue);background:none;border:0;cursor:pointer;white-space:nowrap}
.s3 .z-mb .z-bill{grid-template-columns:200px 1fr}
.s3 .z-amt{font-size:32px;font-weight:800;letter-spacing:-.03em}
.s3 .z-amt small{font-size:15px;color:var(--mut);font-weight:500}
.s3 .z-nx{font-size:12.5px;color:var(--mut);margin:2px 0 4px}
.s3 .z-nx b{color:var(--ink)}
.s3 .z-track{margin-top:18px;padding-top:14px;border-top:1px solid var(--line);position:relative}
.s3 .z-tl2{display:flex;align-items:center}
.s3 .z-tl2 i{width:16px;height:16px;border-radius:50%;background:#e6e9f1;flex-shrink:0;border:3px solid #fff;box-shadow:0 0 0 1px #dfe3ec}
.s3 .z-tl2 i.z-dn{background:#22a05a;box-shadow:0 0 0 1px #22a05a,0 0 0 5px rgba(34,160,90,.15)}
.s3 .z-tl2 span{flex:1;height:3px;background:#e6e9f1;border-radius:2px;overflow:hidden;position:relative}
.s3 .z-tl2 span:first-of-type:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#22a05a,#e6e9f1);transform:scaleX(0);transform-origin:left;transition:transform 1s .3s}
.s3 .z-track.z-go .z-tl2 span:first-of-type:after{transform:scaleX(1)}
.s3 .z-tlab{display:flex;justify-content:space-between;font-size:11px;color:var(--mut);margin-top:6px}
.s3 .z-tlab .z-pd{color:#1f7a45;font-weight:600}
.s3 .z-vp{position:absolute;right:0;top:-2px;display:none}
.s3 .z-alert{display:grid;grid-template-columns:auto 1fr 1fr;gap:16px;align-items:center;background:linear-gradient(90deg,#f3f0ff,#fff 60%);border:1px solid #e4ddff;border-radius:16px;padding:14px 18px;box-shadow:var(--sh)}
.s3 .z-al1{display:flex;align-items:center;gap:10px;font-size:16px;padding-right:16px;border-right:1px solid #e4ddff}
.s3 .z-warn{width:32px;height:32px;border-radius:10px;background:linear-gradient(135deg,#c4b8f5,#8b7cf6);color:#fff;font-weight:900;display:grid;place-items:center;box-shadow:0 6px 14px rgba(139,124,246,.3)}
.s3 .z-ai2{display:flex;align-items:center;gap:12px}
.s3 .z-ai2>div{flex:1}
.s3 .z-ai2 b{display:block;font-size:13.5px}
.s3 .z-ai2 small{font-size:11.5px;color:var(--mut)}
.s3 .z-rd{color:#c0264b}
.s3 .z-am{color:#5b45b8}
.s3 .z-aic{width:34px;height:34px;border-radius:10px;display:grid;place-items:center}
.s3 .z-aic.z-r{background:#fdecef;color:#c0264b}
.s3 .z-aic.z-a{background:#f3f0ff;color:#5b45b8}
.s3 .z-ob{font:600 12.5px Inter,sans-serif;color:var(--blue);background:#fff;border:1px solid #c9d6fb;border-radius:10px;padding:8px 12px;cursor:pointer;white-space:nowrap;transition:.2s}
.s3 .z-ob:hover{background:#eef3ff;transform:translateY(-1px)}
.s3 .z-conv{display:flex;flex-direction:column;padding:0;overflow:hidden}
.s3 .z-cvh{display:flex;align-items:center;gap:12px;padding:16px 18px;border-bottom:1px solid var(--line)}
.s3 .z-cvh b{display:block;font-size:15px}
.s3 .z-cvh small{font-size:12px;color:var(--mut)}
.s3 .z-tabs{display:flex;gap:6px;padding:12px 18px}
.s3 .z-tab{font-size:12.5px;font-weight:500;padding:6px 14px;border-radius:9px;cursor:pointer;color:#4a5064;background:#f3f4f8;transition:.2s}
.s3 .z-tab:hover{background:#e8ebf3}
.s3 .z-tab.z-on{background:var(--blue);color:#fff;box-shadow:0 4px 12px rgba(36,83,214,.28)}
.s3 .z-conv .z-thread{min-height:300px;background:#fbfbfd;border-top:1px solid #f1f2f6;border-bottom:1px solid #f1f2f6}
.s3 .z-draft{margin:12px 18px 0;border:1px solid #d6e0fb;background:#f6f8ff;border-radius:12px;padding:10px 14px;font-size:13px;color:#3a4052}
.s3 .z-dh{display:flex;justify-content:space-between;align-items:center;font-size:11.5px;color:var(--mut);margin-bottom:4px}
.s3 .z-dh span{display:flex;align-items:center;gap:6px}
.s3 .z-dh b{color:var(--ink)}
.s3 .z-comp{display:flex;align-items:center;gap:10px;padding:12px 18px 16px}
.s3 .z-pl{width:34px;height:34px;border-radius:50%;background:#f3f4f8;display:grid;place-items:center;color:var(--mut)}
.s3 .z-comp input{flex:1;border:1px solid var(--line);background:#fff;border-radius:999px;padding:10px 14px;font:13px Inter,sans-serif;outline:none}
.s3 .z-comp input:focus{border-color:#a9bdf6;box-shadow:0 0 0 3px rgba(36,83,214,.1)}
.s3 .z-nt{display:flex;align-items:center;gap:6px;font-size:11.5px;color:var(--mut);cursor:pointer;white-space:nowrap}
.s3 .z-nt i{width:30px;height:18px;border-radius:9px;background:#dfe3ec;position:relative;transition:.2s}
.s3 .z-nt i:after{content:"";position:absolute;width:14px;height:14px;border-radius:50%;background:#fff;top:2px;left:2px;transition:.2s;box-shadow:0 1px 2px rgba(0,0,0,.2)}
.s3 .z-nt.z-on i{background:#8b7cf6}
.s3 .z-nt.z-on i:after{left:14px}
.s3 .z-sendb{width:38px;height:38px;border-radius:50%;background:linear-gradient(135deg,#5b7cfa,#2453d6);color:#fff;display:grid;place-items:center;box-shadow:0 6px 14px rgba(36,83,214,.35)}
.s3 .z-hero2{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px}
.s3 .z-tg3{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:12px}
.s3 .z-tile{display:flex;flex-direction:column;align-items:center;gap:8px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px 6px;cursor:pointer;font:inherit;transition:transform .2s,box-shadow .2s,border-color .2s}
.s3 .z-tile b{font-size:12.5px;font-weight:600}
.s3 .z-tile:hover{transform:translateY(-3px);box-shadow:0 10px 20px rgba(20,30,60,.08);border-color:#c9d6fb}
.s3 .z-tile:active{transform:scale(.96)}
.s3 .z-tic{width:40px;height:40px;border-radius:12px;display:grid;place-items:center}
.s3 .z-tic .z-ic{width:19px;height:19px}
.s3 .z-nsr{display:flex;align-items:center;gap:12px;margin-top:14px}
.s3 .z-nsr>div{flex:1}
.s3 .z-nsr b{display:block;font-size:14px}
.s3 .z-nsr small{font-size:12px;color:var(--mut)}
.s3 .z-prim2{font:600 13px Inter,sans-serif;color:#fff;border:0;border-radius:10px;padding:10px 14px;background:linear-gradient(135deg,#5b7cfa,#2453d6);box-shadow:0 6px 14px rgba(36,83,214,.3);cursor:pointer;white-space:nowrap;transition:.2s}
.s3 .z-prim2:hover{transform:translateY(-1px)}
.s3 .z-prim2:active{transform:scale(.97)}
.s3 .z-mini{list-style:none;padding:0;margin:12px 0 0}
.s3 .z-mini li{position:relative;padding:0 0 10px 20px;font-size:13px;display:flex;justify-content:space-between}
.s3 .z-mini li:before{content:"";position:absolute;left:0;top:4px;width:10px;height:10px;border-radius:50%;background:var(--c)}
.s3 .z-mini small{color:var(--mut);font-size:11.5px}
.s3 .z-stackav{display:flex;margin-top:14px}
.s3 .z-stackav .z-av{width:46px;height:46px;font-size:14px;border:3px solid #fff;margin-left:-12px;box-shadow:0 4px 10px rgba(20,30,60,.12);transition:transform .2s}
.s3 .z-stackav .z-av:first-child{margin-left:0}
.s3 .z-stackav .z-av:hover{transform:translateY(-3px)}
.s3 .z-opps{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.s3 .z-opps div{border:1px solid var(--line);border-radius:12px;padding:10px;transition:.2s}
.s3 .z-opps div:hover{border-color:#c9d6fb;background:#fafbff}
.s3 .z-opps b{display:block;font-size:12.5px}
.s3 .z-opps small{color:#1f7a45;font-weight:600;font-size:12px}
@media(max-width:900px){.s3 .z-g12{grid-template-columns:1fr;gap:16px}
.s3 .z-c7,.s3 .z-c5,.s3 .z-c4,.s3 .z-c12{grid-column:1/-1}
.s3 .z-ptitle{flex-direction:column;align-items:flex-start;gap:4px}
.s3 .z-alert{grid-template-columns:1fr}
.s3 .z-al1{border:0;padding:0}
.s3 .z-mb .z-bill{grid-template-columns:1fr}
.s3 .z-tabs{overflow-x:auto}
.s3 .z-nt span{display:none}
.s3 .z-comp{gap:6px;padding:12px}
.s3 .z-hb{flex-direction:column;align-items:flex-start;padding:12px;gap:8px}
.s3 .z-hb b{font-size:15px}
.s3 .z-nsr{flex-wrap:wrap}
.s3 .z-prim2{width:100%}}
.s3 .z-idw2{position:relative;padding:0 14px 14px 0}
.s3 .z-rid{position:relative;height:100%;border-radius:20px;background:#fff;border:1px solid #e3e7f5;box-shadow:var(--sh),0 20px 44px rgba(36,83,214,.1);overflow:hidden;display:flex;flex-direction:column;transition:transform .15s}
.s3 .z-ridh{position:relative;height:150px;background:linear-gradient(115deg,#1b3aa0,#2453d6 50%,#4f7cf7);color:#fff;overflow:hidden;padding:16px 20px}
.s3 .z-blob{position:absolute;border-radius:50%;background:rgba(255,255,255,.12)}
.s3 .z-b1{width:220px;height:220px;right:-40px;top:20px}
.s3 .z-b2{width:140px;height:140px;right:120px;top:90px;background:rgba(255,255,255,.08)}
.s3 .z-ridh .z-idlogo{font-size:16px;position:relative;z-index:1}
.s3 .z-ridtag{position:absolute;left:50%;top:44px;transform:translateX(-10%);font-size:9.5px;font-weight:800;letter-spacing:.18em;background:#fff;color:var(--blue);padding:3px 10px;border-radius:999px;z-index:1}
.s3 .z-edit2{position:absolute;top:14px;right:16px;display:flex;gap:6px;align-items:center;font-size:12.5px;font-weight:600;background:#fff;color:var(--ink);padding:6px 12px;border-radius:10px;cursor:pointer;z-index:1;box-shadow:0 4px 10px rgba(0,0,0,.12)}
.s3 .z-ravw{position:absolute;left:22px;top:52px;z-index:2}
.s3 .z-rav{width:96px;height:96px;border-radius:24px;background:linear-gradient(135deg,#eaf0ff,#c9d6fb);color:var(--blue);font-size:34px;font-weight:800;display:grid;place-items:center;border:4px solid rgba(255,255,255,.9);box-shadow:0 12px 26px rgba(10,30,90,.3)}
.s3 .z-act{position:absolute;left:50%;bottom:-10px;transform:translateX(-50%);background:#22a05a;color:#fff;font-size:11px;font-weight:600;padding:3px 10px;border-radius:999px;white-space:nowrap;box-shadow:0 0 0 3px #fff}
.s3 .z-rname{position:absolute;left:140px;top:68px;z-index:1}
.s3 .z-nm{font-size:32px;font-weight:800;letter-spacing:-.02em;line-height:1.05}
.s3 .z-gl2{font-size:15px;font-weight:600;opacity:.92;margin-top:4px}
.s3 .z-ridb{flex:1;display:grid;grid-template-columns:1fr 1fr auto;gap:18px;padding:28px 22px 20px;align-items:center}
.s3 .z-rcol{display:grid;gap:14px;padding-right:14px;border-right:1px solid var(--line)}
.s3 .z-rr{display:flex;align-items:center;gap:12px}
.s3 .z-rr>.z-ic{width:20px;height:20px;color:#6b7287}
.s3 .z-rr b{display:block;font-size:14px}
.s3 .z-rr small{font-size:12px;color:var(--mut)}
.s3 .z-rbc{display:flex;flex-direction:column;align-items:center;gap:4px;padding-right:70px}
.s3 .z-rbc .z-bc{width:110px;height:44px;flex:none}
.s3 .z-rbc span{font:600 11px "SF Mono",Menlo,monospace;color:var(--mut)}
.s3 .z-idw2 .z-gauge{position:absolute;right:0;bottom:0;width:104px;height:104px;border-radius:50%;padding:0;flex-direction:column;justify-content:center;gap:0;background:#fff;border:1px solid #d9f0e1;box-shadow:0 0 0 6px rgba(255,255,255,.85),0 14px 30px rgba(31,122,69,.25);z-index:4}
.s3 .z-idw2 .z-brk{bottom:112px;right:0}
.s3 .z-tgl{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:600;color:#1f7a45;background:#e9f8ee;border:1px solid #cdeed8;padding:4px 6px 4px 12px;border-radius:999px}
.s3 .z-tgl i{width:32px;height:18px;border-radius:9px;background:#22a05a;position:relative}
.s3 .z-tgl i:after{content:"";position:absolute;right:2px;top:2px;width:14px;height:14px;border-radius:50%;background:#fff}
.s3 .z-mbr{display:grid;grid-template-columns:190px 1fr;gap:18px;margin-top:16px;align-items:center}
.s3 .z-mb2 .z-cc{height:118px}
.s3 .z-ccl{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:600;margin-bottom:10px;position:relative}
.s3 .z-mb2 .z-chipg{margin-bottom:14px}
.s3 .z-kv2{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}
.s3 .z-kv2>div{display:flex;gap:8px;align-items:center;border:1px solid var(--line);border-radius:12px;padding:8px}
.s3 .z-kv2 small{display:block;font-size:10.5px;color:var(--mut)}
.s3 .z-kv2 b{font-size:12.5px}
.s3 .z-ki{width:28px;height:28px;border-radius:8px;background:#eef3ff;color:var(--blue);display:grid;place-items:center;flex-shrink:0}
.s3 .z-ki .z-ic{width:14px;height:14px}
.s3 .z-trow{display:flex;align-items:center;gap:16px}
.s3 .z-trow .z-tl2{flex:1}
.s3 .z-tl2 i.z-dn{width:22px;height:22px;color:#fff;font-size:11px;font-style:normal;display:grid;place-items:center;font-weight:800}
@media(max-width:900px){.s3 .z-ridh{height:auto;padding-bottom:20px}
.s3 .z-ravw{position:relative;left:0;top:0;margin-top:28px;width:80px}
.s3 .z-rav{width:80px;height:80px;font-size:28px}
.s3 .z-ridtag{left:auto;right:84px;top:18px;transform:none}
.s3 .z-rname{position:relative;left:0;top:0;margin-top:20px}
.s3 .z-nm{font-size:26px}
.s3 .z-ridb{grid-template-columns:1fr;padding:20px}
.s3 .z-rcol{border:0;padding:0}
.s3 .z-rbc{align-items:flex-start;padding:0}
.s3 .z-mbr{grid-template-columns:1fr}
.s3 .z-mb2 .z-cc{max-width:260px}
.s3 .z-kv2{grid-template-columns:1fr 1fr}}
.s3 .z-kv2{grid-template-columns:1fr!important;gap:6px!important}
.s3 .z-kv2>div{padding:6px 8px!important}
.s3 .z-mbr{grid-template-columns:180px 1fr!important}
.s3 .z-col>.z-card:first-child{display:flex;flex-direction:column}
.s3 .z-col>.z-card:first-child .z-tg3{flex:1;grid-auto-rows:minmax(0,1fr)}
.s3 .z-conv .z-thread{min-height:0!important;height:282px;overflow-y:auto!important;flex:1 1 282px!important}
.s3 .z-tg3 .z-tile{padding:18px 6px}
.s3 .z-tg3 .z-tic{width:46px;height:46px;border-radius:14px}
.s3 .z-tg3 .z-tile{justify-content:center}
.s3 .z-ridh{z-index:1;overflow:visible!important}
.s3 .z-ridh .z-blob{display:none}
.s3 .z-ridh{background:radial-gradient(60% 120% at 85% 30%,rgba(255,255,255,.16),transparent 60%),linear-gradient(115deg,#1b3aa0,#2453d6 50%,#4f7cf7)!important;border-radius:20px 20px 0 0}
@media(max-width:900px){.s3 .z-mbr{grid-template-columns:1fr!important}
.s3 .z-kv2{grid-template-columns:1fr 1fr!important}}
.s3 .z-ctc{grid-column:1/-1;display:grid;grid-template-columns:auto 1fr;gap:10px;padding-right:70px}
.s3 .z-cp{display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:12px;padding:8px 10px;text-decoration:none;color:var(--ink);transition:.2s;min-width:0}
.s3 .z-cp:hover{border-color:#c9d6fb;background:#f7f9ff;transform:translateY(-1px)}
.s3 .z-cp b{display:block;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.s3 .z-cp small{font-size:11px;color:var(--mut)}
.s3 .z-cp>span:nth-child(2){min-width:0;flex:1}
.s3 .z-cpi{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;flex-shrink:0}
.s3 .z-cpi .z-ic{width:15px;height:15px}
.s3 .z-cpi.z-g{background:#e9f8ee;color:#1f7a45}
.s3 .z-cpi.z-b{background:#eef3ff;color:var(--blue)}
.s3 .z-cpy{color:#9097a8;font-size:14px;padding:2px 4px;border-radius:6px}
.s3 .z-cpy:hover{background:#eef0f5;color:var(--ink)}
.s3 .z-ridb{row-gap:14px!important;padding-top:24px!important}
.s3 .z-mcal{margin-top:14px;border-top:1px solid var(--line);padding-top:12px}
.s3 .z-mch{display:flex;justify-content:space-between;align-items:baseline;font-size:13px;margin-bottom:8px}
.s3 .z-mch .z-muted{font-size:11px}
.s3 .z-mg{display:grid;grid-template-columns:repeat(7,1fr);gap:3px;text-align:center;font-size:11px}
.s3 .z-mg .z-wd{color:#9097a8;font-weight:600;font-size:10px;padding-bottom:2px}
.s3 .z-mg .z-d{height:26px;display:grid;place-items:center;border-radius:8px;color:#4a5064}
.s3 .z-mg .z-d.z-s{color:#fff;font-weight:700}
.s3 .z-mg .z-d.z-t{box-shadow:inset 0 0 0 1.5px var(--blue);color:var(--blue);font-weight:700}
.s3 .z-mg .z-d.z-e{visibility:hidden}
.s3 .z-leg{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:10px;font-size:11px;color:var(--mut)}
.s3 .z-leg span{display:flex;align-items:center;gap:4px}
.s3 .z-leg i{width:8px;height:8px;border-radius:50%}
.s3 .z-leg .z-ob{margin-left:auto;padding:6px 10px}
.s3 .z-ov{position:fixed;inset:0;background:rgba(20,26,43,.35);backdrop-filter:blur(4px);display:none;align-items:center;justify-content:center;z-index:50;padding:24px}
.s3 .z-ov.z-show{display:flex;animation:zfd .2s}
@keyframes zfd{from{opacity:0}}
.s3 .z-md{width:min(1040px,100%);max-height:calc(100vh - 48px);overflow:auto;background:#fff;border-radius:20px;box-shadow:0 30px 80px rgba(20,30,60,.3);animation:zrise .3s}
.s3 .z-mdh{display:flex;align-items:center;gap:16px;padding:18px 22px;border-bottom:1px solid var(--line)}
.s3 .z-mdh b{display:block;font-size:17px}
.s3 .z-mdh small{font-size:12px;color:var(--mut)}
.s3 .z-seg{margin-left:auto;display:flex;background:#f1f3f7;border-radius:10px;padding:3px}
.s3 .z-seg span{padding:6px 14px;border-radius:8px;font-size:12.5px;font-weight:600;cursor:pointer;color:#5b6275}
.s3 .z-seg .z-on{background:#fff;color:var(--ink);box-shadow:0 1px 3px rgba(0,0,0,.1)}
.s3 .z-x{border:0;background:#f1f3f7;width:34px;height:34px;border-radius:10px;cursor:pointer;font-size:14px}
.s3 .z-mdb{display:grid;grid-template-columns:1fr 280px}
.s3 .z-calw{padding:16px 22px}
.s3 .z-calh{display:flex;align-items:center;gap:10px;margin-bottom:12px}
.s3 .z-nb{border:1px solid var(--line);background:#fff;border-radius:8px;width:30px;height:30px;cursor:pointer}
.s3 .z-bg{display:grid;grid-template-columns:repeat(7,1fr);border:1px solid var(--line);border-radius:12px;overflow:hidden}
.s3 .z-bg .z-wd{padding:8px;font-size:11px;font-weight:600;color:var(--mut);background:#fafbfd;border-bottom:1px solid var(--line)}
.s3 .z-bg .z-c{min-height:84px;padding:6px;border-right:1px solid #f1f2f6;border-bottom:1px solid #f1f2f6;font-size:12px;color:#5b6275}
.s3 .z-bg .z-c.z-e{background:#fbfbfd}
.s3 .z-bg .z-c.z-td{background:#f6f8ff}
.s3 .z-bg .z-c.z-td>span{background:var(--blue);color:#fff;border-radius:6px;padding:1px 6px}
.s3 .z-ev2{display:block;margin-top:4px;font-size:11px;font-weight:600;border-radius:7px;padding:4px 6px;cursor:pointer;border-left:3px solid;transition:.15s;text-align:left}
.s3 .z-ev2:hover{transform:translateY(-1px);box-shadow:0 4px 10px rgba(0,0,0,.08)}
.s3 .z-ev2.z-sel{outline:2px solid var(--blue)}
.s3 .z-k-att{background:#e9f8ee;color:#1f7a45;border-color:#22a05a}
.s3 .z-k-ns{background:#fdecef;color:#c0264b;border-color:#e5484d}
.s3 .z-k-cx{background:#f1f3f7;color:#6b7287;border-color:#b7bdca;text-decoration:line-through}
.s3 .z-k-up{background:#eef3ff;color:var(--blue);border-color:var(--blue)}
.s3 .z-wk{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}
.s3 .z-wk .z-c{border:1px solid var(--line);border-radius:12px;min-height:220px;padding:8px;font-size:12px}
.s3 .z-wk .z-c b{display:block;font-size:11px;color:var(--mut);margin-bottom:4px}
.s3 .z-det{border-left:1px solid var(--line);padding:18px;background:#fafbfd}
.s3 .z-det h4{margin:6px 0 2px;font-size:16px}
.s3 .z-dr{display:flex;justify-content:space-between;font-size:13px;padding:8px 0;border-bottom:1px solid var(--line)}
.s3 .z-dr span{color:var(--mut)}
.s3 .z-dbt{display:flex;gap:8px;margin-top:16px}
.s3 .z-dbt button{flex:1}
.s3 .z-danger{font:600 12.5px Inter,sans-serif;color:#c0264b;background:#fff;border:1px solid #f3c4cf;border-radius:10px;padding:8px 12px;cursor:pointer}
@media(max-width:900px){.s3 .z-ctc{grid-template-columns:1fr;padding-right:0}
.s3 .z-mdb{grid-template-columns:1fr}
.s3 .z-det{border-left:0;border-top:1px solid var(--line)}
.s3 .z-bg .z-c{min-height:56px;padding:3px;font-size:10px}
.s3 .z-ev2{font-size:0;padding:3px;height:8px}
.s3 .z-ov{padding:8px}}
.s3 .z-cvh{background:linear-gradient(180deg,#f7f9ff,#fff)}
.s3 .z-cvn{font-size:16px!important}
.s3 .z-cq span{width:34px!important;height:34px!important;border-radius:50%!important;background:#fff}
.s3 .z-cq span:last-child{border:0!important;font-size:18px;color:var(--mut)}
.s3 .z-tabs{gap:8px!important}
.s3 .z-tab{flex:0 0 auto;min-width:64px;text-align:center}
.s3 .z-dd{display:flex;align-items:center;gap:10px;font-size:11px;color:#9097a8;font-weight:600;margin:4px 0}
.s3 .z-dd:before,.s3 .z-dd:after{content:"";flex:1;height:1px;background:var(--line)}
.s3 .z-mrow{display:flex;align-items:flex-end;gap:8px;animation:zrise .4s both}
.s3 .z-ro{justify-content:flex-end}
.s3 .z-mw{max-width:72%;display:flex;flex-direction:column}
.s3 .z-ro .z-mw{align-items:flex-end}
.s3 .z-mw .z-m{max-width:none!important;animation:none!important;padding:10px 14px!important}
.s3 .z-mw time{font-size:10.5px;color:#9097a8;margin-top:3px;padding:0 4px}
.s3 .z-ma{width:30px;height:30px;border-radius:50%;color:#fff;font-size:11px;font-weight:700;display:grid;place-items:center;flex-shrink:0;margin-bottom:18px}
.s3 .z-hbt{flex:1}
.s3 .z-chev{font-size:22px;opacity:.8;margin-right:14px}
.s3 .z-tile{border-color:transparent!important}
.s3 .z-tile:hover{border-color:#c9d6fb!important}
.s3 .z-tile .z-tic{background:#fff!important;box-shadow:0 2px 6px rgba(20,30,60,.06)}
.s3 .z-bx{display:flex;flex-direction:column}
.s3 .z-mini li.z-more{display:none}
.s3 .z-mini.z-all li.z-more{display:flex;animation:zrise .3s}
.s3 .z-lcs{display:flex;align-items:flex-start;justify-content:center;margin-top:14px}
.s3 .z-lca{display:flex;flex-direction:column;align-items:center;gap:6px;margin-left:-10px}
.s3 .z-lca:first-child{margin-left:0}
.s3 .z-lca .z-av{width:50px;height:50px;font-size:15px;border:3px solid #fff;box-shadow:0 4px 10px rgba(20,30,60,.12);transition:transform .2s}
.s3 .z-lca:hover .z-av{transform:translateY(-3px)}
.s3 .z-lca small{font-size:11.5px;color:var(--mut)}
.s3 .z-ov2{z-index:1}
.s3 .z-opps2{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.s3 .z-opps2>div{display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:12px;padding:10px;cursor:pointer;transition:.2s}
.s3 .z-opps2>div:hover{border-color:#c9d6fb;background:#fafbff;transform:translateY(-1px)}
.s3 .z-opps2 b{font-size:12.5px;line-height:1.3}
.s3 .z-oi{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;flex-shrink:0}
.s3 .z-oi .z-ic{width:17px;height:17px}
.s3 .z-cpy{cursor:pointer;display:grid;place-items:center}
.s3 .z-cpy.z-ok{color:#1f7a45;background:#e9f8ee}
@media(max-width:900px){.s3 .z-mw{max-width:80%}
.s3 .z-ma{width:26px;height:26px;font-size:10px}
.s3 .z-chev{display:none}
.s3 .z-tabs{padding:10px 12px!important}
.s3 .z-tab{min-width:0;padding:6px 12px}
.s3 .z-tg3{gap:8px}
.s3 .z-tile{padding:14px 4px!important}
.s3 .z-tile b{font-size:11.5px}
.s3 .z-opps2{grid-template-columns:1fr}
.s3 .z-cq span:nth-child(2){display:none}
.s3 .z-ctc .z-cp{padding:10px}
.s3 .z-mg .z-d{height:30px}
.s3 .z-mch{flex-direction:column;align-items:flex-start;gap:2px}
.s3 .z-nsr .z-prim2{margin-top:4px}
.s3 .z-alert .z-ai2{flex-wrap:wrap}
.s3 .z-alert .z-ai2 .z-ob,.s3 .z-alert .z-ai2 .z-lnk{margin-left:46px}
.s3 .z-hero2{gap:8px}
.s3 .z-hb small{white-space:nowrap}}
.s3 .z-hb b{white-space:nowrap}
.s3 .z-hb small{white-space:nowrap}
.s3 .z-chev{margin-right:8px!important}
.s3 .z-hero2 .z-hb{padding:14px!important;gap:10px!important}
.s3 .z-lca{margin-left:-8px;width:62px}
.s3 .z-lca small{white-space:nowrap}
@media(max-width:900px){.s3 .z-idw2{padding:0 0 92px 0!important}
.s3 .z-idw2 .z-gauge{right:16px}
.s3 .z-nt{font-size:0!important;gap:0!important}
.s3 .z-alert .z-ai2>div{flex:1 1 calc(100% - 46px)}
.s3 .z-col .z-ch .z-muted{display:none}
.s3 .z-comp input{min-width:0}}
.s3 .z-pt2{align-items:center!important;margin-bottom:14px!important}
@media(max-width:900px){.s3 .z-pt2{align-items:flex-start!important}}
.s3 .z-back{font-weight:600;color:var(--blue);text-decoration:none;font-size:13.5px}
.s3 .z-back:hover{text-decoration:underline}
.s3 .z-g12{align-items:start}
.s3 .z-col{gap:20px}
.s3 .z-hero{padding:22px}
.s3 .z-hh{display:flex;gap:16px;align-items:flex-start}
.s3 .z-hic.z-big{width:52px;height:52px;border-radius:14px;flex-shrink:0}
.s3 .z-hic.z-big .z-ic{width:24px;height:24px}
.s3 .z-ht{flex:1;min-width:0}
.s3 .z-sub2{font-size:12.5px;color:var(--mut);font-weight:600}
.s3 .z-when{font-size:23px;white-space:nowrap;font-weight:800;letter-spacing:-.02em;margin:2px 0 10px}
.s3 .z-meta{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.s3 .z-nsw{position:relative}
.s3 .z-nsc{font:700 12px Inter,sans-serif;color:#c0264b;background:#fdecef;border:1px solid #f3c4cf;border-radius:999px;padding:7px 12px;cursor:pointer;white-space:nowrap;transition:.2s}
.s3 .z-nsc:hover{box-shadow:0 0 0 4px rgba(229,72,77,.12)}
.s3 .z-pop{position:absolute;right:0;top:calc(100% + 8px);width:300px;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 20px 40px rgba(20,30,60,.16);padding:14px;z-index:20;opacity:0;transform:translateY(-4px);pointer-events:none;transition:.2s;font-size:13px}
.s3 .z-pop.z-show{opacity:1;transform:none;pointer-events:auto}
.s3 .z-pop p{margin:4px 0 10px;color:#4a5064;line-height:1.4}
.s3 .z-why{display:flex;justify-content:space-between;padding:6px 0;border-top:1px solid #f1f2f6}
.s3 .z-why span{color:var(--mut)}
.s3 .z-r{color:#c0264b}
.s3 .z-pb{display:flex;gap:6px;margin-top:10px}
.s3 .z-pb .z-ob{flex:1;padding:7px 6px;font-size:11.5px}
.s3 .z-ppl{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:18px}
.s3 .z-pc{border:1px solid var(--line);border-radius:14px;padding:12px;display:grid;grid-template-columns:auto 1fr;gap:4px 10px;align-items:center}
.s3 .z-pc .z-av{width:44px;height:44px;font-size:14px}
.s3 .z-a1{background:linear-gradient(135deg,#2bb3a3,#0e8a7e)}
.s3 .z-a2{background:linear-gradient(135deg,#6a8cff,#2453d6)}
.s3 .z-a3{background:linear-gradient(135deg,#d6336c,#a51d58)}
.s3 .z-pc b{display:block;font-size:14px}
.s3 .z-pc small{font-size:11.5px;color:var(--mut)}
.s3 .z-ck{grid-column:1/-1;font-size:11px;font-weight:600;border-radius:8px;padding:4px 8px;text-align:center;margin-top:6px}
.s3 .z-ck.z-r{background:#fdecef;color:#c0264b}
.s3 .z-ck.z-g2{background:#e9f8ee;color:#1f7a45}
.s3 .z-trk{margin-top:20px;padding-top:16px;border-top:1px solid var(--line)}
.s3 .z-steps{display:flex;align-items:flex-start}
.s3 .z-st{display:flex;flex-direction:column;align-items:center;gap:4px;width:90px;text-align:center}
.s3 .z-st i{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;font-style:normal;font-weight:800;font-size:15px;background:#f1f3f7;color:#8a90a2;border:2px solid #e3e6ee}
.s3 .z-st.z-done i{background:#22a05a;color:#fff;border-color:#22a05a;box-shadow:0 0 0 5px rgba(34,160,90,.14)}
.s3 .z-st.z-miss i{background:#fdecef;color:#c0264b;border-color:#f3a9b6}
.s3 .z-st b{font-size:12.5px}
.s3 .z-st small{font-size:11px;color:var(--mut)}
.s3 .z-st.z-miss small{color:#c0264b}
.s3 .z-ln{flex:1;height:3px;background:#e6e9f1;margin-top:18px;border-radius:2px}
.s3 .z-ln.z-done{background:linear-gradient(90deg,#22a05a,#f3a9b6)}
.s3 .z-note{margin-top:14px;font-size:12.5px;color:#4a5064;background:#f7f8fc;border-radius:10px;padding:10px 12px}
.s3 .z-vt2{list-style:none;margin:12px 0 0;padding:0}
.s3 .z-vt2 li{position:relative;padding:0 0 12px 22px;font-size:13px;color:#3a4052}
.s3 .z-vt2 li:before{content:"";position:absolute;left:0;top:4px;width:10px;height:10px;border-radius:50%;background:var(--c)}
.s3 .z-vt2 small{display:block;font-size:11.5px;color:var(--mut)}
.s3 .z-pb2{display:flex;gap:8px;margin-top:4px}
.s3 .z-empty2{margin-top:12px;font-size:13px;color:#4a5064;background:#f7f8fc;border:1px dashed #dfe3ec;border-radius:12px;padding:12px}
.s3 .z-hist2{width:100%;border-collapse:collapse;margin-top:10px;font-size:12.5px}
.s3 .z-hist2 td{padding:9px 6px;border-top:1px solid #f1f2f6}
.s3 .z-hist2 td:first-child{color:var(--mut);white-space:nowrap}
.s3 .z-hist2 td:last-child{text-align:right;color:var(--mut)}
.s3 .z-conv2{padding:20px 0 0;overflow:hidden}
.s3 .z-conv2 .z-ch{padding:0 20px}
.s3 .z-conv2 .z-thread{height:300px;overflow:auto;margin-top:4px}
.s3 .z-chev{display:none}
@media(max-width:900px){.s3 .z-hh{flex-wrap:wrap}
.s3 .z-nsw{width:100%}
.s3 .z-nsc{width:100%}
.s3 .z-pop{left:0;right:auto;width:100%}
.s3 .z-when{font-size:19px;white-space:normal}
.s3 .z-ppl{grid-template-columns:1fr}
.s3 .z-st{width:58px}
.s3 .z-st b{font-size:10.5px}
.s3 .z-st small{display:none}
.s3 .z-st i{width:30px;height:30px;font-size:12px}
.s3 .z-ln{margin-top:14px}
.s3 .z-col .z-ch .z-muted{display:none}}
.s3 .z-when{white-space:normal!important;font-size:24px!important;line-height:1.15}
.s3 .z-nsrow{margin-top:14px;display:flex}
.s3 .z-nsrow .z-nsc{white-space:normal;text-align:left}
.s3 .z-nsrow .z-pop{left:0;right:auto;max-width:100%}
.s3 .z-hero2{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))!important}
.s3 .z-hero2 .z-hb{padding-right:40px!important;min-width:0}
.s3 .z-hbt{min-width:0}
.s3 .z-hbt b,.s3 .z-hbt small{white-space:normal!important;overflow-wrap:anywhere}
@media(max-width:900px){.s3 .z-nsrow .z-nsc{width:100%}
.s3 .z-when{font-size:20px!important}}
.s3 .z-ppl{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))!important}
.s3 .z-pc{min-width:0}
.s3 .z-pc>div{min-width:0}
.s3 .z-pc small{white-space:nowrap}
.s3 .z-hero2{grid-template-columns:repeat(auto-fit,minmax(230px,1fr))!important}
.s3 .z-hbt b,.s3 .z-hbt small{overflow-wrap:normal!important}
.s3 .z-tg3{grid-template-columns:repeat(auto-fit,minmax(112px,1fr))!important}
.s3 .z-tile b{text-align:center}
.s3 .z-sendb{flex-shrink:0}
.s3 .z-conv2 .z-comp{padding:12px 16px 16px}
.s3 .z-conv2 .z-comp input{min-width:0;flex:1}
.s3 .z-ch{flex-wrap:wrap;row-gap:4px}
@media(max-width:1280px){.s3 .z-col .z-ch .z-muted{display:none}}
.s3 .z-tg3{grid-template-columns:repeat(3,1fr)!important}
@media(max-width:1360px){.s3 .z-g12>.z-c7,.s3 .z-g12>.z-c5{grid-column:1/-1}
.s3 .z-ppl{grid-template-columns:repeat(3,1fr)!important}}
@media(max-width:700px){.s3 .z-ppl{grid-template-columns:1fr!important}}
@media(max-width:1360px){.s3 .z-g12{display:flex!important;flex-direction:column;align-items:stretch!important}
.s3 .z-g12>.z-col{display:contents}
.s3 [data-o="1"]{order:1}
.s3 [data-o="2"]{order:2}
.s3 [data-o="3"]{order:3}
.s3 [data-o="4"]{order:4}
.s3 [data-o="5"]{order:5}
.s3 [data-o="6"]{order:6}}
.s3 .z-pb2 .z-prim2{width:auto!important}
@media(max-width:600px){.s3 .z-hist2 td:last-child{display:none}}

/* ===== EXTRA (V10.8.340): states the mockup did not draw + CC integration. Same palette/sizes as the mockup. ===== */
.s3{background:transparent}
.s3 kbd{font:600 10px Inter,sans-serif;background:#fff;border:1px solid #dfe2ea;border-bottom-width:2px;border-radius:5px;padding:1px 5px;color:#6b7287}
.s3 a.z-pc{color:inherit;text-decoration:none;transition:border-color .2s,box-shadow .2s}.s3 a.z-pc:hover{border-color:#c9d6fb;box-shadow:0 6px 16px rgba(20,30,60,.06)}
.s3 .z-ck.z-n{background:#f3f4f8;color:#5b6275}
.s3 .z-ptitle .z-cls{font-size:12px;color:var(--mut)}
.s3 a.z-prim2,.s3 a.z-lnk{text-decoration:none;display:inline-block}
.s3 .z-nsug{margin-top:10px;display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:12.5px;color:#4a5064;background:#f3f6ff;border:1px solid #dfe6fb;border-radius:10px;padding:8px 10px}.s3 .z-nsug span{flex:1 1 160px;font-weight:600;color:#2453d6}
.s3 .z-tx{margin-top:4px;font-size:11.5px;color:var(--mut)}.s3 .z-tx summary{cursor:pointer;color:#8a90a2;font-weight:600;list-style:none;display:inline}.s3 .z-tx summary::-webkit-details-marker{display:none}.s3 .z-tx summary:after{content:" ▾"}
.s3 .z-tx div{margin-top:4px;background:#f7f8fc;border-radius:8px;padding:6px 8px;overflow-wrap:anywhere;white-space:pre-wrap}
.s3 .z-vt2 li{overflow-wrap:anywhere}.s3 .z-pb2{flex-wrap:wrap}
.s3 .z-hist2 tr.z-hx{cursor:pointer}.s3 .z-hist2 tr.z-hx:hover td{background:#fafbff}.s3 .z-hist2 td:nth-child(2){overflow-wrap:anywhere}
.s3 .z-hist2 tr.z-tdet td{font-size:11px;color:#8a90a2;background:#f7f8fc;text-align:left!important;overflow-wrap:anywhere;word-break:break-word;white-space:normal!important}
.s3 .z-ok2 p{margin:8px 0 0;white-space:pre-wrap}
.s3 .z-conv2 .z-thread{display:flex;flex-direction:column;gap:8px;overflow:auto}
.s3 .z-cvempty{margin:auto 0}
.s3 .z-m{overflow-wrap:anywhere;white-space:pre-wrap}
.s3 .z-tile{color:var(--ink)}.s3 .z-tile b{overflow-wrap:normal;line-height:1.25}.s3 .z-ok2 .z-muted{margin-top:4px;font-size:12px}
@media(max-width:400px){.s3 .z-tg3{gap:6px}.s3 .z-tile{padding:12px 2px!important;min-width:0}.s3 .z-tile b{font-size:11px}}
/* V10.8.341 */
.s3 a.z-chl{text-decoration:none;cursor:pointer}.s3 a.z-chl:hover{box-shadow:0 0 0 3px rgba(34,160,90,.15)}
@media(max-width:900px){.s3{padding-bottom:calc(var(--s3tb,64px) + 32px + env(safe-area-inset-bottom,0px))}}
/* V10.8.342 Both-rule dialog (mockup .pop/.card palette) */
.s3 .z-dov{position:fixed;inset:0;z-index:1000;background:rgba(20,26,43,.35);display:grid;place-items:center;padding:16px}
.s3 .z-dlg{width:min(480px,100%);max-height:calc(100vh - 32px);overflow:auto;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:0 20px 40px rgba(20,30,60,.16);padding:18px;font-size:13px;color:var(--ink);animation:zrise .25s both}
.s3 .z-dh{display:flex;gap:10px;align-items:flex-start;margin-bottom:12px}.s3 .z-dh>div{flex:1;min-width:0}.s3 .z-dh b{display:block;font-size:15px}.s3 .z-dh small{color:var(--mut);font-size:12px}
.s3 .z-dwarn{width:32px;height:32px;border-radius:10px;background:#f3f0ff;color:#5b45b8;display:grid;place-items:center;flex-shrink:0;font-size:15px}
.s3 .z-x{border:0;background:#f3f4f8;border-radius:8px;width:28px;height:28px;cursor:pointer;color:#5b6275;flex-shrink:0}
.s3 .z-evl{display:grid;gap:8px}.s3 .z-evr{display:flex;gap:8px;align-items:flex-start;border:1px solid var(--line);border-radius:12px;padding:10px}.s3 .z-evr>div{flex:1;min-width:0;overflow-wrap:anywhere;color:#3a4052}.s3 .z-evr small{display:block;color:var(--mut);font-size:11px;margin-top:2px}.s3 .z-evr .z-chip{flex-shrink:0}
.s3 .z-dbt2{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.s3 .z-dbt2>*{flex:1 1 180px;white-space:normal}.s3 .z-prim2:disabled{opacity:.45;cursor:not-allowed;transform:none}
.s3 .z-dl{margin:0;padding-left:18px;color:#4a5064;line-height:1.5}.s3 .z-dfoot{margin-top:12px;font-size:12px;color:var(--mut)}.s3 .z-dfoot .z-dl{font-size:12px}
.s3 .z-pq{margin-top:14px;background:#f7f8fc;border-radius:12px;padding:12px}.s3 .z-seg2{display:flex;gap:8px;margin-top:8px;flex-wrap:wrap}.s3 .z-seg2 label{flex:1 1 120px;display:flex;gap:6px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:10px;padding:8px 10px;cursor:pointer;font-weight:600}
/* V10.8.343: Classic View on its own right-aligned line on phones */
@media(max-width:900px){.s3 .z-ptitle{flex-wrap:wrap;row-gap:6px;align-items:center!important}.s3 .z-ptitle .z-back{flex:1 1 100%;min-width:0}.s3 .z-ptitle .z-cls{margin-left:auto}}

/* ---- /static/topbar341.css?v=3 ---- */
/* V10.8.341 (TEST, BHW V.3 per Swarm CEO V.4): shared top bar must not scroll sideways at 1180 / 1024 / 360. Label-only trims; every control stays. */
@media (max-width:1300px){.topbar .sys-dot>span{display:none}.topbar .sys-dot{padding:6px}.topbar .search-trigger{min-width:0;flex-shrink:1}}
@media (max-width:420px){.topbar{gap:2px!important}.topbar .wchip{padding-left:4px!important;padding-right:4px!important}.topbar .sync-chip button{padding-left:6px!important;padding-right:6px!important}}

/* ---- /static/pin345.css?v=2 ---- */
/* V10.8.345 (was 344) popup fix (Session + Profile): fixed to viewport, never wider than screen, bottom sheet on phones */
html.pin-lock,html.pin-lock body{overflow:hidden!important;overscroll-behavior:none}
.s3 .z-dov,.p3 .q-ov{position:fixed;inset:0;max-width:100vw}
/* desktop: keep each dialog's own max-width; the viewport is only an upper cap (shared .mbox keeps its own rules entirely) */
.s3 .z-dlg{max-width:calc(var(--pinw,100vw) - 32px)}
@media(min-width:901px){.p3 .q-md,.p3 .q-rk{max-width:calc(var(--pinw,100vw) - 32px)}}
.s3 .z-dlg,.p3 .q-md,.p3 .q-rk{box-sizing:border-box;min-width:0}
.s3 .z-dlg *,.p3 .q-rk *{min-width:0;overflow-wrap:anywhere}
.s3 .z-dlg{max-height:calc(var(--pinh,100vh) - 32px)}
@media(max-width:600px){
 .s3 .z-dov,.p3 .q-rk-ov,.p3 .q-ov{display:flex!important;align-items:flex-end!important;justify-content:center;padding:0!important}
 .p3 .q-ov:not(.q-show){display:none!important}
 .s3 .z-dlg,.p3 .q-rk,.p3 .q-md,.modal .mbox{width:100%!important;max-width:100%!important;border-radius:20px 20px 0 0;max-height:calc(var(--pinh,100vh) - 24px)!important;overflow:auto;padding-bottom:calc(18px + env(safe-area-inset-bottom,0px))}
 .modal{padding:0!important;align-items:flex-end!important}
}

/* ---- /static/cchome.css?v=28-909b-1694b ---- */
/* V10.8.314 ICC Home Redesign (TEST). Scoped to #cch + html.cch-on (home route only). Spec: design review PDF p.1 (1536x1024). */
html.cch-on #nav,html.cch-on #navScrim,html.cch-on .main-wrap>.topbar,html.cch-on #ccDock{display:none!important}
html.cch-on .main-wrap{margin-left:0!important}
html.cch-on body,html.cch-on .main-wrap{background:linear-gradient(180deg,#f5f8fd 0%,#eff4fb 55%,#f1f6fd 100%)}
html.cch-on #view{padding:0!important;max-width:none!important}
.cch{--ink:#0b1736;--ink2:#1c2a4d;--mut:#5a6683;--blu:#1f63f6;--blu2:#2f6df5;--bsoft:#e5eefe;--line:#e7edf6;--card:#fff;--r:20px;
  position:relative;max-width:1350px;margin:0 auto;padding:12px 24px 28px;box-sizing:content-box;font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--ink);-webkit-font-smoothing:antialiased}
.cch *{box-sizing:border-box}.cch a{color:inherit;text-decoration:none}.cch a:hover{text-decoration:none}
.cch .i{width:22px;height:22px;flex-shrink:0}
:where(.cch) button{font:inherit;color:inherit;background:none;border:0;cursor:pointer;padding:0;margin:0;box-shadow:none;min-height:0;height:auto;transform:none}
.cch-card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);box-shadow:0 1px 2px rgba(16,36,94,.03),0 8px 24px rgba(16,36,94,.045)}
/* top bar */
.cch-top{display:flex;align-items:center;justify-content:space-between;height:46px;margin-bottom:8px}
.cch-brand{display:flex;align-items:center;height:46px;background:#fff;border-radius:999px;padding:0 26px 0 6px;box-shadow:0 6px 20px rgba(16,36,94,.06)}
.cch-logo{display:flex;align-items:center;gap:10px;height:40px;padding:0 10px 0 2px!important;border-radius:999px!important}
.cch-logo:hover{background:#f3f6fc!important}
.cch-lm{width:36px;height:36px;border-radius:50%;background:#0f1a3c;color:#fff;display:grid;place-items:center}.cch-lm svg{width:20px;height:20px}
.cch-lt{font-size:22px;font-weight:700;letter-spacing:-.4px;color:#0b1736}.cch-lt b{color:#8b7cf6;font-weight:700}
.cch-dd{width:18px!important;height:18px!important;color:#0b1736}
.cch-sep{width:1px;height:32px;background:#e3e8f1;margin:0 18px 0 12px}
.cch-world{display:flex;align-items:center;gap:10px;font-size:17px;font-weight:500;color:var(--ink2)}.cch-world i{width:9px;height:9px;border-radius:50%;background:var(--blu)}
.cch-tools{display:flex;align-items:center;gap:20px;padding-right:10px}
.cch-ib{width:46px;height:46px;border-radius:50%!important;background:#fff!important;display:grid!important;place-items:center;position:relative;box-shadow:0 4px 14px rgba(16,36,94,.07)!important}
.cch-ib:hover{background:#f3f6fc!important}.cch-ib .i{width:21px;height:21px;color:#0b1736}
.cch-dot{position:absolute;top:9px;right:11px;width:8px;height:8px;border-radius:50%;background:#ef3b3b;border:2px solid #fff}
.cch-av{width:48px;height:48px;border-radius:50%!important;background:#11204a!important;color:#fff!important;font-size:19px!important;font-weight:600!important;display:grid!important;place-items:center}
/* header */
.cch-head{display:flex;justify-content:space-between;align-items:flex-start;margin:0 0 12px}
.cch-head h1{font-size:42px;line-height:1.1;font-weight:700;letter-spacing:-1.2px;margin:14px 0 4px;color:var(--ink)}
.cch-head p{font-size:21px;color:#4b5a7a;margin:0;letter-spacing:-.2px}
.cch-clk{display:flex;align-items:flex-start;gap:28px;margin-top:20px}
.cch-clk>div{display:flex;flex-direction:column;align-items:flex-start}.cch-clk small{font-size:14.5px;color:#3d4a68;margin-bottom:4px}.cch-clk b{font-size:27px;font-weight:700;letter-spacing:-.6px;color:var(--ink)}
.cch-shift{display:flex!important;align-items:center;gap:9px;height:50px;padding:0 24px!important;border-radius:999px!important;background:#fff!important;border:1.5px solid #cfdcf6!important;color:#1650d8!important;font-size:16px!important;font-weight:600!important;box-shadow:0 4px 14px rgba(16,36,94,.05)!important;margin-top:2px}
.cch-shift .i{width:20px;height:20px}.cch-shift[data-state=on]{border-color:#9fdcbc!important;color:#118a50!important}.cch-shift[data-state=break]{border-color:#c4b8f5!important;color:#5b45b8!important}
/* nav */
.cch-nav{display:flex;align-items:center;height:56px;padding:0 7px;margin-bottom:16px;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:0 6px 20px rgba(16,36,94,.04);overflow-x:auto;scrollbar-width:none}
.cch-nav::-webkit-scrollbar{display:none}
.cch-nav a{flex:0 0 auto;min-width:178px;height:44px;display:flex;align-items:center;justify-content:center;gap:12px;border-radius:11px;font-size:16px;font-weight:500;color:#2c3a5a;white-space:nowrap;padding:0 18px}
.cch-nav a .i{width:21px;height:21px;color:#26345a}
.cch-nav a:hover{background:#f3f6fc}.cch-nav a.on{background:#e3ecfd;color:var(--blu)}.cch-nav a.on .i{color:var(--blu)}
/* shared */
.cch-sh{display:flex;align-items:center;gap:18px}
.cch-sh h2{font-size:24px;font-weight:700;letter-spacing:-.5px;margin:0;color:var(--ink)}.cch-sh h3{font-size:21px;font-weight:700;letter-spacing:-.4px;margin:0}
.cch-ci{width:58px;height:58px;border-radius:50%;background:#eef3fc;border:1px solid #e1e8f4;display:grid;place-items:center;flex-shrink:0;color:var(--blu)}
.cch-ci .i{width:25px;height:25px}.cch-ci.sm{width:44px;height:44px;background:transparent;border:0}.cch-ci.sm .i{width:24px;height:24px}
.cch-chev{margin-left:auto;width:44px;height:44px;border-radius:50%;border:1px solid #dfe5ef;display:grid;place-items:center;background:#fff;color:#0b1736}.cch-chev:hover{background:#f3f6fc}.cch-chev .i{width:20px;height:20px}
.cch-tag{display:inline-flex;align-items:center;height:26px;padding:0 11px;border-radius:999px;font-size:13.5px;font-weight:500;white-space:nowrap}
.cch-tag.red{background:#fde4e4;color:#d42a2a}.cch-tag.green{background:#dcf5e7;color:#16834a}.cch-tag.gold{background:#e4ddff;color:#3a2a00}.cch-tag.amber{background:#e4ddff;color:#5b45b8}
.cch-btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;height:46px;padding:0 30px;border-radius:999px;font-size:16.5px;font-weight:500;white-space:nowrap}
.cch-btn .i{width:19px;height:19px}.cch-btn.pri{background:var(--blu);color:#fff!important;box-shadow:0 8px 18px rgba(31,99,246,.25)}.cch-btn.pri:hover{background:#1555e0}
.cch-btn.out{border:1.5px solid #9dbaf7;color:#1650d8!important;background:#fff}.cch-btn.out:hover{background:#f2f6ff}
.cch-link{font-size:17px;font-weight:500;color:var(--blu)!important;text-decoration:underline!important;text-underline-offset:3px}
.cch i.b,.cch i.l,.cch i.o,.cch i.g,.cch i.r{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:8px;flex-shrink:0}
.cch i.b{background:#2a6af2}.cch i.l{background:#cbdaf8}.cch i.o{background:#8b7cf6}.cch i.g{background:#22b26b}.cch i.r{background:#ef3b3b}
/* hero */
.cch-hero{display:grid;grid-template-columns:780fr 552fr;gap:16px;margin-bottom:18px}
.cch-start{padding:12px 32px 14px 22px;display:flex;flex-direction:column;min-height:343px}
.cch-sm{display:flex;justify-content:space-between;align-items:flex-end;margin:-2px 0 0 10px;padding-bottom:18px;border-bottom:1px solid #e6ebf3}
.cch-big{display:flex;flex-direction:column}
.cch-big b{font-size:76px;line-height:.84;font-weight:800;color:#0b52e6;letter-spacing:-2px}
.cch-big strong{font-size:26px;font-weight:700;color:#0d1a52;letter-spacing:-.5px;margin-top:4px}
.cch-big small{font-size:19px;color:#4f5c7a;margin-top:3px}.cch-big small i{margin:0 12px;font-style:normal}
.cch-bars{display:flex;align-items:flex-end;gap:13px;height:130px;margin-right:2px;padding-bottom:4px}
.cch-bar{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%;width:30px;gap:12px}
.cch-bar i{display:block;width:30px;border-radius:7px;background:#b3c9f9;max-height:94px;min-height:12px}.cch-bar.on i{background:#0b52f0}.cch-bar.fut i{background:#e3eafa}
.cch-bar span{font-size:14.5px;color:#4b5876}
.cch-next{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 0 0 10px}
.cch-task{display:flex;align-items:center;gap:20px;min-width:0}
.cch-task>span:last-child{display:flex;flex-direction:column;align-items:flex-start;gap:4px;min-width:0}
.cch-task b{font-size:22px;font-weight:700;letter-spacing:-.4px;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}
.cch-task small{font-size:17px;color:#4f5c7a}
.cch-ti{width:78px;height:78px;border-radius:14px;background:#e4ddff;color:#8b7cf6;display:grid;place-items:center;flex-shrink:0}.cch-ti .i{width:30px;height:30px}.cch-ti.ok{background:#dcf5e7;color:#16834a}
.cch-na{display:flex;flex-direction:column;align-items:center;gap:16px;flex-shrink:0}.cch-na .cch-btn{width:246px}
.cch-today{padding:12px 20px 14px 16px;display:flex;flex-direction:column;min-height:343px}
.cch-gw{position:relative;display:block;width:300px;margin:-10px auto 0;height:150px}
.cch-gauge{width:300px;height:163px;display:block}
.cch-gv{position:absolute;left:0;right:0;bottom:-4px;display:flex;flex-direction:column;align-items:center}
.cch-gv b{font-size:40px;font-weight:700;letter-spacing:-1px;line-height:1.05}.cch-gv small{font-size:17.5px;color:#3d4a68;margin-top:2px}
.cch-leg{display:flex;justify-content:center;gap:28px;margin:14px 0 10px;font-size:16px;color:#2c3a5a}.cch-leg a{display:flex;align-items:center}
.cch-ns{display:flex;align-items:center;gap:14px;border-top:1px solid #e6ebf3;padding:14px 4px 0 0}
.cch-nst{display:flex;flex-wrap:wrap;white-space:nowrap;align-items:baseline;column-gap:10px;flex:1;min-width:0}.cch-nst small{flex-basis:100%;font-size:15.5px;color:#3d4a68}
.cch-nst b{font-size:22px;font-weight:700;letter-spacing:-.4px}.cch-nst em{font-style:normal;font-size:15.5px;color:#4f5c7a}
/* strip */
.cch-strip{display:grid;grid-template-columns:repeat(4,1fr);height:50px;align-items:center;margin-bottom:18px;border-radius:16px;padding:0 6px}
.cch-strip a{display:flex;align-items:center;justify-content:center;gap:14px;height:32px;font-size:16px;color:#33415c}
.cch-strip a+a{border-left:1px solid #e3e8f1}.cch-strip a:hover span{color:var(--blu)}.cch-strip a .i{color:var(--blu);width:24px;height:24px;margin-right:12px}
.cch-strip b{font-size:17px;font-weight:700;color:var(--ink);margin-left:10px}
.cch-hd{width:12px;height:12px;border-radius:50%;background:#1fb26a;box-shadow:0 0 0 3px #d9f4e6;margin-right:10px}.cch-hd.warn{background:#8b7cf6;box-shadow:0 0 0 3px #e4ddff}
/* workspace cards */
.cch-ws{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-bottom:18px}
.cch-w{padding:10px 20px 10px 18px;min-height:0;display:flex;flex-direction:column}
.cch-w .cch-ci{width:48px;height:48px}.cch-w .cch-sh{gap:16px}
.cch-wv{display:flex;align-items:baseline;gap:13px;margin:4px 0 0 6px}.cch-wv b{font-size:42px;font-weight:700;letter-spacing:-1px;line-height:1.1}.cch-wv span{font-size:20px;color:#26407a;font-weight:500}
.cch-wsub{display:flex;gap:26px;font-size:16px;color:#3d4a68;margin:0 0 0 6px;padding-bottom:9px;border-bottom:1px solid #e6ebf3}.cch-wsub>*{display:flex;align-items:center}
.cch-wsub .red{color:#e02d2d}.cch-wsub .amber{color:#8b7cf6}
.cch-wl{display:inline-flex;align-items:center;gap:14px;font-size:16px;font-weight:500;color:#1650d8!important;margin:10px 0 0 6px;align-self:flex-start}.cch-wl .i{width:19px;height:19px}
.cch-wl:hover,.cch-sh h3 a:hover{text-decoration:underline!important}
/* ella */
.cch-ella{display:grid;grid-template-columns:minmax(0,1.62fr) repeat(3,minmax(0,1fr)) auto;align-items:center;height:72px;padding:0 20px 0 26px;margin-bottom:18px;border-radius:16px}
.cch-eh{display:flex;align-items:center;gap:26px}
.cch-orb{width:42px;height:42px;border-radius:50%;flex-shrink:0;background:radial-gradient(circle at 35% 30%,#d4e4ff 0,#5d93ff 25%,#1546e0 60%,#0b2f9e 100%);box-shadow:0 6px 14px rgba(21,70,224,.35),0 0 0 6px rgba(93,147,255,.12)}
.cch-eh>span:last-child{display:grid;grid-template-columns:auto 1fr;align-items:center;column-gap:12px}
.cch-eh b{font-size:20px;font-weight:700;letter-spacing:-.3px}.cch-eh .cch-tag{justify-self:start;height:24px;font-size:13px}.cch-eh small{grid-column:1/-1;font-size:15px;color:#4f5c7a}
.cch-ella>a:not(.cch-eh):not(.cch-btn){display:flex;flex-direction:column;padding-left:28px;border-left:1px solid #e3e8f1;height:46px;justify-content:center}
.cch-ella>a b{font-size:19px;font-weight:700}.cch-ella>a small{font-size:15px;color:#4f5c7a}
.cch-ella .cch-btn{width:190px;margin-left:24px}
/* utilities */
.cch-util{display:flex;align-items:center;gap:0;padding:8px 0 0 6px;font-size:16px;color:#33415c}
.cch-util>*{display:flex!important;align-items:center;gap:10px;padding:0 22px!important}.cch-util>*:first-child{padding-left:0!important}
.cch-util>*+*{border-left:1px solid #d9e0ec!important}.cch-util .i{width:24px;height:24px;color:#0b1736}
.cch-util b{font-weight:700;color:var(--ink)}.cch-util b.ok{background:#dcf5e7;color:#16834a;font-weight:500;border-radius:7px;padding:2px 9px}.cch-util b.warn{background:#e4ddff;color:#5b45b8;font-weight:500;border-radius:7px;padding:2px 9px}
.cch-util .cch-hd{margin-right:4px;width:10px;height:10px;box-shadow:none}.cch-util .cch-ext{width:16px;height:16px}
.cch-util>*:hover span{color:var(--blu)}
/* popovers */
.cch-pop{position:absolute;z-index:60;width:320px;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:0 18px 50px rgba(16,36,94,.16);padding:8px}
.cch-pop.m-alerts{width:380px}
.cch-pm{display:flex;align-items:center;gap:12px;padding:10px 10px 12px;border-bottom:1px solid #eef1f7;margin-bottom:6px}.cch-pm .cch-av{width:40px;height:40px;font-size:16px!important}
.cch-pm>span:last-child{display:flex;flex-direction:column}.cch-pm b{font-size:15px}.cch-pm small{font-size:13px;color:var(--mut)}
.cch-pop>button{display:flex!important;align-items:center;gap:10px;width:100%;padding:10px 12px!important;border-radius:10px!important;font-size:14.5px!important;text-align:left}
.cch-pop>button:hover{background:#f3f6fc!important}.cch-pop>button .i{width:18px;height:18px;color:#3d4a68}
.cch-pop>button.pri{background:var(--blu)!important;color:#fff!important;justify-content:center}.cch-pop>button.pri .i{color:#fff}
.cch-ph{display:flex;justify-content:space-between;align-items:center;padding:8px 10px}.cch-ph b{font-size:15px}.cch-ph button{font-size:13px!important;color:var(--blu)!important}
.cch-pe{display:flex;flex-direction:column;padding:9px 10px;border-radius:10px}.cch-pe:hover{background:#f3f6fc}.cch-pe b{font-size:14px;font-weight:600}.cch-pe small{font-size:12.5px;color:var(--mut);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.cch-pl{padding:10px}.cch-pf{display:block;text-align:center;padding:10px;border-top:1px solid #eef1f7;margin-top:4px;font-size:14px;color:var(--blu)!important}
.cch a:focus-visible,.cch button:focus-visible{outline:2px solid var(--blu);outline-offset:2px}
/* responsive */
@media (max-width:1180px){.cch-hero{grid-template-columns:1fr 1fr}.cch-bars{display:none}.cch-nav a{min-width:0}
  .cch-ella{grid-template-columns:1fr repeat(3,auto);height:auto;padding:16px 20px;row-gap:14px}.cch-ella .cch-btn{grid-column:1/-1;margin:0;justify-self:start}}
@media (max-width:860px){
  .cch{padding:10px 14px 96px}
  .cch-top{height:auto;margin-bottom:10px}.cch-brand{height:48px;padding-right:14px}.cch-lt{font-size:18px}.cch-sep{margin:0 10px 0 6px}.cch-world{font-size:15px}
  .cch-tools{gap:8px;padding:0}.cch-ib{width:40px;height:40px}.cch-av{width:40px;height:40px;font-size:16px!important}
  .cch-head{flex-direction:column;gap:12px}.cch-head h1{font-size:32px;margin-top:8px}.cch-head p{font-size:16px}
  .cch-clk{margin:0;width:100%;justify-content:space-between;align-items:center}.cch-clk b{font-size:22px}.cch-shift{height:44px;padding:0 18px!important}
  .cch-nav{height:52px;margin-bottom:14px}.cch-nav a{padding:0 14px;font-size:15px}
  .cch-hero,.cch-ws{grid-template-columns:1fr;gap:14px;margin-bottom:14px}
  .cch-start,.cch-today{min-height:0;padding:16px}
  .cch-sm{margin-left:0}.cch-big b{font-size:62px}.cch-big strong{font-size:22px}.cch-big small{font-size:15px}.cch-big small i{margin:0 6px}
  .cch-next{flex-direction:column;align-items:stretch;padding-left:0}.cch-na .cch-btn{width:100%}.cch-ti{width:60px;height:60px}.cch-task b{font-size:18px;white-space:normal}
  .cch-strip{grid-template-columns:1fr 1fr;height:auto;padding:6px;row-gap:4px}.cch-strip a{justify-content:flex-start;padding:8px 10px;height:auto}.cch-strip a:nth-child(3){border-left:0}
  .cch-strip a .i{margin-right:0}
  .cch-ella{grid-template-columns:repeat(3,1fr);padding:16px}.cch-eh{grid-column:1/-1;gap:16px}.cch-ella>a:not(.cch-eh):not(.cch-btn){padding-left:12px}
  .cch-ella>a:nth-child(2){border-left:0;padding-left:0}.cch-ella .cch-btn{width:100%}
  .cch-util{flex-wrap:wrap;row-gap:10px}.cch-gw,.cch-gauge{width:260px}.cch-gw{height:132px}.cch-gauge{height:141px}.cch-leg{gap:16px;font-size:14.5px;flex-wrap:wrap}
}
@media (min-width:600px) and (max-width:860px){.cch-ws{grid-template-columns:1fr 1fr}.cch-hero{grid-template-columns:1fr}.cch-strip{grid-template-columns:repeat(4,1fr)}.cch-strip a:nth-child(3){border-left:1px solid #e3e8f1}}
@media (max-width:420px){.cch-world{display:none}.cch-sep{display:none}.cch-strip a{font-size:14px;gap:8px}.cch-ella>a b{font-size:17px}.cch-ella>a small{font-size:13px}}
.cch-hero>*,.cch-ws>*,.cch-ella>*{min-width:0}
@media (max-width:860px){.cch-hero,.cch-ws{grid-template-columns:minmax(0,1fr)}.cch-nst{white-space:normal}}
@media (min-width:600px) and (max-width:860px){.cch-ws{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}
@media (min-width:700px) and (max-width:860px){.cch-ws{grid-template-columns:repeat(3,minmax(0,1fr))}.cch-wsub{flex-wrap:wrap;row-gap:4px}}
@media (max-width:600px){
  .cch-sh{gap:12px}.cch-sh h2{font-size:20px;white-space:nowrap}.cch-ci{width:44px;height:44px}.cch-ci .i{width:21px;height:21px}.cch-tag{font-size:12px;height:22px;padding:0 8px}
  .cch-ns{flex-wrap:wrap}.cch-ns .cch-btn{width:100%}.cch-nst{flex-wrap:nowrap;white-space:nowrap;flex-direction:column;align-items:flex-start}.cch-nst small{flex-basis:auto}
  .cch-strip a{white-space:nowrap;font-size:14px}.cch-strip a .i{width:20px;height:20px}.cch-strip b{margin-left:auto}
  .cch-clk b{font-size:20px}
}
/* V10.8.315 mobile docking fix: nothing floats over content on the home page */
.cch-pop>button{justify-content:flex-start!important}.cch-pop>button.pri{justify-content:center!important}
@media (max-width:860px){
  .cch{padding-bottom:calc(var(--cc-tabbar-pad,64px) + 64px)}
  /* menus dock as a sheet just above the tab bar instead of hanging mid-page and scrolling over cards */
  .cch-pop{position:fixed!important;left:12px!important;right:12px!important;top:auto!important;bottom:calc(var(--cc-tabbar-pad,64px) + 10px)!important;width:auto!important;max-height:60vh;overflow-y:auto;z-index:9995}
  .cch-pop.m-alerts{width:auto!important}
  /* demo-mode pill sat on top of the tab bar, hiding Inbox/Sessions/Billing: lift it above the bar (home only) */
  html.cch-on #ccDemo{bottom:calc(var(--cc-tabbar-pad,64px) + 8px)!important}
}
/* V10.8.316 top-nav submenus */
.cch-tab{flex:0 0 auto;min-width:178px;height:44px;display:flex;align-items:center;justify-content:center;border-radius:11px;padding:0 4px 0 14px}
.cch-tab:hover{background:#f3f6fc}.cch-tab.on{background:#e3ecfd}
.cch-nav .cch-tab>a{min-width:0;height:44px;padding:0 4px;background:none!important}
.cch-tab.on>a,.cch-tab.on>a .i{color:var(--blu)}
.cch-tc{width:26px;height:26px;border-radius:7px!important;display:grid!important;place-items:center;color:#6b7896!important;flex-shrink:0}
.cch-tc:hover,.cch-tc[aria-expanded=true]{background:#dfe7f6!important;color:var(--blu)!important}.cch-tc .i{width:15px!important;height:15px!important}
.cch-pop.m-nav{width:260px}
.cch-pn{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:10px;font-size:14.5px;color:#1c2a4d!important}
.cch-pn:hover{background:#f3f6fc}.cch-pn.on{background:#e3ecfd;color:var(--blu)!important}.cch-pn .i{width:18px;height:18px;color:#3d4a68}
@media (max-width:1180px){.cch-tab{min-width:0}}
@media (max-width:860px){.cch-tab{padding:0 2px 0 10px}.cch-pop.m-nav{width:auto!important}}
/* V10.8.318 Today's sessions = day timeline */
.cch-today{padding:12px 20px 16px 16px}
.cch-tdn{display:flex;align-items:baseline;gap:14px;margin:4px 0 0 10px}.cch-tdn b{font-size:44px;font-weight:800;letter-spacing:-1.2px;line-height:1.1;color:var(--ink)}.cch-tdn span{font-size:20px;color:#2c3a5a}
.cch-today .cch-leg{justify-content:flex-start;gap:12px;margin:6px 0 12px 10px;padding-bottom:12px;border-bottom:1px solid #e6ebf3;font-size:16px}.cch-today .cch-leg em{font-style:normal;color:#8a95ad}
.cch-tl{list-style:none;margin:0;padding:0;position:relative}
.cch-tl li{position:relative;display:flex;align-items:center;min-height:62px;border-bottom:1px solid #eef1f7;border-radius:12px}
.cch-tl li:last-child{border-bottom:0}.cch-tl li.nx{background:#eaf1fd;border-bottom-color:transparent}
.cch-tlm{display:grid;grid-template-columns:104px 26px 1fr;align-items:center;flex:1;min-width:0;padding:8px 0 8px 18px}
.cch-tlt{font-size:19px;font-weight:700;letter-spacing:-.3px;color:var(--ink);white-space:nowrap}
.cch-tld{position:relative;width:18px;height:18px;border-radius:50%;justify-self:center;z-index:1;background:#dfe7f8}
.cch-tl li.nx .cch-tld{background:#2a63ef;box-shadow:0 0 0 3px #c9daff}.cch-tl li.rv .cch-tld{background:#fff;border:3px solid #8b7cf6}
.cch-tl li:not(:last-child) .cch-tld::after{content:"";position:absolute;left:50%;top:18px;width:2px;height:48px;transform:translateX(-50%);background:#d8e2f4;z-index:-1}
.cch-tlb{display:flex;flex-direction:column;align-items:flex-start;gap:4px;min-width:0;padding-left:20px}
.cch-tln{display:flex;align-items:center;gap:12px;min-width:0}.cch-tln strong,.cch-tlb>strong{font-size:18px;font-weight:700;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cch-tlb small{font-size:15px;color:#5a6683}.cch-tlb small b{color:#3d4a68;font-weight:500}
.cch-chip{display:inline-flex;align-items:center;height:24px;padding:0 12px;border-radius:999px;font-size:13px;font-weight:600;white-space:nowrap}
.cch-chip.up{background:#dce7fb;color:#1f55d6;letter-spacing:.6px;font-size:12.5px}.cch-chip.rv{background:#f3f0ff;color:#5b45b8}.cch-chip.ok{background:#e3ecfd;color:#2558d9}
.cch-rv{display:inline-flex;align-items:center;gap:10px;font-size:17px;font-weight:500;color:#1f55d6!important;padding:0 18px;white-space:nowrap}.cch-rv .i{width:19px;height:19px}
.cch-va{width:100%;margin-top:12px;height:48px}
.cch-tl-empty{padding:18px 10px;color:var(--mut)}
@media (max-width:600px){.cch-tlm{grid-template-columns:78px 22px 1fr;padding-left:10px}.cch-tlt{font-size:15.5px}.cch-tln strong{font-size:16px}.cch-tdn b{font-size:36px}.cch-today .cch-leg{flex-wrap:wrap;font-size:14px;gap:8px}.cch-rv{padding:0 10px;font-size:15px}.cch-tln{flex-wrap:wrap;row-gap:4px}}
/* V10.8.318 tool row: light cards, dark labels in every state (global button:hover/active was painting System health solid blue) */
#cch .cch-util{gap:10px;flex-wrap:wrap;padding-left:0}
#cch .cch-util>a,#cch .cch-util>button,#cch .cch-util>a:hover,#cch .cch-util>button:hover,#cch .cch-util>button:focus,#cch .cch-util>button:active,#cch .cch-util>a:active{
  background:#fff!important;color:#26345a!important;border:1px solid #e3e8f1!important;border-radius:12px!important;padding:7px 14px!important;height:40px;box-shadow:0 1px 2px rgba(16,36,94,.04)!important;transform:none!important;font:inherit;font-size:15.5px!important;font-weight:500!important;text-decoration:none!important}
#cch .cch-util>*:hover{background:#f5f8fe!important;border-color:#cfdcf6!important}
#cch .cch-util>button:focus-visible,#cch .cch-util>a:focus-visible{outline:2px solid var(--blu)!important;outline-offset:2px}
#cch .cch-util>* span,#cch .cch-util>*:hover span{color:#26345a!important}
#cch .cch-util>*+*{border-left:1px solid #e3e8f1!important}
#cch .cch-util b.ok,#cch .cch-util b.warn{font-size:14px}
/* V10.8.318 obviously clickable counts: soft blue pills with arrow, hover darker + underline, focus ring */
.cch-big{display:flex;flex-direction:column}.cch-bign{display:flex;flex-direction:column;border-radius:10px}
.cch-bign:hover strong{text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:2px}
.cch-lks{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
#cch .cch-lk{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 12px;border-radius:999px;background:#eef3fe;color:#1f55d6!important;font-size:15px;font-weight:500;cursor:pointer;white-space:nowrap;transition:background .15s,transform .15s,box-shadow .15s}
#cch .cch-lk .i{width:15px!important;height:15px!important;margin:0!important;color:currentColor!important;opacity:.8}
#cch .cch-lk:hover{background:#dce7fd;text-decoration:underline!important;text-underline-offset:3px;transform:translateY(-1px);box-shadow:0 2px 6px rgba(31,85,214,.15)}
#cch .cch-lk:focus-visible{outline:2px solid var(--blu);outline-offset:2px}
#cch .cch-lk.amber{background:#f3f0ff;color:#5b45b8!important}#cch .cch-lk.amber:hover{background:#e4ddff}
#cch .cch-lk i.b,#cch .cch-lk i.o,#cch .cch-lk i.l,#cch .cch-lk i.g{margin-right:2px}
.cch-today .cch-leg{gap:6px}.cch-today .cch-leg em{display:none}
.cch-wsub{gap:8px}
/* status strip + workspace links: hover state + pointer */
#cch .cch-strip a{border-radius:12px;cursor:pointer;transition:background .15s}
#cch .cch-strip a:hover{background:#f1f5fd}#cch .cch-strip a:hover span{color:#1f55d6;text-decoration:underline;text-underline-offset:3px}
#cch .cch-strip a:focus-visible,#cch .cch-wl:focus-visible,#cch .cch-va:focus-visible{outline:2px solid var(--blu);outline-offset:2px}
#cch .cch-wl{padding:4px 8px;margin-left:-2px;border-radius:8px}#cch .cch-wl:hover{background:#eef3fe}
#cch .cch-ella>a:not(.cch-btn):hover b{color:#1f55d6}#cch .cch-ella>a:not(.cch-btn):hover small{text-decoration:underline}
#cch .cch-tlm{cursor:pointer}#cch .cch-tl li:hover{background:#f3f6fc}#cch .cch-tl li.nx:hover{background:#e0eafc}
#cch .cch-rv{border-radius:8px;padding:6px 12px}#cch .cch-rv:hover{background:#eef3fe;text-decoration:underline!important}
@media (max-width:600px){#cch .cch-lk{font-size:13.5px;height:28px;padding:0 10px}}
#cch .cch-lk.red{background:#fdeaea;color:#c82424!important}#cch .cch-lk.red:hover{background:#fbd6d6}

/* v319 avatar photo */
#cch .cch-av, #cchPop .cch-av{overflow:hidden}
#cch .cch-av img, #cchPop .cch-av img{width:100%;height:100%;object-fit:cover;border-radius:50%;display:block}
/* v320 timeline names */
#cch .cch-tlb{min-width:0}#cch .cch-tln strong{min-width:0;flex:0 1 auto}#cch .cch-tln .cch-chip{flex:none}
#cch .cch-tlt{display:flex;flex-direction:column;line-height:1.15}#cch .cch-nxl{display:block;margin-top:3px;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#2563eb}
/* v322 skeleton while the first data loads */
@keyframes cchShim{0%{background-position:100% 0}100%{background-position:-100% 0}}
#cch.cch-skel :is(.cch-bign,.cch-tdn b,.cch-wv,.cch-lks .cch-lk,.cch-leg a,.cch-leg span,.cch-tl-empty,.cch-next,.cch-sm,.cch-pn,.cch-wsub){color:transparent!important;border-color:transparent!important;background:linear-gradient(90deg,#eef2f8 25%,#f7f9fc 50%,#eef2f8 75%)!important;background-size:200% 100%!important;animation:cchShim 1.2s linear infinite;border-radius:8px;box-shadow:none!important}
#cch.cch-skel :is(.cch-bign,.cch-tdn b,.cch-wv,.cch-lks,.cch-leg,.cch-next,.cch-sm,.cch-pn) svg{visibility:hidden}
#cch.cch-skel .cch-tl-empty{min-height:150px;font-size:0}
#cch.cch-skel .cch-bar{opacity:.25}
@media (prefers-reduced-motion:reduce){#cch.cch-skel *{animation:none!important}}
#cch .cch-tl li{min-width:0}#cch .cch-tlm{min-width:0;flex:1 1 auto}#cch .cch-tlm>*{min-width:0}#cch .cch-tlb{overflow:hidden}#cch .cch-tln{max-width:100%}#cch .cch-tln strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#cch .cch-rv{flex:none}
/* v323 timeline: student line 1, 'with tutor' + chip line 2, no truncation */
#cch .cch-tlb{display:flex;flex-direction:column;gap:4px;overflow:visible;min-width:0}
#cch .cch-tls{font-size:18px;font-weight:700;color:var(--ink);white-space:normal;overflow-wrap:anywhere;line-height:1.25}
#cch .cch-tlx{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;font-size:14.5px;color:#64748b}
#cch .cch-tlw{white-space:normal;overflow-wrap:anywhere}
#cch .cch-tli{font-size:14px;color:#64748b}#cch .cch-tli b{color:var(--ink)}
#cch .cch-tlg{list-style:none;font-size:11.5px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#94a3b8;padding:10px 0 2px 4px}
@media (max-width:600px){#cch .cch-tls{font-size:16px}#cch .cch-tlx{font-size:13.5px}}
#cch .cch-tlnm{display:flex;flex-wrap:wrap;align-items:baseline;column-gap:6px;row-gap:2px}
#cch .cch-tlnm .cch-tlw{font-size:18px;font-weight:600;color:#475569}
@media (max-width:600px){#cch .cch-tlnm .cch-tlw{font-size:16px}}
/* when it wraps, 'with X' sits on its own smaller line */
#cch .cch-tlnm .cch-tlw:where(:not(:first-child)){}
#cch .cch-tlnm .cch-tlw.wr{flex-basis:100%;font-size:14.5px;font-weight:500;color:#64748b}
/* v323 Team card */
#cch .cch-tavs{display:flex;align-items:center;margin:2px 0 10px;min-height:34px}
#cch .cch-tav{width:34px;height:34px;border-radius:50%;border:2px solid #fff;margin-left:-8px;display:grid;place-items:center;overflow:hidden;background:#dbe6fe;color:#2b4fc7;font-weight:700;font-size:14px;box-shadow:0 1px 2px rgba(15,23,42,.12)}
#cch .cch-tav:first-child{margin-left:0}#cch .cch-tav img{width:100%;height:100%;object-fit:cover}
#cch .cch-tav.brk{opacity:.6}#cch .cch-tav.more{background:#eef2f8;color:#475569;font-size:12px}
#cch .cch-tavs small{color:#64748b;font-size:14px}
#cch .cch-team .cch-wsub{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center}
#cch .cch-tnx{font-size:14px;color:#64748b}#cch .cch-tnx b{color:var(--ink)}
/* v326 Start Here condensed (Tamra 2026-10-13): smaller number, one-row pills, compact bars aligned with the number block, tighter action row; timeline gets more width */
@media (min-width:1181px){#cch .cch-hero{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:stretch}}
#cch .cch-start{min-height:0;padding:14px 22px 16px}
#cch .cch-start .cch-sm{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:4px 0 0}
#cch .cch-big b{font-size:56px;line-height:.9;letter-spacing:-1.5px}
#cch .cch-big strong{font-size:20px;margin-top:2px}
#cch .cch-start .cch-lks{flex-wrap:nowrap;gap:6px;margin-top:10px}
#cch .cch-start .cch-lks .cch-lk{font-size:13px;padding:4px 9px;white-space:nowrap}
#cch .cch-bars{height:84px;gap:9px;align-self:center;padding-bottom:0}
#cch .cch-bars .cch-bar{width:20px}
#cch .cch-next{padding:12px 0 0;gap:14px;margin-top:auto;border-top:1px solid #e9edf4}
#cch .cch-start>.cch-sm{padding-bottom:14px}
#cch .cch-ti{width:52px;height:52px;border-radius:14px}
#cch .cch-task{gap:14px}#cch .cch-task b{font-size:18px}#cch .cch-task small{font-size:14.5px}
#cch .cch-na{display:flex;flex-direction:column;align-items:center;gap:6px}
#cch .cch-na .cch-btn{padding:9px 18px;font-size:15px}
#cch .cch-start{justify-content:flex-start}
@media (max-width:860px){#cch .cch-big b{font-size:48px}#cch .cch-big strong{font-size:18px}#cch .cch-start .cch-lks{gap:5px}#cch .cch-start .cch-lks .cch-lk{font-size:12px;padding:4px 7px}#cch .cch-start .cch-lks .cch-lk svg{display:none}
  #cch .cch-next{flex-direction:row;align-items:center}#cch .cch-na .cch-btn{width:auto}}
@media (max-width:430px){#cch .cch-next{flex-direction:column;align-items:stretch}#cch .cch-na .cch-btn{width:100%}}
#cch .cch-bars .cch-bar{gap:6px}#cch .cch-bars .cch-bar i{width:20px;max-height:58px;min-height:8px;border-radius:5px}#cch .cch-bars .cch-bar span{font-size:12.5px}
/* v326 timeline tighter so both hero cards match */
#cch .cch-tl li.cch-tlg{min-height:0;border:0;border-radius:0;padding:8px 0 2px 12px;font-size:11px;background:none}
#cch .cch-tl li:not(.cch-tlg){min-height:54px}
#cch .cch-tlm{padding:6px 0 6px 16px}
#cch .cch-tdn b{font-size:40px}#cch .cch-today .cch-leg{margin:4px 0 6px 10px;padding-bottom:10px}
#cch .cch-tl li:not(:last-child) .cch-tld::after{height:42px}
#cch .cch-next{margin-top:0}
@media (min-width:861px){#cch .cch-start{justify-content:space-between}#cch .cch-start>.cch-sm{flex:1;align-items:center;padding:8px 0 16px}#cch .cch-bars{height:110px}#cch .cch-bars .cch-bar i{max-height:84px}#cch .cch-big b{font-size:64px}}

/* V10.8.909 (TEST, Tamra LIVE Home screenshot): Today's Sessions timeline - the time column fits '12:45 PM ET' in full,
   the dot + line sit in their own column with a gap (they covered 'ET'); group labels / Next / Up Next in Title Case. */
html body #cch .cch-tl .cch-tlm{grid-template-columns:128px 22px minmax(0,1fr);column-gap:8px}
html body #cch .cch-tl .cch-tlt{white-space:nowrap;min-width:0;overflow:visible}
html body #cch .cch-tl .cch-tld{justify-self:center}
html body #cch .cch-tl li.cch-tlg,html body #cch .cch-tlg{text-transform:none;letter-spacing:0;font-size:13px;font-weight:700;color:#5b6478}
html body #cch .cch-nxl{text-transform:none;letter-spacing:0;font-size:13px}
html body #cch .cch-chip.up{text-transform:none;letter-spacing:0;font-size:13px}
@media (max-width:600px){html body #cch .cch-tl .cch-tlm{grid-template-columns:100px 18px minmax(0,1fr);column-gap:6px;padding-left:10px}html body #cch .cch-tl .cch-tlt{font-size:14.5px}}
@media (max-width:370px){html body #cch .cch-tl .cch-tlm{grid-template-columns:94px 16px minmax(0,1fr);column-gap:5px;padding-left:8px}html body #cch .cch-tl .cch-tlt{font-size:13.5px}}
/* V10.8.909 r2: on phones the extra 'Review' link squeezed the name column (names broke mid-word); the whole row already opens the
   same session and shows the 'Needs Review' chip, so the extra link hides on phones and names wrap only between words */
html body #cch .cch-tl .cch-tlm>.cch-tlb{overflow-wrap:break-word;word-break:normal}
@media (max-width:600px){html body #cch .cch-tl li>.cch-rv{display:none}}

/* V10.8.1694 (Tamra pt187u): Today's Sessions fills to the bottom of its card. The row list takes the card's spare height (it never makes the card taller);
   cchome.js fitToday() shows as many whole rows as fit; View all stays pinned at the bottom. Phone/tablet (stacked) keep 3 rows. Off: localStorage today1694=0 */
@media (min-width:861px){#cch .cch-today .cch-tlfit{flex:1 1 0;min-height:200px;contain:size;overflow:hidden}#cch .cch-today .cch-va{flex:none}}
#cch .cch-tl .cch-tlm{padding-top:calc(6px + var(--cch-xr,0px) / 2);padding-bottom:calc(6px + var(--cch-xr,0px) / 2)}
#cch .cch-tl li:not(:last-child) .cch-tld::after{height:calc(42px + var(--cch-xr,0px))}

/* ---- /static/ccds.css?v=10 ---- */
/* V10.8.330 ICC Design System (TEST). Tokens + shell + shared components, from spec PDF p.1/p.3/p.5. Active on html.ds-on (every page except Home and Session Schedule). */
:root{--ds-ink:#0b1736;--ds-ink2:#1c2a4d;--ds-mut:#5a6683;--ds-blu:#1f63f6;--ds-blu-h:#1555e0;--ds-bsoft:#e5eefe;--ds-line:#e7edf6;--ds-card:#fff;--ds-r:20px;--ds-r-sm:12px;
  --ds-red:#d42a2a;--ds-red-s:#fde4e4;--ds-grn:#16834a;--ds-grn-s:#dcf5e7;--ds-amb:#5b45b8;--ds-amb-s:#e4ddff;--ds-gold-s:#f3f0ff;--ds-sh:0 1px 2px rgba(16,36,94,.03),0 8px 24px rgba(16,36,94,.045)}
html.ds-on #nav,html.ds-on #navScrim,html.ds-on .main-wrap>.topbar,html.ds-on #ccDock{display:none!important}
html.ds-on .main-wrap{margin-left:0!important}
html.ds-on[data-theme=light] body,html.ds-on[data-theme=light] .main-wrap{background:linear-gradient(180deg,#f5f8fd 0%,#eff4fb 55%,#f1f6fd 100%)}
html.ds-on #view{max-width:1350px;margin:0 auto;padding:0 24px 40px!important;box-sizing:content-box}
html.ds-on #view>.ph .ph-t{display:none}html.ds-on #view>.ph{justify-content:flex-end;margin-top:0}
.ds{max-width:1350px;margin:0 auto;padding:12px 24px 0;box-sizing:content-box;font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--ds-ink)}
.ds *{box-sizing:border-box}.ds a{text-decoration:none;color:inherit}.ds .i{width:20px;height:20px;flex-shrink:0}
.ds button{font:inherit;color:inherit;background:none;border:0;cursor:pointer;padding:0;margin:0;box-shadow:none;min-height:0}
/* brand bar */
.ds-top{display:flex;align-items:center;justify-content:space-between;height:46px;margin-bottom:12px}
.ds-brand{display:flex;align-items:center;height:46px;background:#fff;border-radius:999px;padding:0 22px 0 6px;box-shadow:0 6px 20px rgba(16,36,94,.06)}
.ds-logo{display:flex;align-items:center;gap:10px;height:40px;padding:0 8px 0 2px;border-radius:999px}.ds-logo:hover{background:#f3f6fc}
.ds-lm{width:36px;height:36px;border-radius:50%;background:#0f1a3c;color:#fff;display:grid;place-items:center}.ds-lm svg{width:20px;height:20px}
.ds-lt{font-size:21px;font-weight:700;letter-spacing:-.4px;color:#0b1736}.ds-lt b{color:#8b7cf6;font-weight:700}
.ds-sep{width:1px;height:30px;background:#e3e8f1;margin:0 16px 0 10px}
.ds-world{display:flex;align-items:center;gap:9px;font-size:16px;font-weight:500;color:var(--ds-ink2)}.ds-world i{width:9px;height:9px;border-radius:50%;background:var(--ds-blu)}
.ds-tools{display:flex;align-items:center;gap:14px}
.ds .ds-ib{width:44px;height:44px;border-radius:50%;background:#fff;display:grid;place-items:center;box-shadow:0 4px 14px rgba(16,36,94,.07)}.ds .ds-ib:hover{background:#eef3fc}
.ds .ds-av{width:46px;height:46px;border-radius:50%;background:#11204a;color:#fff;font-size:18px;font-weight:600;display:grid;place-items:center;overflow:hidden}.ds-av img{width:100%;height:100%;object-fit:cover}
.ds .ds-av:hover{box-shadow:0 0 0 3px #cfdcf6}
/* top nav */
.ds-nav{display:flex;align-items:center;height:54px;padding:0 6px;margin-bottom:6px;background:#fff;border:1px solid var(--ds-line);border-radius:16px;box-shadow:0 6px 20px rgba(16,36,94,.04)}
.ds-tab{position:relative;flex:1 1 0;display:flex;align-items:center;justify-content:center;height:42px;border-radius:11px}
.ds-tab>a{display:flex;align-items:center;gap:10px;height:42px;padding:0 6px 0 14px;font-size:15.5px;font-weight:500;color:#2c3a5a;white-space:nowrap}
.ds-tab:hover,.ds-tab.open{background:#f3f6fc}.ds-tab.on{background:#e3ecfd}.ds-tab.on>a,.ds-tab.on>a .i,.ds-tab.on .ds-tg{color:var(--ds-blu)}
.ds .ds-tg{width:26px;height:30px;display:grid;place-items:center;color:#6b7896;border-radius:8px}.ds .ds-tg .i{width:16px;height:16px;transition:transform .15s}.ds-tab.open .ds-tg .i{transform:rotate(180deg)}
.ds-sub{display:none;position:absolute;top:calc(100% + 6px);left:0;min-width:220px;z-index:60;background:#fff;border:1px solid var(--ds-line);border-radius:14px;box-shadow:0 18px 40px rgba(16,36,94,.14);padding:6px}
.ds-tab.open .ds-sub{display:block}.ds-sub::before{content:"";position:absolute;left:0;right:0;top:-8px;height:8px}
.ds-sub a{display:block;padding:10px 12px;border-radius:9px;font-size:14.5px;color:#22304f;white-space:nowrap}.ds-sub a:hover,.ds-sub a.on{background:#eef3fe;color:var(--ds-blu)}
/* page header */
.ds-head{padding:14px 2px 16px}.ds-back{display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:500;color:var(--ds-blu)!important}.ds-back .i{width:16px;height:16px}.ds-back:hover span{text-decoration:underline}
.ds-head h1{font-size:36px;line-height:1.12;font-weight:700;letter-spacing:-1px;margin:10px 0 4px;color:var(--ds-ink)}.ds-head p{font-size:18px;color:#4b5a7a;margin:0}
.ds-head p .ds-hot{color:var(--ds-red)}
/* avatar menu */
.ds-pop{position:absolute;z-index:200;min-width:230px;background:#fff;border:1px solid var(--ds-line);border-radius:16px;box-shadow:0 18px 40px rgba(16,36,94,.16);padding:6px;font-family:Inter,system-ui,sans-serif}
.ds-pop .ds-pm{padding:10px 12px 8px;border-bottom:1px solid var(--ds-line);margin-bottom:4px;display:flex;flex-direction:column}.ds-pop .ds-pm small{color:var(--ds-mut)}
.ds-pop a,.ds-pop button{display:flex;align-items:center;gap:10px;width:100%;padding:10px 12px;border-radius:9px;font-size:14.5px;color:#22304f;background:none;border:0;box-shadow:none;text-decoration:none;cursor:pointer;min-height:0;justify-content:flex-start;font-weight:500}
.ds-pop a:hover,.ds-pop button:hover{background:#eef3fe}.ds-pop .danger{color:var(--ds-red)}.ds-pop .i{width:17px;height:17px}
/* shared components (usable on any page) */
.ds-card{background:var(--ds-card);border:1px solid var(--ds-line);border-radius:var(--ds-r);box-shadow:var(--ds-sh)}
.ds-ci{width:54px;height:54px;border-radius:50%;background:#eef3fc;border:1px solid #e1e8f4;display:grid;place-items:center;flex-shrink:0;color:var(--ds-blu)}.ds-ci .i{width:24px;height:24px}
.ds-ci.warn{background:#f3f0ff;border-color:#e4ddff;color:#5b45b8}
.ds-tag{display:inline-flex;align-items:center;gap:6px;height:26px;padding:0 11px;border-radius:999px;font-size:13px;font-weight:500;white-space:nowrap;background:#eef2f8;color:#3d4a68}
.ds-tag.red{background:var(--ds-red-s);color:var(--ds-red)}.ds-tag.green{background:var(--ds-grn-s);color:var(--ds-grn)}.ds-tag.amber{background:var(--ds-amb-s);color:var(--ds-amb)}.ds-tag.blue{background:var(--ds-bsoft);color:var(--ds-blu)}
a.ds-tag:hover,button.ds-tag:hover{filter:brightness(.96);text-decoration:underline}
.ds-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;height:46px;padding:0 28px;border-radius:999px;font-size:16px;font-weight:500;white-space:nowrap;cursor:pointer;text-decoration:none!important}
.ds-btn.pri{background:var(--ds-blu);color:#fff!important;box-shadow:0 8px 18px rgba(31,99,246,.25)}.ds-btn.pri:hover{background:var(--ds-blu-h)}
.ds-btn.out{border:1.5px solid #9dbaf7;color:#1650d8!important;background:#fff}.ds-btn.out:hover{background:#f2f6ff}
.ds-chev{width:40px;height:40px;border-radius:50%;border:1px solid #dfe5ef;display:grid;place-items:center;background:#fff;color:#0b1736;flex-shrink:0}.ds-chev:hover{background:#f3f6fc}
.ds-row{display:flex;align-items:center;gap:14px;padding:12px 14px;border-radius:12px;color:var(--ds-ink);text-decoration:none!important}.ds-row:hover{background:#f4f7fd}
/* existing components restyled on redesigned pages */
html.ds-on #view .card{border-radius:var(--ds-r);border-color:var(--ds-line);box-shadow:var(--ds-sh)}
html.ds-on #view .tabs button.on,html.ds-on #view .tabs [aria-selected=true]{background:var(--ds-bsoft);color:var(--ds-blu)}
html.ds-on #view .tabs button{border-radius:999px}
html.ds-on #view table tr.click:hover td{background:#f4f7fd}
html.ds-on #view a:not(.ds-btn):not(.ds-row):not([class*=mc-]){color:var(--ds-blu)}
@media (max-width:1100px){.ds-tab>a span{display:none}.ds-tab>a{padding:0 4px 0 10px}}
@media (max-width:760px){
  .ds{padding:10px 14px 0}html.ds-on #view{padding:0 14px 90px!important}
  .ds-lt,.ds-sep{display:none}.ds-brand{padding-right:14px}.ds .ds-ib{width:40px;height:40px}.ds .ds-av{width:42px;height:42px}
  .ds-nav{overflow-x:auto;scrollbar-width:none;justify-content:flex-start;height:50px}.ds-nav::-webkit-scrollbar{display:none}.ds-tab{flex:0 0 auto}
  .ds-sub{position:fixed;left:10px!important;right:10px;top:auto;bottom:calc(var(--cc-tabbar-pad,64px) + 10px);min-width:0}
  .ds-head h1{font-size:28px}.ds-head p{font-size:15.5px}
}
html[data-theme=dark].ds-on .ds-brand,html[data-theme=dark].ds-on .ds-nav,html[data-theme=dark].ds-on .ds .ds-ib{background:var(--surface,#151b2b);border-color:var(--border,#2a3247)}
html[data-theme=dark].ds-on .ds-lt,html[data-theme=dark].ds-on .ds-head h1,html[data-theme=dark].ds-on .ds-tab>a{color:var(--text,#e6ebf5)}
/* ---- V10.8.331 Support Inbox (spec p.5) ---- */
.dsp-top{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);gap:16px;margin:0 0 18px;font-family:Inter,system-ui,sans-serif}
.dsp-next{display:flex;align-items:center;gap:18px;padding:22px 24px;background:linear-gradient(180deg,#fffaf0,#f3f0ff)!important;border-color:#e4ddff!important}
.dsp-nb{flex:1;min-width:0;display:flex;flex-direction:column;gap:5px;align-items:flex-start}.dsp-nb b{font-size:22px;font-weight:700;letter-spacing:-.4px;color:var(--ds-ink)}
.dsp-nb>span:not(.ds-tag){font-size:15.5px;color:#3e4c6c;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.dsp-nb small{display:flex;align-items:center;gap:6px;color:var(--ds-mut);font-size:14px}.dsp-nb small .i{width:15px;height:15px}
.dsp-tiles{display:flex;flex-direction:column;gap:10px}
.dsp-tile{display:flex;align-items:center;gap:14px;padding:12px 16px;color:var(--ds-ink)!important;text-decoration:none!important;transition:transform .12s,box-shadow .12s}
.dsp-tile:hover{transform:translateY(-1px);box-shadow:0 10px 26px rgba(16,36,94,.1)}.dsp-tile .ds-ci{width:42px;height:42px}.dsp-tile .ds-ci .i{width:19px;height:19px}
.dsp-tile>span:nth-child(2){flex:1;display:flex;align-items:baseline;gap:10px}.dsp-tile b{font-size:22px;font-weight:700}.dsp-tile small{font-size:15px;color:#3e4c6c}.dsp-tile>.i{color:#7c88a3;width:18px;height:18px}
.dsp-lh{display:flex;align-items:center;gap:12px;margin:0 0 10px 4px}.dsp-lh h2{font-size:21px;font-weight:700;margin:0;letter-spacing:-.4px}.dsp-lh .ds-ci{width:42px;height:42px}
html.ds-on .dsp-inbox #tl{padding:6px 10px}
html.ds-on .dsp-inbox #tl table th{font-size:12.5px;text-transform:none;letter-spacing:0;color:var(--ds-mut);font-weight:600;background:none;border-bottom:1px solid var(--ds-line)}
html.ds-on .dsp-inbox #tl table td{padding-top:13px;padding-bottom:13px;border-bottom:1px solid #eef2f8}
html.ds-on .dsp-inbox #tl table tr.click{cursor:pointer}html.ds-on .dsp-inbox #tl table tr.click td:first-child b{color:var(--ds-ink)}
html.ds-on .dsp-inbox #tl .pill{border-radius:999px}
html.ds-on .dsp-inbox #view>.ph,html.ds-on #view.dsp-inbox>.ph{margin-bottom:12px}
@media (max-width:900px){.dsp-top{grid-template-columns:1fr}.dsp-next{flex-wrap:wrap}.dsp-next .ds-btn{width:100%}}
/* ---- V10.8.332 Manager Needed → Decisions Needing You (spec p.3) ---- */
html.ds-on .mc-chips button{height:36px;padding:0 16px;border-radius:999px;font-size:14.5px;font-weight:500;border:1px solid #dfe6f2;background:#fff;color:#2c3a5a}
html.ds-on .mc-chips button.on{background:#e3ecfd;border-color:#e3ecfd;color:var(--ds-blu)}html.ds-on .mc-chips button i{background:none;color:inherit;font-weight:700;font-size:14px}
html.ds-on .mc-chips button:hover{background:#f3f6fc}
html.ds-on .mc-it{border-radius:12px;margin:2px 4px;border-bottom:1px solid #eef2f8;padding:13px 14px}
html.ds-on .mc-it.on{background:#eaf1fe;box-shadow:none}
html.ds-on .mc-it .mc-hl{font-size:16px;color:var(--ds-ink)}html.ds-on .mc-it .mc-nm{color:var(--ds-mut)}
html.ds-on .mc-tile{border-radius:16px;border-color:var(--ds-line);box-shadow:var(--ds-sh)}
html.ds-on .mc-tile.on{background:#eaf1fe;border-color:#c9dafc}
html.ds-on .mc-next{border-radius:16px;background:#f2f6fe;border:0}
html.ds-on .mc-big,html.ds-on .s2-btn.pri{border-radius:999px;background:var(--ds-blu);height:46px;font-size:16px;font-weight:500;box-shadow:0 8px 18px rgba(31,99,246,.25)}
html.ds-on .mc-big:hover{background:var(--ds-blu-h)}
/* ---- V10.8.331b: real page containers (inbox2 #ib2v, mgrcases #mcv) ---- */
html.ds-on #ib2v,html.ds-on #mcv{max-width:1350px;margin:0 auto!important;padding:0 24px 40px!important;box-sizing:content-box}
html.ds-on #ib2v .ib-head>div:first-child,html.ds-on .mc-ht>h1,html.ds-on .mc-ht>p{display:none}
html.ds-on #ib2v .ib-head{justify-content:flex-end;min-height:0;margin:0 0 10px}
html.ds-on #ib2v .dsp-top{margin-bottom:14px}
html.ds-on #ib2v .ib-tabs{gap:8px;border:0;margin-bottom:12px}
html.ds-on #ib2v .ib-tabs button{height:36px;padding:0 16px;border-radius:999px;font-size:14.5px;font-weight:500;border:1px solid #dfe6f2;background:#fff;color:#2c3a5a;box-shadow:none}
html.ds-on #ib2v .ib-tabs button.on{background:#e3ecfd;border-color:#e3ecfd;color:var(--ds-blu)}html.ds-on #ib2v .ib-tabs button i{background:none;color:inherit;font-weight:700;font-style:normal}
html.ds-on #ib2v .ib-tabs button:hover{background:#f3f6fc}
html.ds-on #ib2v .ib-list,html.ds-on #ib2v .ib-pane,html.ds-on #ib2v .ib-card{border-radius:var(--ds-r);border-color:var(--ds-line);box-shadow:var(--ds-sh)}
html.ds-on #ib2v .ib-it{border-radius:12px;margin:2px 6px}html.ds-on #ib2v .ib-it.on{background:#eaf1fe;box-shadow:none}
html.ds-on #mcv .mc-list,html.ds-on #mcv .mc-detail{border-radius:var(--ds-r)}
.dsp-next{padding:16px 20px}.dsp-nb b{font-size:20px}.dsp-tiles{gap:8px}.dsp-tile{padding:8px 14px}.dsp-tile .ds-ci{width:36px;height:36px}
/* ---- V10.8.331c width + mobile fixes ---- */
html.ds-on #s1Chips{display:none!important}
.ds,html.ds-on #view,html.ds-on #ib2v,html.ds-on #mcv{box-sizing:border-box!important;width:100%;max-width:1398px}
html.ds-on #view,html.ds-on #ib2v,html.ds-on #mcv{overflow-x:hidden}
@media (max-width:760px){
  html.ds-on #ib2v,html.ds-on #mcv{padding:0 12px 90px!important}.ds{padding:10px 12px 0}
  .dsp-top{gap:10px}.dsp-next{padding:14px;gap:12px}.dsp-next .ds-ci{width:42px;height:42px}.dsp-nb b{font-size:18px}
  .dsp-tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.dsp-tile{flex-direction:column;align-items:flex-start;gap:6px;padding:10px}.dsp-tile>.i,.dsp-tile .ds-ci{display:none}
  .dsp-tile>span:nth-child(2){flex-direction:column;gap:2px}.dsp-tile b{font-size:20px}.dsp-tile small{font-size:12.5px;line-height:1.25}
  html.ds-on #ib2v .ib-tabs,html.ds-on #mcv .mc-chips{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}
}
/* ---- V10.8.334 Billing (spec p.5) ---- */
.dsp-next.ok{background:linear-gradient(180deg,#f3fbf6,#eaf8f0)!important;border-color:#c9ecd7!important}
.dsp-q{padding:14px 16px}.dsp-qh{display:flex;align-items:center;gap:12px;margin:0 0 6px 4px}.dsp-qh h2{font-size:19px;font-weight:700;margin:0;letter-spacing:-.3px;flex:1}.dsp-qh .ds-ci{width:40px;height:40px}
.dsp-qr{padding:9px 10px;border-top:1px solid #eef2f8;border-radius:0;font-size:15px}.dsp-qr b{font-size:19px;min-width:28px}.dsp-qr span:not(.dsp-qi){flex:1;color:#3e4c6c}.dsp-qr>.i{color:#7c88a3;width:17px;height:17px}
.dsp-qi{width:32px;height:32px;border-radius:50%;display:grid;place-items:center}.dsp-qi .i{width:16px;height:16px}.dsp-qi.red{background:var(--ds-red-s);color:var(--ds-red)}.dsp-qi.amber{background:var(--ds-amb-s);color:var(--ds-amb)}.dsp-qi.green{background:var(--ds-grn-s);color:var(--ds-grn)}
html.ds-on #view .stats .stat-card{border-radius:16px;border-color:var(--ds-line);box-shadow:var(--ds-sh)}
html.ds-on #view .note.info{border-radius:14px}
/* ---- V10.8.335 Approvals / Ella's Work (spec p.6) ---- */
html.ds-on .dsp-ap .tabs{gap:6px;background:none;border:0}
html.ds-on .dsp-ap .tabs button{height:36px;padding:0 16px;border-radius:999px;border:1px solid #dfe6f2;background:#fff;color:#2c3a5a;font-weight:500}
html.ds-on .dsp-ap .tabs button.on{background:#e3ecfd;border-color:#e3ecfd;color:var(--ds-blu)}
html.ds-on .dsp-ap .ap-grp{border-radius:var(--ds-r);background:#fff;border:1px solid var(--ds-line);box-shadow:var(--ds-sh);padding:4px 10px 10px;margin-bottom:14px}
html.ds-on .dsp-ap .ap-gh b{font-size:17px;color:var(--ds-ink)}
html.ds-on .dsp-ap .ap-c{border-radius:16px;border:1px solid var(--ds-line)!important;border-left-width:1px!important;box-shadow:none}
html.ds-on .dsp-ap .ap-stats>span{border-radius:12px;background:#f5f8fd}
html.ds-on .dsp-ap .ap-c button{border-radius:999px;font-weight:500;box-shadow:none}html.ds-on .dsp-ap .ap-c button.ok,html.ds-on .dsp-ap .ap-c button.bad{height:44px}html.ds-on .dsp-ap>.ap-count{display:none}.dsp-bill .dsp-next{min-height:0;align-self:stretch}
html.ds-on .dsp-ap .ap-c button.ok{background:var(--ds-blu);border-color:var(--ds-blu);color:#fff;box-shadow:0 8px 18px rgba(31,99,246,.22)}html.ds-on .dsp-ap .ap-c button.ok:hover{background:var(--ds-blu-h)}
html.ds-on .dsp-ap .ap-c button.bad{background:#fff;border:1.5px solid #f2b8b8;color:var(--ds-red)}html.ds-on .dsp-ap .ap-c button.bad:hover{background:#fff5f5}
html.ds-on .dsp-ap .ap-prev>summary,html.ds-on .dsp-ap .ap-det>summary{color:var(--ds-blu);font-weight:500;cursor:pointer}
html.ds-on .dsp-ap .ap-prev>summary:hover{text-decoration:underline}
@media (max-width:760px){html.ds-on .dsp-ap .ap-gh{flex-wrap:wrap;row-gap:6px}html.ds-on .dsp-ap .ap-gh .el-t{flex:1 1 70%;min-width:0}
  html.ds-on .dsp-ap .tabs{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}html.ds-on .dsp-ap .ap-grp{padding:4px 6px 8px}.dsp-nb>span:not(.ds-tag){white-space:normal}}
@media (max-width:760px){html.ds-on .dsp-ap .ap-gh>.i:first-child,html.ds-on .dsp-ap .ap-gh>svg:first-child{display:none}html.ds-on .dsp-ap .ap-gh .el-t{flex:1 1 100%!important;width:auto!important;max-width:none!important}}
/* ---- V10.8.336 shared top-bar pieces (spec p.7–p.10) ---- */
.ds .ds-wb{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;color:#0b1736;margin-left:-4px}.ds .ds-wb:hover{background:#f3f6fc}.ds .ds-wb .i{width:18px;height:18px}
.ds .ds-ib{position:relative}.ds-dot{position:absolute;top:8px;right:9px;width:8px;height:8px;border-radius:50%;background:#ef3b3b;border:2px solid #fff}.ds-dot.ok{background:#22b26b}
.ds .ds-shift{display:flex;align-items:center;gap:8px;height:44px;padding:0 18px;border-radius:999px;background:#fff;border:1.5px solid #cfdcf6;color:#1650d8;font-size:15px;font-weight:600;box-shadow:0 4px 14px rgba(16,36,94,.07)}
.ds .ds-shift:hover{background:#f2f6ff}.ds .ds-shift[data-state=on]{border-color:#9fdcbc;color:#118a50}.ds .ds-shift[data-state=break]{border-color:#c4b8f5;color:#5b45b8}.ds .ds-shift .i{width:18px;height:18px}
.ds-pop.ds-wide{width:360px}.ds-pop .ds-ph{display:flex;align-items:center;justify-content:space-between;padding:10px 12px 8px}.ds-pop .ds-ph b{font-size:16px}
.ds-pop .ds-lnk{width:auto!important;padding:4px 8px!important;color:var(--ds-blu)!important;font-size:13.5px!important}
.ds-pop .ds-pe{align-items:flex-start!important;gap:12px!important;border-top:1px solid #eef2f8;border-radius:0!important}.ds-pop .ds-pe>span:nth-child(2){flex:1;min-width:0;display:flex;flex-direction:column}
.ds-pop .ds-pe b{font-size:14px;color:var(--ds-ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ds-pop .ds-pe small{font-size:12.5px;color:var(--ds-mut);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.ds-pei{width:32px;height:32px;border-radius:50%;background:#eef3fc;color:var(--ds-blu);display:grid;place-items:center;flex-shrink:0}.ds-pe.need .ds-pei{background:#f3f0ff;color:#5b45b8}
.ds-pop .ds-pf{justify-content:center!important;color:var(--ds-blu)!important;font-weight:600!important;border-top:1px solid #eef2f8;border-radius:0 0 12px 12px!important}
.ds-pop .ds-pl{padding:14px 12px;color:var(--ds-mut);font-size:14px}
.ds-pop .ds-pm.row{flex-direction:row;align-items:center;gap:12px;border:0}.ds-pop .ds-pm.row>span:last-child{display:flex;flex-direction:column}.ds-ci.sm{width:40px;height:40px}
.ds-pop .ds-pact{display:flex;gap:8px;padding:6px 10px 10px}.ds-pop .ds-pact .ds-btn{flex:1;justify-content:center;height:40px;padding:0 14px;font-size:14.5px}.ds-pop .ds-pact .ds-btn.pri{color:#fff!important;background:var(--ds-blu)}
.ds-pop .ds-pact .ds-btn.out{border:1.5px solid #cfdcf6}
.ds-shiftpop{width:320px}
.ds-kbs{display:flex;align-items:center;gap:8px;margin:0 10px 8px;padding:0 12px;height:42px;border:1.5px solid #cfdcf6;border-radius:12px;color:var(--ds-mut)}.ds-kbs input{border:0;outline:0;flex:1;font:inherit;font-size:14.5px;background:none;height:40px;padding:0;box-shadow:none}
.ds-kbl{max-height:320px;overflow:auto}
.ds-pop.ds-sheet{position:fixed;left:10px;right:10px;width:auto;bottom:calc(var(--cc-tabbar-pad,64px) + 10px);top:auto!important;max-height:70vh;overflow:auto}
@media (max-width:760px){.ds .ds-shift span{display:none}.ds .ds-shift{width:40px;height:40px;padding:0;justify-content:center}.ds-tools{gap:8px}.ds .ds-ib{width:38px;height:38px}.ds-world{display:none}.ds-brand{padding-right:6px}}
/* ---- V10.8.337 tablet (iPad 768–1180) layout for Home + shared pages ---- */
html.cch-on #view,html.ds-on #view,html.ds-on #ib2v,html.ds-on #mcv{overflow-x:clip}
@media (min-width:861px) and (max-width:1180px){
  html #cch .cch-hero{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:stretch}
  html #cch .cch-start{justify-content:flex-start;gap:0}
  html #cch .cch-start>.cch-sm{flex:1 1 auto;flex-direction:column;align-items:stretch;justify-content:space-between;gap:14px;padding:10px 0 14px}
  html #cch .cch-bars{display:flex!important;width:100%;height:auto;min-height:96px;flex:1 1 auto;justify-content:space-between;gap:6px;margin:0;align-self:stretch;align-items:flex-end}
  html #cch .cch-bars .cch-bar{flex:1 1 0;min-width:0;align-items:center}
  html #cch .cch-bars .cch-bar i{width:100%;max-width:34px;max-height:90px}
  html #cch .cch-start .cch-lks{flex-wrap:wrap;row-gap:6px}
  html #cch .cch-next{flex-wrap:wrap;gap:12px}html #cch .cch-next>:first-child{min-width:0;flex:1 1 220px}
  html #cch .cch-na{flex:1 1 200px;align-items:stretch}html #cch .cch-na .cch-btn{width:100%}
  html #cch .cch-big b{font-size:60px}html #cch .cch-next b,html #cch .cch-task b{white-space:normal;overflow:visible;text-overflow:clip}
  html #cch .cch-strip a{gap:8px;font-size:15px}
}
@media (min-width:600px) and (max-width:860px){
  html #cch .cch-bars{display:flex!important;width:100%;justify-content:space-between;gap:6px;height:auto;min-height:80px}
  html #cch .cch-bars .cch-bar{flex:1 1 0;min-width:0;align-items:center}html #cch .cch-bars .cch-bar i{width:100%;max-width:30px}
  html #cch .cch-start>.cch-sm{flex-direction:column;align-items:stretch;gap:12px}
}
@media (min-width:761px) and (max-width:1180px){
  .ds-tab>a span{display:none}.ds-tab>a{padding:0 4px 0 10px}
  .dsp-top{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  html.ds-on #mcv .mc-tiles{grid-template-columns:repeat(4,minmax(0,1fr))}
}

/* ---- /static/ccmenus.css?v=13-1408d ---- */
/* V10.8.352 (TEST) PDF p.2 + p.7-p.10 menus and drawer. Plus Jakarta Sans, PDF sizes (1600px spec frame). */
@font-face{font-family:"Plus Jakarta Sans";src:url(/static/fonts/pjs.woff2?v=1) format("woff2");font-weight:200 800;font-display:swap}
.ccm,.ccd,.ccd-call,html:is(.ds-on,.cch-on) #palette .pal-box{font-family:"Plus Jakarta Sans",Inter,system-ui,sans-serif;--k:#0b1638;--m:#5b6785;--b:#1f5fe8;--ln:#e4e9f3}
.ccm{position:absolute;z-index:1300;background:#fff;border:1px solid #e3e8f2;border-radius:16px;box-shadow:0 24px 60px rgba(17,34,85,.18),0 2px 6px rgba(17,34,85,.06);color:var(--k);padding:18px 20px;box-sizing:border-box}
.ccm *{box-sizing:border-box}.ccm .i{width:18px;height:18px}
.ccm-scrim{position:fixed;inset:0;z-index:1290;background:rgba(15,28,64,.32)}
.ccm-h{display:flex;align-items:center;justify-content:space-between;gap:12px}.ccm-h h3{margin:0;font-size:22px;font-weight:700;letter-spacing:-.3px;display:flex;align-items:center;gap:10px}
.ccm-x{all:unset;cursor:pointer;display:inline-flex;align-items:center;gap:6px;font-size:14px;color:#3d4a68;padding:6px 8px;border-radius:8px}.ccm-x:hover{background:#f1f4fa;color:var(--k)}.ccm-x .i{width:15px;height:15px}
.ccm-x:focus-visible,.ccm-b:focus-visible,.ccm-ob:focus-visible{outline:2px solid var(--b);outline-offset:2px}
.ccm-pl{padding:18px 4px;color:var(--m);font-size:14px}
.ccm-sub{margin:4px 0 14px;color:var(--m);font-size:15px}
.ccm-t{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;flex-shrink:0}.ccm-t.blu{background:#e9f0fe;color:var(--b)}.ccm-t.amb{background:#f3f0ff;color:#8b7cf6}.ccm-t .i{width:21px;height:21px}
.ccm-b{all:unset;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;height:42px;padding:0 22px;border-radius:999px;font-weight:600;font-size:15px;text-decoration:none!important;transition:background .12s,box-shadow .12s}
.ccm-b.pri{background:var(--b);color:#fff!important;box-shadow:0 6px 16px rgba(31,95,232,.28)}.ccm-b.pri:hover{background:#174fc6}
.ccm-b.out{background:#fff;color:var(--b)!important;border:1.5px solid #9ab5ee}.ccm-b.out:hover{background:#f2f6fe}
.ccm-pill{font-style:normal;display:inline-flex;align-items:center;height:24px;padding:0 11px;border-radius:999px;font-size:13px;font-weight:600}
.ccm-pill.ok{background:#dcf5e5;color:#13843f}.ccm-pill.warn{background:#f3f0ff;color:#5b45b8}.ccm-pill.bad{background:#fde3e3;color:#c32020}.ccm-pill.na{background:#eef1f6;color:#5b6785}
.ccm-sheet{position:fixed!important;left:0!important;right:0!important;bottom:0!important;top:auto!important;width:auto!important;max-width:none!important;max-height:88vh;overflow:auto;border-radius:20px 20px 0 0;padding:16px 18px calc(18px + env(safe-area-inset-bottom))}
.ccm-modal{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);max-height:86vh;overflow:auto}
/* p.7 notifications */
.ccm-w{width:460px}.ccm-alerts .ccm-h{padding:0 0 10px}
.ccm-nl{display:flex;flex-direction:column}.ccm-n{display:flex;align-items:center;gap:14px;padding:14px 0;border-top:1px solid var(--ln)}.ccm-n:first-child{border-top:0}
.ccm-nb{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.ccm-nb b{font-size:15px;font-weight:700;line-height:1.3}.ccm-nb small{font-size:13px;color:var(--m);overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.ccm-ob{display:inline-flex;align-items:center;gap:6px;flex-shrink:0;height:36px;padding:0 14px;border:1.5px solid #9ab5ee;border-radius:999px;color:var(--b)!important;font-size:13.5px;font-weight:600;text-decoration:none!important;white-space:nowrap}.ccm-ob:hover{background:#f2f6fe}.ccm-ob .i{width:15px;height:15px}
.ccm-ud{display:flex;align-items:center;justify-content:center;gap:10px;border-top:1px solid var(--ln);padding:14px 0 2px;color:var(--m);font-size:14px}.ccm-ud span{width:28px;height:28px;border-radius:50%;background:#eef1f6;display:grid;place-items:center}.ccm-ud .i{width:15px;height:15px}
/* p.8 profile */
.ccm-prof{width:230px;padding:16px 14px 8px}.ccm-pm{display:flex;gap:14px;align-items:flex-start;padding:0 0 14px;border-bottom:1px solid var(--ln)}
.ccm-av{width:42px;height:42px;border-radius:50%;background:#0f1f4b;color:#fff;display:grid;place-items:center;font-weight:700;font-size:17px;overflow:hidden;flex-shrink:0}.ccm-av img{width:100%;height:100%;object-fit:cover}
.ccm-pm>span:last-child{display:flex;flex-direction:column;gap:2px}.ccm-pm b{font-size:17px;font-weight:700}.ccm-pm small{font-size:13.5px;color:var(--m)}
.ccm-sp{font-style:normal;align-self:flex-start;margin-top:5px;background:#eef1f6;color:#3d4a68;border-radius:999px;padding:3px 10px;font-size:12px;font-weight:600}.ccm-sp.on{background:#dcf5e5;color:#13843f}
.ccm-pl2{display:flex;flex-direction:column;padding:10px 2px;border-bottom:1px solid var(--ln)}.ccm-pl2 a,.ccm-pl2 button{all:unset;cursor:pointer;display:inline-flex;align-items:center;gap:8px;padding:8px 0;color:var(--b)!important;font-size:15px;font-weight:500;text-decoration:none!important}.ccm-pl2 a:hover,.ccm-pl2 button:hover{text-decoration:underline!important}.ccm-pl2 .i{width:15px;height:15px}
.ccm-pc{display:flex;justify-content:center;padding:6px 0 2px}
/* p.8 clock in */
.ccm-shift{width:300px;padding:12px 18px 18px}.ccm-sh0{display:flex;justify-content:flex-end;margin:0 -8px 0 0}.ccm-shift h3{margin:0 0 6px;font-size:22px;font-weight:700;letter-spacing:-.3px}.ccm-shift>p{margin:0 0 16px;font-size:14px;color:var(--m)}
.ccm-st{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:0 0 16px;border-bottom:1px solid var(--ln)}.ccm-st span{flex:1;text-align:center;height:36px;line-height:36px;border-radius:999px;font-size:14.5px;font-weight:600}
.ccm-st span.off{background:#eef1f6;color:#3d4a68}.ccm-st span.on{background:#dcf5e5;color:#13843f}.ccm-st>.i{color:#3d4a68;flex-shrink:0}
.ccm-sa{display:flex;gap:10px;padding-top:12px}.ccm-sa .ccm-b{flex:1;height:40px;padding:0}
.ccm-lk{all:unset;cursor:pointer;display:block;margin:12px auto 0;color:var(--b);font-size:13.5px;text-align:center}.ccm-lk:hover{text-decoration:underline}
.ccm-ok{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:14px}.ccm-ok b{font-size:15px;font-weight:700}.ccm-okc{width:34px;height:34px;border-radius:50%;background:#dcf5e5;color:#13843f;display:grid;place-items:center}
/* p.10 system status + KB */
.ccm-sys{width:480px;padding:22px 24px}.ccm-sl{display:flex;flex-direction:column;border-top:1px solid var(--ln)}
.ccm-si{display:flex;gap:14px;padding:16px 0;border-bottom:1px solid var(--ln)}.ccm-sc{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;flex-shrink:0}.ccm-sc.ok{background:#dcf5e5;color:#13843f}.ccm-sc.warn{background:#f3f0ff;color:#5b45b8}.ccm-sc.bad{background:#fde3e3;color:#c32020}.ccm-sc.na{background:#eef1f6;color:#5b6785}
.ccm-sb{flex:1;min-width:0}.ccm-sn{display:flex;align-items:center;justify-content:space-between;gap:10px}.ccm-sn b{font-size:16px;font-weight:700}
.ccm-sb dl{display:grid;grid-template-columns:72px 1fr;gap:4px 10px;margin:8px 0 0;font-size:13.5px}.ccm-sb dt{color:#3d4a68}.ccm-sb dd{margin:0;color:var(--m)}
.ccm-f{display:flex;justify-content:flex-end;padding-top:14px}
.ccm-kb{width:460px;padding:22px 24px}.ccm-kq{display:flex;align-items:center;gap:12px;height:50px;border:1.5px solid var(--b);border-radius:14px;padding:0 16px;color:var(--b);margin-bottom:10px}.ccm-kq input{all:unset;flex:1;font-size:15px;color:var(--k)}
.ccm-kl{display:flex;flex-direction:column}.ccm-ki{display:flex;align-items:center;gap:14px;padding:10px 0;border-bottom:1px solid var(--ln);color:var(--k)!important;text-decoration:none!important}.ccm-ki b{flex:1;font-size:15.5px;font-weight:700}.ccm-ki:hover b{color:var(--b)}.ccm-ki>.i{color:var(--k)}
/* p.7 search palette */
html:is(.ds-on,.cch-on) #palette .pal-box{border-radius:18px;padding:10px 18px 0;box-shadow:0 24px 60px rgba(17,34,85,.2)}
#palette .ccm-pclose{display:flex;justify-content:flex-end;margin:0 -8px 4px 0}
html:is(.ds-on,.cch-on) #palette .pal-in{border:1.5px solid #1f5fe8;border-radius:14px;height:54px;padding:0 14px;box-shadow:0 0 0 4px rgba(31,95,232,.08)}
html:is(.ds-on,.cch-on) #palette .pal-in input{font-size:18px;font-family:inherit}html:is(.ds-on,.cch-on) #palette .pal-in kbd{border:1px solid #d9e0ec;border-radius:7px;background:#f6f8fc;font-size:11px;padding:3px 7px}
html:is(.ds-on,.cch-on) #palette .pal-grp{font-size:12px;font-weight:700;letter-spacing:.6px;text-transform:uppercase;color:#3d4a68;padding:14px 4px 6px}
html:is(.ds-on,.cch-on) #palette .pal-item{border-radius:12px;padding:10px 8px;border-bottom:1px solid #edf0f6;gap:14px}html:is(.ds-on,.cch-on) #palette .pal-item.on{background:#f3f6fd}
html:is(.ds-on,.cch-on) #palette .pi-ic{width:42px;height:42px;border-radius:12px;background:#e9f0fe;color:#1f5fe8;display:grid;place-items:center}
html:is(.ds-on,.cch-on) #palette .pi-k{font-size:0}html:is(.ds-on,.cch-on) #palette .pi-k::after{content:"›";font-size:24px;color:#0b1638;line-height:1}
html:is(.ds-on,.cch-on) #palette .pal-foot{justify-content:center;gap:22px;border-top:1px solid #edf0f6;font-size:13px;color:#3d4a68;padding:10px 0}
/* p.2 drawer */
.ccd-scrim{position:fixed;inset:0;z-index:1200;background:rgba(15,28,64,.45)}
.ccd{position:fixed;z-index:1210;top:50%;left:50%;width:min(640px,calc(100vw - 32px));max-height:min(860px,calc(100vh - 64px));background:#fff;border-radius:18px;box-shadow:0 30px 80px rgba(17,34,85,.25);display:flex;flex-direction:column;color:var(--k);transform:translate(-50%,-48%);opacity:0;transition:transform .18s ease-out,opacity .18s}
.ccd.in{transform:translate(-50%,-50%);opacity:1}.ccd *{box-sizing:border-box}.ccd .i{width:18px;height:18px}
.ccd-top{display:flex;align-items:center;justify-content:space-between;padding:20px 24px 6px}.ccd-cr{font-size:13px;color:#24407e}.ccd-cr b{font-weight:400;margin:0 4px;color:#8a95ae}.ccd-cr strong{font-weight:600;color:var(--k)}
.ccd-x{all:unset;cursor:pointer;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;color:var(--k)}.ccd-x:hover{background:#f1f4fa}
.ccd-body{flex:1;overflow:auto;padding:8px 24px 16px;display:flex;flex-direction:column;gap:14px}
.ccd-hd{display:flex;gap:18px;align-items:flex-start;padding:8px 0 4px}.ccd-hi{width:64px;height:64px;border-radius:14px;background:#f3f0ff;color:#8b7cf6;display:grid;place-items:center;flex-shrink:0}.ccd-hi .i{width:30px;height:30px}
.ccd-hd>div{flex:1;min-width:0}.ccd-hd h2{margin:0 0 6px;font-size:28px;line-height:1.2;font-weight:700;letter-spacing:-.4px}
.ccd-wt{display:inline-block;background:#e4ddff;color:#5c4300;border-radius:7px;padding:3px 9px;font-size:13px;font-weight:600}
.ccd-sr{display:flex;gap:14px;align-items:flex-start;justify-content:space-between;margin-top:8px}.ccd-sr p{margin:0;font-size:15px;color:#3d4a68;line-height:1.45}
.ccd-ofc{flex-shrink:0;display:inline-flex;gap:6px;align-items:center;color:var(--b)!important;font-size:14px;font-weight:500;text-decoration:underline!important}.ccd-ofc .i{width:14px;height:14px}
.ccd-card{border:1px solid var(--ln);border-radius:14px;padding:16px 18px;background:#fff}.ccd-card h4{margin:0 0 12px;display:flex;align-items:center;gap:12px;font-size:18px;font-weight:700}
.ccd-info{width:22px;height:22px;border-radius:50%;background:var(--b);color:#fff;display:grid;place-items:center}.ccd-info .i{width:14px;height:14px}.ccd-doc{color:var(--b)}.ccd-sp{width:30px;height:30px;border-radius:50%;background:#fff;color:var(--b);display:grid;place-items:center}
.ccd-tl{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0}.ccd-t{display:flex;gap:10px;align-items:flex-start;padding:0 12px;border-left:1px solid var(--ln)}.ccd-t:first-child{border-left:0;padding-left:0}
.ccd-t small{display:block;font-size:12.5px;color:var(--m)}.ccd-t b{display:block;font-size:15px;font-weight:600;margin-top:2px;overflow-wrap:break-word;word-break:normal}.ccd-t>.i{margin-top:6px;flex-shrink:0}
.ccd-rec{background:#eef3fd;border-color:#dbe5f8}.ccd-rec p{margin:-4px 0 14px 42px;font-size:14.5px;color:#3d4a68;line-height:1.45}
.ccd-ra{display:flex;align-items:center;gap:18px;flex-wrap:wrap}.ccd-pb{all:unset;cursor:pointer;display:inline-flex;align-items:center;gap:10px;height:48px;padding:0 24px;border-radius:999px;background:var(--b);color:#fff!important;font-size:16px;font-weight:600;text-decoration:none!important;box-shadow:0 8px 20px rgba(31,95,232,.3)}.ccd-pb:hover{background:#174fc6}
.ccd-ln{all:unset;cursor:pointer;display:inline-flex;align-items:center;gap:8px;color:var(--b)!important;font-size:14.5px;font-weight:500;text-decoration:underline!important}
.ccd-fm{display:grid;grid-template-columns:1fr 1.6fr;gap:14px}.ccd-fm label span{display:block;font-size:13.5px;font-weight:600;margin-bottom:6px}
.ccd-fm select,.ccd-fm textarea{width:100%;font:inherit;font-size:14px;border:1px solid #cdd6e6;border-radius:10px;padding:10px 12px;background:#fff;color:var(--k)}.ccd-fm select{height:42px;cursor:pointer}.ccd-fm textarea{min-height:76px;resize:vertical}
.ccd-fa{display:flex;align-items:center;gap:20px;margin-top:14px}.ccd-sv{all:unset;cursor:pointer;height:42px;padding:0 30px;border-radius:999px;background:var(--b);color:#fff;font-weight:600;font-size:15px}.ccd-sv:disabled{background:#e2e6ee;color:#8a95ae;cursor:not-allowed}
.ccd-ft{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--ln);padding:16px 24px;font-size:14px}.ccd-ft .ccd-ln{text-decoration:none!important}
.ccd-call{position:fixed;z-index:1320;left:max(16px,calc(50vw - 560px));bottom:28px;width:330px;background:#fff;border-radius:16px;box-shadow:0 24px 60px rgba(17,34,85,.25);padding:18px;font-family:"Plus Jakarta Sans",Inter,system-ui,sans-serif;color:#0b1638}
.ccd-ch{display:flex;gap:12px}.ccd-ch b{display:block;font-size:16px;font-weight:700;margin-bottom:4px}.ccd-ch small{font-size:13.5px;color:#3d4a68;line-height:1.4}.ccd-ca{display:flex;gap:10px;margin-top:14px}.ccd-ca .ccm-b{flex:1;padding:0 10px;height:40px;font-size:14px;white-space:nowrap}
.ccd-call .ccm-t{width:40px;height:40px}
html.ccd-open{overflow:hidden}
@media (max-width:760px){.ccd{top:auto;left:0;right:0;bottom:0;width:auto;max-height:92vh;border-radius:20px 20px 0 0;transform:translateY(30px)}.ccd.in{transform:none}
  .ccd-top{padding:14px 18px 4px}.ccd-body{padding:6px 18px 12px}.ccd-hd{gap:12px}.ccd-hi{width:48px;height:48px}.ccd-hd h2{font-size:20px}.ccd-sr{flex-direction:column;gap:6px}
  .ccd-tl{grid-template-columns:1fr 1fr;gap:12px 0}.ccd-t:nth-child(odd){border-left:0;padding-left:0}.ccd-rec p{margin-left:0}.ccd-fm{grid-template-columns:1fr}.ccd-ft{padding:12px 18px calc(12px + env(safe-area-inset-bottom))}
  .ccd-call{left:0;right:0;bottom:0;width:auto;border-radius:20px 20px 0 0}.ccm-w,.ccm-sys,.ccm-kb,.ccm-prof,.ccm-shift{width:auto}}
html[data-theme=dark] .ccm,html[data-theme=dark] .ccd,html[data-theme=dark] .ccd-call{background:#141c2f;color:#e6ebf5;border-color:#26324c}
/* V10.8.352 PDF p.5 landing header + next card (Support Inbox, Billing) */
html.ds-on .ds-ht{display:flex;align-items:center;gap:18px;margin-top:12px}html.ds-on .ds-ht h1{margin:0 0 2px}
html.ds-on .ds-hti{width:60px;height:60px;border-radius:50%;background:#e9f0fe;color:#1f5fe8;display:grid;place-items:center;flex-shrink:0}html.ds-on .ds-hti .i{width:28px;height:28px}
html.ds-on #dsH,html.ds-on .dsp-top{font-family:"Plus Jakarta Sans",Inter,system-ui,sans-serif}
html.ds-on .dsp-n2{display:flex;flex-direction:column;align-items:stretch;gap:16px;padding:20px 22px}
html.ds-on .dsp-nr{display:flex;align-items:flex-start;gap:18px}html.ds-on .dsp-nr .dsp-nb{flex:1;min-width:0}
html.ds-on .dsp-nr .ds-chev{width:40px;height:40px;border-radius:50%;background:#fff;display:grid;place-items:center;color:#0b1638!important;box-shadow:0 2px 8px rgba(17,34,85,.1);flex-shrink:0}.dsp-nr .ds-chev:hover{box-shadow:0 4px 14px rgba(17,34,85,.18)}
html.ds-on .dsp-full{width:100%;justify-content:center;height:48px}
html.ds-on .dsp-ib{grid-template-columns:minmax(0,640px)}
@media (max-width:760px){html.ds-on .ds-hti{width:48px;height:48px}html.ds-on .ds-ht{gap:12px}html.ds-on .dsp-n2{padding:14px}}
html.ds-on .dsp-n2 .dsp-nb>span,html.ds-on .dsp-n2 .dsp-nb>b{white-space:normal;overflow:visible;text-overflow:clip}

.ccd-call{left:50%;transform:translateX(-50%);bottom:40px}@media (max-width:760px){.ccd-call{transform:none}}
@media (min-width:761px) and (max-width:900px){.ccd-tl{grid-template-columns:1fr 1fr;gap:12px 0}.ccd-t:nth-child(odd){border-left:0;padding-left:0}}

/* V10.8.356 phone: bottom sheet + 2x2 fields by real screen width (JS .ccd-ph) and by the modal's own width (container query) */
.ccd{container-type:inline-size;container-name:ccd}
.ccd-t{min-width:0;padding:0 12px}.ccd-t>span{min-width:0}
@container ccd (max-width:600px){.ccd-tl{grid-template-columns:1fr 1fr;gap:14px 0}.ccd-t{padding:0 10px 0 0;border-left:0}.ccd-t:nth-child(even){border-left:1px solid var(--ln);padding-left:12px}}
@media (max-width:600px){.ccd-tl{grid-template-columns:1fr 1fr!important;gap:14px 0}.ccd-t{padding:0 10px 0 0!important;border-left:0!important}.ccd-t:nth-child(even){border-left:1px solid var(--ln)!important;padding-left:12px!important}}
.ccd.ccd-ph{top:auto;left:0;right:0;bottom:0;width:auto;max-width:none;max-height:92vh;border-radius:20px 20px 0 0;transform:translateY(30px)}.ccd.ccd-ph.in{transform:none}
.ccd.ccd-ph .ccd-tl{grid-template-columns:1fr 1fr!important;gap:14px 0}.ccd.ccd-ph .ccd-t{padding:0 10px 0 0!important;border-left:0!important}.ccd.ccd-ph .ccd-t:nth-child(even){border-left:1px solid var(--ln)!important;padding-left:12px!important}
.ccd.ccd-ph .ccd-sr{flex-direction:column;gap:6px}.ccd.ccd-ph .ccd-fm{grid-template-columns:1fr}.ccd.ccd-ph .ccd-rec p{margin-left:0}

/* V10.8.358 Tamra: highlighted card repeats the first visible list item -> phones only (html.cc-ph) */
html.ds-on:not(.cc-ph) .dsp-rep{display:none!important}
html.ds-on:not(.cc-ph) .dsp-ib:has(>.dsp-rep){display:none}
html.ds-on:not(.cc-ph) .dsp-bill:has(>.dsp-rep){grid-template-columns:minmax(0,1fr)}
/* V10.8.375 Tamra: no gap under Support Inbox header - search + Table view sit on the title row (desktop/iPad; phones unchanged) */
html.ds-on:not(.cc-ph) #ib2v .ib-head{height:0;margin:0 0 4px;padding:0;position:relative;z-index:3;pointer-events:none;overflow:visible}
html.ds-on:not(.cc-ph) #ib2v .ib-head .ib-tools{position:absolute;right:0;top:-71px;pointer-events:auto;left:auto;width:auto;max-width:56%}
/* V10.8.395 compact profile dropdown (Tamra): small icons, no arrows, no Close footer. Pill protected from other classes (e.g. ops381 html.o381-demo). */
#ccmPop.ccm-dd{width:248px;max-width:calc(100vw - 16px);padding:6px;border-radius:14px;box-shadow:0 12px 32px rgba(15,31,75,.16),0 2px 6px rgba(15,31,75,.08)}
#ccmPop.ccm-dd .ccm-pm{display:flex;align-items:center;gap:10px;padding:8px 8px 10px;border-bottom:1px solid var(--ln)}
#ccmPop.ccm-dd .ccm-av{width:34px;height:34px;font-size:14px}
#ccmPop.ccm-dd .ccm-pn{display:flex;flex-direction:column;gap:1px;min-width:0;flex:1}
#ccmPop.ccm-dd .ccm-pn b{font-size:14.5px;font-weight:700;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#ccmPop.ccm-dd .ccm-pn small{font-size:12.5px;color:var(--m);line-height:1.2}
html #ccmPop.ccm-dd span.ccm-sp{all:unset;box-sizing:border-box;display:inline-flex;align-items:center;white-space:nowrap;width:auto;height:22px;padding:0 9px;border-radius:999px;background:#eef1f6;color:#3d4a68;font:600 11.5px/1 'Plus Jakarta Sans',Inter,system-ui,sans-serif;flex:0 0 auto}
html #ccmPop.ccm-dd span.ccm-sp.on{background:#dcf5e5;color:#13843f}
#ccmPop.ccm-dd .ccm-prl{display:flex;flex-direction:column;padding:4px 0 0}
#ccmPop.ccm-dd .ccm-pr{all:unset;box-sizing:border-box;cursor:pointer;display:flex;align-items:center;gap:10px;height:38px;padding:0 10px;border-radius:9px;font:500 14.5px/1 'Plus Jakarta Sans',Inter,system-ui,sans-serif;color:#1d2433;text-decoration:none!important}
#ccmPop.ccm-dd .ccm-pr:hover,#ccmPop.ccm-dd .ccm-pr:focus-visible{background:#f1f4fa}
#ccmPop.ccm-dd .ccm-pr .i{width:16px;height:16px;flex:0 0 16px;color:#5b6780}
#ccmPop.ccm-dd .ccm-pr>span:not(.ccm-tg){flex:1}
#ccmPop.ccm-dd .ccm-pr.out,#ccmPop.ccm-dd .ccm-pr.out .i{color:#c0262d}
#ccmPop.ccm-dd .ccm-pdv{height:1px;background:var(--ln);margin:4px 6px}
#ccmPop.ccm-dd .ccm-tg{position:relative;width:30px;height:18px;border-radius:999px;background:#d5dbe6;flex:0 0 30px}
#ccmPop.ccm-dd .ccm-tg::after{content:'';position:absolute;top:2px;left:2px;width:14px;height:14px;border-radius:50%;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.2)}
#ccmPop.ccm-dd .ccm-tg.on{background:#2563eb}#ccmPop.ccm-dd .ccm-tg.on::after{left:14px}
/* V10.8.780 V2-2: 2x2 facts, lavender icon (no orange), pastel disabled Save, 13px+ */
.ccd-hi{background:#efeaff!important;color:#6d4fe0!important}
.ccd-tl{grid-template-columns:1fr 1fr!important;gap:14px 0!important}
.ccd-t{border-left:0!important;padding:0 12px 0 0!important}
.ccd-t small{font-size:13px!important}
.ccd-sv[disabled]{background:#e6e1fb!important;color:#8e86b8!important;cursor:not-allowed}
.ccd-wt{background:#efeaff!important;color:#5b45c9!important}
/* V10.8.1408 N3-22: condensed What You Need box */
#ccd .ccd-card.v853-wyn{padding:10px 14px!important}#ccd .ccd-card.v853-wyn h4{font-size:15px!important;margin:0 0 6px!important;gap:8px!important}#ccd .v853-wyn .ccd-info{width:18px;height:18px}#ccd .v853-wyn .ccd-info .i{width:12px;height:12px}
#ccd .v853-wyn .ccd-tl{gap:6px 0!important}#ccd .v853-wyn .ccd-t{gap:6px}#ccd .v853-wyn .ccd-t small{font-size:12px!important;line-height:1.3}#ccd .v853-wyn .ccd-t b{font-size:14px!important;margin-top:0;line-height:1.3}#ccd .v853-wyn .ccd-t>.i{margin-top:2px;width:14px;height:14px}#ccd .v853-wyn .v853-nr{margin:4px 0 0;font-size:12.5px}
/* V10.8.1408 N4-9: Add A Person pop-up centered on every screen */
#modal.m-ctr{align-items:center!important;padding:14px!important}#modal.m-ctr .mbox{border-radius:20px!important;margin:auto}
/* V10.8.1408 N5-17: instant Sending… + Ella typing */
.v1408-st{display:block;text-align:right;font-size:12px;color:#5b6885;margin:-2px 8px 6px}.v1408-st.bad{color:#c62828;font-weight:600}
.v1408-typ{display:flex;align-items:center;gap:8px;margin:6px 0}.v1408-dots{display:inline-flex;gap:4px;background:#eef2fb;border-radius:14px;padding:10px 12px}.v1408-dots i{width:7px;height:7px;border-radius:50%;background:#7b88a8;animation:v1408b 1s infinite ease-in-out}.v1408-dots i:nth-child(2){animation-delay:.15s}.v1408-dots i:nth-child(3){animation-delay:.3s}
@keyframes v1408b{0%,80%,100%{opacity:.3;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}
/* V10.8.1408 N5-19: Ella answers in chat no longer cut off (chat row was picking up the .ck-card box style and shrinking); Jump To Latest only when scrolled up, small, bottom-right, clear of the messages */
.tmsgs .tm-row.ck-card{background:none!important;border:0!important;box-shadow:none!important;padding:0!important;overflow:visible!important;flex-shrink:0!important;transform:none!important;border-radius:0!important}
.tmsgs .tm-row.ck-card::before{content:none!important;display:none!important}
.tmsgs .tm-row.ck-card:hover{transform:none!important;box-shadow:none!important}
.thread-wrap{position:relative}
.thread-wrap .jump-latest.hidden,.jump-latest.hidden{display:none!important}
.thread-wrap .jump-latest{position:absolute!important;left:auto!important;right:14px!important;bottom:12px!important;transform:none!important;margin:0!important;padding:6px 12px!important;font-size:13px!important;z-index:4}
.v1408-pend .cm-acts,.v1408-pend .ck-stat{display:none!important}

/* ---- /static/mbar.css?v=509 ---- */
/* V10.8.509 SHARED mobile bottom tab bar. Every portal's phone tab bar carries class="mbar".
   Pinned to the true bottom of the screen; never floats mid-page. Load this file LAST in <head>.
   WebKit turns position:fixed into "absolute" when the bar OR any ancestor has transform/filter/
   backdrop-filter/perspective/will-change/contain, so ancestors of .mbar are hardened below.
   Each portal still decides WHEN its bar shows (display), and its colours. */
:root{--mbar-h:64px;--mbar-pad:calc(var(--mbar-h) + env(safe-area-inset-bottom,0px))}
.mbar{position:fixed!important;left:0!important;right:0!important;bottom:0!important;top:auto!important;
 margin:0!important;width:auto!important;max-width:none!important;box-sizing:border-box;z-index:40;
 min-height:var(--mbar-pad);padding-bottom:calc(6px + env(safe-area-inset-bottom,0px))!important;
 transform:none!important;-webkit-transform:none!important;filter:none!important;
 backdrop-filter:none!important;-webkit-backdrop-filter:none!important;will-change:auto!important;contain:none!important}
html:has(.mbar),body:has(.mbar),:has(> .mbar),:has(> * > .mbar),:has(> * > * > .mbar){transform:none!important;filter:none!important;
 perspective:none!important;contain:none!important;will-change:auto!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
@media (max-width:900px){body:has(.mbar){padding-bottom:calc(var(--mbar-pad) + 12px)!important}}

/* ---- /static/sp1461/inl-61fec46c3ee21eda.css?v=61fec46c3ee21eda ---- */
/* V10.8.545 */.m545{margin-top:8px;font-size:14px;color:#3d4657;display:flex;gap:8px;align-items:center;flex-wrap:wrap}.bn545{display:inline-block;background:#ecf8f0;color:#15803d;border-radius:999px;padding:2px 9px;font-size:13px;font-weight:600}.bl545{color:#6b7280;font-size:13px;margin-top:4px}
/* ---- /static/v921.css?v=1-1105 ---- */
/* V10.8.921 TEST only: the TEST strip scrolls away with the page instead of floating over content (Tamra 12:15 AM MYT). */
html body #ccTest{position:absolute!important;top:0!important;left:0;right:0}

/* ---- /static/hdr1515.css?v=1 ---- */
/* V10.8.1515 (TEST only): the sticky header must sit flush at the very top. The TEST strip (#ccTest) is position:absolute (V10.8.921), so it scrolls away;
   ops363.css still reserved 24px for it (top:24px), leaving a 24px gap above the header with content visible behind. Pin to 0 instead.
   Phone: same 24px for .wsc-top (v1261.css). Undo: remove the hdr1515 link in index.html. */
@media (min-width:601px){body:has(#ccTest) #cch .cch-top{top:0!important}}
@media (max-width:900px){body:has(#ccTest) .wsc>.wsc-wrap>header.wsc-top{top:0!important}}

/* ---- /static/v945.css?v=1-1105 ---- */
/* V10.8.945 (TEST) Sales header uses the Finance tab-bar style: lavender active pill */
html.ds-on #dsTop .ds-tab.on{background:rgb(233,227,255)!important;border-radius:10px!important;box-shadow:none!important}
html.ds-on #dsTop .ds-tab.on a,html.ds-on #dsTop .ds-tab.on a svg{color:rgb(75,63,168)!important}

/* ---- /static/v956.css?v=1-1105 ---- */
/* V10.8.956 TEST Business Costs - pastels, 13px+ */
html.v956on #view,html.v956on #fpv,html.v956on #wlv,html.v956on #v939v{display:none!important}
.v956{padding:8px 0 40px;font-size:14px;color:#22304F}.v956-h{display:flex;gap:10px;align-items:center;color:#5B6B8C;font-size:14px;margin:4px 0 14px}
.v956-adm{background:#E3F1FF;color:#2A4E86;border-radius:999px;padding:3px 10px;font-size:13px;font-weight:600}
.v956-bar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:14px}.v956-bar label,.v956-f label{font-size:13px;color:#5B6B8C;display:flex;gap:6px;align-items:center}
.v956 input,.v956 select{font-size:14px;padding:7px 9px;border:1px solid #DCE3EF;border-radius:10px;background:#fff;color:#22304F}
.v956-btn{background:#E9E3FF;color:#4B3FA8;border:0;border-radius:10px;padding:8px 14px;font-size:13px;font-weight:600;text-decoration:none;cursor:pointer}
.v956-k{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin-bottom:16px}.v956-k>div{background:#fff;border:1px solid #E7EDF6;border-radius:14px;padding:14px}
.v956-k span{display:block;font-size:13px;color:#5B6B8C}.v956-k b{display:block;font-size:22px;margin-top:4px}.v956-k em{font-style:normal;font-size:13px;color:#5B6B8C}
.v956-k .k1{background:#F6F3FF}.v956-k .k2{background:#EEF6FF}.v956-k .k3{background:#EEF1F6}.v956-k .k4{background:#FBEFF3}.v956-k .k5{background:#DDF5EA}
.v956-c{background:#fff;border:1px solid #E7EDF6;border-radius:14px;padding:16px;margin-bottom:14px}.v956-c h3{margin:0 0 10px;font-size:17px}
.v956-t{width:100%;border-collapse:collapse}.v956-t th,.v956-t td{padding:9px 8px;border-bottom:1px solid #EEF1F6;text-align:left;font-size:14px}.v956-t th{font-size:13px;color:#5B6B8C}
.v956-t .n{text-align:right}.v956-t small{display:block;color:#5B6B8C;font-size:13px}.v956-x{background:#FBE3EA;color:#8A2E4A;border:0;border-radius:8px;padding:5px 10px;font-size:13px;cursor:pointer}
.v956-f{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px;align-items:center}.v956-p{border-radius:999px;padding:3px 10px;font-size:13px}.v956-p.sky{background:#E3F1FF;color:#2A4E86}
.v956-none,.v956-fine,.v956-msg{color:#5B6B8C;font-size:13px}
@media(max-width:600px){.v956-t th:nth-child(2),.v956-t td:nth-child(2){display:none}.v956-k{grid-template-columns:1fr 1fr}}

/* ---- /static/v958.css?v=4-1105 ---- */
/* V10.8.958 Sales Pipeline Smart List (TEST) */
.p958{padding:16px}.p958-chips{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}
.p958-c{border:0;border-radius:999px;padding:7px 14px;font-size:14px;font-weight:600;cursor:pointer;opacity:.8}.p958-c.on{opacity:1;outline:2px solid #8C7CE0}
.t-rose{background:#FBE3EA;color:#8A2E4A}.t-sky{background:#E3F1FF;color:#2A4E86}.t-lav{background:#E9E3FF;color:#4B3FA8}.t-mint{background:#DDF5EA;color:#1E6B4A}.t-grey{background:#EEF1F6;color:#4A5672}
.p958-tools{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:8px}.p958-tools input,.p958-tools select{font-size:14px;padding:8px 12px;border:1px solid #E4E7F2;border-radius:10px;background:#fff;color:#22304F}.p958-tools input{flex:1;min-width:160px}
.p958-t{width:100%;border-collapse:collapse}.p958-t th{font-size:13px;color:#5B6B8C;font-weight:600;text-align:left;padding:10px 8px;border-bottom:1px solid #EEF1F6}
.p958-t td{padding:11px 8px;border-bottom:1px solid #EEF1F6;font-size:14px;vertical-align:middle}.p958-t tbody tr{cursor:pointer}.p958-t tbody tr:hover,.p958-t tr.on{background:#F6F3FF}
.p958-fam{display:flex;gap:10px;align-items:center}.p958-fam b{display:block;font-size:15px}.p958-fam small{display:block;font-size:13px;color:#5B6B8C}.p958-mav{display:none}
.p958-chip{display:inline-block;border-radius:999px;padding:3px 10px;font-size:13px;font-weight:600;white-space:nowrap}
.p958-trk{display:inline-flex;align-items:center;width:150px}.p958-trk i{width:14px;height:14px;border-radius:50%;background:#EEF1F6;border:2px solid #D4DAE6;flex:none}
.p958-trk i.d{background:#B9A8F5;border-color:#B9A8F5}.p958-trk i.c{background:#fff;border-color:#8C7CE0;box-shadow:0 0 0 4px #E9E3FF}.p958-trk b{flex:1;height:3px;background:#E4E7F2}.p958-trk b.d{background:#B9A8F5}.p958-trk.off{opacity:.45}
.p958-rep{display:inline-flex;gap:8px;align-items:center;white-space:nowrap}.p958-un,.p958-lt{color:#5B6B8C;font-size:13px;white-space:nowrap}
.p958-btn{background:#E9E3FF;color:#4B3FA8;border:0;border-radius:10px;padding:7px 14px;font-size:13px;font-weight:600;white-space:nowrap;cursor:pointer}
.p958-more{display:block;margin:14px auto 0;background:#EEF1F6;color:#4A5672;border:0;border-radius:10px;padding:9px 18px;font-size:14px;font-weight:600;cursor:pointer}
@media (max-width:760px){.p958{padding:12px}.p958-h{display:none}.p958-mav{display:inline-flex}.p958-t td{padding:10px 4px}.p958-fam b{font-size:14px}}
.p958-fam b,.p958-fam small{text-transform:capitalize}
@media (max-width:760px){.p958-t thead{display:none}.p958-t,.p958-t tbody{display:block}.p958-t tbody tr{display:grid;grid-template-columns:1fr auto;gap:6px 8px;padding:10px 2px;border-bottom:1px solid #EEF1F6}
.p958-t td{border:0;padding:0}.p958-t td.p958-fam{grid-column:1/-1}.p958-t td.p958-h{display:none}.p958-tools select{flex:1}}
.p958-c.t-rose{background:#FBE3EA!important;color:#8A2E4A!important}.p958-c.t-sky{background:#E3F1FF!important;color:#2A4E86!important}.p958-c.t-lav{background:#E9E3FF!important;color:#4B3FA8!important}.p958-c.t-mint{background:#DDF5EA!important;color:#1E6B4A!important}.p958-c.t-grey{background:#EEF1F6!important;color:#4A5672!important}

/* V10.8.977 temperature tags + filter */
.p958-fam .p977-tg{display:block;margin-top:4px}
.p977-tc{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0 4px}
.p977-t{border:1px solid transparent;border-radius:999px;padding:4px 12px;font-size:13px;font-weight:600;cursor:pointer}
.p977-t.i-hot{background:#FCE4E6;color:#A23347}.p977-t.i-warm{background:#DDF4EE;color:#11655A}.p977-t.i-cold{background:#E3F0FD;color:#1F4F82}
.p977-t.on{border-color:currentColor;box-shadow:0 0 0 2px rgba(162,51,71,.12)}

/* ---- /static/v1075.css?v=1-1105 ---- */
/* V10.8.1075 (TEST, Notes V.4 p17): bigger team profile photo. Off: html.no1075 */
html:not(.no1075) .pf-ph .av.xxl{--s:128px}
html:not(.no1075) .tc-top .av.xl{--s:72px}

/* ---- /static/v1259.css?v=1 ---- */
/* V10.8.1259 (TEST) Unclaimed Recap banner (Tamra Oct 21 2:01 AM MYT, N1-25 "dark at the top ... needs to come alive"): light palette banner. Off: remove link. */
body .rc780 .prev,body #sw542 .prev{background:#eaf3fe!important;background-image:linear-gradient(90deg,#e6f0fd,#f5f9ff)!important;color:#14254a!important;border:1px solid #cfe2fc!important;border-left:5px solid #3b8ef0!important;border-radius:14px!important;font-weight:600!important;padding:14px 16px!important}
body .rc780 .prev>span:first-child{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;background:#fff;box-shadow:0 1px 4px rgba(59,142,240,.25);font-size:18px!important;flex:none}

/* ---- /static/v1260.css?v=1 ---- */
/* V10.8.1260 (TEST) Readable hover app-wide (Tamra Oct 21 2:01 AM MYT, N5-39/C86): cards never turn solid blue on hover; light tint + blue border instead.
   style.css has a global button:hover{background:var(--primary-h)}; v1039.css fixed card buttons only after people.js loaded. This loads in <head>. Off: localStorage v1260=0 (JS guard only). */
button[class*=card]:hover,button[class*=tile]:hover,button[class*=chip]:hover,button[class*=-row]:hover,button[class*=pill]:hover,button[class*=item]:hover,button[class*=-opt]:hover,button[role=listitem]:hover,button[role=option]:hover{background:#eef5fe!important;background-image:none!important;color:inherit!important;box-shadow:inset 0 0 0 1.5px #3b8ef0!important}
.v1260-soft:hover{background:#eef5fe!important;background-image:none!important;color:#14254a!important;box-shadow:inset 0 0 0 1.5px #3b8ef0!important}
.v1260-soft:hover :where(b,strong,small,span,div,p,em,i,h1,h2,h3,h4,h5,label){color:#14254a!important}
.v1260-soft:hover :where(small,.muted,.m,.sub,.h){color:#4a5878!important}

/* ---- /static/v1261.css?v=4 ---- */
/* V10.8.1261 (TEST) Top menu bar stays fixed on phone/tablet (Tamra Oct 21 2:01 AM MYT, C89 "top menu bar and bottom menu bar"). Bottom bar = mbar.css (V509).
   No transform/filter on the bar or ancestors (WebKit rule from mbar.css). */
@media (max-width:900px){body:has(header.cch-top){overflow-x:clip!important;overflow-y:visible!important}/* body overflow:hidden made body a scroll box, so sticky never stuck; clip looks the same */
body header.cch-top{position:sticky!important;top:0!important;z-index:45!important;background:#f5f7fb!important;box-shadow:0 1px 0 #e3e8f2,0 6px 14px rgba(15,30,61,.05);transform:none!important;filter:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
/* Worlds landing (#/ on phone) is its own scroll box (.wsc, fixed): pin its header inside it */
.wsc>.wsc-wrap>header.wsc-top{position:sticky!important;top:0!important;z-index:6!important;background:#f5f7fb!important;margin-left:-16px;margin-right:-16px;padding-left:16px;padding-right:16px;box-shadow:0 1px 0 #e3e8f2}
body:has(#ccTest) .wsc>.wsc-wrap>header.wsc-top{top:24px!important}/* TEST strip only */}

/* ---- /static/build.css?v=18-791 ---- */
/* Build board (test site). Mobile first; uses the app's design tokens. */
.bd{max-width:1180px}
.bd-sub{display:flex;gap:4px;overflow-x:auto;margin:0 0 14px;padding:3px;background:var(--surface-2);border:1px solid var(--border);border-radius:12px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.bd-sub::-webkit-scrollbar{display:none}
.bd-sub a{flex:1 0 auto;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:8px 12px;border-radius:9px;color:var(--muted);font-weight:600;font-size:13px;white-space:nowrap}
.bd-sub a:hover{text-decoration:none;color:var(--text)}
.bd-sub a.on{background:var(--surface);color:var(--text);box-shadow:var(--sh-sm),0 0 0 1px var(--border)}
.bd-sub em,.bd-colsel em,.bd-col h4 em,.bd-kbg summary em{font-style:normal;font-size:11px;font-weight:650;background:var(--primary-soft);color:var(--primary-text);border-radius:999px;padding:0 7px;min-width:20px;text-align:center}
.bd .card-h .spacer,.bd-qh .spacer,.bd-qa .spacer{flex:1}
.bd-goal p{margin:0;font-size:15px;line-height:1.6;color:var(--text-2)}
.bd-cur{display:flex;align-items:baseline;gap:10px;justify-content:space-between;margin-bottom:8px}.bd-cur b{font-size:16px}
.bd-bar{display:block;height:6px;border-radius:99px;background:var(--surface-3);overflow:hidden;min-width:40px}
.bd-bar.big{height:10px}.bd-bar i{display:block;height:100%;background:linear-gradient(90deg,var(--primary),var(--violet));border-radius:inherit;transition:width .4s var(--ease)}
.bd-pg{margin:8px 0 12px;font-size:13px}
.bd-phases{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}
.bd-phases li{display:grid;grid-template-columns:76px 1fr minmax(90px,220px) 40px;align-items:center;gap:10px;padding:9px 10px;border-radius:10px;cursor:pointer;font-size:13.5px}
.bd-phases li:hover{background:var(--surface-2)}
.bd-phases li.on{background:var(--primary-soft)}.bd-phases li.on .bd-pt{font-weight:650;color:var(--primary-text)}
.bd-phases li.st-done .bd-pt{text-decoration:line-through;color:var(--muted)}
.bd-pn{font-size:11.5px;font-weight:650;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}
.bd-pp{font-size:12px;color:var(--muted);text-align:right;font-variant-numeric:tabular-nums}
.bd-hint{font-size:12.5px;margin:8px 2px 12px}
.bd-sprint .card-h select{max-width:52vw}
.bd-sg{margin:-6px 0 12px;font-size:13px}
.bd-colsel{display:none}
.bd-cols{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.bd-col{background:var(--surface-2);border:1px solid var(--border);border-radius:14px;padding:10px;min-height:120px}
.bd-col h4{display:flex;align-items:center;gap:8px;margin:2px 4px 10px;font-size:13px;font-weight:650}
.bd-dot{width:8px;height:8px;border-radius:50%;background:var(--faint)}.bd-dot.doing{background:var(--warning)}.bd-dot.done{background:var(--success)}
.bd-empty{color:var(--faint);font-size:12.5px;text-align:center;margin:18px 0}
.bd-add{width:100%;margin-top:4px}
.bd-card{background:var(--surface);border:1px solid var(--border);border-left:3px solid var(--border-strong);border-radius:12px;margin-bottom:8px;box-shadow:var(--sh-xs)}
.bd-card.pr-urgent{border-left-color:var(--danger)}.bd-card.pr-high{border-left-color:var(--warning)}.bd-card.pr-normal{border-left-color:var(--info)}
.bd-cbody{padding:10px 12px 4px;cursor:pointer}
.bd-cbody b{display:block;font-size:13.5px;line-height:1.4}
.bd-cbody p{margin:4px 0 0;font-size:12.5px;color:var(--muted);line-height:1.45}
.bd-meta{display:flex;flex-wrap:wrap;gap:4px;margin-top:8px}
.bd-mv{display:flex;justify-content:space-between;padding:2px 4px 4px}
.bd-mv button{color:var(--muted);font-size:12px;padding:6px 8px}
[data-col=done] .bd-card b{color:var(--muted)}
.bd-2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.bd-linked{background:var(--surface-2);border-radius:10px;padding:8px 12px;margin:-4px 0 12px;font-size:13px}.bd-linked p{margin:6px 0}
.bd-small{font-size:12px}.bd-del{color:var(--danger-t);margin-left:8px}
select[multiple]{min-height:140px}
.bd-quick{display:flex;flex-direction:column;gap:8px}
.bd-ql{font-weight:650;display:flex;align-items:center;gap:8px}
.bd-qrow{display:flex;gap:8px}.bd-qrow input{flex:1;min-width:0;font-size:16px}
.bd-idea{display:flex;gap:12px;align-items:flex-start;padding:12px 0;border-top:1px solid var(--border)}
.bd-idea:first-of-type{border-top:none}
.bd-ib{flex:1;min-width:0}.bd-ib p{margin:3px 0;font-size:13px;color:var(--text-2)}.bd-ib small{font-size:12px}
.bd-ia{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.bd-idea.st-archived{opacity:.6}
.bd-qbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:6px}.bd-qbar .tabs{margin-bottom:0}
.bd-qbar .search-in{flex:1;min-width:200px}
.bd-n{font-style:normal;font-size:11px;color:var(--faint)}
.bd-q{padding:14px 16px}
.bd-qh{display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin-bottom:6px}
.bd-q h4{margin:2px 0 6px;font-size:15px;line-height:1.45;font-weight:620}
.bd-ctx{margin:0 0 6px;font-size:12.5px}
.bd-src{margin:0 0 10px;font-size:11.5px;color:var(--faint);display:flex;gap:5px;align-items:center}
.bd-ta{width:100%;font:inherit;font-size:16px;padding:10px 12px;border:1px solid var(--border-strong);border-radius:10px;background:var(--surface);color:var(--text);resize:vertical}
.bd-qa{display:flex;gap:8px;align-items:center;margin-top:8px;flex-wrap:wrap}
.bd-ans{background:var(--success-soft);border-radius:10px;padding:10px 12px}.bd-ans b{font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--success-t)}.bd-ans p{margin:4px 0}
.bd-q.st-skipped{opacity:.75}
.bd-q.st-review{border-left:3px solid var(--warning)}
.bd-draft{display:flex;gap:6px;align-items:flex-start;font-size:12.5px;color:var(--warning-t,#5b45b8);background:var(--warning-soft,#f3f0ff);border-radius:8px;padding:7px 10px;margin:0 0 8px;line-height:1.4}
.bd-draft svg{flex:none;width:15px;height:15px;margin-top:1px}
.bd-revbar{display:flex;gap:12px;align-items:center;justify-content:space-between;padding:12px 16px;margin-bottom:10px;background:var(--warning-soft,#f3f0ff);border-color:transparent}
.bd-revbar b{display:inline-flex;gap:6px;align-items:center}.bd-revbar svg{width:16px;height:16px;vertical-align:-3px;margin-right:6px}.bd-revbar p{margin:4px 0 0;font-size:13px;color:var(--text-2)}
.bd-qg{padding:0 12px 4px}.bd-qg>summary{display:flex;align-items:center;gap:10px;padding:14px 4px;cursor:pointer;list-style:none;font-size:14.5px}
.bd-qg>summary::-webkit-details-marker{display:none}.bd-qg>summary em{font-style:normal;font-size:11px;font-weight:650;background:var(--primary-soft);color:var(--primary-text);border-radius:999px;padding:0 7px;min-width:20px;text-align:center}
.bd-qg>summary::after{content:'▸';margin-left:auto;color:var(--faint);transition:transform .15s}.bd-qg[open]>summary::after{transform:rotate(90deg)}
.bd-qg .bd-q{box-shadow:none;border:1px solid var(--border);margin:0 0 10px}
@media (max-width:820px){.bd-revbar{flex-direction:column;align-items:stretch}.bd-revbar button{width:100%}}
.bd-kbg{padding:0 16px}
.bd-kbg summary{display:flex;align-items:center;gap:10px;padding:14px 0;cursor:pointer;list-style:none;font-size:14.5px}
.bd-kbg summary::-webkit-details-marker{display:none}
.bd-kb{padding:12px 0;border-top:1px solid var(--border)}.bd-kb h4{margin:0 0 4px;font-size:14px}.bd-kb p{margin:0 0 6px;font-size:13.5px;color:var(--text-2)}.bd-kb:last-child{padding-bottom:16px}
@media (max-width:820px){
  .bd-colsel{display:flex;gap:4px;background:var(--surface-2);border:1px solid var(--border);padding:3px;border-radius:12px;margin-bottom:10px}
  .bd-colsel button{flex:1;background:transparent;color:var(--muted);box-shadow:none;border:none;padding:8px 6px;border-radius:9px}
  .bd-colsel button.on{background:var(--surface);color:var(--text);box-shadow:var(--sh-sm),0 0 0 1px var(--border)}
  .bd-cols{display:block}
  .bd-col{display:none;background:transparent;border:none;padding:0}
  .bd-col[data-on]{display:block}
  .bd-col h4{display:none}
  .bd-phases li{grid-template-columns:58px 1fr 54px 34px;gap:8px;padding:9px 6px}
  .bd .card{padding:14px}
  .bd-qbar .tabs{width:100%;display:flex}.bd-qbar .tabs button{flex:1;padding:7px 4px}
  .bd-qbar select,.bd-qbar .search-in{width:100%}
  .bd-qbar #bdQAdd{width:100%}
  .bd-idea{flex-direction:column;gap:8px}.bd-ia{justify-content:flex-start}
  .bd-2{grid-template-columns:1fr}
  .bd-sub a{padding:8px 6px;gap:4px}.bd-sub a .i{display:none}.bd-sub a span{font-size:12.5px}
  .bd-sprint .card-h{gap:6px}.bd-sprint .card-h select{order:9;flex:1 1 100%;max-width:none}
}
/* Multiple-choice answers (6 Oct 2026): tappable choices, Other box, Picked -> Confirm */
.bd-opts{display:flex;flex-direction:column;gap:8px;margin:6px 0 2px}
.bd-ohint{margin:0 0 2px;font-size:12.5px;color:var(--muted);display:flex;align-items:center;gap:6px}.bd-ohint svg{width:14px;height:14px}
.bd-opt{display:flex;align-items:flex-start;gap:10px;width:100%;text-align:left;min-height:46px;padding:11px 14px;border-radius:12px;
  background:var(--surface);color:var(--text);border:1.5px solid var(--border-strong);box-shadow:none;font:inherit;font-size:14.5px;line-height:1.4;font-weight:500;cursor:pointer;
  -webkit-tap-highlight-color:transparent;transition:border-color .12s,background .12s;white-space:normal;height:auto;justify-content:flex-start}
.bd-opt:hover{border-color:var(--primary);background:var(--primary-soft)}
.bd-opt:focus-visible{outline:2px solid var(--primary);outline-offset:2px}
.bd-opt[aria-pressed=true]{border-color:var(--primary);background:var(--primary-soft);color:var(--primary-text);font-weight:620}
.bd-ock{flex:none;width:20px;text-align:center;font-size:16px;line-height:20px;color:var(--primary)}.bd-ock svg{width:16px;height:16px;vertical-align:-3px}
.bd-otx{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.bd-ot{white-space:normal;overflow-wrap:anywhere}
.bd-opt.earlier{border-style:dashed;border-color:var(--warning,#8b7cf6);background:var(--warning-soft,#f3f0ff)}
.bd-opt.earlier[aria-pressed=true]{border-style:solid}
.bd-opt.earlier .bd-ot{font-size:13.5px;font-weight:450;color:var(--text-2)}
.bd-etag{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:var(--warning-t,#5b45b8)}.bd-etag svg{width:13px;height:13px}
.bd-other{border-style:dashed;color:var(--muted)}.bd-other .bd-ock{color:var(--muted)}
.bd-obox{margin-top:2px}
.bd-picked{background:var(--success-soft);border:1px solid color-mix(in srgb,var(--success) 35%,transparent);border-radius:12px;padding:12px 14px;margin-top:4px}
.bd-pkh{display:flex;align-items:center;gap:7px;color:var(--success-t);font-size:13.5px}.bd-pkh svg{width:16px;height:16px}
.bd-pka{margin:8px 0 4px;font-size:14.5px;line-height:1.5;color:var(--text)}
.bd-picked small{font-size:12px}
.bd-confirm{background:var(--success);border-color:var(--success)}
.bd-alt{margin-top:8px}.bd-alt>summary{cursor:pointer;font-size:12.5px;color:var(--muted);padding:6px 2px}
.bd-q.is-picked{border-left:3px solid var(--success)}
.bd-skiprow{margin-top:6px}
.bd-pickbar{display:flex;gap:12px;align-items:center;justify-content:space-between;padding:12px 16px;margin-bottom:10px;background:var(--success-soft);border-color:transparent}
.bd-pickbar b{display:inline-flex;gap:6px;align-items:center}.bd-pickbar svg{width:16px;height:16px;vertical-align:-3px;margin-right:6px}.bd-pickbar p{margin:4px 0 0;font-size:13px;color:var(--text-2)}
@media (max-width:820px){
  .bd-pickbar{flex-direction:column;align-items:stretch}.bd-pickbar button{width:100%}
  .bd-opt{font-size:15px;padding:12px 13px}
  .bd-picked .bd-qa button{flex:1 1 auto}.bd-picked .bd-confirm{flex:1 1 100%;min-height:44px}
  .bd-qbar .tabs{overflow-x:auto;scrollbar-width:none}.bd-qbar .tabs button{flex:1 0 auto;padding:7px 8px}
}

/* ---------- Ella's paths (#/build/paths) ---------- */
.bd-paths,#modal{--t-aws:#1d4ed8;--t-aws-bg:#e7efff;--t-ai:#7e22ce;--t-ai-bg:#f4e8ff;--t-ap:#5b45b8;--t-ap-bg:#f3f0ff}
.bd-tag{display:inline-flex;align-items:center;gap:5px;padding:3px 9px;border-radius:999px;font-size:12px;font-weight:700;white-space:nowrap;line-height:1.4}
.bd-tag svg{width:13px;height:13px;flex:none}
.bd-tag.t-aws{color:var(--t-aws);background:var(--t-aws-bg)}
.bd-tag.t-ai{color:var(--t-ai);background:var(--t-ai-bg)}
.bd-tag.t-approval{color:var(--t-ap);background:var(--t-ap-bg)}
.bd-psum h2{display:flex;align-items:center;gap:8px;margin:0 0 4px;font-size:20px}
.bd-psum h2 svg{width:20px;height:20px}
.bd-ptiles{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:14px 0 10px}
.bd-ptile{display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding:12px;border-radius:12px;border:1px solid var(--border);background:var(--surface);cursor:pointer;text-align:left;font:inherit;color:inherit;height:auto}
.bd-ptile strong{font-size:28px;line-height:1}
.bd-ptile small{color:var(--muted);font-size:12px}
.bd-ptile.t-aws strong{color:var(--t-aws)}.bd-ptile.t-ai strong{color:var(--t-ai)}.bd-ptile.t-approval strong{color:var(--t-ap)}
.bd-ptile.on{box-shadow:0 0 0 2px currentColor}
.bd-ptile.t-aws.on{color:var(--t-aws)}.bd-ptile.t-ai.on{color:var(--t-ai)}.bd-ptile.t-approval.on{color:var(--t-ap)}
.bd-pbar{display:flex;height:8px;border-radius:99px;overflow:hidden;margin:0 0 12px;background:var(--surface-2)}
.bd-pbar i.t-aws,.bd-dots i.t-aws{background:var(--t-aws)}.bd-pbar i.t-ai,.bd-dots i.t-ai{background:var(--t-ai)}.bd-pbar i.t-approval,.bd-dots i.t-approval{background:var(--t-ap)}
.bd-legend{display:grid;gap:6px;margin:0 0 6px}
.bd-legend div{display:flex;align-items:baseline;gap:10px}
.bd-legend dt{flex:none;min-width:150px}.bd-legend dd{margin:0;font-size:13px}
.bd-pgroup{margin:22px 2px 10px;font-size:15px;display:flex;align-items:center;gap:8px;scroll-margin-top:70px}
.bd-pgroup em{font-style:normal;font-size:12px;color:var(--muted);background:var(--surface-2);border-radius:99px;padding:1px 8px}
.bd-pgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(380px,1fr));gap:12px}
.bd-path{margin:0;display:flex;flex-direction:column;gap:6px}
.bd-path header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.bd-path h3{margin:0;font-size:16px;line-height:1.3}
.bd-dots{display:flex;gap:3px;flex:none;padding-top:5px}.bd-dots i{width:9px;height:9px;border-radius:50%}
.bd-trig{margin:0;font-size:13px;color:var(--muted)}.bd-trig b{color:var(--text)}
.bd-steps{margin:4px 0 0;padding:0;list-style:none;counter-reset:st;display:flex;flex-direction:column;gap:8px}
.bd-step{counter-increment:st;display:flex;align-items:flex-start;gap:10px;padding:8px 10px 8px 40px;position:relative;border-radius:10px;background:var(--surface-2);transition:opacity .15s}
.bd-step::before{content:counter(st);position:absolute;left:10px;top:8px;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font-size:12px;font-weight:700;color:#fff}
.bd-step[data-tag=aws]::before{background:var(--t-aws)}.bd-step[data-tag=ai]::before{background:var(--t-ai)}.bd-step[data-tag=approval]::before{background:var(--t-ap)}
.bd-stxt{flex:1;font-size:14px;line-height:1.45;overflow-wrap:anywhere}
.bd-snote{display:block;margin-top:3px;color:var(--muted);font-size:12px;font-style:italic}
.bd-step .bd-tag{flex:none;margin-top:1px}
.bd-pnote{display:flex;gap:8px;margin:4px 0 0;padding:8px 10px;border-radius:10px;background:var(--t-ap-bg);color:#5b45b8;font-size:13px}
.bd-pnote svg{width:15px;height:15px;flex:none;margin-top:2px}
.bd-code{font-size:11px;overflow-wrap:anywhere}
.bd-paths.f-aws .bd-step:not([data-tag=aws]),.bd-paths.f-ai .bd-step:not([data-tag=ai]),.bd-paths.f-approval .bd-step:not([data-tag=approval]){opacity:.28}
.bd-pdiff{margin-top:18px}.bd-pdiff summary{display:flex;align-items:center;gap:8px;cursor:pointer}
.bd-pdiff summary svg{width:15px;height:15px}.bd-pdiff summary em{font-style:normal;font-size:12px;color:var(--muted)}
.bd-pdiff ol{margin:10px 0 0;padding-left:20px;display:flex;flex-direction:column;gap:8px;font-size:14px;line-height:1.45}
@media (max-width:820px){
  .bd-ptiles{gap:6px}.bd-ptile{padding:10px 8px}.bd-ptile strong{font-size:24px}
  .bd-ptile .bd-tag{white-space:normal;font-size:11px;padding:2px 7px}
  .bd-legend div{flex-direction:column;gap:3px}.bd-legend dt{min-width:0}
  .bd-pgrid{grid-template-columns:1fr}
  .bd-step{flex-direction:column;gap:5px;padding-left:38px}
}

/* ---------- processes-deck pre-fill (2026-10-06): option label, partial / conflict notes, Picked-tab chip ---------- */
.bd-dtag{color:#1d4ed8;background:#e7efff}
.bd-odet{display:block;margin-top:4px;color:var(--muted);font-size:12px;line-height:1.4;white-space:normal}
.bd-dnote{display:flex;gap:8px;align-items:flex-start;margin:8px 0 0;padding:8px 10px;border-radius:10px;font-size:13px;line-height:1.45}
.bd-dnote svg{width:15px;height:15px;flex:none;margin-top:2px}
.bd-dpart{background:#eef4ff;color:#1e3a8a}
.bd-dconf{background:#f3f0ff;color:#5b45b8}
.bd-pksrc{display:inline-flex;align-items:center;gap:5px;margin:4px 0 2px;padding:2px 8px;border-radius:99px;background:#e7efff;color:#1d4ed8;font-size:12px;font-weight:600}
.bd-pksrc svg{width:13px;height:13px}
.bd-chips{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 10px}
.bd-chip{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border-radius:99px;border:1px solid var(--border);background:var(--surface);color:var(--text);font:inherit;font-size:13px;font-weight:600;cursor:pointer;height:auto}
.bd-chip svg{width:14px;height:14px}
.bd-chip em{font-style:normal;font-size:12px;color:var(--muted)}
.bd-chip.on{background:#1d4ed8;border-color:#1d4ed8;color:#fff}.bd-chip.on em{color:#dbe6ff}
@media (max-width:820px){.bd-chip{flex:1 1 auto;justify-content:center}}

/* ---------- Ella's paths: "Change this" + change-request chips (2026-10-06) ---------- */
.bd-path header{flex-wrap:wrap}
.bd-path header h3{flex:1 1 auto}
.bd-chg{display:inline-flex;align-items:center;gap:4px;padding:3px 9px;border-radius:99px;border:1px solid var(--border);background:var(--surface);color:var(--muted);font:inherit;font-size:12px;font-weight:600;cursor:pointer;height:auto;line-height:1.4}
.bd-chg:hover{color:var(--text);border-color:var(--text)}
.bd-chg svg{width:12px;height:12px}
.bd-crrow{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-top:6px}
.bd-path > .bd-crrow{margin-top:0}
.bd-crchip{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:99px;border:1px solid transparent;font:inherit;font-size:12px;font-weight:700;cursor:pointer;height:auto;line-height:1.4;white-space:normal;text-align:left}
.bd-crchip svg{width:12px;height:12px;flex:none}
.bd-crchip.s-requested{background:#fde7f3;color:#9d174d;border-color:#f9c2de}
.bd-crchip.s-building{background:#e0f2fe;color:#075985;border-color:#bae6fd}
.bd-crchip.s-ready{background:#f3f0ff;color:#5b45b8;border-color:#e4ddff}
.bd-crchip.s-live{background:#dcfce7;color:#166534;border-color:#bbf7d0}
.bd-crchip.s-withdrawn{background:var(--surface-2);color:var(--muted)}
span.bd-crchip{cursor:default}
.bd-crsum{display:flex;gap:8px;align-items:flex-start;margin:8px 0 0;padding:8px 10px;border-radius:10px;background:#fdf2f8;color:#831843;font-size:13px;line-height:1.45}
.bd-crsum svg{width:15px;height:15px;flex:none;margin-top:2px}
.bd-hl{box-shadow:0 0 0 3px #f472b6 !important;border-radius:12px}
.bd-crmeta{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:6px 0}
.bd-crmeta a{display:inline-flex;align-items:center;gap:4px;font-size:12px}
.bd-crmeta a svg{width:13px;height:13px}
.bd-crsel{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--muted)}
.bd-crsel select{font-size:12px;padding:3px 6px;height:auto}
/* the sheet */
.bd-chctx{display:flex;flex-direction:column;gap:6px;margin:0 0 12px;padding:10px 12px;border-radius:12px;background:var(--surface-2);border:1px solid var(--border)}
.bd-chctx b{font-size:15px}.bd-chctx p{margin:0;font-size:14px;line-height:1.45}
.bd-chn{display:inline-block;margin-right:4px;padding:1px 8px;border-radius:99px;background:var(--text);color:var(--surface);font-size:12px;font-weight:700}
.bd-lps{border:0;margin:10px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.bd-lps legend{font-size:13px;font-weight:600;margin-bottom:6px;padding:0}
.bd-lp{display:inline-flex;align-items:center;cursor:pointer}
.bd-lp input{position:absolute;opacity:0;pointer-events:none}
.bd-lp > span{display:inline-flex;padding:2px;border-radius:99px;border:2px solid transparent}
.bd-lp input:checked + span{border-color:var(--text)}
.bd-lp input:focus-visible + span{outline:2px solid #2563eb;outline-offset:2px}
.bd-tag.t-none{color:var(--text);background:var(--surface-2);border:1px solid var(--border)}
@media (max-width:820px){.bd-lp{flex:1 1 45%}.bd-lp > span{width:100%}.bd-lp .bd-tag{width:100%;justify-content:center;padding:7px 9px;font-size:13px}}

/* ---------- old GPT (2025) pre-fill + 'Sources disagree' (2026-10-06) ---------- */
.bd-gtag{color:#6d28d9;background:#f1e8ff}
.bd-pkgpt{background:#f1e8ff;color:#6d28d9}
.bd-disagree{align-items:flex-start}
.bd-disagree > div{flex:1;min-width:0}
.bd-disagree dl{margin:6px 0 0;display:grid;gap:5px}
.bd-disagree dl > div{display:grid;grid-template-columns:150px 1fr;gap:8px;padding:6px 8px;border-radius:8px;background:rgba(255,255,255,.65)}
.bd-disagree dt{font-weight:700}.bd-disagree dd{margin:0;overflow-wrap:anywhere}
.bd-chip-dis.on{background:#5b45b8;border-color:#5b45b8}
@media (max-width:820px){.bd-disagree dl > div{grid-template-columns:1fr;gap:2px}}
/* sales calls (Sept 2024) pre-fill */
.bd-ctag{color:#5b45b8;background:#f3f0ff}
.bd-pkcalls{background:#f3f0ff;color:#5b45b8}
/* Ella's paths: sales path extras (phase headings, talking-points links, pending Tamra, branches) */
.bd-phz{display:block;margin:-2px 0 4px;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}
.bd-pend{display:inline-flex;align-items:center;gap:4px;margin-top:4px;padding:2px 8px;border-radius:99px;background:#f3f0ff;color:#5b45b8;font-size:12px;font-weight:600}
.bd-pend svg{width:13px;height:13px}
.bd-kbl{display:inline-flex;align-items:center;gap:4px;padding:3px 9px;border-radius:99px;border:1px solid var(--border);background:var(--surface);color:var(--t-aws,#1d4ed8);font:inherit;font-size:12px;font-weight:600;cursor:pointer;height:auto;line-height:1.4}
.bd-kbl svg{width:13px;height:13px}
.bd-branches{margin-top:4px;padding:8px 10px;border-radius:10px;border:1px dashed var(--border);font-size:14px}
.bd-branches ul{margin:6px 0 0;padding-left:18px;display:flex;flex-direction:column;gap:8px}
.bd-bwhen{font-weight:700}
.bd-go{font-weight:600;white-space:nowrap}
.bd-plink{display:flex;align-items:center;gap:4px;margin-top:4px;font-size:12px;font-weight:700}
.bd-plink svg{width:13px;height:13px}

/* Otto's flows (2026-10-07) */
.bd-otto .bd-olist{margin:6px 0;font-size:13px}.bd-otto .bd-olist ul{margin:2px 0 0 18px;padding:0}.bd-otto .bd-olist li{margin:2px 0}

/* v14: Sales + Walkthrough tabs */
.bd-tp.bd-drop{opacity:.55}.bd-tp .bd-ta{width:100%;margin:8px 0}.bd-keep{display:flex;gap:6px;align-items:center;font-size:.9em}
.bd-walk{display:flex;flex-direction:column;gap:6px;padding:10px 0;border-top:1px solid var(--line,#e5e7eb)}.bd-walk p{margin:4px 0}.bd-wn{flex:1;min-width:120px}

/* ---- /static/sp1461/inl-bad6d8ab3c50f960.css?v=bad6d8ab3c50f960 ---- */
#ccTest{position:fixed;left:0;right:0;top:0;z-index:2147483000;display:flex;gap:10px;align-items:center;justify-content:center;padding:calc(env(safe-area-inset-top) + 3px) 10px 3px;min-height:24px;font:600 13px/18px Inter,system-ui,sans-serif;color:#3b2f7a;background:repeating-linear-gradient(135deg,#ece8ff 0 14px,#e2dcff 14px 28px);box-shadow:0 1px 3px rgba(60,40,140,.15)}#ccTest b{background:#6d5bd0;color:#fff;border-radius:4px;padding:0 6px;letter-spacing:.08em}#ccTest a{color:#3b2f7a;text-decoration:underline;font-weight:700;white-space:nowrap}html{--cct-h:calc(env(safe-area-inset-top) + 30px)} body{padding-top:var(--cct-h)!important}.sidebar{top:var(--cct-h)!important;height:calc(100% - var(--cct-h))!important} .topbar{top:var(--cct-h)!important}@media (max-width:420px){#ccTest .cct-t{display:none}#ccTest:after{content:"Not Live · Nothing Sends";opacity:.95}}
/* ---- /static/sesscal.css?v=9 ---- */
/* sesscal.css - Sessions · Calendar view (Tamra's approved mockups A Day / B Week / C Month, 2026-10-08). Command Center tokens only (style.css).
   V10.8.63+ colors: mode is the base (online = --info blue, in person = --violet), status rides on top (Live now = --success green ring + pulse,
   problem = amber/red edge, completed = lighter + gray check, cancelled = stripes + strike). */
.ph.cv-ph-host{position:relative}
.ph.cv-ph-host>.cv-sw{position:absolute;top:0;right:0}
.ph.cv-ph-host>.toolbar{margin-top:48px}
/* V10.8.1548 (Tamra 2026-10-26): the page title (.ph-t) is hidden by the design system (ccds.css) and the List filter bar is hidden while the Calendar shows,
   so the header had NO height and the absolutely-positioned List | Calendar switch hung down over the calendar card / day panel.
   The switch now sits IN the flow on its own right-aligned row (all widths); the List filter bar goes on the row below it. */
html .ph.cv-ph-host{display:flex;flex-direction:column;align-items:flex-end;justify-content:flex-start;flex-wrap:nowrap;gap:10px;height:auto!important;min-height:0!important;margin-bottom:14px}
html .ph.cv-ph-host>.cv-sw{position:static!important;order:-1;margin:0!important;max-width:100%;flex:0 0 auto}
html .ph.cv-ph-host>.toolbar{margin-top:0!important;max-width:100%}
html .ph.cv-ph-host>.toolbar.cv-hide{display:none!important}
.cv-seg{display:inline-flex;gap:2px;background:var(--surface-2);border:1px solid var(--border);padding:3px;border-radius:12px;flex:0 0 auto}
.cv-seg button{font:inherit;font-size:13px;font-weight:600;border:0;background:transparent;color:var(--muted);padding:6px 13px;border-radius:9px;display:inline-flex;align-items:center;gap:6px;cursor:pointer;box-shadow:none;min-width:0;line-height:1.3}
.cv-seg button:hover{background:transparent;color:var(--text)}
.cv-seg button .i{width:15px;height:15px}
.cv-seg button.on{background:var(--surface);color:var(--text);box-shadow:var(--sh-sm),0 0 0 1px var(--border)}
.cv-sw button{padding:7px 14px}
.cv-hide{display:none!important}
#scal{--cv-hr:80px;margin-bottom:16px}
#scal.has-panel{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:16px;align-items:start}
#scal *{box-sizing:border-box}
.cv-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--sh-sm);min-width:0;overflow:hidden}
.cv-tb{display:flex;align-items:center;gap:8px;padding:12px 14px;border-bottom:1px solid var(--border);flex-wrap:wrap}
.cv-tb .sp{flex:1}
.cv-btn{font:inherit;font-size:13px;font-weight:600;height:32px;padding:0 13px;border-radius:9px;border:1px solid var(--border-strong);background:var(--surface);color:var(--text);display:inline-flex;align-items:center;justify-content:center;gap:6px;white-space:nowrap;box-shadow:var(--sh-xs);cursor:pointer}
.cv-btn:hover{background:var(--surface-2)}
.cv-btn.ic{width:32px;padding:0;color:var(--text-2)}
.cv-btn .flip{transform:rotate(180deg)}
.cv-btn.pri{background:var(--primary);border-color:var(--primary);color:#fff;box-shadow:0 1px 2px rgba(87,83,216,.3),inset 0 1px 0 rgba(255,255,255,.15)}
.cv-btn.pri:hover{background:var(--primary-h)}
.cv-when{position:relative;font:inherit;font-size:16px;font-weight:660;letter-spacing:-.01em;margin-left:4px;white-space:nowrap;background:transparent;border:0;color:var(--text);padding:4px 6px;border-radius:8px;box-shadow:none;cursor:pointer;display:inline-flex;align-items:baseline;gap:8px}
.cv-when:hover{background:var(--surface-2)}
.cv-when small{font-size:12.5px;font-weight:550;color:var(--muted)}
.cv-when small .iss{color:var(--warning-t);font-weight:650}
.cv-when input[type=date]{position:absolute;left:0;bottom:0;width:100%;height:100%;opacity:0;pointer-events:none;min-width:0!important;padding:0;border:0}
.cv-filters{display:flex;align-items:center;gap:8px}
.cv-mleg{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:var(--text-2);white-space:nowrap}
.cv-mleg>span{display:inline-flex;align-items:center;gap:5px;padding:3px 9px 3px 7px;border-radius:999px;border:1px solid color-mix(in srgb,var(--mc) 30%,var(--border));background:var(--ms)}
.cv-mleg .on{--mc:var(--info);--ms:var(--info-soft);--mt:var(--info-t)}.cv-mleg .ip{--mc:var(--violet);--ms:var(--violet-soft);--mt:var(--violet-t)}
.cv-mleg .i{width:13px;height:13px;color:var(--mc)}.cv-mleg b{color:var(--mt);font-weight:700}
.cv-filters select{height:32px;min-height:32px;padding:0 28px 0 11px;font-size:13px;border-radius:9px;min-width:0!important;width:auto}
.cv-filters .search-in input{height:32px;min-height:32px;font-size:13px;border-radius:9px;min-width:0!important;width:190px}
.cv-sum{display:flex;align-items:center;gap:8px;padding:10px 14px;border-bottom:1px solid var(--border);flex-wrap:wrap;min-height:47px}
.cv-chip{display:inline-flex;align-items:center;gap:6px;font:inherit;font-size:12.5px;font-weight:600;color:var(--text-2);padding:3px 10px;border-radius:999px;background:var(--surface-2);border:1px solid transparent;line-height:1.5;box-shadow:none;white-space:nowrap}
.cv-chip .d{width:7px;height:7px;border-radius:7px;display:inline-block}
.cv-chip.lv{background:var(--success-soft);color:var(--success-t)}
.cv-chip .i{width:13px;height:13px}
button.cv-chip{cursor:pointer}button.cv-chip:hover{background:var(--surface-3)}
.cv-chip.warn{background:var(--warning-soft);color:var(--warning-t)}
button.cv-chip.warn:hover{background:var(--warning-soft);border-color:color-mix(in srgb,var(--warning) 35%,transparent)}
.cv-chip.warn.on{border-color:var(--warning);box-shadow:0 0 0 3px color-mix(in srgb,var(--warning) 16%,transparent)}
.cv-chip.clr{background:transparent;color:var(--muted);padding:3px 6px}
.cv-legend{display:flex;gap:14px;margin-left:auto;font-size:12px;color:var(--muted);flex-wrap:wrap}
.cv-legend span{display:inline-flex;align-items:center;gap:5px;white-space:nowrap}
.cv-legend i{width:10px;height:10px;border-radius:3px;display:inline-block}
.lg-live{background:var(--success);border-radius:10px!important;box-shadow:0 0 0 2px color-mix(in srgb,var(--success) 22%,transparent)}.lg-up{background:var(--surface);border:1.5px solid var(--text-2);border-radius:10px!important}
.cv-legend i.lg-done{background:transparent;color:var(--muted);display:inline-flex;align-items:center;justify-content:center;width:12px}.lg-done .i{width:12px;height:12px;stroke-width:2.6}
.lg-prob{background:transparent;border:2px solid var(--warning)}
.lg-cx{background:repeating-linear-gradient(45deg,var(--border-strong) 0 2px,var(--surface-3) 2px 4px)}
.cv-body{position:relative;min-height:220px}
.cv-load{display:flex;align-items:center;justify-content:center;height:320px;color:var(--muted);font-size:13px;gap:8px}
.cv-load:before{content:"";width:16px;height:16px;border-radius:50%;border:2px solid var(--border-strong);border-top-color:var(--primary);animation:cvspin .8s linear infinite}
@keyframes cvspin{to{transform:rotate(360deg)}}
.cv-empty{padding:30px 10px}
/* ---- mode = base color (online blue / in person violet) ---- */
.cv-m-on{--mc:var(--info);--ms:var(--info-soft);--mt:var(--info-t)}
.cv-m-ip{--mc:var(--violet);--ms:var(--violet-soft);--mt:var(--violet-t)}
.cv-blk,.cv-mini,.cv-mc{background:var(--ms);color:var(--text);border-color:color-mix(in srgb,var(--mc) 30%,var(--border))!important}
.cv-blk:before,.cv-mini:before,.cv-mc:before{background:var(--mc)}
.cv-blk .mo,.cv-mc .mo{color:var(--mt);font-weight:600}.cv-blk .mo .i,.cv-mini>.i,.cv-mc .mo .i{color:var(--mc);opacity:1}
.cv-blk .st{background:var(--surface);border:1.5px solid var(--mc)}
/* ---- status on top ---- */
.cv-s-soon .st{background:var(--mc);border-color:var(--mc)}
.cv-s-chk .st{background:var(--mc);border-color:var(--mc);opacity:.6}
.cv-s-done{background:color-mix(in srgb,var(--ms) 72%,var(--surface))}.cv-s-done:before{opacity:.8}
.cv-s-done .nm,.cv-s-done .fn{color:var(--text-2)}
.cv-blk .okc{position:absolute;top:4px;right:5px;color:var(--muted);display:flex}.cv-blk .okc .i{width:13px;height:13px;stroke-width:2.6}
.cv-mini.cv-s-done:not(.cv-p-amber):not(.cv-p-red):after{content:"✓";margin-left:auto;font-weight:800;color:var(--muted);padding-left:3px}
.cv-s-live{border:1.5px solid var(--success)!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--success) 18%,transparent)}
.cv-s-live .st{background:var(--success);border-color:var(--success);box-shadow:0 0 0 3px color-mix(in srgb,var(--success) 25%,transparent);animation:cvpulse 1.6s infinite}
@keyframes cvpulse{50%{box-shadow:0 0 0 5px color-mix(in srgb,var(--success) 8%,transparent)}}
.lvt{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:700;color:var(--success-t);background:var(--success-soft);border-radius:999px;padding:1px 8px 1px 7px;white-space:nowrap;line-height:1.5}
.lvt i{width:6px;height:6px;border-radius:6px;background:var(--success);animation:cvpulse 1.6s infinite}
.cv-blk .lvt{margin-top:3px}
.cv-s-late{border:1.5px solid var(--warning)!important}.cv-s-late .st{background:var(--warning);border-color:var(--warning)}
.cv-s-ns{border:1.5px solid var(--danger)!important}.cv-s-ns .st{background:var(--danger);border-color:var(--danger)}
.cv-s-cx{background:repeating-linear-gradient(135deg,color-mix(in srgb,var(--ms) 60%,var(--surface)) 0 6px,var(--surface-2) 6px 12px)!important;color:var(--muted);border-color:var(--border)!important;box-shadow:none}
.cv-s-cx:before{opacity:.4}.cv-s-cx .st{background:var(--faint);border-color:var(--faint)}.cv-s-cx .mo{opacity:.7}
.cv-s-cx .nm,.cv-s-cx .fn{text-decoration:line-through;font-weight:560}
/* problem edge: amber (medium / late) or red (high / no-show) */
.cv-p-amber{--pe:var(--warning)}.cv-p-red{--pe:var(--danger)}
.cv-blk.cv-p-amber,.cv-blk.cv-p-red{border:1.5px solid var(--pe)!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--pe) 14%,transparent)}
.cv-blk.cv-p-amber:before,.cv-blk.cv-p-red:before{background:var(--pe)!important;width:5px!important}
.cv-blk.cv-p-amber .st,.cv-blk.cv-p-red .st{display:none}
.cv-blk .warnic{position:absolute;top:4px;right:5px;color:var(--pe);display:flex}
.cv-blk .warnic .i{width:14px;height:14px}
.cv-sel{outline:2px solid var(--primary);outline-offset:2px}
/* ---- A: day by tutor ---- */
.cv-x{overflow-x:auto;scrollbar-width:thin}
.cv-day{display:grid;grid-template-columns:62px repeat(var(--cols),minmax(176px,1fr));min-width:100%}   /* V10.8.1548 fix1548: 128px -> 176px; JS widens a column further when sessions overlap in it */
.cv-dh{padding:10px;border-bottom:1px solid var(--border);border-left:1px solid var(--border);display:flex;align-items:center;gap:8px;min-width:0;background:var(--surface)}
.cv-dh.g{border-left:0}
.cv-dh .tn{min-width:0;line-height:1.25}
.cv-dh .tn b{display:block;font-size:12.5px;font-weight:620;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--text)}
.cv-dh .tn small{font-size:11.5px;color:var(--muted)}
.cv-gut{position:relative}
.cv-gut span{position:absolute;right:8px;font-size:11px;font-weight:550;color:var(--faint);transform:translateY(-50%);white-space:nowrap}
.cv-gut span:first-child{transform:none;top:3px!important}
.cv-col{position:relative;border-left:1px solid var(--border);
  background-image:linear-gradient(to bottom,var(--border) 1px,transparent 1px),linear-gradient(to bottom,color-mix(in srgb,var(--border) 55%,transparent) 1px,transparent 1px);
  background-size:100% var(--cv-hr),100% calc(var(--cv-hr) / 2)}
.cv-blk{position:absolute;z-index:3;border-radius:9px;padding:5px 8px 5px 10px;overflow:hidden;font:inherit;font-size:12px;line-height:1.3;border:1px solid transparent;cursor:pointer;text-align:left;display:block;box-shadow:none;transition:transform .12s var(--ease),box-shadow .15s}
.cv-blk:hover{transform:translateY(-1px);box-shadow:var(--sh-md)}
.cv-blk:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px}
.cv-blk .nm{font-weight:640;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;padding-right:14px}
.cv-blk .mt{display:flex;align-items:center;gap:4px;color:var(--muted);font-size:11.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cv-blk .mt .i{width:12px;height:12px;flex:none}
.cv-blk .st{position:absolute;top:6px;right:7px;width:7px;height:7px;border-radius:7px}
.cv-blk.tiny{padding-top:2px;padding-bottom:2px}.cv-blk.tiny .mt{display:none}
.cv-now{position:absolute;left:56px;right:0;height:0;border-top:2px solid var(--danger);z-index:4;pointer-events:none}
.cv-now:before{content:"";position:absolute;left:-5px;top:-6px;width:10px;height:10px;border-radius:10px;background:var(--danger)}
.cv-now b{position:absolute;left:-54px;top:-10px;font-size:10.5px;font-weight:700;color:#fff;background:var(--danger);padding:1px 5px;border-radius:6px;white-space:nowrap;line-height:1.5}
.cv-dbody{position:relative;display:contents}
/* ---- B: week ---- */
.cv-wk{display:grid;grid-template-columns:56px repeat(7,minmax(0,1fr))}
.cv-wh{padding:10px 10px 9px;border-left:1px solid var(--border);border-bottom:1px solid var(--border);line-height:1.25;min-width:0;cursor:pointer;background:transparent;font:inherit;text-align:left;border-top:0;border-right:0;border-radius:0;box-shadow:none;color:inherit;display:block}
.cv-wh:hover{background:var(--surface-2)}
.cv-wh.g{border-left:0;cursor:default}.cv-wh.g:hover{background:transparent}
.cv-wh .dn{display:flex;align-items:baseline;gap:6px;font-size:12px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}
.cv-wh .dn b{font-size:20px;letter-spacing:-.02em;color:var(--text);text-transform:none;font-weight:680}
.cv-wh .cnt{display:block;font-size:11.5px;color:var(--muted);margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cv-wh .cnt .iss{color:var(--warning-t);font-weight:650}
.cv-wh.today{background:linear-gradient(var(--primary-soft),color-mix(in srgb,var(--primary-soft) 40%,transparent))}
.cv-wh.today .dn{color:var(--primary-text)}
.cv-wh.today .dn b{color:#fff;background:var(--primary);border-radius:8px;padding:0 7px}
.cv-wh.wknd,.cv-wc.wknd{background:color-mix(in srgb,var(--surface-2) 55%,transparent)}
.cv-wc{border-left:1px solid var(--border);border-top:1px solid var(--border);padding:5px;display:flex;flex-direction:column;gap:3px;min-width:0;min-height:44px}
.cv-wc.today{background:color-mix(in srgb,var(--primary-soft) 40%,transparent)}
.cv-wg{font-size:11px;font-weight:550;color:var(--faint);padding:6px 8px 0 0;text-align:right;border-top:1px solid var(--border);white-space:nowrap}
.cv-mini{position:relative;display:flex;align-items:center;gap:5px;height:22px;padding:0 7px 0 9px;border-radius:6px;font:inherit;font-size:11.5px;line-height:1;white-space:nowrap;overflow:hidden;border:1px solid transparent;cursor:pointer;width:100%;text-align:left;box-shadow:none;min-width:0}
.cv-mini:hover{filter:brightness(.97)}
.cv-mini:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px}
.cv-mini .tm{font-weight:650;font-variant-numeric:tabular-nums;opacity:.75;flex:none}
.cv-mini .fn{overflow:hidden;text-overflow:ellipsis;font-weight:560;min-width:0}
.cv-mini .i{width:11px;height:11px;flex-shrink:0;opacity:.7}
.cv-mini.cv-p-amber,.cv-mini.cv-p-red{border:1.5px solid var(--pe)!important}
.cv-mini.cv-p-amber:before,.cv-mini.cv-p-red:before{background:var(--pe)!important}
.cv-mini.cv-p-amber:after,.cv-mini.cv-p-red:after{content:"!";margin-left:auto;font-weight:800;color:var(--pe);padding-left:3px}
.cv-more{font:inherit;font-size:11.5px;font-weight:600;color:var(--primary-text);padding:2px 8px;background:transparent;border:0;box-shadow:none;cursor:pointer;text-align:left;justify-content:flex-start}
.cv-more:hover{background:var(--primary-soft);border-radius:6px}
/* ---- C: month ---- */
.cv-mg{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}
.cv-dow{padding:9px 10px;font-size:11.5px;font-weight:650;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;border-bottom:1px solid var(--border)}
.cv-md{height:104px;border:0;border-left:1px solid var(--border);border-top:1px solid var(--border);border-radius:0;padding:8px 10px;position:relative;display:flex;flex-direction:column;gap:6px;background:transparent;font:inherit;color:inherit;text-align:left;box-shadow:none;cursor:pointer;min-width:0;align-items:stretch;justify-content:flex-start}
.cv-md:hover{background:var(--surface-2)}
.cv-md.c0{border-left:0}
.cv-md:nth-child(-n+14){border-top:0}
.cv-md .dt{font-size:13px;font-weight:620;color:var(--text-2);display:flex;align-items:center;gap:6px}
.cv-md.out .dt{color:var(--faint);font-weight:500}
.cv-md.out{background:color-mix(in srgb,var(--surface-2) 50%,transparent)}
.cv-md .c{font-size:12px;color:var(--muted);font-weight:550;margin-top:auto;display:flex;align-items:center;gap:6px;white-space:nowrap}
.cv-md .c b{font-size:18px;font-weight:680;color:var(--text);letter-spacing:-.02em}
.cv-md .c.none{color:var(--faint)}
.cv-md .bar{height:4px;border-radius:4px;background:var(--surface-3);overflow:hidden}
.cv-md .bar .fill{display:flex;gap:2px;height:100%;width:var(--w,100%)}
.cv-md .bar i{display:block;height:100%;border-radius:4px;min-width:3px}
.cv-md .bar i.on{background:var(--info)}.cv-md .bar i.ip{background:var(--violet)}
.cv-md .bar.past i{opacity:.55}
.cv-md .mx{margin-left:auto;display:inline-flex;gap:7px}
.cv-md .mx em{font-style:normal;display:inline-flex;align-items:center;gap:2px;font-size:11.5px;font-weight:650}
.cv-md .mx em .i{width:11px;height:11px}
.cv-md .mx em.on{color:var(--info-t)}.cv-md .mx em.ip{color:var(--violet-t)}
.cv-md .bdg{position:absolute;top:8px;right:8px;display:inline-flex;align-items:center;gap:3px;font-size:11px;font-weight:700;padding:1px 7px;border-radius:999px;background:var(--warning-soft);color:var(--warning-t)}
.cv-md .bdg.red{background:var(--danger-soft);color:var(--danger-t)}
.cv-md .bdg .i{width:11px;height:11px}
.cv-md.today .dt span{background:var(--primary);color:#fff;border-radius:999px;padding:0 7px}
.cv-md.on{background:var(--primary-soft);box-shadow:inset 0 0 0 2px var(--primary)}
.cv-panel{position:sticky;top:calc(var(--tb-h,60px) + var(--cct-h,0px) + 12px)}
.cv-ph{padding:16px 16px 12px;border-bottom:1px solid var(--border)}
.cv-ph h3{margin:0;font-size:17px;font-weight:680;letter-spacing:-.015em}
.cv-ph .sums{display:flex;gap:6px;margin-top:8px;flex-wrap:wrap}
.cv-ag{padding:6px 8px}
.cv-ag.scroll{max-height:440px;overflow:auto;scrollbar-width:thin}
.cv-agr{display:grid;grid-template-columns:56px minmax(0,1fr) auto;gap:10px;align-items:center;padding:7px 8px;border-radius:10px;position:relative;width:100%;background:transparent;border:0;font:inherit;color:inherit;text-align:left;box-shadow:none;cursor:pointer}
.cv-agr:hover{background:var(--surface-2)}
.cv-agr+.cv-agr{border-top:1px solid var(--border);border-radius:0 10px 10px 0}
.cv-agr .tm{font-size:12px;font-weight:650;color:var(--text-2);font-variant-numeric:tabular-nums;line-height:1.2}
.cv-agr .tm small{display:block;font-weight:500;color:var(--faint);font-size:11px}
.cv-agr .w{min-width:0;line-height:1.3}
.cv-agr .w b{display:block;font-size:13px;font-weight:620;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cv-agr .w span{display:flex;align-items:center;gap:4px;font-size:11.5px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cv-agr .w span .i{width:12px;height:12px;flex:none}
.cv-agr{box-shadow:inset 3px 0 0 var(--mc)}
.cv-agr .mo,.cv-agr .w .mo{font-style:normal;display:inline-flex;align-items:center;gap:4px;color:var(--mt);font-weight:600}.cv-agr .mo .i{color:var(--mc)}
.cv-agr .dk{color:var(--muted);display:flex}.cv-agr .dk .i{width:15px;height:15px;stroke-width:2.6}
.cv-agr.lv{background:color-mix(in srgb,var(--success) 7%,var(--surface))}
.cv-agr .w .pl{color:var(--pe);font-weight:650}
.cv-agr .d{width:9px;height:9px;border-radius:9px}
.cv-agr.cv-p-amber,.cv-agr.cv-p-red{background:color-mix(in srgb,var(--pe) 11%,var(--surface));box-shadow:inset 4px 0 0 var(--pe);border-radius:10px}
.cv-agr.cx .w b{text-decoration:line-through;color:var(--muted);font-weight:560}
.d-done{background:var(--faint)}.d-live{background:var(--success);box-shadow:0 0 0 3px color-mix(in srgb,var(--success) 22%,transparent)}.d-up{border:2px solid var(--mc,var(--info));background:var(--surface)}
.d-cx{background:var(--faint)}.d-soon{background:var(--mc,var(--violet))}.d-chk{background:var(--mc,var(--info));opacity:.6}.d-late{background:var(--warning)}.d-ns{background:var(--danger)}.d-warn{background:var(--pe,var(--warning))}
.cv-pf{padding:12px 16px 16px;border-top:1px solid var(--border);display:flex}
.cv-pf .cv-btn{flex:1;height:38px}
/* ---- popover / phone sheet ---- */
.cv-pop{position:absolute;z-index:60;width:320px;background:var(--surface);border:1px solid var(--border);border-radius:14px;box-shadow:var(--sh-lg);padding:14px 16px;color:var(--text);font-size:13px;animation:cvin .14s var(--ease)}
@keyframes cvin{from{opacity:0;transform:translateY(4px) scale(.98)}}
.cv-pop-h{display:flex;align-items:flex-start;gap:10px}
.cv-pop-h .ic{width:32px;height:32px;border-radius:10px;background:var(--ms,var(--info-soft));color:var(--mc,var(--info-t));display:flex;align-items:center;justify-content:center;flex:none}
.cv-pop-h .mtag{display:inline-block;font-size:10.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--mt);margin-bottom:1px}
.cv-kv .mo{color:var(--mt);font-weight:600}
.cv-pop-h h4{margin:0;font-size:15px;font-weight:680;letter-spacing:-.01em;line-height:1.3;word-break:break-word}
.cv-pop-h small{display:block;font-size:12px;color:var(--muted);font-weight:500}
.cv-pop-h .x{margin-left:auto;background:transparent;border:0;box-shadow:none;color:var(--faint);padding:4px;border-radius:8px;cursor:pointer}
.cv-pop-h .x:hover{background:var(--surface-2);color:var(--text)}
.cv-alert{display:flex;gap:8px;align-items:center;margin:12px 0 2px;padding:8px 10px;border-radius:10px;background:var(--warning-soft);color:var(--warning-t);font-size:12.5px;font-weight:600}
.cv-alert.red{background:var(--danger-soft);color:var(--danger-t)}
.cv-alert .i{width:15px;height:15px}
.cv-kv{margin:10px 0 0;display:grid;grid-template-columns:22px minmax(0,1fr);row-gap:8px;align-items:center}
.cv-kv>.i{color:var(--faint);width:15px;height:15px}
.cv-kv>div{display:flex;align-items:center;gap:6px;flex-wrap:wrap;min-width:0}
.cv-kv em{font-style:normal;color:var(--muted)}
.cv-pop .spill,.cv-pop .jchip{font-size:11.5px}
.cv-pop-f{margin-top:14px}
.cv-pop-f .cv-btn{width:100%;height:38px}
.cv-sheet-bg{position:fixed;inset:0;z-index:2147482000;background:rgba(10,10,20,.35);animation:cvfade .15s}
@keyframes cvfade{from{opacity:0}}
.cv-pop.sheet{position:fixed;left:0;right:0;bottom:0;top:auto;width:auto;border-radius:20px 20px 0 0;padding:16px 18px calc(18px + env(safe-area-inset-bottom,0px));z-index:2147482001;animation:cvup .2s var(--ease);font-size:14px}
.cv-pop.sheet:before{content:"";display:block;width:40px;height:4px;border-radius:4px;background:var(--border-strong);margin:-6px auto 12px}
@keyframes cvup{from{transform:translateY(30px);opacity:.4}}
.cv-pop.sheet .cv-pop-f .cv-btn{height:46px;font-size:15px;border-radius:12px}
/* ---- phone ---- */
.cv-m-tl{padding:12px 12px 4px}
.cv-tlg{display:grid;grid-template-columns:50px minmax(0,1fr);gap:10px;margin-bottom:12px}
.cv-tlg .tt{font-size:12px;font-weight:650;color:var(--text-2);padding-top:12px;text-align:right;font-variant-numeric:tabular-nums}
.cv-tlg .tt small{display:block;font-weight:500;color:var(--faint);font-size:10.5px}
.cv-tlg .cards{display:flex;flex-direction:column;gap:7px;position:relative;min-width:0}
.cv-tlg .cards:before{content:"";position:absolute;left:-6px;top:4px;bottom:-12px;width:2px;background:var(--surface-3);border-radius:2px}
.cv-mc{position:relative;border:1px solid var(--border);border-radius:13px;padding:10px 12px 10px 14px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 8px;align-items:center;box-shadow:var(--sh-xs);overflow:hidden;font:inherit;text-align:left;width:100%;cursor:pointer;color:var(--text)}
.cv-mc:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px}
.cv-mc.cv-s-done{background:color-mix(in srgb,var(--ms) 45%,var(--surface))}
.cv-mc b{font-size:14px;font-weight:640;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.cv-mc .mt{grid-column:1;display:block;font-size:12px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.cv-mc .mt .i{width:13px;height:13px;vertical-align:-2px;margin-right:3px}
.cv-mc .rt{grid-row:1/3;grid-column:2;display:flex;align-items:center}
.cv-mc .rt .okic{color:var(--muted);display:flex}.cv-mc .rt .okic .i{width:17px;height:17px;stroke-width:2.6}
.cv-mc .mt .mo{font-style:normal}.cv-mc.cv-s-live{border-width:1.5px}
.cv-mc .rt .spill{font-size:11px;padding:2px 8px}
.cv-mc.cv-s-cx b{text-decoration:line-through;font-weight:560;color:var(--muted)}
.cv-mc.cv-p-amber,.cv-mc.cv-p-red{border:1.5px solid var(--pe)!important;background:color-mix(in srgb,var(--pe) 7%,var(--surface));box-shadow:0 0 0 3px color-mix(in srgb,var(--pe) 12%,transparent)}
.cv-mc.cv-p-amber:before,.cv-mc.cv-p-red:before{background:var(--pe)}
.cv-mc .why{grid-column:1/3;display:flex;align-items:center;gap:5px;font-size:12px;font-weight:600;color:var(--pe);margin-top:4px}
.cv-mc .why .i{width:13px;height:13px}
.cv-mnow{display:grid;grid-template-columns:50px 1fr;gap:10px;align-items:center;margin:0 0 12px}
.cv-mnow span{font-size:10.5px;font-weight:700;color:#fff;background:var(--danger);border-radius:6px;padding:1px 5px;justify-self:end}
.cv-mnow i{height:2px;background:var(--danger);border-radius:2px;position:relative}
.cv-mnow i:before{content:"";position:absolute;left:-5px;top:-4px;width:10px;height:10px;border-radius:10px;background:var(--danger)}
.cv-strip{display:flex;gap:8px;overflow-x:auto;padding:12px 12px 6px;scroll-snap-type:x mandatory;scrollbar-width:none}
.cv-strip::-webkit-scrollbar{display:none}
.cv-dchip{flex:0 0 58px;scroll-snap-align:start;border:1px solid var(--border);border-radius:14px;background:var(--surface);text-align:center;padding:8px 0;line-height:1.2;font:inherit;color:var(--text);box-shadow:none;display:block;cursor:pointer}
.cv-dchip small{display:block;font-size:11px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}
.cv-dchip b{display:block;font-size:19px;font-weight:700;letter-spacing:-.02em;margin:2px 0 3px}
.cv-dchip em{font-style:normal;font-size:11px;font-weight:650;color:var(--muted);display:inline-flex;align-items:center;gap:3px}
.cv-dchip em i{width:6px;height:6px;border-radius:6px;background:var(--warning);display:inline-block}
.cv-dchip.past{background:var(--surface-2)}
.cv-dchip.today b{color:var(--primary-text)}
.cv-dchip.on{background:var(--primary);border-color:var(--primary);color:#fff;box-shadow:0 6px 16px -6px rgba(87,83,216,.6)}
.cv-dchip.on small,.cv-dchip.on em,.cv-dchip.on b{color:#fff}.cv-dchip.on em i{background:#c4b8f5}
.cv-mdayh{display:flex;align-items:baseline;gap:8px;margin:6px 14px 8px;flex-wrap:wrap}
.cv-mdayh b{font-size:15.5px;font-weight:680}
.cv-mdayh span{font-size:12.5px;color:var(--muted)}
.cv-mdayh .iss{color:var(--warning-t);font-weight:650}
.cv-mlist{margin:0 10px 12px;border:1px solid var(--border);border-radius:14px;padding:4px 6px}
.cv-mlist .cv-agr{grid-template-columns:52px minmax(0,1fr) auto;padding:9px 8px}
.cv-mlist .cv-agr .w b{font-size:13.5px}
.cv-mm{padding:10px 8px 8px}
.cv-mm-g{display:grid;grid-template-columns:repeat(7,1fr);row-gap:2px;text-align:center}
.cv-mm-g .dw{font-size:10.5px;font-weight:650;color:var(--faint);padding:2px 0 6px}
.cv-mm-d{height:46px;border-radius:11px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font:inherit;font-size:14px;font-weight:600;color:var(--text-2);position:relative;background:transparent;border:0;box-shadow:none;padding:0;cursor:pointer;min-width:0}
.cv-mm-d small{font-size:9.5px;font-weight:650;color:var(--faint);line-height:1;min-height:9.5px}
.cv-mm-d.out{color:var(--faint);opacity:.6}
.cv-mm-d .wd{position:absolute;top:5px;right:7px;width:6px;height:6px;border-radius:6px;background:var(--warning)}
.cv-mm-d .mb{display:flex;gap:1px;width:20px;height:3px;border-radius:3px;overflow:hidden}.cv-mm-d .mb i{display:block;height:100%}
.cv-mm-d .mb .on{background:var(--info)}.cv-mm-d .mb .ip{background:var(--violet)}.cv-mm-d.on .mb{outline:1px solid rgba(255,255,255,.7)}
.cv-mm-d.today{color:var(--primary-text)}
.cv-mm-d.on{background:var(--primary);color:#fff;box-shadow:0 6px 16px -6px rgba(87,83,216,.6)}
.cv-mm-d.on small{color:rgba(255,255,255,.85)}.cv-mm-d.on .wd{background:#c4b8f5}
.cv-mcta{padding:0 10px 12px}.cv-mcta .cv-btn{width:100%;height:44px;font-size:14px;border-radius:12px}
@media (max-width:1180px){#scal.has-panel{grid-template-columns:minmax(0,1fr) 320px}.cv-legend{display:none}}
@media (max-width:860px){
  #scal.has-panel{display:block}
  .cv-tb{padding:10px 10px 8px;gap:8px}
  .cv-tb .cv-nav{order:1}.cv-tb .cv-when{order:2;flex:1;justify-content:center;font-size:16px;margin:0}.cv-tb .cv-next{order:3}
  .cv-tb .cv-today{order:4}.cv-tb .sp{display:none}
  .cv-tb .cv-views{order:5;width:100%;display:flex}.cv-tb .cv-views button{flex:1;justify-content:center}
  .cv-tb .cv-mleg{order:6;width:100%;justify-content:center;font-size:11.5px}
  .cv-tb .cv-filters{order:7;width:100%;overflow-x:auto;scrollbar-width:none;padding-bottom:2px}
  .cv-tb .cv-filters::-webkit-scrollbar{display:none}
  .cv-filters select{flex:0 0 auto}.cv-filters .search-in{flex:1 0 150px!important}.cv-filters .search-in input{width:100%}
  .cv-when small{display:none}
  .cv-sum{padding:8px 12px;min-height:0}
  .cv-legend{display:none}
  .cv-md{height:auto}
  .ph.cv-ph-host .ph-t h1{padding-right:190px}
  .ph.cv-ph-host>.toolbar{margin-top:0}
  html .ph.cv-ph-host>.toolbar{align-self:stretch}
  .ph.cv-ph-host>.cv-sw button{padding:6px 11px;font-size:12.5px}
}
.cv-x{position:relative}
.cv-now{left:58px}
#scal.cv-busy .cv-body,#scal.cv-busy .cv-side{opacity:.55;transition:opacity .15s;pointer-events:none}
.cv-blk.short{padding-top:3px;padding-bottom:3px}.cv-blk.short .st{top:5px}
.cv-wg.gap{font-size:10.5px;padding:3px 8px 3px 0;color:var(--faint)}
.cv-wc.gap{min-height:22px;padding:0;background-image:repeating-linear-gradient(135deg,transparent 0 6px,color-mix(in srgb,var(--border) 45%,transparent) 6px 7px)}
.cv-wt small{margin-left:10px}
@media (max-width:860px){
  .cv-tb .cv-filters{flex-wrap:wrap;overflow:visible}
  .cv-filters select{flex:1 1 0!important;min-width:0}
  .cv-filters .search-in{flex:1 1 100%!important}
}
.cv-blk.short .mt.mo{display:none}
.cv-blk.cv-p-amber,.cv-blk.cv-p-red,.cv-mini.cv-p-amber,.cv-mini.cv-p-red,.cv-mc.cv-p-amber,.cv-mc.cv-p-red{border-color:var(--pe)!important}
@media (max-width:1180px) and (min-width:861px){.cv-mleg b{display:none}}
/* V10.8.1548 fix1548: at 861-1100px the 320px day panel squeezed the month grid (cells clipped); stack the panel under the grid instead */
@media (max-width:1100px) and (min-width:861px){#scal.has-panel{display:block}#scal.has-panel>.cv-side{margin-top:16px;position:static;max-height:none}}
.cv-mc.cv-p-amber,.cv-mc.cv-p-red{background:var(--ms)}
.cv-blk:before{width:4px}
/* problem = border + halo + icon; the left edge keeps the mode color so online / in person always reads */
.cv-blk.cv-p-amber:before,.cv-blk.cv-p-red:before,.cv-mini.cv-p-amber:before,.cv-mini.cv-p-red:before,.cv-mc.cv-p-amber:before,.cv-mc.cv-p-red:before{background:var(--mc)!important;width:4px!important}
.cv-blk.short .mt .i{color:var(--mc)}
.cv-md .c{overflow:hidden}.cv-md .mx{gap:6px}.cv-md .mx em{white-space:nowrap}
[data-theme=dark] .cv-m-on,[data-theme=dark] .cv-mleg .on{--ms:rgba(59,130,246,.2)}[data-theme=dark] .cv-m-ip,[data-theme=dark] .cv-mleg .ip{--ms:rgba(139,92,246,.24)}
#scal .spill.live:before,.cv-pop .spill.live:before{display:none}   /* sessPill already draws its own pulsing dot */
/* ---- V10.8.N (Tamra 2026-10-08): calendar fills the whole screen + calm hover/selected ---- */
/* 1) full width: lift the page's 1400px cap only while the Calendar is showing (List keeps the normal width) */
#view:has(> #scal:not(.cv-hide)){max-width:none}
#scal{width:100%}
#scal .cv-main{width:100%}
/* full height: Day grid height is sized in JS to the screen; long days scroll inside with the tutor row pinned */
.cv-xday{overflow:auto}
.cv-xday .cv-dh{position:sticky;top:0;z-index:6}
.cv-mg .cv-md{height:auto;min-height:104px}
.cv-wk .cv-wc{min-height:44px}
/* 2) hover / selected: a slightly darker tint of the block's own color + a soft ring; text stays dark and readable.
   (Blocks are <button>s, so the global button:hover would paint them solid primary blue: #scal wins over that.) */
.cv-blk,.cv-mini,.cv-mc{--rc:var(--mc)}
.cv-p-amber,.cv-p-red{--rc:var(--pe)}
.cv-s-live{--rc:var(--success)}
#scal .cv-blk:hover,#scal .cv-blk.cv-sel,#scal .cv-blk:focus-visible,
#scal .cv-mini:hover,#scal .cv-mini.cv-sel,#scal .cv-mini:focus-visible,
#scal .cv-mc:hover,#scal .cv-mc.cv-sel,#scal .cv-mc:focus-visible{
  background:color-mix(in srgb,var(--mc) 16%,var(--ms));color:var(--text);
  border-color:color-mix(in srgb,var(--rc) 60%,var(--border))!important;
  box-shadow:0 0 0 2px color-mix(in srgb,var(--rc) 32%,transparent),var(--sh-md);outline:none;filter:none}
#scal .cv-s-cx:hover,#scal .cv-s-cx.cv-sel{background:repeating-linear-gradient(135deg,color-mix(in srgb,var(--ms) 85%,var(--surface)) 0 6px,var(--surface-3) 6px 12px)!important}
#scal .cv-blk.cv-sel,#scal .cv-mini.cv-sel{background:color-mix(in srgb,var(--mc) 20%,var(--ms));box-shadow:0 0 0 2.5px color-mix(in srgb,var(--rc) 45%,transparent),var(--sh-md)}
#scal .cv-blk:hover .nm,#scal .cv-blk.cv-sel .nm,#scal .cv-mini:hover .fn,#scal .cv-mini.cv-sel .fn,#scal .cv-mc:hover b{color:var(--text)}
#scal .cv-blk:hover .mt,#scal .cv-blk.cv-sel .mt,#scal .cv-mc:hover .mt{color:var(--text-2)}
#scal .cv-blk:hover .mo,#scal .cv-blk.cv-sel .mo{color:var(--mt)}
#scal .cv-blk:hover .mt .i,#scal .cv-blk.cv-sel .mt .i{color:var(--mc)}
#scal .cv-blk:hover .st,#scal .cv-blk.cv-sel .st{border-color:var(--mc)}
.cv-sel{outline:none}
[data-theme=dark] #scal .cv-blk:hover,[data-theme=dark] #scal .cv-blk.cv-sel,[data-theme=dark] #scal .cv-mini:hover,[data-theme=dark] #scal .cv-mini.cv-sel,[data-theme=dark] #scal .cv-mc:hover{background:color-mix(in srgb,var(--mc) 32%,var(--surface))}
.cv-xwk{overflow:auto}
.cv-xwk .cv-wh{position:sticky;top:0;z-index:6;background-color:var(--surface)}
.cv-xwk .cv-wh.wknd{background:color-mix(in srgb,var(--surface-2) 55%,var(--surface))}
.cv-xwk .cv-wh.today{background:linear-gradient(var(--primary-soft),color-mix(in srgb,var(--primary-soft) 40%,var(--surface)))}

/* ---- /static/tutormatch.css?v=15 ---- */
/* tutormatch.css - Tutor gallery cards (V10.8.169 Tamra card design). Command Center tokens only. */
.tm .tm-head .tm-lead{margin:2px 0 10px;color:var(--text-2);font-size:13.5px}
.tm .tm-need{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.tm .tm-k{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-right:4px;min-width:62px}
.tm .tm-src{display:flex;gap:6px;align-items:flex-start;margin:10px 0 0;font-size:12.5px}.tm .tm-src .i{width:14px;height:14px;flex:none;margin-top:2px}
.tm-count{font-size:12.5px;font-weight:650;color:var(--muted);margin:4px 2px 10px}
.tm-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px;margin-bottom:16px}
.tm-card{position:relative;display:flex;flex-direction:column;gap:12px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:16px;padding-top:18px;box-shadow:var(--sh-sm);min-width:0;transition:box-shadow .15s,transform .15s;overflow:hidden}
.tm-card:hover{box-shadow:var(--sh-md);transform:translateY(-1px)}
.tm-card{--tc:var(--faint);--ts:var(--neutral-soft);--tt:var(--text-2)}
.tm-card.tmt-green{--tc:var(--success);--ts:var(--success-soft);--tt:var(--success-t)}
.tm-card.tmt-blue{--tc:var(--primary);--ts:var(--primary-soft);--tt:var(--primary-text)}
.tm-card.tmt-amber{--tc:#8b7cf6;--ts:#f3f0ff;--tt:#5b45b8}
.tm-card.tmt-red{--tc:var(--danger);--ts:var(--danger-soft);--tt:var(--danger-t)}
.tm-card.tmt-gray{--tc:var(--faint);--ts:var(--neutral-soft);--tt:var(--text-2)}
.tm-card.best{border-color:color-mix(in srgb,var(--success) 45%,var(--border));box-shadow:0 0 0 3px color-mix(in srgb,var(--success) 12%,transparent),var(--sh-sm);padding-top:40px}
.tm-best{position:absolute;top:10px;left:12px;display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:700;color:#fff;background:var(--success);border-radius:999px;padding:2px 9px 2px 7px;box-shadow:var(--sh-xs);z-index:2}
.tm-best .i{width:12px;height:12px}
.tm-card.off{background:color-mix(in srgb,var(--surface-2) 55%,var(--surface))}
.tm-card.off .tm-ph{filter:grayscale(.6);opacity:.8}
.tm-card::before{content:"";position:absolute;left:0;right:0;top:0;height:4px;border-radius:var(--r-lg) var(--r-lg) 0 0;background:var(--tc);opacity:.95;z-index:0}
.tm-card.off::before{opacity:.5}
.tm-hd{display:flex;align-items:center;gap:12px;min-width:0}
.tm-ph{width:64px;height:64px;border-radius:50%;overflow:hidden;flex:none;display:flex;align-items:center;justify-content:center;background:var(--surface-2);box-shadow:0 0 0 2px var(--surface),0 0 0 3.5px var(--tc)}
.tm-ph img{width:100%;height:100%;object-fit:cover;display:block}
.tm-ph .av{--s:64px!important;font-size:22px}
.tm-id{min-width:0;flex:1;display:flex;flex-direction:column;gap:2px}
.tm-nm{font-size:15.5px;font-weight:700;letter-spacing:-.01em;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tm-nm:hover{color:var(--primary-text);text-decoration:none}
.tm-area{font-size:12.5px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tm-score{flex:none;display:flex;flex-direction:column;align-items:center;justify-content:center;width:56px;height:56px;border-radius:14px;background:var(--ts);color:var(--tt);line-height:1;border:1px solid color-mix(in srgb,var(--tc) 28%,transparent)}
.tm-score b{font-size:22px;font-weight:760;letter-spacing:-.03em}.tm-score small{font-size:9.5px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;margin-top:3px;opacity:.9}
.tm-fit{display:flex;align-items:center;gap:8px;margin-top:-4px}
.tm-badge{display:inline-flex;align-items:center;font-size:12px;font-weight:700;padding:3px 10px;border-radius:999px;background:var(--ts);color:var(--tt)}
.tm-sec{display:flex;align-items:flex-start;gap:6px;min-width:0}
.tm-sec .tm-k{padding-top:5px;min-width:62px;flex:none}
.tm-chips{display:flex;flex-wrap:wrap;gap:5px;min-width:0}
.tm-chip{display:inline-flex;align-items:center;gap:4px;font:inherit;font-size:12px;font-weight:600;line-height:1.4;padding:2px 9px;border-radius:999px;background:var(--primary-soft);color:var(--primary-text);border:1px solid color-mix(in srgb,var(--primary) 18%,transparent);white-space:nowrap;box-shadow:none}
.tm-chip .i{width:12px;height:12px}
.tm-chip.hit{background:var(--success-soft);color:var(--success-t);border-color:color-mix(in srgb,var(--success) 30%,transparent)}
.tm-chip.warn{background:var(--warning-soft);color:var(--warning-t);border-color:color-mix(in srgb,var(--warning) 30%,transparent)}
.tm-chip.muted{background:transparent;color:var(--muted);border-style:dashed;border-color:var(--border)}
.tm-chip.need{background:var(--primary-soft);color:var(--primary-text);border-color:color-mix(in srgb,var(--primary) 25%,transparent);font-size:12.5px;padding:3px 10px}
button.tm-chip.more{cursor:pointer;background:transparent;color:var(--primary-text);border-style:dashed;border-color:color-mix(in srgb,var(--primary) 35%,var(--border))}button.tm-chip.more:hover{background:var(--primary-soft)}
.tm-line{display:flex;align-items:center;gap:6px;font-size:12.5px;font-weight:600;color:var(--text-2)}
.tm-line .i{width:15px;height:15px;flex:none;color:var(--muted)}
.tm-line.ok{color:var(--success-t)}.tm-line.ok .i{color:var(--success)}
.tm-line.warn{color:var(--warning-t)}.tm-line.warn .i{color:var(--warning)}
.tm-line.bad{color:var(--danger-t)}.tm-line.bad .i{color:var(--danger)}
.tm-why{display:flex;flex-direction:column;gap:3px;font-size:12.5px}
.tm-why span{display:flex;align-items:center;gap:6px}.tm-why .i{width:14px;height:14px;flex:none}
.tm-why .ok{color:var(--text-2)}.tm-why .ok .i{color:var(--success)}
.tm-why .warn{color:var(--warning-t)}.tm-why .bad{color:var(--danger-t);font-weight:600}

/* Availability table (gallery) */
.tm-avail{display:flex;flex-direction:column;gap:0;min-width:0}
.tm-avail-hd{display:flex;align-items:center;gap:6px;margin-bottom:6px}
.tm-avail-hd .i{width:15px;height:15px;color:var(--success);flex:none}
.tm-avail-hd .tm-k{margin-right:auto;padding-top:0;min-width:0}
.tm-avail-tz{font-size:11.5px;font-weight:600;color:var(--muted);white-space:nowrap}
.tm-avail-list{display:flex;flex-direction:column;border-top:1px solid var(--border)}
.tm-avail-row{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid var(--border);font-size:13px}
.tm-avail-day{font-weight:700;color:var(--text);min-width:2.4em}
.tm-avail-t{font-weight:550;color:var(--text-2);text-align:right}
.tm-avail-more{display:inline-flex;align-items:center;gap:4px;margin-top:8px;padding:0!important;border:0!important;background:none!important;box-shadow:none!important;font:inherit;font-size:12.5px;font-weight:650;color:var(--primary-text);cursor:pointer;text-align:left;width:auto;height:auto;border-radius:0}
.tm-avail-more:hover{text-decoration:underline}
.tm-avail-empty{font-size:12.5px;font-weight:600;color:var(--muted);padding:6px 0}

.tm-ft{display:flex;align-items:center;gap:10px;margin-top:auto;padding-top:2px}
.tm-ft .tm-pick{flex:1;width:100%;height:40px;justify-content:center;border-radius:12px;font-weight:680}
button.tm-pick{background:var(--primary);color:#fff;border:0}button.tm-pick:hover{background:var(--primary-h)}
a.tm-pick{display:inline-flex;align-items:center;justify-content:center;gap:6px;text-decoration:none}
.tm-rel{display:inline-flex;align-items:center;gap:4px;font-size:11.5px;font-weight:600;color:var(--muted);white-space:nowrap}.tm-rel .i{width:13px;height:13px}
.tm-off{margin:4px 0 16px}
.tm-off>summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:650;color:var(--text-2);padding:6px 10px;border-radius:10px}
.tm-off>summary::-webkit-details-marker{display:none}.tm-off>summary:hover{background:var(--surface-2)}
.tm-off>summary .i{width:15px;height:15px;transition:transform .15s}.tm-off[open]>summary .i{transform:rotate(90deg)}
.tm-off .tm-grid{margin-top:10px}
@media (max-width:860px){
  .tm-grid{grid-template-columns:1fr;gap:12px}
  .tm-card{padding:14px;padding-top:16px}
  .tm-ph,.tm-ph .av{width:56px;height:56px;--s:56px!important}
  .tm-score{width:52px;height:52px}.tm-score b{font-size:20px}
  .tm .tm-k,.tm-sec .tm-k{min-width:56px}
}
@media (min-width:560px) and (max-width:860px){.tm-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Directory > Tutors browse gallery */
.tm-browse .tm-filters{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:4px}
.tm-browse .tm-filters .search-in{flex:1 1 100%;min-width:0}
.tm-browse .tm-filters .search-in input{width:100%;min-width:0;box-sizing:border-box}
.tm-browse .tm-filters > input,
.tm-browse .tm-filters > select{flex:1 1 140px;min-width:0;max-width:100%;box-sizing:border-box}
.tm-browse .tm-filters > button.sm{flex:0 0 auto}
.tm-browse .tm-card{cursor:pointer}
.tm-browse .tm-card:focus-visible{outline:2px solid var(--primary);outline-offset:2px}
@media (max-width:559px){
  .tm-browse .tm-filters > input,
  .tm-browse .tm-filters > select{flex:1 1 calc(50% - 8px)}
  .tm-browse .tm-filters > button.sm{flex:1 1 100%}
}

/* ---- /static/mgrstyle.css?v=5-791 ---- */
/* Ella's Work + Waiting on reply in the Manager Needed layout (TEST, Tamra 2026-10-08). Builds on mgrcases.css (mc-* classes). */
#view:has(> .qx){max-width:1680px}
.qx .mc-grid{height:max(640px,calc(100vh - var(--cct-h,0px) - var(--tb-h,60px) - 168px))}
.qx .mc-tile.t-violet .mc-ti{background:var(--violet-soft);color:var(--violet-t)}
.qx .mc-tile.t-amber .mc-ti{background:var(--warning-soft);color:var(--warning-t)}
.qx .mc-tile.t-red b{color:inherit}
.qx .mc-tile.t-red.on b,.qx .mc-tile.t-red b:not(:empty){color:var(--danger-t)}
.qx .mc-chip.t-blue{background:var(--primary-soft);color:var(--primary-text)}
.qx .mc-chip.t-violet{background:var(--violet-soft);color:var(--violet-t)}
.qx .mc-chip.t-amber{background:var(--warning-soft);color:var(--warning-t)}
.qx .mc-chip.t-green{background:var(--success-soft);color:var(--success-t)}
.qx .mc-chip.t-gray{background:var(--neutral-soft);color:var(--text-2)}
.qx .mc-chip.sm{padding:2px 8px;font-size:11.5px;max-width:128px;overflow:hidden;text-overflow:ellipsis}
.qx .mc-chip.sm .i{width:12px;height:12px;flex-shrink:0}
.qx .mc-due.lo{background:var(--neutral-soft);color:var(--text-2)}
.qx .qx-ago{font-size:11.5px;color:var(--muted);white-space:nowrap}
/* evidence tiles */
.qx .mc-pane{container-type:inline-size;container-name:qxpane}
.qx-ev{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.qx-tile{border:1px solid var(--border);border-radius:12px;background:var(--surface-2);padding:9px 11px 10px;min-width:0;--tt:var(--text)}
.qx-tile small{display:flex;gap:5px;align-items:center;font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);white-space:nowrap;overflow:hidden}
.qx-tile small .i{width:13px;height:13px;flex-shrink:0}
.qx-tile b{display:block;font-size:15.5px;font-weight:800;margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--tt)}
.qx-tile span{font-size:12.5px;color:var(--text-2);line-height:1.38;margin-top:2px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;word-break:break-word}
.qx-tile.t-red{--tt:var(--danger-t);background:color-mix(in srgb,var(--danger-soft) 55%,var(--surface))}
.qx-tile.t-amber{--tt:var(--warning-t);background:color-mix(in srgb,var(--warning-soft) 55%,var(--surface))}
.qx-tile.t-green{--tt:var(--success-t);background:color-mix(in srgb,var(--success-soft) 55%,var(--surface))}
.qx-tile.t-violet{--tt:var(--violet-t);background:color-mix(in srgb,var(--violet-soft) 55%,var(--surface))}
@container qxpane (max-width:620px){.qx-ev{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* Ella's items */
.qx-items{display:flex;flex-direction:column;gap:2px}.qx-items>b{font-size:13.5px;margin-bottom:4px}
.qx-i{display:flex;gap:9px;align-items:center;padding:6px 4px;border-radius:8px;color:var(--text);text-decoration:none!important;font-size:13px}
.qx-i:hover{background:var(--surface-2)}.qx-i span{flex:1;min-width:0}.qx-i small{color:var(--muted);font-size:11.5px;white-space:nowrap}
.qx-dot{width:8px;height:8px;border-radius:50%;background:var(--faint);flex-shrink:0}
.qx-dot.t-red{background:var(--danger)}.qx-dot.t-amber{background:var(--warning)}.qx-dot.t-green{background:var(--success)}.qx-dot.t-blue{background:var(--primary)}.qx-dot.t-violet{background:var(--violet)}
@media (max-width:860px){
  #view:has(> .qx){padding-bottom:96px}
  .qx .mc-grid{height:auto}
  .qx .mc-its{max-width:40%}
  .qx-ev{grid-template-columns:repeat(2,minmax(0,1fr))}
  .qx-tile b{font-size:14.5px}
}
/* v2: chips in one scrollable line, tile values may wrap to 2 lines, phone Ella card */
.qx .mc-chips{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:thin;padding-bottom:2px}
.qx-tile b{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.25}
@media (max-width:860px){
  .qx .mc-ella{flex-wrap:wrap}.qx .mc-ella .mc-cb{flex:1 1 calc(100% - 52px)}.qx .mc-er{flex-basis:100%;padding-left:48px}
  .qx .mc-chips{scrollbar-width:none}
}

/* v10.8.102 spacing (Tamra 2026-10-08 "not spaced enough"): header stacks, tiles fill the row evenly, labels never touch the edge */
.qx .mc-head{display:flex;flex-direction:column;align-items:stretch;gap:20px;margin-bottom:22px}
.qx .mc-ht h1{margin:0 0 8px}
.qx .mc-ht p{line-height:1.45}
.qx .mc-hl2{margin-top:12px;gap:20px;flex-wrap:wrap}
.qx .mc-tiles{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;width:100%}
.qx .mc-tile{padding:16px 18px;gap:14px;min-width:0}
.qx .mc-tile>span:last-child{min-width:0;flex:1}
.qx .mc-tile small{font-size:13px;white-space:normal;line-height:1.25;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}
.qx .mc-tile b{font-size:24px;margin-top:4px}
.qx .mc-ti{width:40px;height:40px}.qx .mc-ti .i{width:19px;height:19px}
.qx .mc-grid{height:max(640px,calc(100vh - var(--cct-h,0px) - var(--tb-h,60px) - 236px))}
@media (max-width:860px){
  .qx .mc-head{gap:16px;margin-bottom:16px}
  .qx .mc-ht h1{margin-bottom:6px}.qx .mc-hl2{margin-top:10px;gap:16px}
  .qx .mc-tiles{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .qx .mc-tile{padding:14px;gap:12px}.qx .mc-ti{width:34px;height:34px}.qx .mc-ti .i{width:17px;height:17px}
  .qx .mc-tile small{font-size:12.5px}.qx .mc-tile b{font-size:21px;margin-top:2px}
  .qx .mc-grid{height:auto}
}

/* ---- /static/sidebar1.css?v=1 ---- */
/* Sidebar Sub-Tabs S1 (Tamra 2026-10-08, TEST). Goes with sidebar1.js. Uses the app's own sidebar tokens (style.css), so light + dark both work. */
#s1Nav{padding-top:2px}
.s1-stash,.s1-homeslot{display:none!important}
#sbOps{display:none!important}
/* section header: the old link (a.s1-h) or a group button (button.s1-hb) */
.sidebar button.s1-hb{appearance:none;-webkit-appearance:none;font:inherit;background:none;border:0;box-shadow:none;width:100%;text-align:left;cursor:pointer;
  position:relative;display:flex;align-items:center;gap:11px;padding:7px 10px;margin:1px 0;border-radius:9px;color:var(--sb-text);font-weight:500;font-size:13.5px;white-space:nowrap;min-height:0;height:auto;transition:background .15s,color .15s}
.sidebar button.s1-hb .i{width:17px;height:17px;opacity:.85}
.sidebar button.s1-hb:hover{background:var(--sb-hover);color:var(--sb-text-h)}
.sidebar .s1-h:focus-visible{outline:2px solid var(--ring);outline-offset:-2px}
.sidebar .s1-h>.badge:not(.s1-sum){display:none!important}
.sidebar .s1-chev{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;margin-right:-5px;border-radius:6px;color:var(--faint);flex-shrink:0;cursor:pointer}
.sidebar .s1-chev .i{width:14px!important;height:14px!important;opacity:1!important;color:var(--faint)!important;transition:transform .2s var(--ease)}
.sidebar .s1-chev:hover{background:var(--sb-active)}.sidebar .s1-chev:hover .i{color:var(--sb-text-h)!important}
.s1-sec:not(.open)>.s1-h .s1-chev .i{transform:rotate(-90deg)}
.sidebar .s1-sec.open>.s1-h{color:var(--sb-text-h);font-weight:600}
.sidebar .s1-sec.on>.s1-h:not(.active){color:var(--primary-text);font-weight:600}
.sidebar .s1-sec.on>.s1-h:not(.active) .i{color:var(--primary);opacity:1}
[data-theme=dark] .sidebar .s1-sec.on>.s1-h:not(.active) .i{color:#a5a4ff}
/* sub-tabs: indented, guide line, no icons */
.s1-sub{position:relative;margin:0 0 4px 18px;padding-left:12px;border-left:1.5px solid var(--sb-border)}
.s1-sec:not(.open)>.s1-sub{display:none}
.sidebar .s1-sub a,.sidebar .s1-sub a[data-i],.sidebar .s1-sub a.ob-nav{position:relative;display:flex;align-items:center;gap:8px;min-height:31px;height:auto;padding:5px 10px;margin:1px 0;border-radius:8px;
  font-size:13px;font-weight:500;color:var(--sb-text);white-space:nowrap;text-decoration:none;justify-content:flex-start}
.sidebar .s1-sub a>svg,.sidebar .s1-sub a>.i{display:none!important}
.sidebar .s1-sub a .lbl{flex:1;overflow:hidden;text-overflow:ellipsis}
.sidebar .s1-sub a:hover{background:var(--sb-hover);color:var(--sb-text-h)}
.sidebar .s1-sub a.active{background:var(--sb-active);color:var(--primary-text);font-weight:600}
[data-theme=dark] .sidebar .s1-sub a.active{color:#fff}
.sidebar .s1-sub a[data-i].active:before{left:-13.5px;top:7px;bottom:7px}
.s1-xw{font-size:10px;font-weight:600;color:var(--muted);border:1px solid var(--sb-border);border-radius:5px;padding:0 5px;line-height:16px;flex-shrink:0}
.s1-sep{height:1px;background:var(--sb-border);margin:8px 6px}
/* footer: Ella row, you + Clock in, Collapse (+ log out) */
.s1-done{margin-left:auto;font-size:11.5px;font-weight:600;color:var(--sb-text);white-space:nowrap}.s1-done:empty{display:none}
.sb-user #sbShift{flex-shrink:0;padding:0;gap:4px;flex-wrap:nowrap;width:auto}
.sb-user #sbShift .shift-me{display:none}
.sidebar .sb-user #sbShift button{padding:5px 10px;font-size:12px;border-radius:8px;white-space:nowrap}
.sidebar .sb-user #sbShift button+button,.sidebar .sb-user #sbShift button:has(+button){font-size:0;padding:6px 8px;gap:0}
.sidebar .sb-user #sbShift button .i{width:14px;height:14px}
.sb-user .sb-user-t small .s1-st{color:inherit}
.s1-footrow{display:flex;align-items:center;gap:4px}
.s1-footrow .sb-toggle{flex:1}
.s1-footrow #logout{color:var(--sb-text);width:30px;height:30px;flex-shrink:0}.s1-footrow #logout:hover{background:var(--sb-hover);color:var(--sb-text-h)}
.s1-footrow #logout .i{width:16px;height:16px}

/* ---------- collapsed 68px rail (desktop only) ---------- */
@media (min-width:861px){
  .sb-collapsed .s1-sub,.sb-collapsed .s1-chev,.sb-collapsed .s1-done{display:none!important}
  .sb-collapsed .sidebar button.s1-hb{justify-content:center;padding:9px 0}
  .sb-collapsed .sidebar .s1-h .lbl{display:none}
  .sb-collapsed .sidebar .s1-h .s1-sum{position:absolute;top:2px;right:6px;min-width:16px;height:16px;font-size:9.5px;padding:0 4px}
  .sb-collapsed .s1-sep{margin:8px 12px}
  .sb-collapsed .sidebar .s1-sec.on>.s1-h{background:var(--sb-active);color:var(--primary-text)}
  .sb-collapsed .sidebar .s1-sec.on>.s1-h:before{content:"";position:absolute;left:-10px;top:8px;bottom:8px;width:3px;border-radius:0 3px 3px 0;background:linear-gradient(#818cf8,#c084fc)}
  .sb-collapsed .sidebar .s1-sec.fly-on>.s1-h{background:var(--sb-hover);color:var(--sb-text-h)}
  .sb-collapsed .s1-footrow{justify-content:center}.sb-collapsed .s1-footrow .sb-toggle{flex:0 0 auto}
  .sb-collapsed .s1-footrow #logout{display:none}
}
#s1Fly{position:fixed;z-index:70;width:232px;background:var(--surface);border:1px solid var(--border);border-radius:14px;box-shadow:var(--sh-lg);padding:8px;
  opacity:0;transform:translateX(-4px);pointer-events:none;transition:opacity .12s,transform .12s;color:var(--text)}
#s1Fly.on{opacity:1;transform:none;pointer-events:auto}
#s1Fly:before{content:"";position:absolute;left:-6px;top:var(--ay,18px);width:10px;height:10px;background:var(--surface);border-left:1px solid var(--border);border-bottom:1px solid var(--border);transform:rotate(45deg)}
#s1Fly .s1f-h{display:flex;align-items:center;gap:8px;padding:6px 8px 8px;font-size:13px;color:var(--text);border-bottom:1px solid var(--border);margin-bottom:4px}
#s1Fly .s1f-h .i{width:16px;height:16px;color:var(--primary)}#s1Fly .s1f-h b{flex:1;font-weight:700}
#s1Fly .s1f-r{display:flex;align-items:center;gap:8px;min-height:32px;padding:0 8px;border-radius:8px;font-size:13px;color:var(--text-2);font-weight:500;white-space:nowrap;text-decoration:none}
#s1Fly .s1f-r .lbl{flex:1;overflow:hidden;text-overflow:ellipsis}
#s1Fly .s1f-r:hover{background:var(--sb-hover);color:var(--text)}
#s1Fly .s1f-r.active{background:var(--sb-active);color:var(--primary-text);font-weight:600}
#s1Fly .badge{min-width:18px;height:18px;padding:0 6px;font-size:10.5px;box-shadow:none;background:var(--surface-3);color:var(--text-2)}
#s1Fly .badge.hot{background:#ef4444;color:#fff}#s1Fly .badge.calm{background:#3b82f6;color:#fff}

/* ---------- phone ---------- */
#s1Chips{display:none}
html.s1on #tabbar>a[href="#/approvals"]:not(.sw-tab):not(.pw-tab),html.s1on #tabMore,html.s1on #tabBuild{display:none!important}
@media (max-width:860px){
  html.s1on .tabbar>a.s1-tab{display:flex}
  html.s1on[data-world=sales] .tabbar>a.s1-tab,html.s1on[data-world=people] .tabbar>a.s1-tab,html.sales-only .tabbar>a.s1-tab{display:none!important}
  .sidebar .s1-h{min-height:44px;font-size:15px}
  .sidebar .s1-h .i{width:19px;height:19px}
  .sidebar .s1-chev{width:36px;height:36px;margin:-8px -8px -8px 0}
  .sidebar .s1-sub a,.sidebar .s1-sub a[data-i],.sidebar .s1-sub a.ob-nav{min-height:40px;font-size:14.5px}
  #s1Chips.on{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;padding:10px 14px 10px;border-bottom:1px solid var(--border);background:var(--bg);-webkit-overflow-scrolling:touch}
  #s1Chips::-webkit-scrollbar{display:none}
  #s1Chips .s1c{display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 13px;border-radius:999px;border:1px solid var(--border);background:var(--surface);
    font-size:13.5px;font-weight:600;color:var(--text-2);white-space:nowrap;text-decoration:none;flex-shrink:0}
  #s1Chips .s1c.on{background:#16213e;border-color:#16213e;color:#fff}
  [data-theme=dark] #s1Chips .s1c.on{background:var(--primary);border-color:var(--primary)}
  #s1Chips .badge{height:18px;min-width:18px;font-size:10.5px;padding:0 5px;box-shadow:none;background:var(--surface-3);color:var(--text-2)}
  #s1Chips .badge.hot{background:#ef4444;color:#fff}
  #s1Chips .s1c.on .badge:not(.hot){background:rgba(255,255,255,.18);color:#fff}
}
#s1Sheet{position:fixed;inset:0;z-index:80}
#s1Sheet .s1s-scrim{position:absolute;inset:0;background:rgba(15,29,61,.38);opacity:0;transition:opacity .2s}
#s1Sheet .s1s-sh{position:absolute;left:0;right:0;bottom:0;background:var(--surface);border-radius:24px 24px 0 0;padding:10px 14px calc(18px + env(safe-area-inset-bottom,0px));
  box-shadow:0 -12px 40px rgba(15,29,61,.18);transform:translateY(100%);transition:transform .22s var(--ease);max-height:80vh;overflow-y:auto}
#s1Sheet.on .s1s-scrim{opacity:1}#s1Sheet.on .s1s-sh{transform:none}
#s1Sheet .s1s-grab{display:block;width:40px;height:5px;border-radius:99px;background:var(--border-strong);margin:0 auto 12px}
#s1Sheet .s1s-hd{display:flex;align-items:center;gap:10px;padding:0 4px 12px}
#s1Sheet .s1s-hd>span:nth-child(2){flex:1}
#s1Sheet .s1s-hd b{font-size:17px;color:var(--text)}#s1Sheet .s1s-hd small{display:block;font-size:12.5px;color:var(--muted);font-weight:500}
#s1Sheet .s1s-hic{width:36px;height:36px;border-radius:999px;background:var(--primary-soft);color:var(--primary);display:inline-flex;align-items:center;justify-content:center}
#s1Sheet .s1s-hic.s1s-mgr{background:var(--danger-soft,#fdecec);color:var(--danger-t,#b91c1c)}
#s1Sheet .s1s-hic .i{width:18px;height:18px}
#s1Sheet .s1s-x{width:36px;height:36px;border-radius:999px;border:0;background:var(--surface-2);color:var(--text-2);display:inline-flex;align-items:center;justify-content:center;padding:0;box-shadow:none}
#s1Sheet .s1s-x .i{width:16px;height:16px}
#s1Sheet .s1s-r{display:flex;align-items:center;gap:12px;min-height:54px;padding:0 10px;border-radius:14px;font-size:15.5px;font-weight:550;color:var(--text);text-decoration:none}
#s1Sheet .s1s-r+.s1s-r{margin-top:2px}
#s1Sheet .s1s-ic{width:34px;height:34px;border-radius:999px;background:var(--surface-2);color:var(--text-2);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}
#s1Sheet .s1s-ic .i{width:17px;height:17px}
#s1Sheet .s1s-r .lbl{flex:1}
#s1Sheet .s1s-r .s1s-ch{width:16px;height:16px;color:var(--faint)}
#s1Sheet .s1s-r.active{background:var(--primary-soft);color:var(--primary-text)}#s1Sheet .s1s-r.active .s1s-ic{background:var(--surface);color:var(--primary)}
#s1Sheet .badge{min-width:20px;height:20px;padding:0 6px;font-size:11px;box-shadow:none;background:var(--surface-3);color:var(--text-2)}
#s1Sheet .badge.hot{background:#ef4444;color:#fff}#s1Sheet .badge.calm{background:#3b82f6;color:#fff}
html.sales-only #s1Nav,html.sales-only #s1Chips{display:none!important}
.sidebar .s1-sub .badge:not(.hot):not(.calm){background:var(--surface-3);color:var(--text-2);box-shadow:none}
.sidebar .s1-sub .badge{min-width:18px;height:18px;padding:0 6px;font-size:10.5px}
.sidebar .sb-user{gap:8px}

/* ---- /static/teamadd.css?v=6 ---- */
/* V10.8.345 Add team member */
.ta-form{display:flex;flex-direction:column;gap:14px;min-width:0}
.ta-form .f input{width:100%;box-sizing:border-box}
.ta-roles{border:0;margin:0;padding:0;display:flex;flex-direction:column;gap:8px;min-width:0}
.ta-roles legend{font-weight:600;font-size:13px;margin-bottom:6px;padding:0}
.ta-role{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border:1px solid var(--border);border-radius:10px;cursor:pointer;background:var(--surface)}
.ta-role:has(input:checked){border-color:var(--primary);background:var(--primary-soft)}
.ta-role input{margin-top:3px;flex:none}
.ta-role span{display:flex;flex-direction:column;gap:2px;min-width:0}
.ta-role small{color:var(--muted,#6b6b78);line-height:1.35;overflow-wrap:anywhere}
.ta-note{display:flex;gap:8px;align-items:flex-start;color:var(--muted,#6b6b78);font-size:13px;margin:0;line-height:1.4;overflow-wrap:anywhere}
.ta-note svg{flex:none;width:16px;height:16px;margin-top:1px}
.ta-done{display:flex;flex-direction:column;gap:14px;min-width:0}
.ta-sum{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.ta-sum>div{border:1px solid var(--border);border-radius:10px;padding:10px 12px;display:flex;flex-direction:column;gap:2px;min-width:0}
.ta-sum small{color:var(--muted,#6b6b78);font-size:12px}.ta-sum b{overflow-wrap:anywhere}
.ta-linkrow{display:flex;gap:8px;margin-top:6px;min-width:0}
.ta-linkrow input{flex:1;min-width:0;font-family:ui-monospace,Menlo,monospace;font-size:12px}
.ta-linkrow button{flex:none;white-space:nowrap}
.ta-mail summary{cursor:pointer;font-weight:600;font-size:13px}
.ta-subj{font-weight:600;margin:10px 0 6px;overflow-wrap:anywhere}
.ta-mail pre{white-space:pre-wrap;overflow-wrap:anywhere;font-family:inherit;font-size:13px;line-height:1.5;background:var(--surface-2);border-radius:10px;padding:12px;margin:0;max-height:260px;overflow:auto}
.ph .ta-add{white-space:nowrap}
@media (max-width:480px){.ta-linkrow{flex-direction:column}.ta-linkrow button{width:100%}.ta-sum{grid-template-columns:1fr}.ph .toolbar{flex-wrap:wrap}}
@media (min-width:600px){#modal .mbox:has(.ta-form),#modal .mbox:has(.ta-done){max-width:min(560px,calc(var(--pinw,100vw) - 32px))!important}}
#modal .mbox:has(.ta-done) .m-foot .sec{display:none}
.ta-done .ta-note{display:block}
.ta-done .ta-note b{overflow-wrap:anywhere;word-break:break-all}
.ta-who{font-size:15px}
.ta-signin a{color:var(--primary);font-weight:600;text-decoration:underline;white-space:nowrap}
/* V10.8.351 */
.ta-how{border:1px solid var(--border);border-radius:10px;padding:12px 14px}
.ta-how h4{margin:0 0 8px;font-size:14px}
.ta-how ol{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:6px;font-size:14px;line-height:1.4}
.ta-how a{color:var(--primary);font-weight:600;text-decoration:underline}

/* ---- /static/codesignin.css?v=8 ---- */
/* V10.8.351 sign-in by code */
.cs-box{display:flex;flex-direction:column;gap:14px;min-width:0}
.cs-box .f{display:block}
.cs-box .lg-in input{width:100%;box-sizing:border-box}
.cs-code{letter-spacing:.35em;font-size:20px!important;text-align:left}
.cs-test{border:1px dashed #5b45b8;background:#f3f0ff;border-radius:10px;padding:10px 12px;display:flex;flex-direction:column;gap:2px}
.cs-test small{font-size:12px;color:#5b45b8}.cs-test b{font-size:22px;letter-spacing:.25em;color:#3d2f00}
.cs-links{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 16px;font-size:14px}
.cs-links a,.cs-foot a{color:inherit;opacity:.8;text-decoration:underline;text-underline-offset:2px}
.cs-foot{margin:14px 0 0;text-align:center;font-size:13px}
/* V10.8.354: icon in the field (same .lg-ic as Username/Password) so the input's left padding is used, not empty */
.cs-box .lg-in .lg-ic{z-index:1}
.cs-pick,.cs-pick:hover,.cs-pick:active,.cs-pick:focus{background:#fff!important;color:#1c1c24!important}
.cs-pick{display:flex;flex-direction:column;align-items:flex-start;gap:2px;width:100%;text-align:left;padding:14px 16px;border:1px solid #d4d9de;border-radius:12px;background:#fff;cursor:pointer;font:inherit;color:inherit}
.cs-pick:hover,.cs-pick:focus-visible{border-color:#1c1c24;box-shadow:0 0 0 4px rgba(139,124,246,.42);outline:none}
.cs-pick:disabled{opacity:.6}
.cs-pick-l{font-weight:700;font-size:16px}.cs-pick-h{font-size:14px;opacity:.75;overflow-wrap:anywhere}
