@font-face{font-family:Circe;src:local('Circe');font-display:swap}
:root{--ink:#182025;--muted:#7c878d;--cyan:#00dcec;--cyan-dark:#008e9b;--cyan-soft:#e7fafd;--red:#ed1c24;--line:#e8edef;--paper:#f7f9fa;--white:#fff;--radius:16px;--shadow:0 18px 65px #14292f14;font-family:Circe,-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}
*{box-sizing:border-box}body{margin:0;font-size:14px;line-height:1.5}button,input,textarea,select{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:wait;opacity:.5}a{color:inherit;text-decoration:none}button{color:inherit}input,textarea,select{color:var(--ink)}button:focus-visible,a:focus-visible{outline:3px solid #00bbc9;outline-offset:3px}input:focus,textarea:focus,select:focus{border-color:#00b6c3;outline:3px solid #00dcec20}.icon{width:20px;height:20px;flex-shrink:0;vertical-align:middle}.btn{min-height:43px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;gap:9px;font-weight:650;padding:10px 18px;border:1px solid transparent;white-space:nowrap;transition:background .15s,transform .15s;font-size:13px}.btn:hover{transform:translateY(-1px)}.btn.primary{background:var(--cyan);color:#093439;border-color:var(--cyan)}.btn.primary:hover{background:#00cbdc}.btn.secondary{background:#fff;border-color:#dfe6e9;color:#394a52}.btn.secondary:hover{border-color:#b8c7cd;background:#fafcfd}.btn.compact{min-height:36px;padding:7px 13px;font-size:12px;gap:7px}.btn.compact .icon{width:16px;height:16px}.btn.danger{background:#fff0f0;color:#c8212b;border-color:#ffd4d8}.icon-button{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border:none;background:transparent;border-radius:8px}.icon-button:hover{background:#edf3f5}.muted{color:var(--muted)!important}.small{font-size:12px}.tiny-label,.eyebrow{font-size:10px;letter-spacing:1.8px;font-weight:750;color:#87949c}.eyebrow{color:#809097;display:block}.text-link{background:none;border:none;padding:0;color:var(--cyan-dark);font-size:12px;font-weight:600;display:inline-flex;align-items:center;gap:6px}.text-link .icon{width:14px;height:14px}.text-link:hover{text-decoration:underline}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.initial-loading{min-height:100vh;display:flex;align-items:center;justify-content:center;gap:4px;color:var(--muted)}.loading-dots{color:var(--cyan-dark)}
.login-layout{display:grid;grid-template-columns:1fr 1fr;min-height:100vh;background:#fff}.login-brand{padding:60px clamp(35px,6vw,110px);background:#e7fafd;position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:center;min-height:700px}.login-logo{width:260px;position:absolute;top:50px;left:clamp(35px,6vw,110px)}.login-brand .eyebrow{color:#667e83;position:relative;z-index:1;margin-top:55px}.login-brand p{margin-top:24px;color:#61767b;line-height:1.85;font-size:16px;z-index:1;margin:24px 0 0}.login-orbit{width:500px;height:500px;border:70px solid #00dcec18;border-radius:50%;position:absolute;bottom:-190px;right:-200px}.login-brand:after{content:'';width:26px;height:26px;background:var(--red);border-radius:50%;position:absolute;top:36%;right:13%;opacity:.9}.login-form-side{display:flex;align-items:center;justify-content:center;padding:60px 30px;position:relative}.login-form{width:100%;max-width:365px}.login-form h2{font-size:28px;font-weight:650;letter-spacing:-.9px;margin:13px 0 7px}.login-form>p{color:var(--muted);font-size:13px;margin:0 0 34px;line-height:1.7}.login-form label{margin-top:19px}.login-form input{height:49px}.password-wrap{position:relative}.password-wrap input{padding-right:80px}.password-wrap button{position:absolute;right:13px;top:14px;background:none;border:none;padding:0;color:#88969b;font-size:11px}.login-submit{width:100%;margin-top:21px;justify-content:space-between;padding:13px 18px;font-size:14px;min-height:49px}.login-hint{display:block;text-align:center;font-size:11px;color:#98a3a8;margin-top:21px}.login-form-side footer{position:absolute;bottom:25px;color:#adb6bb;font-size:11px}
.workspace{min-height:100vh;display:flex}.sidebar{width:235px;background:#fff;border-right:1px solid var(--line);padding:32px 18px 0;position:fixed;inset:0 auto 0 0;display:flex;flex-direction:column;z-index:5}.brand-home{padding:0 9px;display:block}.brand-home img{width:184px;height:auto;display:block}.workspace-title{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:25px 7px;display:flex;align-items:center;gap:11px;margin:27px 0 26px;font-size:12px;font-weight:650}.workspace-symbol{background:var(--cyan-soft);color:#038e9e;display:flex;align-items:center;justify-content:center;width:38px;height:40px;border-radius:9px;font-size:15px;letter-spacing:-.7px;flex:none}.workspace-title small{display:block;font-weight:400;color:#9ba6ac;font-size:10px;margin-top:3px}.nav-section-label{font-size:9px;color:#a0adb3;font-weight:750;letter-spacing:1.4px;padding:0 13px;margin-bottom:11px}.second-label{margin-top:34px}.sidebar nav{display:flex;flex-direction:column;gap:5px}.nav-item{display:flex;align-items:center;gap:10px;padding:12px 13px;border:0;background:transparent;border-radius:8px;width:100%;font-size:12px;text-align:left;color:#6e7b83;min-height:44px}.nav-item .icon{width:18px;height:18px;color:#95a2aa}.nav-item>span{flex:1}.nav-item b{font-weight:500;font-size:10px;min-width:23px;text-align:center;background:#f2f5f6;padding:1px 5px;border-radius:4px;color:#8b9aa2}.nav-item:hover{background:#f4f9fa}.nav-item.selected{background:var(--cyan-soft);color:#098b98;font-weight:650}.nav-item.selected .icon{color:#009aa8}.nav-item.selected b{background:#cbf0f5;color:#008a98}.sidebar-bottom{margin-top:auto}.connection{padding:19px 13px;font-size:10px;color:#8d9ba2;display:flex;align-items:center;gap:7px}.connection>span{width:6px;height:6px;border-radius:50%;background:#52b98f}.account{display:flex;align-items:center;gap:10px;border-top:1px solid var(--line);padding:20px 0;font-size:11px;font-weight:600}.account-avatar{width:32px;height:32px;border-radius:50%;background:#f0f4f5;display:flex;align-items:center;justify-content:center;color:#76858d}.account small{display:block;font-weight:400;color:#a0abb1;font-size:9px}.account .icon-button{margin-left:auto;color:#9da9b0;width:29px}.account .icon{width:16px}.main-area{margin-left:235px;flex:1;min-width:0}.topbar{height:70px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 36px;background:#ffffffb3}.breadcrumb{font-size:11px;color:#8a969d}.breadcrumb span{padding:0 10px;color:#c7cfd3}.today{font-size:11px;color:#94a0a7}.content{padding:33px 36px 0;max-width:1800px;margin:auto}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:28px}.page-heading h1{font-size:31px;font-weight:700;letter-spacing:-1px;line-height:1.35;margin:7px 0 6px}.heading-dot{color:var(--cyan);font-weight:900;padding-left:2px}.page-heading p{font-size:12px;color:#8a979e;margin:0}.page-heading>.btn{margin-top:8px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:28px}.stat{background:#fff;border:1px solid var(--line);border-radius:12px;padding:17px 18px 14px;text-align:left;min-width:0;position:relative;overflow:hidden;transition:box-shadow .2s,border .2s}.stat:hover{box-shadow:0 5px 18px #14292f07;border-color:#cbdde3}.stat.main-stat{background:#ecfbfd;border-color:#cfedf2}.stat-label{color:#819098;font-size:10px;display:flex;align-items:center;justify-content:space-between;gap:6px}.stat-label .icon{color:#a4b4bb;width:18px;height:18px}.main-stat .stat-label{color:#61939b}.main-stat .stat-label .icon{color:#28b1be}.stat-number{font-size:35px;letter-spacing:-1px;font-weight:600;line-height:1.4;margin:9px 0 6px;color:#283a43}.main-stat .stat-number{color:#058a99}.stat-number>span{font-size:10px;color:#9aa8af;letter-spacing:0;font-weight:400;margin-left:9px}.stat-footer{color:#9eabb2;font-size:9px}.roster-section{background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden}.roster-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 23px 17px}.roster-heading>div{display:flex;align-items:center;gap:12px}.roster-heading h2{font-size:15px;letter-spacing:-.2px;font-weight:650;margin:0}.roster-heading #result-count{font-size:10px;color:#93a1a9;background:#f4f7f8;border-radius:5px;padding:3px 8px}.filters{padding:0 23px 20px;display:flex;align-items:center;gap:10px}.search-box{flex:1;position:relative;min-width:160px}.search-box .icon{position:absolute;top:12px;left:13px;color:#a4b1b9;width:17px;height:17px}.search-box input{width:100%;height:40px;border:1px solid #e5ebee;border-radius:7px;background:#fafcfd;padding:9px 12px 9px 39px;font-size:11px}.search-box input::placeholder{color:#a2adb3}.filters select{height:40px;font-size:10px;background:#fff;border:1px solid #e5ebee;border-radius:7px;padding:7px 28px 7px 12px;min-width:120px;max-width:170px}.filter-star{height:40px;width:40px;border:1px solid #e5ebee;background:#fff;display:flex;align-items:center;justify-content:center;border-radius:7px;color:#9eaab2;flex:none}.filter-star .icon{width:17px}.filter-star.active{color:#c99425;border-color:#f2d68e;background:#fff9e8}.filter-star.active .icon{fill:#f8dc85}.table-scroll{overflow:auto}.students-table{width:100%;border-collapse:collapse;min-width:840px;text-align:left}.students-table thead{background:#fafcfd}.students-table th{height:43px;font-size:9px;font-weight:550;color:#9aa7ae;border-top:1px solid #eff3f5;border-bottom:1px solid #eff3f5;white-space:nowrap;padding:0 15px}.students-table th:first-child{padding-left:23px}.students-table th button{padding:0;background:none;border:none;font-size:inherit;color:inherit;display:flex;gap:5px;align-items:center}.students-table th .icon{width:13px;height:13px}.students-table td{height:76px;border-bottom:1px solid #f0f3f5;padding:12px 15px;vertical-align:middle;font-size:11px}.students-table tr:last-child td{border-bottom:none}.students-table td:first-child{padding-left:23px;min-width:250px}.students-table td:last-child{padding-right:15px;padding-left:0;width:25px}.students-table tbody tr:hover{background:#fcfeff}.students-table tbody tr{cursor:pointer;transition:background .12s}.student-link{display:flex;align-items:center;gap:11px;background:none;border:none;padding:0;text-align:left;max-width:290px}.avatar{position:relative;display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;flex:none;border-radius:50%;font-size:11px;font-weight:650;letter-spacing:.3px;overflow:hidden;background:#e6f3f5;color:#5e949b}.avatar img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:1}.avatar.aqua{background:#e7f5f7;color:#679aa4}.avatar.rose{background:#fff0ef;color:#bc9692}.avatar.sand{background:#f5f0e6;color:#b19e7c}.avatar.lilac{background:#eeeaf5;color:#9d8cb7}.avatar.large{width:76px;height:76px;font-size:24px}.student-identity{display:block;min-width:0}.student-identity strong{font-size:11px;font-weight:650;display:block;line-height:1.45;color:#364851}.student-identity small{font-size:9px;color:#9ca8af;display:block;margin-top:3px;overflow:hidden;text-overflow:ellipsis;max-width:220px}.tariff{display:inline-flex;font-size:9px;padding:4px 9px;border-radius:5px;font-weight:500;white-space:nowrap;background:#edf4f5;color:#7e969e}.tariff.grand{background:#f4edf9;color:#ae83bb}.tariff.premium{background:#e8f6fa;color:#69a5b5}.tariff.ultra{background:#eef4e9;color:#8fa178}.tariff.vip{background:#fcf1e0;color:#b7955e}.date-cell{font-size:10px;color:#6b7e88;white-space:nowrap}.task-progress{display:flex;align-items:center;gap:10px}.task-bars{display:flex;gap:3px}.task-bars span{display:block;width:8px;height:16px;background:#edf2f4;border-radius:2px}.task-bars .done{background:#55c7d3}.task-progress>span{font-size:11px;color:#6297a2;font-weight:600;white-space:nowrap}.task-progress i{font-style:normal;color:#bdc9cf;font-size:9px;font-weight:400}.diagnostic-mini{display:flex;align-items:center;gap:5px}.diagnostic-mini>span{width:21px;height:21px;background:#f3f6f7;border-radius:5px;display:flex;align-items:center;justify-content:center;font-size:8px;color:#b1bdc4}.diagnostic-mini>span.done{background:#e6f7f3;color:#6ab49d}.diagnostic-mini .icon{width:12px;height:12px}.table-star{color:#d1d9de;display:flex}.table-star .icon{width:15px;height:15px}.table-star.active{color:#e3b857}.table-star.active .icon{fill:#fff2c6}.row-open{border:none;background:none;color:#c0ccd2;padding:7px 0;display:flex}.row-open .icon{width:15px}.table-footer{display:flex;justify-content:space-between;padding:17px 23px;border-top:1px solid var(--line);font-size:9px;color:#a5b1b8}.content-footer{display:flex;justify-content:space-between;gap:15px;color:#b2bdc3;font-size:9px;padding:24px 3px 27px}.data-warning{display:block;color:#d29b49;font-size:8px;margin-top:2px}.pending-tag{font-size:8px;color:#bd964e;display:block;margin-top:3px}.notice{display:flex;align-items:flex-start;gap:9px;padding:12px 14px;background:#f1fafc;border:1px solid #e0f1f5;border-radius:8px;font-size:11px;color:#69909d;line-height:1.7;margin:12px 0}.notice .icon{width:16px;height:16px;margin-top:2px}.roster-section>.notice{margin:0 23px 16px}.notice.warning{color:#ba9557;background:#fffbf0;border-color:#f6edcf}.job-banner{background:#f0fbfc;border-top:1px solid #dff3f5;border-bottom:1px solid #dff3f5;padding:12px 23px;margin-bottom:16px;display:flex;align-items:center;gap:12px;color:#4f929d;font-size:11px}.job-banner>.icon{width:17px}.job-banner span{display:flex;gap:12px;align-items:center;flex:1}.job-banner small{color:#89a8b1;font-size:10px}.job-banner progress{width:120px}progress{height:5px;border:0;border-radius:3px;overflow:hidden;background:#e7eef0;accent-color:var(--cyan)}progress::-webkit-progress-bar{background:#e3edef}progress::-webkit-progress-value{background:var(--cyan)}progress::-moz-progress-bar{background:var(--cyan)}.spinning{animation:spin 1.8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
.overlay-open{overflow:hidden}.panel-backdrop,.modal-backdrop{position:fixed;inset:0;background:#182d3a40;z-index:20;backdrop-filter:blur(2px)}.student-panel{position:fixed;inset:0 0 0 auto;width:min(860px,calc(100vw - 80px));background:#f8fafb;z-index:21;box-shadow:-10px 0 50px #1b334526;display:flex;flex-direction:column;animation:panel-in .22s ease-out}@keyframes panel-in{from{transform:translateX(30px);opacity:.7}to{transform:translateX(0);opacity:1}}.panel-top{height:62px;flex:none;display:flex;align-items:center;justify-content:space-between;padding:0 30px;border-bottom:1px solid var(--line);background:#fff;font-size:11px;color:#9aa8b0}.panel-top>div{display:flex;align-items:center;gap:21px}.panel-scroll{overflow:auto;padding:28px 30px 0;flex:1}.profile-hero{display:flex;align-items:center;gap:20px;margin-bottom:19px}.profile-hero .tiny-label{font-size:8px;color:#8da0aa;letter-spacing:1.2px}.profile-hero h2{font-size:23px;font-weight:650;letter-spacing:-.6px;line-height:1.3;margin:5px 0}.profile-email{font-size:11px;color:#8f9ea7}.profile-meta{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:9px;font-size:10px;color:#8a9ca5}.profile-meta>span:not(.tariff)+span:not(.tariff):before{content:'·';margin-right:11px;color:#b3c1c8}.profile-links{display:flex;align-items:center;gap:19px;flex-wrap:wrap;padding:17px 0 24px;color:#758e9b;font-size:11px}.profile-links a,.profile-links>span{display:flex;align-items:center;gap:7px}.profile-links .icon{width:15px;height:15px}.profile-links a:hover{color:#078f9f}.profile-links a .icon:last-child{width:11px;height:11px}.profile-links .text-link{margin-left:auto;font-size:10px;color:#89a3ae}.panel-tabs{display:flex;gap:24px;align-items:center;border-bottom:1px solid #e5ecef;margin-bottom:23px;overflow:auto;white-space:nowrap}.panel-tabs>button{font-size:11px;font-weight:600;color:#95a5ae;border:none;background:none;padding:13px 0;border-bottom:2px solid transparent;display:flex;align-items:center;gap:7px}.panel-tabs>button.active{border-bottom-color:#00bdcd;color:#058d9e}.panel-tabs>button span{font-size:9px;min-width:18px;text-align:center;background:#eef3f5;border-radius:4px;padding:1px 4px}.panel-tabs>button.active span{background:#e0f6f9;color:#50a1af}.panel-section-heading{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:17px}.panel-section-heading h3{font-size:15px;font-weight:650;margin:0}.panel-section-heading>.muted{font-size:11px}.card-block{border:1px solid #e7edef;border-radius:10px;background:#fff;padding:20px;margin-bottom:15px}.card-block h3{font-size:12px;font-weight:650;color:#586f7c;margin:0 0 17px}.block-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:17px}.block-heading h3{margin:0}.block-heading>.muted{font-size:9px}.counter-badge{color:#54a5b2;background:#e7f7fa;padding:3px 8px;border-radius:5px;font-size:9px}.tasks-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.task-card{display:flex;align-items:center;gap:10px;border:1px solid #eaf0f2;padding:12px 10px;border-radius:7px}.task-check{display:flex;align-items:center;justify-content:center;width:27px;height:27px;background:#f3f6f8;border-radius:7px;font-size:10px;color:#b1c0c8}.task-card strong{font-size:10px;font-weight:600;color:#8699a4}.task-card small{display:block;font-size:8px;color:#b1bfc7;margin-top:2px}.task-card.completed{background:#f8fdfe;border-color:#dff2f5}.task-card.completed .task-check{background:#dff6fa;color:#36abbc}.task-card.completed .task-check .icon{width:15px;height:15px}.task-card.completed strong{color:#4d8897}.task-card.completed small{color:#8aabb7}.diagnostics-full{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.diagnostic-item{display:flex;align-items:center;gap:10px}.diagnostic-item>span{width:31px;height:31px;display:flex;align-items:center;justify-content:center;background:#f2f6f8;color:#a8b8c1;font-size:11px;border-radius:7px;flex:none}.diagnostic-item strong{font-size:9px;color:#8fa1ac;font-weight:500;display:block;line-height:1.5}.diagnostic-item small{font-size:8px;color:#b7c3ca;margin-top:2px;display:block}.diagnostic-item.completed>span{background:#e4f6f1;color:#55af92}.diagnostic-item.completed .icon{width:16px}.diagnostic-item.completed strong{color:#6d8f85}.dates-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:21px 16px}.info-pair>span{display:block;color:#9cabb4;font-size:9px;margin-bottom:5px}.info-pair>strong{display:block;color:#627e8b;font-size:11px;font-weight:500;white-space:pre-wrap;overflow-wrap:anywhere}.info-pair>strong .muted{font-weight:400;font-size:10px}.comment-text{white-space:pre-wrap;font-size:11px;line-height:1.85;color:#7d939f;overflow-wrap:anywhere}.comment-text a{color:#188fa3;text-decoration:underline}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:15px}.excellence-summary{display:flex;align-items:center;gap:12px;color:#b6c3c9}.excellence-summary>.icon{width:23px;height:23px}.excellence-summary strong{display:block;color:#8ba0ad;font-size:11px;font-weight:500}.excellence-summary small{font-size:9px;color:#acbac3}.excellence-summary.on>.icon{color:#e4b652;fill:#fff4d6}.excellence-summary.on strong{color:#a79971}.panel-footer{display:flex;justify-content:space-between;gap:12px;margin-top:24px;border-top:1px solid var(--line);padding:17px 0 22px;color:#b0bec7;font-size:9px}
label{font-size:11px;color:#6b8390;display:block;font-weight:500}label input:not([type=checkbox]),label textarea,label select{display:block;margin-top:7px;width:100%;border:1px solid #e0e8ed;border-radius:7px;background:#fff;padding:10px 12px;font-size:12px;min-height:40px;transition:border-color .15s;resize:vertical;color:#46616f}input::placeholder,textarea::placeholder{color:#afbec7;font-size:11px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px 17px}.form-grid:not(:first-child){margin-top:16px}.check-label{display:flex;align-items:center;gap:9px;font-size:11px;color:#849ca8}.check-label input{width:16px;height:16px;accent-color:#00bfce;margin:0;flex:none}.checkbox-list{display:flex;gap:17px;flex-wrap:wrap}.tasks-edit{grid-template-columns:repeat(4,1fr);gap:12px}.card-block>label+.form-grid{margin-top:18px}.card-block>.check-label{margin-top:16px}.edit-footer{position:sticky;bottom:0;display:flex;align-items:center;justify-content:space-between;gap:15px;background:#fff;border:1px solid var(--line);padding:15px 18px;border-radius:10px;box-shadow:0 -6px 25px #213f5110}.edit-footer>span{font-size:10px;color:#9aaeb9}.purchase-card{background:#fff;border:1px solid var(--line);border-radius:10px;padding:21px;margin-bottom:16px}.purchase-top{display:flex;align-items:center;justify-content:space-between;gap:13px}.purchase-kind{display:inline-flex;padding:4px 9px;border-radius:5px;font-size:9px;background:#e6f7fa;color:#59a1b0}.purchase-kind.materials{background:#f2edfa;color:#a192bb}.access-state{font-size:9px;display:flex;align-items:center;gap:6px;color:#abb8bf}.access-state i{width:5px;height:5px;border-radius:50%;background:#b8c5cc}.access-state.actual{color:#76a695}.access-state.actual i{background:#69b59a}.purchase-card h3{font-size:13px;line-height:1.7;font-weight:600;color:#5d7888;margin:17px 0 21px}.purchase-dates{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;border-top:1px solid #f0f4f6;padding-top:18px;margin-bottom:18px}.purchase-card .text-link{font-size:10px}.action-card{display:flex;align-items:flex-start;gap:16px;background:#fff;border:1px solid var(--line);border-radius:11px;padding:23px;margin-bottom:17px;flex-wrap:wrap}.action-icon,.history-icon{width:45px;height:45px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex:none}.aqua-icon{background:#e4f8fb;color:#42adbf}.rose-icon{background:#fff0ef;color:#dba29e}.neutral-icon{background:#eef3f6;color:#92a8b7}.action-copy{flex:1;min-width:200px}.action-copy h3{margin:0 0 6px;font-size:14px;color:#4f6d7e;font-weight:600}.action-copy p{font-size:11px;color:#96a9b5;margin:0 0 7px;line-height:1.8}.action-buttons{display:flex;gap:9px;align-self:center}.extension-choices{display:flex;gap:10px;width:100%;padding-left:61px;margin-top:2px}.extension-choices .btn{flex:1;justify-content:space-between;font-size:11px}.restriction{font-size:10px;color:#bd9d76}.action-note{display:flex;align-items:flex-start;gap:9px;color:#a0b3be;font-size:10px;line-height:1.7;padding:2px 3px}.action-note .icon{width:16px;height:16px;margin-top:1px}.empty-state{text-align:center;padding:54px 20px}.empty-state>.icon{width:34px;height:34px;color:#c1d2da;margin-bottom:8px}.empty-state h3{font-size:14px;font-weight:500;color:#839eac;margin:9px 0}.empty-state p{font-size:11px;color:#afbdc6;margin:0 0 20px}
.modal-backdrop{z-index:30;background:#182d3a55;backdrop-filter:blur(3px)}.modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:min(440px,calc(100vw - 32px));max-height:calc(100dvh - 48px);overflow:auto;background:#fff;border-radius:15px;box-shadow:var(--shadow);z-index:31;padding:27px}.modal.wide{width:min(530px,calc(100vw - 32px))}.modal>header{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;margin-bottom:23px}.modal h2{font-size:21px;font-weight:650;letter-spacing:-.5px;margin:0;color:#3e5968}.modal header p{font-size:11px;line-height:1.7;color:#9aadb9;margin:7px 0 0}.modal>header .icon-button{width:27px;height:27px;margin-top:-3px;margin-right:-4px;color:#a6b8c3}.modal form>label{margin-bottom:17px}.modal textarea{min-height:83px}.modal-footer{display:flex;justify-content:flex-end;gap:10px;margin-top:24px;border-top:1px solid #edf2f5;padding-top:20px}.operation-summary{display:flex;align-items:center;gap:12px;padding:15px;background:#f6fafb;border:1px solid #e9f1f4;border-radius:9px;margin-bottom:22px}.operation-summary strong{font-size:12px;color:#587786;font-weight:600}.operation-summary small{display:block;color:#a2b5bf;font-size:9px;margin-top:3px}.confirm-box{padding:13px 15px;border-radius:8px;color:#7c9aa9;background:#eefbfc;border:1px solid #dff4f7;font-size:11px;line-height:1.8;margin-top:16px}.confirm-box strong{color:#4f8393;font-weight:650}.form-error{color:#cb8181;font-size:11px;line-height:1.7;margin-top:11px;min-height:0}.extension-summary{padding:23px;background:#f0fafc;border:1px solid #ddf0f5;border-radius:10px;margin-bottom:20px}.extension-summary>.tiny-label{font-size:9px;color:#81a7b3}.extension-summary>strong{display:block;font-size:28px;font-weight:600;letter-spacing:-1px;color:#398597;margin:9px 0 12px}.extension-summary>div{display:flex;align-items:center;gap:12px}.extension-summary>div>span:not(.tariff){color:#96b2bd;font-size:10px}.import-help{font-size:9px;line-height:1.7;color:#a1b4c0;margin:-6px 0 20px;display:flex;align-items:flex-start;gap:15px;justify-content:space-between}.import-help>span{max-width:250px}.file-label{display:flex;align-items:center;gap:5px;font-size:10px;white-space:nowrap;color:#72a6b7;cursor:pointer}.file-label .icon{width:13px;height:13px}.import-progress-copy{font-size:11px;color:#7aa6b7;margin:12px 0 8px}#import-progress progress{width:100%}.import-results-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:20px}.import-results-stats>div{background:#f6fafb;padding:12px;border-radius:8px;text-align:center}.import-results-stats strong{display:block;font-size:23px;font-weight:600;color:#6a9daf}.import-results-stats span{display:block;font-size:9px;color:#abc0cb;margin-top:4px}.import-results-list{max-height:310px;overflow:auto}.import-results-list>div{display:flex;gap:10px;padding:12px 0;border-bottom:1px solid #f0f4f6}.import-results-list strong{font-size:11px;color:#7997a6;font-weight:500;display:block;overflow-wrap:anywhere}.import-results-list small{font-size:9px;color:#a8bdc8;display:block;margin-top:4px}.result-dot{width:6px;height:6px;flex:none;border-radius:50%;background:#87c9b3;margin-top:7px}.result-dot.excluded{background:#d6b17a}.result-dot.error{background:#da9996}.result-dot.duplicate{background:#adc2ce}
.history-section{padding:10px 24px}.history-item{padding:21px 0;display:flex;align-items:flex-start;gap:15px;border-bottom:1px solid var(--line)}.history-item:last-child{border-bottom:0}.history-icon{width:34px;height:34px;border-radius:8px}.history-icon .icon{width:17px;height:17px}.history-copy{flex:1;min-width:0}.history-copy>strong{display:block;font-size:12px;font-weight:500;color:#648294}.history-copy>.text-link{font-size:10px;margin-top:4px}.history-copy p{font-size:10px;color:#9fb4c2;margin:4px 0 0;line-height:1.7}.history-copy p.form-error{color:#ca9d9d}.history-value{margin-left:5px;font-weight:600;color:#5b9bad}.history-right{text-align:right;display:flex;flex-direction:column;align-items:flex-end;gap:7px}.history-right small{font-size:9px;color:#adbfcb}.status-pill{font-size:8px;color:#8caf9f;background:#edf8f3;border-radius:4px;padding:3px 6px;white-space:nowrap}.status-pill.failed{color:#c29e9a;background:#fff3f1}.status-pill.uncertain,.status-pill.pending{color:#bfaf8e;background:#fffaec}.section-loading{font-size:12px;color:#9fbdcc;text-align:center;padding:40px 20px}
#toast-root{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);z-index:50;display:flex;flex-direction:column;align-items:center;gap:8px;max-width:calc(100vw - 30px)}.toast{padding:13px 20px;background:#214a57;color:#f1fbfc;box-shadow:0 8px 30px #163e4c29;border-radius:9px;font-size:12px;line-height:1.6;max-width:520px}.toast.error{background:#885a58}
@media(min-width:1500px){.students-table td{height:82px}.student-identity strong{font-size:12px}.student-identity small{font-size:10px}.students-table th{font-size:10px}.stats{gap:20px}.stat{padding:21px 23px 17px}.stat-label{font-size:11px}.stat-footer{font-size:10px}.stat-number{font-size:39px}.content{padding:39px 42px 0}.page-heading h1{font-size:34px}.table-scroll{min-height:200px}}
@media(max-width:1190px){.sidebar{width:210px;padding-left:12px;padding-right:12px}.main-area{margin-left:210px}.brand-home img{width:175px}.workspace-title{font-size:11px}.content{padding:26px 22px 0}.topbar{padding:0 22px}.stats{gap:10px}.stat{padding:15px 12px}.stat-label{font-size:9px}.stat-footer{font-size:8px}.page-heading h1{font-size:28px}.roster-heading{padding-left:18px;padding-right:18px}.filters{padding-left:18px;padding-right:18px;gap:8px}.filters select{min-width:110px}.stat-number>span{font-size:9px;margin-left:6px}.table-footer{padding:16px 18px}}
@media(max-width:900px){.sidebar{width:75px;padding:28px 10px 0}.main-area{margin-left:75px}.brand-home{padding:0;overflow:hidden;width:51px}.brand-home img{width:175px;max-width:none;transform:translateX(-48px)}.workspace-title{padding:20px 5px;margin:26px 0 20px}.workspace-title>span:last-child,.nav-section-label,.nav-item>span,.nav-item b,.connection,.account>div,.account-avatar{display:none}.nav-item{justify-content:center;padding:13px}.nav-item .icon{width:21px;height:21px}.workspace-symbol{width:36px}.second-label{height:28px;display:block;padding:0;font-size:0;margin:0}.account{justify-content:center;margin-top:30px}.account .icon-button{margin:auto}.account .icon{width:20px;height:20px}.sidebar-bottom{padding-bottom:12px}.stats{grid-template-columns:repeat(2,1fr)}.stat-label{font-size:11px}.stat-footer{font-size:9px}.stat-number{font-size:34px}.page-heading>.btn{font-size:11px;padding:10px 13px}.content-footer{font-size:8px}.table-footer{font-size:8px}.login-logo{width:230px}.login-brand{padding:50px 40px}.login-logo{left:40px}.student-panel{width:min(820px,calc(100vw - 50px))}}
@media(max-width:650px){.sidebar{width:60px;padding:24px 6px 0}.main-area{margin-left:60px}.brand-home{width:46px}.brand-home img{width:158px;transform:translateX(-42px)}.workspace-title{padding:16px 1px;justify-content:center;margin:20px 0 15px}.workspace-symbol{width:34px;height:35px;font-size:13px}.nav-item{padding:12px 8px}.nav-item .icon{width:19px;height:19px}.topbar{height:55px;padding:0 15px}.breadcrumb{font-size:9px}.today{font-size:9px}.content{padding:25px 13px 0}.page-heading{align-items:flex-start;flex-wrap:wrap;gap:15px;margin-bottom:21px}.page-heading h1{font-size:24px;letter-spacing:-.7px}.page-heading p{font-size:10px;line-height:1.7}.eyebrow{font-size:8px;letter-spacing:1.2px}.page-heading>.btn{width:100%;justify-content:center;margin:0}.stats{gap:9px;margin-bottom:20px}.stat{padding:13px 11px}.stat-label{font-size:8px}.stat-label .icon{width:14px;height:14px}.stat-number{font-size:29px;margin:7px 0 3px}.stat-number>span{font-size:8px;margin-left:5px}.stat-footer{font-size:7px}.roster-heading{padding:17px 13px;align-items:flex-start;gap:10px}.roster-heading>div{flex-direction:column;gap:4px;align-items:flex-start}.roster-heading h2{font-size:13px}.roster-heading #result-count{font-size:8px;padding:1px 5px}.roster-heading .btn{font-size:0;width:33px;height:33px;padding:0;min-height:33px}.roster-heading .btn .icon{width:16px}.filters{padding:0 13px 16px;flex-wrap:wrap;gap:7px}.search-box{width:100%;flex:1 0 100%;min-width:0}.search-box input{font-size:10px}.filters select{min-width:0;max-width:none;flex:1;width:40%;font-size:9px;height:36px;padding-left:9px}.filter-star{width:36px;height:36px}.table-footer{padding:13px;gap:15px}.table-footer>span:last-child{max-width:130px;text-align:right}.content-footer{flex-direction:column;font-size:8px;padding:20px 1px}.student-panel{width:100vw}.panel-top{height:54px;padding:0 18px}.panel-scroll{padding:23px 16px 0}.profile-hero{gap:14px}.avatar.large{width:62px;height:62px;font-size:20px}.profile-hero h2{font-size:20px}.profile-meta{font-size:9px;gap:8px}.profile-meta>span:not(.tariff)+span:not(.tariff):before{margin-right:7px}.profile-email{font-size:10px}.profile-links{gap:12px;font-size:10px;padding:13px 0 19px}.profile-links .text-link{margin-left:0;font-size:9px}.panel-tabs{gap:18px;margin-bottom:20px}.panel-tabs>button{font-size:10px;padding:13px 0}.panel-tabs>button span{font-size:8px}.panel-section-heading h3{font-size:14px}.card-block{padding:17px}.tasks-grid{grid-template-columns:repeat(2,1fr);gap:8px}.task-card{padding:10px}.task-card strong{font-size:10px}.task-card small{font-size:9px}.diagnostics-full{grid-template-columns:1fr;gap:12px}.diagnostic-item strong{font-size:10px}.diagnostic-item small{font-size:9px}.dates-grid{grid-template-columns:repeat(2,1fr);gap:18px 12px}.info-pair>span{font-size:9px}.info-pair>strong{font-size:11px}.two-col{grid-template-columns:1fr;gap:0}.form-grid{grid-template-columns:1fr;gap:15px}.tasks-edit{grid-template-columns:repeat(2,1fr);gap:12px}.checkbox-list{flex-direction:column;gap:14px}.edit-footer{padding:13px;gap:10px;flex-wrap:wrap}.edit-footer>.btn{width:100%;font-size:11px}.block-heading>.muted{font-size:8px}.purchase-card{padding:18px}.purchase-top{flex-wrap:wrap}.purchase-card h3{font-size:12px}.purchase-dates{grid-template-columns:1fr 1fr;gap:17px}.action-card{padding:18px;gap:13px}.action-icon{width:39px;height:39px}.action-copy{min-width:150px}.action-buttons{padding-left:52px;width:100%}.action-buttons .btn{flex:1}.extension-choices{padding-left:0}.extension-choices .btn{font-size:10px;padding:10px}.action-note{font-size:9px}.panel-footer{font-size:8px;flex-wrap:wrap}.history-item{gap:10px;padding:17px 0}.history-icon{width:30px;height:30px}.history-copy>strong{font-size:10px}.history-copy p{font-size:9px}.history-right small{font-size:8px;max-width:60px}.status-pill{font-size:7px;max-width:90px;white-space:normal;text-align:center}.history-section{padding:5px 13px}.modal{padding:23px 20px}.modal h2{font-size:20px}.modal-footer{gap:8px}.modal-footer .btn{font-size:11px;padding:10px 12px}.import-help{flex-direction:column;gap:10px}.import-help>span{max-width:none}.import-results-stats{gap:8px}.import-results-stats>div{padding:10px 6px}.import-results-stats span{font-size:8px}.login-layout{display:flex;flex-direction:column}.login-brand{min-height:290px;padding:100px 30px 28px;justify-content:flex-start}.login-logo{top:27px;left:30px;width:215px}.login-brand .eyebrow{margin:0;font-size:8px}.login-brand p{font-size:12px;line-height:1.7}.login-orbit{width:330px;height:330px;border-width:47px;right:-150px;bottom:-160px}.login-brand:after{width:17px;height:17px;top:41%;right:10%}.login-form-side{padding:37px 30px 75px;flex:1}.login-form h2{font-size:24px}.login-form>p{font-size:11px;margin-bottom:25px}.login-form-side footer{bottom:23px}.job-banner{padding:10px 13px;font-size:9px}.job-banner progress{width:60px}.job-banner small{font-size:8px}.job-banner span{gap:8px}.roster-section>.notice{margin:0 13px 14px;font-size:9px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.source-report-note{display:flex;align-items:center;gap:10px;color:#94a9b3;font-size:10px;padding:0 3px 16px;line-height:1.7}.source-report-note>.icon{width:15px;height:15px}.source-report-note>span{flex:1}.source-report-note .text-link{font-size:10px;white-space:nowrap}.purchase-reference{font-size:10px;color:#9bafb9}.resolve-action{font-size:10px;margin-top:9px}
html,body{max-width:100%;overflow-x:clip}.workspace{width:100%;overflow-x:clip}.roster-section{min-width:0;max-width:100%}.table-scroll{width:100%;max-width:100%;min-width:0;contain:inline-size}
@media(max-width:900px){.brand-home{width:44px;height:32px;margin:0 auto;position:relative}.brand-home img{display:none}.brand-home:before{content:'L';font-size:26px;font-weight:800;position:absolute;left:8px;top:-5px;letter-spacing:-1px;color:#202020}.brand-home:after{content:'';position:absolute;left:29px;top:17px;width:5px;height:5px;border-radius:50%;background:#ed1c24}}
@media(max-width:650px){.source-report-note{font-size:8px;gap:7px}.source-report-note .text-link{font-size:9px}}
