*{box-sizing:border-box}body{margin:0;background:#f3f6fb;color:#14233c;font:15px system-ui,Arial}.layout{display:flex;min-height:100vh}aside{width:245px;background:#11243e;color:white;padding:25px 16px;flex-shrink:0}aside h2{font-size:20px;margin:0 0 25px}aside a{display:block;color:#d7e2f1;text-decoration:none;padding:12px;border-radius:9px;margin:3px 0}aside a:hover,aside a.active{background:#294668}main{flex:1;padding:32px;min-width:0}.top{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:25px}h1{font-size:27px;margin:0}h3{margin:0 0 14px}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:18px}.card,.panel{background:white;border:1px solid #e1e7f0;border-radius:14px;padding:22px;box-shadow:0 4px 20px #1d36510a}.card strong{font-size:29px;display:block;margin-top:10px;color:#1560a8}.panel{margin-top:20px;overflow-x:auto}table{width:100%;border-collapse:collapse}td,th{text-align:left;padding:12px;border-bottom:1px solid #e9edf4;white-space:nowrap}th{color:#64748b;font-size:13px}input,select{padding:11px;border:1px solid #cbd5e1;border-radius:8px;width:100%;background:white}label{display:block;margin-bottom:12px;font-weight:600;font-size:13px}label input,label select{margin-top:6px;font-weight:400}.formgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px}.btn{display:inline-block;background:#1769b5;color:white;border:0;border-radius:8px;padding:11px 18px;cursor:pointer;text-decoration:none;font-weight:600}.btn.secondary{background:#e6eef7;color:#183b60}.btn.danger{background:#b42332}.actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.alert{padding:13px;border-radius:8px;background:#e4f4e9;color:#166534;margin:15px 0}.error{background:#fff0f0;color:#a61b29}.login{max-width:440px;margin:9vh auto}.muted{color:#64748b}.scroll{overflow-x:auto}@media(max-width:800px){.layout{display:block}aside{width:100%;padding:15px}aside nav{display:flex;overflow:auto}aside a{white-space:nowrap}main{padding:16px}.top{align-items:flex-start;flex-direction:column}}