:root{font-family:Inter,'Segoe UI',Arial,sans-serif;color:#173344;background:#f2f6f9;font-size:16px;line-height:1.5}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit;color:inherit}button,a{touch-action:manipulation}button,.button{background:white;border:1px solid #cddce5;border-radius:8px;padding:11px 16px;font-weight:600;cursor:pointer;text-decoration:none;display:inline-block}button:hover,.button:hover{background:#eaf3f7}button:disabled{opacity:.5;cursor:not-allowed}.primary{background:#116e79;border-color:#116e79;color:white}.primary:hover{background:#0b535d}.danger{color:#a03f42}.secondary{background:transparent}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #38a6bd;outline-offset:3px}h1,h2,h3,p{margin-top:0}h1{font-size:32px;letter-spacing:-.8px;margin-bottom:10px}h2{font-size:22px;margin-bottom:12px}h3{font-size:17px}p{color:#5f7584}small,.hint{font-size:13px;color:#667e8e}label{display:block;font-size:14px;font-weight:600;margin:14px 0}input,select,textarea{background:white;border:1px solid #cbdbe5;border-radius:7px;padding:11px 12px;max-width:100%}label input,label select,label textarea{display:block;width:100%;margin-top:6px}textarea{min-height:85px;resize:vertical}.check{display:flex;align-items:center;gap:12px}.check input{width:auto;margin:0;accent-color:#116e79}.brand{display:flex;align-items:center;gap:12px;font-weight:700;line-height:1.2}.logo{border-radius:11px;background:#5bddc9;color:#103f49;padding:12px 9px;font-size:25px;letter-spacing:-2px}.sidebar{background:#123446;color:white;width:230px;position:fixed;inset:0 auto 0 0;padding:28px 20px;display:flex;flex-direction:column}.sidebar nav{display:grid;gap:8px;margin-top:45px}.sidebar nav button{text-align:left;background:transparent;border:0;color:#c4d9e4}.sidebar nav button.active{background:#24566b;color:white;box-shadow:inset 3px 0 #5bddc9}.sidebar-bottom{margin-top:auto;font-size:14px;color:#bed3de}.sidebar-bottom strong{display:block;color:white}.sidebar-bottom button{margin-top:16px;background:transparent;color:white}.workspace{margin-left:230px;padding:24px 36px;max-width:1800px}.topbar{display:flex;justify-content:space-between;align-items:center;gap:15px;padding-bottom:22px;border-bottom:1px solid #d8e4eb;margin-bottom:28px}.pill{display:inline-block;font-size:12px;font-weight:650;padding:5px 9px;border-radius:6px;background:#e7eef4;color:#486474;white-space:nowrap}.amber{background:#fff1d3;color:#8b6312}.green{background:#e2f5ec;color:#1c7151}.red{background:#fbe8e8;color:#a34747}.blue{background:#e6f1fa;color:#316582}.banner{background:#fff7e7;border-left:3px solid #d3a14b;padding:13px 17px;margin:0 0 22px;font-size:14px}.heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin:25px 0}.heading p{margin:0}.eyebrow{font-size:12px;letter-spacing:1.5px;color:#448194;font-weight:700;margin-bottom:8px}.toolbar{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:22px}.toolbar label{margin:0}.toolbar .right{margin-left:auto}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px}.stat{background:white;border:1px solid #dce6ed;border-radius:12px;padding:19px}.stat:first-child{background:#183f51;color:white}.stat strong{display:block;font-size:34px;line-height:1.3;margin:8px 0}.stat span{font-size:14px}.panel{background:white;border:1px solid #dae5ec;border-radius:13px;overflow:hidden;margin-bottom:20px}.panel-pad{padding:25px}.panel-title{padding:20px 24px;border-bottom:1px solid #e5edf2;display:flex;justify-content:space-between;align-items:center;gap:12px}.panel-title h2{margin:0}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;text-align:left;white-space:nowrap}th{font-size:12px;text-transform:uppercase;letter-spacing:.6px;background:#f7fafc;color:#607b8c;padding:13px 18px}td{padding:15px 18px;font-size:14px;border-top:1px solid #e8eef3}td small{display:block;margin-top:4px}.plain{border:0;padding:5px;background:transparent;color:#116e79}.empty{padding:35px;color:#607b8c;text-align:center}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:20px}.stack{display:grid;gap:16px}.login{max-width:1000px;margin:7vh auto;padding:25px}.login .brand{margin-bottom:35px}.login-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px}.login-copy{background:#163f52;color:white;padding:40px;border-radius:16px}.login-copy p{color:#c8dee8}.login-copy h1{font-size:38px}.login-form{padding:24px}.login-form label{margin-top:25px}.student{max-width:740px;margin:0 auto;padding:24px}.student .topbar{margin-bottom:20px}.student .heading{display:block}.student h1{font-size:30px}.student-card{padding:26px}.location-options{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:24px 0}.location-choice{background:#f6f9fb;border:2px solid #dce7ed;padding:22px 14px;text-align:center;border-radius:12px;cursor:pointer}.location-choice.selected{border-color:#168b91;background:#e6f6f4}.location-choice input{width:auto;margin:0 auto 10px;accent-color:#157d86}.location-choice strong{display:block;font-size:18px}.student-card .primary{width:100%;font-size:18px;padding:16px}.student-status{background:#e8f6f0;border-radius:12px;padding:20px;margin:18px 0}.student-status strong{font-size:22px}.student-actions{display:flex;gap:12px;flex-wrap:wrap}.student-actions button{flex:1}.interval{display:flex;justify-content:space-between;gap:15px;padding:13px 0;border-bottom:1px solid #e6edf2;font-size:14px}.notice{border-left:3px solid #168b91;padding-left:15px;font-size:14px;margin-top:22px}.error{background:#fcecec;padding:15px;border-radius:8px;color:#934444;margin:15px 0}.loading{padding:40px}.footer{font-size:12px;color:#698292;padding-top:15px}.metric{font-size:26px;font-weight:700}.badge-name{display:flex;gap:12px;align-items:center}.avatar{border-radius:50%;background:#e5eff4;color:#386b7e;width:34px;height:34px;display:grid;place-items:center;font-size:12px;font-weight:bold}dialog{border:0;border-radius:15px;padding:28px;width:590px;max-width:calc(100% - 28px);color:#173344}dialog::backdrop{background:#0f2b4277}.dialog-top{display:flex;justify-content:space-between;gap:12px}.dialog-top button{height:40px;border:0}.dialog-top small{font-size:12px;letter-spacing:1px}#toast{position:fixed;right:22px;bottom:22px;max-width:calc(100vw - 44px);background:#123e51;color:white;border-radius:10px;padding:16px 23px;box-shadow:0 8px 35px #123e5130;z-index:20}.wrap{white-space:normal;min-width:230px}details{margin:18px 0}summary{cursor:pointer;font-weight:600}code{overflow-wrap:anywhere}a{color:#116e79}.login-copy a{color:#c4eee9}@media(max-width:1000px){.sidebar{width:195px;padding:23px 14px}.workspace{margin-left:195px;padding:22px}.stats{gap:10px}.stat{padding:15px}.grid2{grid-template-columns:1fr}.heading{flex-wrap:wrap}}@media(max-width:700px){.sidebar{position:static;width:100%;padding:16px}.sidebar nav{display:flex;overflow:auto;margin-top:20px}.sidebar nav button{white-space:nowrap;font-size:14px}.sidebar-bottom{display:none}.workspace{margin-left:0;padding:17px}.stats{grid-template-columns:repeat(2,1fr)}.topbar{flex-wrap:wrap}.heading h1{font-size:27px}.login{margin:0 auto;padding:20px}.login-grid{grid-template-columns:1fr;gap:10px}.login-copy{padding:25px}.login-copy h1{font-size:30px}.login-form{padding:10px}.panel-title{padding:17px}.panel-pad{padding:18px}.student{padding:16px}.student-card{padding:20px}.student h1{font-size:26px}.toolbar .right{margin-left:0}.location-choice{padding:18px 10px}.student-actions button{flex-basis:100%}dialog .grid2{gap:0}h1{font-size:28px}}
