@import "https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:ital,wght@0,300;0,400;0,500;0,600;0,700;1,400&family=IBM+Plex+Mono:wght@400;500;600&display=swap";html{scroll-behavior:smooth}body{min-width:320px}a{color:inherit}#root{min-height:100vh}*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--shell-bg:#1b2a3b;--shell-active:#0064d9;--shell-hover:#ffffff12;--shell-border:#ffffff17;--shell-text:#ffffffd1;--shell-text-dim:#ffffff70;--shell-text-muted:#ffffff42;--shell-brand-bg:#0064d9;--brand:#0064d9;--brand-dark:#0050ad;--brand-hover:#0050ad;--brand-light:#e8f2fe;--brand-mid:#b8d6fb;--brand-dimmer:#d6eafd;--positive:#107e3e;--positive-light:#f1faf4;--positive-border:#abdfba;--critical:#c35500;--critical-light:#fff4e8;--critical-border:#f8c592;--negative:#aa0808;--negative-light:#fff0f0;--negative-border:#f5b8b8;--information:#0064d9;--information-light:#e8f2fe;--information-border:#b8d6fb;--caution:#df6e0c;--caution-light:#fff3e0;--surface-0:#fff;--surface-1:#f5f6f7;--surface-2:#edeff2;--surface-3:#e0e2e8;--surface-4:#d0d3db;--text-primary:#1d2d3e;--text-secondary:#475e75;--text-tertiary:#6d7d8c;--text-placeholder:#9faebc;--text-disabled:#b8c5ce;--text-link:#0064d9;--text-inverse:#fff;--border:#d9dde2;--border-strong:#bec3cc;--border-focus:#0064d9;--sidebar-w:252px;--shadow-xs:0 1px 2px #1c28360f;--shadow-sm:0 1px 4px #1c283617, 0 0 1px #1c28360f;--shadow-md:0 2px 8px #1c28361c, 0 0 1px #1c283614;--shadow-lg:0 4px 16px #1c283621, 0 0 1px #1c28361a;--shadow-xl:0 8px 32px #1c28362e, 0 0 1px #1c28361f;--radius-xs:2px;--radius-sm:4px;--radius:6px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--font-body:"IBM Plex Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono:"IBM Plex Mono", "SF Mono", "Fira Code", monospace;--font-size-xs:11px;--font-size-sm:12px;--font-size-base:13px;--font-size-md:14px;--font-size-lg:16px;--font-size-xl:18px;--font-size-2xl:22px;--font-size-3xl:26px;--t:.14s cubic-bezier(.25,.46,.45,.94);--t-fast:80ms cubic-bezier(.25,.46,.45,.94);--t-slow:.24s cubic-bezier(.25,.46,.45,.94)}html{scroll-behavior:smooth;font-size:14px}body{font-family:var(--font-body);background:var(--surface-1);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:"kern" 1, "liga" 1, "tnum" 1;line-height:1.5}a{color:var(--brand);text-decoration:none}button{cursor:pointer;font:inherit}input,select,textarea{font:inherit}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--surface-4);border-radius:10px}::-webkit-scrollbar-thumb:hover{background:var(--border-strong)}.app-shell{background:var(--surface-1);height:100vh;display:flex;overflow:hidden}.main-area{flex-direction:column;flex:1;min-width:0;display:flex;overflow:hidden}.view-content{background:var(--surface-1);flex:1;padding:24px;overflow-y:auto}.view-stack{flex-direction:column;gap:16px;display:flex}.two-col-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.sidebar{width:var(--sidebar-w);background:var(--shell-bg);z-index:200;border-right:1px solid #ffffff0d;flex-direction:column;flex-shrink:0;display:flex;position:relative;overflow:hidden}.sidebar-brand{border-bottom:1px solid var(--shell-border);background:#0000002e;flex-shrink:0;align-items:center;gap:11px;height:56px;padding:0 16px;display:flex}.brand-mark{background:var(--shell-brand-bg);color:#fff;border-radius:var(--radius-sm);letter-spacing:.5px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:12px;font-weight:700;display:flex}.brand-text{flex-direction:column;gap:1px;display:flex}.brand-name{color:var(--shell-text);letter-spacing:.1px;font-size:13px;font-weight:600}.brand-sub{color:var(--shell-text-muted);text-transform:uppercase;letter-spacing:.12em;font-size:9.5px;font-weight:500}.sidebar-section-label{color:var(--shell-text-muted);text-transform:uppercase;letter-spacing:.12em;padding:20px 16px 6px;font-size:9.5px;font-weight:600}.nav-stack{flex-direction:column;flex:1;gap:1px;padding:4px 10px;display:flex;overflow-y:auto}.nav-item{border-radius:var(--radius);color:var(--shell-text-dim);text-align:left;transition:all var(--t);letter-spacing:.1px;background:0 0;border:none;align-items:center;gap:10px;width:100%;padding:8px 10px;font-size:12.5px;font-weight:400;display:flex;position:relative}.nav-item:hover{background:var(--shell-hover);color:var(--shell-text)}.nav-item.active{color:#fff;background:#0064d938;font-weight:500}.nav-item.active:before{content:"";background:var(--brand);border-radius:0 2px 2px 0;width:3px;position:absolute;top:6px;bottom:6px;left:0}.nav-icon{opacity:.75;flex-shrink:0;width:15px;height:15px}.nav-icon svg{width:100%;height:100%}.nav-item.active .nav-icon{opacity:1}.nav-label{font-size:12.5px}.nav-active-bar{display:none}.sidebar-footer{border-top:1px solid var(--shell-border);background:#0000001f;flex-shrink:0;align-items:center;gap:10px;padding:10px 12px;display:flex}.sidebar-user{flex:1;align-items:center;gap:10px;display:flex;overflow:hidden}.user-avatar{background:var(--brand);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:11px;font-weight:600;display:flex}.user-info{flex-direction:column;gap:1px;display:flex;overflow:hidden}.user-info strong{color:var(--shell-text);white-space:nowrap;text-overflow:ellipsis;font-size:12px;font-weight:500;overflow:hidden}.user-info span{color:var(--shell-text-muted);white-space:nowrap;text-transform:capitalize;font-size:10px}.logout-btn{color:var(--shell-text-muted);border-radius:var(--radius-sm);transition:var(--t);background:0 0;border:none;justify-content:center;align-items:center;padding:5px;display:flex}.logout-btn:hover{color:var(--shell-text);background:var(--shell-hover)}.logout-btn svg{width:15px;height:15px}.topbar{background:var(--surface-0);border-bottom:1px solid var(--border);height:52px;box-shadow:var(--shadow-xs);z-index:100;flex-shrink:0;justify-content:space-between;align-items:center;padding:0 24px;display:flex;position:relative}.topbar-title{font-size:var(--font-size-md);color:var(--text-primary);letter-spacing:-.1px;font-weight:600}.topbar-sub{font-size:var(--font-size-xs);color:var(--text-tertiary);margin-top:1px}.topbar-right{align-items:center;gap:10px;display:flex}.context-pill{background:var(--brand-light);color:var(--brand);font-size:var(--font-size-xs);border:1px solid var(--brand-mid);letter-spacing:.1px;border-radius:20px;align-items:center;gap:5px;padding:3px 9px;font-weight:600;display:flex}.context-pill svg{width:11px;height:11px}.global-error{background:var(--negative-light);color:var(--negative);font-size:var(--font-size-sm);border-bottom:1px solid var(--negative-border);align-items:center;gap:10px;padding:9px 24px;font-weight:500;display:flex}.global-error svg{flex-shrink:0;width:14px;height:14px}.global-error span{flex:1}.global-error button{color:var(--negative);opacity:.7;background:0 0;border:none;padding:0 3px;font-size:17px;line-height:1}.global-error button:hover{opacity:1}.error-banner{background:var(--negative-light);color:var(--negative);border-radius:var(--radius);font-size:var(--font-size-sm);border:1px solid var(--negative-border);padding:9px 14px;font-weight:500}.info-banner{background:var(--brand-light);color:var(--brand-dark);font-size:var(--font-size-xs);border-bottom:1px solid var(--brand-mid);letter-spacing:.1px;padding:7px 24px;font-weight:500}.alert{border-radius:var(--radius);font-size:var(--font-size-sm);border-style:solid;border-width:1px;margin-bottom:14px;padding:9px 14px;font-weight:500}.alert-success{background:var(--positive-light);color:var(--positive);border-color:var(--positive-border)}.alert-error{background:var(--negative-light);color:var(--negative);border-color:var(--negative-border)}.section-card{background:var(--surface-0);border-radius:var(--radius-md);border:1px solid var(--border);box-shadow:var(--shadow-xs);overflow:hidden}.section-head{border-bottom:1px solid var(--border);background:var(--surface-0);justify-content:space-between;align-items:flex-start;padding:14px 20px;display:flex}.section-title{font-size:var(--font-size-md);color:var(--text-primary);letter-spacing:-.1px;font-weight:600}.section-sub{font-size:var(--font-size-xs);color:var(--text-tertiary);margin-top:2px}.section-actions{align-items:center;gap:8px;display:flex}.section-body{padding:20px}.actions-row{align-items:center;gap:8px;display:flex}.btn-primary{background:var(--brand);color:#fff;border:1px solid var(--brand);border-radius:var(--radius);font-weight:500;font-size:var(--font-size-base);transition:background var(--t), border-color var(--t), box-shadow var(--t);white-space:nowrap;letter-spacing:.1px;align-items:center;gap:6px;height:32px;padding:0 14px;display:inline-flex}.btn-primary:hover:not(:disabled){background:var(--brand-hover);border-color:var(--brand-hover);box-shadow:0 0 0 2px #0064d926}.btn-primary:active:not(:disabled){background:var(--brand-dark)}.btn-primary:disabled{opacity:.45;cursor:not-allowed}.btn-outline{background:var(--surface-0);color:var(--brand);border:1px solid var(--brand);border-radius:var(--radius);font-weight:500;font-size:var(--font-size-base);transition:background var(--t), box-shadow var(--t);white-space:nowrap;letter-spacing:.1px;align-items:center;gap:6px;height:32px;padding:0 14px;display:inline-flex}.btn-outline:hover{background:var(--brand-light);box-shadow:0 0 0 2px #0064d91a}.btn-outline:disabled{opacity:.45;cursor:not-allowed}.btn-sm{font-size:var(--font-size-sm);height:28px;padding:0 10px}.icon-btn{border-radius:var(--radius-sm);color:var(--text-tertiary);transition:var(--t);background:0 0;border:none;justify-content:center;align-items:center;padding:5px;display:inline-flex}.icon-btn:hover{color:var(--brand);background:var(--brand-light)}.icon-btn.danger:hover{color:var(--negative);background:var(--negative-light)}.icon-btn svg{width:14px;height:14px}.link-btn{color:var(--brand);font-weight:500;font-size:var(--font-size-sm);letter-spacing:.1px;background:0 0;border:none;padding:2px 4px}.stats-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px;display:grid}.stats-grid.mini{grid-template-columns:repeat(2,1fr)}.stat-card{background:var(--surface-0);border-radius:var(--radius-md);border:1px solid var(--border);box-shadow:var(--shadow-xs);transition:box-shadow var(--t), border-color var(--t);flex-direction:column;gap:6px;padding:18px 20px 16px;display:flex;position:relative;overflow:hidden}.stat-card:hover{box-shadow:var(--shadow-md);border-color:var(--border-strong)}.stat-card:after{content:"";background:var(--brand);opacity:0;height:3px;transition:opacity var(--t);position:absolute;bottom:0;left:0;right:0}.stat-card:hover:after{opacity:1}.stat-card.blue:after{opacity:1;background:#0064d9}.stat-card.green:after{opacity:1;background:var(--positive)}.stat-card.orange:after{opacity:1;background:var(--critical)}.stat-card.purple:after{opacity:1;background:#5c3ebc}.stat-card.teal:after{opacity:1;background:#0f7c8b}.stat-label{font-size:var(--font-size-xs);color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.06em;font-weight:600}.stat-value{color:var(--text-primary);letter-spacing:-.5px;font-feature-settings:"tnum" 1;font-size:24px;font-weight:700;line-height:1.1}.stat-helper{font-size:var(--font-size-xs);color:var(--text-tertiary)}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:var(--font-size-base)}thead{background:var(--surface-1)}th{text-align:left;color:var(--text-secondary);font-weight:600;font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.06em;white-space:nowrap;border-bottom:2px solid var(--border);border-top:1px solid var(--border);background:var(--surface-1);padding:8px 16px}td{border-bottom:1px solid var(--border);color:var(--text-secondary);vertical-align:middle;font-size:var(--font-size-base);transition:background var(--t-fast);padding:10px 16px}tr:last-child td{border-bottom:none}tbody tr:hover td{background:var(--brand-light)}tr.row-selected td{background:#e0eeff;border-bottom-color:#c5dcfd}.text-muted{color:var(--text-tertiary)!important}.text-center{text-align:center}.py-8{padding-top:2rem;padding-bottom:2rem}.email-cell,.phone-cell{align-items:center;gap:5px;display:flex}.cell-icon{width:12px;height:12px;color:var(--brand);flex-shrink:0}.student-name-cell{flex-direction:column;gap:2px;display:flex}.student-name-link{font-size:var(--font-size-base);color:var(--text-primary);font-weight:500}.student-row-clickable{cursor:pointer}.table-actions{gap:4px;display:flex}.filename-cell{font-family:var(--font-mono);color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;max-width:200px;font-size:11px;overflow:hidden}.download-link{color:var(--brand);font-size:var(--font-size-sm);align-items:center;gap:4px;font-weight:500;display:inline-flex}.download-link svg{width:12px;height:12px}.verify-badge{font-size:var(--font-size-xs);border-radius:10px;padding:2px 7px;font-weight:600}.verify-badge.verified{background:var(--positive-light);color:var(--positive);border:1px solid var(--positive-border)}.verify-badge.unverified{background:var(--surface-2);color:var(--text-tertiary);border:1px solid var(--border)}.badge{font-size:var(--font-size-xs);white-space:nowrap;letter-spacing:.1px;border-style:solid;border-width:1px;border-radius:10px;align-items:center;padding:2px 8px;font-weight:600;display:inline-flex}.badge-success{background:var(--positive-light);color:var(--positive);border-color:var(--positive-border)}.badge-info{background:var(--brand-light);color:var(--brand);border-color:var(--brand-mid)}.badge-warning{background:var(--critical-light);color:var(--critical);border-color:var(--critical-border)}.badge-danger{background:var(--negative-light);color:var(--negative);border-color:var(--negative-border)}.badge-soft{background:var(--surface-2);color:var(--text-secondary);border-color:var(--border)}.badge-muted{background:var(--surface-2);color:var(--text-tertiary);border-color:var(--border)}.form-grid{grid-template-columns:1fr 1fr;gap:14px;display:grid}.field{flex-direction:column;gap:5px;display:flex}.field-full{grid-column:1/-1}.field-label{font-size:var(--font-size-xs);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.06em;font-weight:600}.field-hint{font-size:var(--font-size-xs);color:var(--text-tertiary);margin-top:2px}.field-input,.field-select,.field-textarea{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-0);color:var(--text-primary);font-size:var(--font-size-base);transition:border-color var(--t), box-shadow var(--t), background var(--t);width:100%;height:34px;padding:7px 10px}.field-textarea{resize:vertical;height:auto;min-height:80px;line-height:1.5}.field-input::placeholder,.field-textarea::placeholder{color:var(--text-placeholder)}.field-input:hover:not(:disabled),.field-select:hover:not(:disabled){border-color:var(--border-strong)}.field-input:focus,.field-select:focus,.field-textarea:focus{border-color:var(--border-focus);outline:none;box-shadow:0 0 0 3px #0064d91f}.field-input:disabled,.field-select:disabled,.field-textarea:disabled{background:var(--surface-1);color:var(--text-disabled);cursor:not-allowed;border-color:var(--border)}.form-actions{border-top:1px solid var(--border);justify-content:flex-end;gap:8px;margin-top:14px;padding-top:14px;display:flex}.form-group{flex-direction:column;gap:5px;display:flex}.form-group label{font-size:var(--font-size-xs);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.06em;font-weight:600}.form-group input{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-0);color:var(--text-primary);font-size:var(--font-size-base);transition:border-color var(--t);width:100%;height:34px;padding:7px 10px}.form-group input:focus{border-color:var(--border-focus);outline:none;box-shadow:0 0 0 3px #0064d91f}.form-group .field-hint,small.field-hint{font-size:var(--font-size-xs);color:var(--text-tertiary)}.form-grid.single{grid-template-columns:1fr;max-width:480px}.filters-bar{border-bottom:1px solid var(--border);background:var(--surface-1);flex-wrap:wrap;align-items:center;gap:10px;padding:10px 20px;display:flex}.search-box{flex:1;max-width:320px;position:relative}.search-icon{width:13px;height:13px;color:var(--text-placeholder);pointer-events:none;position:absolute;top:50%;left:9px;transform:translateY(-50%)}.search-input{border:1px solid var(--border);border-radius:var(--radius);width:100%;font-size:var(--font-size-base);background:var(--surface-0);height:32px;transition:border-color var(--t), box-shadow var(--t);color:var(--text-primary);padding:6px 10px 6px 28px}.search-input:focus{border-color:var(--border-focus);outline:none;box-shadow:0 0 0 3px #0064d91f}.search-input::placeholder{color:var(--text-placeholder)}.filter-select{border:1px solid var(--border);border-radius:var(--radius);font-size:var(--font-size-base);background:var(--surface-0);cursor:pointer;height:32px;color:var(--text-primary);padding:0 10px}.modal-overlay{z-index:1000;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:overlayIn var(--t-slow) ease both;background:#1c283680;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}@keyframes overlayIn{0%{opacity:0}to{opacity:1}}.modal-box{background:var(--surface-0);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);border:1px solid var(--border);width:100%;max-width:640px;max-height:90vh;animation:modalIn var(--t-slow) cubic-bezier(.34,1.56,.64,1) both;flex-direction:column;display:flex;overflow:hidden}@keyframes modalIn{0%{opacity:0;transform:translateY(12px)scale(.97)}to{opacity:1;transform:none}}.modal-head{border-bottom:1px solid var(--border);background:var(--surface-1);flex-shrink:0;justify-content:space-between;align-items:center;padding:14px 20px;display:flex}.modal-head h3{font-size:var(--font-size-md);color:var(--text-primary);font-weight:600}.modal-close{color:var(--text-tertiary);border-radius:var(--radius-sm);transition:var(--t);background:0 0;border:none;align-items:center;padding:4px;display:flex}.modal-close:hover{color:var(--text-primary);background:var(--surface-2)}.modal-close svg{width:15px;height:15px}.modal-body{flex:1;padding:20px;overflow-y:auto}.empty-state{text-align:center;flex-direction:column;align-items:center;gap:10px;padding:3rem;display:flex}.empty-icon{background:var(--surface-2);width:48px;height:48px;color:var(--text-tertiary);border-radius:50%;justify-content:center;align-items:center;display:flex}.empty-icon svg{width:22px;height:22px}.empty-state h3{font-size:var(--font-size-md);color:var(--text-secondary);font-weight:600}.empty-state p{font-size:var(--font-size-sm);color:var(--text-tertiary);max-width:280px;line-height:1.6}.list-items{flex-direction:column;gap:3px;display:flex}.list-item{border-radius:var(--radius);background:var(--surface-1);transition:all var(--t);border:1px solid #0000;align-items:center;gap:10px;padding:9px 14px;display:flex}.list-item:hover{background:var(--brand-light);border-color:var(--brand-mid)}.list-item-avatar{background:var(--brand);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;font-size:11px;font-weight:600;display:flex}.list-item-info{flex-direction:column;flex:1;gap:1px;display:flex}.list-item-info strong{font-size:var(--font-size-base);color:var(--text-primary);font-weight:500}.list-item-info span{font-size:var(--font-size-xs);color:var(--text-tertiary)}.list-item-meta{flex-direction:column;align-items:flex-end;gap:2px;display:flex}.list-item-meta small{font-size:var(--font-size-xs);color:var(--text-tertiary)}.service-kpi-grid{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.service-kpi-item{background:var(--surface-1);border:1px solid var(--border);border-radius:var(--radius);text-align:center;transition:all var(--t);flex-direction:column;gap:6px;padding:14px;display:flex}.service-kpi-item:hover{border-color:var(--brand-mid);background:var(--brand-light)}.service-kpi-label{font-size:var(--font-size-xs);color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.05em;font-weight:600}.service-kpi-value{color:var(--text-primary);font-feature-settings:"tnum" 1;font-size:20px;font-weight:700}.status-dot{border-radius:50%;width:7px;height:7px;display:inline-block}.dot-green{background:var(--positive)}.dot-red{background:var(--negative)}.dot-orange{background:var(--critical)}.dot-blue{background:var(--brand)}.dot-gray{background:var(--text-tertiary)}.online-dot{border-radius:50%;width:7px;height:7px;display:inline-block}.active-dot{font-size:var(--font-size-xs);border-radius:10px;padding:2px 7px;font-weight:600}.active-dot.active{background:var(--positive-light);color:var(--positive);border:1px solid var(--positive-border)}.active-dot.inactive{background:var(--surface-2);color:var(--text-tertiary);border:1px solid var(--border)}@keyframes spin{to{transform:rotate(360deg)}}.spinner{border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:13px;height:13px;animation:.55s linear infinite spin}.spinner-lg{border:2px solid var(--surface-3);border-top-color:var(--brand);border-radius:50%;width:28px;height:28px;margin:0 auto;animation:.55s linear infinite spin}.view-loading{color:var(--text-tertiary);font-size:var(--font-size-base);flex-direction:column;align-items:center;gap:14px;padding:4rem;display:flex}.login-shell{min-height:100vh;display:flex}.login-left{background:var(--shell-bg);flex-direction:column;flex:1;padding:2.5rem;display:flex;position:relative;overflow:hidden}.login-left:before{content:"";pointer-events:none;background:radial-gradient(circle,#0064d92e 0%,#0000 65%);width:480px;height:480px;position:absolute;top:-120px;right:-120px}.login-left:after{content:"";pointer-events:none;background:radial-gradient(circle,#0064d914 0%,#0000 70%);width:320px;height:320px;position:absolute;bottom:-80px;left:-80px}.login-brand{align-items:center;gap:12px;margin-bottom:3.5rem;display:flex;position:relative}.login-brand .brand-logo{background:var(--brand);border-radius:var(--radius-sm);color:#fff;letter-spacing:.5px;justify-content:center;align-items:center;width:36px;height:36px;font-size:13px;font-weight:700;display:flex}.login-brand span{color:#ffffffe6;letter-spacing:.1px;font-size:14px;font-weight:600}.login-hero-content{flex:1;position:relative}.login-hero-content h1{color:#fff;letter-spacing:-.4px;max-width:400px;margin-bottom:14px;font-size:28px;font-weight:700;line-height:1.28}.login-hero-content p{color:#ffffff73;max-width:360px;margin-bottom:2.5rem;font-size:13px;line-height:1.7}.login-features{flex-direction:column;gap:18px;display:flex}.login-feature{align-items:flex-start;gap:14px;display:flex}.feature-icon{flex-shrink:0;margin-top:1px;font-size:17px}.login-feature strong{color:#ffffffe0;margin-bottom:2px;font-size:13px;font-weight:500;display:block}.login-feature span{color:#ffffff61;font-size:12px;line-height:1.55}.login-left-footer{color:#ffffff2e;margin-top:2rem;font-size:11px;position:relative}.login-right{background:var(--surface-1);justify-content:center;align-items:center;width:440px;padding:2rem;display:flex}.login-card{background:var(--surface-0);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);border:1px solid var(--border);flex-direction:column;gap:20px;width:100%;padding:2rem;display:flex}.login-card-head{flex-direction:column;gap:7px;display:flex}.secure-badge{background:var(--positive-light);color:var(--positive);font-size:var(--font-size-xs);border:1px solid var(--positive-border);letter-spacing:.1px;border-radius:10px;align-items:center;gap:5px;width:fit-content;padding:3px 9px;font-weight:600;display:inline-flex}.login-card-head h2{color:var(--text-primary);letter-spacing:-.3px;font-size:20px;font-weight:700}.login-card-head p{font-size:var(--font-size-sm);color:var(--text-tertiary)}.login-fields{flex-direction:column;gap:14px;display:flex}.login-btn{border-radius:var(--radius-md);justify-content:center;width:100%;height:38px;padding:0;font-size:13.5px;font-weight:600}.btn-loading{align-items:center;gap:8px;display:flex}.profile-layout{align-items:flex-start;gap:20px;display:flex}.profile-sidebar{flex-direction:column;flex-shrink:0;gap:10px;width:220px;display:flex}.profile-avatar-card{background:var(--surface-0);border:1px solid var(--border);border-radius:var(--radius-lg);text-align:center;box-shadow:var(--shadow-xs);flex-direction:column;align-items:center;gap:10px;padding:20px;display:flex}.profile-avatar-big{background:var(--brand);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:52px;height:52px;font-size:20px;font-weight:700;display:flex}.profile-avatar-info strong{font-size:var(--font-size-base);color:var(--text-primary);font-weight:600;display:block}.profile-avatar-info span{font-size:var(--font-size-xs);color:var(--text-tertiary);margin-top:2px;display:block}.profile-role-badge{background:var(--brand-light);color:var(--brand);font-size:var(--font-size-xs);text-transform:capitalize;border:1px solid var(--brand-mid);letter-spacing:.1px;border-radius:10px;margin-top:7px;padding:2px 9px;font-weight:600;display:inline-block}.profile-mandatory-card{background:var(--critical-light);border:1px solid var(--critical-border);border-radius:var(--radius-md);padding:14px}.profile-mandatory-badge{font-size:var(--font-size-xs);color:var(--critical);text-transform:uppercase;letter-spacing:.06em;margin-bottom:6px;font-weight:700}.profile-mandatory-card h4{font-size:var(--font-size-sm);color:var(--text-primary);margin-bottom:4px;font-weight:600}.profile-mandatory-card p{font-size:var(--font-size-xs);color:var(--text-secondary);line-height:1.55}.profile-nav{background:var(--surface-0);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs);overflow:hidden}.profile-nav-item{text-align:left;width:100%;font-size:var(--font-size-base);color:var(--text-secondary);border:none;border-bottom:1px solid var(--border);transition:all var(--t);cursor:pointer;font-family:var(--font-body);background:0 0;border-left:3px solid #0000;justify-content:space-between;align-items:center;padding:9px 14px;display:flex}.profile-nav-item:last-child{border-bottom:none}.profile-nav-item:hover{background:var(--surface-1);color:var(--brand);border-left-color:var(--brand-mid)}.profile-nav-item.active{background:var(--brand-light);color:var(--brand);border-left-color:var(--brand);font-weight:600}.profile-nav-item.locked{opacity:.45;cursor:not-allowed}.profile-nav-lock{color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.06em;font-size:10px;font-weight:600}.profile-completeness{background:var(--surface-0);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs);padding:14px}.completeness-label{font-size:var(--font-size-xs);justify-content:space-between;margin-bottom:7px;display:flex}.completeness-label span{color:var(--text-tertiary)}.completeness-label strong{color:var(--text-primary);font-weight:700}.completeness-bar{background:var(--surface-3);border-radius:3px;height:5px;overflow:hidden}.completeness-fill{background:var(--brand);border-radius:3px;height:100%;transition:width .4s}.profile-form-area{flex:1}.saved-indicator{font-size:var(--font-size-sm);color:var(--positive);align-items:center;gap:4px;font-weight:600;display:flex}.profile-force-banner{background:var(--critical-light);border:1px solid var(--critical-border);border-radius:var(--radius-md);font-size:var(--font-size-sm);color:var(--text-primary);margin-bottom:16px;padding:14px}.security-panel{flex-direction:column;gap:16px;display:flex}.security-intro{align-items:flex-start;gap:14px;margin-bottom:4px;display:flex}.security-intro h4{font-size:var(--font-size-md);color:var(--text-primary);margin-bottom:4px;font-weight:600}.security-intro p{font-size:var(--font-size-sm);color:var(--text-tertiary);line-height:1.55}.security-actions-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.security-helper-text{font-size:var(--font-size-xs);color:var(--text-tertiary);flex:1}.crm-page{flex-direction:column;gap:20px;display:flex}.page-header h1{color:var(--text-primary);letter-spacing:-.3px;font-size:18px;font-weight:700}.page-header p{font-size:var(--font-size-sm);color:var(--text-tertiary);margin-top:3px}.card{background:var(--surface-0);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs);overflow:hidden}.password-card{max-width:520px}.card-header-row{border-bottom:1px solid var(--border);background:var(--surface-1);justify-content:space-between;align-items:flex-start;padding:14px 20px;display:flex}.card-header-row h3{font-size:var(--font-size-md);color:var(--text-primary);font-weight:600}.card-header-row span{font-size:var(--font-size-xs);color:var(--text-tertiary);margin-top:2px;display:block}.password-form{padding:20px}.btn.btn-primary{background:var(--brand);color:#fff;border:1px solid var(--brand);border-radius:var(--radius);font-weight:500;font-size:var(--font-size-base);cursor:pointer;height:34px;transition:background var(--t);font-family:var(--font-body);align-items:center;padding:0 16px;display:inline-flex}.btn.btn-primary:hover{background:var(--brand-hover)}.btn.btn-primary:disabled{opacity:.45;cursor:not-allowed}.user-cell{align-items:center;gap:8px;display:flex}.user-cell-avatar{background:var(--brand-light);width:26px;height:26px;color:var(--brand);border:1px solid var(--brand-mid);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:11px;font-weight:700;display:flex}.uni-grid{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.uni-card{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-0);transition:all var(--t);box-shadow:var(--shadow-xs);align-items:center;gap:12px;padding:14px 16px;display:flex}.uni-card:hover{border-color:var(--brand);box-shadow:var(--shadow-sm)}.uni-card-flag{flex-shrink:0;font-size:20px}.uni-card-info{flex-direction:column;flex:1;gap:2px;display:flex}.uni-card-info strong{font-size:var(--font-size-base);color:var(--text-primary);font-weight:500}.uni-card-info span{font-size:var(--font-size-xs);color:var(--text-tertiary)}.uni-rank{color:var(--brand);background:var(--brand-light);border:1px solid var(--brand-mid);border-radius:10px;width:fit-content;margin-top:2px;padding:1px 6px;font-size:10px;font-weight:600}.uni-link{color:var(--text-tertiary);transition:var(--t)}.uni-link:hover{color:var(--brand)}.uni-link svg{width:14px;height:14px}.tab-bar{border-bottom:1px solid var(--border);background:var(--surface-0);padding:0 20px;display:flex}.tab-btn{font-size:var(--font-size-base);color:var(--text-tertiary);transition:all var(--t);letter-spacing:.1px;font-weight:400;font-family:var(--font-body);background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;padding:10px 16px}.tab-btn.active{color:var(--brand);border-bottom-color:var(--brand);font-weight:600}.tab-btn:hover:not(.active){color:var(--text-primary)}.app-shell-header{background:var(--surface-0);flex-direction:column;gap:0;display:flex}.applications-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:14px 20px;display:flex}.applications-toolbar-single{padding-bottom:14px}.applications-search{flex:380px;min-width:240px}.applications-filters{align-items:center;gap:10px;display:flex}.applications-table-shell{width:100%}.applications-table-wrap{border-top:1px solid var(--border);width:100%;overflow-x:auto}.applications-table{border-collapse:separate;border-spacing:0;background:var(--surface-0);width:100%;min-width:1280px}.applications-table thead th{z-index:2;text-align:left;font-size:var(--font-size-xs);color:var(--text-tertiary);background:var(--surface-1);border-bottom:2px solid var(--border);white-space:nowrap;letter-spacing:.06em;text-transform:uppercase;padding:10px 16px;font-weight:700;position:sticky;top:0}.applications-table tbody td{font-size:var(--font-size-base);color:var(--text-secondary);border-bottom:1px solid var(--border);vertical-align:middle;background:var(--surface-0);transition:background var(--t-fast);padding:12px 16px}.applications-table tbody tr{cursor:pointer}.applications-table tbody tr:hover td{background:var(--brand-light)}.applications-table tbody tr.is-active td{background:#e0eeff}.td-ack{white-space:nowrap}.ack-link{color:var(--brand);font-size:var(--font-size-sm);cursor:pointer;letter-spacing:.1px;font-weight:700;font-family:var(--font-mono);background:0 0;border:0;padding:0}.ack-link:hover{text-decoration:underline}.table-primary-cell{flex-direction:column;gap:3px;min-width:0;display:flex}.cell-title{font-size:var(--font-size-base);color:var(--text-primary);font-weight:600;line-height:1.35}.cell-subtitle{font-size:var(--font-size-xs);color:var(--text-tertiary);line-height:1.35}.status-chip{min-height:22px;font-size:var(--font-size-xs);white-space:nowrap;letter-spacing:.1px;border-style:solid;border-width:1px;border-radius:10px;justify-content:center;align-items:center;padding:3px 10px;font-weight:700;display:inline-flex}.status-blue{color:#005ab5;background:#e0eeff;border-color:#b3d4fc}.status-orange{color:#943d00;background:var(--critical-light);border-color:var(--critical-border)}.status-green{color:var(--positive);background:var(--positive-light);border-color:var(--positive-border)}.status-red{color:var(--negative);background:var(--negative-light);border-color:var(--negative-border)}.status-gray{color:var(--text-secondary);background:var(--surface-2);border-color:var(--border)}.empty-state-soft{padding:52px 24px}.th-actions{min-width:110px}.td-actions{white-space:nowrap}.table-action-btn{border-radius:var(--radius);background:var(--surface-0);min-width:84px;height:28px;font-size:var(--font-size-xs);cursor:pointer;transition:all var(--t);font-weight:600;font-family:var(--font-body);letter-spacing:.1px;border:1px solid #0000;padding:0 10px}.table-action-btn:disabled{opacity:.5;cursor:not-allowed}.table-action-btn-danger{color:var(--negative);background:var(--negative-light);border-color:var(--negative-border)}.table-action-btn-danger:hover:not(:disabled){background:#fde0e0;border-color:#e5a0a0}.table-action-placeholder{min-width:24px;color:var(--text-tertiary);font-weight:600;display:inline-block}.applied-programs-layout{gap:0;min-height:520px;display:flex}.applied-list{border-right:1px solid var(--border);background:var(--surface-1);flex-shrink:0;width:300px;overflow-y:auto}.applied-card{border-bottom:1px solid var(--border);cursor:pointer;transition:all var(--t);border-left:3px solid #0000;padding:14px 16px;position:relative}.applied-card:hover{background:var(--brand-light)}.applied-card.active{background:var(--surface-0);border-left-color:var(--brand)}.applied-card-status{font-size:var(--font-size-xs);color:var(--text-secondary);align-items:center;gap:5px;margin-bottom:7px;font-weight:600;display:flex}.applied-card-info{flex-direction:column;gap:3px;display:flex}.applied-card-meta{font-size:var(--font-size-sm);gap:5px;display:flex}.applied-card-meta span{color:var(--text-tertiary);min-width:64px}.applied-card-meta strong{color:var(--text-primary)}.applied-card-meta strong.ellipsis{text-overflow:ellipsis;white-space:nowrap;max-width:150px;overflow:hidden}.applied-detail{background:var(--surface-0);flex:1;padding:20px;overflow-y:auto}.applied-detail-head{justify-content:space-between;align-items:flex-start;margin-bottom:18px;display:flex}.detail-date{font-size:var(--font-size-xs);color:var(--text-tertiary);margin-bottom:3px}.detail-view-link{font-size:var(--font-size-sm);color:var(--brand);font-weight:500}.detail-program{border-bottom:1px solid var(--border);margin-bottom:18px;padding-bottom:14px}.detail-program h3{color:var(--text-primary);margin-bottom:3px;font-size:15px;font-weight:600}.detail-uni{font-size:var(--font-size-base);color:var(--text-secondary);margin-bottom:3px}.detail-intake{font-size:var(--font-size-sm);color:var(--text-tertiary)}.detail-fee-row{background:var(--critical-light);border-radius:var(--radius);font-size:var(--font-size-sm);border:1px solid var(--critical-border);align-items:center;gap:10px;margin-bottom:14px;padding:14px;display:flex}.detail-section{margin-bottom:14px}.detail-section h4{font-size:var(--font-size-xs);color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.07em;margin-bottom:10px;font-weight:700}.comment-box-placeholder{border:1px dashed var(--border);border-radius:var(--radius);text-align:center;font-size:var(--font-size-sm);color:var(--text-tertiary);padding:14px}.detail-meta-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.detail-meta-item{flex-direction:column;gap:2px;display:flex}.detail-meta-item span{color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.05em;font-size:10px}.detail-meta-item strong{font-size:var(--font-size-sm);color:var(--text-primary)}.apply-programs-grid{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.program-card{background:var(--surface-0);border:1px solid var(--border);border-radius:var(--radius-md);transition:all var(--t);box-shadow:var(--shadow-xs);padding:14px}.program-card:hover{border-color:var(--brand);box-shadow:var(--shadow-sm)}.program-card-uni{font-size:var(--font-size-base);color:var(--text-primary);margin-bottom:7px;font-weight:600}.program-card-meta{flex-wrap:wrap;gap:7px;margin-bottom:14px;display:flex}.program-card-meta span{font-size:var(--font-size-xs);background:var(--surface-2);color:var(--text-secondary);border-radius:10px;padding:2px 7px}@media (width<=1200px){.stats-grid{grid-template-columns:repeat(3,1fr)}}@media (width<=1024px){.stats-grid{grid-template-columns:repeat(2,1fr)}.two-col-grid{grid-template-columns:1fr}.uni-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=768px){:root{--sidebar-w:56px}.brand-text,.nav-label,.sidebar-section-label,.user-info{display:none}.nav-item{justify-content:center;padding:10px}.stats-grid{grid-template-columns:1fr 1fr}.form-grid{grid-template-columns:1fr}.login-left{display:none}.login-right{width:100%}.applied-programs-layout{flex-direction:column}.applied-list{border-right:none;border-bottom:1px solid var(--border);width:100%;max-height:220px}.profile-layout{flex-direction:column}.profile-sidebar{width:100%}}.demo-creds{background:var(--surface-1);border-radius:var(--radius);border:1px solid var(--border);flex-direction:column;gap:10px;padding:14px;display:flex}.demo-title{color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.07em;font-size:10px;font-weight:600}.demo-row{font-size:var(--font-size-xs);justify-content:space-between;align-items:center;display:flex}.demo-row span{color:var(--text-tertiary)}.demo-row code{font-family:var(--font-mono);font-size:var(--font-size-xs);color:var(--text-primary);background:var(--surface-0);border-radius:var(--radius-sm);border:1px solid var(--border);padding:2px 6px}
