:root{
  --red:#C8102E; --ink:#20242A; --steel:#5B6470; --bg:#F2F3F4; --panel:#FFFFFF; --line:#DFE2E5;
  --ok:#2F7A4C; --ok-bg:#E9F4EC; --danger:#B23A22; --danger-bg:#FBEDE8; --amber:#C97A1A;
  --font-display:'Oswald','Arial Narrow',sans-serif; --font-body:'Inter',system-ui,sans-serif; --font-mono:'IBM Plex Mono','Courier New',monospace;
}
*{box-sizing:border-box;}
body{margin:0;background:var(--bg);font-family:var(--font-body);color:var(--ink);}
a{color:inherit;}
.wrap{max-width:920px;margin:0 auto;padding:0 20px;}
.page{padding-top:22px;padding-bottom:60px;}

.topbar{background:var(--ink);}
.topbar-inner{display:flex;align-items:center;justify-content:space-between;padding:14px 0;}
.brand{display:flex;align-items:center;gap:10px;font-family:var(--font-display);font-size:18px;color:#fff;letter-spacing:.02em;}
.topbar-user{display:flex;align-items:center;gap:14px;font-size:12px;color:rgba(255,255,255,.75);}
.topbar-user em{color:var(--red);font-style:normal;font-weight:700;}
.topbar-user a{color:rgba(255,255,255,.75);text-decoration:none;}
.topbar-user a:hover{text-decoration:underline;}

.tabs{display:flex;gap:4px;margin-top:18px;border-bottom:1.5px solid var(--line);}
.tab-btn{display:inline-flex;align-items:center;gap:6px;padding:10px 16px;text-decoration:none;font-family:var(--font-display);font-size:15px;letter-spacing:.02em;color:var(--steel);border-bottom:2.5px solid transparent;margin-bottom:-1.5px;}
.tab-btn.active{color:var(--red);border-bottom:2.5px solid var(--red);}

.card{background:var(--panel);border:1px solid var(--line);border-radius:8px;}
.row{display:flex;align-items:center;justify-content:space-between;}
.grid3{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;}
.stat{padding:20px;}
.stat-label{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--steel);font-weight:700;}
.stat-value{font-family:var(--font-mono);font-size:30px;font-weight:700;margin-top:8px;}

.btn{display:inline-flex;align-items:center;gap:6px;border:none;border-radius:6px;font-weight:700;font-size:13px;padding:9px 16px;cursor:pointer;text-decoration:none;}
.btn-red{background:var(--red);color:#fff;}
.btn-ink{background:var(--ink);color:#fff;}
.btn-ok{background:var(--ok);color:#fff;}
.btn-danger{background:var(--danger);color:#fff;}
.btn-outline{background:none;border:1px solid var(--line);color:var(--ink);font-weight:600;}
.btn-outline-danger{background:none;border:1px solid var(--danger);color:var(--danger);}
.btn-sm{padding:6px 10px;font-size:12px;}

label.field-label{font-size:11px;color:var(--steel);font-weight:700;text-transform:uppercase;display:block;margin-bottom:4px;}
.input, select.input{width:100%;padding:8px;border-radius:5px;border:1px solid var(--line);font-family:var(--font-body);}
.input-mono{font-family:var(--font-mono);}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.span2{grid-column:1/-1;}

.stamp{display:inline-block;font-family:var(--font-mono);font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:3px 9px;border-radius:3px;transform:rotate(-2deg);}
.stamp-ok{border:1.5px solid var(--ok);color:var(--ok);background:var(--ok-bg);}
.stamp-bad{border:1.5px solid var(--danger);color:var(--danger);background:var(--danger-bg);}

.list-row{padding:12px 16px;border-top:1px solid var(--line);}
.list-row:first-child{border-top:none;}
.muted{color:var(--steel);font-size:11px;}
.name{font-weight:600;font-size:14px;}

.notice-danger{background:var(--danger-bg);border:1px solid var(--danger);border-radius:6px;padding:12px;}
.notice-danger .title{display:flex;align-items:center;gap:8px;color:var(--danger);font-weight:700;font-size:14px;}
.notice-danger p{font-size:13px;color:var(--ink);line-height:1.5;margin:8px 0 0;}

.section-title{font-family:var(--font-display);font-size:16px;letter-spacing:.02em;margin-bottom:10px;}
.alert-error{background:var(--danger-bg);border:1px solid var(--danger);color:var(--danger);border-radius:6px;padding:10px 14px;font-size:13px;margin-bottom:14px;}
.alert-ok{background:var(--ok-bg);border:1px solid var(--ok);color:var(--ok);border-radius:6px;padding:10px 14px;font-size:13px;margin-bottom:14px;}

table.plain{width:100%;border-collapse:collapse;}
table.plain td{padding:10px 16px;border-top:1px solid var(--line);font-size:13px;}
table.plain tr:first-child td{border-top:none;}

@media print{
  .no-print{display:none !important;}
  .print-area{position:absolute;top:0;left:0;width:100%;padding:0;}
  body{background:#fff;}
}
