@font-face{font-family:Nexo;src:url(assets/fonts/nunito-latin-400-normal.woff2)}@font-face{font-family:Nexo;src:url(assets/fonts/nunito-latin-800-normal.woff2);font-weight:800}
:root{--navy:#101d3e;--indigo:#605af5;--cyan:#35c9d1;--light:#f5f7fc;--line:#e4e9f4;--text:#24324b;--muted:#64748b;--green:#08775b;--red:#b4374b;--amber:#95600e}*{box-sizing:border-box}body{margin:0;background:var(--light);color:var(--text);font:15px/1.55 Nexo,system-ui,sans-serif}button,input,select,textarea{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{opacity:.55;cursor:default}a{color:#4941c9}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #16aabc;outline-offset:3px}h1,h2,h3,p{overflow-wrap:anywhere}h1{font-size:29px;line-height:1.2;margin:0}h2{font-size:22px}h3{font-size:17px}small,.muted{color:var(--muted)}.shell{display:flex;min-height:100vh}.sidebar{background:var(--navy);color:#fff;width:235px;min-width:235px;height:100vh;position:sticky;top:0;display:flex;flex-direction:column;padding:25px 16px;overflow:auto}.brand{display:flex;align-items:center;gap:10px;font-size:22px;font-weight:800;margin-bottom:30px}.brand img{width:37px}.side-caption{font-size:10px;color:#9aa9cb;letter-spacing:.17em;margin:18px 12px 9px}.sidebar button,.sidebar>a{display:flex;gap:12px;align-items:center;border:0;border-radius:10px;background:transparent;color:#bcc8e3;text-align:left;padding:12px;font-size:14px;width:100%;text-decoration:none}.sidebar button.active{background:#5757d9;color:#fff}.sidebar button:hover{background:#26385c}.sidebar .bottom{margin-top:auto;padding-top:30px}.layout{flex:1;min-width:0}.topbar{background:white;border-bottom:1px solid var(--line);min-height:80px;padding:15px 32px;display:flex;gap:16px;align-items:center;justify-content:space-between;flex-wrap:wrap}.identity{font-size:13px}.content{max-width:1450px;margin:auto;padding:28px 32px 70px}.eyebrow{color:var(--indigo);font-size:11px;letter-spacing:.13em;font-weight:800}.heading{display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap;margin-bottom:22px}.heading p{margin:8px 0 0}.hero{background:linear-gradient(110deg,#152650,#2a3b7b 65%,#514cc7);padding:28px;border-radius:20px;color:#fff;margin-bottom:22px;position:relative;overflow:hidden}.hero h2{font-size:29px;margin:10px 0}.hero p{max-width:700px;color:#d9e0fa}.hero .eyebrow{color:#79e2df}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:22px 0}.stat,.panel{background:#fff;border:1px solid var(--line);border-radius:17px;padding:22px;box-shadow:0 8px 30px #1c2d5207}.stat b{display:block;font-size:32px;color:var(--navy);margin:10px 0}.stat span{font-size:13px;color:var(--muted)}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.panel{margin-bottom:18px;min-width:0}.panel h2,.panel h3{margin-top:0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--line);border-radius:10px;background:#fff;color:#3c4c6e;padding:10px 15px;text-decoration:none;font-weight:800;font-size:13px}.btn.primary{background:var(--indigo);border-color:var(--indigo);color:#fff}.btn.soft{background:#f0efff;color:#5449bd}.btn.danger{background:#fff0f0;color:#a32a44}.btn.small{padding:6px 10px;font-size:12px}.actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.table-wrap{overflow:auto;max-width:100%}table{width:100%;border-collapse:collapse;text-align:left;font-size:13px}td,th{padding:13px 10px;border-bottom:1px solid #eef1f7;vertical-align:top}th{color:#62728d;font-size:11px;text-transform:uppercase;letter-spacing:.04em}.badge{display:inline-block;border-radius:8px;background:#f0efff;color:#5649b9;font-size:12px;padding:4px 9px}.badge.approved,.badge.reviewed,.badge.accepted{background:#e5f7ef;color:#08775b}.badge.submitted,.badge.draft{background:#fff3de;color:#95600e}.badge.returned,.badge.declined{background:#fff0f1;color:#ae3247}.empty{text-align:center;padding:36px 18px;color:var(--muted)}.empty b{display:block;color:#364767;margin-bottom:8px}.toolbar{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:20px}.toolbar>input{flex:1}.notice{padding:14px 18px;border:1px solid #ded9fc;background:#f0eeff;border-radius:12px;margin-bottom:20px}.notice.warn{background:#fff7e8;border-color:#f1d8a6;color:#7f5919}label{display:block;font-weight:800;font-size:13px;margin:12px 0}input,select,textarea{display:block;width:100%;border:1px solid #d6deee;border-radius:9px;background:white;color:var(--text);padding:10px;margin-top:5px}textarea{min-height:95px;resize:vertical}input[type=checkbox]{width:auto;display:inline}input[type=file]{font-size:12px}.topbar select{max-width:340px;margin:0}.login-card{max-width:490px;background:white;border:1px solid var(--line);margin:8vh auto;border-radius:22px;padding:34px}.login-card h1{margin-top:20px}.login-card .btn{width:100%;margin-top:12px}dialog{border:0;border-radius:18px;padding:27px;width:min(780px,94vw);max-height:90vh;color:var(--text);box-shadow:0 30px 90px #101d3e4d}dialog::backdrop{background:#101d3e88}.close{float:right;border:0;background:#eff2f8;font-size:24px;border-radius:9px;width:36px;height:36px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 15px}.form-grid .wide{grid-column:1/-1}#feedback:not(:empty){position:fixed;bottom:22px;right:22px;z-index:10;max-width:450px;padding:17px 22px;background:#182950;color:#fff;border-radius:13px;box-shadow:0 10px 40px #19223c33}progress{width:100%;height:8px;accent-color:var(--indigo)}.row{display:flex;justify-content:space-between;align-items:center;gap:15px;border-bottom:1px solid var(--line);padding:14px 0}.row:last-child{border:0}.course-card h3{margin:12px 0}.course-card .grade{font-size:11px;color:#6258ce;font-weight:800;letter-spacing:.07em}.supervision{background:#fff2d8;border-bottom:1px solid #efd3a0;padding:12px 32px;font-weight:800;font-size:13px}.mobile-toggle{display:none}.checklist{display:grid;gap:8px;max-height:210px;overflow:auto;border:1px solid var(--line);padding:14px;border-radius:10px}.checklist label{margin:0;font-weight:400}.checklist input{margin-right:8px}pre{white-space:pre-wrap;word-break:break-word}iframe.lesson{width:100%;height:75vh;border:1px solid var(--line);border-radius:12px}.error{color:var(--red)}.help{font-size:12px;color:var(--muted)}@media(max-width:1080px){.grid.three{grid-template-columns:repeat(2,1fr)}.sidebar{width:205px;min-width:205px}.content{padding:24px 20px}.stats{grid-template-columns:repeat(2,1fr)}}@media(max-width:740px){.sidebar{display:none;position:fixed;z-index:5;left:0;top:0;width:235px}.sidebar.open{display:flex}.mobile-toggle{display:block}.content{padding:22px 14px}.topbar{padding:14px;gap:8px}.topbar select{max-width:100%;flex:1;min-width:180px}.grid,.grid.three{grid-template-columns:1fr}.hero{padding:23px}.hero h2{font-size:25px}.stat{padding:15px}.stat b{font-size:27px}.panel{padding:17px}.form-grid{grid-template-columns:1fr}.heading h1{font-size:25px}.supervision{padding:12px 14px}.login-card{margin:25px 14px}.identity{width:100%}}@media print{.sidebar,.topbar,.actions,.heading button,.supervision{display:none!important}.content{padding:0}.panel,.stat{box-shadow:none;break-inside:avoid}body{background:white;font-size:11pt}.shell{display:block}.grid{display:block}@page{size:A4;margin:15mm}}
.sidebar .bottom a{display:block;margin:7px 0}
