:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#1b3049;background:#f4f7fb;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{cursor:pointer}a{color:#275fa8}label{display:flex;flex-direction:column;gap:8px;color:#566b7e;font-size:12px;font-weight:700}label input:not([type=checkbox]),label select,.search{width:100%;padding:12px 13px;border:1px solid #dce5f0;background:white;color:#1b3049;border-radius:9px;outline:none;min-width:0}label input:focus,label select:focus,.search:focus{border-color:#4383d3;box-shadow:0 0 0 3px #4485d31c}.hidden{display:none!important}.loading{padding:20vh 16px;text-align:center;color:#6a7a91}.auth{display:grid;min-height:100vh;grid-template-columns:minmax(300px,.85fr) 1fr}.auth-visual{background:linear-gradient(148deg,#102b46 0%,#153b60 70%,#226ea0 100%);color:white;padding:43px clamp(28px,5vw,85px);display:flex;flex-direction:column;justify-content:space-between}.auth-brand{font-size:23px;font-weight:800;letter-spacing:-.6px;display:flex;align-items:center;gap:10px}.mark{display:inline-grid;place-items:center;width:38px;height:38px;background:#2b89e9;border-radius:12px;color:white;font-size:26px;font-weight:600}.auth-visual h1{font-size:clamp(36px,4.2vw,61px);letter-spacing:-2.2px;line-height:1.07;margin:15px 0 22px}.auth-visual p{line-height:1.7;color:#c4d8e9;max-width:460px}.overline{font-size:10px;letter-spacing:2px;font-weight:800;color:#63b2f9}.auth-footer{font-size:12px;color:#8facbf}.auth-side{background:#fafcff;display:grid;place-items:center;padding:40px 20px}.auth-form{width:min(400px,100%)}.auth-form h2{font-size:30px;letter-spacing:-1px;margin:10px 0 5px;color:#142c46}.auth-form p{font-size:13px;line-height:1.7;color:#708096}.auth-form form{display:grid;gap:17px;margin-top:29px}.btn{border:1px solid #d8e3ef;color:#254264;background:#fff;border-radius:9px;padding:11px 16px;font-weight:750;font-size:12px;display:inline-flex;align-items:center;justify-content:center;gap:9px;white-space:nowrap}.btn.primary{background:#226ed1;color:white;border-color:#226ed1;box-shadow:0 2px 7px #216bb128}.btn.primary:hover{background:#1858ad}.btn:disabled{opacity:.45;cursor:not-allowed}.btn.small{padding:8px 11px;font-size:11px}.btn.wide{width:100%;padding:14px}.link-button{border:0;background:none;color:#2870c7;font-weight:700;font-size:12px;padding:10px}.note{border:1px solid #d7e6f5;background:#eef6ff;color:#375978;font-size:12px;line-height:1.6;padding:13px 15px;border-radius:10px}.error{background:#fff1f0;border-color:#ffd3cf;color:#a73b31}.shell{min-height:100vh;display:grid;grid-template-columns:240px minmax(0,1fr)}.sidebar{background:#11283f;color:#c3d4e4;display:flex;flex-direction:column;min-height:100vh;position:sticky;top:0;height:100vh;padding:25px 15px}.side-brand{display:flex;align-items:center;gap:11px;color:white;font-size:22px;font-weight:800;letter-spacing:-.7px;padding:0 8px}.side-brand small{font-size:8px;display:block;letter-spacing:2px;color:#829cb3;margin-top:2px}.navgroup{font-size:10px;color:#7892aa;letter-spacing:1.8px;font-weight:850;margin:45px 12px 12px}.navbtn{width:100%;display:flex;align-items:center;gap:12px;padding:13px 12px;border:0;background:transparent;color:#aec2d4;border-radius:10px;text-align:left;font-size:13px;font-weight:650;margin-bottom:5px}.navbtn span{font-size:19px;width:23px;text-align:center}.navbtn.active,.navbtn:hover{background:#1c4267;color:white}.navbtn.active{box-shadow:inset 3px 0 #54a7f3}.side-bottom{margin-top:auto;border-top:1px solid #2e455d;padding:19px 9px 0}.side-bottom strong{font-size:12px;color:white;display:block}.side-bottom small{font-size:10px;color:#92a8bd;display:block;margin:5px 0 17px}.side-bottom button{background:none;border:0;color:#bcd1e3;font-size:12px;padding:0}.workspace{min-width:0}.top{background:#fff;padding:29px clamp(22px,4vw,55px);display:flex;justify-content:space-between;gap:16px;align-items:center;border-bottom:1px solid #e2eaf2}.breadcrumb{font-size:10px;color:#87a0b5;font-weight:800;letter-spacing:.4px}.top h1{margin:6px 0 4px;font-size:26px;letter-spacing:-1px}.top p{margin:0;color:#8592a2;font-size:12px}.top-actions{display:flex;gap:10px;align-items:center}.top-actions label{flex-direction:row;align-items:center}.top-actions input{padding:9px!important;max-width:172px}.content{padding:26px clamp(20px,4vw,55px) 60px;max-width:1450px;margin:auto}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin-bottom:22px}.stat{background:white;border:1px solid #e4eaf2;border-radius:14px;padding:21px;box-shadow:0 3px 13px #20374a09;min-height:130px}.stat .label{font-size:11px;color:#8494a8;display:flex;justify-content:space-between;align-items:center}.stat strong{display:block;font-size:28px;margin:19px 0 4px;letter-spacing:-.8px;font-variant-numeric:tabular-nums}.stat small{color:#9caaba;font-size:10px}.green{color:#178359!important}.red{color:#c24650!important}.amber{color:#bf8133!important}.panel{background:white;border:1px solid #e2eaf2;border-radius:15px;margin-bottom:20px;box-shadow:0 4px 16px #20374a08;overflow:hidden}.panel-header{padding:21px 24px;border-bottom:1px solid #ebeff6;display:flex;justify-content:space-between;align-items:center;gap:16px}.panel-header h2{font-size:16px;letter-spacing:-.3px;margin:0}.panel-header p{font-size:11px;color:#93a1ae;margin:6px 0 0}.panel-body{padding:23px}.search{width:220px;max-width:100%;font-size:12px}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;text-align:left;min-width:690px}th{background:#f8fafd;color:#8a98ab;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.35px;padding:13px 19px}td{border-top:1px solid #eff2f7;padding:13px 19px;font-size:12px}td b{color:#263d55}.smallmuted{font-size:10px;color:#94a1ae;display:block;margin-top:4px}.pill{font-size:10px;font-weight:800;border-radius:7px;background:#edf3fb;color:#426c9e;padding:6px 9px;display:inline-flex;white-space:nowrap}.pill.good{background:#e8f7ed;color:#188354}.pill.warn{background:#fff3e4;color:#ae792c}.pill.bad{background:#ffedf0;color:#b43f53}.empty{padding:38px 18px;text-align:center;color:#9aa9b8;font-size:12px}.formgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:17px}.formgrid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.checkgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin:17px 0}.checkgrid label{flex-direction:row;align-items:center;border:1px solid #e4ecf4;padding:12px;border-radius:10px;color:#50657a}.checkgrid input{accent-color:#236fc9}.weekgrid{display:grid;grid-template-columns:repeat(7,minmax(70px,1fr));gap:8px;margin:20px 0}.weekgrid input{text-align:center;padding:11px 4px!important}.upload{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;border:2px dashed #bcd5ed;background:#f8fbff;border-radius:15px;padding:42px 15px;gap:8px;cursor:pointer;color:#325f87}.upload:hover{border-color:#4388dc}.upload .arrow{font-size:32px;background:#e5f2ff;color:#3680ce;width:56px;height:56px;display:grid;place-items:center;border-radius:16px}.upload small{color:#8ba1b4;font-size:11px}.upload input{display:none}.stack{display:grid;gap:9px}.rowitem{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:14px;border-bottom:1px solid #edf2f8;font-size:12px}.rowitem:last-child{border:0}.rowitem strong{display:block;font-size:12px;margin-bottom:4px}.rowitem small{font-size:10px;color:#8798aa}.inlineform{display:flex;align-items:end;gap:12px;flex-wrap:wrap}.inlineform label{min-width:180px;flex:1}.tablinks{display:flex;gap:12px}.detail{margin-top:16px}.toast{position:fixed;right:25px;bottom:20px;padding:15px 19px;background:#123253;color:#fff;border-radius:10px;font-size:12px;box-shadow:0 5px 24px #111e3060;z-index:50;max-width:420px}.foot{color:#99a8b8;font-size:10px;text-align:center;padding:5px 20px 30px}.notice{border:1px solid #dcebf9;background:#f0f7ff;padding:14px 18px;border-radius:10px;color:#436889;font-size:12px;line-height:1.6;margin-bottom:19px}.miniTitle{font-size:13px;letter-spacing:-.2px;margin:25px 0 8px}.muted{color:#93a2b2}.pointer{cursor:pointer}.subtabs{display:flex;align-items:center;gap:9px}.subtabs button{border:0;background:#f2f5f9;padding:9px 13px;border-radius:9px;font-size:11px;font-weight:800;color:#416289}.subtabs button.active{background:#226ed1;color:white}@media(max-width:1080px){.stats{grid-template-columns:repeat(2,1fr)}.weekgrid{grid-template-columns:repeat(4,minmax(70px,1fr))}.shell{grid-template-columns:195px minmax(0,1fr)}}@media(max-width:720px){.auth{grid-template-columns:1fr}.auth-visual{min-height:220px;padding:28px}.auth-visual h1{font-size:30px}.auth-footer{display:none}.auth-side{padding:40px 22px}.shell{display:block}.sidebar{height:auto;min-height:auto;position:relative;padding:15px}.side-brand{margin:0 0 12px}.navgroup,.side-bottom{display:none}#nav{display:flex;overflow-x:auto;gap:3px}.navbtn{white-space:nowrap;padding:9px;font-size:11px}.navbtn span{display:none}.top{display:block;padding:22px}.top-actions{margin-top:19px;flex-wrap:wrap}.content{padding:19px 14px}.stats{gap:9px}.stat{padding:15px;min-height:112px}.stat strong{font-size:23px;margin:13px 0 0}.panel-header{padding:16px;flex-wrap:wrap}.panel-body{padding:16px}.formgrid,.formgrid.three,.checkgrid{grid-template-columns:1fr}.weekgrid{grid-template-columns:repeat(2,minmax(0,1fr))}.search{width:100%}}