:root{--navy:#181854;--amber:#FCB400;--bg:#f1f5f9;--text:#334155;--muted:#64748b;--border:#cbd5e1}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--text);font:15px/1.5 "Segoe UI",system-ui,sans-serif;min-height:100vh;display:flex;flex-direction:column}
.bar{background:#000;border-bottom:4px solid var(--amber);display:flex;align-items:center;gap:1rem;padding:.5rem 1rem;min-height:48px}
.logo{height:30px;width:auto;display:block;flex:none}
.app{color:#e2e8f0;font-size:.85rem;opacity:.85}
.who{margin-left:auto;display:flex;align-items:center;gap:.75rem;color:#e2e8f0;font-size:.85rem}
main.card{background:#fff;border:1px solid var(--border);border-radius:8px;margin:1.25rem auto;padding:1.25rem;width:calc(100% - 2rem);max-width:1200px;flex:1 0 auto}
h1{color:var(--navy);font-weight:600;font-size:1.35rem;margin:0 0 .75rem}
.search{display:flex;gap:.5rem;margin-bottom:.75rem}
.search input{flex:1;min-width:0;padding:.55rem .7rem;border:1px solid var(--border);border-radius:6px;font:inherit;color:var(--text)}
button{background:var(--navy);color:#fff;border:0;border-radius:6px;padding:.55rem 1rem;font:inherit;cursor:pointer}
button.ghost{background:transparent;border:1px solid #475569;color:#e2e8f0;padding:.25rem .7rem}
input:focus,button:focus,a:focus{outline:2px solid var(--navy);outline-offset:2px}
.bar button:focus{outline-color:var(--amber)}
.meta{color:var(--muted);margin:.25rem 0 .75rem}
.scroll{overflow-x:auto}
table{border-collapse:collapse;width:100%;min-width:900px}
th{background:var(--navy);color:#fff;text-align:left;font-weight:600;padding:.5rem .6rem;white-space:nowrap}
td{padding:.5rem .6rem;border-bottom:1px solid #e2e8f0;vertical-align:top}
.num{text-align:right;white-space:nowrap}
.pn{font-weight:600;color:var(--navy);white-space:nowrap}
small{color:var(--muted)}
.src{display:block;font-size:.68rem}
.empty{text-align:center;color:var(--muted)}
.pager{display:flex;gap:1rem;margin-top:.75rem}
a{color:var(--navy)}
footer{text-align:center;color:var(--muted);font-size:.8rem;padding:0 1rem 1.25rem}
.intro{margin:0 0 1rem}
.search select{padding:.55rem .7rem;border:1px solid var(--border);border-radius:6px;font:inherit;color:var(--text);background:#fff}
a.btn{display:inline-block;background:var(--navy);color:#fff;text-decoration:none;border-radius:6px;padding:.65rem 1.2rem;font-weight:600}
table.narrow{min-width:0}
h2{color:var(--navy);font-weight:600;font-size:1.05rem;margin:1rem 0 .5rem}
.rowform{display:flex;gap:.5rem;flex-wrap:wrap}
.rowform input{flex:1;min-width:140px;padding:.45rem .6rem;border:1px solid var(--border);border-radius:6px;font:inherit;color:var(--text)}
button.danger{background:#fff;color:#991b1b;border:1px solid #991b1b}
