:root{
  --bg:#FDFBF7; --surface:#ffffff; --ink:#333333; --muted:#9a9186;
  --accent:#E2725B; --accent-dark:#CC5500; --gold:#E8C872;
  --olive:#6b7f2e; --brown:#8B4513; --line:#ece5d8;
  --ok:#5c8a52; --warn:#c0392b; --pending:#CC5500;
}
*{box-sizing:border-box}
body{
  margin:0; background:var(--bg); color:var(--ink);
  font-family:'Segoe UI',-apple-system,sans-serif;
  line-height:1.5;
}
a{color:var(--accent-dark);text-decoration:none}
.wrap{max-width:1100px;margin:0 auto;padding:24px 16px}
.topbar{
  display:flex;justify-content:space-between;align-items:center;
  border-bottom:1px solid var(--line);padding-bottom:16px;margin-bottom:22px;
}
.topbar h1{font-size:19px;letter-spacing:.01em;margin:0;color:var(--ink);font-weight:800}
.topbar .tag{color:var(--accent-dark);font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;font-weight:700}
nav.tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:22px}
nav.tabs a{
  padding:9px 15px;border:1px solid var(--line);border-radius:20px;background:var(--surface);
  text-decoration:none;color:var(--ink);font-size:13px;font-weight:600;
  transition:all .18s ease;
}
nav.tabs a:hover{border-color:var(--accent);color:var(--accent-dark)}
nav.tabs a.active{background:var(--accent);color:#fff;border-color:var(--accent)}
.card{
  background:var(--surface);border:1px solid var(--line);border-radius:14px;
  padding:18px;margin-bottom:16px;box-shadow:0 2px 10px rgba(51,51,51,.04);
  transition:box-shadow .2s ease;
}
.card:hover{box-shadow:0 6px 20px rgba(51,51,51,.08)}
.grid{display:grid;gap:14px}
.grid.cols-2{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.grid.cols-3{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}
label{display:block;font-size:11.5px;color:var(--muted);margin:10px 0 4px;text-transform:uppercase;letter-spacing:.05em;font-weight:700}
input,select,textarea{
  width:100%;padding:10px 11px;background:#fffefb;border:1.5px solid var(--line);
  color:var(--ink);border-radius:8px;font-family:inherit;font-size:14px;
  transition:border-color .18s ease;
}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent)}
button,.btn{
  display:inline-block;background:var(--accent);color:#fff;border:none;
  padding:11px 20px;border-radius:22px;font-weight:700;cursor:pointer;
  text-decoration:none;font-family:inherit;font-size:13px;letter-spacing:.02em;
  transition:transform .15s ease, background .18s ease, box-shadow .18s ease;
  box-shadow:0 3px 10px rgba(226,114,91,.3);
}
button:hover,.btn:hover{background:var(--accent-dark)}
button:active,.btn:active{transform:scale(.96)}
button.secondary,.btn.secondary{background:transparent;border:1.5px solid var(--accent);color:var(--accent-dark);box-shadow:none}
button.secondary:hover,.btn.secondary:hover{background:var(--accent);color:#fff}
button.danger,.btn.danger{background:var(--warn);box-shadow:0 3px 10px rgba(192,57,43,.3)}
table{width:100%;border-collapse:collapse;font-size:13px}
th,td{text-align:left;padding:10px 10px;border-bottom:1px solid var(--line)}
th{color:var(--muted);text-transform:uppercase;font-size:10.5px;letter-spacing:.06em;font-weight:700}
tbody tr{transition:background .15s ease}
tbody tr:hover{background:#fbf6ee}
.badge{padding:4px 10px;border-radius:12px;font-size:10.5px;text-transform:uppercase;font-weight:700;letter-spacing:.02em}
.badge.active{background:rgba(107,127,46,.15);color:var(--olive)}
.badge.pending{background:rgba(204,85,0,.14);color:var(--pending)}
.badge.suspended,.badge.expired{background:rgba(192,57,43,.12);color:var(--warn)}
.stat{text-align:center}
.stat .num{font-size:30px;color:var(--accent-dark);font-weight:800}
.stat .lbl{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-weight:700}
.msg{padding:13px 16px;border-left:3px solid var(--accent);background:#fdf3ef;margin-bottom:14px;border-radius:0 8px 8px 0}
