
*{ box-sizing: border-box; margin: 0; padding: 0; }
:root{
  --accent: 34,211,238; --accent2: 167,139,250;
  --red: #d6001c; --blue: #1f6fd6; --green: #2e9e5b;
  
  --bg0: #0b1120; --txt: #eef2f8; --mut: #a7b2c6;
  --glass: rgba(255,255,255,.04); --glass2: rgba(255,255,255,.075);
  --bord: rgba(255,255,255,.09); --bord2: rgba(255,255,255,.18);
  --vio: rgb(var(--accent)); --pink: rgb(var(--accent2)); --cyan: rgb(var(--accent)); --grn: #34d399; --amber: #fbbf24;
  --grad: linear-gradient(120deg, rgb(var(--accent)), rgb(var(--accent2)));
  --grad2: linear-gradient(120deg, rgb(var(--accent2)), rgb(var(--accent)));
  --r: 16px; --r2: 12px;
  --glow: 0 10px 30px rgba(var(--accent),.16); --shadow: 0 6px 24px rgba(2,8,23,.4);
  --font-ui: "Inter", -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  --font-display: "Sora", "Inter", -apple-system, "Segoe UI", sans-serif;
}
html,body{ height: 100%; }
body{
  font-family: var(--font-ui);
  color: var(--txt); background: var(--bg0);
  background-image:
    radial-gradient(900px 600px at 3% -8%, rgba(var(--accent),.16), transparent 60%),
    radial-gradient(880px 580px at 100% -4%, rgba(var(--accent2),.19), transparent 58%);
  background-attachment: fixed;
  -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; text-rendering: optimizeLegibility;
}
button{ font: inherit; cursor: pointer; }
input,textarea,select{ font: inherit; }
.hidden{ display: none !important; }
::selection{ background: rgba(var(--accent),.42); }

.switch{ position: relative; width: 60px; height: 30px; display: inline-block; cursor: pointer; flex-shrink: 0; }
.switch input{ display: none; }
.switch .slider{ position: absolute; inset: 0; border-radius: 30px; background: var(--glass2);
  border: 1px solid var(--bord2); display: flex; align-items: center; justify-content: space-between;
  padding: 0 7px; font-size: 13px; transition: .2s; }
.switch .slider::after{ content: ""; position: absolute; width: 24px; height: 24px; border-radius: 50%;
  background: var(--grad); top: 2px; left: 2px; transform: translateX(30px); transition: .22s;
  box-shadow: 0 2px 8px rgba(var(--accent),.5); }
.switch input:checked + .slider::after{ transform: translateX(0); }
.switch:hover .slider{ border-color: var(--vio); }
.login-switch{ position: fixed; top: 18px; right: 22px; z-index: 10; }

.login-wrap.login-split{ flex-direction: row; align-items: stretch; justify-content: stretch; padding: 0; }
.login-hero{ flex: 1 1 50%; background: linear-gradient(125deg, #1e293b 0%, #0ea5e9 70%, rgb(var(--accent)) 100%); position: relative; display: flex; flex-direction: column;
  align-items: center; justify-content: center; padding: 46px 40px; overflow: hidden; }
.login-hero .hero-art{ width: 100%; max-width: 440px; }
.login-hero .hero-cap{ color: #fff; text-align: center; margin-top: 14px; max-width: 430px; }
.login-hero .hero-h{ font-size: 27px; font-weight: 900; letter-spacing: -.4px; }
.login-hero .hero-s{ font-size: 14px; line-height: 1.55; margin-top: 9px; color: rgba(255,255,255,.92); }
.login-cardwrap{ flex: 1 1 50%; display: flex; align-items: center; justify-content: center; padding: 26px; }
.login-split .login-card{ margin: 0; }
@media (max-width: 900px){ .login-hero{ display: none; } .login-cardwrap{ flex: 1 1 100%; padding: 20px; } }

.overlay .panel p.sc-intro{ max-width: 400px; margin: 0 auto 20px; color: #444; }
.play-btn.ghost{ background: #fff; border: 1.5px solid #111; color: #111; box-shadow: none; font-size: 15px; padding: 11px 26px; }
.play-btn.ghost:hover{ background: #f1f2f5; }
.sc-vol{ display: flex; align-items: center; gap: 12px; max-width: 300px; margin: 18px auto 7px; }
.sc-vol input[type=range]{ flex: 1; accent-color: #111; }
.sc-vol span{ font-size: 15px; }
.sc-status{ font-size: 12.5px; color: #6b7280; min-height: 16px; margin-bottom: 16px; }
.overlay .panel p.sc-note{ font-size: 12.5px; color: #6b7280; line-height: 1.5; max-width: 380px; margin: 0 auto 20px; }
.overlay .panel .play-btn.ghost + .sc-vol{ margin-top: 14px; }

.topbar{ background: #0b0f20;
  border-bottom: 1px solid var(--bord); padding: 9px 28px; display: flex; align-items: center; gap: 14px;
  position: sticky; top: 0; z-index: 5; }
.topbar .tr-name .avatar{ width: 42px; height: 42px; border-radius: 11px; font-size: 16px; }
.topbar > .logo{ margin-top: 4px; font-size: 34px; }
.topbar .logo{ font-weight: 900; font-size: 21px; letter-spacing: .5px;
  background: var(--grad); -webkit-background-clip: text; background-clip: text; color: transparent; }
.avatar{ width: 64px; height: 64px; border-radius: 14px; background: var(--grad); color: #fff;
  display: inline-flex; align-items: center; justify-content: center; font-weight: 800; font-size: 22px;
  letter-spacing: .5px; box-shadow: var(--glow); flex-shrink: 0; }
.topbar .role-chip{ background: rgba(37,99,235,.18); color: #93c5fd; font-size: 11px; font-weight: 800;
  letter-spacing: .8px; padding: 4px 12px; border-radius: 20px; border: 1px solid rgba(37,99,235,.35); }
.topbar .spacer{ flex: 1; }
.top-right{ position: relative; display: flex; flex-direction: column; align-items: flex-end; }
.logo-link{ cursor: pointer; transition: .15s; }
.logo-link:hover{ filter: brightness(1.25); }
.tr-name{ display: flex; align-items: center; gap: 10px; cursor: pointer; padding: 5px 10px; border-radius: 14px; transition: .15s; }
.tr-name:hover{ background: var(--glass2); }
.caret{ color: var(--mut); font-size: 12px; margin-left: 2px; }
.user-menu{ position: absolute; top: calc(100% + 6px); right: 0; background: rgba(22,24,38,.97);
  border: 1px solid var(--bord2); border-radius: 14px; padding: 6px; min-width: 240px; z-index: 30;
  box-shadow: 0 12px 34px rgba(0,0,0,.45); }
.user-menu button{ display: block; width: 100%; text-align: right; padding: 10px 14px; border: 0;
  background: none; color: var(--txt); border-radius: 10px; font-weight: 700; font-size: 14px; }
.user-menu button:hover{ background: var(--glass2); }
.user-menu .mi-soon{ color: var(--mut); font-weight: 600; font-size: 12.5px; cursor: default; }
.user-menu .mi-soon:hover{ background: none; }
.menu-sep{ height: 1px; background: var(--bord); margin: 6px 4px; }
.menu-progress{ padding: 10px 12px 12px; border-bottom: 1px solid var(--bord); margin-bottom: 6px; }
.mp-row{ display: flex; justify-content: space-between; font-size: 12.5px; color: var(--mut); margin-bottom: 8px; }
.mp-row b{ color: var(--txt); }
.mp-bar{ height: 6px; border-radius: 6px; background: var(--glass2); overflow: hidden; }
.mp-bar span{ display: block; height: 100%; background: var(--grad); border-radius: 6px; }
.under-bar{ display: flex; justify-content: flex-end; align-items: center; gap: 9px; padding: 10px 28px 0; }
.ub-right{ display: flex; align-items: center; gap: 9px; }
.hero-row{ display: flex; justify-content: space-between; align-items: flex-start; gap: 24px; flex-wrap: wrap; }
.chart-row{ display: flex; gap: 16px; align-items: stretch; flex-wrap: wrap; }
.cr-left{ flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 16px; }
.cr-left .card{ flex: 1; }
.weather-card{ width: 280px; flex-shrink: 0; }
@media (max-width: 900px){ .weather-card{ width: 100%; } }
.w-row{ display: flex; flex-direction: column; gap: 10px; }
.w-loading{ color: var(--mut); font-size: 13px; }
.w-city{ padding: 11px 13px; border: 1px solid var(--bord); border-radius: 12px; background: var(--glass2); }
.w-head{ display: flex; align-items: flex-start; gap: 8px; font-size: 14px; }
.w-name{ display: flex; flex-direction: column; gap: 1px; min-width: 0; }
.w-tag{ font-size: 10px; color: var(--mut); border: 1px solid var(--bord2); border-radius: 10px; padding: 1px 7px; }
.w-clock{ margin-left: auto; color: var(--mut); font-size: 12.5px; font-variant-numeric: tabular-nums; }
.w-main{ font-size: 17px; margin: 6px 0 3px; }
.w-main span{ font-size: 13px; color: var(--mut); }
.w-meta{ font-size: 12px; color: var(--mut); }
@media (max-width: 900px){ .weather-card{ width: 100%; } }
.hero-status{ display: flex; flex-direction: column; gap: 7px; font-size: 13.5px; color: var(--mut);
  text-align: right; padding-top: 12px; flex-shrink: 0; }
.theme-lbl{ font-size: 12px; font-weight: 700; color: var(--mut); letter-spacing: .5px; }
.who-col{ display: flex; flex-direction: column; align-items: flex-start; gap: 3px; line-height: 1.1; }
.track-line{ font-size: 10.5px; font-weight: 700; letter-spacing: .8px; color: var(--mut); }
.topbar .user{ color: var(--mut); font-size: 14px; }

.btn{ border: 1px solid var(--bord2); background: var(--glass2); color: var(--txt);
  border-radius: var(--r2); padding: 9px 18px; font-weight: 600; letter-spacing: .1px;
  transition: transform .15s ease, background .15s ease, box-shadow .15s ease, border-color .15s ease, filter .15s ease; }
.btn:hover{ background: rgba(255,255,255,.12); transform: translateY(-1px); }
.btn:active{ transform: translateY(0) scale(.985); }
.btn:focus-visible{ outline: 2px solid var(--vio); outline-offset: 2px; }
.btn.primary{ background: var(--grad); color: #fff; border: 0; font-weight: 700; box-shadow: var(--glow); }
.btn.primary:hover{ transform: translateY(-1px); box-shadow: 0 12px 30px rgba(var(--accent),.26); filter: brightness(1.05); }
.btn.danger-line{ color: #fb7185; border-color: rgba(251,113,133,.4); background: rgba(251,113,133,.08); }
.btn.small{ padding: 6px 13px; font-size: 13px; border-radius: 10px; }

.wrap{ max-width: 1080px; margin: 0 auto; padding: 34px 24px 80px; }
.h1{ font-size: 29px; font-weight: 800; letter-spacing: -.5px; margin-bottom: 6px; }

.h1,.section-h,.topbar .logo,.login-card .ielts-logo,.brand-ielts,.band-big,.stat .v,.stat-tile .st-n,.rv-ring-pct,.rv-hero-score b,.pf-name,.login-hero .hero-h{ font-family: var(--font-display); }

.topbar{ position: sticky; }
.topbar::after{ content: ""; position: absolute; left: 0; right: 0; bottom: -1px; height: 1px;
  background: linear-gradient(90deg, transparent, rgba(var(--accent),.45), transparent); }
.h1 .grad{ background: var(--grad); -webkit-background-clip: text; background-clip: text; color: transparent; }
.sub{ color: var(--mut); font-size: 14.5px; margin-bottom: 28px; }
.section-h{ font-size: 19px; font-weight: 800; margin: 38px 0 6px; letter-spacing: -.2px;
  display: flex; align-items: center; gap: 11px;
  border-top: 1px solid var(--bord); padding-top: 28px; }
.section-h::before{ content: ""; width: 4px; height: 21px; border-radius: 4px; background: var(--grad);
  flex-shrink: 0; box-shadow: 0 0 8px rgba(var(--accent),.3); }
.section-sub{ color: var(--mut); font-size: 13px; margin: 0 0 14px; }

.grid{ display: grid; gap: 16px; }
.grid.cols3{ grid-template-columns: repeat(auto-fill, minmax(290px, 1fr)); }
.grid.cols4{ grid-template-columns: repeat(4, 1fr); }
@media (max-width: 1000px){ .grid.cols4{ grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px){ .grid.cols4{ grid-template-columns: 1fr; } }
.card{ background: var(--glass); border: 1px solid var(--bord); border-radius: var(--r);
  padding: 20px; backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); box-shadow: var(--shadow);
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease; }
.grid .card:hover{ transform: translateY(-3px); border-color: rgba(var(--accent),.45); box-shadow: 0 14px 34px rgba(2,8,23,.5); }
.card h3{ font-size: 16.5px; margin-bottom: 5px; font-weight: 750; }
.card .desc{ color: var(--mut); font-size: 13px; margin-bottom: 12px; }
.meta-line{ color: var(--mut); font-size: 12.5px; margin-bottom: 14px; }

.grid .card{ position: relative; padding-bottom: 66px; }
.grid .card .btn.primary,.grid .card .btn[disabled]{ position: absolute; bottom: 18px; left: 18px; right: 18px; }
.t-lines{ margin: 10px 0 12px; border: 1px solid var(--bord); border-radius: 12px; overflow: hidden; width: 100%; }
.t-line{ display: flex; justify-content: space-between; align-items: center; gap: 8px; padding: 8px 12px; font-size: 12.5px; }
.t-line + .t-line{ border-top: 1px solid rgba(255,255,255,.06); }
.t-emo{ font-size: 16px; line-height: 1; }
.t-left{ display: flex; flex-direction: column; gap: 1px; flex: 1; }
.t-name{ font-weight: 700; white-space: nowrap; }
.t-left small{ color: var(--mut); font-size: 11.5px; }
.t-time{ color: var(--mut); white-space: nowrap; font-weight: 600; }
.tag{ display: inline-block; font-size: 10.5px; font-weight: 800; letter-spacing: .8px;
  padding: 4px 11px; border-radius: 20px; margin-bottom: 12px; }
.tag.drill{ background: rgba(251,191,36,.14); color: var(--amber); border: 1px solid rgba(251,191,36,.35); }
.tag.partial{ background: rgba(34,211,238,.12); color: var(--cyan);  border: 1px solid rgba(34,211,238,.35); }
.tag.full{ background: rgba(6,182,212,.13); color: #7dd3fc;      border: 1px solid rgba(6,182,212,.4); }
.tag.done{ background: rgba(52,211,153,.13); color: var(--grn);   border: 1px solid rgba(52,211,153,.35); }
.tag.pending{ background: rgba(251,191,36,.13); color: var(--amber); border: 1px solid rgba(251,191,36,.35); }
.chip-row{ display: flex; justify-content: space-between; align-items: center; gap: 8px; margin-bottom: 12px; min-height: 24px; }
.chip-row .tag,.chip-row .diff{ margin: 0; }
.card-sub{ color: var(--mut); font-size: 12.5px; margin: 2px 0 12px; }
.rate-chip.new{ color: var(--cyan); font-size: 11px; letter-spacing: .8px; }
.rate-chip.wait{ color: var(--amber); font-size: 11px; letter-spacing: .8px; }
.rate-chip.ok{ color: var(--grn); font-size: 11px; letter-spacing: .8px; }
.diff{ display: inline-block; font-size: 10px; font-weight: 800; letter-spacing: .8px; padding: 3px 9px;
  border-radius: 20px; margin: 0 0 12px 8px; }
.diff.easy{ background: rgba(52,211,153,.13); color: var(--grn); border: 1px solid rgba(52,211,153,.4); }
.diff.moderate{ background: rgba(251,191,36,.13); color: var(--amber); border: 1px solid rgba(251,191,36,.4); }
.diff.difficult{ background: rgba(251,113,133,.13); color: #fb7185; border: 1px solid rgba(251,113,133,.45); }
.rate-chip{ font-size: 13px; font-weight: 800; color: var(--amber); white-space: nowrap; }
.rate-chip small{ color: var(--mut); font-weight: 600; }
.stars .star{ background: none; border: 0; font-size: 24px; color: rgba(255,255,255,.25); padding: 0 2px; transition: .12s; }
.stars .star:hover{ transform: scale(1.2); }
.stars .star.on{ color: var(--amber); }
.empty{ color: var(--mut); font-size: 14px; background: var(--glass); border: 1px dashed var(--bord2);
  border-radius: var(--r); padding: 26px; text-align: center; }

.skill-btns{ display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; margin: 4px 0 18px; }
.skill-btn{ display: flex; flex-direction: column; align-items: center; gap: 4px; padding: 18px 10px 14px;
  background: var(--glass); border: 1px solid var(--bord); border-radius: var(--r); color: var(--txt);
  transition: .18s; }
.skill-btn .emo{ font-size: 28px; }
.skill-btn .nm{ font-weight: 800; font-size: 15px; }
.skill-btn .ct{ font-size: 11.5px; color: var(--mut); letter-spacing: .4px; }
.skill-btn:hover{ transform: translateY(-3px); border-color: var(--bord2); }
.skill-btn.active{ background: linear-gradient(135deg, rgba(37,99,235,.25), rgba(6,182,212,.18));
  border-color: rgba(37,99,235,.65); box-shadow: var(--glow); }
.skill-btn.active .ct{ color: #93c5fd; }
.w-cols{ display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.w-col-h{ font-size: 14px; font-weight: 800; color: var(--mut); margin-bottom: 12px; letter-spacing: .3px; }
.w-stack{ display: grid; gap: 14px; }
@media (max-width: 760px){ .w-cols{ grid-template-columns: 1fr; } }
.card.soon{ opacity: .65; }
.card.soon .btn[disabled]{ cursor: default; color: var(--mut); }
@media (max-width: 700px){ .skill-btns{ grid-template-columns: repeat(2, 1fr); } }

.stats{ display: flex; gap: 12px; flex-wrap: wrap; margin: 18px 0 6px; }
.stat{ background: var(--glass); border: 1px solid var(--bord); border-radius: 16px; padding: 12px 18px; min-width: 120px; }
.stat-link{ cursor:pointer; transition:border-color .15s, background .15s, transform .06s; }
.stat-link:hover{ border-color:#0284c7; background:rgba(2,132,199,.08); }
.stat-link:active{ transform:translateY(1px); }

.sales-cards{ display:grid; grid-template-columns:1.15fr 1fr; gap:14px; }
@media (max-width:760px){ .sales-cards{ grid-template-columns:1fr; } }
.sales-card{ background:var(--glass); border:1px solid var(--bord); border-radius:14px; padding:13px 15px; display:flex; flex-direction:column; gap:10px; }
.sales-card .sc-h{ font-size:13px; font-weight:800; color:var(--txt); display:flex; align-items:center; gap:8px; }
.sales-card .sc-n{ display:inline-flex; align-items:center; justify-content:center; min-width:19px; height:19px; padding:0 5px; border-radius:10px; background:var(--grad); color:#fff; font-size:11.5px; font-weight:800; }
.sales-card .sc-sub{ margin-left:auto; font-size:11.5px; font-weight:700; color:var(--mut); }
.sf-list{ display:flex; flex-direction:column; gap:6px; }
.sf-row{ display:flex; align-items:center; gap:10px; width:100%; text-align:left; background:transparent; border:1px solid transparent; border-radius:10px; padding:6px 8px; cursor:pointer; color:var(--txt); transition:background .15s, border-color .15s; }
.sf-row:hover{ background:rgba(2,132,199,.08); border-color:var(--bord); }
.sf-ava{ flex:0 0 auto; width:30px; height:30px; border-radius:10px; background:var(--grad); color:#fff; font-size:11px; font-weight:800; display:flex; align-items:center; justify-content:center; }
.sf-main{ display:flex; flex-direction:column; gap:1px; min-width:0; flex:1; }
.sf-name{ font-size:13.5px; font-weight:700; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.sf-reason{ font-size:11.5px; font-weight:600; }
.sf-reason.sf-od{ color:#f87171; }
.sf-reason.sf-warn{ color:#fbbf24; }
.sf-reason.sf-exam{ color:rgb(var(--accent)); }
.sf-go{ color:var(--mut); font-size:18px; font-weight:700; flex:0 0 auto; }
.sf-empty{ font-size:13px; color:var(--mut); padding:10px 4px; }
.fn-wrap{ display:flex; flex-direction:column; gap:10px; padding-top:2px; }
.fn-row{ display:flex; align-items:center; gap:10px; }
.fn-l{ flex:0 0 58px; font-size:12px; color:var(--mut); font-weight:600; }
.fn-track{ flex:1; height:14px; border-radius:7px; background:rgba(255,255,255,.05); overflow:hidden; }
.fn-fill{ display:block; height:100%; border-radius:7px; }
.fn-v{ flex:0 0 auto; font-size:13px; font-weight:800; color:var(--txt); min-width:24px; text-align:right; }
.stat .v{ font-size: 22px; font-weight: 850; background: var(--grad2); -webkit-background-clip: text; background-clip: text; color: transparent; }
.stat .l{ font-size: 11.5px; color: var(--mut); letter-spacing: .6px; text-transform: uppercase; margin-top: 2px; }
.stats.dash{ display: grid; grid-template-columns: repeat(6, 1fr); gap: 12px; }
.stats.dash .stat{ min-width: 0; text-align: center; padding: 12px 8px; }
.stats.dash .stat.now{ background: linear-gradient(135deg, rgba(37,99,235,.28), rgba(6,182,212,.2));
  border-color: rgba(37,99,235,.65); box-shadow: var(--glow); }
.stats.dash .stat.now .v{ background: var(--grad); -webkit-background-clip: text; background-clip: text; color: transparent; }
@media (max-width: 560px){ .stats.dash{ grid-template-columns: repeat(3, 1fr); } }

table.list{ width: 100%; border-collapse: collapse; background: var(--glass); border: 1px solid var(--bord);
  border-radius: var(--r); overflow: hidden; }
table.list th{ text-align: left; font-size: 11px; text-transform: uppercase; letter-spacing: .8px;
  color: var(--mut); padding: 12px 16px; background: rgba(255,255,255,.03); border-bottom: 1px solid var(--bord); }
table.list td{ padding: 13px 16px; border-bottom: 1px solid rgba(255,255,255,.05); font-size: 14px; }
table.list tr:last-child td{ border-bottom: 0; }
table.list tr:hover td{ background: rgba(255,255,255,.025); }

table.list.bc-grid{ table-layout: fixed; font-size: 13px; }
.bc-grid col.c-date{ width: 96px; }
.bc-grid col.c-phone{ width: 132px; }
.bc-grid col.c-country{ width: 104px; }
.bc-grid col.c-sc{ width: 74px; }
.bc-grid col.c-ov{ width: 92px; }

.bc-grid th,.bc-grid td{ overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

.bc-grid thead th{ padding: 10px 14px; vertical-align: middle; font-size: 10.5px; letter-spacing: .6px; color: var(--mut); }
.bc-grid thead th.bsc{ text-align: center; padding-left: 4px; padding-right: 4px; font-size: 10px; letter-spacing: .3px; }
.bc-grid thead th.scgrp{ padding-bottom: 4px; font-size: 10px; color: #94a3b8; }
.bc-grid thead tr:last-child th.bsc{ padding-top: 2px; padding-bottom: 8px; }

.bc-grid tbody td{ padding: 11px 14px; vertical-align: middle; border-radius: 0; background: none;
  border: 0; border-bottom: 1px solid rgba(255,255,255,.045); }
.bc-grid tbody tr:hover td{ background: rgba(255,255,255,.025); }
.bc-grid td.ct{ color: var(--mut); }
.bc-grid td.bsc{ text-align: center; padding-left: 4px; padding-right: 4px; }

.bc-grid tbody td.ov,.bc-grid thead th:last-child{ border-left: 1px solid rgba(255,255,255,.06); }

.bc-grid .num{ color: #dbe4ee; font-weight: 600; font-size: 13.5px; font-variant-numeric: tabular-nums; }
.bc-grid .dash{ color: #3c4657; font-weight: 500; }
.bc-grid .num-ov{ color: #f4f7fb; font-weight: 800; font-size: 14px; font-variant-numeric: tabular-nums; }

.bc-grid .flag{ display: inline-block; min-width: 24px; padding: 3px 9px; border-radius: 6px;
  color: #fcbf49; background: rgba(245,158,11,.13); font-weight: 700; font-size: 13px; font-variant-numeric: tabular-nums; }
.bc-grid .flag-ov{ display: inline-block; min-width: 28px; padding: 3px 10px; border-radius: 6px;
  color: #fca5a5; background: rgba(239,68,68,.15); font-weight: 800; font-size: 14px; font-variant-numeric: tabular-nums; }

.band-big{ font-size: 38px; font-weight: 900; background: var(--grad); -webkit-background-clip: text; background-clip: text; color: transparent; }
.band-cards{ display: flex; gap: 14px; flex-wrap: wrap; margin: 16px 0 22px; }
.band-card{ background: var(--glass); border: 1px solid var(--bord); border-radius: 18px; padding: 16px 22px; min-width: 130px; text-align: center; }
.band-card .lbl{ font-size: 11px; color: var(--mut); text-transform: uppercase; letter-spacing: .8px; }
.band-card .val{ font-size: 30px; font-weight: 850; margin-top: 3px; }
.note{ background: rgba(251,191,36,.09); border: 1px solid rgba(251,191,36,.3); color: #fde68a;
  font-size: 13px; border-radius: 14px; padding: 11px 15px; margin: 10px 0; }
.review-q{ padding: 9px 14px; border-bottom: 1px solid rgba(255,255,255,.05); display: grid;
  grid-template-columns: 44px 1fr 1fr 70px; gap: 10px; font-size: 13.5px; align-items: center; }
.review-q .ok{ color: var(--grn); font-weight: 800; }
.review-q .bad{ color: #fb7185; font-weight: 800; }
.answer-box{ background: rgba(0,0,0,.25); border: 1px solid var(--bord); border-radius: 14px;
  padding: 15px; font-size: 14px; line-height: 1.65; white-space: pre-wrap; max-height: 320px; overflow: auto; }

.field{ margin-bottom: 14px; }
.field label{ display: block; font-size: 13px; font-weight: 700; margin-bottom: 6px; }
.field input,.field select,.crit-row select{
  width: 100%; padding: 10px 12px; border: 1px solid var(--bord2); border-radius: 12px;
  background: rgba(0,0,0,.3); color: var(--txt); }
.field input:focus,.field select:focus,.crit-row select:focus{ outline: none; border-color: var(--vio); box-shadow: 0 0 0 3px rgba(37,99,235,.25); }
.crit-row{ display: grid; grid-template-columns: 1fr 100px; gap: 10px; align-items: center; margin-bottom: 9px; }
.crit-row select{ width: 100px; }
select option{ background: #15162a; color: var(--txt); }

.toast{ position: fixed; bottom: 26px; left: 50%; transform: translateX(-50%);
  background: rgba(20,21,36,.92); border: 1px solid var(--bord2); color: #fff; padding: 12px 22px;
  border-radius: 16px; font-size: 14px; z-index: 99; backdrop-filter: blur(10px); box-shadow: var(--glow); }

.login-wrap{ min-height: 100vh; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 20px; }
.login-card{ width: 400px; max-width: 94vw; background: var(--glass); border: 1px solid var(--bord);
  border-radius: 26px; padding: 36px 32px; backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px); }
.login-card .ielts-logo{ font-weight: 900; font-size: 40px; text-align: center; margin-bottom: 2px; letter-spacing: 1px;
  background: var(--grad); -webkit-background-clip: text; background-clip: text; color: transparent; }
.login-title{ font-size: 18px; font-weight: 800; text-align: center; margin-bottom: 1px; letter-spacing: -.2px; }
.login-by{ text-align: center; font-size: 12.5px; font-weight: 600; color: var(--mut); letter-spacing: .4px; margin-bottom: 8px; }
.login-card h2{ font-size: 13.5px; text-align: center; margin-bottom: 18px; font-weight: 600; color: var(--mut);
  text-transform: uppercase; letter-spacing: 1.2px; }
.alertbar{ background: rgba(34,211,238,.09); border: 1px solid rgba(34,211,238,.3); color: #a5f3fc;
  font-size: 13px; border-radius: 12px; padding: 10px 13px; margin-bottom: 18px; }
.login-card input{ width: 100%; padding: 13px 14px; border: 1px solid var(--bord2); border-radius: 14px;
  margin-bottom: 12px; background: rgba(0,0,0,.3); color: var(--txt); }
.login-card input:focus{ outline: none; border-color: var(--vio); box-shadow: 0 0 0 3px rgba(37,99,235,.25); }
.pw-field{ position: relative; margin-bottom: 12px; }
.pw-field input{ margin-bottom: 0; padding-right: 46px; }
.pw-toggle{ position: absolute; right: 7px; top: 50%; transform: translateY(-50%); width: 34px; height: 34px; border: 0; background: none; color: var(--mut); display: inline-flex; align-items: center; justify-content: center; border-radius: 9px; cursor: pointer; transition: .15s; }
.pw-toggle:hover{ color: var(--cyan); background: var(--glass2); }
.pw-toggle svg{ width: 19px; height: 19px; }
.login-card .btn-login{ width: 100%; background: var(--grad); color: #fff; border: 0; border-radius: 14px;
  padding: 13px; font-weight: 800; font-size: 15px; box-shadow: var(--glow); transition: .18s; }
.login-card .btn-login:hover{ transform: translateY(-2px); }
.login-foot{ color: var(--mut); font-size: 12px; text-align: center; margin-top: 14px; }
.or-divider{ display: flex; align-items: center; gap: 12px; margin: 16px 0 12px; color: var(--mut); font-size: 12px; }
.or-divider::before,.or-divider::after{ content: ""; flex: 1; height: 1px; background: var(--bord2); }
.social-row{ display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.social-btn{ display: flex; align-items: center; justify-content: center; gap: 7px; padding: 10px 6px;
  border: 1px solid var(--bord2); border-radius: 12px; background: var(--glass2); color: var(--txt);
  font-weight: 700; font-size: 13px; transition: .15s; }
.social-btn:hover{ background: rgba(255,255,255,.14); transform: translateY(-1px); }
.demo-accounts{ margin-top: 28px; text-align: center; display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.demo-accounts .lbl{ font-size: 11px; color: var(--mut); text-transform: uppercase; letter-spacing: 1px; margin-bottom: 4px; grid-column: 1 / -1; }
.demo-accounts button{ width: 100%; font-size: 13px; font-weight: 800; padding: 9px 6px; border-radius: 14px; white-space: nowrap;
  border: 1px solid var(--bord2); background: var(--glass2); color: var(--txt); transition: .15s; }
.demo-accounts button:hover{ border-color: var(--vio); background: rgba(37,99,235,.18); }
.demo-accounts .crm-login-grid{ color:#bff0ff !important; background:linear-gradient(135deg,rgba(14,165,233,.24),rgba(34,211,238,.15)) !important; border:1.5px solid rgba(34,211,238,.5) !important; }
.demo-accounts .crm-login-grid:hover{ border-color:#22d3ee !important; background:linear-gradient(135deg,rgba(14,165,233,.34),rgba(34,211,238,.24)) !important; }
.login-err{ color: #fb7185; font-size: 13px; margin-bottom: 10px; text-align: center; }

/* Typography matched to the REAL computer-delivered IELTS player (Inspera), measured from the
   official familiarisation tests: body font is Arial (no webfont), base 16px, passage and
   question text 16px / 24px line-height. We were running 14.5px / 1.75 — noticeably smaller and
   looser than the real thing, which is the single biggest "this isn't the real test" tell. */
.player{ position: fixed; inset: 0; background: #fff; display: flex; flex-direction: column; z-index: 50;
  --ink: #1c1c1c; --grey: #6b6b6b; --line: #d9d9d9;
  color: var(--ink); font-family: Arial, Helvetica, sans-serif; font-size: 16px; }
.p-head{ background: #fff; border-bottom: 1px solid var(--line); display: flex; align-items: center;
  padding: 8px 18px; gap: 14px; min-height: 56px; flex-shrink: 0; }
.p-head .ielts{ color: var(--red); font-weight: 800; font-size: 22px; letter-spacing: .5px; }
.p-head .who{ line-height: 1.25; }
.p-head .who .tid{ font-weight: 700; font-size: 14px; }
.p-head .who .status{ font-size: 12px; color: var(--grey); }
.p-head .spacer{ flex: 1; }
.p-head .timer{ font-weight: 700; font-size: 15px; color: var(--ink); margin-right: 8px; font-variant-numeric: tabular-nums; }
.p-head .timer.warn{ color: var(--red); }
.icon-btn{ background: none; border: 0; padding: 6px; border-radius: 6px; display: flex; align-items: center; }
.icon-btn:hover{ background: #f0f0f0; }
.icon-btn svg{ width: 21px; height: 21px; stroke: #444; fill: none; stroke-width: 1.8; }

.p-body{ flex: 1; overflow: hidden; display: flex; flex-direction: column; }
.part-banner{ background: #f1f2ec; border-bottom: 1px solid var(--line); padding: 12px 16px; font-size: 16px; line-height: 24px; flex-shrink: 0; color: var(--ink); }
.part-banner b{ font-weight: 700; }
.p-content{ flex: 1; overflow: auto; padding: 22px 26px 40px; }
.p-content.split{ display: flex; overflow: hidden; padding: 0; }
.pane{ overflow-y: auto; padding: 22px 26px 60px; }
.pane.left{ flex: 1 1 50%; }
.pane.right{ flex: 1 1 50%; }
.divider{ width: 7px; background: #e3e3e3; cursor: col-resize; position: relative; flex: 0 0 7px; }
.divider::after{ content: "↔"; position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%);
  background: #bdbdbd; color: #fff; width: 22px; height: 22px; border-radius: 4px; font-size: 13px;
  display: flex; align-items: center; justify-content: center; }
.divider:hover,.divider.active{ background: #cfcfcf; }

.q-group{ margin-bottom: 30px; max-width: 720px; }
.q-intro{ font-size: 16px; margin-bottom: 16px; line-height: 24px; }
/* The real player puts "Questions 1–7" on its own bold line above the instruction. */
.q-head{ font-size: 16px; font-weight: 700; line-height: 24px; margin: 0 0 8px; color: var(--ink); }
.q-input{ border: 1.5px solid #8a8a8a; border-radius: 3px; padding: 4px 8px; width: 130px; font-size: 14px; background: #fff; color: var(--ink); }
.q-input::placeholder{ color: #999; font-weight: 700; }
.q-input:focus,.q-input.filled{ border-color: var(--blue); outline: none; }
.form-table{ border-collapse: collapse; width: 100%; max-width: 640px; }
.form-table caption{ font-weight: 700; padding: 8px; border: 1px solid #bbb; border-bottom: 0; background: #f7f7f7; font-size: 14.5px; }
.form-table td{ border: 1px solid #bbb; padding: 9px 12px; font-size: 14px; }
.form-table td:first-child{ width: 42%; background: #fbfbfb; }
.qnum{ font-weight: 700; color: #555; margin-right: 4px; }
.tfng-item{ margin-bottom: 18px; }
.tfng-item .stmt{ font-size: 16px; line-height: 24px; margin-bottom: 8px; }
.radio-row label{ display: flex; align-items: center; gap: 8px; font-size: 14px; padding: 3px 0; cursor: pointer; }

.radio-col{ display: flex; flex-direction: column; gap: 2px; }
.radio-col label{ align-items: flex-start; }
.radio-col label b{ min-width: 14px; }
.gap-sentence{ font-size: 14.5px; line-height: 2.1; margin-bottom: 10px; }
.gap-sentence .q-input{ width: 210px; } 

.answer-grid{ border-collapse: collapse; margin: 10px 0 4px; font-size: 14px; }
.answer-grid th,.answer-grid td{ border: 1px solid #d5d5d5; padding: 8px 10px; text-align: center; }
.answer-grid th{ background: #f4f6f8; font-weight: 700; }
.answer-grid td.ag-item{ text-align: left; max-width: 520px; }
.answer-grid .ag-cell label{ display: flex; justify-content: center; align-items: center; cursor: pointer; margin: 0; }
.player .answer-grid input[type=radio]{
  appearance: none; -webkit-appearance: none; width: 19px; height: 19px; margin: 0;
  border: 1.5px solid #767676; border-radius: 50%; background: #fff; flex-shrink: 0;
  display: inline-grid; place-content: center; cursor: pointer; }
.player .answer-grid input[type=radio]:hover{ border-color: #1c1c1c; }
.player .answer-grid input[type=radio]:checked{ border-color: #1c1c1c; }
.player .answer-grid input[type=radio]:checked::before{
  content: ""; width: 11px; height: 11px; border-radius: 50%; background: #1c1c1c; }

.headings-legend{ border: 1px solid #999; border-radius: 6px; padding: 10px 14px; margin: 8px 0 14px; max-width: 560px; background: #fafafa; }
.headings-legend .hl-title{ font-weight: 700; margin-bottom: 6px; }
.headings-legend .hl-row{ padding: 2px 0; font-size: 14px; }
.head-row{ display: flex; align-items: center; gap: 10px; padding: 7px 0; font-size: 14.5px; }
.head-row .head-sec{ min-width: 120px; }
.head-select{ padding: 5px 8px; font-size: 14px; border: 1.5px solid #8a8a8a; border-radius: 4px; background: #fff; }

.para-letter{ font-weight: 800; }

.chip{ display: inline-block; background: #fff; border: 1.5px solid #777; border-radius: 16px;
  padding: 5px 14px; font-size: 13.5px; margin: 4px; cursor: grab; user-select: none; color: var(--ink); }
.chip:active{ cursor: grabbing; }
.chip.in-gap{ margin: 0; }
.chips-list{ margin: 10px 0; }
.drop-gap{ display: block; min-height: 34px; border: 2px dashed #999; border-radius: 6px;
  margin: 8px 0 10px; padding: 2px 6px; background: #fcfcfc; min-width: 220px; }
.drop-gap.over{ border-color: var(--blue); background: #eef4fd; }
.drop-gap .gnum{ font-weight: 700; color: #888; font-size: 13px; margin-right: 6px; }
.transcript-box{ max-width: 720px; background: #f7f8fa; border: 1px solid #d9dce3; border-radius: 8px; padding: 14px 16px; margin-bottom: 22px; font-size: 13.5px; }
.transcript-box .ts-demo{ color: #888; font-size: 12px; }
.transcript-box p{ margin-top: 8px; line-height: 1.7; color: #333; }
.sec-letter{ font-size: 13px; color: #666; margin: 14px 0 4px; text-transform: uppercase; letter-spacing: .5px; }
.map-wrap{ position: relative; max-width: 640px; border: 1px solid #bbb; background: #fafafa; margin-bottom: 12px; }
.map-wrap svg{ display: block; width: 100%; height: auto; }
.map-gap{ position: absolute; transform: translate(-50%, -50%); min-width: 120px; min-height: 32px; display: inline-block; }
.kbd-help{ margin: 8px 0 14px; font-size: 13px; }
.kbd-help summary{ cursor: pointer; color: var(--blue); }
.kbd-help .body{ background: #f6f8fb; border: 1px solid #dce4ef; border-radius: 6px; padding: 10px 12px; margin-top: 6px; line-height: 1.55; }

.passage h2{ font-size: 19px; margin-bottom: 14px; }
.passage p{ font-size: 16px; line-height: 24px; margin-bottom: 16px; }
/* Bulleted lists inside a passage — the PDF flattened these into one running line. */
.passage ul.p-bullets{ margin: 0 0 16px; padding-left: 22px; list-style: disc; }
.passage ul.p-bullets li{ font-size: 16px; line-height: 24px; margin-bottom: 6px; }
.psec{ margin-bottom: 6px; }
mark.hl{ background: #ffe57a; }

.w-task .prompt{ font-size: 14.5px; line-height: 1.7; }
.stim-table{ border-collapse: collapse; background: #fff; font-size: 13.5px; color: #222; }
.stim-table caption{ font-weight: 700; padding: 7px; border: 1px solid #ccc; border-bottom: 0; background: #f7f7f7; }
.stim-table th,.stim-table td{ border: 1px solid #ccc; padding: 7px 14px; text-align: center; }
.stim-table td:first-child{ text-align: left; }
.proc-flow{ display: flex; flex-wrap: wrap; align-items: center; gap: 8px; background: #fff; border: 1px solid #ccc; padding: 14px; }
.proc-step{ background: #f2f6fb; border: 1px solid #b9cce3; border-radius: 8px; padding: 8px 12px; font-size: 12.5px; color: #234; }
.proc-arrow{ color: #888; font-size: 15px; }
.w-editor{ display: flex; flex-direction: column; }
.w-editor textarea{ flex: none; height: 340px; min-height: 180px; border: 1px solid #949494; border-radius: 2px;
  outline: none; resize: none; font-size: 15px; line-height: 1.7; overflow-y: auto;
  padding: 10px 12px; font-family: inherit; background: #fff; color: var(--ink); }
.w-editor textarea:focus{ border-color: #3d70b8; box-shadow: 0 0 0 1px #3d70b8; }
.w-grip{ height: 14px; border: 1px solid #949494; border-top: 0; background: #ececec;
  border-radius: 0 0 3px 3px; cursor: ns-resize; display: flex; align-items: center; justify-content: center;
  color: #777; font-size: 9px; letter-spacing: 2px; user-select: none; }
.w-grip::before{ content: "● ● ●"; }
.w-grip:hover{ background: #e0e0e0; }
.w-count{ text-align: right; color: var(--grey); font-size: 13px; padding: 6px 2px; }

.p-foot{ border-top: 1px solid var(--line); background: #fff; display: flex; align-items: flex-end;
  padding: 6px 14px; gap: 10px; flex-shrink: 0; min-height: 62px; }
.palette{ display: flex; align-items: flex-end; gap: 14px; flex: 1; overflow-x: auto; padding: 2px; }
.part-block{ display: flex; flex-direction: column; gap: 3px; }
.part-block .pname{ font-size: 11.5px; color: var(--grey); font-weight: 600; white-space: nowrap; }
.prog-strip{ display: flex; gap: 0; height: 5px; border-radius: 2px; overflow: hidden; background: #e2e2e2; }
.prog-strip span{ flex: 1; min-width: 8px; border-right: 1px solid #fff; }
.prog-strip span:last-child{ border-right: 0; }
.prog-strip span.done{ background: var(--green); }
.qbtns{ display: flex; gap: 3px; margin-top: 3px; }
.qbtn{ min-width: 27px; height: 27px; border: 1px solid #b5b5b5; background: #fff; font-size: 12.5px; border-radius: 2px; padding: 0 5px; color: var(--ink); }
.qbtn:hover{ border-color: #555; }
.qbtn.answered{ background: #fff; border-color: #b5b5b5; } 
.qbtn.current{ border: 2px solid #000; font-weight: 700; }
.part-collapsed{ border: 0; background: none; padding: 6px 10px;
  font-size: 13px; color: #333; cursor: pointer; white-space: nowrap; align-self: flex-end; }
.part-collapsed:hover{ text-decoration: underline; color: #000; }
.part-collapsed.task-done{ color: var(--green); font-weight: 600; }
.nav-arrows{ display: flex; gap: 6px; align-self: flex-end; }
.nav-arrows button{ width: 38px; height: 38px; border: 1px solid #999; background: #2b2b2b; color: #fff; font-size: 17px; border-radius: 4px; }
.nav-arrows button:disabled{ background: #e8e8e8; color: #aaa; border-color: #ccc; cursor: default; }
.nav-arrows .finish{ background: var(--ink); }

.overlay{ position: fixed; inset: 0; background: rgba(10,10,16,.6); backdrop-filter: blur(4px); z-index: 60;
  display: flex; align-items: center; justify-content: center; }
.overlay .panel{ background: #fff; color: #1c1c1c; border-radius: 12px; padding: 34px 40px; max-width: 480px;
  text-align: center; box-shadow: 0 10px 40px rgba(0,0,0,.4); }
.overlay .panel h2{ margin-bottom: 12px; font-size: 20px; }
.overlay .panel p{ color: #444; font-size: 14.5px; line-height: 1.6; margin-bottom: 20px; }
.overlay .panel .field input,.overlay .panel .field select{ background: #fff; color: #1c1c1c; border: 1px solid #ccc; }

.overlay .panel input[type="date"]{ color-scheme: light; background: #fff; color: #1c1c1c; border: 1px solid #d0d6df; border-radius: 10px; padding: 9px 12px; font-family: inherit; font-size: 14px; max-width: 220px; }
.overlay .panel input[type="date"]:focus{ outline: none; border-color: #0ea5e9; box-shadow: 0 0 0 3px rgba(14,165,233,.12); }
.overlay .panel .field label{ color: #1c1c1c; }
.overlay .panel .note{ background: #fff8e6; border-color: #f0dfa6; color: #6b5400; }
.overlay .panel .field input[readonly]{ background: #eef3f9; color: #0369a1; font-weight: 700; letter-spacing: .6px; }
.overlay .panel .seg{ display: flex; gap: 8px; }
.overlay .panel .seg-b{ flex: 1; padding: 9px 6px; border: 1.5px solid #d0d6df; border-radius: 10px; background: #fff; color: #1c1c1c; font-weight: 600; font-size: 13.5px; cursor: pointer; }
.overlay .panel .seg-b.active{ border-color: #0ea5e9; background: #e8f6fe; color: #0369a1; }
.overlay .panel .chiprow{ display: flex; gap: 8px; margin: 0 0 8px; }
.overlay .panel .qchip{ flex: 1; padding: 8px 0; border: 1px solid #d0d6df; border-radius: 8px; background: #fff; color: #1c1c1c; font-weight: 700; cursor: pointer; }
.overlay .panel .qchip.active{ border-color: #0ea5e9; background: #0ea5e9; color: #fff; }
.overlay .panel input[type=range]{ width: 100%; accent-color: #0ea5e9; }
.overlay .panel .tgl{ display: flex; align-items: center; gap: 10px; font-size: 13.5px; color: #1c1c1c; margin: 8px 0 18px; cursor: pointer; }
.overlay .panel .tgl input{ width: 18px; height: 18px; accent-color: #0ea5e9; flex: 0 0 auto; }
.overlay .panel .cred{ display: flex; gap: 12px; margin: 10px 0; }
.overlay .panel .cred > div{ flex: 1; background: #eef3f9; border: 1px solid #dbe3ee; border-radius: 10px; padding: 10px 14px; }
.overlay .panel .cred span{ display: block; font-size: 11px; color: #6b7280; text-transform: uppercase; letter-spacing: .05em; margin-bottom: 2px; }
.overlay .panel .cred b{ font-size: 19px; color: #0f172a; letter-spacing: .5px; }
.overlay .panel .cred-meta{ font-size: 13px; color: #475569; margin-bottom: 16px; }
.contact-cell{ display: flex; flex-direction: column; gap: 5px; }
.contact-cell .cinfo{ font-size: 12.5px; line-height: 1.25; }
.contact-cell .cinfo small{ display: block; color: var(--mut); font-size: 11px; }
.contact-cell .cacts{ display: flex; gap: 6px; flex-wrap: wrap; }
.ca{ font-size: 11px; font-weight: 600; padding: 2px 9px; border-radius: 20px; text-decoration: none; border: 1px solid var(--bord2); color: var(--mut); white-space: nowrap; }
.ca:hover{ color: var(--txt); border-color: var(--vio); }
.ca.wa{ color: #3ddc84; border-color: rgba(37,211,102,.4); }
.ca.em{ color: rgb(var(--accent)); border-color: rgba(var(--accent),.4); }
.del-x{ background: transparent; border: 1px solid var(--bord2); color: var(--mut); border-radius: 7px; padding: 3px 8px; font-size: 13px; cursor: pointer; line-height: 1; }
.del-x:hover{ color: #f87171; border-color: rgba(248,113,113,.55); background: rgba(248,113,113,.10); }
.overlay .panel .share-row{ display: flex; gap: 10px; margin: 6px 0 16px; }
.overlay .panel .share-row .btn{ flex: 1; display: inline-flex; align-items: center; justify-content: center; text-decoration: none; }
.overlay .panel .share-row .share-email{ background: #e8f1fe; border-color: #b9d6f7; color: #1d4ed8; }
.overlay .panel .share-row .share-wa{ background: #25d366; border-color: #1ea952; color: #fff; }
.stu-link{ color: var(--vio); font-weight: 600; cursor: pointer; text-decoration: none; border-bottom: 1px dashed transparent; }
.stu-link:hover{ border-bottom-color: var(--vio); }
.overlay .panel .phone-row{ display: flex; gap: 8px; }
.overlay .panel .phone-row select{ flex: 0 0 auto; max-width: 210px; }
.overlay .panel .phone-row input{ flex: 1; min-width: 0; }
.overlay .panel .pp-zone{ border-top: 1px solid #e2e6ee; margin: 18px 0 14px; padding-top: 16px; }
.overlay .panel .pp-head{ display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.overlay .panel .pp-title{ font-size: 14.5px; font-weight: 700; color: #1c1c1c; }
.overlay .panel .pp-sub{ font-size: 12px; color: #6b7280; margin-top: 1px; }
.overlay .panel .pp-toggle{ width: 46px; height: 26px; border-radius: 20px; border: 0; background: #cdd3dd; position: relative; cursor: pointer; flex: 0 0 auto; transition: .18s; }
.overlay .panel .pp-toggle.on{ background: #0ea5e9; }
.overlay .panel .pp-toggle .knob{ position: absolute; top: 3px; left: 3px; width: 20px; height: 20px; border-radius: 50%; background: #fff; transition: .18s; }
.overlay .panel .pp-toggle.on .knob{ left: 23px; }
.overlay .panel .pp-expiry{ margin-top: 14px; }
.overlay .panel .pp-exlabel{ font-size: 11px; color: #6b7280; margin-bottom: 8px; text-transform: uppercase; letter-spacing: .04em; }
.overlay .panel .pp-dateline{ margin-top: 8px; display: flex; align-items: center; gap: 8px; }
.overlay .panel .pp-dateline .qchip{ flex: 1; padding: 8px 0; }
.overlay .panel .pp-dateline input[type=date]{ flex: 1; background: #fff; color: #1c1c1c; border: 1px solid #ccc; border-radius: 8px; padding: 7px 10px; }
.overlay .panel .pp-dateline::after{ content: ""; flex: 1; }
.play-btn{ background: #111; color: #fff; border: 0; border-radius: 6px; padding: 13px 34px; font-size: 16px; font-weight: 700; }
.headphone{ font-size: 46px; margin-bottom: 10px; }

.p-page{ position: absolute; inset: 56px 0 0 0; background: #fff; color: var(--ink); z-index: 55; overflow: auto; padding: 30px 40px; }
.p-page h2{ font-size: 21px; margin-bottom: 20px; }
.p-page .close-x{ position: absolute; top: 18px; right: 26px; font-size: 22px; background: none; border: 0; color: #555; }
.submit-banner{ display: block; width: 100%; max-width: 560px; background: var(--red); color: #fff; border: 0;
  border-radius: 8px; padding: 15px; font-size: 16px; font-weight: 700; margin-bottom: 30px; text-align: left; }
.opt-group{ margin-bottom: 26px; max-width: 560px; }
.opt-group h3{ font-size: 15px; margin-bottom: 10px; }
.opt-group label{ display: flex; gap: 10px; align-items: center; padding: 7px 4px; font-size: 14.5px; cursor: pointer; }
.end-page{ display: flex; flex-direction: column; align-items: center; justify-content: center; height: 100%; text-align: center; }
.end-page h2{ font-size: 22px; margin-bottom: 8px; }
.end-page p{ color: var(--grey); margin-bottom: 26px; }
.next-btn{ background: #111; color: #fff; border: 0; border-radius: 6px; padding: 14px 36px; font-size: 16px; font-weight: 700; }
.p-foot.disabled .qbtn,.p-foot.disabled .part-collapsed{ opacity: .55; }

.ctx-menu{ position: fixed; background: #fff; border: 1px solid #ccc; border-radius: 6px;
  box-shadow: 0 4px 18px rgba(0,0,0,.18); z-index: 80; min-width: 150px; overflow: hidden; }
.ctx-menu button{ display: block; width: 100%; text-align: left; padding: 9px 14px; border: 0; background: #fff; font-size: 13.5px; color: #1c1c1c; }
.ctx-menu button:hover{ background: #f2f6fd; }
.notes-panel{ position: fixed; right: 0; top: 56px; bottom: 62px; width: 270px; background: #fffdf2;
  border-left: 1px solid #e2d9a8; z-index: 56; padding: 16px; overflow: auto; color: #1c1c1c; }
.notes-panel h3{ font-size: 14px; margin-bottom: 10px; }
.notes-panel .n-item{ background: #fff; border: 1px solid #e8e0b0; border-radius: 6px; padding: 8px 10px; font-size: 13px; margin-bottom: 8px; }
.notes-panel .n-item .src{ color: #998c4a; font-size: 11.5px; margin-top: 4px; font-style: italic; }

.player.theme-wb{ background: #000; }
.player.theme-wb .p-head,.player.theme-wb .p-foot,.player.theme-wb .p-content,.player.theme-wb .pane,.player.theme-wb .part-banner,.player.theme-wb .p-page{ background: #000; color: #fff; }
.player.theme-wb .passage p,.player.theme-wb .q-intro,.player.theme-wb .tfng-item .stmt,.player.theme-wb td,.player.theme-wb label,.player.theme-wb .gap-sentence{ color: #fff; }
.player.theme-wb .q-input,.player.theme-wb textarea,.player.theme-wb .form-table td{ background: #111; color: #fff; }
.player.theme-yb{ background: #000; }
.player.theme-yb .p-head,.player.theme-yb .p-foot,.player.theme-yb .p-content,.player.theme-yb .pane,.player.theme-yb .part-banner,.player.theme-yb .p-page{ background: #000; color: #ffe14d; }
.player.theme-yb .passage p,.player.theme-yb .q-intro,.player.theme-yb .tfng-item .stmt,.player.theme-yb td,.player.theme-yb label,.player.theme-yb .gap-sentence{ color: #ffe14d; }
.player.theme-yb .q-input,.player.theme-yb textarea,.player.theme-yb .form-table td{ background: #111; color: #ffe14d; }
/* The real player offers exactly three text sizes — Regular (default) 16px, Large 19px,
   Extra large 22px — applied to the whole test, not just the passage. */
.player.fs-large{ font-size: 19px; }
.player.fs-large .passage p,.player.fs-large .q-intro,.player.fs-large .tfng-item .stmt,.player.fs-large .gap-sentence,.player.fs-large td,.player.fs-large label{ font-size: 19px; line-height: 28px; }
.player.fs-small{ font-size: 22px; }   /* "Extra large" — the third step */
.player.fs-small .passage p,.player.fs-small .q-intro,.player.fs-small .tfng-item .stmt,.player.fs-small .gap-sentence,.player.fs-small td,.player.fs-small label{ font-size: 22px; line-height: 32px; }

.sub-pro b{ color: var(--amber); }
.carousel{ position: relative; }
.car-track{ display: grid; grid-auto-flow: column; grid-auto-columns: calc(25% - 12px); gap: 16px;
  overflow-x: auto; scroll-behavior: smooth; scrollbar-width: none; padding: 4px 2px 8px; }
.car-track::-webkit-scrollbar{ display: none; }
.car-btn{ position: absolute; top: 45%; transform: translateY(-50%); z-index: 3; width: 36px; height: 36px;
  border-radius: 50%; border: 1px solid var(--bord2); background: rgba(22,24,38,.92); color: var(--txt);
  font-size: 20px; line-height: 1; display: flex; align-items: center; justify-content: center; }
.car-btn:hover{ background: var(--grad); border: 0; }
.car-btn.prev{ left: -16px; } .car-btn.next{ right: -16px; }
@media (max-width: 1000px){ .car-track{ grid-auto-columns: calc(50% - 8px); } }
@media (max-width: 560px){ .car-track{ grid-auto-columns: 90%; } }

.skill-btn{ position: relative; }
.qt-pop{ display: none; position: absolute; top: calc(100% + 8px); left: 50%; transform: translateX(-50%);
  background: rgba(22,24,38,.97); border: 1px solid var(--bord2); border-radius: 14px; padding: 12px 14px;
  min-width: 250px; z-index: 25; box-shadow: 0 14px 36px rgba(0,0,0,.45); text-align: left; }
.skill-btn:hover .qt-pop{ display: flex; flex-direction: column; gap: 5px; }
.qt-pop span{ font-size: 12.5px; color: var(--txt); font-weight: 600; white-space: nowrap; }

.sp-topic{ margin: 12px 0 0; font-size: 14px; }
.sp-topic ul,.sp-p3{ margin: 6px 0 0 20px; color: var(--mut); line-height: 1.8; font-size: 13.5px; }
.cue-box{ background: rgba(37,99,235,.08); border: 1px solid rgba(37,99,235,.3); border-radius: 14px;
  padding: 16px 18px; font-size: 14px; line-height: 1.7; margin: 12px 0; }
.cue-box ul{ margin: 2px 0 6px 20px; }
.sp-timers{ display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.sp-clock{ font-weight: 800; font-variant-numeric: tabular-nums; color: var(--cyan); }
.card h3 .t-time{ float: right; font-size: 12px; }

.prof-grid{ display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.prof-grid small{ display: block; color: var(--mut); font-size: 11px; text-transform: uppercase; letter-spacing: .6px; margin-bottom: 3px; }
.prof-display{ margin-top: 16px; padding-top: 16px; border-top: 1px solid var(--bord); }
.prof-display > label{ display:block; font-size:13.5px; font-weight:700; color:var(--txt); margin-bottom:8px; }
.prof-display > label span{ font-weight:500; color:var(--mut); }
.prof-display-row{ display:flex; gap:8px; max-width:440px; }
.prof-display-row input{ flex:1; min-width:0; padding:9px 13px; border:1px solid var(--bord2); border-radius:10px; background:var(--glass); color:var(--txt); font-size:14px; }
.prof-display-row input:focus{ outline:none; border-color:#0284c7; }
.prof-display-row .btn{ white-space:nowrap; }
.reg-grid{ display: grid; grid-template-columns: 1fr 1fr; gap: 0 16px; margin: 14px 0 6px; }
@media (max-width: 700px){ .prof-grid,.reg-grid{ grid-template-columns: 1fr; } }

.dlg-x{ position: absolute; top: 10px; right: 10px; width: 32px; height: 32px; border-radius: 50%;
  border: 0; background: #1c1c1c; color: #fff; font-size: 15px; font-weight: 700; line-height: 1;
  display: flex; align-items: center; justify-content: center; box-shadow: 0 2px 8px rgba(0,0,0,.3); }
.dlg-x:hover{ background: var(--red); }

.admin-shell{ display: flex; min-height: calc(100vh - 120px); }
.admin-side{ width: 220px; flex-shrink: 0; padding: 22px 12px; border-right: 1px solid var(--bord);
  display: flex; flex-direction: column; gap: 4px; background: rgba(255,255,255,.02); }
.side-item{ display: flex; align-items: center; gap: 11px; padding: 11px 14px; border: 0; border-radius: 12px;
  background: none; color: var(--mut); font-weight: 700; font-size: 14px; text-align: left; transition: .15s; }
.side-item:hover{ background: var(--glass2); color: var(--txt); }
.side-item.side-crm{ color:#7dd3fc; background:linear-gradient(135deg,rgba(14,165,233,.16),rgba(34,211,238,.08)); border:1px solid rgba(34,211,238,.4); margin:4px 0; }
.side-item.side-crm:hover{ border-color:#22d3ee; background:linear-gradient(135deg,rgba(14,165,233,.26),rgba(34,211,238,.16)); }
.crm-embed{ width:100%; height:80vh; border:1px solid var(--bord); border-radius:16px; margin-top:8px; background:#0a1020; }

.cx-earn{background:linear-gradient(120deg,rgba(34,197,94,.16),rgba(var(--accent),.12));border:1px solid rgba(34,197,94,.32);border-radius:14px;padding:14px 18px;font-size:14px;margin:0}
.cx-earn b{color:var(--txt)}.cx-earn .g{color:#34d399}
.cx-ph{font-size:11.5px;color:var(--mut);margin-top:2px}
.cx-mut{color:var(--mut)}
.cx-temp{display:inline-block;padding:2px 9px;border-radius:999px;font-size:11px;font-weight:800}
.cx-Hot{background:rgba(251,113,133,.16);color:#fb7185}.cx-Warm{background:rgba(251,191,36,.16);color:#fcd34d}.cx-Cold{background:rgba(148,163,184,.16);color:#94a3b8}
.cx-pill{display:inline-block;padding:1px 9px;border-radius:999px;font-size:11px;font-weight:700;border:1px solid var(--bord2)}
.cx-st-New{color:#7dd3fc}.cx-st-Contacted{color:#67e8f9}.cx-st-Trial{color:#fcd34d}.cx-st-Enrolled{color:#6ee7b7}.cx-st-Lost{color:#94a3b8}

/* ── OWNER CHIP (sales-team feedback #3, BDM) ─────────────────────────────────────────────
   Each BDM gets a chip shaped like the Stage badge, in a colour that is unique to them and the
   same on every screen (list, pipeline, follow-ups, lead detail) — so in the "All leads" list
   you can find your own rows without reading a single name.

   The colour is held in a custom property --own, NOT in `currentColor`. The first version used
   `background:currentColor` on the initials disc while also setting `color:#0b1020` on that same
   element — so currentColor resolved to the disc's OWN dark colour and the disc rendered
   dark-on-dark, i.e. invisible. --own keeps the hue available to the child independently. */
.cx-own{display:inline-flex;align-items:center;gap:6px;padding:2px 10px 2px 2px;border-radius:999px;
  font-size:11.5px;font-weight:700;line-height:1.6;white-space:nowrap;
  color:var(--own);border:1px solid var(--own);
  background:color-mix(in srgb, var(--own) 14%, transparent)}
.cx-own .cx-own-i{display:inline-flex;align-items:center;justify-content:center;
  width:18px;height:18px;border-radius:50%;flex:none;font-size:9.5px;font-weight:800;font-style:normal;
  background:var(--own);color:#0b1020}
.cx-own-0 {--own:#7dd3fc}   /* sky      */
.cx-own-1 {--own:#f0abfc}   /* fuchsia  */
.cx-own-2 {--own:#fcd34d}   /* amber    */
.cx-own-3 {--own:#6ee7b7}   /* emerald  */
.cx-own-4 {--own:#fda4af}   /* rose     */
.cx-own-5 {--own:#a5b4fc}   /* indigo   */
.cx-own-6 {--own:#67e8f9}   /* cyan     */
.cx-own-7 {--own:#fdba74}   /* orange   */
.cx-own-8 {--own:#c4b5fd}   /* violet   */
.cx-own-9 {--own:#86efac}   /* green    */
.cx-own-10{--own:#f9a8d4}   /* pink     */
.cx-own-11{--own:#93c5fd}   /* blue     */
.cx-own-12{--own:#5eead4}   /* teal     */
.cx-own-13{--own:#d8b4fe}   /* purple   */
.cx-own-x {--own:#94a3b8;padding-left:10px}        /* unassigned / none */
.cx-own-x .cx-own-i{display:none}
.cx-kc-m .cx-own,.tr-mylead .cx-own{font-size:11px}
.cx-metab .cx-own{vertical-align:middle}
.cx-due{font-weight:700;font-size:12.5px}.cx-due.over{color:#fb7185}.cx-due.today{color:#fbbf24}.cx-due.up{color:var(--mut)}
.cx-row:hover td{background:rgba(var(--accent),.06)}
.cx-grp{margin-bottom:20px}
.cx-gh{font-weight:800;font-size:13px;text-transform:uppercase;letter-spacing:.5px;margin:0 0 10px;display:flex;gap:8px;align-items:center}
.cx-gh span{background:rgba(127,127,127,.12);border:1px solid var(--bord);border-radius:20px;padding:0 8px;font-size:11.5px;color:var(--mut)}
.cx-fu{display:flex;align-items:center;gap:12px;border:1px solid var(--bord);border-radius:12px;padding:10px 14px;margin-bottom:8px;cursor:pointer;background:rgba(127,127,127,.05)}
.cx-fu:hover{border-color:rgb(var(--accent))}
.cx-fu-main{flex:1;min-width:0}
.cx-fu-acts{display:flex;gap:6px}
.cx-mini{width:34px;height:34px;border-radius:10px;border:1px solid var(--bord);display:flex;align-items:center;justify-content:center;cursor:pointer;text-decoration:none;font-size:15px;background:rgba(127,127,127,.06);color:var(--txt)}
.cx-mini.call{background:#0ea5e9;border-color:#0ea5e9}.cx-mini.wa{background:#25d366;border-color:#25d366}
.cx-mini.snz{width:auto;padding:0 10px;font-size:11px;font-weight:800;color:var(--mut)}
.cx-kan{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;align-items:start}
.cx-kcol{background:rgba(127,127,127,.05);border:1px solid var(--bord);border-radius:14px;padding:12px;min-height:120px}
.cx-kh{font-weight:800;font-size:12.5px;text-transform:uppercase;letter-spacing:.4px;display:flex;justify-content:space-between;margin-bottom:11px}
.cx-kc{background:rgba(127,127,127,.08);border:1px solid var(--bord);border-radius:12px;padding:9px 11px;margin-bottom:8px;cursor:pointer}
.cx-kc:hover{border-color:rgb(var(--accent))}
.cx-subnav{display:flex;gap:8px;margin:0 0 18px;flex-wrap:wrap}
.cx-subtab{background:rgba(127,127,127,.06);border:1px solid var(--bord);border-radius:12px;padding:9px 15px;color:var(--mut);font-weight:700;font-size:13px;cursor:pointer;font-family:inherit}
.cx-subtab.on{background:var(--grad);color:#fff;border:0}
.cx-card{background:rgba(127,127,127,.05);border:1px solid var(--bord);border-radius:16px;padding:16px 18px;margin-top:14px}
.cx-ch{font-weight:800;margin:0 0 12px}
.cx-slab{display:flex;align-items:center;gap:9px;padding:9px 2px;border-bottom:1px solid var(--bord);font-size:13px}
.cx-slab:last-child{border-bottom:0}.cx-slab span{flex:1;color:var(--mut)}.cx-slab.on span{color:var(--txt);font-weight:700}.cx-slab b{font-weight:800}
.cx-here{flex:0 0 auto;font-size:10px;font-weight:800;background:rgba(52,211,153,.18);color:#6ee7b7;border-radius:20px;padding:1px 8px}
.cx-nudge{margin-top:12px;background:rgba(251,191,36,.1);border:1px solid rgba(251,191,36,.32);border-radius:12px;padding:11px 14px;font-size:13px;color:#fbbf24}
.cx-nudge.ok{background:rgba(52,211,153,.1);border-color:rgba(52,211,153,.3);color:#6ee7b7}
.cx-dn{font-family:Sora,sans-serif;font-size:19px;font-weight:800}
.cx-acts{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:14px 0}
.cx-act{display:flex;align-items:center;justify-content:center;gap:7px;padding:10px;border-radius:12px;text-decoration:none;font-weight:700;font-size:13px;border:1px solid var(--bord);color:var(--txt)}
.cx-act.call{background:#0ea5e9;color:#04121f;border:0}.cx-act.wa{background:#25d366;color:#04210f;border:0}.cx-act.email{background:rgba(var(--accent),.16);color:#7dd3fc}
.cx-deal{background:rgba(52,211,153,.1);border:1px solid rgba(52,211,153,.28);border-radius:12px;padding:10px 14px;font-size:13px;color:#86efac;margin-bottom:6px}
.cx-deal b{color:var(--txt)}.cx-deal .g{color:#34d399}
.cx-deal-r{line-height:1.45}.cx-deal-r+.cx-deal-r{margin-top:3px}
.cx-sec{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.6px;color:rgb(var(--accent));margin:16px 0 9px}
.cx-flow{display:flex;gap:5px}
.cx-sp{flex:1;text-align:center;font-size:10.5px;font-weight:700;padding:6px 2px;border-radius:8px;background:rgba(127,127,127,.06);border:1px solid var(--bord);color:var(--mut);cursor:pointer}
.cx-sp.on{background:var(--grad);color:#fff;border:0}
.cx-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.cx-f{background:rgba(127,127,127,.05);border:1px solid var(--bord);border-radius:12px;padding:9px 12px}
.cx-f small{display:block;color:var(--mut);font-size:10.5px;text-transform:uppercase;letter-spacing:.4px;margin-bottom:2px}
.cx-log{display:flex;gap:8px}
.cx-log select,.cx-log input{background:rgba(127,127,127,.06);border:1px solid var(--bord);border-radius:10px;padding:9px 11px;color:var(--txt);font-family:inherit;font-size:13px}
.cx-log input{flex:1;min-width:0}
.cx-tl .cx-ti{border-left:2px solid var(--bord);padding:0 0 12px 14px;font-size:12.5px;color:var(--mut)}
.cx-tl .cx-ti b{font-weight:700;color:var(--txt)}
@media(max-width:900px){.cx-kan{grid-template-columns:repeat(2,1fr)}.cx-acts{grid-template-columns:1fr 1fr}}

.sf-app{background:radial-gradient(1100px 820px at 10% 6%,rgba(var(--accent),.15),transparent 58%),radial-gradient(1000px 780px at 94% 10%,rgba(var(--accent2),.17),transparent 58%),radial-gradient(900px 720px at 55% 112%,rgba(var(--accent2),.10),transparent 60%),#080b16;color:var(--txt);min-height:100vh}

.sf-app-side{display:flex;align-items:stretch;min-height:100vh}
.sf-side{width:214px;flex:0 0 214px;display:flex;flex-direction:column;gap:4px;background:linear-gradient(180deg,#04203f,#07335c);border-right:1px solid rgba(255,255,255,.10);padding:18px 12px}
.sf-side-brand{color:#fff;font-size:15px;font-weight:600;display:flex;align-items:center;gap:8px;padding:4px 10px 14px;white-space:nowrap}
.sf-side-brand b{font-weight:800}.sf-side-brand .sf-cloud{font-size:17px;color:#7dd3fc}
.sf-side-nav{display:flex;flex-direction:column;gap:3px}
.sf-side-item{display:flex;align-items:center;gap:11px;padding:11px 13px;border:0;border-radius:10px;background:transparent;color:#bcd4ee;font-size:14px;font-weight:600;font-family:inherit;cursor:pointer;text-align:left;width:100%;white-space:nowrap;transition:background .12s,color .12s,box-shadow .12s}
.sf-side-item:hover{background:rgba(255,255,255,.08);color:#fff}
.sf-side-item.on{background:linear-gradient(90deg,rgba(var(--accent),.22),rgba(var(--accent),.06));color:#fff;box-shadow:inset 3px 0 0 #22d3ee}
.sf-side-ic{flex:0 0 auto;width:20px;text-align:center;font-size:15px}
.sf-side .sf-new{width:100%;margin-top:16px;padding:11px 14px;border-radius:10px;text-align:center}
.sf-app-side .sf-main{flex:1;min-width:0}
@media(max-width:820px){.sf-app-side{flex-direction:column;min-height:0}.sf-side{width:100%;flex:0 0 auto;flex-direction:row;flex-wrap:wrap;align-items:center;border-right:0;border-bottom:1px solid rgba(255,255,255,.1)}.sf-side-brand{width:100%;padding-bottom:8px}.sf-side-nav{flex-direction:row;flex-wrap:wrap;flex:1}.sf-side-item.on{box-shadow:inset 0 -3px 0 #22d3ee}.sf-side .sf-new{width:auto;margin:0 0 0 auto}}
.sf-appbar{display:flex;align-items:center;gap:18px;background:linear-gradient(90deg,#04203f,#0a4f86);padding:0 22px;height:50px;border-bottom:1px solid rgba(255,255,255,.10);box-shadow:0 2px 12px rgba(0,0,0,.4)}
.sf-applogo{color:#fff;font-size:15px;font-weight:600;display:flex;align-items:center;gap:7px;white-space:nowrap}.sf-applogo b{font-weight:800}.sf-cloud{font-size:17px;color:#7dd3fc}
.sf-tabs{display:flex;gap:2px;flex:1;height:100%;align-items:stretch;overflow-x:auto}
.sf-tab{background:transparent;border:0;border-bottom:3px solid transparent;color:#bcd4ee;font-size:13.5px;font-weight:600;padding:0 16px;cursor:pointer;font-family:inherit;white-space:nowrap;transition:.12s}
.sf-tab:hover{background:rgba(255,255,255,.08);color:#fff}
.sf-tab.on{color:#fff;border-bottom-color:#22d3ee;background:rgba(255,255,255,.06)}

.sf-tabs .sf-tab[data-aview="examslots"]{margin-left:13px;position:relative}
.sf-tabs .sf-tab[data-aview="examslots"]::before{content:"";position:absolute;left:-7px;top:50%;transform:translateY(-50%);height:20px;width:1px;background:rgba(255,255,255,.18)}
.sf-new{background:var(--grad);color:#04121f;border:0;border-radius:8px;font-weight:800;padding:7px 14px;cursor:pointer;font-family:inherit;white-space:nowrap}
.sf-new:hover{filter:brightness(1.07)}
.sf-main{padding:0}.sf-wrap{max-width:1320px;margin:0 auto;padding:30px 28px 72px;display:flex;flex-direction:column;gap:24px}
.sf-wrap.sf-fin{max-width:1600px}

.fin-shell{display:flex;align-items:flex-start;gap:0;min-height:calc(100vh - 60px)}
.fin-side{width:232px;flex-shrink:0;background:var(--glass);border-right:1px solid var(--bord);padding:14px 12px 40px;position:sticky;top:60px;height:calc(100vh - 60px);overflow-y:auto}
.fin-side-logo{font-size:15px;font-weight:800;color:var(--txt);padding:6px 10px 10px;letter-spacing:-.2px}
.fin-side-logo b{background:var(--grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.fin-sgroup{font-size:10px;font-weight:800;letter-spacing:.8px;text-transform:uppercase;color:var(--mut);padding:15px 10px 5px}
.fin-sitem{display:flex;align-items:center;gap:10px;width:100%;text-align:left;padding:9px 11px;margin:1px 0;border-radius:10px;border:1px solid transparent;background:transparent;color:var(--mut);font-size:13px;font-weight:600;cursor:pointer;transition:background .14s,color .14s,border-color .14s}
.fin-sitem:hover{background:var(--glass2);color:var(--txt)}
.fin-sitem.on{background:linear-gradient(120deg,rgba(var(--accent),.18),rgba(var(--accent),.03));color:var(--txt);border-color:rgba(var(--accent),.42);box-shadow:0 0 0 1px rgba(var(--accent),.18) inset}
.fin-sitem.on .fin-sitem-ic{filter:drop-shadow(0 0 6px rgba(var(--accent),.75))}
.fin-sitem-ic{width:20px;text-align:center;flex-shrink:0;font-size:14px}
.fin-shell .sf-main{flex:1;min-width:0}
.fin-shell .sf-wrap.sf-fin{max-width:1500px;padding-top:26px}
@media(max-width:860px){.fin-shell{flex-direction:column}.fin-side{width:auto;position:static;height:auto;border-right:0;border-bottom:1px solid var(--bord);display:flex;flex-wrap:wrap;gap:4px;padding:10px}.fin-side-logo{width:100%}.fin-sgroup{width:100%;padding-top:6px}.fin-sitem{width:auto}}
.sf-pageheader{background:rgba(255,255,255,.04);border:1px solid var(--bord);border-radius:14px;padding:13px 18px;margin-bottom:16px;display:flex;align-items:center;gap:16px}
.sf-objtype{font-size:11px;color:var(--mut);text-transform:uppercase;letter-spacing:.4px;font-weight:700}
.sf-objname{font-size:20px;font-weight:800;color:var(--txt);font-family:'Sora',sans-serif}
.sf-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:16px}
.sf-kpi{background:rgba(255,255,255,.05);border:1px solid var(--bord);border-left:3px solid rgb(var(--accent));border-radius:14px;padding:15px 18px}
.sf-kpi-v{font-size:23px;font-weight:800;color:var(--txt);font-family:'Sora',sans-serif}.sf-kpi-l{font-size:11.5px;color:var(--mut);margin-top:3px;text-transform:uppercase;letter-spacing:.3px}
.sf-grid2{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:0}
.sf-card{background:rgba(255,255,255,.04);border:1px solid var(--bord);border-radius:14px;overflow:hidden}
.sf-card-h{font-size:13px;font-weight:700;color:var(--txt);padding:16px 20px;border-bottom:1px solid var(--bord);background:rgba(255,255,255,.03)}
.sf-card-b{padding:20px}
.sf-fn{display:flex;align-items:center;gap:12px;margin-bottom:10px}.sf-fn-l{flex:0 0 92px;font-size:12.5px;color:var(--mut);font-weight:600}
.sf-fn-tr{flex:1;height:24px;background:rgba(255,255,255,.06);border-radius:5px;overflow:hidden}.sf-fn-fl{display:flex;align-items:center;justify-content:flex-end;height:100%;padding-right:8px;background:linear-gradient(90deg,#0ea5e9,#22d3ee);color:#04121f;font-size:11.5px;font-weight:800;border-radius:5px}
.sf-fn-amt{flex:0 0 auto;min-width:90px;text-align:right;font-size:12.5px;font-weight:800;color:#e7eefb}

.fin-qa{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;margin:14px 0}
.fin-qa-b{display:flex;align-items:center;gap:12px;text-align:left;background:rgba(127,127,127,.08);border:1px solid var(--bord);border-radius:14px;padding:13px 15px;cursor:pointer;font-family:inherit;color:var(--txt);transition:border-color .12s,transform .08s}
.fin-qa-b:hover{border-color:#0ea5e9;transform:translateY(-1px)}
.fin-qa-ic{font-size:22px;flex:0 0 auto}
.fin-qa-t{display:flex;flex-direction:column;min-width:0}.fin-qa-t b{font-size:14px}.fin-qa-t small{color:var(--mut);font-size:12px}
.fin-sec{margin:20px 0 10px;font-weight:800;font-size:13px;color:var(--mut);border-top:1px solid var(--bord);padding-top:14px}
.fin-toggle{display:inline-flex;gap:4px;background:rgba(127,127,127,.14);border-radius:10px;padding:3px}
.fin-tg{background:transparent;border:0;color:var(--mut);border-radius:8px;padding:6px 12px;cursor:pointer;font-family:inherit;font-weight:700;font-size:12.5px}
.fin-tg.on{background:#0176d3;color:#fff}

.eval-prompt{background:rgba(1,118,211,.07);border:1px solid rgba(1,118,211,.28);border-left:4px solid #0176d3;border-radius:10px;padding:12px 14px;margin:10px 0 0;color:var(--txt);font-size:14.5px;line-height:1.55}
.eval-prompt-h{font-weight:800;color:#0176d3;font-size:12px;text-transform:uppercase;letter-spacing:.4px;margin-bottom:5px}
.eval-ans-h{font-weight:800;color:var(--mut);font-size:12px;text-transform:uppercase;letter-spacing:.4px}
.eval-prompt-b{line-height:1.55}
.eval-fig{margin-top:12px;background:rgba(127,127,127,.06);border:1px solid var(--bord);border-radius:10px;padding:12px 14px}
.eval-fig-cap{margin-top:6px;font-size:11.5px;color:var(--mut);text-align:center;font-style:italic}

.rv-card{background:linear-gradient(180deg,rgba(127,127,127,.07),rgba(127,127,127,.02));border:1px solid var(--bord);border-radius:16px;padding:18px 20px;margin-top:16px}
.rv-card-warn{border-color:rgba(251,113,133,.35);background:linear-gradient(180deg,rgba(251,113,133,.06),rgba(127,127,127,.02))}
.rv-h{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:16px;padding-bottom:13px;border-bottom:1px solid var(--bord)}
.rv-h-l{min-width:0;display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
.rv-h-t{font-family:'Sora',sans-serif;font-weight:800;font-size:18px;color:var(--txt);letter-spacing:-.01em}
.rv-h-s{font-size:13px;color:var(--mut)}
.rv-src{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:700;color:var(--txt);background:rgba(127,127,127,.12);border:1px solid var(--bord);border-radius:999px;padding:6px 12px;white-space:nowrap}
.rv-src-star{color:#fbbf24}
.rv-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(265px,1fr));gap:12px}
.rv-item{position:relative;display:flex;flex-direction:column;gap:9px;overflow:hidden;background:var(--card,rgba(255,255,255,.02));border:1px solid var(--bord);border-radius:14px;padding:14px 15px;transition:transform .14s ease,box-shadow .14s ease,border-color .14s}
.rv-item:hover{transform:translateY(-2px);box-shadow:0 12px 26px rgba(0,0,0,.20);border-color:rgba(125,211,252,.45)}
.rv-item::before{content:"\201C";position:absolute;bottom:2px;right:14px;font-family:Georgia,serif;font-size:42px;line-height:1;color:rgba(125,211,252,.10);pointer-events:none;z-index:0}
.rv-item>*{position:relative;z-index:1}
.rv-pos{border-left:3px solid #34d399}.rv-mid{border-left:3px solid #fbbf24}.rv-neg{border-left:3px solid #fb7185}
.rv-stars{letter-spacing:1.5px;font-size:13px}.rv-st{color:#fbbf24}.rv-st-e{color:rgba(127,127,127,.4)}
.rv-txt{font-size:13.5px;line-height:1.55;color:var(--txt);position:relative;z-index:1}
.rv-foot{display:flex;align-items:center;gap:10px;margin-top:auto}
.rv-av{flex:0 0 auto;width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:800;font-size:12.5px;box-shadow:0 2px 6px rgba(0,0,0,.18)}
.rv-who{display:flex;flex-direction:column;min-width:0}.rv-who b{font-size:13px;color:var(--txt);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rv-date{font-size:11px;color:var(--mut)}
.rv-act-row{margin-top:4px;padding-top:10px;border-top:1px dashed var(--bord)}
.rv-hint{font-size:12px;color:#fb7185;font-weight:700;margin-bottom:8px}
.rv-act-btn{width:100%;background:rgba(52,211,153,.12);border:1px solid rgba(52,211,153,.4);color:#34d399;border-radius:10px;padding:8px 12px;cursor:pointer;font-family:inherit;font-weight:800;font-size:12.5px;transition:background .12s}
.rv-act-btn:hover{background:rgba(52,211,153,.22)}
.rv-item-done{opacity:.92}.rv-item-done::before{color:rgba(52,211,153,.16)}
.rv-done{display:block;font-size:12px;font-weight:700;color:#34d399}
.rv-done-by{color:var(--mut);font-weight:500}
.rv-undo{background:none;border:0;color:#7dd3fc;cursor:pointer;font-family:inherit;font-size:12px;text-decoration:underline;padding:0 0 0 4px}
.rv-nav{display:inline-flex;gap:6px}
.rv-navb{background:rgba(127,127,127,.12);border:1px solid var(--bord);color:var(--txt);border-radius:999px;padding:7px 14px;cursor:pointer;font-family:inherit;font-weight:700;font-size:12.5px;transition:border-color .12s,background .12s}
.rv-navb:hover{border-color:#0ea5e9;background:rgba(14,165,233,.12)}
.rv-carousel{display:flex;align-items:center;gap:10px}
.rv-carousel>.rv-list{flex:1;min-width:0;display:flex;flex-wrap:nowrap;gap:10px}
.rv-carousel .rv-item{flex:1 1 0;min-width:0;padding:12px 13px;gap:6px}
.rv-carousel .rv-item::before{font-size:32px;bottom:2px;top:auto}
.rv-carousel .rv-stars{font-size:11.5px}
.rv-carousel .rv-txt{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;font-size:12.5px;line-height:1.45;min-height:0}
.rv-carousel .rv-av{width:26px;height:26px;font-size:10.5px}
.rv-carousel .rv-who b{font-size:12px}
a.rv-item{text-decoration:none;color:inherit}
@media(max-width:900px){.rv-carousel .rv-item:nth-child(n+3){display:none}}

.rv-carousel{align-items:stretch}
.rv-carousel .rv-txt{display:block;-webkit-line-clamp:none;overflow:visible;font-size:13px;line-height:1.55}
.rv-carousel .rv-item{min-height:200px}
.th-sla-bar{margin-top:18px}
a.rv-src{text-decoration:none;cursor:pointer}a.rv-src:hover{border-color:#fbbf24}
/* The reviews PANEL shares the .rv-card name with an unrelated flex-row card defined later;
   that later rule forces display:flex and squashes the panel into a narrow column. Restore
   the panel (header on top, full-width responsive card grid) by targeting cards that hold a list. */
.rv-card:has(.rv-list){display:block;padding:18px 20px}
.rv-card-warn:has(.rv-list){border:1px solid rgba(251,113,133,.35)}

.cx-contact{display:flex;flex-direction:column;gap:8px;margin:8px 0}
.cx-cr{display:flex;align-items:center;justify-content:space-between;gap:10px;background:rgba(127,127,127,.06);border:1px solid var(--bord);border-radius:10px;padding:9px 12px;font-size:13px}
.cx-cr-v{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cx-pri{font-size:10px;background:rgba(125,211,252,.18);color:#0369a1;border-radius:20px;padding:1px 7px;margin-left:6px;font-weight:700}
.cx-mini{background:rgba(127,127,127,.12);border:1px solid var(--bord);color:var(--txt);border-radius:8px;padding:5px 10px;cursor:pointer;font-family:inherit;font-size:12px;font-weight:700;white-space:nowrap}
.cx-mini:hover{border-color:#0ea5e9}.cx-mini.cx-rm{color:#fb7185}
.cx-addrow{display:flex;gap:8px;margin-top:2px}
.cx-del{color:#fb7185 !important;border-color:#fb7185 !important}
.cx-err{margin-top:10px;padding:10px 12px;border-radius:10px;background:rgba(251,113,133,.12);border:1px solid rgba(251,113,133,.45);color:#b91c1c;font-size:13px;line-height:1.5}
.cx-err a{color:#0369a1;font-weight:700}
.overlay .panel .cx-cr,.overlay .panel .cx-contact{color:#16325c}
.overlay .panel .cx-mini{color:#16325c}
.imp-sum{margin:12px 0 8px;font-size:13px}
.imp-list{max-height:210px;overflow:auto;display:flex;flex-direction:column;gap:5px}
.imp-row{display:flex;justify-content:space-between;gap:10px;font-size:12.5px;padding:7px 10px;border-radius:8px;border:1px solid var(--bord)}
.imp-ok{background:rgba(52,211,153,.10)}.imp-dup{background:rgba(148,163,184,.12)}.imp-bad{background:rgba(251,113,133,.12)}
/* ── BULK IMPORT RULES + row states (sales feedback #4) ───────────────────────────────────
   warn   = same name, different phone → imported, BDM decides
   review = broke a rule (no name / bad phone / foreign number) → imported, flagged, nothing lost
   dup    = same phone or email → the ONLY state we skip */
.imp-warn{background:rgba(251,191,36,.14)}
/* the "Excel ate the leading 0" confirmation prompt */
.imp-confirm{background:rgba(251,191,36,.10);border:1px solid rgba(251,191,36,.42);border-radius:10px;padding:11px 14px;margin:10px 0}
.imp-confirm-h{font-size:12.5px;font-weight:800;color:#fbbf24;margin-bottom:5px}
.imp-confirm-b{font-size:12px;line-height:1.6;color:var(--txt);opacity:.9}
.imp-confirm-l{margin:7px 0;font-family:ui-monospace,monospace;font-size:11.5px;line-height:1.75;color:var(--txt);opacity:.95}
.imp-confirm-l b{color:#fbbf24}
.imp-confirm-c{display:flex;align-items:center;gap:8px;margin-top:8px;font-size:12.5px;font-weight:700;color:var(--txt);cursor:pointer}
.overlay .panel .imp-confirm-b,.overlay .panel .imp-confirm-l,.overlay .panel .imp-confirm-c{color:var(--txt)!important}
.imp-review{background:rgba(232,121,249,.14)}
.imp-rules{background:rgba(56,189,248,.07);border:1px solid rgba(56,189,248,.30);border-radius:10px;padding:11px 14px;margin:8px 0 12px}
.imp-rules-h{font-size:11px;font-weight:800;letter-spacing:.6px;text-transform:uppercase;color:#7dd3fc;margin-bottom:7px}
.imp-rules ul{margin:0;padding-left:17px}
.imp-rules li{font-size:12.2px;line-height:1.65;color:var(--txt);opacity:.9}
.imp-rules li b{color:#7dd3fc;opacity:1}
.overlay .panel .imp-rules li,.overlay .panel .imp-rules-h{color:var(--txt)!important}
/* badges on the leads row */
.lz-rev,.lz-warn{display:inline-block;margin-left:8px;padding:1px 7px;border-radius:999px;font-size:10px;font-weight:800;vertical-align:middle;white-space:nowrap}
.lz-rev{background:rgba(232,121,249,.16);color:#e879f9;border:1px solid rgba(232,121,249,.45)}
.lz-warn{background:rgba(251,191,36,.16);color:#fbbf24;border:1px solid rgba(251,191,36,.45)}
.imp-tag{flex:0 0 auto;font-weight:700}
.overlay .panel .imp-row,.overlay .panel .imp-sum{color:#16325c}
.rv-arrow{flex:0 0 auto;align-self:center;width:42px;height:42px;border-radius:50%;background:rgba(127,127,127,.12);border:1px solid var(--bord);color:var(--txt);font-size:22px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .12s,border-color .12s,transform .1s}
.rv-arrow:hover{background:#0ea5e9;border-color:#0ea5e9;color:#04121f;transform:scale(1.08)}
@media(max-width:640px){.rv-arrow{width:34px;height:34px;font-size:18px}}

.we-wrap{max-width:1000px}
.we-head{margin:20px 0 24px}
.we-eyebrow{font-size:11.5px;font-weight:800;text-transform:uppercase;letter-spacing:.7px;color:#7dd3fc}
.we-title{font-family:'Sora',sans-serif;font-size:27px;font-weight:800;color:var(--txt);margin:5px 0;letter-spacing:-.02em}
.we-meta{font-size:13px;color:var(--mut)}
.we-card{padding:28px 30px !important;border-radius:16px;margin-bottom:26px}
.we-card h3{font-family:'Sora',sans-serif;font-size:20px;margin:0 0 18px;color:var(--txt)}
.we-wrap .eval-prompt{padding:18px 20px;margin:0}
.we-wrap .eval-ans-h{margin-top:24px;margin-bottom:8px;display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.we-wrap .answer-box{padding:20px 22px !important;line-height:1.75;border-radius:14px;font-size:14.5px}
.we-wrap .wa-panel{margin-top:22px}
.we-marks{margin-top:26px}
.we-sec-h{font-family:'Sora',sans-serif;font-weight:800;font-size:15px;color:var(--txt);margin:0 0 16px;padding-top:22px;border-top:1px solid var(--bord)}
.we-sec-s{font-weight:500;font-size:12.5px;color:var(--mut);margin-left:6px}
.we-crit{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 18px;margin-bottom:12px;background:rgba(127,127,127,.05);border:1px solid var(--bord);border-radius:14px;transition:border-color .12s,background .12s}
.we-crit:hover{border-color:rgba(125,211,252,.45);background:rgba(125,211,252,.06)}
.we-crit-l{min-width:0}
.we-crit-n{font-weight:700;font-size:14.5px;color:var(--txt)}
.we-crit-h{font-size:12px;color:var(--mut);margin-top:4px;line-height:1.5}
.we-sel{flex:0 0 auto;min-width:128px;padding:11px 14px;border-radius:12px;border:1px solid var(--bord);background:rgba(127,127,127,.10);color:var(--txt);font-family:inherit;font-weight:700;font-size:14px;cursor:pointer}
.we-sel:focus{outline:none;border-color:#0ea5e9;box-shadow:0 0 0 3px rgba(14,165,233,.20)}
.we-remarks{margin-top:24px !important}
.we-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:22px}
.we-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap;margin:20px 0 24px}
.we-head-l{min-width:0;flex:1}
.we-mock-bands{display:flex;gap:10px;flex-wrap:wrap}
.we-bandcard{min-width:84px;text-align:center;background:rgba(127,127,127,.06);border:1px solid var(--bord);border-radius:12px;padding:12px 16px}
.we-bandcard.we-bc-empty{opacity:.55}
.we-bc-v{font-family:'Sora',sans-serif;font-size:22px;font-weight:800;color:#0ea5e9}
.we-bc-l{font-size:10.5px;color:var(--mut);text-transform:uppercase;letter-spacing:.4px;margin-top:2px}
.we-split{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:22px;align-items:start}
.we-split .we-sec-h{margin-top:0;padding-top:0;border-top:none}
.we-split-r .we-crit{flex-direction:column;align-items:stretch;gap:9px}
.we-split-r .we-sel{width:100%}
@media(max-width:860px){.we-split{grid-template-columns:1fr;gap:16px}}

.overlay .panel .cx-contact{display:flex;flex-direction:column;gap:8px;margin:10px 0 0}
.overlay .panel .cx-cr{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#f4f7fb;border:1px solid #dde5f0;border-radius:12px;padding:11px 14px;font-size:13.5px;color:#16325c}
.overlay .panel .cx-cr-v{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600;display:flex;align-items:center;gap:8px}
.overlay .panel .cx-pri{font-size:10px;background:#dbeafe;color:#1d4ed8;border-radius:20px;padding:2px 9px;font-weight:800;letter-spacing:.3px}
.overlay .panel .cx-mini{flex:0 0 auto;background:#fff;border:1px solid #cbd5e1;color:#0369a1;border-radius:10px;padding:8px 14px;cursor:pointer;font-family:inherit;font-size:12.5px;font-weight:700;white-space:nowrap}
.overlay .panel .cx-mini:hover{border-color:#0ea5e9;background:#eff6ff}
.overlay .panel .cx-mini.cx-rm{color:#dc2626;border-color:#fecaca}
.overlay .panel .cx-mini.cx-rm:hover{background:#fef2f2;border-color:#dc2626}
.overlay .panel .cx-tag{font-size:11px;color:#64748b;font-weight:600}
.overlay .panel .cx-addrow{display:flex;gap:10px;margin:12px 0 4px}
.overlay .panel .cx-add{flex:1;text-align:center;background:#eff6ff;border-color:#bfdbfe;color:#1d4ed8}
.overlay .panel .cx-add:hover{background:#dbeafe}
.overlay .panel .cx-edit{background:#fff !important;border:1px solid #cbd5e1 !important;color:#16325c !important;border-radius:10px;padding:9px 11px;font-weight:600}
.overlay .panel .cx-fields .cx-f small{color:#64748b}

.overlay .panel .cx-flow{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0 4px}
.overlay .panel .cx-sp{background:#eef4fb;border:2px solid #64748b;color:#16325c;border-radius:10px;padding:8px 14px;cursor:pointer;font-family:inherit;font-weight:800;font-size:13px;clip-path:none}
.overlay .panel .cx-sp:hover{border-color:#0ea5e9;background:#e0f2fe}
.overlay .panel .cx-sp.on{background:#0176d3;border-color:#0176d3;color:#fff;box-shadow:0 2px 8px rgba(1,118,211,.35)}

.overlay .panel .cx-cr-v{flex:1}

.overlay .panel .cx-acts{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px;margin:6px 0 4px}
.overlay .panel .cx-act{display:flex;flex-direction:column;align-items:center;gap:3px;border-radius:12px;padding:11px 10px;text-decoration:none;min-width:0;transition:background .15s ease}
.cx-act .cx-act-t{display:flex;align-items:center;justify-content:center;gap:6px;font-size:14px;font-weight:800}
.cx-act .cx-act-s{font-size:11.5px;font-weight:600;opacity:.92;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.overlay .panel .cx-act.call{background:#0ea5e9;color:#fff}
.overlay .panel .cx-act.call:hover{background:#0284c7}
.overlay .panel .cx-act.wa{background:#25d366;color:#04210f}
.overlay .panel .cx-act.wa:hover{background:#1da856}
.overlay .panel .cx-act.email{background:#6366f1;color:#fff}
.overlay .panel .cx-act.email:hover{background:#4f46e5}
.overlay .panel .cx-act.email,.overlay .panel .cx-act.email:hover,.overlay .panel .cx-act.email:focus,.overlay .panel .cx-act.email .cx-act-t,.overlay .panel .cx-act.email .cx-act-s{color:#fff!important}

.overlay .panel .cx-cr{gap:14px}
.overlay .panel .cx-cr .cx-mini{flex:0 0 auto;width:max-content;min-width:max-content;white-space:nowrap;overflow:visible;text-align:center}

.overlay .panel input:not([type=checkbox]):not([type=radio]),.overlay .panel select,.overlay .panel textarea{background:#fff;border:1.5px solid #94a3b8;color:#0f172a;border-radius:10px;padding:10px 12px;font-size:14px;font-weight:600;box-sizing:border-box;color-scheme:light}
.overlay .panel select{font-weight:700;appearance:auto;cursor:pointer}
.overlay .panel select option{background:#fff;color:#0f172a;font-weight:600}
.overlay .panel input:hover,.overlay .panel select:hover,.overlay .panel textarea:hover{border-color:#64748b}
.overlay .panel input:focus,.overlay .panel select:focus,.overlay .panel textarea:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px rgba(37,99,235,.20)}
.overlay .panel input::placeholder,.overlay .panel textarea::placeholder{color:#94a3b8;font-weight:500}

.cx-dt{display:flex;gap:8px;align-items:stretch}
.cx-dt #cx-ndate{flex:1;min-width:0}
.overlay .panel .cx-dt{display:flex;gap:8px;align-items:stretch;color-scheme:light}
.overlay .panel .cx-dt #cx-ndate{flex:1;min-width:0;color-scheme:light}
.overlay .panel .cx-dt .cx-timebtn{flex:0 0 auto;display:inline-flex;align-items:center;background:#eff6ff;border:1.5px solid #2563eb;color:#1e40af;font-weight:800;border-radius:10px;padding:10px 14px;cursor:pointer;white-space:nowrap;font-size:13px}
.overlay .panel .cx-dt .cx-timebtn:hover{background:#2563eb;color:#fff}

.cx-pd{display:flex;gap:8px}
.cx-pd-box{flex:1;display:flex;flex-direction:column;gap:2px;padding:8px 11px;border-radius:10px;border:1.5px solid;text-align:left}
.cx-pd-l{font-size:11px;font-weight:800;letter-spacing:.02em;opacity:.9}
.cx-pd-v{font-size:16px;font-weight:800}
.cx-pd-paid{background:#ecfdf5;border-color:#10b981;color:#065f46}
.cx-pd-due{background:#fef2f2;border-color:#f43f5e;color:#9f1239}

.overlay .panel .cx-log{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.overlay .panel .cx-log textarea{order:-1;flex:1 1 100%;width:100%;min-height:84px;resize:vertical;font-family:inherit;line-height:1.45;background:#fff;border:1.5px solid #94a3b8;color:#0f172a;border-radius:10px;padding:10px 12px;box-sizing:border-box}
.overlay .panel .cx-log textarea::placeholder{color:#94a3b8;font-weight:500}
.overlay .panel .cx-log select{flex:0 0 auto;min-width:130px}
.overlay .panel .cx-log .btn{flex:0 0 auto;margin-left:auto;padding:10px 22px}

.tw-overlay{position:fixed;inset:0;z-index:10000;background:rgba(15,23,42,.5);display:flex;align-items:center;justify-content:center}
.tw-panel{background:#fff;border-radius:20px;padding:20px 22px;width:300px;box-shadow:0 24px 70px rgba(0,0,0,.35)}
.tw-title{font-weight:800;color:#16325c;text-align:center;margin-bottom:12px;font-size:16px}
.tw-wrap{position:relative;display:flex;justify-content:center;align-items:stretch;gap:2px;height:200px}
.tw-band{position:absolute;left:6px;right:6px;top:80px;height:40px;background:rgba(37,99,235,.10);border-top:2px solid #2563eb;border-bottom:2px solid #2563eb;border-radius:10px;pointer-events:none}
.tw-col{height:200px;overflow-y:scroll;scroll-snap-type:y mandatory;padding:80px 0;scrollbar-width:none;text-align:center;min-width:62px;-webkit-overflow-scrolling:touch}
.tw-col::-webkit-scrollbar{display:none}
.tw-opt{height:40px;line-height:40px;scroll-snap-align:center;font-size:22px;font-weight:800;color:#16325c}
.tw-colon{align-self:center;font-size:24px;font-weight:800;color:#16325c;padding-bottom:2px}
.tw-acts{display:flex;gap:10px;margin-top:14px}
.tw-acts .btn{flex:1}

.overlay .panel .cx-flow{display:flex;align-items:center;flex-wrap:nowrap;gap:4px}
.overlay .panel .cx-flow .cx-sp{flex:1 1 0;min-width:0;padding:8px 4px;font-size:12.5px;white-space:nowrap}
.overlay .panel .cx-flow .cx-arrow{padding:0;font-size:13px}
.overlay .panel .cx-arrow{flex:0 0 auto;display:inline-flex;align-items:center;align-self:center;color:#94a3b8;font-weight:800;font-size:16px;line-height:1;padding:0 1px;user-select:none}

.overlay .panel .cx-contact{display:flex;flex-direction:column;gap:10px}
.overlay .panel .cx-cr{display:flex;align-items:center;gap:12px;flex-wrap:nowrap}
.overlay .panel .cx-cr-v{flex:1;min-width:0;display:flex;align-items:center;gap:8px;overflow:hidden}
.overlay .panel .cx-cr-ic{flex:0 0 auto}
.overlay .panel .cx-cr-tx{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:700}
.overlay .panel .cx-cr-acts{flex:0 0 auto;display:flex;align-items:center;gap:8px;justify-content:flex-end}
.overlay .panel .cx-cr-acts .cx-mini{flex:0 0 auto}
.overlay .panel .cx-cr-acts .cx-add{background:#eff6ff;border:1.5px solid #bfdbfe;color:#1d4ed8;font-weight:700}
.overlay .panel .cx-cr-acts .cx-add:hover{background:#dbeafe}

.ask-panel{width:380px;text-align:left}
.ask-title{font-weight:800;color:#16325c;font-size:16px;margin-bottom:6px}
.ask-label{color:#5c6b80;font-size:12.5px;margin-bottom:10px;line-height:1.4}
.ask-panel .ask-input{width:100%;background:#fff;border:1.5px solid #94a3b8;color:#0f172a;border-radius:10px;padding:11px 13px;font-size:15px;font-weight:600;box-sizing:border-box;color-scheme:light}
.ask-panel .ask-input:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px rgba(37,99,235,.2)}
.ask-err{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:8px 10px;font-size:12.5px;font-weight:600;margin-top:10px}

.tw-panel .tw-acts .btn:not(.primary){background:#fff;border:1.5px solid #cbd5e1;color:#16325c;font-weight:700}
.tw-panel .tw-acts .btn:not(.primary):hover{background:#f1f5f9;border-color:#94a3b8;transform:none}

.ask-panel .ask-phone{display:flex;gap:8px}
.ask-panel .ask-phone .ask-cc{flex:0 0 auto;width:auto;min-width:106px;background:#fff;border:1.5px solid #94a3b8;border-radius:10px;color:#0f172a;font-size:14px;font-weight:700;padding:11px 8px;box-sizing:border-box;color-scheme:light;cursor:pointer}
.ask-panel .ask-phone .ask-cc:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px rgba(37,99,235,.2)}
.ask-panel .ask-phone .ask-input{flex:1;min-width:0}

:root{
  --ds-ctl-h:42px;          
  --ds-ctl-pad:10px 13px;
  --ds-radius:10px;
  --ds-bd:#94a3b8;          
  --ds-bd-focus:#2563eb;
  --ds-ring:0 0 0 3px rgba(37,99,235,.20);
  --ds-ink:#0f172a;         
  --ds-ink-soft:#64748b;    
  --ds-field-gap:14px;      
}

.overlay .panel .cx-fields{display:grid;grid-template-columns:1fr 1fr;gap:var(--ds-field-gap);align-items:stretch}
.overlay .panel .cx-f{display:flex;flex-direction:column;gap:6px;justify-content:flex-start;background:#f7f9fb;border:1px solid #e2e8f0;border-radius:12px;padding:11px 13px;min-width:0}
.overlay .panel .cx-f small{margin:0;color:var(--ds-ink-soft);font-size:10.5px;letter-spacing:.4px;text-transform:uppercase;font-weight:700}
.overlay .panel .cx-f>b{font-size:15px;font-weight:800;color:#16325c;display:flex;align-items:center;min-height:var(--ds-ctl-h)}

.overlay .panel{--ds-field-gap:16px}
.overlay .panel .cx-fields{align-items:stretch}
.overlay .panel .cx-fields .cx-f>*:last-child{margin-top:auto}
.overlay .panel .cx-fields .cx-f small{line-height:1.3;margin-bottom:0}
.overlay .panel .cx-fields .cx-f{background:#f8fafc;border:1px solid #e6ebf2}
.overlay .panel .cx-fields .cx-f:focus-within{border-color:#2563eb;box-shadow:0 0 0 3px rgba(37,99,235,.10)}

.overlay .panel .cx-refac{position:absolute;left:0;right:0;top:calc(100% + 6px);z-index:40;background:#fff;border:1px solid #d4deeb;border-radius:12px;box-shadow:0 14px 36px rgba(15,40,80,.18);max-height:236px;overflow-y:auto;display:none;padding:5px}
.overlay .panel .cx-refac.on{display:block}
.overlay .panel .cx-refac-it{padding:9px 12px;border-radius:8px;font-size:14px;color:#1c2c44;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.3}
.overlay .panel .cx-refac-it:hover{background:#eef4fb}
.overlay .panel .cx-refac-it.on{background:#e6f0fd;color:#0b3d91}
.overlay .panel .cx-refac-it b{color:#0b63d6;font-weight:800}
.overlay .panel .cx-sec{color:#2563eb;font-weight:800;margin-top:20px}

.lc-log{background:#eef5ff;border:1.5px solid #bcd6f5;border-radius:14px;padding:14px 16px;margin-bottom:2px}
.lc-log-h{font-weight:800;color:#16325c;font-size:14px;margin-bottom:10px}
.lc-log-h .cx-mut{display:block;margin-top:3px;font-weight:600;color:#5c6b80;font-size:12.5px}
.overlay .panel .lc-log .lc-log-body{display:flex;flex-direction:column;gap:8px}
.overlay .panel .lc-log .lc-log-body select{width:auto;align-self:flex-start;min-width:150px}
.overlay .panel .lc-log .lc-log-body textarea{width:100%;min-height:62px;resize:vertical}
.lc-next{display:flex;flex-direction:column;align-items:stretch;gap:8px;margin-top:12px}
.lc-next-l{font-size:12px;color:#5c6b80;font-weight:700}
.lc-next-quick{display:flex;gap:8px}
.lc-next-quick button[data-lnext]{flex:1}
.lc-next button[data-lnext]{background:#fff;border:1.5px solid #bcd6f5;color:#1d4ed8;border-radius:8px;padding:8px 10px;font-size:12.5px;font-weight:700;cursor:pointer}
.lc-next button[data-lnext].on,.lc-next button[data-lnext]:hover{background:#2563eb;color:#fff;border-color:#2563eb}
.overlay .panel .lc-next #cx-lnext-d,.overlay .panel .lc-next #cx-lnext-t{width:100%;min-width:0;max-width:none;flex:0 0 auto}
.lc-next .lc-logbtn{margin-left:0;width:100%;justify-content:center}

.lc-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:20px;margin-top:16px;align-items:start}
.lc-left,.lc-right{min-width:0}
.lc-right .lc-log{margin-top:0}
.lc-del-row{margin-top:18px;text-align:right;border-top:1px solid #eef1f5;padding-top:14px}
.overlay .panel .lc-left .cx-fields{grid-template-columns:1fr 1fr}

.overlay .panel .lc-left .cx-cr{flex-wrap:nowrap;gap:12px}
.overlay .panel .lc-left .cx-cr .cx-cr-v{flex:0 1 auto;min-width:0;overflow:visible}
.overlay .panel .lc-left .cx-cr .cx-cr-tx{overflow:visible;text-overflow:clip;font-size:14px}
.overlay .panel .lc-left .cx-cr .cx-cr-acts{flex:0 0 auto;margin-left:auto;justify-content:flex-end;flex-wrap:nowrap}
@media(max-width:600px){.overlay .panel .lc-left .cx-cr{flex-wrap:wrap}.overlay .panel .lc-left .cx-cr .cx-cr-v{flex:1 1 100%}.overlay .panel .lc-left .cx-cr .cx-cr-acts{flex:1 1 100%;margin-left:0;justify-content:flex-start}}
.overlay .panel .cx-phone select{min-width:122px}
@media(max-width:860px){.lc-grid{grid-template-columns:1fr}}

.overlay .panel :is(input,select,textarea):not([type=checkbox]):not([type=radio]){
  width:100%;min-width:0;min-height:var(--ds-ctl-h);padding:var(--ds-ctl-pad);
  border:1.5px solid var(--ds-bd);border-radius:var(--ds-radius);
  background:#fff;color:var(--ds-ink);font:inherit;font-size:14px;font-weight:600;
  box-sizing:border-box;color-scheme:light}
.overlay .panel :is(input,select,textarea):not([type=checkbox]):not([type=radio]):hover{border-color:#64748b}
.overlay .panel :is(input,select,textarea):not([type=checkbox]):not([type=radio]):focus{outline:none;border-color:var(--ds-bd-focus);box-shadow:var(--ds-ring)}
.overlay .panel select{cursor:pointer;appearance:auto}
.overlay .panel textarea{min-height:84px;resize:vertical;line-height:1.45}
.overlay .panel ::placeholder{color:#94a3b8;font-weight:500}

.overlay .panel .cx-fields+div,.overlay .panel .tw-acts{align-items:center}

.sh-dtline{font-size:12.5px;font-weight:700;color:#7dd3fc;letter-spacing:.02em;margin-bottom:10px;opacity:.95}
.dash-hero .th-hero-top{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}
.dash-hero .th-hero-top .dash-hero-l{min-width:0}
.sh-dt-top{flex:0 0 auto;margin:0;text-align:right;white-space:nowrap}
.sh-dt-day{font-size:16px;font-weight:700;color:#7dd3fc;margin-top:0}
.sh-dt-date{font-size:12.5px;font-weight:600;color:#94a3b8;margin-top:2px}
.sh-dt-time{font-family:Sora,Inter,sans-serif;font-size:38px;font-weight:800;line-height:1;color:#eaf4ff;letter-spacing:-.01em;margin-top:5px}
.sh-dt-ap{font-size:17px;font-weight:700;color:#7dd3fc;margin-left:3px;letter-spacing:.02em}
.th-toprow{align-items:flex-start}
.dash-hero .sales-cards{align-items:stretch}
.dash-hero .sales-cards>*{align-self:stretch}
.sh-right{flex:0 0 43%;min-width:0;display:flex;flex-direction:column;gap:18px}
.sh-right .nm-card{flex:1;margin:0}
.sh-right .nm-count{white-space:nowrap}

.sh-wxbox{background:rgba(255,255,255,.04);border:1px solid var(--bord);border-radius:16px;padding:18px 20px}
.sh-wx-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;border-bottom:1px solid var(--bord);padding-bottom:14px}
.sh-wx-when{display:flex;flex-direction:column;align-items:flex-start}
.sh-wxbox .sh-dt-day,.sh-wxbox .sh-dt-date,.sh-wxbox .sh-dt-time{text-align:left}
.sh-wxbox .sh-dt-time{margin-top:4px}
.sh-wx-now{text-align:right;min-width:0}
.sh-wx-now .tw-w-top{justify-content:flex-end}
.sh-wx-fc{margin-top:12px}
.nm-card .nm-hd{margin-bottom:8px}

.dash-hero .sales-cards-1{grid-template-columns:1fr}
.dash-hero .sales-cards-1 .sh-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}

.sf-new{box-shadow:0 0 0 1px rgba(var(--accent),.5),0 0 16px rgba(var(--accent),.5),0 4px 14px rgba(2,132,199,.38);animation:sfNewGlow 2.4s ease-in-out infinite}
@keyframes sfNewGlow{0%,100%{box-shadow:0 0 0 1px rgba(var(--accent),.45),0 0 12px rgba(var(--accent),.4),0 4px 14px rgba(2,132,199,.3)}50%{box-shadow:0 0 0 1px rgba(var(--accent),.72),0 0 26px rgba(var(--accent),.72),0 4px 18px rgba(2,132,199,.5)}}

.ab-wrap{display:flex;flex-direction:column;gap:18px}
.ab-hi{font-family:Sora,Inter,sans-serif;font-size:30px;font-weight:800;color:#eaf4ff;line-height:1.05;letter-spacing:-.01em}
.ab-quote{font-size:13.5px;color:#9fb6cc;margin-top:7px;max-width:640px;line-height:1.45}
.ab-sub{font-size:12.5px;color:#7891a8;margin-top:6px}
.ab-sub-jump{font:inherit;font-weight:700;color:#7dd3fc;background:none;border:0;padding:0;cursor:pointer;border-bottom:1px dashed rgba(125,211,252,.5);transition:color .15s,border-color .15s}
.ab-sub-jump:hover,.ab-sub-jump:focus-visible{color:#bae6fd;border-bottom-color:#bae6fd;outline:none}
.ab-sub-arr{display:inline-block;font-weight:800;transition:transform .15s}
.ab-sub-jump:hover .ab-sub-arr{transform:translateY(2px)}
.ab-queue-flash{animation:abQueueFlash 1.3s ease}
@keyframes abQueueFlash{0%,100%{box-shadow:0 0 0 0 rgba(var(--accent),0)}25%{box-shadow:0 0 0 3px rgba(var(--accent),.55)}}
.ab-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.ab-toprow{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);gap:18px;align-items:stretch}

.ab-cols{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.12fr);gap:18px;align-items:start}
.ab-col-l,.ab-col-r{display:flex;flex-direction:column;gap:16px;min-width:0}
.ab-kpibox{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:12px}
.ab-kr{background:rgba(255,255,255,.05);border:1px solid var(--bord);border-radius:14px;padding:15px 18px;display:flex;flex-direction:column;justify-content:center}
.ab-kr-blue{border-left:3px solid rgb(var(--accent))}
.ab-kr-amber{border-left:3px solid #fbbf24}
.ab-kr-green{border-left:3px solid #34d399}
.ab-kr-cyan{border-left:3px solid #22d3ee}

.srv{background:rgba(255,255,255,.04);border:1px solid var(--bord);border-radius:16px;padding:18px 20px}
.srv-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px;flex-wrap:wrap}
.srv-htitle{flex:1;min-width:0}
.srv-badge{display:flex;align-items:center;gap:11px;background:rgba(255,255,255,.05);border:1px solid var(--bord);border-radius:12px;padding:8px 15px;text-decoration:none;flex:0 0 auto}
.srv-rate{font-family:Sora,Inter,sans-serif;font-size:28px;font-weight:800;color:#fbbf24;line-height:1}
.srv-badge-r{display:flex;flex-direction:column;gap:1px}
.srv-bstars{color:#fbbf24;font-size:13px;letter-spacing:1px}
.srv-count{font-size:11.5px;color:#94a3b8}
.srv-htitle .srv-t{font-size:15px;font-weight:800;color:#eaf4ff}
.srv-htitle .srv-s{font-size:12.5px;color:#94a3b8;margin-top:2px}
.srv-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(244px,1fr));gap:12px}
.srv-card{background:rgba(255,255,255,.03);border:1px solid var(--bord);border-radius:12px;padding:14px;display:flex;flex-direction:column;gap:10px}
.srv-c-top{display:flex;align-items:center;gap:9px}
.srv-av{width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:800;color:#fff;flex:0 0 auto}
.srv-c-id{flex:1;min-width:0;display:flex;flex-direction:column}
.srv-c-id b{font-size:13px;color:#e8f3ff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.srv-c-id span{font-size:11px;color:#94a3b8}
.srv-c-stars{color:#fbbf24;font-size:12px;flex:0 0 auto;letter-spacing:.5px}
.srv-quote{font-size:13px;color:#cdd9e5;line-height:1.5;flex:1}
.srv-c-acts{display:flex;align-items:center;gap:8px}
.srv-copy{flex:1;background:rgba(var(--accent),.14);border:1px solid rgba(var(--accent),.32);color:#7dd3fc;border-radius:8px;padding:7px 10px;font-size:12px;font-weight:700;cursor:pointer}
.srv-copy:hover{background:rgba(var(--accent),.26)}
.srv-open{font-size:12px;color:#94a3b8;text-decoration:none;padding:7px 8px;white-space:nowrap}
.srv-open:hover{color:#7dd3fc}
.ab-kr-top{display:flex;align-items:baseline;justify-content:space-between;gap:12px}
.ab-kr-l{font-size:16px;color:#dbe4ee;font-weight:700}
.ab-kr-v{font-family:Sora,Inter,sans-serif;font-size:24px;font-weight:800;color:#eaf4ff;letter-spacing:-.01em;white-space:nowrap;margin-top:7px}
.ab-kr-v.g{color:#34d399}
.ab-kr-bar{height:6px;background:rgba(255,255,255,.08);border-radius:999px;overflow:hidden;margin:9px 0 5px}
.ab-kr-bar i{display:block;height:100%;border-radius:999px;background:rgb(var(--accent));transition:width .5s ease}
.ab-kr-blue .ab-kr-bar i{background:rgb(var(--accent))}.ab-kr-amber .ab-kr-bar i{background:#fbbf24}.ab-kr-green .ab-kr-bar i{background:#34d399}.ab-kr-cyan .ab-kr-bar i{background:#22d3ee}
.ab-kr-s{font-size:11.5px;color:#94a3b8;margin-top:5px;text-align:left}
.ab-kr-s + .ab-kr-s{margin-top:2px}

.ab-perf{padding:4px 18px 12px}
.ab-perf-h{display:flex;align-items:baseline;justify-content:space-between;gap:10px;padding:12px 0 8px;border-bottom:1px solid var(--bord)}
.ab-perf-t{font-family:Sora,Inter,sans-serif;font-size:15.5px;font-weight:800;color:#eaf4ff;letter-spacing:-.01em}
.ab-perf-mo{font-size:11px;font-weight:700;color:#7dd3fc;text-transform:uppercase;letter-spacing:.05em}
.ab-pf-row{display:flex;align-items:center;gap:13px;padding:11px 0;border-bottom:1px solid rgba(127,127,127,.13)}
.ab-pf-row:last-child{border-bottom:0;padding-bottom:2px}
.ab-pf-ic{flex:0 0 auto;width:34px;height:34px;border-radius:10px;background:rgba(255,255,255,.06);display:flex;align-items:center;justify-content:center;font-size:17px}
.ab-pf-m{flex:1 1 auto;min-width:0;display:flex;flex-direction:column}
.ab-pf-lab{font-size:13px;font-weight:700;color:#dbe4ee;display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}
.ab-pf-pct{font-size:10.5px;font-weight:700;color:#94a3b8}
.ab-pf-sub{font-size:11px;color:#94a3b8;margin-top:2px}
.ab-pf-bar{height:5px;background:rgba(255,255,255,.08);border-radius:999px;overflow:hidden;margin:6px 0 1px;max-width:230px}
.ab-pf-bar i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,rgb(var(--accent)),#34d399)}
.ab-pf-val{flex:0 0 auto;font-family:Sora,Inter,sans-serif;font-size:18px;font-weight:800;color:#eaf4ff;letter-spacing:-.01em;white-space:nowrap;text-align:right}
.ab-pf-val.g{color:#34d399}
.ab-pf-of{font-size:12px;font-weight:700;color:#8a97af}
@media(max-width:920px){.ab-toprow{grid-template-columns:1fr}.ab-cols{grid-template-columns:1fr}}
.ab-kpi{position:relative;background:rgba(255,255,255,.045);border:1px solid var(--bord);border-radius:16px;padding:14px 16px 14px 18px;overflow:hidden}
.ab-kpi::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px}
.ab-kpi-blue::before{background:rgb(var(--accent))}.ab-kpi-amber::before{background:#fbbf24}.ab-kpi-green::before{background:#34d399}.ab-kpi-cyan::before{background:#22d3ee}
.ab-kpi-top{display:flex;align-items:center;gap:8px;margin-bottom:10px}
.ab-kpi-ic{flex:0 0 auto;width:26px;height:26px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;font-size:14px}
.ab-kpi-blue .ab-kpi-ic{background:rgba(var(--accent),.16)}.ab-kpi-amber .ab-kpi-ic{background:rgba(251,191,36,.16)}.ab-kpi-green .ab-kpi-ic{background:rgba(52,211,153,.16)}.ab-kpi-cyan .ab-kpi-ic{background:rgba(34,211,238,.16)}
.ab-kpi-l{font-size:11px;color:#94a3b8;font-weight:700;letter-spacing:.03em;text-transform:uppercase}
.ab-kpi-v{font-family:Sora,Inter,sans-serif;font-size:26px;font-weight:800;color:#eaf4ff;letter-spacing:-.01em;line-height:1}
.ab-kpi-v.g{color:#34d399}
.ab-kpi-s{font-size:11.5px;color:#94a3b8;margin-top:7px}
.ab-kpi-bar{display:block;height:6px;background:rgba(255,255,255,.08);border-radius:999px;overflow:hidden;margin-top:10px}
.ab-kpi-bar i{display:block;height:100%;background:#22d3ee;border-radius:999px;transition:width .5s ease}
.ab-kpi-blue .ab-kpi-bar i{background:rgb(var(--accent))}
.ab-kpi-amber .ab-kpi-bar i{background:#fbbf24}
.ab-kpi-green .ab-kpi-bar i{background:#34d399}
.ab-kpi-cyan .ab-kpi-bar i{background:#22d3ee}
.ab-kpi-chip{display:inline-block;margin-top:11px;font-size:11px;font-weight:800;padding:4px 10px;border-radius:999px;letter-spacing:.01em}
.ab-kpi-chip.ok{background:rgba(52,211,153,.16);color:#34d399}
.ab-kpi-chip.warn{background:rgba(251,191,36,.16);color:#fbbf24}
.ab-kpi-chip.neu{background:rgba(148,163,184,.16);color:#cbd5e1}
.ab-kpi-chip.cyan{background:rgba(34,211,238,.16);color:#22d3ee}

.overlay .panel .cx-phone{display:flex;gap:8px}
.overlay .panel .cx-phone select{flex:0 0 auto;width:auto;min-width:104px;padding-left:10px;padding-right:6px}
.overlay .panel .cx-phone input{flex:1;min-width:0}
.ab-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);gap:18px;align-items:start}
.ab-queue{padding:18px 20px}
.ab-q-h{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:4px}
.ab-q-t{font-size:15px;font-weight:800;color:#eaf4ff}
.ab-q-c{font-size:12px;color:#94a3b8}
.ab-grp{font-size:11px;font-weight:800;letter-spacing:.04em;margin:16px 0 4px;text-transform:uppercase}
.ab-grp.od{color:#fb7185}.ab-grp.td{color:#fbbf24}.ab-grp.nw{color:#7dd3fc}
.ab-empty{padding:26px 0;color:#94a3b8;font-size:13px;text-align:center;line-height:1.7}
.ab-rail{display:flex;flex-direction:column;gap:14px}
.ab-rcard{padding:14px 16px}
.ab-r-h{font-size:13px;font-weight:700;color:var(--txt);margin-bottom:10px}
.ab-r-h-row{display:flex;align-items:baseline;justify-content:space-between}
.ab-col-tot{color:#fb7185;font-size:15px}
.ab-bar{height:8px;background:rgba(255,255,255,.08);border-radius:999px;overflow:hidden}
.ab-bar i{display:block;height:100%;background:rgb(var(--accent))}
.ab-bar-l{display:flex;justify-content:space-between;font-size:12px;color:#94a3b8;margin-top:6px}
.ab-fn{display:flex;align-items:center;gap:8px;margin-bottom:7px}
.ab-fn-l{font-size:12px;color:#94a3b8;width:64px}
.ab-fn-tr{flex:1;height:8px;background:rgba(255,255,255,.08);border-radius:999px;overflow:hidden}
.ab-fn-tr i{display:block;height:100%;background:rgb(var(--accent))}
.ab-fn-v{font-size:12px;font-weight:700;color:#e8f3ff;width:22px;text-align:right}
.ab-col{display:flex;align-items:center;justify-content:space-between;padding:8px 0;border-bottom:1px solid rgba(255,255,255,.06);cursor:pointer}
.ab-col:last-child{border-bottom:0}
.ab-col-n{font-size:13px;color:#e8f3ff;font-weight:600}
.ab-col-r{display:flex;align-items:center;gap:8px}
.ab-col-r b{color:#fb7185;font-size:13px}
.ab-col-inv{background:rgba(255,255,255,.06);border:1px solid var(--bord);border-radius:8px;padding:3px 8px;cursor:pointer;font-size:13px;color:var(--txt)}
.ab-col-inv:hover{background:rgba(var(--accent),.22)}
.ab-eyebrow{font-size:13px;font-weight:700;color:#7dd3fc;letter-spacing:.05em;text-transform:uppercase;margin-bottom:2px}
.ab-grp.cl{color:#34d399}
.ab-lb{display:flex;align-items:center;gap:8px;padding:5px 0}
.ab-lb-r{width:14px;color:#94a3b8;font-weight:800;font-size:12px;text-align:center}
.ab-lb-n{flex:0 0 68px;font-size:12.5px;color:#e8f3ff;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ab-lb-bar{flex:1;height:6px;background:rgba(255,255,255,.08);border-radius:999px;overflow:hidden}
.ab-lb-bar i{display:block;height:100%;background:rgb(var(--accent))}
.ab-lb-v{font-size:11px;color:#94a3b8;width:58px;text-align:right}
.ab-lb.me{background:rgba(var(--accent),.12);border-radius:8px;margin:0 -8px;padding:5px 8px}
.ab-lb.me .ab-lb-n{color:#7dd3fc;font-weight:800}
.ab-lb.me .ab-lb-bar i{background:#7dd3fc}
.ab-lb-rank{color:#fbbf24;font-size:13px;font-weight:800}

.ab-row{border-left:3px solid transparent;padding-left:13px}
.ab-row.ab-od{border-left-color:#fb7185}
.ab-row.ab-cl{border-left-color:#34d399}
.ab-row.ab-td{border-left-color:#fbbf24}
.ab-row.ab-nw{border-left-color:rgb(var(--accent))}
.ab-row .nm-row-l{display:flex;align-items:center;gap:11px;min-width:0}
.ab-ava{flex:0 0 auto;width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11.5px;font-weight:800;letter-spacing:.02em}
.ab-ava-od{background:rgba(251,113,133,.18);color:#fda4af}
.ab-ava-cl{background:rgba(52,211,153,.18);color:#6ee7b7}
.ab-ava-td{background:rgba(251,191,36,.18);color:#fcd34d}
.ab-ava-nw{background:rgba(var(--accent),.18);color:#7dd3fc}
.ab-rmeta{min-width:0;display:flex;flex-direction:column;gap:1px}
.ab-rmeta b{font-size:14px;color:#e8f3ff;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ab-row .nm-row-why{font-size:12px;color:#94a3b8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ab-row .nm-row-r{gap:9px}
.ab-chip{font-size:10.5px;font-weight:800;padding:3px 8px;border-radius:999px;white-space:nowrap;letter-spacing:.02em}
.ab-chip-od{background:rgba(251,113,133,.16);color:#fb7185}
.ab-chip-cl{background:rgba(52,211,153,.16);color:#34d399}
.ab-chip-td{background:rgba(251,191,36,.16);color:#fbbf24}
.ab-chip-nw{background:rgba(var(--accent),.16);color:#7dd3fc}
.ab-fn-cv{font-size:10.5px;color:#64748b;margin:-2px 0 7px 72px}
@media(max-width:980px){.ab-kpis{grid-template-columns:repeat(2,1fr)}.ab-grid{grid-template-columns:1fr}}

.overlay .panel .cx-invrow{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:14px 0}
.overlay .panel .cx-invrow .cx-inv{flex:0 0 auto}
.overlay .panel .cx-inv-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.overlay .panel .cx-inv-mut{color:#64748b;font-size:12px}
.overlay .panel .cx-inv-ok{color:#15803d;font-weight:700;font-size:12px}
.sh-weathercard .sc-h{text-align:right;justify-content:flex-end}
.sh-weathercard .tw-weather{margin-top:2px}
.sh-weathercard .tw-cal{margin-top:12px}
@media(max-width:1080px){.sh-right{flex:1 1 100%}}

.overlay .panel .cx-deal{background:linear-gradient(135deg,#dcfce7,#bbf7d0);border:1.5px solid #22c55e;color:#14532d;font-weight:700;box-shadow:0 0 0 3px rgba(34,197,94,.18),0 8px 22px rgba(34,197,94,.28);border-radius:12px;padding:13px 15px}
.overlay .panel .cx-deal b{color:#065f46}.overlay .panel .cx-deal .g{color:#047857}

.cx-kan-col.cx-drop{outline:2px dashed rgb(var(--accent));outline-offset:-4px;background:rgba(var(--accent),.08)}
.cx-pcard{cursor:grab}.cx-pcard.cx-dragging{opacity:.45}

.overlay .panel .cx-acts{display:grid !important;grid-template-columns:1fr 1fr 1fr;gap:10px;margin:6px 0 4px}
.overlay .panel .cx-acts .cx-act{display:flex !important;flex-direction:column !important;align-items:center !important;justify-content:center;gap:4px;text-align:center;padding:12px 10px;border-radius:12px;min-width:0;line-height:1.3;text-decoration:none}
.overlay .panel .cx-acts .cx-act .cx-act-t{display:inline-flex;align-items:center;gap:6px;font-weight:800;font-size:14px;white-space:nowrap}
.overlay .panel .cx-acts .cx-act .cx-act-s{font-size:11px;font-weight:600;opacity:.92;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.we-submit{padding:13px 28px;font-size:15px;font-weight:800;border-radius:12px}
@media(max-width:640px){.we-card{padding:18px 16px !important}.we-crit{flex-direction:column;align-items:flex-start;gap:12px}.we-sel{width:100%}}
.th-sort-hint{color:var(--mut);font-size:12px;font-style:italic;align-self:center}

.rv-card{background:rgba(127,127,127,.05);border:1px solid var(--bord);border-radius:14px;padding:14px 16px;margin-top:16px}
.rv-card-warn{border-color:rgba(251,113,133,.4);background:rgba(251,113,133,.05)}
.rv-h{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:10px}
.rv-h-t{font-weight:800;font-size:15px;color:var(--txt)}
.rv-h-s{font-size:12.5px;color:var(--mut);margin-top:2px}
.rv-src{font-size:12px;color:var(--mut);background:rgba(127,127,127,.14);border-radius:20px;padding:4px 10px;white-space:nowrap}
.rv-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(255px,1fr));gap:10px}
.rv-item{background:rgba(127,127,127,.07);border:1px solid var(--bord);border-radius:12px;padding:11px 13px}
.rv-top{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--txt)}
.rv-stars{margin-left:auto;white-space:nowrap}.rv-st{color:#fbbf24;letter-spacing:1px}.rv-st-e{color:rgba(127,127,127,.45);letter-spacing:1px}
.rv-date{color:var(--mut);font-size:11.5px;flex:0 0 auto}
.rv-txt{margin-top:6px;font-size:13.5px;color:var(--txt);line-height:1.5;font-style:italic}
.rv-act{margin-top:8px;font-size:12.5px;font-weight:700;color:#fb7185}
.rv-nav{display:inline-flex;gap:6px}
.rv-navb{background:rgba(127,127,127,.14);border:1px solid var(--bord);color:var(--txt);border-radius:8px;padding:5px 12px;cursor:pointer;font-family:inherit;font-weight:700;font-size:12.5px}
.rv-navb:hover{border-color:#0ea5e9}
.rv-act-btn{margin-top:8px;background:rgba(52,211,153,.12);border:1px solid rgba(52,211,153,.4);color:#34d399;border-radius:8px;padding:6px 12px;cursor:pointer;font-family:inherit;font-weight:700;font-size:12px}
.rv-act-btn:hover{background:rgba(52,211,153,.22)}
.rv-item-done{opacity:.9}
.rv-done{margin-top:8px;font-size:12px;font-weight:700;color:#34d399}
.rv-done-by{color:var(--mut);font-weight:500}
.rv-undo{background:none;border:0;color:#7dd3fc;cursor:pointer;font-family:inherit;font-size:12px;text-decoration:underline;padding:0 0 0 4px}

.as-sub{color:#5c6b80;font-size:12.5px;margin-bottom:10px}
.as-wc{font-size:12.5px;color:#16325c;background:#eef4fb;border-radius:8px;padding:7px 10px;margin-bottom:10px}
.as-wc.as-under{color:#b91c1c;background:#fdecec}
.as-row{border:1px solid #e2e8f0;border-radius:10px;padding:10px 12px;margin-bottom:8px}
.as-row-h{display:flex;justify-content:space-between;align-items:center;font-weight:800;color:#16325c;font-size:14px}
.as-band{color:#0176d3;font-size:18px}
.as-fb{margin-top:4px;font-size:13px;color:#41506b;line-height:1.5}
.as-overall{display:flex;justify-content:space-between;align-items:center;background:#0176d3;color:#fff;border-radius:10px;padding:11px 14px;font-weight:800;margin-top:10px}
.as-overall b{font-size:20px}
.as-missing{color:#b91c1c;font-weight:600}
.sf-donut{display:flex;align-items:center;gap:18px;flex-wrap:wrap}.sf-legend{display:flex;flex-direction:column;gap:6px;font-size:12.5px;color:var(--txt)}.sf-legend i{display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:7px}
.sf-gauge{height:14px;background:rgba(255,255,255,.06);border-radius:8px;overflow:hidden;margin-bottom:6px}.sf-gauge-fl{height:100%;background:linear-gradient(90deg,#22c55e,#4ade80)}.sf-gauge-lab{display:flex;justify-content:space-between;font-size:11.5px;color:var(--mut);margin-bottom:10px}.sf-gauge-lab b{color:var(--txt)}
.sf-slabs{display:flex;flex-direction:column}.sf-slab{display:flex;justify-content:space-between;font-size:12.5px;padding:6px 0;border-bottom:1px solid var(--bord);color:var(--mut)}.sf-slab:last-child{border-bottom:0}.sf-slab.on{color:var(--txt);font-weight:700}.sf-slab b{font-weight:800}
.sf-nudge{margin-top:10px;background:rgba(251,191,36,.10);border:1px solid rgba(251,191,36,.32);border-radius:10px;padding:9px 12px;font-size:12.5px;color:#fbbf24}.sf-nudge.ok{background:rgba(52,211,153,.10);border-color:rgba(52,211,153,.3);color:#6ee7b7}
.sf-erntiles{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:14px}
.sf-ern{border:1px solid var(--bord);border-radius:12px;padding:10px 12px}
.sf-ern.earned{background:rgba(52,211,153,.10);border-color:rgba(52,211,153,.3)}.sf-ern.proj{background:rgba(var(--accent),.10);border-color:rgba(var(--accent),.3)}
.sf-ern-v{font-size:19px;font-weight:800;color:var(--txt);font-family:'Sora',sans-serif}.sf-ern-l{font-size:11px;color:var(--mut);margin-top:2px}
.sf-lb{display:flex;align-items:center;gap:10px;margin-bottom:9px;font-size:12.5px}.sf-lb-n{flex:0 0 150px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--txt)}.sf-lb-bar{flex:1;height:9px;background:rgba(255,255,255,.06);border-radius:5px;overflow:hidden}.sf-lb-bar i{display:block;height:100%;background:linear-gradient(90deg,#0ea5e9,#22d3ee)}.sf-lb b{font-weight:800;color:var(--txt)}

.sf-seats{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:14px}
.sf-seat{background:rgba(255,255,255,.04);border:1px solid var(--bord);border-radius:12px;padding:14px 15px}
.sf-seat-n{font-size:13px;font-weight:700;color:var(--txt);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sf-seat-m{font-size:11px;color:var(--mut);margin:2px 0 8px}
.sf-seat-bar{height:7px;border-radius:5px;background:rgba(255,255,255,.07);overflow:hidden}.sf-seat-bar i{display:block;height:100%;border-radius:5px}
.sf-seat-l{font-size:12px;font-weight:800;margin-top:6px}
.seat-open{color:#6ee7b7}.seat-open i{background:#34d399}.seat-fill{color:#fbbf24}.seat-fill i{background:#fbbf24}.seat-full{color:#fb7185}.seat-full i{background:#fb7185}

.sf-hero{display:flex;align-items:center;gap:16px;flex:1;min-width:0}
.sf-hi{font-family:'Sora',sans-serif;font-size:21px;font-weight:800}
.sf-hi-sub{font-size:12.5px;color:var(--mut);margin-top:2px}
.sf-quick{display:flex;gap:8px;flex-wrap:wrap;margin-left:auto}
.sf-qbtn{background:rgba(255,255,255,.05);border:1px solid var(--bord);border-radius:10px;padding:8px 13px;color:var(--txt);font-weight:700;font-size:12.5px;cursor:pointer;font-family:inherit;white-space:nowrap}
.sf-qbtn:hover{border-color:#22d3ee}.sf-qbtn.primary{background:var(--grad);color:#04121f;border:0}

.cx-chips{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 16px}
.cx-chip{background:rgba(255,255,255,.05);border:1px solid var(--bord);border-radius:20px;padding:7px 14px;color:var(--mut);font-weight:700;font-size:12.5px;cursor:pointer;font-family:inherit}
.cx-chip:hover{color:var(--txt);border-color:#22d3ee}.cx-chip.on{background:var(--grad);color:#04121f;border:0}
.sf-fustat{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin:0 0 16px}
.sf-fustat-i{background:rgba(255,255,255,.04);border:1px solid var(--bord);border-radius:12px;padding:11px 14px}
.sf-fustat-i b{display:block;font-size:20px;font-weight:800;font-family:'Sora',sans-serif;color:var(--txt)}
.sf-fustat-i span{font-size:10.5px;color:var(--mut);text-transform:uppercase;letter-spacing:.3px}
.sf-fustat-i.over b{color:#fb7185}.sf-fustat-i.today b{color:#fbbf24}.sf-fustat-i.comm b{color:#6ee7b7}
.sf-fucard{display:flex;align-items:center;gap:13px;background:rgba(255,255,255,.04);border:1px solid var(--bord);border-radius:12px;padding:12px 15px;margin-bottom:9px;cursor:pointer;transition:.12s}
.sf-fucard:hover{border-color:#22d3ee;background:rgba(34,211,238,.05)}
.sf-fucard.is-over{border-left:3px solid #fb7185}.sf-fucard.is-today{border-left:3px solid #fbbf24}
.sf-fu-av{width:38px;height:38px;border-radius:12px;background:var(--grad);display:flex;align-items:center;justify-content:center;font-weight:800;color:#04121f;flex:0 0 auto;font-size:13px}
.sf-fu-body{flex:1;min-width:0}
.sf-fu-top{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.sf-fu-top b{font-weight:700}
.sf-fu-meta{font-size:12px;color:var(--mut);margin-top:3px}
.sf-fu-nba{font-size:12.5px;color:#7dd3fc;margin-top:5px;font-weight:600}
.sf-fu-acts{display:flex;gap:6px;flex:0 0 auto;flex-wrap:wrap;justify-content:flex-end;max-width:210px}
.cx-mini.done{background:rgba(52,211,153,.16);border-color:rgba(52,211,153,.4);color:#6ee7b7}
@media(max-width:820px){.sf-fustat{grid-template-columns:repeat(2,1fr)}.sf-fu-acts{max-width:none}}

.sc-src{margin-top:13px;border-top:1px solid var(--bord);padding-top:12px}
.sc-srch{font-size:12px;font-weight:700;color:var(--mut);margin-bottom:9px}
.sc-srcrow{display:flex;align-items:center;gap:16px;flex-wrap:wrap}

.sh-kpis{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.sh-kpi{background:rgba(255,255,255,.04);border:1px solid var(--bord);border-top:2px solid #22d3ee;border-radius:12px;padding:13px 14px}
.sh-kpi .v{font-size:22px;font-weight:800;font-family:'Sora',sans-serif;color:var(--txt)}
.sh-kpi .l{font-size:10.5px;color:var(--mut);text-transform:uppercase;letter-spacing:.3px;margin-top:3px}
.sh-rows{display:flex;flex-direction:column;gap:10px}
.sh-row{display:flex;align-items:center;justify-content:space-between;gap:12px;background:rgba(255,255,255,.04);border:1px solid var(--bord);border-left:2px solid #22d3ee;border-radius:12px;padding:12px 15px}
.sh-row .sh-cell{min-width:0}
.sh-row .sh-cell.r{text-align:right}
.sh-cell .v{font-size:18px;font-weight:800;font-family:'Sora',sans-serif;color:var(--txt)}
.sh-cell .l{font-size:10px;color:var(--mut);text-transform:uppercase;letter-spacing:.3px;margin-top:2px}
.sh-cell.r .v{font-size:16px;color:#9fd0f5}.sh-cell.r .l{color:#6b7689}
.pl-divider{font-size:12px;font-weight:700;color:var(--mut);margin:16px 0 10px;padding-top:13px;border-top:1px solid var(--bord)}

.hr-subnav{display:flex;gap:8px;margin:0 0 18px;flex-wrap:wrap}
.hr-subtab{background:rgba(127,127,127,.06);border:1px solid var(--bord);border-radius:12px;padding:9px 15px;color:var(--mut);font-weight:700;font-size:13px;cursor:pointer;font-family:inherit}
.hr-subtab.on{background:var(--grad);color:#fff;border:0}
.lv-pill{display:inline-block;padding:1px 9px;border-radius:999px;font-size:11px;font-weight:700;white-space:nowrap}
.lv-status{display:inline-block;padding:1px 10px;border-radius:999px;font-size:11px;font-weight:800}
.hr-hol{display:flex;gap:12px;align-items:baseline;padding:8px 0;border-bottom:1px solid var(--bord);font-size:13px}
.hr-hol:last-child{border-bottom:0}.hr-hol b{flex:0 0 64px;color:#7dd3fc}
.hr-att{display:flex;align-items:center;gap:16px}.hr-att-ic{font-size:34px;flex:0 0 auto}
.hr-flags{margin-top:5px;display:flex;flex-direction:column;gap:3px}.hr-flag{font-size:11px;color:#fbbf24}
.hr-pb{font-size:11px;font-weight:800;color:#fbbf24;background:rgba(251,191,36,.14);border-radius:20px;padding:2px 9px}
.hr-pm{font-size:11px;font-weight:700;color:#6ee7b7;background:rgba(52,211,153,.12);border-radius:20px;padding:2px 9px}
.hr-cal{display:grid;grid-template-columns:repeat(auto-fill,minmax(195px,1fr));gap:10px}
.hr-cal-i{display:flex;gap:12px;align-items:baseline;background:rgba(127,127,127,.05);border:1px solid var(--bord);border-radius:12px;padding:11px 13px}
.hr-cal-d{flex:0 0 auto;font-weight:800;color:#7dd3fc;font-size:13px;min-width:46px}.hr-cal-n{font-size:12.5px}
.hr-pol{padding:11px 0;border-bottom:1px solid var(--bord)}.hr-pol:last-child{border-bottom:0}
.hr-pol-h{display:flex;align-items:center;gap:8px;font-size:14px;margin-bottom:4px}
.hr-pol-r{font-size:12.5px;color:var(--mut);line-height:1.5}
.hr-ul{margin:0;padding-left:20px;line-height:1.9;font-size:13.5px}.hr-ul li{margin-bottom:4px}
.lv-bals{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin:8px 0 4px}
.lv-bal{background:rgba(127,127,127,.07);border:1px solid rgba(127,127,127,.2);border-radius:12px;padding:10px 8px;text-align:center}
.lv-bal-v{font-family:'Sora',sans-serif;font-size:20px;font-weight:800}.lv-bal-v small{font-size:12px;color:#94a3b8;font-weight:600}
.lv-bal-l{font-size:10.5px;color:#94a3b8;text-transform:uppercase;letter-spacing:.3px;margin-top:2px}
.lv-form{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.lv-warn{margin-top:10px;background:rgba(251,191,36,.14);border:1px solid rgba(251,191,36,.4);border-radius:10px;padding:9px 12px;font-size:12.5px;line-height:1.5}
.lv-hist{display:flex;align-items:center;gap:9px;padding:7px 0;border-bottom:1px solid rgba(127,127,127,.15);font-size:12.5px}.lv-hist:last-child{border-bottom:0}
.overlay .panel .lv-bal-v{color:#16325c}.overlay .panel .lv-warn{color:#92400e}
.overlay .panel .lv-form input,.overlay .panel .lv-form select{width:100%;color:#16325c;background:#fff;border:1px solid #dddbda;border-radius:8px;padding:8px 10px;font-family:inherit;font-size:13px}
@media(max-width:820px){.lv-bals{grid-template-columns:repeat(3,1fr)}.lv-form{grid-template-columns:1fr}}

.rp-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:14px 0}
.rp-kpi{background:#f3f8ff;border:1px solid #d6e6f7;border-radius:10px;padding:11px 12px}
.rp-kpi-v{font-family:'Sora',sans-serif;font-size:18px;font-weight:800;color:#16325c}
.rp-kpi-l{font-size:10.5px;color:#5c6b80;text-transform:uppercase;letter-spacing:.3px;margin-top:2px}
.rp-cmp{font-size:13px;color:#16325c;background:#f7f9fb;border:1px solid #e3e8ef;border-radius:10px;padding:9px 13px;font-weight:600}
.rp-tbl{width:100%;border-collapse:collapse;margin-top:10px;font-size:12.5px}
.rp-tbl th{text-align:left;color:var(--mut);font-size:10.5px;text-transform:uppercase;letter-spacing:.4px;padding:6px 8px;border-bottom:1px solid var(--bord)}
.rp-tbl td{padding:7px 8px;border-bottom:1px solid var(--bord);color:var(--txt);font-size:13px}
@media(max-width:700px){.rp-kpis{grid-template-columns:repeat(2,1fr)}}
.lv-act{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid rgba(127,127,127,.2);border-radius:12px;padding:10px 13px;margin-bottom:8px;font-size:13px}
.lv-act-b{flex:0 0 auto;white-space:nowrap}
.overlay .panel .lv-act{background:#f7f9fb;color:#16325c}.overlay .panel .lv-act b{color:#16325c}

.fin-pl{display:flex;justify-content:space-between;align-items:center;padding:9px 0;border-bottom:1px solid var(--bord);font-size:13.5px}
.fin-pl:last-child{border-bottom:0}.fin-pl.tot{border-top:2px solid var(--bord2);margin-top:4px;font-weight:700;font-size:15px;padding-top:11px}
.fin-pl.sub{padding:6px 0 6px 16px;font-size:12.5px;color:var(--mut);border-bottom:1px dotted rgba(127,127,127,.18)}.fin-pl.sub b{color:var(--txt);font-weight:600}
.fin-pl.pos{border-top:1px solid var(--bord);font-weight:700}
.fin-plsec{margin:12px 0 4px;font-size:11px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:rgb(var(--accent))}

.fin-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin:14px 0 4px}
.fin-kpis .mba-kpi{animation:lz-rise .42s ease both;animation-delay:calc(var(--i,0)*40ms)}
.mba-kpi.is-good{border-color:rgba(52,211,153,.4);background:linear-gradient(180deg,rgba(52,211,153,.08),transparent)}
.mba-kpi.is-good .mba-kpi-ic{background:rgba(52,211,153,.18)}
.fin-cap{margin-bottom:12px}
.fin-cap-h{display:flex;justify-content:space-between;align-items:baseline;gap:8px;font-size:12.5px;color:var(--mut);margin-bottom:5px}
.fin-cap-h b{color:var(--txt);font-weight:800}.fin-cap-h small{color:var(--mut);font-weight:500}
.fin-cap-h b.fin-over,.fin-over{color:#fda4af}
.fin-cap-bar{height:8px;border-radius:5px;background:rgba(255,255,255,.06);overflow:hidden}
.fin-cap-bar i{display:block;height:100%;border-radius:5px;background:var(--grad);animation:bbGrow .85s cubic-bezier(.2,.8,.2,1) both}
.fin-cap-bar i.over{background:linear-gradient(90deg,#fb7185,#f43f5e)}
.fin-bal{display:flex;align-items:center;gap:12px;padding:11px 0;border-bottom:1px solid var(--bord)}
.fin-bal-ic{font-size:20px;width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:var(--glass2);border-radius:11px;flex:0 0 auto}
.fin-bal-t{flex:1}.fin-bal-t b{display:block;font-size:14px;color:var(--txt)}.fin-bal-t small{color:var(--mut);font-size:11.5px}
.fin-bal-v{font-size:18px;font-weight:800;color:var(--txt);font-family:'Sora',sans-serif}
.fin-book td{font-size:12.5px;vertical-align:top}.fin-book .fin-mr{color:var(--mut);font-size:11.5px}
.fin-rec{width:26px;height:26px;border-radius:8px;border:1px solid var(--bord);background:rgba(127,127,127,.1);color:var(--mut);cursor:pointer;font-weight:800;transition:all .12s}
.fin-rec:hover{border-color:rgb(var(--accent))}
.fin-rec.on{background:rgba(52,211,153,.18);border-color:rgba(52,211,153,.5);color:#6ee7b7}
.fin-ok{color:#6ee7b7;font-weight:700;font-size:12.5px}
.fin-tag{font-size:10px;font-weight:800;letter-spacing:.03em;background:rgba(var(--accent),.14);color:rgb(var(--accent));border:1px solid rgba(var(--accent),.28);border-radius:5px;padding:0 5px;vertical-align:middle}
.fin-repbar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:12px 0}
.fin-jhead,.fin-jrow{display:grid;grid-template-columns:1fr 110px 110px;gap:8px;align-items:center}
.fin-jhead{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:var(--mut);margin:10px 0 6px;padding:0 2px}
.fin-jrow{margin-bottom:7px}
.fin-jtot{font-size:13px;font-weight:800;margin-left:10px;color:var(--mut)}
.fin-jtot.ok{color:#6ee7b7}.fin-jtot.bad{color:#fda4af}
.fin-bank{display:flex;align-items:center;justify-content:space-between;gap:12px}
.fin-inv-h{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;border-bottom:2px solid var(--bord);padding-bottom:12px;margin-bottom:4px}
.rp-tbl tr.rp-due td{border-top:1.5px solid var(--bord);border-bottom:none;font-size:14px;padding-top:9px}
.fin-xcheck{margin-top:14px;padding:12px 13px;border:1px solid var(--bord);border-radius:12px;background:rgba(255,255,255,.03)}
.fin-xcheck-h{font-weight:700;font-size:12.5px;margin-bottom:9px;color:var(--txt);display:flex;align-items:center;gap:8px}
.fin-xcheck-badge{font-size:10.5px;padding:2px 8px;border-radius:20px;font-weight:700}
.fin-xcheck-badge.ok{color:#34d399;background:rgba(52,211,153,.12);border:1px solid rgba(52,211,153,.3)}
.fin-xcheck-badge.warn{color:#fbbf24;background:rgba(251,191,36,.12);border:1px solid rgba(251,191,36,.3)}
.fin-xcheck-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.fin-xcheck-grid>div{display:flex;flex-direction:column;gap:2px}
.fin-xcheck-grid small{color:var(--mut);font-size:10.5px}
.fin-xcheck-grid b{font-size:14px;color:var(--txt);font-variant-numeric:tabular-nums}

.fin-sc-row{padding:9px 2px;border-bottom:1px solid var(--bord)}
.fin-sc-row:last-child{border-bottom:none}
.fin-sc-top{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:5px;flex-wrap:wrap}
.fin-sc-name{font-size:12.5px;font-weight:600;color:var(--txt)}
.fin-sc-val{font-size:12.5px;font-weight:700;color:var(--txt);white-space:nowrap}
.fin-sc-val small{color:var(--mut);font-weight:500;font-size:10.5px}
.fin-sc-badge{font-size:9.5px;font-weight:700;padding:2px 7px;border-radius:20px;margin-left:4px;font-style:normal}
.fin-sc-good .fin-sc-badge{color:#34d399;background:rgba(52,211,153,.13)}
.fin-sc-ok .fin-sc-badge{color:#fbbf24;background:rgba(251,191,36,.13)}
.fin-sc-warn .fin-sc-badge{color:#fb7185;background:rgba(251,113,133,.14)}
.fin-cockpit-gauge{display:inline-flex;width:58px;flex-shrink:0}
.fin-cockpit-gauge svg{width:100%;height:auto}
@keyframes finBarGrow{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes finRise{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
.fin-bul-bar{transform-origin:left center;animation:finBarGrow .7s cubic-bezier(.22,1,.36,1) both}
.fin-wf-bar{animation:finRise .5s ease both}
.sf-card-b svg{animation:finRise .5s ease both}
@media(prefers-reduced-motion:reduce){.fin-bul-bar,.fin-wf-bar,.sf-card-b svg{animation:none}}

.fin-hero{display:grid;grid-template-columns:1.65fr 1fr;border:1px solid var(--bord);border-radius:22px;overflow:hidden;margin-top:16px;background:radial-gradient(130% 150% at 0% 0%,rgba(34,211,238,.07),transparent 52%),var(--glass);animation:finRise .5s ease both}
.fin-hero-main{padding:24px 26px 12px;min-width:0}
.fin-hero-eyebrow{font-size:11px;letter-spacing:1.6px;text-transform:uppercase;color:var(--mut);font-weight:700}
.fin-hero-figure{display:flex;align-items:baseline;gap:14px;margin:8px 0 4px;flex-wrap:wrap}
.fin-hero-num{font-family:'Sora',sans-serif;font-size:clamp(34px,4.4vw,50px);font-weight:800;letter-spacing:-1.5px;line-height:.95;color:var(--ink,#eef4ff)}
.fin-hero-delta{font-size:13px;font-weight:800;padding:3px 11px;border-radius:999px}
.fin-hero-delta.up{color:#34d399;background:rgba(52,211,153,.13)}
.fin-hero-delta.down{color:#fb7185;background:rgba(251,113,133,.13)}
.fin-hero-sub{font-size:13px;color:var(--mut);font-weight:500}
.fin-hero-chart{margin:12px -8px 0}
.fin-hero-chart svg{width:100%;height:auto;display:block}
.fin-hero-side{padding:22px;border-left:1px solid var(--bord);background:rgba(255,255,255,.018);display:flex;flex-direction:column;gap:14px}
.fin-hero-verdict{display:flex;align-items:center;gap:12px;cursor:help}
.fin-hero-gauge{width:70px;flex-shrink:0;display:inline-flex}
.fin-hero-gauge svg{width:100%;height:auto}
.fin-hero-vtxt b{font-size:17px;display:block;line-height:1.1}
.fin-hero-vtxt small{font-size:11px;color:var(--mut)}
.fin-hero-checks{display:flex;flex-direction:column;align-items:stretch;gap:8px;margin-top:4px}
.fin-hero-checks .fin-hchk{width:100%;justify-content:flex-start;font-size:12px;padding:8px 12px;border-radius:10px}
.fin-hero-cta{margin-top:auto;display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:14px;border:1px solid rgba(34,211,238,.28);background:linear-gradient(135deg,rgba(34,211,238,.13),rgba(167,139,250,.13));color:var(--txt);cursor:pointer;text-align:left;transition:transform .14s,border-color .14s}
.fin-hero-cta:hover{transform:translateY(-1px);border-color:rgba(34,211,238,.6)}
.fin-hero-cta-ic{font-size:20px;flex-shrink:0}
.fin-hero-cta-t{flex:1;min-width:0}
.fin-hero-cta-t small{display:block;font-size:9.5px;text-transform:uppercase;letter-spacing:1.2px;color:var(--mut);font-weight:700}
.fin-hero-cta-t b{font-size:13px}
.fin-hero-cta-go{font-size:18px;color:var(--mut)}
.fin-hero-leg{display:inline-flex;align-items:center;gap:3px;margin-left:10px;font-size:10.5px;color:var(--mut);white-space:nowrap}
.fin-hero-leg i{width:9px;height:9px;border-radius:2px;display:inline-block;margin:0 3px 0 8px;vertical-align:middle}
.fin-hero-leg i.rc-r{background:#34d399}
.fin-hero-leg i.rc-c{background:#fb7185}
.fin-hero-leg .rc-d{letter-spacing:-1.5px}
.fin-hero-sub{line-height:1.7}
.fin-revcost{width:100%;height:auto}

.fin-hero-meters{display:flex;flex-direction:column;gap:14px;margin-top:18px}
.fhm-row{display:flex;flex-direction:column;gap:6px}
.fhm-head{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}
.fhm-lbl{font-size:12px;color:var(--mut);font-weight:600}
.fhm-sub{font-size:10.5px;color:var(--mut);opacity:.8}
.fhm-meter{display:flex;align-items:center;gap:12px}
.fhm-bar{flex:1;height:9px;border-radius:6px;background:rgba(255,255,255,.06);overflow:hidden;min-width:0}
.fhm-bar>i{display:block;height:100%;border-radius:6px;animation:finBarGrow .7s cubic-bezier(.22,1,.36,1) both;transform-origin:left}
.fhm-val{font-size:14.5px;font-weight:800;white-space:nowrap;font-variant-numeric:tabular-nums;min-width:66px;text-align:right}
.fhm-result{margin-top:2px;padding-top:12px;border-top:1px solid var(--bord)}
.fhm-result .fhm-lbl{color:var(--txt);font-weight:700;font-size:12.5px}
.fhm-result .fhm-val{font-size:19px}

.fin-zone{font-size:11.5px;font-weight:800;letter-spacing:1.6px;text-transform:uppercase;color:var(--mut);margin:26px 2px 12px;display:flex;align-items:center;gap:12px}
.fin-zone::after{content:"";flex:1;height:1px;background:linear-gradient(90deg,var(--bord),transparent)}

.fin-bento{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:minmax(160px,auto);gap:14px;grid-auto-flow:row dense;margin-top:16px}
.fin-bento>*{min-width:0}
.fin-bento .sf-card,.fin-bento .bento{height:100%;margin:0}
.bento{border:1px solid var(--bord);border-radius:18px;background:var(--glass);padding:16px;overflow:hidden;display:flex;flex-direction:column;min-width:0}
.bento-h{font-size:10.5px;font-weight:800;letter-spacing:1.2px;text-transform:uppercase;color:var(--mut);margin-bottom:10px;display:flex;align-items:center;gap:8px}
.bstat-top{display:flex;align-items:center;justify-content:space-between;gap:8px}
.bstat-ic{font-size:20px;line-height:1}
.bstat-v{font-family:'Sora',sans-serif;font-size:29px;font-weight:800;line-height:1;margin-top:8px;letter-spacing:-.5px;color:var(--txt)}
.bstat-l{font-size:11.5px;color:var(--mut);font-weight:600;margin-top:5px}
.c2{grid-column:span 2}.c3{grid-column:span 3}.c4{grid-column:span 4}.c5{grid-column:span 5}.c6{grid-column:span 6}.c7{grid-column:span 7}.c8{grid-column:span 8}.c12{grid-column:span 12}
.r2{grid-row:span 2}
@media(max-width:1080px){.fin-bento .c5,.fin-bento .c6,.fin-bento .c7,.fin-bento .c8{grid-column:span 12}.fin-bento .c3,.fin-bento .c4{grid-column:span 6}.fin-bento .r2{grid-row:span 1}}
@media(max-width:600px){.fin-bento{grid-template-columns:1fr}.fin-bento>*{grid-column:span 1!important}}
.fin-pay-tbl{width:100%;table-layout:auto}
.fin-pay-tbl th,.fin-pay-tbl td{padding:9px 16px;white-space:nowrap}
.fin-pay-tbl td:first-child,.fin-pay-tbl th:first-child{white-space:normal;width:34%}
@media(max-width:860px){.fin-hero{grid-template-columns:1fr}.fin-hero-side{border-left:none;border-top:1px solid var(--bord)}}

.fin-kpis.k5{grid-template-columns:repeat(5,minmax(0,1fr))}
@media(max-width:1150px){.fin-kpis.k5{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:640px){.fin-kpis.k5{grid-template-columns:repeat(2,minmax(0,1fr))}}
.fin-kpis.k5 .mba-kpi{min-width:0}
.fin-kpis.k5 .mba-kpi-v{white-space:nowrap}
.fin-kpis.k5 .mba-kpi.is-good,.fin-kpis.k5 .mba-kpi.is-warn,.fin-kpis.k5 .mba-kpi.is-accent,.fin-kpis.k5 .mba-kpi.is-act{background:var(--glass);border-color:var(--bord)}
.fin-inv-no{font-family:'Sora',sans-serif;font-size:16px;font-weight:800;color:#0176d3}

.sf-main [data-tip]{position:relative}
.sf-main [data-tip]:hover::after{content:attr(data-tip);position:absolute;bottom:calc(100% + 7px);left:50%;transform:translateX(-50%);background:#0b1424;color:#fff;font-size:11px;font-weight:700;padding:5px 9px;border-radius:7px;z-index:80;pointer-events:none;box-shadow:0 10px 26px rgba(0,0,0,.55);border:1px solid rgba(255,255,255,.14);width:max-content;max-width:240px;white-space:normal;text-align:center;line-height:1.35}
.sf-main [data-tip]:hover::before{content:"";position:absolute;bottom:calc(100% + 3px);left:50%;transform:translateX(-50%);border:5px solid transparent;border-top-color:#0b1424;z-index:80;pointer-events:none}

.sf-main td[style*="text-align:right"] [data-tip]:hover::after,.sf-main .fin-book td:last-child [data-tip]:hover::after{left:auto;right:0;transform:none}
.sf-main td[style*="text-align:right"] [data-tip]:hover::before,.sf-main .fin-book td:last-child [data-tip]:hover::before{left:auto;right:8px;transform:none}

/* Ledger "Opening balance as at …" row — was a hardcoded #f8fafc inline style, which rendered as
   an unreadable white band on the dark theme. Theme tokens keep it legible in both modes. */
.fin-openrow{background:rgba(125,211,252,.08)}
.fin-openrow td{color:var(--txt)}
.fin-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:14px}
.fin-scroll>table{min-width:640px}
.fin-scroll .fin-book,.fin-scroll .fin-cm-tbl{min-width:760px}
.fin-scroll::-webkit-scrollbar{height:9px}
.fin-scroll::-webkit-scrollbar-thumb{background:rgba(var(--accent),.35);border-radius:6px}
.fin-scroll::-webkit-scrollbar-track{background:transparent}
/* Access Control: freeze the portal-name header row while the page scrolls.
   The wrapper owns the frame; the table drops its own overflow:hidden/border so no
   ancestor clips the sticky header, which then pins to the viewport under the topbar. */
.acc-wrap{border:1px solid var(--bord);border-radius:14px}
/* border-collapse:separate is required — collapse mode fails to paint sticky-th backgrounds (bleed-through). */
table.acc-table{overflow:visible;border:0;border-radius:13px;border-collapse:separate;border-spacing:0}
table.acc-table thead th{position:sticky;top:60px;z-index:6;background:#12172b !important;border-bottom:1px solid var(--bord)}
table.acc-table thead th:first-child{text-align:left}
.acc-name:hover{text-decoration:underline}
.acc-fd{display:inline-block;font-size:10.5px;font-weight:700;color:#fbbf24;background:rgba(251,191,36,.12);border:1px solid rgba(251,191,36,.3);border-radius:999px;padding:1px 7px;margin-left:6px;vertical-align:middle}

.list td[style*="text-align:right"],.fin-book td[style*="text-align:right"],.fin-cm-tbl td.num,.fin-cm-tbl th.num{font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1}

.fin-cm-mon{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:12px 0}
.fin-cm-mon .fin-tg{border:1px solid var(--bord)}
.fin-cm-mon .fin-tg.on{border-color:transparent}
.fin-cm-tbl{width:100%}
.fin-cm-tbl th.num,.fin-cm-tbl td.num{text-align:right;white-space:nowrap}
.fin-cm-tbl tr.fin-cm-tot td{border-top:2px solid var(--bord2);font-weight:800;color:var(--txt);background:rgba(var(--accent),.06)}
.fin-cm-due{color:#fda4af;font-weight:700}
.fin-cm-due0{color:var(--mut)}

.fs-tbl td,.fs-tbl th{white-space:nowrap}
.fs-tbl .fs-dept td{background:rgba(var(--accent),.09);font-weight:800;font-size:11px;letter-spacing:.5px;text-transform:uppercase;color:rgb(var(--accent));padding-top:10px}
.fs-tbl .fs-sub td{border-top:1px solid var(--bord);font-weight:800;color:var(--txt);background:rgba(255,255,255,.02)}
.fs-tbl .fs-grand td{border-top:2px solid var(--bord2);font-weight:900;color:var(--txt);background:rgba(var(--accent),.08);font-size:14px}
.fs-tbl .fs-fcrow td{color:#c4b5fd;font-weight:700;background:rgba(167,139,250,.08)}
.fs-tbl .fs-fc{color:#c4b5fd;font-weight:700}
.fs-tbl .fs-due{color:#fda4af;font-weight:700}
.fin-cm-cap{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:700;color:#fda4af;background:rgba(251,113,133,.12);border:1px solid rgba(251,113,133,.3);border-radius:6px;padding:1px 7px;vertical-align:middle}

.fin-in{background:var(--glass2,rgba(255,255,255,.04));border:1px solid var(--bord);color:var(--txt);border-radius:9px;padding:8px 11px;font:inherit;font-size:13px;outline:none;transition:border-color .15s,box-shadow .15s}
.fin-in:focus{border-color:rgba(var(--accent),.6);box-shadow:0 0 0 3px rgba(var(--accent),.14)}
.fin-in::placeholder{color:var(--mut)}
.fin-range{display:inline-flex;align-items:center;gap:8px}
.fin-range-sep{color:var(--mut);font-weight:700}
.fin-range .fin-in{padding:7px 10px;color-scheme:dark}
.fin-bank-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px;margin-top:16px}
.fin-bank-card{text-align:left;cursor:pointer;background:var(--glass);border:1px solid var(--bord);border-radius:16px;padding:15px 16px 13px;color:var(--txt);position:relative;overflow:hidden;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}
.fin-bank-card:hover{transform:translateY(-3px);border-color:rgba(var(--accent),.5);box-shadow:0 14px 34px -18px rgba(var(--accent),.6)}
.fin-bank-card.on{border-color:transparent;background:linear-gradient(160deg,rgba(var(--accent),.16),rgba(var(--accent),.03));box-shadow:0 0 0 1.5px rgba(var(--accent),.55),0 16px 40px -20px rgba(var(--accent),.7)}
.fin-bank-card.on::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--grad)}
.fbk-top{display:flex;justify-content:space-between;align-items:center;gap:8px}
.fbk-nm{font-weight:800;font-size:14px}
.fbk-ac{font-size:11px;color:var(--mut);font-variant-numeric:tabular-nums}
.fbk-bal{font-size:24px;font-weight:800;margin-top:8px;letter-spacing:-.4px;font-variant-numeric:tabular-nums}
.fbk-sub{font-size:11px;color:var(--mut);margin-top:1px}
.fbk-spark{margin:8px 0 6px;opacity:.9}
.fbk-io{display:flex;align-items:center;gap:10px;font-size:11.5px;font-weight:700;flex-wrap:wrap}
.fbk-in{color:#34d399}.fbk-out{color:#fb7185}.fbk-mut{color:var(--mut);font-weight:600;margin-left:auto}
.fb-cat{display:inline-block;font-size:10.5px;font-weight:700;color:var(--c,#94a3b8);background:color-mix(in srgb,var(--c,#94a3b8) 15%,transparent);border:1px solid color-mix(in srgb,var(--c,#94a3b8) 38%,transparent);border-radius:999px;padding:2px 9px;white-space:nowrap}
.fb-recbar{height:4px;background:rgba(255,255,255,.06);position:relative;overflow:hidden}
.fb-recbar>span{position:absolute;left:0;top:0;bottom:0;background:var(--grad);border-radius:0 3px 3px 0;transition:width .5s cubic-bezier(.4,0,.2,1)}
.fin-bank-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:16px}
@media(max-width:900px){.fin-bank-grid{grid-template-columns:1fr}}
.fb-x2{border-top:1px dashed var(--bord);margin-top:6px;padding-top:2px}
.fb-src{display:flex;align-items:center;gap:10px;padding:7px 0;border-bottom:1px solid rgba(255,255,255,.04)}
.fb-src:last-child{border-bottom:0}
.fb-src-nm{display:flex;align-items:center;gap:7px;font-size:12.5px;font-weight:600;min-width:150px;flex-shrink:0}
.fb-src-nm i{width:9px;height:9px;border-radius:3px;flex-shrink:0}
.fb-src-bar{flex:1;height:8px;background:rgba(255,255,255,.05);border-radius:5px;overflow:hidden;min-width:40px}
.fb-src-bar>span{display:block;height:100%;border-radius:5px}
.fb-src-amt{font-size:12.5px;font-weight:800;font-variant-numeric:tabular-nums;white-space:nowrap;text-align:right;min-width:96px}
.fb-src-amt em{font-style:normal;color:var(--mut);font-weight:600;font-size:11px}

.fin-dash-hd{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;flex-wrap:wrap;margin-bottom:6px}
.fin-kpi-spark{margin-top:6px;height:24px;opacity:.85}
.fin-kpi-chip{display:inline-block;margin-top:5px;font-size:10.5px;font-weight:800;padding:1px 8px;border-radius:999px}
.fin-kpi-chip.up{color:#34d399;background:rgba(52,211,153,.14)}
.fin-kpi-chip.down{color:#fb7185;background:rgba(251,113,133,.14)}
.mba-kpi.is-accent{border-color:rgba(var(--accent),.5)!important;background:linear-gradient(120deg,rgba(var(--accent),.15),rgba(var(--accent),.02))}
.fin-fc-key{float:right;font-size:10.5px;font-weight:600;color:var(--mut);display:inline-flex;gap:9px;align-items:center}
.fin-fc-key i{display:inline-block;width:12px;height:3px;border-radius:2px;vertical-align:middle;margin-right:3px}
.fin-fc-key i.s{background:#22d3ee}.fin-fc-key i.f{background:#a78bfa}.fin-fc-key i.c{background:#22d3ee}
.fin-13-row{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;margin-top:8px;font-size:12px;color:var(--mut)}
.fin-13-row b{color:var(--txt)}
.fin-donut-wrap{display:flex;gap:18px;align-items:center;flex-wrap:wrap;justify-content:center}
.fin-donut-leg{flex:1;min-width:150px;display:flex;flex-direction:column;gap:7px}
.fin-leg{display:flex;align-items:center;gap:8px;font-size:12.5px}
.fin-leg i{width:10px;height:10px;border-radius:3px;flex-shrink:0}
.fin-leg span{flex:1;color:var(--mut)}
.fin-leg b{font-variant-numeric:tabular-nums}
.fin-hbars{display:flex;flex-direction:column;gap:10px}
.fin-hbar{display:flex;align-items:center;gap:10px}
.fin-hbar-l{width:112px;flex-shrink:0;font-size:12.5px;font-weight:600}
.fin-hbar-t{flex:1;height:13px;background:rgba(255,255,255,.05);border-radius:7px;overflow:hidden}
.fin-hbar-t i{display:block;height:100%;border-radius:7px;transition:width .6s cubic-bezier(.4,0,.2,1)}
.fin-hbar-v{width:66px;text-align:right;font-size:12.5px;font-weight:800;font-variant-numeric:tabular-nums}
.fin-alerts{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:9px}
.fin-alert{display:flex;align-items:center;gap:11px;text-align:left;width:100%;padding:11px 13px;border-radius:12px;border:1px solid var(--bord);background:var(--glass2);color:var(--txt);cursor:pointer;transition:transform .14s,border-color .14s}
.fin-alert:hover{transform:translateY(-2px);border-color:rgba(var(--accent),.55)}
.fin-al-ic{font-size:17px;flex-shrink:0}
.fin-al-t{flex:1;min-width:0}
.fin-al-t b{display:block;font-size:13px}
.fin-al-t small{color:var(--mut);font-size:11.5px}
.fin-al-go{color:var(--mut);font-size:18px}
.fin-al-bad{border-color:rgba(251,113,133,.45);background:rgba(251,113,133,.09)}
.fin-al-warn{border-color:rgba(251,191,36,.34)}
.fin-al-good{border-color:rgba(52,211,153,.32)}

.fb-controls{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-top:16px}
.fb-step{display:inline-flex;align-items:center;gap:8px}
.fb-step-l{font-weight:800;font-size:13.5px;min-width:100px;text-align:center;color:var(--txt)}
.fb-step-b{min-width:34px;font-size:16px;line-height:1}
.fb-step-b:disabled{opacity:.35;cursor:not-allowed}
.fb-mrow{cursor:pointer}
.fb-mrow:hover{background:rgba(var(--accent),.06)}
.fb-mrow.on{background:rgba(var(--accent),.12)}
.fb-mrow.on td:first-child{box-shadow:inset 3px 0 0 rgb(var(--accent))}
.ar-badge{display:inline-block;font-size:10.5px;font-weight:700;color:var(--c,#94a3b8);background:color-mix(in srgb,var(--c,#94a3b8) 15%,transparent);border:1px solid color-mix(in srgb,var(--c,#94a3b8) 40%,transparent);border-radius:999px;padding:2px 9px;white-space:nowrap}
.scen-lever{margin:12px 0}
.scen-lever label{display:flex;justify-content:space-between;font-size:12.5px;color:var(--mut);margin-bottom:6px}
.scen-lever label b{color:var(--txt);font-variant-numeric:tabular-nums}
.scen-lever input[type=range]{width:100%;accent-color:rgb(var(--accent));cursor:pointer}

.ch-print{background:#fbfcfe;color:#0f172a;border-radius:10px;padding:18px 20px;border:1px solid #dbe3ee}
.ch-tbl{width:100%;border-collapse:collapse;margin-top:6px}
.ch-tbl td{padding:6px 9px;border-bottom:1px solid #e5eaf1;font-size:12.5px;color:#334155;vertical-align:top}
.ch-tbl td.r{text-align:right;color:#0f172a;font-weight:600}
.ch-tbl td small{color:#64748b;font-weight:400}
.ch-tbl tr.ch-amt td{background:#eef4ff;font-size:15px;border-top:2px solid #c9d6ea}
.ch-sign{display:flex;justify-content:space-between;gap:22px;margin-top:30px;font-size:11px;color:#64748b;text-align:center}

.fin-insight{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:14px 0 2px;padding:13px 16px;border-radius:14px;border:1px solid color-mix(in srgb,var(--vc,#94a3b8) 45%,transparent);background:linear-gradient(120deg,color-mix(in srgb,var(--vc,#94a3b8) 14%,transparent),transparent)}
.fin-insight-badge{display:flex;align-items:center;gap:8px;font-weight:800;font-size:14px;color:var(--vc,#94a3b8);white-space:nowrap}
.fin-insight-dot{font-size:15px}
.fin-insight-txt{flex:1;min-width:220px;font-size:13px;line-height:1.55;color:var(--txt)}
.fin-insight-txt b{color:var(--txt)}
.fin-insight-do{color:var(--vc,#94a3b8);font-weight:700}
.fin-ins-row{display:flex;gap:10px;padding:8px 0;border-bottom:1px solid rgba(255,255,255,.05);font-size:12.5px;line-height:1.5;color:var(--mut)}
.fin-ins-row:last-child{border-bottom:0}
.fin-ins-row span:first-child{flex-shrink:0}
.fin-ins-row b{color:var(--txt)}
.fin-rgrp{margin-bottom:14px}
.fin-rgrp:last-child{margin-bottom:0}
.fin-rgrp-h{font-size:10.5px;font-weight:800;letter-spacing:.5px;text-transform:uppercase;color:var(--mut);margin-bottom:8px}
.fin-rgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(148px,1fr));gap:10px}
.fin-ratio{background:var(--glass2);border:1px solid var(--bord);border-left:3px solid var(--rc,#94a3b8);border-radius:10px;padding:9px 12px;min-width:0}
.fin-ratio-v{font-size:18px;font-weight:800;font-variant-numeric:tabular-nums;letter-spacing:-.3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fin-ratio-l{font-size:12px;font-weight:600;margin-top:1px}
.fin-ratio-b{font-size:10.5px;color:var(--mut);margin-top:3px}
.fin-r-good{--rc:#34d399}.fin-r-ok{--rc:#fbbf24}.fin-r-warn{--rc:#fb7185}
.fin-r-good .fin-ratio-v{color:#6ee7b7}.fin-r-ok .fin-ratio-v{color:#fcd34d}.fin-r-warn .fin-ratio-v{color:#fca5a5}
.fin-ratio-top{display:flex;align-items:center;justify-content:space-between;gap:6px}
.fin-ratio-top .fin-ratio-v{min-width:0;overflow:hidden;text-overflow:ellipsis}
.fin-ratio-badge{font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.4px;color:var(--rc,#94a3b8);background:color-mix(in srgb,var(--rc,#94a3b8) 16%,transparent);border-radius:5px;padding:1px 6px;white-space:nowrap;flex-shrink:0}
.fin-ratio-mtr{height:5px;border-radius:3px;background:rgba(255,255,255,.08);overflow:hidden;margin:7px 0 5px}
.fin-ratio-mtr>i{display:block;height:100%;border-radius:3px;background:var(--rc,#94a3b8);transition:width .7s cubic-bezier(.4,0,.2,1)}
.fin-ib-q{font-size:11px;opacity:.55;cursor:help}
.fin-jump{display:grid;grid-template-columns:repeat(auto-fit,minmax(215px,1fr));gap:10px}
.fin-jump-b{display:flex;align-items:center;gap:12px;text-align:left;width:100%;padding:13px 14px;border-radius:13px;border:1px solid var(--bord);background:var(--glass2);color:var(--txt);cursor:pointer;transition:transform .14s,border-color .14s}
.fin-jump-b:hover{transform:translateY(-2px);border-color:rgba(var(--accent),.5)}
.fin-jump-ic{font-size:22px;flex-shrink:0}
.fin-jump-t{flex:1;min-width:0}
.fin-jump-t b{display:block;font-size:13.5px}
.fin-jump-t small{color:var(--mut);font-size:11.5px}
.fin-jump-go{color:var(--mut);font-size:18px}

.fin-cockpit{border:1px solid var(--bord);border-left:3px solid var(--vc);border-radius:16px;background:var(--glass);padding:14px 14px 4px;margin-top:14px}
.fin-cockpit-top{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:12px}
.fin-cockpit-verdict{display:flex;align-items:center;gap:9px;padding:6px 12px;border-radius:12px;background:rgba(255,255,255,.045);border:1px solid var(--bord);cursor:help;flex-shrink:0}
.fin-cockpit-dot{font-size:15px;line-height:1}
.fin-cockpit-vtxt{display:flex;flex-direction:column;line-height:1.2}
.fin-cockpit-vtxt b{font-size:14px;color:var(--vc)}
.fin-cockpit-vtxt small{font-size:10px;color:var(--mut)}
.fin-cockpit-checks{display:flex;gap:6px;flex-wrap:wrap;flex:1;min-width:0}
.fin-hchk{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:600;padding:4px 9px;border-radius:20px;border:1px solid var(--bord);cursor:help;white-space:nowrap}
.fin-hchk.ok{color:#34d399;background:rgba(52,211,153,.10);border-color:rgba(52,211,153,.30)}
.fin-hchk.no{color:#fb7185;background:rgba(251,113,133,.12);border-color:rgba(251,113,133,.38)}
.fin-cockpit-cta{margin-left:auto;background:linear-gradient(135deg,#22d3ee,#a78bfa);color:#04121f;font-weight:700;border:none;border-radius:11px;padding:8px 15px;cursor:pointer;font-size:12.5px;white-space:nowrap;flex-shrink:0}
.fin-cockpit-cta:hover{filter:brightness(1.08)}
.fin-cockpit .fin-kpis{margin-top:0;margin-bottom:10px}
.mba-kpi-l{text-wrap:balance}

.fin-dash-hd{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap}
.fin-timew{display:flex;align-items:center;gap:14px;padding:9px 16px;border-radius:14px;background:linear-gradient(135deg,rgba(34,211,238,.10),rgba(167,139,250,.12));border:1px solid var(--bord);flex-shrink:0}
.fin-timew-date{text-align:right;line-height:1.25}
.fin-timew-full{font-size:13.5px;font-weight:700;color:var(--txt)}
.fin-timew-day{font-size:11px;color:var(--mut)}
.fin-timew-clock{display:flex;flex-direction:column;align-items:center;padding-left:14px;border-left:1px solid var(--bord)}
.fin-timew-t{font-size:22px;font-weight:800;font-variant-numeric:tabular-nums;line-height:1;color:var(--ink,#e8eefc);font-family:'Sora',sans-serif}
.fin-timew-s{font-size:10px;color:var(--mut);font-variant-numeric:tabular-nums;margin-top:3px;letter-spacing:.3px}
@media(max-width:860px){.fin-timew{display:none}}
.fin-kpis.k6{grid-template-columns:repeat(6,minmax(0,1fr))}
@media(max-width:1250px){.fin-kpis.k6{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:640px){.fin-kpis.k6{grid-template-columns:repeat(2,minmax(0,1fr))}}
.fin-kpis.k6 .mba-kpi{min-width:0}
.fin-kpis.k6 .mba-kpi-v{white-space:nowrap}

.fin-insight-txt{display:flex;flex-wrap:wrap;gap:6px 4px}
.fin-ib{display:inline-flex;align-items:center;gap:5px;padding:4px 11px;border-radius:9px;background:rgba(255,255,255,.05);white-space:nowrap}
.fin-icgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}
.fin-ic{display:flex;align-items:center;gap:13px;padding:14px 15px;border-radius:14px;background:var(--glass2);border:1px solid var(--bord);transition:transform .14s,border-color .14s}
.fin-ic:hover{transform:translateY(-2px);border-color:rgba(var(--accent),.4)}
.fin-ic-ic{font-size:23px;flex-shrink:0;line-height:1}
.fin-ic-body{min-width:0}
.fin-ic-big{font-size:21px;font-weight:800;letter-spacing:-.4px;font-variant-numeric:tabular-nums;line-height:1.1;white-space:nowrap}
.fin-ic-lab{font-size:12px;font-weight:600;color:var(--txt);margin-top:4px}
.fin-ic-sub{font-size:11px;color:var(--mut);margin-top:2px}
.fin-ic.up .fin-ic-big{color:#6ee7b7}
.fin-ic.down .fin-ic-big{color:#fca5a5}

.fin-invbar{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin:14px 0 10px}
.fin-chkl{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:var(--txt);cursor:pointer}
.fin-chkl input,.inv-chk{accent-color:rgb(var(--accent));width:16px;height:16px;cursor:pointer}
.fin-chkl input:disabled{cursor:not-allowed;opacity:.4}
.inv-row{cursor:pointer;transition:background .12s}
.inv-row:hover{background:rgba(var(--accent),.07)}
svg .hvb{cursor:crosshair}
svg .hvb:hover .hvl{opacity:.5!important}
.fin-book td:first-child,.fin-book th:first-child{white-space:nowrap}

.ap-list{display:flex;flex-direction:column;gap:8px;margin-top:14px}
.ap-row{display:flex;align-items:center;gap:12px;width:100%;text-align:left;background:#f7f9fb;border:1px solid #e3e8ef;border-radius:12px;padding:12px 14px;cursor:pointer;font-family:inherit}
.ap-row:hover{border-color:#0176d3;background:#eef5ff}
.ap-emo{font-size:20px;flex:0 0 auto}
.ap-main{flex:1;min-width:0}.ap-main b{display:block;font-size:14px;color:#16325c;font-weight:700}.ap-main span{font-size:12px;color:#5c6b80}
.ap-money{font-weight:800;color:#1c6b34;font-size:13px;white-space:nowrap}
.ap-go{color:#9aa7bd;font-size:18px;flex:0 0 auto}

.nm-card{display:flex;align-items:center;gap:16px;background:linear-gradient(120deg,rgba(14,165,233,.18),rgba(34,211,238,.06));border:1px solid rgba(34,211,238,.38);border-radius:16px;padding:16px 20px;margin-bottom:16px}
.nm-card.nm-done{background:rgba(52,211,153,.08);border-color:rgba(52,211,153,.3)}
.nm-l{flex:1;min-width:0}
.nm-eyebrow{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.6px;color:#7dd3fc}
.nm-name{font-family:'Sora',sans-serif;font-size:20px;font-weight:800;color:var(--txt);margin:3px 0;display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.nm-why{font-size:13px;color:var(--mut)}.nm-why b{color:var(--txt)}
.nm-acts{display:flex;align-items:center;gap:9px;flex:0 0 auto}
.nm-call{background:#0ea5e9;color:#04121f;font-weight:800;border-radius:12px;padding:11px 18px;text-decoration:none;font-size:14px}
.nm-call:hover{filter:brightness(1.08)}
.nm-wa{background:#25d366;color:#04210f;border-radius:12px;padding:11px 16px;display:inline-flex;align-items:center;gap:7px;justify-content:center;text-decoration:none;font-size:14px;font-weight:800;white-space:nowrap}
.nm-open{background:rgba(255,255,255,.06);border:1px solid var(--bord);color:var(--txt);border-radius:12px;padding:11px 14px;cursor:pointer;font-weight:700;font-family:inherit}

.nm-card{flex-direction:column;align-items:stretch}
.nm-top{display:flex;align-items:center;gap:16px}
.nm-count{margin-left:8px;font-size:10px;background:rgba(125,211,252,.18);color:#7dd3fc;border-radius:20px;padding:2px 8px;vertical-align:middle}
.nm-list{margin-top:14px;border-top:1px solid rgba(255,255,255,.1);padding-top:10px;display:flex;flex-direction:column;gap:7px}
.nm-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 11px;border-radius:10px;background:rgba(255,255,255,.04);cursor:pointer;transition:background .12s}
.nm-row:hover{background:rgba(255,255,255,.09)}
.nm-row-l{min-width:0;display:flex;align-items:center;gap:7px;font-size:13.5px;color:var(--txt);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.nm-row-why{color:var(--mut);font-weight:500}
.nm-row-r{display:flex;align-items:center;gap:8px;flex:0 0 auto}
.nm-row-worth{font-weight:800;color:#6ee7b7;font-size:13px}
.nm-row-ic{text-decoration:none;font-size:15px;width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;border-radius:8px;background:rgba(255,255,255,.07)}
.nm-row-ic:hover{background:rgba(255,255,255,.14)}

.sgq-card{margin-top:14px;padding:0;overflow:hidden}
.sgq-head{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:12px 16px;border-bottom:1px solid var(--bord);background:rgba(127,127,127,.06)}
.sgq-h-l{font-weight:800;color:var(--txt);font-size:14px}
.sgq-setname{color:var(--mut);font-weight:600;font-size:12.5px}
.sgq-tabs{display:flex;gap:6px;margin-left:auto}
.sgq-tab{background:rgba(127,127,127,.10);border:1px solid var(--bord);color:var(--mut);border-radius:10px;padding:7px 14px;cursor:pointer;font-weight:700;font-family:inherit;font-size:13px}
.sgq-tab.on{background:#0176d3;border-color:#0176d3;color:#fff}
.sgq-body{padding:14px 18px}
.sgq-topic{font-weight:800;color:#0176d3;font-size:13.5px;margin:8px 0 4px}
.sgq-qs{margin:0 0 10px;padding-left:20px}.sgq-qs li{margin:5px 0;color:var(--txt);font-size:14px;line-height:1.55}
.sgq-cue{background:rgba(1,118,211,.07);border:1px solid rgba(1,118,211,.28);border-radius:12px;padding:14px 16px}
.sgq-cue-t{font-weight:800;font-size:15px;color:var(--txt);margin-bottom:8px}
.sgq-cue-sub{color:var(--mut);font-weight:700;font-size:12.5px}
.sgq-cue-note{margin-top:8px;color:var(--mut);font-size:12.5px;font-style:italic}
.sgq-recent{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:0 16px 14px}
.sgq-recent-l{color:var(--mut);font-size:12px;font-weight:700}
.sgq-rchip{background:rgba(127,127,127,.10);border:1px solid var(--bord);color:var(--txt);border-radius:20px;padding:5px 12px;cursor:pointer;font-size:12px;font-family:inherit}
.sgq-rchip:hover{border-color:#0176d3}
.nm-open:hover{border-color:#22d3ee}

.ern-ringwrap{display:flex;align-items:center;gap:18px;justify-content:center;margin-bottom:16px;flex-wrap:wrap}
.ern-rs-v{font-family:'Sora',sans-serif;font-size:23px;font-weight:800;color:var(--txt)}
.ern-rs-l{font-size:12px;color:var(--mut)}
.ern-rs-n{font-size:12.5px;color:#7dd3fc;font-weight:700;margin-top:6px}.ern-rs-n b{color:#34d399}

.sh-streak{display:flex;align-items:center;gap:12px;margin:0 0 14px;font-size:12.5px}
.sh-flame{font-weight:800;color:#fbbf24;white-space:nowrap}
.sh-streak-bar{flex:1;height:8px;background:rgba(255,255,255,.07);border-radius:5px;overflow:hidden}.sh-streak-bar i{display:block;height:100%;background:linear-gradient(90deg,#fbbf24,#fb7185)}
.sh-streak-n{color:var(--mut);white-space:nowrap}

.confetti-wrap{position:fixed;inset:0;pointer-events:none;z-index:9999;overflow:hidden}
.confetti-wrap i{position:absolute;top:-14px;width:9px;height:14px;border-radius:2px;animation:confetti-fall linear forwards}
@keyframes confetti-fall{to{transform:translateY(106vh) rotate(560deg);opacity:.85}}
@media(max-width:820px){.sf-kpis{grid-template-columns:repeat(2,1fr)}.sf-grid2{grid-template-columns:1fr}.sf-pageheader{flex-wrap:wrap}.sf-quick{margin-left:0;width:100%}}

.sf-app .cx-row b,.sf-app .cx-kc b,.sf-app .cx-fu b{color:#7dd3fc}
.sf-app .h1{font-size:21px}

.cx-flow{gap:0}
.cx-sp{border-radius:0;margin-right:3px;padding:7px 4px 7px 16px;clip-path:polygon(0 0,calc(100% - 11px) 0,100% 50%,calc(100% - 11px) 100%,0 100%,11px 50%)}
.cx-sp:first-child{padding-left:10px;clip-path:polygon(0 0,calc(100% - 11px) 0,100% 50%,calc(100% - 11px) 100%,0 100%)}
.cx-sp.on{background:linear-gradient(90deg,#0176d3,#1b96ff);color:#fff}

.overlay .panel .cx-ph,.overlay .panel .cx-mut,.overlay .panel .cx-f small,.overlay .panel .cx-sp{color:#5c6b80}
.overlay .panel .cx-dn,.overlay .panel .cx-f b,.overlay .panel .cx-tl .cx-ti b{color:#16325c}
.overlay .panel .cx-f,.overlay .panel .cx-log select,.overlay .panel .cx-log input,.overlay .panel .cx-sp{background:#f7f9fb;border-color:#dddbda}
.overlay .panel .cx-sec{color:#0176d3}.overlay .panel .cx-tl .cx-ti{color:#5c6b80;border-color:#e5e5e5}
.overlay .panel .cx-deal{background:#e7f7ee;border-color:#a7dcba;color:#15803d}
.overlay .panel .cx-deal b{color:#16325c}.overlay .panel .cx-deal .g{color:#0e7a36}
.overlay .panel .cx-act.email{background:#6366f1;color:#fff;border-color:#6366f1}
.overlay .panel .cx-log select,.overlay .panel .cx-log input{color:#16325c}
.overlay .panel .cx-log input::placeholder{color:#94a3b8}
.overlay .panel .cx-tl .cx-ti div{color:#475569}

.overlay .panel input,.overlay .panel select,.overlay .panel textarea{box-sizing:border-box;max-width:100%}
.overlay .panel .cx-fields{grid-template-columns:1fr 1fr;gap:12px}
.overlay .panel .cx-fields .cx-f{min-width:0}
.overlay .panel .cx-fields .cx-f input,.overlay .panel .cx-fields .cx-f select{width:100%}

.btn,.side-item,.seg-b,.stat-link,.note-link,.mt-cat,.skill-btn,.tr-name,.lw-batch,.sf-row,.sg-tchip,.bprog{ transition: transform .14s ease, border-color .16s ease, background .16s ease, box-shadow .2s ease, color .14s ease; }
.btn:hover:not([disabled]):not(.disabled){ transform: translateY(-1px); }
.btn:active:not([disabled]){ transform: translateY(0); }
.card{ transition: border-color .18s ease, box-shadow .22s ease; }
.list tr td{ transition: background .12s ease; }
.h1,.dash-name,.login-card .ielts-logo{ letter-spacing: -.6px; }
::selection{ background: rgba(34,211,238,.32); color: #fff; }

.player ::selection{ background: #b4d5ff; color: #111; }
.player ::-moz-selection{ background: #b4d5ff; color: #111; }
input:focus,select:focus,textarea:focus{ outline: none; }
.stu-search:focus,.search:focus{ border-color: var(--cyan, #22d3ee); box-shadow: 0 0 0 3px rgba(34,211,238,.12); }
.admin-side .side-item.active{ box-shadow: inset 0 0 0 1px rgba(34,211,238,.22); }
.stat-link:hover{ box-shadow: 0 8px 22px rgba(2,132,199,.16); }
.skill-btn:hover{ transform: translateY(-2px); box-shadow: 0 12px 28px rgba(0,0,0,.28); }
.mt-cat:hover{ transform: translateY(-1px); }
.dash-cta,.btn.primary{ box-shadow: 0 6px 18px rgba(2,132,199,.22); }
.list tr:hover td{ background: rgba(255,255,255,.025); }
.side-item.active{ background: linear-gradient(100deg, rgba(37,99,235,.22), rgba(6,182,212,.14));
  color: var(--txt); box-shadow: inset 2px 0 0 var(--vio); }
.admin-main{ flex: 1; min-width: 0; }
@media (max-width: 820px){ .admin-shell{ flex-direction: column; } .admin-side{ width: 100%; flex-direction: row; overflow-x: auto; border-right: 0; border-bottom: 1px solid var(--bord); } .side-item span{ display: none; } }

@media (max-width: 760px) {
  .p-content.split{ flex-direction: column; }
  .divider{ display: none; }
  .pane.left,.pane.right{ flex: none; max-height: 50vh; }
  .review-q{ grid-template-columns: 36px 1fr 1fr 40px; }
}
.w-diff{ text-align: left; font-size: 11px; color: var(--mut); margin-top: 0; }

.overlay .panel .btn{ color: #1c1c1c; background: #f1f2f5; border-color: #c9ccd4; }
.overlay .panel .btn:hover{ background: #e4e6ea; }
.overlay .panel .btn.primary{ color: #fff; background: var(--grad); border: 0; }
.overlay .panel .btn.danger-line{ color: #b91c1c; background: rgba(185,28,28,.06); border-color: rgba(185,28,28,.35); }
.tgt-row{ display: grid; grid-template-columns: repeat(5, 1fr); gap: 12px; margin-top: 12px; }
.tgt-row .tgt-sel{ width: 100%; padding: 8px; border: 1px solid var(--bord2); border-radius: 10px; background: rgba(0,0,0,.3); color: var(--txt); }
.tgt-overall{ font-size: 24px; font-weight: 850; background: var(--grad); -webkit-background-clip: text; background-clip: text; color: transparent; padding-top: 2px; }
@media (max-width: 700px){ .tgt-row{ grid-template-columns: repeat(2, 1fr); } }
.photo-actions{ display: flex; gap: 8px; flex-wrap: wrap; }
img.avatar{ object-fit: cover; border: 0; }

.w-city.w-home{ background: linear-gradient(100deg, rgba(var(--accent),.20), rgba(14,165,233,.12));
  border: 1px solid rgba(var(--accent),.6); box-shadow: 0 4px 16px rgba(var(--accent),.18); }
.w-city.w-home .w-head b{ background: var(--grad); -webkit-background-clip: text; background-clip: text; color: transparent; }

.under-bar{ position: fixed; right: 20px; bottom: 20px; z-index: 40; padding: 8px 12px;
  background: rgba(22,24,38,.85); border: 1px solid var(--bord2); border-radius: 30px;
  backdrop-filter: blur(10px); box-shadow: 0 8px 24px rgba(0,0,0,.35); }

.top-left{ position: relative; }
.top-left .user-menu{ right: 0; left: auto; }
.top-left .user-menu button{ text-align: right; }
.brand-block{ display: flex; flex-direction: column; align-items: flex-start; text-align: left;
  cursor: pointer; line-height: 1.18; transition: .15s; }
.brand-block:hover{ filter: brightness(1.2); }
.brand-ielts{ font-size: 36px; font-weight: 900; letter-spacing: 1px;
  background: var(--grad); -webkit-background-clip: text; background-clip: text; color: transparent; }
.brand-line{ font-size: 12.5px; font-weight: 800; }
.brand-block small{ font-size: 10.5px; color: var(--mut); }
.exp-row{ padding: 4px 14px 10px 58px; font-size: 12.5px; color: var(--mut); border-bottom: 1px solid rgba(255,255,255,.05); line-height: 1.5; }

.ctx-rubric{ font-style: italic; font-size: 13.5px; color: #333; margin-bottom: 16px; max-width: 720px; }
.player .radio-row label:hover{ background: #eef4fd; }
.player .radio-row label{ border-radius: 3px; padding: 3px 6px; }

.player .radio-row input[type=radio]{
  appearance: none; -webkit-appearance: none; width: 19px; height: 19px; margin: 0;
  border: 1.5px solid #767676; border-radius: 50%; background: #fff; flex-shrink: 0;
  display: inline-grid; place-content: center; cursor: pointer; }
.player .radio-row input[type=radio]:hover{ border-color: #1c1c1c; }
.player .radio-row input[type=radio]:checked{ border-color: #1c1c1c; }
.player .radio-row input[type=radio]:checked::before{
  content: ""; width: 11px; height: 11px; border-radius: 50%; background: #1c1c1c; }
.player .radio-row input[type=checkbox]{
  appearance: none; -webkit-appearance: none; width: 19px; height: 19px; margin: 0;
  border: 1.5px solid #767676; border-radius: 3px; background: #fff; flex-shrink: 0;
  display: inline-grid; place-content: center; cursor: pointer; }
.player .radio-row input[type=checkbox]:hover{ border-color: #1c1c1c; }
.player .radio-row input[type=checkbox]:checked{ background: #1c1c1c; border-color: #1c1c1c; }
.player .radio-row input[type=checkbox]:checked::before{
  content: "✓"; color: #fff; font-size: 14px; font-weight: 700; line-height: 1; }
.player .radio-row label{ gap: 11px; padding: 6px 8px; font-size: 14.5px; cursor: pointer; }

.player.theme-wb .radio-row input,.player.theme-yb .radio-row input{ background: #111; border-color: #bbb; }
.player.theme-wb .radio-row input[type=radio]:checked::before{ background: #fff; }
.player.theme-yb .radio-row input[type=radio]:checked::before{ background: #ffe14d; }
.player.theme-wb .radio-row input[type=checkbox]:checked{ background: #fff; }
.player.theme-wb .radio-row input[type=checkbox]:checked::before{ color: #000; }
.player.theme-yb .radio-row input[type=checkbox]:checked{ background: #ffe14d; }
.player.theme-yb .radio-row input[type=checkbox]:checked::before{ color: #000; }

.rep-head{ display:flex; gap:18px; align-items:center; background:var(--glass); border:1px solid var(--bord);
  border-radius:16px; padding:18px; margin:18px 0 16px; position:relative; }
.rep-photo{ width:84px; height:104px; border-radius:12px; object-fit:cover; border:1px solid var(--bord2); flex:none; }
.rep-photo-ph{ display:flex; align-items:center; justify-content:center; font-size:30px; font-weight:800;
  color:#fff; background:var(--grad); }
.rep-id{ flex:1; min-width:0; }
.rep-name{ font-size:22px; font-weight:800; }
.rep-meta{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:6px 24px; margin-top:10px; font-size:13px; }
.rep-meta span{ display:block; color:var(--mut); font-size:11.5px; }
.rep-tag{ position:absolute; top:14px; right:16px; font-size:11px; color:var(--mut);
  border:1px solid var(--bord); border-radius:20px; padding:4px 12px; }
.rep-scores{ display:grid; grid-template-columns:repeat(4,1fr) 1.15fr 0.85fr; gap:10px; margin:6px 0 14px; }
.sc{ background:var(--glass); border:1px solid var(--bord); border-radius:16px; padding:12px 8px; text-align:center; }
.sc .scl{ font-size:10.5px; color:var(--mut); text-transform:uppercase; letter-spacing:.6px; }
.sc .scv{ font-size:28px; font-weight:850; margin-top:4px; }
.sc-overall{ border-color:rgba(34,211,238,.4); background:rgba(34,211,238,.07); }
.sc-overall .scl{ color:var(--cyan); }
.rep-fb-h{ font-size:12.5px; font-weight:800; color:var(--mut); letter-spacing:.5px; margin:22px 0 10px; }
.rep-fbs{ display:grid; grid-template-columns:repeat(4,1fr); gap:10px; }
.rep-fb{ display:flex; flex-direction:column; align-items:center; gap:4px; padding:16px 6px; background:var(--glass);
  border:1px solid var(--bord); border-radius:14px; color:var(--txt); cursor:pointer; transition:.15s; text-align:center; font-family:inherit; }
.rep-fb:hover:not([disabled]){ background:rgba(37,99,235,.14); border-color:rgba(34,211,238,.45); transform:translateY(-1px); }
.rep-fb[disabled]{ opacity:.4; cursor:default; }
.rep-fb i{ font-size:24px; color:var(--cyan); }
.rep-fb .nm{ font-size:15px; font-weight:700; }
.rep-fb small{ font-size:11px; color:var(--mut); }

.sd-head{ display:flex; align-items:center; gap:16px; margin:16px 0 18px; }
.sd-ic{ width:60px; height:60px; border-radius:14px; background:rgba(34,211,238,.12); border:1px solid rgba(34,211,238,.3);
  display:flex; align-items:center; justify-content:center; flex:none; }
.sd-ic i{ font-size:30px; color:var(--cyan); }
.sd-pt{ font-size:12px; font-weight:700; color:var(--mut); letter-spacing:.5px; margin:14px 0 7px; }
.sd-grid{ display:grid; grid-template-columns:repeat(10,1fr); gap:6px; }
.sd-q{ aspect-ratio:1; border-radius:8px; display:flex; align-items:center; justify-content:center; font-size:12px;
  font-weight:600; cursor:pointer; border:1px solid; transition:.12s; font-family:inherit; }
.sd-q:hover{ transform:translateY(-1px); }
.sd-q.ok{ background:rgba(52,211,153,.13); color:#5eead4; border-color:rgba(52,211,153,.4); }
.sd-q.no{ background:rgba(251,113,133,.13); color:#fb7185; border-color:rgba(251,113,133,.45); }
.sd-detail{ margin-top:14px; background:rgba(37,99,235,.07); border:1px solid rgba(34,211,238,.22);
  border-radius:14px; padding:14px 16px; font-size:13px; color:var(--txt); min-height:48px; }
.sd-recs{ margin:0; padding-left:18px; font-size:13.5px; line-height:1.7; color:var(--txt); }
.sd-allbtn-row{ margin:12px 0 0; }
.sd-rev{ display:flex; flex-direction:column; gap:8px; text-align:left; }
.sd-rev-row{ padding:9px 12px; border-radius:10px; border:1px solid rgba(148,163,184,.22); background:rgba(255,255,255,.02); font-size:13px; }
.sd-rev-row.ok{ border-color:rgba(46,158,91,.4); }
.sd-rev-row.no{ border-color:rgba(251,113,133,.4); }
.sd-rev-q{ font-weight:800; }
.sd-rev-mark{ margin:0 5px; }
.sd-rev-ex{ margin-top:5px; color:var(--cyan); font-size:12.5px; line-height:1.55; }

.player .dragsum{ line-height:2.7; font-size:15px; }
.player .drop-gap.inline-gap{ display:inline-flex; align-items:center; justify-content:center; width:140px; height:28px; padding:0 8px; vertical-align:middle; margin:0 4px; box-sizing:border-box; overflow:hidden; }

.player .dragsum .chip.in-gap{ border:0; background:transparent; box-shadow:none; padding:0; font-size:14px; line-height:1.2; height:auto; white-space:nowrap; }

.rv-hero{ display:flex; gap:22px; align-items:center; flex-wrap:wrap; background:rgba(34,211,238,.06); border:1px solid rgba(34,211,238,.22); border-radius:16px; padding:18px 22px; margin:14px 0 18px; }
.rv-ring-svg{ width:104px; height:104px; }
.rv-ring-bg{ fill:none; stroke:rgba(148,163,184,.18); stroke-width:9; }
.rv-ring-fg{ fill:none; stroke:var(--cyan); stroke-width:9; stroke-linecap:round; }
.rv-ring-pct{ fill:var(--txt); font-size:25px; font-weight:800; text-anchor:middle; }
.rv-ring-sub{ fill:var(--mut); font-size:10.5px; letter-spacing:1px; text-anchor:middle; }
.rv-hero-main{ flex:1; min-width:240px; }
.rv-hero-score{ font-size:17px; color:var(--mut); }
.rv-hero-score b{ font-size:30px; color:var(--txt); margin-left:2px; }
.rv-of{ font-size:16px; }
.rv-band{ float:right; background:rgba(34,211,238,.14); color:var(--cyan); font-size:13px; font-weight:700; padding:4px 12px; border-radius:999px; }
.rv-hero-msg{ color:var(--txt); margin:9px 0 13px; font-size:15px; line-height:1.5; }
.rv-bar{ height:10px; border-radius:6px; background:rgba(251,113,133,.22); overflow:hidden; }
.rv-bar-ok{ display:block; height:100%; background:linear-gradient(90deg,#22c55e,#10b981); border-radius:6px; }
.rv-bar-key{ display:flex; gap:18px; margin-top:7px; font-size:12.5px; }
.rv-bar-key .ok{ color:#34d399; } .rv-bar-key .no{ color:#fb7185; }
.rv-filters{ display:flex; gap:10px; margin:0 0 16px; flex-wrap:wrap; }
.rv-chip{ padding:8px 15px; border-radius:999px; border:1px solid rgba(148,163,184,.3); background:transparent; color:var(--mut); cursor:pointer; font-size:13px; font-weight:600; }
.rv-chip span{ margin-left:5px; opacity:.85; }
.rv-chip.active{ color:var(--txt); background:rgba(34,211,238,.14); border-color:rgba(34,211,238,.55); }
.rv-chip-no.active{ background:rgba(251,113,133,.14); border-color:rgba(251,113,133,.55); color:var(--txt); }
.rv-chip-ok.active{ background:rgba(34,197,94,.14); border-color:rgba(34,197,94,.55); color:var(--txt); }
.rv-part{ margin-bottom:18px; }
.rv-part-h{ display:flex; justify-content:space-between; align-items:baseline; margin:0 2px 10px; font-size:12px; font-weight:700; letter-spacing:1px; text-transform:uppercase; color:var(--mut); }
.rv-part-sc{ color:var(--cyan); letter-spacing:0; }
.rv-card{ display:flex; gap:13px; padding:13px 15px; border-radius:14px; margin-bottom:9px; border:1px solid rgba(148,163,184,.16); border-left:3px solid; background:rgba(255,255,255,.02); }
.rv-card.ok{ border-left-color:#22c55e; }
.rv-card.no{ border-left-color:#fb7185; }
.rv-num{ flex:0 0 auto; width:30px; height:30px; border-radius:10px; display:inline-flex; align-items:center; justify-content:center; font-weight:800; font-size:13px; }
.rv-num.ok{ background:rgba(34,197,94,.16); color:#34d399; }
.rv-num.no{ background:rgba(251,113,133,.16); color:#fb7185; }
.rv-card-r{ flex:1; min-width:0; }
.rv-q{ font-size:14.5px; color:var(--txt); line-height:1.55; margin-bottom:9px; }
.rv-blank{ color:var(--cyan); font-weight:700; letter-spacing:1px; }
.rv-ans{ display:flex; flex-wrap:wrap; gap:8px; }
.rv-pill{ font-size:12.5px; padding:4px 11px; border-radius:8px; }
.rv-pill.ok{ background:rgba(34,197,94,.13); color:#34d399; }
.rv-pill.no{ background:rgba(251,113,133,.13); color:#fb7185; }
.rv-pill.cor{ background:rgba(34,211,238,.13); color:var(--cyan); }
.rv-ex{ font-size:13px; color:var(--mut); line-height:1.6; background:rgba(255,255,255,.03); border:1px solid rgba(148,163,184,.12); border-radius:10px; padding:9px 12px; margin-top:9px; }
.rv-tip{ margin:6px 0 12px; padding:12px 15px; border-radius:12px; background:rgba(37,99,235,.08); border:1px solid rgba(37,99,235,.2); color:var(--txt); font-size:13.5px; line-height:1.55; }
@media (max-width:640px){ .rv-hero{ gap:14px; } .rv-ring-svg{ width:84px; height:84px; } }

.spk-quota{ background:#f3f7ff; border:1px solid #d8e6ff; border-radius:10px; padding:9px 14px; margin:6px 0 8px; }
.spk-quota .sq-row{ display:flex; justify-content:space-between; font-size:13.5px; color:#3a475c; padding:3px 0; }
.spk-quota .sq-row b{ color:#0b2447; }
.spk-quota .sq-row.sq-left{ border-top:1px solid #d8e6ff; margin-top:4px; padding-top:7px; font-weight:600; }
.spk-quota .sq-row.sq-left b{ color:#1d6fd6; font-size:16px; }
.spk-quota-note{ font-size:12.5px; color:#5a6b85; margin:0 0 12px; line-height:1.5; }
.spk-note{ font-size:13.5px; color:#444; line-height:1.55; margin:4px 0 14px; }
.spk-step{ margin:14px 0; }
.spk-step-h{ font-weight:700; color:#16263f; font-size:14px; display:flex; align-items:center; gap:8px; margin-bottom:7px; }
.spk-step-n{ display:inline-flex; width:22px; height:22px; border-radius:50%; background:#1d6fd6; color:#fff; align-items:center; justify-content:center; font-size:12px; font-weight:700; }
.spk-step-n.alt{ background:#8492a8; }
.spk-opt{ font-size:11px; font-weight:600; color:#1d6fd6; background:#e7f0ff; padding:2px 9px; border-radius:999px; }
.spk-substep{ font-size:12.5px; color:#5a6b85; margin:0 0 9px; line-height:1.5; }
.spk-pick-sum{ font-size:13px; color:#16263f; background:#f6f8fb; border:1px solid #e6eaf1; border-radius:10px; padding:9px 12px; margin:12px 0; }
.slot.sel{ background:#1d6fd6; color:#fff; border-color:#1d6fd6; font-weight:700; }
.slot.slot-dim{ opacity:.4; }
.spk-quota-line{ font-size:12.5px; color:var(--mut); margin-top:7px; }
.spk-quota-line b{ color:var(--cyan); }
.spk-quota-hint{ opacity:.7; }
.spk-alt{ color:var(--mut); font-size:11px; background:rgba(148,163,184,.14); padding:1px 7px; border-radius:6px; margin-left:4px; }

.dash-hero{ display:flex; justify-content:space-between; align-items:center; gap:24px; flex-wrap:wrap;
  background: linear-gradient(120deg, rgba(2,132,199,.16), rgba(var(--accent),.07) 58%, transparent);
  border:1px solid rgba(var(--accent),.2); border-radius:20px; padding:22px 26px; box-shadow:var(--shadow); }
.dash-eyebrow{ font-size:12px; font-weight:600; letter-spacing:1.4px; text-transform:uppercase; color:var(--cyan); }
.dash-name{ font-family:var(--font-display); font-weight:800; font-size:34px; letter-spacing:-.6px; line-height:1.05; margin:3px 0 0; }
.dash-tagline{ color:var(--mut); font-size:14.5px; margin-top:6px; max-width:760px; }
.dash-progress{ display:flex; align-items:center; gap:10px; flex-wrap:wrap; margin-top:15px; }
.dh-chip{ font-size:13px; padding:6px 13px; border-radius:999px; border:1px solid var(--bord2); background:var(--glass2); }
.dh-chip b{ font-family:var(--font-display); font-weight:800; margin-left:3px; }
.dh-chip.band b{ color:var(--cyan); }
.dh-chip.target{ border-color:rgba(var(--accent),.38); }
.dh-chip.start{ color:var(--mut); }
.dh-sep{ color:var(--mut); }
.dh-gap{ font-size:12.5px; font-weight:700; color:var(--grn); background:rgba(52,211,153,.12); border:1px solid rgba(52,211,153,.3); padding:6px 12px; border-radius:999px; }
.dash-hero-r{ display:flex; flex-direction:column; align-items:flex-end; gap:12px; }
.dash-cta{ font-size:15px; padding:12px 22px; border-radius:14px; }
.dash-status{ display:flex; flex-direction:column; align-items:flex-end; gap:5px; font-size:12.5px; color:var(--mut); text-align:right; }
@media (max-width:760px){ .dash-hero{ padding:18px; } .dash-name{ font-size:27px; } .dash-hero-r{ align-items:flex-start; width:100%; } .dash-status{ align-items:flex-start; text-align:left; } }

.th-stats{ display:grid; grid-template-columns:repeat(4,1fr); gap:12px; margin:16px 0 6px; }
.th-stat{ background:var(--glass); border:1px solid var(--bord); border-radius:14px; padding:16px 18px; box-shadow:var(--shadow); }
.th-stat-n{ font-family:var(--font-display); font-weight:800; font-size:28px; line-height:1; }
.th-stat.amber .th-stat-n{ color:var(--amber); }
.th-stat.cyan .th-stat-n{ color:var(--cyan); }
.th-stat.green .th-stat-n{ color:var(--grn); }
.th-stat-l{ font-size:12px; color:var(--mut); margin-top:7px; letter-spacing:.3px; }
.th-card{ padding:0; margin:16px 0; overflow:hidden; }
.th-card-h{ display:flex; justify-content:space-between; align-items:center; gap:14px; flex-wrap:wrap; padding:15px 20px; border-bottom:1px solid var(--bord); }
.th-card-t{ font-family:var(--font-display); font-weight:700; font-size:16.5px; }
.th-card-tools{ display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.th-card-tools .tq-toggle{ margin:0; }
.th-card-tools .asg-sel{ height:38px; }
.th-card-tools .tq-toggle .seg-b{ padding:7px 13px; }
.th-card .list{ margin:0; }
.th-card .list td:first-child,.th-card .list th:first-child{ padding-left:20px; }
.th-card .list td:last-child,.th-card .list th:last-child{ padding-right:20px; }
.th-empty{ padding:34px 20px; text-align:center; color:var(--mut); font-size:14px; }
@media (max-width:760px){ .th-stats{ grid-template-columns:repeat(2,1fr); } }
.login-brand{ display:flex; justify-content:center; margin-bottom:12px; }
.login-mark{ width:54px; height:54px; border-radius:16px; background:var(--grad); color:#fff;
  display:flex; align-items:center; justify-content:center; font-family:var(--font-display); font-weight:800; font-size:27px;
  box-shadow:0 10px 26px rgba(var(--accent),.35); }
.rep-fb-ic{ display:inline-flex; color:var(--cyan); }
.rep-fb-ic svg{ width:24px; height:24px; }
.sd-ic svg{ width:30px; height:30px; color:var(--cyan); }
.sc-overall{ background: linear-gradient(135deg, rgba(2,132,199,.2), rgba(var(--accent),.1)); border-color:rgba(var(--accent),.4); }
.sc-overall .scv{ font-family:var(--font-display); background:var(--grad); -webkit-background-clip:text; background-clip:text; color:transparent; }

.brand-ielts{ font-size:28px; font-weight:800; letter-spacing:.5px; }
.tr-name{ display:flex; align-items:center; gap:11px; cursor:pointer; padding:6px 8px; border-radius:14px; border:1px solid transparent; transition:background .15s, border-color .15s; }
.tr-name:hover{ background:var(--glass2); border-color:var(--bord); }
.tr-name .avatar{ width:42px; height:42px; font-size:16px; border-radius:12px; box-shadow:none; }
.tr-name .who-col{ align-items:flex-start; gap:5px; line-height:1.1; }
.tr-uname{ font-family:var(--font-display); font-weight:700; font-size:15px; }
.tr-badges{ display:flex; gap:6px; }
.tr-badge{ font-size:9.5px; font-weight:700; letter-spacing:.6px; text-transform:uppercase; padding:2px 8px; border-radius:999px; background:var(--glass2); border:1px solid var(--bord2); color:var(--mut); }
.tr-badge.pro{ background:linear-gradient(120deg, rgba(2,132,199,.32), rgba(var(--accent),.2)); border-color:rgba(var(--accent),.5); color:var(--cyan); }
.top-left .caret{ color:var(--mut); font-size:11px; }
.user-menu{ position:absolute; top:calc(100% + 8px); right:0; width:282px; background:rgba(15,19,32,.985);
  backdrop-filter:blur(18px); -webkit-backdrop-filter:blur(18px); border:1px solid var(--bord2); border-radius:16px; padding:8px;
  z-index:30; box-shadow:0 20px 52px rgba(0,0,0,.55);
  /* the admin menu (8 portals + account + self-service + logout) can be taller than the viewport —
     cap it and let it scroll so Logout at the bottom is always reachable */
  max-height:calc(100vh - 84px); overflow-y:auto; overscroll-behavior:contain; }
.user-menu::-webkit-scrollbar{ width:8px; }
.user-menu::-webkit-scrollbar-thumb{ background:var(--bord2); border-radius:8px; }
/* Backdrop for the account menu — dims the page so the open menu reads as a deliberate overlay
   (not a collision with the content it floats over) and gives a full-page click target to close. */
.um-scrim{ position:fixed; inset:0; z-index:29; background:rgba(3,6,15,.38);
  backdrop-filter:blur(1.5px); -webkit-backdrop-filter:blur(1.5px); animation:umFade .12s ease; }
@keyframes umFade{ from{opacity:0} to{opacity:1} }
/* Live "who's online now" pill — top-left of the admin dashboard. */
.presence-pill{ display:inline-flex; align-items:center; gap:8px; font-size:13px; font-weight:600;
  color:var(--txt); background:rgba(16,185,129,.10); border:1px solid rgba(16,185,129,.35);
  border-radius:999px; padding:6px 14px; margin-bottom:12px; }
.presence-pill b{ color:#10b981; }
.presence-pill .pl-dot{ width:8px; height:8px; border-radius:50%; background:#10b981; flex:none;
  box-shadow:0 0 0 0 rgba(16,185,129,.6); animation:plPulse 2s infinite; }
@keyframes plPulse{ 0%{box-shadow:0 0 0 0 rgba(16,185,129,.55)} 70%{box-shadow:0 0 0 7px rgba(16,185,129,0)} 100%{box-shadow:0 0 0 0 rgba(16,185,129,0)} }
.um-head{ display:flex; align-items:center; gap:10px; padding:6px 10px 9px; }
.um-ava{ width:36px; height:36px; border-radius:11px; background:var(--grad); color:#fff; display:flex; align-items:center; justify-content:center; font-family:var(--font-display); font-weight:700; font-size:14px; object-fit:cover; flex-shrink:0; }
.um-id{ min-width:0; }
.um-name{ font-family:var(--font-display); font-weight:700; font-size:14px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.um-plan{ font-size:11px; color:var(--mut); margin-top:1px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.um-progress{ background:var(--glass2); border:1px solid var(--bord); border-radius:12px; padding:9px 11px; margin:0 4px 8px; }
.ump-top{ display:flex; justify-content:space-between; font-size:12px; color:var(--mut); margin-bottom:7px; }
.ump-top b{ color:var(--txt); font-family:var(--font-display); margin-left:3px; }
.ump-bar{ height:6px; border-radius:6px; background:rgba(255,255,255,.08); overflow:hidden; }
.ump-bar span{ display:block; height:100%; background:var(--grad); border-radius:6px; }
.um-group{ padding-top:4px; margin-top:4px; border-top:1px solid var(--bord); }
.um-group:first-of-type,.um-progress + .um-group{ border-top:0; margin-top:0; padding-top:0; }
.um-sec{ padding:4px 11px 2px; font-size:9.5px; font-weight:700; letter-spacing:.7px; text-transform:uppercase; color:var(--mut); opacity:.85; user-select:none; }
.um-emoji{ width:18px; display:inline-flex; justify-content:center; font-size:14px; flex-shrink:0; }
.user-menu .um-item{ display:flex; align-items:center; gap:10px; width:100%; text-align:left; padding:6px 11px; border:0; background:none; color:var(--txt); border-radius:9px; font-size:13px; font-weight:500; line-height:1.35; transition:background .12s; }
.user-menu .um-item svg{ width:17px; height:17px; color:var(--mut); flex-shrink:0; }
.user-menu .um-item:hover:not([disabled]){ background:var(--glass2); }
.user-menu .um-item:hover:not([disabled]) svg{ color:var(--cyan); }
.user-menu .um-item.um-soon{ color:var(--mut); cursor:default; }
.user-menu .um-item.um-soon em{ margin-left:auto; font-size:9px; font-weight:700; letter-spacing:.5px; text-transform:uppercase; color:var(--mut); background:var(--glass2); border:1px solid var(--bord); padding:2px 7px; border-radius:999px; }
.user-menu .um-logout{ color:#fb7185; margin-top:4px; padding-top:8px; border-top:1px solid var(--bord); border-top-left-radius:0; border-top-right-radius:0; }
.user-menu .um-logout svg{ color:#fb7185; }
.user-menu .um-logout:hover{ background:rgba(251,113,133,.1); }
.sd-bars{ margin-top:6px; }
.sd-bar-row{ display:flex; align-items:center; gap:10px; margin-bottom:9px; }
.sd-bar-lab{ width:150px; font-size:12.5px; color:var(--mut); flex:none; }
.sd-bar-track{ flex:1; height:8px; background:var(--bord); border-radius:5px; }
.sd-bar-fill{ display:block; height:8px; background:var(--grad); border-radius:5px; }
.sd-bar-val{ width:28px; text-align:right; font-size:12.5px; font-weight:700; flex:none; }
@media (max-width:640px){ .rep-scores{grid-template-columns:repeat(3,1fr)} .rep-fbs{grid-template-columns:repeat(2,1fr)} .sd-grid{grid-template-columns:repeat(5,1fr)} .rep-meta{grid-template-columns:1fr} }

.passage .rd-table{ border-collapse: collapse; width: 100%; margin: 12px 0; font-size: 14px; }
.passage .rd-table th{ text-align: left; background: rgba(37,99,235,.10); border: 1px solid var(--bord2);
  padding: 7px 10px; font-weight: 800; }
.passage .rd-table td{ border: 1px solid var(--bord2); padding: 7px 10px; vertical-align: top; }
.passage .rd-table td.rd-tier{ font-weight: 800; background: rgba(34,211,238,.10); }
.passage ul{ margin: 8px 0 8px 22px; }
.passage ul li{ margin-bottom: 4px; font-size: 14.5px; line-height: 1.55; }

.passage .rd-tier-h{ font-weight: 800; margin: 12px 0 2px; }
.passage .rd-item{ line-height: 1.85; margin: 0 0 6px; padding-left: 6px; }
.passage .rd-contents{ line-height: 1.95; margin: 4px 0 0; padding-left: 6px; }

.passage .rd-box{ border: 1px solid var(--bord2); border-radius: 2px; padding: 14px 18px; margin: 10px 0; }
.passage .rd-box p{ margin: 4px 0; }
.passage .rd-broc{ border-collapse: collapse; width: 100%; margin: 2px 0 6px; }
.passage .rd-broc td{ vertical-align: top; padding: 1px 0; line-height: 1.5; }
.passage .rd-broc td:first-child{ width: 38%; padding-right: 14px; white-space: nowrap; }

.card.soon{ opacity: .68; }
.rate-chip.soon-chip{ color: var(--amber); font-weight: 800; letter-spacing: .6px; }
.btn.coming{ background: var(--glass2); color: var(--mut); border: 1px solid var(--bord2); box-shadow: none; cursor: default; }

.overlay .panel{ max-height: 92vh; overflow: auto; }

.stu-stats{ display:flex; gap:12px; flex-wrap:wrap; margin:14px 0 16px; }
.stat-tile{ flex:1; min-width:118px; background:var(--glass); border:1px solid var(--bord); border-radius:14px; padding:12px 16px; }
.stat-tile.warn{ border-color:rgba(251,191,36,.5); background:rgba(251,191,36,.08); }
.stat-tile .st-n{ font-size:22px; font-weight:800; color:var(--txt); }
.stat-tile .st-l{ font-size:12px; color:var(--mut); margin-top:2px; }
.stu-toolbar{ display:flex; gap:10px; align-items:center; margin:0 0 14px; flex-wrap:wrap; }
.stu-search{ flex:1; min-width:220px; padding:10px 14px; border:1px solid var(--bord2); border-radius:12px; background:var(--glass2); color:var(--txt); font-size:14px; outline:none; }
.stu-search:focus{ border-color:var(--vio); }
.stu-sel{ padding:9px 12px; border:1px solid var(--bord2); border-radius:12px; background:var(--glass2); color:var(--txt); font-size:13.5px; cursor:pointer; }

.mb-note{font-size:12px;color:var(--mut);background:rgba(127,127,127,.06);border:1px solid var(--bord);border-radius:10px;padding:9px 11px;margin:0 0 12px;line-height:1.45}

.overlay .panel select.stu-sel option{background:#0e1526;color:#e8eefc}
.tb-grow{ flex:1; }
.stu-table td{ vertical-align:middle; }
.row-sub{ font-size:11.5px; color:var(--mut); margin-top:3px; }
.meter{ display:flex; align-items:center; gap:8px; }
.meter-bar{ width:64px; height:7px; border-radius:6px; background:var(--glass2); overflow:hidden; }
.meter-bar span{ display:block; height:100%; background:var(--grad); border-radius:6px; }
.meter small{ color:var(--mut); font-size:12px; font-variant-numeric:tabular-nums; }
.row-acts{ display:flex; gap:6px; justify-content:flex-end; align-items:center; }
.btn.ghost-b{ padding:6px 10px; }

.mt-cats{ display:flex; flex-direction:column; gap:14px; margin-top:8px; }
.mt-cat{ display:flex; align-items:center; gap:18px; text-align:left; width:100%; background:var(--glass); border:1px solid var(--bord); border-radius:16px; padding:20px 22px; cursor:pointer; color:var(--txt); transition:.15s; }
.mt-cat:hover{ border-color:var(--vio); background:var(--glass2); transform:translateY(-1px); }
.mt-emo{ font-size:34px; }
.mt-ct{ flex:1; }
.mt-title{ font-size:17px; font-weight:800; }
.mt-desc{ font-size:13px; color:var(--mut); margin-top:3px; }
.mt-count{ font-size:12px; color:var(--vio); margin-top:6px; font-weight:700; }
.mt-arrow{ font-size:22px; color:var(--mut); }
.mt-back{ color:var(--vio); cursor:pointer; font-weight:700; }
.mt-back:hover{ text-decoration:underline; }

.th-head{ display:flex; justify-content:space-between; align-items:flex-start; gap:14px; flex-wrap:wrap; margin-bottom:6px; }
.tq-toggle{ display:inline-flex; gap:6px; margin:0 0 14px; background:var(--glass); border:1px solid var(--bord); border-radius:12px; padding:4px; }
.tq-toggle .seg-b{ border:0; background:none; color:var(--mut); font-weight:700; font-size:13px; padding:7px 14px; border-radius:10px; cursor:pointer; }
.tq-toggle .seg-b.active{ background:var(--grad); color:#fff; }
.asg-sel{ padding:7px 10px; border:1px solid var(--bord2); border-radius:10px; background:var(--glass2); color:var(--txt); font-size:13px; cursor:pointer; max-width:200px; }
.asg-other{ color:var(--amber); font-weight:700; font-size:12.5px; }
.asg-none{ color:var(--mut); font-size:12.5px; }

.spk-card{ display:flex; align-items:flex-start; gap:16px; background:var(--glass); border:1px solid var(--bord); border-radius:16px; padding:16px 20px; margin:18px 0 6px; }
.spk-ic{ display:flex; align-items:center; justify-content:center; color:rgb(var(--accent)); flex:none; height:62px; }
.spk-ic .skill-ico{ width:48px; height:48px; }
.spk-ic svg{ stroke-width:1.7; }
.spk-body{ flex:1; }
.spk-title{ font-size:16px; font-weight:800; }
.spk-sub{ font-size:13px; color:var(--mut); margin-top:2px; }
.spk-list{ display:flex; flex-wrap:wrap; gap:8px; margin-top:8px; }
.spk-bk{ display:inline-flex; align-items:center; gap:8px; background:var(--glass2); border:1px solid var(--bord); border-radius:10px; padding:5px 10px; font-size:12.5px; }
.spk-when{ color:var(--txt); }

.overlay .panel .slot-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:8px; margin:6px 0 12px; max-height:280px; overflow:auto; }
.overlay .panel .slot{ padding:9px 0; border:1.5px solid #d0d6df; border-radius:10px; background:#fff; color:#1c1c1c; font-weight:700; font-size:13.5px; cursor:pointer; font-variant-numeric:tabular-nums; }
.overlay .panel .slot:hover{ border-color:#0ea5e9; }
.overlay .panel .slot.on{ border-color:#0ea5e9; background:#0ea5e9; color:#fff; }
.overlay .panel .slot.booked{ background:#eef0f3; color:#9aa3b2; cursor:not-allowed; border-style:dashed; }
.overlay .panel .slot-empty{ grid-column:1/-1; text-align:center; color:#6b7280; padding:18px; font-size:13.5px; }
.overlay .panel .slot-legend{ font-size:12px; color:#6b7280; margin-bottom:14px; display:flex; align-items:center; gap:5px; flex-wrap:wrap; }
.overlay .panel .slot-legend .lg{ display:inline-block; width:12px; height:12px; border-radius:3px; border:1.5px solid #d0d6df; background:#fff; }
.overlay .panel .slot-legend .lg.on{ background:#0ea5e9; border-color:#0ea5e9; }
.overlay .panel .slot-legend .lg.booked{ background:#eef0f3; border-style:dashed; }

.overlay .panel .prof-actions{ display:flex; gap:8px; margin:0 0 14px; }
.overlay .panel .prof-actions .btn{ flex:1; }
.overlay .panel .perf-btn{ background:#0ea5e9; color:#fff; border-color:#0ea5e9; }
.overlay .panel .field2{ display:flex; gap:12px; }
.overlay .panel .field2 .field{ flex:1; }
.overlay .panel .notes-area,.overlay .panel .imp-area{ width:100%; border:1px solid #d0d6df; border-radius:10px; padding:9px 11px; font-size:13.5px; font-family:inherit; resize:vertical; color:#1c1c1c; }
.overlay .panel .notes-area{ min-height:64px; }
.overlay .panel .imp-area{ min-height:120px; font-family:ui-monospace,Menlo,monospace; font-size:13px; }
.overlay .panel .imp-opt{ margin:12px 0; }
.overlay .panel .imp-opt label{ font-size:13px; color:#444; display:block; margin-bottom:6px; }

.overlay .panel .pf-head{ display:flex; justify-content:flex-start; align-items:center; gap:14px; border-bottom:1px solid #eceff3; padding-bottom:14px; margin-bottom:14px; }
.overlay .panel .pf-name{ font-size:19px; font-weight:800; color:#111; }
.overlay .panel .pf-id{ font-size:12.5px; color:#6b7280; margin-top:3px; }
.overlay .panel .pf-band{ text-align:center; }
.overlay .panel .pf-band-n{ font-size:30px; font-weight:800; color:#0ea5e9; line-height:1; }
.overlay .panel .pf-band-l{ font-size:10.5px; color:#6b7280; text-transform:uppercase; letter-spacing:.5px; margin-top:3px; }
.overlay .panel .pf-skills{ display:grid; grid-template-columns:repeat(4,1fr); gap:10px; margin-bottom:12px; }
.overlay .panel .pf-skill{ background:#f5f7fa; border:1px solid #e6e9ee; border-radius:12px; padding:10px 6px; text-align:center; }
.overlay .panel .pf-skill.goal{ background:#e8f6fe; border-color:#bae6fd; }
.overlay .panel .pf-emo{ font-size:18px; }
.overlay .panel .pf-sv{ font-size:18px; font-weight:800; color:#111; margin-top:2px; }
.overlay .panel .pf-sl{ font-size:10.5px; color:#334155; font-weight:600; margin-top:2px; }
.overlay .panel .pf-tiles{ display:grid; grid-template-columns:repeat(4,1fr); gap:10px; margin-bottom:14px; }
.overlay .panel .pf-tile{ background:#fff; border:1px solid #e6e9ee; border-radius:12px; padding:10px; text-align:center; }
.overlay .panel .pf-n{ font-size:15px; font-weight:800; color:#111; }
.overlay .panel .pf-l{ font-size:11px; color:#334155; font-weight:600; margin-top:3px; }
.overlay .panel .pf-rec{ border-radius:14px; padding:14px 16px; margin-bottom:14px; border:1px solid #e6e9ee; }
.overlay .panel .pf-rec-top{ display:flex; align-items:center; gap:12px; }
.overlay .panel .pf-rec-ic{ font-size:26px; }
.overlay .panel .pf-rec-tag{ font-size:10.5px; font-weight:800; letter-spacing:.6px; text-transform:uppercase; opacity:.75; }
.overlay .panel .pf-rec-act{ font-size:16px; font-weight:800; color:#111; margin-top:1px; }
.overlay .panel .pf-rec-why{ font-size:13px; color:#374151; margin-top:8px; line-height:1.5; }
.overlay .panel .pf-rec.exam{ background:#ecfdf5; border-color:#a7f3d0; }
.overlay .panel .pf-rec.mocks{ background:#fff7ed; border-color:#fed7aa; }
.overlay .panel .pf-rec.course{ background:#eff6ff; border-color:#bfdbfe; }
.overlay .panel .pf-rec.renew{ background:#fefce8; border-color:#fde68a; }
.overlay .panel .pf-rec.practice{ background:#f5f3ff; border-color:#ddd6fe; }
.overlay .panel .pf-rec.start{ background:#f0f9ff; border-color:#bae6fd; }
.overlay .panel .pf-msg-label{ font-size:12px; color:#6b7280; margin-bottom:6px; font-weight:700; }
.overlay .panel .pf-msg{ background:#f5f7fa; border:1px solid #e6e9ee; border-radius:10px; padding:11px 13px; font-size:12.5px; color:#374151; white-space:pre-wrap; line-height:1.5; max-height:150px; overflow:auto; margin-bottom:14px; }
.overlay .panel .pf-actions .pf-call{ background:#0ea5e9; color:#fff; border-color:#0ea5e9; }
.overlay .panel .pf-actions .pf-call.disabled{ background:#e5e7eb; color:#9ca3af; border-color:#e5e7eb; cursor:default; }

.headphone.big{ font-size:64px; margin-bottom:14px; }
.overlay .panel p.pg-intro{ max-width:470px; margin:0 auto 10px; color:#333; font-size:15px; line-height:1.55; }
.overlay .panel p.pg-cont{ max-width:470px; margin:0 auto 18px; color:#111; font-weight:700; font-size:15px; }
.play-btn.pg-play{ display:inline-flex; align-items:center; gap:6px; }
.pg-tri{ font-size:12px; }

.name-cell{ display:flex; align-items:center; justify-content:flex-start; gap:10px; }
.name-col{ min-width:0; }
.stu-ava{ display:inline-flex; align-items:center; justify-content:center; width:30px; height:30px; border-radius:10px; background:var(--grad); color:#fff; font-size:11px; font-weight:800; flex:0 0 auto; }
img.stu-ava{ object-fit:cover; }
.stu-ava.lg{ width:48px; height:48px; border-radius:14px; font-size:16px; }
.overlay .panel .pf-head{ display:flex; justify-content:flex-start; align-items:center; gap:14px; border-bottom:1px solid #eceff3; padding-bottom:14px; margin-bottom:14px; }
.overlay .panel .pf-id-wrap{ min-width:0; }
.overlay .panel .pf-band2{ display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-bottom:12px; }
.overlay .panel .pf-b2{ border:1px solid #e6e9ee; border-radius:12px; padding:12px; text-align:center; background:#fff; }
.overlay .panel .pf-b2.now{ background:#e8f6fe; border-color:#bae6fd; }
.overlay .panel .pf-b2n{ font-size:26px; font-weight:800; color:#0ea5e9; line-height:1; }
.overlay .panel .pf-b2.goal .pf-b2n{ color:#111; }
.overlay .panel .pf-b2l{ font-size:11.5px; color:#334155; font-weight:600; margin-top:4px; }
.overlay .panel .pf-ap-h{ font-size:15px; font-weight:800; color:#111; margin:6px 0 10px; }
.overlay .panel .pf-msg-edit{ width:100%; min-height:150px; border:1px solid #d0d6df; border-radius:10px; padding:11px 13px; font-size:13px; font-family:inherit; line-height:1.55; color:#374151; resize:vertical; background:#fff; margin-bottom:14px; }
.overlay .panel .pf-msg-edit:focus{ border-color:#0ea5e9; outline:none; }
.overlay .panel .pf-actions-top{ margin:0 0 16px; }
.overlay .panel .pf-actions-top .btn{ flex:1; }
.overlay .panel .pf-edit-top{ flex:0 0 auto !important; background:#eef3f9; color:#0369a1; border-color:#cfe0f3; padding-left:18px; padding-right:18px; }
.overlay .panel .pf-cols{ display:grid; grid-template-columns:1fr 1fr; gap:22px; align-items:start; }
.overlay .panel .pf-cols .pf-ap-h{ margin-top:0; }
.overlay .panel .pf-cols .pf-skills,.overlay .panel .pf-cols .pf-band2,.overlay .panel .pf-cols .pf-tiles{ margin-bottom:12px; }
.overlay .panel .pf-cols .pf-msg-edit{ min-height:160px; margin-bottom:0; overflow:hidden; }
@media (max-width:700px){ .overlay .panel .pf-cols{ grid-template-columns:1fr; gap:0; } }

.note-link{ cursor:pointer; transition:filter .12s, border-color .12s, transform .05s; }
.note-link:hover{ filter:brightness(1.13); }
.note-link:active{ transform:translateY(1px); }
.note-arrow{ float:right; font-weight:800; opacity:.65; }

.overlay .panel .pf-actbar{ display:grid; grid-template-columns:repeat(4,1fr); gap:10px; margin:0 0 16px; }
.overlay .panel .pf-ab{ display:flex; align-items:center; gap:10px; padding:11px 14px; border-radius:12px; border:1px solid transparent; text-decoration:none; cursor:pointer; text-align:left; font-family:inherit; min-width:0; transition:filter .12s, transform .05s; }
.overlay .panel .pf-ab:hover{ filter:brightness(1.06); }
.overlay .panel .pf-ab:active{ transform:translateY(1px); }
.overlay .panel .pf-ab .pf-ab-ic{ flex:0 0 auto; display:inline-flex; align-items:center; justify-content:center; font-size:18px; width:20px; }
.overlay .panel .pf-ab .pf-ab-ic svg{ width:19px; height:19px; }
.overlay .panel .pf-ab .pf-ab-tx{ display:flex; flex-direction:column; line-height:1.2; min-width:0; }
.overlay .panel .pf-ab .pf-ab-tx b{ font-size:13.5px; font-weight:800; }
.overlay .panel .pf-ab .pf-ab-tx small{ font-size:11px; font-weight:600; opacity:.9; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.overlay .panel .pf-ab-call{ background:#0ea5e9; color:#fff; }
.overlay .panel .pf-ab-email{ background:#e8f1fe; color:#1d4ed8; border-color:#cddffb; }
.overlay .panel .pf-ab-wa{ background:#25d366; color:#fff; }
.overlay .panel .pf-ab-edit{ background:#f1f3f6; color:#1f2937; border-color:#dfe3ea; }
.overlay .panel .pf-ab.off{ opacity:.55; cursor:default; pointer-events:none; }
@media (max-width:760px){ .overlay .panel .pf-actbar{ grid-template-columns:repeat(2,1fr); } }

.player .part-banner{ background:#f1f2ec; border:1px solid #e2e2e0; border-radius:6px; margin:14px 22px 2px; padding:12px 16px; font-size:16px; line-height:24px; color:#1c1c1c; }
.player .pb-name{ font-weight:700; }
.player .pb-instr{ margin-top:2px; }

.player .dnd-wrap{ display:flex; gap:30px; align-items:flex-start; margin:8px 0 18px; flex-wrap:wrap; }
.player .map-box{ flex:1 1 380px; max-width:62%; }
.player .map-box svg,.player .map-box img{ max-width:100%; height:auto; }
.player .match-lefts{ display:flex; flex-direction:column; gap:13px; flex:0 0 auto; min-width:300px; }
.player .match-row{ display:flex; align-items:center; gap:14px; }
.player .match-label{ font-size:14.5px; min-width:130px; }
.player .chips-list{ display:flex; flex-flow:row wrap; gap:8px; align-items:flex-start; margin:0 0 4px; }
.player .chip{ display:inline-block; background:#fff; border:1px solid #6f6f6f; border-radius:3px; padding:7px 13px; font-size:14px; cursor:grab; margin:0; box-shadow:0 1px 0 rgba(0,0,0,.05); white-space:nowrap; }
.player .chip:hover{ border-color:#1c1c1c; background:#f6f9fd; }
.player .chip:active{ cursor:grabbing; }
.player .chip.in-gap{ border:0; background:transparent; box-shadow:none; }
.player .drop-gap{ display:inline-flex; align-items:center; min-width:150px; min-height:38px; border:1.5px dashed #9a9a9a; border-radius:4px; padding:4px; background:#fff; }
.player .drop-gap.over{ border-color:#3d70b8; background:#eef4fd; }
.player .drop-gap .gnum{ color:#9a9a9a; font-weight:700; font-size:13px; padding:0 8px; }
.player .drop-gap:has(.chip){ border-style:solid; border-color:#c4c4c4; padding:2px; }
.player .drop-gap:has(.chip) .gnum{ display:none; }

.player .kbd-help{ text-align:right; margin:2px 0 10px; font-size:13px; }
.player .kbd-help summary{ cursor:pointer; color:#2a6ebb; display:inline-block; list-style:none; }
.player .kbd-help summary::-webkit-details-marker{ display:none; }
.player .kbd-help summary:hover{ text-decoration:underline; }
.player .kbd-help .help-pop{ text-align:left; background:#f6f8fb; border:1px solid #dce4ef; border-radius:6px; padding:10px 12px; margin:6px 0 0 auto; line-height:1.55; max-width:430px; color:#333; }

.player .divider{ width:9px; background:#9b9b9b; }
.player .divider:hover,.player .divider.active{ background:#7f7f7f; }
.player .divider::after{ content:"⟷"; width:22px; height:32px; line-height:30px; background:#fff; border:1px solid #b0b0b0; border-radius:3px; color:#555; font-size:13px; box-shadow:0 1px 3px rgba(0,0,0,.18); }

.player .nav-arrows{ position:absolute; right:22px; bottom:66px; display:flex; gap:8px; z-index:6; }
.player .nav-arrows button{ width:48px; height:42px; border:0; border-radius:4px; font-size:18px; cursor:pointer; }
.player #nav-prev{ background:#d8d8d8; color:#333; }
.player #nav-next{ background:#1c1c1c; color:#fff; }
.player .nav-arrows button:disabled{ background:#ededed; color:#bbb; cursor:default; }
.player .p-foot{ display:flex; align-items:center; justify-content:space-between; gap:16px; }
.player .palette{ display:flex; align-items:flex-end; gap:26px; flex:1; overflow-x:auto; }
.player .prog-strip{ display:none; }
.player .p-foot .qbtn.answered{ background:#eef2f6; border-color:#b5b5b5; }
.player .p-foot .finish{ width:48px; height:42px; background:#e7e7e7; color:#444; border:1px solid #c7c7c7; border-radius:4px; font-size:18px; flex:0 0 auto; }
.player .p-foot .finish:hover{ background:#dadada; }
.player .part-collapsed{ align-self:flex-end; color:#555; font-size:13px; white-space:nowrap; }

.player .palette{ gap:6px 12px; overflow-x:visible; flex-wrap:wrap; align-items:flex-start; }
.player .part-block{ flex-direction:row; align-items:center; gap:6px; padding-right:9px; border-right:1px solid #e2e2e2; }
.player .part-block:last-child{ border-right:0; padding-right:0; }
.player .part-block .pname{ color:#888; font-size:12px; white-space:nowrap; }
.player .part-block.cur .pname{ color:#111; font-weight:700; }
.player .part-block .qbtns{ flex-wrap:wrap; gap:2px; margin-top:0; }
.player .part-block .qbtn{ min-width:24px; height:26px; font-size:12px; padding:0 3px; }
.player .part-block:not(.cur) .qbtn{ color:#555; }

@media (max-width:1240px){
  .player .palette{ gap:7px; }
  .player .part-block{ gap:5px; padding-right:7px; }
  .player .part-block .pname{ font-size:11px; }
  .player .part-block .qbtn{ min-width:22px; height:24px; font-size:11.5px; padding:0 2px; }
}

.stu-table .meter{ flex-wrap: nowrap; white-space: nowrap; }
.stu-table .meter small{ white-space: nowrap; }
.stu-table .meter-bar{ width: 50px; flex: 0 0 50px; }
.contact-cell{ min-width: 170px; }
.contact-cell .cinfo,.contact-cell .cinfo small{ white-space: nowrap; }
.contact-cell .cacts{ display: flex; flex-wrap: wrap; gap: 6px; margin-top: 5px; }

.overlay .panel .spk-weekday{ font-size:13px; color:#0ea5e9; font-weight:700; margin:-4px 0 12px; }
.overlay .panel .spk-weekday:empty{ display:none; }

.tq-row{ display:flex; align-items:center; gap:12px; margin-bottom:14px; flex-wrap:wrap; }
.tq-row .tq-toggle{ margin-bottom:0; }
.age-flag{ color:#f59e0b; font-weight:700; font-size:12px; margin-left:6px; white-space:nowrap; }
.remark-bank{ display:flex; flex-wrap:wrap; gap:6px; margin-top:8px; }
.remark-chip{ background:var(--glass2); border:1px solid var(--bord2); color:var(--mut); font-size:11.5px; padding:4px 9px; border-radius:20px; cursor:pointer; }
.remark-chip:hover{ color:var(--txt); border-color:var(--vio); }

.th-actions{ display:flex; gap:8px; flex-wrap:wrap; }
.overlay .panel .spk-meta{ font-size:12.5px; color:#555; margin:0 0 12px; line-height:1.5; }
.overlay .panel .spk-grid-wrap{ overflow-x:auto; margin-bottom:14px; }
.overlay .panel .spk-grid{ width:100%; border-collapse:collapse; font-size:12px; }
.overlay .panel .spk-grid th,.overlay .panel .spk-grid td{ border:1px solid #d7dbe2; padding:6px; text-align:center; vertical-align:middle; }
.overlay .panel .spk-grid th{ background:#f4f6f9; color:#333; font-weight:700; font-size:10.5px; line-height:1.3; }
.overlay .panel .spk-grid .spk-pn{ font-weight:700; color:#1c1c1c; background:#f4f6f9; white-space:nowrap; }
.overlay .panel .spk-sel{ width:62px; padding:5px 4px; border:1px solid #cfd5de; border-radius:6px; background:#fff; color:#1c1c1c; font-size:12.5px; }
.overlay .panel .spk-cmt{ width:100%; min-width:84px; padding:5px 7px; border:1px solid #cfd5de; border-radius:6px; font-size:12px; }
.overlay .panel .spk-score{ text-align:left; font-size:12.5px; color:#444; }
.overlay .panel .spk-score b{ font-size:18px; color:#0ea5e9; }
.overlay .panel .spk-score-note{ color:#888; font-size:11px; }
.overlay .panel .spk-demo-tag{ background:#fde68a; color:#7a4f00; font-size:11px; font-weight:800; padding:2px 8px; border-radius:20px; vertical-align:middle; letter-spacing:.5px; }
.overlay .panel .spk-demo-note{ background:#fef9e7; border:1px solid #f6e6a8; color:#7a5b00; font-size:12.5px; padding:8px 11px; border-radius:8px; margin:0 0 12px; }

.tp-photo-row{ display:flex; align-items:center; gap:16px; margin-bottom:16px; flex-wrap:wrap; }
.tp-photo{ width:88px; height:88px; border-radius:16px; overflow:hidden; background:var(--grad); display:flex; align-items:center; justify-content:center; flex:0 0 auto; }
.tp-photo img{ width:100%; height:100%; object-fit:cover; }
.tp-photo span{ color:#fff; font-size:30px; font-weight:800; }
.tp-tenure{ margin:6px 0 14px; font-size:14.5px; color:var(--txt); }
.tp-tenure b{ color:var(--vio); }
.field2{ display:flex; gap:12px; flex-wrap:wrap; }
.field2 .field{ flex:1; min-width:180px; }
.notes-area{ width:100%; min-height:64px; border:1px solid var(--bord2); border-radius:10px; padding:9px 11px; font-size:14px; font-family:inherit; resize:vertical; background:var(--glass2); color:var(--txt); }
.overlay .panel .notes-area{ background:#fff; color:#1c1c1c; border-color:#d0d6df; }

.sg-lookup{ display:flex; align-items:flex-end; gap:12px; flex-wrap:wrap; margin-top:14px; }
.sg-meta{ font-size:14px; color:var(--mut); flex:1; min-width:240px; padding-bottom:8px; }
.sg-meta b{ color:var(--txt); }

.sg-script{ margin-top:14px; padding:12px 16px; border:1px solid #d7dbe2; border-left:4px solid #2f6df6; border-radius:10px; background:#f7faff; color:#1a2433; }
.sg-script > summary{ cursor:pointer; font-weight:700; color:#0b2447; list-style:none; display:flex; align-items:center; gap:8px; font-size:14px; }
.sg-script > summary::-webkit-details-marker{ display:none; }
.sg-script > summary::after{ content:"▾"; margin-left:auto; opacity:.6; transition:transform .2s; }
.sg-script:not([open]) > summary::after{ transform:rotate(-90deg); }
.sg-script #sg-script-body{ margin-top:10px; }
.sg-say{ margin:0 0 8px; padding:8px 12px; background:#fff; border:1px solid #e3e8f0; border-radius:7px; line-height:1.55; font-size:14.5px; color:#1a2433; }
.sg-say:last-child{ margin-bottom:0; }
.sg-say-go{ border-color:#bfe6c8; background:#f3fbf5; font-weight:600; }
.sg-ph{ color:#9aa3af; font-style:italic; }
.sg-cue{ color:#6b7480; font-size:12.5px; font-style:italic; }

.sg-booking{ display:flex; align-items:center; gap:14px; margin-top:14px; padding:13px 16px; border:1px solid #cfe0f7; border-left:4px solid #2f6df6; border-radius:10px; background:#eef5ff; }
.sg-bk-ico{ font-size:22px; line-height:1; }
.sg-bk-main{ flex:1; min-width:0; }
.sg-bk-top{ font-size:13px; color:#3a4a63; }
.sg-bk-top b{ color:#16263f; }
.sg-bk-status{ display:none; color:#157a3e; font-weight:600; }
.sg-bk-stu{ font-size:15px; color:#16263f; margin-top:3px; }
.sg-bk-stu b{ color:#0b2447; }
.sg-booking .btn.primary{ white-space:nowrap; flex:0 0 auto; }
.sg-booking .btn.sg-loaded{ background:#1f9d55; border-color:#1f9d55; color:#fff; }
.sg-altlookup{ margin:8px 2px 0; }
.sg-altlookup a{ font-size:12.5px; color:#2f6df6; cursor:pointer; text-decoration:none; }
.sg-altlookup a:hover{ text-decoration:underline; }

.sg-today{ margin:14px 0 0; padding:12px 14px; border:1px dashed var(--bord); border-radius:14px; background:var(--glass); display:flex; flex-direction:column; gap:9px; }
.sg-today-h{ font-size:12px; font-weight:800; color:var(--mut); text-transform:uppercase; letter-spacing:.03em; display:flex; align-items:center; gap:8px; }
.sg-today-n{ display:inline-flex; align-items:center; justify-content:center; min-width:19px; height:19px; padding:0 5px; border-radius:10px; background:var(--grad); color:#fff; font-size:11.5px; font-weight:800; }
.sg-today-hint{ text-transform:none; letter-spacing:0; font-weight:600; color:var(--mut); opacity:.8; }
.sg-today-list{ display:flex; flex-wrap:wrap; gap:8px; }
.sg-today-empty{ font-size:13px; color:var(--mut); }
.sg-tchip{ display:inline-flex; align-items:center; gap:8px; padding:8px 12px; border:1px solid var(--bord); border-radius:12px; background:var(--card, rgba(255,255,255,.03)); cursor:pointer; font-size:13.5px; color:var(--txt); transition:border-color .15s, background .15s, transform .05s; }
.sg-tchip:hover{ border-color:#0284c7; background:rgba(2,132,199,.10); }
.sg-tchip:active{ transform:translateY(1px); }
.sg-tchip.on{ border-color:#0284c7; background:rgba(2,132,199,.16); box-shadow:0 0 0 1px #0284c7 inset; }
.sg-tchip-time{ font-weight:800; color:#0284c7; white-space:nowrap; }
.sg-tchip-name{ font-weight:600; white-space:nowrap; }
.sg-tchip-mod{ font-size:11px; font-weight:800; color:var(--mut); border:1px solid var(--bord); border-radius:6px; padding:1px 5px; }
.sg-tchip-ok{ color:#1f9d55; font-weight:800; }
.sg-tchip-req{ color:#e0a106; font-weight:800; font-size:16px; line-height:1; }
.sg-livenote{ margin:10px 0 0; padding:11px 15px; border:1px solid rgba(34,197,94,.35); border-left:4px solid #22c55e; border-radius:12px; background:rgba(34,197,94,.07); color:var(--txt); font-size:13.5px; line-height:1.5; }
.spk-grid-wrap{ overflow-x:auto; }
.spk-grid{ width:100%; border-collapse:collapse; font-size:13px; background:#fff; color:#1c1c1c; border-radius:8px; overflow:hidden; }
.spk-grid th,.spk-grid td{ border:1px solid #d7dbe2; padding:9px 8px; text-align:center; vertical-align:middle; }
.spk-grid th{ background:#f4f6f9; color:#333; font-weight:700; font-size:11.5px; line-height:1.3; }
.spk-grid .spk-pn{ font-weight:700; color:#1c1c1c; background:#f4f6f9; white-space:nowrap; }
.spk-grid .spk-sel{ width:72px; padding:6px 4px; border:1px solid #cfd5de; border-radius:6px; background:#fff; color:#1c1c1c; font-size:13.5px; }
.spk-grid .spk-cmt{ width:100%; min-width:90px; padding:6px 8px; border:1px solid #cfd5de; border-radius:6px; font-size:13px; color:#1c1c1c; background:#fff; }
.spk-grid .spk-score{ text-align:left; font-size:13px; color:#444; }
.spk-grid .spk-score b{ font-size:20px; color:#0ea5e9; }
.spk-grid .spk-score-note{ color:#888; font-size:11px; }
.spk-demo-tag{ background:#fde68a; color:#7a4f00; font-size:11px; font-weight:800; padding:2px 8px; border-radius:20px; vertical-align:middle; letter-spacing:.5px; }
.spk-demo-note{ background:rgba(251,191,36,.12); border:1px solid rgba(251,191,36,.4); color:var(--amber); font-size:13.5px; padding:10px 13px; border-radius:10px; margin:10px 0 4px; max-width:560px; }

.wc-badge{ font-weight:600; font-size:12.5px; padding:3px 10px; border-radius:20px; display:inline-block; }
.wc-ok{ background:rgba(52,211,153,.16); color:#34d399; }
.wc-under{ background:rgba(248,113,113,.16); color:#f87171; }

.wa-panel{ background:var(--glass2); border:1px solid var(--bord); border-radius:12px; padding:12px 14px; margin:0 0 14px; }
.wa-head{ display:flex; align-items:center; gap:10px; flex-wrap:wrap; margin-bottom:10px; }
.wa-title{ font-weight:700; font-size:14px; }
.wa-beta{ font-size:10px; font-weight:800; letter-spacing:.5px; background:rgba(var(--accent),.18); color:var(--vio); padding:2px 7px; border-radius:20px; }
.wa-overall{ font-weight:800; color:var(--vio); font-size:14px; }
.wa-head .wa-apply{ margin-left:auto; background:var(--grad); color:#fff; border:0;
  font-weight:700; box-shadow:0 4px 16px rgba(var(--accent),.4); }
.wa-head .wa-apply:hover{ filter:brightness(1.1); box-shadow:0 6px 20px rgba(var(--accent),.55); }
.wa-bands{ display:flex; flex-wrap:wrap; gap:8px; margin-bottom:8px; }
.wa-chip{ background:var(--glass); border:1px solid var(--bord); border-radius:8px; padding:5px 10px; font-size:12.5px; color:var(--mut); }
.wa-chip b{ color:var(--txt); font-size:14px; margin-right:3px; }
.wa-flags{ display:flex; flex-direction:column; gap:6px; margin-bottom:8px; }
.wa-flag{ font-size:12.5px; padding:6px 10px; border-radius:8px; line-height:1.45; }
.wa-penalty{ background:rgba(248,113,113,.14); color:#fca5a5; border:1px solid rgba(248,113,113,.3); }
.wa-warn{ background:rgba(251,191,36,.14); color:var(--amber); border:1px solid rgba(251,191,36,.3); }
.wa-info{ background:var(--glass); color:var(--mut); }
.wa-note{ font-size:11.5px; color:var(--mut); line-height:1.5; }

.hero-art{ position: relative; }
.hero-photo{ position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; border-radius: inherit; }

.spk-grid td{ vertical-align: middle; }
.spk-grid .spk-cmt{ width:100%; min-width:150px; min-height:84px; padding:8px 9px; border:1px solid #cfd5de; border-radius:6px; font-size:13px; color:#1c1c1c; background:#fff; font-family:inherit; line-height:1.45; resize:vertical; vertical-align:top; }

.login-hero{ position: relative; }
.hero-photo{ z-index: 2; }

.login-hero{ background: #14223d; }
.hero-photo{ object-fit: contain; }
.login-hero.has-photo .hero-cap,.login-hero.has-photo .hero-art{ display: none; }

.login-hero{ background: #00010e; }
.login-wrap.login-split,.login-cardwrap{ background: #00010e; }

.spk-grid td{ vertical-align: top; }
.spk-grid .spk-pn{ vertical-align: middle; }
.spk-grid .spk-cell{ display:flex; flex-direction:column; gap:7px; align-items:stretch; }
.spk-grid .spk-cell .spk-sel{ align-self:center; }
.spk-grid .spk-cell .spk-cmt{ min-height:50px; min-width:0; width:100%; }

.spk-grid .spk-partband{ text-align:center; vertical-align:middle; background:#f4f6f9; min-width:74px; }
.spk-grid .spk-partband b{ font-size:18px; color:#0ea5e9; }
.spk-grid .spk-overall b{ font-size:22px; }

.spk-grid .spk-cell{ gap:8px; }
.spk-grid .spk-cell .spk-sel{ width:100%; align-self:stretch; height:38px; padding:8px 10px; font-size:14px; box-sizing:border-box; cursor:pointer; }
.spk-grid .spk-cell .spk-cmt{ width:100%; min-height:58px; box-sizing:border-box; padding:8px 10px; line-height:1.4; }
.spk-grid td{ padding:9px; }
.spk-grid th{ padding:11px 9px; font-size:12px; }
.spk-grid .spk-partband{ min-width:80px; }

.spk-grid .spk-critrow td{ background:#eef1f6; }
.spk-grid .spk-cb{ text-align:center; vertical-align:middle; font-weight:700; }
.spk-grid .spk-cb b{ font-size:17px; color:#1c2c49; }

.teach-table td{ white-space: nowrap; vertical-align: middle; }
.teach-table td.t-desig{ white-space: normal; min-width: 150px; line-height: 1.35; }
.teach-table th{ white-space: nowrap; }
.teach-table .name-cell{ gap: 10px; }
.teach-table .row-acts{ display: flex; gap: 8px; justify-content: flex-end; align-items: center; }
.teach-table .row-acts .btn{ white-space: nowrap; }

.teach-table td:first-child{ white-space: normal; min-width: 210px; }
.teach-table .name-col{ white-space: normal; min-width: 0; }
.teach-table .row-sub{ white-space: normal; }

.model-reveal{ margin-top: 12px; border: 1px solid var(--line); border-radius: var(--r2);
  background: linear-gradient(180deg, rgba(var(--accent),.06), rgba(var(--accent),.02)); overflow: hidden; }
.model-reveal > summary{ cursor: pointer; list-style: none; padding: 12px 16px; font-weight: 600;
  font-size: 13.5px; color: var(--ink); display: flex; align-items: center; gap: 9px; user-select: none; }
.model-reveal > summary::-webkit-details-marker{ display: none; }
.model-reveal > summary::after{ content: "▾"; margin-left: auto; color: var(--mut); transition: transform .2s; }
.model-reveal[open] > summary::after{ transform: rotate(180deg); }
.model-reveal > summary:hover{ background: rgba(var(--accent),.06); }
.model-reveal .mr-ic{ font-size: 15px; }
.model-sub{ font-family: var(--font-display, inherit); font-size: 11px; font-weight: 700; letter-spacing: .09em;
  text-transform: uppercase; color: var(--brand, rgb(var(--accent))); margin: 4px 16px 6px; }
.model-reveal[open] .model-sub:first-of-type{ margin-top: 4px; }
.model-answer{ margin: 0 16px 14px; padding: 14px 16px; background: var(--card2, rgba(255,255,255,.03));
  border: 1px solid var(--line); border-radius: var(--r2); font-size: 14px; line-height: 1.65; color: var(--ink); }
.model-analysis{ margin: 0 16px 16px; padding: 13px 16px; border-left: 3px solid var(--brand, rgb(var(--accent)));
  background: rgba(var(--accent),.05); border-radius: 0 var(--r2) var(--r2) 0; font-size: 13.5px; line-height: 1.6; color: var(--mut); }
.model-analysis b,.model-answer b{ color: var(--ink); }

.wr-fig{ margin: 16px 0; }
.wr-cap{ font-weight: 700; font-size: 13px; margin-bottom: 9px; color: #111; }
.wr-table{ border-collapse: collapse; font-size: 13.5px; color: #111; }
.wr-table th,.wr-table td{ border: 1px solid #555; padding: 5px 13px; text-align: center; }
.wr-table th{ background: #eef2f7; }
.wr-table td:first-child,.wr-table th:first-child{ text-align: left; font-weight: 600; }
.wr-proc{ margin: 14px 0; font-size: 13.5px; color: #111; max-width: 520px; }
.wr-proc .wr-step{ padding: 8px 13px; border: 1px solid #555; border-radius: 6px; background: #f7f9fc; }
.wr-proc .wr-arrow{ text-align: center; color: #555; line-height: 1.3; font-size: 15px; }

.skill-ico{ display: inline-flex; align-items: center; justify-content: center; vertical-align: -0.18em; flex: none; }
.skill-ico svg{ width: 100%; height: 100%; display: block; }
.skill-btn .emo .skill-ico{ width: 26px; height: 26px; }
.stat .l .skill-ico,.tgt label .skill-ico{ vertical-align: -0.22em; }

.sla{ display:inline-flex; align-items:center; gap:5px; font-size:11.5px; font-weight:700; padding:3px 9px; border-radius:999px; white-space:nowrap; }
.sla-ok{ background:rgba(52,211,153,.14); color:#34d399; }
.sla-soon{ background:rgba(251,191,36,.16); color:#fbbf24; }
.sla-urgent{ background:rgba(251,146,60,.20); color:#fb923c; }
.sla-overdue{ background:rgba(248,113,113,.20); color:#fb7185; }
.sla-text-overdue{ color:#fb7185; }
.h1-flags{ font-size:15px; font-weight:600; color:var(--mut); margin-left:9px; white-space:nowrap; vertical-align:middle; }
.row-overdue > td{ background:rgba(248,113,113,.07); }
.note-danger{ border-color:rgba(248,113,113,.45) !important; background:rgba(248,113,113,.09) !important; color:#fecaca !important; }
.stat.stat-danger .v{ color:#fb7185; }
.th-sla-bar{ margin:0 0 14px; padding:11px 16px; border-radius:12px; font-size:13.5px; background:rgba(251,191,36,.1); border:1px solid rgba(251,191,36,.3); color:#fcd34d; }
.th-sla-bar.overdue{ background:rgba(248,113,113,.1); border-color:rgba(248,113,113,.4); color:#fecaca; }
.pub-toolbar{ display:flex; align-items:center; gap:12px; margin:6px 0 12px; }
.pub-all{ display:inline-flex; align-items:center; gap:7px; font-size:13.5px; color:var(--mut); cursor:pointer; }

.th-sort{ cursor:pointer; user-select:none; white-space:nowrap; transition:color .15s; }
.th-sort:hover{ color:var(--cyan); }
.th-sort .sort-i{ opacity:.35; font-size:11px; }
.th-sort .sort-on{ color:var(--cyan); font-size:10px; }

.th-toprow{ display:flex; gap:18px; align-items:stretch; }
/* Admin dash left column — 2×2 KPI grid + "Today at a glance" fill the widget's height */
.dash-kpi4{ display:grid; grid-template-columns:repeat(2,1fr); gap:12px; }
.dash-kpi4 .stat{ min-width:0; padding:16px 20px; display:flex; flex-direction:column; justify-content:center; }
.dash-kpi4 .stat .v{ font-size:30px; }
.dash-glance{ margin-top:12px; background:var(--glass); border:1px solid var(--bord); border-radius:16px; padding:12px 14px; }
.dg-h{ font-weight:800; font-size:13px; display:flex; align-items:center; gap:8px; margin-bottom:4px; color:var(--txt); }
.dg-sub{ color:var(--mut); font-weight:600; font-size:11.5px; margin-left:auto; }
.dg-row{ display:flex; align-items:center; justify-content:space-between; gap:10px; width:100%; background:transparent; border:0; border-top:1px solid var(--bord); padding:8px 2px; color:var(--txt); font:inherit; font-size:12.5px; cursor:pointer; text-align:left; }
.dg-row:first-of-type{ border-top:0; }
.dg-row:hover .dg-l{ color:var(--txt); }
.dg-l{ color:var(--mut); transition:color .14s ease; }
.dg-v{ font-weight:800; white-space:nowrap; }
.dg-v.hot{ color:#fbbf24; }
.dg-actions{ display:flex; gap:8px; flex-wrap:wrap; margin-top:10px; padding-top:10px; border-top:1px solid var(--bord); }
@media (max-width:560px){ .dash-kpi4{ grid-template-columns:1fr 1fr; } }
.th-toprow .th-hero{ flex:1; margin:0; flex-direction:column; align-items:stretch; justify-content:flex-start; gap:18px; }
.th-hero-top{ display:flex; justify-content:space-between; align-items:flex-start; gap:20px; }
.th-hero-top .dash-hero-l{ flex:1 1 auto; min-width:0; }
.th-hero-top .dash-hero-l .dash-tagline{ max-width:none; }
.th-actions{ display:grid; grid-template-columns:repeat(3,1fr); gap:12px; }
.th-actions .btn{ width:100%; justify-content:center; text-align:center; white-space:nowrap; margin:0; }
.th-toprow .th-hero > *{ flex-shrink:0; }            
#th-perf-chart{ line-height:0; }
.th-hero .th-stats{ margin:6px 0 0; }
@media (max-width:680px){ .th-hero-top{ flex-direction:column; } .th-actions{ grid-template-columns:1fr; } }
.tw-widget{ width:330px; flex:none; display:flex; flex-direction:column; gap:12px; padding:16px 18px; border-radius:16px;
  background:linear-gradient(160deg, rgba(2,132,199,.20), rgba(var(--accent),.05)); border:1px solid var(--bord); box-shadow:var(--shadow, 0 10px 30px rgba(0,0,0,.25)); }
.tw-head{ display:flex; justify-content:space-between; align-items:flex-start; gap:10px; }
.tw-datebox{ text-align:left; padding-top:4px; }
.tw-time{ font-family:var(--font-display, inherit); font-weight:800; font-size:44px; line-height:1; color:#fff; white-space:nowrap; }
.tw-time .tw-ap{ font-size:14px; font-weight:800; color:var(--cyan); margin-left:5px; vertical-align:6px; }
.tw-day{ font-weight:800; font-size:17px; color:#fff; }
.tw-fulldate{ font-size:12px; color:var(--mut); margin-top:1px; }
.tw-weather{ text-align:right; border-top:1px solid var(--line, rgba(255,255,255,.1)); padding-top:11px; }
.tw-wload{ font-size:12.5px; color:var(--mut); }
.tw-w-top{ display:flex; justify-content:flex-end; align-items:center; gap:8px; font-size:12px; color:var(--mut); }
.tw-w-city{ font-weight:700; color:var(--ink, #e8edf6); }
.tw-w-now{ display:flex; justify-content:flex-end; align-items:center; gap:9px; margin-top:2px; }
.tw-w-emo{ font-size:30px; line-height:1; }
.tw-w-temp{ font-size:38px; font-weight:800; color:#fff; line-height:1; }
.tw-w-cond{ font-size:12px; color:var(--mut); margin-top:2px; }
.tw-forecast{ display:flex; justify-content:space-between; gap:6px; margin-top:12px; }
.tw-fc{ flex:1; text-align:center; background:rgba(255,255,255,.05); border-radius:10px; padding:7px 2px; }
.tw-fc-d{ display:block; font-size:10.5px; color:var(--mut); }
.tw-fc-i{ display:block; font-size:16px; margin:2px 0; }
.tw-fc-t{ display:flex; flex-direction:column; align-items:center; line-height:1.2; }
.tw-fc-t b{ font-size:12px; font-weight:800; color:var(--ink, #e8edf6); }
.tw-fc-lo{ font-size:10.5px; color:var(--mut); }
.tw-cal{ border-top:1px solid var(--line, rgba(255,255,255,.1)); padding-top:10px; }
.tw-cal-h{ display:flex; align-items:center; justify-content:space-between; margin-bottom:7px; }
.tw-cal-title{ font-size:12px; font-weight:800; color:var(--ink, #e8edf6); }
.tw-cal-nav{ width:22px; height:22px; flex:none; display:flex; align-items:center; justify-content:center; border:0; border-radius:6px;
  background:rgba(255,255,255,.07); color:var(--ink, #e8edf6); font-size:15px; line-height:1; cursor:pointer; transition:background .15s, color .15s; }
.tw-cal-nav:hover{ background:var(--cyan); color:#06121f; }

.th-perf{ display:flex; flex-direction:column; gap:8px; }
.th-perf-h{ display:flex; align-items:center; justify-content:space-between; }
.th-perf-t{ font-weight:800; font-size:14px; color:#fff; }
.th-stat-go{ cursor:pointer; transition:transform .12s ease, border-color .15s; }
.th-stat-go:hover{ transform:translateY(-2px); border-color:var(--cyan); }

.lw-date{ color:#667085; font-size:13px; margin-bottom:6px; }
.lw-sec-h{ font-size:11px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; color:#0284c7; margin:15px 0 8px; }
.lw-batches{ display:grid; grid-template-columns:repeat(auto-fill, minmax(205px,1fr)); gap:8px; }
.lw-batch{ position:relative; display:flex; flex-direction:column; align-items:flex-start; gap:2px; text-align:left; padding:9px 12px; border-radius:10px; border:1px solid #d6deea; background:#f5f8fc; cursor:pointer; color:#1f2937; font-weight:600; transition:border-color .12s, background .12s; }
.lw-batch:hover{ border-color:#0284c7; }
.lw-batch span{ font-size:11px; color:#6b7280; font-weight:500; }
.lw-batch.on{ border-color:#0284c7; background:#e0f2fe; padding-right:26px; }
.lw-batch.on::after{ content:"✓"; position:absolute; top:8px; right:10px; color:#0284c7; font-weight:800; font-size:14px; }
.lw-grid{ display:grid; grid-template-columns:1fr 1fr; gap:0 28px; margin:2px 0; }
.lw-grid-1{ grid-template-columns:1fr; }
.lw-grid-mock{ grid-template-columns:repeat(2,1fr); }
.lw-none{ color:#6b7280; font-size:13px; }
.lw-row{ display:flex; align-items:center; justify-content:space-between; padding:6px 0; }
.lw-lbl{ font-size:13.5px; color:#1f2937; }
.lw-sub{ color:#6b7280; margin-left:6px; }
.stp{ display:flex; align-items:center; gap:12px; }
.stp b{ min-width:22px; text-align:center; font-size:15px; color:#111827; }
.stp-b{ width:28px; height:28px; border-radius:8px; border:1px solid #d6deea; background:#fff; color:#1f2937; font-size:17px; line-height:1; cursor:pointer; }
.stp-b:hover{ background:#0284c7; color:#fff; border-color:#0284c7; }

.perf-toggle{ display:inline-flex; gap:3px; background:rgba(255,255,255,.05); border:1px solid var(--bord); border-radius:12px; padding:4px; }
.perf-toggle .seg-b{ border:0; background:none; color:var(--mut); font-weight:700; font-size:13px; padding:7px 18px; border-radius:8px; cursor:pointer; transition:background .15s, color .15s; white-space:nowrap; }
.perf-toggle .seg-b:hover:not(.active){ background:rgba(128,128,128,.14); }
.perf-toggle .seg-b.active{ background:var(--grad); color:#fff; box-shadow:0 2px 8px rgba(2,132,199,.35); }
.batch-card{ display:flex; align-items:center; justify-content:space-between; gap:12px; padding:12px 14px; border:1px solid var(--bord); border-radius:12px; background:var(--glass); margin-bottom:8px; }
.batch-card .bc-name{ font-weight:700; }
.batch-card .bc-meta{ font-size:12.5px; color:var(--mut); }
.batch-table td,.batch-table th{ vertical-align:middle; }
.bprog{ display:inline-block; padding:2px 10px; border-radius:999px; font-size:11.5px; font-weight:700; border:1px solid var(--bord); white-space:nowrap; }
.bprog-ielts{ background:rgba(var(--accent),.14); color:rgb(var(--accent)); border-color:rgba(var(--accent),.4); }
.bprog-pte{ background:rgba(167,139,250,.14); color:#a78bfa; border-color:rgba(167,139,250,.4); }
.bprog-toefl{ background:rgba(52,211,153,.14); color:#34d399; border-color:rgba(52,211,153,.4); }
.bprog-gre{ background:rgba(251,191,36,.14); color:#fbbf24; border-color:rgba(251,191,36,.4); }
.bprog-sscenglish{ background:rgba(244,114,182,.14); color:#f472b6; border-color:rgba(244,114,182,.4); }
.bprog-spokenenglish{ background:rgba(251,113,133,.14); color:#fb7185; border-color:rgba(251,113,133,.4); }
.bd-days{ display:flex; flex-wrap:wrap; gap:10px; }
.bd-day{ display:inline-flex; align-items:center; gap:5px; font-size:13px; color:#1f2937; }
.tw-cal-grid{ display:grid; grid-template-columns:repeat(7,1fr); gap:2px; }
.tw-cal-grid > span{ text-align:center; font-size:11px; padding:3px 0; color:var(--ink, #e8edf6); border-radius:6px; }
.tw-cal-grid .tw-dow{ color:var(--mut); font-weight:800; font-size:9.5px; }
.tw-cal-grid .tw-today{ background:var(--grad); color:#fff; font-weight:800; box-shadow:0 2px 8px rgba(var(--accent),.4); }
@media (max-width: 1100px){ .th-toprow{ flex-direction:column; } .tw-widget{ width:auto; } }

.h2{font-family:Sora;font-size:18px;font-weight:800;color:var(--txt);margin:4px 0 10px}
.acad-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}
.acad-course{padding:16px 18px}
.acad-c-h{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:10px}
.acad-c-t{font-family:Sora;font-size:17px;font-weight:800;color:var(--txt)}
.acad-c-tot{font-size:12px;color:var(--mut)}.acad-c-tot b{color:#7dd3fc}
.acad-mods{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}
.acad-mod{display:flex;align-items:center;gap:10px;background:rgba(255,255,255,.04);border:1px solid var(--bord);border-radius:10px;padding:8px 12px}
.acad-mod-n{flex:1;font-weight:600;font-size:13.5px;color:var(--txt)}
.acad-mod-c{font-size:12px;color:var(--mut);white-space:nowrap}
.acad-mod-acts{display:flex;gap:4px;flex:0 0 auto}
.acad-addmod{width:100%}
.grp-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:16px}
.grp-card{padding:16px 18px;display:flex;flex-direction:column;gap:8px}
.grp-h{display:flex;align-items:center;justify-content:space-between;gap:10px}
.grp-code{font-family:Sora;font-size:15.5px;font-weight:800;color:var(--txt)}
.grp-room{font-size:11.5px;color:var(--mut);white-space:nowrap}
.grp-meta{font-size:12px;color:var(--mut);line-height:1.5}
.grp-active{font-size:13px;color:var(--txt)}.grp-active b{color:#7dd3fc}
.grp-bar{height:7px;background:rgba(255,255,255,.08);border-radius:999px;overflow:hidden}
.grp-bar i{display:block;height:100%;background:linear-gradient(90deg,#0ea5e9,#22d3ee)}
.grp-bar-l{font-size:11px;color:var(--mut)}
.grp-chips{display:flex;flex-wrap:wrap;gap:5px}
.grp-chip{font-size:11px;font-weight:700;padding:3px 9px;border-radius:999px;border:1px solid var(--bord);color:var(--mut)}
.grp-chip.done{background:rgba(52,211,153,.16);border-color:rgba(52,211,153,.4);color:#6ee7b7}
.grp-chip.now{background:rgba(var(--accent),.18);border-color:rgba(var(--accent),.45);color:#7dd3fc}
.grp-chip.up{opacity:.7}
.grp-acts{display:flex;flex-wrap:wrap;gap:7px;margin-top:4px}
.tt-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}
.tt-col{background:rgba(255,255,255,.03);border:1px solid var(--bord);border-radius:12px;padding:8px;min-height:80px}
.tt-day{font-size:12px;font-weight:800;color:var(--txt);text-align:center;padding-bottom:6px;border-bottom:1px solid var(--bord);margin-bottom:6px}
.tt-slot{background:rgba(var(--accent),.08);border:1px solid rgba(var(--accent),.2);border-radius:8px;padding:6px 7px;margin-bottom:6px}
.tt-time{font-size:11px;font-weight:800;color:#7dd3fc}
.tt-code{font-size:11px;font-weight:700;color:var(--txt);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tt-mod{font-size:10.5px;color:var(--mut)}
.tt-empty{text-align:center;color:var(--mut);opacity:.5;font-size:12px;padding:10px 0}
.mp-table th,.mp-table td{font-size:13px;text-align:center}
.mp-table td:first-child,.mp-table th:first-child{text-align:left}
.mp-chip{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:8px;font-size:13px;font-weight:800;border:1px solid var(--bord);background:transparent;cursor:default;padding:0}
button.mp-chip{cursor:pointer}
.mp-completed{background:rgba(52,211,153,.18);border-color:rgba(52,211,153,.45);color:#34d399}
.mp-inprogress{background:rgba(var(--accent),.18);border-color:rgba(var(--accent),.45);color:rgb(var(--accent))}
.mp-notstarted{color:var(--mut);opacity:.85}
.mp-bar{display:inline-block;width:64px;height:7px;background:rgba(255,255,255,.08);border-radius:999px;overflow:hidden;vertical-align:middle}
.mp-bar i{display:block;height:100%;background:linear-gradient(90deg,#22c55e,#4ade80)}
.mp-pct{font-size:12px;color:var(--mut);margin-left:6px}

.att-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:10px 0 12px;flex-wrap:wrap}
.att-date{font-size:12.5px;color:#5c6b80;font-weight:700;display:flex;align-items:center;gap:8px}
.att-lock{font-size:12.5px;font-weight:700;color:#b45309;background:#fef3c7;border:1px solid #fde68a;border-radius:8px;padding:6px 10px}
.att-list{display:flex;flex-direction:column;gap:7px;max-height:46vh;overflow-y:auto}
.att-row{display:flex;align-items:center;justify-content:space-between;gap:10px;background:#f7f9fb;border:1px solid #e6ebf2;border-radius:10px;padding:8px 12px}
.att-name{font-weight:700;color:#16325c;font-size:14px;display:inline-flex;align-items:center;gap:8px}
.att-credit{font-size:10.5px;font-weight:800;color:#0369a1;background:#e0f2fe;border:1px solid #bae6fd;border-radius:999px;padding:2px 8px;white-space:nowrap}
.att-credit-low{color:#b45309;background:#fef3c7;border-color:#fde68a}
.att-marks{display:flex;gap:5px}
.att-m{border:1.5px solid #cbd5e1;background:#fff;color:#64748b;border-radius:8px;padding:5px 10px;font-size:12px;font-weight:700;cursor:pointer;font-family:inherit}
.att-m:hover{border-color:#94a3b8}
.att-m.on.att-m-present{background:#10b981;border-color:#10b981;color:#fff}
.att-m.on.att-m-absent{background:#f43f5e;border-color:#f43f5e;color:#fff}
.att-m.on.att-m-makeup{background:#0ea5e9;border-color:#0ea5e9;color:#fff}
.att-m.on.att-m-repeat{background:#f59e0b;border-color:#f59e0b;color:#fff}
.att-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px;flex-wrap:wrap}
.att-sum{font-size:13px;color:#5c6b80}
.overlay .panel .mp-table th,.overlay .panel .mp-table td{color:#16325c;border-color:#e6ebf2}
.overlay .panel .mp-chip{border-color:#cbd5e1}
.overlay .panel .mp-notstarted{color:#94a3b8}
.overlay .panel .mp-bar{background:#e6ebf2}
@media(max-width:760px){.tt-grid{grid-template-columns:repeat(2,1fr)}}

.xs-kpis{display:flex;flex-wrap:wrap;gap:10px;margin:10px 0 4px}
.xs-kpi{font-size:12px;color:var(--mut);background:rgba(255,255,255,.04);border:1px solid var(--bord);border-radius:999px;padding:5px 12px}.xs-kpi b{color:#7dd3fc}
.xs-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:16px}
.xs-card{padding:16px 18px;display:flex;flex-direction:column;gap:8px;border-left:3px solid rgb(var(--accent))}
.xs-card.xs-low{border-left-color:#fbbf24}
.xs-card.xs-full{border-left-color:#fb7185}
.xs-h{display:flex;align-items:center;justify-content:space-between;gap:10px}
.xs-exam{font-size:12px;font-weight:800;padding:3px 10px;border-radius:8px;letter-spacing:.3px}
.xs-ielts{background:rgba(239,68,68,.18);color:#fca5a5}
.xs-pte{background:rgba(var(--accent),.18);color:#7dd3fc}
.xs-toefl{background:rgba(52,211,153,.18);color:#6ee7b7}
.xs-gre{background:rgba(167,139,250,.2);color:#c4b5fd}
.xs-status{font-size:12.5px;font-weight:700;color:var(--txt)}
.xs-date{font-family:Sora;font-size:16px;font-weight:800;color:var(--txt)}
.xs-note{font-size:12px;color:var(--mut)}
.xs-bar{height:7px;background:rgba(255,255,255,.08);border-radius:999px;overflow:hidden}
.xs-bar i{display:block;height:100%;background:linear-gradient(90deg,#0ea5e9,#22d3ee)}
.xs-full .xs-bar i{background:linear-gradient(90deg,#fb7185,#f43f5e)}
.xs-low .xs-bar i{background:linear-gradient(90deg,#fbbf24,#f59e0b)}
.xs-seats{font-size:11.5px;color:var(--mut)}
.xs-acts{display:flex;flex-wrap:wrap;gap:7px;margin-top:4px}
.xs-bk-list{display:flex;flex-direction:column;gap:7px;max-height:50vh;overflow-y:auto}
.xs-bk-row{display:flex;align-items:center;justify-content:space-between;gap:10px;background:#f7f9fb;border:1px solid #e6ebf2;border-radius:10px;padding:9px 13px;font-weight:600;color:#16325c;font-size:14px}

.overlay .panel .mb-exams{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.overlay .panel .mb-exam{display:flex;flex-direction:column;align-items:flex-start;gap:3px;background:#f7f9fb;border:1.5px solid #e2e8f0;border-radius:12px;padding:14px 16px;cursor:pointer;font-family:inherit;text-align:left;transition:border-color .14s,background .14s}
.overlay .panel .mb-exam:hover{border-color:#2563eb;background:#eef4fb}
.mb-exam-k{font-family:Sora;font-size:17px;font-weight:800;color:#16325c}
.mb-exam-s{font-size:12px;color:#64748b}
.mb-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:2px 0 8px}
.mb-kpi{background:rgba(255,255,255,.04);border:1px solid var(--bord);border-radius:12px;padding:9px 12px;text-align:center}
.mb-kpi-v{font-family:Sora;font-size:20px;font-weight:800;color:var(--txt)}
.mb-kpi-l{font-size:12px;color:var(--mut);margin-top:2px}
.mb-kpi-go{border-color:rgba(var(--accent),.4);background:rgba(var(--accent),.08)}
.mb-kpi-go .mb-kpi-v{color:#7dd3fc}
.mb-bar{display:flex;align-items:center;gap:14px;margin:6px 0 12px;flex-wrap:wrap}
.mb-exp{font-size:12.5px;color:var(--mut)}
.mb-pill{font-size:11.5px;font-weight:700;padding:3px 10px;border-radius:999px;white-space:nowrap}
.mb-pill.mb-ok{background:rgba(52,211,153,.16);color:#6ee7b7}
.mb-pill.mb-pend{background:rgba(251,191,36,.16);color:#fcd34d}
.mb-pill.mb-no{background:rgba(251,113,133,.16);color:#fda4af}
@media(max-width:760px){.mb-kpis{grid-template-columns:repeat(2,1fr)}.overlay .panel .mb-exams{grid-template-columns:1fr}}

.lum-logo{display:inline-block;overflow:hidden;vertical-align:middle;line-height:0}
.lum-logo .lum-img{display:block;width:auto;height:70px;-webkit-user-drag:none;user-select:none}
.lum-img-light{display:none}
.lum-logo.lum-on-dark .lum-img-dark{display:block}
.lum-logo.lum-on-dark .lum-img-light{display:none}
.lum-logo.lum-on-light .lum-img-dark{display:none}
.lum-logo.lum-on-light .lum-img-light{display:block}

.brand-block .lum-logo{width:156px;height:30px}
.brand-block .lum-logo .lum-img{height:70px;margin:-20px 0 0 -27px}
.login-logo{display:flex;justify-content:center;margin-bottom:8px}
.sf-side-portal{font-size:10.5px;font-weight:800;letter-spacing:.4px;text-transform:uppercase;color:#bcd4ee;background:rgba(255,255,255,.12);border-radius:999px;padding:2px 8px;margin-left:9px}

.mb-anl{display:flex;flex-wrap:wrap;gap:8px;margin:4px 0 6px}
.mb-anl-c{font-size:12px;color:var(--mut);background:rgba(255,255,255,.04);border:1px solid var(--bord);border-radius:999px;padding:4px 11px}.mb-anl-c b{color:#7dd3fc}
.mb-warn{background:rgba(251,191,36,.12);border:1px solid rgba(251,191,36,.4);color:#fcd34d;border-radius:12px;padding:10px 14px;font-size:13px;margin:6px 0 10px}
.overlay .panel .trf-grade{max-height:60vh;overflow-y:auto;padding-right:4px;display:flex;flex-direction:column;gap:8px}
.overlay .panel .trf-gsec{font-weight:800;color:#2563eb;font-size:11.5px;text-transform:uppercase;letter-spacing:.4px;margin-top:8px}
.overlay .panel .trf-grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.overlay .panel .trf-grid2{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.overlay .panel .trf-grade label{display:flex;flex-direction:column;gap:4px;font-size:11.5px;font-weight:700;color:#64748b}
.overlay .panel .trf-grade .trf-sm label{font-size:10.5px}
.overlay .panel .trf-overall{background:#eef4fb;border:1px solid #d4deeb;border-radius:10px;padding:8px 12px;font-size:14px;color:#16325c}
.overlay .panel .trf-ta{min-height:44px}
.trf-overlay{position:fixed;inset:0;z-index:9000;background:rgba(8,12,20,.72);overflow-y:auto;padding:22px 16px;display:flex;flex-direction:column;align-items:center;gap:14px}
.trf-actions{display:flex;gap:10px;position:sticky;top:0;z-index:2}
.trf-doc{display:flex;flex-direction:column;gap:18px;width:100%;max-width:780px}
.trf-page{background:#fff;color:#1a2433;border-radius:8px;padding:30px 34px;font-family:Inter,system-ui,sans-serif;box-shadow:0 20px 60px rgba(0,0,0,.4)}
.trf-head{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:2px solid #1a2433;padding-bottom:8px}
.trf-ielts{font-family:Sora;font-size:30px;font-weight:800;letter-spacing:-1px}.trf-ielts span{font-size:12px;vertical-align:super}
.trf-sub2{font-weight:700;font-size:14px}
.trf-mod{border:1.5px solid #1a2433;border-radius:4px;padding:6px 16px;font-weight:800;font-size:13px}
.trf-note{font-size:11.5px;color:#3a4656;margin:10px 0;line-height:1.5}.trf-note b{color:#1a2433}
.trf-row2{display:flex;gap:30px;margin:6px 0;font-size:13px;flex-wrap:wrap}.trf-row2>span{flex:1}
.trf-row3{display:flex;gap:24px;margin:6px 0;font-size:13px;flex-wrap:wrap}.trf-row3>span{flex:1}
.trf-row2 b,.trf-row3 b{display:inline-block;border-bottom:1px solid #94a3b8;min-width:70px;padding:0 6px;margin-left:6px}
.trf-csec{font-weight:800;font-size:13px;margin:14px 0 6px;color:#1a2433}
.trf-results{display:flex;gap:10px;flex-wrap:wrap;align-items:flex-end}
.trf-rb{display:flex;flex-direction:column;gap:4px;font-size:11px;font-weight:700;color:#475569;align-items:center}
.trf-box{display:inline-flex;align-items:center;justify-content:center;min-width:54px;height:40px;border:1.5px solid #1a2433;border-radius:5px;font-size:18px;font-weight:800;color:#1a2433}
.trf-rb-o .trf-box{background:#fef3c7;border-color:#d97706}
.trf-cmtrow{display:flex;gap:18px;margin-top:14px;align-items:stretch}
.trf-cmt{flex:1}.trf-cmt-b{border:1px solid #cbd5e1;border-radius:6px;padding:10px;min-height:80px;font-size:12.5px}
.trf-stamp{width:150px;border:1px dashed #94a3b8;border-radius:8px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:10px}
.trf-stamp-t{font-size:11px;color:#64748b;font-weight:700}
.trf-stamp-seal .lum-logo{width:178px;height:34px}
.trf-stamp-seal .lum-logo .lum-img{height:80px;margin:-23px 0 0 -31px}
.trf-sigs{display:flex;justify-content:space-between;gap:16px;margin-top:18px;font-size:11.5px;color:#475569}.trf-sigs b{color:#1a2433;font-size:13px}
.trf-logos{text-align:center;margin-top:18px;font-size:12px;color:#475569;border-top:1px solid #e2e8f0;padding-top:12px}
.trf-disc{text-align:center;font-size:10.5px;color:#94a3b8;margin-top:8px;line-height:1.5}
.trf-fbtitle{text-align:center;font-family:Sora;font-weight:800;font-size:17px;margin-bottom:14px}
.trf-fb2col{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.trf-fbh{font-weight:800;font-size:12.5px;margin:10px 0 5px}
.trf-fbnote{border:1px solid #cbd5e1;border-radius:6px;padding:8px;min-height:42px;font-size:12px;color:#334155;white-space:pre-wrap}
.trf-crit{width:100%;border-collapse:collapse;font-size:12px}
.trf-crit th,.trf-crit td{border:1px solid #94a3b8;padding:5px;text-align:center}.trf-crit th{background:#f1f5f9;font-weight:800}
@media(max-width:640px){.trf-fb2col{grid-template-columns:1fr}.overlay .panel .trf-grid4{grid-template-columns:1fr 1fr}}
@media print{ body *{visibility:hidden !important} .trf-overlay,.trf-overlay *{visibility:visible !important} .trf-overlay{position:absolute;inset:0;background:#fff;padding:0;overflow:visible} .trf-actions{display:none !important} .trf-doc{max-width:none;gap:0} .trf-page{box-shadow:none;border-radius:0;page-break-after:always} }

.side-group{font-size:10px;font-weight:800;letter-spacing:.6px;text-transform:uppercase;color:var(--mut);opacity:.65;padding:15px 14px 5px}
.admin-side .side-group:first-child{padding-top:2px}

.sf-appbar .sf-applogo{display:flex;align-items:center;gap:9px}
.sf-appbar .sf-applogo-name{font-family:'Sora',sans-serif;font-weight:500;font-size:15px;letter-spacing:-.2px;color:#bcd4ee;white-space:nowrap}
.sf-appbar .sf-applogo-name b{font-weight:800;color:#fff}
.sf-applogo-tag{font-size:10.5px;font-weight:800;letter-spacing:.4px;text-transform:uppercase;color:#bcd4ee;background:rgba(255,255,255,.12);border-radius:999px;padding:2px 9px;white-space:nowrap}

.hero-bookcta{font-size:13.5px;padding:10px 18px;font-weight:800;white-space:nowrap}

.aw-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:4px 0 12px;flex-wrap:wrap}
.aw-hint{font-size:12px;color:var(--mut)}
.aw-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start}
.awgt{position:relative;min-width:0}
.awgt-handle{position:absolute;top:8px;right:10px;z-index:6;display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:700;color:var(--mut);background:rgba(13,18,32,.85);border:1px solid var(--bord);border-radius:7px;padding:3px 8px;cursor:grab;opacity:0;transition:opacity .15s,border-color .15s,color .15s}
.awgt-handle span{font-size:10.5px;letter-spacing:.3px}
.awgt:hover .awgt-handle{opacity:.9}
.awgt-handle:hover{opacity:1 !important;border-color:rgb(var(--accent));color:#7dd3fc}
.awgt-handle:active{cursor:grabbing}
.awgt-dragging{opacity:.4}
.awgt-over{outline:2px dashed rgb(var(--accent));outline-offset:3px;border-radius:18px}
@media(max-width:920px){.aw-grid{grid-template-columns:1fr}.awgt{grid-column:span 1 !important}}

.cust-row{cursor:pointer}
.cust-row:hover{background:rgba(127,127,127,.06)}
.cust-nm{font-weight:700;color:var(--txt)}
.cust-sub{font-size:11px;color:var(--mut);margin-top:1px}
.cust-mut{color:var(--mut)}
.cust-contact{font-size:12.5px;color:var(--txt)}
.cust-ltv{font-weight:800;color:var(--txt);font-family:Sora,Inter,sans-serif}
.cust-due{color:#f59e0b;font-weight:700}
.cust-paid{color:#34d399;font-weight:700}
.cust-pchip{display:inline-block;font-size:11px;font-weight:700;border-radius:999px;padding:2px 8px;margin:1px 3px 1px 0;white-space:nowrap}
.cust-pchip.c-course{background:rgba(var(--accent),.16);color:#7dd3fc}
.cust-pchip.c-mock{background:rgba(167,139,250,.18);color:#c4b5fd}
.cust-pchip.c-exam{background:rgba(251,191,36,.16);color:#fcd34d}
.cust-dwrap{display:flex;flex-direction:column;gap:14px}
.cust-dhead{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;flex-wrap:wrap}
.cust-dname{font-family:Sora,Inter,sans-serif;font-size:22px;font-weight:800;color:var(--txt)}
.cust-dstats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.cust-dstat{background:rgba(127,127,127,.07);border:1px solid var(--bord);border-radius:12px;padding:12px 14px}
.cust-dstat .v{font-family:Sora,Inter,sans-serif;font-size:18px;font-weight:800;color:var(--txt)}
.cust-dstat .l{font-size:11px;color:var(--mut);margin-top:2px}
.cust-dstat.is-due .v{color:#f59e0b}
.cust-dsec{font-size:11px;font-weight:800;letter-spacing:.5px;text-transform:uppercase;color:var(--mut);margin-top:4px}
.cust-prodline{display:flex;flex-wrap:wrap;gap:6px}
.cust-ordlist{display:flex;flex-direction:column;gap:8px;max-height:280px;overflow-y:auto}
.cust-ord{display:flex;justify-content:space-between;align-items:center;gap:12px;background:rgba(127,127,127,.06);border:1px solid var(--bord);border-radius:10px;padding:10px 13px}
.cust-ord-it{font-size:13px;font-weight:600;color:var(--txt)}
.cust-ord-r{text-align:right;flex:0 0 auto}
.cust-ord-amt{font-weight:800;color:var(--txt);font-family:Sora,Inter,sans-serif}
.cust-links{display:flex;flex-wrap:wrap;gap:8px}
.cust-link{font-size:12px;color:var(--txt);background:rgba(127,127,127,.08);border:1px solid var(--bord);border-radius:8px;padding:5px 10px}
.cust-dn{font-family:Sora,Inter,sans-serif;font-size:18px;font-weight:800;color:var(--txt);margin-bottom:10px}
.cust-sell-list{display:flex;flex-direction:column;gap:3px;max-height:46vh;overflow-y:auto}
.cust-sell-cat{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.4px;color:var(--mut);margin:10px 0 3px}
.cust-sell-row{display:flex;align-items:center;gap:10px;padding:7px 10px;border:1px solid var(--bord);border-radius:9px}
.cust-sell-nm{flex:1;font-size:13px;color:var(--txt);font-weight:600}
.cust-sell-pr{font-size:12.5px;color:var(--mut);font-weight:700}
.cust-sell-q{width:54px;padding:5px;border-radius:7px;border:1px solid var(--bord);background:rgba(127,127,127,.1);color:var(--txt);text-align:center;font-weight:700;font-family:inherit}
.cust-sell-paid{display:flex;align-items:center;gap:8px;margin-top:12px;font-size:13px;color:var(--txt);font-weight:600}
.cust-sell-foot{display:flex;justify-content:space-between;align-items:center;margin-top:14px;gap:12px}
.cust-sell-total{font-size:14px;color:var(--mut)}.cust-sell-total b{color:var(--txt);font-size:18px;font-family:Sora,Inter,sans-serif}
.cust-form{display:flex;flex-direction:column;gap:10px}
.cust-fl{display:flex;flex-direction:column;gap:4px;font-size:12px;font-weight:700;color:var(--mut)}
.cust-fi{padding:9px 11px;border-radius:9px;border:1px solid var(--bord);background:rgba(127,127,127,.06);color:var(--txt);font-family:inherit;font-size:13.5px}
@media(max-width:640px){.cust-dstats{grid-template-columns:1fr 1fr}}

.overlay .panel .cx-head{display:flex;gap:13px;align-items:flex-start;padding-right:44px}
.overlay .panel .cx-ava{flex:0 0 auto;width:46px;height:46px;border-radius:12px;background:linear-gradient(135deg,#2563eb,#0ea5e9);color:#fff;display:flex;align-items:center;justify-content:center;font-family:Sora,sans-serif;font-weight:800;font-size:16px;letter-spacing:.5px}
.overlay .panel .cx-head-main{flex:1;min-width:0}
.overlay .panel .cx-name-row{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.overlay .panel .cx-head .cx-ph{margin-top:6px;display:flex;flex-direction:column;gap:3px;font-size:12.5px;color:#16325c;line-height:1.4}
.overlay .panel .cx-pl{font-weight:600}
.overlay .panel .cx-pl-k{display:inline-block;min-width:66px;color:#94a3b8;font-weight:700}
.overlay .panel .cx-pl-k::after{content:":"}
.overlay .panel .cx-name-row .cx-temp{font-size:11px;padding:2px 9px}
.overlay .panel .cx-name-row .cx-temp.cx-Hot{background:#fee2e2;color:#b91c1c}
.overlay .panel .cx-name-row .cx-temp.cx-Warm{background:#fef3c7;color:#b45309}
.overlay .panel .cx-name-row .cx-temp.cx-Cold{background:#e2e8f0;color:#475569}
.overlay .panel .cx-facts{display:flex;flex-wrap:wrap;gap:6px;margin-top:9px}
.overlay .panel .cx-fact{font-size:11.5px;font-weight:700;color:#334155;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:7px;padding:3px 9px;white-space:nowrap}
.overlay .panel .cx-fact.cx-fact-due{background:#fff7ed;border-color:#fed7aa;color:#c2410c}
.overlay .panel .cx-acts{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:13px 0 6px}
.overlay .panel .cx-act{flex-direction:row;align-items:center;justify-content:center;gap:7px;padding:9px 10px}
.overlay .panel .cx-act .cx-act-t{font-size:13px}

.overlay .panel .cx-head{margin-bottom:12px}
.overlay .panel .cx-head .cx-ph .cx-mlink{color:#2563eb;text-decoration:none;font-weight:700}
.overlay .panel .cx-head .cx-ph .cx-mlink:hover{text-decoration:underline}
.overlay .panel .cx-head .cx-ph .cx-mwa{display:inline-flex;align-items:center;vertical-align:-2px;margin:0 1px}

.overlay .panel .cx-cbar{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:12px 0 4px}
.overlay .panel .cx-summary{margin:10px 0 0}
@media(max-width:620px){.overlay .panel .cx-cbar{grid-template-columns:1fr}}
.overlay .panel .cx-cbtn{display:flex;align-items:center;gap:10px;padding:9px 11px;border-radius:12px;border:1px solid #e2e8f0;background:#fff;text-decoration:none;min-width:0;transition:border-color .15s,box-shadow .15s,transform .1s}
.overlay .panel .cx-cbtn:hover{border-color:#cbd5e1;box-shadow:0 6px 16px rgba(15,23,42,.10);transform:translateY(-1px)}
.overlay .panel .cx-cbtn-ic{flex:0 0 auto;width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:16px}
.overlay .panel .cx-cbtn-call .cx-cbtn-ic{background:#e0f2fe}
.overlay .panel .cx-cbtn-wa .cx-cbtn-ic{background:#dcfce7}
.overlay .panel .cx-cbtn-email .cx-cbtn-ic{background:#eef2ff}
.overlay .panel .cx-cbtn-tx{display:flex;flex-direction:column;min-width:0;line-height:1.25}
.overlay .panel .cx-cbtn-tx b{font-size:13px;font-weight:800;color:#16325c}
.overlay .panel .cx-cbtn-tx small{font-size:11px;color:#64748b;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:560px){.overlay .panel .cx-cbar{grid-template-columns:1fr}}

.overlay .panel .cx-nba{display:flex;align-items:center;justify-content:space-between;gap:14px;background:linear-gradient(135deg,#eef2ff,#faf5ff);border:1px solid #ddd6fe;border-radius:14px;padding:12px 15px;margin:10px 0 6px}
.overlay .panel .cx-nba-l{min-width:0}
.overlay .panel .cx-nba-h{font-size:10.5px;font-weight:800;letter-spacing:.5px;text-transform:uppercase;color:#7c3aed}
.overlay .panel .cx-nba-act{font-size:14.5px;font-weight:800;color:#1e1b4b;margin-top:3px;line-height:1.3}
.overlay .panel .cx-nba-why{font-size:11.5px;color:#6d6a8a;margin-top:3px}
.overlay .panel .cx-nba-btn{flex:0 0 auto;background:#7c3aed;color:#fff;border-radius:10px;padding:10px 16px;font-weight:800;font-size:13px;text-decoration:none;white-space:nowrap;box-shadow:0 4px 12px rgba(124,58,237,.28)}
.overlay .panel .cx-nba-btn:hover{background:#6d28d9}
@media(max-width:560px){.overlay .panel .cx-nba{flex-direction:column;align-items:stretch}.overlay .panel .cx-nba-btn{text-align:center}}

.overlay .panel .cx-summary{border:1px solid #cfe8da;border-radius:14px;overflow:hidden;margin:10px 0 6px;background:#fff}
.overlay .panel .cx-sum-deal{background:linear-gradient(135deg,#dcfce7,#bbf7d0);padding:12px 15px;display:flex;flex-direction:column;gap:4px}
.overlay .panel .cx-sum-deal .cx-deal-r{font-size:14px;font-weight:700;color:#14532d;line-height:1.45}
.overlay .panel .cx-sum-deal .cx-deal-r b{color:#065f46}
.overlay .panel .cx-sum-deal .cx-deal-r b.g,.overlay .panel .cx-sum-deal .cx-deal-r .g{color:#047857}
.overlay .panel .cx-sum-act{padding:11px 15px;border-top:1px solid #ece9f6;background:#faf7ff}

.overlay .panel .cx-stagew{background:#f8fafc;border:1px solid #e6ebf2;border-radius:14px;padding:12px 14px;margin:10px 0 6px}
.overlay .panel .cx-stagew-h{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.5px;color:#16325c;margin-bottom:10px}
.overlay .panel .cx-stagew-h span{color:#94a3b8;font-weight:700;text-transform:none;letter-spacing:0}
.overlay .panel .cx-stagew .cx-flow{margin:0}

.overlay .panel .cx-invw{background:#f8fafc;border:1px solid #e6ebf2;border-radius:14px;padding:12px 14px;margin:10px 0 6px}
.overlay .panel .cx-invw-h{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.5px;color:#16325c;margin-bottom:10px}
.overlay .panel .cx-invw-h span{color:#94a3b8;font-weight:700;text-transform:none;letter-spacing:0;margin-left:4px}
.overlay .panel .cx-invw-gen{width:100%;justify-content:center}
.overlay .panel .cx-invw-list{display:flex;flex-direction:column;gap:6px;margin-top:10px}
.overlay .panel .cx-invw-row{display:flex;align-items:center;gap:10px;width:100%;background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:9px 12px;cursor:pointer;font-family:inherit;text-align:left;transition:border-color .15s,background .15s}
.overlay .panel .cx-invw-row:hover{border-color:#0ea5e9;background:#f0f9ff}
.overlay .panel .cx-invw-no{font-weight:800;color:#16325c;font-size:13px}
.overlay .panel .cx-invw-amt{font-weight:800;color:#16325c;font-size:13px;margin-left:auto}
.overlay .panel .cx-invw-st{flex:0 0 auto}
.overlay .panel .cx-invw-go{flex:0 0 auto;color:#0ea5e9;font-weight:800;font-size:12px}
.overlay .panel .cx-invw-empty{font-size:12px;color:#64748b;margin-top:9px}

.overlay .panel .lc-hero{display:grid;grid-template-columns:1.45fr 1fr;gap:14px;align-items:start;margin:6px 0 14px}
.overlay .panel .lc-hero .cx-summary{margin:0}
.overlay .panel .lc-hero .cx-cbar{margin:0}
.overlay .panel .lc-bottom{margin-top:16px;padding-top:12px;border-top:0.5px solid #e6ebf2}
.overlay .panel .lc-bottom .cx-sec:first-child{margin-top:0}
@media(max-width:760px){.overlay .panel .lc-hero{grid-template-columns:1fr}}

.ab-pf-proj{display:block;font-size:10.5px;font-weight:600;color:#8a97af;margin-top:1px}

.overlay .panel .cust-dn{color:#16325c}
.overlay .panel .cust-sell-cat{color:#64748b}
.overlay .panel .cust-sell-list{margin-top:4px}
.overlay .panel .cust-sell-row{display:flex;align-items:center;gap:12px;border-color:#dde5f0}
.overlay .panel .cust-sell-nm{flex:1 1 auto;min-width:0;color:#16325c;font-weight:600}
.overlay .panel .cust-sell-pr{flex:0 0 auto;white-space:nowrap;color:#64748b;font-weight:700}
.overlay .panel .cust-sell-q{flex:0 0 70px;width:70px;text-align:center;padding:8px;background:#fff;border:1.5px solid #94a3b8;color:#0f172a}
.overlay .panel .cust-sell-paid{color:#16325c}
.overlay .panel .cust-sell-total{color:#64748b}
.overlay .panel .cust-sell-total b{color:#16325c}
.overlay .panel .cust-fl{color:#64748b}
.overlay .panel .cust-fi{background:#fff;border:1.5px solid #94a3b8;color:#0f172a}

.overlay .panel .inv-q{flex:0 0 70px;width:70px;text-align:center;padding:8px;background:#fff;border:1.5px solid #94a3b8;color:#0f172a}

.gsearch{position:relative;flex:0 1 440px;display:flex;align-items:center;gap:8px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);border-radius:10px;padding:0 12px;height:38px}
.gsearch-ic{opacity:.6;font-size:13px}
.gsearch-input{flex:1;min-width:0;background:none;border:0;outline:none;color:#fff;font-size:13.5px;font-family:inherit}
.gsearch-input::placeholder{color:rgba(255,255,255,.5)}
.gsearch-results{position:absolute;top:46px;left:0;right:0;background:#0e1730;border:1px solid rgba(255,255,255,.16);border-radius:12px;box-shadow:0 18px 44px rgba(0,0,0,.55);max-height:60vh;overflow-y:auto;z-index:500;display:none;padding-bottom:6px}
.gsearch-results.open{display:block}
.gsearch-grp{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.5px;color:#7891a8;padding:11px 14px 4px}
.gsearch-item{display:flex;align-items:center;gap:10px;padding:8px 14px;cursor:pointer;border:0;background:none;width:100%;text-align:left;font-family:inherit}
.gsearch-item:hover{background:rgba(255,255,255,.07)}
.gsearch-av{width:30px;height:30px;border-radius:8px;background:rgba(255,255,255,.1);display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:800;color:#cfe0f2;flex:0 0 auto}
.gsearch-it-main{flex:1;min-width:0;display:flex;flex-direction:column}
.gsearch-it-n{font-size:13px;font-weight:700;color:#eaf4ff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gsearch-it-s{font-size:11px;color:#94a3b8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gsearch-it-type{font-size:10px;font-weight:700;color:#7dd3fc;background:rgba(125,211,252,.12);border-radius:6px;padding:2px 7px;flex:0 0 auto;white-space:nowrap}
.gsearch-empty{padding:16px;color:#94a3b8;font-size:12.5px;text-align:center}
@media(max-width:820px){.gsearch{flex:0 1 220px}}

.ab-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.12fr);gap:18px;align-items:center;margin-bottom:4px}
.ab-head-l{min-width:0}
.ab-head-r{min-width:0}
.ab-head-r .gsearch{width:100%;flex:none;max-width:none;box-sizing:border-box}
.ab-cols>.ab-col-r{flex-direction:column;align-items:stretch;gap:16px}
@media(max-width:920px){.ab-head{grid-template-columns:1fr}.ab-head-r{width:auto}}

.overlay .panel .lc-grid2{display:grid;grid-template-columns:minmax(0,0.82fr) minmax(0,1.18fr);gap:16px;align-items:start;margin-top:4px}
.overlay .panel .lc-rail{display:flex;flex-direction:column;gap:12px;min-width:0}
.overlay .panel .lc-work{display:flex;flex-direction:column;gap:12px;min-width:0}
.overlay .panel .lc-rail .cx-sec,.overlay .panel .lc-work .cx-sec{margin:2px 0 -4px}
.overlay .panel .cx-fields-rail{grid-template-columns:1fr}
.overlay .panel .lc-suggest{display:flex;gap:11px;align-items:flex-start;background:linear-gradient(135deg,#eef2ff,#faf5ff);border:1px solid #ddd6fe;border-radius:12px;padding:11px 15px;margin:12px 0}
.overlay .panel .lc-suggest-ic{font-size:18px;flex:0 0 auto}
.overlay .panel .lc-suggest-m{min-width:0}
.overlay .panel .lc-suggest-h{font-size:10.5px;font-weight:800;letter-spacing:.5px;text-transform:uppercase;color:#7c3aed}
.overlay .panel .lc-suggest-a{font-size:14.5px;font-weight:800;color:#1e1b4b;margin-top:2px;line-height:1.3}
.overlay .panel .lc-suggest-w{font-size:11.5px;color:#6d6a8a;margin-top:2px}
.overlay .panel .lc-dealcard{background:linear-gradient(135deg,#dcfce7,#bbf7d0);border:1px solid #a7dcba;border-radius:12px;padding:11px 14px;display:flex;flex-direction:column;gap:4px}
.overlay .panel .lc-dealcard .cx-deal-r{font-size:13.5px;font-weight:700;color:#14532d;line-height:1.5}
.overlay .panel .lc-dealcard .cx-deal-r b{color:#065f46}
.overlay .panel .lc-dealcard .cx-deal-r b.g,.overlay .panel .lc-dealcard .cx-deal-r .g{color:#047857}
@media(max-width:760px){.overlay .panel .lc-grid2{grid-template-columns:1fr}}

.overlay .panel .cx-head .cx-ph.cx-ph-1l{margin-top:5px;display:block;font-size:12.5px;color:#5c6b80;line-height:1.5}
.overlay .panel .cx-cbtn{padding:8px 11px;gap:9px}
.overlay .panel .cx-cbtn-ic{width:28px;height:28px;font-size:15px}
.overlay .panel .cx-cbtn-1l{display:flex;align-items:baseline;gap:5px;min-width:0;font-size:13px;font-weight:800;color:#16325c;white-space:nowrap;overflow:hidden}
.overlay .panel .cx-cbtn-1l small{font-weight:600;color:#64748b;overflow:hidden;text-overflow:ellipsis;min-width:0}
.overlay .panel .cx-stagew-top{margin:12px 0 0}
.overlay .panel .lc-suggest-facts{display:flex;flex-wrap:wrap;gap:5px 8px;margin-top:7px}
.overlay .panel .lc-suggest-facts .lsf{font-size:11px;font-weight:700;color:#475569;background:#fff;border:1px solid #e4def5;border-radius:6px;padding:2px 7px;white-space:nowrap}
.overlay .panel .lc-suggest-facts .lsf-due{color:#c2410c;background:#fff7ed;border-color:#fed7aa}

.overlay .panel .lc-dt-row{display:flex;gap:8px}
.overlay .panel .lc-dt-row #cx-lnext-d,.overlay .panel .lc-dt-row #cx-lnext-t{flex:1 1 0;width:auto;min-width:0}

.disc-badge{display:inline-block;background:#dcfce7;color:#15803d;font-size:10px;font-weight:800;border-radius:6px;padding:1px 6px;margin-left:5px;vertical-align:middle;letter-spacing:.02em}
.cust-sell-pr .pr-old{color:#9aa7b8;font-size:11.5px;margin-right:3px;text-decoration:line-through}
.pr-quick{display:flex;align-items:center;gap:8px;margin:14px 0 4px;color:var(--mut);font-size:13px}
.pr-quick .btn.small{padding:4px 12px}
.pr-table{margin-top:12px}
.pr-table td,.pr-table th{vertical-align:middle}
.pr-table .pr-cat td{background:rgba(125,211,252,.08);font-weight:800;color:#7dd3fc;font-size:11.5px;text-transform:uppercase;letter-spacing:.05em;padding-top:9px;padding-bottom:9px}
.pr-disc{display:inline-flex;align-items:center;gap:4px;justify-content:center}
.pr-disc i{font-style:normal;color:var(--mut);font-size:12.5px}
.pr-in{width:64px;background:rgba(255,255,255,.06);border:1px solid var(--bord);border-radius:8px;padding:6px 8px;color:var(--txt);font-family:inherit;font-size:13.5px;text-align:right}
.pr-in:focus{outline:none;border-color:rgb(var(--accent));background:rgba(var(--accent),.12)}
.pr-net{font-weight:800;color:#34d399}
.pr-saverow{display:flex;align-items:center;justify-content:flex-end;gap:14px;margin-top:16px}
.pr-hint{color:var(--mut);font-size:12.5px}
.pr-lpw{display:inline-flex;align-items:center;gap:4px;justify-content:flex-end;color:var(--mut);font-size:12.5px}
.pr-lp{width:86px;background:rgba(255,255,255,.06);border:1px solid var(--bord);border-radius:8px;padding:6px 8px;color:var(--txt);font-family:inherit;font-size:13.5px;text-align:right}
.pr-lp:focus{outline:none;border-color:rgb(var(--accent));background:rgba(var(--accent),.12)}
.pr-cat-row{display:flex;align-items:center;justify-content:space-between;gap:10px}
.pr-add{text-transform:none;letter-spacing:0;font-size:11.5px;padding:3px 10px}
.pr-del{background:transparent;border:1px solid transparent;border-radius:8px;color:var(--mut);font-size:12px;cursor:pointer;padding:4px 8px;line-height:1}
.pr-del:hover{color:#fb7185;border-color:rgba(251,113,133,.45);background:rgba(251,113,133,.08)}

.overlay .panel .lc-rail .cx-contact{gap:10px;margin-top:10px}
.overlay .panel .lc-rail .cx-cr{flex-direction:column;align-items:stretch;gap:10px;padding:13px 14px}
.overlay .panel .lc-rail .cx-cr .cx-cr-v{flex:0 0 auto;width:100%;overflow:visible;align-items:center}
.overlay .panel .lc-rail .cx-cr .cx-cr-tx{overflow:visible;text-overflow:clip;white-space:normal;overflow-wrap:anywhere;font-size:14.5px;font-weight:700}
.overlay .panel .lc-rail .cx-cr .cx-cr-acts{width:100%;justify-content:flex-start;flex-wrap:wrap;gap:8px}
.overlay .panel .lc-rail .cx-cr .cx-cr-acts .cx-mini{flex:0 0 auto}

.overlay .panel .cx-head .cx-meta{display:flex;flex-wrap:wrap;gap:7px;margin-top:8px}
.overlay .panel .cx-metab{display:inline-flex;align-items:center;gap:5px;background:#f1f5fb;border:1px solid #dde5f0;border-radius:9px;padding:5px 11px;font-size:12px;color:#5c6b80;font-weight:600;line-height:1.3}
.overlay .panel .cx-metab b{color:#16325c;font-weight:800}

.lz-segs{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 6px}
.lz-seg{display:inline-flex;align-items:center;gap:6px;background:rgba(127,127,127,.07);border:1px solid var(--bord);border-radius:999px;padding:6px 13px;font-size:12.5px;font-weight:700;color:var(--txt);cursor:pointer;font-family:inherit}
.lz-seg b{background:rgba(127,127,127,.16);border-radius:999px;padding:0 7px;font-size:11px;color:var(--mut);font-weight:800}
.lz-seg:hover{border-color:rgb(var(--accent))}
.lz-seg.on{background:#2563eb;border-color:#2563eb;color:#fff}
.lz-seg.on b{background:rgba(255,255,255,.25);color:#fff}
.lz-bulk{display:flex;align-items:center;gap:8px;flex-wrap:wrap;background:rgba(var(--accent),.1);border:1px solid rgba(var(--accent),.35);border-radius:12px;padding:9px 13px;margin:10px 0}
.lz-bulk-n{font-weight:800;color:#0ea5e9;font-size:13px;margin-right:4px}
.lz-bulk .btn.small{padding:5px 11px;font-size:12px}
.lz-bulk-clr{margin-left:auto}
.lz-table th.lz-sort{cursor:pointer;user-select:none;white-space:nowrap}
.lz-table th.lz-sort:hover{color:rgb(var(--accent))}
.lz-table td.lz-ck,.lz-table th.lz-ck{width:34px;text-align:center;padding-left:6px;padding-right:6px}
.lz-cb,#crm-selall{width:16px;height:16px;cursor:pointer;accent-color:#2563eb}
.lz-prio{white-space:nowrap}
.lz-score{display:inline-block;margin-left:7px;font-size:11px;font-weight:800;color:var(--mut);background:rgba(127,127,127,.12);border-radius:6px;padding:1px 6px;vertical-align:middle}
.lz-rsel{background:rgba(var(--accent),.08)}
.lz-acts{white-space:nowrap;text-align:right}
.lz-acts .cx-mini{width:30px;height:30px;padding:0;font-size:13px;display:inline-flex;align-items:center;justify-content:center;vertical-align:middle;margin-left:3px}
.lz-acts .cx-mini.snz{width:30px;padding:0;font-size:15px}

.mb-bar{display:flex;align-items:center;gap:12px;margin:6px 0 10px;flex-wrap:wrap}
.mb-viewtog{display:inline-flex;background:rgba(127,127,127,.1);border:1px solid var(--bord);border-radius:10px;padding:3px;margin-left:auto}
.mb-vt{background:none;border:0;color:var(--mut);font-weight:700;font-size:12.5px;padding:6px 13px;border-radius:8px;cursor:pointer;font-family:inherit}
.mb-vt.on{background:#2563eb;color:#fff}
.mc-wrap{margin-top:6px}
.mc-nav{display:flex;align-items:center;gap:12px;margin-bottom:12px}
.mc-title{font-family:Sora,sans-serif;font-weight:800;font-size:17px;min-width:180px;text-align:center}
.mc-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}
.mc-head{margin-bottom:6px}
.mc-dow{text-align:center;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:var(--mut);padding:4px 0}
.mc-cell{min-height:94px;background:rgba(127,127,127,.05);border:1px solid var(--bord);border-radius:10px;padding:6px;display:flex;flex-direction:column;gap:3px;overflow:hidden}
.mc-empty{background:none;border:0}
.mc-has{cursor:pointer}
.mc-has:hover{border-color:rgb(var(--accent));background:rgba(var(--accent),.07)}
.mc-today{border-color:rgb(var(--accent));box-shadow:inset 0 0 0 1px rgb(var(--accent))}
.mc-dnum{font-size:12px;font-weight:700;color:var(--txt);display:flex;align-items:center;justify-content:space-between}
.mc-pend{background:#f59e0b;color:#16325c;font-size:10px;font-weight:800;border-radius:999px;min-width:16px;height:16px;display:inline-flex;align-items:center;justify-content:center;padding:0 4px}
.mc-ev{font-size:10.5px;font-weight:700;border-radius:5px;padding:2px 5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mc-ev.mb-ok{background:rgba(52,211,153,.18);color:#6ee7b7}
.mc-ev.mb-pend{background:rgba(251,191,36,.2);color:#fcd34d}
.mc-ev.mb-no{background:rgba(251,113,133,.18);color:#fda4af}
.mc-more{font-size:10px;color:var(--mut);font-weight:700;padding-left:2px}
.mc-legend{display:flex;gap:16px;margin-top:12px;font-size:11.5px;color:var(--mut);flex-wrap:wrap}
.mc-legend i{width:11px;height:11px;border-radius:3px;display:inline-block;margin-right:5px;vertical-align:-1px}
.mc-legend .mb-ok{background:#34d399}.mc-legend .mb-pend{background:#fbbf24}.mc-legend .mb-no{background:#fb7185}
.mcd-list{display:flex;flex-direction:column;gap:8px;max-height:60vh;overflow-y:auto}
.mcd-row{display:flex;align-items:center;gap:10px;background:#f4f7fb;border:1px solid #dde5f0;border-radius:10px;padding:10px 12px;flex-wrap:wrap}
.mcd-main{flex:1;min-width:140px;display:flex;flex-direction:column}
.mcd-main b{color:#16325c;font-size:14px}
.mcd-sub{color:#5c6b80;font-size:12px}
.mcd-st{flex:0 0 auto}
.mcd-acts{flex:0 0 auto;display:flex;gap:6px;flex-wrap:wrap}

.undobar{position:fixed;left:50%;bottom:26px;transform:translateX(-50%);z-index:6000;display:flex;align-items:center;gap:16px;background:#16325c;color:#fff;border-radius:12px;padding:12px 18px;box-shadow:0 14px 40px rgba(0,0,0,.42);font-size:13.5px;font-weight:600;animation:undobar-in .25s ease}
.undobar-btn{background:none;border:0;color:#7dd3fc;font-weight:800;font-size:13.5px;cursor:pointer;font-family:inherit;padding:2px 4px}
.undobar-btn:hover{color:#bae6fd;text-decoration:underline}
.undobar-out{opacity:0;transition:opacity .32s}
@keyframes undobar-in{from{opacity:0;transform:translate(-50%,12px)}to{opacity:1;transform:translate(-50%,0)}}

.lz-acts [data-tip]{position:relative}
.lz-acts [data-tip]:hover::after{content:attr(data-tip);position:absolute;bottom:calc(100% + 6px);left:50%;transform:translateX(-50%);background:#16325c;color:#fff;font-size:11px;font-weight:700;padding:4px 8px;border-radius:6px;white-space:nowrap;z-index:50;pointer-events:none;box-shadow:0 6px 18px rgba(0,0,0,.3)}
.lz-acts [data-tip]:hover::before{content:"";position:absolute;bottom:calc(100% + 2px);left:50%;transform:translateX(-50%);border:4px solid transparent;border-top-color:#16325c;z-index:50;pointer-events:none}

.lc-ro-banner{display:flex;align-items:flex-start;gap:8px;background:#fff7ed;border:1px solid #fed7aa;color:#9a3412;border-radius:12px;padding:11px 14px;font-size:13px;font-weight:600;margin:6px 0 10px;line-height:1.45}
.lc-ro-banner b{color:#7c2d12;font-weight:800}
.overlay .panel.lc-ro .cx-stagew,.overlay .panel.lc-ro .cx-contact,.overlay .panel.lc-ro .lc-log,.overlay .panel.lc-ro .lc-del-row{opacity:.5;pointer-events:none;filter:grayscale(.35)}
.overlay .panel.lc-ro .cx-sec{opacity:.6}

.overlay .panel.lc-ro .cx-invw{opacity:1!important;pointer-events:auto!important;filter:none!important}

.sf-fustat-i.new b{color:rgb(var(--accent))}
.sf-touch{font-size:11px;font-weight:800;color:#94a3b8;background:rgba(127,127,127,.14);border-radius:999px;padding:1px 8px}
.sf-sla{font-size:11px;font-weight:800;color:#0c4a6e;background:#bae6fd;border-radius:999px;padding:1px 9px}
.sf-fucard.is-new{border-left:3px solid rgb(var(--accent))}
.sf-fu-coach{font-size:11.5px;font-weight:600;margin-top:5px;display:flex;align-items:center;gap:5px}
.coach-new{color:rgb(var(--accent))}.coach-go{color:#d97706}.coach-ok{color:#059669}.coach-stop{color:#e11d48}
body .coach-go{color:#fbbf24}body .coach-ok{color:#34d399}body .coach-stop{color:#fb7185}
.sf-fu-acts{flex-wrap:nowrap;justify-content:flex-end;gap:6px;max-width:none;align-items:center}
.sf-fu-acts .cx-mini{width:32px;height:32px;font-size:13px;flex:0 0 auto}
.sf-fu-acts .cx-mini.snz{width:32px;padding:0;font-size:15px}
.sf-fu-acts .cx-step{padding:7px 10px;flex:0 0 auto}
.cx-step{display:inline-flex;align-items:center;gap:5px;background:#2563eb;color:#fff;border:0;border-radius:9px;padding:7px 11px;font-size:12px;font-weight:800;cursor:pointer;font-family:inherit;white-space:nowrap}
.cx-step:hover{background:#1d4ed8}
.cx-step-sp{background:rgba(255,255,255,.25);border-radius:6px;padding:0 5px;font-size:11px}
.sf-goal{background:rgba(127,127,127,.06);border:1px solid var(--bord);border-radius:12px;padding:10px 14px;margin:12px 0}
.sf-goal-top{display:flex;justify-content:space-between;align-items:center;font-size:12.5px;color:var(--mut);font-weight:700;margin-bottom:7px}
.sf-goal-top b{color:var(--txt);font-size:13.5px}
.sf-goal-tr{height:8px;background:rgba(127,127,127,.16);border-radius:999px;overflow:hidden}
.sf-goal-tr i{display:block;height:100%;background:linear-gradient(90deg,rgb(var(--accent)),#2563eb);border-radius:999px;transition:width .4s}
.watpl-list{display:flex;flex-direction:column;gap:9px}
.watpl-item{text-align:left;background:#f4f7fb;border:1px solid #dde5f0;border-radius:11px;padding:11px 13px;cursor:pointer;font-family:inherit;width:100%}
.watpl-item:hover{border-color:#25d366;background:#f0fdf4}
.watpl-t{font-size:13px;font-weight:800;color:#16325c;margin-bottom:3px}
.watpl-x{font-size:12px;color:#5c6b80;line-height:1.45}
.sf-fu-acts [data-tip]{position:relative}
.sf-fu-acts [data-tip]:hover::after{content:attr(data-tip);position:absolute;bottom:calc(100% + 6px);left:50%;transform:translateX(-50%);background:#16325c;color:#fff;font-size:11px;font-weight:700;padding:4px 8px;border-radius:6px;white-space:nowrap;z-index:50;pointer-events:none;box-shadow:0 6px 18px rgba(0,0,0,.3)}

.cust-pchip[data-tip]{position:relative;cursor:default}
.cust-pchip[data-tip]:hover::after{content:attr(data-tip);position:absolute;bottom:calc(100% + 6px);left:50%;transform:translateX(-50%);background:#16325c;color:#fff;font-size:11px;font-weight:700;padding:4px 8px;border-radius:6px;white-space:nowrap;z-index:60;pointer-events:none;box-shadow:0 6px 18px rgba(0,0,0,.3)}
.cust-pchip[data-tip]:hover::before{content:"";position:absolute;bottom:calc(100% + 2px);left:50%;transform:translateX(-50%);border:4px solid transparent;border-top-color:#16325c;z-index:60;pointer-events:none}

.cust-tier{font-size:10px;font-weight:800;border-radius:6px;padding:1px 7px;margin-left:6px;vertical-align:middle}
.tier-vip{background:rgba(168,85,247,.2);color:#c4b5fd}
.tier-repeat{background:rgba(var(--accent),.18);color:#7dd3fc}
.tier-new{background:rgba(148,163,184,.2);color:#cbd5e1}
.cust-risk{margin-left:5px;cursor:default;font-size:13px}
.cust-xsell{background:rgba(52,211,153,.12);border:1px solid rgba(52,211,153,.4);color:#34d399;border-radius:8px;padding:4px 10px;font-size:11.5px;font-weight:800;cursor:pointer;font-family:inherit;white-space:nowrap}
.cust-xsell:hover{background:rgba(52,211,153,.24)}
.cust-acts{text-align:right;white-space:nowrap}
.cust-acts .cx-mini{width:30px;height:30px;font-size:13px;display:inline-flex;align-items:center;justify-content:center;vertical-align:middle;margin-left:3px}
.cust-acts .btn.small{margin-left:6px;vertical-align:middle}
.cust-table [data-tip]{position:relative}
.cust-table [data-tip]:hover::after{content:attr(data-tip);position:absolute;bottom:calc(100% + 7px);left:50%;transform:translateX(-50%);background:#16325c;color:#fff;font-size:11px;font-weight:600;padding:5px 9px;border-radius:7px;z-index:60;pointer-events:none;box-shadow:0 6px 18px rgba(0,0,0,.3);width:max-content;max-width:230px;white-space:normal;text-align:center;line-height:1.35}
.cust-table [data-tip]:hover::before{content:"";position:absolute;bottom:calc(100% + 3px);left:50%;transform:translateX(-50%);border:4px solid transparent;border-top-color:#16325c;z-index:60;pointer-events:none}

.overlay .panel .pf-acad{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:2px 0 16px}
.overlay .panel .pf-acad-c{background:#f4f7fb;border:1px solid #e2e8f0;border-radius:12px;padding:13px 15px}
.overlay .panel .pf-acad-h{font-size:12px;font-weight:800;color:#475569;margin-bottom:8px}
.overlay .panel .pf-acad-big{font-size:24px;font-weight:800;color:#16325c;line-height:1}
.overlay .panel .pf-acad-sub{font-size:11.5px;color:#334155;margin-top:6px;line-height:1.4}
.overlay .panel .pf-acad-empty{font-size:12px;color:#94a3b8;padding:6px 0}
.overlay .panel .pf-acad .mp-bar{margin:8px 0 0;height:8px;background:#e2e8f0;border-radius:999px;overflow:hidden}
.overlay .panel .pf-acad .mp-bar i{display:block;height:100%;background:linear-gradient(90deg,rgb(var(--accent)),#2563eb)}
.overlay .panel .pf-acad-mocks{display:flex;flex-wrap:wrap;gap:6px}
.overlay .panel .pf-mockchip{background:#fff;border:1px solid #dbe3ee;border-radius:8px;padding:3px 9px;font-size:12px;color:#334155;font-weight:600}
.overlay .panel .pf-mockchip b{color:#0369a1;font-weight:800}
@media(max-width:700px){.overlay .panel .pf-acad{grid-template-columns:1fr}}

.overlay .panel .pf-msg-full{margin:6px 0 2px}
.overlay .panel .pf-msg-full .pf-msg-edit{min-height:130px;margin-bottom:0;width:100%}

.overlay .panel .pf-col-l .pf-acad{grid-template-columns:1fr;gap:10px;margin:0 0 12px}
.overlay .panel .pf-col-l .pf-acad-c{padding:10px 13px}
.overlay .panel .pf-col-l .pf-acad-big{font-size:20px}

.stu-table .row-acts [data-tip],.stu-table .name-col [data-tip]{position:relative}
.stu-table [data-tip]:hover::after{content:attr(data-tip);position:absolute;bottom:calc(100% + 8px);background:#0b1424;color:#fff;font-size:11px;font-weight:700;padding:5px 10px;border-radius:8px;white-space:nowrap;z-index:80;pointer-events:none;box-shadow:0 10px 26px rgba(0,0,0,.55);border:1px solid rgba(255,255,255,.14)}
.stu-table [data-tip]:hover::before{content:"";position:absolute;bottom:calc(100% + 3px);border:5px solid transparent;border-top-color:#0b1424;z-index:80;pointer-events:none}
.stu-table .name-col [data-tip]:hover::after{left:0}
.stu-table .name-col [data-tip]:hover::before{left:14px}
.stu-table .row-acts [data-tip]:hover::after{right:0}
.stu-table .row-acts [data-tip]:hover::before{right:8px}

.mb-fbar{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 4px}
.mb-fchip{display:inline-flex;align-items:center;gap:6px;background:rgba(127,127,127,.07);border:1px solid var(--bord);border-radius:999px;padding:6px 13px;font-size:12.5px;font-weight:700;color:var(--txt);cursor:pointer;font-family:inherit}
.mb-fchip b{background:rgba(127,127,127,.16);border-radius:999px;padding:0 7px;font-size:11px;color:var(--mut);font-weight:800}
.mb-fchip:hover{border-color:rgb(var(--accent))}
.mb-fchip.on{background:#2563eb;border-color:#2563eb;color:#fff}
.mb-fchip.on b{background:rgba(255,255,255,.25);color:#fff}
.mb-fchip-act{border-color:rgba(251,191,36,.55)}
.mb-fchip-act b{background:rgba(251,191,36,.22);color:#fbbf24}
.mb-fchip-act.on b{background:rgba(255,255,255,.25);color:#fff}
.mb-bulkbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;background:rgba(var(--accent),.1);border:1px solid rgba(var(--accent),.35);border-radius:12px;padding:9px 13px;margin:10px 0}
.mb-bulk-hint{font-size:12px;color:var(--mut)}
.mb-hint{font-size:11px;color:#8aa0b6;margin-top:4px;font-weight:600}

.stu-table .row-acts{display:table-cell;text-align:right;vertical-align:middle;white-space:nowrap}
.stu-table .ra-in{display:inline-flex;gap:6px;align-items:center;justify-content:flex-end}

.xs-meta{font-size:12px;color:var(--mut);margin:2px 0 4px;font-weight:600}
.xs-seatmap{display:flex;flex-wrap:wrap;gap:3px;margin:8px 0 7px}
.xs-seat{width:9px;height:9px;border-radius:2px;background:rgba(127,127,127,.22)}
.xs-seat.on{background:rgb(var(--accent))}
.xs-low .xs-seat.on{background:#fbbf24}
.xs-full .xs-seat.on{background:#fb7185}
.xs-seat-more{font-size:10px;color:var(--mut);font-weight:700;margin-left:3px;line-height:9px}

.cust-badges{display:flex;align-items:center;gap:6px;margin:4px 0 2px;flex-wrap:wrap}
.cust-badges .cust-tier{margin-left:0}

.overlay .panel .cust-dname{color:#16325c}
.overlay .panel .cust-sub{color:#5c6b80}
.overlay .panel .cust-dsec{color:#64748b}
.overlay .panel .cust-dstat{background:#f4f7fb;border-color:#e2e8f0}
.overlay .panel .cust-dstat .v{color:#16325c}
.overlay .panel .cust-dstat .l{color:#64748b}
.overlay .panel .cust-dstat.is-due .v{color:#d97706}
.overlay .panel .cust-ord{background:#f4f7fb;border-color:#e2e8f0}
.overlay .panel .cust-ord-it{color:#16325c}
.overlay .panel .cust-ord-amt{color:#16325c}
.overlay .panel .cust-mut{color:#64748b}
.overlay .panel .cust-link{background:#eef2f8;border-color:#dde5f0;color:#16325c}
.overlay .panel .cust-link:hover{background:#e0e8f2}

.xs-unassigned{opacity:.65;font-style:italic}
.overlay .panel .ci-head{font-size:12.5px;color:#5c6b80;font-weight:600;margin:2px 0 10px}
.overlay .panel .ci-sum{display:flex;gap:14px;flex-wrap:wrap;font-size:12.5px;font-weight:700;margin-bottom:6px}
.overlay .panel .ci-s-p{color:#059669}.overlay .panel .ci-s-w{color:#d97706}.overlay .panel .ci-s-n{color:#e11d48}
.overlay .panel .ci-list{display:flex;flex-direction:column;gap:8px;max-height:56vh;overflow-y:auto}
.overlay .panel .ci-row{display:flex;align-items:center;gap:12px;background:#f4f7fb;border:1px solid #e2e8f0;border-radius:10px;padding:9px 12px;flex-wrap:wrap}
.overlay .panel .ci-main{flex:1;min-width:150px;display:flex;flex-direction:column}
.overlay .panel .ci-main b{color:#16325c;font-size:14px}
.overlay .panel .ci-sub{color:#5c6b80;font-size:12px}
.overlay .panel .ci-spk{display:inline-flex;align-items:center;gap:5px;font-size:12px;color:#5c6b80}
.overlay .panel .ci-spktime{border:1px solid #cbd5e1;border-radius:8px;padding:4px 7px;font-family:inherit;font-size:12.5px;color:#16325c;background:#fff}
.overlay .panel .ci-acts{display:flex;gap:6px;flex:0 0 auto}
.overlay .panel .ci-tg{border:1px solid #cbd5e1;background:#fff;color:#475569;border-radius:8px;padding:6px 12px;font-size:12.5px;font-weight:700;cursor:pointer;font-family:inherit}
.overlay .panel .ci-pres.on{background:#059669;border-color:#059669;color:#fff}
.overlay .panel .ci-abs.on{background:#e11d48;border-color:#e11d48;color:#fff}
.overlay .panel .ci-pres:hover{border-color:#059669}.overlay .panel .ci-abs:hover{border-color:#e11d48}
.overlay .panel .ci-locked{font-size:12px;font-weight:700;color:#059669}

.mb-sla{font-size:10.5px;font-weight:800;border-radius:6px;padding:1px 6px;margin-left:4px;white-space:nowrap}
.mb-sla-ok{background:rgba(127,127,127,.16);color:var(--mut)}
.mb-sla-due{background:rgba(251,191,36,.2);color:#fbbf24}
.mb-sla-overdue{background:rgba(251,113,133,.2);color:#fb7185}
.trf-target{margin-top:8px;font-size:12.5px;color:#16325c;font-weight:600;text-align:center}

.mc2-wrap{margin-top:8px;width:100%} 
.mc2-nav{display:flex;align-items:center;gap:12px;margin-bottom:14px}
.mc2-navbtn{width:34px;height:34px;border-radius:10px;border:1px solid var(--bord);background:rgba(127,127,127,.06);color:var(--txt);font-size:18px;cursor:pointer;font-family:inherit;line-height:1}
.mc2-navbtn:hover{border-color:rgb(var(--accent));background:rgba(var(--accent),.1)}
.mc2-title{font-family:Sora,sans-serif;font-weight:800;font-size:19px;min-width:170px;text-align:center}
.mc2-hint{font-size:12px;color:var(--mut);margin-left:auto}
.mc2-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px}
.mc2-head{margin-bottom:7px}
.mc2-dow{text-align:center;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--mut);padding:4px 0}
.mc2-cell{min-height:98px;background:rgba(127,127,127,.05);border:1px solid var(--bord);border-radius:12px;padding:7px;cursor:pointer;transition:.12s;display:flex;flex-direction:column;gap:5px}
.mc2-cell:hover{border-color:rgb(var(--accent));background:rgba(var(--accent),.07);transform:translateY(-1px)}
.mc2-empty{background:none;border:0;cursor:default}.mc2-empty:hover{transform:none}
.mc2-past{opacity:.55}
.mc2-today{border-color:rgb(var(--accent));box-shadow:inset 0 0 0 1px rgb(var(--accent))}
.mc2-dnum{display:flex;align-items:center;justify-content:space-between;font-size:13px;font-weight:700;color:var(--txt)}
.mc2-tot{background:#2563eb;color:#fff;font-size:10px;font-weight:800;border-radius:999px;min-width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;padding:0 5px}
.mc2-slots{display:flex;flex-direction:column;gap:3px}
.mc2-slot{display:flex;align-items:center;justify-content:space-between;font-size:10.5px;font-weight:700;border-radius:5px;padding:2px 7px;color:var(--mut);background:rgba(127,127,127,.1)}
.mc2-slot b{font-weight:800;margin-left:6px}
.mc2-slot.mc2-some{background:rgba(var(--accent),.18);color:#7dd3fc}
.mc2-slot.mc2-full{background:rgba(251,113,133,.18);color:#fda4af}
.mc2-legend{display:flex;gap:16px;margin-top:12px;font-size:11.5px;color:var(--mut)}
.mc2-legend i{width:11px;height:11px;border-radius:3px;display:inline-block;margin-right:5px;vertical-align:-1px}
.mc2-legend .mc2-zero{background:rgba(127,127,127,.3)}.mc2-legend .mc2-some{background:rgb(var(--accent))}.mc2-legend .mc2-full{background:#fb7185}
.overlay .panel .md2-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.overlay .panel .md2-slot{background:#f4f7fb;border:1px solid #e2e8f0;border-radius:12px;padding:12px;display:flex;flex-direction:column;gap:9px}
.overlay .panel .md2-slot-h{display:flex;align-items:center;justify-content:space-between}
.overlay .panel .md2-slot-t b{color:#16325c;font-size:15px}
.overlay .panel .md2-time{color:#5c6b80;font-size:12px;font-weight:600}
.overlay .panel .md2-seats{font-size:12px;font-weight:800;color:#0369a1;background:#e0f2fe;border-radius:999px;padding:2px 9px}
.overlay .panel .md2-seats.md2-full{color:#e11d48;background:#fee2e2}
.overlay .panel .md2-list{display:flex;flex-direction:column;gap:6px;min-height:38px;max-height:200px;overflow-y:auto}
.overlay .panel .md2-stu{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:12.5px}
.overlay .panel .md2-stu-n{color:#16325c;font-weight:600}
.overlay .panel .md2-stu-n small{color:#5c6b80;font-weight:500}
.overlay .panel .md2-empty{color:#94a3b8;font-size:12px;padding:6px 0;text-align:center}
.overlay .panel .md2-add{width:100%}
@media(max-width:640px){.overlay .panel .md2-grid{grid-template-columns:1fr}}

.overlay .panel .md2-grid{align-items:stretch}
.overlay .panel .md2-slot{background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;padding:13px}
.overlay .panel .md2-bar{height:6px;background:#e2e8f0;border-radius:999px;overflow:hidden;margin:2px 0}
.overlay .panel .md2-bar i{display:block;height:100%;background:linear-gradient(90deg,rgb(var(--accent)),#2563eb);border-radius:999px}
.overlay .panel .md2-bar i.md2-bar-full{background:#fb7185}
.overlay .panel .md2-pendline{font-size:11px;font-weight:700;color:#b45309;background:#fef3c7;border-radius:7px;padding:3px 8px}
.overlay .panel .md2-list{flex:1 1 auto;min-height:48px}
.overlay .panel .md2-stu{background:#fff;border:1px solid #eef2f7;border-radius:9px;padding:6px 9px}
.overlay .panel .md2-stu-n{display:flex;flex-direction:column;line-height:1.3;min-width:0}
.overlay .panel .md2-stu-n small{color:#64748b;font-weight:500;font-size:10.5px}
.overlay .panel .md2-add{width:100%;margin-top:auto}
.overlay .panel .md2-req{display:inline-flex;gap:5px;flex:0 0 auto}
.overlay .panel .md2-ok,.overlay .panel .md2-no{width:26px;height:26px;border-radius:8px;border:1px solid #cbd5e1;background:#fff;cursor:pointer;font-size:13px;font-weight:800;line-height:1;display:inline-flex;align-items:center;justify-content:center}
.overlay .panel .md2-ok{color:#059669;border-color:#a7f3d0}.overlay .panel .md2-ok:hover{background:#059669;color:#fff}
.overlay .panel .md2-no{color:#e11d48;border-color:#fecaca}.overlay .panel .md2-no:hover{background:#e11d48;color:#fff}
.overlay .panel .mb-pill.mb-ok{background:#dcfce7;color:#15803d}
.overlay .panel .mb-pill.mb-pend{background:#fef3c7;color:#b45309}
.overlay .panel .mb-pill.mb-no{background:#fee2e2;color:#b91c1c}

.mc2-badges{display:inline-flex;gap:4px;align-items:center}
.mc2-pend{background:#f59e0b;color:#16325c;font-size:10px;font-weight:800;border-radius:999px;min-width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;padding:0 5px}

.ma-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:6px}
.ma-card{padding:16px 18px}
.ma-h{font-family:Sora,sans-serif;font-weight:800;font-size:15px;margin-bottom:3px}
.ma-sub{font-size:12px;color:var(--mut);margin-bottom:10px}
.ma-bands{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:6px 0 12px}
.ma-band{text-align:center}
.ma-band-n{font-family:Sora;font-size:22px;font-weight:800}
.ma-band-bar{height:6px;background:rgba(127,127,127,.18);border-radius:999px;overflow:hidden;margin:5px 0}
.ma-band-bar i{display:block;height:100%;background:linear-gradient(90deg,rgb(var(--accent)),#2563eb)}
.ma-band-l{font-size:11px;color:var(--mut);font-weight:600}
.ma-weak .ma-band-n{color:#fb7185}.ma-weak .ma-band-bar i{background:#fb7185}
.ma-focus{font-size:12.5px;color:var(--txt);background:rgba(127,127,127,.06);border:1px solid var(--bord);border-radius:10px;padding:9px 12px}
.ma-kpis2{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.ma-k{background:rgba(127,127,127,.06);border:1px solid var(--bord);border-radius:10px;padding:10px;text-align:center}
.ma-k b{font-family:Sora;font-size:19px;font-weight:800;display:block}
.ma-k span{font-size:11px;color:var(--mut)}
.ma-util{display:flex;flex-direction:column;gap:8px}
.ma-util-row{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr) 56px;align-items:center;gap:12px;font-size:12.5px}
.ma-util-l{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ma-ns{color:#fb7185;font-weight:700;font-size:11px;margin-left:4px}
.ma-util-bar{height:8px;background:rgba(127,127,127,.16);border-radius:999px;overflow:hidden}
.ma-util-bar i{display:block;height:100%;background:linear-gradient(90deg,rgb(var(--accent)),#2563eb);border-radius:999px}
.ma-util-bar i.ma-uh{background:#fbbf24}.ma-util-bar i.ma-uf{background:#fb7185}
.ma-util-r{font-weight:700;white-space:nowrap;text-align:right}
.ma-empty{color:var(--mut);font-size:12.5px;padding:14px 0;text-align:center}
@media(max-width:760px){.ma-grid{grid-template-columns:1fr}}

.overlay .panel .md2-act{background:#2563eb;color:#fff;border:0;border-radius:8px;padding:5px 11px;font-size:11.5px;font-weight:800;cursor:pointer;font-family:inherit;white-space:nowrap}
.overlay .panel .md2-act:hover{background:#1d4ed8}
.overlay .panel .md2-act-g{background:#fff;color:#0369a1;border:1px solid #bae6fd}
.overlay .panel .md2-act-g:hover{background:#e0f2fe}

.overlay .panel .md2-slot-r{display:flex;align-items:center;gap:7px}
.overlay .panel .md2-print{background:none;border:0;cursor:pointer;font-size:15px;opacity:.7;padding:0;line-height:1}
.overlay .panel .md2-print:hover{opacity:1}
.overlay .panel .md2-acts{display:inline-flex;gap:4px;align-items:center;flex:0 0 auto}
.overlay .panel .md2-mini{width:26px;height:26px;border-radius:8px;border:1px solid #cbd5e1;background:#fff;cursor:pointer;font-size:12px;font-weight:800;line-height:1;display:inline-flex;align-items:center;justify-content:center;color:#334155}
.overlay .panel .md2-mini:hover{border-color:#2563eb;background:#eff6ff}
.overlay .panel .md2-mini.md2-ok{color:#059669;border-color:#a7f3d0}.overlay .panel .md2-mini.md2-ok:hover{background:#059669;color:#fff}
.overlay .panel .md2-mini.md2-x{color:#e11d48;border-color:#fecaca}.overlay .panel .md2-mini.md2-x:hover{background:#e11d48;color:#fff}
.overlay .panel .md2-wait{margin-top:8px;border-top:1px dashed #dbe3ee;padding-top:8px;display:flex;flex-direction:column;gap:6px}
.overlay .panel .md2-wait-h{font-size:11px;font-weight:800;color:#b45309;text-transform:uppercase;letter-spacing:.04em}
.overlay .panel .md2-stu-w{opacity:.85}

.overlay .panel .md2-labline{font-size:11px;color:#5c6b80;font-weight:600;margin:1px 0}
.overlay .panel .md2-taken{color:#b45309;font-weight:700}
.overlay .panel .md2-invrow{margin:1px 0}
.overlay .panel .md2-inv{width:100%;border:1px solid #cbd5e1;border-radius:8px;padding:5px 8px;font-family:inherit;font-size:12px;color:#16325c;background:#fff}
.overlay .panel .md2-slot-block{opacity:.75}
.overlay .panel .md2-slot-block .md2-seats{color:#b91c1c;background:#fee2e2}

.overlay .panel .re-list{display:flex;flex-direction:column;gap:8px;max-height:44vh;overflow-y:auto}
.overlay .panel .re-row{display:flex;align-items:center;gap:12px;background:#f4f7fb;border:1px solid #e2e8f0;border-radius:10px;padding:9px 12px}
.overlay .panel .re-main{flex:1;min-width:0;display:flex;flex-direction:column}
.overlay .panel .re-main b{color:#16325c;font-size:13.5px}
.overlay .panel .re-sub{color:#5c6b80;font-size:11.5px}
.overlay .panel .re-lab{font-size:12px;color:#0369a1;font-weight:700;text-align:right}
.overlay .panel .re-lab small{display:block;color:#64748b;font-weight:500;font-size:10.5px}

.lp-overlay{position:fixed;inset:0;z-index:5000;background:var(--bg,#0a0f1c);overflow-y:auto;color:var(--txt)}
.lp-bar{position:sticky;top:0;z-index:2;display:flex;align-items:center;gap:14px;padding:15px 28px;background:rgba(10,15,28,.92);backdrop-filter:blur(8px);border-bottom:1px solid var(--bord)}
.lp-back{width:38px;height:38px;border-radius:11px;border:1px solid var(--bord);background:rgba(127,127,127,.08);color:var(--txt);font-size:18px;cursor:pointer;font-family:inherit}
.lp-back:hover{border-color:rgb(var(--accent))}
.lp-bar-t{font-family:Sora,sans-serif;font-weight:800;font-size:19px}
.lp-bar-who{margin-left:auto;color:var(--mut);font-size:13px;font-weight:600}
.lp-body{max-width:1180px;margin:0 auto;padding:22px 28px 60px;display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);gap:18px}
.lp-main,.lp-side{display:flex;flex-direction:column;gap:16px;min-width:0}
.lp-card{background:rgba(127,127,127,.05);border:1px solid var(--bord);border-radius:16px;padding:16px 18px}
.lp-card-act{border-color:rgba(251,191,36,.4);background:rgba(251,191,36,.06)}
.lp-card-h{font-family:Sora,sans-serif;font-weight:800;font-size:14.5px;margin-bottom:12px}
.lp-prob{font-size:11px;font-weight:700;color:#fbbf24;background:rgba(251,191,36,.15);border-radius:6px;padding:1px 7px;margin-left:6px}
.lp-bals{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}
.lp-bal{background:rgba(127,127,127,.06);border:1px solid var(--bord);border-radius:12px;padding:11px}
.lp-bal-n{font-family:Sora;font-size:21px;font-weight:800;line-height:1}
.lp-bal-n small{font-size:12px;color:var(--mut);font-weight:600}
.lp-bal-l{font-size:11px;color:var(--mut);font-weight:700;margin-top:2px;display:block}
.lp-bal-bar{height:5px;background:rgba(127,127,127,.18);border-radius:999px;overflow:hidden;margin:7px 0 4px}
.lp-bal-bar i{display:block;height:100%;border-radius:999px}
.lp-bal-sub{font-size:10.5px;color:var(--mut)}
.lp-summary{margin-top:12px;font-size:12.5px;color:var(--mut)}
.lp-form{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.lp-form .cx-f{display:flex;flex-direction:column;gap:4px}
.lp-form .cx-f small{font-size:11px;color:var(--mut);font-weight:600}
.lp-form input,.lp-form select{background:rgba(127,127,127,.06);border:1px solid var(--bord);border-radius:9px;padding:8px 10px;color:var(--txt);font-family:inherit;font-size:13px}
.lp-flow{font-size:11.5px;color:var(--mut);margin-top:9px}
.lp-act{display:flex;justify-content:space-between;align-items:center;gap:12px;background:rgba(127,127,127,.06);border:1px solid var(--bord);border-radius:10px;padding:9px 12px;margin-bottom:7px;flex-wrap:wrap}
.lp-sub{font-size:12px;font-weight:700;color:var(--mut);margin:6px 0}
.lp-req{background:rgba(127,127,127,.05);border:1px solid var(--bord);border-radius:11px;padding:10px 12px;margin-bottom:9px}
.lp-req-top{display:flex;align-items:center;gap:10px}
.lp-req-d{flex:1;min-width:0}
.lp-req-r{display:flex;align-items:center;gap:8px;flex:0 0 auto}
.lp-tlrow{display:flex;align-items:center;gap:3px;margin-top:8px;flex-wrap:wrap}
.lp-step{font-size:10.5px;font-weight:700;color:var(--mut);background:rgba(127,127,127,.12);border-radius:6px;padding:2px 7px}
.lp-step.done{background:rgba(52,211,153,.18);color:#34d399}
.lp-step.active{background:rgba(var(--accent),.2);color:#7dd3fc}
.lp-arr{color:var(--mut);font-size:11px}
.lp-tl-no{font-size:11px;font-weight:700;color:#fb7185}
.lp-who{display:flex;align-items:center;gap:8px;padding:6px 0;border-bottom:1px solid var(--bord);font-size:12.5px}
.lp-who:last-child{border-bottom:0}
.lp-who-n{font-weight:700;flex:1;min-width:0}
.lp-who-d{color:var(--mut);font-size:11px}
.lp-hol{display:flex;gap:10px;padding:5px 0;font-size:12.5px;border-bottom:1px solid var(--bord)}
.lp-hol:last-child{border-bottom:0}
.lp-hol-d{font-weight:800;color:#7dd3fc;min-width:54px}
.lp-pol{display:flex;flex-direction:column;gap:6px;font-size:12px;color:var(--mut)}
.lp-cancel{border-color:rgba(251,113,133,.4);color:#fb7185}
@media(max-width:820px){.lp-body{grid-template-columns:1fr}.lp-bals{grid-template-columns:repeat(2,1fr)}.lp-form{grid-template-columns:1fr}}

.btn:active:not([disabled]):not(.disabled){transform:translateY(0) scale(.97)}
a,button,select,.cx-row,.cust-row,.lz-seg,.cx-chip,.mb-fchip,.side-item,.sf-tab,.cx-subtab,.mb-vt,.lz-seg{transition:background .15s ease,border-color .15s ease,transform .12s ease,box-shadow .15s ease,color .15s ease}
.sf-card{transition:border-color .15s ease,box-shadow .2s ease,transform .12s ease}
.stat-link:hover,.note-link:hover{transform:translateY(-1px)}
:focus-visible{outline:2px solid rgb(var(--accent));outline-offset:2px}
.btn:focus-visible,.side-item:focus-visible,.mb-vt:focus-visible{outline-offset:3px;border-radius:10px}
@keyframes kpiPop{from{opacity:0;transform:translateY(7px) scale(.985)}to{opacity:1;transform:none}}
.stat,.sf-kpi,.lp-bal{animation:kpiPop .34s cubic-bezier(.22,1,.36,1) both}
*::-webkit-scrollbar{width:10px;height:10px}
*::-webkit-scrollbar-thumb{background:rgba(127,127,127,.28);border-radius:8px;border:2px solid transparent;background-clip:padding-box}
*::-webkit-scrollbar-thumb:hover{background:rgba(127,127,127,.45);background-clip:padding-box}
*::-webkit-scrollbar-track{background:transparent}

.empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;text-align:center;color:var(--mut);background:rgba(127,127,127,.04);border:1px dashed var(--bord);border-radius:14px;padding:30px 20px;font-size:13.5px;line-height:1.5}
.empty-state{display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;padding:38px 20px;color:var(--mut)}
.empty-state .es-ic{font-size:34px;opacity:.9}
.empty-state .es-t{font-size:15px;font-weight:800;color:var(--txt)}
.empty-state .es-s{font-size:12.5px;max-width:360px;line-height:1.5}

.top-left{display:flex;align-items:center;gap:10px}
.tb-icon{width:38px;height:38px;border-radius:11px;border:1px solid var(--bord);background:rgba(127,127,127,.06);color:var(--txt);font-size:15px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;position:relative;font-family:inherit}
.tb-icon:hover{border-color:rgb(var(--accent));background:rgba(var(--accent),.1)}
.tb-badge{position:absolute;top:-4px;right:-4px;min-width:16px;height:16px;border-radius:999px;background:#fb7185;color:#fff;font-size:9.5px;font-weight:800;display:flex;align-items:center;justify-content:center;padding:0 4px;border:2px solid #0a0f1c}
.cmdpal-ov{position:fixed;inset:0;z-index:7000;background:rgba(8,12,22,.55);backdrop-filter:blur(3px);display:flex;justify-content:center;align-items:flex-start;padding-top:11vh}
.cmdpal{width:min(640px,92vw);background:#0e1730;border:1px solid rgba(255,255,255,.14);border-radius:16px;box-shadow:0 30px 80px rgba(0,0,0,.6);overflow:hidden}
.cmdpal-in{display:flex;align-items:center;gap:10px;padding:14px 16px;border-bottom:1px solid rgba(255,255,255,.1)}
.cmdpal-ic{font-size:16px;opacity:.7}
#cmdpal-q{flex:1;background:none;border:0;outline:none;color:#eaf4ff;font-size:15px;font-family:inherit}
.cmdpal-esc{font-size:10px;font-weight:700;color:var(--mut);border:1px solid var(--bord);border-radius:6px;padding:2px 6px}
.cmdpal-list{max-height:52vh;overflow-y:auto;padding:6px}
.cmdpal-it{display:flex;align-items:center;gap:12px;width:100%;text-align:left;background:none;border:0;border-radius:10px;padding:9px 12px;cursor:pointer;font-family:inherit;color:#eaf4ff}
.cmdpal-it.on{background:rgba(var(--accent),.16)}
.cmdpal-it-ic{font-size:15px;width:22px;text-align:center;flex:0 0 auto}
.cmdpal-it-m{flex:1;min-width:0;display:flex;flex-direction:column}
.cmdpal-it-l{font-size:13.5px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cmdpal-it-s{font-size:11px;color:var(--mut);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cmdpal-it-k{font-size:10px;font-weight:700;color:var(--mut);background:rgba(127,127,127,.16);border-radius:6px;padding:2px 7px;flex:0 0 auto}
.cmdpal-empty{padding:22px;text-align:center;color:var(--mut);font-size:13px}
.notif-panel{position:absolute;top:48px;right:0;width:310px;background:#0e1730;border:1px solid rgba(255,255,255,.14);border-radius:14px;box-shadow:0 22px 60px rgba(0,0,0,.5);z-index:6500;overflow:hidden}
.notif-h{font-size:11px;font-weight:800;color:var(--mut);padding:12px 14px 6px;text-transform:uppercase;letter-spacing:.05em}
.notif-it{display:flex;align-items:center;gap:10px;width:100%;text-align:left;background:none;border:0;padding:10px 14px;cursor:pointer;font-family:inherit;color:#eaf4ff;font-size:12.5px;border-top:1px solid rgba(255,255,255,.05)}
.notif-it:hover{background:rgba(var(--accent),.1)}
.notif-it-ic{font-size:15px;flex:0 0 auto}
.notif-it>span:nth-child(2){flex:1;min-width:0}
.notif-it-go{color:var(--mut);font-weight:800}
.notif-empty{padding:24px 16px;text-align:center;color:var(--mut);font-size:12.5px}

.cc-card{background:rgba(var(--accent),.06);border:1px solid rgba(var(--accent),.3);border-radius:16px;padding:16px 18px;margin:14px 0}
.cc-h{font-family:Sora,sans-serif;font-weight:800;font-size:15px;margin-bottom:12px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.cc-sub{font-size:12px;font-weight:600;color:var(--mut)}
.cc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(155px,1fr));gap:10px}
.cc-tile{display:flex;flex-direction:column;gap:3px;text-align:left;background:rgba(127,127,127,.06);border:1px solid var(--bord);border-radius:12px;padding:12px 14px;cursor:pointer;font-family:inherit;color:var(--txt);transition:.12s}
.cc-tile:hover{border-color:rgb(var(--accent));background:rgba(var(--accent),.1);transform:translateY(-1px)}
.cc-tile-n{font-family:Sora,sans-serif;font-size:24px;font-weight:800;color:#7dd3fc}
.cc-tile-l{font-size:12px;color:var(--mut);font-weight:600}
.cc-clear{color:var(--mut);font-size:13px;padding:8px 2px}
.cc-dues{margin-top:12px;font-size:12.5px;color:var(--mut)}

.ex-kpis{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;margin:14px 0}
.ex-kpi{background:rgba(127,127,127,.05);border:1px solid var(--bord);border-radius:14px;padding:13px 15px;animation:kpiPop .34s cubic-bezier(.22,1,.36,1) both}
.ex-kpi-ic{font-size:17px;margin-bottom:4px}
.ex-kpi-v{font-family:Sora,sans-serif;font-size:21px;font-weight:800;color:var(--txt);line-height:1}
.ex-kpi-l{font-size:11px;color:var(--mut);margin-top:3px;font-weight:600}
.ex-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:14px 0}
.ex-card{padding:16px 18px}
.ex-h{font-family:Sora,sans-serif;font-weight:800;font-size:14.5px;margin-bottom:12px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.ex-hsub{font-size:11.5px;font-weight:600;color:var(--mut)}
.ex-pipe{display:flex;flex-direction:column;gap:8px}
.ex-pipe-row{display:grid;grid-template-columns:78px 1fr 34px;align-items:center;gap:10px;font-size:12.5px}
.ex-pipe-l{color:var(--mut);font-weight:600}
.ex-pipe-bar{height:8px;background:rgba(127,127,127,.16);border-radius:999px;overflow:hidden}
.ex-pipe-bar i{display:block;height:100%;border-radius:999px}
.ex-pipe-n{text-align:right;font-weight:800}
.ex-reps{display:flex;flex-direction:column;gap:8px}
.ex-rep{display:flex;align-items:center;gap:10px;font-size:13px}
.ex-rep-r{width:20px;height:20px;border-radius:6px;background:rgba(var(--accent),.16);color:#7dd3fc;font-size:11px;font-weight:800;display:flex;align-items:center;justify-content:center;flex:0 0 auto}
.ex-rep-n{flex:1;min-width:0;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ex-rep-v{font-weight:800;color:#34d399}
.ex-sub2{font-size:11px;color:var(--mut);font-weight:700;text-transform:uppercase;letter-spacing:.04em;margin-bottom:7px}
.ex-sessions{display:flex;gap:8px;margin-bottom:12px}
.ex-sess{flex:1;background:rgba(127,127,127,.06);border:1px solid var(--bord);border-radius:10px;padding:9px;text-align:center}
.ex-sess b{display:block;font-size:13px}
.ex-sess small{display:block;font-size:10px;color:var(--mut)}
.ex-sess-n{display:block;font-family:Sora,sans-serif;font-size:18px;font-weight:800;color:#7dd3fc;margin-top:3px}
.ex-today-row{font-size:12.5px;color:var(--mut);padding:4px 0}
.ex-today-row b{color:var(--txt)}
.ex-health{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.ex-hm{background:rgba(127,127,127,.06);border:1px solid var(--bord);border-radius:10px;padding:11px;text-align:center}
.ex-hm span{font-family:Sora,sans-serif;font-size:19px;font-weight:800;display:block}
.ex-hm small{font-size:10.5px;color:var(--mut)}
.ex-hm.ex-warn span{color:#fb7185}
@media(max-width:1000px){.ex-kpis{grid-template-columns:repeat(3,1fr)}.ex-grid{grid-template-columns:1fr}}
@media(max-width:620px){.ex-kpis{grid-template-columns:repeat(2,1fr)}.ex-health{grid-template-columns:repeat(2,1fr)}}

body.acc-violet{--accent:167,139,250;--accent2:236,72,153}
body.acc-emerald{--accent:16,185,129;--accent2:34,211,238}
body.acc-amber{--accent:245,158,11;--accent2:251,113,133}
body.acc-rose{--accent:244,63,94;--accent2:167,139,250}
body.acc-sky{--accent:56,189,248;--accent2:14,165,233}
.acc-lbl{font-size:11px;color:var(--mut);font-weight:700;margin-right:2px}
.acc-swatches{display:inline-flex;gap:6px;align-items:center;margin-right:12px}
.acc-sw{width:18px;height:18px;border-radius:6px;cursor:pointer;border:2px solid transparent;transition:transform .15s,border-color .15s;padding:0}
.acc-sw:hover{transform:translateY(-1px)}
.acc-sw.on{border-color:var(--txt)}
.acc-sw-cyan{background:linear-gradient(135deg,#22d3ee,#a78bfa)}
.acc-sw-violet{background:linear-gradient(135deg,#a78bfa,#ec4899)}
.acc-sw-emerald{background:linear-gradient(135deg,#10b981,#22d3ee)}
.acc-sw-amber{background:linear-gradient(135deg,#f59e0b,#fb7185)}
.acc-sw-rose{background:linear-gradient(135deg,#f43f5e,#a78bfa)}
.acc-sw-sky{background:linear-gradient(135deg,#38bdf8,#0ea5e9)}

@keyframes rvdraw{from{stroke-dashoffset:330}to{stroke-dashoffset:0}}
.rv-ring-fg{animation:rvdraw 1.1s cubic-bezier(.2,.9,.3,1) both}
@keyframes lz-grow{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.ex-pipe-bar i,.fn-bar i,.sd-bar i,.bar-fill{transform-origin:left;animation:lz-grow .85s cubic-bezier(.2,.9,.3,1)}
@keyframes lz-rise{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:none}}
.ex-kpi,.rv-hero,.ex-card{animation:lz-rise .42s ease both}
@media(prefers-reduced-motion:reduce){.rv-ring-fg,.ex-pipe-bar i,.fn-bar i,.sd-bar i,.bar-fill,.ex-kpi,.rv-hero,.ex-card{animation:none!important}}

.mc2-heat{display:inline-flex;align-items:center;gap:5px;font-size:11px;color:var(--mut);margin-left:14px}
.mc2-heat i{width:13px;height:13px;border-radius:4px;display:inline-block}
.um-acc{display:flex;align-items:center;gap:10px}
.um-acc .acc-swatches{margin-left:auto;margin-right:0;display:inline-flex!important;gap:7px;align-items:center}
.um-acc .acc-sw{display:inline-block!important;width:18px!important;height:18px!important;border-radius:6px!important;padding:0!important;border:2px solid transparent;box-shadow:0 0 0 1px rgba(255,255,255,.14);flex:0 0 auto;cursor:pointer}
.um-acc .acc-sw.on{border-color:#fff!important;box-shadow:0 0 0 2px rgba(var(--accent),.6)!important}
.um-acc .acc-sw-cyan{background:linear-gradient(135deg,#22d3ee,#a78bfa)!important}
.um-acc .acc-sw-violet{background:linear-gradient(135deg,#a78bfa,#ec4899)!important}
.um-acc .acc-sw-emerald{background:linear-gradient(135deg,#10b981,#22d3ee)!important}
.um-acc .acc-sw-amber{background:linear-gradient(135deg,#f59e0b,#fb7185)!important}
.um-acc .acc-sw-rose{background:linear-gradient(135deg,#f43f5e,#a78bfa)!important}
.um-acc .acc-sw-sky{background:linear-gradient(135deg,#38bdf8,#0ea5e9)!important}

.overlay{background:rgba(6,9,17,.66);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.overlay .panel{background:#0e1526;color:var(--txt);border:1px solid var(--bord2);box-shadow:0 40px 90px rgba(0,0,0,.6)}
.overlay .panel h2,.overlay .panel h3,.overlay .panel h4{color:var(--txt)}
.overlay .panel p,.overlay .panel .cred-meta,.overlay .panel p.sc-intro,.overlay .panel p.sc-note,.overlay .panel .sc-status{color:var(--mut)}
.overlay .panel .field label,.overlay .panel label,.overlay .panel .tgl{color:var(--txt)}
.overlay .panel .field input,.overlay .panel .field select,.overlay .panel input[type="text"],.overlay .panel input[type="number"],.overlay .panel input[type="email"],.overlay .panel input[type="tel"],.overlay .panel input[type="search"],.overlay .panel input[type="password"],.overlay .panel textarea,.overlay .panel select{background:rgba(255,255,255,.05);color:var(--txt);border:1px solid var(--bord2)}
.overlay .panel input::placeholder,.overlay .panel textarea::placeholder{color:var(--mut)}
.overlay .panel select option{background:#0e1526;color:var(--txt)}
.overlay .panel input[type="date"]{color-scheme:dark;background:rgba(255,255,255,.05);color:var(--txt);border:1px solid var(--bord2)}
.overlay .panel input[type="date"]:focus{border-color:rgb(var(--accent));box-shadow:0 0 0 3px rgba(var(--accent),.18)}
.overlay .panel .field input[readonly]{background:rgba(var(--accent),.1);color:rgb(var(--accent))}
.overlay .panel .seg-b,.overlay .panel .qchip{background:rgba(255,255,255,.05);color:var(--txt);border:1px solid var(--bord2)}
.overlay .panel .seg-b.active{border-color:rgb(var(--accent));background:rgba(var(--accent),.16);color:var(--txt)}
.overlay .panel .qchip.active{border-color:transparent;background:var(--grad);color:#04121f}
.overlay .panel .cred>div{background:rgba(255,255,255,.05);border:1px solid var(--bord)}
.overlay .panel .cred span{color:var(--mut)}.overlay .panel .cred b{color:var(--txt)}
.overlay .panel .note{background:rgba(251,191,36,.12);border-color:rgba(251,191,36,.3);color:#fcd34d}
.overlay .panel .play-btn.ghost{background:rgba(255,255,255,.06);border-color:var(--bord2);color:var(--txt)}
.overlay .panel .play-btn.ghost:hover{background:rgba(255,255,255,.12)}
.overlay .panel .share-row .share-email{background:rgba(var(--accent),.12);border-color:rgba(var(--accent),.4);color:rgb(var(--accent))}
.overlay .panel .btn{background:var(--glass2);color:var(--txt);border:1px solid var(--bord2)}
.overlay .panel .btn:hover{background:rgba(255,255,255,.12)}
.overlay .panel .btn.primary{background:var(--grad);color:#04121f;border:0}

.overlay .panel .md2-slot{background:rgba(255,255,255,.045)!important;border:1px solid var(--bord)!important}
.overlay .panel .md2-slot-t b,.overlay .panel .md2-slot-h b{color:var(--txt)!important}
.overlay .panel .md2-seats{color:var(--mut)!important;background:rgba(255,255,255,.06)!important}
.overlay .panel .md2-seats.md2-full{color:#fb7185!important;background:rgba(251,113,133,.14)!important}
.overlay .panel .md2-stu{background:rgba(255,255,255,.05)!important;border:1px solid var(--bord)!important;color:var(--txt)}
.overlay .panel .md2-ok,.overlay .panel .md2-no{background:rgba(255,255,255,.05)!important}
.overlay .panel .md2-ok{color:#34d399!important;border-color:rgba(52,211,153,.4)!important}
.overlay .panel .md2-ok:hover{background:#34d399!important;color:#04121f!important}
.overlay .panel .md2-no{color:#fb7185!important;border-color:rgba(251,113,133,.4)!important}
.overlay .panel .md2-no:hover{background:#fb7185!important;color:#04121f!important}
.overlay .panel .md2-pendline{color:#fcd34d!important;background:rgba(251,191,36,.14)!important}
.overlay .panel .md2-act{background:var(--grad)!important;color:#04121f!important}
.overlay .panel .md2-slot-block .md2-seats{color:#fb7185!important;background:rgba(251,113,133,.14)!important}

.btn.primary{color:#04121f}

.overlay .panel .cx-cr,.overlay .panel .cx-mini,.overlay .panel .cx-edit,.overlay .panel .cx-add,.overlay .panel .cx-cr-acts .cx-add,.overlay .panel .cx-sp,.overlay .panel .cx-f,.overlay .panel .cx-fields .cx-f,.overlay .panel .cx-refac,.overlay .panel .cx-stagew,.overlay .panel .cx-invw,.overlay .panel .cx-invw-row,.overlay .panel .cx-summary,.overlay .panel .cx-sum-act,.overlay .panel .cx-cbtn,.overlay .panel .cx-metab,.overlay .panel .cx-fact,.overlay .panel .cx-nba,.overlay .panel .lc-log,.overlay .panel .lc-suggest-facts .lsf,.overlay .panel .pf-acad-c,.overlay .panel .pf-skill,.overlay .panel .pf-tile,.overlay .panel .pf-b2,.overlay .panel .pf-msg,.overlay .panel .pf-mockchip,.overlay .panel .cust-dstat,.overlay .panel .cust-fi,.overlay .panel .cust-link,.overlay .panel .cust-ord,.overlay .panel .cust-sell-q,.overlay .panel .ci-row,.overlay .panel .ci-tg,.overlay .panel .ci-spktime,.overlay .panel .mb-exam,.overlay .panel .md2-inv,.overlay .panel .md2-mini,.overlay .panel .re-row,.overlay .panel .inv-q,.overlay .panel .lv-act,.overlay .panel .notes-area{
  background:rgba(255,255,255,.05)!important;border-color:var(--bord2)!important;color:var(--txt)!important}

.overlay .panel .cx-cr,.overlay .panel .cx-mini,.overlay .panel .cx-edit,.overlay .panel .cx-sp,.overlay .panel .cx-head .cx-ph,.overlay .panel .cx-stagew-h,.overlay .panel .cx-invw-h,.overlay .panel .cx-invw-no,.overlay .panel .cx-invw-amt,.overlay .panel .cx-cbtn-1l,.overlay .panel .lc-log-h,.overlay .panel .cx-metab,.overlay .panel .pf-acad-h,.overlay .panel .pf-acad-big,.overlay .panel .pf-acad-sub,.overlay .panel .pf-sl,.overlay .panel .pf-l,.overlay .panel .pf-b2l,.overlay .panel .pf-ap-h,.overlay .panel .pf-msg,.overlay .panel .pf-mockchip,.overlay .panel .pf-b2.goal .pf-b2n,.overlay .panel .cust-ord,.overlay .panel .cust-fi{color:var(--txt)!important}
.overlay .panel .cx-metab,.overlay .panel .cx-fact,.overlay .panel .pf-band-l,.overlay .panel .cx-cr .cx-mut{color:var(--mut)!important}

.overlay .panel .cx-log select,.overlay .panel .cx-log input,.overlay .panel .cx-log textarea,.overlay .panel .cx-f input,.overlay .panel .pf-msg-edit,.overlay .panel .lv-form input,.overlay .panel .lv-form select,.overlay .panel .pp-dateline input[type=date],.overlay .panel .notes-area{
  background:rgba(255,255,255,.05)!important;color:var(--txt)!important;border-color:var(--bord2)!important}
.overlay .panel .cx-dt .cx-timebtn{background:rgba(var(--accent),.12)!important;border-color:rgba(var(--accent),.4)!important;color:rgb(var(--accent))!important}

.overlay .panel .cx-cbtn-call .cx-cbtn-ic{background:rgba(var(--accent),.16)!important}
.overlay .panel .cx-cbtn-email .cx-cbtn-ic{background:rgba(var(--accent2),.16)!important}

.overlay .panel .cx-deal{background:rgba(52,211,153,.12)!important;border-color:rgba(52,211,153,.35)!important;color:#34d399!important}
.overlay .panel .cx-deal b,.overlay .panel .cx-deal .g{color:#34d399!important}
.overlay .panel .lc-suggest{background:rgba(var(--accent2),.10)!important;border:1px solid rgba(var(--accent2),.3)!important}
.overlay .panel .pf-b2.now{background:rgba(var(--accent),.14)!important;border-color:rgba(var(--accent),.4)!important}
.overlay .panel .pf-b2.now .pf-b2n{color:rgb(var(--accent))!important}
.overlay .panel .lc-ro-banner{background:rgba(251,146,60,.12)!important;border-color:rgba(251,146,60,.35)!important;color:#fdba74!important}
.overlay .panel .cx-fact-due,.overlay .panel .cx-pd-due,.overlay .panel .mb-pill.mb-no{background:rgba(251,113,133,.14)!important;border-color:rgba(251,113,133,.4)!important;color:#fb7185!important}
.overlay .panel .cx-pd-paid{background:rgba(52,211,153,.14)!important;border-color:rgba(52,211,153,.4)!important;color:#34d399!important}
.overlay .panel .mb-pill.mb-pend{background:rgba(251,191,36,.14)!important;border-color:rgba(251,191,36,.4)!important;color:#fcd34d!important}

.overlay .panel .pf-ab-email,.overlay .panel .pf-ab-edit,.overlay .panel .pf-edit-top{background:rgba(255,255,255,.06)!important;color:var(--txt)!important;border-color:var(--bord2)!important}

.overlay .panel .pf-rec.course,.overlay .panel .pf-rec.exam,.overlay .panel .pf-rec.mocks,.overlay .panel .pf-rec.practice,.overlay .panel .pf-rec.renew,.overlay .panel .pf-rec.start{background:rgba(255,255,255,.05)!important;border-color:var(--bord2)!important;color:var(--txt)!important}

.overlay .panel .cust-ord b,.overlay .panel .cust-ord span{color:inherit}

.overlay .panel .cust-dstat .v,.overlay .panel .cust-ord-it,.overlay .panel .cust-ord-amt,.overlay .panel .cust-dsec{color:var(--txt)!important}
.overlay .panel .cust-dstat .l,.overlay .panel .cust-sub,.overlay .panel .cust-mut{color:var(--mut)!important}

.overlay .panel .pf-rec,.overlay .panel .pf-ap-card,.overlay .panel .pf-nudge{background:rgba(255,255,255,.05)!important;border-color:var(--bord2)!important;color:var(--txt)!important}

.overlay .panel .pf-name{color:var(--txt)!important}
.overlay .panel .pf-id,.overlay .panel .pf-band-l,.overlay .panel .pf-sl,.overlay .panel .pf-l,.overlay .panel .pf-b2l,.overlay .panel .pf-acad-h,.overlay .panel .pf-acad-sub,.overlay .panel .pf-msg-label,.overlay .panel .pf-rec-tag,.overlay .panel .pf-rec-why{color:var(--mut)!important;opacity:1}
.overlay .panel .pf-sv,.overlay .panel .pf-n,.overlay .panel .pf-rec-act,.overlay .panel .pf-ap-h,.overlay .panel .pf-acad-big,.overlay .panel .pf-b2.goal .pf-b2n,.overlay .panel .pf-mockchip,.overlay .panel .pf-msg,.overlay .panel .pf-msg-edit{color:var(--txt)!important}
.overlay .panel .pf-band-n,.overlay .panel .pf-b2n,.overlay .panel .pf-mockchip b{color:rgb(var(--accent))!important}
.overlay .panel .pf-skill.goal{background:rgba(var(--accent),.14)!important;border-color:rgba(var(--accent),.4)!important}
.overlay .panel .pf-rec-ic{opacity:.9}

.overlay .panel .md2-slot-h{gap:8px;align-items:flex-start}
.overlay .panel .md2-slot-t{display:flex;flex-direction:column;gap:1px;min-width:0}
.overlay .panel .md2-slot-t b{font-size:14px;line-height:1.2}
.overlay .panel .md2-time{color:var(--mut);font-size:11.5px;font-weight:600;white-space:nowrap}
.overlay .panel .md2-labs{color:var(--mut)}

.overlay .panel .field input,.overlay .panel .field select,.overlay .panel input[type="date"],.overlay .panel .note,.overlay .panel .field input[readonly],.overlay .panel .seg-b,.overlay .panel .seg-b.active,.overlay .panel .qchip,.overlay .panel .cred > div,.overlay .panel .share-row .share-email,.overlay .panel .pp-toggle .knob,.overlay .panel .pp-dateline input[type=date],.overlay .panel .cx-cr,.overlay .panel .cx-mini,.overlay .panel .cx-mini:hover,.overlay .panel .cx-mini.cx-rm:hover,.overlay .panel .cx-add,.overlay .panel .cx-edit,.overlay .panel .cx-sp,.overlay .panel .cx-sp:hover,.overlay .panel input:not([type=checkbox]):not([type=radio]),.overlay .panel select,.overlay .panel textarea,.overlay .panel select option,.overlay .panel .cx-dt .cx-timebtn,.overlay .panel .cx-pd-paid,.overlay .panel .cx-pd-due,.overlay .panel .cx-log textarea,.overlay .panel .cx-cr-acts .cx-add,.overlay .panel .cx-f,.overlay .panel .cx-fields .cx-f,.overlay .panel .cx-refac,.overlay .panel .cx-refac-it:hover,.overlay .panel .cx-refac-it.on,.overlay .panel .lc-log,.overlay .panel .lc-next button[data-lnext],.overlay .panel :is(input,.overlay .panel textarea):not([type=checkbox]):not([type=radio]),.overlay .panel .cx-deal,.overlay .panel .lv-form input,.overlay .panel .lv-form select,.overlay .panel .lv-act,.overlay .panel .cx-log select,.overlay .panel .cx-log input,.overlay .panel .btn,.overlay .panel .slot,.overlay .panel .slot.booked,.overlay .panel .slot-legend .lg,.overlay .panel .slot-legend .lg.booked,.overlay .panel .pf-skill,.overlay .panel .pf-skill.goal,.overlay .panel .pf-tile,.overlay .panel .pf-rec.exam,.overlay .panel .pf-rec.mocks,.overlay .panel .pf-rec.course,.overlay .panel .pf-rec.renew,.overlay .panel .pf-rec.practice,.overlay .panel .pf-rec.start,.overlay .panel .pf-msg,.overlay .panel .pf-b2,.overlay .panel .pf-b2.now,.overlay .panel .pf-msg-edit,.overlay .panel .pf-edit-top,.overlay .panel .pf-ab-email,.overlay .panel .pf-ab-edit,.overlay .panel .spk-grid th,.overlay .panel .spk-grid .spk-pn,.overlay .panel .spk-sel,.overlay .panel .spk-demo-tag,.overlay .panel .spk-demo-note,.overlay .panel .notes-area,.overlay .panel .mb-exam,.overlay .panel .mb-exam:hover,.overlay .panel .trf-overall,.overlay .panel .cx-name-row .cx-temp.cx-Hot,.overlay .panel .cx-name-row .cx-temp.cx-Warm,.overlay .panel .cx-fact,.overlay .panel .cx-fact.cx-fact-due,.overlay .panel .cx-cbtn,.overlay .panel .cx-cbtn-call .cx-cbtn-ic,.overlay .panel .cx-cbtn-wa .cx-cbtn-ic,.overlay .panel .cx-cbtn-email .cx-cbtn-ic,.overlay .panel .cx-nba,.overlay .panel .cx-summary,.overlay .panel .cx-sum-deal,.overlay .panel .cx-sum-act,.overlay .panel .cx-stagew,.overlay .panel .cx-invw,.overlay .panel .cx-invw-row,.overlay .panel .cx-invw-row:hover,.overlay .panel .cust-sell-q,.overlay .panel .cust-fi,.overlay .panel .inv-q,.overlay .panel .lc-suggest,.overlay .panel .lc-dealcard,.overlay .panel .lc-suggest-facts .lsf,.overlay .panel .lc-suggest-facts .lsf-due,.overlay .panel .cx-metab,.overlay .panel .mc-legend .mb-pend,.overlay .panel .mc-legend .mb-no,.overlay .panel .lc-ro-banner,.overlay .panel .pf-acad-c,.overlay .panel .pf-mockchip,.overlay .panel .cust-dstat,.overlay .panel .cust-ord,.overlay .panel .cust-link,.overlay .panel .ci-row,.overlay .panel .ci-spktime,.overlay .panel .ci-tg,.overlay .panel .mc2-legend .mc2-full,.overlay .panel .md2-slot,.overlay .panel .md2-seats,.overlay .panel .md2-seats.md2-full,.overlay .panel .md2-bar i.md2-bar-full,.overlay .panel .md2-pendline,.overlay .panel .md2-stu,.overlay .panel .md2-ok,.overlay .panel .md2-no,.overlay .panel .mb-pill.mb-ok,.overlay .panel .mb-pill.mb-pend,.overlay .panel .mb-pill.mb-no,.overlay .panel .mc2-pend,.overlay .panel .md2-act-g,.overlay .panel .md2-act-g:hover,.overlay .panel .md2-mini,.overlay .panel .md2-mini:hover,.overlay .panel .md2-inv,.overlay .panel .md2-slot-block .md2-seats,.overlay .panel .re-row,.overlay .panel .md2-no:hover{background:rgba(255,255,255,.05)!important;border-color:var(--bord2)!important}

.overlay .panel p.sc-intro,.overlay .panel p.sc-note,.overlay .panel p,.overlay .panel .field input,.overlay .panel .field select,.overlay .panel input[type="date"],.overlay .panel input[type="date"]:focus,.overlay .panel .field label,.overlay .panel .note,.overlay .panel .field input[readonly],.overlay .panel .seg-b,.overlay .panel .seg-b.active,.overlay .panel .qchip,.overlay .panel .qchip.active,.overlay .panel input[type=range],.overlay .panel .tgl,.overlay .panel .tgl input,.overlay .panel .cred span,.overlay .panel .cred b,.overlay .panel .cred-meta,.overlay .panel .share-row .share-email,.overlay .panel .share-row .share-wa,.overlay .panel .pp-title,.overlay .panel .pp-sub,.overlay .panel .pp-exlabel,.overlay .panel .pp-dateline input[type=date],.overlay .panel .cx-earn .g,.overlay .panel .cx-st-Contacted,.overlay .panel .cx-st-Enrolled,.overlay .panel .cx-mini.call,.overlay .panel .cx-mini.wa,.overlay .panel .cx-here,.overlay .panel .cx-nudge.ok,.overlay .panel .cx-act.call,.overlay .panel .cx-act.wa,.overlay .panel .cx-deal .g,.overlay .panel .cx-pri,.overlay .panel .cx-mini:hover,.overlay .panel .cx-err a,.overlay .panel .cx-cr,.overlay .panel .cx-contact,.overlay .panel .cx-mini,.overlay .panel .imp-row,.overlay .panel .imp-sum,.overlay .panel .cx-tag,.overlay .panel .cx-add,.overlay .panel .cx-edit,.overlay .panel .cx-fields .cx-f small,.overlay .panel .cx-sp,.overlay .panel .cx-sp:hover,.overlay .panel .cx-sp.on,.overlay .panel input:not([type=checkbox]):not([type=radio]),.overlay .panel select,.overlay .panel textarea,.overlay .panel select option,.overlay .panel input:hover,.overlay .panel select:hover,.overlay .panel textarea:hover,.overlay .panel input:focus,.overlay .panel select:focus,.overlay .panel textarea:focus,.overlay .panel .cx-dt .cx-timebtn,.overlay .panel .cx-pd-paid,.overlay .panel .cx-log textarea,.overlay .panel .cx-cr-acts .cx-add,.overlay .panel .cx-f>b,.overlay .panel .cx-fields .cx-f:focus-within,.overlay .panel .cx-refac-it,.overlay .panel .cx-refac-it.on,.overlay .panel .cx-refac-it b,.overlay .panel .cx-sec,.overlay .panel .lc-log-h,.overlay .panel .lc-log-h .cx-mut,.overlay .panel .lc-next-l,.overlay .panel .lc-next button[data-lnext],.overlay .panel .lc-next button[data-lnext].on,.overlay .panel .lc-next button[data-lnext]:hover,.overlay .panel :is(input,.overlay .panel textarea):not([type=checkbox]):not([type=radio]):hover,.overlay .panel .cx-inv-mut,.overlay .panel .cx-inv-ok,.overlay .panel .cx-deal,.overlay .panel .cx-deal b,.overlay .panel .cx-chip:hover,.overlay .panel .cx-chip.on,.overlay .panel .cx-mini.done,.overlay .panel .lv-bal-v,.overlay .panel .lv-form input,.overlay .panel .lv-form select,.overlay .panel .lv-act,.overlay .panel .lv-act b,.overlay .panel .cx-ph,.overlay .panel .cx-mut,.overlay .panel .cx-f small,.overlay .panel .cx-dn,.overlay .panel .cx-f b,.overlay .panel .cx-tl .cx-ti b,.overlay .panel .cx-tl .cx-ti,.overlay .panel .cx-act.email,.overlay .panel .cx-log select,.overlay .panel .cx-log input,.overlay .panel .cx-tl .cx-ti div,.overlay .panel .btn,.overlay .panel .slot,.overlay .panel .slot:hover,.overlay .panel .slot.on,.overlay .panel .slot-empty,.overlay .panel .slot-legend,.overlay .panel .slot-legend .lg.on,.overlay .panel .perf-btn,.overlay .panel .notes-area,.overlay .panel .imp-area,.overlay .panel .imp-opt label,.overlay .panel .pf-name,.overlay .panel .pf-id,.overlay .panel .pf-band-n,.overlay .panel .pf-band-l,.overlay .panel .pf-sv,.overlay .panel .pf-sl,.overlay .panel .pf-n,.overlay .panel .pf-l,.overlay .panel .pf-rec-act,.overlay .panel .pf-rec-why,.overlay .panel .pf-msg-label,.overlay .panel .pf-msg,.overlay .panel .pf-actions .pf-call,.overlay .panel p.pg-intro,.overlay .panel p.pg-cont,.overlay .panel .pf-b2n,.overlay .panel .pf-b2.goal .pf-b2n,.overlay .panel .pf-b2l,.overlay .panel .pf-ap-h,.overlay .panel .pf-msg-edit,.overlay .panel .pf-msg-edit:focus,.overlay .panel .pf-edit-top,.overlay .panel .pf-ab-email,.overlay .panel .pf-ab-edit,.overlay .panel .spk-weekday,.overlay .panel .spk-meta,.overlay .panel .spk-grid th,.overlay .panel .spk-grid .spk-pn,.overlay .panel .spk-sel,.overlay .panel .spk-score,.overlay .panel .spk-score b,.overlay .panel .mp-table th,.overlay .panel .mp-table td,.overlay .panel .mb-exam:hover,.overlay .panel .mb-exam-k,.overlay .panel .mb-exam-s,.overlay .panel .mb-pill.mb-ok,.overlay .panel .trf-gsec,.overlay .panel .trf-grade label,.overlay .panel .trf-overall,.overlay .panel .cust-paid,.overlay .panel .cx-head .cx-ph,.overlay .panel .cx-name-row .cx-temp.cx-Warm,.overlay .panel .cx-name-row .cx-temp.cx-Cold,.overlay .panel .cx-fact,.overlay .panel .cx-fact.cx-fact-due,.overlay .panel .cx-head .cx-ph .cx-mlink,.overlay .panel .cx-cbtn-tx b,.overlay .panel .cx-cbtn-tx small,.overlay .panel .cx-nba-act,.overlay .panel .cx-nba-why,.overlay .panel .cx-sum-deal .cx-deal-r,.overlay .panel .cx-sum-deal .cx-deal-r b,.overlay .panel .cx-sum-deal .cx-deal-r b.g,.overlay .panel .cx-sum-deal .cx-deal-r .g,.overlay .panel .cx-stagew-h,.overlay .panel .cx-invw-h,.overlay .panel .cx-invw-row:hover,.overlay .panel .cx-invw-no,.overlay .panel .cx-invw-amt,.overlay .panel .cx-invw-go,.overlay .panel .cx-invw-empty,.overlay .panel .cust-dn,.overlay .panel .cust-sell-cat,.overlay .panel .cust-sell-nm,.overlay .panel .cust-sell-pr,.overlay .panel .cust-sell-q,.overlay .panel .cust-sell-paid,.overlay .panel .cust-sell-total,.overlay .panel .cust-sell-total b,.overlay .panel .cust-fl,.overlay .panel .cust-fi,.overlay .panel .inv-q,.overlay .panel .lc-suggest-a,.overlay .panel .lc-suggest-w,.overlay .panel .lc-dealcard .cx-deal-r,.overlay .panel .lc-dealcard .cx-deal-r b,.overlay .panel .lc-dealcard .cx-deal-r b.g,.overlay .panel .lc-dealcard .cx-deal-r .g,.overlay .panel .cx-head .cx-ph.cx-ph-1l,.overlay .panel .cx-cbtn-1l,.overlay .panel .cx-cbtn-1l small,.overlay .panel .lc-suggest-facts .lsf,.overlay .panel .lc-suggest-facts .lsf-due,.overlay .panel .cx-metab,.overlay .panel .cx-metab b,.overlay .panel .mc-ev.mb-ok,.overlay .panel .lc-ro-banner,.overlay .panel .cust-pchip[data-tip]:hover::before,.overlay .panel .cust-xsell,.overlay .panel .cust-table [data-tip]:hover::before,.overlay .panel .pf-acad-h,.overlay .panel .pf-acad-big,.overlay .panel .pf-acad-sub,.overlay .panel .pf-mockchip,.overlay .panel .pf-mockchip b,.overlay .panel .mb-fchip.on,.overlay .panel .cust-dname,.overlay .panel .cust-sub,.overlay .panel .cust-dsec,.overlay .panel .cust-dstat .v,.overlay .panel .cust-dstat .l,.overlay .panel .cust-ord-it,.overlay .panel .cust-ord-amt,.overlay .panel .cust-mut,.overlay .panel .cust-link,.overlay .panel .ci-head,.overlay .panel .ci-s-p,.overlay .panel .ci-main b,.overlay .panel .ci-sub,.overlay .panel .ci-spk,.overlay .panel .ci-spktime,.overlay .panel .ci-tg,.overlay .panel .ci-pres.on,.overlay .panel .ci-pres:hover,.overlay .panel .ci-locked,.overlay .panel .md2-slot-t b,.overlay .panel .md2-time,.overlay .panel .md2-seats,.overlay .panel .md2-stu-n,.overlay .panel .md2-stu-n small,.overlay .panel .md2-pendline,.overlay .panel .md2-ok,.overlay .panel .mb-pill.mb-pend,.overlay .panel .mc2-pend,.overlay .panel .md2-act-g,.overlay .panel .md2-mini,.overlay .panel .md2-mini:hover,.overlay .panel .md2-mini.md2-ok,.overlay .panel .md2-wait-h,.overlay .panel .md2-labline,.overlay .panel .md2-taken,.overlay .panel .md2-inv,.overlay .panel .re-main b,.overlay .panel .re-sub,.overlay .panel .re-lab,.overlay .panel .re-lab small,.overlay .panel .btn.primary,.overlay .panel .md2-ok:hover,.overlay .panel .md2-no:hover,.overlay .panel .md2-act{color:var(--txt)!important}

.overlay .panel .cx-deal,.overlay .panel .lc-dealcard{background:rgba(52,211,153,.12)!important;border-color:rgba(52,211,153,.35)!important}
.overlay .panel .cx-deal,.overlay .panel .cx-deal .cx-deal-r,.overlay .panel .lc-dealcard .cx-deal-r{color:#a7f3d0!important}
.overlay .panel .cx-deal b,.overlay .panel .lc-dealcard b,.overlay .panel .cx-deal .g,.overlay .panel .lc-dealcard .g{color:#34d399!important}
.overlay .panel .lc-suggest{background:rgba(var(--accent2),.10)!important;border-color:rgba(var(--accent2),.3)!important}
.overlay .panel .lc-suggest-h{color:rgb(var(--accent2))!important}
.overlay .panel .lc-suggest-a{color:var(--txt)!important}
.overlay .panel .lc-suggest-w{color:var(--mut)!important}
.overlay .panel .lc-suggest-facts .lsf{background:rgba(255,255,255,.05)!important;border-color:var(--bord2)!important;color:var(--mut)!important}
.overlay .panel .lc-suggest-facts .lsf-due{color:#fdba74!important;background:rgba(251,146,60,.12)!important;border-color:rgba(251,146,60,.4)!important}
.overlay .panel .note{background:rgba(251,191,36,.1)!important;border-color:rgba(251,191,36,.3)!important;color:#fcd34d!important}
.overlay .panel .pf-b2.now,.overlay .panel .pf-skill.goal{background:rgba(var(--accent),.14)!important;border-color:rgba(var(--accent),.4)!important}
.overlay .panel .cx-pd-paid,.overlay .panel .cust-paid{color:#34d399!important;background:rgba(52,211,153,.14)!important;border-color:rgba(52,211,153,.4)!important}
.overlay .panel .cx-pd-due,.overlay .panel .cust-due,.overlay .panel .cx-fact-due,.overlay .panel .mb-pill.mb-no,.overlay .panel .md2-seats.md2-full{color:#fb7185!important;background:rgba(251,113,133,.14)!important;border-color:rgba(251,113,133,.4)!important}
.overlay .panel .mb-pill.mb-pend,.overlay .panel .md2-pendline{color:#fcd34d!important;background:rgba(251,191,36,.14)!important;border-color:rgba(251,191,36,.4)!important}
.overlay .panel .lc-ro-banner{color:#fdba74!important;background:rgba(251,146,60,.12)!important;border-color:rgba(251,146,60,.35)!important}

.overlay .panel .seg-b.active{background:rgba(var(--accent),.16)!important;border-color:rgb(var(--accent))!important;color:var(--txt)!important}
.overlay .panel .qchip.active{background:var(--grad)!important;color:#04121f!important;border-color:transparent!important}

.overlay .panel .pf-ab-call,.overlay .panel .pf-actions .pf-call,.overlay .panel .pf-ab-wa,.overlay .panel .cx-cbtn-call{color:#fff!important}

.overlay .panel input,.overlay .panel select,.overlay .panel textarea{background:rgba(255,255,255,.06)!important;color:var(--txt)!important;border:1px solid var(--bord2)!important}
.overlay .panel input::placeholder,.overlay .panel textarea::placeholder{color:var(--mut)!important}
.overlay .panel input:focus,.overlay .panel select:focus,.overlay .panel textarea:focus{border-color:rgb(var(--accent))!important;box-shadow:0 0 0 3px rgba(var(--accent),.22)!important;outline:none!important}
.overlay .panel input[type="date"]{color-scheme:dark!important}
.overlay .panel select option{background:#0e1526;color:var(--txt)}
.overlay .panel .lc-next button[data-lnext]{background:rgba(255,255,255,.06)!important;color:var(--txt)!important;border:1px solid var(--bord2)!important}
.overlay .panel .lc-next button[data-lnext].on,.overlay .panel .lc-next button[data-lnext]:hover{background:var(--grad)!important;color:#04121f!important;border-color:transparent!important}

.overlay .panel .pf-l,.overlay .panel .pf-sl,.overlay .panel .pf-b2l,.overlay .panel .pf-acad-sub,.overlay .panel .pf-acad-h,.overlay .panel .cust-dstat .l,.overlay .panel .cust-sub,.overlay .panel .lc-next-l,.overlay .panel .pf-id,.overlay .panel .pf-band-l,.overlay .panel .cx-mut,.overlay .panel .cust-mut,.overlay .panel .cx-metab,.overlay .panel .pf-msg-label{color:var(--mut)!important}

.overlay .panel .pf-band-n,.overlay .panel .pf-b2n,.overlay .panel .pf-b2.now .pf-b2n{color:rgb(var(--accent))!important}
.overlay .panel .pf-b2.goal .pf-b2n{color:var(--txt)!important}

.overlay .panel .md2-labs{display:flex;flex-direction:column;gap:8px;margin-top:8px}
.overlay .panel .md2-lab{background:rgba(255,255,255,.045)!important;border:1px solid var(--bord)!important;border-radius:11px;padding:9px 10px}
.overlay .panel .md2-lab-h{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px}
.overlay .panel .md2-lab-nm b{color:var(--txt);font-size:13px}
.overlay .panel .md2-lab-nm small{color:var(--mut);font-size:10.5px;margin-left:3px}
.overlay .panel .md2-lab-block{opacity:.55}
.overlay .panel .md2-lab-cap{font-size:10.5px;font-weight:800;color:#fdba74;background:rgba(251,146,60,.14);border-radius:999px;padding:2px 9px;white-space:nowrap}
.overlay .panel .md2-lab-blockmsg{font-size:10.5px;color:var(--mut);line-height:1.4}
.overlay .panel .md2-lab .md2-list{max-height:148px}
.overlay .panel .md2-lab .md2-add{margin-top:8px;padding:7px 10px;font-size:12.5px;width:100%}

.overlay .panel .cx-pri,.cx-pri{background:rgba(var(--accent),.2)!important;color:rgb(var(--accent))!important;border:1px solid rgba(var(--accent),.4)!important;font-weight:800!important}

.overlay .panel .cx-sec,.overlay .panel .cx-dn,.overlay .panel .lc-log-h,.overlay .panel .cx-stagew-h,.overlay .panel .cx-invw-h,.overlay .panel .lc-suggest-h{color:rgb(var(--accent))!important}
.overlay .panel .cx-stagew-h span,.overlay .panel .cx-invw-h span{color:var(--mut)!important}
.overlay .panel .cx-cbtn-call .cx-cbtn-ic{background:rgba(34,211,238,.22)!important}
.overlay .panel .cx-cbtn-wa .cx-cbtn-ic{background:rgba(52,211,153,.22)!important}
.overlay .panel .cx-cbtn-email .cx-cbtn-ic{background:rgba(167,139,250,.22)!important}
.overlay .panel .cx-cbtn{border-left:3px solid rgba(var(--accent),.5)!important}
.overlay .panel .lc-log{border-top:2px solid rgba(var(--accent),.35)!important}

@keyframes lz-fade{from{opacity:0;transform:translateY(10px)}}
.ex-pipe-bar i,.fn-bar i,.sd-bar i,.bar-fill,.acad-bar i,.att-bar i,.mp-bar i,.pf-bar i{transform-origin:left;animation:lz-grow .9s cubic-bezier(.2,.9,.3,1)}
.rv-ring-fg{animation:rvdraw 1.15s cubic-bezier(.2,.9,.3,1) both}
.eval-fig svg,.pf-chart svg,.rv-chart svg,.sd-chart svg,.tw-cal,.ex-card svg{animation:lz-fade .6s ease both}
@media(prefers-reduced-motion:reduce){.ex-pipe-bar i,.fn-bar i,.rv-ring-fg,.eval-fig svg,.pf-chart svg{animation:none!important}}

.overlay .panel:has(.ivb){width:96vw;max-width:1080px;max-height:92vh;overflow-y:auto}
.ivb{min-height:54vh}
.ivb-head,.ivb-row{display:grid;grid-template-columns:1fr 116px 54px 124px 92px 30px;gap:8px;align-items:center}
.ivb-head{font-size:10.5px;text-transform:uppercase;letter-spacing:.05em;color:var(--mut);font-weight:800;padding:0 2px 6px}
.ivb-rows{display:flex;flex-direction:column;gap:8px}
.ivb-row input{width:100%}
.ivb-discw{display:flex;align-items:center;gap:5px}.ivb-discw input{flex:1 1 auto;min-width:0;width:100%}.ivb-discw select{flex:0 0 50px;min-width:50px}.ivb-discw i{color:var(--mut);font-style:normal;font-size:12px}
.ivb-lt{font-weight:800;text-align:right;color:var(--txt)}
.ivb-rm,.ivb-srm{width:30px;height:30px;border-radius:8px;border:1px solid var(--bord2);background:rgba(255,255,255,.05);color:#fb7185;cursor:pointer;font-size:13px}
.ivb-rm:hover,.ivb-srm:hover{background:rgba(251,113,133,.16)}
.ivb-add{margin:10px 0 4px}
.ivb-lower{display:grid;grid-template-columns:1.25fr 1fr;gap:18px;margin-top:14px;align-items:start}
.ivb-lower>*{min-width:0}
.ivb-left,.ivb-right{min-width:0;display:flex;flex-direction:column}
.ivb-tot-lab{font-size:12px;color:var(--mut);font-weight:700;display:block;margin-bottom:5px}
.ivb-notes label{font-size:12px;color:var(--mut);font-weight:700;display:block;margin-bottom:5px}
.ivb-notes textarea{width:100%;box-sizing:border-box;max-width:100%;min-width:0;resize:vertical;display:block}
.ivb-tot{background:rgba(255,255,255,.05);border:1px solid var(--bord2);border-radius:14px;padding:15px}
.ivb-tl{display:flex;justify-content:space-between;padding:5px 0;font-size:13.5px;color:var(--mut)}
.ivb-tl b{color:var(--txt);font-weight:800}
.ivb-tl.ivb-grand{border-top:1px solid var(--bord);margin-top:6px;padding-top:11px;font-size:15px}
.ivb-tl.ivb-grand b{color:rgb(var(--accent));font-size:20px}
.ivb-gen{width:100%;margin-top:14px}
.ivb-pay{margin-top:14px;background:rgba(255,255,255,.04);border:1px solid var(--bord);border-radius:14px;padding:13px 14px}
.ivb-pay-h{font-weight:800;color:var(--txt);margin-bottom:10px}
.ivb-pay-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.ivb-pay-row input{width:130px}
.ivb-pay-row label{font-size:12px;color:var(--mut);font-weight:700}
.ivb-bal{color:rgb(var(--accent));font-weight:800;margin-left:auto}
.ivb-sched-h{display:flex;justify-content:space-between;align-items:center;font-weight:800;color:var(--txt);margin:14px 0 8px;font-size:13px}
.ivb-sched{display:flex;flex-direction:column;gap:7px}
.ivb-srow{display:grid;grid-template-columns:150px 120px 1fr 30px;gap:7px;align-items:center}
.ivb-schedwarn{color:#fcd34d;font-size:12px;margin-top:8px;display:none}
@media(max-width:820px){.ivb-lower{grid-template-columns:1fr}.ivb-head,.ivb-row{grid-template-columns:1fr 76px 44px 108px 70px 26px}.ivb-srow{grid-template-columns:1fr 90px 1fr 28px}}

.tb-search{display:inline-flex;align-items:center;gap:9px;background:var(--glass);border:1px solid var(--bord);border-radius:12px;padding:9px 14px;color:var(--mut);font-size:13px;min-width:260px;font-family:inherit;cursor:pointer;transition:border-color .15s,color .15s}
.tb-search:hover{border-color:var(--vio);color:var(--txt)}
.tb-search>span{flex:1;text-align:left;white-space:nowrap}
.tb-search kbd{font-size:10px;font-weight:700;background:rgba(127,127,127,.16);border-radius:6px;padding:2px 6px;color:var(--mut);font-family:inherit}
.tb-ic-svg{width:18px;height:18px;flex:0 0 auto}
.tb-icon .tb-ic-svg{width:19px;height:19px}
.sf-beta{font-size:9px;font-weight:800;color:#fbbf24;background:rgba(251,191,36,.16);border-radius:5px;padding:1px 4px;vertical-align:super;margin-left:3px;letter-spacing:.02em;line-height:1}
@media(max-width:900px){.tb-search{min-width:0}.tb-search>span,.tb-search kbd{display:none}}

.seg-tags{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}
.seg-tag{font-size:9.5px;font-weight:800;border-radius:6px;padding:1px 6px;white-space:nowrap}
.t-vip{background:rgba(167,139,250,.18);color:#c4b5fd}
.t-rep{background:rgba(34,211,238,.16);color:#67e8f9}
.t-new{background:rgba(52,211,153,.16);color:#6ee7b7}
.t-risk{background:rgba(251,191,36,.16);color:#fcd34d}
.t-due{background:rgba(251,113,133,.16);color:#fda4af}

.cx-kan{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;align-items:start;margin-top:10px}
.cx-kcol{background:var(--glass);border:1px solid var(--bord);border-radius:16px;padding:12px;min-height:150px}
.cx-kh{display:flex;align-items:center;justify-content:space-between;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--mut);margin-bottom:11px}
.cx-kh span:last-child{background:rgba(127,127,127,.16);border-radius:7px;padding:1px 8px;color:var(--txt)}
.cx-kc{background:var(--glass2);border:1px solid var(--bord);border-radius:13px;padding:11px 12px;margin-bottom:9px;cursor:pointer;transition:transform .15s,border-color .15s}
.cx-kc:hover{transform:translateY(-2px);border-color:var(--vio)}
.cx-kc>b{font-size:13.5px;font-weight:700;color:var(--txt)}
.cx-kc-m{font-size:11.5px;color:var(--mut);margin:3px 0 8px}
.cx-kc-f{display:flex;align-items:center;justify-content:space-between;gap:8px}
.cx-kc-v{font-weight:800;font-size:12.5px;color:#34d399}
@media(max-width:1100px){.cx-kan{grid-template-columns:repeat(2,1fr)}}

.overlay .panel .cx-cbtn-call{background:#0ea5e9!important;border:0!important}
.overlay .panel .cx-cbtn-wa{background:#25d366!important;border:0!important}
.overlay .panel .cx-cbtn-call .cx-cbtn-1l,.overlay .panel .cx-cbtn-call .cx-cbtn-1l small,.overlay .panel .cx-cbtn-wa .cx-cbtn-1l,.overlay .panel .cx-cbtn-wa .cx-cbtn-1l small{color:#fff!important}
.overlay .panel .cx-cbtn-call .cx-cbtn-ic,.overlay .panel .cx-cbtn-wa .cx-cbtn-ic{background:rgba(255,255,255,.22)!important}

.sf-tab-lock{opacity:.72}
.sf-tab-lock.on{opacity:1}
.sf-soon{font-size:9.5px;font-weight:800;letter-spacing:.02em;background:rgba(251,191,36,.16);color:#fcd34d;border:1px solid rgba(251,191,36,.32);border-radius:999px;padding:1px 6px;margin-left:5px;vertical-align:middle;text-transform:uppercase}
.soon{max-width:640px;margin:40px auto;text-align:center;background:var(--glass);border:1px solid var(--bord);border-radius:24px;padding:44px 40px 40px}
.soon-badge{display:inline-block;font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#fcd34d;background:rgba(251,191,36,.12);border:1px solid rgba(251,191,36,.28);border-radius:999px;padding:5px 14px;margin-bottom:18px}
.soon-ic{font-size:56px;line-height:1;margin-bottom:12px;filter:drop-shadow(0 8px 24px rgba(var(--accent),.35))}
.soon-h{font-size:30px;font-weight:800;margin:0 0 12px;background:linear-gradient(120deg,rgb(var(--accent)),rgb(var(--accent2)));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.soon-h .sf-beta{-webkit-text-fill-color:#fcd34d;font-size:14px}
.soon-p{color:var(--mut);font-size:14.5px;line-height:1.6;max-width:520px;margin:0 auto 22px}
.soon-feats{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-bottom:24px}
.soon-feat{font-size:12.5px;font-weight:700;color:var(--txt);background:var(--glass2);border:1px solid var(--bord);border-radius:11px;padding:9px 14px}
.soon-note{color:var(--mut);font-size:13px;line-height:1.55;background:rgba(var(--accent),.06);border:1px solid rgba(var(--accent),.16);border-radius:12px;padding:12px 16px;margin-bottom:22px}
.soon-note b{color:rgb(var(--accent))}
.soon-cta{min-width:230px}

.mba{margin:6px 0}
.mba-kpis{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-bottom:14px}
.mba-kpi{display:flex;align-items:center;gap:12px;background:var(--glass);border:1px solid var(--bord);border-radius:15px;padding:14px 16px;transition:transform .15s,border-color .15s}
.mba-kpi:hover{transform:translateY(-2px);border-color:rgba(var(--accent),.4)}
.mba-kpi-ic{font-size:21px;line-height:1;width:42px;height:42px;display:flex;align-items:center;justify-content:center;background:var(--glass2);border-radius:12px;flex:0 0 auto}
.mba-kpi-v{font-size:25px;font-weight:800;color:var(--txt);line-height:1}
.mba-kpi-l{font-size:11.5px;color:var(--mut);font-weight:600;margin-top:3px}
.mba-kpi.is-act{border-color:rgba(251,191,36,.4);background:linear-gradient(180deg,rgba(251,191,36,.08),transparent)}
.mba-kpi.is-act .mba-kpi-ic{background:rgba(251,191,36,.18)}
.mba-kpi.is-warn{border-color:rgba(251,113,133,.36);background:linear-gradient(180deg,rgba(251,113,133,.08),transparent)}
.mba-kpi.is-warn .mba-kpi-ic{background:rgba(251,113,133,.18)}
.mba-grid{display:grid;grid-template-columns:1.15fr .95fr 1.5fr;gap:14px;margin-bottom:14px}
.mba-c{padding:16px 18px}
.mba-h{font-size:13px;font-weight:800;color:var(--txt);margin-bottom:14px;display:flex;align-items:center;justify-content:space-between;gap:8px}
.mba-hn{font-size:11px;font-weight:700;color:var(--mut)}
.mba-track{display:flex;height:16px;border-radius:8px;overflow:hidden;gap:2px;background:rgba(255,255,255,.04)}
.mba-seg{display:block;min-width:3px;border-radius:3px;transition:flex .6s cubic-bezier(.2,.8,.2,1)}
.s-aw{background:#fbbf24}.s-up{background:rgb(var(--accent))}.s-gr{background:rgb(var(--accent2))}.s-pb{background:#34d399}.s-ns{background:#fb7185}
.mba-legend{display:flex;flex-wrap:wrap;gap:8px 14px;margin-top:14px}
.mba-lg{font-size:11.5px;color:var(--mut);display:flex;align-items:center;gap:6px}
.mba-lg i{width:9px;height:9px;border-radius:3px;display:inline-block}
.mba-lg b{color:var(--txt);font-weight:800}
.mba-rings{display:flex;justify-content:space-around;gap:10px}
.mba-ring{text-align:center;flex:1}
.mba-ring-s{position:relative;width:76px;height:76px;margin:0 auto}
.mba-ring-s svg{width:76px;height:76px;transform:rotate(-90deg)}
.mba-rt{fill:none;stroke:rgba(255,255,255,.08);stroke-width:7}
.mba-rv{fill:none;stroke-width:7;stroke-linecap:round;animation:mbaRing 1s cubic-bezier(.2,.8,.2,1) both}
.mba-rv.r-g{stroke:#34d399}.mba-rv.r-a{stroke:rgb(var(--accent))}.mba-rv.r-w{stroke:#fbbf24}
@keyframes mbaRing{from{stroke-dasharray:0 188.5}}
.mba-ring-c{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:17px;font-weight:800;color:var(--txt)}
.mba-ring-c small{font-size:10px;font-weight:700;color:var(--mut);margin-left:1px}
.mba-ring-l{font-size:11px;color:var(--mut);font-weight:600;margin-top:7px}
.mba-chart{display:flex;align-items:flex-end;gap:5px;height:96px;padding-top:6px}
.mba-bar{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%;position:relative}
.mba-bar i{width:100%;max-width:22px;height:var(--h);min-height:3px;background:linear-gradient(180deg,rgb(var(--accent)),rgba(var(--accent),.45));border-radius:5px 5px 3px 3px;animation:mbaGrow .7s cubic-bezier(.2,.8,.2,1) both;animation-delay:calc(var(--i,0)*28ms)}
.mba-bar.is-0 i{background:rgba(255,255,255,.06)}
.mba-bar.is-today i{background:linear-gradient(180deg,rgb(var(--accent2)),rgba(var(--accent2),.5));box-shadow:0 0 0 2px rgba(var(--accent2),.3)}
@keyframes mbaGrow{from{height:0}}
.mba-bar em{font-size:10px;font-weight:800;color:var(--txt);font-style:normal;margin-bottom:3px;min-height:12px}
.mba-bar.is-0 em{color:transparent}
.mba-bl{font-size:9.5px;color:var(--mut);margin-top:5px;font-weight:600}
.mba-bar.is-today .mba-bl{color:rgb(var(--accent2));font-weight:800}
.mba-foot{display:grid;grid-template-columns:1.4fr 1fr;gap:14px}
.mba-foot-blk{background:var(--glass);border:1px solid var(--bord);border-radius:14px;padding:12px 16px;display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.mba-foot-t{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--mut);flex:0 0 auto}
.mba-mixwrap{display:flex;gap:16px;flex:1;flex-wrap:wrap}
.mba-mix{display:flex;align-items:center;gap:7px;min-width:120px;flex:1}
.mba-mix-l{font-size:12px;font-weight:800;color:var(--txt);width:46px;flex:0 0 auto}
.mba-mix-tr{flex:1;height:7px;border-radius:5px;background:rgba(255,255,255,.06);overflow:hidden;min-width:40px}
.mba-mix-tr i{display:block;height:100%;background:linear-gradient(90deg,rgb(var(--accent)),rgb(var(--accent2)));border-radius:5px}
.mba-mix b{font-size:12px;font-weight:800;color:var(--txt)}
.mba-foot-split{gap:16px}
.mba-dv{font-size:12.5px;color:var(--mut)}
.mba-dv b{color:var(--txt);font-weight:800;margin-left:2px}
.mba-fresh{margin-left:auto;font-size:11px;color:#34d399;font-weight:700}
@media(max-width:1100px){.mba-kpis{grid-template-columns:repeat(2,1fr)}.mba-grid{grid-template-columns:1fr}.mba-foot{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.mba-seg{transition:none}.mba-rv,.mba-bar i{animation:none}}

.pf-rec-earn{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}
.pf-earn-c{border-radius:12px;padding:11px 13px;border:1px solid var(--bord)}
.pf-earn-rev{background:rgba(var(--accent),.1);border-color:rgba(var(--accent),.26)}
.pf-earn-comm{background:rgba(52,211,153,.1);border-color:rgba(52,211,153,.28)}
.pf-earn-v{font-size:21px;font-weight:800;line-height:1}
.pf-earn-rev .pf-earn-v{color:rgb(var(--accent))}
.pf-earn-comm .pf-earn-v{color:#34d399}
.pf-earn-l{font-size:11px;color:var(--mut);font-weight:600;margin-top:4px}

.overlay .panel .ma-sess{font-size:14.5px;font-weight:700;color:var(--txt);margin:2px 0 1px}

.overlay .panel .cx-name-row .cx-temp{border:1px solid transparent}
.overlay .panel .cx-name-row .cx-temp.cx-Hot{background:rgba(251,113,133,.2)!important;color:#fda4af!important;border-color:rgba(251,113,133,.45)!important}
.overlay .panel .cx-name-row .cx-temp.cx-Warm{background:rgba(251,191,36,.2)!important;color:#fcd34d!important;border-color:rgba(251,191,36,.45)!important}
.overlay .panel .cx-name-row .cx-temp.cx-Cold{background:rgba(56,189,248,.2)!important;color:#7dd3fc!important;border-color:rgba(56,189,248,.5)!important}

.overlay .panel .cx-flow .cx-sp{background:rgba(255,255,255,.04)!important;border:1px solid var(--bord)!important;color:var(--mut)!important;font-weight:700!important;transition:transform .12s,background .15s,border-color .15s}
.overlay .panel .cx-flow .cx-sp:hover{border-color:rgba(var(--accent),.5)!important;color:var(--txt)!important;transform:translateY(-1px)}
.overlay .panel .cx-flow .cx-sp.done{background:rgba(var(--accent),.14)!important;border:1px solid rgba(var(--accent),.36)!important;color:rgb(var(--accent))!important;font-weight:800!important}
.overlay .panel .cx-flow .cx-sp.on{background:var(--grad)!important;border:0!important;color:#04121f!important;font-weight:900!important;box-shadow:0 4px 16px rgba(var(--accent),.45)!important}
.overlay .panel .cx-flow .cx-sp.on.lost{background:linear-gradient(90deg,#fb7185,#f59e0b)!important;color:#3a0a12!important;box-shadow:0 4px 16px rgba(251,113,133,.45)!important}

.overlay .panel .md2-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.overlay .panel .md2-stu-n small{display:flex;align-items:center;flex-wrap:wrap;gap:4px}
.md2-stu-n small .md2-lab{display:inline-block;white-space:nowrap;color:rgb(var(--accent));font-weight:800;font-size:10px;background:rgba(var(--accent),.14);border:1px solid rgba(var(--accent),.3);border-radius:6px;padding:1px 7px}

.stu-table .stu-due{display:inline-block;white-space:nowrap;font-weight:800;font-size:12.5px;font-family:inherit;color:#fda4af;background:rgba(251,113,133,.14);border:1px solid rgba(251,113,133,.34);border-radius:8px;padding:3px 9px;cursor:pointer;transition:background .15s,transform .12s}
.stu-table .stu-due:hover{background:rgba(251,113,133,.26);transform:translateY(-1px)}
.stu-table .stu-due-ok{font-size:12px;font-weight:600;color:#6ee7b7;opacity:.75}

.stu-table th.stu-sortable{cursor:pointer;user-select:none;white-space:nowrap;transition:color .12s}
.stu-table th.stu-sortable:hover{color:var(--txt)}
.stu-table th.stu-sortable.on{color:rgb(var(--accent))}

.ph-hint{font-size:12px;margin-top:6px;min-height:15px;line-height:1.4}
.ph-hint-dup{color:#fca5a5;font-weight:600}
.ph-hint-dup b{color:#fecaca}
.ph-hint-ok{color:#6ee7b7;font-weight:600}
.ph-hint-wait{color:var(--mut)}

.bb{margin:2px 0}
.bb-chips{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0 18px}
.bb-chip{background:var(--glass);border:1px solid var(--bord);color:var(--mut);border-radius:999px;padding:7px 14px;font-size:12.5px;font-weight:700;cursor:pointer;transition:transform .12s,border-color .15s,color .15s}
.bb-chip:hover{transform:translateY(-1px);color:var(--txt);border-color:rgba(var(--accent),.5)}
.bb-chip.on{background:var(--grad);color:#04121f;border:0;box-shadow:0 4px 16px rgba(var(--accent),.4)}
.bb-chip b{opacity:.75;margin-left:2px}
.bb-chip.on b{opacity:1}
.bb-group{margin-bottom:22px}
.bb-group-h{font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--mut);margin:0 0 12px;display:flex;align-items:center;gap:8px}
.bb-group-h span{background:rgba(var(--accent),.16);color:rgb(var(--accent));border-radius:7px;padding:1px 9px;font-size:11px}
.bb-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(325px,1fr));gap:14px}
.bb-card{background:var(--glass);border:1px solid var(--bord);border-radius:18px;padding:16px 17px;display:flex;flex-direction:column;gap:11px;position:relative;overflow:hidden;transition:transform .16s,border-color .16s,box-shadow .16s;animation:bbRise .5s cubic-bezier(.2,.8,.2,1) both;animation-delay:calc(var(--i,0)*45ms)}
.bb-card::before{content:"";position:absolute;inset:0 0 auto 0;height:3px;background:var(--grad);opacity:.85}
.bb-card:hover{transform:translateY(-3px);border-color:rgba(var(--accent),.45);box-shadow:0 14px 40px rgba(0,0,0,.35),0 0 0 1px rgba(var(--accent),.14)}
@keyframes bbRise{from{opacity:0;transform:translateY(12px)}}
.bb-card-h{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.bb-card-t b{font-size:15px;font-weight:800;color:var(--txt);line-height:1.25;display:block}
.bb-card-m{display:flex;align-items:center;gap:6px;margin-top:5px}
.bb-pill{font-size:10.5px;font-weight:800;letter-spacing:.03em;background:rgba(var(--accent),.14);color:rgb(var(--accent));border:1px solid rgba(var(--accent),.28);border-radius:6px;padding:1px 7px}
.bb-mode{font-size:11px;font-weight:700;color:var(--mut)}
.bb-mode-online{color:rgb(var(--accent))}
.bb-health{flex:0 0 auto;font-size:11px;font-weight:800;border-radius:999px;padding:3px 10px;white-space:nowrap;border:1px solid transparent}
.bb-health.bh-open{background:rgba(52,211,153,.16);color:#6ee7b7;border-color:rgba(52,211,153,.34)}
.bb-health.bh-fill{background:rgba(251,191,36,.16);color:#fcd34d;border-color:rgba(251,191,36,.34)}
.bb-health.bh-full{background:rgba(251,113,133,.16);color:#fda4af;border-color:rgba(251,113,133,.34)}
.bb-meta{font-size:12px;color:var(--mut);line-height:1.5}
.bb-line{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:11.5px;color:var(--mut)}
.bb-line-l b{color:var(--txt)}
.bb-line-r{font-weight:800;color:rgb(var(--accent))}
.bb-bar{height:7px;border-radius:5px;background:rgba(255,255,255,.06);overflow:hidden}
.bb-bar i{display:block;height:100%;width:var(--w);background:var(--grad);border-radius:5px;animation:bbGrow .85s cubic-bezier(.2,.8,.2,1) both}
@keyframes bbGrow{from{width:0}}
.bb-seatline{display:flex;flex-direction:column;gap:5px}
.bb-seat-meter{height:9px;border-radius:6px;background:rgba(255,255,255,.06);overflow:hidden}
.bb-seat-meter i{display:block;height:100%;width:var(--w);border-radius:6px;animation:bbGrow .85s cubic-bezier(.2,.8,.2,1) both}
.bb-seat-meter i.bh-open{background:linear-gradient(90deg,#34d399,#22d3ee)}
.bb-seat-meter i.bh-fill{background:linear-gradient(90deg,#fbbf24,#fb7185)}
.bb-seat-meter i.bh-full{background:linear-gradient(90deg,#fb7185,#f43f5e)}
.bb-seat-t{font-size:12px;color:var(--mut)}
.bb-seat-t b{color:var(--txt);font-weight:800}
.bb-free{color:#6ee7b7;font-weight:700}
.bb-nofree{color:#fda4af;font-weight:700}
.bb-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:2px;flex-wrap:wrap}
.bb-intake{font-size:11.5px;color:var(--mut);flex:1;min-width:120px}
.bb-intake b{color:var(--txt)}
.bb-intake-now{color:#6ee7b7;font-weight:700}
.bb-act{flex:0 0 auto;white-space:nowrap}
@media(prefers-reduced-motion:reduce){.bb-card,.bb-bar i,.bb-seat-meter i{animation:none}}

.tw-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px;margin-top:14px}
.tw-card{background:var(--glass);border:1px solid var(--bord);border-radius:18px;padding:16px 17px;display:flex;flex-direction:column;gap:10px;position:relative;overflow:hidden;transition:transform .16s,border-color .16s,box-shadow .16s;animation:bbRise .5s cubic-bezier(.2,.8,.2,1) both;animation-delay:calc(var(--i,0)*45ms)}
.tw-card::before{content:"";position:absolute;inset:0 0 auto 0;height:3px;background:var(--grad);opacity:.85}
.tw-card:hover{transform:translateY(-3px);border-color:rgba(var(--accent),.45);box-shadow:0 14px 40px rgba(0,0,0,.35),0 0 0 1px rgba(var(--accent),.14)}
.tw-card-h{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.tw-card-t b{font-size:15px;font-weight:800;color:var(--txt);line-height:1.25;display:block}
.tw-card-m{display:flex;align-items:center;gap:6px;margin-top:5px;flex-wrap:wrap}
.tw-pill{font-size:10.5px;font-weight:800;letter-spacing:.03em;background:rgba(var(--accent),.14);color:rgb(var(--accent));border:1px solid rgba(var(--accent),.28);border-radius:6px;padding:1px 7px}
.tw-room{font-size:11px;font-weight:700;color:var(--mut)}
.tw-roster{flex:0 0 auto;font-size:11.5px;font-weight:800;color:var(--txt);background:var(--glass2);border:1px solid var(--bord);border-radius:999px;padding:3px 10px;white-space:nowrap}
.tw-meta{font-size:12px;color:var(--mut);line-height:1.5}
.tw-mod{font-size:13px;color:var(--txt)}.tw-mod b{color:#7dd3fc}
.tw-final{font-size:10px;font-weight:800;color:#fcd34d;background:rgba(251,191,36,.16);border:1px solid rgba(251,191,36,.34);border-radius:999px;padding:1px 7px;margin-left:2px}
.tw-line{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:11.5px;color:var(--mut)}
.tw-line-l{font-weight:700;color:var(--txt)}
.tw-line-r{font-weight:800;color:rgb(var(--accent))}
.tw-bar{height:7px;border-radius:5px;background:rgba(255,255,255,.06);overflow:hidden}
.tw-bar i{display:block;height:100%;width:var(--w);background:var(--grad);border-radius:5px;animation:bbGrow .85s cubic-bezier(.2,.8,.2,1) both}
.tw-acts{display:flex;flex-wrap:wrap;gap:7px;margin-top:2px}
.tw-act{white-space:nowrap}
@media(prefers-reduced-motion:reduce){.tw-card,.tw-bar i{animation:none}}

.fx2{position:relative;isolation:isolate}
.fx2-chair{padding-bottom:30px}
@keyframes fxIn{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@keyframes fxFloat{0%,100%{transform:translate(0,0) scale(1)}33%{transform:translate(40px,-30px) scale(1.12)}66%{transform:translate(-30px,24px) scale(.94)}}
@keyframes fxHue{0%,100%{filter:hue-rotate(0deg)}50%{filter:hue-rotate(28deg)}}
@keyframes fxDash{from{stroke-dashoffset:1800}to{stroke-dashoffset:0}}
.fx-orbs{position:absolute;inset:-40px -20px;overflow:hidden;z-index:-1;pointer-events:none;border-radius:24px}
.fx-orbs i{position:absolute;border-radius:50%;filter:blur(70px);opacity:.5;animation:fxFloat 16s ease-in-out infinite}
.fx-orbs i:nth-child(1){width:420px;height:420px;left:-90px;top:-120px;background:radial-gradient(circle,#1d4ed8 0%,transparent 70%)}
.fx-orbs i:nth-child(2){width:380px;height:380px;right:-70px;top:60px;background:radial-gradient(circle,#7c3aed 0%,transparent 70%);animation-delay:-6s}
.fx-orbs i:nth-child(3){width:300px;height:300px;left:38%;bottom:-140px;background:radial-gradient(circle,#0e7490 0%,transparent 70%);animation-delay:-11s}
.fx-topbar{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:2px 0 14px;animation:fxIn .5s ease both}
.fx-fresh{font-size:11.5px;color:#7f8db1;margin-left:auto}
.fx-hero{display:flex;gap:26px;flex-wrap:wrap;padding:26px 28px;border-radius:20px;background:linear-gradient(135deg,rgba(37,99,235,.16),rgba(124,58,237,.13) 55%,rgba(6,182,212,.1));border:1px solid rgba(255,255,255,.12);backdrop-filter:blur(18px);box-shadow:0 18px 50px rgba(2,6,23,.45),inset 0 1px 0 rgba(255,255,255,.08);animation:fxIn .55s .05s ease both}
.fx-hero-l{flex:1 1 420px;min-width:300px}
.fx-hero-r{display:flex;flex-direction:column;align-items:center;gap:10px;flex:0 1 300px;justify-content:center}
.fx-eyebrow{display:flex;align-items:center;gap:12px;flex-wrap:wrap;font:700 11px/1 'Inter',sans-serif;letter-spacing:1.6px;color:#8fa0c5}
.fx-big{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap;margin:14px 0 10px}
.fx-big .fx-num{font:800 56px/1 'Sora',sans-serif;letter-spacing:-2px;background:linear-gradient(100deg,#e2ecff,#93c5fd 50%,#c4b5fd);-webkit-background-clip:text;background-clip:text;color:transparent;animation:fxHue 9s ease-in-out infinite}
.fx-big-tag{font:700 14px/1.2 'Inter',sans-serif}
.fx-sent{font-size:14.5px;line-height:1.65;color:#c7d2ea;max-width:560px}
.fx-sent b{color:#fff}
.fx-year{margin-top:12px;font-size:13px;color:#8fa0c5;padding-top:10px;border-top:1px solid rgba(255,255,255,.08)}
.fx-scen{display:inline-flex;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius:999px;padding:2px}
.fx-scen-b{border:0;background:transparent;color:#8fa0c5;font:600 11px/1 'Inter',sans-serif;padding:6px 12px;border-radius:999px;cursor:pointer;letter-spacing:.4px;transition:.2s}
.fx-scen-b.on{background:rgba(255,255,255,.14);color:#fff}
.fx-ring{width:128px;height:128px;border-radius:50%;background:conic-gradient(var(--rc) calc(var(--p)*1%),rgba(255,255,255,.07) 0);display:grid;place-items:center;box-shadow:0 0 34px color-mix(in srgb,var(--rc) 32%,transparent);transition:background .6s}
.fx-ring-in{width:96px;height:96px;border-radius:50%;background:#0b1226;display:grid;place-items:center;text-align:center}
.fx-ring-in b{font:800 26px/1 'Sora',sans-serif}
.fx-ring-in small{display:block;font-size:10px;color:#7f8db1;letter-spacing:1px;text-transform:uppercase}
.fx-verdict{font:800 17px/1 'Sora',sans-serif;letter-spacing:-.2px}
.fx-chks{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;max-width:320px}
.fx-chk{font:600 11px/1 'Inter',sans-serif;padding:6px 10px;border-radius:999px;cursor:default}
.fx-chk.ok{background:rgba(52,211,153,.13);color:#6ee7b7;border:1px solid rgba(52,211,153,.3)}
.fx-chk.no{background:rgba(251,113,133,.11);color:#fda4af;border:1px solid rgba(251,113,133,.3)}
.fx-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin:16px 0}
.fx-stat{position:relative;padding:18px;border-radius:16px;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.1);backdrop-filter:blur(14px);overflow:hidden;transition:transform .25s,box-shadow .25s;animation:fxIn .5s ease both}
.fx-stat:nth-child(2){animation-delay:.06s}.fx-stat:nth-child(3){animation-delay:.12s}.fx-stat:nth-child(4){animation-delay:.18s}
.fx-stat:hover{transform:translateY(-3px)}
.fx-stat::before{content:"";position:absolute;left:0;right:0;top:0;height:2.5px;border-radius:3px}
.fx-stat.glow-r::before{background:linear-gradient(90deg,#fb7185,transparent)}
.fx-stat.glow-v::before{background:linear-gradient(90deg,#a78bfa,transparent)}
.fx-stat.glow-b::before{background:linear-gradient(90deg,#38bdf8,transparent)}
.fx-stat.glow-a::before{background:linear-gradient(90deg,#fbbf24,transparent)}
.fx-stat.glow-r:hover{box-shadow:0 12px 34px rgba(251,113,133,.16)}
.fx-stat.glow-v:hover{box-shadow:0 12px 34px rgba(167,139,250,.16)}
.fx-stat.glow-b:hover{box-shadow:0 12px 34px rgba(56,189,248,.16)}
.fx-stat.glow-a:hover{box-shadow:0 12px 34px rgba(251,191,36,.16)}
.fx-stat-ic{font-size:20px;margin-bottom:8px}
.fx-stat-v{font:800 30px/1 'Sora',sans-serif;letter-spacing:-1px;color:#f1f5ff}
.fx-stat-l{font:700 12.5px/1.3 'Inter',sans-serif;color:#c7d2ea;margin-top:6px}
.fx-stat-sub{font-size:11.5px;color:#7f8db1;margin-top:4px;line-height:1.5}
.fx-card{padding:20px 22px;border-radius:18px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1);backdrop-filter:blur(14px);margin:16px 0;animation:fxIn .55s .1s ease both}
.fx-card-h{display:flex;align-items:center;gap:12px;flex-wrap:wrap;font:700 14px/1.3 'Sora',sans-serif;color:#e5ecff;margin-bottom:12px}
.fx-legend{display:flex;align-items:center;gap:8px;margin-left:auto;font:500 11px/1 'Inter',sans-serif;color:#8fa0c5}
.fx-legend i{width:14px;height:3px;border-radius:2px;display:inline-block}
.fx-leg-band{color:#7f8db1}
.fx-chart-note{margin-top:10px;font-size:12.5px;line-height:1.65;color:#8fa0c5}
.fx-draw{stroke-dasharray:1800;animation:fxDash 1.6s .2s ease-out both}
.fx-sec{font:800 15px/1 'Sora',sans-serif;letter-spacing:-.2px;color:#e5ecff;margin:26px 0 12px;animation:fxIn .5s ease both}
.fx-acts{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px}
.fx-act{display:flex;gap:14px;align-items:flex-start;text-align:left;padding:16px;border-radius:16px;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.1);backdrop-filter:blur(12px);cursor:pointer;transition:.25s;animation:fxIn .5s ease both;position:relative;overflow:hidden}
.fx-act::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px}
.fx-act.a1::before{background:#38bdf8}.fx-act.a2::before{background:#34d399}.fx-act.a3::before{background:#fbbf24}.fx-act.a4::before{background:#a78bfa}
.fx-act:hover{transform:translateY(-3px);background:rgba(255,255,255,.07)}
.fx-act-ic{font-size:22px;filter:drop-shadow(0 0 12px rgba(255,255,255,.2))}
.fx-act-t{flex:1;min-width:0}
.fx-act-t b{display:block;font:700 14px/1.3 'Sora',sans-serif;color:#f1f5ff}
.fx-act-t small{display:block;font-size:12px;color:#a5b4d4;margin-top:3px}
.fx-act-t em{display:block;font-style:normal;font-size:11.5px;color:#7f8db1;margin-top:6px;line-height:1.5}
.fx-act-go{align-self:center;color:#64748b;font-size:20px;transition:.2s}
.fx-act:hover .fx-act-go{color:#fff;transform:translateX(3px)}
.fx-foot{margin-top:22px;font-size:11.5px;color:#64748b;text-align:center}
@media(max-width:640px){.fx-big .fx-num{font-size:40px}.fx-hero{padding:20px}.fx-fresh{display:none}}

.fx2 .bento,.fx2 .sf-card{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1);backdrop-filter:blur(14px);border-radius:16px;box-shadow:inset 0 1px 0 rgba(255,255,255,.06);transition:transform .25s,box-shadow .25s;animation:fxIn .5s ease both}
.fx2 .bento:hover,.fx2 .sf-card:hover{transform:translateY(-2px);box-shadow:0 10px 30px rgba(2,6,23,.35),inset 0 1px 0 rgba(255,255,255,.08)}
.fx2 .sf-card-h{border-bottom:1px solid rgba(255,255,255,.07)}
.fx2 .fin-qa{animation:fxIn .45s ease both}
.fx2 .fin-qa-b{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);backdrop-filter:blur(10px)}
.fx2 .fin-qa-b:hover{background:rgba(255,255,255,.09);transform:translateY(-2px)}
.fx-stat.glow-g::before{background:linear-gradient(90deg,#34d399,transparent)}
.fx-stat.glow-g:hover{box-shadow:0 12px 34px rgba(52,211,153,.16)}
@keyframes fxBar{from{width:0}to{width:var(--w)}}
.fx-team{display:flex;flex-direction:column;gap:7px}
.fx-tm-row{display:grid;grid-template-columns:30px minmax(120px,180px) 1fr 78px 92px;align-items:center;gap:10px;padding:7px 10px;border-radius:11px;transition:background .2s}
.fx-tm-row:hover{background:rgba(255,255,255,.05)}
.fx-tm-medal{font-size:16px;text-align:center}
.fx-tm-rank{display:inline-grid;place-items:center;width:20px;height:20px;border-radius:50%;background:rgba(255,255,255,.07);color:#8fa0c5;font:700 10.5px/1 'Inter',sans-serif}
.fx-tm-name{font:600 13px/1.2 'Inter',sans-serif;color:#e5ecff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fx-tm-g{font:700 8.5px/1 'Inter',sans-serif;letter-spacing:.5px;padding:2.5px 6px;border-radius:99px;margin-left:7px;vertical-align:1px;font-style:normal}
.fx-tm-g.gle{background:rgba(129,140,248,.15);color:#a5b4fc;border:1px solid rgba(129,140,248,.3)}
.fx-tm-g.gem{background:rgba(45,212,191,.13);color:#5eead4;border:1px solid rgba(45,212,191,.3)}
.fx-tm-bar{height:9px;border-radius:99px;background:rgba(255,255,255,.06);overflow:hidden}
.fx-tm-bar i{display:block;height:100%;border-radius:99px;width:var(--w);animation:fxBar 1.1s .15s cubic-bezier(.22,1,.36,1) both}
.fx-tm-bar i.ble{background:linear-gradient(90deg,#38bdf8,#818cf8);box-shadow:0 0 12px rgba(99,150,248,.4)}
.fx-tm-bar i.bem{background:linear-gradient(90deg,#2dd4bf,#34d399);box-shadow:0 0 12px rgba(45,212,191,.35)}
.fx-tm-amt{font:800 13px/1 'Sora',sans-serif;color:#f1f5ff;text-align:right}
.fx-tm-jul{font:700 10.5px/1 'Inter',sans-serif;color:#6ee7b7;background:rgba(52,211,153,.1);border:1px solid rgba(52,211,153,.25);padding:4px 8px;border-radius:99px;text-align:center;white-space:nowrap}
.fx-tm-jul.dim{color:#5b6880;background:transparent;border-color:rgba(255,255,255,.06)}
@media(max-width:640px){.fx-tm-row{grid-template-columns:24px minmax(90px,1fr) 70px;gap:8px}.fx-tm-bar,.fx-tm-jul{display:none}}

@keyframes fxGrad{0%{background-position:0% 40%}100%{background-position:100% 60%}}
.fx2 .fx-hero{background:linear-gradient(125deg,rgba(37,99,235,.18),rgba(124,58,237,.15) 45%,rgba(6,182,212,.12) 80%,rgba(37,99,235,.16));background-size:220% 220%;animation:fxIn .55s .05s ease both,fxGrad 16s ease infinite alternate}
.fx-eyebrow{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);border-radius:999px;padding:7px 14px;width:max-content;max-width:100%}
.fx-mini{display:inline-flex;align-items:flex-end;gap:3px;height:28px;margin-left:12px;vertical-align:bottom;padding:0 6px;cursor:default}
.fx-mini i{width:7px;border-radius:2.5px;transition:transform .15s}
.fx-mini i:hover{transform:scaleY(1.15)}
.fx-mini i.up{background:linear-gradient(180deg,#34d399,#0d9488)}
.fx-mini i.dn{background:linear-gradient(180deg,#fb7185,#be123c);opacity:.9}

.fx-stat-ic{display:inline-grid;place-items:center;width:36px;height:36px;border-radius:11px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.08);font-size:17px;margin-bottom:10px}
.fx-stat-v{font-size:26px}

.fx2 .sf-card-h,.fx2 .bento-h{font:700 11.5px/1.5 'Sora',sans-serif;letter-spacing:.9px;text-transform:uppercase;color:#9fb0d8}

.fx2 .fin-alert{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:12px;transition:.2s}
.fx2 .fin-alert:hover{background:rgba(255,255,255,.08);transform:translateX(3px)}

.fx2 .fin-pl{border-radius:8px;padding-left:8px;padding-right:8px;transition:background .15s}
.fx2 .fin-pl:hover{background:rgba(255,255,255,.045)}

.fx2 .fin-ratio{background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.09);border-radius:13px;backdrop-filter:blur(8px);transition:.2s}
.fx2 .fin-ratio:hover{transform:translateY(-2px);background:rgba(255,255,255,.07)}
.fx2 .fin-ratio-mtr i{box-shadow:0 0 10px rgba(255,255,255,.15)}

.fx2 .fin-jump-b{background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.09);border-radius:12px;transition:.2s}
.fx2 .fin-jump-b:hover{background:rgba(255,255,255,.08);transform:translateY(-2px)}
.fx2 table.list tr.lead-row{transition:background .15s}
.fx2 table.list tr.lead-row:hover td{background:rgba(255,255,255,.045)}

.fx2 .fx-money{background:linear-gradient(115deg,rgba(251,191,36,.13),rgba(255,255,255,.03) 55%);border-color:rgba(251,191,36,.25)}
.fx2 .fx-money:hover{box-shadow:0 10px 30px rgba(251,191,36,.12)}

.fx-scen-b.on{background:linear-gradient(135deg,#2563eb,#7c3aed);color:#fff;box-shadow:0 2px 12px rgba(99,102,241,.4)}

.fx-team{gap:3px}
.fx-tm-row{grid-template-columns:22px minmax(96px,148px) 1fr 64px 70px;gap:8px;padding:3.5px 8px;border-radius:9px}
.fx-tm-medal{font-size:13px}
.fx-tm-rank{width:17px;height:17px;font-size:9.5px}
.fx-tm-name{font-size:11.5px}
.fx-tm-g{font-size:7.5px;padding:2px 5px;margin-left:5px}
.fx-tm-bar{height:6.5px}
.fx-tm-amt{font-size:11.5px}
.fx-tm-jul{font-size:9.5px;padding:2.5px 6px}
.fx-tm-foot{margin-top:9px;padding-top:8px;border-top:1px solid rgba(255,255,255,.07);font-size:11px;color:#7f8db1}
.fx-tm-foot b{color:#e5ecff}

.fx-sec{display:flex;align-items:center;gap:10px}
.fx-sec::before{content:"";width:4px;height:16px;border-radius:3px;background:linear-gradient(180deg,#38bdf8,#a78bfa)}

.fx-legend{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.07);border-radius:999px;padding:5px 11px}
.fx-chart-note{background:rgba(255,255,255,.03);border-left:3px solid rgba(167,139,250,.5);border-radius:0 10px 10px 0;padding:9px 12px}

.fx-act-ic{display:inline-grid;place-items:center;width:38px;height:38px;border-radius:11px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08);font-size:18px;filter:none}
@media(max-width:640px){.fx-mini{display:none}.fx-tm-row{grid-template-columns:20px minmax(80px,1fr) 60px;gap:6px}.fx-tm-bar,.fx-tm-jul{display:none}}

.fxr-grp{margin:0 0 18px}
.fxr-grp:last-child{margin-bottom:4px}
.fxr-grp-h{font:700 12px/1 'Sora',sans-serif;letter-spacing:.8px;text-transform:uppercase;color:#bcc9e8;margin:0 0 10px;display:flex;align-items:center;gap:6px}
.fxr-grp-h small{font:500 11px/1 'Inter',sans-serif;letter-spacing:.2px;text-transform:none;color:#7f8db1}
.fxr-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px}
.fxr{position:relative;padding:13px 14px 12px;border-radius:13px;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.09);backdrop-filter:blur(8px);transition:.2s;overflow:hidden}
.fxr:hover{transform:translateY(-2px);background:rgba(255,255,255,.07)}
.fxr::after{content:"";position:absolute;left:0;top:0;bottom:0;width:3px}
.fxr-good::after{background:#34d399}.fxr-ok::after{background:#fbbf24}.fxr-warn::after{background:#fb7185}
.fxr-top{display:flex;align-items:center;justify-content:space-between;gap:8px}
.fxr-name{font:600 11.5px/1.3 'Inter',sans-serif;color:#aab8dd}
.fxr-badge{font:700 8.5px/1 'Inter',sans-serif;letter-spacing:.7px;text-transform:uppercase;padding:3px 7px;border-radius:99px}
.fxr-good .fxr-badge{background:rgba(52,211,153,.14);color:#6ee7b7}
.fxr-ok .fxr-badge{background:rgba(251,191,36,.13);color:#fcd34d}
.fxr-warn .fxr-badge{background:rgba(251,113,133,.13);color:#fda4af}
.fxr-val{font:800 21px/1.1 'Sora',sans-serif;letter-spacing:-.5px;margin:7px 0 9px}
.fxr-good .fxr-val{color:#6ee7b7}.fxr-ok .fxr-val{color:#fcd34d}.fxr-warn .fxr-val{color:#fda4af}
.fxr-scale{position:relative;height:6px;border-radius:99px;background:linear-gradient(90deg,rgba(251,113,133,.55),rgba(251,191,36,.55) 45%,rgba(52,211,153,.55) 75%);}
.fxr-scale::before,.fxr-scale::after{content:"";position:absolute;top:-2px;bottom:-2px;width:1.5px;background:rgba(6,10,26,.55)}
.fxr-scale::before{left:33%}.fxr-scale::after{left:66%}
@keyframes fxDot{from{left:0;opacity:0}to{left:var(--x);opacity:1}}
.fxr-dot{position:absolute;top:50%;left:var(--x);transform:translate(-50%,-50%);width:13px;height:13px;border-radius:50%;background:#fff;border:2.5px solid #0b1226;box-shadow:0 0 10px rgba(255,255,255,.5);animation:fxDot .9s .2s cubic-bezier(.22,1,.36,1) both}
.fxr-bench{font-size:10px;color:#7f8db1;margin-top:8px}
@media(max-width:640px){.fxr-grid{grid-template-columns:repeat(2,1fr)}}

.fx-freshbar{display:inline-flex;gap:6px;flex-wrap:wrap;margin-left:auto}
.fx-fresh-chip{font:700 10px/1 'Inter',sans-serif;color:var(--fc);background:color-mix(in srgb,var(--fc) 10%,transparent);border:1px solid color-mix(in srgb,var(--fc) 30%,transparent);padding:4.5px 9px;border-radius:99px;cursor:default}
.fx-tm-row{grid-template-columns:22px minmax(92px,140px) 1fr 62px 44px 62px 64px}
.fx-tm-proj{font:800 10px/1 'Sora',sans-serif;color:var(--pc,#8fa3c8);text-align:right;cursor:default;white-space:nowrap}
.fx-tm-proj.dim{color:#5b6880}
.fx-tm-bar{position:relative;overflow:visible}
.fx-tm-bar u{position:absolute;top:-3px;bottom:-3px;left:var(--x,0);width:2px;background:rgba(255,255,255,.65);border-radius:2px;pointer-events:none}
.fx-tm-tgt{font:800 10px/1 'Sora',sans-serif;color:var(--tc);text-align:right;cursor:default}
.fx-tm-tgt.dim{color:#5b6880}
.fx-au-nums{display:flex;gap:18px;flex-wrap:wrap;margin:2px 0 12px}
.fx-au-nums>div{flex:1;min-width:100px}
.fx-au-nums b{display:block;font:800 19px/1.15 'Sora',sans-serif;letter-spacing:-.4px;color:#f1f5ff}
.fx-au-nums small{display:block;font-size:10.5px;color:#7f8db1;margin-top:3px;line-height:1.4}
.fx-meter{height:9px;border-radius:99px;background:rgba(255,255,255,.07);overflow:hidden}
.fx-meter i{display:block;height:100%;border-radius:99px;width:var(--w);animation:fxBar 1.1s .15s cubic-bezier(.22,1,.36,1) both;box-shadow:0 0 12px rgba(56,189,248,.3)}
@media(max-width:640px){.fx-freshbar{display:none}.fx-tm-row{grid-template-columns:20px minmax(80px,1fr) 60px 40px}.fx-tm-bar,.fx-tm-jul,.fx-tm-proj{display:none}}

.fx-hero-r{background:rgba(8,12,30,.42);border:1px solid rgba(255,255,255,.12);border-radius:18px;padding:20px 22px;box-shadow:inset 0 1px 0 rgba(255,255,255,.06);flex:0 1 320px}
.fx-ring{width:112px;height:112px}
.fx-ring-in{width:84px;height:84px}
.fx-ring-in b{font-size:22px}
.fx-ring{box-shadow:0 0 26px color-mix(in srgb,var(--rc) 24%,transparent)}

.fx-chks{flex-direction:column;align-items:stretch;gap:5px;max-width:280px;width:100%;margin-top:4px}
.fx-chk{display:flex;align-items:center;gap:8px;justify-content:flex-start;padding:7px 11px;border-radius:9px;font-size:11.5px}
.fx-chk.ok{background:rgba(52,211,153,.09);border:1px solid rgba(52,211,153,.22)}
.fx-chk.no{background:rgba(251,113,133,.08);border:1px solid rgba(251,113,133,.2)}
.fx-verdict{margin-top:2px}

.fx-stat{overflow:hidden}
.fx-stat::after{content:"";position:absolute;right:-46px;top:-46px;width:120px;height:120px;border-radius:50%;filter:blur(34px);opacity:.16;pointer-events:none}
.fx-stat.glow-r::after{background:#fb7185}.fx-stat.glow-v::after{background:#a78bfa}
.fx-stat.glow-b::after{background:#38bdf8}.fx-stat.glow-a::after{background:#fbbf24}.fx-stat.glow-g::after{background:#34d399}
.fx-stat.glow-r .fx-stat-ic{background:rgba(251,113,133,.13);border-color:rgba(251,113,133,.28)}
.fx-stat.glow-v .fx-stat-ic{background:rgba(167,139,250,.13);border-color:rgba(167,139,250,.28)}
.fx-stat.glow-b .fx-stat-ic{background:rgba(56,189,248,.13);border-color:rgba(56,189,248,.28)}
.fx-stat.glow-a .fx-stat-ic{background:rgba(251,191,36,.13);border-color:rgba(251,191,36,.28)}
.fx-stat.glow-g .fx-stat-ic{background:rgba(52,211,153,.13);border-color:rgba(52,211,153,.28)}
.fx-stat-v{font-size:27px}
.fx-stat-l{margin-top:7px}

.fx2 .fin-qa-ic{display:inline-grid;place-items:center;width:36px;height:36px;border-radius:11px;font-size:17px;border:1px solid rgba(255,255,255,.08)}
.fx2 .fin-qa-b:nth-child(1) .fin-qa-ic{background:rgba(52,211,153,.12);border-color:rgba(52,211,153,.26)}
.fx2 .fin-qa-b:nth-child(2) .fin-qa-ic{background:rgba(251,113,133,.12);border-color:rgba(251,113,133,.26)}
.fx2 .fin-qa-b:nth-child(3) .fin-qa-ic{background:rgba(56,189,248,.12);border-color:rgba(56,189,248,.26)}
.fx2 .fin-qa-b:nth-child(4) .fin-qa-ic{background:rgba(251,191,36,.12);border-color:rgba(251,191,36,.26)}
.fx2 .fin-qa-b:nth-child(5) .fin-qa-ic{background:rgba(167,139,250,.12);border-color:rgba(167,139,250,.26)}

.fx-mini{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);border-radius:9px;padding:5px 8px 4px;height:34px;position:relative}
.fx-mini::after{content:"";position:absolute;left:6px;right:6px;bottom:4px;height:1px;background:rgba(255,255,255,.14)}

.fx-sent{font-size:15px;color:#d4ddf2}
.fx-year{display:flex;align-items:center;gap:8px;flex-wrap:wrap}

.fx-stats{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));margin:14px 0 6px}
@media(min-width:1200px){.fx-stats{grid-template-columns:repeat(6,1fr)}}
@media(min-width:700px) and (max-width:1199px){.fx-stats{grid-template-columns:repeat(3,1fr)}}
.fx-stat{padding:15px 16px}
.fx-stat-v{font-size:24px}
.fx-stat-sub{min-height:30px}

.fx-moves{margin-top:16px;padding-top:14px;border-top:1px solid rgba(255,255,255,.09)}
.fx-moves-h{font:700 11px/1 'Sora',sans-serif;letter-spacing:1.1px;text-transform:uppercase;color:#9fb0d8;margin-bottom:9px;display:flex;align-items:center;gap:7px}
.fx-moves-h span{cursor:default;color:#64748b}
.fx-move{display:flex;align-items:center;gap:11px;width:100%;text-align:left;padding:9px 12px;margin:4px 0;border-radius:12px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.09);cursor:pointer;transition:.2s}
.fx-move:hover{background:rgba(255,255,255,.09);transform:translateX(3px)}
.fx-move-rank{display:inline-grid;place-items:center;width:20px;height:20px;border-radius:7px;background:linear-gradient(135deg,#2563eb,#7c3aed);color:#fff;font:800 11px/1 'Sora',sans-serif;flex:none}
.fx-move-ic{font-size:16px;flex:none}
.fx-move-t{flex:1;min-width:0}
.fx-move-t b{display:block;font:700 13px/1.25 'Inter',sans-serif;color:#f1f5ff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fx-move-t small{display:block;font-size:10.5px;color:#8fa0c5;margin-top:2px}
.fx-move-score{font:800 12px/1 'Sora',sans-serif;color:#a5b4fc;background:rgba(129,140,248,.12);border:1px solid rgba(129,140,248,.3);padding:5px 8px;border-radius:8px;flex:none}

.fx-act.a-auto::before{background:var(--ac)}
.fx-act-sc{font-style:normal;font:700 9px/1 'Inter',sans-serif;color:#a5b4fc;background:rgba(129,140,248,.12);border:1px solid rgba(129,140,248,.28);padding:2.5px 6px;border-radius:99px;margin-left:6px;vertical-align:2px}

.skl-row{display:grid;grid-template-columns:minmax(120px,180px) 1fr 44px 76px;gap:10px;align-items:center;padding:6px 4px;border-radius:8px}
.skl-row:hover{background:rgba(255,255,255,.04)}
.skl-nm{font-size:12.5px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.skl-nm small{color:var(--mut);font-weight:500}
.skl-bar{height:8px;border-radius:99px;background:rgba(255,255,255,.08);overflow:hidden}
.skl-bar i{display:block;height:100%;border-radius:99px;transition:width .8s cubic-bezier(.22,1,.36,1)}
.skl-pct{font-size:12px;text-align:right;font-variant-numeric:tabular-nums}
.skl-go{font:700 10.5px/1 inherit;padding:5px 9px;border-radius:99px;border:1px solid rgba(56,189,248,.4);background:rgba(56,189,248,.12);color:#7dd3fc;cursor:pointer;transition:.15s}
.skl-go:hover{background:rgba(56,189,248,.22)}
.skl-ok{text-align:center;color:#22c55e;font-weight:700}
.skl-foot{margin-top:8px;padding-top:8px;border-top:1px solid var(--bord,rgba(255,255,255,.08));font-size:11.5px;color:var(--mut)}

.player-shell .radio-row input[type="radio"],.player-shell label>input[type="radio"]{width:17px;height:17px;cursor:pointer;accent-color:#1a73e8}
.player-shell .radio-row label,.player-shell .mcq label{cursor:text}

.p-volwrap{display:inline-flex;align-items:center;gap:5px;margin:0 6px}
.p-volwrap input[type="range"]{width:86px;height:4px;cursor:pointer;accent-color:#1a73e8}

#skills-card{ flex: 0 1 44%; min-width: 340px; }
@media (max-width: 980px){ #skills-card{ flex: 1 1 100%; min-width: 0; } }

.stats.dash{ grid-template-columns: repeat(auto-fit, minmax(96px, 1fr)); }
.stats.dash .stat .l{ white-space: normal; line-height: 1.25; font-size: 10.5px; }

#skills-card .w-loading{ display: grid; place-items: center; min-height: 220px; text-align: center; padding: 26px; line-height: 1.7; max-width: 380px; margin: 0 auto; }

.car-track > .card{ display: flex; flex-direction: column; }
.car-track > .card .btn{ margin-top: auto; }
.car-track > .card .meta-line{ margin-bottom: 12px; }
.card.soon{ opacity: 1; }
.card.soon > *:not(.chip-row){ opacity: .6; }
.card.soon{ border-style: dashed; }
.car-btn{ top: 50%; }

.sg-guide-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px;padding:12px 4px 4px}
.sg-g-col{background:rgba(255,255,255,.04);border:1px solid var(--bord,rgba(255,255,255,.09));border-radius:12px;padding:12px}
.sg-g-col>b{display:block;font-size:13px;margin-bottom:8px}
.sg-g-row{font-size:11.5px;line-height:1.55;color:var(--mut);margin:6px 0}
.sg-g-row i{display:block;font-style:normal;font-weight:700;font-size:9.5px;letter-spacing:.7px;text-transform:uppercase;color:#7dd3fc;margin-bottom:2px}
.sg-g-pen i{color:#fda4af}.sg-g-ok i{color:#6ee7b7}
.sg-g-foot{font-size:11.5px;line-height:1.7;color:var(--mut);padding:10px 6px 4px;border-top:1px dashed var(--bord,rgba(255,255,255,.1));margin-top:10px}
.spk-fbrow td{vertical-align:top}
.spk-fbcell{padding:6px}
.spk-fbsel{width:100%;font-size:11px;padding:5px 6px;border-radius:8px;background:var(--glass2,rgba(255,255,255,.05));border:1px solid var(--bord,rgba(255,255,255,.12));color:var(--txt,#e5ecff);margin-bottom:5px}
.spk-cfb{width:100%;min-height:52px;font-size:11.5px;line-height:1.5;padding:6px 8px;border-radius:8px;background:var(--glass2,rgba(255,255,255,.04));border:1px solid var(--bord,rgba(255,255,255,.1));color:var(--txt,#e5ecff);resize:vertical}

.spk-grid .spk-fbsel{ width:100%; font-size:12px; padding:6px; border-radius:6px; background:#fff; border:1px solid #cfd5de; color:#1c1c1c; margin-bottom:5px; }
.spk-grid .spk-cfb{ width:100%; min-height:54px; font-size:12.5px; line-height:1.5; padding:6px 8px; border-radius:6px; background:#fff; border:1px solid #cfd5de; color:#1c1c1c; resize:vertical; }
.spk-grid .spk-cfb::placeholder,.spk-grid .spk-cmt::placeholder{ color:#9aa3b2; }
.spk-grid .spk-fbrow .spk-pn small{ color:#667085 !important; }

body{background:radial-gradient(1100px 600px at 8% -8%,rgba(37,99,235,.16),transparent 60%),radial-gradient(900px 540px at 96% 12%,rgba(124,58,237,.13),transparent 55%),radial-gradient(760px 500px at 50% 110%,rgba(14,116,144,.12),transparent 60%),#070b1c;background-attachment:fixed}

body .card,body .sf-card,body .kpi,body .stat,body .mba-kpi,body .sh-wxbox,body .ab-perf,body .ab-queue,body .spk-card,body .sg-booking,body .sg-today,body .att-row,body .cust-card,body .lead-card,body .fin-bank-card{
  background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.10);backdrop-filter:blur(14px);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05)}
body .card:hover,body .sf-card:hover{box-shadow:0 10px 30px rgba(2,6,23,.35),inset 0 1px 0 rgba(255,255,255,.07)}

body .sf-card-h,body .bento-h{font:700 11.5px/1.5 'Sora',sans-serif;letter-spacing:.9px;text-transform:uppercase;color:#9fb0d8}

body .overlay .panel{background:rgba(13,18,38,.88);border:1px solid rgba(255,255,255,.12);backdrop-filter:blur(22px);box-shadow:0 24px 70px rgba(2,6,23,.6)}

body .topbar{background:#0b0f20;border-bottom:1px solid rgba(255,255,255,.07)}
body .sidenav,body .side{background:rgba(9,13,30,.55);backdrop-filter:blur(16px)}

body table.list th{background:rgba(255,255,255,.05);color:#9fb0d8;letter-spacing:.5px}
body table.list tr:hover td{background:rgba(255,255,255,.035)}

body .stu-search,body .stu-sel,body .fin-in,body .field input,body .field select,body textarea.stu-search{
  background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);backdrop-filter:blur(8px)}

body .btn{backdrop-filter:blur(8px)}
body .btn.primary{background:linear-gradient(135deg,#2563eb,#7c3aed);border:0;box-shadow:0 4px 18px rgba(99,102,241,.35)}
body .btn.primary:hover{box-shadow:0 6px 24px rgba(99,102,241,.5);transform:translateY(-1px)}

body .sf-card svg line[stroke*="rgba(255,255,255"]{opacity:.8}
body .sf-card svg path[stroke]:not([stroke="none"]){filter:drop-shadow(0 0 6px rgba(96,165,250,.18))}
body .sf-card svg circle[fill]:not([fill="none"]){filter:drop-shadow(0 0 4px rgba(255,255,255,.25))}

body .lz-seg,body .fin-tg,body .tag{backdrop-filter:blur(6px)}
body .lz-seg.on,body .fin-tg.on{background:linear-gradient(135deg,rgba(37,99,235,.5),rgba(124,58,237,.5));color:#fff;border-color:transparent}

body .att-row{border-radius:12px;margin:4px 0;padding:8px 12px;transition:.18s}
body .att-row:hover{background:rgba(255,255,255,.08)}
body .att-row.att-on{background:rgba(52,211,153,.10);border-color:rgba(52,211,153,.35)}
body .att-row.att-on .att-name{color:#6ee7b7}

.player-shell,.player-shell *{backdrop-filter:none!important}
body .spk-grid,body .spk-grid th,body .spk-grid .spk-pn{backdrop-filter:none}

.ab-q-item{display:flex;align-items:center;gap:11px;width:100%;text-align:left;padding:11px 13px;margin:0 0 8px;border-radius:13px;background:linear-gradient(120deg,rgba(52,211,153,.10),rgba(56,189,248,.06));border:1px solid rgba(52,211,153,.3);cursor:pointer;transition:.2s;font:inherit;color:var(--txt,#e5ecff)}
.ab-q-item:hover{transform:translateX(3px);background:linear-gradient(120deg,rgba(52,211,153,.16),rgba(56,189,248,.1))}
.ab-q-ic{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:10px;background:rgba(52,211,153,.14);border:1px solid rgba(52,211,153,.3);font-size:16px;flex:none}
.ab-q-t2{flex:1;min-width:0}
.ab-q-t2 b{display:block;font-size:13px;line-height:1.35;color:#d9fbe9}
.ab-q-t2 small{display:block;font-size:11px;color:#8fa0c5;margin-top:2px}
.ab-q-go{color:#34d399;font-size:18px;flex:none}

table.bdm-res{table-layout:fixed;width:100%}
table.bdm-res th:nth-child(1),table.bdm-res td:nth-child(1){width:84px}
table.bdm-res th:nth-child(2),table.bdm-res td:nth-child(2){width:20%}
table.bdm-res th:nth-child(4),table.bdm-res td:nth-child(4){width:60px;text-align:center}
table.bdm-res th:nth-child(5),table.bdm-res td:nth-child(5){width:14%}
table.bdm-res th:nth-child(6),table.bdm-res td:nth-child(6){width:104px}
table.bdm-res th:nth-child(7),table.bdm-res td:nth-child(7){width:88px;overflow:visible}
table.bdm-res th{white-space:nowrap}
table.bdm-res td{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding-top:10px;padding-bottom:10px}
table.bdm-res tr.lead-row{cursor:pointer}
table.bdm-res tr.lead-row:hover td{background:rgba(56,189,248,.06)}
.bdm-open{font:700 10.5px/1 'Inter',sans-serif;color:#7dd3fc;background:rgba(56,189,248,.1);border:1px solid rgba(56,189,248,.3);padding:4px 9px;border-radius:99px;white-space:nowrap}

.cx-kc[draggable="true"]{cursor:grab}
.cx-kc.cx-kc-drag{opacity:.45;transform:rotate(2deg) scale(.98)}
.cx-kcol.cx-kover{outline:2px dashed rgba(56,189,248,.6);outline-offset:-4px;background:rgba(56,189,248,.05);border-radius:14px}

.msn{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.msn-ring{width:78px;height:78px;border-radius:50%;background:conic-gradient(var(--rc) calc(var(--p)*1%),rgba(255,255,255,.08) 0);display:grid;place-items:center;flex:none;box-shadow:0 0 22px color-mix(in srgb,var(--rc) 25%,transparent)}
.msn-ring-in{width:58px;height:58px;border-radius:50%;background:#0b1226;display:grid;place-items:center;text-align:center}
.msn-ring-in b{font:800 19px/1 'Sora',sans-serif;display:block}
.msn-ring-in small{font-size:8.5px;color:#8fa0c5;text-transform:uppercase;letter-spacing:.6px}
.msn-mid{flex:1;min-width:200px}
.msn-gap-l{display:flex;justify-content:space-between;font-size:11px;color:#aab8dd;margin-bottom:4px}
.msn-gap-l b{font-size:11.5px}
.msn-gap-bar{height:9px;border-radius:99px;background:rgba(255,255,255,.08);overflow:hidden}
.msn-gap-bar i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,#38bdf8,#34d399);width:var(--w,0);animation:fxBar 1.1s .2s cubic-bezier(.22,1,.36,1) both}
.msn-chips{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}
.msn-chip{font:600 11px/1 'Inter',sans-serif;color:#c7d2ea;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);padding:6px 10px;border-radius:99px}
.msn-noexam{font-size:12px;color:#aab8dd;margin-bottom:6px}
.stg-row{display:grid;grid-template-columns:repeat(6,1fr);gap:10px}
.stg{display:flex;flex-direction:column;align-items:center;gap:2px;padding:10px 6px;border-radius:14px;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.1);backdrop-filter:blur(10px)}
.stg-svg{width:60px;height:60px}
.stg-arc{transition:stroke-dashoffset 1s cubic-bezier(.22,1,.36,1)}
.stg-l{font:600 9.5px/1.2 'Inter',sans-serif;letter-spacing:.4px;text-transform:uppercase;color:#8fa0c5;text-align:center}
.stg-tn{font:800 26px/60px 'Sora',sans-serif;color:#fbbf24;height:60px}
@media(max-width:860px){.stg-row{grid-template-columns:repeat(3,1fr)}}
.skl-wrap{display:flex;gap:14px;align-items:flex-start}
.skl-radar{flex:0 0 140px;text-align:center}
.skl-radar small{display:block;font-size:9.5px;color:#7f8db1;margin-top:2px}
.skl-bars{flex:1;min-width:0}
@media(max-width:700px){.skl-wrap{flex-direction:column}.skl-radar{margin:0 auto}}
.res-med{display:inline-grid;place-items:center;min-width:34px;height:34px;border-radius:50%;background:linear-gradient(135deg,rgba(37,99,235,.35),rgba(124,58,237,.35));border:1px solid rgba(129,140,248,.5);font:800 14px 'Sora',sans-serif;color:#f1f5ff;padding:0 6px}
.res-delta{font:700 10px/1 'Inter',sans-serif;padding:3px 7px;border-radius:99px;margin-left:6px;vertical-align:middle}
.res-delta.up{background:rgba(52,211,153,.14);color:#6ee7b7;border:1px solid rgba(52,211,153,.35)}
.res-delta.dn{background:rgba(251,113,133,.12);color:#fda4af;border:1px solid rgba(251,113,133,.3)}
.mkring{display:inline-block;width:30px;height:30px;vertical-align:-8px;margin-left:6px}
.mkring svg{width:30px;height:30px}
@keyframes cfxFall{from{transform:translateY(-8vh) rotate(0)}to{transform:translateY(108vh) rotate(340deg)}}
.cfx{position:fixed;inset:0;pointer-events:none;z-index:9999}
.cfx i{position:absolute;top:-6vh;animation:cfxFall 2.2s ease-in forwards;font-style:normal}
.cfx-badge{position:fixed;top:18%;left:50%;transform:translateX(-50%);z-index:10000;background:linear-gradient(135deg,#2563eb,#7c3aed);color:#fff;font:800 16px 'Sora',sans-serif;padding:12px 22px;border-radius:99px;box-shadow:0 12px 40px rgba(99,102,241,.5);animation:fxIn .4s ease both}
@media(max-width:640px){.msn{gap:10px}.hero-bookcta{position:sticky;bottom:12px;width:100%}}

tr[data-tip]:hover::after,tr[data-tip]:hover::before{display:none!important;content:none!important}

.hrw{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:12px 16px;margin-bottom:14px}
.hrw-l,.hrw-r{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.hrw-t{font:700 11.5px 'Sora',sans-serif;letter-spacing:.8px;text-transform:uppercase;color:#9fb0d8;margin-right:4px}
.hrw-chip{font:600 11px/1 'Inter',sans-serif;color:var(--c,#7dd3fc);background:color-mix(in srgb,var(--c,#7dd3fc) 10%,transparent);border:1px solid color-mix(in srgb,var(--c,#7dd3fc) 30%,transparent);padding:5px 9px;border-radius:99px}
.hrw-chip b{font-size:12px}
.hrw-out{font-size:11.5px;color:#fbbf24}
.hrw-out.ok{color:#6ee7b7}
.hrwk-row{display:flex;gap:6px}
.hrwk{flex:1;text-align:center;padding:6px 2px;border-radius:9px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08)}
.hrwk small{display:block;font-size:8.5px;color:#7f8db1;text-transform:uppercase}
.hrwk b{font-size:13px;color:#8fa0c5}
.hrwk.busy{background:rgba(251,191,36,.1);border-color:rgba(251,191,36,.35)}
.hrwk.busy b{color:#fcd34d}
.hro-row{display:flex;align-items:center;gap:9px;padding:7px 4px;font-size:13px;cursor:pointer;border-radius:8px}
.hro-row:hover{background:rgba(255,255,255,.05)}
.hro-row input{width:16px;height:16px;accent-color:#34d399}

.bdm-contact{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin:10px 0}
.bdm-prof{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:8px;margin:10px 0;padding:12px;border-radius:12px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.09)}
.bdm-prof small{display:block;font-size:9.5px;letter-spacing:.5px;text-transform:uppercase;color:#7f8db1}
.bdm-prof b{font-size:13px}
.stu-link{cursor:pointer}
.stu-link:hover b{color:#7dd3fc;text-decoration:underline}

.lv-insight{margin:10px 0 4px;padding:10px 13px;border-radius:11px;background:rgba(56,189,248,.08);border:1px solid rgba(56,189,248,.3);font-size:12px;line-height:1.65;color:#c7d2ea}
.lp-qa{margin:4px 0;font-size:12px}
.lp-qa summary{cursor:pointer;font-weight:600;color:#aab8dd;padding:4px 0}
.lp-qa summary:hover{color:#7dd3fc}
.lp-qa div{padding:4px 0 6px 14px;color:#8fa0c5;line-height:1.6}
.bdm-pitch{font:600 10.5px/1.3 'Inter',sans-serif;color:#c4b5fd;background:rgba(167,139,250,.1);border:1px solid rgba(167,139,250,.3);padding:4px 8px;border-radius:99px;white-space:nowrap}
table.bdm-res th:nth-child(6),table.bdm-res td:nth-child(6){width:150px}
table.bdm-res th:nth-child(7),table.bdm-res td:nth-child(7){width:100px}
table.bdm-res th:nth-child(8),table.bdm-res td:nth-child(8){width:84px;overflow:visible}

.hero-ctas{display:flex;gap:10px;flex-wrap:wrap}
.hero-cta2{background:linear-gradient(135deg,#2563eb,#7c3aed);border:0;color:#fff;font-weight:700;box-shadow:0 4px 18px rgba(99,102,241,.35)}
.hero-cta2:hover{box-shadow:0 6px 24px rgba(99,102,241,.5);transform:translateY(-1px)}
@media(max-width:640px){.hero-ctas{width:100%}.hero-ctas .btn{flex:1}}

.prof-sec-h{font:700 12px 'Sora',sans-serif;letter-spacing:.8px;text-transform:uppercase;color:#9fb0d8;margin:6px 0 10px}
.sqx-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:12px 0 8px}
.sqx-stat{text-align:center;padding:12px 8px;border-radius:13px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1)}
.sqx-stat b{display:block;font:800 24px 'Sora',sans-serif}
.sqx-stat small{font-size:10px;color:#8fa0c5;text-transform:uppercase;letter-spacing:.5px}
.sqx-zero{background:rgba(251,113,133,.08);border-color:rgba(251,113,133,.35)}
.sqx-zero b{color:#fda4af}
.sqx-bar{height:8px;border-radius:99px;background:rgba(255,255,255,.08);overflow:hidden}
.sqx-bar i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,#2dd4bf,#38bdf8);animation:fxBar 1s .15s cubic-bezier(.22,1,.36,1) both}
.sqx-cta{display:flex;gap:8px;flex-wrap:wrap}
.sqx-cta .btn{flex:1;min-width:150px;text-align:center}

.btn.sqx-req{background:linear-gradient(135deg,#059669,#0d9488);border:0;color:#fff;font-weight:700;box-shadow:0 4px 18px rgba(16,185,129,.35)}
.btn.sqx-req:hover{box-shadow:0 6px 24px rgba(16,185,129,.5);transform:translateY(-1px)}
.btn.sqx-req[disabled]{background:rgba(52,211,153,.15);color:#6ee7b7;box-shadow:none;border:1px solid rgba(52,211,153,.35)}

.overlay .panel .btn.sqx-req,.btn.sqx-req{background:linear-gradient(120deg,#2563eb,#7c3aed 45%,#db2777 90%)!important;background-size:180% 180%!important;border:0!important;color:#fff!important;font-weight:800;box-shadow:0 6px 24px rgba(124,58,237,.45);animation:fxGrad 5s ease infinite alternate}
.overlay .panel .btn.sqx-req:hover,.btn.sqx-req:hover{box-shadow:0 8px 30px rgba(219,39,119,.5);transform:translateY(-1px)}
.overlay .panel .btn.sqx-req[disabled],.btn.sqx-req[disabled]{background:rgba(52,211,153,.15)!important;color:#6ee7b7!important;box-shadow:none;animation:none;border:1px solid rgba(52,211,153,.35)!important}

.overlay .panel .btn[data-bdmsell]{background:linear-gradient(120deg,#059669,#34d399)!important;border:0!important;color:#fff!important;font-weight:700;box-shadow:0 4px 16px rgba(52,211,153,.35)}
.overlay .panel .btn[data-bdmcust]{background:linear-gradient(120deg,#2563eb,#38bdf8)!important;border:0!important;color:#fff!important;font-weight:700;box-shadow:0 4px 16px rgba(56,189,248,.35)}
.overlay .panel .btn[data-bdmlog]{background:linear-gradient(120deg,#d97706,#fbbf24)!important;border:0!important;color:#1a1206!important;font-weight:800;box-shadow:0 4px 16px rgba(251,191,36,.3)}
.overlay .panel .btn[data-bdmmakelead]{background:linear-gradient(120deg,#2563eb,#7c3aed)!important;border:0!important;color:#fff!important;font-weight:700;box-shadow:0 4px 16px rgba(124,58,237,.4)}
.overlay .panel .btn[data-bdmsell]:hover,.overlay .panel .btn[data-bdmcust]:hover,.overlay .panel .btn[data-bdmlog]:hover,.overlay .panel .btn[data-bdmmakelead]:hover{transform:translateY(-1px);filter:brightness(1.08)}
.bdm-band{display:inline-flex;flex-direction:column;align-items:center;gap:2px;margin:0 8px 4px 0;padding:8px 14px;border-radius:13px;background:color-mix(in srgb,var(--bc) 9%,transparent);border:1px solid color-mix(in srgb,var(--bc) 40%,transparent)}
.bdm-band b{font:800 19px 'Sora',sans-serif;color:var(--bc)}
.bdm-band small{font-size:9px;letter-spacing:.6px;text-transform:uppercase;color:#8fa0c5}
.bdm-hist{display:flex;align-items:center;gap:6px;flex-wrap:wrap;padding:8px 2px}
.bdm-h-node{display:flex;flex-direction:column;align-items:center;gap:3px}
.bdm-h-node b{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;border:2.5px solid;background:rgba(255,255,255,.04);font:800 14px 'Sora',sans-serif}
.bdm-h-node small{font-size:9px;color:#7f8db1}
.bdm-h-link{font:800 10.5px 'Inter',sans-serif;color:#7f8db1;padding:0 2px}
.bdm-h-link.up{color:#34d399}.bdm-h-link.dn{color:#fb7185}
.bdm-price{color:#6ee7b7;background:rgba(52,211,153,.1);border:1px solid rgba(52,211,153,.3);padding:3px 9px;border-radius:99px;font-size:12px}
.bdm-revban{display:flex;justify-content:space-between;align-items:center;margin-top:10px;padding:12px 16px;border-radius:13px;background:linear-gradient(115deg,rgba(52,211,153,.16),rgba(56,189,248,.1));border:1px solid rgba(52,211,153,.4)}
.bdm-revban span{font-weight:700;font-size:13px}
.bdm-revban b{font:800 20px 'Sora',sans-serif;color:#34d399}

.cx-kc-cut{display:flex;justify-content:space-between;align-items:center;margin-top:6px;padding-top:6px;border-top:1px dashed rgba(255,255,255,.1);font-size:10.5px}
.cx-kc-cut label{display:flex;align-items:center;gap:5px;color:#8fa0c5;cursor:pointer}
.cx-kc-cut input{width:13px;height:13px;accent-color:#7c3aed;cursor:pointer}
.cx-kc-cut span{color:#6ee7b7;font-weight:700}
.pipe-sim{margin:12px 0;padding:12px 16px;border-radius:13px;background:linear-gradient(115deg,rgba(52,211,153,.14),rgba(56,189,248,.08));border:1px solid rgba(52,211,153,.4);font-size:12.5px;display:flex;align-items:center;gap:10px;flex-wrap:wrap;animation:fxIn .4s ease both}
.pipe-sim.dim{background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.1);color:#8fa0c5}
.pipe-sim .fin-tg{margin-left:auto}
.ivb-mycut{border-top:1px dashed rgba(255,255,255,.15);padding-top:8px;margin-top:4px}
.ab-slabnudge{margin:10px 0;padding:10px 13px;border-radius:12px;background:linear-gradient(115deg,rgba(124,58,237,.16),rgba(37,99,235,.1));border:1px solid rgba(124,58,237,.4)}
.ab-slabnudge.top{background:rgba(52,211,153,.1);border-color:rgba(52,211,153,.35);font-size:12px}
.asn-t{font-size:11.5px;line-height:1.5;margin-bottom:7px}
.asn-bar{height:7px;border-radius:99px;background:rgba(255,255,255,.09);overflow:hidden}
.asn-bar i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,#2563eb,#7c3aed,#db2777);animation:fxBar 1s .2s cubic-bezier(.22,1,.36,1) both}
.pb-margin{font:700 10px 'Inter',sans-serif;padding:4px 9px;border-radius:99px;white-space:nowrap}
.pb-margin.hi{background:rgba(52,211,153,.12);color:#6ee7b7;border:1px solid rgba(52,211,153,.35)}
.pb-margin.lo{background:rgba(251,191,36,.1);color:#fcd34d;border:1px solid rgba(251,191,36,.3)}
.ivb-batches{display:flex;gap:7px;flex-wrap:wrap;margin:0 0 10px}
.ivb-bchip{font:600 10.5px 'Inter',sans-serif;padding:5px 10px;border-radius:99px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);color:#c7d2ea}
.ivb-bchip.bh-open{border-color:rgba(52,211,153,.4);color:#6ee7b7}
.ivb-bchip.bh-fill{border-color:rgba(251,191,36,.4);color:#fcd34d}
.ivb-bchip.bh-full{opacity:.5;text-decoration:line-through}
.cx-kc-cutl{color:#8fa0c5;font-size:10px}

.sf-new-float{position:fixed;top:78px;right:26px;z-index:45;box-shadow:0 8px 26px rgba(99,102,241,.45)}
@media(max-width:760px){.sf-new-float{top:auto;bottom:18px;right:18px}}
.n7{margin-bottom:14px}
.n7-row{display:flex;align-items:center;gap:11px;padding:8px 10px;border-radius:11px;transition:.15s}
.n7-row:hover{background:rgba(255,255,255,.06)}
.n7-row.hot{background:rgba(251,113,133,.07);border:1px solid rgba(251,113,133,.3);margin:3px 0}
.n7-d{font-size:16px;flex:none}
.n7-t{flex:1;min-width:0}
.n7-t b{display:block;font-size:12.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.n7-t small{color:#8fa0c5;font-size:10.5px}
.n7-go{color:#64748b}

.fin-side{width:200px;padding:12px 10px 40px}
.fin-sitem{padding:8px 10px;font-size:12.5px}
.fin-shell .sf-wrap.sf-fin{max-width:none;width:100%;padding:24px 28px 72px}
@media(min-width:1800px){.fin-shell .sf-wrap.sf-fin{max-width:1680px;margin:0 auto}}

.sf-new-float{top:74px;right:22px}
.tb-newlead{margin:0 10px 0 6px;padding:8px 16px;font-size:13px;white-space:nowrap}
.sf-new-float{display:none}

.ab-head-r{display:flex;align-items:center;gap:12px;flex-wrap:nowrap}
.ab-head-r .gsearch{width:380px;max-width:44vw;flex:0 1 auto}
.ab-head-r .sf-new{flex-shrink:0;white-space:nowrap}
@media(max-width:900px){.ab-head-r{flex-wrap:wrap}.ab-head-r .gsearch{max-width:100%;width:100%}}

.reg-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:22px;padding-top:18px;border-top:1px solid rgba(255,255,255,.09)}
.reg-actions .btn{margin:0;height:42px;display:inline-flex;align-items:center}
@media(max-width:700px){.reg-actions .btn{flex:1 1 100%;justify-content:center}}

.ab-head-r{justify-content:flex-end}
.ab-head-r .gsearch{flex:1 1 auto;width:auto;max-width:none}

.bkx{font-family:Inter,sans-serif}
.bkx-h{display:flex;align-items:center;justify-content:space-between;background:#e2136e;margin:-22px -22px 0;padding:14px 18px;border-radius:14px 14px 0 0}
.bkx-logo{font-family:Sora,sans-serif;font-weight:800;font-size:20px;color:#fff;font-style:italic}
.bkx-mch{font-size:11.5px;color:rgba(255,255,255,.85)}
.bkx-amt{text-align:center;padding:18px 0 6px}
.bkx-amt small{display:block;color:var(--mut);font-size:12px;margin-bottom:2px}
.bkx-amt b{font-size:30px;font-family:Sora,sans-serif;color:#e2136e}
.bkx-step{padding:10px 4px}
.bkx-step label{display:block;font-size:12px;color:var(--mut);margin-bottom:6px}
.bkx-step input{width:100%;box-sizing:border-box;padding:12px 14px;border-radius:10px;border:1.5px solid rgba(226,19,110,.4);background:rgba(226,19,110,.05);color:var(--txt);font-size:16px;letter-spacing:.12em;outline:none}
.bkx-step input:focus{border-color:#e2136e}
.bkx-btn{width:100%;margin-top:12px;padding:13px;border:none;border-radius:10px;background:#e2136e;color:#fff;font-weight:800;font-size:14.5px;cursor:pointer;font-family:inherit}
.bkx-btn:hover{background:#c31161}
.bkx-spin{font-size:34px;color:#e2136e;animation:bkxspin 1s linear infinite;display:inline-block;margin:10px 0 4px}
@keyframes bkxspin{to{transform:rotate(360deg)}}
.bkx-foot{font-size:10.5px;color:var(--mut);text-align:center;margin-top:10px;border-top:1px dashed var(--bord);padding-top:8px}
.overlay .panel .btn.bkx-open{background:rgba(226,19,110,.12)!important;border-color:rgba(226,19,110,.55)!important;color:#f9679f!important}

.rdy-t{font-weight:800;font-family:Sora,sans-serif;font-size:14px;margin-bottom:5px}
.rdy-t small{color:var(--mut);font-weight:600;font-family:Inter,sans-serif;font-size:11.5px}
.rdy-row{display:flex;align-items:center;gap:14px}
.rdy-big{font-family:Sora,sans-serif;font-weight:800;font-size:28px;line-height:1}
.rdy-mid{flex:1;min-width:0}
.rdy-bar{position:relative;height:8px;border-radius:99px;background:rgba(127,127,127,.15);overflow:visible}
.rdy-bar i{display:block;height:100%;border-radius:99px;transition:width .6s ease}
.rdy-tgt{position:absolute;top:-8px;transform:translateX(-50%);font-size:12px}
.rdy-sub{font-size:11.5px;color:var(--mut);margin-top:4px;line-height:1.4}
.rdy-pct{text-align:center;font-family:Sora,sans-serif;font-weight:800;font-size:18px;line-height:1}
.rdy-pct small{display:block;font-size:9.5px;color:var(--mut);font-family:Inter,sans-serif;font-weight:600}
.nb-card{margin:14px 0}
.nb-row{display:flex;align-items:center;gap:10px;padding:7px 0;border-bottom:1px dashed var(--bord)}
.nb-row:last-child{border-bottom:none}
.nb-nm{flex:1;font-size:13px;font-weight:600}
.nb-nm small{color:var(--mut);font-weight:500}
.nb-st{font-size:10.5px;font-weight:700;padding:2px 9px;border-radius:99px;white-space:nowrap}
.nb-st.due{background:rgba(251,191,36,.14);color:#fbbf24;border:1px solid rgba(251,191,36,.4)}
.nb-st.ok{background:rgba(52,211,153,.12);color:#34d399;border:1px solid rgba(52,211,153,.35)}
.nb-st.wait{background:rgba(127,127,127,.1);color:var(--mut);border:1px solid var(--bord)}
.plan-card{margin:14px 0}
.plan-days{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px;margin-top:12px}
.plan-day{background:rgba(127,127,127,.05);border:1px solid var(--bord);border-radius:12px;padding:10px 12px}
.plan-day>b{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--mut);margin-bottom:7px;font-family:Sora,sans-serif}
.plan-it{display:flex;gap:8px;align-items:flex-start;font-size:12.5px;padding:4px 0;cursor:pointer}
.plan-it input{margin-top:2px;accent-color:rgb(var(--accent))}
.plan-it.done span{text-decoration:line-through;color:var(--mut)}
.cap-bar{display:inline-block;width:80px;height:8px;border-radius:99px;background:rgba(127,127,127,.15);overflow:hidden;vertical-align:middle;margin-right:7px}
.cap-bar i{display:block;height:100%;border-radius:99px}

.doc-row{display:flex;align-items:center;gap:10px;padding:7px 0;border-bottom:1px dashed var(--bord)}
.doc-row:last-child{border-bottom:none}
.doc-ic{font-size:17px}
.doc-nm{flex:1;font-size:13px;font-weight:600;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.doc-nm small{color:var(--mut);font-weight:500}
.ck-row{display:flex;align-items:center;gap:9px;margin-top:12px;padding-top:11px;border-top:1px dashed var(--bord);font-size:12.5px;color:var(--mut)}
.ck-row.ok{color:#34d399;font-weight:700}
.ck-row input{width:74px;padding:7px 10px;border-radius:9px;border:1px solid var(--bord);background:rgba(127,127,127,.07);color:var(--txt);font-size:15px;letter-spacing:.25em;text-align:center;outline:none}
.ck-row input:focus{border-color:rgb(var(--accent))}
.grp-code-chip{margin:8px 0 2px;font-size:12px;color:var(--mut);background:rgba(56,189,248,.08);border:1px dashed rgba(56,189,248,.4);border-radius:9px;padding:6px 10px}
.grp-code-chip b{color:#38bdf8;font-family:Sora,sans-serif;letter-spacing:.15em;font-size:13.5px}

.rail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px}
.rail-btn{display:flex;flex-direction:column;gap:4px;align-items:center;padding:16px 10px;border-radius:12px;border:1.5px solid var(--bord);background:rgba(127,127,127,.05);cursor:pointer;transition:.15s;font-family:inherit;color:var(--txt)}
.rail-btn b{font-family:Sora,sans-serif;font-size:15px;color:var(--rc)}
.rail-btn small{font-size:10px;color:var(--mut);text-align:center}
.rail-btn:hover{border-color:var(--rc);background:color-mix(in srgb,var(--rc) 8%,transparent);transform:translateY(-2px)}

.ram-banner{background:linear-gradient(90deg,rgba(16,88,66,.9),rgba(9,60,90,.9));color:#d9f7e8;font-size:12.5px;font-weight:700;text-align:center;padding:7px 14px;letter-spacing:.01em;border-bottom:1px solid rgba(52,211,153,.35)}
.ram-chip{display:inline-block;font-size:10.5px;font-weight:700;color:#5eead4;background:rgba(20,184,166,.1);border:1px dashed rgba(20,184,166,.45);border-radius:8px;padding:1px 8px;margin-left:4px}
.ref-code{font-family:Sora,sans-serif;font-weight:800;font-size:19px;letter-spacing:.14em;color:#fbbf24;background:rgba(251,191,36,.09);border:1.5px dashed rgba(251,191,36,.5);border-radius:10px;padding:7px 16px}

.vfl{display:flex;align-items:center;gap:10px;padding:6px 0;font-size:12.5px}
.vfl>span:first-child{width:92px;color:var(--mut);font-weight:600}
.vfl-bar{flex:1;height:9px;border-radius:99px;background:rgba(127,127,127,.14);overflow:hidden}
.vfl-bar i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,#38bdf8,#a78bfa)}
.vfl b{min-width:20px;text-align:right}
.fe-team{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;margin-top:8px}

.vl-board{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}
@media(max-width:1100px){.vl-board{grid-template-columns:repeat(3,minmax(0,1fr))}}
.vl-col{background:rgba(127,127,127,.04);border:1px solid var(--bord);border-radius:14px;padding:10px;min-height:120px}
.vl-col-h{display:flex;align-items:center;justify-content:space-between;margin-bottom:9px}
.vl-card{background:rgba(127,127,127,.07);border:1px solid var(--bord);border-radius:11px;padding:9px 11px;margin-bottom:8px;cursor:pointer;transition:.13s}
.vl-card:hover{border-color:rgb(var(--accent));transform:translateY(-1px)}
.vl-hot{border-color:rgba(251,113,133,.55);box-shadow:0 0 14px rgba(251,113,133,.12);animation:vlpulse 2s infinite}
@keyframes vlpulse{50%{box-shadow:0 0 20px rgba(251,113,133,.25)}}
.vl-nm{font-weight:700;font-size:12.5px}
.vl-meta{font-size:10.5px;color:var(--mut);margin-top:2px}
.vl-empty{color:var(--mut);text-align:center;font-size:12px;padding:12px 0}
.pb-step{display:flex;flex-direction:column;gap:2px;padding:9px 12px;border:1px solid var(--bord);border-left:3px solid rgba(56,189,248,.6);border-radius:0 10px 10px 0;margin:7px 0;background:rgba(127,127,127,.04)}
.pb-step b{font-size:13px}
.pb-step span{font-size:12px;color:var(--mut)}
.vs-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:12px}
.vs-card .sf-card-b{padding-top:6px}

.vu-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(420px,1fr));gap:12px}
@media(max-width:900px){.vu-grid{grid-template-columns:1fr}}
.vu-stats{display:flex;gap:18px;margin:4px 0 6px}
.vu-stats span{display:flex;flex-direction:column;align-items:center}
.vu-stats b{font-family:Sora,sans-serif;font-size:17px}
.vu-stats small{font-size:9.5px;color:var(--mut);text-transform:uppercase;letter-spacing:.05em}

.pol-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}
.pol-card{display:flex;flex-direction:column;align-items:flex-start;gap:3px;padding:13px 14px;border-radius:13px;border:1px solid var(--bord);background:rgba(127,127,127,.05);cursor:pointer;text-align:left;font-family:inherit;color:var(--txt);transition:.14s}
.pol-card:hover{border-color:rgb(var(--accent));transform:translateY(-2px)}
.pol-ic{font-size:20px}
.pol-card b{font-size:13px}
.pol-card small{font-size:11px;color:var(--mut)}
.pol-read{font-size:11px;font-weight:800;color:rgb(var(--accent));margin-top:4px}
.pol-par{display:flex;gap:10px;margin:9px 0;align-items:flex-start}
.pol-n{flex-shrink:0;width:20px;height:20px;border-radius:99px;background:rgba(56,189,248,.14);color:#38bdf8;font-size:11px;font-weight:800;display:grid;place-items:center;margin-top:2px}
.pol-par p{margin:0;font-size:13px;line-height:1.55;color:var(--txt)}
.pol-mini{display:flex;align-items:center;gap:8px;width:100%;padding:8px 10px;border-radius:10px;border:1px solid transparent;background:transparent;color:var(--txt);cursor:pointer;font-family:inherit;font-size:12.5px;text-align:left}
.pol-mini span{flex:1;font-weight:600}
.pol-mini i{color:var(--mut);font-style:normal}
.pol-mini:hover{background:rgba(127,127,127,.08);border-color:var(--bord)}

.cf-filters{display:flex;gap:9px;flex-wrap:wrap}
.cf-filters .stu-sel{min-width:0}
.cf-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(390px,1fr));gap:12px}
@media(max-width:860px){.cf-grid{grid-template-columns:1fr}}
.cf-card{background:rgba(127,127,127,.05);border:1px solid var(--bord);border-radius:15px;padding:14px 16px;transition:.14s}
.cf-card:hover{border-color:rgb(var(--accent));transform:translateY(-2px)}
.cf-partner{border-color:rgba(251,191,36,.4);background:linear-gradient(180deg,rgba(251,191,36,.05),rgba(127,127,127,.05))}
.cf-top{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}
.cf-uni{font-size:12px;color:var(--mut)}
.cf-uni b{color:var(--txt);font-size:12.5px}
.cf-pbadge{flex-shrink:0;font-size:10px;font-weight:800;color:#fbbf24;background:rgba(251,191,36,.12);border:1px solid rgba(251,191,36,.45);border-radius:99px;padding:2px 9px;white-space:nowrap}
.cf-course{font-family:Sora,sans-serif;font-weight:800;font-size:15.5px;margin:6px 0 8px}
.cf-chips{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:10px}
.cf-foot{display:flex;justify-content:space-between;align-items:flex-end;gap:10px;flex-wrap:wrap}
.cf-fee b{font-family:Sora,sans-serif;font-size:16px;color:#34d399}
.cf-fee small{display:block;font-size:10.5px;color:var(--mut)}
.cf-acts{display:flex;gap:7px}

.va-board{grid-template-columns:repeat(7,minmax(0,1fr))}
@media(max-width:1250px){.va-board{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:820px){.va-board{grid-template-columns:repeat(2,minmax(0,1fr))}}
.va-docbar{height:5px;border-radius:99px;background:rgba(127,127,127,.18);overflow:hidden;margin-top:6px}
.va-docbar i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,#38bdf8,#34d399)}

.vmm{border-color:rgba(251,191,36,.35);background:linear-gradient(180deg,rgba(251,191,36,.05),transparent)}
.vml-me{background:rgba(56,189,248,.07);border-radius:9px;padding-left:8px!important;padding-right:8px!important}
.vwall{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:9px}
.vwall-it{display:flex;flex-direction:column;align-items:center;gap:2px;padding:10px 6px;border:1px solid rgba(34,197,94,.35);border-radius:12px;background:rgba(34,197,94,.06)}
.vwall-flag{font-size:22px}
.vwall-it b{font-size:11.5px}
.vwall-it small{font-size:9.5px;color:var(--mut)}

.va-quicklog{display:flex;gap:7px;flex-wrap:wrap;margin:6px 0}
.va-notewrap{margin:6px 0 8px}
.va-acts{max-height:200px;overflow:auto;border:1px solid var(--bord);border-radius:11px;padding:4px 10px;background:rgba(127,127,127,.04)}
.va-act{display:flex;gap:9px;padding:7px 0;border-bottom:1px dashed var(--bord)}
.va-act:last-child{border-bottom:none}
.va-act-ic{font-size:14px;margin-top:1px}
.va-act-b{min-width:0;flex:1}
.va-act-t{font-size:12.5px}
.va-act-b small{font-size:10.5px;color:var(--mut)}

.nb-axes{display:flex;justify-content:space-between;font-size:10.5px;color:var(--mut);margin:12px 2px 6px;text-transform:uppercase;letter-spacing:.06em}
.nb-grid{display:flex;flex-direction:column;gap:8px}
.nb-rowg{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.nb-cell{border:1px solid var(--bord);border-top:3px solid var(--nc);border-radius:13px;background:rgba(127,127,127,.04);padding:9px 10px;min-height:86px}
.nb-cell-h{font-size:11.5px;font-weight:800;color:var(--nc);margin-bottom:7px;cursor:help}
.nb-emp{display:inline-flex;flex-direction:column;align-items:flex-start;margin:0 6px 6px 0;padding:5px 10px;border-radius:9px;border:1px solid var(--bord);background:rgba(127,127,127,.08);color:var(--txt);cursor:pointer;font-family:inherit;font-size:12px;font-weight:700;transition:.12s}
.nb-emp small{font-size:9px;color:var(--mut);font-weight:500}
.nb-emp:hover{border-color:var(--nc);transform:translateY(-1px)}
.nb-none{color:var(--mut);font-size:11px;text-align:center;padding:8px 0}

.sc-stars{display:flex;gap:4px}
.sc-star{width:30px;height:26px;border-radius:7px;border:1px solid var(--bord);background:rgba(127,127,127,.06);color:var(--mut);cursor:pointer;font-family:inherit;font-weight:700}
.sc-star.on{background:rgba(251,191,36,.18);border-color:rgba(251,191,36,.6);color:#fbbf24}
.enps-row{display:flex;gap:5px;flex-wrap:wrap;margin-top:10px}
.enps-b{width:34px;height:32px;border-radius:9px;border:1px solid var(--bord);background:rgba(127,127,127,.06);color:var(--txt);cursor:pointer;font-weight:800;font-family:inherit;transition:.12s}
.enps-b:hover{transform:translateY(-2px)}
.enps-b.d:hover{border-color:#fb7185;color:#fb7185}
.enps-b.p:hover{border-color:#fbbf24;color:#fbbf24}
.enps-b.x:hover{border-color:#34d399;color:#34d399}

.acdm-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:10px;margin-top:8px}
.acdm-card{display:flex;gap:11px;align-items:flex-start;text-align:left;padding:13px 14px;border-radius:13px;border:1px solid var(--bord);background:rgba(127,127,127,.05);color:var(--txt);cursor:pointer;font-family:inherit;transition:.14s}
.acdm-card:hover:not(:disabled){border-color:rgb(var(--accent));transform:translateY(-2px)}
.acdm-card.done{border-color:rgba(52,211,153,.45);background:rgba(52,211,153,.05)}
.acdm-card.locked{opacity:.45;cursor:not-allowed}
.acdm-st{font-size:18px}
.acdm-t b{display:block;font-size:13px}
.acdm-t small{color:var(--mut);font-size:10.5px}
.acd-p{font-size:13px;line-height:1.6;margin:7px 0;color:var(--txt)}
.acd-ul{margin:6px 0 6px 18px;font-size:12.5px;line-height:1.55}
.acd-ul li{margin:3px 0}
.acd-note{border-left:3px solid rgba(56,189,248,.6);background:rgba(56,189,248,.07);border-radius:0 9px 9px 0;padding:8px 12px;font-size:12.5px;margin:8px 0}
.acd-micro{border:1px dashed var(--bord);border-radius:10px;padding:8px 12px;margin:8px 0;font-size:12.5px}
.acd-micro summary{cursor:pointer;font-weight:700;font-size:12.5px}
.acd-scen{border:1px solid rgba(167,139,250,.4);border-radius:12px;padding:12px 14px;margin:12px 0;background:rgba(167,139,250,.05)}
.acd-scen-h{font-weight:800;font-size:13px;margin-bottom:4px;color:#c4b5fd}
.acd-opt{display:block;width:100%;text-align:left;margin:6px 0;padding:9px 12px;border-radius:10px;border:1px solid var(--bord);background:rgba(127,127,127,.06);color:var(--txt);cursor:pointer;font-family:inherit;font-size:12.5px;transition:.12s}
.acd-opt:hover{border-color:#a78bfa}
.acd-opt.on{border-color:#a78bfa;background:rgba(167,139,250,.14)}
.acd-fb{font-size:12.5px;margin:8px 0;padding:8px 12px;border-radius:9px;background:rgba(127,127,127,.08)}
.acd-q{border-top:1px dashed var(--bord);padding:10px 0;font-size:13px}
.acd-q b{display:block;margin-bottom:5px}

.acx-hero{display:flex;gap:18px;align-items:center;flex-wrap:wrap;margin-top:14px;padding:16px 18px;border-radius:16px;border:1px solid rgba(56,189,248,.3);background:linear-gradient(135deg,rgba(56,189,248,.08),rgba(167,139,250,.06))}
.acx-rank{flex:1;min-width:220px}
.acx-rank-t{font-family:Sora,sans-serif;font-weight:800;font-size:19px}
.acx-xpbar{height:10px;border-radius:99px;background:rgba(127,127,127,.18);overflow:hidden;margin:8px 0 4px}
.acx-xpbar i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,#38bdf8,#a78bfa,#fbbf24);transition:width .6s ease}
.acx-xps{font-size:11.5px;color:var(--mut)}
.acx-stats{display:flex;gap:8px;flex-wrap:wrap}
.acx-chip{font-size:11.5px;font-weight:700;padding:5px 12px;border-radius:99px;border:1px solid var(--bord);background:rgba(127,127,127,.07)}
.acx-badges{display:flex;gap:7px;flex-wrap:wrap;margin-top:10px}
.acx-badge{font-size:11px;font-weight:700;padding:4px 11px;border-radius:99px;border:1px solid rgba(251,191,36,.45);background:rgba(251,191,36,.08);color:#fde68a}
.acx-daily{border-color:rgba(251,191,36,.35)}
.acx-daily-done{margin-top:12px;font-size:12.5px;color:#34d399;font-weight:700}
.acx-steps{display:flex;align-items:center;gap:6px;margin:10px 0 14px;flex-wrap:wrap}
.acx-dot{padding:6px 13px;border-radius:99px;border:1px solid var(--bord);background:rgba(127,127,127,.06);color:var(--mut);font-family:inherit;font-size:11.5px;font-weight:700;cursor:pointer}
.acx-dot.on{border-color:rgb(var(--accent));color:var(--txt);background:rgba(var(--accent),.12)}
.acx-dot.done{color:#34d399;border-color:rgba(52,211,153,.4)}
.acx-dot-line{flex:0 0 14px;height:1px;background:var(--bord)}
.acx-take{display:grid;gap:7px;margin:8px 0}
.acx-take-it{display:flex;gap:10px;align-items:flex-start;font-size:12.5px;padding:8px 12px;border-radius:10px;background:rgba(52,211,153,.06);border:1px solid rgba(52,211,153,.25)}
.acx-take-it span{flex-shrink:0;width:20px;height:20px;border-radius:99px;background:rgba(52,211,153,.2);color:#34d399;font-weight:800;font-size:11px;display:grid;place-items:center}
.acx-microxp{font-size:9.5px;font-weight:800;color:#fbbf24;background:rgba(251,191,36,.1);border-radius:99px;padding:1px 7px;margin-left:6px}
.acx-coach{display:flex;gap:10px;margin:10px 0;padding:11px 13px;border-radius:13px;border:1px solid var(--bord);background:rgba(127,127,127,.05);animation:fxIn .3s ease both}
.acx-coach.good{border-color:rgba(52,211,153,.5);background:rgba(52,211,153,.07)}
.acx-coach.bad{border-color:rgba(251,113,133,.5);background:rgba(251,113,133,.06)}
.acx-coach-ava{font-size:26px;line-height:1}
.acx-coach-v{font-weight:800;font-size:12.5px;margin-bottom:2px}
.acx-coach.good .acx-coach-v{color:#34d399}
.acx-coach.bad .acx-coach-v{color:#fb7185}
.acx-coach-t{font-size:12.5px;line-height:1.55}
.acx-playbook{margin-top:8px;font-size:12.5px;line-height:1.55;border-left:3px solid rgba(167,139,250,.6);background:rgba(167,139,250,.08);border-radius:0 9px 9px 0;padding:8px 11px}
.acd-opt.good{border-color:rgba(52,211,153,.6)!important;background:rgba(52,211,153,.12)!important}
.acd-opt.bad{border-color:rgba(251,113,133,.6)!important;background:rgba(251,113,133,.1)!important}

.em-filters{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:14px 0 12px}
.em-search{flex:1;min-width:220px;max-width:420px;background:rgba(127,127,127,.07);border:1px solid var(--bord);border-radius:10px;padding:9px 12px;color:var(--ink,#e8eef7);font-size:13px}
.em-search:focus{outline:none;border-color:rgb(var(--accent))}
.em-sel{background:rgba(127,127,127,.07);border:1px solid var(--bord);border-radius:10px;padding:9px 12px;color:var(--ink,#e8eef7);font-size:13px}
.em-showing{font-size:11.5px;color:var(--mut);margin-left:auto}
.em-board{display:flex;gap:12px;overflow-x:auto;padding:2px 2px 12px;scroll-snap-type:x proximity}
.em-col{flex:0 0 236px;background:rgba(127,127,127,.04);border:1px solid var(--bord);border-radius:14px;padding:10px;scroll-snap-align:start}
.em-col-h{display:flex;align-items:center;gap:7px;margin-bottom:9px;font-size:12px}
.em-col-h b{margin-left:auto;font-size:13px}
.em-col-dot{width:9px;height:9px;border-radius:50%;flex:0 0 auto}
.em-col-t{font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.em-col-b{max-height:64vh;overflow-y:auto;padding-right:2px}
.em-card{margin-bottom:8px}
.em-chips{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}
.em-chip{font-size:9.5px;padding:2px 6px;border-radius:6px;background:rgba(127,127,127,.1);border:1px solid var(--bord);color:var(--mut);white-space:nowrap}
.em-chip.ok{background:rgba(34,197,94,.14);border-color:rgba(34,197,94,.4);color:#34d399}
.em-chip.warn{background:rgba(251,113,133,.13);border-color:rgba(251,113,133,.38);color:#fb7185}
.em-dh{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}
.em-dt{font-size:19px;font-weight:800}
.em-dsub{font-size:12px;color:var(--mut);margin-top:3px}
.em-track{display:flex;gap:3px;margin-bottom:14px}
.em-trk{flex:1;height:6px;border-radius:4px;background:rgba(127,127,127,.16)}
.em-trk.on{background:var(--sc,#22c55e)}
.em-dgrid{display:grid;grid-template-columns:1fr 1fr;gap:7px 18px}
.em-drow{display:flex;justify-content:space-between;gap:10px;font-size:12px;padding:5px 0;border-bottom:1px solid var(--bord)}
.em-drow span{color:var(--mut);flex:0 0 auto}
.em-drow b{text-align:right}
.em-dnotes{margin-top:12px;background:rgba(127,127,127,.05);border:1px solid var(--bord);border-radius:10px;padding:10px 12px}
.em-dnotes span{font-size:11px;color:var(--mut)}
.em-dnotes p{margin:4px 0 0;font-size:12.5px;line-height:1.5}
.em-dapps{margin-top:12px}
.em-dapps-h{font-size:12.5px;font-weight:700;margin-bottom:7px}
.em-app{display:flex;flex-direction:column;gap:2px;padding:8px 10px;border:1px solid var(--bord);border-radius:10px;margin-bottom:6px;background:rgba(127,127,127,.04)}
.em-app b{font-size:12.5px}
.em-app-c{font-size:11px;color:var(--mut)}
.em-app-meta{font-size:10.5px;color:var(--mut);margin-top:2px}
.em-dfoot{margin-top:14px;text-align:center}
@media(max-width:640px){.em-dgrid{grid-template-columns:1fr}}

.sf-kpi-link{cursor:pointer;transition:.13s;border:1px solid transparent}
.sf-kpi-link:hover{border-color:rgb(var(--accent));transform:translateY(-1px)}
.emp-tblwrap{margin-top:6px;border:1px solid var(--bord);border-radius:12px;overflow:hidden;overflow-x:auto}
.emp-tbl{width:100%;border-collapse:collapse;font-size:12.5px;min-width:640px}
.emp-tbl thead th{text-align:left;font-size:11px;color:var(--mut);font-weight:600;padding:10px 12px;background:rgba(127,127,127,.05);border-bottom:1px solid var(--bord);position:sticky;top:0}
.emp-tbl tbody td{padding:9px 12px;border-bottom:1px solid var(--bord)}
.emp-tbl tbody tr{cursor:pointer;transition:.1s}
.emp-tbl tbody tr:hover{background:rgba(127,127,127,.06)}
.emp-tbl tbody tr:last-child td{border-bottom:0}
.emp-tag{display:inline-block;font-size:9.5px;padding:1px 6px;margin-left:7px;border-radius:6px;background:rgba(127,127,127,.12);border:1px solid var(--bord);color:var(--mut);vertical-align:middle}
.emp-exp{color:#fb923c;font-weight:700}
.fin-toolbar{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0 4px}

.fin-side-brand{font-size:15px;font-weight:800;color:var(--txt);padding:6px 10px 10px;letter-spacing:-.2px}
.fin-side-brand b{background:var(--grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
@media(max-width:860px){.fin-side-brand{width:100%}}
.bt-note{font-size:12px;color:var(--mut);line-height:1.6}
.dr-sec{font-size:11px;font-weight:800;letter-spacing:.5px;text-transform:uppercase;color:var(--mut);margin:14px 0 6px}
.nmcell{display:flex;align-items:center;gap:10px;min-width:0}
.nmcell .av{width:32px;height:32px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-weight:800;flex:none;background:rgba(56,189,248,.14);color:#7dd3fc;border:1px solid rgba(56,189,248,.35)}
.acx-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.acx-coach-b{flex:1;min-width:0}
.ma-anl{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0 2px}
.ab-q-list{display:flex;flex-direction:column;gap:7px;margin-top:8px}
.lp-bal-top{display:flex;justify-content:space-between;align-items:center;gap:8px}
.lp-act-b{display:flex;gap:6px;flex:none;flex-wrap:wrap}
.tw-w-uv{background:rgba(251,191,36,.14);color:#fbbf24;border:1px solid rgba(251,191,36,.3);border-radius:6px;padding:1px 6px;font-weight:700;font-size:11px}
.dash-wave{display:inline-block;animation:dashWave 2.6s ease-in-out infinite;transform-origin:70% 70%}
@keyframes dashWave{0%,88%,100%{transform:rotate(0)}90%{transform:rotate(16deg)}94%{transform:rotate(-8deg)}97%{transform:rotate(10deg)}}

.stu-search,.stu-sel,.fin-in,.field input,.field select,textarea.stu-search,.cx-f input,.cx-f select,.cust-fi{
  min-height:38px;font-size:13.5px;border-radius:10px;padding:8px 12px;box-sizing:border-box;color:var(--txt)}
textarea.stu-search{min-height:76px;line-height:1.5}
.stu-search::placeholder,.cx-f input::placeholder,.cust-fi::placeholder,.field input::placeholder{color:rgba(167,178,198,.55)}
body .stu-search:focus,body .stu-sel:focus,body .cx-f input:focus,body .cx-f select:focus,body .field input:focus,body .field select:focus,body .cust-fi:focus,body textarea.stu-search:focus{
  border-color:rgba(56,189,248,.65);box-shadow:0 0 0 3px rgba(56,189,248,.14);outline:none;background:rgba(255,255,255,.07)}
.cx-f small,.field label{font-size:11px;font-weight:700;letter-spacing:.02em;color:var(--mut);margin-bottom:4px;display:block}
input[type="date"].stu-search,input[type="month"].stu-search{min-width:150px;color-scheme:dark}
input[type="number"].stu-search{min-width:96px;text-align:right;font-variant-numeric:tabular-nums}
.ck-row input{min-height:38px;width:86px!important}
select.stu-sel{cursor:pointer;padding-right:28px;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%23a7b2c6' stroke-width='1.6' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center}

body .btn.primary{
  background:linear-gradient(135deg,rgba(56,189,248,.9),rgba(99,102,241,.9));border-color:rgba(125,211,252,.55);
  color:#f4faff;font-weight:800;text-shadow:0 1px 2px rgba(2,20,40,.35);box-shadow:0 4px 14px rgba(56,189,248,.22)}
body .btn.primary:hover{background:linear-gradient(135deg,rgba(56,189,248,1),rgba(99,102,241,1));box-shadow:0 6px 20px rgba(56,189,248,.32)}
body .btn.danger-line{color:#fda4af;border-color:rgba(251,113,133,.45);background:rgba(251,113,133,.07)}
body .btn.danger-line:hover{background:rgba(251,113,133,.16);border-color:rgba(251,113,133,.7);color:#fecdd3}
.btn:disabled,.btn[disabled]{opacity:.45;cursor:not-allowed;transform:none!important;box-shadow:none!important}
.btn.small{padding:6px 12px;font-size:12px;border-radius:9px;min-height:30px}
body .btn:not(.primary):not(.danger-line):hover{border-color:rgba(56,189,248,.45);color:#e8f4ff}
.fin-toolbar .btn.small{min-height:32px}

.btn.share-wa,a.btn[href^="https://wa.me"]{border-color:rgba(37,211,102,.45);color:#86efac}
a.btn[href^="https://wa.me"]:hover{background:rgba(37,211,102,.14);border-color:rgba(37,211,102,.7)}

:root{--mut:#aeb9cd}
.card-sub,.cx-ph,.sub{color:var(--mut);line-height:1.55}
.row-sub{color:rgba(167,178,198,.85);font-size:11px}
body table.list th{color:#c6d2e4;font-weight:700}
body .sf-kpi-l,body .fx-stat-l{color:#b6c2d6}
body .sf-kpi-v{color:#f2f6fc}
body .fin-pl>span:first-child{color:#c3cfe0}
body .bt-note{color:#9fb0c7}
.vl-meta{color:#9fb0c7}
.acd-p,.acd-ul{color:#dbe4f0}
body .cust-dsec{color:#8fd3f4;font-weight:800;letter-spacing:.04em}

.fin-pl b{font-variant-numeric:tabular-nums}

.overlay .panel .cx-invw-row{flex-wrap:nowrap;min-width:0}
.overlay .panel .cx-invw-no{white-space:nowrap;flex:0 0 auto}
.overlay .panel .cx-invw-amt{white-space:nowrap;flex:0 0 auto;margin-left:auto}
.overlay .panel .cx-invw-st{flex:1 1 auto;min-width:0;display:flex;justify-content:flex-end}
.overlay .panel .cx-invw-st .lv-status{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10.5px;padding:3px 9px}
.overlay .panel .cx-invw-go{white-space:nowrap}
@media(max-width:560px){.overlay .panel .cx-invw-row{flex-wrap:wrap}.overlay .panel .cx-invw-st{justify-content:flex-start;order:5;flex-basis:100%}}

.ivb-row input,.ivb-row input[type="number"],.ivb-srow input,.ivb-srow input[type="number"]{min-width:0;width:100%}
.ivb-row .stu-sel{min-width:0;padding-right:20px}.ivb-discw select{padding-right:18px}
.ivb-row input[type="number"]{text-align:right}
.ivb-head{align-items:end}

.ivb-row input.ivb-qty{text-align:center}

.cx-f input,.cx-f select,.cx-f textarea{width:100%}               
.fin-sitem{align-items:flex-start}
.fin-sitem span{line-height:1.3}                                   
.bdm-pitch{white-space:normal;max-width:180px;line-height:1.35}    

.rt-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;margin-top:8px}
@media(max-width:1150px){.rt-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:760px){.rt-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.rt-col{background:rgba(127,127,127,.04);border:1px solid var(--bord);border-radius:13px;padding:9px;min-height:140px}
.rt-col.rt-today{border-color:rgba(56,189,248,.5);background:rgba(56,189,248,.05)}
.rt-col-h{display:flex;align-items:baseline;gap:6px;margin-bottom:8px}
.rt-col-h b{font-family:Sora,sans-serif;font-size:13px}
.rt-col-h small{color:var(--mut);font-size:10.5px}
.rt-now{margin-left:auto;font-size:9px;font-weight:800;color:#38bdf8;text-transform:uppercase}
.rt-card{background:rgba(127,127,127,.07);border:1px solid var(--bord);border-radius:10px;padding:8px 10px;margin-bottom:7px;cursor:pointer;transition:.12s}
.rt-card:hover{border-color:rgb(var(--accent));transform:translateY(-1px)}
.rt-time{font-size:10px;font-weight:800;color:#fbbf24}
.rt-name{font-size:12px;font-weight:800;margin:1px 0}
.rt-meta{font-size:10px;color:var(--mut);line-height:1.4}
.rt-join{display:inline-block;margin-top:5px;font-size:10.5px;font-weight:800;color:#34d399;border:1px solid rgba(52,211,153,.4);border-radius:8px;padding:2px 9px;text-decoration:none}
.rt-empty{color:var(--mut);text-align:center;font-size:11px;padding:14px 0}
.grp-topic{margin:6px 0 2px;font-size:11.5px;color:#c4b5fd;background:rgba(167,139,250,.08);border:1px dashed rgba(167,139,250,.4);border-radius:9px;padding:5px 10px}
.tlog-bar{display:flex;gap:12px;align-items:center;flex-wrap:wrap;background:rgba(127,127,127,.05);border:1px solid var(--bord);border-radius:13px;padding:10px 14px;margin:10px 0}
.tlog-t{font-weight:800;font-family:Sora,sans-serif;font-size:13px}
.tlog-stats{font-size:12px;color:var(--mut);cursor:help}

body .lw-lbl{color:#dbe4f0}
body .lw-sub,body .lw-none,body .lw-date{color:#9db1c9}
body .lw-batch{background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.13);color:#dbe4f0;font-weight:600}
body .lw-batch b{font-weight:700}
body .lw-batch span{color:#8fa3bd}
body .lw-batch:hover{border-color:rgba(56,189,248,.55);background:rgba(56,189,248,.07)}
body .lw-batch.on{border-color:rgba(56,189,248,.75);background:rgba(56,189,248,.14);box-shadow:0 0 0 1px rgba(56,189,248,.3)}
body .lw-batch.on::after{color:#38bdf8}
body .stp b,body [data-wlv]{color:#eef2f8}
body .stp-b{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);color:#eef2f8}
body .stp-b:hover{border-color:rgba(56,189,248,.6);background:rgba(56,189,248,.12)}

body .att-name{color:#e8eefc}
body .att-row.att-on .att-name{color:#6ee7b7}
body .att-m{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.16);color:#b9c6da}
body .att-m:hover{border-color:rgba(56,189,248,.55);color:#e8f4ff}
body .att-m.on{background:rgba(56,189,248,.16);border-color:rgba(56,189,248,.7);color:#7dd3fc}
body .att-m-present.on{background:rgba(52,211,153,.16);border-color:rgba(52,211,153,.7);color:#6ee7b7}
body .att-m-absent.on{background:rgba(251,113,133,.14);border-color:rgba(251,113,133,.65);color:#fda4af}
body .att-m-makeup.on,body .att-m-repeat.on{background:rgba(251,191,36,.14);border-color:rgba(251,191,36,.6);color:#fcd34d}

.rv-primer{border:1px solid rgba(56,189,248,.3);background:rgba(56,189,248,.05);border-radius:12px;padding:9px 14px;margin:10px 0}
.rv-primer summary{cursor:pointer;font-weight:800;font-size:12.5px;color:#7dd3fc}
.rv-primer p{margin:8px 0 2px;font-size:12.5px;line-height:1.6;color:#c9d6e8}
.rv-ex-rich{background:rgba(127,127,127,.06);border:1px solid var(--bord);border-radius:11px;padding:10px 13px;margin-top:8px;font-size:12.5px;line-height:1.55}
.rv-ex-row{color:#dbe4f0}
.rv-ref{color:var(--mut);font-size:11px}
.rv-quote{border-left:3px solid rgba(52,211,153,.6);background:rgba(52,211,153,.06);border-radius:0 9px 9px 0;padding:7px 11px;margin:7px 0;font-style:italic;color:#c7f0dd;font-size:12.5px}
.rv-quote-inline{color:#6ee7b7;font-style:italic}
.rv-syn{margin-top:7px;color:#cbd7ea;font-size:12px}
.rv-syn-pair{display:inline-block;background:rgba(167,139,250,.1);border:1px solid rgba(167,139,250,.35);border-radius:99px;padding:2px 10px;margin:2px 2px;color:#d5c8f7;font-size:11.5px}

.rv-rows{display:block}
.rv-rows .rv-part{width:100%;margin-bottom:18px}
.rv-rows .rv-card{width:100%;box-sizing:border-box}
.mb-exam.on{border-color:rgba(56,189,248,.7)!important;background:rgba(56,189,248,.12)!important;box-shadow:0 0 0 1px rgba(56,189,248,.35)}
.stu-quick{transition:.15s;cursor:pointer}
.stu-quick:hover{border-color:rgb(var(--accent))!important;transform:translateY(-2px)}
.slot .slot-tn{display:block;font-size:8.5px;color:var(--mut);margin-top:1px}

.emp-stg{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:800;padding:2px 9px;border-radius:999px;color:var(--sc);background:color-mix(in srgb,var(--sc) 15%,transparent);border:1px solid color-mix(in srgb,var(--sc) 42%,transparent);white-space:nowrap;line-height:1.7}
.emp-stg-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:8px 0 12px}
.emp-sum-row{display:flex;gap:10px;flex-wrap:wrap;margin:14px 0 2px}
.emp-sum{--sc:#8aa;flex:1 1 120px;min-width:110px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.08);border-left:3px solid var(--sc);border-radius:12px;padding:11px 13px}
.emp-sum-n{font-size:23px;font-weight:800;color:var(--sc);line-height:1}
.emp-sum-l{font-size:11.5px;color:var(--mut);font-weight:700;margin-top:3px}
.emp-tag{display:inline-block;font-size:10.5px;font-weight:700;color:#c4b5fd;background:rgba(167,139,250,.15);border:1px solid rgba(167,139,250,.3);border-radius:6px;padding:1px 7px;margin:2px 4px 0 0}
.etl{margin-top:8px;max-height:360px;overflow:auto}
.etl-row{display:flex;gap:11px;padding:9px 2px;border-bottom:1px solid rgba(255,255,255,.06)}
.etl-row:last-child{border-bottom:none}
.etl-ic{font-size:16px;width:24px;text-align:center;flex:none;line-height:1.3}
.etl-t{font-size:13px;font-weight:700;color:var(--txt)}
.etl-m{font-size:11px;color:var(--mut);margin-top:2px}

.lock-chip{display:inline-flex;align-items:center;gap:3px;font-size:10px;font-weight:800;letter-spacing:.06em;padding:2px 8px;border-radius:999px;color:#cbb38a;background:rgba(203,179,138,.14);border:1px solid rgba(203,179,138,.34)}
.card.mk-locked{opacity:.94}
.card.mk-locked h3{opacity:.9}
.deliv-toggle{display:flex;gap:12px;flex-wrap:wrap}
.deliv-opt{flex:1;min-width:180px;display:flex;flex-direction:column;align-items:flex-start;gap:3px;text-align:left;padding:14px 16px;border-radius:14px;border:1.5px solid var(--bord,rgba(255,255,255,.12));background:rgba(255,255,255,.03);color:var(--txt);cursor:pointer;font-family:inherit;transition:.16s}
.deliv-opt:hover{border-color:rgba(56,189,248,.5)}
.deliv-opt.on{border-color:#38bdf8;background:rgba(56,189,248,.12);box-shadow:0 0 0 1px rgba(56,189,248,.4) inset}
.deliv-opt .deliv-ic{font-size:24px;line-height:1}
.deliv-opt b{font-size:15px}
.deliv-opt small{color:var(--mut);font-size:11.5px;font-weight:500}
.mock-pass{font-family:'SFMono-Regular',ui-monospace,Menlo,monospace;font-size:17px;font-weight:800;letter-spacing:.22em;color:#34d399;background:rgba(52,211,153,.12);border:1px solid rgba(52,211,153,.34);border-radius:8px;padding:4px 12px}

.comp-chip{display:inline-flex;align-items:center;gap:3px;font-size:10px;font-weight:800;letter-spacing:.06em;padding:2px 9px;border-radius:999px;color:#34d399;background:rgba(52,211,153,.15);border:1px solid rgba(52,211,153,.4)}

.qt-legend{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0 14px}
.qt-lg{font-size:11px;font-weight:800;color:var(--c);background:color-mix(in srgb,var(--c) 14%,transparent);border:1px solid color-mix(in srgb,var(--c) 32%,transparent);border-radius:999px;padding:3px 10px;white-space:nowrap}
.qt-list{display:flex;flex-direction:column;gap:13px}
.qt-head{display:flex;justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:6px}
.qt-name{font-size:13.5px;font-weight:700;color:var(--txt)}
.qt-tag{font-size:11px;font-weight:800;color:var(--c);white-space:nowrap}
.qt-line{display:flex;align-items:center;gap:10px}
.qt-track{flex:1;height:9px;border-radius:999px;background:rgba(255,255,255,.09);overflow:hidden}
.qt-track i{display:block;height:100%;border-radius:999px;transition:width .55s ease}
.qt-go{flex:none;font-size:11.5px;font-weight:800;color:#9cc0ff;background:rgba(96,165,250,.14);border:1px solid rgba(96,165,250,.34);border-radius:9px;padding:5px 12px;cursor:pointer;font-family:inherit;transition:.15s}
.qt-go:hover{background:rgba(96,165,250,.26);color:#cfe0ff}
.qt-done{flex:none;font-size:11px;font-weight:800;color:#22c55e;white-space:nowrap}
.qt-sub{font-size:10.5px;color:var(--mut);margin-top:5px}

.vd-bar{display:flex;align-items:center;gap:10px;padding:5px 0}
.vd-bar-l{flex:0 0 40%;font-size:12px;font-weight:700;color:var(--txt);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.vd-bar-l small{color:var(--mut);font-weight:600}
.vd-track{flex:1;height:9px;border-radius:999px;background:rgba(255,255,255,.08);overflow:hidden}
.vd-track i{display:block;height:100%;border-radius:999px;transition:width .5s}

.overlay .panel .lc-grid2-mig{grid-template-columns:minmax(0,1.5fr) minmax(0,0.92fr)}
.overlay .panel .cx-cbtn-call{background:rgba(56,189,248,.13)!important;border:1px solid rgba(56,189,248,.3)!important}
.overlay .panel .cx-cbtn-wa{background:rgba(52,211,153,.13)!important;border:1px solid rgba(52,211,153,.3)!important}
.overlay .panel .cx-cbtn-email{background:rgba(167,139,250,.11)!important;border:1px solid rgba(167,139,250,.28)!important}
.overlay .panel .cx-cbtn-call .cx-cbtn-1l,.overlay .panel .cx-cbtn-call .cx-cbtn-1l small{color:#8fd3f7!important}
.overlay .panel .cx-cbtn-wa .cx-cbtn-1l,.overlay .panel .cx-cbtn-wa .cx-cbtn-1l small{color:#74dcae!important}
.overlay .panel .cx-cbtn-email .cx-cbtn-1l,.overlay .panel .cx-cbtn-email .cx-cbtn-1l small{color:#c4b5fd!important}
.overlay .panel .cx-cbtn-call .cx-cbtn-ic,.overlay .panel .cx-cbtn-wa .cx-cbtn-ic,.overlay .panel .cx-cbtn-email .cx-cbtn-ic{background:rgba(255,255,255,.09)!important}

.em-chk-bar{height:8px;border-radius:99px;background:rgba(255,255,255,.08);overflow:hidden;margin:2px 0 10px}
.em-chk-bar>i{display:block;height:100%;border-radius:99px;transition:width .3s ease}
.em-chk-list{display:flex;flex-direction:column;gap:2px}
.em-chk{display:flex;align-items:center;gap:9px;padding:5px 4px;border-radius:8px;cursor:pointer;font-size:12.5px}
.em-chk:hover{background:rgba(255,255,255,.03)}
.em-chk input{position:absolute;opacity:0;width:0;height:0}
.em-chk-box{width:18px;height:18px;border-radius:5px;border:1.5px solid var(--bord2);display:grid;place-items:center;font-size:11px;color:transparent;flex-shrink:0;transition:all .15s}
.em-chk input:checked+.em-chk-box{background:#22c55e;border-color:#22c55e;color:#04210f}
.em-chk-lab{color:var(--txt)}
.em-chk-lab.done{color:var(--mut);text-decoration:line-through}

.em-ams{display:flex;align-items:center;gap:0;flex-wrap:wrap;margin:9px 0 2px;padding:8px 2px 2px;border-top:1px dashed var(--bord)}
.em-ams-step{display:flex;flex-direction:column;align-items:center;gap:3px;flex:1;min-width:44px;position:relative}
.em-ams-step:not(:last-child):after{content:"";position:absolute;top:6px;left:50%;width:100%;height:2px;background:rgba(255,255,255,.08);z-index:0}
.em-ams-dot{width:12px;height:12px;border-radius:50%;background:rgba(255,255,255,.14);z-index:1;position:relative}
.em-ams-dot.done{background:#34d399}
.em-ams-dot.on{background:#38bdf8;box-shadow:0 0 0 3px rgba(56,189,248,.22)}
.em-ams-t{font-size:9.5px;color:var(--mut);text-align:center;line-height:1.1}
.em-ams-t.on{color:var(--txt);font-weight:600}
.em-ams-adv{flex-shrink:0;margin-left:6px}

.em-tpls{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-bottom:9px}
.em-tpls-l{font-size:11px;color:var(--mut);margin-right:2px}

.ab-cold{margin:4px 12px 8px;padding:8px 11px;border-radius:9px;background:rgba(96,165,250,.1);border:1px solid rgba(96,165,250,.28);color:#93c5fd;font-size:12px}
.ab-dl{display:inline-block;margin-left:7px;padding:1px 7px;border-radius:99px;font-size:10.5px;background:rgba(148,163,184,.16);color:#b6c2d6}
.ab-dl.soon{background:rgba(249,115,22,.16);color:#fdba74}
.ab-dl.past{background:rgba(251,113,133,.16);color:#fda4af}

.ap-card{border:1px solid var(--bord);border-radius:16px;padding:16px 18px;background:linear-gradient(180deg,rgba(56,189,248,.05),rgba(255,255,255,.01))}
.ap-hd{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:8px}
.ap-nm{font-size:18px;font-weight:800}
.ap-sub{color:var(--mut);font-size:13px;margin-top:2px}
.ap-badge{background:rgba(56,189,248,.16);color:#7dd3fc;border:1px solid rgba(56,189,248,.4);padding:4px 11px;border-radius:99px;font-size:12px;font-weight:700;white-space:nowrap}
.ap-sec{font-size:12px;font-weight:700;color:var(--mut);text-transform:uppercase;letter-spacing:.4px;margin:14px 0 8px}
.ap-steps{display:flex;flex-direction:column;gap:2px}
.ap-step{display:flex;align-items:center;gap:10px;padding:4px 0;opacity:.5}
.ap-step.done{opacity:1}
.ap-step.on{opacity:1}
.ap-step-dot{width:20px;height:20px;border-radius:50%;display:grid;place-items:center;font-size:11px;background:rgba(255,255,255,.08);color:var(--mut);flex-shrink:0}
.ap-step.done .ap-step-dot{background:#22c55e;color:#04210f}
.ap-step.on .ap-step-dot{background:#38bdf8;color:#04121f;box-shadow:0 0 0 3px rgba(56,189,248,.22)}
.ap-step.on .ap-step-t{font-weight:700}
.ap-step-t{font-size:13px}
.ap-note{font-size:13px;color:var(--txt);background:rgba(255,255,255,.03);border:1px solid var(--bord);border-radius:10px;padding:9px 12px}
.ap-note.ok{color:#86efac;border-color:rgba(34,197,94,.3);background:rgba(34,197,94,.08)}
.ap-app{font-size:13px;padding:7px 0;border-bottom:1px dashed var(--bord)}
.ap-app-st{float:right;font-size:11px;color:#7dd3fc}
.ap-foot{margin-top:14px;padding-top:12px;border-top:1px dashed var(--bord);font-size:12.5px;color:var(--mut)}

.em-neCard{display:grid;grid-template-columns:1.4fr 1fr;gap:12px;margin:10px 0 2px}
@media(max-width:640px){.em-neCard{grid-template-columns:1fr}}
.em-ne-next{display:flex;gap:11px;align-items:flex-start;padding:13px 15px;border-radius:13px;background:linear-gradient(135deg,rgba(56,189,248,.12),rgba(56,189,248,.03));border:1px solid rgba(56,189,248,.28)}
.em-ne-ic{font-size:20px;line-height:1;flex-shrink:0;margin-top:1px}
.em-ne-lab{font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:#7dd3fc;font-weight:700;margin-bottom:3px}
.em-ne-txt{font-size:13px;line-height:1.45;color:var(--txt)}
.em-ne-earn{padding:12px 15px;border-radius:13px;background:linear-gradient(135deg,rgba(52,211,153,.12),rgba(52,211,153,.03));border:1px solid rgba(52,211,153,.28)}
.em-ne-etop{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}
.em-ne-elab{font-size:12px;font-weight:700;color:#6ee7b7}
.em-ne-badge{font-size:10.5px;padding:2px 8px;border-radius:99px;background:rgba(255,255,255,.08);color:var(--mut)}
.em-ne-badge.g{background:rgba(52,211,153,.2);color:#6ee7b7}
.em-ne-erow{display:flex;justify-content:space-between;align-items:center;font-size:12.5px;padding:3px 0}
.em-ne-erow b{font-size:14px}
.em-ne-erow.sub{opacity:.72;font-size:11.5px;border-top:1px dashed var(--bord);margin-top:4px;padding-top:6px}
.em-ne-erow.sub b{font-size:12.5px;font-weight:600}

.ab-earn{display:inline-block;padding:2px 8px;border-radius:99px;font-size:11px;font-weight:700;background:rgba(52,211,153,.14);color:#6ee7b7;margin-right:7px;white-space:nowrap}

.em-xlink .sf-card-h{color:#7dd3fc}

.wrap.prof-staff{max-width:1180px}
.prof-cols{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,0.95fr);gap:20px;align-items:start;margin-top:6px}
.prof-col{display:flex;flex-direction:column;gap:16px;min-width:0}
.prof-cols .card{margin-bottom:0}
.prof-cols .prof-display{margin-top:0}
@media(max-width:920px){.prof-cols{grid-template-columns:1fr}}

.stu-svc-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:16px}
@media(max-width:820px){.stu-svc-grid{grid-template-columns:1fr}}
.stu-svc-card{margin-bottom:0}
.stu-handler{display:flex;align-items:center;gap:13px;margin:12px 0 10px}
.stu-handler-av{width:52px;height:52px;border-radius:50%;flex-shrink:0;overflow:hidden;display:grid;place-items:center;background:linear-gradient(135deg,#38bdf8,#818cf8);color:#04121f;font-weight:800;font-size:18px}
.stu-handler-av img{width:100%;height:100%;object-fit:cover}
.stu-handler-nm{font-size:16px;font-weight:700}
.stu-handler-role{font-size:12.5px;color:var(--mut)}
.stu-handler-ph{font-size:12.5px;color:var(--txt);margin-top:2px}
.stu-handler-btns{display:flex;gap:8px;flex-wrap:wrap}
.stu-rec-box{margin:12px 0;padding:12px 14px;border-radius:12px;background:linear-gradient(135deg,rgba(52,211,153,.1),rgba(56,189,248,.05));border:1px solid rgba(52,211,153,.25)}
.stu-rec-tag{display:inline-block;font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;color:#6ee7b7;background:rgba(52,211,153,.16);border:1px solid rgba(52,211,153,.4);padding:2px 9px;border-radius:99px}
.stu-rec-row{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin-top:8px}
.stu-rec-main{font-size:16px}
.stu-rec-price{font-size:17px;font-weight:800;color:#34d399;white-space:nowrap}
.stu-rec-why{font-size:12.5px;color:var(--mut);line-height:1.5;margin-top:5px}
.stu-rec-btns{display:flex;gap:8px;flex-wrap:wrap}

.stu-sug-box{padding:12px 14px;border-radius:12px;background:linear-gradient(135deg,rgba(52,211,153,.1),rgba(56,189,248,.05));border:1px solid rgba(52,211,153,.25)}
.stu-sug-tag{display:inline-block;font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;color:#6ee7b7;background:rgba(52,211,153,.16);border:1px solid rgba(52,211,153,.4);padding:2px 9px;border-radius:99px}
.stu-sug-main{font-size:16px;margin-top:8px}
.stu-sug-price{color:#34d399;font-weight:800}
.stu-sug-why{font-size:12.5px;color:var(--mut);line-height:1.5;margin-top:5px}

.stu-handler-ph a,.stu-handler-em a{color:var(--txt);text-decoration:none}
.stu-handler-ph a:hover,.stu-handler-em a:hover{text-decoration:underline}
.stu-handler-em{font-size:12.5px;color:var(--mut);margin-top:2px}
.stu-handler-desk{color:var(--mut);font-size:11.5px}

.mkt-stub{margin-top:18px;max-width:760px}
.mkt-stub .sf-card-h{background:linear-gradient(135deg,rgba(251,191,36,.10),rgba(255,255,255,.03))}
.mkt-stub-blurb{font-size:14px;line-height:1.65;color:var(--txt)}
.mkt-stub-note{font-size:12.5px;line-height:1.6;color:var(--mut);margin-top:12px;padding-top:10px;border-top:1px dashed var(--bord)}

.mkt-grid2{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:14px}
@media(max-width:820px){.mkt-grid2{grid-template-columns:1fr}}

.ret-sech{margin:20px 0 4px;font-size:15px;font-weight:800;color:var(--txt)}
.ret-sech span{font-weight:600;font-size:12px;color:var(--mut)}
.ret-toprow{display:grid;grid-template-columns:.82fr 1.18fr;gap:14px;margin-top:10px;align-items:stretch}
@media(max-width:900px){.ret-toprow{grid-template-columns:1fr}}
.ret-idxcard .sf-card-b{display:flex;flex-direction:column;gap:10px}
.ret-idx-top{display:flex;align-items:center;gap:12px}
.ret-idx-ic{width:52px;height:52px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:24px;color:#fff;flex:0 0 auto}
.ret-idx-tx{min-width:0}
.ret-idx-v{font-size:30px;font-weight:850;line-height:1;letter-spacing:-.5px;color:var(--txt)}
.ret-idx-l{font-size:12.5px;color:var(--mut);font-weight:600;margin-top:3px}
.ret-idx-badge{margin-left:auto;font-size:11px;font-weight:800;padding:4px 10px;border-radius:999px;white-space:nowrap}
.ret-idx-meta{font-size:12px;color:var(--mut)}
.ret-link{align-self:flex-start;color:#60a5fa!important}
.ret-alertcard .sf-card-h{color:#fb7185}
.ret-alertgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
@media(max-width:720px){.ret-alertgrid{grid-template-columns:1fr}}
.ret-alert{border:1px solid var(--bord);border-radius:12px;padding:11px 12px;background:rgba(239,68,68,.05);display:flex;flex-direction:column;gap:8px}
.ret-alert-hd{display:flex;align-items:center;gap:9px;min-width:0}
.ret-av{width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:800;font-size:12px;flex:0 0 auto}
.ret-alert-id{min-width:0}.ret-alert-id b{display:block;font-size:13.5px;color:var(--txt);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ret-alert-id small{font-size:11px;color:var(--mut)}
.ret-alert-ft{display:flex;align-items:center;justify-content:space-between;gap:6px}
.ret-alert-sc{font-size:12px;color:var(--mut)}.ret-alert-sc b{color:var(--txt);font-size:13px}
.ret-alert-rs{font-size:11px;color:var(--mut);border-top:1px solid var(--bord);padding-top:6px}
.ret-pill{font-size:10.5px;font-weight:800;padding:2px 8px;border-radius:999px}
.ret-brank{margin-top:14px}
.ret-btbl{width:100%}.ret-btbl td,.ret-btbl th{padding:10px 14px}
.ret-rk{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;font-weight:800;font-size:12px;background:rgba(255,255,255,.08);color:var(--mut)}
.ret-rk-1{background:#f59e0b;color:#1a1205}.ret-rk-2{background:#cbd5e1;color:#0f172a}.ret-rk-3{background:#b45309;color:#fff}
.ret-tr{font-weight:800;font-size:15px}.ret-tr.up{color:#10b981}.ret-tr.dn{color:#ef4444}.ret-tr.fl{color:#94a3b8}
.ret-dlgb{border:1px solid var(--bord);border-radius:10px;padding:10px 12px;margin-bottom:8px}
.ret-dlgb-h{display:flex;align-items:center;gap:8px;font-size:13.5px;color:var(--txt)}
.ret-dlgb-s{margin-top:6px;font-size:12px;color:#fbbf24}.ret-dlgb-s.ok{color:#34d399}
.mkt-cols{display:grid;grid-template-columns:1.12fr .88fr;gap:14px;margin-top:14px;align-items:start}
@media(max-width:900px){.mkt-cols{grid-template-columns:1fr}}
.mkt-col{display:flex;flex-direction:column;gap:14px;min-width:0}
.mkt-hero{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:14px}
@media(max-width:820px){.mkt-hero{grid-template-columns:repeat(2,1fr)}}
@media(max-width:460px){.mkt-hero{grid-template-columns:1fr}}
.mkt-hstat{position:relative;background:linear-gradient(157deg,rgba(129,140,248,.13),rgba(255,255,255,.03) 60%);border:1px solid var(--bord);border-radius:16px;padding:15px 16px 14px;overflow:hidden}
.mkt-hstat-ic{font-size:15px;opacity:.9;margin-bottom:4px}
.mkt-hstat-v{font:800 25px/1.05 'Sora',sans-serif;color:#f1f5ff;letter-spacing:-.5px}
.mkt-hstat-l{font-size:12px;color:#c8d4e8;font-weight:600;margin-top:5px}
.mkt-hstat-sub{font-size:11px;color:var(--mut);margin-top:3px;line-height:1.4}
.mkt-hstat-bar{margin-top:8px}

.mkt-fin .sf-card-h{display:flex;align-items:center;gap:8px}
.mkt-fin-hero{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;margin-bottom:10px}
.mkt-fin-big{font:800 27px/1 'Sora',sans-serif;color:#34d399;letter-spacing:-.5px}
.mkt-fin-cap{font-size:12px;color:#c8d4e8;font-weight:600;line-height:1.5}
.mkt-fin-mut{color:var(--mut);font-weight:500}
.mkt-fin-rows{display:flex;flex-direction:column;gap:6px}
.mkt-fin-r{display:flex;justify-content:space-between;gap:12px;font-size:12.5px;color:#c8d4e8;border-bottom:1px dashed rgba(255,255,255,.08);padding-bottom:5px}
.mkt-fin-r small{color:var(--mut);font-weight:500}
.mkt-fin-r b{color:#f1f5ff;text-align:right;white-space:nowrap}

.mkt-sumgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}
@media(max-width:1180px){.mkt-sumgrid{grid-template-columns:repeat(2,1fr)}}
.mkt-sum{background:rgba(255,255,255,.045);border:1px solid var(--bord);border-radius:11px;padding:9px 10px;text-align:center}
.mkt-sum-v{font:800 16px/1.1 'Sora',sans-serif;color:#f1f5ff}
.mkt-sum-l{font-size:10.5px;color:var(--mut);margin-top:3px;line-height:1.3}

.stu-glass{position:relative}
.stu-glass::before{content:"";position:fixed;inset:0;z-index:0;pointer-events:none;
  background:
    radial-gradient(620px 440px at 10% 14%, rgba(56,189,248,.18), transparent 60%),
    radial-gradient(580px 440px at 90% 20%, rgba(129,140,248,.17), transparent 60%),
    radial-gradient(680px 520px at 72% 92%, rgba(52,211,153,.13), transparent 62%);}

.stu-glass > .fin-side{position:sticky;z-index:1}
.stu-glass > .sf-main{position:relative;z-index:1}
.stu-glass .card{background:rgba(255,255,255,.055);backdrop-filter:blur(18px) saturate(150%);-webkit-backdrop-filter:blur(18px) saturate(150%);border:1px solid rgba(255,255,255,.14);box-shadow:0 10px 34px rgba(0,0,0,.30)}
.stu-glass .fin-side{background:rgba(255,255,255,.045);backdrop-filter:blur(22px) saturate(150%);-webkit-backdrop-filter:blur(22px) saturate(150%);border-right:1px solid rgba(255,255,255,.10)}

.stu-glass .fin-side{padding-top:10px}
.stu-glass .fin-side-brand{margin-top:0;padding-top:2px}
.stu-glass .sf-kpi{background:rgba(255,255,255,.06);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid rgba(255,255,255,.13)}
.stu-glass .stu-hc-line,.stu-glass .stu-hc-chip,.stu-glass .buy-preset,.stu-glass .stu-hc-act,.stu-glass .slot{backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.stu-glass .fin-sitem.on{background:rgba(255,255,255,.12);backdrop-filter:blur(8px)}

.stu-svc-grid{align-items:stretch}
.stu-svc-card{display:flex;flex-direction:column}
.stu-handler-card .stu-hc-top{display:flex;align-items:center;gap:14px;margin-bottom:12px}
.stu-hc-eyebrow{font-size:11px;font-weight:700;letter-spacing:.4px;color:var(--mut);text-transform:uppercase}
.stu-hc-id{min-width:0}
.stu-handler-card .stu-handler-nm{font:800 18px/1.2 'Sora',sans-serif;color:var(--txt,#eaf1ff);margin-top:3px}
.stu-handler-card .stu-handler-role{font-size:12.5px;color:var(--mut);margin-top:1px}
.stu-hc-contacts{display:flex;flex-direction:column;gap:7px;margin-bottom:12px}
.stu-hc-line{display:flex;align-items:center;gap:9px;font-size:13.5px;color:var(--txt,#eaf1ff);text-decoration:none;padding:8px 12px;border:1px solid var(--bord);border-radius:10px;background:rgba(255,255,255,.03)}
.stu-hc-line:hover{border-color:rgba(56,189,248,.45)}
.stu-hc-ic{font-size:14px;flex:none}
.stu-hc-actions{display:flex;gap:9px;flex-wrap:wrap;margin:0 0 2px}
.stu-hc-act{flex:1;min-width:112px;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:11px 12px;border-radius:12px;font:inherit;font-size:13.5px;font-weight:700;text-decoration:none;cursor:pointer;border:1px solid var(--bord2,rgba(255,255,255,.14));background:rgba(255,255,255,.05);color:var(--txt,#eaf1ff);line-height:1;transition:border-color .15s,background .15s}
.stu-hc-act:hover{border-color:rgba(255,255,255,.32)}
.stu-hc-act-ic{display:inline-flex;align-items:center;font-size:15px;line-height:1}
.stu-hc-act.act-call{background:linear-gradient(135deg,rgba(56,189,248,.22),rgba(59,130,246,.16));border-color:rgba(56,189,248,.5);color:#eaf6ff}
.stu-hc-act.act-call:hover{background:linear-gradient(135deg,rgba(56,189,248,.32),rgba(59,130,246,.24))}
.stu-hc-act.act-wa{background:rgba(22,163,74,.14);border-color:rgba(22,163,74,.45);color:#c9f7dd}
.stu-hc-act.act-wa:hover{background:rgba(22,163,74,.22)}
.stu-hc-act.act-cb:hover{background:rgba(255,255,255,.09)}
.stu-hc-help{margin-top:auto;padding-top:16px}
.stu-hc-help-t{font-size:12px;color:var(--mut);font-weight:600;margin-bottom:9px}
.stu-hc-chips{display:flex;flex-wrap:wrap;gap:8px}
.stu-hc-chip{font-size:12.5px;color:#c8d4e8;background:rgba(255,255,255,.04);border:1px solid var(--bord);border-radius:999px;padding:7px 13px;text-decoration:none;white-space:nowrap}
.stu-hc-chip:hover{border-color:rgba(22,163,74,.5);background:rgba(22,163,74,.12);color:#eafff2}

.qw-rows{display:flex;flex-direction:column;gap:10px;margin-top:14px}
.qw-row{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 18px}
.qw-row-main{min-width:0;flex:1}
.qw-row-top{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.qw-row-top h3{margin:0;font-size:16px}
.qw-row .desc{margin:5px 0 0;color:var(--mut);font-size:13px;line-height:1.4}
.qw-row-side{display:flex;align-items:center;gap:18px;flex:none}
.qw-row-side .meta-line{margin:0;white-space:nowrap}
.qw-row-side .btn{min-width:150px;white-space:nowrap}
.w-stack .qw-row{padding:12px 15px}

.qw-perf{display:flex;align-items:center;gap:10px;margin-top:9px;flex-wrap:wrap}
.qw-perf-bar{width:120px;height:7px;border-radius:99px;background:rgba(127,127,127,.16);overflow:hidden;flex:none}
.qw-perf-bar i{display:block;height:100%;border-radius:99px;transition:width .5s ease}
.qw-perf-v{font-size:12.5px;font-weight:700}
.qw-perf-n{font-size:12px;color:var(--mut)}
.qw-perf-none{font-size:12.5px;color:var(--mut);font-style:italic;margin-top:9px}
@media(max-width:640px){.qw-row{flex-direction:column;align-items:stretch}.qw-row-side{justify-content:space-between;gap:12px}.qw-row-side .btn{flex:1}}

.stu-bookbox{margin-top:14px;padding:16px 18px}
.bkx-toprow{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:6px}
.bkx-block-h{font:800 17px/1.2 'Sora',sans-serif;color:var(--txt,#eaf1ff)}
.deliv-row{display:flex;gap:8px;flex-wrap:wrap}
.deliv-pill{font:inherit;font-size:13px;font-weight:700;color:var(--mut,#9fb0c9);background:var(--glass2,rgba(255,255,255,.05));border:1px solid var(--bord2,rgba(255,255,255,.14));border-radius:999px;padding:8px 15px;cursor:pointer}
.deliv-pill:hover{border-color:rgba(56,189,248,.5)}
.deliv-pill.on{background:linear-gradient(135deg,rgba(56,189,248,.22),rgba(129,140,248,.18));border-color:rgba(56,189,248,.7);color:#eaf6ff}
.bkx-sec{margin-top:14px;padding-top:12px;border-top:1px solid var(--bord,rgba(255,255,255,.09))}
.bkx-sec:first-of-type{border-top:0;padding-top:0}
.bkx-sec-h{font:700 14.5px/1.4 'Sora',sans-serif;color:var(--txt,#eaf1ff);margin-bottom:10px}
.bkx-sec-h small{display:block;font:400 12px/1.5 system-ui;color:var(--mut,#9fb0c9);margin-top:2px}
.bkx-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;align-items:end}
.bkx-grid4{grid-template-columns:1.1fr 1.3fr 1fr 1.2fr}
.bkx-grid-spk{grid-template-columns:200px 1fr}
@media(max-width:820px){.bkx-grid4{grid-template-columns:1fr 1fr}}
@media(max-width:720px){.bkx-grid,.bkx-grid-spk{grid-template-columns:1fr}}
.deliv-inline{display:flex;gap:6px}
.deliv-inline .deliv-pill{flex:1;padding:9px 6px;font-size:12.5px;text-align:center;white-space:nowrap;justify-content:center}
.bkx-grid .cx-f{display:flex;flex-direction:column;gap:4px;min-width:0}
.bkx-grid .cx-f small{font-size:11.5px;color:var(--mut,#9fb0c9);font-weight:600}
.bkx-slotwrap .slot-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:8px;margin-top:4px;max-height:200px;overflow:auto}
.bkx-slotwrap .slot{padding:8px 6px;border:1px solid var(--bord2,rgba(255,255,255,.14));background:var(--glass2,rgba(255,255,255,.05));color:var(--txt,#eaf1ff);border-radius:10px;font-size:13px;cursor:pointer}
.bkx-slotwrap .slot:hover{border-color:rgba(56,189,248,.5)}
.bkx-slotwrap .slot.sel{background:rgba(52,211,153,.2);border-color:#34d399;color:#eafff5;font-weight:700}
.bkx-slotwrap .slot-empty{grid-column:1/-1;color:var(--mut,#9fb0c9);padding:14px;font-size:13px;text-align:center;border:1px dashed var(--bord2);border-radius:10px}
.bkx-confirm{margin-top:16px;width:100%;font-size:15px;font-weight:700;padding:12px}

.stu-buybox{margin-top:14px;padding:16px 18px}
.buy-row{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-top:12px}
.buy-qty{display:inline-flex;align-items:center;gap:2px;border:1px solid var(--bord2,rgba(255,255,255,.14));border-radius:12px;overflow:hidden}
.buy-step{width:38px;height:38px;font-size:20px;font-weight:700;background:var(--glass2,rgba(255,255,255,.05));color:var(--txt,#eaf1ff);border:0;cursor:pointer;line-height:1}
.buy-step:hover{background:rgba(56,189,248,.18)}
.buy-n{min-width:40px;text-align:center;font:800 18px/1 'Sora',sans-serif;color:var(--txt,#eaf1ff)}
.buy-presets{display:flex;gap:6px}
.buy-preset{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:66px;padding:7px 10px;border-radius:10px;border:1px solid var(--bord2,rgba(255,255,255,.14));background:var(--glass2,rgba(255,255,255,.05));color:var(--mut,#9fb0c9);font-weight:700;font-size:13px;cursor:pointer;line-height:1.2}
.buy-preset b{font-size:14px;color:var(--txt,#eaf1ff)}
.buy-preset small{font-size:10.5px;font-weight:600;color:var(--mut,#9fb0c9);margin-top:1px}
.buy-preset.on,.buy-preset:hover{border-color:rgba(56,189,248,.6);background:rgba(56,189,248,.14)}
.buy-preset.on b,.buy-preset:hover b{color:#eaf6ff}
.buy-preset.on small{color:#a7f3d0}
.buy-total{margin-left:auto;font-size:13px;color:var(--mut,#9fb0c9)}
.buy-total b{font-size:18px;color:#34d399;font-family:'Sora',sans-serif}
.buy-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}
.buy-actions .btn{flex:1;min-width:180px;font-size:14px;font-weight:700;padding:11px}
.bkx-sslc{background:rgba(52,211,153,.08);border:1px solid rgba(52,211,153,.25);border-radius:10px;padding:9px 12px;font-size:12.5px;color:#a7f3d0;line-height:1.5;margin-top:6px}

.wa-same{margin-left:8px;font:inherit;font-size:11px;font-weight:600;color:#16a34a;background:rgba(22,163,74,.1);border:1px solid rgba(22,163,74,.35);border-radius:999px;padding:2px 9px;cursor:pointer;vertical-align:middle}
.wa-same:hover{background:rgba(22,163,74,.18)}
.wa-same:active{transform:translateY(1px)}

.mb-topbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:14px 0 6px;padding:10px 14px;background:rgba(255,255,255,.04);border:1px solid var(--bord);border-radius:12px}
.mb-pick select{margin-left:6px;padding:6px 10px;border-radius:8px;background:#0e1a30;border:1px solid var(--bord);color:#eaf1ff;font:inherit;font-weight:600;cursor:pointer}
.mb-pick select option{background:#0e1a30;color:#eaf1ff}
.mb-status{font-size:12px;font-weight:700;padding:3px 10px;border-radius:999px}
.mb-status.live{background:rgba(52,211,153,.15);color:#34d399}
.mb-status.draft{background:rgba(148,163,184,.15);color:#94a3b8}
.mb-count{font-size:12px;color:var(--mut)}
.mb-spacer{flex:1 1 auto}
.mb-tabs{display:flex;gap:6px;margin:12px 0}
.mb-tab{padding:7px 14px;border:1px solid var(--bord);background:transparent;border-radius:10px;font:inherit;font-size:13px;color:var(--mut);cursor:pointer}
.mb-tab.on{background:rgba(129,140,248,.14);border-color:rgba(129,140,248,.4);color:#c7d2fe;font-weight:700}
.mb-sec{display:flex;flex-direction:column;gap:12px}
.mb-card{background:rgba(255,255,255,.03);border:1px solid var(--bord);border-radius:12px;padding:13px 15px}
.mb-card-h{display:flex;align-items:center;gap:8px;font-weight:700;font-size:14px;margin-bottom:8px}
.mb-card-acts{margin-left:auto;display:flex;gap:4px}
.mb-qc{font-size:11px;font-weight:600;color:var(--mut);background:rgba(255,255,255,.06);padding:2px 8px;border-radius:999px}
.mb-ok{font-size:11px;color:#34d399;font-weight:600}.mb-todo{font-size:11px;color:#fbbf24;font-weight:600}
.mb-x{border:1px solid var(--bord);background:transparent;border-radius:7px;width:26px;height:26px;cursor:pointer;color:inherit;font-size:12px}
.mb-x:hover{border-color:#888}
.mb-groups{display:flex;flex-direction:column;gap:6px;margin:8px 0}
.mb-grow{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:7px 11px;background:rgba(255,255,255,.04);border:1px solid var(--bord);border-radius:9px;font-size:13px}
.mb-grow-acts{display:flex;gap:4px}
.mb-hint{font-size:12px;color:var(--mut);line-height:1.5;margin:4px 0}
.mb-passage-note{font-size:12px;color:var(--mut);margin-bottom:8px}
.mb-upload{display:inline-block;margin-top:8px;padding:8px 14px;border:1px dashed rgba(129,140,248,.5);border-radius:10px;background:rgba(129,140,248,.06);color:#c7d2fe;font-size:13px;font-weight:600;cursor:pointer}
.mb-audio-has{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:13px}
.mb-audio-none{font-size:12.5px;color:var(--mut)}
.mb-taskprompt{font-size:12.5px;color:var(--fg,#e8eefc);background:rgba(255,255,255,.04);border-radius:8px;padding:8px 11px;margin-bottom:8px;line-height:1.5}
.mb-typerow{display:flex;flex-wrap:wrap;gap:8px;margin:6px 0 12px}
.mb-typeopt{font-size:12.5px;border:1px solid var(--bord);border-radius:9px;padding:6px 11px;cursor:pointer;display:flex;align-items:center;gap:6px}
.mb-typeopt input{margin:0}
.mb-formtitle{text-align:center;font-weight:700;border:1px solid #999;padding:8px;margin:8px 0}
.mb-chk{display:flex;align-items:center;gap:8px;font-size:13px}
.mb-typeopt:has(input:checked){background:rgba(129,140,248,.14);border-color:rgba(129,140,248,.45)}
.mkt-form textarea{width:100%;font:inherit;font-size:13px;padding:9px 11px;border-radius:9px;border:1px solid var(--bord);background:var(--card,#0e1626);color:inherit;resize:vertical;line-height:1.5}
.mkt-form code{background:rgba(129,140,248,.12);padding:1px 5px;border-radius:5px;font-size:11.5px}

/* Mock Builder — live readiness checklist (same rules that gate Publish) */
.mb-ready{border:1px solid rgba(248,113,113,.35);background:rgba(248,113,113,.06);border-radius:12px;padding:10px 14px;margin:10px 0 2px;font-size:12.5px}
.mb-ready-ok{border-color:rgba(52,211,153,.35);background:rgba(52,211,153,.06)}
.mb-ready-h{font-weight:700;font-size:12.5px}
.mb-ready ul,.mb-ready-list{margin:6px 0 0;padding-left:4px;list-style:none;max-height:180px;overflow:auto}
.mb-ready li,.mb-ready-list li{padding:2px 0;line-height:1.45}
.mb-ready li.err,.mb-ready-list li.err{color:#fca5a5}
.mb-ready li.wrn,.mb-ready-list li.wrn{color:#fbbf24}
/* Mock Builder — bulk paste-import preview */
.mb-imp-part{border:1px solid var(--bord);border-radius:10px;padding:9px 12px;margin:8px 0;font-size:12.5px}
.mb-imp-part ul{margin:5px 0 0;padding-left:18px}
.mb-imp-part li{padding:1px 0}
.mb-imp-err{border:1px solid rgba(248,113,113,.4);background:rgba(248,113,113,.07);color:#fca5a5;border-radius:10px;padding:8px 12px;margin:8px 0;font-size:12.5px}
.mb-imp-err ul{margin:4px 0 0;padding-left:18px;max-height:140px;overflow:auto}
/* authored map-labelling: numbered drop slots listed under the map when no coordinates are given */
.player .map-slots{display:flex;flex-direction:column;gap:6px;margin:10px 0}
.player .map-slot{display:flex;align-items:center;gap:8px}
.player .mb-map-missing{border:1px dashed #bbb;color:#888;padding:26px;text-align:center;font-size:13px}

.mkt-src-strip{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:12px;padding:9px 12px;background:rgba(52,211,153,.05);border:1px solid rgba(52,211,153,.18);border-radius:13px}
.mkt-src-h{font-size:11.5px;font-weight:700;color:#6ee7b7;letter-spacing:.2px;margin-right:2px}
.mkt-src{font-size:11.5px;color:#c8d4e8;background:rgba(255,255,255,.05);border:1px solid var(--bord);border-radius:999px;padding:4px 10px;cursor:help;white-space:nowrap}
.mkt-src b{color:#f1f5ff;font-weight:700}
.mkt-src.on{border-color:rgba(52,211,153,.35)}
.mkt-src.on::before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:#34d399;margin-right:6px;vertical-align:middle;box-shadow:0 0 0 2px rgba(52,211,153,.25)}
.mkt-src-spacer{flex:1 1 auto;min-width:8px}
.mkt-src-when{font-size:11px;color:var(--mut)}

.mkt-op-row{display:flex;align-items:center;gap:10px;margin-bottom:9px}
.mkt-op-l{font-size:12.5px;color:#c8d4e8;font-weight:600;width:82px;flex:none}
.mkt-op-bar{flex:1;height:9px;background:rgba(255,255,255,.08);border-radius:999px;overflow:hidden;min-width:40px}
.mkt-op-bar i{display:block;height:100%;background:rgb(var(--accent))}
.mkt-op-v{font-size:12.5px;font-weight:700;color:#e8f3ff;min-width:92px;text-align:right;flex:none;white-space:nowrap}
.mkt-op-off .mkt-op-l,.mkt-op-off .mkt-op-v{color:var(--mut)}
.mkt-op-off .mkt-op-bar i{background:rgba(255,255,255,.16)}
.mkt-note{font-size:12px;line-height:1.55;color:var(--mut);margin-top:8px}
.mkt-kpi-sub{font-size:11px;color:var(--mut);margin-top:4px;line-height:1.4}
.mkt-p2{opacity:.85}.mkt-p2 .sf-kpi-v{font-size:16px;color:#a5b4fc}
.mkt-hd-note,.mkt-hd-note span{font-weight:600;font-size:11px;color:#8fa0c5;cursor:help}

.mkt-sug{border:1px solid rgba(255,255,255,.10);border-left:4px solid #8091b0;border-radius:13px;background:rgba(255,255,255,.04);padding:11px 13px;margin:8px 0}
.mkt-sug-act{border-left-color:#fb7185}.mkt-sug-watch{border-left-color:#fbbf24}.mkt-sug-opp{border-left-color:#34d399}
.mkt-sug-top{display:flex;align-items:flex-start;gap:10px}
.mkt-sug-dot{font-size:14px;flex:none;line-height:1.4}
.mkt-sug-t{flex:1;min-width:0}
.mkt-sug-t b{display:block;font:700 14px/1.35 'Inter',sans-serif;color:#f1f5ff}
.mkt-sug-t small{display:block;font-size:12.5px;line-height:1.55;color:#b6c6e0;margin-top:3px}
.mkt-sug-meta{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:8px 0 6px}
.mkt-sug-money{font:800 12.5px/1 'Sora',sans-serif;color:#fca5a5;background:rgba(251,113,133,.12);border:1px solid rgba(251,113,133,.28);padding:4px 8px;border-radius:8px}
.mkt-sug-money.mkt-ops{color:#93c5fd;background:rgba(96,165,250,.12);border-color:rgba(96,165,250,.28)}
.mkt-sug-urg{font-size:11.5px;font-weight:700;color:#fbbf24;background:rgba(251,191,36,.10);padding:4px 8px;border-radius:8px}
.mkt-sug-back{font-size:10.5px;font-weight:700;color:#34d399;background:rgba(52,211,153,.12);padding:2px 6px;border-radius:6px}
.mkt-sug-tipn{font-size:11px;color:#8fa0c5;cursor:help}
.mkt-sug-acts{display:flex;flex-wrap:wrap;gap:6px}
.mkt-act{font-size:12.5px}
.mkt-strip{margin:12px 0}
.mkt-strip-h{font:700 11px/1 'Sora',sans-serif;letter-spacing:.8px;text-transform:uppercase;color:#9fb0d8;margin-bottom:7px}
.mkt-strip-h span{color:#64748b;cursor:help;text-transform:none;letter-spacing:0;font-weight:600}
.mkt-strip-more{margin-top:4px}

.mkt-chips{display:inline-flex;align-items:center;gap:4px}
.mkt-chip{border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.05);border-radius:7px;padding:3px 7px;font-size:13px;cursor:pointer;transition:.15s}
.mkt-chip:hover{background:rgba(255,255,255,.12)}
.mkt-chip-dot{display:inline-block;width:9px;height:9px;border-radius:50%;background:#8091b0;cursor:pointer;flex:none}
.mkt-chip-dot.mkt-sug-act{background:#fb7185}.mkt-chip-dot.mkt-sug-watch{background:#fbbf24}.mkt-chip-dot.mkt-sug-opp{background:#34d399}
.mkt-chips-row{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0}

.mkt-waste-tile .sf-card-h span{font-weight:600;font-size:11px;color:#8fa0c5;cursor:help}
.mkt-waste-big{font:800 30px/1 'Sora',sans-serif;color:#fca5a5;margin:4px 0 10px}
.mkt-waste-rows{display:flex;flex-direction:column;gap:5px}
.mkt-waste-r{display:flex;justify-content:space-between;font-size:12.5px;color:#c8d4e8;border-bottom:1px dashed rgba(255,255,255,.08);padding-bottom:4px}
.mkt-waste-r b{color:#f1f5ff}

.mkt-pace-card{background:rgba(255,255,255,.05);border:1px solid var(--bord);border-radius:14px;padding:14px 18px;flex:1;min-width:220px}
.mkt-pace-h{font-size:11.5px;text-transform:uppercase;letter-spacing:.3px;color:var(--mut);margin-bottom:10px}
.mkt-pacebar{position:relative;height:12px;border-radius:999px;background:rgba(255,255,255,.08);overflow:hidden;margin-bottom:6px}
.mkt-pacebar i{display:block;height:100%;border-radius:999px}
.mkt-pacebar-100{position:absolute;top:-3px;width:2px;height:18px;background:#e8eefc;z-index:2}
.mkt-pace-lbl{display:flex;justify-content:space-between;font-size:10px;color:var(--mut)}
.mkt-allclear{font-size:13.5px;line-height:1.6;color:#a7f3d0;background:rgba(52,211,153,.08);border:1px solid rgba(52,211,153,.2);border-radius:11px;padding:12px 14px}
.mkt-organic-ph{font-size:12.5px;line-height:1.6;color:var(--mut);background:rgba(96,165,250,.06);border:1px dashed rgba(96,165,250,.25);border-radius:10px;padding:10px 12px;margin-top:8px}

.mkt-acct-strip{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:12px 0;padding:9px 12px;background:rgba(255,255,255,.04);border:1px solid var(--bord);border-radius:11px}
.mkt-acct-h{font-size:12px;color:var(--mut);margin-right:4px}
.mkt-acct{font-size:11.5px;font-weight:600;padding:3px 9px;border-radius:999px;border:1px solid rgba(255,255,255,.12)}
.mkt-acct.active{color:#6ee7b7;background:rgba(52,211,153,.10)}
.mkt-acct.restricted{color:#fca5a5;background:rgba(251,113,133,.10)}
.mkt-mtabs{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0 0}
.mkt-mtab{font-size:12.5px;font-weight:600;padding:6px 13px;border-radius:9px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.04);color:#c8d4e8;cursor:pointer;transition:.15s}
.mkt-mtab:hover{background:rgba(255,255,255,.09)}
.mkt-mtab.on{background:linear-gradient(135deg,#2563eb,#7c3aed);color:#fff;border-color:transparent}
.mkt-table{font-size:12.5px}
.mkt-table td,.mkt-table th{padding:8px 10px}
.mkt-table td.num,.mkt-table th.num{text-align:right;white-space:nowrap}
.mkt-lnk{background:none;border:none;color:#93c5fd;font-weight:700;cursor:pointer;text-align:left;padding:0;font-size:12.5px}
.mkt-lnk:hover{text-decoration:underline}
.mkt-pill{font-size:11px;font-weight:700;padding:3px 8px;border-radius:999px;white-space:nowrap}
.mkt-goal-ph{font-size:11px;color:#8fa0c5}
.mkt-newboost{font-size:12.5px}

.mkt-form{display:grid;grid-template-columns:1fr 1fr;gap:10px 14px}
@media(max-width:560px){.mkt-form{grid-template-columns:1fr}}
.mkt-form label{display:flex;flex-direction:column;gap:4px;font-size:12px;font-weight:600;color:var(--mut)}
.mkt-form input,.mkt-form select{padding:8px 10px;border-radius:9px;border:1px solid var(--bord);background:rgba(255,255,255,.05);color:var(--txt);font-size:13px}
.mkt-dlg-sug{margin-bottom:10px}
.mkt-dlg-list{max-height:60vh;overflow:auto}
.mkt-hist{display:flex;flex-direction:column;gap:6px}
.mkt-hist-r{display:flex;justify-content:space-between;gap:10px;font-size:12px;color:#c8d4e8;border-bottom:1px dashed rgba(255,255,255,.08);padding-bottom:5px}
.mkt-hist-r span{color:var(--mut);white-space:nowrap}

.mkt-kan{display:flex;gap:12px;overflow-x:auto;padding-bottom:8px;margin-top:12px}
.mkt-kan-tasks{margin-top:0}
.mkt-kcol{flex:0 0 230px;background:rgba(127,127,127,.05);border:1px solid var(--bord);border-radius:14px;padding:11px;min-height:120px}
.mkt-kh{font-weight:800;font-size:11.5px;text-transform:uppercase;letter-spacing:.4px;display:flex;justify-content:space-between;margin-bottom:10px;color:#c8d4e8}
.mkt-kh span:last-child{background:rgba(127,127,127,.16);border-radius:7px;padding:1px 8px;color:var(--txt);font-weight:700}
.mkt-kempty{font-size:11.5px;color:var(--mut);text-align:center;padding:14px 0}
.mkt-ccard,.mkt-tcard{background:rgba(255,255,255,.05);border:1px solid var(--bord);border-radius:12px;padding:10px 11px;margin-bottom:9px;cursor:pointer;transition:.15s}
.mkt-ccard:hover,.mkt-tcard:hover{border-color:rgba(255,255,255,.28);transform:translateY(-1px)}
.mkt-tcard-over{border-color:rgba(251,113,133,.5);background:rgba(251,113,133,.06);animation:mktGlow 2.2s ease-in-out infinite}
@keyframes mktGlow{0%,100%{box-shadow:0 0 0 rgba(251,113,133,0)}50%{box-shadow:0 0 10px rgba(251,113,133,.35)}}
.mkt-ccard-top,.mkt-tcard-top{display:flex;align-items:flex-start;gap:7px;font-size:13px}
.mkt-ccard-top b,.mkt-tcard-top b{font-size:13px;line-height:1.35;color:#f1f5ff}
.mkt-ccard-kind,.mkt-tcard-cat{flex:none}
.mkt-ccard-meta,.mkt-tcard-meta{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:7px 0}
.mkt-ccard-type{font-size:10.5px;color:#8fa0c5;font-weight:600}
.mkt-tcard-req{font-size:10.5px;color:#93c5fd;margin-bottom:6px}
.mkt-ccard-foot,.mkt-tcard-foot{display:flex;justify-content:space-between;align-items:center;font-size:11px;color:var(--mut);margin-bottom:6px}
.mkt-ccard-chips,.mkt-tcard-chips{display:flex;justify-content:flex-end}
.mkt-pri{font-size:10px;font-weight:700;padding:2px 7px;border-radius:999px}
.mkt-pri-high{color:#fca5a5;background:rgba(251,113,133,.12)}
.mkt-pri-medium{color:#fbbf24;background:rgba(251,191,36,.12)}
.mkt-dl{font-size:10.5px;font-weight:700;padding:2px 7px;border-radius:7px;white-space:nowrap}
.mkt-dl-ok{color:#8fa0c5;background:rgba(143,160,197,.10)}
.mkt-dl-soon{color:#fbbf24;background:rgba(251,191,36,.12)}
.mkt-dl-over{color:#fca5a5;background:rgba(251,113,133,.14)}

.mkt-idea-card{margin-top:12px}
.mkt-idea-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:8px}
.mkt-idea-btn{text-align:left;padding:9px 11px;border-radius:10px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.04);color:#e8eefc;font-size:12.5px;font-weight:600;cursor:pointer;transition:.15s}
.mkt-idea-btn:hover{background:rgba(255,255,255,.10);border-color:rgba(255,255,255,.24)}

.mkt-vc{display:flex;flex-direction:column;gap:6px;margin-bottom:8px}
.mkt-vc-row{display:flex;align-items:center;gap:8px;font-size:12px;padding:6px 9px;border-radius:9px;background:rgba(255,255,255,.04);border:1px solid var(--bord)}
.mkt-vc-row.fail{border-color:rgba(251,113,133,.4);background:rgba(251,113,133,.08)}
.mkt-vc-row.ok{border-color:rgba(52,211,153,.3)}
.mkt-vc-ic{flex:none}
.mkt-vc-l{font-weight:700;color:#f1f5ff;flex:none}
.mkt-vc-d{color:var(--mut);font-size:11.5px}

.mkt-chat{display:flex;flex-direction:column;gap:8px;max-height:220px;overflow:auto;margin-bottom:8px}
.mkt-chat-r{background:rgba(255,255,255,.04);border:1px solid var(--bord);border-radius:10px;padding:8px 10px}
.mkt-chat-hd{display:flex;justify-content:space-between;font-size:11px;color:var(--mut);margin-bottom:3px}
.mkt-chat-hd b{color:#e8eefc}
.mkt-chat-tx{font-size:12.5px;line-height:1.5;color:#c8d4e8}
.mkt-chat-img{max-width:160px;border-radius:8px;margin-top:6px;display:block}
.mkt-chat-add{display:flex;gap:6px;align-items:center}
.mkt-chat-add input[type="text"],.mkt-chat-add input:not([type]){flex:1;padding:8px 10px;border-radius:9px;border:1px solid var(--bord);background:rgba(255,255,255,.05);color:var(--txt);font-size:12.5px}

.mkt-conn-list{display:flex;flex-direction:column;gap:7px}
.mkt-conn-r{display:flex;align-items:center;gap:9px;font-size:12.5px;padding:7px 9px;border-radius:9px;background:rgba(255,255,255,.03)}
.mkt-conn-ic{flex:none;font-size:15px}
.mkt-conn-l{font-weight:700;color:#f1f5ff;flex:0 0 150px}
.mkt-conn-s{color:var(--mut)}
.mkt-conn-s.ok{color:#6ee7b7}
.mkt-conn-s.warn{color:#fbbf24}
.mkt-appr-list{display:flex;flex-direction:column;gap:7px;margin-bottom:6px}
.mkt-appr-row{display:grid;grid-template-columns:1fr 1.4fr 60px 1.4fr auto;gap:6px;align-items:center}
.mkt-appr-row input,.mkt-appr-row select{padding:6px 8px;border-radius:8px;border:1px solid var(--bord);background:rgba(255,255,255,.05);color:var(--txt);font-size:12px}
@media(max-width:700px){.mkt-appr-row{grid-template-columns:1fr 1fr}}

.mkt-camp-chip{color:#a5b4fc;background:rgba(165,180,252,.10);border:1px solid rgba(165,180,252,.25);border-radius:999px;padding:3px 9px}
.mkt-tie-card{background:rgba(255,255,255,.05);border:1px solid var(--bord);border-radius:14px;padding:14px 16px;flex:1;min-width:220px}
.mkt-tie-h{font:800 13px/1 'Sora',sans-serif;color:#f1f5ff;margin-bottom:6px}
.mkt-tie-b{font-size:12px;color:var(--mut);line-height:1.5}
.mkt-vtabs{display:flex;flex-wrap:wrap;gap:6px;padding:12px 12px 0}
.mkt-vtab{font-size:12.5px;font-weight:700;padding:8px 14px;border-radius:9px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.04);color:#c8d4e8;cursor:pointer;transition:.15s}
.mkt-vtab:hover{background:rgba(255,255,255,.09)}
.mkt-vtab.on{background:linear-gradient(135deg,#2563eb,#7c3aed);color:#fff;border-color:transparent}
@media(max-width:560px){.mkt-vtabs{flex-direction:column}}

.mkt-us-row{background:rgba(34,211,238,.07)}
.mkt-us-row td b{color:#22d3ee}
.mkt-narrate p{font-size:13.5px;line-height:1.7;color:#e8eefc;margin:0 0 8px}
.mkt-narrate p:last-child{margin-bottom:0}
.mkt-sync-body{min-height:60px}
.mkt-sync-body .fin-pl{margin-bottom:4px}

.mkt-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}
.mkt-cal-dow{font-size:11px;font-weight:800;text-align:center;color:var(--mut);padding:4px 0;text-transform:uppercase;letter-spacing:.04em}
.mkt-cal-cell{min-height:74px;border-radius:9px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.06);padding:5px 5px 4px;display:flex;flex-direction:column;gap:2px;overflow:hidden}
.mkt-cal-cell.mkt-cal-empty{background:transparent;border-color:transparent}
.mkt-cal-cell.has{border-color:rgba(124,58,237,.35)}
.mkt-cal-d{font-size:11.5px;font-weight:800;color:#c8d4e8}
.mkt-cal-item{font-size:10px;font-weight:700;padding:2px 5px;border-radius:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:inline-block;max-width:100%}
.mkt-cal-item.mkt-cal-content{background:rgba(96,165,250,.16);color:#93c5fd}
.mkt-cal-item.mkt-cal-boost{background:rgba(167,139,250,.16);color:#c4b5fd}
.mkt-cal-item.mkt-cal-exam{background:rgba(52,211,153,.16);color:#6ee7b7}
.mkt-cal-item.mkt-cal-intake{background:rgba(251,191,36,.16);color:#fcd34d}
/* media tasks on the calendar — one colour per status, so the calendar and the board agree */
.mkt-cal-item.mkt-cal-task{background:rgba(148,163,184,.16);color:#cbd5e1;cursor:pointer;border:1px solid transparent}
.mkt-cal-item.mkt-cal-task:hover{filter:brightness(1.25);border-color:currentColor}
.mkt-cal-item.mkt-cal-t-requested{background:rgba(148,163,184,.18);color:#cbd5e1}
.mkt-cal-item.mkt-cal-t-indesign{background:rgba(96,165,250,.18);color:#93c5fd}
.mkt-cal-item.mkt-cal-t-delivered{background:rgba(167,139,250,.20);color:#c4b5fd}
.mkt-cal-item.mkt-cal-t-uploaded{background:rgba(52,211,153,.20);color:#6ee7b7}
.mkt-cal-item.mkt-cal-t-rework{background:rgba(251,113,133,.20);color:#fda4af}
.mkt-cal-more{font-size:9.5px;color:var(--mut);font-weight:700}
.mkt-cal-legend{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px;align-items:center}
.mkt-cal-legend .mkt-cal-item{font-size:11px;padding:4px 9px;cursor:default}
@media(max-width:700px){.mkt-cal-grid{grid-template-columns:repeat(7,minmax(34px,1fr))}.mkt-cal-cell{min-height:54px}.mkt-cal-item{display:none}.mkt-cal-cell.has::after{content:"•";color:#a78bfa;font-size:14px}}

/* ── BC registration commission ───────────────────────────────────────────────────────────── */
/* 11 columns have to fit the ADMIN content width (narrower than FinanceCloud's) without the
   admin scrolling sideways to reach TOTAL. Headers wrap onto two lines and the cells go
   compact; the table then fills its container instead of overflowing it. */
.bc-table{width:100%;table-layout:fixed;font-size:11.5px}
.bc-table td{white-space:nowrap;padding:6px 3px !important}
.bc-table th{white-space:normal;line-height:1.25;font-size:9.5px;letter-spacing:.02em;padding:6px 3px !important;word-break:normal;hyphens:none}
/* explicit widths summing to 100% — the money column gets the room it needs so the TOTAL
   is never clipped. (First attempt used ellipsis and truncated ৳48,69,900 to "৳48,69,9…".) */
.bc-table th:nth-child(1),.bc-table td:nth-child(1){width:7.5%;padding-left:8px !important}
.bc-table th:nth-child(2),.bc-table td:nth-child(2){width:8%}
.bc-table th:nth-child(3),.bc-table td:nth-child(3){width:8.5%}
.bc-table th:nth-child(4),.bc-table td:nth-child(4){width:6.5%}
.bc-table th:nth-child(5),.bc-table td:nth-child(5){width:8.5%}
.bc-table th:nth-child(6),.bc-table td:nth-child(6){width:6.5%}
.bc-table th:nth-child(7),.bc-table td:nth-child(7){width:10.5%;white-space:normal}
.bc-table th:nth-child(8),.bc-table td:nth-child(8){width:8.5%}
.bc-table th:nth-child(9),.bc-table td:nth-child(9){width:7.5%}
.bc-table th:nth-child(10),.bc-table td:nth-child(10){width:7.5%}
.bc-table th:nth-child(11),.bc-table td:nth-child(11){width:20.5%;padding-right:8px !important}
.bc-table .bc-mid{background:rgba(251,191,36,.07)}
.bc-table .bc-hi{background:rgba(96,165,250,.09)}
/* inputs stretch to their column rather than holding a fixed 66px each */
.bc-table .bc-in{width:100%;max-width:62px;padding:5px 2px;font-size:11.5px}
.bc-in{width:66px;padding:5px 6px;border-radius:8px;border:1px solid var(--bord);background:rgba(255,255,255,.05);color:var(--txt);font-size:12.5px;text-align:center;font-family:inherit}
.bc-in:focus{outline:none;border-color:#60a5fa;background:rgba(96,165,250,.10)}
.bc-in.w{width:96px}
.bc-in.bc-act{border-color:rgba(52,211,153,.4);background:rgba(52,211,153,.07)}
.bc-in.bc-act::placeholder{color:var(--mut);opacity:.65}
.bc-cfg{display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.bc-cfg label{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:700;color:var(--mut)}
.bc-cfg label.bc-mid{color:#fcd34d}
.bc-cfg label.bc-hi{color:#93c5fd}
.bc-retro{margin-top:12px}
.bc-retro-n{margin-top:6px;font-size:11.5px;line-height:1.55;color:#fcd34d;background:rgba(251,191,36,.08);border:1px solid rgba(251,191,36,.28);border-radius:10px;padding:8px 11px}
.bc-t{font-size:10px;font-weight:800;padding:2px 7px;border-radius:99px;letter-spacing:.03em}
.bc-t.base{background:rgba(148,163,184,.16);color:#cbd5e1}
.bc-t.mid{background:rgba(251,191,36,.18);color:#fcd34d}
.bc-t.hi{background:rgba(52,211,153,.20);color:#6ee7b7}
.bc-hot td{background:rgba(251,113,133,.07)}
.bc-mn{color:#34d399;font-size:11px}
.bc-alert{margin-top:14px;padding:12px 14px;border-radius:14px;border:1px solid rgba(251,113,133,.42);
  background:linear-gradient(180deg,rgba(251,113,133,.13),rgba(251,113,133,.05))}
.bc-alert-h{font-size:14px;font-weight:800;color:#fda4af;margin-bottom:4px}
.bc-alert-b{font-size:12.5px;line-height:1.6;color:#c8d4e8}

/* ── MigrationCloud: reason codes, consultation gate, qualification ───────────────────────── */
.em-rsn{display:grid;grid-template-columns:1fr 1fr;gap:8px;max-height:44vh;overflow:auto}
.em-rsn-o{display:flex;align-items:flex-start;gap:9px;padding:9px 11px;border:1px solid var(--bord);border-radius:11px;cursor:pointer;background:rgba(255,255,255,.03)}
.em-rsn-o:hover{border-color:rgba(148,163,184,.5)}
.em-rsn-o input{margin-top:3px;flex:none}
.em-rsn-o:has(input:checked){border-color:#fb7185;background:rgba(251,113,133,.10)}
.em-rsn-ic{font-size:15px;flex:none}
.em-rsn-o b{display:block;font-size:12.8px;color:var(--txt)}
.em-rsn-o small{display:block;font-size:11px;color:var(--mut);margin-top:1px;line-height:1.35}
@media(max-width:640px){.em-rsn{grid-template-columns:1fr}}

.em-consult{margin:10px 0;padding:10px 12px;border-radius:12px;border:1px solid var(--bord)}
.em-consult.ok{border-color:rgba(52,211,153,.4);background:rgba(52,211,153,.08)}
.em-consult.warn{border-color:rgba(251,191,36,.45);background:rgba(251,191,36,.09)}
.em-consult-h{font-size:12.5px;font-weight:800;margin-bottom:4px}
.em-consult.ok .em-consult-h{color:#6ee7b7}
.em-consult.warn .em-consult-h{color:#fcd34d}
.em-consult-n{font-size:12px;color:#c8d4e8;line-height:1.5}
.em-consult-by{font-size:11px;color:var(--mut);margin-top:6px;display:flex;align-items:center;gap:8px}

.em-qual{display:flex;flex-direction:column;gap:6px;margin:6px 0}
.em-qual-o{display:flex;align-items:center;gap:9px;padding:7px 10px;border:1px solid var(--bord);border-radius:10px;cursor:pointer;font-size:12.4px;color:#c8d4e8}
.em-qual-o.on{border-color:rgba(52,211,153,.42);background:rgba(52,211,153,.08);color:#d1fae5}
.em-qual-o input{flex:none}
.em-warn{margin-top:8px;padding:9px 11px;border-radius:11px;font-size:12px;line-height:1.5;color:#fcd34d;background:rgba(251,191,36,.10);border:1px solid rgba(251,191,36,.32)}
.em-chip.ok{background:rgba(52,211,153,.14);border-color:rgba(52,211,153,.4);color:#6ee7b7}
.em-chip.warn{background:rgba(251,191,36,.14);border-color:rgba(251,191,36,.4);color:#fcd34d}

/* ── Student Store (product suggestions + in-app purchase) ─────────────────────────────── */
.shop-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(268px,1fr));gap:12px}
.shop-card{border:1px solid var(--bord);border-radius:14px;padding:12px 14px;background:rgba(255,255,255,.03);display:flex;flex-direction:column;gap:6px}
.shop-card-sug{border-color:rgba(52,211,153,.42);background:linear-gradient(180deg,rgba(52,211,153,.09),rgba(255,255,255,.02))}
.shop-card-hit{border-color:rgba(52,211,153,.34)}
.shop-by{font-size:11.5px;font-weight:700;color:#6ee7b7;display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.shop-by-r{font-weight:600;color:var(--mut)}
.shop-when{margin-left:auto;font-weight:600;color:var(--mut);font-size:10.5px}
.shop-t{font-size:14.5px;color:var(--txt)}
.shop-why{font-size:12.5px;color:#c8d4e8;line-height:1.45}
.shop-why.dim{color:var(--mut)}
.shop-f{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:auto;padding-top:6px}
.shop-price{font-size:17px;font-weight:800;color:#34d399}
.shop-cat{font-size:12px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--mut);margin:14px 0 8px}
.shop-cat:first-child{margin-top:0}
.shop-tag{font-size:10px;font-weight:800;color:#6ee7b7;background:rgba(52,211,153,.14);padding:2px 7px;border-radius:99px;align-self:flex-start}
.shop-tag2{font-size:10px;font-weight:800;color:#fcd34d;background:rgba(251,191,36,.14);padding:2px 7px;border-radius:99px}
.shop-attr{font-size:12px;color:#6ee7b7;background:rgba(52,211,153,.10);border:1px solid rgba(52,211,153,.28);border-radius:10px;padding:8px 10px}
.shop-empty{margin-top:12px;padding:16px;border:1px dashed var(--bord);border-radius:14px;color:var(--mut);font-size:13px}
.fin-tag.inv-ch{background:rgba(52,211,153,.14);color:#6ee7b7}

/* Boost sheet — 15 columns of Uzzal's requisition sheet, so it must breathe horizontally */
.mkt-boost-table{min-width:1480px}
.mkt-boost-table th,.mkt-boost-table td{padding:8px 10px;font-size:12.5px;white-space:nowrap}
.mkt-boost-table td.mkt-dt{color:#c8d4e8;font-weight:600}
.mkt-pace{font-size:9.5px;font-weight:800;letter-spacing:.02em;margin-top:1px;opacity:.9}
/* full-width field inside the 2-column .mkt-form dialogs (Link inputs) */
.mkt-wide{display:block;margin-top:10px;font-size:12px;font-weight:600;color:var(--mut)}
.mkt-wide input{width:100%;margin-top:4px;padding:8px 10px;border-radius:9px;border:1px solid var(--bord);background:rgba(255,255,255,.05);color:var(--txt);font-size:13px}
.mkt-tcard-link{margin:4px 0 2px;font-size:11px}

.mkt-mix-row{display:grid;grid-template-columns:110px 1fr 130px;align-items:center;gap:10px;padding:6px 0}
.mkt-mix-l{font-size:12.5px;font-weight:700;color:#c8d4e8;text-transform:capitalize}
.mkt-mix-bar{position:relative;height:10px;border-radius:6px;background:rgba(255,255,255,.06);overflow:visible}
.mkt-mix-bar i{position:absolute;left:0;top:0;height:100%;border-radius:6px;display:block}
.mkt-mix-bar em{position:absolute;top:-3px;width:2px;height:16px;background:#e8eefc;font-style:normal}
.mkt-mix-v{font-size:11.5px;color:var(--mut);white-space:nowrap}
.mkt-mix-v small{color:#6b7a99}
@media print{
  body *{visibility:hidden}
  #mkt-report-print,#mkt-report-print *{visibility:visible}
  #mkt-report-print{position:absolute;left:0;top:0;width:100%}
}

.stu-glass > .fin-side{position:sticky}

.stu-glass > .fin-side{position:sticky}

.overlay .panel .cx-fields .cx-f .cx-phone{display:flex;gap:8px}
.overlay .panel .cx-fields .cx-f .cx-phone select{flex:0 0 auto;width:auto;min-width:104px;max-width:150px;padding-left:10px;padding-right:24px}
.overlay .panel .cx-fields .cx-f .cx-phone input{flex:1 1 auto;width:auto;min-width:0}

.overlay .panel .mfb-seg{display:flex;flex-wrap:wrap;gap:8px}
.overlay .panel .mfb-opt{flex:1 1 auto;min-width:110px;padding:9px 10px;border-radius:10px;border:1.5px solid #94a3b8;background:#fff;color:#0f172a;font-weight:600;font-size:13px;cursor:pointer}
.overlay .panel .mfb-opt.on{border-color:#2563eb;background:#eff5ff;color:#1d4ed8;box-shadow:0 0 0 3px rgba(37,99,235,.15)}
.mfb-card .mfb-quote{margin-top:8px;padding:10px 12px;border-left:3px solid #38bdf8;background:rgba(148,163,184,.10);border-radius:0 8px 8px 0;font-style:italic}

.ivb-cols{display:flex;flex-direction:column;gap:6px;margin:6px 0}
.ivb-crow{display:flex;gap:8px;align-items:center}
.ivb-crow .ivb-cmethod{flex:0 0 178px;min-width:0}
.ivb-crow .ivb-camt{flex:1;min-width:0}
.fadj-row{display:flex;gap:10px;align-items:center;margin-top:6px}
.fadj-row .fadj-l{flex:1;min-width:0}
.fadj-row input{width:150px}
.fadj-col select{flex:0 0 178px}
.fadj-col input{flex:1;width:auto}
.fadj-tot{margin-top:12px;padding:9px 12px;border-radius:10px;background:rgba(148,163,184,.10);border:1px solid rgba(148,163,184,.25);font-size:13px}
.fin-verify-bar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between;margin-top:12px;padding:10px 12px;border-radius:10px;background:rgba(251,191,36,.10);border:1px solid rgba(251,191,36,.35)}
.fin-verify-t{font-size:12.5px;font-weight:700;color:#fbbf24}
.ss-tbl .ss-in{width:84px;text-align:center;padding:6px 8px}
.ss-tbl td{vertical-align:middle}

.tr-leads{margin:0 0 14px;padding:14px 18px}
.tr-leads-h{display:flex;align-items:center;justify-content:space-between;gap:10px}
.tr-mylead-list{display:flex;flex-direction:column;gap:6px;margin-top:10px}
.tr-mylead{display:flex;flex-wrap:wrap;gap:10px;align-items:center;background:rgba(148,163,184,.07);border:1px solid rgba(148,163,184,.16);border-radius:9px;padding:7px 11px;font-size:13px}
.tr-mylead .lv-status{margin-left:auto}

.pb-audio{width:100%;margin:6px 0;height:40px}
.pb-sec{font-size:11px;font-weight:800;letter-spacing:.4px;text-transform:uppercase;color:#8aa0bd;margin-top:10px}
.pb-files{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}
.pb-lib-grid{grid-template-columns:repeat(auto-fill,minmax(340px,1fr))}

.th-side-n{margin-left:auto;background:rgba(251,191,36,.18);color:#fbbf24;font-size:10.5px;font-weight:800;border-radius:9px;padding:1px 7px}
.th-wrap{padding-top:4px}
.th-wrap .th-toprow{margin-top:8px}

.tr-earn{margin:0 0 14px;padding:16px 18px}
.tr-earn-top{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-start;justify-content:space-between}
.tr-earn-l{font-size:12px;font-weight:700;letter-spacing:.3px;color:#8aa0bd;text-transform:uppercase}
.tr-earn-v{font-family:Sora,Inter,sans-serif;font-size:34px;font-weight:800;color:#34d399;margin-top:2px}
.tr-earn-s{color:#8aa0bd;font-size:12.5px;margin-top:2px}
.tr-earn-s b{color:#fbbf24}
.tr-earn-chips{flex-wrap:wrap}
.tr-earn-foot{margin-top:10px;padding-top:10px;border-top:1px solid rgba(148,163,184,.18);color:#8aa0bd;font-size:12.5px}
.tr-earn-foot b{color:#34d399}
.tr-ref-hr{display:flex;align-items:center;gap:8px}
.tr-earn-won{color:#34d399;font-weight:800;font-size:13px}
.tr-chiprow{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}
.overlay .panel .tr-refw{margin-top:10px}
.overlay .panel .tr-ref{border:1px solid rgba(148,163,184,.30);border-radius:10px;padding:10px 12px;margin-top:8px;background:rgba(148,163,184,.10)}
.overlay .panel .tr-ref-h{display:flex;align-items:center;justify-content:space-between;gap:8px}
.overlay .panel .tr-ref-acts{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.overlay .panel .tr-fups{margin-top:8px;display:flex;flex-direction:column;gap:6px}
.overlay .panel .tr-fup{background:rgba(148,163,184,.12);border:1px solid rgba(148,163,184,.25);border-radius:8px;padding:6px 9px;display:flex;flex-wrap:wrap;gap:6px;align-items:center;font-size:12px}
.overlay .panel .tr-fup-t{color:#8aa0bd;font-weight:600;font-size:11px}
.overlay .panel .tr-fup-n{width:100%}

.msgr-scope{font-size:12px;font-weight:700;letter-spacing:.4px;text-transform:uppercase;color:#0ea5e9;background:rgba(14,165,233,.12);border:1px solid rgba(14,165,233,.3);padding:3px 9px;border-radius:999px;vertical-align:middle;margin-left:8px}
.msgr-stats{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin:16px 0}
.msgr-stat{background:var(--glass);border:1px solid var(--glass2);border-radius:12px;padding:12px 14px}
.msgr-stat-v{font-size:22px;font-weight:800;line-height:1.1}
.msgr-stat-l{font-size:11px;color:var(--mut);margin-top:3px;text-transform:uppercase;letter-spacing:.4px}
.msgr-phasebar{display:flex;align-items:center;gap:14px;background:var(--glass);border:1px solid var(--glass2);border-radius:12px;padding:10px 12px;margin-bottom:14px;flex-wrap:wrap}
.msgr-phase-seg{display:inline-flex;background:rgba(148,163,184,.12);border-radius:10px;padding:3px;gap:2px;flex:0 0 auto}
.msgr-phase-b{border:0;background:transparent;color:var(--mut);font-weight:700;font-size:12.5px;padding:6px 12px;border-radius:8px;cursor:pointer}
.msgr-phase-b.on{background:linear-gradient(135deg,#22d3ee,#a78bfa);color:#0b1120}
.msgr-phase-x{color:var(--mut);font-size:12.5px;flex:1 1 240px;min-width:0}
.msgr-shell{display:grid;grid-template-columns:340px 1fr;gap:16px;align-items:start}
.msgr-list{display:flex;flex-direction:column;gap:8px;max-height:70vh;overflow:auto;padding-right:2px}
.msgr-litem{text-align:left;background:var(--glass);border:1px solid var(--glass2);border-radius:12px;padding:11px 12px;cursor:pointer;transition:border-color .12s,background .12s;color:inherit}
.msgr-litem:hover{border-color:rgba(34,211,238,.4)}
.msgr-litem.on{border-color:#22d3ee;background:var(--glass2)}
.msgr-li-top{display:flex;align-items:center;gap:9px}
.msgr-li-id{flex:1;min-width:0;line-height:1.2}
.msgr-li-id b{display:block;font-size:13.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.msgr-li-id span{font-size:11px;color:var(--mut)}
.msgr-dot{width:9px;height:9px;border-radius:50%;flex:0 0 auto}
.msgr-li-snip{font-size:12px;color:var(--mut);margin:7px 0 8px;line-height:1.35}
.msgr-li-tags{display:flex;align-items:center;gap:7px}
.msgr-li-st{font-size:11px;font-weight:700;margin-left:auto}
.msgr-chip{display:inline-block;font-size:11px;font-weight:700;padding:2px 8px;border-radius:999px;white-space:nowrap}
.msgr-av{width:34px;height:34px;flex:0 0 auto;border-radius:50%;display:grid;place-items:center;color:#fff;font-weight:800;font-size:12.5px}
.msgr-conv{background:var(--glass);border:1px solid var(--glass2);border-radius:14px;padding:14px 16px;min-height:60vh}
.msgr-conv-h{display:flex;align-items:center;gap:11px;padding-bottom:12px;border-bottom:1px solid var(--glass2);margin-bottom:12px}
.msgr-conv-id{flex:1;min-width:0}
.msgr-conv-id b{display:block;font-size:15px}
.msgr-conv-id span{font-size:12px;color:var(--mut)}
.msgr-conv-tags{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.msgr-thread{display:flex;flex-direction:column;gap:9px;margin-bottom:14px}
.msgr-b{max-width:78%}
.msgr-b.user{align-self:flex-start}
.msgr-b.agent{align-self:flex-end}
.msgr-bb{padding:9px 13px;border-radius:14px;font-size:13.5px;line-height:1.4}
.msgr-b.user .msgr-bb{background:rgba(148,163,184,.16);border-bottom-left-radius:4px}
.msgr-b.agent .msgr-bb{background:linear-gradient(135deg,rgba(34,211,238,.22),rgba(167,139,250,.22));border:1px solid rgba(34,211,238,.3);border-bottom-right-radius:4px}
.msgr-bt{font-size:10.5px;color:var(--mut);margin-top:3px}
.msgr-b.agent .msgr-bt{text-align:right}
.msgr-draft{background:var(--glass2);border:1px solid rgba(34,211,238,.25);border-radius:12px;padding:13px}
.msgr-draft-h{display:flex;align-items:center;gap:10px;font-weight:700;font-size:13px;margin-bottom:9px}
.msgr-conf{flex:1;height:6px;background:rgba(148,163,184,.2);border-radius:999px;overflow:hidden;max-width:160px}
.msgr-conf i{display:block;height:100%;border-radius:999px}
.msgr-reply{width:100%;box-sizing:border-box;background:var(--bg0);border:1px solid var(--glass2);border-radius:10px;padding:10px 12px;color:var(--txt);font:inherit;font-size:13.5px;line-height:1.45;resize:vertical}
.msgr-class{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:9px 0}
.msgr-phasenote{font-size:11.5px;color:var(--mut);margin-left:auto}
.msgr-lead{background:var(--glass);border:1px solid var(--glass2);border-radius:10px;padding:10px 12px;margin-bottom:11px}
.msgr-lead-h{display:flex;align-items:center;gap:8px;font-weight:700;font-size:12.5px;margin-bottom:8px}
.msgr-lr{font-size:10.5px;font-weight:800;padding:2px 8px;border-radius:999px;margin-left:auto}
.msgr-lr.y{background:rgba(16,185,129,.16);color:#10b981}
.msgr-lr.n{background:rgba(148,163,184,.18);color:var(--mut)}
.msgr-lead-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px 16px}
.msgr-lead-grid label{display:block;font-size:10.5px;color:var(--mut);font-family:ui-monospace,Menlo,monospace;margin-bottom:2px}
.msgr-lead-grid span{font-size:13px;font-weight:600}
.msgr-urg{padding:1px 8px;border-radius:999px;font-size:11.5px;font-weight:700;text-transform:capitalize}
.msgr-urg.high{background:rgba(239,68,68,.16);color:#ef4444}
.msgr-urg.medium{background:rgba(245,158,11,.16);color:#f59e0b}
.msgr-urg.low{background:rgba(148,163,184,.18);color:var(--mut)}
.msgr-note{border-radius:10px;padding:9px 12px;font-size:12.5px;line-height:1.4;margin-bottom:10px}
.msgr-note.warn{background:rgba(245,158,11,.12);border:1px solid rgba(245,158,11,.3)}
.msgr-note.oos{background:rgba(139,92,246,.12);border:1px solid rgba(139,92,246,.3)}
.msgr-acts{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.msgr-push-note{font-size:11.5px;color:var(--mut)}
.btn.primary.danger{background:linear-gradient(135deg,#ef4444,#f59e0b);border:0;color:#fff}
.msgr-esc-banner{background:rgba(239,68,68,.1);border:1px solid rgba(239,68,68,.3);border-radius:10px;padding:11px 13px;font-size:13px;line-height:1.45}
.msgr-conf-note{color:var(--mut);font-size:12px}
.msgr-sent-banner{background:rgba(16,185,129,.1);border:1px solid rgba(16,185,129,.3);border-radius:10px;padding:10px 13px;font-size:13px;font-weight:600;color:#10b981}
.msgr-lead-ok{margin-top:10px;background:rgba(59,130,246,.1);border:1px solid rgba(59,130,246,.3);border-radius:10px;padding:10px 13px;font-size:12.5px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.msgr-lead-ok.oos{background:rgba(139,92,246,.1);border-color:rgba(139,92,246,.3)}
@media(max-width:860px){.msgr-stats{grid-template-columns:repeat(3,1fr)}.msgr-shell{grid-template-columns:1fr}.msgr-list{max-height:none}}

/* ================= Student "Your gap" plan card (bet #8) ================= */
.sgap{border:1px solid rgba(34,211,238,.28)}
.sgap-top{display:flex;align-items:flex-start;gap:14px;flex-wrap:wrap}
.sgap-hd{flex:1;min-width:200px}
.sgap-title{font-weight:800;font-size:16px}
.sgap-sub{color:var(--mut);font-size:13px;margin-top:3px}
.sgap-sub b{color:var(--txt)}
.sgap-nums{display:flex;align-items:center;gap:10px}
.sgap-band{display:flex;flex-direction:column;align-items:center;background:var(--glass);border:1px solid var(--glass2);border-radius:12px;padding:6px 14px;min-width:56px}
.sgap-band span{font-size:24px;font-weight:800;line-height:1}
.sgap-band small{font-size:10px;color:var(--mut);text-transform:uppercase;letter-spacing:.5px;margin-top:2px}
.sgap-band.tgt{border-color:rgba(34,211,238,.45);background:rgba(34,211,238,.1)}
.sgap-band.tgt span{color:#22d3ee}
.sgap-arrow{color:var(--mut);font-size:18px;font-weight:700}
.sgap-day{margin:12px 0 10px;font-size:13px;color:var(--mut)}
.sgap-day b{color:var(--txt);font-size:15px}
.sgap-tasks{display:flex;flex-direction:column;gap:8px}
.sgap-task{display:flex;align-items:center;gap:11px;text-align:left;background:var(--glass);border:1px solid var(--glass2);border-radius:12px;padding:11px 13px;cursor:pointer;color:inherit;transition:border-color .12s,background .12s;font:inherit}
.sgap-task:hover{border-color:rgba(34,211,238,.45);background:var(--glass2)}
.sgap-task-n{width:22px;height:22px;flex:0 0 auto;border-radius:50%;background:rgba(34,211,238,.16);color:#22d3ee;font-weight:800;font-size:12px;display:grid;place-items:center}
.sgap-task-ic{font-size:19px;flex:0 0 auto}
.sgap-task-b{flex:1;min-width:0;line-height:1.3}
.sgap-task-b b{display:block;font-size:13.5px}
.sgap-task-b small{color:var(--mut);font-size:11.5px}
.sgap-task-go{color:var(--mut);font-size:18px;flex:0 0 auto}
.sgap-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-top:12px;padding-top:11px;border-top:1px solid var(--glass2)}
.sgap-foot-t{font-size:12.5px;color:var(--mut)}

/* ============ Writing-eval comment bank (criterion-grouped + personal snippets) ============ */
.rbank{display:flex;flex-direction:column;gap:7px;margin-top:9px}
.rbank-grp{display:flex;flex-wrap:wrap;align-items:center;gap:6px}
.rbank-cat{font-size:11px;font-weight:800;color:var(--mut);min-width:78px;text-transform:uppercase;letter-spacing:.3px}
.rbank-mine{padding-top:7px;border-top:1px dashed var(--glass2);margin-top:2px}
.remark-chip.mine{background:rgba(34,211,238,.1);border-color:rgba(34,211,238,.32);color:#8fe6f5}
.remark-chip.mine:hover{border-color:#22d3ee;color:#bff1fb}
.rbank-empty{font-size:11.5px;color:var(--mut);font-style:italic}
.rbank-save{margin-left:4px;padding:3px 10px;font-size:11px}

/* ============ Teacher batch-health one-pager ============ */
.bh-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:14px}
.bh-card{background:var(--glass);border:1px solid var(--glass2);border-radius:12px;padding:11px 13px}
.bh-h{font-weight:700;font-size:13px;margin-bottom:9px;display:flex;justify-content:space-between;align-items:center}
.bh-h b{color:#22d3ee;font-size:13px}
.bh-sub{font-size:11px;color:var(--mut);margin-top:7px}
.bh-spark{display:flex;align-items:flex-end;gap:4px;height:52px}
.bh-bar{flex:1;min-width:5px;border-radius:3px 3px 0 0;align-self:flex-end}
.bh-dist{display:flex;align-items:center;gap:8px;margin:4px 0;font-size:12px}
.bh-dl{width:44px;color:var(--mut);flex:0 0 auto}
.bh-dbar{flex:1;height:8px;background:rgba(148,163,184,.18);border-radius:999px;overflow:hidden}
.bh-dbar i{display:block;height:100%;background:linear-gradient(90deg,#22d3ee,#a78bfa);border-radius:999px}
.bh-dist b{width:18px;text-align:right;flex:0 0 auto}
.bh-risk-h{font-weight:700;font-size:12.5px;margin:4px 0 8px;color:#fbbf24}
.bh-risk{display:flex;align-items:center;justify-content:space-between;gap:10px;background:var(--glass);border:1px solid var(--glass2);border-radius:10px;padding:9px 12px;margin-bottom:7px}
.bh-risk-l{min-width:0}
.bh-risk-l b{font-size:13px}
.bh-risk-l small{display:block;color:var(--mut);font-size:11px}
.bh-risk-a{font-size:11.5px;font-weight:700;color:#7dd3fc;white-space:nowrap;flex:0 0 auto}

/* ============ Marketing "seats needing spend" strip ============ */
.mkt-seats{margin-top:12px}
.mkt-seats-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px}
.mkt-seat{background:var(--glass);border:1px solid var(--glass2);border-radius:12px;padding:10px 12px}
.mkt-seat-n{font-weight:800;font-size:13.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mkt-seat-m{font-size:11px;color:var(--mut);margin:2px 0 8px}
.mkt-seat-bar{height:7px;background:rgba(148,163,184,.18);border-radius:999px;overflow:hidden}
.mkt-seat-bar i{display:block;height:100%;border-radius:999px}
.mkt-seat-l{font-size:11.5px;color:var(--mut);margin-top:7px}
.mkt-seat-l b{color:var(--txt)}

/* ============ Sales rain-aware nudge ============ */
.crm-rain-card{display:flex;align-items:center;gap:12px;background:linear-gradient(90deg,rgba(56,189,248,.14),rgba(129,140,248,.12));border:1px solid rgba(56,189,248,.32);border-radius:12px;padding:11px 14px;margin-bottom:12px}
.crm-rain-ic{font-size:24px;flex:0 0 auto}
.crm-rain-b{flex:1;min-width:0;line-height:1.4}
.crm-rain-b b{display:block;font-size:13.5px}
.crm-rain-b span{font-size:12px;color:var(--mut)}
.crm-rain-go{flex:0 0 auto;white-space:nowrap}

/* ============ Shared rain-aware slots (sales widget · topbar chip · finance/marketing notes) ============ */
.rain-slot:empty{display:none}
.rain-mini{display:flex;align-items:center;gap:9px;background:rgba(56,189,248,.12);border:1px solid rgba(56,189,248,.3);border-radius:10px;padding:8px 11px;margin:10px 0 0}
.rain-mini-ic{font-size:18px;flex:0 0 auto}
.rain-mini-t{flex:1;min-width:0;font-size:12px;line-height:1.35;color:var(--mut)}
.rain-mini-t b{color:var(--txt)}
.rain-mini-go{flex:0 0 auto;white-space:nowrap}
.rain-note{background:rgba(56,189,248,.1);border:1px solid rgba(56,189,248,.28);border-radius:10px;padding:9px 13px;font-size:12.5px;line-height:1.4;color:var(--mut);margin:12px 0}
.rain-note b{color:var(--txt)}
.rain-chip{display:inline-flex;align-items:center;gap:4px;background:rgba(56,189,248,.16);border:1px solid rgba(56,189,248,.35);color:#7dd3fc;font-size:12px;font-weight:700;padding:4px 10px;border-radius:999px;white-space:nowrap;cursor:default;align-self:center}

/* rain-nudge "learned" micro-pill */
.rain-learn{display:inline-block;font-size:10px;font-weight:800;color:#38bdf8;background:rgba(56,189,248,.16);border:1px solid rgba(56,189,248,.3);border-radius:999px;padding:0 6px;vertical-align:middle;white-space:nowrap}

/* ============ Student-facing study-abroad file tracker (read-only) ============ */
.smig{border:1px solid rgba(56,189,248,.28)}
.smig-h{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:14px}
.smig-t{font-weight:800;font-size:16px}
.smig-s{color:var(--mut);font-size:12.5px;margin-top:3px}
.smig-s b{color:var(--txt)}
.smig-track{display:flex;align-items:center;gap:0;margin:4px 0 16px;overflow-x:auto}
.smig-step{display:flex;flex-direction:column;align-items:center;gap:5px;flex:0 0 auto;min-width:58px}
.smig-dot{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;font-size:15px;border:2px solid var(--glass2);background:var(--glass);color:var(--mut)}
.smig-lb{font-size:10.5px;color:var(--mut);white-space:nowrap}
.smig-line{flex:1 1 auto;height:2px;background:var(--glass2);min-width:12px;margin-top:-18px}
.smig-step.done .smig-dot{background:#34d39922;border-color:#34d399;color:#34d399}
.smig-step.done .smig-lb{color:var(--txt)}
.smig-step.now .smig-dot{background:linear-gradient(135deg,#22d3ee,#a78bfa);border-color:#22d3ee;color:#0b1120;box-shadow:0 0 0 4px rgba(34,211,238,.15)}
.smig-step.now .smig-lb{color:#22d3ee;font-weight:800}
.smig-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.smig-docs,.smig-next{background:var(--glass);border:1px solid var(--glass2);border-radius:12px;padding:11px 13px}
.smig-docs-h,.smig-next-h{font-size:12px;color:var(--mut);margin-bottom:8px}
.smig-docs-h b{color:var(--txt);font-size:13.5px}
.smig-docs-bar{height:8px;background:rgba(148,163,184,.18);border-radius:999px;overflow:hidden}
.smig-docs-bar i{display:block;height:100%;border-radius:999px}
.smig-next-b{font-size:13px;line-height:1.4}
.smig-foot{margin-top:12px;padding-top:11px;border-top:1px solid var(--glass2);font-size:12px;color:var(--mut)}
.smig-foot b{color:var(--txt)}
@media(max-width:640px){.smig-grid{grid-template-columns:1fr}}

/* ===== SOP & Protocol in-app guide ===== */
.sop-principle{background:linear-gradient(135deg,rgba(59,130,246,.14),rgba(139,92,246,.10));border:1px solid rgba(99,102,241,.35);border-radius:14px;padding:16px 18px;margin:14px 0 6px}
.sop-principle-h{font-weight:800;font-size:15px;margin-bottom:6px}
.sop-principle-b{color:var(--muted);font-size:13.5px;line-height:1.6}
.sop-sec-h{font-weight:800;font-size:15px;margin:22px 0 10px;padding-bottom:6px;border-bottom:1px solid var(--bord)}
.sop-role{background:var(--card);border:1px solid var(--bord);border-radius:14px;padding:16px 18px;margin-bottom:14px}
.sop-role-me{border-color:rgba(99,102,241,.55);box-shadow:0 0 0 1px rgba(99,102,241,.35),0 8px 30px rgba(59,130,246,.12)}
.sop-role-h{display:flex;align-items:center;gap:12px;margin-bottom:10px}
.sop-role-ic{font-size:26px}
.sop-role-name{font-weight:800;font-size:15px}
.sop-role-portal{color:var(--muted);font-size:12px}
.sop-you{background:#6366f1;color:#fff;font-size:10px;font-weight:800;padding:1px 7px;border-radius:20px;vertical-align:middle;margin-left:6px}
.sop-purpose{color:var(--fg);font-size:13.5px;line-height:1.55;margin-bottom:12px}
.sop-sub{font-weight:700;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:10px 0 5px}
.sop-ul{margin:0;padding-left:18px}
.sop-ul li{font-size:13px;line-height:1.6;color:var(--fg)}
.sop-txt{font-size:13px;line-height:1.6;color:var(--fg)}
.sop-grid2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.sop-cadence{display:flex;flex-wrap:wrap;gap:10px;margin-top:4px}
.sop-cadence span{background:var(--chip,rgba(255,255,255,.04));border:1px solid var(--bord);border-radius:10px;padding:7px 11px;font-size:12.5px;flex:1 1 200px;line-height:1.5}
.sop-cadence b{color:#8b5cf6;margin-right:5px}
.sop-esc{margin-top:12px;background:rgba(245,158,11,.10);border:1px solid rgba(245,158,11,.30);border-radius:10px;padding:9px 12px;font-size:12.5px;line-height:1.55}
.sop-note{margin-top:8px;background:rgba(239,68,68,.08);border:1px solid rgba(239,68,68,.25);border-radius:10px;padding:9px 12px;font-size:12.5px;color:var(--fg)}
.sop-tablewrap{overflow-x:auto;border:1px solid var(--bord);border-radius:12px}
.sop-table{width:100%;border-collapse:collapse;font-size:12.5px}
.sop-table th{background:rgba(31,58,95,.55);color:#e6eefc;text-align:left;padding:9px 12px;font-weight:700;white-space:nowrap}
.sop-table td{padding:8px 12px;border-top:1px solid var(--bord);line-height:1.5}
.sop-table tr:nth-child(even) td{background:rgba(255,255,255,.02)}
.sop-ok{color:#10b981;font-weight:600}
.sop-need{color:#f59e0b;font-weight:600}
.sop-rb-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px}
.sop-rb{background:var(--card);border:1px solid var(--bord);border-radius:12px;padding:12px 14px}
.sop-rb-me{border-color:rgba(99,102,241,.5)}
.sop-rb-h{font-weight:700;font-size:13px;margin-bottom:6px}
.sop-rb-id{background:#1f3a5f;color:#cfe0f5;font-size:10px;font-weight:800;padding:1px 6px;border-radius:6px;margin-right:5px}
.sop-rb-role{color:var(--muted);font-size:11px;font-weight:600;float:right}
.sop-rb-steps{font-size:12px;color:var(--muted);line-height:1.55}
.sop-rb-done{font-size:12px;color:#10b981;margin-top:6px}
.sop-details{margin-top:16px;border:1px solid var(--bord);border-radius:12px;padding:12px 14px;background:var(--card)}
.sop-details summary{cursor:pointer;font-weight:700;font-size:13.5px}
.sop-roles-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:14px}
.sop-foot{margin-top:20px;color:var(--muted);font-size:12px;line-height:1.6;border-top:1px solid var(--bord);padding-top:12px}
@media(max-width:640px){.sop-grid2{grid-template-columns:1fr}}

/* ===== Ops exceptions tiles (control-tower model) ===== */
.cc-tile-exc{position:relative;border-color:rgba(245,158,11,.35)!important}
.cc-tile-exc .cc-tile-why{display:block;font-size:10.5px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:#f59e0b;margin-top:3px;opacity:.9}
.cc-tile-exc:hover{border-color:rgba(245,158,11,.6)!important}

/* Exception deep-link focus banner — target view opens pre-filtered from a cc tile */
.cc-focus-banner{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:12px 0;padding:10px 14px;border:1px solid rgba(245,158,11,.4);border-left:3px solid #f59e0b;border-radius:12px;background:rgba(245,158,11,.08);color:var(--txt);font-size:13px}
.cc-focus-banner b{color:#f59e0b}
.cc-focus-banner .btn{margin-left:auto}
.cc-focus-links{display:flex;flex-wrap:wrap;gap:6px;margin-left:4px}
.cc-focus-links .btn{margin-left:0}

/* ===== Admin commission editor ===== */
.comm-in{width:82px;padding:6px 8px;background:var(--card,#0f1720);border:1px solid var(--bord);border-radius:8px;color:var(--txt,#e8eef6);font-family:inherit;font-size:13px;text-align:right}
.comm-in:focus{outline:none;border-color:#6366f1;box-shadow:0 0 0 2px rgba(99,102,241,.25)}
.comm-pctmark{margin-left:4px;color:var(--mut,#8aa);font-size:12px}
.comm-src{display:inline-block;margin-left:6px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:1px 6px;border-radius:10px}
.comm-src-employee{background:rgba(99,102,241,.18);color:#a5b4fc}
.comm-src-department{background:rgba(16,185,129,.15);color:#6ee7b7}
.comm-src-model{background:rgba(148,163,184,.15);color:#cbd5e1}

/* ===== Front Desk dashboard ===== */
.fd-hero{display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding:22px 24px}
.fd-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:16px;align-items:start}
.fd-grid .sf-card{margin:0}
.fd-job{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid var(--bord)}
.fd-job:last-of-type{border-bottom:0}
.fd-job-m{flex:1;min-width:0}
.fd-job .btn{flex:none;margin-top:2px}
.ann-item{padding:9px 0;border-bottom:1px solid var(--bord)}
.ann-item:last-child{border-bottom:0}
.ann-txt{font-size:13.5px;line-height:1.45;white-space:pre-wrap}
.ann-meta{font-size:11.5px;color:var(--mut);margin-top:3px;display:flex;align-items:center;gap:8px}
.ann-meta .btn{padding:0 7px;line-height:18px;font-size:10.5px}
.fd-dir{max-height:264px;overflow-y:auto;display:flex;flex-direction:column}
.fd-dir-row{display:flex;align-items:center;gap:10px;padding:7px 2px;border-bottom:1px solid var(--bord)}
.fd-dir-row:last-child{border-bottom:0}
.fd-dir-row .av{width:30px;height:30px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:10.5px;font-weight:800;flex:none;background:rgba(56,189,248,.14);color:#7dd3fc;border:1px solid rgba(56,189,248,.35)}
.fd-dir-row[data-dircontact]{cursor:pointer;transition:background .12s;border-radius:8px}
.fd-dir-row[data-dircontact]:hover{background:rgba(255,255,255,.05)}
.fd-c-av{width:46px;height:46px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:15px;font-weight:800;flex:none;background:rgba(56,189,248,.14);color:#7dd3fc;border:1px solid rgba(56,189,248,.35)}
@media(max-width:820px){.fd-grid{grid-template-columns:1fr}.fd-hero{padding:18px}}

/* ============================================================================
   IELTS exam-mode — full-mock onboarding screens + CD-IELTS in-test chrome.
   Everything here is scoped to .ex-* / .player.ex-mode so it can't leak into
   the rest of the app.
   ============================================================================ */
.ex-page{ position:fixed; inset:0; z-index:70; background:#ebeff0; display:flex; flex-direction:column;
  font-family:Arial,Helvetica,sans-serif; color:#333; }
.ex-page.instr{ background:#fff; }
.ex-topbar{ height:46px; flex:0 0 46px; background:#1c1c1c; display:flex; align-items:center; gap:14px; padding:0 16px; }
.ex-topbar .ex-brand{ color:#e2231a; font-weight:800; font-size:20px; letter-spacing:.5px; }
.ex-topbar .ex-user{ color:#d1f0ce; font-size:13.5px; font-weight:600; display:inline-flex; align-items:center; gap:8px; }
.ex-topbar .ex-user svg{ width:16px; height:16px; stroke:#d1f0ce; fill:none; stroke-width:1.8; }
.ex-body{ flex:1; overflow:auto; display:flex; align-items:flex-start; justify-content:center; padding:56px 20px 40px; }
.ex-card{ background:#fff; border-radius:8px; box-shadow:0 2px 10px rgba(28,28,28,.14); max-width:640px; width:100%;
  padding:38px 44px; text-align:center; }
.ex-card h2{ font-size:22px; margin:0 0 22px; color:#1c1c1c; font-weight:700; }
.ex-card .ex-p{ font-size:14.5px; line-height:1.6; margin:0 0 22px; color:#333; }
.ex-avatar{ width:64px; height:64px; border-radius:50%; background:#4279a6; color:#fff; font-weight:700; font-size:22px;
  display:flex; align-items:center; justify-content:center; margin:0 auto 16px; }
.ex-rows{ text-align:left; border:1px solid #e2e6e9; border-radius:6px; margin:0 0 26px; }
.ex-row{ display:flex; justify-content:space-between; gap:18px; padding:12px 16px; font-size:14px; border-bottom:1px solid #eef1f3; }
.ex-row:last-child{ border-bottom:none; }
.ex-row span{ color:#66707a; }
.ex-row b{ color:#1c1c1c; }
.ex-btn{ display:inline-block; background:#4279a6; color:#fff; border:none; border-radius:4px; min-height:3em;
  padding:0 34px; font-size:15px; font-weight:600; cursor:pointer; font-family:inherit; }
.ex-btn:hover{ background:#275378; }
.ex-btn.ghost{ background:#fff; color:#1c1c1c; border:1.5px solid #9aa4ad; }
.ex-btn.ghost:hover{ background:#eef1f3; }
.ex-mut{ font-size:12.5px; color:#7a838b; margin-top:16px; line-height:1.5; }
.ex-sc-btns{ display:flex; gap:12px; justify-content:center; margin-bottom:20px; }
.ex-vol{ display:flex; align-items:center; gap:10px; justify-content:center; margin-bottom:8px; }
.ex-vol input{ width:220px; accent-color:#4279a6; }
.ex-card .ex-mut + .ex-btn{ margin-top:20px; }
.ex-instr{ max-width:760px; width:100%; text-align:left; color:#333; }
.ex-instr h1{ font-size:26px; color:#1c1c1c; margin:6px 0 6px; font-weight:800; }
.ex-instr .ex-time{ font-weight:700; font-size:15px; margin-bottom:28px; color:#1c1c1c; }
.ex-block{ margin-bottom:24px; }
.ex-block h3{ font-size:15px; font-weight:700; color:#1c1c1c; margin-bottom:6px; }
.ex-block p{ font-size:14.5px; line-height:1.7; margin:0; }
.ex-instr .ex-btn{ margin-top:16px; }
.ex-ended{ padding:0; overflow:hidden; text-align:left; max-width:560px; }
.ex-ended-head{ background:linear-gradient(180deg,#4a5b6e,#1f2b38); color:#fff; font-weight:700; font-size:15px; padding:11px 18px; }
.ex-ended-body{ padding:22px 26px 26px; }
.ex-ended-body p{ font-size:14.5px; margin:0 0 12px; border-bottom:1px solid #eef1f3; padding-bottom:12px; color:#333; }
.ex-ended-body .ex-btn{ margin-top:10px; }

/* --- in-test chrome: near-black bar, pale-green candidate, big centred pale-yellow timer.
   (Owner's preference: keep the black chrome. The current official Inspera player is white,
   but Anik prefers this look — a deliberate house choice, not an oversight.) --- */
/* Owner's preference: the in-test bar is BLACK (#000), not the near-black it used to be. */
.player.ex-mode .p-head{ background:#000; border-bottom:none; position:relative; min-height:46px; padding:4px 14px; color:#faf6f6; }
/* The red IELTS logo stays visible DURING the test too — it was display:none here, so it
   appeared on the onboarding screens (confirm details / sound check / instructions / test
   ended) and then vanished the moment the test began. Now it is constant throughout, on
   every section (listening, reading, writing) and every part. !important so no theme or
   later rule can hide it again. */
.player.ex-mode .p-head .ielts{ display:block !important; color:#e2231a; margin-right:14px; flex:0 0 auto;
  font-weight:900; font-size:23px; letter-spacing:.6px; line-height:1; }
/* High-contrast themes invert the page, but the exam bar stays black with the red logo. */
.player.ex-mode.theme-wb .p-head,.player.ex-mode.theme-yb .p-head{ background:#000; }
.player.ex-mode.theme-wb .p-head .ielts,.player.ex-mode.theme-yb .p-head .ielts{ color:#e2231a; }
.player.ex-mode .p-head .who .tid{ color:#d1f0ce; font-size:13.5px; font-weight:600; display:inline-flex; align-items:center; gap:8px; }
.player.ex-mode .p-head .who .tid svg{ width:15px; height:15px; stroke:#d1f0ce; fill:none; stroke-width:1.8; flex:none; }
.player.ex-mode .p-head .who .status{ color:#9fb8a4; }
.player.ex-mode #p-timer{ display:none; }   /* source of truth stays live but hidden; the mirror displays it */
.player.ex-mode .ex-timer{ position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); display:inline-flex;
  align-items:center; gap:8px; color:#fff0bd; white-space:nowrap; }
.player.ex-mode .ex-timer svg{ width:17px; height:17px; stroke:#fff0bd; fill:none; stroke-width:1.8; flex:none; }
.player.ex-mode .ex-timer .ex-t-txt{ font-size:12.5px; font-weight:600; }
.player.ex-mode .ex-timer .ex-t-txt b{ font-size:19px; font-weight:800; margin-right:5px; font-variant-numeric:tabular-nums; }
.player.ex-mode .ex-timer.red{ color:#ff3333; }
.player.ex-mode .ex-timer.red svg{ stroke:#ff3333; }
.player.ex-mode .ex-timer.blink{ animation:ex-blink 1s steps(2,start) infinite; }
@keyframes ex-blink{ to{ visibility:hidden; } }
.player.ex-mode .icon-btn{ background:#faf6f6; border:none; border-radius:4px; width:32px; height:26px; }
.player.ex-mode .icon-btn svg{ stroke:#1c1c1c; }
.player.ex-mode .p-volwrap{ color:#faf6f6; }
.player.ex-mode .p-volwrap input{ accent-color:#faf6f6; }

/* Voucher module — dialog action row (Cancel / primary), right-aligned. */
.dlg-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:18px}
.dlg-actions .btn{min-width:96px}

/* ── Bank reconciliation (statement import + auto-match) ───────────────────────── */
/* Tab status dot: grey = no statement loaded · green = ties to ৳0 · red = difference */
.rec-dot{display:inline-block;width:7px;height:7px;border-radius:50%;margin-left:5px;vertical-align:middle}
.rec-dot.ok{background:#34d399;box-shadow:0 0 0 2px rgba(52,211,153,.2)}
.rec-dot.bad{background:#fb7185;box-shadow:0 0 0 2px rgba(251,113,133,.2)}
.rec-dot.none{background:#64748b}
/* Statement rows — unmatched (in the bank, missing from the books) must be impossible to miss */
tr.rec-off td{background:rgba(251,113,133,.07)}
tr.rec-off td:first-child{box-shadow:inset 3px 0 0 #fb7185}
tr.rec-on td{opacity:.72}
/* Revenue-head mapping selects sit inside table cells */
.rev-sel{width:100%;min-width:190px}

/* ── Invoice builder: product is now a DROPDOWN (A&F: BDM must choose, price auto-fills) ── */
/* The name cell holds the select plus an optional custom-line input stacked beneath it. */
.ivb-namew{display:flex;flex-direction:column;min-width:0}
.ivb-namew .ivb-name{width:100%;min-width:0}
.ivb-namew .ivb-custom{width:100%;min-width:0}
.ivb-head,.ivb-row{align-items:start}
.ivb-row .ivb-price,.ivb-row .ivb-qty,.ivb-row .ivb-discw,.ivb-row .ivb-lt,.ivb-row .ivb-rm{margin-top:0}

/* ═══ A&F Update-3 — Finance portal additions ═══════════════════════════════════ */

/* Toolbar row that mixes tabs, date pickers and buttons */
.fin-bar{display:flex;gap:10px;flex-wrap:wrap;align-items:center}

/* Budget / depreciation progress bars — red once over 100% */
.bud-bar{height:6px;border-radius:99px;background:rgba(255,255,255,.09);overflow:hidden;min-width:60px;margin:0 auto 3px}
.bud-bar span{display:block;height:100%;border-radius:99px;transition:width .3s}

/* Salary sheet: an overridden TDS is visibly NOT the computed one */
.ss-in.ss-ov{border-color:rgba(167,139,250,.7);background:rgba(167,139,250,.1);color:#c4b5fd;font-weight:700}

/* Clickable summary KPIs (invoiced / collected / due → drilldown) */
.mba-kpi-btn{cursor:pointer;text-align:left;font-family:inherit;width:100%;border:1px solid var(--bord);transition:transform .12s,border-color .12s}
.mba-kpi-btn:hover{transform:translateY(-2px);border-color:rgba(255,255,255,.28)}
.mba-kpi-btn:hover .mba-kpi-go{opacity:1;transform:translateX(3px)}
.mba-kpi-go{opacity:.45;display:inline-block;transition:transform .12s,opacity .12s;font-weight:800}

/* Sales target vs actual — 6-month column chart */
.tgt-chart{display:flex;gap:10px;align-items:flex-end;height:150px;padding:6px 0}
.tgt-col{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;height:100%}
.tgt-bars{flex:1;display:flex;gap:3px;align-items:flex-end;width:100%;justify-content:center}
.tgt-b{width:14px;border-radius:3px 3px 0 0;min-height:2px}
.tgt-b.tgt-t{background:rgba(255,255,255,.18)}
.tgt-lb{font-size:10.5px;color:var(--mut);white-space:nowrap}
.tgt-pc{font-size:11px;font-weight:800}
.tgt-key{display:inline-block;width:9px;height:9px;border-radius:2px;vertical-align:middle}
.tgt-key.tgt-t{background:rgba(255,255,255,.25)}

/* ═══ MigrationCloud — client tracker fields (schema-driven) ═══════════════════ */
/* Multi-select as chips: comma-joined on the record, tappable in the UI */
.emf-multi{display:flex;flex-wrap:wrap;gap:6px}
.emf-chk{display:inline-flex;align-items:center;gap:5px;padding:5px 10px;border:1px solid var(--bord);
  border-radius:99px;font-size:12.5px;cursor:pointer;user-select:none;transition:all .12s;background:rgba(255,255,255,.03)}
.emf-chk:hover{border-color:rgba(255,255,255,.3)}
.emf-chk.on{background:rgba(167,139,250,.18);border-color:rgba(167,139,250,.6);color:#c4b5fd;font-weight:600}
.emf-chk input{margin:0;accent-color:#a78bfa}
/* Import mapping table */
.em-map{width:100%;min-width:0}

/* ═══ GT Reading — the 12 source "images" rebuilt as native HTML ══════════════════
   Every one was text rendered as a bitmap (ads, notices, timetables, flow-charts).
   As HTML they are crisp at any zoom, selectable, screen-readable and printable —
   and the flow-chart gaps are real input boxes instead of un-typeable dotted lines. */

/* Advertisements / notices — the boxed artifacts of a GT Section 1 */
.gt-ads{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:12px 0}
.gt-ad{position:relative;border:1px solid #111;background:#fff;color:#111;padding:14px 16px 12px}
.gt-ad:last-child{grid-column:1/-1;max-width:60%;margin:0 auto}
.gt-ad-l{position:absolute;top:-11px;left:12px;background:#fff;padding:0 6px;font-weight:800;font-size:15px}
.gt-ad-b{text-align:center;font-size:13.5px;line-height:1.5}
.gt-ad-b h3{margin:4px 0;font-size:16px;font-weight:800}
.gt-ad-b h4{margin:2px 0;font-size:15px;font-weight:700}
.gt-ad-b p{margin:5px 0}
.gt-ad-b ul{display:inline-block;text-align:left;margin:4px 0}
.gt-sm{font-size:12px;color:#444}
.gt-big{font-size:22px;font-weight:800;margin:6px 0}
.gt-script{font-family:Georgia,'Times New Roman',serif;font-style:italic;font-size:22px;border-bottom:2px solid #111;display:inline-block;padding-bottom:2px}
.gt-t2{width:100%;border-collapse:collapse;font-size:12.5px;margin:8px 0}
.gt-t2 th,.gt-t2 td{border:1px solid #111;padding:5px 7px;text-align:center}

/* A plain framed notice (payment instructions, hospital catering, walk instructions) */
.gt-notice{border:1px solid #111;background:#fff;color:#111;padding:14px 18px;margin:12px 0;font-size:13.5px;line-height:1.6}
.gt-notice h3{margin:0 0 4px;text-align:center;font-size:16px;font-weight:800}
.gt-notice .gt-sub{text-align:center;font-weight:700;font-size:13px;margin:0 0 10px}
.gt-notice p{margin:7px 0}
.gt-indent{margin-left:22px}
.gt-addr{margin-left:60px;line-height:1.5}
.gt-box{border:1px solid #111;padding:12px 14px}

/* Letter (Walk for Charity) */
.gt-letter{border:1px solid #111;background:#fff;color:#111;padding:16px 20px;margin:12px 0;font-size:13.5px;line-height:1.6}
.gt-letter h3{margin:0 0 12px;text-align:center;font-size:19px;font-weight:800;letter-spacing:.5px}
.gt-letter p{margin:9px 0}

/* Data tables — phone plans, ferry timetable, activity grid */
.gt-tbl{width:100%;border-collapse:collapse;font-size:13px;background:#fff;color:#111;margin:12px 0;line-height:1.5}
.gt-tbl th,.gt-tbl td{border:1px solid #111;padding:6px 9px;text-align:left;vertical-align:top}
.gt-tbl th{background:#e8eef4;font-weight:700}
.gt-tbl .gt-hd{background:#111;color:#fff;text-align:left;font-size:14px}
.gt-tbl .gt-sec{background:#d7dee6;font-weight:700}
.gt-tbl.gt-plain th,.gt-tbl.gt-plain td{border:0;padding:3px 26px 3px 0}
.gt-tbl.gt-plain th{background:transparent}
.gt-grid2 td{width:50%}

/* The ONE genuine diagram — Set 10's walking routes, redrawn as SVG (was a blurry raster) */
.gt-map{background:#fff;border:1px solid #111;padding:12px;margin:12px 0}
.gt-map svg{width:100%;height:auto;display:block}
.gt-key{display:flex;flex-wrap:wrap;gap:16px;justify-content:center;margin-top:10px;font-size:12.5px;color:#111;font-weight:700}
.gt-key span{display:inline-flex;align-items:center;gap:6px}
.gt-key i{width:30px;height:3px;display:inline-block;border-radius:2px}
.gt-key-c{display:inline-flex;align-items:center;justify-content:center;width:26px;height:17px;border:1.5px solid #111;border-radius:50%;font-size:11px}

@media (max-width:720px){ .gt-ads{grid-template-columns:1fr} .gt-ad:last-child{max-width:100%} }

/* ============================================================================
   NATIVE DROPDOWN READABILITY  (sales-team feedback #1, BDM)
   Every <select> across the platform opened a WHITE popup with near-white text, so the
   options were unreadable. Two causes, both confirmed by reading the computed styles:

     1. the dark select styling sets `color:var(--txt)` but never sets `color-scheme`, so the
        select inherited `color-scheme:light` — and the browser then draws the NATIVE popup
        list white no matter what the CSS says.
     2. the option background was `rgba(255,255,255,.05)` — a TRANSPARENT white, set with
        !important. The OS popup composites that onto its own white, so it stays white.
        An option background must be OPAQUE to have any effect at all.

   The rules being corrected are `.overlay .panel select option { … !important }`, which
   outranks a bare `select option` even when that is also !important — so the dark rules below
   have to MATCH that specificity, and sit later in the file, to win. Verified by reading
   getComputedStyle on every select in SalesCloud, FinanceCloud and MigrationCloud.
   ============================================================================ */
select{ color-scheme: dark !important; }
select option, select optgroup,
.overlay .panel select option, .overlay .panel select optgroup,
.tw-panel select option, .cx-log select option, .lp-form select option, .mkt-form select option{
  background:#1b1d33 !important; color:#eef2f8 !important; }
select option:checked, .overlay .panel select option:checked{ background:#2a2d4a !important; color:#fff !important; }
select option:disabled, .overlay .panel select option:disabled{ color:#7f88a3 !important; }

/* Surfaces that really ARE light — keep their popups light, dark text on white. */
#player select, .head-select, .ask-panel select, .ask-panel .ask-cc{ color-scheme: light !important; }
#player select option, .head-select option, .ask-panel select option, .ask-panel .ask-cc option{
  background:#fff !important; color:#111 !important; }

/* ── LEAD PRIORITY: manual mark (sales feedback #5) ────────────────────────────────────────
   The BDM can now overrule the auto score. A marked lead carries a 📌 pin so the team can see
   at a glance which priorities were set by a human and which the algorithm guessed. */
button.cx-temp{border:1px solid transparent;cursor:pointer;font-family:inherit;line-height:1.4;transition:filter .12s,box-shadow .12s}
button.cx-temp:hover{filter:brightness(1.18);box-shadow:0 0 0 3px rgba(255,255,255,.07)}
.cx-temp-m{border-style:solid;border-color:currentColor}
.cx-temp-pin{margin-left:4px;font-size:9px;opacity:.9;vertical-align:1px}

/* the popover that hangs off a chip */
.tmp-menu{position:fixed;z-index:120;min-width:246px;background:var(--card,#151832);border:1px solid var(--bord2,#2c3154);
  border-radius:13px;padding:8px;box-shadow:0 18px 44px rgba(0,0,0,.5)}
.tmp-h{font-size:11px;font-weight:700;color:#8aa0bd;padding:3px 6px 7px}
.tmp-h b{color:var(--txt)}
.tmp-f{font-size:10.5px;color:#8aa0bd;padding:7px 6px 2px;margin-top:5px;border-top:1px solid var(--bord2,#2c3154)}
.tmp-o{display:flex;align-items:center;gap:9px;width:100%;padding:8px 10px;border:1px solid transparent;border-radius:9px;
  background:transparent;color:var(--txt);font-family:inherit;font-size:13px;font-weight:700;cursor:pointer;text-align:left}
.tmp-o:hover{background:rgba(255,255,255,.06)}
.tmp-o .tmp-e{font-size:15px;line-height:1}
.tmp-o .tmp-l{flex:1}
.tmp-o .tmp-l small{display:block;font-weight:500;font-size:10.5px;color:#8aa0bd;margin-top:1px}
.tmp-tick{font-size:12px;color:#34d399}
.tmp-o.on{background:rgba(255,255,255,.07);border-color:var(--bord2,#2c3154)}
.tmp-o.tmp-Hot.on{border-color:rgba(251,113,133,.6);background:rgba(251,113,133,.14)}
.tmp-o.tmp-Warm.on{border-color:rgba(251,191,36,.6);background:rgba(251,191,36,.14)}
.tmp-o.tmp-Cold.on{border-color:rgba(148,163,184,.6);background:rgba(148,163,184,.14)}
.tmp-o.tmp-auto.on{border-color:rgba(125,211,252,.55);background:rgba(125,211,252,.12)}

/* the row of choices in the Add-lead form and the bulk dialog */
.tmp-pick,.tmp-bulk{display:flex;gap:7px;flex-wrap:wrap;margin-top:5px}
.tmp-pick .tmp-o,.tmp-bulk .tmp-o{width:auto;flex:1 1 96px;justify-content:center;text-align:center;
  border-color:var(--bord2,#2c3154);background:rgba(255,255,255,.04)}
.tmp-pick .tmp-o .tmp-l,.tmp-bulk .tmp-o .tmp-l{flex:0 0 auto}
.tmp-bulk .tmp-o{padding:13px 10px;flex:1 1 110px}

/* build number beside the logo — one glance tells you whether you're on the newest copy */
.build-tag{margin-left:8px;padding:2px 7px;border-radius:6px;font-size:10px;font-weight:800;letter-spacing:.03em;
  color:#8aa0bd;background:rgba(255,255,255,.06);border:1px solid var(--bord2,#2c3154);vertical-align:middle;cursor:help}

/* ── My Invoices (sales feedback #6) ─────────────────────────────────────────────────────── */
.inv-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;margin:16px 0 18px}
.inv-tile{display:flex;flex-direction:column;gap:2px;padding:14px 16px;border-radius:14px;text-align:left;
  background:var(--card,#151832);border:1px solid var(--bord2,#2c3154);font-family:inherit;cursor:pointer;transition:transform .12s,border-color .12s}
.inv-tile:hover{transform:translateY(-2px);border-color:#4b5480}
.inv-tile-ic{font-size:15px}
.inv-tile-v{font-size:22px;font-weight:800;color:var(--txt);letter-spacing:-.01em}
.inv-tile-l{font-size:12px;font-weight:700;color:#8aa0bd}
.inv-tile-s{font-size:11px;color:#8aa0bd;opacity:.75;margin-top:2px}
.inv-tile-warn{border-color:rgba(251,191,36,.42)}.inv-tile-warn .inv-tile-v{color:#fbbf24}
.inv-tile-bad{border-color:rgba(251,113,133,.38)}.inv-tile-bad .inv-tile-v{color:#fb7185}
.inv-no{font-family:ui-monospace,monospace;font-size:13px}
.inv-num{text-align:right}
.inv-tbl th.inv-num{text-align:right}
.inv-fin{display:inline-block;padding:3px 10px;border-radius:999px;border:1px solid;font-size:11.5px;font-weight:800;white-space:nowrap}

/* ── student password reset (sales feedback #8) ──────────────────────────────────────────── */
.pf-ab-key .pf-ab-ic{background:rgba(251,191,36,.16)}
.pw-warn{background:rgba(251,191,36,.11);border:1px solid rgba(251,191,36,.4);border-radius:10px;
  padding:10px 13px;font-size:12.5px;line-height:1.6;color:var(--txt)}
.pw-card{background:rgba(52,211,153,.08);border:1px solid rgba(52,211,153,.4);border-radius:12px;padding:6px 14px}
.pw-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:10px 0}
.pw-row+.pw-row{border-top:1px dashed rgba(52,211,153,.28)}
.pw-k{font-size:12px;font-weight:700;color:#8aa0bd}
.pw-v{font-family:ui-monospace,monospace;font-size:16px;color:var(--txt);letter-spacing:.04em}
.pw-v.pw-big{font-size:21px;font-weight:800;color:#34d399;letter-spacing:.08em}
.pw-note{font-size:11.5px;color:#8aa0bd;margin-top:9px}

/* ── GPA converter: NCTB / O-A Level scale switch (sales feedback #9) ─────────────────────── */
.gpa-tabs{display:flex;gap:8px;margin-top:14px}
.gpa-tab{display:flex;align-items:center;gap:7px;padding:9px 16px;border-radius:11px;font-family:inherit;font-size:13px;font-weight:700;
  color:#8aa0bd;background:var(--card,#151832);border:1px solid var(--bord2,#2c3154);cursor:pointer;transition:all .12s}
.gpa-tab:hover{color:var(--txt);border-color:#4b5480}
.gpa-tab.on{color:#0b1020;background:linear-gradient(135deg,#38bdf8,#a78bfa);border-color:transparent}
.sf-card-hs{font-weight:500;font-size:11.5px;color:#8aa0bd;margin-left:8px}
.gpa-steps{display:flex;gap:10px;flex-wrap:wrap}
.gpa-st{display:flex;align-items:center;gap:7px;padding:7px 10px;border-radius:11px;background:rgba(255,255,255,.04);border:1px solid var(--bord2,#2c3154)}
.gpa-st-g{min-width:26px;text-align:center;font-weight:800;font-size:13px;padding:2px 6px;border-radius:6px}
.gpa-g-As{background:rgba(52,211,153,.18);color:#34d399}.gpa-g-A{background:rgba(52,211,153,.13);color:#6ee7b7}
.gpa-g-B{background:rgba(125,211,252,.14);color:#7dd3fc}.gpa-g-C{background:rgba(251,191,36,.14);color:#fbbf24}
.gpa-g-D{background:rgba(251,146,60,.14);color:#fb923c}.gpa-g-E{background:rgba(251,113,133,.14);color:#fb7185}
.gpa-st b{min-width:20px;text-align:center;font-size:15px;color:var(--txt)}
.gpa-st-b{width:24px;height:24px;border-radius:7px;border:1px solid var(--bord2,#2c3154);background:transparent;color:var(--txt);
  font-family:inherit;font-size:13px;line-height:1;cursor:pointer}
.gpa-st-b:hover{background:rgba(255,255,255,.09)}
.gpa-thresh{margin-top:13px;padding:11px 14px;border-radius:11px;font-size:13px;line-height:1.6;border:1px solid}
.gpa-thresh.ok{background:rgba(52,211,153,.09);border-color:rgba(52,211,153,.38)}
.gpa-thresh.no{background:rgba(251,191,36,.09);border-color:rgba(251,191,36,.4)}
.gpa-thresh-s{font-size:11.5px;color:#8aa0bd;margin-top:4px}
.gpa-al{min-width:78px}
.cx-deal-warn{color:#fbbf24}

/* demo-data card in Settings */
.demo-card{border-color:rgba(167,139,250,.42)}
.demo-warn{margin-top:10px;padding:9px 12px;border-radius:9px;background:rgba(251,113,133,.10);
  border:1px solid rgba(251,113,133,.36);font-size:12.5px;line-height:1.6;color:var(--txt)}

/* bulk bar: leads in the selection that this BDM does not own (audit fix, 2026-07-13) */
.lz-bulk-lock{margin-left:10px;padding:2px 9px;border-radius:999px;font-size:11.5px;font-weight:700;
  color:#fbbf24;background:rgba(251,191,36,.12);border:1px solid rgba(251,191,36,.38)}

/* ── ADMIN → ANSWER KEYS (audit, 2026-07-13) ─────────────────────────────────────────────── */
.ak-note{margin-top:12px;padding:10px 14px;border-radius:10px;font-size:13px;
  background:rgba(167,139,250,.10);border:1px solid rgba(167,139,250,.40);color:var(--txt)}
.ak-sec{margin-top:16px}
.ak-sec-h{font-size:13px;font-weight:800;color:var(--txt);margin-bottom:6px}
.ak-sec-h span{font-weight:500;font-size:11.5px;color:#8aa0bd;margin-left:8px}
.ak-tbl td{vertical-align:middle}
.ak-type{display:inline-block;padding:2px 8px;border-radius:999px;font-size:10.5px;font-weight:700;
  background:rgba(255,255,255,.06);color:#8aa0bd;border:1px solid var(--bord2,#2c3154)}
.ak-key{font-family:ui-monospace,monospace;font-size:12.5px;color:#7dd3fc}
.ak-badge{margin-left:8px;padding:2px 8px;border-radius:999px;font-size:10.5px;font-weight:700;
  color:#a78bfa;background:rgba(167,139,250,.14);border:1px solid rgba(167,139,250,.42)}
.ak-over{background:rgba(167,139,250,.06)}
/* the editor: passage on the left, key on the right */
.ak-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:16px;margin-top:10px}
.ak-pass{border:1px solid var(--bord2,#2c3154);border-radius:12px;overflow:hidden;display:flex;flex-direction:column}
.ak-pass-h{padding:9px 13px;font-size:12px;font-weight:800;color:#8aa0bd;background:rgba(255,255,255,.04);
  border-bottom:1px solid var(--bord2,#2c3154)}
.ak-pass-b{padding:13px;max-height:430px;overflow:auto;font-size:13px;line-height:1.68;color:var(--txt)}
.ak-pass-b p{margin:0 0 9px}
.ak-edit{display:flex;flex-direction:column}
.ak-qh{padding:11px 13px;border-radius:11px;background:rgba(255,255,255,.04);border:1px solid var(--bord2,#2c3154)}
.ak-intro{font-size:11.5px;color:#8aa0bd;margin-bottom:6px}
.ak-stem{font-size:14px;font-weight:700;color:var(--txt);line-height:1.5}
.ak-choices{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.ak-choices-col{flex-direction:column}
.ak-ch{padding:10px 14px;border-radius:10px;border:1px solid var(--bord2,#2c3154);background:rgba(255,255,255,.04);
  color:var(--txt);font-family:inherit;font-size:13px;font-weight:700;cursor:pointer;text-align:left}
.ak-ch:hover{background:rgba(255,255,255,.08)}
.ak-ch.on{background:rgba(52,211,153,.16);border-color:rgba(52,211,153,.6);color:#34d399}
.ak-ch b{margin-right:7px;color:#8aa0bd}
.ak-ch.on b{color:#34d399}
.ak-lab{display:block;margin-top:12px;font-size:12px;font-weight:700;color:#8aa0bd}
.ak-hint{font-size:11.5px;color:#8aa0bd;margin-top:7px;line-height:1.55}
.ak-orig{margin-top:13px;padding:9px 12px;border-radius:9px;background:rgba(255,255,255,.04);
  font-size:12px;color:#8aa0bd;border:1px solid var(--bord2,#2c3154)}
.ak-orig b{color:var(--txt);font-family:ui-monospace,monospace}
.ak-orig-s{margin-top:4px;font-size:11px;color:#a78bfa}
.ak-warn{margin-top:10px;padding:9px 12px;border-radius:9px;font-size:12px;line-height:1.55;
  background:rgba(251,191,36,.10);border:1px solid rgba(251,191,36,.38);color:var(--txt)}
.ak-btns{display:flex;align-items:center;gap:8px;margin-top:14px}

/* ── PAIN-POINT SALES ENGINE ─────────────────────────────────────────────────────────────────
   Speed clock · Runway · one-tap capture. Capture must feel like 3 taps, not a form. */
.lc-speed{display:flex;gap:11px;align-items:flex-start;margin:10px 0;padding:11px 13px;border-radius:12px;
  border:1px solid rgba(96,165,250,.35);background:linear-gradient(180deg,rgba(96,165,250,.12),rgba(96,165,250,.05))}
.lc-speed.br{border-color:rgba(251,113,133,.5);background:linear-gradient(180deg,rgba(251,113,133,.14),rgba(251,113,133,.05));
  animation:lcpulse 2s ease-in-out infinite}
@keyframes lcpulse{0%,100%{box-shadow:0 0 0 0 rgba(251,113,133,0)}50%{box-shadow:0 0 0 4px rgba(251,113,133,.12)}}
.lc-speed-ic{font-size:19px;line-height:1.2}
.lc-speed-h{font-size:13.5px;font-weight:800;color:#e8eef7}
.lc-speed.br .lc-speed-h{color:#fda4af}
.lc-speed-b{font-size:11.5px;line-height:1.55;color:var(--mut);margin-top:2px}

.lc-nba-why{font-size:11.5px;line-height:1.55;color:var(--mut);margin-top:4px}
.lc-nba-say{font-size:12px;line-height:1.55;color:#a7f3d0;margin-top:6px;padding:7px 10px;border-radius:9px;
  background:rgba(52,211,153,.09);border:1px solid rgba(52,211,153,.24);font-style:italic}

.lc-runway{margin:12px 0;padding:12px 13px;border-radius:13px;border:1px solid var(--bord);background:rgba(255,255,255,.03)}
.lc-rw-h{font-size:12.5px;font-weight:800;color:#e8eef7;margin-bottom:9px}
.lc-rw-h span{font-weight:500;color:var(--mut);font-size:11px}
.lc-rw-in{display:flex;gap:10px;flex-wrap:wrap}
.lc-rw-in label{display:flex;flex-direction:column;gap:4px;font-size:10.5px;font-weight:700;color:var(--mut);
  text-transform:uppercase;letter-spacing:.04em}
.rw-in{width:104px;padding:7px 9px;border-radius:9px;border:1px solid var(--bord2);background:rgba(255,255,255,.05);
  color:var(--txt);font-family:inherit;font-size:13px;font-weight:600}
.rw-in:focus{outline:none;border-color:#60a5fa;background:rgba(96,165,250,.10)}
.rw-in.rw-dt{width:146px}
.lc-rw-out{margin-top:10px;padding:9px 11px;border-radius:10px;border:1px solid var(--bord);background:rgba(255,255,255,.03)}
.lc-rw-v{font-size:14px;font-weight:800}
.lc-rw-w{font-size:11.5px;line-height:1.6;color:var(--mut);margin-top:3px}
.lc-rw-cliff{margin-top:9px;padding:8px 11px;border-radius:10px;font-size:11.5px;line-height:1.55;color:#fcd34d;
  background:rgba(251,191,36,.09);border:1px solid rgba(251,191,36,.3)}
.lc-rw-block{margin-top:9px;padding:8px 11px;border-radius:10px;font-size:11.5px;line-height:1.55;color:#fda4af;
  background:rgba(251,113,133,.09);border:1px solid rgba(251,113,133,.32)}

.lc-cap{margin:12px 0;padding:12px 13px;border-radius:13px;border:1px solid var(--bord);background:rgba(255,255,255,.03)}
.lc-cap-h{font-size:12.5px;font-weight:800;color:#e8eef7;margin-bottom:10px}
.lc-cap-h span{font-weight:500;color:var(--mut);font-size:11px}
.lc-cap-row{display:flex;gap:10px;align-items:flex-start;margin-bottom:8px}
.lc-cap-l{flex:0 0 78px;font-size:10.5px;font-weight:800;color:var(--mut);text-transform:uppercase;
  letter-spacing:.04em;padding-top:6px}
.lc-cap-chips{display:flex;gap:6px;flex-wrap:wrap;flex:1}
.cap-chip{padding:5px 10px;border-radius:99px;border:1px solid var(--bord2);background:rgba(255,255,255,.04);
  color:var(--mut);font-family:inherit;font-size:11.5px;font-weight:600;cursor:pointer;transition:.13s}
.cap-chip:hover{background:rgba(255,255,255,.09);color:var(--txt)}
.cap-chip.on{background:rgba(96,165,250,.18);border-color:#60a5fa;color:#dbeafe}
.cap-chip.cap-fear.on{background:rgba(251,113,133,.18);border-color:#fb7185;color:#fecdd3}
.cap-chip.cap-obj.on{background:rgba(251,191,36,.16);border-color:#fbbf24;color:#fde68a}
.cap-q{flex:1;padding:7px 10px;border-radius:9px;border:1px solid var(--bord2);background:rgba(255,255,255,.05);
  color:var(--txt);font-family:inherit;font-size:12.5px}
.cap-q:focus{outline:none;border-color:#60a5fa;background:rgba(96,165,250,.08)}
.lc-cap-hint{margin:2px 0 10px 88px;padding:8px 11px;border-radius:10px;font-size:11.5px;line-height:1.6;
  color:var(--mut);background:rgba(255,255,255,.03);border:1px solid var(--bord)}
.lc-cap-hint b{color:#dbe4ee}
.lc-cap-hint.fomu{color:#fecdd3;background:rgba(251,113,133,.08);border-color:rgba(251,113,133,.28)}
.lc-cap-hint.fomu b{color:#fda4af}
.lc-cap-hint.fomo{color:#bfdbfe;background:rgba(96,165,250,.08);border-color:rgba(96,165,250,.28)}
.lc-cap-hint.fomo b{color:#93c5fd}
.lc-cap-hint.warn{color:#fcd34d;background:rgba(251,191,36,.08);border-color:rgba(251,191,36,.28)}
.lc-cap-hint.warn b{color:#fde68a}
@media(max-width:640px){.lc-cap-l{flex-basis:100%;padding-top:0}.lc-cap-row{flex-direction:column;gap:5px}
  .lc-cap-hint{margin-left:0}}

/* speed queue + scorecard */
.sq-row{display:flex;align-items:center;gap:10px;padding:9px 11px;border-radius:11px;border:1px solid var(--bord);
  background:rgba(255,255,255,.03);margin-bottom:6px}
.sq-row.br{border-color:rgba(251,113,133,.4);background:rgba(251,113,133,.07)}
.sq-clock{font-size:13px;font-weight:800;font-variant-numeric:tabular-nums;min-width:72px}
.sc-bar{height:6px;border-radius:99px;background:rgba(255,255,255,.08);overflow:hidden;margin-top:4px}
.sc-bar span{display:block;height:100%;border-radius:99px}

/* Speed queue inside the "Do next" action board — never-called leads, and the SLA badge. */
.ab-grp.cd{color:#94a3b8}
.ab-row.ab-cd{border-left-color:#64748b;opacity:.9}
.ab-ava-cd{background:rgba(148,163,184,.16);color:#cbd5e1}
.ab-chip-cd{background:rgba(148,163,184,.14);color:#94a3b8}
.ab-sla{display:inline-block;margin-left:6px;padding:1px 7px;border-radius:99px;font-size:9.5px;
  font-weight:800;letter-spacing:.02em;background:rgba(251,113,133,.18);color:#fb7185;
  border:1px solid rgba(251,113,133,.35);text-transform:none}

/* Salary sheet — the "why does Net payable differ from the sheet?" affordance */
.ss-var{display:block;margin-top:3px;background:none;border:none;padding:0;cursor:pointer;
  font-family:inherit;font-size:10.5px;font-weight:700;text-align:right;width:100%;
  text-decoration:underline;text-decoration-style:dotted;text-underline-offset:2px}
.ss-var:hover{filter:brightness(1.25)}
.fin-pl-strong{font-weight:700}
.fin-pl-total{border-top:1px solid var(--bord);margin-top:4px;padding-top:6px;font-size:14px}

/* Six KPI cards must actually FIT. Shrink the value + icon so ৳32,59,600 stops overflowing. */
.fin-kpis.k4{grid-template-columns:repeat(4,minmax(0,1fr))}
.fin-kpis.k4 .mba-kpi{min-width:0}
.fin-kpis.k6 .mba-kpi{padding:12px 12px;gap:9px}
.fin-kpis.k6 .mba-kpi-ic{width:34px;height:34px;font-size:17px;border-radius:10px}
.fin-kpis.k6 .mba-kpi-v{font-size:17.5px;letter-spacing:-.01em;overflow:hidden;text-overflow:ellipsis}
.fin-kpis.k6 .mba-kpi-l{font-size:10.5px;line-height:1.35}
.fin-kpis.k6 > div{overflow:hidden}
.fin-kpis.k6 .mba-kpi > div{min-width:0}
@media(max-width:1250px){ .fin-kpis.k6{grid-template-columns:repeat(3,minmax(0,1fr))} }
@media(max-width:820px){ .fin-kpis.k6,.fin-kpis.k4{grid-template-columns:repeat(2,minmax(0,1fr))} }

/* Finance: inline filter bar + amount-as-link (drilldowns Finance asked for) */
.fin-flt{display:inline-flex;gap:10px;align-items:center;flex-wrap:wrap;margin-right:auto}
.fin-flt label{display:inline-flex;gap:5px;align-items:center;font-size:11.5px;font-weight:700;color:var(--mut)}
.fin-flt .fin-in,.fin-flt .stu-sel{padding:6px 9px;font-size:12.5px;border-radius:8px}
.fin-lnk{background:none;border:none;padding:0;font-family:inherit;font-size:inherit;font-weight:800;
  color:#7dd3fc;cursor:pointer;text-decoration:underline;text-decoration-style:dotted;text-underline-offset:3px}
.fin-lnk:hover{color:#bae6fd}
.fin-amt-lnk{background:none;border:none;padding:0;font-family:inherit;font-size:inherit;font-weight:inherit;
  color:inherit;cursor:pointer;text-decoration:underline;text-decoration-style:dotted;text-underline-offset:3px}
.fin-amt-lnk:hover{filter:brightness(1.3)}

/* ── E&M Sales (v578) — daily sales sparkline ───────────────────────────────── */
.em-spark{display:flex;align-items:flex-end;gap:3px;height:120px;padding:6px 2px 0}
.em-bar{flex:1;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;height:100%;min-width:0}
.em-bar>span{font-size:9px;color:var(--mut);margin-top:4px;line-height:1}
.em-bar-f{width:100%;min-height:2px;border-radius:3px 3px 0 0;
  background:linear-gradient(180deg,#7dd3fc,#3b82f6);transition:opacity .15s}
.em-bar:hover .em-bar-f{opacity:.75}

/* ── SOP v2 (v581): start-here steps + screen-by-screen guide ───────────────── */
.sop-start{display:flex;flex-direction:column;gap:8px;margin-bottom:8px}
.sop-step{display:flex;gap:11px;align-items:flex-start;background:var(--card);border:1px solid var(--bord);
  border-radius:10px;padding:11px 13px;font-size:13.5px;line-height:1.5}
.sop-step-n{flex:none;width:22px;height:22px;border-radius:50%;background:rgb(var(--accent));color:#fff;
  font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center;margin-top:1px}
.sop-scr-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px}
.sop-scr{background:var(--card);border:1px solid var(--bord);border-radius:12px;padding:13px 15px}
.sop-scr-h{display:flex;align-items:center;gap:8px;font-size:14.5px;margin-bottom:6px}
.sop-scr-ic{font-size:16px}
.sop-scr-what{color:var(--mut);font-size:13px;line-height:1.5;margin-bottom:9px}
.sop-scr-do,.sop-scr-warn{font-size:12.8px;line-height:1.55;padding:8px 10px;border-radius:8px;margin-top:7px}
.sop-scr-do{background:rgba(52,211,153,.08);border-left:3px solid #34d399}
.sop-scr-warn{background:rgba(251,113,133,.08);border-left:3px solid #fb7185}
.sop-scr-lbl{display:block;font-size:10px;letter-spacing:.7px;text-transform:uppercase;color:var(--mut);margin-bottom:3px}
