:root{color:#1c1b23;background:#fcf8ff;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;--accent: #114b7c;--accent-strong: #0b3d68;--brand-navy: #000b29;--brand-navy-mid: #1a2440;--canvas: #ffffff;--surface: #f7f7f5;--surface-soft: #f9f8fb;--surface-purple: #f6f2fe;--surface-purple-strong: #e9e8f3;--hairline: #e9e9e7;--hairline-strong: #d1d1cf;--ink: #1c1b23;--muted: #6b6b6b;--slate: #787774;--purple: #6c5ce7;--purple-soft: #e4dfff;--sky: #f0f7ff;--mint: #f2fbf9;--rose: #fff0f6;--peach: #fff1f0;--yellow: #fffbeb;--orange: #d9730d;--teal: #0b6e99;--pink: #e03e9e;--error: #ba1a1a;--shadow-sm: 0 1px 2px rgba(15, 15, 15, .04);--shadow-card: 0 4px 12px rgba(15, 15, 15, .08)}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,input,select,textarea{font:inherit}button{border:0}.loading-screen,.login-page,.public-status-page{align-items:center;background:var(--surface-soft);display:flex;min-height:100vh;padding:24px}.loading-screen,.login-page,.public-status-page{justify-content:center}.loading-screen p{color:var(--muted);margin:0}.login-panel{background:var(--canvas);border:1px solid var(--hairline);border-radius:12px;box-shadow:var(--shadow-card);max-width:420px;padding:28px;width:100%}.login-panel h1{margin-bottom:22px}.public-status-panel{background:var(--canvas);border:1px solid var(--hairline);border-radius:12px;box-shadow:var(--shadow-card);max-width:500px;padding:32px;width:100%}.public-status-icon{align-items:center;background:var(--mint);border-radius:999px;color:var(--teal);display:inline-flex;height:52px;justify-content:center;margin-bottom:18px;width:52px}.public-status-panel h1{color:var(--ink);font-size:34px;margin:0 0 14px}.public-status-panel p{color:var(--muted);font-size:15px;line-height:1.6;margin:0}.public-status-panel .eyebrow{color:var(--accent);font-size:12px;font-weight:800;letter-spacing:.08em;margin-bottom:10px;text-transform:uppercase}.public-status-note{border-top:1px solid var(--hairline);margin-top:20px!important;padding-top:18px}.login-form{display:grid;gap:10px}.login-form label,.form-grid label{color:#37352f;font-size:13px;font-weight:700}.login-form input,.form-grid input,.form-grid select,.form-grid textarea{background:var(--canvas);border:1px solid var(--hairline-strong);border-radius:8px;color:var(--ink);min-height:44px;padding:10px 12px;width:100%}.login-form input:focus,.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus,.global-search input:focus,.page-search input:focus{border-color:var(--accent);outline:3px solid rgba(17,75,124,.14)}.login-form .primary-action{margin-top:8px;width:100%}.login-error{background:#fff7ed;border:1px solid #fed7aa;border-radius:8px;color:#9a3412;font-size:13px;line-height:1.45;margin:4px 0 0;padding:10px 12px}.app-shell{background:var(--surface-soft);min-height:100vh}.sidebar{background:var(--canvas);border-right:1px solid var(--hairline);bottom:0;display:flex;flex-direction:column;left:0;padding:18px 16px;position:fixed;top:0;width:256px;z-index:30}.brand{align-items:center;color:var(--brand-navy);display:flex;font-size:20px;font-weight:800;gap:12px;margin-bottom:28px}.brand-mark{align-items:center;background:var(--brand-navy);border-radius:10px;color:#fff;display:inline-flex;height:36px;justify-content:center;width:36px}.sidebar nav{display:grid;gap:6px}.nav-item{align-items:center;background:transparent;border-radius:10px;color:#474554;cursor:pointer;display:flex;gap:12px;min-height:42px;padding:10px 12px;text-align:left;width:100%}.nav-item.active,.nav-item:hover{background:var(--surface-purple);color:var(--accent);font-weight:800}.sidebar-footer{background:var(--surface);border:1px solid var(--hairline);border-radius:12px;margin-top:auto;padding:14px}.sidebar-footer p,.sidebar-footer strong{display:block;overflow-wrap:anywhere}.sidebar-footer p{color:var(--muted);font-size:12px;margin:0 0 4px}.sidebar-footer strong{color:var(--ink);font-size:13px}.workspace{margin-left:256px;min-height:100vh}.topbar{align-items:center;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#ffffffd6;border-bottom:1px solid var(--hairline);display:flex;gap:18px;height:64px;justify-content:space-between;padding:0 32px;position:sticky;top:0;z-index:20}.global-search,.page-search{align-items:center;background:var(--surface-purple-strong);border-radius:10px;color:#585095;display:flex;gap:8px;min-height:42px;padding:0 12px}.global-search{max-width:420px;width:100%}.page-search{margin-bottom:18px}.global-search input,.page-search input{background:transparent;border:0;color:var(--ink);min-width:0;outline:0;width:100%}.topbar-actions,.heading-actions{align-items:center;display:flex;gap:10px}.environment-pill{align-items:center;border:1px solid;border-radius:8px;display:inline-flex;gap:8px;min-height:36px;padding:0 10px}.environment-pill strong{font-size:.78rem;font-weight:800}.environment-pill span{font-size:.76rem;font-weight:700}.environment-pill.uat{background:#fff7ed;border-color:#fed7aa;color:#9a3412}.environment-pill.prod{background:#f0fdf4;border-color:#bbf7d0;color:#166534}.icon-button,.avatar-button{align-items:center;background:var(--surface-purple-strong);border-radius:999px;color:var(--ink);cursor:pointer;display:inline-flex;height:40px;justify-content:center;width:40px}.avatar-button{background:var(--brand-navy);color:#fff;font-weight:800}.main-panel{padding:32px}.page-heading,.detail-header{align-items:center;display:flex;gap:18px;justify-content:space-between;margin-bottom:28px}.page-heading h1,.detail-header h1{color:var(--ink);font-size:36px;letter-spacing:-.5px;line-height:1.15;margin:0}.page-heading p,.detail-header p{color:var(--muted);font-size:14px;margin:6px 0 0}h1,h2,h3,p{margin-top:0}.section-block{margin-bottom:28px}.section-title{align-items:center;color:var(--ink);display:flex;font-size:18px;gap:8px;letter-spacing:-.01em;margin-bottom:14px}.section-title.compact{font-size:18px;margin-bottom:18px}.metric-grid{display:grid;gap:16px;grid-template-columns:repeat(5,minmax(0,1fr))}.metric-tile{background:var(--canvas);border:1px solid var(--hairline);border-radius:12px;box-shadow:var(--shadow-sm);min-width:0;padding:20px}.metric-tile.active{background:var(--accent);border-color:var(--accent);color:#fff;box-shadow:var(--shadow-card)}.metric-tile span{color:var(--muted);display:block;font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.metric-tile.active span{color:#ffffffc7}.metric-tile strong{color:inherit;display:block;font-size:30px;line-height:1;margin-top:10px}.mini-progress,.capacity-bar{background:var(--surface-purple);border-radius:999px;height:5px;margin-top:14px;overflow:hidden}.metric-tile.active .mini-progress{background:#ffffff38}.mini-progress i,.capacity-bar i{display:block;height:100%;width:55%}.progress-purple{background:var(--purple)}.progress-blue{background:#006bff}.progress-orange{background:var(--orange)}.progress-teal{background:var(--teal)}.progress-white{background:#fff}.dashboard-grid,.batch-layout,.detail-layout{display:grid;gap:24px}.dashboard-grid{grid-template-columns:minmax(0,2fr) minmax(320px,1fr)}.dashboard-main,.dashboard-side,.detail-main,.detail-side{display:grid;gap:24px;align-content:start}.panel{background:var(--canvas);border:1px solid var(--hairline);border-radius:12px;box-shadow:var(--shadow-sm);padding:24px}.flush-panel{overflow:hidden;padding:0}.panel h1,.panel h2{margin-bottom:18px}.panel p{color:var(--muted);line-height:1.55;margin-bottom:0}.settings-grid{display:grid;gap:0;max-width:760px;padding:0}.settings-row{align-items:center;border-bottom:1px solid var(--hairline);display:flex;gap:24px;justify-content:space-between;min-height:64px;padding:18px 24px}.settings-row:last-child{border-bottom:0}.settings-row span{color:var(--muted);font-size:13px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.panel-toolbar{align-items:center;background:var(--surface-purple);border-bottom:1px solid var(--hairline);display:flex;justify-content:space-between;min-height:56px;padding:14px 20px}.panel-toolbar.warning{background:var(--yellow)}.panel-toolbar h2{align-items:center;color:var(--ink);display:flex;font-size:16px;gap:8px;margin:0}.panel-toolbar span{color:var(--muted);font-size:12px;font-weight:700}.critical-badge{background:var(--orange);border-radius:999px;color:#fff!important;padding:3px 8px;text-transform:uppercase}.task-stack{display:grid}.task-row{align-items:center;border-bottom:1px solid var(--hairline);display:grid;gap:16px;grid-template-columns:minmax(0,1fr) auto;padding:16px 20px}.task-row:last-of-type{border-bottom:0}.task-row strong{color:var(--ink);display:block;font-size:14px;margin-bottom:3px}.task-row span{color:var(--muted);font-size:12px}.task-icon{align-items:center;border-radius:999px;display:inline-flex;height:40px;justify-content:center;width:40px}.task-icon.rose{background:var(--rose);color:var(--pink)}.task-icon.yellow{background:var(--yellow);color:var(--orange)}.task-icon.purple{background:var(--surface-purple);color:var(--purple)}.panel-link{background:var(--surface);color:var(--muted);cursor:pointer;font-size:14px;font-weight:700;padding:12px;width:100%}.primary-action,.secondary-action,.outline-action{align-items:center;border-radius:8px;cursor:pointer;display:inline-flex;gap:8px;font-size:14px;font-weight:800;justify-content:center;min-height:40px;padding:10px 14px}.primary-action{background:var(--accent);border:1px solid var(--accent);color:#fff}.primary-action:hover{background:var(--accent-strong)}.primary-action:disabled{background:#e5e7eb;border-color:#d1d5db;color:#9ca3af;cursor:not-allowed}.secondary-action,.outline-action{background:var(--canvas);border:1px solid var(--hairline-strong);color:var(--ink)}.outline-action{color:var(--accent);font-size:12px;min-height:32px;padding:6px 12px}.compact-action{font-size:12px;min-height:32px;padding:6px 10px}.compact-action:disabled{color:var(--muted);cursor:wait;opacity:.7}.controls-panel{display:grid;gap:12px}.segmented-controls,.table-actions{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.segment{background:var(--canvas);border:1px solid var(--hairline-strong);border-radius:999px;color:var(--muted);cursor:pointer;font-size:12px;font-weight:800;min-height:32px;padding:6px 12px}.segment.active{background:var(--accent);border-color:var(--accent);color:#fff}.icon-action{white-space:nowrap}.full-width{width:100%}.table-scroll{overflow-x:auto;width:100%}.data-table{border-collapse:collapse;min-width:720px;width:100%}.data-table th,.data-table td{border-bottom:1px solid var(--hairline);color:var(--ink);font-size:14px;line-height:1.45;padding:13px 16px;text-align:left;vertical-align:middle;white-space:nowrap}.data-table th{color:var(--muted);font-size:12px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.data-table tbody tr:last-child td{border-bottom:0}.capacity-list{display:grid;gap:18px}.capacity-item{display:grid;gap:8px}.capacity-item strong,.capacity-item span,.capacity-item p{display:block}.capacity-item strong{color:var(--ink);font-size:14px}.capacity-item span,.capacity-item p{color:var(--muted);font-size:12px}.capacity-bar i{background:var(--accent)}.capacity-signal{border-radius:999px;display:inline-flex;font-size:12px;font-weight:800;padding:4px 10px}.capacity-signal.normal{background:var(--mint);color:var(--teal)}.capacity-signal.warning{background:var(--yellow);color:var(--orange)}.capacity-signal.critical{background:var(--peach);color:var(--error)}.capacity-bar.large{height:8px;margin-bottom:22px}.report-card{background:var(--brand-navy);border-radius:14px;color:#fff;overflow:hidden;padding:24px}.report-card p{color:#c6bfff;font-size:12px;font-weight:800;letter-spacing:.08em;margin-bottom:14px;text-transform:uppercase}.report-card h2{font-size:22px;margin:0 0 8px}.report-card span{color:#ffffffb8;display:block;font-size:14px;line-height:1.5;margin-bottom:22px}.report-card button{align-items:center;background:#fff;border-radius:8px;color:var(--brand-navy);cursor:pointer;display:inline-flex;font-size:12px;font-weight:800;gap:8px;padding:10px 14px;text-transform:uppercase}.create-form{background:var(--surface);border:1px solid var(--hairline);border-radius:12px;margin-bottom:18px;padding:18px}.elevated-form{background:var(--canvas);box-shadow:var(--shadow-card)}.form-grid{display:grid;gap:14px;grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid label{display:grid;gap:6px}.form-grid textarea{line-height:1.5;resize:vertical}.full-span{grid-column:1 / -1}.form-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}.form-message{background:#eef6fa;border:1px solid #c9e6ef;border-radius:8px;color:var(--accent);font-size:13px;line-height:1.45;margin-bottom:16px;padding:10px 12px}.kanban-board{display:grid;gap:16px;grid-template-columns:repeat(7,minmax(180px,1fr));overflow-x:auto;padding-bottom:4px}.kanban-column{background:var(--surface);border:1px solid var(--hairline);border-radius:12px;min-height:520px;padding:12px}.kanban-column-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.kanban-column-header h2{color:var(--ink);font-size:14px;margin:0}.kanban-column-header span{align-items:center;background:var(--canvas);border:1px solid var(--hairline);border-radius:999px;color:var(--muted);display:inline-flex;font-size:12px;font-weight:800;height:28px;justify-content:center;width:28px}.kanban-stack{display:grid;gap:12px}.lead-card{background:var(--canvas);border:1px solid var(--hairline);border-radius:12px;box-shadow:var(--shadow-sm);padding:14px}.lead-card-header{align-items:center;display:flex;gap:10px;margin-bottom:14px}.lead-avatar,.student-row span{align-items:center;background:var(--mint);border:1px solid var(--hairline);border-radius:999px;color:var(--teal);display:inline-flex;font-weight:800;height:34px;justify-content:center;width:34px}.lead-card h3{color:var(--ink);font-size:14px;margin:0 0 2px}.lead-card p{color:var(--muted);font-size:12px;margin:0}.lead-card dl{display:grid;gap:8px;margin:0 0 14px}.lead-card dt,.field-label,.overview-kicker{color:var(--muted);font-size:11px;font-weight:800;letter-spacing:.04em;margin-bottom:3px;text-transform:uppercase}.lead-card dd{color:var(--ink);font-size:13px;margin:0}.empty-column{color:var(--muted);font-size:13px;padding:12px 4px}.inline-feedback,.muted-cell{color:var(--muted);font-size:13px}.inline-feedback{margin:0 0 12px}.link-action{background:transparent;color:var(--accent);cursor:pointer;font-weight:800;padding:0;text-align:left}.batch-layout{grid-template-columns:minmax(0,1.7fr) minmax(320px,.8fr)}.program-panel{margin-bottom:18px}.program-list{display:grid;gap:10px;grid-template-columns:repeat(3,minmax(0,1fr))}.program-item{align-items:center;background:var(--surface);border:1px solid var(--hairline);border-radius:10px;display:flex;gap:12px;justify-content:space-between;min-width:0;padding:12px}.program-item strong,.program-item span{display:block}.program-item strong{color:var(--ink);font-size:14px}.program-item span{color:var(--muted);font-size:12px;margin-top:3px}.program-item b{color:var(--accent);font-size:13px;white-space:nowrap}.compact-form{margin:18px 0 0}.batch-overview h2{color:var(--ink);font-size:26px;letter-spacing:-.02em;margin:6px 0 8px}.batch-overview>p{color:var(--muted);font-size:14px;margin-bottom:18px}.overview-stat{display:flex;gap:10px;margin-bottom:10px}.overview-stat strong{color:var(--accent);font-size:42px;line-height:1}.overview-stat span{align-self:end;color:var(--muted);font-size:13px;padding-bottom:4px}.overview-grid{display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:24px}.overview-grid div{background:var(--surface);border-radius:10px;padding:12px}.overview-grid span,.overview-grid strong{display:block}.overview-grid span{color:var(--muted);font-size:12px;margin-bottom:4px}.overview-grid strong{color:var(--ink);font-size:14px}.batch-overview h3{align-items:center;color:var(--ink);display:flex;font-size:16px;gap:8px}.student-list{display:grid;gap:10px;margin-bottom:18px}.student-row{align-items:center;display:flex;gap:10px}.student-row p{color:var(--ink);font-size:14px}.status-chip{background:var(--surface-purple);border-radius:999px;color:var(--purple);display:inline-flex;font-size:12px;font-weight:800;padding:4px 10px}.status-chip.open,.status-chip.paid,.status-chip.qualified{background:var(--mint);color:var(--teal)}.status-chip.ongoing,.status-chip.review,.status-chip.sent{background:var(--yellow);color:var(--orange)}.status-chip.completed,.status-chip.done,.status-chip.enrolled{background:var(--surface-purple);color:var(--purple)}.status-chip.cancelled,.status-chip.expired,.status-chip.failed{background:var(--peach);color:var(--error)}.status-chip.draft{background:var(--surface);color:var(--slate)}.table-icon{background:transparent;height:32px;width:32px}.detail-header{justify-content:flex-start}.detail-header>div:nth-child(2){flex:1}.detail-layout{grid-template-columns:minmax(0,1.55fr) minmax(320px,.75fr)}.panel-title-row{align-items:center;display:flex;gap:16px;justify-content:space-between;margin-bottom:18px}.panel-title-row h1,.panel-title-row h2{align-items:center;display:flex;gap:8px;margin:0}.detail-grid{display:grid;gap:18px 28px;grid-template-columns:repeat(2,minmax(0,1fr))}.detail-grid p{color:var(--ink);margin:0}.timeline{display:grid;gap:18px}.timeline div{border-left:2px solid var(--hairline);padding-left:18px;position:relative}.timeline span{background:var(--accent);border:3px solid var(--canvas);border-radius:999px;height:14px;left:-8px;position:absolute;top:2px;width:14px}.timeline strong{color:var(--ink);display:block;font-size:14px}.timeline p,.action-note{color:var(--muted);font-size:13px;line-height:1.45;margin:4px 0 0}.payment-panel h2,.contact-actions button{align-items:center;display:flex;gap:8px}.payment-panel p{font-size:14px;margin-bottom:18px}.contact-actions{display:grid;gap:10px}@media(max-width:1080px){.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-grid,.batch-layout,.detail-layout,.program-list{grid-template-columns:1fr}}@media(max-width:760px){.sidebar{border-bottom:1px solid var(--hairline);border-right:0;bottom:auto;position:static;width:100%}.sidebar nav{grid-template-columns:repeat(2,minmax(0,1fr))}.sidebar-footer{display:none}.workspace{margin-left:0}.topbar{padding:0 20px}.global-search{display:none}.main-panel{padding:20px}.page-heading,.detail-header,.heading-actions{align-items:stretch;flex-direction:column}.metric-grid,.form-grid,.detail-grid{grid-template-columns:1fr}}@media(max-width:480px){.panel{padding:18px}.flush-panel{padding:0}.kanban-board{grid-template-columns:repeat(7,84vw)}}
