:root{--navy:#1D3A8A;--maroon:#8E1F24;--bg:#F4F5F7;--text:#15181E;--muted:#5B6270;--line:#DDE0E6;--card:#fff}
*{box-sizing:border-box}
body{margin:0;font-family:"Segoe UI",system-ui,sans-serif;background:var(--bg);color:var(--text);font-size:15px}
a{color:var(--navy)}
.topbar{display:flex;align-items:center;gap:20px;background:#fff;border-bottom:3px solid var(--navy);padding:10px 24px}
.topbar img{height:42px}
.topbar form{flex:1;max-width:520px}
.topbar input[type=search]{width:100%;padding:9px 12px;border:1px solid var(--line);border-radius:6px;font:inherit}
.topbar .who{margin-left:auto;color:var(--muted);font-size:14px;display:flex;gap:14px;align-items:center}
.btn{display:inline-block;background:var(--navy);color:#fff;border:0;border-radius:6px;padding:8px 16px;text-decoration:none;font:inherit;cursor:pointer}
.btn.alt{background:var(--maroon)}
.shell{display:flex;min-height:calc(100vh - 120px)}
.side{width:260px;background:#fff;border-right:1px solid var(--line);padding:12px 0;flex-shrink:0}
.side details{border-bottom:1px solid var(--line)}
.side summary{padding:10px 20px;font-weight:600;cursor:pointer;color:var(--navy)}
.side a{display:block;padding:6px 20px 6px 34px;text-decoration:none;color:var(--text);font-size:14px}
.side a:hover{background:var(--bg)}
main{flex:1;padding:28px 32px;max-width:1200px}
h1{margin:0 0 16px;font-size:26px;color:var(--navy)}
.card{background:var(--card);border:1px solid var(--line);border-radius:8px;padding:18px 20px;margin-bottom:18px}
table.grid{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--line)}
table.grid th{background:var(--navy);color:#fff;text-align:left;padding:9px 12px;font-weight:600}
table.grid td{padding:9px 12px;border-top:1px solid var(--line)}
table.grid tr:nth-child(even) td{background:#FAFBFC}
.muted{color:var(--muted)}
footer{padding:16px 24px;color:var(--muted);font-size:13px;border-top:1px solid var(--line);background:#fff}
.notice{background:#EAF0FB;border-left:4px solid var(--navy);padding:10px 14px;border-radius:4px}
.notice.error{background:#FBEAEA;border-left-color:var(--maroon)}
@media (max-width:800px){.shell{flex-direction:column}.side{width:auto;border-right:0;border-bottom:1px solid var(--line)}main{padding:18px 14px}.topbar{flex-wrap:wrap;gap:10px}.topbar form{order:3;max-width:none;flex-basis:100%}table.grid{display:block;overflow-x:auto}}
