:root{--ink:#10232f;--muted:#63717a;--line:#dce4e8;--paper:#fff;--soft:#f3f6f5;--brand:#0a6a83;--gold:#dca844}*{box-sizing:border-box}body{margin:0;font-family:Inter,Segoe UI,Arial,sans-serif;background:var(--soft);color:var(--ink);line-height:1.45}.shell{display:grid;grid-template-columns:264px 1fr;min-height:100vh}.shell.login-only{grid-template-columns:1fr}.shell.login-only main{display:grid;align-items:start;justify-items:center}aside{background:#10232f;color:white;padding:24px;position:sticky;top:0;height:100vh;border-right:1px solid rgba(255,255,255,.08)}.brand{padding-bottom:24px;margin-bottom:14px;border-bottom:1px solid rgba(255,255,255,.12)}.brand h2{margin:0;font-size:1.35rem}.brand p{margin:4px 0 0;color:rgba(255,255,255,.66)}aside button{display:block;width:100%;margin:7px 0;padding:12px 14px;border:0;border-radius:8px;background:transparent;color:rgba(255,255,255,.78);text-align:left;font-weight:850;cursor:pointer}aside button:hover,aside button.active{background:rgba(255,255,255,.11);color:white}#logoutBtn{margin-top:22px;color:#ffdcb0}main{padding:30px;min-width:0}.login,.panel,.stats article{background:var(--paper);border:1px solid var(--line);border-radius:8px;padding:24px;box-shadow:0 14px 34px rgba(16,35,47,.07)}.login{width:min(420px,100%);margin:10vh auto}.login p{color:var(--muted)}.topbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px}.topbar h1{margin:0;font-size:2rem}.eyebrow{margin:0 0 4px;text-transform:uppercase;letter-spacing:.12em;font-size:.74rem;font-weight:900;color:var(--brand)}#userLine{padding:8px 12px;background:white;border:1px solid var(--line);border-radius:8px;color:var(--muted)}.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:18px}.stats span{display:block;font-size:40px;line-height:1;font-weight:900;color:var(--brand);margin-bottom:8px}.stats b{color:var(--muted)}.tab{display:none}.tab.active{display:block}.panel{margin-bottom:20px}.panel h2{margin:0 0 16px}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:16px}.panel-head button{width:auto}input,select,textarea,button{padding:12px;margin:6px 0;border:1px solid #cfd9de;border-radius:8px;font:inherit}input,select,textarea{width:100%;background:white;color:var(--ink)}input:focus,select:focus,textarea:focus{outline:3px solid rgba(10,106,131,.16);border-color:var(--brand)}button{background:var(--gold);border:0;font-weight:900;cursor:pointer;color:var(--ink)}button:disabled{opacity:.65;cursor:wait}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:8px}table{width:100%;border-collapse:collapse;min-width:860px;background:white}th,td{padding:12px 14px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}th{position:sticky;top:0;background:#f8faf9;color:#4a5c65;font-size:.84rem;text-transform:uppercase;letter-spacing:.06em}td{font-size:.94rem}.grid-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.grid-form textarea{grid-column:span 2;min-height:110px}.check{display:flex;align-items:center;gap:8px;color:var(--muted);font-weight:800}.check input{width:auto}.answer{display:none;white-space:pre-line;background:#edf4f1;border:1px solid var(--line);border-radius:8px;padding:14px;margin-top:12px}.answer:not(:empty){display:block}.module-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.module-stats p{margin:0;padding:14px;border:1px solid var(--line);border-radius:8px;background:#f8faf9}.status-ok{color:#2f7d58;font-weight:800}.status-error{color:#b43737;font-weight:800}@media(max-width:900px){.shell{grid-template-columns:1fr}aside{position:relative;height:auto}.stats,.grid-form,.module-stats{grid-template-columns:1fr}.grid-form textarea{grid-column:span 1}.topbar{display:block}main{padding:20px}}
