:root{--brand-50: #eef2fb;--brand-100: #dce3f6;--brand-500: #3b54b0;--brand-600: #2c41a0;--brand-700: #22348f;--brand-800: #1e2a78;--brand-900: #172158;--background: #f5f7fa;--foreground: #0f172a;--card: #ffffff;--card-foreground: #0f172a;--muted: #f1f5f9;--muted-foreground: #64748b;--border: #e5e9f0;--input: #e2e8f0;--primary: #2c41a0;--primary-hover: #22348f;--primary-foreground: #ffffff;--primary-soft: #eef2fb;--primary-soft-foreground: #2c41a0;--ring: #2c41a0;--ring-shadow: rgba(44, 65, 160, .18);--sidebar: #ffffff;--sidebar-foreground: #334155;--slate-100: #f1f5f9;--slate-200: #e2e8f0;--slate-300: #cbd5e1;--slate-400: #94a3b8;--slate-500: #64748b;--slate-700: #334155;--slate-900: #0f172a;--secondary-foreground: #334155;--accent: #16a34a;--success: #16a34a;--success-bg: #dcfce7;--success-fg: #15803d;--warning: #d97706;--warning-bg: #fef3c7;--warning-fg: #b45309;--info: #2563eb;--info-bg: #e0f2fe;--info-fg: #0369a1;--destructive: #dc2626;--destructive-bg: #fef2f2;--destructive-fg: #b91c1c;--destructive-foreground: #ffffff;--status-approved: #16a34a;--status-pending: #f59e0b;--status-rejected: #dc2626;--status-cancelled: #a8a29e;--viz-1: #4a63c9;--viz-2: #eb6834;--viz-3: #1baf7a;--viz-4: #eda100;--viz-good: #15803d;--viz-warning: #b45309;--viz-critical: #b91c1c;--viz-muted: #94a3b8;--viz-seq-1: #dce3f6;--viz-seq-2: #a9b8e8;--viz-seq-3: #7488d8;--viz-seq-4: #4a63c9;--viz-seq-5: #2c41a0;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--radius-xl: 20px;--radius-pill: 999px;--shadow-sm: 0 1px 2px rgba(15, 23, 42, .04);--shadow-md: 0 8px 24px rgba(15, 23, 42, .08);--shadow-lg: 0 18px 44px rgba(15, 23, 42, .12);--font-display: "Sora", system-ui, -apple-system, sans-serif;--font-sans: "Plus Jakarta Sans", system-ui, -apple-system, sans-serif;--font-body: "Inter", system-ui, -apple-system, sans-serif;font-family:var(--font-sans);color:var(--foreground);background:var(--background);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}:root[data-theme=dark]{--background: #0b1220;--foreground: #e6edf7;--card: #111a2e;--card-foreground: #e6edf7;--muted: #1b2740;--muted-foreground: #93a2bc;--border: #24314a;--input: #33415c;--primary-soft: #1b2740;--primary-soft-foreground: #c7d2fe;--sidebar: #0f1626;--sidebar-foreground: #c3cedf;--slate-400: #93a2bc;--slate-500: #93a2bc;--slate-700: #c3cedf;--secondary-foreground: #e6edf7;--success-bg: #10261a;--success-fg: #4ade80;--warning-bg: #33270f;--warning-fg: #fbbf24;--info-bg: #0d2233;--info-fg: #7dd3fc;--destructive-bg: #3b1d1d;--destructive-fg: #fca5a5;--viz-1: #5b74d8;--viz-2: #d95926;--viz-3: #199e70;--viz-4: #c98500;--viz-good: #4ade80;--viz-warning: #fbbf24;--viz-critical: #fca5a5;--viz-muted: #93a2bc;--viz-seq-1: #1b2740;--viz-seq-2: #2e3f66;--viz-seq-3: #4a63c9;--viz-seq-4: #7488d8;--viz-seq-5: #a9b8e8;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .4);--shadow-md: 0 8px 24px rgba(0, 0, 0, .45);--shadow-lg: 0 18px 44px rgba(0, 0, 0, .55)}*{box-sizing:border-box}body{margin:0;background:var(--background);color:var(--foreground);font-family:var(--font-sans)}h1,h2,h3,.display{font-family:var(--font-display);letter-spacing:-.01em}.app-shell{display:flex;min-height:100vh}.sidebar{width:240px;flex-shrink:0;background:var(--sidebar);border-right:1px solid var(--border);display:flex;flex-direction:column;padding:1.5rem 1rem;gap:1.5rem;position:sticky;top:0;height:100vh}.sidebar-brand{display:flex;align-items:center;gap:.75rem;padding:0 .5rem}.logo{width:40px;height:40px;border-radius:var(--radius-md);background:var(--primary);color:var(--primary-foreground);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.9rem;letter-spacing:.04em}.sidebar-brand h1{margin:0;font-size:1rem;line-height:1.2}.sidebar-brand p{margin:0;font-size:.75rem;color:var(--muted-foreground)}.sidebar-nav{display:flex;flex-direction:column;gap:.25rem;flex:1}.nav-item{all:unset;display:flex;align-items:center;gap:.75rem;padding:.6rem .75rem;border-radius:var(--radius-md);font-size:.9rem;font-weight:500;color:var(--sidebar-foreground);cursor:pointer;transition:background .15s ease,color .15s ease}.nav-item:hover{background:var(--muted);color:var(--foreground)}.nav-item.active{background:var(--primary-soft);color:var(--primary-soft-foreground);font-weight:600}.nav-icon{width:20px;text-align:center;font-size:.9rem;opacity:.8}.nav-item.active .nav-icon{opacity:1}.sidebar-user{border-top:1px solid var(--border);padding-top:1rem;display:flex;flex-direction:column;gap:.75rem}.user-info{display:flex;align-items:center;gap:.6rem;padding:0 .25rem}.user-avatar{width:32px;height:32px;border-radius:50%;background:var(--primary-soft);color:var(--primary);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.8rem;flex-shrink:0}.user-meta{display:flex;flex-direction:column;line-height:1.2;min-width:0}.user-name{font-size:.85rem;font-weight:600;color:var(--foreground);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-role{font-size:.72rem;color:var(--muted-foreground)}.logout{background:var(--card);color:var(--primary);border:1px solid var(--border);padding:.4rem .9rem;border-radius:var(--radius-sm);font-size:.8rem;font-weight:600;cursor:pointer;transition:background .15s ease,border-color .15s ease;width:100%}.logout:hover{background:var(--primary-soft);border-color:var(--brand-100)}.content{flex:1;min-width:0;display:flex;flex-direction:column}.topbar{background:var(--card);border-bottom:1px solid var(--border);padding:1.25rem 2rem;display:flex;align-items:center;gap:.5rem}.page-title{margin:0 0 .15rem;font-size:1.4rem}.page-sub{margin:0;color:var(--muted-foreground);font-size:.85rem}.crumb{background:none;border:none;color:var(--primary);padding:0;font:inherit;font-size:.95rem;cursor:pointer}.crumb:hover{text-decoration:underline}.crumb-sep{color:var(--slate-400);margin:0 .4rem}.crumb-current{color:var(--foreground);font-weight:500;font-size:.95rem}main{padding:2rem;flex:1}.page-head{margin-bottom:1.25rem}.page-head h1{margin:0;font-family:var(--font-display);font-size:1.5rem;font-weight:700;letter-spacing:-.02em;color:var(--foreground)}.page-head p{margin:.25rem 0 0;font-size:.92rem;color:var(--muted-foreground)}.filter-row{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem;flex-wrap:wrap}.filter-label{font-size:.8rem;font-weight:600;color:var(--muted-foreground);text-transform:uppercase;letter-spacing:.04em}.filter-pills{display:inline-flex;gap:.4rem;flex-wrap:wrap}.filter-pill{all:unset;cursor:pointer;padding:.35rem .85rem;border-radius:var(--radius-pill);border:1px solid var(--border);background:var(--card);font-size:.8rem;font-weight:500;color:var(--secondary-foreground);transition:background .15s ease,border-color .15s ease,color .15s ease}.filter-pill:hover{background:var(--muted);border-color:var(--slate-300)}.filter-pill.active{background:var(--primary);border-color:var(--primary);color:var(--primary-foreground);font-weight:600}.muted-inline{color:var(--muted-foreground)}.empty{background:var(--card);border:1px dashed var(--slate-300);border-radius:var(--radius-md);padding:3rem 1.5rem;text-align:center;color:var(--muted-foreground);display:flex;flex-direction:column;gap:.5rem;align-items:center}.empty p{margin:0}.empty strong{color:var(--foreground)}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem;flex-wrap:wrap}.count{font-size:.85rem;color:var(--muted-foreground)}.count strong{color:var(--foreground);font-weight:600}.view-toggle{display:inline-flex;background:var(--card);border:1px solid var(--border);border-radius:var(--radius-md);padding:3px;gap:2px}.view-toggle button{all:unset;display:inline-flex;align-items:center;gap:.35rem;padding:.4rem .8rem;font-size:.8rem;font-weight:500;color:var(--muted-foreground);border-radius:var(--radius-sm);cursor:pointer;transition:background .15s ease,color .15s ease}.view-toggle button:hover{color:var(--foreground)}.view-toggle button.active{background:var(--primary-soft);color:var(--primary-soft-foreground);font-weight:600}.toggle-icon{font-size:.9rem;line-height:1}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.25rem}.table-wrap{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;overflow-x:auto}.applicants-table{width:100%;border-collapse:collapse;font-size:.88rem}.applicants-table thead th{text-align:left;padding:.75rem 1rem;font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;font-weight:700;color:var(--muted-foreground);background:var(--muted);border-bottom:1px solid var(--border);white-space:nowrap}.applicants-table tbody tr{cursor:pointer;transition:background .1s ease}.applicants-table tbody tr:hover{background:var(--muted)}.applicants-table tbody tr:focus-visible{outline:none;background:var(--primary-soft)}.applicants-table tbody td{padding:.75rem 1rem;border-bottom:1px solid var(--border);vertical-align:middle}.applicants-table tbody tr:last-child td{border-bottom:none}.row-name{display:flex;align-items:center;gap:.6rem;font-weight:500}.avatar.sm{width:32px;height:32px;font-size:.75rem}.mono{font-variant-numeric:tabular-nums;color:var(--muted-foreground);font-size:.82rem}.muted-cell{color:var(--muted-foreground)}.pagination{display:flex;align-items:center;justify-content:center;gap:.75rem;margin-top:1.5rem}.page-btn{all:unset;cursor:pointer;padding:.45rem .9rem;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--card);font-size:.85rem;font-weight:500;color:var(--secondary-foreground);transition:background .15s ease,border-color .15s ease}.page-btn:hover:not(:disabled){background:var(--muted);border-color:var(--slate-300)}.page-btn:disabled{opacity:.4;cursor:not-allowed}.page-numbers{display:inline-flex;gap:.25rem}.page-num{all:unset;cursor:pointer;min-width:32px;height:32px;padding:0 .5rem;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);font-size:.85rem;font-weight:500;color:var(--muted-foreground);transition:background .15s ease,color .15s ease}.page-num:hover{background:var(--muted);color:var(--foreground)}.page-num.active{background:var(--primary);color:var(--primary-foreground);font-weight:600}.card{all:unset;cursor:pointer;background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;display:flex;flex-direction:column;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}.card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:var(--brand-100)}.card:focus-visible{outline:3px solid var(--ring-shadow);outline-offset:2px}.applicant-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:1rem 1rem .25rem}.applicant-id-wrap{display:flex;flex-direction:column;align-items:flex-end;gap:.35rem}.avatar{width:48px;height:48px;border-radius:50%;background:var(--primary);color:var(--primary-foreground);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1rem;letter-spacing:.02em;flex-shrink:0}.avatar.lg{width:72px;height:72px;font-size:1.5rem}.avatar.lg.photo{overflow:hidden;background:var(--muted)}.avatar.lg.photo img{width:100%;height:100%;object-fit:cover;display:block}.body{padding:.75rem 1rem 1rem;display:flex;flex-direction:column;gap:.25rem}.card h2{margin:0 0 .15rem;font-size:1.05rem;line-height:1.3}.desc{margin:0;color:var(--secondary-foreground);font-size:.9rem;font-weight:500}.email{margin:.15rem 0 0;color:var(--muted-foreground);font-size:.85rem}.author{margin:.25rem 0 0;color:var(--slate-400);font-size:.75rem}.id{color:var(--muted-foreground);font-size:.75rem;font-variant-numeric:tabular-nums}.chip{display:inline-block;padding:.15rem .6rem;border-radius:var(--radius-pill);text-transform:uppercase;letter-spacing:.04em;font-weight:600;font-size:.7rem;background:var(--muted);color:var(--secondary-foreground);white-space:nowrap}.chip.status-pending{background:var(--warning-bg);color:var(--warning-fg)}.chip.status-under-review{background:var(--info-bg);color:var(--info-fg)}.chip.status-accepted{background:var(--success-bg);color:var(--success-fg)}.chip.status-waitlisted{background:var(--muted);color:var(--secondary-foreground)}.chip.status-rejected{background:var(--destructive-bg);color:var(--destructive-fg)}.dashboard{display:flex;flex-direction:column;gap:1.5rem}.stat-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:1rem}.stat-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.1rem 1.25rem;display:flex;flex-direction:column;gap:.35rem}.stat-card.primary{background:var(--primary);border-color:var(--primary);color:var(--primary-foreground)}.stat-card.primary .stat-label{color:#fffc}.stat-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted-foreground);font-weight:600}.stat-value{font-family:var(--font-display);font-size:1.85rem;font-weight:700;line-height:1}.stat-card .chip{align-self:flex-start;margin-top:.15rem}.panel{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.25rem 1.5rem}.panel-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:.75rem}.panel-head h2{margin:0;font-size:1rem}.link{background:none;border:none;color:var(--primary);padding:0;font:inherit;font-size:.85rem;cursor:pointer;font-weight:500}.link:hover{text-decoration:underline}.recent-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.recent-list li{display:flex;align-items:center;gap:.85rem;padding:.75rem 0;border-bottom:1px solid var(--border)}.recent-list li:last-child{border-bottom:none}.recent-list .avatar{width:36px;height:36px;font-size:.8rem}.recent-meta{flex:1;min-width:0;display:flex;flex-direction:column}.recent-name{font-weight:600;font-size:.9rem}.recent-sub{font-size:.8rem;color:var(--muted-foreground)}.detail{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:2rem;max-width:760px}.back{background:none;border:none;color:var(--primary);padding:0;font:inherit;font-size:.9rem;cursor:pointer;margin-bottom:1.5rem}.back:hover{text-decoration:underline}.detail-head{display:flex;align-items:center;gap:1rem;margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:1px solid var(--border)}.detail-head h1{margin:0 0 .35rem;font-size:1.5rem;line-height:1.2}.detail-meta{display:flex;align-items:center;gap:.6rem;margin-bottom:.35rem;font-size:.8rem}.muted{color:var(--slate-400);font-size:.8rem;font-variant-numeric:tabular-nums}.lead{margin:.35rem 0 0;color:var(--muted-foreground);font-size:.95rem}.detail section{margin-bottom:1.75rem}.detail section:last-child{margin-bottom:0}.detail section h2{margin:0 0 .75rem;font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted-foreground)}.fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.85rem 1.25rem;margin:0}.fields>div{display:flex;flex-direction:column;gap:.15rem}.fields .full{grid-column:1 / -1}.fields dt{font-size:.75rem;color:var(--muted-foreground);text-transform:uppercase;letter-spacing:.04em;font-weight:600}.fields dd{margin:0;color:var(--foreground);font-size:.95rem}.documents-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--border)}.doc-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.75rem 0;border-bottom:1px solid var(--border);flex-wrap:wrap}.doc-label{font-size:.9rem;color:var(--foreground);font-weight:500}.doc-info{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.doc-name{color:var(--primary);font-size:.9rem;text-decoration:none;max-width:240px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.doc-name:hover{text-decoration:underline}.doc-size{font-size:.8rem}.doc-upload-btn{display:inline-block;padding:.35rem .85rem;border:1px solid var(--primary);border-radius:var(--radius-sm);color:var(--primary);font-size:.85rem;font-weight:500;cursor:pointer;background:var(--card)}.doc-upload-btn:hover{background:var(--primary-soft)}.doc-upload-btn input[type=file]{display:none}.doc-error{flex-basis:100%;margin:.25rem 0 0;font-size:.8rem;color:var(--destructive-fg)}.doc-remove{background:none;border:none;padding:0;font:inherit;font-size:.85rem;color:var(--destructive-fg);cursor:pointer}.doc-remove:hover{text-decoration:underline}
