@import url('https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@500;600;700&family=IBM+Plex+Sans:wght@400;500;600&display=swap');
:root{
  --ink:#20221f; --ink-soft:#54564f; --paper:#eeeae1; --surface:#faf8f3; --line:rgba(32,34,31,0.14);
  --green:#1f4a3d; --green-soft:#e4ece8; --rust:#b85c28; --rust-soft:#f4e4d6;
  --steel:#3e6a8a; --steel-soft:#e2ebf1; --gold:#b9922c; --gold-soft:#f3ebd6;
  --grey:#8a8a82; --grey-soft:#e9e8e3; --red:#a13b2f; --brand:#141414;
}
*{box-sizing:border-box;}
body{margin:0;font-family:'IBM Plex Sans',-apple-system,sans-serif;background:var(--paper);color:var(--ink);font-size:14px;line-height:1.5;}
h1,h2,h3{font-family:'Space Grotesk',sans-serif;font-weight:600;margin:0;}
button{font-family:inherit;font-size:inherit;cursor:pointer;}
input,select,textarea{font-family:inherit;font-size:inherit;}
.app{display:flex;min-height:100vh;}
.sidebar{width:220px;flex-shrink:0;background:var(--brand);color:#fff;padding:24px 16px;display:flex;flex-direction:column;gap:24px;}
.sidebar .brand{display:flex;flex-direction:column;align-items:center;text-align:center;}
.sidebar .brand-card{background:#fff;border-radius:6px;padding:12px 16px;}
.sidebar .brand-card img{display:block;width:168px;height:auto;}
.sidebar .brand-sub{font-size:13px;font-weight:600;color:var(--gold);letter-spacing:3.5px;text-transform:uppercase;margin-top:10px;}
.sidebar .name{font-size:18px;color:#fff;}
.sidebar .hint{color:#fff;}
.nav button{display:block;width:100%;text-align:left;background:none;border:none;color:#fff;padding:9px 10px;border-radius:3px;font-size:13.5px;margin-bottom:2px;font-weight:500;}
.nav button:hover{background:rgba(255,255,255,0.1);}
.nav button.active{background:rgba(255,255,255,0.18);color:#fff;font-weight:600;}
.main{flex:1;padding:30px 36px;}
.btn{border:1px solid var(--ink);background:var(--ink);color:var(--surface);padding:8px 14px;border-radius:3px;font-weight:500;font-size:13px;}
.btn.secondary{background:transparent;color:var(--ink);border:1px solid var(--line);}
.btn.small{padding:5px 10px;font-size:12px;}
.panel{background:var(--surface);border:1px solid var(--line);border-radius:4px;padding:20px;margin-bottom:16px;}
.field{margin-bottom:14px;}
.field label{display:block;font-size:12px;color:var(--ink-soft);margin-bottom:5px;}
.field input,.field select,.field textarea{width:100%;padding:8px 10px;border:1px solid var(--line);border-radius:3px;background:#fff;}
table{width:100%;border-collapse:collapse;}
th{text-align:left;font-size:11.5px;color:var(--ink-soft);padding:8px 10px;border-bottom:1px solid var(--line);}
td{padding:9px 10px;border-bottom:1px solid var(--line);font-size:13px;}
.tag{display:inline-block;font-size:11px;padding:2px 8px;border-radius:9px;background:var(--grey-soft);}
.tag.up{background:var(--green-soft);color:var(--green);}
.tag.down{background:var(--rust-soft);color:var(--rust);}
.tag.flag{background:var(--gold-soft);color:var(--gold);}
.stat-card{background:var(--surface);border:1px solid var(--line);border-radius:4px;padding:16px;flex:1;min-width:170px;}
.stat-card .value{font-size:24px;font-weight:700;font-family:'Space Grotesk',sans-serif;}
.stat-card .label{font-size:11.5px;color:var(--ink-soft);margin-top:2px;}
.hint{font-size:11.5px;color:var(--ink-soft);}
.error{color:var(--red);font-size:13px;margin-top:8px;}
.login-wrap{display:flex;align-items:center;justify-content:center;min-height:100vh;background:var(--brand);}
.login-box{background:var(--surface);border:1px solid var(--line);border-radius:6px;padding:32px;width:320px;}
.login-brand{display:flex;flex-direction:column;align-items:center;text-align:center;margin-bottom:24px;}
.login-brand-card{background:#fff;border-radius:8px;padding:16px 26px;box-shadow:0 1px 3px rgba(0,0,0,0.15);}
.login-brand-card img{display:block;width:230px;height:auto;}
.login-brand-sub{font-size:16px;font-weight:600;color:var(--gold);letter-spacing:5px;text-transform:uppercase;margin-top:14px;}
