:root {
  --ink: #101114;
  --muted: #74767c;
  --canvas: #f7f7f6;
  --surface: #ffffff;
  --line: #e4e4e2;
  --forest: #111214;
  --forest2: #26272a;
  --lime: #dedede;
  --green: #17181a;
  --green-bg: #f0f0ef;
  --amber: #47484d;
  --amber-bg: #f2f2f1;
  --red: #17181a;
  --red-bg: #ededec;
  --blue: #17181a;
  --shadow: 0 14px 38px rgba(0, 0, 0, .07);
}

body { background: var(--canvas); }
/* Only the hidden attribute owns screen visibility. Body classes from an
   older cached script must not hide both the login and the workspace. */

/* Login: dark editorial panel and a quiet white sign-in side. */
.auth-shell { min-height: 100vh; display: grid; place-items: stretch; grid-template-columns: minmax(540px, 54%) 1fr; background: #fff; }
.auth-visual { position: relative; display: grid; place-items: center; overflow: hidden; color: #b2b2b5; background: radial-gradient(circle at 70% 90%, #27282c 0, transparent 43%), linear-gradient(145deg, #16171a, #202125); }
.auth-visual-logo { z-index: 1; display: grid; place-items: center; width: 104px; height: 104px; padding: 11px; border-radius: 24px; background: #fff; box-shadow: 0 20px 48px rgba(0,0,0,.28); }
.auth-visual-logo img { display: block; width: 100%; height: 100%; object-fit: cover; border-radius: 15px; }
.auth-visual > p { position: absolute; left: 34px; bottom: 27px; margin: 0; color: #a5a5a8; font: 700 10px ui-monospace, SFMono-Regular, Menlo, monospace; letter-spacing: 2px; }
.auth-orbit { position: absolute; width: 420px; height: 420px; border: 1px solid rgba(255,255,255,.09); border-radius: 50%; }
.auth-orbit-one { transform: translate(-12px, -10px); }
.auth-orbit-two { width: 340px; height: 340px; transform: translate(-26px, -20px); border-color: rgba(255,255,255,.08); }
.auth-orbit-three { width: 294px; height: 294px; transform: translate(23px, 58px); border-color: rgba(255,255,255,.055); }
.auth-panel { display: grid; place-items: center; padding: 48px 30px; background: #fff; }
.auth-card { width: min(390px, 100%); padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
.auth-brand-lockup { display: flex; align-items: center; gap: 9px; margin-bottom: 44px; }
.auth-brand-lockup b { color: #101114; font: 800 15px Inter, "Segoe UI", sans-serif; letter-spacing: -.45px; }
.auth-mark, .brand-mark { display: grid; place-items: center; padding: 0; overflow: hidden; background: #fff; }
.auth-mark { width: 29px; height: 29px; margin: 0; border: 1px solid #e4e4e2; border-radius: 8px; box-shadow: none; }
.auth-mark img, .brand-mark img { display: block; width: 100%; height: 100%; object-fit: cover; }
.auth-card .eyebrow { margin-bottom: 9px; color: #8b8d92; letter-spacing: 1.45px; }
.auth-card h1 { margin-bottom: 9px; color: #16171a; font-size: 27px; letter-spacing: -.75px; }
.auth-card .muted { font-size: 12px; }
.auth-card form { gap: 15px; margin-top: 27px; }
/* Author component rules must never override native hidden state. */
[hidden] { display: none !important; }
.auth-card label, .field { color: #37383c; }
.auth-card input, .field input, .field select, .control select { border-color: #e1e1df; background: #fff; color: #101114; }
.auth-card input:focus, .field input:focus, .field select:focus, .control select:focus { border-color: #111214; box-shadow: 0 0 0 3px rgba(17,18,20,.09); }
.primary, button.primary { border-color: #111214; background: #111214; color: #fff; }
.primary:hover, button.primary:hover { border-color: #35363a; background: #35363a; }
.form-message { color: #26272a; }
.auth-retry { display: inline-block; margin-top: 8px; color: #74767c; font-size: 12px; }
.auth-card :disabled { opacity: .55; cursor: not-allowed; }

/* Workspace: monochrome navigation, controls, cards and alerts. */
.sidebar { background: #111214; color: #d9d9da; }
.brand-mark { width: 38px; height: 38px; border-radius: 11px; }
.sidebar .nav-item { color: #b9b9bd; }
.sidebar .nav-item span { color: #d7d7d9; }
.sidebar .nav-item.active { color: #111214; background: #fff; box-shadow: 0 7px 20px rgba(0,0,0,.2); }
.sidebar .nav-item.active span { color: #111214; }
.sidebar .nav-item:hover:not(.active) { background: rgba(255,255,255,.1); color: #fff; }
.sidebar .nav-label, .sidebar .brand-lockup small, .sidebar-user small { color: #85858a; }
.sidebar .sidebar-bottom, .sidebar-user { border-top-color: rgba(255,255,255,.12); }
.avatar { background: #fff; color: #111214; }
.nav-count { background: #fff; color: #111214; }
.topbar { background: rgba(255,255,255,.93); }
.data-status { color: #202124; background: #f0f0ef; }
.tab.active { color: #111214; border-color: #111214; }
.outline:hover { color: #111214; border-color: #aaa; background: #f5f5f4; }
.text-button, .page-kicker, .eyebrow { color: #37383c; }
.store-card .store-initial { color: #fff; background: #111214; }
.brand-chip { color: #25262a; background: #ededec; }
.status-dot.CONNECTED, .status-dot.ERROR, .status-dot.CONFIGURING { background: #202124; }
.attention:hover { border-color: #a9a9a7; }
.attention-dot, .attention.warning .attention-dot, .attention.info .attention-dot { background: #202124; }
.badge.UNASSIGNED, .badge.NEW, .badge.PENDING_APPROVAL, .badge.IN_PROGRESS, .badge.APPROVED, .badge.RESOLVED, .badge.REJECTED, .badge.CRITICAL { color: #25262a; background: #ededec; }
.rule-sign, .rule-sign.penalty { color: #fff; background: #17181a; }
.toast { background: #17181a; }

@media (max-width: 850px) {
  .auth-shell { display: block; background: #fff; }
  .auth-visual { display: none; }
  .auth-panel { min-height: 100vh; padding: 36px 24px; }
  .auth-brand-lockup { margin-bottom: 38px; }
}
