:root {
  color: #f5f1e7;
  background: #090a09;
  --blue: #d4b46a;
  --blue-dark: #bd9347;
  --line: rgba(230, 208, 158, .17);
  --muted: #aaa69d;
  --danger: #d86c72;
}
body {
  color: #f5f1e7;
  background:
    radial-gradient(circle at 8% 4%, rgba(190,150,72,.11), transparent 28rem),
    linear-gradient(rgba(223,189,114,.025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(223,189,114,.025) 1px, transparent 1px),
    #090a09;
  background-size: auto, 64px 64px, 64px 64px, auto;
}
.topbar { border-color: var(--line); background: rgba(9,10,9,.9); backdrop-filter: blur(18px); }
.brand { color: #f5f1e7; }
.back-link, footer { color: #85817a; }
.back-link:hover, footer a, .agreement a { color: #d4b46a; }
.intro-card, .panel, .portal-card {
  border-color: var(--line);
  color: #f5f1e7;
  background: linear-gradient(145deg, #1a1b18, #11120f);
  box-shadow: 0 24px 70px rgba(0,0,0,.4);
}
.intro-card {
  background: radial-gradient(circle at 20% 0, rgba(212,180,106,.18), transparent 19rem), linear-gradient(150deg,#1b1b17,#10110e);
}
.intro-card .pill { color: #dfbd72; border-color: rgba(223,189,114,.45); }
.intro-card p, .intro-card ol { color: #aaa69d; }
.privacy-note { border-color: var(--line); }
.tabs, .role-tabs { background: #0d0e0c; }
.tabs button, .role-tabs button { color: #8d8981; }
.tabs button.active, .role-tabs button.active {
  color: #e5c77e; background: #20211d; box-shadow: inset 0 0 0 1px rgba(223,189,114,.22);
}
.subtext, label, .application p, .loading, .empty, .subscription-message { color: var(--muted); }
input, select, textarea {
  color: #f5f1e7; background: #0d0e0c; border-color: rgba(230,208,158,.22);
}
input:focus, select:focus, textarea:focus { border-color: #d4b46a; outline: 3px solid rgba(212,180,106,.12); }
option { color: #f5f1e7; background: #151613; }
.primary { color: #17140e; background: linear-gradient(135deg,#ead08f,#c99f4f); }
.primary:hover { background: linear-gradient(135deg,#f1dda8,#d5ad5d); }
.secondary { color: #d9d3c7; background: #252620; border: 1px solid var(--line); }
.danger { color: #e9898e; background: rgba(189,52,61,.13); }
.message { color: #dfc27a; background: rgba(212,180,106,.1); border: 1px solid rgba(212,180,106,.18); }
.message.error { color: #e9898e; background: rgba(189,52,61,.13); }
.portal-service-gate { color: #d6b96f; }
.entitlement-card, .subscription-card, .employee-service-status, .group-region-manager {
  border-color: var(--line); background: linear-gradient(140deg,#191a17,#11120f);
}
.entitlement-card.status-expired, .entitlement-card.status-unavailable, .entitlement-card.status-inactive,
.employee-service-status.unavailable { border-color: rgba(216,108,114,.3); background: #171111; }
.entitlement-card.status-pending_activation, .entitlement-card.status-pending, .subscription-blocked {
  border-color: rgba(212,180,106,.34); background: #18160f;
}
.entitlement-count { color: #d4b46a; background: rgba(212,180,106,.1); }
.entitlement-module, .subscription-module, .application { color: #f5f1e7; background: #11120f; border-color: var(--line); }
.module-state.available { color: #9dcca3; background: rgba(67,125,76,.18); }
.module-state.unavailable { color: #d6b96f; background: rgba(212,180,106,.1); }
.gift-notifications { border-color: var(--line); }
.gift-notice { color: #d9d3c7; background: rgba(212,180,106,.08); }
.gift-notice span, .gift-notice small { color: #8d8981; }
.group-registration-entry { color: #aaa69d; border-color: rgba(212,180,106,.34); }
.group-registration-entry strong { color: #e2c47c; }
.identity-tail { color: #dfc27a; background: rgba(212,180,106,.12); }
.empty { border-color: var(--line); }
