:root {
    --navy-950: #06182b;
    --navy-900: #081f38;
    --navy-800: #0b2b4a;
    --navy-700: #153e61;
    --emerald-800: #075746;
    --emerald-700: #08705a;
    --emerald-600: #0a8067;
    --emerald-100: #dfeee9;
    --gold-600: #b77c16;
    --gold-500: #cf982f;
    --gold-100: #f7edd8;
    --cream: #faf8f3;
    --paper: #fffefb;
    --ink: #0b1d33;
    --muted: #667386;
    --line: #e3e4df;
    --line-dark: #cfd4d3;
    --danger: #b53a36;
    --danger-soft: #fae9e6;
    --warning: #a56b0d;
    --warning-soft: #fff3d9;
    --info: #245f8f;
    --info-soft: #e6f0f8;
    --success-soft: #e3f2eb;
    --shadow-sm: 0 1px 2px rgba(6, 24, 43, .04), 0 8px 24px rgba(6, 24, 43, .04);
    --shadow-lg: 0 24px 60px rgba(6, 24, 43, .15);
    --radius-sm: 8px;
    --radius: 14px;
    --radius-lg: 22px;
    --sidebar: 252px;
    --font-ui: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    --font-display: "Manrope", Inter, ui-sans-serif, sans-serif;
}

/* Simple Mode 1.0 · readable, guided and sales-ready */
:root {
    --muted: #596779;
}

body { font-size: 15px; line-height: 1.55; }
.page-wrap { padding-bottom: 44px; }
.nav-item { min-height: 44px; font-size: 14px; }
.nav-subitem { min-height: 38px; font-size: 13px; }
.nav-label { font-size: 10px; letter-spacing: .13em; }
.brand strong { font-size: 17px; }
.brand span, .sidebar-profile span, .platform-attribution { font-size: 11px; }
.topbar-context strong { font-size: 14px; }
.topbar-user strong { font-size: 12px; }
.topbar-user small { font-size: 11px; }
.eyebrow { font-size: 11px; letter-spacing: .12em; }
.page-heading p, .module-heading p { max-width: 760px; font-size: 15px; line-height: 1.65; }
.button { min-height: 43px; font-size: 14px; }
.button-small { min-height: 36px; font-size: 12px; }
.card-header p, .card-body > p, .muted { font-size: 13px; line-height: 1.6; }
.card-link, .row-action, .link-button { font-size: 12px; }
.field label { margin-bottom: 7px; font-size: 12px; letter-spacing: .035em; }
.input, .select, .textarea { min-height: 45px; font-size: 14px; line-height: 1.4; }
.textarea { min-height: 96px; }
.field .hint, .field > small, .field > p { font-size: 12px; line-height: 1.55; }
.pill { min-height: 25px; padding: 5px 9px; font-size: 11px; }
.data-table { font-size: 13px; }
.data-table th { font-size: 11px; letter-spacing: .04em; }
.data-table td .muted, .person-cell span span { font-size: 12px; }
.empty-state h3 { font-size: 19px; }
.empty-state p, .empty-compact p { font-size: 13px; line-height: 1.6; }
.notification-item strong { font-size: 12px; }
.notification-item small, .notification-item time { font-size: 11px; }

.topbar-create {
    display: inline-flex; align-items: center; justify-content: center; gap: 7px; min-height: 38px; padding: 0 15px;
    border: 1px solid var(--emerald-700); border-radius: 10px; color: #fff; background: var(--emerald-700);
    box-shadow: 0 5px 15px rgba(8,112,90,.16); cursor: pointer; font: 700 13px var(--font-body); transition: .18s ease;
}
.topbar-create:hover { transform: translateY(-1px); background: var(--emerald-800); }
.topbar-create span { font-size: 18px; font-weight: 400; line-height: 1; }
.help-button { font-weight: 750; }

.flash { align-items: flex-start; }
.flash > div { flex: 1; min-width: 0; }
.flash > div strong, .flash > div p, .flash > div small { display: block; }
.flash > div strong { margin-bottom: 2px; font-size: 13px; }
.flash > div p { margin: 0; font-size: 13px; }
.flash > div small { margin-top: 4px; opacity: .82; font-size: 12px; }
.flash ul { display: grid; gap: 3px; margin: 7px 0 0; padding-left: 19px; font-size: 12px; }
.flash .flash-undo { margin-top: 7px; }
.flash .flash-undo button { margin: 0; padding: 0; color: inherit; font-size: 12px; font-weight: 800; text-decoration: underline; }

.simple-command-dialog, .simple-help-dialog { width: min(780px, calc(100vw - 30px)); max-height: min(780px, calc(100vh - 30px)); border-radius: 22px; }
.simple-command-dialog .dialog-header, .simple-help-dialog .dialog-header { padding: 25px 27px 21px; }
.simple-command-dialog .dialog-header p, .simple-help-dialog .dialog-header p { margin: 5px 0 0; color: var(--muted); font-size: 13px; }
.simple-command-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 11px; padding: 20px; background: #f5f5f1; }
.simple-command-grid > a { display: grid; grid-template-columns: auto minmax(0,1fr) auto; align-items: center; gap: 13px; min-height: 95px; padding: 17px; border: 1px solid var(--line); border-radius: 15px; color: var(--ink); background: var(--paper); box-shadow: var(--shadow-sm); transition: .18s ease; }
.simple-command-grid > a:hover { border-color: #a9c9bf; transform: translateY(-2px); box-shadow: 0 13px 30px rgba(6,24,43,.08); }
.command-icon { display: grid; place-items: center; width: 43px; height: 43px; border-radius: 13px; font-size: 17px; }
.command-icon.emerald { color: var(--emerald-700); background: var(--success-soft); }
.command-icon.navy { color: var(--navy-800); background: #e7eef4; }
.command-icon.blue { color: #26749a; background: #e6f1f7; }
.command-icon.gold { color: #a86d0c; background: var(--warning-soft); }
.simple-command-grid strong, .simple-command-grid small { display: block; }
.simple-command-grid strong { font: 700 15px var(--font-display); }
.simple-command-grid small { margin-top: 3px; color: var(--muted); font-size: 12px; line-height: 1.45; }
.simple-command-grid i { color: var(--emerald-700); font-style: normal; font-size: 18px; }

.help-flow { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1px; background: var(--line); }
.help-flow > div { position: relative; min-height: 130px; padding: 22px 22px 20px 65px; background: var(--paper); }
.help-flow > div > span { position: absolute; top: 22px; left: 20px; display: grid; place-items: center; width: 30px; height: 30px; border-radius: 10px; color: #fff; background: var(--navy-800); font-size: 12px; font-weight: 750; }
.help-flow strong { display: block; font: 700 15px var(--font-display); }
.help-flow p { margin: 5px 0 0; color: var(--muted); font-size: 12px; line-height: 1.55; }
.help-links { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 8px; padding: 16px 20px; background: #f5f5f1; }
.help-links a { display: flex; justify-content: space-between; gap: 9px; padding: 12px; border: 1px solid var(--line); border-radius: 10px; color: var(--navy-800); background: #fff; font-size: 12px; font-weight: 700; }
.help-links a span { color: var(--emerald-700); }
.urdu-help { margin: 0; border-top: 1px solid var(--line); }
.urdu-help summary { display: flex; justify-content: space-between; padding: 15px 22px; cursor: pointer; font-size: 13px; font-weight: 700; list-style: none; }
.urdu-help p { margin: 0; padding: 0 22px 18px; color: var(--muted); font-size: 14px; line-height: 1.9; text-align: right; }
.help-shortcuts { display: flex; align-items: center; gap: 16px; padding: 12px 22px; border-top: 1px solid var(--line); color: var(--muted); font-size: 11px; }
.help-shortcuts kbd { display: inline-grid; place-items: center; min-width: 24px; height: 24px; margin-right: 4px; border: 1px solid var(--line-dark); border-radius: 6px; color: var(--ink); background: #f7f7f5; box-shadow: 0 2px 0 #d9ddd9; font: 700 11px var(--font-body); }
.help-shortcuts small { margin-left: auto; font-size: 11px; }

.setup-assistant { display: grid; grid-template-columns: minmax(300px,.7fr) minmax(420px,1.3fr); gap: 1px; margin-bottom: 22px; overflow: hidden; border: 1px solid rgba(8,112,90,.2); border-radius: 20px; background: rgba(8,112,90,.18); box-shadow: 0 18px 45px rgba(6,24,43,.08); }
.setup-assistant-summary { padding: clamp(24px,3vw,38px); color: #fff; background: linear-gradient(145deg,#061a30,#0b3e4b); }
.setup-assistant-summary .eyebrow { color: #e5be62; }
.setup-assistant-summary h2 { margin: 6px 0 7px; color: #fff; font-size: clamp(25px,3vw,36px); }
.setup-assistant-summary p { max-width: 500px; margin: 0 0 19px; color: #bfd0d8; font-size: 13px; line-height: 1.65; }
.setup-progress { height: 7px; overflow: hidden; border-radius: 8px; background: rgba(255,255,255,.13); }
.setup-progress i { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg,#1bb18d,#e5be62); }
.setup-assistant-summary > strong { display: block; margin: 8px 0 19px; color: #cbd9df; font-size: 12px; }
.setup-assistant-summary .button { width: fit-content; }
.setup-checklist { display: grid; align-content: stretch; gap: 1px; background: var(--line); }
.setup-step { display: grid; grid-template-columns: auto minmax(0,1fr) auto; align-items: center; gap: 13px; min-height: 82px; padding: 14px 19px; color: var(--ink); background: var(--paper); transition: .16s ease; }
.setup-step:hover { background: #f6faf7; }
.setup-step > span { display: grid; place-items: center; width: 33px; height: 33px; border-radius: 11px; color: #fff; background: var(--navy-800); font-size: 12px; font-weight: 750; }
.setup-step.done > span { color: var(--emerald-700); background: var(--success-soft); }
.setup-step strong, .setup-step small { display: block; }
.setup-step strong { font-size: 13px; }
.setup-step small { margin-top: 2px; color: var(--muted); font-size: 11px; line-height: 1.4; }
.setup-step > i { color: var(--emerald-700); font-style: normal; font-size: 11px; font-weight: 700; }

.demo-tour-card { display: grid; grid-template-columns: minmax(260px,.55fr) minmax(0,1.45fr); gap: 20px; margin-bottom: 22px; padding: 24px; border: 1px solid #e0c278; border-radius: 18px; background: linear-gradient(135deg,#fffdf6,#f8f0db); box-shadow: var(--shadow-sm); scroll-margin-top: 90px; }
.demo-tour-intro h2 { margin: 5px 0 6px; font-size: 25px; }
.demo-tour-intro p { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.6; }
.demo-tour-steps { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 7px; }
.demo-tour-steps a { display: grid; align-content: space-between; min-height: 135px; padding: 13px; border: 1px solid rgba(183,124,22,.2); border-radius: 12px; color: var(--ink); background: rgba(255,255,255,.82); }
.demo-tour-steps a > span { display: grid; place-items: center; width: 25px; height: 25px; border-radius: 8px; color: #fff; background: #a86d0c; font-size: 10px; font-weight: 750; }
.demo-tour-steps strong, .demo-tour-steps small { display: block; }
.demo-tour-steps strong { margin-top: 12px; font-size: 11px; }
.demo-tour-steps small { margin-top: 3px; color: var(--muted); font-size: 10px; line-height: 1.35; }
.demo-tour-steps i { margin-top: 8px; color: #a86d0c; font-style: normal; }

.daily-focus-card small { font-size: 12px; }
.daily-focus-card p { font-size: 12px; }
.simple-task-copy strong, .recent-student-row strong, .quick-start-action strong { font-size: 13px; }
.simple-task-copy small, .recent-student-row small, .quick-start-action small, .agenda-item span span { font-size: 11px; }
.simple-task-due, .pipeline-row { font-size: 12px; }
.health-case p { font-size: 12px; }

/* Readability floor for the lead workspace, previously too compressed. */
.lead-hero-summary > p { font-size: 13px; }
.lead-value-stack small, .lead-value-stack b { font-size: 10px; }
.lead-stage-overview > header small { font-size: 11px; }
.lead-stage-flow a > span { font-size: 11px; }
.lead-stage-flow a > span i { font-size: 10px; }
.lead-priority-card small, .lead-priority-card p { font-size: 11px; }
.lead-followup-row > span:nth-child(2) strong { font-size: 13px; }
.lead-followup-row > span:nth-child(2) small { font-size: 11px; }
.followup-time small { font-size: 10px; }
.followup-time strong { font-size: 12px; }
.lead-followup-row > i { font-size: 11px; }
.lead-toolbar-card > span, .lead-clear-filter { font-size: 11px; }
.lead-search-control input { font-size: 13px; }
.lead-section-heading p { font-size: 13px; }
.lead-board-legend { font-size: 11px; }
.lead-stage-symbol, .lead-stage-heading > strong { font-size: 11px; }
.lead-stage-heading h3 { font-size: 16px; }
.lead-stage-heading p { font-size: 10px; }
.lead-source-badge { font-size: 10px; }
.lead-card-identity a, .lead-card-identity span { font-size: 11px; }
.lead-card-facts span { font-size: 10px; }
.lead-card-facts strong { font-size: 12px; }
.lead-confidence small, .lead-confidence strong { font-size: 11px; }
.lead-next-step small { font-size: 10px; }
.lead-next-step strong { font-size: 12px; }
.lead-card-action { min-height: 38px; font-size: 11px; }
.lead-stage-empty strong { font-size: 12px; }
.lead-stage-empty small { font-size: 11px; }
.lead-dialog .dialog-header p { font-size: 12px; }
.lead-form-section-title strong { font-size: 13px; }
.lead-form-section-title small { font-size: 11px; }
.filter-more > div .field label { font-size: 12px; }
.student-more-actions > div a, .student-more-actions > div button { font-size: 12px; }

.draft-status { position: fixed; right: 22px; bottom: 22px; z-index: 90; padding: 9px 12px; border: 1px solid #b9d5cc; border-radius: 9px; color: var(--emerald-700); background: #f2fbf7; box-shadow: var(--shadow-sm); font-size: 11px; font-weight: 700; pointer-events: none; }
.mobile-bottom-nav { display: none; }

@media (max-width: 1180px) {
    .demo-tour-card { grid-template-columns: 1fr; }
    .topbar-create { padding-inline: 11px; }
}

@media (max-width: 900px) {
    .setup-assistant { grid-template-columns: 1fr; }
    .demo-tour-steps { grid-template-columns: repeat(3,minmax(0,1fr)); }
    .help-links { grid-template-columns: 1fr; }
    .topbar-create { font-size: 0; }
    .topbar-create span { font-size: 20px; }
}

@media (max-width: 700px) {
    body { font-size: 14px; }
    .page-wrap { padding-bottom: 94px; }
    .page-heading p, .module-heading p { font-size: 14px; }
    .topbar-create, .help-button { display: none; }
    .simple-command-grid, .help-flow { grid-template-columns: 1fr; }
    .simple-command-grid { padding: 12px; }
    .simple-command-grid > a { min-height: 82px; }
    .help-flow > div { min-height: 112px; }
    .help-shortcuts { display: none; }
    .setup-assistant { margin-inline: -3px; border-radius: 16px; }
    .setup-assistant-summary { padding: 24px 19px; }
    .setup-step { min-height: 76px; padding: 13px; }
    .setup-step small { font-size: 10px; }
    .setup-step > i { font-size: 0; }
    .setup-step > i::after { content: "→"; font-size: 15px; }
    .demo-tour-card { padding: 17px; }
    .demo-tour-steps { display: grid; grid-template-columns: 1fr; }
    .demo-tour-steps a { grid-template-columns: auto minmax(0,1fr) auto; align-items: center; gap: 10px; min-height: 72px; }
    .demo-tour-steps strong { margin-top: 0; }
    .demo-tour-steps i { margin-top: 0; }
    .mobile-bottom-nav { position: fixed; right: 10px; bottom: max(10px,env(safe-area-inset-bottom)); left: 10px; z-index: 75; display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); min-height: 66px; padding: 6px; border: 1px solid rgba(255,255,255,.12); border-radius: 18px; background: rgba(6,26,48,.96); box-shadow: 0 18px 45px rgba(6,24,43,.28); backdrop-filter: blur(15px); }
    .mobile-bottom-nav a, .mobile-bottom-nav button { display: grid; place-items: center; align-content: center; gap: 2px; min-width: 0; border: 0; border-radius: 12px; color: #aebfcb; background: transparent; font-family: var(--font-body); }
    .mobile-bottom-nav span { font-size: 17px; line-height: 1; }
    .mobile-bottom-nav small { font-size: 9px; }
    .mobile-bottom-nav .active { color: #fff; background: rgba(255,255,255,.09); }
    .mobile-bottom-nav button:nth-child(3) { margin: -17px 3px 3px; color: #fff; background: var(--emerald-700); box-shadow: 0 9px 22px rgba(8,112,90,.34); }
    .mobile-bottom-nav button:nth-child(3) span { font-size: 25px; }
    .draft-status { right: 15px; bottom: 86px; left: 15px; text-align: center; }
}

/* LesCoders Labs product signature — platform surfaces only, never white-label tenants. */
.master-console {
    --labs-night: #02080e;
    --labs-panel: #0c1720;
    --labs-lime: #4df875;
    --labs-cyan: #61d6ee;
}
.master-console .sidebar {
    background:
        radial-gradient(circle at 12% 10%, rgba(77,248,117,.13), transparent 24%),
        radial-gradient(circle at 92% 35%, rgba(97,214,238,.1), transparent 27%),
        linear-gradient(165deg, #02080e 0%, #091721 55%, #02080e 100%);
}
.master-console .brand-mark {
    border-color: transparent;
    color: #06140f;
    background: linear-gradient(135deg, var(--labs-lime), var(--labs-cyan));
    box-shadow: 0 10px 28px rgba(77,248,117,.16);
}
.master-console .nav-item.active { color: var(--labs-lime); background: linear-gradient(90deg,rgba(77,248,117,.12),rgba(97,214,238,.045)); }
.master-console .nav-item.active::before { background: linear-gradient(var(--labs-lime),var(--labs-cyan)); }
.master-console .nav-item.active .nav-icon { color: var(--labs-cyan); }
.labs-product-attribution {
    display: flex; align-items: center; gap: 10px; margin: 0 6px 15px; padding: 11px;
    border: 1px solid rgba(97,214,238,.16); border-radius: 11px; color: #b7c7d0;
    background: rgba(255,255,255,.025); transition: .18s ease;
}
.labs-product-attribution:hover { border-color: rgba(77,248,117,.35); background: rgba(77,248,117,.045); }
.labs-product-attribution > span:last-child { display: grid; min-width: 0; }
.labs-product-attribution small { color: #738895; font-size: 7px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.labs-product-attribution strong { overflow: hidden; color: #f3f7f9; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.labs-product-mark {
    position: relative; display: inline-grid; place-items: center; flex: 0 0 auto; width: 25px; height: 25px;
    transform: rotate(45deg); border: 2px solid transparent; border-radius: 7px;
    background: linear-gradient(#091721,#091721) padding-box,linear-gradient(135deg,#4df875,#61d6ee) border-box;
}
.labs-product-mark::after { content: ""; width: 7px; height: 7px; border-radius: 2px; background: linear-gradient(135deg,#4df875,#61d6ee); }
.labs-login-credit {
    display: flex; align-items: center; justify-content: center; gap: 10px; margin: 18px auto 0; padding-top: 17px;
    border-top: 1px solid var(--line); color: var(--muted); font-size: 10px;
}
.labs-login-credit .labs-product-mark { width: 22px; height: 22px; background: linear-gradient(#fff,#fff) padding-box,linear-gradient(135deg,#4df875,#61d6ee) border-box; }
.labs-login-credit .labs-product-mark::after { width: 6px; height: 6px; }
.labs-login-credit strong { color: var(--navy-800); }

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
    margin: 0;
    background: var(--cream);
    color: var(--ink);
    font-family: var(--font-ui);
    font-size: 15px;
    line-height: 1.5;
    font-weight: 400;
    -webkit-font-smoothing: antialiased;
}
button, input, select, textarea { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
a { color: inherit; text-decoration: none; }
img { max-width: 100%; }
[hidden] { display: none !important; }

.app-shell { min-height: 100vh; }
.sidebar {
    position: fixed; inset: 0 auto 0 0; z-index: 40; width: var(--sidebar);
    display: flex; flex-direction: column; padding: 28px 18px 20px;
    color: #f7fbff;
    background:
        radial-gradient(circle at 10% 8%, rgba(18, 100, 91, .25), transparent 25%),
        linear-gradient(165deg, #06182b 0%, #082440 56%, #06182b 100%);
    box-shadow: 8px 0 30px rgba(6, 24, 43, .08);
}
.brand { display: flex; align-items: center; gap: 12px; padding: 0 10px 28px; }
.brand-mark {
    display: grid; place-items: center; width: 43px; height: 43px; border: 1px solid rgba(245, 194, 95, .55);
    border-radius: 13px; color: #f1c96e; background: linear-gradient(145deg, rgba(255,255,255,.1), rgba(255,255,255,.02));
    font-family: "Manrope", Inter, ui-sans-serif, sans-serif; font-size: 15px; font-weight: 700; letter-spacing: -.04em;
    box-shadow: inset 0 0 18px rgba(255,255,255,.05);
}
.brand strong { display: block; font-family: "Manrope", Inter, ui-sans-serif, sans-serif; font-size: 20px; letter-spacing: -.02em; }
.brand span { display: block; color: #9eb0c1; font-size: 10px; letter-spacing: .12em; text-transform: uppercase; }
.nav-list { flex: 1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding-right:3px;scrollbar-width:thin;scrollbar-color:rgba(231,195,109,.3) transparent; }
.nav-list::-webkit-scrollbar { width:4px; }
.nav-list::-webkit-scrollbar-thumb { border-radius:8px;background:rgba(231,195,109,.28); }
.nav-label { margin: 12px 13px 8px; color: #71879a; font-size: 10px; font-weight: 700; letter-spacing: .15em; text-transform: uppercase; }
.nav-item {
    position: relative; display: flex; align-items: center; gap: 13px; min-height: 48px; margin: 4px 0; padding: 0 14px;
    border-radius: 11px; color: #c5d0da; font-weight: 550; transition: .18s ease;
}
.nav-item:hover { color: #fff; background: rgba(255,255,255,.055); transform: translateX(2px); }
.nav-item.active { color: #ffe09a; background: linear-gradient(90deg, rgba(27,89,92,.6), rgba(255,255,255,.05)); }
.nav-item.active::before { content: ""; position: absolute; left: -18px; width: 3px; height: 28px; border-radius: 0 4px 4px 0; background: #e6b94e; }
.nav-icon { display: grid; place-items: center; width: 25px; height: 25px; color: #dce7ef; font-size: 20px; font-weight: 400; }
.nav-item.active .nav-icon { color: #f4c75b; }
.nav-more { margin-top: 4px; }
.nav-more > summary { list-style: none; cursor: pointer; }
.nav-more > summary::-webkit-details-marker { display: none; }
.nav-more > summary i { margin-left: auto; color: #7890a4; font-size: 12px; font-style: normal; transition: transform .18s ease; }
.nav-more[open] > summary i { transform: rotate(180deg); }
.nav-more-menu { margin: 2px 0 8px 27px; padding: 5px 0 7px 13px; border-left: 1px solid rgba(255,255,255,.13); }
.nav-more-menu .nav-label { margin: 12px 10px 5px; font-size: 8px; }
.nav-subitem { display: block; margin: 1px 0; padding: 8px 10px; border-radius: 8px; color: #9eb0c1; font-size: 11px; font-weight: 600; }
.nav-subitem:hover { color: #fff; background: rgba(255,255,255,.05); }
.nav-subitem.active { color: #ffe09a; background: rgba(26,102,91,.28); }
.sidebar-footer { padding-top: 18px; border-top: 1px solid rgba(255,255,255,.1); }
.sidebar-profile { display: flex; align-items: center; gap: 11px; padding: 0 7px 14px; }
.sidebar-profile div { min-width: 0; }
.sidebar-profile strong { display: block; overflow: hidden; font-size: 13px; text-overflow: ellipsis; white-space: nowrap; }
.sidebar-profile span:not(.avatar) { display: block; color: #8ea3b6; font-size: 11px; }
.nav-logout { display: flex; justify-content: space-between; width: 100%; padding: 9px 10px; border: 0; color: #8ea3b6; background: transparent; cursor: pointer; font-size: 12px; }
.nav-logout:hover { color: #fff; }
.avatar { display: inline-grid; place-items: center; flex: 0 0 auto; width: 38px; height: 38px; border-radius: 50%; color: #0c3f38; background: #ede6da; font-weight: 750; font-size: 12px; }
.avatar-gold { color: #fff; background: linear-gradient(145deg, #c78d27, #8e5d13); border: 2px solid rgba(255,255,255,.3); }
.sidebar-overlay { display: none; }

.main-panel { min-height: 100vh; margin-left: var(--sidebar); }
.topbar {
    position: sticky; top: 0; z-index: 30; display: flex; align-items: center; justify-content: space-between;
    height: 76px; padding: 0 clamp(22px, 3.5vw, 54px); border-bottom: 1px solid rgba(210, 212, 207, .75);
    background: rgba(250, 248, 243, .9); backdrop-filter: blur(18px);
}
.topbar-context strong { display: block; font-size: 14px; }
.eyebrow { display: block; color: var(--emerald-700); font-size: 10px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.topbar-actions { display: flex; align-items: center; gap: 12px; }
.icon-button {
    position: relative; display: grid; place-items: center; width: 40px; height: 40px; border: 1px solid var(--line);
    border-radius: 12px; color: var(--navy-800); background: var(--paper); cursor: pointer; font-size: 23px;
}
.icon-button:hover { border-color: #b8c3c2; box-shadow: var(--shadow-sm); }
.icon-button i { position: absolute; top: -5px; right: -5px; min-width: 18px; height: 18px; padding: 0 4px; border: 2px solid var(--cream); border-radius: 12px; color: #fff; background: var(--gold-600); font-size: 9px; font-style: normal; line-height: 14px; }
.topbar-avatar { display: flex; align-items: center; gap: 10px; padding: 4px 6px; border-radius: 12px; }
.topbar-avatar:hover { background: rgba(255,255,255,.6); }
.topbar-user strong, .topbar-user small { display: block; }
.topbar-user strong { font-size: 12px; }
.topbar-user small { color: var(--muted); font-size: 10px; }
.mobile-menu { display: none; }
.notification-wrap { position: relative; }
.notification-panel {
    position: absolute; top: calc(100% + 12px); right: 0; z-index: 50; width: min(390px, calc(100vw - 32px));
    overflow: hidden; border: 1px solid var(--line); border-radius: 17px; background: var(--paper); box-shadow: var(--shadow-lg);
    opacity: 0; visibility: hidden; transform: translateY(-8px); transition: .18s ease;
}
.notification-panel.open { opacity: 1; visibility: visible; transform: translateY(0); }
.panel-heading { display: flex; align-items: center; justify-content: space-between; padding: 20px; border-bottom: 1px solid var(--line); }
.panel-heading h3 { margin: 2px 0 0; font-family: "Manrope", Inter, ui-sans-serif, sans-serif; font-size: 21px; }
.link-button { padding: 0; border: 0; color: var(--emerald-700); background: transparent; cursor: pointer; font-size: 11px; font-weight: 700; }
.notification-list { max-height: 430px; overflow: auto; }
.notification-item { display: grid; grid-template-columns: 8px 1fr; gap: 10px; padding: 15px 20px; border-bottom: 1px solid #eeefeb; }
.notification-item:hover { background: #fbfaf7; }
.notification-item.unread { background: #f2f8f5; }
.notification-dot { width: 7px; height: 7px; margin-top: 7px; border-radius: 50%; background: transparent; }
.notification-item.unread .notification-dot { background: var(--gold-500); }
.notification-item strong, .notification-item small, .notification-item time { display: block; }
.notification-item strong { font-size: 12px; }
.notification-item small { margin-top: 2px; color: var(--muted); font-size: 11px; line-height: 1.45; }
.notification-item time { margin-top: 6px; color: #9ba4ad; font-size: 9px; }
.empty-compact { padding: 34px; color: var(--muted); text-align: center; }
.empty-compact span { display: grid; place-items: center; width: 40px; height: 40px; margin: 0 auto 8px; border-radius: 50%; color: var(--emerald-700); background: var(--success-soft); }
.empty-compact p { margin: 0; font-size: 12px; }

.page-wrap { width: min(1540px, 100%); margin: 0 auto; padding: 34px clamp(22px, 3.5vw, 54px) 70px; }
.page-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 24px; margin-bottom: 28px; }
.page-heading h1 { margin: 3px 0 5px; font-family: "Manrope", Inter, ui-sans-serif, sans-serif; font-size: clamp(28px, 3vw, 40px); font-weight: 600; letter-spacing: -.035em; line-height: 1.12; }
.page-heading p { max-width: 690px; margin: 0; color: var(--muted); }
.heading-actions { display: flex; gap: 10px; flex-wrap: wrap; }

.button {
    display: inline-flex; align-items: center; justify-content: center; gap: 9px; min-height: 43px; padding: 0 17px;
    border: 1px solid transparent; border-radius: 9px; cursor: pointer; font-size: 12px; font-weight: 750; transition: .18s ease;
}
.button:hover { transform: translateY(-1px); box-shadow: 0 8px 20px rgba(6, 24, 43, .09); }
.button-primary { color: #fff; background: linear-gradient(145deg, var(--emerald-600), var(--emerald-800)); box-shadow: 0 7px 18px rgba(8,112,90,.18); }
.button-gold { color: #1b2836; background: linear-gradient(145deg, #f1d17c, #d7a237); }
.button-secondary { border-color: var(--line-dark); color: var(--navy-800); background: var(--paper); }
.button-ghost { color: var(--emerald-700); background: transparent; }
.button-danger { border-color: #e8bbb7; color: var(--danger); background: #fff; }
.button-small { min-height: 34px; padding: 0 12px; font-size: 10px; }
.button-block { width: 100%; }
.button span.plus { font-size: 20px; font-weight: 400; line-height: 1; }

.flash {
    position: fixed; top: 88px; right: 24px; z-index: 80; display: flex; align-items: center; gap: 12px;
    width: min(410px, calc(100vw - 36px)); padding: 13px 15px; border: 1px solid; border-radius: 12px; box-shadow: var(--shadow-lg);
    animation: slideIn .25s ease;
}
.flash-success { border-color: #a9d7c3; color: #074e3f; background: #edf9f3; }
.flash-error { border-color: #e7bab5; color: #8f2927; background: #fff3f1; }
.flash > span { display: grid; place-items: center; flex: 0 0 auto; width: 26px; height: 26px; border-radius: 50%; color: #fff; background: currentColor; text-shadow: 0 1px currentColor; }
.flash p, .flash strong { margin: 0; font-size: 12px; }
.flash button { margin-left: auto; border: 0; color: inherit; background: transparent; cursor: pointer; font-size: 19px; }
.flash-out { opacity: 0; transform: translateX(20px); pointer-events: none; transition: .25s ease; }
@keyframes slideIn { from { opacity: 0; transform: translateX(20px); } }

.stats-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; margin-bottom: 20px; }
.stat-card {
    position: relative; min-height: 150px; overflow: hidden; padding: 21px; border: 1px solid var(--line); border-radius: var(--radius);
    background: rgba(255,254,251,.82); box-shadow: var(--shadow-sm);
}
.stat-card::after { content: ""; position: absolute; right: -24px; bottom: -34px; width: 90px; height: 90px; border-radius: 50%; background: radial-gradient(circle, rgba(10,128,103,.07), transparent 68%); }
.stat-head { display: flex; align-items: center; gap: 12px; color: var(--muted); font-size: 11px; font-weight: 650; }
.stat-icon { display: grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; color: var(--emerald-700); background: var(--success-soft); font-family: "Manrope", Inter, ui-sans-serif, sans-serif; font-size: 18px; }
.stat-card.gold .stat-icon { color: var(--gold-600); background: var(--gold-100); }
.stat-card.blue .stat-icon { color: var(--info); background: var(--info-soft); }
.stat-value { display: block; margin: 12px 0 4px; font-family: "Manrope", Inter, ui-sans-serif, sans-serif; font-size: 31px; font-weight: 600; letter-spacing: -.03em; }
.stat-foot { color: var(--muted); font-size: 10px; }
.stat-foot strong { color: var(--emerald-700); }

.dashboard-grid { display: grid; grid-template-columns: minmax(0, 1.8fr) minmax(300px, .72fr); gap: 20px; align-items: start; }
.stack { display: grid; gap: 20px; }
.card { border: 1px solid var(--line); border-radius: var(--radius); background: rgba(255,254,251,.88); box-shadow: var(--shadow-sm); }
.card-header { display: flex; align-items: center; justify-content: space-between; gap: 14px; min-height: 68px; padding: 16px 20px; border-bottom: 1px solid var(--line); }
.card-header h2, .card-header h3 { margin: 0; font-family: "Manrope", Inter, ui-sans-serif, sans-serif; font-size: 20px; font-weight: 600; }
.card-header p { margin: 2px 0 0; color: var(--muted); font-size: 11px; }
.card-body { padding: 20px; }
.card-link { color: var(--emerald-700); font-size: 11px; font-weight: 750; }
.card-link:hover { text-decoration: underline; }

.journey-card { padding: 24px 20px 20px; }
.stepper { display: flex; align-items: flex-start; overflow-x: auto; padding: 4px 2px 2px; scrollbar-width: none; }
.stepper::-webkit-scrollbar { display: none; }
.step { position: relative; flex: 1 0 112px; min-width: 112px; text-align: center; }
.step:not(:last-child)::before { content: ""; position: absolute; top: 19px; left: calc(50% + 20px); right: calc(-50% + 20px); height: 2px; background: #d6d8d4; }
.step.complete:not(:last-child)::before { background: var(--emerald-700); }
.step-circle {
    position: relative; z-index: 1; display: grid; place-items: center; width: 40px; height: 40px; margin: 0 auto 9px;
    border: 2px solid #cbd0cd; border-radius: 50%; color: #77828b; background: var(--paper); font-size: 12px; font-weight: 800;
}
.step.complete .step-circle { border-color: var(--emerald-700); color: #fff; background: var(--emerald-700); }
.step.current .step-circle { border-color: var(--emerald-700); color: var(--emerald-700); box-shadow: 0 0 0 6px var(--emerald-100); }
.step strong { display: block; font-size: 11px; }
.step small { display: block; max-width: 100px; margin: 3px auto 0; color: var(--muted); font-size: 9px; line-height: 1.35; }
.step.current strong { color: var(--emerald-700); }

.table-scroll { width: 100%; overflow-x: auto; }
.data-table { width: 100%; border-collapse: collapse; }
.table-wrap { width:100%;max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain; }
.data-table th { padding: 11px 16px; color: #77828b; background: #fbfaf7; font-size: 9px; font-weight: 800; letter-spacing: .09em; text-align: left; text-transform: uppercase; white-space: nowrap; }
.data-table td { padding: 14px 16px; border-top: 1px solid #e9e9e5; font-size: 11px; vertical-align: middle; }
.data-table tbody tr { transition: .15s ease; }
.data-table tbody tr:hover { background: #fbfcfa; }
.person-cell { display: flex; align-items: center; gap: 10px; min-width: 175px; }
.person-cell strong, .person-cell span { display: block; }
.person-cell strong { color: var(--ink); font-size: 12px; }
.person-cell span { color: var(--muted); font-size: 10px; }
.avatar-soft { color: var(--navy-800); background: #eef0ed; }
.pill {
    display: inline-flex; align-items: center; gap: 5px; min-height: 25px; padding: 0 9px; border-radius: 20px;
    color: #465567; background: #ecefec; font-size: 9px; font-weight: 750; text-transform: capitalize; white-space: nowrap;
}
.pill::before { content: ""; width: 5px; height: 5px; border-radius: 50%; background: currentColor; opacity: .75; }
.pill-success, .pill-complete, .pill-paid, .pill-approved, .pill-offer { color: #08604d; background: var(--success-soft); }
.pill-warning, .pill-pending, .pill-due, .pill-in_review, .pill-current { color: #94600d; background: var(--warning-soft); }
.pill-danger, .pill-overdue, .pill-rejected, .pill-changes_requested, .pill-urgent { color: #a4322f; background: var(--danger-soft); }
.pill-info, .pill-submitted, .pill-preparing, .pill-in_progress { color: #245f8f; background: var(--info-soft); }
.pill-muted, .pill-locked, .pill-cancelled, .pill-withdrawn { color: #687480; background: #ecefed; }
.priority { font-size: 9px; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.priority-high, .priority-urgent { color: var(--danger); }
.text-danger { color: var(--danger) !important; }
.text-gold { color: var(--gold-600) !important; }
.text-success { color: var(--emerald-700) !important; }
.muted { color: var(--muted); }

.agenda-list { display: grid; gap: 9px; }
.agenda-item { display: grid; grid-template-columns: 48px 1fr; gap: 12px; padding: 12px; border: 1px solid var(--line); border-radius: 10px; background: #fff; }
.agenda-time { color: var(--emerald-700); font-size: 11px; font-weight: 800; }
.agenda-item strong, .agenda-item span { display: block; }
.agenda-item strong { font-size: 11px; }
.agenda-item span { margin-top: 2px; color: var(--muted); font-size: 10px; }
.empty-state { padding: 38px 20px; color: var(--muted); text-align: center; }
.empty-state-icon { display: grid; place-items: center; width: 48px; height: 48px; margin: 0 auto 10px; border-radius: 50%; color: var(--emerald-700); background: var(--success-soft); font-size: 21px; }
.empty-state h3 { margin: 0 0 5px; color: var(--ink); font-family: "Manrope", Inter, ui-sans-serif, sans-serif; }
.empty-state p { max-width: 340px; margin: 0 auto; font-size: 11px; }

.pipeline-list { display: grid; gap: 14px; }
.pipeline-row { display: grid; grid-template-columns: 86px 1fr 24px; gap: 10px; align-items: center; font-size: 10px; text-transform: capitalize; }
.mini-track { height: 7px; overflow: hidden; border-radius: 6px; background: #e7e9e5; }
.mini-track i { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--emerald-700), #43a68e); }

.hero-action {
    position: relative; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 20px; overflow: hidden;
    padding: 25px; border: 1px solid #abd1c6; border-radius: var(--radius); background:
        linear-gradient(120deg, rgba(219,239,233,.9), rgba(249,251,247,.86)),
        var(--paper);
}
.hero-action::after { content: ""; position: absolute; right: -40px; top: -70px; width: 180px; height: 180px; border: 1px solid rgba(8,112,90,.12); border-radius: 50%; }
.hero-icon { display: grid; place-items: center; width: 70px; height: 70px; border-radius: 50%; color: #fff; background: linear-gradient(145deg, #0c8069, #075344); font-size: 28px; box-shadow: 0 14px 30px rgba(7,87,70,.2); }
.hero-copy h2 { margin: 3px 0 11px; color: #075746; font-family: "Manrope", Inter, ui-sans-serif, sans-serif; font-size: clamp(23px, 2.5vw, 31px); font-weight: 600; line-height: 1.1; }
.hero-due { position: relative; z-index: 1; min-width: 120px; padding-left: 20px; border-left: 1px solid #b9d7ce; text-align: center; }
.hero-due span, .hero-due strong { display: block; }
.hero-due span { color: var(--emerald-700); font-size: 10px; text-transform: uppercase; }
.hero-due strong { font-family: "Manrope", Inter, ui-sans-serif, sans-serif; font-size: 22px; }

.payment-summary { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin-bottom: 14px; }
.payment-summary span, .payment-summary strong { display: block; }
.payment-summary span { color: var(--muted); font-size: 9px; }
.payment-summary strong { margin-top: 2px; font-family: "Manrope", Inter, ui-sans-serif, sans-serif; font-size: 21px; font-weight: 600; }
.progress-track { height: 10px; overflow: hidden; border-radius: 10px; background: #e1e4e0; }
.progress-track i { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--emerald-800), #159378); }
.progress-meta { display: flex; justify-content: space-between; margin-top: 8px; color: var(--muted); font-size: 9px; }
.progress-meta strong { color: var(--emerald-700); }
.consultant-card { display: flex; align-items: center; gap: 13px; }
.consultant-card .avatar { width: 52px; height: 52px; font-size: 14px; }
.consultant-card strong, .consultant-card span, .consultant-card a { display: block; }
.consultant-card strong { font-size: 12px; }
.consultant-card span { color: var(--muted); font-size: 10px; }
.consultant-card a { margin-top: 3px; color: var(--emerald-700); font-size: 10px; }
.consultant-card .button { margin-left: auto; }

.toolbar { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin-bottom: 18px; }
.search-form { display: flex; align-items: center; gap: 10px; flex: 1; }
.search-control { position: relative; flex: 1; max-width: 400px; }
.search-control span { position: absolute; left: 13px; top: 50%; color: #83909b; transform: translateY(-50%); }
.search-control input { padding-left: 37px; }
.filter-select { width: 180px; }

.form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 17px; }
.form-grid.three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.field { display: grid; gap: 6px; }
.field.full { grid-column: 1 / -1; }
.field label { color: #4f5d6c; font-size: 10px; font-weight: 800; letter-spacing: .025em; }
.field .hint { margin: 0; color: #8a949c; font-size: 9px; }
.input, .select, .textarea {
    width: 100%; min-height: 43px; padding: 10px 12px; border: 1px solid #d7dad6; border-radius: 9px;
    outline: none; color: var(--ink); background: #fff; font-size: 12px; transition: .16s ease;
}
.textarea { min-height: 95px; resize: vertical; }
.input:focus, .select:focus, .textarea:focus { border-color: #4b9b88; box-shadow: 0 0 0 3px rgba(10,128,103,.1); }
.input::placeholder, .textarea::placeholder { color: #a3abb1; }
.input-group { position: relative; }
.input-group .input { padding-right: 52px; }
.input-action { position: absolute; top: 50%; right: 10px; border: 0; color: var(--emerald-700); background: transparent; cursor: pointer; font-size: 10px; font-weight: 750; transform: translateY(-50%); }
.checkbox { display: inline-flex; align-items: center; gap: 8px; color: var(--muted); font-size: 10px; }
.checkbox input { width: 16px; height: 16px; accent-color: var(--emerald-700); }
.form-actions { display: flex; align-items: center; justify-content: flex-end; gap: 10px; margin-top: 20px; }
.file-drop { display: grid; place-items: center; min-height: 120px; padding: 16px; border: 1px dashed #aebcb8; border-radius: 11px; background: #fbfcfa; text-align: center; cursor: pointer; }
.file-drop:hover { border-color: var(--emerald-700); background: #f4faf7; }
.file-drop input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.file-drop strong { display: block; color: var(--emerald-700); font-size: 11px; }
.file-drop span { color: var(--muted); font-size: 9px; }

.student-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.student-card { position: relative; padding: 18px; border: 1px solid var(--line); border-radius: 13px; background: var(--paper); transition: .18s ease; }
.student-card:hover { border-color: #b9c8c3; transform: translateY(-2px); box-shadow: 0 14px 32px rgba(6,24,43,.07); }
.student-top { display: flex; align-items: center; gap: 11px; }
.student-top .avatar { width: 44px; height: 44px; }
.student-top h3 { margin: 0; font-family: "Manrope", Inter, ui-sans-serif, sans-serif; font-size: 17px; }
.student-top p { margin: 1px 0 0; color: var(--muted); font-size: 9px; }
.student-card .pill { position: absolute; top: 17px; right: 16px; }
.student-details { display: grid; grid-template-columns: repeat(2, 1fr); gap: 11px; margin: 18px 0; padding: 14px 0; border-top: 1px solid #ecece8; border-bottom: 1px solid #ecece8; }
.student-details span, .student-details strong { display: block; }
.student-details span { color: var(--muted); font-size: 8px; text-transform: uppercase; }
.student-details strong { margin-top: 2px; font-size: 10px; font-weight: 650; }
.student-progress { display: flex; align-items: center; gap: 10px; }
.student-progress .progress-track { flex: 1; height: 6px; }
.student-progress span { color: var(--emerald-700); font-size: 10px; font-weight: 800; }
.pagination-wrap { display: flex; justify-content: center; margin-top: 22px; }
.pagination-wrap nav > div:first-child { display: none; }
.pagination-wrap nav > div:last-child { display: flex; }

.workspace-header {
    display: grid; grid-template-columns: 1fr auto; gap: 20px; align-items: center; margin-bottom: 20px; padding: 22px;
    border: 1px solid var(--line); border-radius: var(--radius); background: var(--paper); box-shadow: var(--shadow-sm);
}
.workspace-person { display: flex; align-items: center; gap: 15px; }
.workspace-person .avatar { width: 58px; height: 58px; color: #fff; background: linear-gradient(145deg, var(--emerald-600), var(--navy-800)); font-family: "Manrope", Inter, ui-sans-serif, sans-serif; font-size: 17px; }
.workspace-person h1 { margin: 0; font-family: "Manrope", Inter, ui-sans-serif, sans-serif; font-size: 27px; font-weight: 600; }
.workspace-person p { margin: 3px 0 0; color: var(--muted); font-size: 10px; }
.workspace-summary { display: flex; align-items: center; gap: 24px; }
.workspace-summary > div { min-width: 80px; }
.workspace-summary span, .workspace-summary strong { display: block; }
.workspace-summary span { color: var(--muted); font-size: 8px; letter-spacing: .07em; text-transform: uppercase; }
.workspace-summary strong { margin-top: 3px; font-family: "Manrope", Inter, ui-sans-serif, sans-serif; font-size: 17px; }
.workspace-summary .progress-ring {
    display: grid; place-items: center; width: 58px; height: 58px; border-radius: 50%;
    background: conic-gradient(var(--emerald-700) var(--progress), #e7e9e5 0);
}
.progress-ring::before { content: ""; grid-area: 1/1; width: 46px; height: 46px; border-radius: 50%; background: var(--paper); }
.progress-ring strong { position: relative; grid-area: 1/1; font-family: inherit; font-size: 11px; }
.tabs { display: flex; gap: 5px; overflow-x: auto; margin-bottom: 20px; padding: 5px; border: 1px solid var(--line); border-radius: 12px; background: rgba(255,254,251,.7); scrollbar-width: none; }
.tabs::-webkit-scrollbar { display: none; }
.tab-button { min-width: max-content; padding: 10px 14px; border: 0; border-radius: 8px; color: var(--muted); background: transparent; cursor: pointer; font-size: 10px; font-weight: 750; }
.tab-button.active { color: #fff; background: var(--navy-800); box-shadow: 0 5px 12px rgba(6,24,43,.14); }
.workspace-columns { display: grid; grid-template-columns: minmax(0, 1fr) 330px; gap: 20px; align-items: start; min-width: 0; }
.workspace-columns > *, .workspace-columns .stack, .workspace-columns .card,
.workspace-columns .card-body, .workspace-columns .form-grid,
.workspace-columns .info-list, .workspace-columns .info-row { min-width: 0; }
.info-list { display: grid; gap: 0; }
.info-row { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; padding: 12px 0; border-bottom: 1px solid #ecece8; }
.info-row:last-child { border-bottom: 0; }
.info-row span { color: var(--muted); font-size: 10px; }
.info-row strong { max-width: 65%; font-size: 10px; text-align: right; }
.timeline { position: relative; display: grid; gap: 0; }
.timeline::before { content: ""; position: absolute; top: 17px; bottom: 17px; left: 9px; width: 1px; background: #d9dcd8; }
.timeline-item { position: relative; display: grid; grid-template-columns: 20px 1fr; gap: 11px; padding-bottom: 17px; }
.timeline-dot { position: relative; z-index: 1; width: 19px; height: 19px; border: 5px solid var(--paper); border-radius: 50%; background: var(--emerald-700); box-shadow: 0 0 0 1px #aebdb8; }
.timeline-item strong, .timeline-item p, .timeline-item time { display: block; margin: 0; }
.timeline-item strong { font-size: 10px; }
.timeline-item p { margin-top: 2px; color: var(--muted); font-size: 9px; }
.timeline-item time { margin-top: 4px; color: #9ca5ac; font-size: 8px; }
.message-thread { display: grid; gap: 12px; max-height: 480px; overflow-y: auto; padding-right: 5px; }
.message { max-width: 82%; padding: 11px 13px; border-radius: 12px 12px 12px 3px; background: #eef1ee; }
.message.mine { margin-left: auto; border-radius: 12px 12px 3px 12px; color: #fff; background: var(--navy-800); }
.message p { margin: 0; font-size: 10px; line-height: 1.55; }
.message-meta { display: flex; justify-content: space-between; gap: 12px; margin-top: 6px; color: #85909a; font-size: 8px; }
.message.mine .message-meta { color: #b7c9d7; }
.sr-only { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; white-space: nowrap !important; border: 0 !important; }

/* Interactive dashboard */
.stat-card-link { display: block; transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease; }
.stat-card-link:hover { z-index: 2; border-color: #b9c8c3; transform: translateY(-3px); box-shadow: 0 17px 38px rgba(6,24,43,.09); }
.stat-card-link .stat-foot { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.stat-card-link .stat-foot i { position: relative; z-index: 1; color: var(--emerald-700); font-size: 15px; font-style: normal; transition: transform .18s ease; }
.stat-card-link:hover .stat-foot i { transform: translateX(3px); }
.step { border-radius: 12px; transition: background .18s ease, transform .18s ease; }
.step:hover { background: rgba(8,112,90,.045); transform: translateY(-2px); }
.card-linkable { overflow: hidden; }
.card-footer-link { display: flex; align-items: center; justify-content: space-between; margin: 15px -20px -20px; padding: 13px 20px; border-top: 1px solid var(--line); color: var(--emerald-700); background: #fbfcf9; font-size: 10px; font-weight: 800; }
.pipeline-row { padding: 3px 0; border-radius: 6px; transition: color .15s ease, transform .15s ease; }
.pipeline-row:hover { color: var(--emerald-700); transform: translateX(2px); }

/* Premium module pages */
.module-heading { align-items: flex-end; }
.module-heading h1 { font-size: clamp(36px, 4vw, 52px); }
.module-kpis { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 14px; margin-bottom: 20px; }
.module-kpi {
    display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 14px; min-height: 124px; padding: 18px;
    border: 1px solid var(--line); border-radius: var(--radius); background: rgba(255,254,251,.86); box-shadow: var(--shadow-sm);
    transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}
a.module-kpi:hover { border-color: #b7c8c2; transform: translateY(-2px); box-shadow: 0 14px 32px rgba(6,24,43,.07); }
.module-kpi.danger { border-color: #ecd2ce; }
.module-kpi-icon { display: grid; place-items: center; width: 46px; height: 46px; border-radius: 14px; font-family: "Manrope", Inter, ui-sans-serif, sans-serif; font-size: 19px; }
.module-kpi-icon.emerald { color: var(--emerald-700); background: var(--success-soft); }
.module-kpi-icon.gold { color: var(--gold-600); background: var(--gold-100); }
.module-kpi-icon.blue { color: var(--info); background: var(--info-soft); }
.module-kpi-icon.red { color: var(--danger); background: var(--danger-soft); }
.module-kpi small, .module-kpi strong, .module-kpi em { display: block; }
.module-kpi small { color: var(--muted); font-size: 9px; font-weight: 750; letter-spacing: .06em; text-transform: uppercase; }
.module-kpi strong { margin: 2px 0; font-family: "Manrope", Inter, ui-sans-serif, sans-serif; font-size: 28px; font-weight: 600; line-height: 1.1; }
.module-kpi em { color: #87919a; font-size: 9px; font-style: normal; }
.module-card { overflow: hidden; }
.module-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 15px; padding: 15px 17px; border-bottom: 1px solid var(--line); background: #fbfaf7; }
.module-filter { display: flex; align-items: center; gap: 8px; flex: 1; }
.module-filter .search-control { max-width: 340px; }
.module-filter .select { width: auto; min-width: 145px; }
.filter-clear { color: var(--emerald-700); font-size: 10px; font-weight: 800; white-space: nowrap; }
.result-count { color: var(--muted); font-size: 10px; white-space: nowrap; }
.module-table tbody tr { transition: background .15s ease; }
.module-table tbody tr:hover { background: #fcfbf7; }
.module-table td { min-height: 68px; }
.row-action { display: inline-flex; align-items: center; gap: 7px; color: var(--emerald-700); font-size: 10px; font-weight: 800; white-space: nowrap; }
.row-action span { font-size: 14px; transition: transform .15s ease; }
.row-action:hover span { transform: translateX(3px); }
.person-cell.compact .avatar { width: 34px; height: 34px; font-size: 9px; }
.module-empty { padding: 65px 20px; }
.module-empty .button { margin-top: 17px; }
.amount-cell { color: var(--ink); font-family: "Manrope", Inter, ui-sans-serif, sans-serif; font-size: 14px !important; font-weight: 700; white-space: nowrap; }

/* Documents */
.document-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 14px; padding: 18px; }
.document-card { display: grid; grid-template-columns: 58px 1fr; gap: 15px; padding: 17px; border: 1px solid var(--line); border-radius: 13px; background: var(--paper); transition: .18s ease; }
.document-card:hover { border-color: #bac9c4; box-shadow: 0 13px 28px rgba(6,24,43,.06); transform: translateY(-2px); }
.document-icon { display: grid; place-items: center; align-self: start; width: 58px; height: 70px; border-radius: 9px 9px 14px 9px; color: #fff; background: linear-gradient(155deg, var(--navy-700), var(--navy-950)); box-shadow: 0 8px 20px rgba(6,24,43,.16); }
.document-icon span { font-size: 9px; font-weight: 850; letter-spacing: .08em; }
.document-copy { min-width: 0; }
.document-title { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; }
.document-title h3 { overflow: hidden; margin: 0; font-family: "Manrope", Inter, ui-sans-serif, sans-serif; font-size: 16px; text-overflow: ellipsis; white-space: nowrap; }
.document-title p { overflow: hidden; margin: 2px 0 0; color: var(--muted); font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
.document-meta { display: flex; gap: 12px; margin: 12px 0; color: #7b8791; font-size: 8px; text-transform: uppercase; }
.document-owner { display: flex; align-items: center; gap: 9px; padding-top: 11px; border-top: 1px solid #ecece8; }
.document-owner .avatar { width: 31px; height: 31px; font-size: 8px; }
.document-owner strong, .document-owner small { display: block; }
.document-owner strong { font-size: 10px; }
.document-owner small { color: var(--muted); font-size: 8px; }
.document-feedback { margin: 11px 0 0; padding: 9px 11px; border-radius: 8px; color: #8f342f; background: var(--danger-soft); font-size: 9px; }
.document-actions { display: flex; justify-content: flex-end; gap: 6px; margin-top: 13px; }

/* Finance */
.finance-progress-card { display: grid; grid-template-columns: 1fr minmax(280px,.65fr); align-items: center; gap: 30px; margin-bottom: 20px; padding: 21px 23px; overflow: hidden; background: linear-gradient(115deg, rgba(223,238,233,.74), rgba(255,254,251,.94)); }
.finance-progress-card h2 { margin: 2px 0 3px; font-family: "Manrope", Inter, ui-sans-serif, sans-serif; font-size: 25px; }
.finance-progress-card p { margin: 0; color: var(--muted); font-size: 10px; }
.finance-progress { display: flex; align-items: center; gap: 13px; }
.finance-progress .progress-track { flex: 1; }
.finance-progress > span { color: var(--emerald-700); font-size: 12px; font-weight: 850; }

/* Schedule */
.schedule-layout { display: grid; grid-template-columns: minmax(0,1fr) 330px; gap: 20px; align-items: start; }
.calendar-card { overflow: hidden; }
.date-jump { display: flex; gap: 7px; }
.date-jump .input { width: 145px; min-height: 34px; padding: 5px 8px; font-size: 10px; }
.week-strip { display: grid; grid-template-columns: repeat(7,1fr); padding: 15px 18px; border-bottom: 1px solid var(--line); background: #fbfaf7; }
.week-day { position: relative; display: grid; place-items: center; min-height: 78px; border-right: 1px solid #e8e8e3; border-radius: 10px; transition: .16s ease; }
.week-day:last-child { border-right: 0; }
.week-day:hover { background: #f1f7f4; }
.week-day small { color: var(--muted); font-size: 8px; text-transform: uppercase; }
.week-day strong { margin: 2px 0; font-family: "Manrope", Inter, ui-sans-serif, sans-serif; font-size: 20px; }
.week-day > span { display: grid; place-items: center; min-width: 20px; height: 20px; padding: 0 5px; border-radius: 10px; color: var(--muted); background: #eceeeb; font-size: 8px; }
.week-day.active { color: #fff; background: var(--navy-800); box-shadow: 0 9px 18px rgba(6,24,43,.14); }
.week-day.active small, .week-day.active > span { color: #d7e7ee; }
.week-day.active > span { background: rgba(255,255,255,.12); }
.week-day.today::after { content: ""; position: absolute; bottom: 6px; width: 4px; height: 4px; border-radius: 50%; background: var(--gold-500); }
.schedule-day-heading { display: flex; align-items: center; justify-content: space-between; padding: 22px 24px 12px; }
.schedule-day-heading h3 { margin: 2px 0 0; font-family: "Manrope", Inter, ui-sans-serif, sans-serif; font-size: 23px; }
.schedule-timeline { padding: 10px 24px 26px; }
.schedule-event { display: grid; grid-template-columns: 62px 17px 1fr; gap: 10px; min-height: 130px; }
.schedule-time { padding-top: 13px; text-align: right; }
.schedule-time strong, .schedule-time span { display: block; }
.schedule-time strong { font-family: "Manrope", Inter, ui-sans-serif, sans-serif; font-size: 15px; }
.schedule-time span { color: var(--muted); font-size: 8px; }
.schedule-line { position: relative; display: block; width: 1px; height: 100%; margin: 0 auto; background: #d7ddd9; }
.schedule-line::before { content: ""; position: absolute; top: 18px; left: 50%; width: 9px; height: 9px; border: 3px solid var(--paper); border-radius: 50%; background: var(--emerald-700); box-shadow: 0 0 0 1px var(--emerald-700); transform: translateX(-50%); }
.schedule-event:last-child .schedule-line { background: linear-gradient(#d7ddd9, transparent); }
.schedule-event-card { display: grid; grid-template-columns: 1fr auto; gap: 18px; margin-bottom: 15px; padding: 14px 16px; border: 1px solid var(--line); border-radius: 12px; background: #fff; }
.schedule-event-card h3 { margin: 7px 0 2px; font-family: "Manrope", Inter, ui-sans-serif, sans-serif; font-size: 17px; }
.schedule-event-card p { margin: 0; color: var(--muted); font-size: 9px; }
.schedule-person { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 9px; min-width: 245px; }
.schedule-person .avatar { width: 34px; height: 34px; font-size: 9px; }
.schedule-person strong, .schedule-person small { display: block; }
.schedule-person strong { font-size: 10px; }
.schedule-person small { color: var(--muted); font-size: 8px; }
.week-agenda-row { display: grid; grid-template-columns: 50px 1fr; gap: 12px; padding: 13px 0; border-bottom: 1px solid #ecece8; }
.week-agenda-row:last-child { border-bottom: 0; }
.week-agenda-row > div:first-child strong, .week-agenda-row > div:first-child span { display: block; }
.week-agenda-row > div:first-child strong { font-family: "Manrope", Inter, ui-sans-serif, sans-serif; font-size: 13px; }
.week-agenda-row > div:first-child span { color: var(--muted); font-size: 8px; }
.week-agenda-row a { display: block; overflow: hidden; margin-bottom: 4px; font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
.week-agenda-row time { display: inline-block; width: 35px; color: var(--emerald-700); font-weight: 800; }
.week-agenda-row .muted { font-size: 9px; }

/* Pipeline */
.pipeline-hero { display: grid; grid-template-columns: 250px 1fr; gap: 35px; margin-bottom: 18px; padding: 28px; overflow: hidden; border-radius: 18px; color: #fff; background: radial-gradient(circle at 10% 10%, rgba(16,132,107,.4), transparent 28%), linear-gradient(135deg,var(--navy-950),var(--navy-700)); box-shadow: 0 18px 45px rgba(6,24,43,.15); }
.pipeline-hero > div:first-child > strong { display: block; margin-top: 6px; color: #f0ca72; font-family: "Manrope", Inter, ui-sans-serif, sans-serif; font-size: 50px; line-height: 1; }
.pipeline-hero h2 { margin: 1px 0 7px; font-family: "Manrope", Inter, ui-sans-serif, sans-serif; font-size: 23px; font-weight: 500; }
.pipeline-hero p { margin: 0; color: #aebfcb; font-size: 10px; }
.pipeline-hero .eyebrow { color: #76c5b4; }
.pipeline-hero-track { display: grid; grid-template-columns: repeat(6,1fr); align-items: end; gap: 8px; }
.pipeline-hero-track a { position: relative; display: flex; flex-direction: column; justify-content: flex-end; min-height: 135px; padding: 12px; overflow: hidden; border: 1px solid rgba(255,255,255,.1); border-radius: 12px; background: rgba(255,255,255,.045); }
.pipeline-hero-track a::before { content: ""; position: absolute; inset: auto 0 0; height: var(--share); background: linear-gradient(rgba(21,147,120,.08),rgba(21,147,120,.35)); }
.pipeline-hero-track a:hover { border-color: rgba(240,202,114,.45); }
.pipeline-hero-track span, .pipeline-hero-track strong, .pipeline-hero-track small { position: relative; }
.pipeline-hero-track span { display: flex; align-items: center; gap: 5px; color: #c6d4de; font-size: 8px; }
.pipeline-hero-track span i { color: #e7bd5e; font-style: normal; }
.pipeline-hero-track strong { margin-top: 4px; font-family: "Manrope", Inter, ui-sans-serif, sans-serif; font-size: 24px; }
.pipeline-hero-track small { color: #88a2b3; font-size: 8px; }
.pipeline-stage-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; margin-bottom: 20px; }
.pipeline-stage-card { padding: 20px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--paper); box-shadow: var(--shadow-sm); transition: .18s ease; }
.pipeline-stage-card:hover { border-color: #afc8c0; transform: translateY(-3px); box-shadow: 0 16px 35px rgba(6,24,43,.08); }
.pipeline-stage-top { display: flex; align-items: center; justify-content: space-between; margin-bottom: 18px; }
.pipeline-stage-icon { display: grid; place-items: center; width: 41px; height: 41px; border-radius: 50%; color: var(--emerald-700); background: var(--success-soft); font-size: 14px; }
.stage-arrow { color: #9ba6ad; font-size: 17px; }
.pipeline-stage-card h2 { margin: 2px 0 5px; font-family: "Manrope", Inter, ui-sans-serif, sans-serif; font-size: 22px; }
.pipeline-stage-card > p { min-height: 43px; margin: 0; color: var(--muted); font-size: 9px; line-height: 1.55; }
.pipeline-stage-bottom { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 11px; margin-top: 17px; padding-top: 14px; border-top: 1px solid #ecece8; }
.pipeline-stage-bottom strong { font-family: "Manrope", Inter, ui-sans-serif, sans-serif; font-size: 19px; }
.pipeline-stage-bottom strong small { color: var(--muted); font-family: inherit; font-size: 9px; font-weight: 400; }
.pipeline-stage-bottom em { color: var(--emerald-700); font-size: 9px; font-style: normal; font-weight: 800; }
.module-split { display: grid; grid-template-columns: minmax(0,1.35fr) minmax(280px,.65fr); gap: 20px; align-items: start; }
.case-list-item { display: grid; grid-template-columns: auto 1fr auto 20px; align-items: center; gap: 11px; padding: 13px 18px; border-bottom: 1px solid #ecece8; }
.case-list-item:last-child { border-bottom: 0; }
.case-list-item:hover { background: #fbfcf9; }
.case-list-item .avatar { width: 36px; height: 36px; font-size: 9px; }
.case-list-item strong, .case-list-item small { display: block; }
.case-list-item strong { font-size: 10px; }
.case-list-item small, .contact-age { color: var(--muted); font-size: 8px; }
.case-list-item i { color: var(--emerald-700); font-style: normal; }
.principle-list { display: grid; gap: 17px; }
.principle-list > div { display: grid; grid-template-columns: 30px 1fr; gap: 10px; }
.principle-list > div > span { color: var(--gold-600); font-family: "Manrope", Inter, ui-sans-serif, sans-serif; font-size: 15px; }
.principle-list p { margin: 0; color: var(--muted); font-size: 9px; line-height: 1.55; }
.principle-list p strong { display: block; color: var(--ink); font-size: 10px; }

/* Stage detail */
.breadcrumb { display: flex; align-items: center; gap: 8px; margin-bottom: 13px; color: var(--muted); font-size: 9px; }
.breadcrumb a { color: var(--emerald-700); font-weight: 750; }
.stage-hero { position: relative; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 18px; overflow: hidden; margin-bottom: 14px; padding: 25px 28px; border-radius: 17px; color: #fff; background: radial-gradient(circle at 85% 20%,rgba(207,152,47,.18),transparent 24%), linear-gradient(130deg,var(--navy-950),var(--navy-700)); }
.stage-hero-icon { display: grid; place-items: center; width: 65px; height: 65px; border: 1px solid rgba(240,202,114,.35); border-radius: 50%; color: #f0ca72; background: rgba(255,255,255,.06); font-size: 23px; }
.stage-hero .eyebrow { color: #72beaD; }
.stage-hero h1 { margin: 1px 0; font-family: "Manrope", Inter, ui-sans-serif, sans-serif; font-size: 34px; font-weight: 500; }
.stage-hero p { margin: 0; color: #b8c8d2; font-size: 10px; }
.stage-hero-count { min-width: 100px; padding-left: 24px; border-left: 1px solid rgba(255,255,255,.15); text-align: center; }
.stage-hero-count strong, .stage-hero-count span { display: block; }
.stage-hero-count strong { color: #f0ca72; font-family: "Manrope", Inter, ui-sans-serif, sans-serif; font-size: 37px; }
.stage-hero-count span { color: #b8c8d2; font-size: 9px; }
.stage-nav { display: grid; grid-template-columns: repeat(6,1fr); gap: 7px; margin-bottom: 18px; padding: 7px; border: 1px solid var(--line); border-radius: 13px; background: rgba(255,254,251,.75); }
.stage-nav a { position: relative; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 7px; min-height: 45px; padding: 8px 10px; border-radius: 9px; color: var(--muted); }
.stage-nav a:hover { color: var(--ink); background: #f5f7f4; }
.stage-nav a.active { color: #fff; background: var(--navy-800); box-shadow: 0 6px 15px rgba(6,24,43,.13); }
.stage-nav a > span { font-size: 12px; }
.stage-nav a strong { font-size: 9px; }
.stage-nav a small { color: #9ba6ae; font-size: 8px; }
.stage-nav a.active small { color: #b7c9d5; }
.stage-content-grid { display: grid; grid-template-columns: minmax(0,1fr) 290px; gap: 20px; align-items: start; }
.stage-toolbar { display: flex; align-items: center; gap: 12px; margin-bottom: 13px; }
.stage-toolbar .search-control { width: min(360px,100%); }
.stage-student-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; }
.stage-student-card { padding: 18px; border: 1px solid var(--line); border-radius: 14px; background: var(--paper); box-shadow: var(--shadow-sm); transition: .18s ease; }
.stage-student-card:hover { border-color: #b4c7c1; box-shadow: 0 15px 34px rgba(6,24,43,.07); transform: translateY(-2px); }
.stage-student-head { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 10px; }
.stage-student-head .avatar { width: 42px; height: 42px; color: #fff; background: linear-gradient(145deg,var(--emerald-600),var(--navy-800)); font-family: "Manrope", Inter, ui-sans-serif, sans-serif; }
.stage-student-head h2 { margin: 0; font-family: "Manrope", Inter, ui-sans-serif, sans-serif; font-size: 16px; }
.stage-student-head p { margin: 1px 0 0; color: var(--muted); font-size: 8px; }
.stage-student-focus { margin: 14px 0; padding: 10px 12px; border-left: 2px solid var(--gold-500); border-radius: 0 8px 8px 0; background: #fbf7ed; }
.stage-student-focus span { color: var(--gold-600); font-size: 8px; font-weight: 800; text-transform: uppercase; }
.stage-student-focus p { margin: 2px 0 0; color: #5e5c55; font-size: 9px; }
.stage-signals { display: grid; grid-template-columns: repeat(3,1fr); gap: 6px; margin-bottom: 13px; }
.stage-signals div { padding: 9px; border-radius: 8px; background: #f5f6f3; }
.stage-signals small, .stage-signals strong { display: block; }
.stage-signals small { color: var(--muted); font-size: 7px; text-transform: uppercase; }
.stage-signals strong { margin-top: 2px; font-family: "Manrope", Inter, ui-sans-serif, sans-serif; font-size: 17px; }
.stage-progress > div:first-child { display: flex; justify-content: space-between; margin-bottom: 5px; color: var(--muted); font-size: 8px; }
.stage-progress > div:first-child strong { color: var(--emerald-700); }
.stage-progress .progress-track { height: 6px; }
.stage-student-foot { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: 15px; padding-top: 13px; border-top: 1px solid #ecece8; }
.stage-student-foot > span { overflow: hidden; color: var(--muted); font-size: 8px; text-overflow: ellipsis; white-space: nowrap; }
.stage-focus-card { overflow: hidden; }
.stage-focus-number { display: block; margin-bottom: 8px; color: #d8b45c; font-family: "Manrope", Inter, ui-sans-serif, sans-serif; font-size: 46px; line-height: 1; }
.stage-focus-card .card-body p { margin: 0; color: var(--muted); font-size: 10px; line-height: 1.65; }
.adjacent-stages { display: grid; gap: 8px; }
.adjacent-stages a { display: flex; justify-content: space-between; gap: 10px; padding: 10px 11px; border: 1px solid var(--line); border-radius: 9px; background: #fff; }
.adjacent-stages a:hover { border-color: #b3c8c1; }
.adjacent-stages span { color: var(--muted); font-size: 8px; }
.adjacent-stages strong { font-size: 9px; }

/* Live chat */
.chat-card { overflow: hidden; }
.live-status { display: inline-flex; align-items: center; gap: 6px; padding: 5px 9px; border-radius: 12px; color: var(--emerald-700); background: var(--success-soft); font-size: 8px; font-weight: 800; text-transform: uppercase; white-space: nowrap; }
.live-status i { width: 6px; height: 6px; border-radius: 50%; background: currentColor; box-shadow: 0 0 0 3px rgba(8,112,90,.1); }
.live-status.sending { color: var(--info); background: var(--info-soft); }
.live-status.warning { color: var(--warning); background: var(--warning-soft); }
.live-status.error { color: var(--danger); background: var(--danger-soft); }
.chat-card .message-thread { min-height: 220px; max-height: 520px; padding: 5px 4px 12px; }
.chat-card .message { max-width: min(76%,620px); padding: 12px 14px; box-shadow: 0 4px 11px rgba(6,24,43,.04); animation: messageIn .18s ease; }
.chat-card .message p { white-space: pre-wrap; overflow-wrap: anywhere; font-size: 11px; }
.chat-compose { display: grid; grid-template-columns: 1fr auto; gap: 9px; margin-top: 12px; padding: 9px; border: 1px solid var(--line-dark); border-radius: 13px; background: #fff; transition: .16s ease; }
.chat-compose:focus-within { border-color: #4b9b88; box-shadow: 0 0 0 3px rgba(10,128,103,.09); }
.chat-compose .textarea { min-height: 44px; max-height: 150px; padding: 11px; border: 0; background: transparent; box-shadow: none; resize: vertical; }
.chat-compose .button { align-self: end; min-width: 105px; }
.chat-compose .button b { font-size: 16px; font-weight: 400; }
.chat-compose .button:disabled { opacity: .6; cursor: wait; }
.chat-footnote { display: flex; justify-content: space-between; gap: 12px; margin-top: 7px; color: #8b969e; font-size: 8px; }
@keyframes messageIn { from { opacity: 0; transform: translateY(5px); } }

dialog {
    width: min(620px, calc(100vw - 28px)); max-height: calc(100vh - 40px); padding: 0; overflow: auto;
    border: 1px solid var(--line); border-radius: 17px; color: var(--ink); background: var(--paper); box-shadow: var(--shadow-lg);
}
dialog::backdrop { background: rgba(4,17,30,.64); backdrop-filter: blur(4px); }
.dialog-header { position: sticky; top: 0; z-index: 2; display: flex; align-items: center; justify-content: space-between; padding: 19px 22px; border-bottom: 1px solid var(--line); background: var(--paper); }
.dialog-header h2 { margin: 0; font-family: "Manrope", Inter, ui-sans-serif, sans-serif; font-size: 22px; font-weight: 600; }
.dialog-close { display: grid; place-items: center; width: 31px; height: 31px; border: 1px solid var(--line); border-radius: 50%; color: var(--muted); background: #fff; cursor: pointer; font-size: 18px; }
.dialog-body { padding: 22px; }

.auth-page { min-height: 100vh; color: #eef5f8; background: var(--navy-950); }
.login-shell { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(470px, .95fr); min-height: 100vh; }
.login-story {
    position: relative; display: flex; flex-direction: column; justify-content: space-between; overflow: hidden; padding: clamp(34px, 5vw, 76px);
    background:
        radial-gradient(circle at 18% 18%, rgba(21,147,120,.24), transparent 27%),
        radial-gradient(circle at 80% 75%, rgba(207,152,47,.14), transparent 30%),
        linear-gradient(145deg, #06182b, #0a2c4b);
}
.login-story::before, .login-story::after { content: ""; position: absolute; border: 1px solid rgba(255,255,255,.06); border-radius: 50%; }
.login-story::before { width: 520px; height: 520px; right: -280px; top: 70px; }
.login-story::after { width: 360px; height: 360px; left: -210px; bottom: -100px; }
.login-brand { position: relative; z-index: 1; display: flex; align-items: center; gap: 13px; }
.login-brand .brand-mark { width: 48px; height: 48px; }
.login-brand strong { display: block; font-family: "Manrope", Inter, ui-sans-serif, sans-serif; font-size: 21px; }
.login-brand span { color: #8fa7b8; font-size: 10px; letter-spacing: .12em; text-transform: uppercase; }
.login-message { position: relative; z-index: 1; max-width: 630px; margin: auto 0; padding: 60px 0; }
.login-message .eyebrow { color: #e8be5d; }
.login-message h1 { margin: 12px 0 18px; font-family: "Manrope", Inter, ui-sans-serif, sans-serif; font-size: clamp(44px, 5.7vw, 78px); font-weight: 500; letter-spacing: -.05em; line-height: .98; }
.login-message h1 em { color: #e8be5d; font-style: normal; }
.login-message p { max-width: 560px; color: #a9bdcb; font-size: clamp(14px, 1.4vw, 18px); line-height: 1.7; }
.trust-row { position: relative; z-index: 1; display: flex; gap: 28px; flex-wrap: wrap; }
.trust-item { display: flex; align-items: center; gap: 9px; color: #9eb2c1; font-size: 10px; }
.trust-item span { display: grid; place-items: center; width: 27px; height: 27px; border: 1px solid rgba(232,190,93,.35); border-radius: 50%; color: #e8be5d; }
.login-panel { display: grid; place-items: center; padding: 34px; color: var(--ink); background: var(--cream); }
.login-card { width: min(420px, 100%); }
.login-card .eyebrow { margin-bottom: 8px; }
.login-card h2 { margin: 0; font-family: "Manrope", Inter, ui-sans-serif, sans-serif; font-size: 36px; font-weight: 600; letter-spacing: -.03em; }
.login-card > p { margin: 8px 0 30px; color: var(--muted); font-size: 12px; }
.login-card form { display: grid; gap: 17px; }
.login-card .input { min-height: 50px; padding: 13px 14px; border-radius: 10px; }
.login-card .button { min-height: 50px; margin-top: 5px; }
.login-meta { display: flex; justify-content: space-between; align-items: center; margin-top: -4px; }
.login-help { margin-top: 24px; padding-top: 20px; border-top: 1px solid var(--line); color: var(--muted); font-size: 10px; text-align: center; }
.login-help a { color: var(--emerald-700); font-weight: 750; }

@media (max-width: 1180px) {
    .stats-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .student-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .workspace-columns { grid-template-columns: minmax(0, 1fr); }
    .module-kpis { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .document-grid { grid-template-columns: 1fr; }
    .pipeline-hero { grid-template-columns: 200px 1fr; gap: 20px; }
    .pipeline-hero-track { grid-template-columns: repeat(3,1fr); }
    .pipeline-hero-track a { min-height: 90px; }
    .stage-nav { grid-template-columns: repeat(3,1fr); }
    .stage-content-grid { grid-template-columns: 1fr; }
    .stage-aside { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 960px) {
    :root { --sidebar: 270px; }
    .sidebar { transform: translateX(-102%); transition: transform .24s ease; }
    .nav-open .sidebar { transform: translateX(0); }
    .sidebar-overlay { position: fixed; inset: 0; z-index: 35; display: block; border: 0; background: rgba(4,17,30,.52); opacity: 0; visibility: hidden; transition: .2s ease; }
    .nav-open .sidebar-overlay { opacity: 1; visibility: visible; }
    .main-panel { margin-left: 0; }
    .mobile-menu { display: grid; width: 38px; height: 38px; padding: 10px; border: 1px solid var(--line); border-radius: 10px; background: var(--paper); cursor: pointer; }
    .mobile-menu span { display: block; height: 2px; border-radius: 2px; background: var(--navy-800); }
    .topbar-context { margin-right: auto; margin-left: 13px; }
    .dashboard-grid { grid-template-columns: 1fr; }
    .schedule-layout, .module-split { grid-template-columns: 1fr; }
    .week-agenda-card { display: none; }
    .pipeline-stage-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .pipeline-hero { grid-template-columns: 1fr; }
    .login-shell { grid-template-columns: 1fr; }
    .login-story { min-height: 390px; padding: 38px; }
    .login-message { padding: 50px 0 20px; }
    .login-message h1 { font-size: 48px; }
    .login-message p { margin-bottom: 0; }
    .trust-row { display: none; }
    .login-panel { min-height: 580px; }
}
@media (max-width: 700px) {
    body { font-size: 14px; }
    .topbar { height: 66px; padding: 0 15px; }
    .topbar-context .eyebrow, .topbar-user { display: none; }
    .topbar-context strong { font-size: 12px; }
    .page-wrap { padding: 23px 15px 55px; }
    .page-heading { display: block; margin-bottom: 20px; }
    .page-heading h1 { font-size: 30px; }
    .page-heading p { font-size: 12px; }
    .heading-actions { margin-top: 16px; }
    .heading-actions .button { flex: 1; }
    .module-heading h1 { font-size: 36px; }
    .module-kpis { grid-template-columns: 1fr 1fr; gap: 9px; }
    .module-kpi { grid-template-columns: 1fr; align-items: start; min-height: 140px; padding: 14px; }
    .module-kpi-icon { width: 36px; height: 36px; border-radius: 11px; font-size: 15px; }
    .module-kpi strong { font-size: 23px; }
    .module-toolbar { align-items: stretch; flex-direction: column; }
    .module-filter { align-items: stretch; flex-direction: column; }
    .module-filter .search-control, .module-filter .select { width: 100%; max-width: none; }
    .result-count { padding-left: 2px; }
    .document-grid { padding: 10px; }
    .document-card { grid-template-columns: 45px 1fr; gap: 11px; padding: 13px; }
    .document-icon { width: 45px; height: 57px; }
    .document-title { display: block; }
    .document-title .pill { margin-top: 7px; }
    .document-meta { flex-wrap: wrap; gap: 6px 10px; }
    .document-actions { justify-content: flex-start; flex-wrap: wrap; }
    .finance-progress-card { grid-template-columns: 1fr; gap: 18px; }
    .date-jump { align-items: stretch; width: 100%; }
    .date-jump .input { flex: 1; width: auto; }
    .calendar-card .card-header { align-items: flex-start; flex-direction: column; }
    .week-strip { overflow-x: auto; grid-template-columns: repeat(7,75px); padding: 10px; }
    .week-day { min-height: 69px; }
    .schedule-day-heading { padding: 18px 15px 10px; }
    .schedule-day-heading h3 { font-size: 19px; }
    .schedule-timeline { padding: 7px 15px 20px; }
    .schedule-event { grid-template-columns: 45px 12px 1fr; gap: 7px; }
    .schedule-time strong { font-size: 12px; }
    .schedule-event-card { grid-template-columns: 1fr; gap: 12px; padding: 12px; }
    .schedule-person { min-width: 0; }
    .pipeline-hero { padding: 21px; }
    .pipeline-hero-track { grid-template-columns: repeat(2,1fr); }
    .pipeline-stage-grid { grid-template-columns: 1fr; }
    .module-split { gap: 14px; }
    .case-list-item { grid-template-columns: auto 1fr 15px; padding: 12px 14px; }
    .case-list-item .contact-age { display: none; }
    .stage-hero { grid-template-columns: auto 1fr; padding: 20px; }
    .stage-hero-icon { width: 50px; height: 50px; }
    .stage-hero h1 { font-size: 27px; }
    .stage-hero-count { grid-column: 1 / -1; display: flex; align-items: baseline; justify-content: space-between; padding: 11px 0 0; border-top: 1px solid rgba(255,255,255,.15); border-left: 0; text-align: left; }
    .stage-hero-count strong { font-size: 27px; }
    .stage-nav { display: flex; overflow-x: auto; }
    .stage-nav a { flex: 0 0 125px; }
    .stage-student-grid { grid-template-columns: 1fr; }
    .stage-aside { grid-template-columns: 1fr; }
    .stage-student-foot { align-items: stretch; flex-direction: column; }
    .stage-student-foot .button { width: 100%; }
    .chat-card .message { max-width: 88%; }
    .chat-compose { grid-template-columns: 1fr; }
    .chat-compose .button { width: 100%; }
    .chat-footnote span:last-child { display: none; }
    .stats-grid { grid-template-columns: 1fr 1fr; gap: 10px; }
    .stat-card { min-height: 132px; padding: 15px; }
    .stat-head { gap: 8px; font-size: 9px; }
    .stat-icon { width: 32px; height: 32px; font-size: 14px; }
    .stat-value { margin-top: 10px; font-size: 24px; }
    .stat-foot { font-size: 8px; }
    .card-header { min-height: 60px; padding: 14px 15px; }
    .card-header h2, .card-header h3 { font-size: 18px; }
    .card-body { padding: 15px; }
    .journey-card { padding: 18px 8px 16px; }
    .hero-action { grid-template-columns: 53px 1fr; gap: 13px; padding: 18px 15px; }
    .hero-icon { width: 53px; height: 53px; font-size: 21px; }
    .hero-copy h2 { font-size: 22px; }
    .hero-copy .button { min-height: 37px; }
    .hero-due { grid-column: 1 / -1; display: flex; align-items: center; justify-content: space-between; padding: 12px 0 0; border-top: 1px solid #b9d7ce; border-left: 0; text-align: left; }
    .hero-due strong { font-size: 17px; }
    .payment-summary strong { font-size: 17px; }
    .consultant-card { align-items: flex-start; flex-wrap: wrap; }
    .consultant-card .button { width: 100%; margin-left: 0; }
    .student-grid { grid-template-columns: 1fr; }
    .toolbar, .search-form { align-items: stretch; flex-direction: column; }
    .search-control, .filter-select { width: 100%; max-width: none; }
    .workspace-header { grid-template-columns: 1fr; padding: 17px; }
    .workspace-person .avatar { width: 48px; height: 48px; }
    .workspace-person h1 { font-size: 22px; }
    .workspace-summary { justify-content: space-between; padding-top: 14px; border-top: 1px solid var(--line); }
    .workspace-summary > div { min-width: 0; }
    .form-grid, .form-grid.three { grid-template-columns: 1fr; }
    .field.full { grid-column: auto; }
    .dialog-body { padding: 17px; }
    .tabs { margin-right: -15px; margin-left: -15px; border-right: 0; border-left: 0; border-radius: 0; padding-left: 15px; }
    .data-table td, .data-table th { padding-right: 12px; padding-left: 12px; }
    .login-story { min-height: 330px; padding: 25px; }
    .login-message { padding: 45px 0 10px; }
    .login-message h1 { margin-top: 8px; font-size: 37px; }
    .login-message p { font-size: 13px; }
    .login-panel { min-height: 520px; padding: 35px 20px; }
    .login-card h2 { font-size: 31px; }
    .flash { top: 76px; right: 18px; }
}

/* Reliability and security command centre */
.security-heading { align-items:flex-end; }
.security-heading-actions { display:flex;align-items:center;gap:9px;flex-wrap:wrap; }
.security-heading-actions form { display:flex; }
.security-hero {
    position:relative;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:25px;align-items:center;
    min-height:180px;margin-bottom:18px;padding:28px 32px;overflow:hidden;border:1px solid rgba(255,255,255,.1);
    border-radius:20px;color:#fff;background:
        radial-gradient(circle at 82% -20%,rgba(220,179,83,.25),transparent 34%),
        radial-gradient(circle at 7% 130%,rgba(26,147,116,.3),transparent 35%),
        linear-gradient(125deg,#06182b,#0a3148 62%,#0c4b44);
    box-shadow:0 23px 55px rgba(4,24,40,.16);
}
.security-hero::after { content:"";position:absolute;right:14%;top:-70px;width:180px;height:260px;border:1px solid rgba(255,255,255,.08);border-radius:50%;transform:rotate(34deg); }
.security-score {
    --score:0;position:relative;z-index:1;display:grid;place-items:center;width:112px;height:112px;border-radius:50%;
    background:conic-gradient(#d8b45c calc(var(--score) * 1%),rgba(255,255,255,.11) 0);
}
.security-score::before { content:"";position:absolute;inset:7px;border-radius:50%;background:#092c40;box-shadow:inset 0 0 25px rgba(0,0,0,.25); }
.security-score > div { position:relative;text-align:center; }
.security-score strong { font-family: "Manrope", Inter, ui-sans-serif, sans-serif;font-size:35px;font-weight:500;line-height:1; }
.security-score span { color:#a9bdc8;font-size:10px; }
.security-hero-copy { position:relative;z-index:1; }
.security-hero-copy .eyebrow { color:#dbbc71; }
.security-hero-copy h2 { margin:5px 0 5px;font-family: "Manrope", Inter, ui-sans-serif, sans-serif;font-size:27px;font-weight:500;letter-spacing:-.025em; }
.security-hero-copy p { margin:0;color:#adbec8;font-size:10px; }
.security-hero-seal { position:relative;z-index:1;display:grid;justify-items:center;gap:7px;min-width:125px;padding-left:25px;border-left:1px solid rgba(255,255,255,.13); }
.security-hero-seal span { display:grid;place-items:center;width:52px;height:52px;border:1px solid rgba(221,188,111,.5);border-radius:50%;color:#e2c277;font-family: "Manrope", Inter, ui-sans-serif, sans-serif;font-size:18px;box-shadow:0 0 0 5px rgba(221,188,111,.06); }
.security-hero-seal small { color:#aebfc9;font-size:7px;font-weight:750;letter-spacing:.1em;text-transform:uppercase; }
.security-hero-critical { background:radial-gradient(circle at 82% -20%,rgba(193,74,63,.35),transparent 34%),linear-gradient(125deg,#1e1720,#3f2027 62%,#58302e); }
.security-check-grid { display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-bottom:18px; }
.security-check { display:grid;grid-template-columns:auto 1fr;gap:10px;min-height:124px;padding:15px;border:1px solid var(--line);border-radius:14px;background:rgba(255,254,251,.82);box-shadow:var(--shadow-sm); }
.security-check-icon { display:grid;place-items:center;width:29px;height:29px;border-radius:9px;color:var(--emerald-700);background:var(--success-soft);font-size:12px;font-weight:800; }
.security-check small,.security-check h3,.security-check p { display:block;margin:0; }
.security-check small { color:#8a969e;font-size:6px;font-weight:800;letter-spacing:.08em;text-transform:uppercase; }
.security-check h3 { margin:3px 0 5px;font-family: "Manrope", Inter, ui-sans-serif, sans-serif;font-size:13px;line-height:1.2; }
.security-check p { color:var(--muted);font-size:8px;line-height:1.45; }
.security-check-warning { border-color:#ead9af;background:#fffdf7; }
.security-check-warning .security-check-icon { color:var(--gold-600);background:var(--warning-soft); }
.security-check-fail { border-color:#e8c7c3;background:#fffaf9; }
.security-check-fail .security-check-icon { color:var(--danger);background:var(--danger-soft); }
.security-kpis .health-time { font-size:17px; }
.security-layout { display:grid;grid-template-columns:minmax(0,1.55fr) minmax(320px,.75fr);gap:17px;align-items:start;margin-bottom:18px; }
.security-ledger { min-width:0; }
.security-live { display:inline-flex;align-items:center;gap:6px;color:var(--emerald-700);font-size:8px;font-weight:800;letter-spacing:.08em;text-transform:uppercase; }
.security-live i { width:7px;height:7px;border-radius:50%;background:#24a27c;box-shadow:0 0 0 4px rgba(36,162,124,.11); }
.security-ledger .data-table td { vertical-align:top; }
.security-ledger td strong,.security-hash { display:block; }
.security-ledger td strong { font-size:9px;text-transform:capitalize; }
.security-hash { margin-top:3px;color:#9aa3aa;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:7px; }
.security-request { display:block;max-width:210px;overflow:hidden;color:#53616b;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:7px;text-overflow:ellipsis;white-space:nowrap; }
.security-pill-info,.security-pill-notice { color:var(--emerald-700);background:var(--success-soft); }
.security-pill-warning { color:var(--warning);background:var(--warning-soft); }
.security-pill-critical { color:var(--danger);background:var(--danger-soft); }
.security-side { display:grid;gap:17px; }
.security-session-list,.security-failure-list { padding:2px 18px 12px; }
.security-session { display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center;padding:14px 0;border-bottom:1px solid var(--line); }
.security-session:last-child { border:0; }
.security-session .avatar { width:34px;height:34px;font-size:8px; }
.security-session strong,.security-session span,.security-session small { display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
.security-session strong { font-size:9px; }
.security-session span { margin-top:2px;color:var(--muted);font-size:7px; }
.security-session small { max-width:190px;margin-top:3px;color:#9aa3aa;font-size:6px; }
.danger-link { color:var(--danger);font-size:8px;white-space:nowrap; }
.empty-copy { padding:22px 4px;color:var(--muted);font-size:9px;text-align:center; }
.security-failure-list > article { display:flex;justify-content:space-between;gap:12px;align-items:center;padding:13px 0;border-bottom:1px solid var(--line); }
.security-failure-list > article:last-child { border:0; }
.security-failure-list strong,.security-failure-list span,.security-failure-list small { display:block; }
.security-failure-list strong { font-size:9px; }
.security-failure-list span,.security-failure-list small { color:var(--muted);font-size:7px; }
.security-empty-state { padding:24px 8px 28px;text-align:center; }
.security-empty-state span { display:grid;place-items:center;width:43px;height:43px;margin:0 auto 10px;border-radius:50%;color:var(--emerald-700);background:var(--success-soft);font-size:17px; }
.security-empty-state strong { display:block;font-family: "Manrope", Inter, ui-sans-serif, sans-serif;font-size:14px; }
.security-empty-state p { margin:3px 0 0;color:var(--muted);font-size:8px; }

@media (max-width: 1280px) {
    .security-check-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
    .security-layout { grid-template-columns:1fr; }
    .security-side { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width: 800px) {
    .security-heading-actions,.security-heading-actions .button,.security-heading-actions form { width:100%; }
    .security-heading-actions .button { flex:1; }
    .security-hero { grid-template-columns:auto 1fr;padding:23px 20px; }
    .security-hero-seal { display:none; }
    .security-score { width:90px;height:90px; }
    .security-score strong { font-size:27px; }
    .security-hero-copy h2 { font-size:22px; }
    .security-check-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .security-side { grid-template-columns:1fr; }
}
@media (max-width: 520px) {
    .security-hero { grid-template-columns:1fr; }
    .security-score { width:78px;height:78px; }
    .security-check-grid { grid-template-columns:1fr; }
    .security-check { min-height:0; }
    .security-session { grid-template-columns:auto minmax(0,1fr); }
    .security-session form { grid-column:2; }
}
@media (max-width: 420px) {
    .stats-grid { grid-template-columns: 1fr; }
    .stat-card { min-height: 120px; }
    .module-kpis { grid-template-columns: 1fr; }
    .module-kpi { grid-template-columns: auto 1fr; min-height: 112px; }
    .pipeline-hero-track { grid-template-columns: 1fr 1fr; }
    .topbar-actions { gap: 7px; }
    .topbar-avatar { padding: 0; }
    .topbar-avatar .avatar { width: 36px; height: 36px; }
}
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; animation: none !important; }
}

/* Operational CRM controls */
.nav-list { overflow-y: auto; scrollbar-width: thin; }
.nav-label-spaced { margin-top: 22px; }
.row-action-button, .link-button {
    padding: 0; border: 0; color: var(--emerald-700); background: transparent; cursor: pointer;
}
.row-action-button:hover, .link-button:hover { color: var(--navy-900); }
.inline-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 9px; }
.split-actions { grid-template-columns: auto 1fr auto auto; }
.checkbox-field { display: flex; align-items: end; padding-bottom: 11px; }
.checkbox-field label { display: flex; align-items: center; gap: 8px; cursor: pointer; }
.subsection-divider { height: 1px; background: var(--line); }
.compact-drop { min-height: 92px; padding: 15px; }
.upload-progress {
    position: relative; height: 28px; margin-top: 10px; overflow: hidden; border: 1px solid #cbded8;
    border-radius: 8px; color: var(--emerald-800); background: #eef6f3;
}
.upload-progress i { position: absolute; inset: 0 auto 0 0; width: 0; background: #cde8df; transition: width .18s ease; }
.upload-progress span { position: relative; z-index: 1; display: grid; place-items: center; height: 100%; font-size: 10px; font-weight: 800; }
.upload-progress.error { border-color: #e7bab5; color: var(--danger); background: var(--danger-soft); }
.is-submitting { opacity: .7; cursor: wait; }
.balance-stack { display: flex; flex-wrap: wrap; gap: 3px 10px; font-size: 23px; }
.inline-flash { position: static; width: 100%; margin: 0 0 18px; padding: 12px 14px; border-radius: 10px; font-size: 11px; }
.flash-success.inline-flash { border: 1px solid #b9d7ce; color: var(--emerald-800); background: var(--success-soft); }
.login-meta a { color: var(--emerald-700); font-size: 10px; font-weight: 750; }
.message-attachment {
    display: flex; align-items: center; justify-content: space-between; gap: 15px; margin-top: 8px; padding: 10px 12px;
    border: 1px solid rgba(7,112,90,.18); border-radius: 9px; color: var(--emerald-800); background: rgba(255,255,255,.72);
    font-size: 10px; font-weight: 750;
}
.message-attachment span { color: var(--muted); font-weight: 600; }
.chat-compose { grid-template-columns: 1fr auto auto; }
.chat-attach {
    display: grid; place-items: center; width: 43px; height: 43px; align-self: end; border: 1px solid var(--line-dark);
    border-radius: 10px; color: var(--emerald-700); background: #fff; cursor: pointer;
}
.chat-attach input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.chat-attach span { font-size: 21px; }
.inbox-layout { display: grid; grid-template-columns: minmax(270px, 340px) minmax(0, 1fr); gap: 20px; align-items: start; }
.conversation-list { position: sticky; top: 94px; overflow: hidden; }
.conversation-scroll { max-height: calc(100vh - 215px); overflow-y: auto; }
.conversation-item {
    display: grid; grid-template-columns: auto 1fr auto; gap: 11px; padding: 14px 16px; border-bottom: 1px solid var(--line);
    transition: .18s ease;
}
.conversation-item:hover, .conversation-item.active { background: #f0f6f4; }
.conversation-item > span:nth-child(2) { min-width: 0; }
.conversation-item strong, .conversation-item small, .conversation-item time { display: block; }
.conversation-item strong { font-size: 12px; }
.conversation-item small { overflow: hidden; color: var(--muted); font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.conversation-item time { margin-top: 4px; color: #8a95a2; font-size: 8px; }
.conversation-item b { display: grid; place-items: center; min-width: 20px; height: 20px; border-radius: 20px; color: #fff; background: var(--emerald-700); font-size: 9px; }
.inbox-student-head { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-bottom: 12px; }
.inbox-student-head h2 { margin: 2px 0 0; font-family: "Manrope", Inter, ui-sans-serif, sans-serif; font-size: 25px; }
.activity-ledger-row {
    display: grid; grid-template-columns: auto minmax(0,1fr) minmax(150px,auto); gap: 14px; align-items: center;
    padding: 15px 20px; border-top: 1px solid var(--line);
}
.activity-ledger-row:hover { background: #fbfcfa; }
.activity-icon { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 10px; color: var(--emerald-700); background: var(--emerald-100); }
.activity-ledger-row strong, .activity-ledger-row small, .activity-ledger-row time { display: block; }
.activity-ledger-row small, .activity-ledger-row time { color: var(--muted); font-size: 10px; }
.activity-ledger-row > span:last-child { text-align: right; }
.global-search-card { display: grid; grid-template-columns: auto 1fr auto; gap: 10px; align-items: center; margin-bottom: 20px; padding: 14px; }
.global-search-card > span { padding-left: 8px; color: var(--emerald-700); font-size: 22px; }
.search-result-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; }
.search-group { padding-bottom: 10px; overflow: hidden; }
.search-group > a, .search-group > p { display: block; padding: 12px 18px; border-top: 1px solid var(--line); }
.search-group > a:hover { background: #f3f7f5; }
.search-group > a strong, .search-group > a span { display: block; }
.search-group > a span { color: var(--muted); font-size: 10px; }
.health-time { font-size: 18px !important; }
.receipt-page { min-height: 100vh; padding: 40px; background: #edf1ee; }
.receipt-sheet { max-width: 760px; margin: auto; padding: 58px; border-radius: 18px; background: #fff; box-shadow: var(--shadow-lg); }
.receipt-sheet header { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; padding-bottom: 35px; border-bottom: 1px solid var(--line); }
.receipt-sheet header > div:last-child { text-align: right; }
.receipt-sheet header > div:last-child span, .receipt-sheet header > div:last-child strong { display: block; }
.receipt-sheet section { padding: 38px 0 20px; }
.receipt-sheet h1 { margin: 5px 0; font-family: "Manrope", Inter, ui-sans-serif, sans-serif; font-size: 34px; }
.receipt-amount { padding: 28px; border-radius: 15px; color: #fff; background: var(--navy-900); }
.receipt-amount span, .receipt-amount strong { display: block; }
.receipt-amount strong { margin-top: 5px; font-family: "Manrope", Inter, ui-sans-serif, sans-serif; font-size: 36px; color: #f1c96e; }
.receipt-sheet dl { margin: 28px 0; }
.receipt-sheet dl div { display: flex; justify-content: space-between; gap: 30px; padding: 14px 0; border-bottom: 1px solid var(--line); }
.receipt-sheet dt { color: var(--muted); }
.receipt-sheet dd { margin: 0; font-weight: 700; text-align: right; }
.receipt-sheet footer { display: flex; align-items: center; justify-content: space-between; gap: 25px; margin-top: 35px; }
.receipt-sheet footer p { max-width: 430px; color: var(--muted); font-size: 11px; }
@media (max-width: 850px) {
    .inbox-layout, .search-result-grid { grid-template-columns: 1fr; }
    .conversation-list { position: static; }
    .conversation-scroll { max-height: 330px; }
}
@media (max-width: 700px) {
    .split-actions { display: flex; flex-wrap: wrap; }
    .split-actions > span { display: none; }
    .split-actions .button { flex: 1 1 45%; }
    .activity-ledger-row { grid-template-columns: auto 1fr; padding: 13px 14px; }
    .activity-ledger-row > span:last-child { grid-column: 2; text-align: left; }
    .global-search-card { grid-template-columns: 1fr; }
    .global-search-card > span { display: none; }
    .chat-compose { grid-template-columns: 1fr auto; }
    .chat-compose .textarea { grid-column: 1 / -1; }
    .chat-compose .button { width: auto; }
    .receipt-page { padding: 0; }
    .receipt-sheet { padding: 28px 20px; border-radius: 0; }
    .receipt-sheet header, .receipt-sheet footer { align-items: flex-start; flex-direction: column; }
    .receipt-sheet header > div:last-child { text-align: left; }
}
@media print {
    .receipt-page { padding: 0; background: #fff; }
    .receipt-sheet { max-width: none; padding: 20px; box-shadow: none; }
    .no-print { display: none !important; }
}

/* Growth platform */
.lead-board {
    display: grid; grid-template-columns: repeat(6, minmax(245px, 1fr)); gap: 14px; overflow-x: auto;
    padding: 2px 2px 18px; scroll-snap-type: x proximity;
}
.lead-column { min-height: 500px; padding: 12px; border: 1px solid var(--line); border-radius: 16px; background: rgba(239,241,237,.7); scroll-snap-align: start; }
.lead-column > header { display: flex; align-items: center; justify-content: space-between; min-height: 39px; padding: 0 3px 10px; }
.lead-column > header > strong { color: var(--muted); font-size: 11px; }
.lead-stack { display: grid; gap: 10px; }
.lead-card {
    padding: 15px; border: 1px solid #dcdfda; border-radius: 13px; background: var(--paper); box-shadow: 0 5px 16px rgba(6,24,43,.045);
    transition: .18s ease;
}
.lead-card:hover { border-color: #b7cec7; transform: translateY(-2px); box-shadow: 0 12px 26px rgba(6,24,43,.07); }
.lead-card-top, .lead-meta, .lead-followup { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.lead-card .avatar { width: 32px; height: 32px; }
.lead-card h3 { margin: 11px 0 2px; font-family: "Manrope", Inter, ui-sans-serif, sans-serif; font-size: 18px; }
.lead-card > p { min-height: 32px; margin: 0; color: var(--muted); font-size: 10px; }
.lead-meta { margin: 13px 0; padding: 10px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); font-size: 10px; text-transform: capitalize; }
.lead-meta strong { color: var(--gold-600); }
.lead-followup { margin-bottom: 10px; font-size: 9px; }
.lead-followup span, .lead-card > small { color: var(--muted); }
.lead-followup.overdue strong { color: var(--danger); }
.lead-empty { display: grid; min-height: 80px; place-items: center; border: 1px dashed #cfd5d0; border-radius: 11px; color: #8a948f; font-size: 10px; }
.dialog-section { border-top: 1px solid var(--line); background: #fbfcfa; }
.dialog-section h3 { margin: 4px 0; font-family: "Manrope", Inter, ui-sans-serif, sans-serif; font-size: 21px; }
.compound-input { display: flex; gap: 7px; }
.compound-input > * { min-width: 0; }
.compound-input .select { flex: 0 0 105px; }
.compound-input .input { flex: 1; }
.check-field, .consent-check { display: flex; align-items: flex-start; gap: 9px; color: var(--muted); cursor: pointer; font-size: 11px; }
.check-field input, .consent-check input { margin-top: 3px; accent-color: var(--emerald-700); }

.template-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 18px; }
.template-card { overflow: hidden; padding: 22px; border: 1px solid var(--line); border-radius: 17px; background: var(--paper); box-shadow: var(--shadow-sm); }
.template-card.is-muted { opacity: .68; }
.template-card > header { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.template-country { color: var(--emerald-700); font-size: 9px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.template-card h2 { margin: 15px 0 5px; font-family: "Manrope", Inter, ui-sans-serif, sans-serif; font-size: 23px; }
.template-card > p { min-height: 44px; margin: 0; color: var(--muted); font-size: 11px; }
.template-stats { display: grid; grid-template-columns: repeat(3,1fr); margin: 19px 0; border: 1px solid var(--line); border-radius: 11px; }
.template-stats div { padding: 11px; text-align: center; }
.template-stats div + div { border-left: 1px solid var(--line); }
.template-stats strong, .template-stats span { display: block; }
.template-stats strong { font-family: "Manrope", Inter, ui-sans-serif, sans-serif; font-size: 20px; }
.template-stats span { color: var(--muted); font-size: 8px; text-transform: uppercase; }
.template-steps { min-height: 175px; margin: 0; padding: 0; list-style: none; }
.template-steps li { display: grid; grid-template-columns: auto 1fr auto; gap: 10px; align-items: center; padding: 9px 0; border-top: 1px solid #eeefec; }
.template-steps strong, .template-steps small { display: block; }
.template-steps strong { font-size: 11px; }
.template-steps small { color: var(--muted); font-size: 9px; }
.step-type { display: grid; place-items: center; width: 27px; height: 27px; border-radius: 8px; font-size: 11px; }
.step-type.task { color: var(--emerald-700); background: var(--success-soft); }
.step-type.document { color: var(--info); background: var(--info-soft); }
.step-type.milestone { color: var(--gold-600); background: var(--gold-100); }
.template-actions { display: flex; gap: 8px; padding-top: 15px; border-top: 1px solid var(--line); }

.invoice-layout, .contract-layout { display: grid; grid-template-columns: minmax(0,1.65fr) minmax(280px,.55fr); gap: 22px; align-items: start; }
.invoice-paper, .contract-paper { min-height: 720px; padding: clamp(25px,4vw,55px); border: 1px solid var(--line); border-radius: 18px; background: #fff; box-shadow: 0 18px 50px rgba(6,24,43,.07); }
.invoice-brand, .contract-paper > header { display: flex; align-items: center; gap: 12px; padding-bottom: 24px; border-bottom: 2px solid var(--emerald-700); }
.invoice-brand > div:nth-child(2), .contract-paper > header > div:nth-child(2) { flex: 1; }
.invoice-brand strong, .invoice-brand span:not(.pill), .contract-paper header strong, .contract-paper header span { display: block; }
.invoice-brand strong, .contract-paper header strong { font-family: "Manrope", Inter, ui-sans-serif, sans-serif; font-size: 23px; }
.invoice-brand span:not(.pill), .contract-paper header span { color: var(--emerald-700); font-size: 8px; letter-spacing: .13em; text-transform: uppercase; }
.invoice-parties { display: grid; grid-template-columns: 1fr 1fr; gap: 30px; margin: 35px 0; }
.invoice-parties > div:last-child { text-align: right; }
.invoice-parties span, .invoice-note span, .contract-meta > span { color: var(--muted); font-size: 8px; font-weight: 800; letter-spacing: .12em; }
.invoice-parties strong, .contract-meta strong { display: block; margin-top: 6px; font-family: "Manrope", Inter, ui-sans-serif, sans-serif; font-size: 17px; }
.invoice-parties p, .contract-meta p { margin: 4px 0 0; color: var(--muted); font-size: 10px; }
.invoice-table { width: 100%; border-collapse: collapse; }
.invoice-table th { padding: 11px; color: #fff; background: var(--navy-900); font-size: 9px; text-align: left; text-transform: uppercase; }
.invoice-table th:not(:first-child), .invoice-table td:not(:first-child) { text-align: right; }
.invoice-table td { padding: 14px 11px; border-bottom: 1px solid var(--line); font-size: 11px; }
.invoice-totals { width: min(360px,100%); margin: 25px 0 25px auto; }
.invoice-totals div { display: flex; justify-content: space-between; gap: 20px; padding: 7px 0; font-size: 11px; }
.invoice-totals .grand { margin-top: 6px; padding-top: 12px; border-top: 2px solid var(--emerald-700); font-size: 16px; }
.invoice-note { margin-top: 18px; padding: 15px; border-left: 3px solid var(--gold-500); background: #fffbf1; }
.invoice-note p { margin: 5px 0 0; font-size: 10px; }
.action-stack { display: grid; gap: 10px; }
.completion-seal { display: grid; justify-items: center; gap: 5px; padding: 22px; color: var(--emerald-700); }
.completion-seal > span { display: grid; place-items: center; width: 56px; height: 56px; border-radius: 50%; color: #fff; background: var(--emerald-700); font-size: 25px; }
.completion-seal strong { font-family: "Manrope", Inter, ui-sans-serif, sans-serif; font-size: 22px; }
.completion-seal small { color: var(--muted); }

.contract-meta { margin: 30px 0; padding: 16px; border-radius: 11px; background: #f3f6f3; }
.contract-copy { color: #27384b; font-family: "Manrope", Inter, ui-sans-serif, sans-serif; font-size: 13px; line-height: 1.9; white-space: normal; }
.contract-consent { margin-top: 30px; padding: 18px; border-left: 3px solid var(--gold-500); background: #fff9ec; font-size: 11px; }
.contract-consent p { margin-bottom: 0; }
.signature-certificate { display: grid; grid-template-columns: 1fr 2fr auto; gap: 20px; align-items: center; margin-top: 32px; padding: 22px; border: 1px solid #a8d1c5; border-radius: 13px; background: #edf8f4; }
.signature-script { color: var(--emerald-700); font-family: "Brush Script MT",cursive; font-size: 30px; font-style: italic; }
.signature-certificate p { margin: 3px 0 0; color: var(--muted); font-size: 8px; word-break: break-all; }
.signature-seal { display: grid; place-items: center; width: 45px; height: 45px; border-radius: 50%; color: #fff; background: var(--emerald-700); }
.signature-input { color: var(--emerald-700); font-family: "Manrope", Inter, ui-sans-serif, sans-serif; font-size: 21px; font-style: italic; }
.consent-check { margin: 17px 0; padding: 14px; border: 1px solid var(--line); border-radius: 10px; background: #fafaf7; }
.contract-editor { min-height: 300px; font-family: "Manrope", Inter, ui-sans-serif, sans-serif; line-height: 1.7; }

.integration-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 15px; margin-bottom: 20px; }
.integration-card { display: grid; grid-template-columns: auto 1fr; gap: 14px; align-items: start; padding: 20px; border: 1px solid var(--line); border-radius: 15px; background: var(--paper); box-shadow: var(--shadow-sm); }
.integration-card > .pill { grid-column: 1/-1; justify-self: start; }
.integration-icon { display: grid; place-items: center; width: 46px; height: 46px; border-radius: 13px; font-family: "Manrope", Inter, ui-sans-serif, sans-serif; font-weight: 800; }
.integration-icon.whatsapp { color: #08705a; background: #dff3e9; }
.integration-icon.sms { color: #245f8f; background: #e6f0f8; }
.integration-icon.stripe { color: #4f46a5; background: #eceaff; }
.integration-icon.ocr { color: #9b6711; background: var(--gold-100); }
.integration-card h2 { margin: 2px 0 4px; font-family: "Manrope", Inter, ui-sans-serif, sans-serif; font-size: 19px; }
.integration-card p { margin: 0; color: var(--muted); font-size: 10px; }
.integration-settings { margin-bottom: 20px; }
.settings-section { display: grid; grid-template-columns: minmax(180px,.55fr) minmax(0,1.45fr); gap: 28px; padding: 24px 0; border-bottom: 1px solid var(--line); }
.settings-section:first-child { padding-top: 0; }
.settings-copy h3 { margin: 0 0 5px; font-family: "Manrope", Inter, ui-sans-serif, sans-serif; font-size: 19px; }
.settings-copy p { margin: 0; color: var(--muted); font-size: 10px; }

.calendar-hero { display: grid; grid-template-columns: auto 1fr; gap: 30px; align-items: center; margin-bottom: 20px; padding: 30px; background: linear-gradient(115deg,#eff8f4,#fffefb 70%); }
.calendar-visual { display: grid; place-items: center; width: 125px; height: 125px; overflow: hidden; border: 1px solid #cbded8; border-radius: 23px; background: #fff; box-shadow: var(--shadow-sm); }
.calendar-visual::before { content:""; align-self: start; width: 100%; height: 20px; background: var(--emerald-700); }
.calendar-visual span { font-family: "Manrope", Inter, ui-sans-serif, sans-serif; font-size: 48px; line-height: .8; }
.calendar-visual small { color: var(--gold-600); font-weight: 800; text-transform: uppercase; }
.calendar-hero h2 { margin: 4px 0; font-family: "Manrope", Inter, ui-sans-serif, sans-serif; font-size: 29px; }
.calendar-hero p { max-width: 750px; color: var(--muted); font-size: 11px; }
.calendar-url { display: grid; grid-template-columns: 1fr auto; gap: 8px; margin: 18px 0 12px; }
.calendar-steps { display: grid; grid-template-columns: repeat(3,1fr); gap: 15px; margin-bottom: 20px; }
.calendar-steps article { position: relative; padding: 23px 20px 20px 68px; border: 1px solid var(--line); border-radius: 14px; background: var(--paper); }
.calendar-steps article > span { position: absolute; left: 20px; display: grid; place-items: center; width: 33px; height: 33px; border-radius: 10px; color: #fff; background: var(--navy-900); font-family: "Manrope", Inter, ui-sans-serif, sans-serif; }
.calendar-steps h3 { margin: 0 0 4px; font-family: "Manrope", Inter, ui-sans-serif, sans-serif; }
.calendar-steps p { margin: 0; color: var(--muted); font-size: 10px; }

.report-filters { display: grid; grid-template-columns: repeat(4,minmax(150px,1fr)) auto; align-items: end; }
.analytics-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; }
.chart-list { display: grid; gap: 13px; }
.chart-row { display: grid; grid-template-columns: 105px 1fr 28px; gap: 12px; align-items: center; font-size: 10px; text-transform: capitalize; }
.chart-row > div { height: 9px; overflow: hidden; border-radius: 8px; background: #ebede9; }
.chart-row i { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg,var(--emerald-700),#4eac92); }
.chart-row i.gold-bar { background: linear-gradient(90deg,var(--gold-600),#e1b450); }
.donut-summary { display: grid; grid-template-columns: 160px 1fr; gap: 30px; align-items: center; }
.donut { --value:0; display: grid; place-items: center; width: 150px; height: 150px; border-radius: 50%; background: conic-gradient(var(--emerald-700) calc(var(--value)*1%),#e9ece8 0); }
.donut::before { content:""; grid-area:1/1; width: 108px; height: 108px; border-radius: 50%; background: var(--paper); }
.donut strong, .donut span { position: relative; grid-area:1/1; }
.donut strong { margin-bottom: 17px; font-family: "Manrope", Inter, ui-sans-serif, sans-serif; font-size: 26px; }
.donut span { margin-top: 25px; color: var(--muted); font-size: 9px; }
.legend-list { display: grid; gap: 9px; }
.legend-list > div { display: grid; grid-template-columns: auto 1fr auto; gap: 8px; align-items: center; font-size: 10px; text-transform: capitalize; }
.legend-dot { width: 7px; height: 7px; border-radius: 50%; background: var(--emerald-700); }
.tone-1 { background: var(--gold-500); }.tone-2 { background: var(--info); }.tone-3 { background: var(--danger); }
.workload-list { display: grid; gap: 16px; }
.workload-row { display: grid; grid-template-columns: 150px 1fr 45px; gap: 12px; align-items: center; }
.workload-row strong, .workload-row span { display: block; font-size: 10px; }
.workload-row span { color: var(--muted); }
.report-note { grid-column: 1/-1; margin-top: 20px; border-left: 4px solid var(--gold-500); }

.capacity-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 16px; margin-bottom: 20px; }
.capacity-card { padding: 22px; border: 1px solid var(--line); border-radius: 16px; background: var(--paper); box-shadow: var(--shadow-sm); }
.capacity-card.capacity-risk { border-color: #e4aaa5; background: linear-gradient(145deg,#fff,#fff7f6); }
.capacity-card > header { display: flex; justify-content: space-between; align-items: center; }
.capacity-card h2 { margin: 14px 0 2px; font-family: "Manrope", Inter, ui-sans-serif, sans-serif; font-size: 20px; }
.capacity-card > p { margin: 0; color: var(--muted); font-size: 10px; }
.capacity-number { margin: 20px 0 8px; }
.capacity-number strong { font-family: "Manrope", Inter, ui-sans-serif, sans-serif; font-size: 32px; }
.capacity-number span { color: var(--muted); font-size: 10px; }
.assignment-row { display: grid; grid-template-columns: 1fr minmax(180px,.7fr) auto; gap: 10px; align-items: center; padding: 12px 0; border-bottom: 1px solid var(--line); }
.assignment-row strong, .assignment-row span { display: block; }
.assignment-row strong { font-size: 11px; }
.assignment-row span { color: var(--muted); font-size: 9px; }

.privacy-banner { display: grid; grid-template-columns: auto 1fr; gap: 20px; align-items: center; margin-bottom: 20px; padding: 24px; border: 1px solid #bed9d0; border-radius: 16px; background: linear-gradient(120deg,#eaf6f2,#fffefb); }
.privacy-shield { display: grid; place-items: center; width: 65px; height: 65px; border-radius: 18px; color: #fff; background: var(--emerald-700); font-size: 30px; }
.privacy-banner h2 { margin: 3px 0; font-family: "Manrope", Inter, ui-sans-serif, sans-serif; font-size: 24px; }
.privacy-banner p { margin: 0; color: var(--muted); font-size: 11px; }
.privacy-actions { display: grid; grid-template-columns: repeat(3,1fr); gap: 15px; margin-bottom: 20px; }
.privacy-actions article { padding: 18px; border: 1px solid var(--line); border-radius: 12px; }
.privacy-actions article > span { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 9px; color: var(--emerald-700); background: var(--success-soft); }
.privacy-actions h3 { margin: 10px 0 3px; font-family: "Manrope", Inter, ui-sans-serif, sans-serif; }
.privacy-actions p { margin: 0; color: var(--muted); font-size: 10px; }

.completeness-card { overflow: hidden; }
.readiness-score { display: grid; place-items: center; min-width: 60px; height: 60px; border: 6px solid var(--gold-100); border-radius: 50%; color: var(--gold-600); font-family: "Manrope", Inter, ui-sans-serif, sans-serif; font-size: 17px; }
.readiness-score.ready { border-color: #cae9de; color: var(--emerald-700); }
.completeness-summary { display: grid; grid-template-columns: repeat(3,1fr); margin-bottom: 18px; border: 1px solid var(--line); border-radius: 11px; }
.completeness-summary div { padding: 13px; text-align: center; }
.completeness-summary div + div { border-left: 1px solid var(--line); }
.completeness-summary strong, .completeness-summary span { display: block; }
.completeness-summary strong { font-family: "Manrope", Inter, ui-sans-serif, sans-serif; font-size: 22px; }
.completeness-summary span { color: var(--muted); font-size: 8px; text-transform: uppercase; }
.requirement-list { display: grid; gap: 8px; }
.requirement-row { display: grid; grid-template-columns: auto 1fr auto; gap: 11px; align-items: center; padding: 11px; border: 1px solid var(--line); border-radius: 10px; }
.requirement-status { display: grid; place-items: center; width: 30px; height: 30px; border-radius: 9px; color: var(--warning); background: var(--warning-soft); font-weight: 800; }
.requirement-status.approved { color: var(--emerald-700); background: var(--success-soft); }
.requirement-status.changes_requested { color: var(--danger); background: var(--danger-soft); }
.requirement-row strong, .requirement-row span { display: block; }
.requirement-row strong { font-size: 11px; }
.requirement-row span { color: var(--muted); font-size: 9px; text-transform: capitalize; }
.requirement-row form { display: flex; gap: 6px; }
.requirement-row form .select { min-height: 34px; width: 145px; padding: 5px 8px; }
.assistant-signals { display: grid; gap: 7px; margin-top: 16px; }
.assistant-signal { display: grid; grid-template-columns: minmax(110px,.4fr) 1fr; gap: 10px; padding: 10px 12px; border-radius: 8px; color: var(--info); background: var(--info-soft); font-size: 9px; }
.assistant-signal.warning { color: var(--warning); background: var(--warning-soft); }
.assistant-signal.danger { color: var(--danger); background: var(--danger-soft); }
.assistant-signal.success { color: var(--emerald-700); background: var(--success-soft); }
.portal-document-link { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 11px; border: 1px solid var(--line); border-radius: 9px; }
.portal-document-link:hover { border-color: #a9cfc3; background: #f5faf8; }
.portal-document-link strong, .portal-document-link small { display: block; }
.portal-document-link strong { font-size: 10px; }
.portal-document-link small { color: var(--muted); font-size: 9px; text-transform: capitalize; }
.privacy-mini { display: grid; gap: 10px; margin-top: 22px; padding-top: 18px; border-top: 1px solid var(--line); }
.privacy-mini p { margin: 0; color: var(--muted); font-size: 10px; }
.privacy-mini .link-button { justify-self: center; }
.ocr-status { padding: 3px 0; }
.ocr-status > strong { display: block; margin: 4px 0; font-family: "Manrope", Inter, ui-sans-serif, sans-serif; font-size: 18px; }
.ocr-status > p { max-height: 110px; overflow: auto; margin: 0 0 12px; padding: 11px; border: 1px solid var(--line); border-radius: 9px; color: var(--muted); background: #fafbf8; font-size: 9px; white-space: pre-wrap; }
.ocr-progress { position: relative; height: 28px; margin-top: 10px; overflow: hidden; border: 1px solid #cbded8; border-radius: 8px; background: #eef6f3; }
.ocr-progress i { position: absolute; inset: 0 auto 0 0; width: 0; background: #cde8df; transition: width .18s ease; }
.ocr-progress span { position: relative; z-index: 1; display: grid; place-items: center; height: 100%; color: var(--emerald-800); font-size: 9px; font-weight: 800; }

@media (max-width: 1180px) {
    .template-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .integration-grid, .capacity-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 900px) {
    .invoice-layout, .contract-layout, .settings-section { grid-template-columns: 1fr; }
    .report-filters { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .analytics-grid { grid-template-columns: 1fr; }
    .invoice-paper, .contract-paper { min-height: auto; }
}
@media (max-width: 700px) {
    .template-grid, .integration-grid, .capacity-grid, .calendar-steps, .privacy-actions { grid-template-columns: 1fr; }
    .calendar-hero { grid-template-columns: 1fr; padding: 20px; }
    .calendar-visual { width: 90px; height: 90px; }
    .calendar-visual span { font-size: 34px; }
    .calendar-url, .report-filters { grid-template-columns: 1fr; }
    .invoice-paper, .contract-paper { padding: 20px 15px; border-radius: 12px; }
    .invoice-parties { grid-template-columns: 1fr; gap: 15px; }
    .invoice-parties > div:last-child { text-align: left; }
    .signature-certificate { grid-template-columns: 1fr; }
    .donut-summary { grid-template-columns: 1fr; }
    .workload-row { grid-template-columns: 110px 1fr; }
    .workload-row > strong { grid-column: 2; }
    .assignment-row { grid-template-columns: 1fr; }
    .privacy-banner { grid-template-columns: 1fr; }
    .requirement-row { grid-template-columns: auto 1fr; }
    .requirement-row form { grid-column: 1/-1; }
    .assistant-signal { grid-template-columns: 1fr; }
    .invoice-table { min-width: 580px; }
}

/* Premium operations layer */
.metric-strip { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 14px; margin-bottom: 20px; }
.metric-card { display: grid; grid-template-columns: auto 1fr; gap: 13px; align-items: center; min-height: 112px; padding: 20px; border: 1px solid var(--line); border-radius: 16px; background: var(--paper); box-shadow: var(--shadow-sm); transition: .18s ease; }
.metric-card:hover { border-color: #b7cbc5; transform: translateY(-2px); box-shadow: 0 15px 35px rgba(6,24,43,.07); }
.metric-card small,.metric-card strong,.metric-card em { display: block; }
.metric-card small { color: var(--muted); font-size: 8px; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.metric-card strong { margin: 2px 0; font-family: "Manrope", Inter, ui-sans-serif, sans-serif; font-size: 29px; line-height: 1; }
.metric-card em { color: #89939c; font-size: 9px; font-style: normal; }
.metric-icon { display: grid; place-items: center; width: 45px; height: 45px; border-radius: 14px; font-family: "Manrope", Inter, ui-sans-serif, sans-serif; font-size: 19px; }
.metric-emerald { color: var(--emerald-700); background: var(--success-soft); }
.metric-gold { color: var(--gold-600); background: var(--gold-100); }
.metric-blue { color: var(--info); background: var(--info-soft); }
.metric-rose { color: var(--danger); background: var(--danger-soft); }
.danger-icon { color: var(--danger); background: var(--danger-soft); }
.dialog-wide { width: min(900px,calc(100vw - 28px)); }
.table-readiness { display: flex; align-items: center; gap: 8px; min-width: 105px; }
.table-readiness > span { width: 62px; height: 6px; overflow: hidden; border-radius: 5px; background: #e7ebe7; }
.table-readiness i { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg,var(--emerald-700),#56ad94); }
.table-readiness strong { color: var(--emerald-700); font-size: 9px; }
.case-launch-mini { display: grid; grid-template-columns: repeat(4,1fr); gap: 6px; margin-top: 13px; }
.case-launch-mini span { padding: 8px; border-radius: 8px; color: var(--emerald-700); background: var(--success-soft); font-size: 8px; font-weight: 800; text-align: center; }

/* Case launch wizard */
.launch-layout { display: grid; grid-template-columns: minmax(0,1.65fr) minmax(280px,.55fr); gap: 22px; align-items: start; }
.launch-main { overflow: hidden; }
.launch-steps { display: grid; grid-template-columns: repeat(4,1fr); padding: 20px 25px; border-bottom: 1px solid var(--line); background: #fbfbf8; }
.launch-step { position: relative; display: grid; justify-items: center; gap: 6px; border: 0; color: #8b959c; background: transparent; cursor: pointer; font-size: 9px; }
.launch-step:not(:last-child)::after { content:""; position:absolute; top:14px; left:calc(50% + 20px); width:calc(100% - 40px); height:1px; background:#d7dcd8; }
.launch-step span { position: relative; z-index: 1; display: grid; place-items: center; width: 29px; height: 29px; border: 1px solid #cbd2cf; border-radius: 50%; background: #fff; font-family: "Manrope", Inter, ui-sans-serif, sans-serif; }
.launch-step.active { color: var(--emerald-700); }
.launch-step.active span { border-color: var(--emerald-700); color: #fff; background: var(--emerald-700); box-shadow: 0 0 0 5px var(--success-soft); }
.launch-step.complete span { border-color: #8fbcae; color: var(--emerald-700); background: var(--success-soft); }
.launch-panel { min-height: 510px; padding: 34px; }
.launch-panel-heading { margin-bottom: 26px; }
.launch-panel-heading h2 { margin: 4px 0; font-family: "Manrope", Inter, ui-sans-serif, sans-serif; font-size: 29px; font-weight: 600; letter-spacing: -.02em; }
.launch-panel-heading p { margin: 0; color: var(--muted); font-size: 11px; }
.workflow-choice-grid { display: grid; gap: 11px; }
.workflow-choice { position: relative; display: grid; grid-template-columns: auto 1fr auto; gap: 14px; align-items: center; padding: 18px; border: 1px solid var(--line); border-radius: 13px; cursor: pointer; transition: .16s ease; }
.workflow-choice:hover { border-color: #a9c8bf; background: #fbfdfa; }
.workflow-choice > input { position: absolute; opacity: 0; pointer-events: none; }
.workflow-choice:has(input:checked) { border-color: var(--emerald-700); background: #f1f9f6; box-shadow: 0 0 0 3px rgba(8,112,90,.06); }
.workflow-choice-mark { display: grid; place-items: center; width: 45px; height: 45px; border-radius: 12px; color: var(--emerald-700); background: var(--success-soft); font-size: 19px; }
.workflow-choice strong,.workflow-choice small,.workflow-choice em { display: block; }
.workflow-choice strong { font-family: "Manrope", Inter, ui-sans-serif, sans-serif; font-size: 16px; }
.workflow-choice small { color: var(--emerald-700); font-size: 8px; text-transform: uppercase; }
.workflow-choice em { margin-top: 4px; color: var(--muted); font-size: 9px; font-style: normal; }
.workflow-choice > i { opacity: 0; color: var(--emerald-700); font-size: 9px; font-style: normal; font-weight: 800; }
.workflow-choice:has(input:checked) > i { opacity: 1; }
.launch-options { display: grid; grid-template-columns: repeat(3,1fr); gap: 10px; margin: 20px 0; }
.launch-options label { position: relative; cursor: pointer; }
.launch-options input { position: absolute; opacity: 0; }
.launch-options label > span { display: grid; gap: 3px; height: 100%; padding: 15px; border: 1px solid var(--line); border-radius: 12px; background: #fff; }
.launch-options input:checked + span { border-color: #8dc0b1; background: #eef8f4; box-shadow: inset 0 0 0 1px #8dc0b1; }
.launch-options b { display: grid; place-items: center; width: 29px; height: 29px; margin-bottom: 7px; border-radius: 9px; color: var(--emerald-700); background: var(--success-soft); font-family: "Manrope", Inter, ui-sans-serif, sans-serif; }
.launch-options strong { font-size: 10px; }
.launch-options small { color: var(--muted); font-size: 8px; }
.launch-detail { margin-top: 12px; padding: 18px; border: 1px solid var(--line); border-radius: 12px; background: #fafbf8; }
.launch-detail .contract-editor { min-height: 160px; }
.launch-confirmation { display: grid; grid-template-columns: auto 1fr; gap: 15px; align-items: center; margin-top: 23px; padding: 18px; border: 1px solid #b9d9cf; border-radius: 13px; background: linear-gradient(110deg,#edf8f4,#fffefb); }
.launch-confirm-icon { display: grid; place-items: center; width: 45px; height: 45px; border-radius: 50%; color: #fff; background: var(--emerald-700); }
.launch-confirmation strong { font-family: "Manrope", Inter, ui-sans-serif, sans-serif; font-size: 16px; }
.launch-confirmation p { margin: 3px 0 0; color: var(--muted); font-size: 9px; }
.launch-footer { display: grid; grid-template-columns: auto 1fr auto auto; gap: 9px; align-items: center; padding: 18px 25px; border-top: 1px solid var(--line); background: #fbfbf8; }
.launch-submit { background: linear-gradient(110deg,var(--emerald-700),#064d40); }
.launch-preview { position: sticky; top: 98px; overflow: hidden; padding: 27px; border-radius: 18px; color: #f7fbff; background: radial-gradient(circle at 80% 10%,rgba(207,152,47,.2),transparent 30%),linear-gradient(145deg,var(--navy-950),var(--navy-700)); box-shadow: 0 22px 45px rgba(6,24,43,.18); text-align: center; }
.launch-preview .eyebrow { color: #d9b45b; }
.launch-avatar { display: grid; place-items: center; width: 72px; height: 72px; margin: 23px auto 10px; border: 1px solid rgba(240,202,114,.5); border-radius: 50%; color: #f0ca72; background: rgba(255,255,255,.07); font-family: "Manrope", Inter, ui-sans-serif, sans-serif; font-size: 25px; }
.launch-preview h2 { margin: 0; font-family: "Manrope", Inter, ui-sans-serif, sans-serif; font-size: 25px; }
.launch-preview > p { margin: 2px 0 23px; color: #aabfcd; font-size: 9px; }
.launch-summary-list { display: grid; text-align: left; }
.launch-summary-list div { display: grid; grid-template-columns: 65px 1fr auto; gap: 9px; align-items: center; padding: 11px 0; border-top: 1px solid rgba(255,255,255,.1); }
.launch-summary-list span { color: #8fa8b8; font-size: 8px; text-transform: uppercase; }
.launch-summary-list strong { overflow: hidden; font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
.launch-summary-list i { color: #69bea4; font-size: 9px; font-style: normal; }
.launch-assurance { display: grid; grid-template-columns: auto 1fr; gap: 11px; align-items: center; padding: 17px; }
.launch-assurance > span { display: grid; place-items: center; width: 36px; height: 36px; border-radius: 10px; background: var(--gold-100); }
.launch-assurance strong { font-size: 10px; }
.launch-assurance p { margin: 2px 0 0; color: var(--muted); font-size: 8px; }

/* Student action centre */
.student-action-centre { width:100%; max-width:100%; min-width:0; overflow: hidden; border: 1px solid #173e56; border-radius: 18px; color: #fff; background: radial-gradient(circle at 85% 5%,rgba(207,152,47,.17),transparent 28%),linear-gradient(130deg,var(--navy-950),#0d3b56); box-shadow: 0 20px 45px rgba(6,24,43,.14); }
.dashboard-grid { grid-template-columns:minmax(0,1fr) minmax(260px,300px); }
.dashboard-grid > .stack { min-width:0;grid-template-columns:minmax(0,1fr); }
.action-centre-top { display: grid; grid-template-columns: 1fr auto; gap: 26px; align-items: center; padding: 28px; }
.action-centre-primary { min-width:0; display: grid; grid-template-columns: auto minmax(0,1fr); gap: 18px; align-items: start; }
.action-centre-icon { display: grid; place-items: center; width: 57px; height: 57px; border: 1px solid rgba(240,202,114,.4); border-radius: 16px; color: #f0ca72; background: rgba(255,255,255,.06); font-family: "Manrope", Inter, ui-sans-serif, sans-serif; font-size: 24px; }
.action-centre-primary .eyebrow { color: #66baa1; }
.action-centre-primary h2 { overflow-wrap:anywhere; margin: 3px 0; font-family: "Manrope", Inter, ui-sans-serif, sans-serif; font-size: 25px; font-weight: 500; }
.action-centre-primary p { max-width: 610px; margin: 0 0 15px; color: #afc1cd; font-size: 10px; }
.action-centre-primary .button { min-height: 38px; color: var(--navy-950); background: #e8bb55; box-shadow: none; }
.action-readiness { min-width: 120px; padding-left: 24px; border-left: 1px solid rgba(255,255,255,.13); text-align: center; }
.action-readiness-ring { --value:0; display: grid; place-items: center; width: 95px; height: 95px; margin: auto; border-radius: 50%; background: conic-gradient(#dfad41 calc(var(--value)*1%),rgba(255,255,255,.12) 0); }
.action-readiness-ring::before { content:""; grid-area:1/1; width: 77px; height: 77px; border-radius: 50%; background:#0a2942; }
.action-readiness-ring strong,.action-readiness-ring span { position:relative; grid-area:1/1; }
.action-readiness-ring strong { margin-bottom: 14px; color:#f0ca72; font-family: "Manrope", Inter, ui-sans-serif, sans-serif;font-size:22px; }
.action-readiness-ring span { margin-top:25px;color:#a9bdc9;font-size:7px;text-transform:uppercase; }
.action-readiness > p { margin: 8px 0 0; color: #86adac; font-size: 8px; }
.action-queue { display: grid; border-top: 1px solid rgba(255,255,255,.1); background: rgba(0,0,0,.08); }
.action-queue a { display: grid; grid-template-columns: auto 1fr auto auto; gap: 12px; align-items: center; padding: 13px 20px; border-bottom: 1px solid rgba(255,255,255,.07); transition:.16s ease; }
.action-queue a:last-child { border-bottom: 0; }
.action-queue a:hover { background: rgba(255,255,255,.05); }
.action-queue a > span { display:grid;place-items:center;width:30px;height:30px;border-radius:9px;color:#9bcabb;background:rgba(71,168,139,.14); }
.action-queue strong,.action-queue small { display:block; }
.action-queue strong { font-size:10px; }
.action-queue small { color:#95aab8;font-size:8px; }
.action-queue time { color:#e5bd61;font-size:8px;font-weight:800;text-transform:uppercase; }
.action-queue b { color:#9bb4c4;font-size:16px;font-weight:400; }

/* Application rooms */
.application-room-hero { display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:18px;padding:28px;border:1px solid #143d54;border-radius:19px;color:#fff;background:radial-gradient(circle at 90% 10%,rgba(207,152,47,.18),transparent 30%),linear-gradient(130deg,var(--navy-950),#0b3855);box-shadow:0 18px 42px rgba(6,24,43,.12); }
.application-room-identity { display:grid;grid-template-columns:auto 1fr;gap:17px;align-items:center; }
.room-back { grid-column:1/-1;color:#92acba;font-size:9px; }
.room-back:hover { color:#fff; }
.room-university-mark { display:grid;place-items:center;width:63px;height:63px;border:1px solid rgba(238,194,93,.42);border-radius:17px;color:#efc968;background:rgba(255,255,255,.06);font-family: "Manrope", Inter, ui-sans-serif, sans-serif;font-size:28px; }
.application-room-identity .eyebrow { color:#64b69e; }
.application-room-identity h1 { margin:1px 0;font-family: "Manrope", Inter, ui-sans-serif, sans-serif;font-size:31px;font-weight:500; }
.application-room-identity p { margin:0;color:#a9bdc9;font-size:10px; }
.room-hero-actions { display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end; }
.room-hero-actions .button-secondary { border-color:rgba(255,255,255,.25);color:#fff;background:rgba(255,255,255,.06); }
.room-metrics { display:grid;grid-template-columns:repeat(4,1fr);gap:13px;margin-bottom:20px; }
.room-metrics article { display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:center;padding:17px;border:1px solid var(--line);border-radius:14px;background:var(--paper);box-shadow:var(--shadow-sm); }
.room-metrics small,.room-metrics strong { display:block; }
.room-metrics small { color:var(--muted);font-size:8px;text-transform:uppercase; }
.room-metrics strong { font-family: "Manrope", Inter, ui-sans-serif, sans-serif;font-size:22px; }
.room-metrics p { grid-column:2;margin:-2px 0 0;color:var(--muted);font-size:8px; }
.room-metric-icon { display:grid;place-items:center;width:40px;height:40px;border-radius:12px;font-family: "Manrope", Inter, ui-sans-serif, sans-serif; }
.room-metric-icon.emerald { color:var(--emerald-700);background:var(--success-soft); }
.room-metric-icon.gold { color:var(--gold-600);background:var(--gold-100); }
.room-metric-icon.blue { color:var(--info);background:var(--info-soft); }
.room-metric-icon.rose { color:var(--danger);background:var(--danger-soft); }
.mini-progress { grid-column:1/-1;height:5px;overflow:hidden;border-radius:5px;background:#e9ece8; }
.mini-progress i { display:block;height:100%;background:linear-gradient(90deg,var(--emerald-700),#58ae96); }
.application-room-layout { display:grid;grid-template-columns:minmax(0,1.55fr) minmax(275px,.45fr);gap:20px;align-items:start; }
.room-checklist-body { padding:0 20px 20px; }
.room-check-item { display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:13px;align-items:center;padding:15px 0;border-top:1px solid var(--line); }
.room-check-state { display:grid;place-items:center;width:34px;height:34px;border:1px solid #cfd6d2;border-radius:50%;color:#7b898d;background:#fff;font-family: "Manrope", Inter, ui-sans-serif, sans-serif;font-size:11px; }
.room-check-item.completed .room-check-state { border-color:#8ec1b2;color:#fff;background:var(--emerald-700); }
.room-check-item.blocked .room-check-state { border-color:#e2a9a5;color:var(--danger);background:var(--danger-soft); }
.room-check-copy > div { display:flex;align-items:center;gap:7px;flex-wrap:wrap; }
.room-check-copy strong { font-size:11px; }
.room-check-copy p { margin:3px 0 0;color:var(--muted);font-size:8px;text-transform:capitalize; }
.required-mark { color:var(--gold-600);font-size:7px;font-weight:800;text-transform:uppercase; }
.room-check-action { display:flex;gap:6px;align-items:center; }
.room-check-action .select { min-width:115px;min-height:34px;padding:6px 8px;font-size:9px; }
.room-team-status { color:var(--muted);font-size:8px;text-transform:capitalize; }
.room-file-grid { display:grid;grid-template-columns:repeat(2,1fr);gap:10px;padding:0 20px 20px; }
.room-file { display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;gap:10px;align-items:center;padding:13px;border:1px solid var(--line);border-radius:11px;background:#fbfcfa; }
.room-file-icon { display:grid;place-items:center;width:38px;height:45px;border-radius:7px;color:var(--info);background:var(--info-soft);font-size:8px;font-weight:800; }
.room-file strong,.room-file small { display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
.room-file strong { font-size:10px; }
.room-file small { color:var(--muted);font-size:8px; }
.room-file > a { color:var(--emerald-700);font-size:17px; }
.room-task { display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:11px;align-items:center;padding:11px 0;border-bottom:1px solid var(--line); }
.room-task:last-child { border-bottom:0; }
.priority-dot { width:8px;height:8px;border-radius:50%;background:#9ba5a8; }
.priority-dot.high { background:var(--gold-500); }
.priority-dot.urgent { background:var(--danger); }
.priority-dot.low { background:var(--info); }
.room-task strong,.room-task small { display:block; }
.room-task strong { font-size:10px; }
.room-task small { color:var(--muted);font-size:8px; }
.room-score { --score:0;display:grid;place-items:center;width:140px;height:140px;margin:6px auto 16px;border-radius:50%;background:conic-gradient(var(--emerald-700) calc(var(--score)*1%),#e8ece8 0); }
.room-score::before { content:"";grid-area:1/1;width:108px;height:108px;border-radius:50%;background:var(--paper); }
.room-score > div { position:relative;grid-area:1/1;text-align:center; }
.room-score strong,.room-score span { display:block; }
.room-score strong { font-family: "Manrope", Inter, ui-sans-serif, sans-serif;font-size:29px; }
.room-score span { color:var(--muted);font-size:8px;text-transform:uppercase; }
.room-status-card { padding:24px;text-align:center; }
.room-status-card h3 { margin:0;font-family: "Manrope", Inter, ui-sans-serif, sans-serif;font-size:19px; }
.room-status-card > p { margin:4px auto 18px;color:var(--muted);font-size:9px; }
.room-people { display:grid;gap:13px; }
.room-people > div { display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:center; }
.room-people strong,.room-people small { display:block; }
.room-people strong { font-size:10px; }
.room-people small { color:var(--muted);font-size:8px; }
.room-interview { padding:22px;color:#fff;background:linear-gradient(135deg,var(--emerald-800),#0a3650); }
.room-interview .eyebrow { color:#e7bd5c; }
.room-interview strong { display:block;margin:7px 0 0;font-family: "Manrope", Inter, ui-sans-serif, sans-serif;font-size:28px; }
.room-interview p { margin:0;color:#b4c8d1;font-size:9px; }
.room-note { margin:0;color:var(--muted);font-family: "Manrope", Inter, ui-sans-serif, sans-serif;font-size:11px;line-height:1.7;white-space:pre-wrap; }
.room-check-options { display:flex;align-items:center;gap:18px; }

/* Automation studio */
.automation-explainer { display:grid;grid-template-columns:1fr auto 1fr auto 1fr;gap:18px;align-items:center;margin-bottom:20px;padding:24px;border:1px solid #1d465c;border-radius:17px;color:#fff;background:linear-gradient(125deg,var(--navy-950),#0c3b56); }
.automation-explainer > div { display:grid;gap:2px; }
.automation-explainer > div > span { color:#d8ad4b;font-size:8px;font-weight:800;letter-spacing:.12em; }
.automation-explainer strong { font-family: "Manrope", Inter, ui-sans-serif, sans-serif;font-size:15px; }
.automation-explainer small { color:#9cb1be;font-size:8px; }
.automation-explainer > i { color:#6eb69f;font-size:20px;font-style:normal; }
.automation-layout { display:grid;grid-template-columns:minmax(0,1.45fr) minmax(270px,.55fr);gap:20px;align-items:start;margin-bottom:20px; }
.automation-rule-list { padding:0 20px 20px; }
.automation-rule { display:grid;grid-template-columns:55px minmax(0,1fr) 80px auto;gap:15px;align-items:center;padding:18px 0;border-top:1px solid var(--line); }
.automation-rule.paused { opacity:.6; }
.automation-rule-status { text-align:center; }
.automation-rule-status i { display:block;width:10px;height:10px;margin:0 auto 5px;border-radius:50%;background:#18a079;box-shadow:0 0 0 5px var(--success-soft); }
.automation-rule-status span { color:var(--emerald-700);font-size:7px;font-weight:900; }
.automation-rule.paused .automation-rule-status i { background:#9ba3a5;box-shadow:0 0 0 5px #eff0ed; }
.automation-rule.paused .automation-rule-status span { color:var(--muted); }
.automation-rule h3 { margin:0 0 6px;font-family: "Manrope", Inter, ui-sans-serif, sans-serif;font-size:16px; }
.automation-flow-mini { display:flex;align-items:center;gap:6px;flex-wrap:wrap; }
.automation-flow-mini span { padding:5px 7px;border-radius:7px;color:#34546a;background:#eef4f7;font-size:8px;text-transform:capitalize; }
.automation-flow-mini span b { margin-right:4px;color:var(--emerald-700);text-transform:uppercase; }
.automation-flow-mini i { color:#91a19e;font-size:9px;font-style:normal; }
.automation-rule-main > p { margin:6px 0 0;color:var(--muted);font-size:8px; }
.automation-rule-stats { text-align:center; }
.automation-rule-stats strong,.automation-rule-stats span,.automation-rule-stats small { display:block; }
.automation-rule-stats strong { font-family: "Manrope", Inter, ui-sans-serif, sans-serif;font-size:22px; }
.automation-rule-stats span { color:var(--muted);font-size:7px;text-transform:uppercase; }
.automation-rule-stats small { margin-top:4px;color:#9ca5a9;font-size:7px; }
.automation-rule-actions { display:flex;gap:6px;align-items:center; }
.automation-rule-actions .icon-button { width:34px;height:34px;font-size:17px; }
.automation-safety { padding:24px; }
.automation-shield { display:grid;place-items:center;width:54px;height:54px;border-radius:16px;color:#fff;background:var(--emerald-700);font-size:25px; }
.automation-safety h3 { margin:15px 0 3px;font-family: "Manrope", Inter, ui-sans-serif, sans-serif;font-size:20px; }
.automation-safety > p { margin:0 0 17px;color:var(--muted);font-size:9px; }
.automation-safety > div { display:flex;justify-content:space-between;gap:10px;padding:8px 0;border-top:1px solid var(--line);font-size:8px; }
.automation-safety > div span { color:var(--muted); }
.automation-safety > div strong { color:var(--emerald-700); }
.automation-ideas { display:grid;gap:11px; }
.automation-ideas > div { display:grid;grid-template-columns:auto 1fr;gap:9px;align-items:start; }
.automation-ideas > div > span { display:grid;place-items:center;width:31px;height:31px;border-radius:9px;color:var(--gold-600);background:var(--gold-100); }
.automation-ideas p { margin:0;color:var(--muted);font-size:8px; }
.automation-ideas strong { display:block;color:var(--ink);font-size:9px; }
.automation-builder { display:grid;gap:12px;margin-top:18px; }
.automation-builder > section { display:grid;grid-template-columns:auto minmax(140px,.45fr) minmax(0,1fr);gap:14px;align-items:center;padding:17px;border:1px solid var(--line);border-radius:12px;background:#fbfcfa; }
.automation-builder-number { display:grid;place-items:center;width:34px;height:34px;border-radius:50%;color:#fff;background:var(--navy-800);font-family: "Manrope", Inter, ui-sans-serif, sans-serif; }
.automation-builder h3 { margin:1px 0;font-family: "Manrope", Inter, ui-sans-serif, sans-serif;font-size:15px; }
.automation-condition { display:grid;grid-template-columns:1fr .8fr 1fr;gap:7px; }
.automation-action-fields { grid-column:2/-1;display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:5px;padding-top:14px;border-top:1px solid var(--line); }
.automation-action-fields .full { grid-column:1/-1; }
.automation-live-check { display:flex;gap:11px;align-items:center;margin:16px 0;padding:14px;border:1px solid #bcd9d0;border-radius:10px;background:var(--success-soft);cursor:pointer; }
.automation-live-check input { accent-color:var(--emerald-700); }
.automation-live-check strong,.automation-live-check small { display:block; }
.automation-live-check strong { font-size:10px; }
.automation-live-check small { color:var(--muted);font-size:8px; }

/* Unified communication */
.unified-inbox { grid-template-columns:minmax(260px,315px) minmax(0,1fr); }
.unified-inbox .conversation-list { position:sticky;top:96px; }
.conversation-channel { display:inline-block;margin-right:4px;color:var(--emerald-700);font-size:7px;font-style:normal;font-weight:800;text-transform:uppercase; }
.inbox-student-head p { margin:2px 0 0;color:var(--muted);font-size:8px; }
.communication-compose-tools { grid-column:1/-1;display:grid;grid-template-columns:1.1fr .7fr .85fr 1.2fr;gap:8px;padding:3px 3px 10px;border-bottom:1px solid var(--line); }
.communication-compose-tools .field label { font-size:7px; }
.communication-compose-tools .input,.communication-compose-tools .select { min-height:35px;padding:7px 9px;font-size:9px; }
.message-channel-row { display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:5px;font-size:7px;font-weight:800;text-transform:uppercase; }
.message-channel-row > span { color:var(--emerald-700); }
.message-delivery { padding:2px 5px;border-radius:6px;color:var(--emerald-700);background:var(--success-soft);font-size:7px;font-style:normal; }
.message-delivery.scheduled { color:var(--warning);background:var(--warning-soft); }
.message-delivery.failed { color:var(--danger);background:var(--danger-soft); }
.message-subject { display:block;margin:0 0 5px;font-family: "Manrope", Inter, ui-sans-serif, sans-serif;font-size:11px; }
.message.channel-internal { border:1px dashed #d4b160;color:#59481e;background:#fff9e9;box-shadow:none; }
.message.channel-internal .message-channel-row > span { color:var(--gold-600); }
.message.status-failed { border-color:#e2aaa6;background:#fff4f2; }
.message.status-scheduled { border-style:dashed; }
.template-manager { display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:25px; }
.saved-template-list { display:grid;gap:8px;align-content:start;max-height:540px;overflow:auto; }
.saved-template-list article { display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:start;padding:12px;border:1px solid var(--line);border-radius:10px; }
.saved-template-list strong,.saved-template-list small { display:block; }
.saved-template-list strong { font-size:10px; }
.saved-template-list small { color:var(--muted);font-size:8px; }
.saved-template-list p { margin:5px 0 0;color:var(--muted);font-size:8px; }
.saved-template-list .icon-button { width:30px;height:30px;font-size:16px; }

@media (max-width: 1180px) {
    .dashboard-grid { grid-template-columns:1fr; }
    .launch-layout,.application-room-layout,.automation-layout { grid-template-columns:1fr; }
    .launch-preview { position:relative;top:auto; }
    .room-metrics,.metric-strip { grid-template-columns:repeat(2,1fr); }
    .automation-layout > aside { grid-template-columns:repeat(2,1fr);display:grid; }
}
@media (max-width: 900px) {
    .unified-inbox { grid-template-columns:1fr; }
    .application-room-hero { align-items:flex-start;flex-direction:column; }
    .room-hero-actions { justify-content:flex-start; }
    .automation-explainer { grid-template-columns:1fr; }
    .automation-explainer > i { transform:rotate(90deg);justify-self:center; }
    .automation-rule { grid-template-columns:45px 1fr auto; }
    .automation-rule-stats { display:none; }
    .automation-rule-actions { grid-column:2/-1;justify-content:flex-end; }
    .communication-compose-tools { grid-template-columns:repeat(2,1fr); }
}
@media (max-width: 700px) {
    .metric-strip,.room-metrics { grid-template-columns:1fr 1fr;gap:9px; }
    .metric-card { grid-template-columns:1fr;min-height:135px;padding:14px; }
    .metric-icon { width:36px;height:36px; }
    .launch-steps { padding:15px 8px; }
    .launch-step strong { font-size:7px; }
    .launch-step:not(:last-child)::after { left:calc(50% + 15px);width:calc(100% - 30px); }
    .launch-panel { min-height:0;padding:22px 16px; }
    .launch-panel-heading h2 { font-size:24px; }
    .launch-options { grid-template-columns:1fr; }
    .launch-footer { grid-template-columns:1fr 1fr;padding:14px; }
    .launch-footer > span { display:none; }
    .launch-footer .button { width:100%; }
    .launch-footer .launch-submit { grid-column:1/-1; }
    .workflow-choice { grid-template-columns:auto 1fr; }
    .workflow-choice > i { grid-column:2; }
    .action-centre-top { grid-template-columns:1fr;padding:22px 17px; }
    .action-centre-primary { grid-template-columns:1fr; }
    .action-readiness { display:flex;align-items:center;gap:15px;padding:18px 0 0;border-top:1px solid rgba(255,255,255,.12);border-left:0; }
    .action-readiness-ring { width:80px;height:80px;margin:0; }
    .action-readiness-ring::before { width:65px;height:65px; }
    .action-queue a { grid-template-columns:auto 1fr auto;padding:12px; }
    .action-queue time { display:none; }
    .action-queue b { grid-column:3; }
    .application-room-hero { padding:20px 16px; }
    .application-room-identity { grid-template-columns:1fr; }
    .room-university-mark { width:50px;height:50px; }
    .application-room-identity h1 { font-size:26px; }
    .room-hero-actions .button { width:100%; }
    .room-metrics article { grid-template-columns:auto 1fr;padding:13px; }
    .room-metrics p { grid-column:1/-1; }
    .room-check-item { grid-template-columns:auto 1fr; }
    .room-check-action { grid-column:1/-1;justify-content:flex-end; }
    .room-file-grid { grid-template-columns:1fr;padding:0 13px 13px; }
    .room-file { grid-template-columns:auto minmax(0,1fr) auto; }
    .room-file .pill { grid-column:2; }
    .room-checklist-body { padding:0 14px 14px; }
    .automation-layout > aside { grid-template-columns:1fr; }
    .automation-rule { grid-template-columns:35px 1fr; }
    .automation-rule-actions { grid-column:1/-1; }
    .automation-flow-mini { display:grid;grid-template-columns:1fr; }
    .automation-flow-mini i { display:none; }
    .automation-builder > section { grid-template-columns:auto 1fr; }
    .automation-builder > section > .select,.automation-condition,.automation-action-fields { grid-column:1/-1; }
    .automation-condition,.automation-action-fields { grid-template-columns:1fr; }
    .unified-inbox .conversation-list { position:relative;top:auto; }
    .communication-compose-tools { grid-template-columns:1fr; }
    .template-manager { grid-template-columns:1fr; }
    .case-launch-mini { grid-template-columns:repeat(2,1fr); }
}
@media (max-width: 430px) {
    .metric-strip,.room-metrics { grid-template-columns:1fr; }
    .metric-card { grid-template-columns:auto 1fr;min-height:100px; }
    .room-check-action { align-items:stretch;flex-direction:column;width:100%; }
    .room-check-action .select { width:100%; }
}

/* Premium business suite */
.heading-actions { display:flex;align-items:center;justify-content:flex-end;gap:9px;flex-wrap:wrap; }
.heading-actions form { margin:0; }
.module-kpi { color:inherit; }
.business-hero {
    position:relative;display:grid;grid-template-columns:minmax(0,1fr) 190px;gap:35px;align-items:center;
    min-height:280px;margin-bottom:20px;padding:38px 44px;overflow:hidden;border:1px solid #193d54;border-radius:22px;
    color:#fff;background:radial-gradient(circle at 82% 20%,rgba(26,135,110,.36),transparent 32%),linear-gradient(125deg,#06192d,#0a304d 68%,#0d5b55);
    box-shadow:0 20px 55px rgba(6,24,43,.15);
}
.business-hero::after { content:"";position:absolute;right:-90px;bottom:-150px;width:330px;height:330px;border:1px solid rgba(224,188,101,.18);border-radius:50%; }
.eyebrow-light { color:#dfb95f!important; }
.business-hero h2 { max-width:650px;margin:8px 0 10px;font-family: "Manrope", Inter, ui-sans-serif, sans-serif;font-size:36px;line-height:1.1;letter-spacing:-.02em; }
.business-hero-copy > p { margin:0;color:#b9c8d2; }
.hero-metric-row { display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:32px;padding-top:24px;border-top:1px solid rgba(255,255,255,.12); }
.hero-metric-row small,.hero-metric-row strong { display:block; }
.hero-metric-row small { color:#94aabb;font-size:8px;font-weight:750;letter-spacing:.09em;text-transform:uppercase; }
.hero-metric-row strong { margin-top:5px;font-family: "Manrope", Inter, ui-sans-serif, sans-serif;font-size:17px;color:#fff; }
.conversion-orbit { --value:0;position:relative;z-index:1;display:grid;place-items:center;width:164px;height:164px;border-radius:50%;background:conic-gradient(#e2ba5e calc(var(--value)*1%),rgba(255,255,255,.12) 0);box-shadow:0 0 0 12px rgba(255,255,255,.035); }
.conversion-orbit::before { content:"";grid-area:1/1;width:126px;height:126px;border-radius:50%;background:#0b354b;box-shadow:inset 0 0 30px rgba(0,0,0,.18); }
.conversion-orbit > div { position:relative;grid-area:1/1;text-align:center; }
.conversion-orbit strong,.conversion-orbit span { display:block; }
.conversion-orbit strong { color:#f2ce79;font-family: "Manrope", Inter, ui-sans-serif, sans-serif;font-size:31px; }
.conversion-orbit span { color:#adc0cb;font-size:8px;line-height:1.25;text-transform:uppercase;letter-spacing:.08em; }
.business-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-bottom:20px; }
.business-span-2 { grid-column:span 2; }
.funnel-grid { display:grid;grid-template-columns:repeat(4,1fr);gap:9px;align-items:end; }
.funnel-stage { position:relative;display:grid;align-content:end;min-height:175px;padding:18px 14px;border:1px solid #dbe5e2;border-radius:12px;background:linear-gradient(180deg,#fff,#f0f5f3); }
.funnel-stage::before { content:"";position:absolute;inset:0 0 auto;height:5px;border-radius:12px 12px 0 0;background:#9db5b3; }
.funnel-stage.stage-qualified::before { background:var(--emerald-600); }
.funnel-stage.stage-proposal::before { background:var(--gold-500); }
.funnel-stage > span { color:var(--muted);font-size:8px;text-transform:uppercase;letter-spacing:.1em; }
.funnel-stage > strong { margin:4px 0;font-family: "Manrope", Inter, ui-sans-serif, sans-serif;font-size:31px; }
.funnel-stage > small { color:#5c7181;font-size:8px; }
.compact-ledger { padding-top:5px;padding-bottom:5px; }
.ledger-row { display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:11px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line); }
.ledger-row:last-child { border-bottom:0; }
.status-orb { width:9px;height:9px;border-radius:50%;background:var(--gold-500);box-shadow:0 0 0 5px var(--gold-100); }
.status-orb.danger { background:var(--danger);box-shadow:0 0 0 5px var(--danger-soft); }
.ledger-row strong,.ledger-row small { display:block; }
.ledger-row strong { font-size:10px; }
.ledger-row small { color:var(--muted);font-size:8px; }
.ledger-row b { font-family: "Manrope", Inter, ui-sans-serif, sans-serif;font-size:11px; }
.table-sub { display:block;margin-top:2px;color:var(--muted);font-size:8px;font-weight:400; }
.margin-chip { display:inline-block;min-width:46px;padding:5px 7px;border-radius:8px;color:var(--emerald-700);background:var(--success-soft);font-size:9px;font-weight:800;text-align:center; }
.margin-chip.low { color:var(--danger);background:var(--danger-soft); }
.subtle-label { color:var(--muted);font-size:8px; }
.proposal-mini-grid { display:grid;grid-template-columns:repeat(2,1fr);gap:10px; }
.proposal-mini { display:grid;grid-template-columns:1fr auto;gap:3px 9px;padding:15px;border:1px solid var(--line);border-radius:11px;transition:.2s ease; }
.proposal-mini:hover { border-color:#a9c9bf;transform:translateY(-2px);box-shadow:var(--shadow-sm); }
.proposal-mini .pill { justify-self:start;grid-column:1/-1;margin-bottom:5px; }
.proposal-mini strong,.proposal-mini small { display:block; }
.proposal-mini strong { font-family: "Manrope", Inter, ui-sans-serif, sans-serif;font-size:13px; }
.proposal-mini small { color:var(--muted);font-size:8px; }
.proposal-mini b { grid-column:2;grid-row:2/4;align-self:center;color:var(--emerald-700);font-size:10px; }
.service-mini-list { display:grid;gap:8px; }
.service-mini-list a { display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;border:1px solid var(--line);border-radius:10px; }
.service-mini-list strong,.service-mini-list small { display:block; }
.service-mini-list strong { font-size:10px; }
.service-mini-list small { color:var(--muted);font-size:8px; }
.service-mini-list b { color:var(--gold-600);font-family: "Manrope", Inter, ui-sans-serif, sans-serif;font-size:11px; }

.package-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;align-items:start; }
.package-card { position:relative;overflow:hidden;padding:29px;border:1px solid var(--line);border-radius:19px;background:var(--paper);box-shadow:var(--shadow-sm); }
.package-card.featured { margin-top:-8px;border-color:#b5d1c7;box-shadow:0 22px 48px rgba(6,54,45,.11); }
.package-card.inactive { opacity:.58;filter:saturate(.6); }
.package-ribbon { position:absolute;top:17px;right:-32px;width:120px;padding:5px;color:#fff;background:var(--emerald-700);font-size:7px;font-weight:800;text-align:center;text-transform:uppercase;letter-spacing:.08em;transform:rotate(42deg); }
.package-top { display:flex;align-items:flex-start;justify-content:space-between;gap:15px; }
.package-top h2 { margin:5px 0 0;font-family: "Manrope", Inter, ui-sans-serif, sans-serif;font-size:24px; }
.package-duration { display:grid;place-items:center;width:54px;height:54px;border-radius:14px;color:var(--emerald-700);background:var(--success-soft);font-family: "Manrope", Inter, ui-sans-serif, sans-serif;font-size:20px;line-height:1; }
.package-duration small { display:block;color:var(--muted);font-family:Inter,sans-serif;font-size:6px;text-transform:uppercase; }
.package-card > p { min-height:64px;margin:18px 0;color:var(--muted);font-size:10px;line-height:1.65; }
.package-price { margin:0 -29px;padding:19px 29px;color:#fff;background:linear-gradient(120deg,var(--navy-900),#0b3f51); }
.package-price strong,.package-price span { display:block; }
.package-price strong { font-family: "Manrope", Inter, ui-sans-serif, sans-serif;font-size:25px; }
.package-price span { color:#aec0ca;font-size:8px; }
.package-margin { display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 0;border-bottom:1px solid var(--line);font-size:9px; }
.package-margin span { color:var(--muted); }
.package-margin strong { color:var(--emerald-700); }
.package-features { display:grid;gap:10px;min-height:150px;margin:18px 0;padding:0;list-style:none; }
.package-features li { display:grid;grid-template-columns:auto 1fr;gap:8px;color:#3d4b5c;font-size:9px; }
.package-features li span { display:grid;place-items:center;width:17px;height:17px;border-radius:50%;color:var(--emerald-700);background:var(--success-soft);font-size:8px;font-weight:900; }
.package-footer { display:flex;align-items:center;justify-content:space-between;gap:10px;padding-top:16px;border-top:1px solid var(--line); }
.package-footer > span { color:var(--muted);font-size:8px; }
.package-footer > span strong { color:var(--ink);font-family: "Manrope", Inter, ui-sans-serif, sans-serif;font-size:13px; }
.choice-row { display:flex;gap:24px;align-items:center;flex-wrap:wrap; }
.choice-row label { display:flex;gap:7px;align-items:center;cursor:pointer; }
.choice-row input { accent-color:var(--emerald-700); }
.dialog-wide { width:min(880px,calc(100vw - 32px)); }
.form-hint { margin:15px 0 0;padding:10px;border-radius:8px;color:#4b6775;background:#eef5f3;font-size:9px; }

.proposal-document { max-width:980px;margin:0 auto 20px;padding:45px;border:1px solid #dddeda;border-radius:20px;background:var(--paper);box-shadow:0 18px 55px rgba(12,30,47,.08); }
.proposal-share-bar { max-width:980px;margin:0 auto 16px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px 16px;border:1px solid #b9d5cb;border-radius:13px;background:var(--success-soft); }
.proposal-share-bar > div:first-child { display:flex;align-items:center;gap:11px; }
.proposal-share-bar strong,.proposal-share-bar small { display:block; }
.proposal-share-bar strong { font-size:10px; }
.proposal-share-bar small { color:var(--muted);font-size:8px; }
.share-icon { display:grid;place-items:center;width:33px;height:33px;border-radius:9px;color:#fff;background:var(--emerald-700); }
.copy-field { display:flex;align-items:center;gap:7px;min-width:min(100%,430px); }
.copy-field .input { min-height:37px;font-size:8px; }
.proposal-document > header { display:flex;justify-content:space-between;align-items:center;padding-bottom:24px;border-bottom:1px solid var(--line); }
.proposal-document > header > div { display:flex;align-items:center;gap:11px; }
.proposal-document > header strong,.proposal-document > header small { display:block; }
.proposal-document > header strong { font-family: "Manrope", Inter, ui-sans-serif, sans-serif;font-size:18px; }
.proposal-document > header small { color:var(--muted);font-size:8px; }
.brand-stamp { display:grid;place-items:center;width:44px;height:44px;border-radius:12px;color:#e8c168;background:var(--navy-900);font-family: "Manrope", Inter, ui-sans-serif, sans-serif;font-weight:800; }
.proposal-intro { display:flex;justify-content:space-between;gap:30px;align-items:end;padding:36px 0; }
.proposal-intro h2 { margin:5px 0 3px;font-family: "Manrope", Inter, ui-sans-serif, sans-serif;font-size:32px; }
.proposal-intro p { margin:0;color:var(--muted); }
.proposal-total { min-width:250px;padding:20px;border-radius:14px;color:#fff;background:linear-gradient(125deg,var(--navy-900),#0b5251); }
.proposal-total small,.proposal-total strong,.proposal-total span { display:block; }
.proposal-total small { color:#a8bec8;font-size:8px;text-transform:uppercase; }
.proposal-total strong { margin:5px 0;color:#e8c46f;font-family: "Manrope", Inter, ui-sans-serif, sans-serif;font-size:26px; }
.proposal-total span { color:#c2d1d7;font-size:8px; }
.proposal-summary-grid { display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);border-radius:13px;overflow:hidden; }
.proposal-summary-grid > div { padding:16px;border-right:1px solid var(--line); }
.proposal-summary-grid > div:last-child { border-right:0; }
.proposal-summary-grid small,.proposal-summary-grid strong { display:block; }
.proposal-summary-grid small { color:var(--muted);font-size:8px;text-transform:uppercase; }
.proposal-summary-grid strong { margin-top:4px;font-family: "Manrope", Inter, ui-sans-serif, sans-serif;font-size:13px; }
.proposal-body-grid { display:grid;grid-template-columns:minmax(0,1.3fr) minmax(240px,.7fr);gap:45px;padding:36px 0; }
.rich-copy { margin-top:12px;color:#3c4c5d;font-family: "Manrope", Inter, ui-sans-serif, sans-serif;font-size:15px;line-height:1.8; }
.proposal-body-grid h3,.public-proposal-content h3 { margin:25px 0 10px;font-family: "Manrope", Inter, ui-sans-serif, sans-serif;font-size:17px; }
.check-list { display:grid;gap:9px;padding:0;list-style:none; }
.check-list li { display:grid;grid-template-columns:auto 1fr;gap:9px;font-size:10px; }
.check-list li span { color:var(--emerald-700);font-weight:900; }
.terms-stack { margin-top:12px;border:1px solid var(--line);border-radius:12px;overflow:hidden; }
.terms-stack div { display:flex;justify-content:space-between;gap:12px;padding:13px;border-bottom:1px solid var(--line);font-size:9px; }
.terms-stack div:last-child { border-bottom:0; }
.terms-stack span { color:var(--muted); }
.proposal-document > footer { padding:19px;border-radius:11px;background:#f5f2ea; }
.proposal-document > footer p { margin:6px 0 0;color:#56616e;font-size:9px; }
.acceptance-certificate { max-width:980px;margin:0 auto 20px;display:flex;align-items:center;gap:18px;padding:22px 26px;border:1px solid #acd0c3;border-radius:15px;background:var(--success-soft); }
.acceptance-certificate.pending { border-color:#ead39d;background:var(--gold-100); }
.acceptance-certificate > div { flex:1; }
.acceptance-certificate h2,.acceptance-certificate p { margin:0; }
.acceptance-certificate h2 { font-family: "Manrope", Inter, ui-sans-serif, sans-serif;font-size:20px; }
.acceptance-certificate p { color:var(--muted);font-size:8px; }
.certificate-icon { display:grid;place-items:center;width:46px;height:46px;border-radius:50%;color:#fff;background:var(--emerald-700);font-size:20px; }
.danger-zone { max-width:980px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:15px;padding:16px;border:1px solid #ecd1ce;border-radius:12px;background:#fff7f5; }
.danger-zone strong,.danger-zone span { display:block; }
.danger-zone span { color:var(--muted);font-size:8px; }

.public-proposal-page { min-height:100vh;background:#f4f1e9; }
.public-proposal-shell { width:min(1120px,calc(100% - 40px));margin:auto;padding:22px 0 35px; }
.public-proposal-nav { display:flex;justify-content:space-between;align-items:center;margin-bottom:20px; }
.public-brand { display:flex;align-items:center;gap:10px; }
.public-brand > span { display:grid;place-items:center;width:40px;height:40px;border-radius:11px;color:#edc971;background:var(--navy-900);font-family: "Manrope", Inter, ui-sans-serif, sans-serif;font-weight:800; }
.public-brand strong,.public-brand small { display:block; }
.public-brand strong { font-family: "Manrope", Inter, ui-sans-serif, sans-serif;font-size:17px; }
.public-brand small { color:var(--muted);font-size:7px;text-transform:uppercase; }
.public-proposal-hero { position:relative;padding:62px 64px;border-radius:24px;color:#fff;background:radial-gradient(circle at 90% 10%,rgba(19,138,111,.42),transparent 38%),linear-gradient(125deg,#06182b,#0b3550);box-shadow:0 25px 60px rgba(6,24,43,.16); }
.public-proposal-hero h1 { max-width:720px;margin:10px 0;font-family: "Manrope", Inter, ui-sans-serif, sans-serif;font-size:48px;line-height:1.06; }
.public-proposal-hero > p { color:#b8c6cf; }
.public-proposal-hero > div { margin-top:38px; }
.public-proposal-hero small,.public-proposal-hero strong,.public-proposal-hero div span { display:block; }
.public-proposal-hero small { color:#9db1bd;font-size:8px;text-transform:uppercase; }
.public-proposal-hero strong { margin:4px 0;color:#e7c36d;font-family: "Manrope", Inter, ui-sans-serif, sans-serif;font-size:35px; }
.public-proposal-hero div span { color:#b6c5ce;font-size:9px; }
.public-proposal-content { display:grid;grid-template-columns:minmax(0,1.3fr) minmax(300px,.7fr);gap:70px;margin:22px 0;padding:55px 64px;border-radius:19px;background:var(--paper);box-shadow:var(--shadow-sm); }
.public-proposal-content h2 { margin:8px 0 16px;font-family: "Manrope", Inter, ui-sans-serif, sans-serif;font-size:30px; }
.public-price-stack { margin-top:15px;border:1px solid var(--line);border-radius:12px;overflow:hidden; }
.public-price-stack div { display:flex;justify-content:space-between;gap:15px;padding:14px;border-bottom:1px solid var(--line);font-size:9px; }
.public-price-stack div:last-child { border:0; }
.public-price-stack span { color:var(--muted); }
.public-price-stack .total { color:#fff;background:var(--navy-900); }
.public-price-stack .total span { color:#aebfca; }
.public-price-stack .total strong { color:#e8c46f;font-family: "Manrope", Inter, ui-sans-serif, sans-serif;font-size:14px; }
.schedule-note { display:grid;margin-top:12px;padding:14px;border-radius:10px;background:var(--success-soft); }
.schedule-note strong { color:var(--emerald-700);font-size:11px; }
.schedule-note span { color:var(--muted);font-size:8px; }
.public-terms { padding:30px 64px;border-radius:17px;background:#eae5d9; }
.public-terms p { margin:8px 0 0;color:#4f5e68;font-size:10px; }
.public-acceptance { display:grid;grid-template-columns:1fr 1fr;gap:60px;margin-top:22px;padding:48px 64px;border-radius:21px;color:#fff;background:linear-gradient(125deg,var(--emerald-800),#063e4a); }
.public-acceptance h2 { margin:8px 0;font-family: "Manrope", Inter, ui-sans-serif, sans-serif;font-size:34px; }
.public-acceptance p { color:#b9d0cd; }
.public-acceptance .field { margin-bottom:12px; }
.public-acceptance .field label { color:#b8ceca; }
.public-acceptance .input { border-color:rgba(255,255,255,.25);color:#fff;background:rgba(255,255,255,.08); }
.accept-check { display:flex;gap:10px;align-items:flex-start;margin:13px 0 18px;font-size:9px;cursor:pointer; }
.accept-check input { margin-top:3px;accent-color:#e5bd5d; }
.button-gold { width:100%;color:#2b240f;background:linear-gradient(135deg,#f2d486,#d7ab48);box-shadow:0 10px 25px rgba(0,0,0,.16); }
.decline-form { grid-column:2;text-align:center; }
.decline-form .link-button { color:#b5c9c7; }
.public-accepted { display:flex;align-items:center;gap:20px;margin-top:22px;padding:40px 64px;border:1px solid #a9cec1;border-radius:20px;background:var(--success-soft); }
.public-accepted > span { display:grid;place-items:center;width:54px;height:54px;border-radius:50%;color:#fff;background:var(--emerald-700);font-size:25px; }
.public-accepted h2,.public-accepted p { margin:0; }
.public-accepted h2 { font-family: "Manrope", Inter, ui-sans-serif, sans-serif;font-size:27px; }
.public-accepted p { color:var(--muted); }
.public-accepted.declined { border-color:#ded7c9;background:#eeeae1; }
.public-accepted.declined > span { background:#8a8e8a; }
.public-proposal-footer { padding:25px 0 0;color:#8a928f;font-size:8px;text-align:center; }

.plan-stack { display:grid;gap:18px;min-width:0; }
.payment-plan-card { width:100%;min-width:0;overflow:visible; }
.plan-heading { display:grid;grid-template-columns:minmax(200px,1fr) minmax(260px,.8fr) auto;gap:25px;align-items:center;padding:22px 25px;border-bottom:1px solid var(--line); }
.plan-heading h2,.plan-heading p { margin:0; }
.plan-heading h2 { font-family: "Manrope", Inter, ui-sans-serif, sans-serif;font-size:21px; }
.plan-heading p { color:var(--muted);font-size:9px; }
.plan-heading p a { color:var(--emerald-700);font-weight:700; }
.plan-progress > div:first-child { display:flex;justify-content:space-between;gap:10px;margin-bottom:7px;font-size:9px; }
.plan-progress span { color:var(--muted); }
.installment-timeline { display:flex;gap:0;max-width:100%;min-width:0;padding:25px;overflow-x:auto; }
.installment-card { position:relative;display:grid;grid-template-columns:auto minmax(145px,1fr);gap:10px;min-width:215px;padding-right:15px; }
.installment-sequence { position:relative;display:grid;justify-items:center;width:32px; }
.installment-sequence span { position:relative;z-index:1;display:grid;place-items:center;width:28px;height:28px;border:2px solid #cbd3d1;border-radius:50%;color:var(--muted);background:#fff;font-size:9px;font-weight:800; }
.installment-sequence i { position:absolute;top:13px;left:29px;width:187px;height:2px;background:#dce1df; }
.installment-card:last-child .installment-sequence i { display:none; }
.installment-card.paid .installment-sequence span { border-color:var(--emerald-700);color:#fff;background:var(--emerald-700); }
.installment-card.overdue .installment-sequence span { border-color:var(--danger);color:var(--danger);background:var(--danger-soft); }
.installment-card h3 { margin:7px 0 2px;font-family: "Manrope", Inter, ui-sans-serif, sans-serif;font-size:14px; }
.installment-card div > strong,.installment-card div > small,.installment-card div > em { display:block; }
.installment-card div > strong { color:var(--emerald-700);font-size:10px; }
.installment-card div > small,.installment-card div > em { color:var(--muted);font-size:8px;font-style:normal; }
.installment-card > button,.paid-seal { grid-column:2;justify-self:start;margin-top:7px; }
.paid-seal { color:var(--emerald-700);font-size:8px;font-weight:800; }
.pill-draft,.pill-scheduled { color:var(--info);background:var(--info-soft); }
.pill-sent,.pill-viewed { color:var(--warning);background:var(--warning-soft); }
.pill-accepted,.pill-paid,.pill-completed,.pill-active { color:var(--emerald-700);background:var(--success-soft); }
.pill-declined,.pill-waived { color:#66706f;background:#e9ece9; }

.lead-probability { display:flex;align-items:center;gap:8px;margin-top:9px; }
.lead-probability > span { flex:1;height:4px;overflow:hidden;border-radius:8px;background:#e6eae8; }
.lead-probability i { display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--gold-500),var(--emerald-600)); }
.lead-probability strong { color:var(--muted);font-size:8px; }
.case-commercial-hero { display:grid;grid-template-columns:1fr auto;gap:30px;align-items:center;margin-bottom:20px;padding:28px 32px;border-radius:18px;color:#fff;background:radial-gradient(circle at 90% 10%,rgba(25,133,109,.35),transparent 35%),linear-gradient(125deg,var(--navy-950),#0b3852); }
.case-commercial-hero h2 { margin:6px 0 4px;font-family: "Manrope", Inter, ui-sans-serif, sans-serif;font-size:27px; }
.case-commercial-hero p { margin:0;color:#adbdc8;font-size:9px; }
.commercial-hero-metrics { display:grid;grid-template-columns:repeat(4,1fr);gap:22px; }
.commercial-hero-metrics small,.commercial-hero-metrics strong { display:block; }
.commercial-hero-metrics small { color:#97adba;font-size:7px;text-transform:uppercase; }
.commercial-hero-metrics strong { margin-top:4px;color:#e7c46e;font-family: "Manrope", Inter, ui-sans-serif, sans-serif;font-size:14px; }
.commercial-workspace { grid-template-columns:minmax(0,1.3fr) minmax(300px,.7fr); }
.student-plan-summary { padding:10px 0 20px; }
.student-plan-summary > div:first-child { display:flex;justify-content:space-between;gap:20px;margin-bottom:8px; }
.student-plan-summary strong,.student-plan-summary span { display:block; }
.student-plan-summary > div:first-child span { color:var(--muted);font-size:8px; }
.mini-installments { display:flex;gap:6px;flex-wrap:wrap;margin-top:14px; }
.mini-installments span { padding:6px 8px;border-radius:7px;color:var(--warning);background:var(--warning-soft);font-size:7px; }
.mini-installments span.paid { color:var(--emerald-700);background:var(--success-soft); }
.mini-installments span.overdue { color:var(--danger);background:var(--danger-soft); }
.mini-installments i { display:inline-block;width:5px;height:5px;margin-right:4px;border-radius:50%;background:currentColor; }
.expense-list { padding-top:4px;padding-bottom:4px; }
.expense-row { display:grid;grid-template-columns:auto 1fr auto auto;gap:9px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line); }
.expense-row:last-child { border:0; }
.expense-icon { display:grid;place-items:center;width:29px;height:29px;border-radius:9px;color:var(--danger);background:var(--danger-soft);font-size:16px; }
.expense-row strong,.expense-row small { display:block; }
.expense-row strong { font-size:9px; }
.expense-row small { color:var(--muted);font-size:7px; }
.expense-row b { font-family: "Manrope", Inter, ui-sans-serif, sans-serif;font-size:10px; }
.icon-delete { border:0;color:#999;background:transparent;font-size:16px;cursor:pointer; }
.insight-callout { display:flex;gap:13px;align-items:flex-start; }
.insight-callout > span { display:grid;place-items:center;width:36px;height:36px;border-radius:10px;color:#d9aa45;background:var(--navy-900); }
.insight-callout strong { display:block;font-family: "Manrope", Inter, ui-sans-serif, sans-serif;font-size:14px; }
.insight-callout p { margin:3px 0 0;color:var(--muted);font-size:8px; }

@media (max-width: 1180px) {
    .package-grid { grid-template-columns:repeat(2,1fr); }
    .business-grid { grid-template-columns:1fr 1fr; }
    .business-span-2 { grid-column:span 2; }
    .case-commercial-hero { grid-template-columns:1fr; }
}
@media (max-width: 900px) {
    .business-hero { grid-template-columns:1fr; }
    .conversion-orbit { position:absolute;right:30px;top:30px;width:110px;height:110px;opacity:.75; }
    .conversion-orbit::before { width:84px;height:84px; }
    .conversion-orbit strong { font-size:22px; }
    .business-hero-copy { position:relative;z-index:2;padding-right:100px; }
    .business-grid,.public-proposal-content,.public-acceptance,.commercial-workspace { grid-template-columns:1fr; }
    .business-span-2,.decline-form { grid-column:auto; }
    .proposal-body-grid { grid-template-columns:1fr;gap:20px; }
    .package-grid { grid-template-columns:1fr; }
    .package-card.featured { margin-top:0; }
    .public-proposal-content { gap:35px; }
    .plan-heading { grid-template-columns:1fr auto; }
    .plan-progress { grid-column:1/-1;grid-row:2; }
}
@media (max-width: 700px) {
    .heading-actions,.heading-actions .button,.heading-actions form,.heading-actions form .button { width:100%; }
    .business-hero { min-height:0;padding:27px 21px; }
    .business-hero-copy { padding:0; }
    .business-hero h2 { padding-right:65px;font-size:27px; }
    .conversion-orbit { right:16px;top:18px;width:75px;height:75px; }
    .conversion-orbit::before { width:58px;height:58px; }
    .conversion-orbit strong { font-size:16px; }
    .conversion-orbit span { display:none; }
    .hero-metric-row,.commercial-hero-metrics { grid-template-columns:repeat(2,1fr); }
    .business-grid { grid-template-columns:1fr; }
    .business-span-2 { grid-column:auto; }
    .funnel-grid { grid-template-columns:repeat(2,1fr); }
    .funnel-stage { min-height:130px; }
    .proposal-mini-grid { grid-template-columns:1fr; }
    .proposal-document { padding:22px 16px; }
    .proposal-intro { align-items:stretch;flex-direction:column; }
    .proposal-total { min-width:0; }
    .proposal-summary-grid { grid-template-columns:repeat(2,1fr); }
    .proposal-summary-grid > div:nth-child(2) { border-right:0; }
    .proposal-summary-grid > div:nth-child(-n+2) { border-bottom:1px solid var(--line); }
    .proposal-document > header { align-items:flex-start; }
    .acceptance-certificate,.danger-zone { align-items:flex-start;flex-direction:column; }
    .proposal-share-bar { align-items:stretch;flex-direction:column; }
    .copy-field { min-width:0; }
    .public-proposal-shell { width:min(100% - 22px,1120px);padding-top:10px; }
    .public-proposal-hero { padding:35px 24px; }
    .public-proposal-hero h1 { font-size:33px; }
    .public-proposal-content,.public-acceptance,.public-terms,.public-accepted { padding:30px 23px; }
    .public-proposal-content h2 { font-size:25px; }
    .public-acceptance { gap:25px; }
    .public-accepted { align-items:flex-start; }
    .plan-heading { grid-template-columns:1fr;gap:10px; }
    .plan-progress { grid-column:auto;grid-row:auto; }
    .installment-timeline { padding:18px 15px; }
    .case-commercial-hero { padding:23px 19px; }
    .commercial-hero-metrics { gap:15px; }
}

/* Case intelligence, requirement library and submission quality gates */
.case-intelligence-hero { display:grid;grid-template-columns:auto minmax(0,1fr) minmax(250px,.42fr);gap:24px;align-items:center;margin-bottom:14px;padding:28px 30px;overflow:hidden;border-radius:20px;color:#fff;background:radial-gradient(circle at 92% 15%,rgba(41,171,139,.3),transparent 34%),linear-gradient(125deg,#071c32,#0b3852);box-shadow:0 18px 45px rgba(5,28,48,.14); }
.case-intelligence-hero.attention { background:radial-gradient(circle at 92% 15%,rgba(215,162,56,.28),transparent 34%),linear-gradient(125deg,#071c32,#173a48); }
.case-intelligence-hero.at_risk,.case-intelligence-hero.critical { background:radial-gradient(circle at 92% 15%,rgba(181,80,69,.3),transparent 36%),linear-gradient(125deg,#071c32,#432a31); }
.case-health-score { display:grid;place-items:center;width:100px;height:100px;border:1px solid rgba(255,255,255,.2);border-radius:50%;background:rgba(255,255,255,.08);box-shadow:inset 0 0 0 8px rgba(255,255,255,.035); }
.case-health-score strong,.case-health-score span { display:block;text-align:center; }
.case-health-score strong { font-family: "Manrope", Inter, ui-sans-serif, sans-serif;font-size:31px;line-height:1; }
.case-health-score span { margin-top:5px;color:#acc1cb;font-size:8px;text-transform:uppercase;letter-spacing:.08em; }
.eyebrow-light { color:#93d5c2 !important; }
.case-health-copy h2 { margin:5px 0 6px;color:#fff;font-family: "Manrope", Inter, ui-sans-serif, sans-serif;font-size:25px; }
.case-health-copy p { margin:0;color:#b7c5ce;font-size:9px;line-height:1.6; }
.case-next-action { padding:17px 19px;border:1px solid rgba(255,255,255,.13);border-radius:13px;background:rgba(255,255,255,.07); }
.case-next-action small,.case-next-action strong { display:block; }
.case-next-action small { color:#91a9b6;font-size:7px;text-transform:uppercase;letter-spacing:.09em; }
.case-next-action strong { margin:5px 0 13px;font-family: "Manrope", Inter, ui-sans-serif, sans-serif;font-size:14px;line-height:1.35; }
.button-light { color:var(--navy-950);background:#fff; }
.case-risk-strip { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-bottom:20px; }
.case-risk { display:flex;gap:10px;align-items:flex-start;min-width:0;padding:12px;border:1px solid var(--line);border-radius:11px;color:inherit;background:#fff;box-shadow:0 4px 15px rgba(9,34,49,.035); }
.case-risk > span { display:grid;place-items:center;flex:0 0 25px;width:25px;height:25px;border-radius:7px;color:var(--warning);background:var(--warning-soft);font-size:11px;font-weight:900; }
.case-risk.critical > span { color:var(--danger);background:var(--danger-soft); }
.case-risk strong,.case-risk small { display:block;overflow:hidden;text-overflow:ellipsis; }
.case-risk strong { font-size:8px;white-space:nowrap; }
.case-risk small { margin-top:3px;color:var(--muted);font-size:7px;line-height:1.45; }
.health-pill { padding:5px 8px;border-radius:99px;color:var(--emerald-700);background:var(--success-soft);font-size:7px;font-weight:800;text-transform:capitalize; }
.health-pill.attention { color:var(--warning);background:var(--warning-soft); }
.health-pill.at_risk,.health-pill.critical { color:var(--danger);background:var(--danger-soft); }

.portfolio-intelligence-card { overflow:hidden; }
.portfolio-health-grid { display:grid;grid-template-columns:repeat(auto-fit,minmax(390px,1fr));gap:1px;background:var(--line); }
.health-case { display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;padding:18px 20px;color:inherit;background:#fff;transition:.2s ease; }
.health-case:hover { position:relative;z-index:1;background:#fcfdfb;box-shadow:0 7px 20px rgba(9,39,50,.08);transform:translateY(-1px); }
.health-score { display:flex;align-items:baseline;justify-content:center;width:55px;height:55px;padding-top:14px;border-radius:50%;color:var(--emerald-700);background:var(--success-soft); }
.health-score.warning { color:var(--warning);background:var(--warning-soft); }
.health-score.danger { color:var(--danger);background:var(--danger-soft); }
.health-score strong { font-family: "Manrope", Inter, ui-sans-serif, sans-serif;font-size:18px; }
.health-score small { font-size:6px; }
.health-case h3 { margin:5px 0 2px;font-family: "Manrope", Inter, ui-sans-serif, sans-serif;font-size:13px; }
.health-case p,.health-case div > small { display:block;margin:0;color:var(--muted);font-size:7px;line-height:1.45; }
.health-case-arrow { color:var(--emerald-700);font-size:14px; }
.student-health-note { display:flex;gap:11px;align-items:flex-start;margin:0 24px 20px;padding:13px 15px;border:1px solid rgba(19,126,101,.14);border-radius:10px;background:rgba(232,245,239,.55); }
.student-health-note > span { color:var(--emerald-700);font-size:18px; }
.student-health-note strong,.student-health-note p { display:block;margin:0; }
.student-health-note strong { font-size:8px; }
.student-health-note p { margin-top:3px;color:var(--muted);font-size:7px; }

.requirement-kpis { grid-template-columns:repeat(4,minmax(0,1fr)); }
.document-kpis { grid-template-columns:repeat(5,minmax(0,1fr)); }
.template-card-badges,.document-badges { display:flex;gap:5px;align-items:center;flex-wrap:wrap;justify-content:flex-end; }
.profile-scope { display:flex;gap:6px;flex-wrap:wrap;margin:12px 0; }
.profile-scope span { padding:5px 7px;border:1px solid var(--line);border-radius:6px;color:var(--muted);background:#fbfcfa;font-size:7px; }
.template-review-note { display:flex;gap:8px;align-items:center;margin:13px 0 0;padding-top:12px;border-top:1px solid var(--line);font-size:7px; }
.template-review-note span { color:var(--muted); }
.template-review-note strong { margin-right:auto; }
.template-review-note a { color:var(--emerald-700);font-weight:800; }
.template-actions form { display:inline-flex; }

.readiness-command { padding:23px; }
.readiness-command-top { display:grid;grid-template-columns:auto 1fr;gap:15px;align-items:center;text-align:left; }
.readiness-command-top .room-score { margin:0; }
.readiness-command-top h3 { margin:7px 0 3px; }
.readiness-command-top p { margin:0; }
.readiness-breakdown { display:grid;gap:10px;margin:21px 0;padding:16px 0;border-block:1px solid var(--line); }
.readiness-breakdown > div > span { display:flex;justify-content:space-between;margin-bottom:6px;color:var(--muted);font-size:7px; }
.readiness-breakdown > div > span strong { color:var(--navy-950); }
.readiness-breakdown i { display:block;height:5px;overflow:hidden;border-radius:10px;background:#e7ece9; }
.readiness-breakdown b { display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--gold-500),var(--emerald-600)); }
.readiness-blockers { display:grid;gap:7px;margin-bottom:18px;text-align:left; }
.readiness-blockers > .eyebrow { margin-bottom:2px; }
.readiness-blockers > div { display:flex;gap:8px;padding:9px;border-radius:8px;background:var(--warning-soft); }
.readiness-blockers > div.critical { background:var(--danger-soft); }
.readiness-blockers > div > span { display:grid;place-items:center;flex:0 0 20px;width:20px;height:20px;border-radius:6px;color:var(--warning);background:#fff;font-size:9px;font-weight:900; }
.readiness-blockers > div.critical > span { color:var(--danger); }
.readiness-blockers p,.readiness-blockers strong,.readiness-blockers small { display:block;margin:0; }
.readiness-blockers strong { font-size:7px; }
.readiness-blockers small { margin-top:2px;color:var(--muted);font-size:6.5px;line-height:1.4; }
.submission-gate { display:grid;gap:8px;margin-bottom:18px;text-align:left; }
.submission-gate > small { color:var(--muted);font-size:7px;line-height:1.45;text-align:center; }
.submission-gate .button:disabled { opacity:.45;cursor:not-allowed; }
.submission-seal,.approval-summary { display:flex;gap:11px;align-items:flex-start;padding:13px;border:1px solid rgba(18,130,99,.15);border-radius:10px;background:var(--success-soft); }
.submission-seal > span,.approval-seal { display:grid;place-items:center;flex:0 0 29px;width:29px;height:29px;border-radius:50%;color:#fff;background:var(--emerald-700);font-weight:900; }
.submission-seal strong,.submission-seal small,.approval-summary strong,.approval-summary p { display:block;margin:0; }
.submission-seal strong,.approval-summary strong { font-size:8px; }
.submission-seal small,.approval-summary p { margin-top:3px;color:var(--muted);font-size:7px;line-height:1.5; }
.approval-summary { margin-bottom:16px; }
.room-requirement-list { display:grid;gap:7px;padding:16px 20px;border-bottom:1px solid var(--line);background:#fcfdfb; }
.room-requirement { display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;padding:10px 12px;border:1px solid var(--line);border-radius:9px;background:#fff; }
.room-requirement-state { display:grid;place-items:center;width:25px;height:25px;border-radius:7px;color:var(--muted);background:#edf0ee;font-weight:900; }
.room-requirement.is-ready .room-requirement-state { color:var(--emerald-700);background:var(--success-soft); }
.room-requirement.is-blocking .room-requirement-state { color:var(--danger);background:var(--danger-soft); }
.room-requirement strong,.room-requirement small { display:block; }
.room-requirement strong { font-size:8px; }
.room-requirement small { margin-top:2px;color:var(--muted);font-size:7px; }
.requirement-guidance-card .card-header { align-items:flex-start; }
.guidance-line { padding:11px 0;border-bottom:1px solid var(--line); }
.guidance-line span { color:var(--emerald-700);font-size:7px;font-weight:800;text-transform:uppercase;letter-spacing:.06em; }
.guidance-line p { margin:4px 0 0;color:var(--muted);font-size:8px;line-height:1.55; }
.requirement-guidance-card .text-link { display:inline-block;margin-top:13px; }

.document-validation-note { margin:11px 0;padding:9px 11px;border-left:3px solid var(--gold-500);color:var(--muted);background:var(--warning-soft);font-size:7px; }
.document-validation-panel { display:grid;gap:15px; }
.validation-panel-heading { display:flex;justify-content:space-between;gap:15px;align-items:flex-start; }
.validation-panel-heading h3 { margin:4px 0 0;font-family: "Manrope", Inter, ui-sans-serif, sans-serif;font-size:17px; }

@media (max-width: 1180px) {
    .case-intelligence-hero { grid-template-columns:auto 1fr; }
    .case-next-action { grid-column:1/-1; }
    .case-risk-strip { grid-template-columns:repeat(2,1fr); }
    .requirement-kpis,.document-kpis { grid-template-columns:repeat(2,1fr); }
}
@media (max-width: 780px) {
    .case-intelligence-hero { grid-template-columns:1fr;padding:23px 20px; }
    .case-health-score { width:78px;height:78px; }
    .case-health-score strong { font-size:25px; }
    .case-next-action { grid-column:auto; }
    .case-risk-strip,.portfolio-health-grid,.requirement-kpis,.document-kpis { grid-template-columns:1fr; }
    .readiness-command-top { grid-template-columns:1fr;justify-items:center;text-align:center; }
    .room-requirement { grid-template-columns:auto 1fr; }
    .room-requirement .pill { grid-column:2;justify-self:start; }
    .document-title { align-items:flex-start; }
    .document-badges { justify-content:flex-start; }
}

/* Multi-tenant SaaS master console */
.button-primary { background:var(--tenant-primary,var(--emerald-700)); }
.button-primary:hover { background:color-mix(in srgb,var(--tenant-primary,var(--emerald-700)) 86%,#000); }
.brand-mark { border-color:color-mix(in srgb,var(--tenant-accent,var(--gold-500)) 60%,transparent);color:color-mix(in srgb,var(--tenant-accent,var(--gold-500)) 82%,#fff); }
.nav-item-button { width:100%;border:0;text-align:left;background:transparent;cursor:pointer; }
.master-return { padding:8px 12px;border:1px solid rgba(8,112,90,.2);border-radius:9px;color:var(--emerald-700);background:#fff;font-size:10px;font-weight:800; }
.master-hero { position:relative;display:flex;align-items:flex-start;justify-content:space-between;gap:30px;margin-bottom:20px;padding:42px 44px;overflow:hidden;border-radius:24px;color:#fff;background:radial-gradient(circle at 84% 10%,rgba(39,172,136,.34),transparent 30%),radial-gradient(circle at 12% 100%,rgba(202,148,43,.18),transparent 34%),linear-gradient(120deg,#06192c,#0a304a 58%,#0a5149);box-shadow:0 24px 60px rgba(6,24,43,.17); }
.master-hero::after { content:"";position:absolute;right:18%;bottom:-72px;width:240px;height:240px;border:1px solid rgba(255,255,255,.1);border-radius:50%;box-shadow:0 0 0 32px rgba(255,255,255,.025),0 0 0 64px rgba(255,255,255,.018); }
.master-hero > * { position:relative;z-index:1; }
.master-hero h1 { margin:8px 0 11px;font-family: "Manrope", Inter, ui-sans-serif, sans-serif;font-size:clamp(32px,4vw,52px);line-height:1.03;letter-spacing:-.04em; }
.master-hero h1 em { color:#efd083;font-weight:400; }
.master-hero p { max-width:650px;margin:0;color:#b7c8d0;font-size:13px; }
.master-metric-grid { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:20px; }
.master-metric { position:relative;min-width:0;padding:21px 22px;border:1px solid var(--line);border-radius:16px;color:inherit;background:linear-gradient(145deg,#fff,#fdfcf8);box-shadow:var(--shadow-sm);transition:.18s ease; }
a.master-metric:hover { border-color:#bfcbc6;transform:translateY(-2px);box-shadow:0 14px 30px rgba(6,24,43,.08); }
.master-metric > small,.master-metric > strong,.master-metric > p { display:block; }
.master-metric > small { margin-bottom:15px;color:var(--muted);font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.08em; }
.master-metric > strong { overflow:hidden;font-family: "Manrope", Inter, ui-sans-serif, sans-serif;font-size:31px;line-height:1.05;text-overflow:ellipsis; }
.master-metric > p { margin:10px 0 0;color:var(--muted);font-size:8px; }
.master-metric .metric-word { font-size:23px; }
.metric-orb { position:absolute;top:17px;right:18px;display:grid;place-items:center;width:34px;height:34px;border-radius:11px;font-size:15px; }
.metric-orb.emerald { color:var(--emerald-700);background:var(--success-soft); }
.metric-orb.blue { color:var(--info);background:var(--info-soft); }
.metric-orb.gold { color:var(--gold-600);background:var(--gold-100); }
.metric-orb.navy { color:var(--navy-800);background:#e8edf1; }
.master-grid { display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:20px;align-items:start; }
.master-portfolio-card { overflow:hidden; }
.agency-table-wrap { overflow:auto; }
.agency-table { width:100%;border-collapse:collapse;font-size:9px; }
.agency-table th { padding:11px 17px;border-block:1px solid var(--line);color:#88919b;background:#fbfbf8;text-align:left;text-transform:uppercase;letter-spacing:.08em;white-space:nowrap; }
.agency-table td { padding:14px 17px;border-bottom:1px solid var(--line);vertical-align:middle;white-space:nowrap; }
.agency-table tbody tr:last-child td { border-bottom:0; }
.agency-cell { display:flex;align-items:center;gap:10px; }
.agency-cell strong,.agency-cell small { display:block; }
.agency-cell small,.table-sub { margin-top:2px;color:var(--muted);font-size:7px; }
.agency-logo { display:grid;place-items:center;flex:0 0 auto;width:35px;height:35px;border-radius:11px;color:#fff;background:linear-gradient(145deg,var(--agency-color,#08705a),color-mix(in srgb,var(--agency-color,#08705a) 70%,#06182b));font-family: "Manrope", Inter, ui-sans-serif, sans-serif;font-size:11px;font-weight:800;box-shadow:inset 0 0 0 1px rgba(255,255,255,.18); }
.agency-logo-large { width:48px;height:48px;border-radius:14px;font-size:14px; }
.agency-logo-xl { width:72px;height:72px;border-radius:20px;font-size:22px; }
.tenant-status { display:inline-flex;align-items:center;gap:6px;padding:5px 8px;border-radius:99px;color:var(--emerald-700);background:var(--success-soft);font-size:7px;font-weight:850;text-transform:uppercase;letter-spacing:.05em; }
.tenant-status i { width:5px;height:5px;border-radius:50%;background:currentColor;box-shadow:0 0 0 3px rgba(8,112,90,.09); }
.tenant-status.trial { color:var(--info);background:var(--info-soft); }
.tenant-status.suspended,.tenant-status.past_due { color:var(--danger);background:var(--danger-soft); }
.tenant-status.archived { color:#6d7378;background:#eceeed; }
.master-side-stack { display:grid;gap:16px; }
.master-principle { padding:25px;overflow:hidden;background:radial-gradient(circle at 90% 5%,rgba(17,131,104,.12),transparent 30%),#fff; }
.shield-orb { display:grid;place-items:center;width:60px;height:60px;margin:22px 0 15px;border:1px solid rgba(8,112,90,.18);border-radius:18px;color:#fff;background:linear-gradient(145deg,#0d846b,#075342);font-size:23px;box-shadow:0 12px 24px rgba(8,112,90,.17); }
.master-principle h3 { margin:0 0 7px;font-family: "Manrope", Inter, ui-sans-serif, sans-serif;font-size:20px;line-height:1.2; }
.master-principle p { margin:0 0 20px;color:var(--muted);font-size:9px;line-height:1.65; }
.principle-row { display:flex;justify-content:space-between;padding:10px 0;border-top:1px solid var(--line);font-size:8px; }
.principle-row span { color:var(--muted); }
.principle-row strong { color:var(--emerald-700); }
.master-quick { padding:21px; }
.master-quick > a { display:flex;gap:11px;align-items:center;padding:13px 0;border-top:1px solid var(--line); }
.master-quick > a:first-of-type { margin-top:10px; }
.master-quick > a > span { display:grid;place-items:center;width:31px;height:31px;border-radius:9px;color:var(--emerald-700);background:var(--success-soft);font-weight:900; }
.master-quick strong,.master-quick small { display:block; }
.master-quick strong { font-size:9px; }
.master-quick small { margin-top:2px;color:var(--muted);font-size:7px; }
.master-page-heading { align-items:flex-end; }
.agency-directory { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px; }
.agency-directory-card,.agency-directory-add { min-height:300px;padding:24px;border:1px solid var(--line);border-radius:19px;background:linear-gradient(145deg,#fff,#fdfcf8);box-shadow:var(--shadow-sm); }
.agency-directory-card.suspended { background:linear-gradient(145deg,#fff,#fdf7f5); }
.agency-directory-card.archived { opacity:.75;filter:saturate(.7); }
.agency-directory-top { display:flex;align-items:flex-start;justify-content:space-between; }
.agency-directory-copy { margin:32px 0 22px; }
.agency-directory-copy h2 { margin:6px 0 4px;font-family: "Manrope", Inter, ui-sans-serif, sans-serif;font-size:24px; }
.agency-directory-copy p { margin:0;color:var(--muted);font-size:9px; }
.agency-directory-stats { display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:15px 0;border-block:1px solid var(--line); }
.agency-directory-stats div { min-width:0; }
.agency-directory-stats strong,.agency-directory-stats span { display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
.agency-directory-stats strong { font-family: "Manrope", Inter, ui-sans-serif, sans-serif;font-size:14px; }
.agency-directory-stats span { color:var(--muted);font-size:7px; }
.agency-directory-actions { display:flex;gap:8px;margin-top:18px; }
.agency-directory-actions form { flex:1; }
.agency-directory-actions .button { width:100%; }
.agency-directory-add { display:grid;place-items:center;align-content:center;gap:7px;border:1px dashed #b9c4c0;color:var(--muted);cursor:pointer; }
.agency-directory-add:hover { border-color:var(--emerald-700);color:var(--emerald-700);background:#fbfdfb; }
.agency-directory-add > span { display:grid;place-items:center;width:52px;height:52px;margin-bottom:7px;border-radius:16px;color:#fff;background:var(--emerald-700);font-size:23px; }
.agency-directory-add strong { color:var(--navy-950);font-family: "Manrope", Inter, ui-sans-serif, sans-serif;font-size:17px; }
.agency-directory-add small { font-size:8px; }
.master-dialog { width:min(920px,calc(100% - 30px)); }
.provision-note { display:flex;gap:12px;align-items:flex-start;margin-bottom:22px;padding:14px;border:1px solid rgba(8,112,90,.15);border-radius:11px;background:var(--success-soft); }
.provision-note span { display:grid;place-items:center;width:25px;height:25px;border-radius:50%;color:#fff;background:var(--emerald-700);font-weight:900; }
.provision-note p { flex:1;margin:2px 0 0;color:#425d56;font-size:8px;line-height:1.55; }
.form-section-title { display:flex;gap:11px;align-items:center;margin:27px 0 14px;padding-bottom:10px;border-bottom:1px solid var(--line); }
.form-section-title > span { display:grid;place-items:center;width:29px;height:29px;border-radius:9px;color:var(--emerald-700);background:var(--success-soft);font-size:8px;font-weight:900; }
.form-section-title strong,.form-section-title small { display:block; }
.form-section-title strong { font-size:10px; }
.form-section-title small { color:var(--muted);font-size:7px; }
.color-input { min-height:43px;padding:4px 8px;cursor:pointer; }
.agency-detail-hero { display:flex;align-items:center;justify-content:space-between;gap:25px;margin-bottom:18px;padding:30px;border:1px solid color-mix(in srgb,var(--agency-color) 16%,var(--line));border-radius:20px;background:radial-gradient(circle at 90% 15%,color-mix(in srgb,var(--agency-color) 14%,transparent),transparent 32%),linear-gradient(145deg,#fff,#fbfcf9);box-shadow:var(--shadow-sm); }
.agency-detail-identity { display:flex;align-items:center;gap:18px; }
.agency-detail-identity .agency-logo { --agency-color:var(--agency-color); }
.agency-detail-identity h1 { margin:3px 0 1px;font-family: "Manrope", Inter, ui-sans-serif, sans-serif;font-size:32px; }
.agency-detail-identity p { margin:0 0 8px;color:var(--muted);font-size:10px; }
.credential-reveal { display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:18px;padding:23px 27px;border:1px solid rgba(183,124,22,.22);border-radius:16px;background:linear-gradient(135deg,#fff9ec,#fffdf8);box-shadow:var(--shadow-sm); }
.credential-reveal h2 { margin:4px 0;font-family: "Manrope", Inter, ui-sans-serif, sans-serif;font-size:21px; }
.credential-reveal p { margin:0;color:var(--muted);font-size:8px; }
.credential-values { display:flex;align-items:flex-end;gap:9px; }
.credential-values label { min-width:180px;color:var(--muted);font-size:7px;text-transform:uppercase;letter-spacing:.07em; }
.credential-values strong { display:block;margin-top:4px;padding:10px 12px;border:1px solid #e5d9bc;border-radius:9px;color:var(--navy-950);background:#fff;font-family:ui-monospace,monospace;font-size:10px;text-transform:none;letter-spacing:0; }
.agency-detail-metrics { margin-bottom:18px; }
.agency-settings-grid { grid-template-columns:minmax(0,1fr) 350px; }
.master-admin-list .card-body { padding-top:8px; }
.admin-row { display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line); }
.admin-row:last-child { border-bottom:0; }
.admin-row strong,.admin-row small { display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
.admin-row strong { font-size:9px; }
.admin-row small { color:var(--muted);font-size:7px; }
.agency-danger-card .card-body { display:grid;gap:13px; }
.suspension-note { padding:13px;border-radius:10px;background:var(--danger-soft); }
.suspension-note strong,.suspension-note p { display:block;margin:0; }
.suspension-note strong { color:var(--danger);font-size:9px; }
.suspension-note p { margin-top:4px;color:#78514e;font-size:8px; }
.full-width { width:100%; }
.archive-agency { width:100%;justify-content:center;padding:8px; }

@media (max-width: 1200px) {
    .master-metric-grid { grid-template-columns:repeat(2,1fr); }
    .agency-directory { grid-template-columns:repeat(2,1fr); }
    .master-grid,.agency-settings-grid { grid-template-columns:1fr; }
    .master-side-stack { grid-template-columns:repeat(2,1fr); }
}
@media (max-width: 780px) {
    .master-hero,.agency-detail-hero,.credential-reveal { align-items:stretch;flex-direction:column;padding:25px 21px; }
    .master-hero h1 { font-size:34px; }
    .master-metric-grid,.agency-directory,.master-side-stack { grid-template-columns:1fr; }
    .agency-directory-card,.agency-directory-add { min-height:0; }
    .agency-detail-identity { align-items:flex-start; }
    .credential-values { align-items:stretch;flex-direction:column; }
    .credential-values label { min-width:0; }
    .agency-table { min-width:760px; }
    .master-return { display:none; }
}

/* Tenant brand system and overflow hardening */
.tenant-branded {
    --emerald-600: color-mix(in srgb, var(--tenant-primary) 88%, #fff);
    --emerald-700: var(--tenant-primary);
    --emerald-800: color-mix(in srgb, var(--tenant-primary) 82%, #000);
    --gold-500: var(--tenant-accent);
    --gold-600: color-mix(in srgb, var(--tenant-accent) 84%, #000);
}
.main-panel { min-width: 0; overflow-x: clip; }
.brand, .page-heading, .page-heading > *, .topbar-context, .topbar-actions,
.card, .card-header, .card-body, .field, .branding-workspace, .branding-workspace > * {
    min-width: 0;
}
.brand-mark { overflow: hidden; padding: 5px; }
.brand-mark img { display: block; width: 100%; height: 100%; border-radius: 8px; object-fit: contain; }
.platform-attribution {
    margin: 0 7px 13px; padding: 9px 10px; border: 1px solid rgba(255,255,255,.1);
    border-radius: 9px; color: #8297a9; font-size: 8px; text-align: center; letter-spacing: .03em;
}
.platform-attribution strong { color: #c8d5de; }
.page-heading > :first-child { flex: 1 1 auto; min-width: 0; }
.page-heading > .heading-actions, .page-heading > .button { flex: 0 0 auto; max-width: 100%; }
.page-heading h1, .page-heading p, .card a, .card code { overflow-wrap: anywhere; }
.module-heading { padding-top: 2px; }
.login-powered {
    margin-top: 12px; color: #8b969f; font-size: 9px; text-align: center; letter-spacing: .03em;
}
.login-brand .brand-mark { padding: 6px; }

.brand-studio-heading .heading-actions { justify-content: flex-end; }
.branding-workspace { grid-template-columns: minmax(0, 1fr) minmax(280px, 330px); }
.brand-preview-strip {
    position: relative; display: grid; grid-template-columns: auto minmax(0, 1fr) 80px; align-items: center; gap: 14px;
    margin-bottom: 24px; padding: 17px; overflow: hidden; border: 1px solid color-mix(in srgb, var(--brand-primary) 18%, var(--line));
    border-radius: 15px; background: linear-gradient(135deg, color-mix(in srgb, var(--brand-primary) 7%, #fff), #fff);
}
.brand-preview-strip > i {
    align-self: stretch; border-radius: 12px;
    background: linear-gradient(145deg, var(--brand-primary), color-mix(in srgb, var(--brand-primary) 74%, #071d34));
    box-shadow: inset 0 -6px 0 var(--brand-accent);
}
.brand-preview-mark {
    display: grid; place-items: center; width: 58px; height: 58px; padding: 7px; overflow: hidden;
    border-radius: 16px; color: #fff; background: var(--brand-primary); font-family: "Manrope", Inter, ui-sans-serif, sans-serif; font-weight: 800;
}
.brand-preview-mark img { width: 100%; height: 100%; border-radius: 10px; object-fit: contain; }
.brand-preview-strip span, .brand-preview-strip strong, .brand-preview-strip small { display: block; }
.brand-preview-strip span { color: var(--muted); font-size: 8px; text-transform: uppercase; letter-spacing: .08em; }
.brand-preview-strip strong { margin-top: 3px; overflow-wrap: anywhere; font-family: "Manrope", Inter, ui-sans-serif, sans-serif; font-size: 20px; }
.brand-preview-strip small { margin-top: 2px; color: var(--muted); font-size: 9px; }
.brand-upload-control {
    display: grid; grid-template-columns: 44px minmax(0, 1fr); gap: 2px 11px; align-items: center; min-height: 78px;
    padding: 12px; border: 1px dashed #bdc9c4; border-radius: 12px; background: #fbfcfa; cursor: pointer;
}
.brand-upload-control:hover { border-color: var(--tenant-primary); background: color-mix(in srgb, var(--tenant-primary) 4%, #fff); }
.brand-upload-control input { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.brand-upload-control > span {
    grid-row: 1 / 3; display: grid; place-items: center; width: 44px; height: 44px; padding: 5px; overflow: hidden;
    border-radius: 11px; color: var(--tenant-primary); background: color-mix(in srgb, var(--tenant-primary) 10%, #fff); font-size: 18px;
}
.brand-upload-control > span img { width: 100%; height: 100%; border-radius: 7px; object-fit: contain; }
.brand-upload-control strong { align-self: end; font-size: 10px; }
.brand-upload-control small { align-self: start; color: var(--muted); font-size: 8px; line-height: 1.4; }
.brand-background-control {
    min-height: 112px; color: #fff; background-color: var(--navy-800); background-size: cover; background-position: center;
}
.brand-background-control small { color: #c4d0da; }
.brand-background-control > span { color: #fff; background: rgba(255,255,255,.14); }
.locked-setting {
    display: flex; align-items: flex-start; gap: 11px; min-height: 68px; padding: 13px; border: 1px solid #ddd9cd;
    border-radius: 11px; background: #f8f6f0;
}
.locked-setting > span { display: grid; place-items: center; flex: 0 0 auto; width: 30px; height: 30px; border-radius: 9px; color: #8c6c2b; background: #eee5d2; }
.locked-setting strong, .locked-setting small { display: block; }
.locked-setting strong { font-size: 9px; }
.locked-setting small { margin-top: 3px; color: var(--muted); font-size: 8px; line-height: 1.5; }
.field-note { margin: 6px 2px 0; color: var(--muted); font-size: 8px; line-height: 1.45; }
.branding-links { display: grid; gap: 0; }
.branding-links > div { min-width: 0; padding: 13px 0; border-bottom: 1px solid var(--line); }
.branding-links > div:last-child { border-bottom: 0; }
.branding-links span, .branding-links a { display: block; }
.branding-links span { margin-bottom: 5px; color: var(--muted); font-size: 8px; text-transform: uppercase; letter-spacing: .08em; }
.branding-links a { color: var(--tenant-primary); font-size: 9px; line-height: 1.55; overflow-wrap: anywhere; word-break: break-word; }
.domain-steps { display: grid; gap: 14px; margin: 0; padding: 0; list-style: none; }
.domain-steps li { display: grid; grid-template-columns: 27px minmax(0, 1fr); gap: 10px; align-items: start; }
.domain-steps li > span { display: grid; place-items: center; width: 27px; height: 27px; border-radius: 9px; color: #fff; background: var(--tenant-primary); font-size: 8px; font-weight: 850; }
.domain-steps p { margin: 1px 0 0; color: var(--muted); font-size: 9px; line-height: 1.55; overflow-wrap: anywhere; }
.domain-steps strong { color: var(--navy-900); }
.verification-token { margin-top: 18px; padding: 13px; border-radius: 11px; color: #6b5221; background: #fbf4e4; }
.verification-token span, .verification-token code { display: block; }
.verification-token span { margin-bottom: 6px; font-size: 8px; font-weight: 850; text-transform: uppercase; letter-spacing: .07em; }
.verification-token code { color: #6b5221; font-size: 8px; line-height: 1.55; overflow-wrap: anywhere; word-break: break-all; }

@media (max-width: 1180px) {
    .branding-workspace { grid-template-columns: 1fr; }
    .branding-workspace > .stack { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
    .brand-studio-heading .heading-actions { display: grid; width: 100%; }
    .brand-studio-heading .heading-actions .button { width: 100%; }
    .branding-workspace > .stack { grid-template-columns: 1fr; }
    .brand-preview-strip { grid-template-columns: auto minmax(0, 1fr); }
    .brand-preview-strip > i { display: none; }
}

/* Simplified daily workspace */
.home-heading { align-items: center; }
.home-heading h1 { font-size: clamp(31px, 3.2vw, 44px); }
.daily-focus-grid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 12px; margin-bottom: 20px; }
.daily-focus-card {
    display: grid; grid-template-columns: auto minmax(0,1fr) auto; gap: 13px; align-items: center; min-height: 118px; padding: 18px;
    border: 1px solid var(--line); border-radius: 16px; background: var(--paper); box-shadow: var(--shadow-sm); transition: .18s ease;
}
.daily-focus-card:hover { border-color: #bdc9c5; transform: translateY(-2px); box-shadow: 0 12px 28px rgba(6,24,43,.08); }
.daily-focus-card.needs-action { border-color: #e6d5ad; background: linear-gradient(145deg,#fffefb,#fffaf0); }
.daily-focus-icon { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 13px; color: var(--emerald-700); background: var(--success-soft); font-size: 17px; font-weight: 700; }
.daily-focus-card.needs-action .daily-focus-icon { color: #94610c; background: var(--warning-soft); }
.daily-focus-card small, .daily-focus-card strong, .daily-focus-card p { display: block; margin: 0; }
.daily-focus-card small { color: var(--muted); font-size: 10px; font-weight: 700; }
.daily-focus-card strong { margin: 1px 0; font-family: var(--font-display); font-size: 25px; line-height: 1.1; }
.daily-focus-card p { color: var(--muted); font-size: 9px; line-height: 1.35; }
.daily-focus-card > i { color: #91a0aa; font-style: normal; }
.simple-home-grid { grid-template-columns: minmax(0,1fr) minmax(270px,320px); }
.simple-task-list, .recent-student-list { display: grid; }
.simple-task-row { display: grid; grid-template-columns: auto minmax(0,1fr) auto auto; gap: 12px; align-items: center; min-height: 68px; padding: 11px 18px; border-top: 1px solid #ecece8; }
.simple-task-row:first-child { border-top: 0; }
.simple-task-row:hover, .recent-student-row:hover { background: #fbfcfa; }
.task-check { width: 21px; height: 21px; border: 2px solid #aab8b5; border-radius: 7px; background: #fff; }
.simple-task-copy strong, .simple-task-copy small { display: block; }
.simple-task-copy strong { font-size: 11px; }
.simple-task-copy small { margin-top: 3px; color: var(--muted); font-size: 9px; }
.simple-task-due { min-width: 58px; padding: 6px 8px; border-radius: 8px; color: var(--emerald-700); background: var(--success-soft); font-size: 9px; font-weight: 750; text-align: center; }
.simple-task-due.late { color: var(--danger); background: var(--danger-soft); }
.simple-row-arrow { color: #8a99a4; }
.simple-health-list { grid-template-columns: repeat(2,minmax(0,1fr)); padding: 12px; }
.recent-student-row { display: grid; grid-template-columns: auto minmax(0,1fr) auto auto; gap: 11px; align-items: center; min-height: 69px; padding: 11px 18px; border-top: 1px solid #ecece8; }
.recent-student-row:first-child { border-top: 0; }
.recent-student-row > span:nth-child(2) strong, .recent-student-row > span:nth-child(2) small { display: block; }
.recent-student-row > span:nth-child(2) strong { font-size: 11px; }
.recent-student-row > span:nth-child(2) small { margin-top: 3px; color: var(--muted); font-size: 9px; }
.recent-student-row > i { color: #8a99a4; font-style: normal; }
.quick-start-actions { display: grid; gap: 9px; }
.quick-start-action { display: grid; grid-template-columns: auto minmax(0,1fr) auto; gap: 11px; align-items: center; padding: 12px; border: 1px solid var(--line); border-radius: 12px; background: #fff; }
.quick-start-action:hover { border-color: #b5c3bf; box-shadow: var(--shadow-sm); }
.quick-start-action > span { display: grid; place-items: center; width: 35px; height: 35px; border-radius: 10px; color: var(--emerald-700); background: var(--success-soft); font-weight: 800; }
.quick-start-action.primary { color: #fff; border-color: transparent; background: linear-gradient(135deg,var(--emerald-700),#075149); }
.quick-start-action.primary > span { color: #fff; background: rgba(255,255,255,.13); }
.quick-start-action strong, .quick-start-action small { display: block; }
.quick-start-action strong { font-size: 10px; }
.quick-start-action small { margin-top: 2px; color: var(--muted); font-size: 8px; }
.quick-start-action.primary small { color: #c5dfd8; }
.quick-start-action > i { font-style: normal; }
.account-disclosure { overflow: hidden; }
.account-disclosure > summary { display: flex; align-items: center; justify-content: space-between; min-height: 70px; padding: 14px 18px; list-style: none; cursor: pointer; }
.account-disclosure > summary::-webkit-details-marker { display: none; }
.account-disclosure > summary strong { display: block; margin-top: 2px; font-size: 12px; }
.account-disclosure > summary i { color: var(--muted); font-style: normal; transition: transform .18s ease; }
.account-disclosure[open] > summary i { transform: rotate(180deg); }
.account-disclosure form { display: grid; gap: 12px; }

@media (max-width: 1180px) {
    .daily-focus-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .simple-home-grid { grid-template-columns: 1fr; }
}
@media (max-width: 700px) {
    .daily-focus-grid { grid-template-columns: 1fr 1fr; gap: 9px; }
    .daily-focus-card { grid-template-columns: auto minmax(0,1fr); min-height: 104px; padding: 14px; }
    .daily-focus-card > i { display: none; }
    .daily-focus-icon { width: 35px; height: 35px; }
    .daily-focus-card strong { font-size: 21px; }
    .simple-health-list { grid-template-columns: 1fr; }
    .simple-task-row { grid-template-columns: auto minmax(0,1fr) auto; padding: 12px 14px; }
    .simple-row-arrow { display: none; }
    .recent-student-row { grid-template-columns: auto minmax(0,1fr) auto; padding: 11px 14px; }
    .recent-student-row .pill { display: none; }
}

/* Guided student setup */
.simple-create-heading { margin-bottom: 22px; }
.student-wizard-layout { display: grid; grid-template-columns: 250px minmax(0,760px); gap: 20px; align-items: start; justify-content: center; }
.student-wizard-progress { position: sticky; top: 96px; display: grid; gap: 6px; padding: 10px; border: 1px solid var(--line); border-radius: 16px; background: rgba(255,254,251,.74); }
.student-wizard-step { display: grid; grid-template-columns: auto minmax(0,1fr); gap: 11px; align-items: center; padding: 12px; border-radius: 11px; color: var(--muted); }
.student-wizard-step > span { display: grid; place-items: center; width: 31px; height: 31px; border: 1px solid #cfd6d3; border-radius: 10px; background: #fff; font-size: 10px; font-weight: 800; }
.student-wizard-step strong, .student-wizard-step small { display: block; }
.student-wizard-step strong { color: #4f5f70; font-size: 10px; }
.student-wizard-step small { margin-top: 2px; font-size: 8px; line-height: 1.3; }
.student-wizard-step.active { color: #d6e7e2; background: var(--navy-800); }
.student-wizard-step.active > span { color: #fff; border-color: rgba(255,255,255,.22); background: var(--emerald-700); }
.student-wizard-step.active strong { color: #fff; }
.student-wizard-step.complete > span { color: #fff; border-color: var(--emerald-700); background: var(--emerald-700); }
.student-wizard-step.complete > span { font-size: 0; }
.student-wizard-step.complete > span::after { content: "✓"; font-size: 11px; }
.student-wizard-card { min-height: 530px; }
.student-wizard-panel { min-height: 440px; padding: 34px; }
.wizard-panel-heading { margin-bottom: 28px; }
.wizard-panel-heading > span { display: inline-flex; padding: 5px 8px; border-radius: 7px; color: var(--emerald-700); background: var(--success-soft); font-size: 8px; font-weight: 800; }
.wizard-panel-heading h2 { margin: 13px 0 6px; font-family: var(--font-display); font-size: 28px; letter-spacing: -.025em; }
.wizard-panel-heading p { margin: 0; color: var(--muted); font-size: 11px; }
.student-wizard-panel .field label { color: #475568; font-size: 9px; letter-spacing: 0; text-transform: none; }
.student-wizard-panel .input, .student-wizard-panel .select { min-height: 50px; font-size: 12px; }
.wizard-reassurance { display: flex; gap: 10px; align-items: flex-start; margin-top: 22px; padding: 13px; border-radius: 11px; color: #49635c; background: var(--success-soft); }
.wizard-reassurance > span { display: grid; place-items: center; flex: 0 0 auto; width: 23px; height: 23px; border-radius: 50%; color: #fff; background: var(--emerald-700); font-size: 9px; font-weight: 800; }
.wizard-reassurance p { margin: 2px 0 0; font-size: 9px; line-height: 1.5; }
.student-wizard-actions { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 78px; padding: 14px 24px; border-top: 1px solid var(--line); background: #fbfaf7; }
.student-wizard-actions > span { margin: 0 auto; color: var(--muted); font-size: 9px; font-weight: 700; }
.student-review-card { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; }
.student-review-card > div { min-width: 0; padding: 16px; border: 1px solid var(--line); border-radius: 12px; background: #fbfaf7; }
.student-review-card span, .student-review-card strong, .student-review-card small { display: block; overflow-wrap: anywhere; }
.student-review-card span { color: var(--muted); font-size: 8px; font-weight: 750; text-transform: uppercase; letter-spacing: .07em; }
.student-review-card strong { margin-top: 8px; font-size: 11px; }
.student-review-card small { margin-top: 3px; color: var(--muted); font-size: 8px; }
.optional-password { margin-top: 14px; border: 1px solid var(--line); border-radius: 12px; background: #fff; }
.optional-password > summary { display: flex; align-items: center; justify-content: space-between; min-height: 62px; padding: 12px 15px; list-style: none; cursor: pointer; }
.optional-password > summary::-webkit-details-marker { display: none; }
.optional-password > summary strong, .optional-password > summary small { display: block; }
.optional-password > summary strong { font-size: 10px; }
.optional-password > summary small { margin-top: 2px; color: var(--muted); font-size: 8px; }
.optional-password > summary i { color: var(--muted); font-style: normal; transition: transform .18s ease; }
.optional-password[open] > summary i { transform: rotate(180deg); }
.optional-password > .field { padding: 0 15px 15px; }
.created-for-you { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 8px; margin-top: 14px; }
.created-for-you > div { display: flex; gap: 7px; align-items: center; padding: 10px; border-radius: 9px; color: #49635c; background: var(--success-soft); }
.created-for-you span { display: grid; place-items: center; width: 18px; height: 18px; border-radius: 50%; color: #fff; background: var(--emerald-700); font-size: 8px; }
.created-for-you strong { font-size: 8px; }

@media (max-width: 960px) {
    .student-wizard-layout { grid-template-columns: 1fr; }
    .student-wizard-progress { position: static; grid-template-columns: repeat(4,minmax(0,1fr)); }
    .student-wizard-step { grid-template-columns: auto; justify-items: center; text-align: center; }
    .student-wizard-step small { display: none; }
}
@media (max-width: 700px) {
    .student-wizard-progress { display: flex; overflow-x: auto; padding: 7px; }
    .student-wizard-step { flex: 0 0 auto; grid-template-columns: auto 1fr; justify-items: initial; min-width: 145px; text-align: left; }
    .student-wizard-card { min-height: 0; }
    .student-wizard-panel { min-height: 0; padding: 23px 17px; }
    .wizard-panel-heading h2 { font-size: 24px; }
    .student-review-card, .created-for-you { grid-template-columns: 1fr 1fr; }
    .student-wizard-actions { position: sticky; bottom: 0; z-index: 5; padding: 11px; }
    .student-wizard-actions > span { display: none; }
    .student-wizard-actions .button { flex: 1; }
}

/* Simplified student workspace */
.student-primary-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 9px; margin: -2px 0 18px; }
.student-more-actions { position: relative; }
.student-more-actions > summary { list-style: none; cursor: pointer; }
.student-more-actions > summary::-webkit-details-marker { display: none; }
.student-more-actions > summary span { margin-left: 5px; transition: transform .18s ease; }
.student-more-actions[open] > summary span { transform: rotate(180deg); }
.student-more-actions > div { position: absolute; top: calc(100% + 7px); right: 0; z-index: 20; width: 210px; overflow: hidden; padding: 6px; border: 1px solid var(--line); border-radius: 12px; background: var(--paper); box-shadow: var(--shadow-lg); }
.student-more-actions > div a, .student-more-actions > div button { display: block; width: 100%; padding: 10px; border: 0; border-radius: 8px; color: #425267; background: transparent; cursor: pointer; font-size: 10px; font-weight: 650; text-align: left; }
.student-more-actions > div a:hover, .student-more-actions > div button:hover { color: var(--emerald-700); background: var(--success-soft); }
.workspace-tabs-more { position: relative; flex: 0 0 auto; }
.workspace-tabs-more > summary { display: flex; align-items: center; gap: 6px; list-style: none; }
.workspace-tabs-more > summary::-webkit-details-marker { display: none; }
.workspace-tabs-more > summary span { font-size: 9px; transition: transform .18s ease; }
.workspace-tabs-more[open] > summary span { transform: rotate(180deg); }
.workspace-tabs-more:has(.tab-button.active) > summary { color: #fff; background: var(--navy-800); box-shadow: 0 5px 12px rgba(6,24,43,.14); }
.workspace-tabs-more > div { position: absolute; top: calc(100% + 8px); right: 0; z-index: 20; display: grid; width: 210px; padding: 6px; border: 1px solid var(--line); border-radius: 12px; background: var(--paper); box-shadow: var(--shadow-lg); }
.workspace-tabs-more > div .tab-button { width: 100%; text-align: left; }
.workspace-tabs-more > div .tab-button.active { color: var(--emerald-700); background: var(--success-soft); box-shadow: none; }

@media (max-width: 700px) {
    .student-primary-actions { display: grid; grid-template-columns: 1fr 1fr; }
    .student-primary-actions > .button { width: 100%; }
    .student-more-actions { grid-column: 1 / -1; }
    .student-more-actions > summary { width: 100%; }
    .student-more-actions > div { right: auto; left: 0; width: 100%; }
    .tabs[aria-label="Student workspace sections"] { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); overflow: visible; }
    .tabs[aria-label="Student workspace sections"] > .tab-button,
    .tabs[aria-label="Student workspace sections"] > .workspace-tabs-more { width: 100%; min-width: 0; }
    .tabs[aria-label="Student workspace sections"] > .tab-button,
    .tabs[aria-label="Student workspace sections"] > .workspace-tabs-more > summary { justify-content: center; padding: 9px 5px; text-align: center; }
    .workspace-tabs-more > div { position: fixed; top: auto; right: 15px; bottom: 15px; left: 15px; width: auto; max-height: 65vh; overflow-y: auto; }
}

/* Student directory filters */
.simple-student-search { flex: 1; }
.filter-more { position: relative; }
.filter-more > summary { list-style: none; cursor: pointer; }
.filter-more > summary::-webkit-details-marker { display: none; }
.button-quiet { min-height: 42px; color: var(--muted); border-color: transparent; background: transparent; }
.filter-more > summary span { margin-left: 5px; transition: transform .18s ease; }
.filter-more[open] > summary span { transform: rotate(180deg); }
.filter-more > div { position: absolute; top: calc(100% + 8px); right: 0; z-index: 20; display: grid; gap: 12px; width: 280px; padding: 16px; border: 1px solid var(--line); border-radius: 13px; background: var(--paper); box-shadow: var(--shadow-lg); }
.filter-more > div .field label { font-size: 8px; }

@media (max-width: 700px) {
    .simple-student-search { display: grid; grid-template-columns: 1fr; }
    .simple-student-search .search-control, .simple-student-search .filter-select, .simple-student-search > .button, .filter-more, .filter-more > summary { width: 100%; }
    .filter-more > div { position: static; width: 100%; margin-top: 7px; box-shadow: var(--shadow-sm); }
}

/* Premium lead workspace */
.lead-page-heading { margin-bottom: 22px; }
.lead-page-heading h1 { font-size: clamp(34px, 4vw, 52px); font-weight: 650; }

.lead-premium-hero {
    position: relative; display: grid; grid-template-columns: minmax(280px,.72fr) minmax(0,1.45fr); gap: 1px;
    margin-bottom: 16px; overflow: hidden; border: 1px solid rgba(255,255,255,.1); border-radius: 22px;
    color: #fff; background: #102d48; box-shadow: 0 24px 52px rgba(6,24,43,.13);
}
.lead-premium-hero::after {
    content: ""; position: absolute; right: -110px; bottom: -180px; width: 420px; height: 420px; pointer-events: none;
    border: 1px solid rgba(255,255,255,.055); border-radius: 50%; box-shadow: 0 0 0 65px rgba(255,255,255,.018), 0 0 0 130px rgba(255,255,255,.012);
}
.lead-hero-summary { position: relative; z-index: 1; padding: clamp(25px,3vw,40px); background: linear-gradient(145deg,#061a30,#0b2b4a); }
.lead-hero-summary .eyebrow { color: #e5be62; }
.lead-hero-summary > strong { display: block; margin: 17px 0 -3px; font-family: var(--font-display); font-size: clamp(55px,7vw,82px); font-weight: 600; letter-spacing: -.065em; line-height: .9; }
.lead-hero-summary h2 { margin: 0; color: #d7e3eb; font-size: 14px; font-weight: 550; }
.lead-hero-summary > p { max-width: 310px; margin: 14px 0 24px; color: #9db3c3; font-size: 11px; line-height: 1.7; }
.lead-value-stack { display: flex; align-items: baseline; gap: 8px; flex-wrap: wrap; padding-top: 20px; border-top: 1px solid rgba(255,255,255,.1); }
.lead-value-stack small { flex: 0 0 100%; color: #7995a8; font-size: 8px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.lead-value-stack span { font-family: var(--font-display); color: #f8fbfd; font-size: 16px; font-weight: 650; }
.lead-value-stack span + span::before { content: "·"; margin-right: 8px; color: #627d91; }
.lead-value-stack b { color: #e5be62; font-size: 8px; letter-spacing: .07em; }

.lead-stage-overview { position: relative; z-index: 1; padding: clamp(24px,3vw,38px); background: linear-gradient(145deg,rgba(17,52,80,.98),rgba(9,37,62,.98)); }
.lead-stage-overview > header { display: flex; justify-content: space-between; gap: 14px; margin-bottom: 17px; }
.lead-stage-overview > header span { font-family: var(--font-display); font-size: 18px; font-weight: 650; }
.lead-stage-overview > header small { color: #91aabc; font-size: 9px; }
.lead-stage-flow { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 9px; }
.lead-stage-flow a { position: relative; min-width: 0; padding: 13px 14px 12px; border: 1px solid rgba(255,255,255,.095); border-radius: 12px; background: rgba(255,255,255,.035); transition: .18s ease; }
.lead-stage-flow a:hover { border-color: rgba(229,190,98,.38); background: rgba(255,255,255,.07); transform: translateY(-1px); }
.lead-stage-flow a > span { display: flex; align-items: center; gap: 7px; overflow: hidden; color: #b9cad5; font-size: 9px; font-weight: 650; white-space: nowrap; text-overflow: ellipsis; }
.lead-stage-flow a > span i { display: grid; place-items: center; width: 19px; height: 19px; flex: 0 0 auto; border-radius: 6px; color: #9fd4c6; background: rgba(35,153,126,.15); font-style: normal; font-size: 8px; }
.lead-stage-flow a > strong { display: block; margin: 9px 0 8px; font-family: var(--font-display); font-size: 24px; line-height: 1; }
.lead-stage-flow a > em { display: block; height: 3px; overflow: hidden; border-radius: 4px; background: rgba(255,255,255,.08); }
.lead-stage-flow a > em b { display: block; height: 100%; min-width: 3px; border-radius: inherit; background: linear-gradient(90deg,#15a583,#e3bd63); }

.lead-priority-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 12px; margin-bottom: 16px; }
.lead-priority-card { display: grid; grid-template-columns: auto minmax(0,1fr) auto; gap: 12px; align-items: center; min-height: 105px; padding: 18px; border: 1px solid var(--line); border-radius: 15px; background: rgba(255,254,251,.88); box-shadow: var(--shadow-sm); transition: .18s ease; }
a.lead-priority-card:hover { border-color: #b8d0c9; transform: translateY(-2px); box-shadow: 0 12px 28px rgba(6,24,43,.07); }
.lead-priority-card.urgent { border-color: #ecc5b7; background: linear-gradient(135deg,#fff,#fff6f1); }
.lead-priority-card.attention { border-color: #ecd8ab; background: linear-gradient(135deg,#fff,#fffbef); }
.lead-priority-icon { display: grid; place-items: center; width: 37px; height: 37px; border-radius: 11px; color: var(--emerald-700); background: var(--success-soft); font-size: 14px; }
.lead-priority-card.urgent .lead-priority-icon { color: var(--danger); background: var(--danger-soft); }
.lead-priority-card.attention .lead-priority-icon { color: var(--warning); background: var(--warning-soft); }
.lead-priority-card small,.lead-priority-card strong,.lead-priority-card p { display: block; }
.lead-priority-card small { color: var(--muted); font-size: 8px; font-weight: 700; }
.lead-priority-card strong { margin: 2px 0; font-family: var(--font-display); font-size: 25px; line-height: 1.1; }
.lead-priority-card p { margin: 0; color: #87919c; font-size: 8px; }
.lead-priority-card > i { color: #9ca6ac; font-style: normal; font-size: 15px; }

.lead-followup-panel { margin-bottom: 16px; overflow: hidden; }
.lead-followup-panel .card-header { min-height: 82px; }
.lead-followup-list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1px; background: var(--line); }
.lead-followup-row { display: grid; grid-template-columns: auto minmax(0,1fr) auto auto; gap: 11px; align-items: center; min-width: 0; padding: 15px 18px; border: 0; color: inherit; background: var(--paper); cursor: pointer; text-align: left; transition: .16s ease; }
.lead-followup-row:hover { background: #f7faf7; }
.lead-followup-row .avatar { width: 35px; height: 35px; }
.lead-followup-row > span:nth-child(2),.lead-followup-row > span:nth-child(2) strong,.lead-followup-row > span:nth-child(2) small { display: block; min-width: 0; }
.lead-followup-row > span:nth-child(2) strong { overflow: hidden; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.lead-followup-row > span:nth-child(2) small { color: var(--muted); font-size: 8px; }
.followup-time { min-width: 48px; padding: 6px 8px; border-radius: 8px; color: var(--emerald-700); background: var(--success-soft); text-align: center; }
.followup-time.late { color: var(--danger); background: var(--danger-soft); }
.followup-time small,.followup-time strong { display: block; font-size: 7px; }
.followup-time strong { font-size: 9px; }
.lead-followup-row > i { color: var(--emerald-700); font-style: normal; font-size: 8px; font-weight: 750; white-space: nowrap; }

.lead-toolbar-card { display: flex; align-items: center; justify-content: space-between; gap: 15px; margin: 24px 0 20px; padding: 12px; border: 1px solid var(--line); border-radius: 14px; background: rgba(255,254,251,.9); box-shadow: var(--shadow-sm); }
.lead-toolbar-card > span { padding: 0 8px; color: var(--muted); font-size: 9px; font-weight: 650; white-space: nowrap; }
.lead-premium-filter { display: flex; align-items: center; gap: 8px; flex: 1; min-width: 0; }
.lead-search-control { display: flex; align-items: center; flex: 1; min-width: 210px; max-width: 470px; min-height: 43px; overflow: hidden; border: 1px solid var(--line-dark); border-radius: 10px; background: #fff; transition: .16s ease; }
.lead-search-control:focus-within { border-color: var(--emerald-600); box-shadow: 0 0 0 3px rgba(10,128,103,.09); }
.lead-search-control span { padding-left: 13px; color: #87919c; font-size: 18px; }
.lead-search-control input { width: 100%; min-width: 0; padding: 10px 12px 10px 8px; border: 0; outline: 0; color: var(--ink); background: transparent; font-size: 10px; }
.lead-premium-filter > .select { width: 190px; }
.lead-clear-filter { padding: 8px; color: var(--emerald-700); font-size: 9px; font-weight: 750; }

.lead-board-section { scroll-margin-top: 90px; }
.lead-section-heading { display: flex; justify-content: space-between; align-items: flex-end; gap: 20px; margin-bottom: 16px; }
.lead-section-heading h2 { margin: 3px 0 3px; font-family: var(--font-display); font-size: 25px; font-weight: 650; letter-spacing: -.025em; }
.lead-section-heading p { margin: 0; color: var(--muted); font-size: 10px; }
.lead-board-legend { display: flex; gap: 12px; color: var(--muted); font-size: 8px; }
.lead-board-legend span { display: flex; align-items: center; gap: 5px; }
.lead-board-legend i { width: 6px; height: 6px; border-radius: 50%; background: var(--emerald-700); }
.lead-board-legend span:last-child i { background: #98a2aa; }
.lead-board-premium { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; align-items: start; }
.lead-stage-column { min-width: 0; padding: 12px; border: 1px solid var(--line); border-top: 3px solid var(--stage-color,#8a9aa6); border-radius: 16px; background: rgba(239,241,237,.62); scroll-margin-top: 90px; }
.lead-stage-column.stage-new { --stage-color:#2b7896; --stage-soft:#e5f1f6; }
.lead-stage-column.stage-contacted { --stage-color:#637c9b; --stage-soft:#ebeff5; }
.lead-stage-column.stage-qualified { --stage-color:#0a8067; --stage-soft:#e3f2eb; }
.lead-stage-column.stage-proposal { --stage-color:#b77c16; --stage-soft:#f7edd8; }
.lead-stage-column.stage-won { --stage-color:#08705a; --stage-soft:#ddefe8; }
.lead-stage-column.stage-lost { --stage-color:#8a939b; --stage-soft:#ecefed; }
.lead-stage-heading { display: grid; grid-template-columns: auto minmax(0,1fr) auto; gap: 10px; align-items: center; min-height: 58px; padding: 2px 3px 12px; }
.lead-stage-symbol { display: grid; place-items: center; width: 31px; height: 31px; border-radius: 9px; color: var(--stage-color); background: var(--stage-soft); font-size: 10px; font-weight: 800; }
.lead-stage-heading h3,.lead-stage-heading p { margin: 0; }
.lead-stage-heading h3 { font-family: var(--font-display); font-size: 14px; font-weight: 700; }
.lead-stage-heading p { color: var(--muted); font-size: 7px; }
.lead-stage-heading > strong { display: grid; place-items: center; min-width: 27px; height: 27px; padding: 0 7px; border-radius: 9px; color: var(--stage-color); background: var(--stage-soft); font-size: 9px; }
.lead-stage-cards { display: grid; gap: 10px; }
.lead-card-premium { min-width: 0; overflow: hidden; padding: 15px; border: 1px solid #daddd8; border-radius: 13px; background: var(--paper); box-shadow: 0 5px 16px rgba(6,24,43,.035); transition: .18s ease; }
.lead-card-premium:hover { border-color: color-mix(in srgb,var(--stage-color) 35%,#daddd8); transform: translateY(-2px); box-shadow: 0 13px 28px rgba(6,24,43,.075); }
.lead-card-premium > header { display: flex; align-items: center; gap: 8px; }
.lead-card-premium > header .avatar { width: 32px; height: 32px; }
.lead-source-badge { max-width: 130px; overflow: hidden; padding: 4px 7px; border-radius: 6px; color: var(--muted); background: #f1f2ef; font-size: 7px; font-weight: 750; text-overflow: ellipsis; white-space: nowrap; text-transform: uppercase; letter-spacing: .04em; }
.lead-more-button { margin-left: auto; padding: 5px 3px; border: 0; color: #87919c; background: transparent; cursor: pointer; font-weight: 800; letter-spacing: 1px; }
.lead-card-identity { padding: 12px 0; border-bottom: 1px solid var(--line); }
.lead-card-identity h3 { margin: 0 0 2px; overflow: hidden; font-family: var(--font-display); font-size: 17px; font-weight: 700; letter-spacing: -.02em; text-overflow: ellipsis; white-space: nowrap; }
.lead-card-identity a,.lead-card-identity span { display: block; overflow: hidden; color: var(--muted); font-size: 8px; text-overflow: ellipsis; white-space: nowrap; }
.lead-card-identity a:hover { color: var(--emerald-700); }
.lead-card-facts { display: grid; grid-template-columns: 1fr 1fr; gap: 11px 8px; padding: 13px 0; border-bottom: 1px solid var(--line); }
.lead-card-facts div { min-width: 0; }
.lead-card-facts span,.lead-card-facts strong { display: block; }
.lead-card-facts span { color: #8a949d; font-size: 7px; }
.lead-card-facts strong { overflow: hidden; margin-top: 2px; font-size: 8px; font-weight: 700; text-overflow: ellipsis; white-space: nowrap; }
.lead-confidence { padding: 12px 0 9px; }
.lead-confidence > span { display: flex; justify-content: space-between; gap: 10px; }
.lead-confidence small { color: var(--muted); font-size: 7px; }
.lead-confidence strong { color: var(--stage-color); font-size: 8px; }
.lead-confidence > i { display: block; height: 4px; margin-top: 6px; overflow: hidden; border-radius: 5px; background: #eceeeb; }
.lead-confidence > i b { display: block; height: 100%; min-width: 2px; border-radius: inherit; background: var(--stage-color); }
.lead-next-step { display: flex; align-items: center; gap: 8px; margin: 2px 0 13px; padding: 9px; border-radius: 9px; color: var(--emerald-700); background: var(--success-soft); }
.lead-next-step.overdue { color: var(--danger); background: var(--danger-soft); }
.lead-next-step > span { font-size: 12px; }
.lead-next-step small,.lead-next-step strong { display: block; }
.lead-next-step small { opacity: .7; font-size: 7px; }
.lead-next-step strong { font-size: 8px; }
.lead-card-premium > footer { display: flex; gap: 7px; }
.lead-card-action { flex: 1; min-height: 34px; padding: 8px; border: 1px solid var(--line-dark); border-radius: 8px; color: var(--navy-800); background: #fff; cursor: pointer; font-size: 8px; font-weight: 750; text-align: center; transition: .16s ease; }
.lead-card-action:hover { border-color: var(--emerald-700); color: var(--emerald-700); }
.lead-card-action.primary { border-color: var(--stage-color); color: #fff; background: var(--stage-color); }
.lead-stage-empty { display: grid; place-items: center; min-height: 145px; padding: 20px; border: 1px dashed #c9d0cb; border-radius: 12px; color: #89928d; text-align: center; }
.lead-stage-empty span { display: grid; place-items: center; width: 35px; height: 35px; margin-bottom: 8px; border-radius: 50%; color: var(--stage-color); background: var(--stage-soft); }
.lead-stage-empty strong { color: #66736d; font-size: 9px; }
.lead-stage-empty small { margin-top: 3px; font-size: 7px; }

.lead-dialog { width: min(900px,calc(100vw - 28px)); border-radius: 20px; }
.lead-dialog .dialog-header { align-items: flex-start; padding: 23px 25px 20px; }
.lead-dialog .dialog-header h2 { margin-top: 2px; font-size: 27px; letter-spacing: -.025em; }
.lead-dialog .dialog-header p { margin: 5px 0 0; color: var(--muted); font-size: 10px; }
.lead-form-body { display: grid; gap: 14px; padding: 18px; background: #f5f5f1; }
.lead-form-section { overflow: hidden; border: 1px solid var(--line); border-radius: 14px; background: var(--paper); }
.lead-form-section-title { display: flex; align-items: center; gap: 10px; padding: 14px 17px; border-bottom: 1px solid var(--line); background: #fbfaf7; }
.lead-form-section-title > span { display: grid; place-items: center; width: 27px; height: 27px; border-radius: 9px; color: #fff; background: var(--navy-800); font-size: 9px; font-weight: 800; }
.lead-form-section-title strong,.lead-form-section-title small { display: block; }
.lead-form-section-title strong { font-size: 10px; }
.lead-form-section-title small { color: var(--muted); font-size: 8px; }
.lead-form-section .form-grid { padding: 17px; }
.lead-form-section .field label { color: #596676; font-size: 8px; letter-spacing: 0; text-transform: none; }
.lead-form-section .input,.lead-form-section .select { min-height: 45px; font-size: 10px; }
.lead-form-actions { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 14px 17px; border: 1px solid var(--line); border-radius: 13px; background: var(--paper); }
.lead-form-actions > span { color: var(--muted); font-size: 8px; }
.lead-form-actions > span i { display: inline-grid; place-items: center; width: 19px; height: 19px; margin-right: 6px; border-radius: 50%; color: #fff; background: var(--emerald-700); font-style: normal; font-size: 7px; }
.lead-form-actions > div { display: flex; gap: 8px; }
.input-suffix { position: relative; }
.input-suffix .input { padding-right: 34px; }
.input-suffix > span { position: absolute; top: 50%; right: 13px; color: var(--muted); font-size: 9px; transform: translateY(-50%); }
.lead-launch-panel { display: flex; align-items: center; justify-content: space-between; gap: 20px; border-top: 1px solid var(--line); background: linear-gradient(135deg,#f3faf7,#fff); }
.lead-launch-panel h3 { margin: 5px 0 2px; font-family: var(--font-display); font-size: 19px; }
.lead-launch-panel p { max-width: 570px; margin: 0; color: var(--muted); font-size: 9px; }

@media (max-width: 1180px) {
    .lead-priority-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .lead-board-premium { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 900px) {
    .lead-premium-hero { grid-template-columns: 1fr; }
    .lead-stage-flow { grid-template-columns: repeat(3,minmax(0,1fr)); }
    .lead-followup-list { grid-template-columns: 1fr; }
}
@media (max-width: 700px) {
    .lead-page-heading .button { width: 100%; margin-top: 15px; }
    .lead-premium-hero { border-radius: 17px; }
    .lead-hero-summary,.lead-stage-overview { padding: 23px 19px; }
    .lead-stage-flow { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .lead-priority-grid { grid-template-columns: 1fr 1fr; gap: 9px; }
    .lead-priority-card { grid-template-columns: auto minmax(0,1fr); min-height: 91px; padding: 13px; }
    .lead-priority-card > i { display: none; }
    .lead-priority-icon { width: 32px; height: 32px; }
    .lead-followup-row { grid-template-columns: auto minmax(0,1fr) auto; padding: 13px; }
    .lead-followup-row > i { display: none; }
    .lead-toolbar-card { align-items: stretch; flex-direction: column; }
    .lead-premium-filter { display: grid; grid-template-columns: 1fr 1fr; }
    .lead-search-control { grid-column: 1 / -1; width: 100%; max-width: none; min-width: 0; }
    .lead-premium-filter > .select { width: 100%; }
    .lead-clear-filter { text-align: center; }
    .lead-toolbar-card > span { text-align: right; }
    .lead-section-heading { align-items: flex-start; flex-direction: column; }
    .lead-board-premium { grid-template-columns: 1fr; }
    .lead-stage-column { padding: 10px; }
    .lead-form-section .form-grid { grid-template-columns: 1fr; }
    .lead-form-actions,.lead-launch-panel { align-items: stretch; flex-direction: column; }
    .lead-form-actions > div { display: grid; grid-template-columns: 1fr 1fr; }
    .lead-launch-panel .button { width: 100%; }
}
@media (max-width: 430px) {
    .lead-priority-grid { grid-template-columns: 1fr; }
    .lead-premium-filter { grid-template-columns: 1fr; }
    .lead-search-control { grid-column: auto; }
}

/* Simple Mode priority overrides — kept last so legacy module styles cannot shrink the interface. */
body { font-size: 15px; line-height: 1.55; }
.page-wrap { padding-bottom: 70px; }
.nav-item { min-height: 44px; font-size: 14px; }
.nav-subitem { min-height: 38px; font-size: 13px; }
.nav-label { font-size: 10px; letter-spacing: .13em; }
.brand strong { font-size: 17px; }
.brand span, .sidebar-profile span, .platform-attribution { font-size: 11px; }
.topbar-context strong { font-size: 14px; }
.topbar-user strong { font-size: 12px; }
.topbar-user small { font-size: 11px; }
.eyebrow { font-size: 11px; letter-spacing: .12em; }
.page-heading p, .module-heading p { max-width: 760px; font-size: 15px; line-height: 1.65; }
.button { min-height: 43px; font-size: 14px; }
.button-small { min-height: 36px; font-size: 12px; }
.card-header p, .card-body > p, .muted { font-size: 13px; line-height: 1.6; }
.card-link, .row-action, .link-button { font-size: 12px; }
.field label, .filter-more > div .field label { margin-bottom: 7px; font-size: 12px; letter-spacing: .035em; }
.input, .select, .textarea { min-height: 45px; font-size: 14px; line-height: 1.4; }
.textarea { min-height: 96px; }
.field .hint, .field > small, .field > p { font-size: 12px; line-height: 1.55; }
.pill { min-height: 25px; padding: 5px 9px; font-size: 11px; }
.data-table { font-size: 13px; }
.data-table th { font-size: 11px; letter-spacing: .04em; }
.data-table td .muted, .person-cell span span { font-size: 12px; }
.empty-state h3 { font-size: 19px; }
.empty-state p, .empty-compact p { font-size: 13px; line-height: 1.6; }
.student-more-actions > div a, .student-more-actions > div button { font-size: 12px; }
.daily-focus-card small, .daily-focus-card p { font-size: 12px; }
.simple-task-copy strong, .recent-student-row strong, .quick-start-action strong { font-size: 13px; }
.simple-task-copy small, .recent-student-row small, .quick-start-action small, .agenda-item span span { font-size: 11px; }
.simple-task-due, .pipeline-row { font-size: 12px; }
.health-case p { font-size: 12px; }
.lead-hero-summary > p { font-size: 13px; }
.lead-value-stack small, .lead-value-stack b { font-size: 10px; }
.lead-stage-overview > header small { font-size: 11px; }
.lead-stage-flow a > span { font-size: 11px; }
.lead-stage-flow a > span i { font-size: 10px; }
.lead-priority-card small, .lead-priority-card p { font-size: 11px; }
.lead-followup-row > span:nth-child(2) strong { font-size: 13px; }
.lead-followup-row > span:nth-child(2) small { font-size: 11px; }
.followup-time small { font-size: 10px; }
.followup-time strong { font-size: 12px; }
.lead-followup-row > i, .lead-toolbar-card > span, .lead-clear-filter { font-size: 11px; }
.lead-search-control input, .lead-section-heading p { font-size: 13px; }
.lead-board-legend { font-size: 11px; }
.lead-stage-symbol, .lead-stage-heading > strong { font-size: 11px; }
.lead-stage-heading h3 { font-size: 16px; }
.lead-stage-heading p, .lead-source-badge { font-size: 10px; }
.lead-card-identity a, .lead-card-identity span { font-size: 11px; }
.lead-card-facts span { font-size: 10px; }
.lead-card-facts strong { font-size: 12px; }
.lead-confidence small, .lead-confidence strong { font-size: 11px; }
.lead-next-step small { font-size: 10px; }
.lead-next-step strong { font-size: 12px; }
.lead-card-action { min-height: 38px; font-size: 11px; }
.lead-stage-empty strong { font-size: 12px; }
.lead-stage-empty small { font-size: 11px; }
.lead-dialog .dialog-header p { font-size: 12px; }
.lead-form-section-title strong { font-size: 13px; }
.lead-form-section-title small { font-size: 11px; }
.topbar-create { font-family: var(--font-ui); }
.simple-command-grid strong { font-family: var(--font-display); }
.mobile-bottom-nav a, .mobile-bottom-nav button { font-family: var(--font-ui); }

@media (max-width: 700px) {
    body { font-size: 14px; }
    .page-wrap { padding-bottom: 94px; }
    .page-heading p, .module-heading p { font-size: 14px; }
    .topbar-create, .help-button { display: none; }
}
