.staff-login { width: min(100% - 32px, 400px); margin: 8vh auto; }
.staff-login h1 { margin-bottom: 24px; }
.staff-login form { display: grid; gap: 12px; }
.staff-login form[hidden] { display: none; }
.staff-login input, .staff-login button { min-height: 44px; width: 100%; }
.staff-login label { margin-top: 8px; }
.staff-login #login-error { color: var(--danger, #b42318); }
.staff-login :focus-visible { outline: 2px solid var(--accent, #2563eb); outline-offset: 3px; }
.staff-login #shadow-detail { white-space: pre-wrap; overflow-wrap: anywhere; }

/* Static CRM entry remains usable before the reference app initializes. */
.shadow-entry-banner { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:8px 24px; align-items:center; margin:20px; padding:24px 28px; border:1px solid #c7d9f8; border-radius:14px; background:#e8f1ff; color:#182033; font:14px/1.5 ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif; }
.shadow-entry-banner h1 { margin:0; font-size:22px; line-height:1.3; }
.shadow-entry-banner p { margin:0; color:#5f687b; }
.shadow-entry-banner a { grid-column:2; grid-row:1 / 3; display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:10px 20px; border-radius:8px; background:#1464e5; color:#fff; font-weight:600; text-decoration:none; white-space:nowrap; }
.shadow-entry-banner a:hover { background:#0a45aa; }
.shadow-entry-banner a:focus-visible { outline:3px solid #0a45aa; outline-offset:4px; }
@media (max-width:600px) { .shadow-entry-banner { grid-template-columns:minmax(0,1fr); margin:12px; padding:20px; } .shadow-entry-banner a { grid-column:1; grid-row:auto; justify-self:start; margin-top:8px; } }

/* Standalone workspace: reuse CRM tokens without loading unserved assets. */
.shadow-workspace { --accent:#1464e5; --accent-strong:#0a45aa; --accent-tint:#e8f1ff; --ink:#182033; --muted:#5f687b; --line:#e4e7ed; --canvas:#f5f6f8; --panel:#fff; color:var(--ink); background:var(--canvas); font:14px/1.5 Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif; margin:0; min-height:100vh; display:grid; grid-template-columns:238px minmax(0,1fr); }
.shadow-workspace *, .shadow-workspace *::before, .shadow-workspace *::after { box-sizing:border-box; }
.shadow-workspace [hidden] { display:none !important; }
.shadow-workspace button, .shadow-workspace input, .shadow-workspace select { font:inherit; }
.shadow-workspace button { cursor:pointer; min-height:40px; border:1px solid var(--line); border-radius:8px; padding:9px 14px; background:var(--panel); color:var(--ink); }
.shadow-workspace button:hover { background:var(--accent-tint); border-color:#c7d9f8; }
.shadow-workspace button:disabled { cursor:wait; opacity:.55; }
.shadow-workspace :focus-visible { outline:3px solid #1464e555; outline-offset:3px; }
.shadow-workspace input, .shadow-workspace select { width:100%; min-height:42px; border:1px solid #ccd3df; border-radius:8px; padding:9px 11px; background:var(--panel); color:var(--ink); }
.shadow-workspace input::placeholder { color:#7b8495; }
.shadow-workspace label { display:block; margin-bottom:6px; font-size:12px; font-weight:600; color:var(--muted); }
.shadow-workspace .shadow-primary { background:var(--accent); color:white; border-color:var(--accent); }
.shadow-workspace .shadow-primary:hover { background:var(--accent-strong); }
.shadow-skip { position:fixed; left:12px; top:-90px; padding:12px; background:var(--panel); z-index:10; }
.shadow-skip:focus { top:12px; }
.shadow-sidebar { display:flex; flex-direction:column; gap:32px; padding:28px 18px; background:#142238; color:#f4f7fb; min-height:100vh; }
.shadow-brand { display:flex; align-items:center; gap:12px; font-size:22px; font-weight:700; letter-spacing:.02em; }
.shadow-brand small { display:block; font-size:11px; font-weight:400; letter-spacing:.04em; color:#a8b8ce; }
.shadow-brand-mark { display:inline-grid; place-items:center; width:38px; height:38px; flex-shrink:0; background:var(--accent); color:white; border-radius:11px; font-size:24px; font-weight:700; }
.shadow-organization { display:grid; gap:5px; padding:0 10px; }
.shadow-organization strong { font-size:15px; }
.shadow-organization > span:last-child { color:#a8b8ce; font-size:13px; }
.shadow-eyebrow { color:var(--muted); font-size:11px; font-weight:600; letter-spacing:.09em; text-transform:uppercase; margin:0 0 8px; }
.shadow-sidebar .shadow-eyebrow { color:#95a8c3; }
.shadow-sidebar nav { display:grid; gap:6px; }
.shadow-sidebar nav button { display:flex; align-items:center; gap:12px; text-align:left; background:transparent; border-color:transparent; color:#cbd5e5; }
.shadow-sidebar nav button span { font-size:19px; width:22px; text-align:center; }
.shadow-sidebar nav button:hover, .shadow-sidebar nav button[aria-current="page"] { background:#233650; color:white; }
.shadow-sidebar nav button[aria-current="page"] { box-shadow:inset 3px 0 var(--accent); }
.shadow-sidebar-note { margin-top:auto; padding:10px; font-size:12px; color:#a8b8ce; }
.shadow-sidebar-note .shadow-environment { background:#233650; color:#d1deee; border-color:#354861; }
.shadow-content { min-width:0; }
.shadow-topbar { min-height:72px; display:flex; align-items:center; justify-content:space-between; gap:16px; padding:16px 32px; border-bottom:1px solid var(--line); background:var(--panel); font-size:13px; }
.shadow-separator { padding:0 9px; color:#98a2b3; }
.shadow-actions { display:flex; gap:8px; }
.shadow-main { width:min(100%,1550px); margin:0 auto; padding:32px; }
.shadow-page-heading { display:flex; justify-content:space-between; align-items:center; gap:16px; margin-bottom:16px; }
.shadow-page-heading h1 { margin:0; font-size:30px; line-height:1.2; letter-spacing:-.03em; }
.shadow-page-heading p:last-child { margin:10px 0 0; color:var(--muted); }
.shadow-environment { display:inline-block; border:1px solid var(--line); background:var(--panel); border-radius:20px; padding:5px 10px; font-size:11px; white-space:nowrap; }
.shadow-status { min-height:24px; margin:0 0 16px; color:var(--muted); }
.shadow-login-card { max-width:440px; margin:32px auto; padding:32px; border:1px solid var(--line); border-radius:16px; background:var(--panel); box-shadow:0 12px 40px #14223808; }
.shadow-login-card h2 { font-size:24px; margin:18px 0 6px; }
.shadow-login-card > p { color:var(--muted); }
.shadow-login-card form { display:grid; gap:10px; margin-top:24px; }
.shadow-login-card form label { margin:6px 0 -4px; }
.shadow-login-card form button { margin-top:8px; }
.shadow-muted { color:var(--muted); font-size:12px; }
.shadow-panel { background:var(--panel); border:1px solid var(--line); border-radius:14px; overflow:hidden; padding:24px; }
.shadow-panel-heading { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:20px; }
.shadow-panel-heading h2 { margin:0; font-size:17px; }
.shadow-search { display:grid; grid-template-columns:minmax(180px,2fr) repeat(2,minmax(130px,1fr)) minmax(110px,1fr); gap:14px; padding:18px; background:#f8faff; border:1px solid #e8eef7; border-radius:10px; }
.shadow-search-query { grid-column:span 2; }
.shadow-search-actions { display:flex; gap:8px; align-items:end; grid-column:span 2; }
.shadow-table-tools { display:flex; justify-content:space-between; align-items:end; gap:16px; margin:24px 0 12px; }
.shadow-table-tools > div { width:min(100%,310px); }
.shadow-table-scroll { overflow-x:auto; border:1px solid var(--line); border-radius:9px; }
.shadow-table { width:100%; border-collapse:collapse; font-size:13px; }
.shadow-table th { padding:12px 14px; background:#f8f9fb; color:var(--muted); font-size:11px; font-weight:600; text-align:left; white-space:nowrap; }
.shadow-table td { padding:14px; border-top:1px solid var(--line); vertical-align:top; max-width:310px; min-width:95px; overflow-wrap:anywhere; }
.shadow-table td:nth-child(2) { text-align:right; font-variant-numeric:tabular-nums; white-space:nowrap; font-weight:600; }
.shadow-table td:nth-child(3) { color:var(--muted); font-variant-numeric:tabular-nums; }
.shadow-table tbody tr:hover { background:#fafcff; }
.shadow-table small { display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; color:var(--muted); font-size:12px; margin-top:4px; }
.shadow-table button { min-height:32px; padding:5px 10px; font-size:12px; color:var(--accent); }
.shadow-cash-leg { display:block; white-space:nowrap; font-variant-numeric:tabular-nums; }
.shadow-pagination { display:flex; justify-content:space-between; align-items:center; gap:12px; margin-top:18px; }
.shadow-empty { text-align:center; padding:32px 16px; color:var(--muted); }
.shadow-detail { margin-top:24px; padding-top:24px; border-top:1px solid var(--line); }
.shadow-detail h3 { margin:0 0 18px; font-size:18px; }
.shadow-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px 24px; margin:0; }
.shadow-fields > div { min-width:0; }
.shadow-fields dt { color:var(--muted); font-size:12px; margin-bottom:4px; }
.shadow-fields dd { margin:0; white-space:pre-wrap; overflow-wrap:anywhere; }
.shadow-technical { margin-top:24px; color:var(--muted); font-size:12px; }
.shadow-technical summary { cursor:pointer; padding:8px 0; }
.shadow-technical pre, .shadow-originals-list pre { white-space:pre-wrap; overflow-wrap:anywhere; font:12px/1.6 ui-monospace,monospace; }
.shadow-originals-list article { border-top:1px solid var(--line); padding:20px 0; }
.shadow-originals-list h2 { font-size:15px; overflow-wrap:anywhere; }
@media (max-width:1100px) { .shadow-workspace { grid-template-columns:205px minmax(0,1fr); } .shadow-main { padding:24px; } .shadow-search { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:720px) {
  .shadow-workspace { display:block; } .shadow-sidebar { min-height:auto; gap:18px; padding:18px; } .shadow-organization { padding:0; }
  .shadow-sidebar nav { display:flex; flex-wrap:wrap; } .shadow-sidebar nav button { flex:1 1 auto; font-size:12px; } .shadow-sidebar-note { display:none; }
  .shadow-topbar { padding:12px 18px; flex-wrap:wrap; min-height:60px; } .shadow-main { padding:22px 16px; } .shadow-page-heading { align-items:start; }
  .shadow-page-heading h1 { font-size:26px; } .shadow-page-heading > .shadow-environment { display:none; } .shadow-panel { padding:16px; }
  .shadow-panel-heading, .shadow-table-tools { align-items:start; flex-direction:column; } .shadow-search { padding:12px; }
  .shadow-search-query, .shadow-search-actions { grid-column:1/-1; } .shadow-fields { grid-template-columns:1fr; } .shadow-login-card { padding:24px; margin:24px auto; }
}
