:root{--navy:#0a1931;--blue:#0056b3;--cyan:#00a8ff;--ink:#172b46;--muted:#52657c;--line:#d7e2ed;--bg:#f4f7fa;--white:#fff;--good:#14734b;--bad:#a22d3c}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.6 'Segoe UI',Arial,sans-serif}a{color:var(--blue);text-decoration:none}a:hover{text-decoration:underline}header{min-height:92px;background:white;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:26px;padding:18px 4%;position:relative;z-index:2}header img{width:205px;display:block}.brand-line{border-left:1px solid var(--line);padding-left:24px;font-size:10px;letter-spacing:1.2px}.brand-line strong{font-size:14px;letter-spacing:0}nav{margin-left:auto;display:flex;gap:20px;align-items:center}nav a{font-size:14px}#shell{display:grid;grid-template-columns:258px minmax(0,1fr);min-height:calc(100vh - 150px)}aside{padding:30px 22px;border-right:1px solid var(--line);background:#eaf1f7}aside:empty{display:none}#shell:has(aside:empty){grid-template-columns:1fr}aside a{display:block;padding:12px 8px;border-bottom:1px solid var(--line);font-size:13px}aside a.active{background:white;border-radius:8px;font-weight:700}aside strong{display:block;margin-bottom:12px}main{padding:36px 4%;max-width:1500px;width:100%;margin:auto;align-self:start}h1,h2,h3{color:var(--navy);line-height:1.18;margin-top:0}h1{font-size:36px;letter-spacing:-1px}h2{font-size:25px}h3{font-size:19px}p{margin:0 0 18px}.eyebrow{font-size:11px;font-weight:800;letter-spacing:2px;text-transform:uppercase;color:var(--blue);margin-bottom:14px}.muted,small{color:var(--muted)}.hero{background:var(--navy);color:white;border-radius:15px;display:grid;grid-template-columns:1.3fr 1fr;overflow:hidden;margin-bottom:26px}.hero-copy{padding:42px}.hero h1{font-size:44px;color:white}.hero .eyebrow{color:#70d0ff}.hero img{width:100%;height:100%;max-height:400px;object-fit:cover}.hero .muted{color:#c4d5e7}.card,.topic,fieldset{background:white;border:1px solid var(--line);border-radius:12px;padding:25px;margin-bottom:18px}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:18px}.metric{background:white;border:1px solid var(--line);border-radius:12px;padding:22px}.metric strong{display:block;font-size:34px;line-height:1.2;color:var(--navy)}.metric span{color:var(--muted);font-size:13px}.route{display:flex;gap:20px;align-items:center}.route .number{font-size:27px;font-weight:700;color:var(--blue)}.route h3{margin:0 0 5px}.route p{margin:0;font-size:13px}.route .meta{margin-left:auto;min-width:100px;text-align:right;font-size:12px}.toolbar,.actions,.tabs{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin:20px 0}.tabs{border-bottom:1px solid var(--line);padding-bottom:14px}.tabs .active{background:var(--navy);color:white}.notice{background:#e7f2fb;border-left:4px solid var(--blue);padding:17px 20px;border-radius:0 8px 8px 0;margin:20px 0}.notice.warn{background:#fff5e3;border-color:#c57b00}.pill{display:inline-block;border-radius:20px;background:#e5edf6;color:var(--blue);padding:3px 11px;font-size:12px}.good{color:var(--good)}.bad{color:var(--bad)}button,.btn{display:inline-block;background:var(--blue);color:white;border:1px solid transparent;border-radius:7px;padding:11px 17px;font:600 14px 'Segoe UI',Arial;cursor:pointer;text-align:center}.btn:hover{color:white;text-decoration:none;background:#003f87}button.secondary,.btn.secondary{background:white;border:1px solid var(--line);color:var(--blue)}button.light,.btn.light{background:white;color:var(--blue)}button:disabled{opacity:.55;cursor:wait}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--cyan);outline-offset:3px}label{display:block;font-weight:600;font-size:14px;margin-bottom:14px}input,select,textarea{display:block;width:100%;padding:11px 12px;border:1px solid #aebed0;border-radius:6px;font:15px 'Segoe UI';color:var(--ink);background:white;margin-top:6px}input[type=checkbox],input[type=radio]{width:auto;display:inline-block;margin-right:10px}.option{font-weight:400;padding:10px;border:1px solid var(--line);border-radius:6px;margin-bottom:9px;display:flex;align-items:flex-start}.option input{flex-shrink:0}textarea{min-height:120px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.login{max-width:500px;margin:35px auto}.login h1{font-size:34px}.login .btn,.login button[type=submit]{width:100%}.login .eyebrow{margin-top:8px}.error{color:var(--bad);font-weight:600;margin:12px 0}.player-grid{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:22px}video{width:100%;background:#050e1d;border-radius:10px;max-height:510px}.playlist{max-height:550px;overflow:auto}.playlist button{display:block;width:100%;text-align:left;background:white;color:var(--ink);border:1px solid var(--line);margin:0 0 8px;font-weight:400}.playlist button.active{border-color:var(--blue);background:#e7f2fb}.playlist small{display:block}.table-wrap{overflow:auto;background:white;border:1px solid var(--line);border-radius:10px;margin:22px 0}table{border-collapse:collapse;width:100%;font-size:13px}th,td{padding:14px 16px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}th{background:#eaf1f7;white-space:nowrap}td button{font-size:12px;padding:6px 10px}progress{width:100%;height:10px;accent-color:var(--blue)}.split{display:grid;grid-template-columns:1fr 1fr;gap:18px}.split img{width:100%;max-height:500px;object-fit:contain;background:#eaf1f7}fieldset legend{padding:0 8px;font-weight:600}.score{padding:26px;background:var(--navy);color:white;border-radius:12px}.score h2{color:white;font-size:38px}dialog{max-width:600px;width:90%;border:1px solid var(--line);border-radius:12px;padding:30px;color:var(--ink)}dialog::backdrop{background:#06152bc9}dialog code{display:block;padding:18px;background:#eaf1f7;word-break:break-all;font-size:19px;margin:15px 0}#toast{position:fixed;bottom:24px;right:24px;background:var(--navy);color:white;max-width:420px;padding:15px 20px;border-radius:8px;display:none;z-index:9}footer{padding:20px 4%;font-size:11px;color:var(--muted);border-top:1px solid var(--line)}.empty{padding:32px;background:white;border:1px dashed #aebed0;border-radius:12px}.checkbox-line{font-weight:400}.save-state{font-size:12px;color:var(--good)}@media(max-width:1050px){#shell{grid-template-columns:220px minmax(0,1fr)}.hero{grid-template-columns:1fr}.hero img{max-height:230px}.hero-copy{padding:30px}.player-grid{grid-template-columns:1fr}.playlist{max-height:250px}nav{gap:12px}.brand-line{display:none}}@media(max-width:700px){header{flex-wrap:wrap;padding:15px 20px;gap:10px}header img{width:180px}nav{width:100%;margin:0;gap:16px;flex-wrap:wrap}#shell{display:block}aside{padding:15px 20px;border-right:0;border-bottom:1px solid var(--line)}aside #modulelinks{display:none}main{padding:25px 18px}h1{font-size:29px}.hero h1{font-size:34px}.hero-copy{padding:26px}.form-grid,.split{grid-template-columns:1fr}.route{align-items:flex-start}.route .meta{display:none}.cards{grid-template-columns:1fr 1fr}.metric{padding:16px}.metric strong{font-size:29px}.login{margin:10px auto}.card,fieldset{padding:19px}}@media print{header,aside,footer,nav,.actions,.toolbar,button{display:none!important}#shell{display:block}main{padding:0}body{background:white}.card{break-inside:avoid}}
