:root{
  --ink:#0f2740; --brass:#b07d3c; --bg:#f5f6f8; --card:#fff; --line:#e4e7eb; --muted:#7a8694;
}
*{box-sizing:border-box}
body{margin:0;font-family:-apple-system,Segoe UI,Roboto,Arial,sans-serif;background:var(--bg);color:#1b2430}
a{color:var(--ink);text-decoration:none}
a:hover{text-decoration:underline}

.topbar{display:flex;align-items:center;justify-content:space-between;background:var(--ink);color:#fff;padding:12px 22px}
.topbar .brand{color:#fff;font-weight:700;font-size:18px}
.topbar .brand span{color:var(--brass);font-weight:600}
.topbar nav a{color:#dbe4ee;margin-left:18px;font-size:14px}
.topbar nav a:hover{color:#fff}
.topbar nav a.muted{color:#8ba0b6}

.wrap{max-width:1040px;margin:26px auto;padding:0 18px}
.foot{text-align:center;color:var(--muted);font-size:12px;padding:26px}

h1{font-size:22px;margin:0 0 4px}
.sub{color:var(--muted);margin:0 0 20px}

.card{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:20px;margin-bottom:18px}

.stats{display:flex;gap:14px;margin-bottom:22px;flex-wrap:wrap}
.stat{flex:1;min-width:150px;background:var(--card);border:1px solid var(--line);border-radius:10px;padding:16px 18px}
.stat .n{font-size:26px;font-weight:700;color:var(--ink)}
.stat .l{color:var(--muted);font-size:13px;margin-top:2px}
.stat.money .n{color:var(--brass)}

table.list{width:100%;border-collapse:collapse;background:var(--card);border:1px solid var(--line);border-radius:10px;overflow:hidden}
table.list th,table.list td{text-align:left;padding:12px 14px;border-bottom:1px solid var(--line);font-size:14px}
table.list th{background:#fafbfc;color:var(--muted);font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.03em}
table.list tr:last-child td{border-bottom:none}
table.list tr:hover td{background:#fafcff}
.right{text-align:right}

.badge{display:inline-block;padding:2px 9px;border-radius:20px;font-size:12px;font-weight:600}
.badge.gray{background:#eceff3;color:#5b6673}
.badge.blue{background:#e2edfb;color:#1f5fa8}
.badge.green{background:#e2f5e9;color:#1e7d43}
.badge.red{background:#fde5e5;color:#b3352f}

.btn{display:inline-block;background:var(--ink);color:#fff;border:none;padding:9px 16px;border-radius:7px;font-size:14px;cursor:pointer}
.btn:hover{background:#173a5e;text-decoration:none}
.btn.brass{background:var(--brass)}
.btn.brass:hover{background:#9a6b30}
.btn.ghost{background:#fff;color:var(--ink);border:1px solid var(--line)}
.btn.ghost:hover{background:#f4f6f9}
.btn.sm{padding:6px 11px;font-size:13px}
.btn.danger{background:#fff;color:#b3352f;border:1px solid #f0cfcf}

.actions{display:flex;gap:8px;flex-wrap:wrap}

form.stack label{display:block;margin:14px 0 4px;font-size:13px;font-weight:600;color:#374350}
form.stack input,form.stack select,form.stack textarea{
  width:100%;padding:9px 11px;border:1px solid #cfd6de;border-radius:7px;font-size:14px;font-family:inherit}
form.stack textarea{min-height:70px;resize:vertical}
.row{display:flex;gap:16px}
.row>div{flex:1}
.hint{color:var(--muted);font-size:12px;margin-top:3px}

.flash{padding:12px 16px;border-radius:8px;margin-bottom:18px;font-size:14px}
.flash.ok{background:#e2f5e9;color:#1e7d43;border:1px solid #bde5cb}
.flash.err{background:#fde5e5;color:#b3352f;border:1px solid #f2c9c7}

.login-box{max-width:360px;margin:80px auto;background:#fff;border:1px solid var(--line);border-radius:12px;padding:30px}
.login-box h1{text-align:center;color:var(--ink)}
.login-box .brass-rule{width:50px;height:3px;background:var(--brass);margin:6px auto 22px}
