/* Private staff portal only. Loaded last by templates/staff/portal.html.
   Approved darker red golden: artifacts/staff-portal-20261026/approved/
   staff-metal-style-3-20261028.html. Company and public recipient pages do not load this file.
   Static material only. Document previews and vendor identity retain their own light surfaces. */
:root {
  color-scheme: dark;
  --ink: #fff4f7;
  --muted: #fff4f7;
  --line: #76142d;
  --teal: #fff0ff;
  --soft: #25202b;
  --green: #e8ffef;
  --bg: #a4142d;
  --red: #fff4f7;
  --surface: #b81831;
  --purple: #dfb5ff;
  --staff-metal-grain: repeating-linear-gradient(0deg,#19030b06 0px,#19030b06 1px,transparent 1px,transparent 3px);
  --staff-metal-main: linear-gradient(112deg,#b71932 0%,#d01c35 22%,#a4142d 49%,#c51b34 74%,#960e27 100%);
  --staff-metal-pane: linear-gradient(125deg,#c51b34 0%,#d91731 23%,#b81831 53%,#bd1832 76%,#980e28 100%);
  --staff-metal-list: linear-gradient(115deg,#b71932 0%,#c51b34 31%,#ad152e 65%,#8e0b25 100%);
  --staff-metal-black: linear-gradient(110deg,#25202b,#09090e);
}
body {
  font: 13px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  color: var(--ink);
  background: #090b0e;
  -webkit-font-smoothing: antialiased;
}
h1 {font-size:25px;letter-spacing:-.7px;font-weight:650}
h2 {font-size:17px;letter-spacing:-.25px}
h3 {font-size:14px}
p {line-height:1.6}
.shell {grid-template-columns:184px minmax(0,1fr)}
.main {padding:0 28px 32px;background:var(--staff-metal-grain),var(--staff-metal-main)}
.heading {min-height:94px}
.heading p {margin-top:7px}
.side {
  padding:23px 12px;
  color:#bec2cd;
  background:linear-gradient(110deg,#353d46 0%,#0c1015 23%,#06080c 72%,#242c35 100%);
  border-right:1px solid #a8b1bc;
  box-shadow:inset -1px 0 #000,inset 1px 0 #c5cfd822;
}
.side:before {content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#9e0017,#ff1426 34%,#ff6d7a 58%,#c7001e 83%,#250d17)}
.brand,.auth-brand {display:flex;align-items:center;gap:9px;white-space:nowrap}
.brand {font-size:17px;letter-spacing:-.5px;font-weight:650;padding:0 6px;color:#f1f2f6}
.brand-sigil {width:24px;height:29px;flex:none;filter:drop-shadow(0 1px 1px #000)}
.staff {font-size:11px;letter-spacing:1.1px;text-transform:uppercase;color:#c0a8dc;padding:5px 6px 28px 39px;white-space:nowrap}
.side nav {gap:4px}
.nav {padding:9px 11px;min-height:39px;line-height:19px;border:1px solid transparent}
.nav[aria-current=page] {background:linear-gradient(110deg,#ff4050,#ff1426);border-color:#ff7280;color:#09080a;box-shadow:inset 2px 0 #ffbac1,inset 0 1px #fff7,inset 0 -1px #9e001b66,0 1px 2px #0002;font-weight:600}
.side a.nav:hover {border-color:#ad819d;color:#fff}
.side a.nav[aria-current=page]:hover {color:#09080a;background:linear-gradient(#ff6472,#ff3447)}
.side a.nav:active {background:#0b0b11}
.side a.nav[aria-current=page]:active {background:#ff1426;color:#09080a}
.side-foot {padding:18px 10px 0;border-color:#44424d;color:#c7c1cf;line-height:1.8}
.nav-logout {color:#d1b9ee}
.workspace-bar {margin:0 -28px;padding:13px 28px;background:linear-gradient(110deg,#1a1b21,#030508 48%,#18131f);color:#cbd2dc;border-bottom:1px solid #ae8cc9;box-shadow:0 1px #0a0d12;font-size:11px;letter-spacing:.1px}
.workspace-bar>span:first-child {color:#e1e5ec}
.eyebrow,.small,.caption,.muted,.heading p,.company-sub,.read-only-tag,label {color:var(--muted)}
.small {font-size:12px;line-height:1.5}
.company-title-line {gap:13px}
.company-tabs {margin-bottom:20px}
.company-tabs button {font-size:13px;font-weight:500;padding:10px 0;color:var(--ink)}
.company-tabs button[aria-selected=true] {color:var(--teal);border-color:var(--purple)}
.company-tabs button:hover {color:#fff;border-bottom-color:#ead0ff}
.btn {
  min-height:36px;padding:7px 12px;font-size:13px;line-height:20px;font-weight:550;
  color:#ead7ff;background:linear-gradient(#302636,#09090e);border:1px solid #5f426f;
  box-shadow:inset 0 1px #c6a3df44,0 1px 3px #43051b55;
  transition:background .12s,border-color .12s,box-shadow .12s;
}
.btn:hover {background:linear-gradient(#44344e,#19131f);border-color:#805894;color:#f6eaff}
.btn:active {background:#08090d;color:#ead7ff;box-shadow:inset 0 2px 3px #0009}
.primary {background:linear-gradient(#302636,#09090e);color:#ead7ff;border-color:#8d629b}
.link,a {color:var(--teal);text-underline-offset:3px}
.link {padding:4px 0;min-height:30px;line-height:1.5;text-decoration-color:#fff0ff99;transition:color .12s,text-decoration-color .12s}
.link:hover,a:hover {color:#fff;text-decoration-color:currentColor}
.link:active {color:#fff0ff}
button:disabled,.btn[aria-disabled=true] {opacity:.6;cursor:not-allowed}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible,.options label:has(input:focus-visible) {outline:2px solid #ebcaff;outline-offset:3px}
h1:focus,h2:focus,h3:focus {outline:2px solid #ebcaff;outline-offset:5px}
input:not([type=checkbox]):not([type=radio]),select,textarea {
  min-height:36px;padding:7px 10px;color:#f1f3f6;border:1px solid #995263;
  background:linear-gradient(#0a0d11,#171d24);box-shadow:inset 0 1px 3px #0006;border-radius:4px;
}
input:not([type=checkbox]):not([type=radio]):hover,select:hover,textarea:hover {border-color:#c49aac}
input:not([type=checkbox]):not([type=radio]):focus,select:focus,textarea:focus {border-color:#d6b2f2}
input::placeholder,textarea::placeholder {color:#adb2bf;opacity:1}
input[type=checkbox],input[type=radio] {accent-color:#dfb5ff}
select option {background:#17121e;color:#f1f3f6}
.panel,.metrics,.staff-texting-layout {
  background:var(--staff-metal-grain),var(--staff-metal-pane);color:var(--ink);
  border-color:#b72a40;border-radius:6px;
  box-shadow:inset 0 1px #ed425833,0 0 0 1px #420b18,0 12px 30px #3d001b44,0 2px 5px #16000b66;
}
.section-title,.dialog-head,.review-actions,.footer-action {background:var(--staff-metal-black);color:var(--ink);border-color:#5a365b}
.section-title {padding:15px 22px}
.section-title h2 {font-size:15px}
.registry,.pad,.connection-card,.billing-detail,.accounts-editor,.accounts-secret,.accounts-service,.security-panel,.staff-texting,.recovery-step {font-size:13px}
.metrics .metric {padding:20px 22px}
.metric strong {font-size:28px}
.info-line {background:transparent;color:var(--muted)}
th {padding:11px 17px;background:var(--staff-metal-black);color:#ead7ff}
td {padding:16px 17px;font-size:13px;border-color:var(--line)}
.table-link {font-size:13px}
.company-name-link {color:var(--teal)}
.badge,.neutral,.draft {padding:2px 7px;line-height:18px;font-size:11px;background:linear-gradient(#302139,#120c19);border:1px solid #795083;color:#e9d2fa;box-shadow:inset 0 1px #b482cb33}
.options {background:var(--staff-metal-black)}
.options label:has(input:checked) {background:#3c2b46;color:#f1e2ff;box-shadow:inset 0 1px #ffffff15}
.options label {color:#f1e2ff}
.form-section,.number,.optional-block {border-color:var(--line)}
.note,.auth-notice {border-color:#dfb5ff;color:var(--muted)}
.review-sheet {background:var(--staff-metal-grain),var(--staff-metal-pane);color:var(--ink);border-color:#d84f6b}
.review-sheet::backdrop {background:#040508b3}
.recipient {background:var(--staff-metal-black);color:var(--ink);border-color:#6c4778}
.close {color:#ead7ff}
.toast {background:#17111f;color:#f1e2ff;border:1px solid #b793d0;box-shadow:0 4px 20px #0005}
.skip {background:#17111f;color:#f1e2ff;border:1px solid #b793d0;border-radius:4px}
.error:not(:empty),.message.error:not(:empty) {color:#fff4f7;background:#380b1a;border-left:2px solid #ff7e95;padding:9px 12px;border-radius:3px}
.success {color:#e8ffef;background:#142c20;border-radius:3px}
.saved-dot {background:#e8ffef}
.billing-workspace .billing-danger {color:#fff0ff;text-decoration:underline;text-decoration-color:#dfb5ff}
/* Existing uncertain/recovery controls remain visible and keep their original layout. */
.conflict-box,.access-uncertain,.access-source-hold,.accounts-uncertain,.recovery-uncertain,.staff-qbo-hold,.staff-texting-hold,.billing-texts-hold,.billing-warning,.billing-hold:not(:empty),.dialog-status.warning,.warning {
  background:#30201b;color:#fff1e5;border-color:#d5a47a;
}
.conflict-box .small,.access-uncertain .small,.accounts-uncertain .small,.recovery-uncertain .small,.staff-qbo-hold .small,.staff-texting-hold .small,.billing-texts-hold .small,.billing-warning .small,.billing-hold .small {color:#fff1e5}
.comparison td.changed {background:#30201b;color:#fff1e5}
/* Reports and scoped records use the same connected geometry as the approved reader. */
.access-layout {grid-template-columns:300px minmax(0,1fr)}
.access-list,.folders,.message-list,.staff-texting-threads {background:var(--staff-metal-grain),var(--staff-metal-list);border-color:#670d23;box-shadow:inset -1px 0 #ed42583d,inset 0 1px #ec3e5633}
.access-report {padding:17px;min-height:89px;background:transparent;color:var(--ink);border-color:var(--line);transition:background .12s}
.access-report strong {font-size:13px}
.access-report .small {font-size:11px}
.access-detail {padding:21px 23px;background:var(--staff-metal-grain),var(--staff-metal-pane);box-shadow:inset 0 1px #ee42563d}
.access-detail-top {margin-bottom:7px}
.access-detail-top h2 {font-size:17px;font-weight:600}
.access-detail>.small {font-size:11px}
.access-prose {font-size:14px}
.company-records {margin-top:18px}
.records-heading {margin-top:15px}
.records-heading h3 {font-size:15px}
.records-grant {font-size:11px;margin-bottom:0;padding-bottom:12px;border-bottom:1px solid var(--line)}
.records-families {gap:0 17px;margin:3px 0 17px}
.records-families button {font-size:12px;min-height:37px;padding:10px 0;background:transparent;color:var(--ink);text-decoration:none}
.records-families button[aria-pressed=true] {color:var(--teal);border-color:var(--purple);font-weight:600}
.records-families button:hover {color:#fff;border-bottom-color:#ead0ff}
.records-layout {grid-template-columns:224px minmax(0,1fr);gap:0}
.records-browser {padding-right:18px;border-right:1px solid var(--line)}
.records-detail {padding-left:21px}
.records-filter {gap:12px;margin-bottom:12px}
.records-list {border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.records-row {padding:12px 11px;min-height:70px;color:var(--ink);transition:background .12s}
.records-row .small {font-size:11px}
.access-detail .records-detail>h3 {font-size:18px;letter-spacing:-.35px;font-weight:600;margin-bottom:3px}
.records-facts {gap:15px 20px;margin:17px 0}
.records-facts dt {font-size:11px}
.records-section {margin-top:18px;padding-top:14px}
.records-section h4 {font-size:12px;margin-bottom:7px}
.records-table th {background:transparent}
/* Actual Mail, Accounts, Security, QBO, Texting, Reports and Billing owners share tokens.
   No control, stage, fieldset, list or permission state is hidden by this stylesheet. */
.folders {padding:15px 10px}
.folder,.message-row,.staff-texting-thread {background:transparent;color:var(--ink);border-color:var(--line);transition:background .12s}
.folder:hover,.message-row:hover,.access-report:hover,.records-row:hover,.staff-texting-thread:hover {background:#c8223b}
.folder:active,.message-row:active,.access-report:active,.records-row:active,.staff-texting-thread:active {background:#a91730}
.folder[aria-pressed=true],.message-row[aria-pressed=true],.access-report[aria-pressed=true],.records-row[aria-pressed=true],.staff-texting-thread[aria-pressed=true],.billing-list tr[aria-selected=true] {
  --ink:#f2eaf9;--muted:#d1b9ee;--teal:#d1b9ee;
  color:var(--ink);background:var(--staff-metal-black);box-shadow:inset 3px 0 #a98ac9,inset 0 1px #b79cc833,inset 0 -1px #0006;
}
.folder[aria-pressed=true]:hover,.message-row[aria-pressed=true]:hover,.access-report[aria-pressed=true]:hover,.records-row[aria-pressed=true]:hover,.staff-texting-thread[aria-pressed=true]:hover {background:linear-gradient(110deg,#2c2233,#111018)}
.folder[aria-pressed=true]:active,.message-row[aria-pressed=true]:active,.access-report[aria-pressed=true]:active,.records-row[aria-pressed=true]:active,.staff-texting-thread[aria-pressed=true]:active {background:#09090e}
.reading-pane,.staff-texting-reader {background:var(--staff-metal-grain),var(--staff-metal-pane)}
.reading-head h2 {font-size:18px;letter-spacing:-.25px}
.avatar,.person {background:#25152e;color:#ead7ff}
.message-body,.staff-texting-body {font-size:13px}
.staff-texting-message,.staff-texting-message.outgoing {background:#25152e;color:#f2eaf9;border:1px solid #6b4479}
.staff-texting-message .small {color:#d1b9ee}
.billing-texts-disclosure {background:#25152e;color:#f2eaf9;border-color:#9f7bb5}
.setup-key,.recovery-list {background:#17111f;color:#f2eaf9;border:1px solid #895d9f}
body.auth-only .main {min-height:100vh;background:linear-gradient(115deg,#20232b,#07090e 55%,#17101f)}
.auth-brand {font-size:23px;letter-spacing:-.5px;color:#f1f2f6}
.auth-subtitle {color:#c0a8dc}
.auth-card .panel {background:var(--staff-metal-grain),var(--staff-metal-pane)}
/* Vendor sign-in marks keep their original colors and image bytes on a neutral surface. */
.provider-buttons .btn {color:#182432;background:#fff;border:1px solid #9ca6b3;box-shadow:inset 0 1px #fff,0 1px 2px #0003}
.provider-buttons .btn:hover {color:#182432;background:#f0f3f6;border-color:#7d8793}
.provider-buttons .btn:active {background:#e0e5eb}
/* A legal/email document remains document-white. Local tokens prevent the red shell
   from inheriting into generated agreement previews. No PDF, iframe or canvas is styled. */
.paper {
  color-scheme:light;--ink:#163d4d;--muted:#597685;--line:#cfdee6;--teal:#147895;--soft:#eaf2f5;--red:#a03947;
  font:14px/1.6 Arial,sans-serif;color:var(--ink);background:#fff;border-color:#c4d9e2;box-shadow:0 4px 16px #0002;
}
.paper a {color:#147895}
.paper a:hover {color:#0a526c}
.paper .price-box {color:#163d4d;background:#f3f9fa;border-color:#d3e7e2}
.paper .price-line.total {border-color:#cbdfe4}
.paper .small,.paper .caption,.paper .document-label {color:#597685}
@media(min-width:1650px) {.main{padding-left:50px;padding-right:50px}.workspace-bar{margin-left:-50px;margin-right:-50px;padding-left:50px;padding-right:50px}}
@media(max-width:1200px) {.main{padding-left:22px;padding-right:22px}.workspace-bar{margin-left:-22px;margin-right:-22px;padding-left:22px;padding-right:22px}.access-detail{padding:20px}.records-layout{grid-template-columns:190px minmax(0,1fr)}.records-browser{padding-right:15px}.records-detail{padding-left:17px}}
@media(max-width:1000px) {.records-layout{grid-template-columns:1fr}.records-browser{padding-right:0;border-right:0}.records-detail{padding-left:0}.records-list{border-bottom:0}}
@media(max-width:700px) {
  .shell{grid-template-columns:1fr}.side{padding:17px 18px 10px}.brand{display:inline-flex;padding:0;font-size:18px}.staff{display:block;padding:3px 0 0 32px;font-size:10px}.side nav{overflow:auto;gap:5px}.nav{padding:11px;min-height:44px}
  .main{padding:0 17px 25px}.workspace-bar{margin-left:-17px;margin-right:-17px;padding-left:17px;padding-right:17px;gap:6px;font-size:10px}.heading{min-height:91px}.heading h1{font-size:23px}
  .access-layout{grid-template-columns:1fr}.access-detail{padding:20px 17px}.access-report{padding:15px 17px}.records-layout{gap:19px}.records-browser{padding-right:0;border-right:0}.records-detail{padding-left:0}.records-families{gap:0 18px}.records-families button{padding:12px 0}
  .btn,.link,.table-link,.close,.folder,.records-families button,.records-filter .btn,.records-related .link,.company-tabs button,summary,input:not([type=checkbox]):not([type=radio]),select{min-height:44px}
  label.check{min-height:44px;align-items:center}.options label{min-height:44px}.records-row,.staff-texting-thread{min-height:70px}
  input:not([type=checkbox]):not([type=radio]),select,textarea{font-size:16px}.auth-card .panel{padding:22px}
}
@media(prefers-reduced-motion:reduce) {
  *,*:before,*:after {transition:none!important;scroll-behavior:auto!important}
  .inline-spinner {animation:none}
}
@media(forced-colors:active) {
  :root{--ink:CanvasText;--muted:CanvasText;--line:CanvasText;--teal:LinkText;--soft:Canvas;--bg:Canvas;--red:CanvasText;--green:CanvasText;--purple:Highlight}
  body,.main,body.auth-only .main,.side,.panel,.metrics,.staff-texting-layout,.access-list,.access-detail,.folders,.message-list,.reading-pane,.staff-texting-threads,.staff-texting-reader,.workspace-bar,.section-title,.dialog-head,.review-actions,.footer-action,.review-sheet,.paper,.recipient,.setup-key,.recovery-list,.badge,.neutral,.draft,.options,.options label:has(input:checked),.staff-texting-message,.staff-texting-message.outgoing,.billing-texts-disclosure,.toast,.skip,.conflict-box,.access-uncertain,.access-source-hold,.accounts-uncertain,.recovery-uncertain,.staff-qbo-hold,.staff-texting-hold,.billing-texts-hold,.billing-warning,.billing-hold:not(:empty),.dialog-status.warning,.comparison td.changed,.provider-buttons .btn,.btn,.error:not(:empty),.message.error:not(:empty),.success {
    background:Canvas;color:CanvasText;border-color:CanvasText;box-shadow:none;
  }
  .paper{--ink:CanvasText;--muted:CanvasText;--line:CanvasText;--teal:LinkText;--soft:Canvas;--red:CanvasText}.paper .price-box{background:Canvas;color:CanvasText;border-color:CanvasText}
  .side:before{background:Highlight}.brand-sigil{filter:none}
  .brand,.auth-brand,.staff,.side-foot,.nav-logout,.workspace-bar>span:first-child,.auth-subtitle,.company-tabs button,.records-families button,.close,.paper .small,.paper .caption,.paper .document-label,.staff-texting-message .small {color:CanvasText}
  input:not([type=checkbox]):not([type=radio]),select,textarea {color:FieldText;background:Field;border-color:FieldText;box-shadow:none}
  input::placeholder,textarea::placeholder {color:GrayText}
  a,.link,.paper a,.company-name-link {color:LinkText;text-decoration-color:LinkText}
  .nav[aria-current=page],.side a.nav[aria-current=page]:hover,.side a.nav[aria-current=page]:active,.folder[aria-pressed=true],.message-row[aria-pressed=true],.access-report[aria-pressed=true],.records-row[aria-pressed=true],.staff-texting-thread[aria-pressed=true],.billing-list tr[aria-selected=true] {--ink:HighlightText;--muted:HighlightText;--teal:HighlightText;background:Highlight;color:HighlightText;border-color:Highlight;box-shadow:inset 3px 0 HighlightText}
  .folder[aria-pressed=true]:hover,.message-row[aria-pressed=true]:hover,.access-report[aria-pressed=true]:hover,.records-row[aria-pressed=true]:hover,.staff-texting-thread[aria-pressed=true]:hover,.folder[aria-pressed=true]:active,.message-row[aria-pressed=true]:active,.access-report[aria-pressed=true]:active,.records-row[aria-pressed=true]:active,.staff-texting-thread[aria-pressed=true]:active {background:Highlight;color:HighlightText}
  .company-tabs button[aria-selected=true],.records-families button[aria-pressed=true] {color:Highlight;border-color:Highlight}
  button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible,.options label:has(input:focus-visible),h1:focus,h2:focus,h3:focus {outline-color:Highlight}
}

/* Approved Splash ripple badge is private staff branding only. */
.brand-sigil{width:36px;height:36px;filter:none;flex:none}
