
html[data-theme="caramel"]{
  --bg:#f7efe4; --bg2:#fff9f0; --panel:#fffaf3cc; --panel-solid:#fffaf4; --panel2:#f9ecd8;
  --text:#4b2f1b; --muted:#8a705a; --line:#e8d4b7; --accent:#c57a1f; --accent2:#f1bf73; --accent3:#fff0ce;
  --nav:#fff9ef; --hero1:#fff9f1; --hero2:#f9e5c2; --glow:rgba(214,152,60,.26); --heroText:#4b2f1b;
}

html[data-theme="mocha"]{
  --bg:#19130d; --bg2:#241a10; --panel:#2b2117cc; --panel-solid:#2b2117; --panel2:#33271c;
  --text:#f7ead9; --muted:#bca68f; --line:#55422f; --accent:#d1a06b; --accent2:#f0c88c; --accent3:#4b3521;
  --nav:#1d160f; --hero1:#24180d; --hero2:#46301b; --glow:rgba(211,155,84,.22); --heroText:#fff5e8;
}

html[data-theme="ocean"]{
  --bg:#031223; --bg2:#061a33; --panel:#08223dcc; --panel-solid:#08223d; --panel2:#0c2c4f;
  --text:#eff6ff; --muted:#9fb6cf; --line:#17466f; --accent:#3d7cff; --accent2:#7a5cff; --accent3:#0e2f57;
  --nav:#06172a; --hero1:#06213c; --hero2:#0d3c68; --glow:rgba(54,126,255,.25); --heroText:#f3f7ff;
}

html[data-theme="emerald"]{
  --bg:#031c17; --bg2:#062821; --panel:#0a3028cc; --panel-solid:#0a3028; --panel2:#0d3b31;
  --text:#e9fff8; --muted:#93c0b3; --line:#1d5b4b; --accent:#19c99a; --accent2:#54e1bc; --accent3:#0f4639;
  --nav:#05251e; --hero1:#082e27; --hero2:#0c4f42; --glow:rgba(31,211,163,.22); --heroText:#f2fff9;
}

html[data-theme="classic"]{
  --bg:#090909; --bg2:#12110f; --panel:#181715d8; --panel-solid:#191815; --panel2:#211f1a;
  --text:#f7f1e7; --muted:#b6aa97; --line:#4f4637; --accent:#d9b56f; --accent2:#f6d893; --accent3:#3a3020;
  --nav:#0d0d0c; --hero1:#f5ead7; --hero2:#dcc39c; --glow:rgba(231,192,112,.20); --heroText:#2b2014;
}

html[data-theme="csa"]{
  --bg:#f3f9ff; --bg2:#e7f4ff; --panel:#ffffffdc; --panel-solid:#ffffff; --panel2:#e6f4ff;
  --text:#092748; --muted:#55738f; --line:#bcdcf2; --accent:#087cff; --accent2:#27c7ff; --accent3:#d8f2ff;
  --nav:#f9fcff; --hero1:#edf9ff; --hero2:#a9dcff; --glow:rgba(0,139,255,.24); --heroText:#082847;
}

html[data-theme="rose-blush"]{
  --bg:#fff5f8; --bg2:#ffedf4; --panel:#fffdfedc; --panel-solid:#fffdfd; --panel2:#fff1f6;
  --text:#8b2f53; --muted:#b47893; --line:#f3c7d7; --accent:#f06aa7; --accent2:#ffb6d3; --accent3:#ffe3ee;
  --nav:#fff9fb; --hero1:#ffeaf2; --hero2:#ffd4e5; --glow:rgba(240,106,167,.24); --heroText:#872d50;
}

html[data-theme="volt-yellow"]{
  --bg:#080a0e; --bg2:#10151e; --panel:#151a24dc; --panel-solid:#151a24; --panel2:#202837;
  --text:#f8fbff; --muted:#aab5c6; --line:#354257; --accent:#ffd400; --accent2:#4b8dff; --accent3:#253355;
  --nav:#0c1017; --hero1:#151b26; --hero2:#263d68; --glow:rgba(255,212,0,.22); --heroText:#ffffff;
}

html[data-theme="royal-violet"]{
  --bg:#0b0713; --bg2:#160d25; --panel:#1b112bdc; --panel-solid:#1b112b; --panel2:#291842;
  --text:#fbf7ff; --muted:#bba9cf; --line:#493166; --accent:#965cff; --accent2:#d4afff; --accent3:#382054;
  --nav:#10091b; --hero1:#1b102b; --hero2:#4b2672; --glow:rgba(155,92,255,.26); --heroText:#ffffff;
}

html[data-theme="arctic-blue"]{
  --bg:#04111c; --bg2:#082238; --panel:#0c2940dc; --panel-solid:#0c2940; --panel2:#123952;
  --text:#f4fbff; --muted:#a6c7d9; --line:#28617e; --accent:#4bc5ff; --accent2:#e0f7ff; --accent3:#154863;
  --nav:#061926; --hero1:#0a2d44; --hero2:#237ba3; --glow:rgba(75,197,255,.25); --heroText:#f8fdff;
}

html[data-theme="shadow-gold"]{
  --bg:#07090c; --bg2:#11151a; --panel:#171b20dc; --panel-solid:#171b20; --panel2:#23282f;
  --text:#f6f7f9; --muted:#a8adb5; --line:#444b54; --accent:#f1c232; --accent2:#ffe58a; --accent3:#3d3518;
  --nav:#0c0f13; --hero1:#171b20; --hero2:#3a3f46; --glow:rgba(241,194,50,.22); --heroText:#ffffff;
}

html[data-theme="crimson-web"]{
  --bg:#07111f; --bg2:#0a1930; --panel:#0d203adc; --panel-solid:#0d203a; --panel2:#122d50;
  --text:#f7fbff; --muted:#a9bed6; --line:#274b73; --accent:#e32636; --accent2:#3485ff; --accent3:#351627;
  --nav:#081728; --hero1:#b51226; --hero2:#1769d2; --glow:rgba(227,38,54,.30); --heroText:#ffffff;
}

html[data-theme="reactor-gold"]{
  --bg:#100607; --bg2:#210b0d; --panel:#291012dc; --panel-solid:#291012; --panel2:#3b1718;
  --text:#fff8ef; --muted:#d0aaa0; --line:#653332; --accent:#e83d2f; --accent2:#ffd05a; --accent3:#512119;
  --nav:#18090a; --hero1:#301011; --hero2:#7b2b20; --glow:rgba(255,191,49,.24); --heroText:#fffaf1;
}

html[data-theme="panther-violet"]{
  --bg:#08070d; --bg2:#12101c; --panel:#191623dc; --panel-solid:#191623; --panel2:#252131;
  --text:#f8f7fb; --muted:#b2afbd; --line:#454052; --accent:#7952e8; --accent2:#cdd1dd; --accent3:#302843;
  --nav:#0d0b13; --hero1:#181520; --hero2:#41365c; --glow:rgba(121,82,232,.24); --heroText:#ffffff;
}

html[data-theme="emerald-core"]{
  --bg:#030e09; --bg2:#061c12; --panel:#0a281bdc; --panel-solid:#0a281b; --panel2:#103b28;
  --text:#effff6; --muted:#9bc7ad; --line:#246344; --accent:#10cc69; --accent2:#e8fff2; --accent3:#145333;
  --nav:#05160e; --hero1:#092719; --hero2:#14643c; --glow:rgba(16,204,105,.24); --heroText:#f4fff8;
}
html[data-theme]{--bg-2:var(--bg2);--sidebar:var(--nav);--card:var(--panel);--field:var(--panel2);--gold:var(--accent);--gold-soft:var(--accent3);--blue:var(--accent2);--blue-soft:var(--accent3)}
body{background:linear-gradient(135deg,var(--bg),var(--bg2));color:var(--text)}
.staff-csa-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;margin:0 0 14px;width:100%;font-size:13px}
.staff-csa-toolbar a{color:var(--text);text-decoration:none;font-weight:700}.staff-csa-toolbar label{display:flex;align-items:center;gap:8px}.staff-csa-toolbar select{padding:7px 9px;border:1px solid var(--line);border-radius:10px;color:var(--text);background:var(--field);max-width:180px}
html[data-theme="csa"] .primary-btn,html[data-theme="rose-blush"] .primary-btn,html[data-theme="ocean"] .primary-btn,html[data-theme="royal-violet"] .primary-btn,html[data-theme="arctic-blue"] .primary-btn{color:#fff}
input,select,textarea{color-scheme:dark}html[data-theme="csa"] input,html[data-theme="csa"] select,html[data-theme="rose-blush"] input,html[data-theme="rose-blush"] select,html[data-theme="caramel"] input,html[data-theme="caramel"] select{color-scheme:light}

.login-card{background:var(--panel-solid);border-color:var(--line)}.login-screen{background:linear-gradient(135deg,var(--bg),var(--bg2))}.topbar{flex-wrap:wrap}.topbar>.staff-csa-toolbar{flex:0 0 100%;margin-bottom:0}

/* Semantic colors shared by forms, archives, administration and work tools. */
html[data-theme] {
  --accent-ink:var(--accent); --info:#8acfff; --success:#6de0a5; --danger:#ff9da9;
  --button-bg:var(--accent); --button-text:#101522;
  --field:var(--panel-solid); --shadow:0 12px 38px rgba(0,0,0,.18);
  color-scheme:dark;
}
html[data-theme="csa"] {--muted:#44607b;--accent-ink:#0663ce;--button-bg:#0866d9;--button-text:#fff}
html[data-theme="rose-blush"] {--muted:#855369;--accent-ink:#a12f64;--button-bg:#a73468;--button-text:#fff}
html[data-theme="caramel"] {--muted:#70583f;--accent-ink:#8b5114;--button-bg:#965713;--button-text:#fff}
html[data-theme="csa"],html[data-theme="rose-blush"],html[data-theme="caramel"] {
  --info:#145ead;--success:#147047;--danger:#b4233b;
  --shadow:0 12px 38px rgba(27,55,84,.08);
  color-scheme:light;
}
html[data-theme="ocean"] {--accent-ink:#93b7ff;--button-bg:#3265cb;--button-text:#fff}
html[data-theme="royal-violet"] {--accent-ink:#c9abff;--button-bg:#8151d3;--button-text:#fff}
html[data-theme="panther-violet"] {--accent-ink:#c5acff;--button-text:#fff}
html[data-theme="crimson-web"] {--accent-ink:#ff98a3;--button-text:#fff}
html[data-theme="reactor-gold"] {--accent-ink:#ffad98;--button-bg:#b93026;--button-text:#fff}

body {line-height:1.5;-webkit-font-smoothing:antialiased}
input,select,textarea {color-scheme:inherit;border-color:color-mix(in srgb,var(--muted) 55%,var(--panel-solid));background:var(--field);color:var(--text)}
input::placeholder,textarea::placeholder {color:var(--muted);opacity:1}
input:focus,select:focus,textarea:focus {border-color:var(--accent-ink);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 15%,transparent)}
input[type=checkbox],input[type=radio] {accent-color:var(--button-bg)}
option {color:var(--text);background:var(--panel-solid)}
label, label span {color:var(--text)}
.eyebrow,.user-chip,.badge.gold {color:var(--accent-ink)}
.auth-error,.error-text {color:var(--danger)}
.panel,.copy-card,.gallery-card {background:var(--panel-solid)}
.sidebar {background:var(--nav)}
.nav-item:hover,.nav-item.active {color:var(--accent-ink);border-color:var(--line);background:var(--accent3)}
html[data-theme] .primary-btn,.approve-btn,.scope-floating-form button,.nexa-side-actions .nexa-side-btn-primary {
  background:var(--button-bg);color:var(--button-text);box-shadow:0 6px 18px color-mix(in srgb,var(--accent) 16%,transparent);
}
html[data-theme] .nexa-ai-chat .primary-btn,html[data-theme] .nexa-side-actions .nexa-side-btn-primary {color:var(--button-text);background:var(--button-bg)}
html[data-theme] .nexa-ai-chat {
  --nexa-bg:var(--bg);--nexa-panel:var(--panel-solid);--nexa-panel2:var(--panel2);
  --nexa-text:var(--text);--nexa-muted:var(--muted);--nexa-line:var(--line);
  --nexa-accent:var(--accent-ink);--nexa-accent2:var(--accent2);
  --nexa-user:var(--accent3);--nexa-ai:var(--panel-solid);
  --nexa-field-bg:var(--field);--nexa-field-text:var(--text);--nexa-field-placeholder:var(--muted);
  --nexa-option-bg:var(--panel-solid);--nexa-option-text:var(--text);
  --nexa-primary-text:var(--button-text);--nexa-selection-bg:var(--accent3);--nexa-selection-text:var(--text);
}
.primary-btn:focus-visible,.ghost-btn:focus-visible,.small-btn:focus-visible,a:focus-visible {outline:3px solid var(--accent-ink);outline-offset:3px}
.primary-btn:disabled {transform:none}
.login-card .login-password-toggle {color:var(--accent-ink)}
.table-wrap,.table-container {max-width:100%;overflow-x:auto}
table {color:var(--text)}
th {color:var(--muted)}
td {overflow-wrap:anywhere}
.social-content-status option {color:var(--text);background:var(--panel-solid)}

/* Shared CSA emblem picker. Its menu has its own row, clear of the form. */
.staff-csa-toolbar {display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;width:100%;margin:0 0 26px;padding:0 0 18px;border-bottom:1px solid var(--line);font-size:12px;line-height:1.4}
.staff-csa-toolbar .staff-back-link {display:inline-flex;align-items:center;gap:5px;min-height:36px;color:var(--muted);font-weight:700;text-decoration:none;white-space:nowrap}
.staff-back-link svg {width:19px;height:19px;flex-shrink:0}
.staff-back-link:hover {color:var(--accent-ink)}
.staff-csa-toolbar .staff-theme-control {display:contents}
.staff-csa-toolbar .theme-button {display:inline-flex;align-items:center;justify-content:center;justify-self:end;gap:7px;min-height:40px;min-width:0;width:auto;margin:0;padding:5px 9px;background:var(--panel-solid);color:var(--text);border:1px solid var(--line);border-radius:11px;font-family:inherit;font-size:12px;font-weight:650;line-height:1.4;cursor:pointer;box-shadow:0 4px 12px color-mix(in srgb,var(--text) 4%,transparent)}
.staff-csa-toolbar .theme-button:hover {background:var(--panel2);border-color:var(--accent)}
.staff-csa-toolbar .theme-button #themeLabel {display:inline;white-space:nowrap;font-size:12px}
.staff-csa-toolbar .theme-button .chev {display:inline;margin-left:0;color:var(--muted);font-size:13px;transition:transform .15s ease}
.staff-csa-toolbar .theme-button[aria-expanded=true] .chev {transform:rotate(180deg)}
.staff-csa-toolbar .theme-emblem {--badge:#087cff;--badge2:#27c7ff;position:relative;display:grid;place-items:center;isolation:isolate;width:25px;height:25px;flex:0 0 25px;overflow:hidden;border-radius:50%;border:1px solid color-mix(in srgb,var(--badge) 85%,#fff 10%);background:radial-gradient(circle at 30% 26%,color-mix(in srgb,var(--badge2) 45%,rgba(255,255,255,.28)),transparent 42%),linear-gradient(180deg,color-mix(in srgb,var(--badge) 12%,#20160f),#0b0d12 72%)}
.staff-csa-toolbar .theme-emblem::before {content:"";position:absolute;inset:2px;z-index:0;border-radius:inherit;background:radial-gradient(circle at 30% 20%,rgba(255,255,255,.18),transparent 34%);pointer-events:none}
.staff-csa-toolbar .theme-n-logo {position:relative;z-index:1;display:block;width:80%;height:80%;overflow:visible;transform:translate(-1.5%,.5%)}
.staff-csa-toolbar .theme-menu {display:none;grid-column:1/-1;position:static;width:100%;min-width:0;max-height:min(300px,40vh);overflow-y:auto;overscroll-behavior:contain;margin:0;padding:8px;border:1px solid var(--line);border-radius:16px;background:var(--panel-solid);box-shadow:0 8px 24px color-mix(in srgb,var(--text) 6%,transparent);scrollbar-width:thin;scrollbar-color:var(--accent) transparent}
.staff-csa-toolbar .theme-menu.open {display:block}
.staff-csa-toolbar .theme-option {display:flex;align-items:center;gap:10px;min-height:50px;width:100%;margin:0;padding:8px 10px;border:1px solid transparent;border-radius:12px;background:transparent;color:var(--text);text-align:left;font-family:inherit;cursor:pointer}
.staff-csa-toolbar .theme-option:hover {background:var(--panel2)}
.staff-csa-toolbar .theme-option.active {background:var(--panel2);border-color:var(--line)}
.staff-csa-toolbar .theme-option .theme-emblem {width:32px;height:32px;flex-basis:32px}
.staff-csa-toolbar .theme-copy {display:flex;flex-direction:column;flex:1;min-width:0}
.staff-csa-toolbar .theme-name {font-size:13px;line-height:1.3;font-weight:700;overflow-wrap:anywhere}
.staff-csa-toolbar .theme-sub {display:block;margin-top:2px;color:var(--muted);font-size:10px;line-height:1.4;overflow-wrap:anywhere}
.staff-csa-toolbar .theme-option .check {margin-left:auto;color:var(--accent-ink);font-size:18px;font-weight:900}
.staff-csa-toolbar .theme-button:focus-visible,.staff-csa-toolbar .theme-option:focus-visible {outline:2px solid var(--accent-ink);outline-offset:2px}
.staff-theme-status:empty {display:none}
.staff-csa-toolbar .staff-theme-status {grid-column:1/-1;margin:0;color:var(--muted);font-size:11px}
.staff-theme-status[data-state=error] {color:var(--danger)}
.topbar>.staff-csa-toolbar {flex:0 0 100%;margin-bottom:0;padding:10px 0 16px}

/* Staff sign-in. */
.login-screen {padding:32px 20px;background:radial-gradient(ellipse at 15% 15%,var(--glow),transparent 50%),linear-gradient(140deg,var(--bg),var(--bg2));align-content:center}
.login-card {position:relative;width:min(490px,100%);padding:30px 32px 26px;border:1px solid var(--line);border-radius:24px;box-shadow:0 24px 70px color-mix(in srgb,var(--text) 12%,transparent);overflow:hidden}
.login-card::before {content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--accent),var(--accent2))}
.staff-auth-brand {display:flex;align-items:center;gap:12px;margin-bottom:22px}
.staff-auth-brand .login-logo {width:46px!important;height:46px!important;min-width:46px!important;min-height:46px!important;max-width:46px!important;max-height:46px!important;margin:0}
.staff-auth-brand .login-logo[data-staff-theme-logo] {flex:0 0 46px;object-fit:contain;border-radius:50%;background:transparent;box-shadow:0 4px 14px color-mix(in srgb,var(--accent) 20%,transparent);transition:box-shadow .25s ease}
.staff-auth-brand .eyebrow {margin:0 0 4px;letter-spacing:.12em;font-size:10px;color:var(--accent-ink)}
.staff-auth-brand strong {font-size:14px;font-weight:750;color:var(--text)}
.login-card h1 {font-size:29px;line-height:1.25;letter-spacing:-.7px;margin:0 0 10px}
.login-card .login-desc {font-size:14px;line-height:1.7;margin:0 0 26px;color:var(--muted)}
.login-card>label,.login-card .login-password-group {margin:0 0 18px}
.login-card label span {font-size:13px;font-weight:700;color:var(--text);margin:0 0 8px}
.login-card input {min-height:52px;border-radius:12px;padding:13px 15px;font-size:15px;box-shadow:none}
.login-card .primary-btn {min-height:52px;border-radius:12px;font-size:15px;font-weight:750;margin-top:4px}
.login-card .login-help {margin-top:20px;font-size:12px;text-align:center;line-height:1.65;color:var(--muted)}
.login-card .staff-login-note {display:flex;align-items:flex-start;gap:9px;margin-top:20px;padding-top:16px;border-top:1px solid var(--line);font-size:11px;line-height:1.75;color:var(--muted)}
.staff-login-note svg {width:17px;height:17px;margin-top:2px;flex-shrink:0;color:var(--accent-ink)}
.staff-login-note span {min-width:0}
@media(max-width:600px) {
  .main-panel {padding:18px 14px}
  .staff-csa-toolbar {gap:8px}
  .login-screen {padding:20px 12px}
  .login-card {padding:24px 22px 22px;border-radius:20px}
  .login-card h1 {font-size:26px}
}
/* Dedicated login page: compact brand heading, aligned form and quiet footer. */
body[data-page="login"] .login-screen {min-height:100svh;padding:32px 20px}
.staff-login-card {width:min(490px,100%);padding:30px 32px 28px}
.staff-login-card>.staff-csa-toolbar {margin-bottom:26px;padding-bottom:18px}
.staff-login-card .staff-login-intro {margin-bottom:28px}
.staff-login-card .staff-auth-brand {gap:14px;margin-bottom:16px}
.staff-login-copy {min-width:0;flex:1}
.staff-login-card .eyebrow {margin:0 0 5px;font-size:10px;line-height:1.5;letter-spacing:.15em;font-weight:800}
.staff-login-card h1 {margin:0;font-size:28px;line-height:1.25;letter-spacing:-.65px;overflow-wrap:normal}
.staff-login-card .login-desc {margin:0;font-size:14px;line-height:1.7;text-wrap:pretty}
.staff-login-card>label {margin-bottom:20px}
.staff-login-card .login-password-group {margin-bottom:22px}
.staff-login-card .primary-btn {margin-top:0}
.staff-login-card .login-help {margin-top:16px}
.staff-login-card .staff-network-hint {margin-top:6px;font-size:11px}
.staff-login-card .staff-login-note {margin-top:20px;padding-top:16px}
@media(max-width:600px) {
  body[data-page="login"] .login-screen {padding:20px 14px}
  .staff-login-card {padding:26px 24px 24px;border-radius:22px}
  .staff-login-card>.staff-csa-toolbar {margin-bottom:24px;padding-bottom:16px}
  .staff-login-card .staff-auth-brand {gap:12px;margin-bottom:14px}
  .staff-login-card h1 {font-size:26px;letter-spacing:-.5px}
  .staff-login-card .staff-login-intro {margin-bottom:24px}
}
@media(max-width:380px) {
  body[data-page="login"] .login-screen {padding:16px 12px}
  .staff-login-card {padding:24px 20px 22px}
  .staff-login-card h1 {font-size:24px}
  .staff-login-card .login-desc {font-size:13px}
}
@media(prefers-reduced-motion:reduce) {html{scroll-behavior:auto}*,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}

/* csa-sidebar-logo-4: shared vector emblem, original sidebar dimensions. */
.profile-brand .profile-logo[data-staff-theme-logo] {flex-shrink:0;object-fit:contain;background:transparent;box-shadow:0 4px 14px color-mix(in srgb,var(--accent) 20%,transparent);transition:box-shadow .25s ease;}
