:root{--bg:#f5f6fa;--panel:#fff;--ink:#192338;--muted:#778196;--line:#e9ecf3;--blue:#315bec;--blue-dark:#2344c4;--green:#22845e;--amber:#b27b22;--red:#b44550;--radius:15px;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--bg);font-size:14px}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #a9baff;outline-offset:3px}h1,h2,h3,p{margin:0}h1{font-size:35px;letter-spacing:-1.2px;font-weight:650;line-height:1.2}h2{font-size:17px;font-weight:650;letter-spacing:-.25px}h3{font-size:16px;font-weight:600}p{line-height:1.65;color:var(--muted)}[hidden]{display:none!important}.app-layout{display:flex;min-height:100vh}.sidebar{width:248px;flex:none;position:fixed;inset:0 auto 0 0;background:#fff;border-right:1px solid var(--line);padding:33px 22px 0;display:flex;flex-direction:column;z-index:10}.brand{display:flex;gap:12px;align-items:center;font-size:25px;letter-spacing:-.6px;font-weight:650}.brand small{display:block;margin-top:3px;color:var(--muted);letter-spacing:1.5px;font-size:9px;font-weight:600}.brand-mark{display:inline-flex;align-items:center;justify-content:center;width:43px;height:43px;background:var(--blue);border-radius:12px;color:#fff;font-size:31px;font-weight:600;letter-spacing:-4px;padding-right:5px}.brand-mark span{color:#b6c9ff}.nav-caption{margin:53px 13px 16px;font-size:9px;letter-spacing:1.4px;color:#a2a9ba;font-weight:650}.nav-item{width:100%;display:flex;gap:13px;align-items:center;border:0;background:none;color:#7b8496;border-radius:9px;padding:13px 14px;margin-bottom:7px;text-align:left;font-size:13px;font-weight:500}.nav-item>span:first-child{font-size:18px;width:21px;text-align:center;color:#99a3b6}.nav-item.active{background:#edf1ff;color:var(--blue);font-weight:650}.nav-item.active>span:first-child{color:var(--blue)}.nav-item:hover{background:#f2f4fa}.nav-count{margin-left:auto;font-size:10px;background:#e9edf6;color:#68758c;padding:2px 6px;border-radius:4px}.sidebar-bottom{margin-top:auto}.portal-state{border-top:1px solid var(--line);padding:20px 5px 12px;color:#7c879b;font-size:10px;display:flex;align-items:center;gap:7px}.dot{width:6px;height:6px;border-radius:50%;display:inline-block;background:#36a775;flex-shrink:0}.portal-link{font-size:12px;color:#56627c;display:flex;justify-content:space-between;padding:8px 5px 22px}.user-block{border-top:1px solid var(--line);display:flex;align-items:center;gap:9px;padding:22px 0}.avatar{width:33px;height:33px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:#eceafa;color:#7564a2;font-size:12px;flex-shrink:0}.user-block strong{display:block;font-size:11px;font-weight:600;max-width:129px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-block small{display:block;color:#9aa1b2;font-size:9px;margin-top:4px}.user-block form{margin-left:auto}.logout{background:none;border:0;font-size:21px;color:#a5adbb;padding:3px}.workspace{margin-left:248px;flex:1;min-width:0}.topbar{height:77px;border-bottom:1px solid var(--line);background:#ffffffad;display:flex;align-items:center;justify-content:space-between;padding:0 44px;font-size:11px}.breadcrumb{color:#9ca4b4}.slash{color:#ccd1dc;margin:0 14px}.topbar strong{font-weight:550;color:#69758d}.topbar-tag{font-size:10px;display:flex;align-items:center;gap:7px;color:#8993a8}.workspace-content{max-width:1370px;margin:auto;padding:39px 44px 22px}.page-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:30px}.eyebrow{color:#8e99af;font-size:9px;font-weight:650;letter-spacing:1.8px;display:block;margin-bottom:12px}.page-heading p{font-size:12px;margin-top:10px}.heading-dot{color:var(--blue)}.heading-icon{width:56px;height:56px;border:1px solid #e3e7f2;background:#fff;border-radius:15px;display:flex;align-items:center;justify-content:center;color:#bcc5d9;font-size:25px;transform:rotate(-6deg)}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:17px;margin-bottom:27px}.stat{border:1px solid var(--line);background:white;border-radius:var(--radius);padding:22px;display:flex;align-items:center;gap:15px;flex-wrap:wrap}.stat-icon{width:39px;height:39px;display:flex;align-items:center;justify-content:center;border-radius:10px;font-size:20px}.blue{background:#eef2ff;color:#597be9}.amber{background:#fcf5e8;color:#c4984b}.green{background:#ecf8f2;color:#50a181}.stat small{font-size:10px;color:#95a0b4;display:block;margin-bottom:6px}.stat strong{font-size:23px;line-height:1;font-weight:600;letter-spacing:-1px}.stat-detail{display:block;width:100%;font-size:10px;color:#a6aebe;margin-left:54px;margin-top:-3px}.panel{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;margin-bottom:23px;box-shadow:0 3px 8px #1e345202}.panel-heading{display:flex;gap:13px;align-items:center;padding:24px 27px;border-bottom:1px solid var(--line)}.panel-heading p{font-size:10px;margin-top:5px}.panel-heading .text-link{margin-left:auto;font-size:11px}.step{height:32px;min-width:32px;border-radius:9px;background:#f3f5fb;border:1px solid #e9edf7;color:#8b9abb;font-size:10px;font-weight:550;display:flex;align-items:center;justify-content:center}.small-tag{margin-left:auto;border:1px solid #e9edf5;border-radius:5px;font-size:9px;color:#8893ab;padding:6px 9px}.meeting-panel form{padding:24px 27px 0}label{display:flex;flex-direction:column;gap:8px;font-size:10px;color:#748098;font-weight:550}input,select{height:41px;width:100%;min-width:0;padding:0 12px;border:1px solid #e2e7f0;border-radius:7px;background:#fff;color:#53617c;outline:none;font-size:12px}input:hover,select:hover{border-color:#cbd4e9}input:focus,select:focus{border-color:#7893f3;box-shadow:0 0 0 3px #315bec0b}input::placeholder{color:#a4aec1}select{padding-right:26px}.school-flow{display:grid;grid-template-columns:1fr 43px 1fr;align-items:end;margin-bottom:23px}.flow-arrow{display:flex;align-items:center;justify-content:center;height:41px;color:#aeb9ce;font-size:19px}.form-grid{display:grid;grid-template-columns:1.25fr 2.2fr .8fr .8fr;gap:15px;margin-bottom:20px}.form-options{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:23px}.optional{color:#a7afc0;font-size:9px;font-weight:400;margin-left:4px;display:contents}.form-actions{display:flex;align-items:center;gap:13px;border-top:1px solid var(--line);padding:19px 0}.form-hint{font-size:10px;color:#a2acbc;margin-left:auto}.button{display:inline-flex;align-items:center;justify-content:center;gap:14px;padding:11px 16px;border-radius:7px;border:1px solid transparent;white-space:nowrap;font-weight:550;font-size:11px;line-height:1.3;min-height:39px}.button.primary{background:var(--blue);color:#fff;box-shadow:0 3px 6px #315bec12}.button.primary:hover:not(:disabled){background:var(--blue-dark)}.button.secondary{background:#fff;border-color:#e2e7f0;color:#78859c}.button.secondary:hover{background:#f7f9ff;color:#5068b0}.button.small{padding:7px 11px;font-size:10px;min-height:31px}.button.wide{width:100%;justify-content:space-between}.text-link{color:var(--blue);font-size:12px}.empty-state{padding:45px 20px 38px;text-align:center}.empty-symbol{display:inline-flex;border:1px dashed #d9e0ef;background:#f8faff;width:49px;height:49px;align-items:center;justify-content:center;font-size:22px;color:#b3c0dc;border-radius:13px;margin-bottom:18px}.empty-state h3{font-size:14px;color:#7b879d;font-weight:550}.empty-state p{font-size:11px;margin-top:10px;color:#a1aabe}.empty-steps{margin-top:27px;display:flex;justify-content:center;gap:16px;color:#a6b0c3;font-size:9px}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;text-align:left;font-size:11px}th{font-size:9px;color:#9ba6ba;font-weight:550;background:#fafbfe;padding:14px 22px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);white-space:nowrap}td{padding:16px 22px;border-bottom:1px solid #f0f2f7;vertical-align:middle}.person-cell{display:flex;align-items:center;gap:10px;min-width:160px}.person-cell .avatar{height:29px;width:29px;background:#f0f3fa;color:#8c9bb9;font-size:10px}.person-cell strong{font-weight:550;color:#52617a;font-size:11px}.subline{font-size:9px;color:#a1acc0;margin-top:5px;display:block}.badge{display:inline-flex;gap:5px;align-items:center;font-size:9px;border-radius:5px;padding:5px 7px;white-space:nowrap}.badge.good{background:#eaf7f0;color:#3c9974}.badge.bad{background:#fcf0f1;color:#ba6571}.badge.review{background:#fdf5e5;color:#b5903d}.badge.neutral{background:#f0f3f8;color:#8c9aaf}.result-summary{display:flex;gap:9px;align-items:center;padding:18px 25px}.result-summary .badge{padding:7px 10px}.result-actions{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:19px 25px;background:#fcfdff}.result-actions p{font-size:10px;max-width:65%;line-height:1.6}.topic-panel{display:flex;gap:20px;align-items:center;justify-content:space-between;flex-wrap:wrap;padding:25px 28px;background:linear-gradient(115deg,#fff,#f9fbff);border-color:#e4eafa}.topic-panel .eyebrow{margin-bottom:8px;font-size:8px;color:#8a9bc3}.topic-panel h2{font-size:15px;color:#5b6d91}.topic-panel p{font-size:10px;margin-top:8px}.topic-panel #topic-result{width:100%;padding-top:17px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:15px}.topic-copy{font-size:12px;color:#5c6c8b}.topic-copy small{display:block;font-size:9px;color:#9ba5b8;margin-top:5px}.workspace-footer{display:flex;justify-content:space-between;font-size:9px;color:#a9b1c0;margin:30px 0 0}.job-progress{display:flex;gap:14px;align-items:center;background:#edf2ff;border:1px solid #e0e8ff;border-radius:12px;padding:17px 22px;margin-bottom:22px}.job-progress strong{font-size:12px;color:#5c73b6}.job-progress p{font-size:11px;color:#879aca;margin-top:4px}.spinner{width:20px;height:20px;border:2px solid #cbd7fb;border-top-color:var(--blue);border-radius:50%;animation:spin .9s linear infinite;display:inline-block;flex-shrink:0}@keyframes spin{to{transform:rotate(360deg)}}.notice{border:1px solid #e5eaf6;border-radius:9px;background:#edf3ff;color:#607aa9;padding:13px 17px;font-size:12px;margin-bottom:22px;line-height:1.6}.notice.error{background:#fff2f3;border-color:#f0dce0;color:#ac606c}.notice.success{background:#edf8f2;border-color:#dcece2;color:#518369}.school-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.school-card{padding:27px;background:#fff;border:1px solid var(--line);border-radius:var(--radius)}.school-card .school-symbol{display:flex;width:42px;height:42px;border-radius:11px;background:#eef3ff;color:#839bcd;align-items:center;justify-content:center;font-size:22px;margin-bottom:22px}.school-card h3{font-size:16px}.school-card p{font-size:11px;margin-top:9px}.school-card .card-bottom{margin-top:26px;display:flex;align-items:center;justify-content:space-between}.list-empty{padding:50px;text-align:center;color:#9ba5b8;font-size:12px}.history-item,.mapping-item{padding:22px 26px;border-bottom:1px solid var(--line);display:flex;gap:15px;align-items:center;justify-content:space-between}.history-item strong,.mapping-item strong{font-size:12px;font-weight:550}.history-item p,.mapping-item p{font-size:10px;margin-top:6px}.history-meta{display:flex;gap:12px;align-items:center;color:#9aa5b8;font-size:10px}.status-icon{display:flex;width:32px;height:32px;background:#f2f5fb;border-radius:9px;align-items:center;justify-content:center;color:#9cacc9}.history-title{display:flex;align-items:center;gap:13px}.mapping-item .mapping-direction{color:#a5b4cf;display:inline-block;margin:0 10px}dialog{border:1px solid #e2e7f1;border-radius:18px;padding:0;width:min(470px,calc(100vw - 32px));max-height:85vh;box-shadow:0 25px 100px #1e355b26;color:var(--ink)}dialog::backdrop{background:#15213b66;backdrop-filter:blur(4px)}.dialog-body{padding:31px;position:relative}.dialog-body h2{font-size:23px;margin-bottom:11px;letter-spacing:-.6px}.dialog-body>p{font-size:12px;margin-bottom:24px}.dialog-body label{margin:17px 0}.dialog-close{position:absolute;right:19px;top:15px;border:0;background:none;color:#9ca6b7;font-size:25px}.dialog-actions{display:flex;justify-content:flex-end;align-items:center;gap:12px;padding-top:20px;border-top:1px solid var(--line);margin-top:24px}.small{font-size:10px!important}.muted{color:#99a4b9}.wide-dialog{width:min(690px,calc(100vw - 32px))}.candidate-search{display:grid;grid-template-columns:2fr 1fr auto;gap:10px;align-items:end;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding-bottom:18px;margin-bottom:18px}.candidate-search label{margin:17px 0 0}.candidate-list{display:flex;flex-direction:column;gap:9px;max-height:310px;overflow:auto}.candidate{display:flex;flex-direction:row!important;align-items:center;gap:13px;border:1px solid var(--line);border-radius:9px;padding:16px;margin:0!important;background:#fafbfe}.candidate:has(input:checked){border-color:#8ea6fb;background:#f0f4ff}.candidate input{width:16px;height:16px;box-shadow:none;flex-shrink:0;accent-color:var(--blue)}.candidate strong{display:block;font-size:12px;color:#5e6f8c}.candidate small{display:block;font-size:10px;color:#99a5bb;margin-top:7px}.candidate .badge{margin-left:auto}.login-page{min-height:100vh;background:#f2f4f9;display:flex;align-items:center;justify-content:center;padding:30px}.login-layout{max-width:1120px;width:100%;min-height:660px;display:grid;grid-template-columns:1.08fr 1fr;box-shadow:0 20px 90px #34457b0a;border:1px solid #e4e9f2;background:#fff;border-radius:23px;overflow:hidden}.login-intro{padding:45px 49px;background:linear-gradient(145deg,#edf2ff,#f5f7ff 65%,#e9effd);display:flex;flex-direction:column;justify-content:space-between;position:relative}.login-intro:after{content:"";position:absolute;right:-110px;bottom:-160px;width:430px;height:430px;border:1px solid #cdd8f366;border-radius:50%;pointer-events:none}.login-intro .eyebrow{font-size:9px;color:#8295ba;margin-bottom:25px}.login-intro h1{font-size:48px;line-height:1.16;letter-spacing:-2px;color:#2f426c}.login-intro h1 em{font-style:normal;color:var(--blue)}.login-intro p{font-size:13px;line-height:1.8;margin-top:24px;max-width:310px;color:#8897b4}.intro-footer{display:flex;align-items:center;gap:8px;color:#9aa8c1;font-size:10px;z-index:1}.login-card{align-self:center;padding:65px 56px;position:relative}.login-card .small-symbol{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border:1px solid #e9edf4;border-radius:12px;color:#9caeca;font-size:22px;margin-bottom:28px}.login-card h2{font-size:28px;letter-spacing:-.8px;margin-bottom:15px}.login-card>p{font-size:13px;margin-bottom:31px}.login-card .button{font-size:12px;min-height:47px}.login-note{display:flex;gap:12px;border-top:1px solid var(--line);padding-top:24px;margin:27px 0 33px}.login-note>span{color:#a2b4d8;font-size:19px}.login-note p{font-size:11px;color:#a0aabe;line-height:1.7}.login-card .text-link{font-size:11px;color:#96a2b8}.message-card{max-width:510px;padding:45px;background:#fff;border:1px solid var(--line);border-radius:20px}.message-card h1{font-size:27px;margin:28px 0 15px}.message-card p{font-size:13px;margin-bottom:28px}.message-card .text-link{display:block;margin-top:23px}@media(min-width:1550px){.workspace-content{padding-top:49px}.stats{margin-bottom:30px}}@media(max-width:1150px){.sidebar{width:215px;padding-left:15px;padding-right:15px}.workspace{margin-left:215px}.workspace-content{padding:30px 25px}.topbar{padding:0 25px}.stat{padding:17px}.stat-detail{font-size:8px}.form-grid{grid-template-columns:1.3fr 1.7fr .9fr .9fr;gap:10px}.panel-heading,.meeting-panel form{padding-left:21px;padding-right:21px}.form-hint{display:none}.form-actions .primary{margin-left:auto}.login-intro{padding:37px}.login-card{padding:45px 36px}}@media(max-width:850px){.sidebar{width:78px;padding:25px 13px}.brand>span:last-child,.nav-caption,.nav-item>span.nav-count,.sidebar .portal-link,.user-block>div,.user-block form,.portal-state{display:none}.nav-item{font-size:0;padding:15px 12px}.nav-item>span:first-child{font-size:20px}.sidebar nav{margin-top:45px}.sidebar .brand{justify-content:center}.user-block{justify-content:center}.workspace{margin-left:78px}.topbar-tag{display:none}.stats{gap:9px}.stat{padding:15px;gap:10px}.stat-icon{display:none}.stat-detail{margin:0}.form-grid{grid-template-columns:repeat(2,1fr)}.lesson-field{order:0}.form-grid label:first-child{order:0}.form-grid label:nth-child(3),.form-grid label:nth-child(4){order:1}.form-options{gap:10px}.school-cards{grid-template-columns:1fr}.page-heading h1{font-size:30px}.login-layout{min-height:570px}.login-intro h1{font-size:39px}.login-intro{padding:32px}.login-card{padding:40px 28px}.login-card h2{font-size:24px}.login-page{padding:20px}}@media(max-width:600px){.sidebar{position:relative;width:100%;height:auto;inset:auto;flex-direction:row;padding:12px 18px;border-right:0;border-bottom:1px solid var(--line);align-items:center;gap:15px}.sidebar .brand-mark{width:31px;height:31px;border-radius:8px;font-size:24px}.sidebar nav{display:flex;margin:0 0 0 auto;gap:3px}.nav-item{margin:0;padding:10px;max-width:40px}.sidebar-bottom{display:none}.app-layout{display:block}.workspace{margin:0}.topbar{height:47px;padding:0 18px;font-size:10px}.workspace-content{padding:25px 16px 18px}.page-heading{margin-bottom:24px;gap:10px}.heading-icon{display:none}.page-heading h1{font-size:28px}.page-heading p{font-size:11px}.stats{gap:7px;margin-bottom:20px}.stat{padding:14px 10px}.stat small{font-size:8px}.stat strong{font-size:21px}.stat-detail{display:none}.eyebrow{font-size:8px;letter-spacing:1.3px}.panel-heading{padding:20px 17px}.panel-heading h2{font-size:15px}.panel-heading p{font-size:9px}.small-tag{display:none}.meeting-panel form{padding:20px 17px 0}.school-flow{grid-template-columns:1fr;gap:12px}.flow-arrow{display:none}.form-options{grid-template-columns:1fr}.form-actions{gap:8px}.form-actions .button{font-size:10px;padding:11px}.result-actions{align-items:flex-start;flex-direction:column}.result-actions p{max-width:100%}.result-actions .button{width:100%}.empty-state{padding:35px 15px}.empty-steps{font-size:7px;gap:7px}.topic-panel{padding:23px 20px;gap:17px}.topic-panel>.button{width:100%}.result-summary{padding:16px;flex-wrap:wrap;gap:5px}.panel-heading .text-link{font-size:9px}.workspace-footer{font-size:8px}.dialog-body{padding:26px 21px}.candidate-search{grid-template-columns:1.5fr 1fr}.candidate-search button{grid-column:span 2}.candidate strong{font-size:11px}.dialog-actions .muted{display:none}.history-item,.mapping-item{padding:19px 17px;gap:10px;flex-wrap:wrap}.history-meta{padding-left:45px}.login-layout{grid-template-columns:1fr;max-width:450px;min-height:0}.login-intro{padding:26px;min-height:290px;gap:32px}.login-intro h1{font-size:35px;line-height:1.1}.login-intro h1 br:nth-child(2){display:none}.login-intro .eyebrow{display:none}.login-intro p,.intro-footer{display:none}.login-intro .brand{font-size:22px}.login-intro .brand-mark{width:35px;height:35px;font-size:26px}.login-intro:after{width:270px;height:270px;right:-100px;bottom:-130px}.login-card{padding:30px 26px}.login-card .small-symbol{display:none}.login-card h2{font-size:23px}.login-page{padding:16px}.login-card>p{font-size:12px;margin-bottom:23px}.login-note{margin:24px 0;padding-top:20px}.page-heading>.button{font-size:10px;padding:10px}.topic-panel #topic-result{flex-direction:column;align-items:flex-start}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}

/* Readable secondary labels and table text. */
:root{--muted:#66758c}label{color:#66758c;font-size:11px}.person-cell strong{color:#344761;font-size:12px}.subline{color:#75849d;font-size:10px}.badge{font-size:10px}.badge.good{color:#246c4f}.badge.bad{color:#9e3c4b}.badge.review{color:#885f16}.badge.neutral{color:#61718b}.button.secondary{color:#5b6c87}.stat small{color:#78859a;font-size:11px}th{color:#708098;font-size:10px}.form-hint{color:#75849d}.panel-heading p{font-size:11px}.history-item p,.mapping-item p{color:#6f7f98}.candidate small{color:#71819b}.candidate strong{font-size:13px}
