:root{--bg:#f3f6fb;--panel:#fff;--nav:#102b46;--primary:#2368d4;--text:#203149;--muted:#73839b;--line:#e1e8f2;--radius:16px;--shadow:0 8px 28px rgba(24,43,74,.055)}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:14px/1.55 system-ui,-apple-system,"Segoe UI",Arial,sans-serif}a{text-decoration:none;color:var(--primary)}button,input,select{font:inherit}h1{font-size:26px;margin:0 0 6px}h2{font-size:19px;margin:0 0 8px}h3{font-size:16px}p{color:var(--muted)}
.app-shell{display:grid;grid-template-columns:250px minmax(0,1fr);min-height:100vh}.sidebar{background:var(--nav);color:#e8f0fb;padding:24px 15px;display:flex;flex-direction:column}.brand{font-weight:800;font-size:22px;padding:6px 14px 30px;color:white}.brand small{display:block;font-size:12px;letter-spacing:.04em;font-weight:400;color:#a8c0db}.side-nav{display:grid;gap:6px}.side-nav a{padding:12px 15px;border-radius:10px;color:#dce8f6;font-weight:550}.side-nav a:hover,.side-nav a.active{background:#264b71;color:white}.sidebar-foot{margin-top:auto;color:#9fb4c9;font-size:12px;padding:15px}.main{padding:30px;max-width:1450px;width:100%;margin:0 auto}.topbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:25px;gap:15px}.user-chip{display:flex;align-items:center;gap:12px;background:white;border:1px solid var(--line);border-radius:14px;padding:10px 16px;font-weight:600}.avatar{width:36px;height:36px;display:grid;place-items:center;border-radius:12px;background:#e9f1ff;color:var(--primary)}.grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:18px}.col-12{grid-column:span 12}.col-8{grid-column:span 8}.col-6{grid-column:span 6}.col-4{grid-column:span 4}.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:23px}.card-head{display:flex;justify-content:space-between;align-items:start;gap:10px;margin-bottom:17px}.card-head p{margin:0}.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}.stat{background:white;border:1px solid var(--line);border-radius:var(--radius);padding:21px}.stat-label{color:var(--muted)}.stat-value{font-size:32px;font-weight:750;margin-top:7px}.stat-note{font-size:12px;color:var(--muted)}.modules{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.module{display:block;background:#f7faff;border:1px solid #dfebfa;border-radius:12px;padding:20px;color:var(--text)}.module strong,.module small{display:block}.module small{color:var(--muted);margin-top:8px}.module[href]:hover{border-color:var(--primary)}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}th,td{padding:13px 11px;text-align:left;border-bottom:1px solid var(--line)}th{background:#f8faff;color:#64758b;font-size:12px}.pill{display:inline-flex;border-radius:100px;padding:4px 10px;background:#e9f1ff;color:#205bb1;font-size:12px;font-weight:650}.pill.ok{background:#e7f8ef;color:#18744b}.pill.off{background:#f1f2f4;color:#657080}.fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.field label{display:block;font-weight:600;margin-bottom:6px}.field input,.field select,.select{width:100%;border:1px solid #ccd6e4;border-radius:10px;padding:11px 12px;background:#fff;color:var(--text)}.field input:focus,.field select:focus{outline:3px solid #e1edff;border-color:var(--primary)}.btn{background:var(--primary);color:white;border:0;border-radius:10px;padding:11px 17px;display:inline-block;cursor:pointer;font-weight:650}.btn.alt{background:#eaf1fc;color:#215eaf}.btn.warn{background:#fbecee;color:#b12433}.actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}.notice{padding:13px 16px;border-radius:11px;margin-bottom:17px;background:#e8f9ef;color:#14633f}.notice.error{background:#fff0f1;color:#9b2635}.auth-wrap{min-height:100vh;display:grid;place-items:center;padding:20px}.auth{width:min(430px,100%);background:white;border:1px solid var(--line);border-radius:20px;padding:32px;box-shadow:var(--shadow)}.auth .field{margin:16px 0}.auth .btn{width:100%}.muted{color:var(--muted)}@media(max-width:1000px){.col-8,.col-6,.col-4{grid-column:span 12}.stats{grid-template-columns:repeat(2,1fr)}}@media(max-width:760px){.app-shell{display:block}.sidebar{padding:12px}.brand{padding:5px 8px 12px}.side-nav{display:flex;overflow-x:auto}.side-nav a{white-space:nowrap}.sidebar-foot{display:none}.main{padding:17px}.topbar{align-items:start;flex-direction:column}.fields,.modules,.stats{grid-template-columns:1fr}.card{padding:17px}}