:root{color:#172033;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f5f7fb;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-weight:400;line-height:1.5}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{color:#172033;background:radial-gradient(circle at 0 0,#4f6ef71f,#0000 28%),linear-gradient(#f8faff 0%,#f4f6fb 100%);min-height:100vh}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}.app-shell{grid-template-columns:260px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{color:#eff3ff;background:#172033;align-content:start;gap:24px;padding:24px 18px;display:grid}.sidebar__brand{gap:8px;display:grid}.sidebar__badge{color:#cdd8ff;letter-spacing:.04em;text-transform:uppercase;background:#ffffff14;border-radius:999px;width:fit-content;padding:6px 10px;font-size:12px;font-weight:700;display:inline-flex}.sidebar__title{margin:0;font-size:22px;line-height:1.2}.sidebar__text{color:#b8c4e2;margin:0;font-size:14px}.nav-links{gap:8px;display:grid}.nav-link{color:#dbe5ff;border-radius:14px;align-items:center;padding:12px 14px;font-weight:600;transition:all .14s;display:flex}.nav-link:hover{background:#ffffff14}.nav-link--active{color:#172033;background:#fff}.sidebar__footer{gap:12px;margin-top:auto;display:grid}.sidebar__user{background:#ffffff14;border-radius:16px;padding:14px}.sidebar__user-name{margin:0;font-weight:700}.sidebar__user-email{color:#c7d2ee;margin:4px 0 0;font-size:13px}.main-panel{padding:24px}.page-header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:24px;display:flex}.page-header h1{margin:0;font-size:32px;line-height:1.1}.page-header p{color:#546178;max-width:780px;margin:8px 0 0}.page-actions{flex-wrap:wrap;gap:10px;display:flex}.page-grid{gap:20px;display:grid}.page-grid--two{grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr)}.card{background:#fff;border:1px solid #dde5f0;border-radius:20px;padding:20px;box-shadow:0 10px 30px #16223b0f}.card h2,.card h3{margin:0}.card__subtext{color:#5e6a81;margin:8px 0 0;font-size:14px}.stat-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;display:grid}.stat-card{background:linear-gradient(#fff 0%,#fbfcff 100%);border:1px solid #e5ebf4;border-radius:18px;padding:16px}.stat-card__label{color:#65738a;text-transform:uppercase;letter-spacing:.04em;margin:0;font-size:13px;font-weight:700}.stat-card__value{margin:10px 0 0;font-size:28px;font-weight:800}.actions-row{flex-wrap:wrap;gap:12px;display:flex}.button,.button-secondary,.button-danger,.button-link{border:none;border-radius:14px;justify-content:center;align-items:center;gap:8px;padding:12px 16px;font-weight:700;transition:all .14s;display:inline-flex}.button{color:#fff;background:#3056d3}.button:hover{background:#2748b2}.button:disabled,.button-secondary:disabled,.button-danger:disabled{opacity:.6;cursor:not-allowed}.button-secondary{color:#172033;background:#fff;border:1px solid #ccd7e5}.button-secondary:hover{background:#f7f9fd}.button-danger{color:#b42318;background:#fff1f2;border:1px solid #fecdd3}.button-link{color:#3056d3;background:0 0;padding:0}.form-grid{gap:16px;display:grid}.form-row{gap:8px;display:grid}.form-row label,.form-section__title{color:#22304b;font-size:14px;font-weight:700}.form-input,.form-select,.form-textarea{color:#172033;background:#fff;border:1px solid #ccd7e5;border-radius:14px;width:100%;padding:12px 14px}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:#3056d3;outline:2px solid #3056d32e}.helper-text{color:#64748b;margin:0;font-size:13px}.notice,.error-banner,.success-banner{border-radius:16px;padding:14px 16px;font-size:14px}.notice{color:#334155;background:#f7f9fc;border:1px solid #e2e8f0}.error-banner{color:#b42318;background:#fff1f2;border:1px solid #fecdd3}.success-banner{color:#067647;background:#ecfdf3;border:1px solid #abefc6}.table-wrap{border:1px solid #e3e9f2;border-radius:16px;overflow-x:auto}.table{border-collapse:collapse;width:100%;min-width:720px}.table th,.table td{text-align:left;vertical-align:top;border-bottom:1px solid #e8edf5;padding:12px 14px}.table th{color:#53627a;text-transform:uppercase;letter-spacing:.04em;background:#f8faff;font-size:12px}.table tr:last-child td{border-bottom:none}.badge{border-radius:999px;align-items:center;padding:6px 10px;font-size:12px;font-weight:700;display:inline-flex}.badge--queued,.badge--ready,.badge--processing{color:#1849a9;background:#eef4ff}.badge--completed,.badge--matched{color:#067647;background:#ecfdf3}.badge--failed,.badge--unmatched_uploaded_record{color:#b42318;background:#fff1f2}.badge--blank_from_full_roster{color:#9a6700;background:#fff8e7}.auth-shell{place-items:center;min-height:100vh;padding:24px;display:grid}.auth-wrap{grid-template-columns:minmax(0,1.1fr) minmax(360px,.9fr);align-items:center;gap:24px;width:min(1100px,100%);display:grid}.auth-hero{padding:36px}.auth-panel{background:#fff;border:1px solid #dde5f0;border-radius:24px;padding:28px;box-shadow:0 12px 34px #16223b14}.auth-panel h1{margin:0;font-size:28px}.auth-panel p{color:#5a667c;margin:8px 0 0}.kicker{letter-spacing:.04em;text-transform:uppercase;color:#3056d3;background:#fff;border:1px solid #dfe8f3;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:800;display:inline-flex}.auth-features{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:22px;display:grid}.auth-feature{background:#ffffffc7;border:1px solid #e1e8f3;border-radius:18px;padding:16px}.auth-footer-text{color:#607089;margin-top:16px;font-size:14px}.check-list{gap:10px;margin:18px 0 0;padding:0;list-style:none;display:grid}.check-list li:before{content:"✓";color:#067647;margin-right:10px;font-weight:800}.selection-grid{gap:10px;display:grid}.selection-item{border:1px solid #dce5f2;border-radius:16px;align-items:flex-start;gap:12px;padding:12px;display:flex}.selection-item input{margin-top:4px}.inline-meta{color:#617087;flex-wrap:wrap;gap:12px;font-size:13px;display:flex}.empty-state{color:#5e6b82;font-size:14px}@media (width<=980px){.app-shell,.auth-wrap,.page-grid--two{grid-template-columns:1fr}.sidebar{gap:18px}.main-panel{padding:18px}.page-header{flex-direction:column}.auth-hero{padding:12px 0}}.input{color:#172033;background:#fff;border:1px solid #ccd7e5;border-radius:14px;width:100%;padding:12px 14px}.input:focus{border-color:#3056d3;outline:2px solid #3056d32e}.form-field{gap:8px;display:grid}.form-field>span{color:#22304b;font-size:14px;font-weight:700}.panel-muted{background:#f8faff;border:1px solid #dde5f0;border-radius:18px;padding:16px}.meta-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;display:grid}.meta-stack{color:#5e6a81;justify-items:end;gap:8px;font-size:14px;display:grid}.source-mode-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.source-mode-card{text-align:left;color:#172033;background:#fff;border:1px solid #d6e0ef;border-radius:18px;gap:6px;padding:16px;display:grid}.source-mode-card.is-active{background:#f7faff;border-color:#3056d3;box-shadow:inset 0 0 0 1px #3056d3}.source-mode-card__title{font-weight:800}.source-mode-card__text{color:#5e6a81;font-size:14px}.table--quiz-grid{min-width:1100px}.table-row--quiz{cursor:pointer}.table-row--good{background:#0676470f}.table-row--medium{background:#eab3081a}.table-row--review{background:#b4231814}.badge--health-good{color:#067647;background:#ecfdf3}.badge--health-medium{color:#b54708;background:#fff7e6}.badge--health-review{color:#b42318;background:#fff1f2}.inline-actions{flex-wrap:wrap;gap:8px;display:flex}.button-secondary--small,.button-danger--small{border-radius:12px;padding:8px 10px;font-size:13px}.modal-overlay{z-index:50;background:#0f172a80;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.modal-card{background:#fff;border:1px solid #dde5f0;border-radius:22px;width:min(760px,100%);max-height:calc(100vh - 48px);padding:20px;overflow:auto;box-shadow:0 18px 40px #0f172a33}.modal-card--wide{width:min(980px,100%)}.modal-card__header,.modal-card__actions{justify-content:space-between;align-items:center;gap:12px;display:flex}.modal-card__actions{margin-top:20px}.checkbox-field{align-items:center;gap:10px;display:flex}.checkbox-field--card{min-height:48px;padding-top:30px}@media (width<=980px){.source-mode-grid{grid-template-columns:1fr}.modal-card__header,.modal-card__actions,.meta-stack{flex-direction:column;place-items:flex-start start}}
