:root{--nav:#13233f;--bg:#f4f7fb;--card:#fff;--text:#142746;--muted:#68768b;--line:#dfe5ee;--blue:#2f6fe4;--red:#c0392b;--green:#14804a;--yellow:#fff6cf}
*{box-sizing:border-box}
html{scroll-padding-top:92px}
body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;background:var(--bg);color:var(--text)}
a{color:var(--blue)}
.topbar{background:var(--nav);color:#fff;padding:14px 24px;display:flex;justify-content:space-between;align-items:center;gap:20px;position:sticky;top:0;z-index:50;box-shadow:0 1px 0 rgba(255,255,255,.08)}
.brand{font-weight:800;white-space:nowrap}.brand small{display:block;font-weight:400;opacity:.8}
.nav{display:flex;gap:14px;flex-wrap:wrap;align-items:center;justify-content:flex-end}
.nav a,.nav button{color:#fff;text-decoration:none;background:none;border:0;font:inherit;cursor:pointer;padding:6px 0;white-space:nowrap}
.container{max-width:1450px;margin:32px auto;padding:0 24px}
.card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:18px;margin-bottom:18px;box-shadow:0 2px 8px rgba(24,39,75,.04);min-width:0}
h1,h2,h3{margin-top:0}h1{margin-bottom:20px}.card>h2:first-child{margin-bottom:18px}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}.metric{padding:18px;border-radius:12px;background:#fff;border:1px solid var(--line)}.metric .v{font-size:28px;font-weight:800}.muted{color:var(--muted)}
.scroll{overflow-x:auto;width:100%;border-radius:10px;position:relative}
table{width:100%;border-collapse:separate;border-spacing:0;font-size:14px;background:#fff}
thead{display:table-header-group}
th,td{padding:11px 10px;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle}
th{background:#f8fafc;font-weight:800;color:var(--text);position:static;top:auto;z-index:auto;white-space:nowrap;border-top:1px solid var(--line)}
thead th:first-child{border-top-left-radius:8px}thead th:last-child{border-top-right-radius:8px}
tbody tr:hover{background:#fbfcfe}tbody tr:last-child td{border-bottom:0}
td input,td select,td textarea{min-width:90px}td textarea{min-height:64px;resize:vertical}
.table-compact th,.table-compact td{padding-top:9px;padding-bottom:9px}
.btn{display:inline-block;border:0;border-radius:9px;background:var(--blue);color:#fff;padding:9px 13px;text-decoration:none;cursor:pointer;font-weight:650}.btn.secondary{background:#eef3fb;color:var(--text)}.btn.danger{background:#b8322a}.btn.green{background:var(--green)}.btn.small{padding:6px 9px;font-size:12px}
input,select,textarea{width:100%;padding:9px 10px;border:1px solid #cfd7e4;border-radius:8px;background:#fff;color:var(--text)}textarea{min-height:75px}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.field label{display:block;font-size:12px;font-weight:700;margin-bottom:5px;color:#43516a}.actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.flash{padding:12px 14px;background:var(--yellow);border-radius:9px;margin-bottom:14px}.badge{display:inline-block;padding:4px 8px;border-radius:999px;background:#eef3fb;font-size:12px;font-weight:700}.badge.red{background:#fde2df;color:#8b1d16}.badge.green{background:#dff5e9;color:#12633a}.money.neg{color:var(--red);font-weight:800}.money.pos{color:var(--green);font-weight:800}.login-wrap{max-width:440px;margin:10vh auto}.inline{display:inline}.toolbar{display:flex;justify-content:space-between;gap:12px;align-items:center;flex-wrap:wrap}.toolbar h1{margin-bottom:0}.notice{background:#eef7ff;border:1px solid #cfe4ff;padding:12px;border-radius:9px}.warn{background:#fff4d6;border:1px solid #f0d88a;padding:12px;border-radius:9px}.danger-text{color:var(--red)}.right{text-align:right}
@media(max-width:1100px){.topbar{align-items:flex-start;flex-direction:column}.nav{justify-content:flex-start}.container{margin-top:22px}}
@media(max-width:800px){.topbar{padding:12px 16px}.container{padding:0 12px;margin-top:18px}.nav{gap:10px}.form-grid{grid-template-columns:1fr}th,td{padding:9px 8px}.card{padding:14px}.metric .v{font-size:24px}}
