:root {
  --proxpass-primary: #3d73ff;
  --proxpass-primary-hover: #2070fb;
  --proxpass-primary-soft: #eaf0ff;
  --proxpass-accent: #605be5;
  --proxpass-ink: #343f5a;
  --proxpass-muted: #6c7890;
  --proxpass-surface: #ffffff;
  --proxpass-background: #f9fbfd;
  --proxpass-border: #e8edf5;
  --proxpass-success: #16875a;
  --proxpass-warning: #b66a0a;
  --proxpass-danger: #cb3030;
  --proxpass-font: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

* { box-sizing: border-box; }
body { margin: 0; color: var(--proxpass-ink); background: var(--proxpass-background); font-family: var(--proxpass-font); line-height: 1.5; }
a { color: var(--proxpass-primary); text-decoration: none; }
.topbar { min-height: 68px; padding: 0 4vw; display: flex; align-items: center; gap: 32px; background: var(--proxpass-surface); border-bottom: 1px solid var(--proxpass-border); }
.brand { color: var(--proxpass-ink); font-size: 22px; font-weight: 800; letter-spacing: -.7px; white-space: nowrap; }.brand span { color: var(--proxpass-primary); }.brand.large { font-size: 30px; }
.topbar nav { display: flex; flex: 1; gap: 24px; }.topbar nav a { color: var(--proxpass-muted); font-weight: 600; }.topbar nav a:hover { color: var(--proxpass-primary); }
.shell { width: min(1180px, 92vw); margin: 40px auto; }.auth-shell { min-height: 85vh; display: grid; place-items: center; }
.auth-card { width: min(430px, 100%); background: white; border: 1px solid var(--proxpass-border); border-radius: 20px; padding: 36px; box-shadow: 0 20px 60px rgba(52,63,90,.09); }
h1,h2,p { margin-top: 0; } h1 { font-size: clamp(28px,4vw,40px); letter-spacing: -1px; } h2 { font-size: 19px; }
.eyebrow { color: var(--proxpass-primary); font-size: 12px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }.muted { color: var(--proxpass-muted); }
.stack { display: grid; gap: 17px; } label { display: grid; gap: 7px; color: var(--proxpass-ink); font-size: 14px; font-weight: 650; }
input,select { width: 100%; min-height: 45px; padding: 10px 12px; border: 1px solid #ccd5e3; border-radius: 9px; background: white; color: var(--proxpass-ink); font: inherit; } input:focus,select:focus { outline: 3px solid var(--proxpass-primary-soft); border-color: var(--proxpass-primary); }
button,.button { min-height: 42px; padding: 10px 17px; border: 0; border-radius: 9px; background: var(--proxpass-primary); color: white; font: inherit; font-weight: 750; cursor: pointer; display: inline-grid; place-items: center; } button:hover,.button:hover { background: var(--proxpass-primary-hover); color: white; }.secondary { background: var(--proxpass-primary-soft); color: var(--proxpass-primary); }.link-button { background: none; color: var(--proxpass-muted); padding: 8px; }
.page-heading { display: flex; justify-content: space-between; align-items: end; margin-bottom: 25px; }.page-heading h1 { margin-bottom: 0; }
.metrics { display: grid; grid-template-columns: repeat(4,1fr); gap: 16px; margin-bottom: 24px; }.metrics article,.panel { background: white; border: 1px solid var(--proxpass-border); border-radius: 14px; padding: 22px; }.metrics span,.metrics small { display: block; color: var(--proxpass-muted); }.metrics strong { display: block; font-size: 34px; margin-top: 5px; }.success { color: var(--proxpass-success); }
.grid-two { display: grid; grid-template-columns: minmax(270px,340px) 1fr; gap: 20px; align-items: start; }.fields-two { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.table-wrap { overflow-x: auto; } table { width: 100%; border-collapse: collapse; font-size: 14px; } th,td { text-align: left; padding: 13px 10px; border-bottom: 1px solid var(--proxpass-border); vertical-align: middle; } th { color: var(--proxpass-muted); font-size: 12px; text-transform: uppercase; } td small { color: var(--proxpass-muted); display: block; }.empty { color: var(--proxpass-muted); text-align: center; padding: 30px; }
.badge { padding: 4px 9px; border-radius: 99px; color: var(--proxpass-warning); background: #fff4df; font-size: 12px; font-weight: 750; }.badge.active { color: var(--proxpass-success); background: #e5f7ef; }
.alert { padding: 11px 13px; border-radius: 9px; margin-bottom: 16px; }.alert.error { color: var(--proxpass-danger); background: #fff0f0; }.activation { width: min(700px,100%); margin: 70px auto; text-align: center; }.activation-code { margin: 25px 0; padding: 20px; border: 2px dashed var(--proxpass-primary); border-radius: 12px; background: var(--proxpass-primary-soft); color: var(--proxpass-primary); font: 700 clamp(18px,4vw,27px) ui-monospace,monospace; word-break: break-all; }
@media (max-width: 800px) { .topbar { align-items: flex-start; padding: 17px 4vw; flex-wrap: wrap; gap: 12px; }.topbar nav { order: 3; width: 100%; overflow-x: auto; gap: 17px; }.shell { margin-top: 25px; }.metrics { grid-template-columns: 1fr 1fr; }.grid-two { grid-template-columns: 1fr; } }
@media (max-width: 480px) { .metrics { grid-template-columns: 1fr; }.auth-card { padding: 25px; }.fields-two { grid-template-columns: 1fr; } }
