/* StaffSwift v4.0.6 — Global Apple UI & Contrast Authority
   Loaded LAST on every surface. This file is intentionally authoritative.
   It maps all legacy colour tokens to one accessible light/dark design system,
   fixes low-contrast components, normalises cards/tables/forms, and hardens responsive layouts. */

:root{
  color-scheme:light;
  --ss-bg:#f5f5f7;
  --ss-bg-alt:#fafafa;
  --ss-surface:#ffffff;
  --ss-surface-2:#f0f0f2;
  --ss-surface-3:#e7e7eb;
  --ss-surface-4:#d9d9de;
  --ss-glass:rgba(255,255,255,.96);
  --ss-text:#111113;
  --ss-text-2:#343438;
  --ss-muted:#57575d;
  --ss-muted-2:#67676d;
  --ss-border:#d4d4d9;
  --ss-border-strong:#b4b4bb;
  --ss-blue:#d70015;
  --ss-blue-hover:#b80012;
  --ss-blue-soft:#fff0f2;
  --ss-green:#176b3a;
  --ss-green-soft:#eaf7ef;
  --ss-red:#d70015;
  --ss-red-soft:#fff0f2;
  --ss-amber:#8a5700;
  --ss-amber-soft:#fff4da;
  --ss-purple:#a90013;
  --ss-gold:#d70015;
  --ss-gold-soft:#fff0f2;
  --ss-navy:#111113;
  --ss-navy-2:#242428;
  --ss-focus:#d70015;
  --ss-shadow-xs:0 1px 2px rgba(0,0,0,.04);
  --ss-shadow-sm:0 6px 18px rgba(0,0,0,.07);
  --ss-shadow-md:0 18px 50px rgba(0,0,0,.10);
  --ss-shadow-lg:0 32px 90px rgba(0,0,0,.14);
  --ss-radius-sm:12px;
  --ss-radius:18px;
  --ss-radius-lg:24px;
  --ss-radius-xl:30px;

  /* Legacy compatibility aliases — do not remove. */
  --page:var(--ss-bg);--bg:var(--ss-bg);--bright:var(--ss-bg-alt);--off:var(--ss-bg-alt);
  --white:var(--ss-surface);--card:var(--ss-surface);--s1:var(--ss-surface);--c1:var(--ss-surface);
  --s2:var(--ss-surface-2);--c2:var(--ss-surface-2);--s3:var(--ss-surface-3);--c3:var(--ss-surface-3);
  --t1:var(--ss-text);--text:var(--ss-text);--ss-body:var(--ss-text-2);--t2:var(--ss-text-2);
  --t3:var(--ss-muted);--muted:var(--ss-muted);--subtle:var(--ss-muted);
  --border:var(--ss-border);--line:var(--ss-border);--b:var(--ss-border);--b1:var(--ss-border);
  --border2:var(--ss-border-strong);--b2:var(--ss-border-strong);
  --navy:var(--ss-navy);--navy2:var(--ss-navy-2);--navy3:#38383d;
  --blue:var(--ss-blue);--blue-bg:var(--ss-blue-soft);--blue-b:#f0a3ad;
  --green:var(--ss-green);--green-bg:var(--ss-green-soft);--green-b:#9cd0ae;--green-m:#29985b;
  --red:var(--ss-red);--red-bg:var(--ss-red-soft);--red-b:#f0a3ad;
  --amber:var(--ss-amber);--amber-bg:var(--ss-amber-soft);--amber-b:#e5c77b;--amber-m:#b87810;
  --gold:var(--ss-gold);--gold-d:#a90013;--gold-l:#ff5a66;--gold-bg:var(--ss-gold-soft);--gold-b:#f0a3ad;
  --purple:var(--ss-purple);

  --apple-bg:var(--ss-bg);--apple-bg-elevated:var(--ss-bg-alt);--apple-surface:var(--ss-glass);
  --apple-surface-solid:var(--ss-surface);--apple-surface-secondary:var(--ss-surface-2);--apple-surface-tertiary:var(--ss-surface-3);
  --apple-text:var(--ss-text);--apple-text-2:var(--ss-text-2);--apple-muted:var(--ss-muted);--apple-muted-2:var(--ss-muted-2);
  --apple-border:var(--ss-border);--apple-border-strong:var(--ss-border-strong);--apple-blue:var(--ss-blue);--apple-blue-strong:var(--ss-blue-hover);
  --apple-blue-soft:var(--ss-blue-soft);--apple-green:var(--ss-green);--apple-green-soft:var(--ss-green-soft);--apple-red:var(--ss-red);
  --apple-red-soft:var(--ss-red-soft);--apple-orange:var(--ss-amber);--apple-orange-soft:var(--ss-amber-soft);--apple-purple:var(--ss-purple);--apple-gold:var(--ss-gold);

  --pub-bg:var(--ss-bg);--pub-bg-soft:var(--ss-surface-2);--pub-surface:var(--ss-surface);--pub-surface-raised:var(--ss-surface);
  --pub-text:var(--ss-text);--pub-body:var(--ss-text-2);--pub-muted:var(--ss-muted);--pub-border:var(--ss-border);
  --pub-navy:var(--ss-navy);--pub-navy-2:var(--ss-navy-2);--pub-gold:var(--ss-gold);--pub-gold-2:#ff4d5b;
  --pub-blue:var(--ss-blue);--pub-blue-hover:var(--ss-blue-hover);--pub-green:var(--ss-green);--pub-red:var(--ss-red);

  --ss-card:var(--ss-surface);--ss-line:var(--ss-border);--ss-text-3:var(--ss-muted);--ss-page:var(--ss-bg);
  --ss-surface-solid:var(--ss-surface);--ss-surface-soft:var(--ss-surface-2);--ss-accent:var(--ss-blue);--ss-accent-soft:var(--ss-blue-soft);
  --ss-auth-panel:var(--ss-surface);--ss-auth-card:var(--ss-surface);--ss-auth-panel-soft:var(--ss-surface-2);--ss-auth-soft:var(--ss-surface-2);--ss-auth-text:var(--ss-text);--ss-auth-muted:var(--ss-muted);--ss-auth-border:var(--ss-border);--ss-auth-blue:var(--ss-blue);
  --ss-p-body:var(--ss-text-2);--ss-p-text:var(--ss-text);--ss-p-border:var(--ss-border);--ss-p-surface:var(--ss-surface);--ss-p-surface-2:var(--ss-surface-2);--ss-p-green:var(--ss-green);
  --ss-v-text:var(--ss-text);--ss-v-line:var(--ss-border);
  --apx-text:var(--ss-text);--apx-body:var(--ss-text-2);--apx-muted:var(--ss-muted);--apx-line:var(--ss-border);--apx-soft:var(--ss-surface-2);
}

html[data-theme="dark"]{
  color-scheme:dark;
  --ss-bg:#08080a;
  --ss-bg-alt:#0d0d0f;
  --ss-surface:#171719;
  --ss-surface-2:#222225;
  --ss-surface-3:#2d2d31;
  --ss-surface-4:#39393e;
  --ss-glass:rgba(18,18,20,.96);
  --ss-text:#ffffff;
  --ss-text-2:#e7e7eb;
  --ss-muted:#bfc0c5;
  --ss-muted-2:#aeb0b6;
  --ss-border:#414147;
  --ss-border-strong:#5b5b63;
  --ss-blue:#ff453a;
  --ss-blue-hover:#ff6961;
  --ss-blue-soft:#351013;
  --ss-green:#6ee7a0;
  --ss-green-soft:#10291a;
  --ss-red:#ff453a;
  --ss-red-soft:#351013;
  --ss-amber:#ffd37a;
  --ss-amber-soft:#33250d;
  --ss-purple:#ff8b83;
  --ss-gold:#ff453a;
  --ss-gold-soft:#351013;
  --ss-navy:#111113;
  --ss-navy-2:#242428;
  --ss-focus:#ff453a;
  --ss-shadow-xs:0 1px 2px rgba(0,0,0,.42);
  --ss-shadow-sm:0 8px 24px rgba(0,0,0,.38);
  --ss-shadow-md:0 22px 60px rgba(0,0,0,.48);
  --ss-shadow-lg:0 38px 100px rgba(0,0,0,.58);

  --blue-b:#315b83;--green-b:#2f6844;--red-b:#784147;--amber-b:#705628;--gold-b:#665323;
  --gold-d:#ff8a82;--gold-l:#ff6961;--pub-gold-2:#ff6961;
}

html,body{background:var(--ss-bg)!important;color:var(--ss-text)!important}
body,button,input,select,textarea{font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","SF Pro Display","Helvetica Neue",Arial,sans-serif!important}
body{font-weight:400;letter-spacing:-.006em;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
*,*::before,*::after{box-sizing:border-box}
img,svg,video,canvas,iframe{max-width:100%}
img{height:auto}
::selection{background:rgba(215,0,21,.18);color:var(--ss-text)}
:focus-visible{outline:3px solid rgba(215,0,21,.28)!important;outline-offset:2px!important}

/* Global readable typography. */
:is(.staffswift-panel,.ss-public,.ss-auth,.ss-standalone-public,.ss-installer,.ss-invoice){color:var(--ss-text)!important}
:is(.staffswift-panel,.ss-public,.ss-auth,.ss-standalone-public,.ss-installer,.ss-invoice) :is(h1,h2,h3,h4,h5,h6,.pt,.ct,.title,.page-title,.topbar-page-title,.auth-title,.sec-h2,.card-title,.panel-title){color:var(--ss-text)!important}
:is(.staffswift-panel,.ss-public,.ss-auth,.ss-standalone-public,.ss-installer,.ss-invoice) :is(p,li,dd,dt,.description,.sub,.subtitle,.help,.helper,.small,.meta,.hint,.note,.copy,.body-copy){color:var(--ss-text-2)!important}
:is(.staffswift-panel,.ss-public,.ss-auth,.ss-standalone-public,.ss-installer,.ss-invoice) :is(.muted,.text-muted,.t3,.subtle,.secondary,.caption,.eyebrow,.kicker,.ldt,.ks,.ps){color:var(--ss-muted)!important}
:is(.staffswift-panel,.ss-public,.ss-auth,.ss-standalone-public,.ss-installer,.ss-invoice) label{color:var(--ss-text-2)!important}

/* Core surfaces. */
.staffswift-panel .content :is(.card,.panel,.box,.widget,.ap-card,.apx-card,.kpi,.kpi-card,.stat-card,.table-card,.ss-card,.job-card,.notice-card,.summary-card,.filter-card,details),
.ss-public :is(.ss-card,.public-card,.public-panel,.public-section),
.ss-auth :is(.auth-card,.auth-panel),
.ss-installer :is(.panel,.req,.notice,.credential){background-color:var(--ss-surface)!important;color:var(--ss-text)!important;border-color:var(--ss-border)!important}
.staffswift-panel .content :is(.card,.panel,.box,.widget,.ap-card,.apx-card,.kpi,.kpi-card,.stat-card,.table-card,.ss-card,.job-card,.notice-card,.summary-card,.filter-card){box-shadow:var(--ss-shadow-sm)!important}

/* Headers and separators inside cards. */
.staffswift-panel .content :is(.ch,.card-header,.panel-header,.table-head,.section-head){background:var(--ss-surface)!important;color:var(--ss-text)!important;border-color:var(--ss-border)!important}
.staffswift-panel .content :is(.cb,.card-body,.panel-body){color:var(--ss-text)!important}
.staffswift-panel .content hr,.ss-public hr,.ss-auth hr{border-color:var(--ss-border)!important;background:var(--ss-border)!important}

/* Forms: never low contrast. */
:is(.staffswift-panel,.ss-public,.ss-auth,.ss-standalone-public,.ss-installer,.ss-invoice) :is(input,select,textarea){
  background:var(--ss-surface)!important;color:var(--ss-text)!important;border:1px solid var(--ss-border-strong)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04)!important;
}
:is(.staffswift-panel,.ss-public,.ss-auth,.ss-standalone-public,.ss-installer,.ss-invoice) :is(input,select,textarea)::placeholder{color:var(--ss-muted)!important;opacity:1!important}
:is(.staffswift-panel,.ss-public,.ss-auth,.ss-standalone-public,.ss-installer,.ss-invoice) :is(input,select,textarea):focus{border-color:var(--ss-blue)!important;box-shadow:0 0 0 4px rgba(215,0,21,.12)!important;outline:none!important}
html[data-theme="dark"] select option{background:#1d1d1f!important;color:#f5f5f7!important}

/* Tables: high visibility + responsive safety. */
.staffswift-panel .content :is(.table-wrap,.adm-table-wrap,.ss-responsive-table,.responsive-table,.table-responsive){max-width:100%!important;overflow:auto!important;-webkit-overflow-scrolling:touch!important;border-radius:16px!important}
.staffswift-panel .content table{width:100%!important;max-width:100%!important;border-collapse:separate!important;border-spacing:0!important;background:var(--ss-surface)!important;color:var(--ss-text)!important}
.staffswift-panel .content table thead th{background:var(--ss-surface-2)!important;color:var(--ss-text)!important;border-color:var(--ss-border)!important;font-weight:750!important}
.staffswift-panel .content table tbody td{background:var(--ss-surface)!important;color:var(--ss-text-2)!important;border-color:var(--ss-border)!important;vertical-align:middle!important}
.staffswift-panel .content table tbody tr:nth-child(even) td{background:color-mix(in srgb,var(--ss-surface) 92%,var(--ss-surface-2))!important}
.staffswift-panel .content table tbody tr:hover td{background:var(--ss-blue-soft)!important;color:var(--ss-text)!important}
.staffswift-panel .content table :is(td,th) :is(strong,b){color:var(--ss-text)!important}
.staffswift-panel .content table a:not(.btn){color:var(--ss-blue)!important;font-weight:650}
.staffswift-panel .content table small,.staffswift-panel .content table .ldt{color:var(--ss-muted)!important}

/* Buttons. */
:is(.staffswift-panel,.ss-public,.ss-auth,.ss-standalone-public,.ss-installer,.ss-invoice) :is(.btn,.ss-btn,.apx-btn,.button,button){font-weight:650}
.staffswift-panel :is(.btn-primary,.ss-btn-primary,.apx-btn-primary),.ss-auth .btn-primary,.ss-public .ss-site-btn-primary,.ss-installer .btn-primary{background:var(--ss-blue)!important;color:#fff!important;border-color:var(--ss-blue)!important}
.staffswift-panel :is(.btn-secondary,.ss-btn-secondary,.bog),.ss-auth .btn-secondary,.ss-installer .btn-secondary{background:var(--ss-surface)!important;color:var(--ss-text)!important;border-color:var(--ss-border-strong)!important}
.staffswift-panel :is(.btn-danger,.ss-btn-danger,.danger){background:var(--ss-red)!important;color:#fff!important;border-color:var(--ss-red)!important}
.staffswift-panel :is(.bgold,.btn-gold){background:var(--ss-gold)!important;color:#111!important;border-color:var(--ss-gold)!important}
html[data-theme="dark"] .staffswift-panel :is(.bgold,.btn-gold){color:#101010!important}

/* Badges and semantic states. */
.staffswift-panel :is(.badge,.status,.pill,.chip,.tag){border-color:var(--ss-border)!important}
.staffswift-panel :is(.badge,.status,.pill,.chip,.tag):not(.b-ok):not(.b-no):not(.b-am):not(.b-blue):not(.success):not(.danger):not(.warning){background:var(--ss-surface-2)!important;color:var(--ss-text-2)!important}
.staffswift-panel :is(.b-ok,.badge-success,.status-completed,.success){background:var(--ss-green-soft)!important;color:var(--ss-green)!important;border-color:var(--green-b)!important}
.staffswift-panel :is(.b-no,.badge-danger,.status-cancelled,.error){background:var(--ss-red-soft)!important;color:var(--ss-red)!important;border-color:var(--red-b)!important}
.staffswift-panel :is(.b-am,.warning,.badge-warning){background:var(--ss-amber-soft)!important;color:var(--ss-amber)!important;border-color:var(--amber-b)!important}
.staffswift-panel :is(.b-blue,.badge-info,.status-started,.status-in-progress){background:var(--ss-blue-soft)!important;color:var(--ss-blue)!important;border-color:var(--blue-b)!important}

/* CRITICAL FIX: Admin notification dashboard and toast. */
.staffswift-admin-panel .adm-notification-summary{
  background:linear-gradient(145deg,#75000b 0%,#b90013 48%,#e30019 100%)!important;
  border:1px solid rgba(255,255,255,.18)!important;color:#fff!important;box-shadow:0 24px 60px rgba(7,23,47,.26)!important;
}
.staffswift-admin-panel .adm-notification-summary :is(.adm-ns-title,.adm-ns-total,.adm-ns-total strong,.adm-ns-total span,.adm-ns-value){color:#fff!important}
.staffswift-admin-panel .adm-notification-summary :is(.adm-ns-copy,.adm-ns-label){color:#dbeafe!important}
.staffswift-admin-panel .adm-notification-summary .adm-ns-card{background:rgba(255,255,255,.10)!important;border:1px solid rgba(255,255,255,.20)!important;color:#fff!important;box-shadow:none!important}
.staffswift-admin-panel .adm-notification-summary .adm-ns-type{background:rgba(255,255,255,.10)!important;border:1px solid rgba(255,255,255,.20)!important;color:#fff!important;text-decoration:none!important}
.staffswift-admin-panel .adm-notification-summary .adm-ns-type:hover{background:rgba(255,255,255,.17)!important;color:#fff!important}
.ss-admin-notification-toast{background:#141416!important;color:#fff!important;border-color:rgba(255,255,255,.20)!important}
.ss-admin-notification-toast :is(strong,.ss-ant-copy strong){color:#fff!important}.ss-admin-notification-toast .ss-ant-copy span{color:#dbeafe!important}
.ss-admin-notification-toast .ss-ant-open{background:#ffffff!important;color:#b00012!important}.ss-admin-notification-toast .ss-ant-close{color:#fff!important}

/* Notification centre compatibility variables/classes. */
.staffswift-admin-panel :is(.ann-stat,.ann-type,.ann-filter,.ann-item,.ann-icon){background:var(--ss-surface)!important;color:var(--ss-text)!important;border-color:var(--ss-border)!important}
.staffswift-admin-panel :is(.ann-stat-label,.ann-stat-copy,.ann-type-count,.ann-copy,.ann-time,.ann-sub){color:var(--ss-muted)!important}
.staffswift-admin-panel :is(.ann-stat-value,.ann-type-name,.ann-title){color:var(--ss-text)!important}

/* Shell / navigation. */
.staffswift-panel{background:var(--ss-bg)!important}
.staffswift-panel .sidebar,.staffswift-panel .topbar{background:var(--ss-glass)!important;color:var(--ss-text)!important;border-color:var(--ss-border)!important;backdrop-filter:saturate(160%) blur(24px)!important;-webkit-backdrop-filter:saturate(160%) blur(24px)!important}
.staffswift-panel .sidebar{box-shadow:var(--ss-shadow-md)!important}
.staffswift-panel .nav-section-label{color:var(--ss-muted)!important}
.staffswift-panel .nav-item{color:var(--ss-text-2)!important}
.staffswift-panel .nav-item .nav-icon{color:var(--ss-muted)!important}
.staffswift-panel .nav-item:hover{background:var(--ss-surface-2)!important;color:var(--ss-text)!important}
.staffswift-panel .nav-item.active,.staffswift-panel .nav-item[aria-current="page"]{background:var(--ss-blue)!important;color:#fff!important;box-shadow:0 8px 20px rgba(0,102,204,.20)!important}
.staffswift-panel .nav-item.active .nav-icon,.staffswift-panel .nav-item[aria-current="page"] .nav-icon{color:#fff!important}
.staffswift-panel .topbar-user-name,.staffswift-panel .sb-u-name{color:var(--ss-text)!important}
.staffswift-panel .topbar-user-role,.staffswift-panel .sb-u-sub,.staffswift-panel .sb-footer{color:var(--ss-muted)!important}
.staffswift-panel .topbar-btn,.staffswift-panel .hamburger{background:var(--ss-surface)!important;color:var(--ss-text)!important;border-color:var(--ss-border)!important}

/* Logo: always visible, correctly sized, no white-on-white. */
.staffswift-panel .sb-brand{background:linear-gradient(145deg,#111113,#2a0a0f)!important;border:1px solid rgba(255,255,255,.10)!important;margin:10px 10px 4px!important;border-radius:18px!important;min-height:74px!important;padding:12px 14px!important}
.staffswift-panel .sb-brand img[src*="logo-full-contrast"],.staffswift-panel .sb-brand img[src*="logo-full"]{display:block!important;width:178px!important;height:auto!important;max-height:44px!important;max-width:calc(100% - 58px)!important;object-fit:contain!important;filter:none!important}
.staffswift-panel .sb-role-tag{background:rgba(255,255,255,.10)!important;color:#e5e7eb!important;border-color:rgba(255,255,255,.20)!important}
.ss-site-logo{background:linear-gradient(145deg,#111113,#2a0a0f)!important;border:1px solid rgba(255,255,255,.10)!important;border-radius:14px!important;padding:7px 10px!important;box-shadow:0 8px 20px rgba(7,20,47,.12)!important}
.ss-site-logo img[src*="logo-full"]{width:176px!important;height:auto!important;max-height:38px!important;object-fit:contain!important}
.ss-site-footer-brand>a:first-child{display:inline-flex;background:linear-gradient(145deg,#111113,#2a0a0f);border:1px solid rgba(255,255,255,.12);border-radius:14px;padding:8px 10px}
.ss-site-footer-brand img[src*="logo-full"]{width:182px!important;max-height:40px!important;object-fit:contain!important}

/* Theme toggle — identical Apple-style icon button everywhere. */
[data-theme-toggle],.ss-theme-toggle,.ss-site-icon-btn[data-theme-toggle]{
  width:42px!important;height:42px!important;min-width:42px!important;min-height:42px!important;padding:0!important;border-radius:50%!important;
  display:inline-grid!important;place-items:center!important;background:var(--ss-surface)!important;color:var(--ss-text)!important;border:1px solid var(--ss-border)!important;
  box-shadow:0 3px 10px rgba(0,0,0,.07)!important;transition:transform .18s ease,background .18s ease,border-color .18s ease,box-shadow .18s ease!important;
}
[data-theme-toggle]:hover{background:var(--ss-surface-2)!important;border-color:var(--ss-border-strong)!important;box-shadow:var(--ss-shadow-sm)!important;transform:translateY(-1px)}
[data-theme-toggle]:active{transform:scale(.94)}
[data-theme-toggle] svg{width:20px!important;height:20px!important;stroke:currentColor!important;fill:none!important;stroke-width:1.8!important;stroke-linecap:round!important;stroke-linejoin:round!important}
html[data-theme="dark"] [data-theme-toggle]{background:#242426!important;color:#ffd60a!important;border-color:#48484a!important}

/* Public pages. */
.ss-site-header{background:rgba(250,250,252,.88)!important;color:var(--ss-text)!important;border-bottom:1px solid var(--ss-border)!important;box-shadow:0 10px 32px rgba(0,0,0,.06)!important;backdrop-filter:saturate(180%) blur(22px)!important;-webkit-backdrop-filter:saturate(180%) blur(22px)!important}
html[data-theme="dark"] .ss-site-header{background:rgba(18,18,19,.88)!important}
.ss-site-nav a,.ss-site-login{color:var(--ss-text-2)!important}.ss-site-nav a:hover,.ss-site-nav a.is-active,.ss-site-login:hover{color:var(--ss-text)!important}
.ss-site-nav a.is-active{background:var(--ss-surface-2)!important}.ss-site-nav a.is-active::after{background:var(--ss-blue)!important}
.ss-site-menu-btn{background:var(--ss-surface)!important;color:var(--ss-text)!important;border-color:var(--ss-border)!important}
.ss-site-mobile-menu{background:var(--ss-surface)!important;color:var(--ss-text)!important;border-color:var(--ss-border)!important}
.ss-site-mobile-menu a{color:var(--ss-text)!important}
.ss-site-btn-gold{background:#f0c85b!important;color:#171717!important;border-color:#d6ae43!important}.ss-site-btn-gold:hover{background:#f6d675!important;color:#111!important}
.ss-site-btn-outline{background:var(--ss-surface)!important;color:var(--ss-text)!important;border-color:var(--ss-border-strong)!important}
.ss-site-footer{background:#111113!important;color:#e5e7eb!important}.ss-site-footer p,.ss-site-footer a{color:#cbd5e1!important}.ss-site-footer h3{color:#fff!important}.ss-site-footer a:hover{color:#fff!important}

/* Auth pages. */
.ss-auth{background:var(--ss-bg)!important;color:var(--ss-text)!important}
.ss-auth :is(.auth-main,.auth-right,.auth-shell,.auth-wrap){background:var(--ss-bg)!important}
.ss-auth :is(.auth-card,.form-card){background:var(--ss-surface)!important;color:var(--ss-text)!important;border-color:var(--ss-border)!important;box-shadow:var(--ss-shadow-md)!important}
.ss-auth :is(.auth-title,.auth-head h1,.auth-head h2){color:var(--ss-text)!important}
.ss-auth :is(.auth-sub,.auth-head p,.divider span,.auth-foot,.auth-links,.field small){color:var(--ss-muted)!important}
.ss-auth :is(.tabs,.social-btn,.account-type-banner,.portal-switch a,.registration-summary){background:var(--ss-surface-2)!important;color:var(--ss-text)!important;border-color:var(--ss-border)!important}
.ss-auth .tab{color:var(--ss-muted)!important}.ss-auth .tab.active{background:var(--ss-surface)!important;color:var(--ss-blue)!important;border-color:var(--ss-border-strong)!important}
.ss-auth :is(.auth-side,.auth-left){background:radial-gradient(circle at 18% 12%,rgba(255,69,58,.24),transparent 34%),radial-gradient(circle at 88% 84%,rgba(215,0,21,.16),transparent 35%),linear-gradient(155deg,#111113,#2a0a0f)!important;color:#fff!important}
.ss-auth :is(.auth-side,.auth-left) :is(h1,h2,h3,strong,.side-title){color:#fff!important}
.ss-auth :is(.auth-side,.auth-left) :is(p,span,.side-copy,.side-item span,.side-links a){color:#dce4f1!important}

/* Installer. */
.ss-installer{background:var(--ss-bg)!important;color:var(--ss-text)!important}.ss-installer .main{background:var(--ss-bg)!important}.ss-installer .panel{background:var(--ss-surface)!important;color:var(--ss-text)!important}.ss-installer :is(h1,h2,h3,strong){color:var(--ss-text)!important}.ss-installer :is(p,small,.section-title){color:var(--ss-text-2)!important}
.ss-installer .brand{background:linear-gradient(155deg,#111113,#2a0a0f)!important;color:#fff!important}.ss-installer .brand :is(h1,p,li,small,.mark){color:#fff!important}

/* Low-contrast runtime safety classes. */
.ss-auto-contrast-light{color:#111318!important}.ss-auto-contrast-dark{color:#f8fafc!important}
.ss-auto-contrast-light a,.ss-auto-contrast-dark a{color:inherit!important}

/* Overlap / overflow hardening. */
.staffswift-panel .content,.staffswift-panel .content>*,:is(.card,.panel,.box,.widget,.ss-card,.job-card,.table-card,.cb,.ch,.sp2,.kpi-g,.grid,.row,.flex){min-width:0}
.staffswift-panel .content :is(p,span,small,strong,a,td,th,label,.value,.meta,.copy){overflow-wrap:anywhere;word-break:normal}
.staffswift-panel .content :is(.btn,.ss-btn,.apx-btn){max-width:100%;white-space:normal;text-align:center}
.staffswift-panel .content img.avatar,.staffswift-panel .content .avatar img,.staffswift-panel .content .adm-person img{object-fit:cover!important;flex:0 0 auto}

/* Responsive panels and tables. */
@media(max-width:1100px){
  .staffswift-panel .content{padding:18px!important}
  .staffswift-panel .kpi-g{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .staffswift-panel .sp2{grid-template-columns:1fr!important}
}
@media(max-width:820px){
  .staffswift-panel .content{padding:14px 12px calc(92px + env(safe-area-inset-bottom))!important}
  .staffswift-panel .ph,.staffswift-panel .ch{align-items:flex-start!important;gap:10px!important;flex-wrap:wrap!important}
  .staffswift-panel .ph>.btn,.staffswift-panel .ch>.btn{width:auto!important;max-width:100%!important}
  .staffswift-panel .kpi-g{grid-template-columns:1fr 1fr!important;gap:10px!important}
  .staffswift-panel table.ss-mobile-cards,.staffswift-panel .ss-card-table table{display:block!important;background:transparent!important;border:0!important;box-shadow:none!important}
  .staffswift-panel table.ss-mobile-cards thead,.staffswift-panel .ss-card-table thead{display:none!important}
  .staffswift-panel table.ss-mobile-cards tbody,.staffswift-panel table.ss-mobile-cards tr,.staffswift-panel .ss-card-table tbody,.staffswift-panel .ss-card-table tr{display:grid!important;width:100%!important;gap:0!important}
  .staffswift-panel table.ss-mobile-cards tr,.staffswift-panel .ss-card-table tr{margin:0 0 12px!important;padding:8px 12px!important;background:var(--ss-surface)!important;border:1px solid var(--ss-border)!important;border-radius:18px!important;box-shadow:var(--ss-shadow-xs)!important}
  .staffswift-panel table.ss-mobile-cards td,.staffswift-panel .ss-card-table td{display:grid!important;grid-template-columns:minmax(108px,38%) minmax(0,1fr)!important;gap:12px!important;align-items:start!important;width:100%!important;min-width:0!important;padding:9px 2px!important;border:0!important;border-bottom:1px solid var(--ss-border)!important;background:transparent!important;color:var(--ss-text-2)!important}
  .staffswift-panel table.ss-mobile-cards td:last-child,.staffswift-panel .ss-card-table td:last-child{border-bottom:0!important}
  .staffswift-panel table.ss-mobile-cards td::before,.staffswift-panel .ss-card-table td::before{content:attr(data-label);font-size:.72rem;font-weight:750;color:var(--ss-muted)!important;line-height:1.35;text-transform:none;letter-spacing:0}
  .staffswift-panel table.ss-mobile-cards td[colspan],.staffswift-panel .ss-card-table td[colspan]{grid-template-columns:1fr!important}
  .staffswift-panel table.ss-mobile-cards td[colspan]::before,.staffswift-panel .ss-card-table td[colspan]::before{display:none}
}
@media(max-width:560px){
  .staffswift-panel .kpi-g{grid-template-columns:1fr!important}
  .staffswift-panel .topbar-page-title{max-width:42vw!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}
  .staffswift-panel table.ss-mobile-cards td,.staffswift-panel .ss-card-table td{grid-template-columns:1fr!important;gap:3px!important}
  .ss-site-logo img[src*="logo-full"]{width:138px!important;max-height:32px!important}
  .ss-site-logo{padding:5px 8px!important;border-radius:12px!important}
}


/* Responsive form/filter/grid families and modal safety. */
:is(.staffswift-panel,.ss-auth,.ss-public,.ss-standalone-public,.ss-invoice) :is(.modal,.dialog,.popup,.drawer,.modal-dialog,.modal-content){max-width:min(96vw,1100px)!important;max-height:92dvh!important}
:is(.staffswift-panel,.ss-auth,.ss-public,.ss-standalone-public,.ss-invoice) :is(.modal-body,.dialog-body,.popup-body){max-height:calc(92dvh - 96px)!important;overflow:auto!important;-webkit-overflow-scrolling:touch!important}
@media(max-width:820px){
  .staffswift-panel .content :is(.apx-form-grid,.spx-form-grid,.cpr-form-grid,.ann-filter-grid,.apx-filter-grid,.acv-grid,.aic-grid,.asd-grid,.asv-grid,.sav-grid,.spd-grid,.spo-grid,.cor-grid,.ss-grid-2,.apx-grid-2){grid-template-columns:minmax(0,1fr)!important}
  .staffswift-panel .content :is(.apx-header-actions,.apx-form-footer,.spx-actions,.spx-photo-actions,.ann-actions,.ann-item-actions,.int-actions,.asm-actions,.acv-actions,.aic-actions,.asv-actions,.srj-actions,.sav-actions,.spd-actions,.cpr-state-actions,.cjl-hero-actions,.cjl-filter-actions,.cjl-actions){display:flex!important;flex-wrap:wrap!important;gap:8px!important;min-width:0!important}
  .staffswift-panel .content :is(.apx-header-actions,.apx-form-footer,.spx-actions,.spx-photo-actions,.ann-actions,.ann-item-actions,.int-actions,.asm-actions,.acv-actions,.aic-actions,.asv-actions,.srj-actions,.sav-actions,.spd-actions,.cpr-state-actions,.cjl-hero-actions,.cjl-filter-actions,.cjl-actions)>*{max-width:100%!important}
}

/* Apple.com-inspired homepage v4.0.6 — calm product-first motion. */
.ss-home-v407 .hero{position:relative;isolation:isolate;overflow:hidden;padding:clamp(72px,9vw,132px) 0 clamp(76px,10vw,150px)!important;background:var(--ss-bg)!important}
.ss-home-v407 .hero::before{content:"";position:absolute;inset:-25% -10% auto;height:78%;z-index:-2;background:radial-gradient(circle at 70% 25%,rgba(41,151,255,.18),transparent 34%),radial-gradient(circle at 32% 20%,rgba(240,200,91,.13),transparent 28%);filter:blur(8px);pointer-events:none}
.ss-home-v407 .hero-bg{position:absolute!important;inset:0!important;z-index:-3!important;background:linear-gradient(180deg,var(--ss-bg) 0%,var(--ss-bg-alt) 54%,var(--ss-bg) 100%)!important}
.ss-home-v407 :is(.hero-glow-orb,.hero-grid-dot){display:none!important}
.ss-home-v407 .hero-inner{display:grid!important;grid-template-columns:minmax(0,1.03fr) minmax(380px,.97fr)!important;align-items:center!important;gap:clamp(42px,6vw,88px)!important}
.ss-home-v407 .hero-copy{min-width:0}
.ss-home-v407 .hero-eyebrow{display:inline-flex!important;align-items:center!important;gap:8px!important;margin:0 0 22px!important;padding:7px 12px!important;border-radius:999px!important;background:var(--ss-surface)!important;color:var(--ss-text-2)!important;border:1px solid var(--ss-border)!important;box-shadow:var(--ss-shadow-xs)!important;font-size:.76rem!important;font-weight:650!important;letter-spacing:0!important;text-transform:none!important}
.ss-home-v407 .hero-eyebrow .dot{width:7px;height:7px;background:#30d158!important;box-shadow:0 0 0 5px rgba(48,209,88,.10);animation:ssV406Pulse 2.6s ease-in-out infinite}
.ss-home-v407 .hero h1{margin:0!important;max-width:820px!important;font-size:clamp(3.15rem,6.6vw,6.35rem)!important;line-height:.94!important;letter-spacing:-.065em!important;font-weight:720!important;color:var(--ss-text)!important}
.ss-home-v407 .hero h1 .hero-gradient{display:block;margin-top:.08em;background:linear-gradient(90deg,#0071e3 0%,#5e5ce6 48%,#af52de 100%);-webkit-background-clip:text;background-clip:text;color:transparent!important}
.ss-home-v407 .hero-desc{max-width:650px!important;margin:28px 0 0!important;font-size:clamp(1.05rem,1.6vw,1.28rem)!important;line-height:1.58!important;color:var(--ss-text-2)!important;letter-spacing:-.012em!important}
.ss-home-v407 .hero-cta{display:flex!important;flex-wrap:wrap!important;gap:12px!important;margin:32px 0 0!important}
.ss-home-v407 .hero-cta .btn{min-height:50px!important;padding:0 20px!important;border-radius:999px!important;font-size:.95rem!important;box-shadow:none!important}
.ss-home-v407 .hero-cta .btn-gold{background:var(--ss-blue)!important;color:#fff!important;border:1px solid var(--ss-blue)!important}
.ss-home-v407 .hero-cta .btn-gold:hover{background:var(--ss-blue-hover)!important;color:#fff!important;transform:none!important}
.ss-home-v407 .hero-cta .btn-navy-solid{background:transparent!important;color:var(--ss-blue)!important;border:1px solid var(--ss-border-strong)!important}
.ss-home-v407 .hero-cta .btn-navy-solid:hover{background:var(--ss-surface)!important;color:var(--ss-blue-hover)!important;transform:none!important}
.ss-home-v407 .hero-proof{display:flex!important;flex-wrap:wrap!important;gap:10px!important;margin:26px 0 0!important}
.ss-home-v407 .hero-proof span{display:inline-flex!important;align-items:center!important;gap:7px!important;padding:8px 11px!important;border-radius:999px!important;background:transparent!important;border:1px solid var(--ss-border)!important;color:var(--ss-muted)!important;font-size:.78rem!important;font-weight:600!important;box-shadow:none!important}
.ss-home-v407 .hero-proof svg{width:15px!important;height:15px!important;stroke:#30a253!important;fill:none!important;stroke-width:2!important}
.ss-home-v407 .hero-visual{position:relative!important;display:grid!important;place-items:center!important;min-width:0!important;perspective:1200px!important}
.ss-home-v407 .ss-hero-device{position:relative;width:min(100%,590px);border-radius:30px;background:linear-gradient(180deg,color-mix(in srgb,var(--ss-surface) 94%,transparent),var(--ss-surface));border:1px solid var(--ss-border);box-shadow:0 38px 100px rgba(0,0,0,.16),0 1px 0 rgba(255,255,255,.3) inset;overflow:hidden;transform:rotateY(-4deg) rotateX(2deg);transform-style:preserve-3d;transition:transform .5s cubic-bezier(.2,.8,.2,1),box-shadow .5s ease}
html[data-theme="dark"] .ss-home-v407 .ss-hero-device{box-shadow:0 38px 110px rgba(0,0,0,.58),0 1px 0 rgba(255,255,255,.06) inset}
.ss-home-v407 .ss-hero-device-bar{height:48px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:0 16px;border-bottom:1px solid var(--ss-border);background:var(--ss-surface-2)}
.ss-home-v407 .ss-hero-window-dots{display:flex;gap:6px}.ss-home-v407 .ss-hero-window-dots i{width:8px;height:8px;border-radius:50%;display:block;background:var(--ss-border-strong)}
.ss-home-v407 .ss-hero-device-title{font-size:.72rem;font-weight:650;color:var(--ss-muted);white-space:nowrap}.ss-home-v407 .ss-hero-live{display:inline-flex;align-items:center;gap:6px;font-size:.68rem;font-weight:700;color:#237a43}.ss-home-v407 .ss-hero-live::before{content:"";width:7px;height:7px;border-radius:50%;background:#30d158;box-shadow:0 0 0 4px rgba(48,209,88,.12)}
.ss-home-v407 .ss-hero-device-body{padding:18px;display:grid;gap:14px;background:linear-gradient(180deg,var(--ss-surface),var(--ss-surface-2))}
.ss-home-v407 .ss-hero-job{padding:18px;border-radius:22px;background:var(--ss-surface);border:1px solid var(--ss-border);box-shadow:var(--ss-shadow-sm)}
.ss-home-v407 .ss-hero-job-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.ss-home-v407 .ss-hero-job h3{margin:0;color:var(--ss-text)!important;font-size:1rem!important;letter-spacing:-.02em}.ss-home-v407 .ss-hero-job p{margin:4px 0 0;color:var(--ss-muted)!important;font-size:.74rem!important}
.ss-home-v407 .ss-hero-status{padding:6px 9px;border-radius:999px;background:var(--ss-green-soft);color:var(--ss-green);font-size:.65rem;font-weight:750;white-space:nowrap}
.ss-home-v407 .ss-hero-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:15px}.ss-home-v407 .ss-hero-metric{padding:12px;border-radius:15px;background:var(--ss-surface-2);border:1px solid var(--ss-border)}.ss-home-v407 .ss-hero-metric small{display:block;color:var(--ss-muted)!important;font-size:.62rem}.ss-home-v407 .ss-hero-metric strong{display:block;margin-top:3px;color:var(--ss-text)!important;font-size:.95rem}
.ss-home-v407 .ss-hero-people{display:grid;grid-template-columns:1fr 1fr;gap:10px}.ss-home-v407 .ss-hero-person{display:flex;align-items:center;gap:10px;padding:12px;border-radius:17px;background:var(--ss-surface);border:1px solid var(--ss-border)}.ss-home-v407 .ss-hero-avatar{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(145deg,#dcecff,#c7dfff);color:#174a7a;font-weight:750}.ss-home-v407 .ss-hero-person strong{display:block;color:var(--ss-text)!important;font-size:.76rem}.ss-home-v407 .ss-hero-person small{display:block;color:var(--ss-muted)!important;font-size:.62rem;margin-top:2px}
.ss-home-v407 .ss-hero-progress{height:8px;border-radius:999px;background:var(--ss-surface-3);overflow:hidden}.ss-home-v407 .ss-hero-progress span{display:block;width:64%;height:100%;border-radius:inherit;background:linear-gradient(90deg,#0071e3,#64d2ff);animation:ssV406Progress 4.8s ease-in-out infinite alternate}
.ss-home-v407 .ss-hero-float{position:absolute;z-index:4;display:flex;align-items:center;gap:9px;padding:10px 13px;border-radius:16px;background:color-mix(in srgb,var(--ss-surface) 90%,transparent);border:1px solid var(--ss-border);box-shadow:var(--ss-shadow-md);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);font-size:.72rem;font-weight:650;color:var(--ss-text-2)}
.ss-home-v407 .ss-hero-float svg{width:17px;height:17px;stroke:var(--ss-blue);fill:none;stroke-width:1.9}.ss-home-v407 .ss-hero-float-a{left:-24px;top:18%}.ss-home-v407 .ss-hero-float-b{right:-22px;bottom:15%}
@keyframes ssV406Pulse{0%,100%{opacity:1}50%{opacity:.42}}@keyframes ssV406Progress{from{width:54%}to{width:78%}}

@media(max-width:980px){
  .ss-home-v407 .hero-inner{grid-template-columns:1fr!important;text-align:center!important}.ss-home-v407 .hero-copy{display:flex;flex-direction:column;align-items:center}.ss-home-v407 .hero-desc{margin-inline:auto!important}.ss-home-v407 .hero-cta,.ss-home-v407 .hero-proof{justify-content:center!important}.ss-home-v407 .hero-visual{margin-top:14px}.ss-home-v407 .ss-hero-device{transform:none!important;width:min(100%,620px)}.ss-home-v407 .ss-hero-float-a{left:2%}.ss-home-v407 .ss-hero-float-b{right:2%}
}
@media(max-width:620px){
  .ss-home-v407 .hero{padding-top:56px!important}.ss-home-v407 .hero h1{font-size:clamp(2.7rem,14vw,4.25rem)!important}.ss-home-v407 .hero-cta{width:100%!important}.ss-home-v407 .hero-cta .btn{width:100%!important}.ss-home-v407 .hero-proof{display:grid!important;grid-template-columns:1fr!important;width:100%!important}.ss-home-v407 .hero-proof span{justify-content:center!important}.ss-home-v407 .ss-hero-device{border-radius:22px}.ss-home-v407 .ss-hero-device-body{padding:12px}.ss-home-v407 .ss-hero-metrics{grid-template-columns:1fr!important}.ss-home-v407 .ss-hero-people{grid-template-columns:1fr!important}.ss-home-v407 .ss-hero-float{display:none!important}
}

/* Subtle professional motion only. */
@media(prefers-reduced-motion:no-preference){
  .staffswift-panel .content :is(.card,.panel,.box,.widget,.kpi,.kpi-card,.stat-card,.ss-card,.job-card),.ss-public :is(.ss-card,.public-card,.public-section),.ss-auth .auth-card{transition:transform .22s cubic-bezier(.2,.8,.2,1),box-shadow .22s ease,border-color .22s ease!important}
  .staffswift-panel .content :is(.card,.panel,.box,.widget,.kpi,.kpi-card,.stat-card,.ss-card,.job-card):hover{transform:translateY(-1px);box-shadow:var(--ss-shadow-md)!important}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}

.ss-visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}


/* ========================================================================== */
/* StaffSwift v4.0.6 — FINAL RED APPLE VISIBILITY AUTHORITY                   */
/* This section intentionally wins over all historical page/component CSS.    */
/* ========================================================================== */

:root{
  --ss-accent:#d70015!important;
  --ss-accent-hover:#b80012!important;
  --ss-accent-soft:#fff0f2!important;
  --ss-danger:#d70015!important;
  --ss-info:#0a66c2!important;
  --ss-success:#137a3d!important;
  --ss-warning:#8b5a00!important;
  --ss-on-accent:#ffffff!important;
  --ss-action-bg:#d70015!important;
  --ss-action-hover:#b80012!important;
}
html[data-theme="dark"]{
  --ss-accent:#ff453a!important;
  --ss-accent-hover:#ff6961!important;
  --ss-accent-soft:#351013!important;
  --ss-danger:#ff453a!important;
  --ss-info:#64b5ff!important;
  --ss-success:#6ee7a0!important;
  --ss-warning:#ffd37a!important;
  --ss-on-accent:#ffffff!important;
  --ss-action-bg:#d70015!important;
  --ss-action-hover:#b80012!important;
}

/* Force page surfaces to one predictable palette. */
body.staffswift-panel,
body.ss-public,
body.ss-standalone-public,
body.ss-auth,
body.ss-installer,
body.ss-invoice{background:var(--ss-bg)!important;color:var(--ss-text)!important}

/* Make ordinary text deterministic. These intentionally override page-local colours. */
.staffswift-panel .content :where(h1,h2,h3,h4,h5,h6,.pt,.ct,.title,.page-title,.topbar-page-title,.card-title,.panel-title,.section-title),
.ss-public :where(h1,h2,h3,h4,h5,h6),
.ss-standalone-public :where(h1,h2,h3,h4,h5,h6),
.ss-auth :where(h1,h2,h3,h4,h5,h6),
.ss-installer :where(h1,h2,h3,h4,h5,h6){color:var(--ss-text)!important;text-shadow:none!important}

.staffswift-panel .content :where(p,li,dt,dd,label,.description,.sub,.subtitle,.copy,.body-copy,.meta,.help,.helper,.note,.value),
.ss-public :where(p,li,dt,dd,label,.description,.copy,.meta),
.ss-standalone-public :where(p,li,dt,dd,label,.description,.copy,.meta),
.ss-auth :where(p,li,dt,dd,label,.description,.copy,.meta),
.ss-installer :where(p,li,dt,dd,label,.description,.copy,.meta){color:var(--ss-text-2)!important}

.staffswift-panel .content :where(small,.muted,.text-muted,.t3,.ldt,.ps,.subtle,.secondary,.caption,.hint,.eyebrow,.kicker),
.ss-public :where(small,.muted,.text-muted,.subtle,.secondary,.caption,.hint),
.ss-standalone-public :where(small,.muted,.text-muted,.subtle,.secondary,.caption,.hint),
.ss-auth :where(small,.muted,.text-muted,.subtle,.secondary,.caption,.hint),
.ss-installer :where(small,.muted,.text-muted,.subtle,.secondary,.caption,.hint){color:var(--ss-muted)!important;opacity:1!important}

/* Standardise all common cards and stop transparent backgrounds causing invisible text. */
.staffswift-panel .content :where(.card,.panel,.box,.widget,.tbl,.table-card,.ss-card,.ap-card,.apx-card,.kpi,.kpi-card,.stat-card,.job-card,.notice-card,.summary-card,.filter-card,.profile-card,.settings-card,.integration-card,.service-card,.address-card,.schedule-card,.approval-card,.balance-hero,.mc,details),
.ss-public :where(.ss-card,.public-card,.public-panel,.role-card,.cat-card,.how-card,.trust-card,.bf-card,.cta-band),
.ss-auth :where(.auth-card,.form-card,.auth-panel),
.ss-installer :where(.panel,.req,.notice,.credential){
  background:var(--ss-surface)!important;
  color:var(--ss-text)!important;
  border:1px solid var(--ss-border)!important;
  box-shadow:0 10px 35px rgba(20,20,24,.08)!important;
}
html[data-theme="dark"] .staffswift-panel .content :where(.card,.panel,.box,.widget,.tbl,.table-card,.ss-card,.ap-card,.apx-card,.kpi,.kpi-card,.stat-card,.job-card,.notice-card,.summary-card,.filter-card,.profile-card,.settings-card,.integration-card,.service-card,.address-card,.schedule-card,.approval-card,.balance-hero,.mc,details),
html[data-theme="dark"] .ss-public :where(.ss-card,.public-card,.public-panel,.role-card,.cat-card,.how-card,.trust-card,.bf-card,.cta-band),
html[data-theme="dark"] .ss-auth :where(.auth-card,.form-card,.auth-panel){box-shadow:0 16px 48px rgba(0,0,0,.32)!important}

/* Card descendants get readable colours unless explicitly semantic below. */
.staffswift-panel .content :where(.card,.panel,.box,.widget,.tbl,.table-card,.ss-card,.ap-card,.apx-card,.kpi,.kpi-card,.stat-card,.job-card,.notice-card,.summary-card,.filter-card,.profile-card,.settings-card,.integration-card,.service-card,.address-card,.schedule-card,.approval-card,.balance-hero,.mc,details) :where(h1,h2,h3,h4,h5,h6,strong,b,.title,.name,.value){color:var(--ss-text)!important}
.staffswift-panel .content :where(.card,.panel,.box,.widget,.tbl,.table-card,.ss-card,.ap-card,.apx-card,.kpi,.kpi-card,.stat-card,.job-card,.notice-card,.summary-card,.filter-card,.profile-card,.settings-card,.integration-card,.service-card,.address-card,.schedule-card,.approval-card,.balance-hero,.mc,details) :where(p,span,small,label,.copy,.meta,.sub,.description,.hint){color:var(--ss-text-2)!important}

/* Buttons and links: red is the product accent. */
.staffswift-panel .content a:not(.btn):not(.nav-item),
.ss-public main a:not(.btn):not(.ss-site-btn),
.ss-standalone-public main a:not(.btn):not(.ss-site-btn),
.ss-auth a:not(.btn){color:var(--ss-accent)!important;text-decoration-color:color-mix(in srgb,var(--ss-accent) 45%,transparent)!important}
.staffswift-panel .content a:not(.btn):not(.nav-item):hover,
.ss-public main a:not(.btn):not(.ss-site-btn):hover,
.ss-auth a:not(.btn):hover{color:var(--ss-accent-hover)!important}

.staffswift-panel :where(.btn,.ss-btn,.apx-btn,.bgold,.btn-gold,.btn-primary,.ss-btn-primary,.apx-btn-primary),
.ss-public :where(.btn-primary,.ss-site-btn-primary,.ss-site-btn-gold,.btn-gold),
.ss-auth :where(.btn-primary,.auth-btn-primary),
.ss-installer :where(.btn-primary){background:var(--ss-action-bg)!important;color:#fff!important;border-color:var(--ss-action-bg)!important;box-shadow:0 8px 20px rgba(215,0,21,.16)!important}
.staffswift-panel :where(.btn,.ss-btn,.apx-btn,.bgold,.btn-gold,.btn-primary,.ss-btn-primary,.apx-btn-primary) :where(span,strong,svg),
.ss-public :where(.btn-primary,.ss-site-btn-primary,.ss-site-btn-gold,.btn-gold) :where(span,strong,svg),
.ss-auth :where(.btn-primary,.auth-btn-primary) :where(span,strong,svg){color:#fff!important;stroke:currentColor!important}
.staffswift-panel :where(.btn,.ss-btn,.apx-btn,.bgold,.btn-gold,.btn-primary,.ss-btn-primary,.apx-btn-primary):hover,
.ss-public :where(.btn-primary,.ss-site-btn-primary,.ss-site-btn-gold,.btn-gold):hover,
.ss-auth :where(.btn-primary,.auth-btn-primary):hover{background:var(--ss-action-hover)!important;color:#fff!important;border-color:var(--ss-action-hover)!important;transform:translateY(-1px)}

.staffswift-panel :where(.bog,.btn-secondary,.ss-btn-secondary),
.ss-public :where(.ss-site-btn-outline,.btn-secondary),
.ss-auth :where(.btn-secondary,.social-btn),
.ss-installer :where(.btn-secondary){background:var(--ss-surface)!important;color:var(--ss-text)!important;border:1px solid var(--ss-border-strong)!important;box-shadow:none!important}
.staffswift-panel :where(.bog,.btn-secondary,.ss-btn-secondary) :where(span,strong,svg),
.ss-public :where(.ss-site-btn-outline,.btn-secondary) :where(span,strong,svg),
.ss-auth :where(.btn-secondary,.social-btn) :where(span,strong,svg){color:var(--ss-text)!important;stroke:currentColor!important}

/* Forms and controls: remove faded transparent inputs. */
:is(.staffswift-panel,.ss-public,.ss-standalone-public,.ss-auth,.ss-installer,.ss-invoice) :where(input:not([type="checkbox"]):not([type="radio"]),select,textarea){
  background:var(--ss-surface)!important;color:var(--ss-text)!important;border:1px solid var(--ss-border-strong)!important;opacity:1!important;
}
:is(.staffswift-panel,.ss-public,.ss-standalone-public,.ss-auth,.ss-installer,.ss-invoice) :where(input:not([type="checkbox"]):not([type="radio"]),select,textarea)::placeholder{color:var(--ss-muted)!important;opacity:1!important}
:is(.staffswift-panel,.ss-public,.ss-standalone-public,.ss-auth,.ss-installer,.ss-invoice) :where(input:not([type="checkbox"]):not([type="radio"]),select,textarea):focus{border-color:var(--ss-accent)!important;box-shadow:0 0 0 4px color-mix(in srgb,var(--ss-accent) 16%,transparent)!important}

/* Tables: very strong separation and readable cell text. */
.staffswift-panel .content table{background:var(--ss-surface)!important;color:var(--ss-text)!important;border:1px solid var(--ss-border)!important;border-radius:16px!important;overflow:hidden}
.staffswift-panel .content table :where(th,td){color:var(--ss-text)!important;border-color:var(--ss-border)!important;vertical-align:middle!important}
.staffswift-panel .content table thead th{background:var(--ss-surface-2)!important;color:var(--ss-text)!important;font-weight:750!important;letter-spacing:-.008em!important}
.staffswift-panel .content table tbody td{background:var(--ss-surface)!important;color:var(--ss-text-2)!important}
.staffswift-panel .content table tbody td :where(strong,b,.name,.title){color:var(--ss-text)!important}
.staffswift-panel .content table tbody td :where(small,.muted,.meta,.sub){color:var(--ss-muted)!important}
.staffswift-panel .content table tbody tr:nth-child(even) td{background:color-mix(in srgb,var(--ss-surface-2) 48%,var(--ss-surface))!important}
.staffswift-panel .content table tbody tr:hover td{background:var(--ss-accent-soft)!important;color:var(--ss-text)!important}
.staffswift-panel .content table a{color:var(--ss-accent)!important;font-weight:650!important}

/* Navigation and shell: Apple black/white with red active state. */
.staffswift-panel .sidebar{background:var(--ss-surface)!important;border-right:1px solid var(--ss-border)!important;box-shadow:8px 0 30px rgba(17,17,19,.06)!important}
.staffswift-panel .topbar{background:color-mix(in srgb,var(--ss-surface) 94%,transparent)!important;border-bottom:1px solid var(--ss-border)!important;box-shadow:0 6px 24px rgba(17,17,19,.05)!important}
.staffswift-panel .nav-section-label{color:var(--ss-muted)!important}
.staffswift-panel .nav-item{color:var(--ss-text-2)!important;border:1px solid transparent!important}
.staffswift-panel .nav-item :where(span,svg){color:inherit!important;stroke:currentColor!important}
.staffswift-panel .nav-item:hover{background:var(--ss-accent-soft)!important;color:var(--ss-accent)!important;border-color:color-mix(in srgb,var(--ss-accent) 16%,transparent)!important}
.staffswift-panel .nav-item.active,.staffswift-panel .nav-item[aria-current="page"]{background:var(--ss-action-bg)!important;color:#fff!important;border-color:var(--ss-action-bg)!important;box-shadow:0 8px 22px rgba(215,0,21,.20)!important}
.staffswift-panel .nav-item.active :where(span,svg),.staffswift-panel .nav-item[aria-current="page"] :where(span,svg){color:#fff!important;stroke:#fff!important}
.staffswift-panel .topbar-page-title,.staffswift-panel .topbar-user-name{color:var(--ss-text)!important}.staffswift-panel .topbar-user-role{color:var(--ss-muted)!important}
.staffswift-panel .topbar-btn,.staffswift-panel .hamburger{background:var(--ss-surface)!important;color:var(--ss-text)!important;border:1px solid var(--ss-border)!important}
.staffswift-panel .topbar-btn:hover,.staffswift-panel .hamburger:hover{background:var(--ss-accent-soft)!important;color:var(--ss-accent)!important;border-color:color-mix(in srgb,var(--ss-accent) 32%,var(--ss-border))!important}

/* Theme toggle: Apple-style sun/moon with red ring in light mode and warm white in dark mode. */
[data-theme-toggle],.ss-theme-toggle,.ss-site-icon-btn[data-theme-toggle]{background:var(--ss-surface)!important;color:var(--ss-accent)!important;border:1px solid var(--ss-border)!important;box-shadow:0 5px 18px rgba(17,17,19,.08)!important}
[data-theme-toggle]:hover{background:var(--ss-accent-soft)!important;border-color:color-mix(in srgb,var(--ss-accent) 34%,var(--ss-border))!important;color:var(--ss-accent-hover)!important}
html[data-theme="dark"] [data-theme-toggle]{background:#222225!important;color:#fff!important;border-color:#4a4a50!important}
html[data-theme="dark"] [data-theme-toggle]:hover{background:#351013!important;color:#ff6961!important;border-color:#71323a!important}

/* Logo visibility: dark brand plate always, regardless of light/dark page background. */
.staffswift-panel .sb-brand,.ss-site-logo,.ss-brand-plate{background:linear-gradient(145deg,#0b0b0d,#211015)!important;border:1px solid rgba(215,0,21,.34)!important;box-shadow:0 8px 24px rgba(17,17,19,.12)!important}
.staffswift-panel .sb-brand{min-height:72px!important;border-radius:18px!important}
.staffswift-panel .sb-brand img,.ss-site-logo img{filter:none!important;opacity:1!important;object-fit:contain!important}
.ss-site-logo{padding:7px 11px!important;border-radius:14px!important}

/* Admin notification overview: guaranteed white on PRODUCT(RED)-style gradient. */
.staffswift-admin-panel .adm-notification-summary{background:linear-gradient(135deg,#690008 0%,#a80011 48%,#d70015 100%)!important;border:1px solid rgba(255,255,255,.26)!important;color:#fff!important;box-shadow:0 22px 58px rgba(143,0,15,.28)!important}
.staffswift-admin-panel .adm-notification-summary *{color:#fff!important}
.staffswift-admin-panel .adm-notification-summary :where(.adm-ns-copy,.adm-ns-label){color:#ffe8eb!important}
.staffswift-admin-panel .adm-notification-summary .adm-ns-card,.staffswift-admin-panel .adm-notification-summary .adm-ns-type{background:rgba(255,255,255,.13)!important;border:1px solid rgba(255,255,255,.26)!important;color:#fff!important;backdrop-filter:blur(10px)!important}
.staffswift-admin-panel .adm-notification-summary .adm-ns-type:hover{background:rgba(255,255,255,.22)!important;color:#fff!important}
.ss-admin-notification-toast{background:#151517!important;color:#fff!important;border:1px solid #4a4a50!important;box-shadow:0 24px 70px rgba(0,0,0,.38)!important}
.ss-admin-notification-toast *{color:#fff!important}.ss-admin-notification-toast .ss-ant-copy span{color:#d8d8dc!important}.ss-admin-notification-toast .ss-ant-open{background:#ff453a!important;color:#fff!important;border:0!important}

/* Semantic status chips retain meaning, with clear contrast. */
.staffswift-panel :where(.badge,.status,.pill,.chip,.tag){font-weight:700!important;border-width:1px!important;opacity:1!important}
.staffswift-panel :where(.b-ok,.badge-success,.status-completed,.success){background:#e8f7ee!important;color:#0d6a34!important;border-color:#9ed3b2!important}
html[data-theme="dark"] .staffswift-panel :where(.b-ok,.badge-success,.status-completed,.success){background:#12301d!important;color:#83efab!important;border-color:#2c6943!important}
.staffswift-panel :where(.b-no,.badge-danger,.status-cancelled,.error){background:#fff0f2!important;color:#b80012!important;border-color:#f0a3ad!important}
html[data-theme="dark"] .staffswift-panel :where(.b-no,.badge-danger,.status-cancelled,.error){background:#351013!important;color:#ff8179!important;border-color:#71323a!important}
.staffswift-panel :where(.b-am,.warning,.badge-warning){background:#fff5db!important;color:#7a4b00!important;border-color:#e7c978!important}
html[data-theme="dark"] .staffswift-panel :where(.b-am,.warning,.badge-warning){background:#34270d!important;color:#ffd37a!important;border-color:#725a28!important}
.staffswift-panel :where(.b-blue,.badge-info,.status-started,.status-in-progress){background:var(--ss-accent-soft)!important;color:var(--ss-accent)!important;border-color:color-mix(in srgb,var(--ss-accent) 34%,var(--ss-border))!important}

/* Public header and navigation. */
.ss-site-header{background:color-mix(in srgb,var(--ss-surface) 95%,transparent)!important;border-bottom:1px solid var(--ss-border)!important;box-shadow:0 8px 28px rgba(17,17,19,.06)!important}
.ss-site-nav a,.ss-site-login{color:var(--ss-text-2)!important}.ss-site-nav a:hover,.ss-site-nav a.is-active,.ss-site-login:hover{color:var(--ss-accent)!important}
.ss-site-nav a.is-active{background:var(--ss-accent-soft)!important}.ss-site-nav a.is-active::after{background:var(--ss-accent)!important}
.ss-site-menu-btn{background:var(--ss-surface)!important;color:var(--ss-text)!important;border:1px solid var(--ss-border)!important}
.ss-site-mobile-menu{background:var(--ss-surface)!important;color:var(--ss-text)!important;border:1px solid var(--ss-border)!important;box-shadow:0 24px 70px rgba(17,17,19,.16)!important}
.ss-site-mobile-menu a{color:var(--ss-text)!important}.ss-site-mobile-menu a:hover{color:var(--ss-accent)!important;background:var(--ss-accent-soft)!important}
.ss-site-footer{background:#0b0b0d!important;color:#f3f3f5!important;border-top:1px solid #2f2f34!important}.ss-site-footer :where(h1,h2,h3,h4,strong){color:#fff!important}.ss-site-footer :where(p,span,small,a){color:#c9c9cf!important}.ss-site-footer a:hover{color:#ff6961!important}

/* Auth: clean white/black form side + red Apple brand side. */
.ss-auth :where(.auth-side,.auth-left){background:radial-gradient(circle at 18% 14%,rgba(255,255,255,.14),transparent 28%),radial-gradient(circle at 84% 82%,rgba(255,69,58,.30),transparent 36%),linear-gradient(145deg,#5f0007,#9f0010 58%,#c90016)!important;color:#fff!important}
.ss-auth :where(.auth-side,.auth-left) *{color:#fff!important}.ss-auth :where(.auth-side,.auth-left) :where(p,span,small,.side-copy,.side-item span,.side-links a){color:#ffe8eb!important}
.ss-auth :where(.auth-card,.form-card){border:1px solid var(--ss-border)!important;background:var(--ss-surface)!important}
.ss-auth .tab.active{background:var(--ss-accent-soft)!important;color:var(--ss-accent)!important;border-color:color-mix(in srgb,var(--ss-accent) 30%,var(--ss-border))!important}

/* Modal / dropdown / menu surfaces: never transparent over content. */
:is(.staffswift-panel,.ss-auth,.ss-public,.ss-standalone-public) :where(.modal-content,.dialog,.popup,.dropdown-menu,.menu,.popover,.tooltip-inner){background:var(--ss-surface)!important;color:var(--ss-text)!important;border-color:var(--ss-border)!important;box-shadow:0 24px 70px rgba(17,17,19,.18)!important}
:is(.staffswift-panel,.ss-auth,.ss-public,.ss-standalone-public) :where(.dropdown-menu,.menu,.popover) :where(a,button){color:var(--ss-text)!important}

/* Mobile card tables get clear labels and surfaces. */
@media(max-width:820px){
  .staffswift-panel table.ss-mobile-cards tr,.staffswift-panel .ss-card-table tr{background:var(--ss-surface)!important;border:1px solid var(--ss-border)!important;box-shadow:0 8px 24px rgba(17,17,19,.07)!important}
  .staffswift-panel table.ss-mobile-cards td,.staffswift-panel .ss-card-table td{background:transparent!important;color:var(--ss-text-2)!important;border-color:var(--ss-border)!important}
  .staffswift-panel table.ss-mobile-cards td::before,.staffswift-panel .ss-card-table td::before{color:var(--ss-muted)!important;font-weight:750!important}
}

/* Apple.com / PRODUCT(RED)-inspired homepage v4.0.6. */
.ss-home-v407 .hero{position:relative;isolation:isolate;overflow:hidden;padding:clamp(84px,9vw,140px) 0 clamp(92px,10vw,156px)!important;background:linear-gradient(180deg,var(--ss-bg) 0%,var(--ss-bg-alt) 100%)!important}
.ss-home-v407 .hero::before{content:"";position:absolute;width:min(58vw,820px);aspect-ratio:1;right:-10vw;top:-26%;z-index:-1;border-radius:50%;background:radial-gradient(circle,rgba(215,0,21,.20) 0%,rgba(215,0,21,.08) 36%,transparent 70%);filter:blur(2px);animation:ssV406Glow 10s ease-in-out infinite alternate}
html[data-theme="dark"] .ss-home-v407 .hero::before{background:radial-gradient(circle,rgba(255,69,58,.26) 0%,rgba(255,69,58,.09) 38%,transparent 72%)}
.ss-home-v407 .hero-bg{position:absolute!important;inset:0!important;z-index:-3!important;background:linear-gradient(180deg,var(--ss-bg),var(--ss-bg-alt))!important}
.ss-home-v407 .hero-inner{display:grid!important;grid-template-columns:minmax(0,1.04fr) minmax(390px,.96fr)!important;align-items:center!important;gap:clamp(48px,7vw,96px)!important}
.ss-home-v407 .hero-copy{min-width:0}
.ss-home-v407 .hero-eyebrow{display:inline-flex!important;align-items:center!important;gap:9px!important;padding:8px 13px!important;border-radius:999px!important;background:var(--ss-accent-soft)!important;color:var(--ss-accent)!important;border:1px solid color-mix(in srgb,var(--ss-accent) 24%,var(--ss-border))!important;font-size:.78rem!important;font-weight:700!important;box-shadow:none!important}
.ss-home-v407 .hero-eyebrow .dot{width:7px!important;height:7px!important;border-radius:50%!important;background:var(--ss-accent)!important;box-shadow:0 0 0 5px color-mix(in srgb,var(--ss-accent) 12%,transparent)!important}
.ss-home-v407 .hero h1{margin:24px 0 0!important;max-width:850px!important;font-size:clamp(3.4rem,6.8vw,6.75rem)!important;line-height:.92!important;letter-spacing:-.067em!important;font-weight:760!important;color:var(--ss-text)!important}
.ss-home-v407 .hero h1 .hero-gradient{display:block;margin-top:.08em;background:linear-gradient(92deg,#a80011 0%,#d70015 48%,#ff453a 100%)!important;-webkit-background-clip:text!important;background-clip:text!important;color:transparent!important}
html[data-theme="dark"] .ss-home-v407 .hero h1 .hero-gradient{background:linear-gradient(92deg,#ff6961,#ff453a 52%,#ff9b95)!important;-webkit-background-clip:text!important;background-clip:text!important;color:transparent!important}
.ss-home-v407 .hero-desc{max-width:680px!important;margin:30px 0 0!important;font-size:clamp(1.06rem,1.55vw,1.3rem)!important;line-height:1.58!important;color:var(--ss-text-2)!important}
.ss-home-v407 .hero-cta{display:flex!important;flex-wrap:wrap!important;gap:12px!important;margin:34px 0 0!important}.ss-home-v407 .hero-cta .btn{min-height:52px!important;padding:0 22px!important;border-radius:999px!important;font-size:.96rem!important;font-weight:700!important}
.ss-home-v407 .hero-cta .btn-gold{background:var(--ss-accent)!important;color:#fff!important;border-color:var(--ss-accent)!important}.ss-home-v407 .hero-cta .btn-navy-solid{background:var(--ss-surface)!important;color:var(--ss-text)!important;border:1px solid var(--ss-border-strong)!important;box-shadow:0 8px 24px rgba(17,17,19,.06)!important}
.ss-home-v407 .hero-cta .btn-navy-solid:hover{background:var(--ss-accent-soft)!important;color:var(--ss-accent)!important;border-color:color-mix(in srgb,var(--ss-accent) 30%,var(--ss-border))!important}
.ss-home-v407 .hero-proof{display:flex!important;flex-wrap:wrap!important;gap:10px!important;margin:28px 0 0!important}.ss-home-v407 .hero-proof span{display:inline-flex!important;align-items:center!important;gap:7px!important;padding:8px 11px!important;border-radius:999px!important;background:var(--ss-surface)!important;border:1px solid var(--ss-border)!important;color:var(--ss-text-2)!important;font-size:.78rem!important;font-weight:650!important;box-shadow:0 5px 16px rgba(17,17,19,.05)!important}.ss-home-v407 .hero-proof svg{width:15px!important;height:15px!important;stroke:var(--ss-accent)!important;fill:none!important;stroke-width:2!important}
.ss-home-v407 .hero-visual{position:relative!important;display:grid!important;place-items:center!important;min-width:0!important;perspective:1400px!important}
.ss-home-v407 .ss-hero-device{position:relative;width:min(100%,600px)!important;border-radius:34px!important;background:var(--ss-surface)!important;border:1px solid var(--ss-border)!important;box-shadow:0 42px 110px rgba(17,17,19,.18),0 1px 0 rgba(255,255,255,.55) inset!important;overflow:hidden!important;transform:rotateY(-3.2deg) rotateX(1.4deg)!important;transform-style:preserve-3d!important;transition:transform .7s cubic-bezier(.2,.8,.2,1),box-shadow .5s ease!important;animation:ssV406DeviceFloat 7s ease-in-out infinite!important}
html[data-theme="dark"] .ss-home-v407 .ss-hero-device{box-shadow:0 46px 120px rgba(0,0,0,.60),0 1px 0 rgba(255,255,255,.08) inset!important}
.ss-home-v407 .ss-hero-device::before{content:"";position:absolute;inset:0 0 auto;height:3px;background:linear-gradient(90deg,transparent,var(--ss-accent),#ff6961,var(--ss-accent),transparent);background-size:220% 100%;animation:ssV406Scan 5.5s linear infinite;z-index:5}
.ss-home-v407 .ss-hero-device-bar{height:50px!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:10px!important;padding:0 17px!important;background:var(--ss-surface-2)!important;border-bottom:1px solid var(--ss-border)!important}.ss-home-v407 .ss-hero-window-dots{display:flex!important;gap:6px!important}.ss-home-v407 .ss-hero-window-dots i{width:8px!important;height:8px!important;border-radius:50%!important;background:var(--ss-border-strong)!important}.ss-home-v407 .ss-hero-device-title{color:var(--ss-muted)!important;font-size:.72rem!important;font-weight:700!important}.ss-home-v407 .ss-hero-live{color:var(--ss-accent)!important;font-weight:750!important}.ss-home-v407 .ss-hero-live::before{background:var(--ss-accent)!important;box-shadow:0 0 0 4px color-mix(in srgb,var(--ss-accent) 12%,transparent)!important}
.ss-home-v407 .ss-hero-device-body{padding:19px!important;display:grid!important;gap:14px!important;background:linear-gradient(180deg,var(--ss-surface),var(--ss-surface-2))!important}.ss-home-v407 .ss-hero-job{padding:19px!important;border-radius:23px!important;background:var(--ss-surface)!important;border:1px solid var(--ss-border)!important;box-shadow:0 10px 30px rgba(17,17,19,.08)!important}.ss-home-v407 .ss-hero-job-head{display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:14px!important}.ss-home-v407 .ss-hero-job h3{color:var(--ss-text)!important}.ss-home-v407 .ss-hero-job p{color:var(--ss-muted)!important}.ss-home-v407 .ss-hero-status{background:var(--ss-accent-soft)!important;color:var(--ss-accent)!important;border:1px solid color-mix(in srgb,var(--ss-accent) 25%,var(--ss-border))!important}
.ss-home-v407 .ss-hero-metrics{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:9px!important;margin-top:16px!important}.ss-home-v407 .ss-hero-metric{padding:13px!important;border-radius:16px!important;background:var(--ss-surface-2)!important;border:1px solid var(--ss-border)!important}.ss-home-v407 .ss-hero-metric small{color:var(--ss-muted)!important}.ss-home-v407 .ss-hero-metric strong{color:var(--ss-text)!important}.ss-home-v407 .ss-hero-people{display:grid!important;grid-template-columns:1fr 1fr!important;gap:10px!important}.ss-home-v407 .ss-hero-person{display:flex!important;align-items:center!important;gap:10px!important;padding:12px!important;border-radius:17px!important;background:var(--ss-surface)!important;border:1px solid var(--ss-border)!important}.ss-home-v407 .ss-hero-avatar{width:39px!important;height:39px!important;border-radius:50%!important;display:grid!important;place-items:center!important;background:var(--ss-accent-soft)!important;color:var(--ss-accent)!important;font-weight:800!important;border:1px solid color-mix(in srgb,var(--ss-accent) 20%,var(--ss-border))!important}.ss-home-v407 .ss-hero-person strong{color:var(--ss-text)!important}.ss-home-v407 .ss-hero-person small{color:var(--ss-muted)!important}.ss-home-v407 .ss-hero-progress{height:8px!important;border-radius:999px!important;background:var(--ss-surface-3)!important;overflow:hidden!important}.ss-home-v407 .ss-hero-progress span{display:block!important;width:64%;height:100%;border-radius:inherit;background:linear-gradient(90deg,#b80012,#d70015,#ff453a)!important;animation:ssV406Progress 5s ease-in-out infinite alternate!important}
.ss-home-v407 .ss-hero-float{display:none!important}
@keyframes ssV406DeviceFloat{0%,100%{transform:rotateY(-3.2deg) rotateX(1.4deg) translateY(0)}50%{transform:rotateY(-2.2deg) rotateX(.8deg) translateY(-8px)}}
@keyframes ssV406Glow{from{transform:translate3d(0,0,0) scale(1)}to{transform:translate3d(-3%,5%,0) scale(1.06)}}
@keyframes ssV406Scan{from{background-position:0 0}to{background-position:220% 0}}
@keyframes ssV406Progress{from{width:54%}to{width:80%}}
@media(max-width:980px){.ss-home-v407 .hero-inner{grid-template-columns:1fr!important;text-align:center!important}.ss-home-v407 .hero-copy{display:flex!important;flex-direction:column!important;align-items:center!important}.ss-home-v407 .hero-desc{margin-inline:auto!important}.ss-home-v407 .hero-cta,.ss-home-v407 .hero-proof{justify-content:center!important}.ss-home-v407 .hero-visual{margin-top:18px!important}.ss-home-v407 .ss-hero-device{transform:none!important;width:min(100%,640px)!important;animation:ssV406DeviceFloatMobile 7s ease-in-out infinite!important}}
@keyframes ssV406DeviceFloatMobile{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}
@media(max-width:620px){.ss-home-v407 .hero{padding-top:64px!important}.ss-home-v407 .hero h1{font-size:clamp(2.85rem,14vw,4.35rem)!important}.ss-home-v407 .hero-cta{width:100%!important}.ss-home-v407 .hero-cta .btn{width:100%!important}.ss-home-v407 .hero-proof{display:grid!important;grid-template-columns:1fr!important;width:100%!important}.ss-home-v407 .hero-proof span{justify-content:center!important}.ss-home-v407 .ss-hero-device{border-radius:24px!important}.ss-home-v407 .ss-hero-device-body{padding:12px!important}.ss-home-v407 .ss-hero-metrics,.ss-home-v407 .ss-hero-people{grid-template-columns:1fr!important}}

@media(prefers-reduced-motion:reduce){.ss-home-v407 .ss-hero-device,.ss-home-v407 .ss-hero-device::before,.ss-home-v407 .hero::before,.ss-home-v407 .ss-hero-progress span{animation:none!important;transform:none!important}}

/* Brand fallback if a deployment is missing the historical raster logo asset. */
.ss-brand-fallback{display:inline-flex!important;align-items:center!important;gap:9px!important;color:#fff!important;white-space:nowrap!important}
.ss-brand-fallback-mark{width:34px!important;height:34px!important;border-radius:10px!important;display:grid!important;place-items:center!important;background:#d70015!important;color:#fff!important;font-weight:850!important;font-size:1rem!important;box-shadow:0 6px 16px rgba(215,0,21,.28)!important}
.ss-brand-fallback-name{font-size:1.06rem!important;font-weight:780!important;letter-spacing:-.035em!important;color:#fff!important}.ss-brand-fallback-name>span{color:#ffcc00!important}

/* Red brand accents for panel identities and tiny operational details. */
.staffswift-panel .topbar-avatar,.staffswift-panel .sb-avatar:not(.has-photo){background:linear-gradient(145deg,#b80012,#ff453a)!important;color:#fff!important;box-shadow:0 7px 20px rgba(215,0,21,.20)!important}
.staffswift-panel .sb-u-badge .dot{background:var(--ss-accent)!important}
.staffswift-panel .sb-role-tag{background:rgba(215,0,21,.15)!important;color:#ffb8bf!important;border:1px solid rgba(255,69,58,.30)!important}
html:not([data-theme="dark"]) .staffswift-panel .sb-role-tag{background:rgba(255,255,255,.10)!important;color:#fff!important;border-color:rgba(255,255,255,.18)!important}

/* Accessibility correction: action surfaces always use the darker red that supports white text. */
.staffswift-panel :where(.btn,.ss-btn,.apx-btn,.bgold,.btn-gold,.btn-primary,.ss-btn-primary,.apx-btn-primary),.ss-public :where(.btn-primary,.ss-site-btn-primary,.ss-site-btn-gold,.btn-gold),.ss-auth :where(.btn-primary,.auth-btn-primary),.ss-installer :where(.btn-primary),.staffswift-panel .nav-item.active,.staffswift-panel .nav-item[aria-current="page"]{background:var(--ss-action-bg)!important;border-color:var(--ss-action-bg)!important;color:#fff!important}

/* ========================================================================
   StaffSwift v4.0.7 — FINAL VISUAL AUTHORITY
   One deep-red Apple-inspired system across Public / Admin / Staff / Customer
   / Auth. This block is intentionally last and overrides all older page CSS.
   ======================================================================== */
:root{
  --ss-deep-red:#69000d;
  --ss-deep-red-2:#7f0010;
  --ss-deep-red-3:#920014;
  --ss-red-bright:#e00024;
  --ss-red-soft-final:#fff1f3;
  --ss-header-text:#ffffff;
  --ss-header-muted:#ffe4e8;
  --ss-panel-sidebar:#69000d;
  --ss-panel-sidebar-2:#7d0011;
  --ss-card-final:#ffffff;
  --ss-card-soft-final:#f7f7f9;
}
html[data-theme="dark"]{
  --ss-red-soft-final:#2c0c12;
  --ss-card-final:#171719;
  --ss-card-soft-final:#222225;
}

/* Universal finishing and visibility. */
:is(.staffswift-panel,.ss-public,.ss-standalone-public,.ss-auth,.ss-installer) :where(h1,h2,h3,h4,h5,h6,p,span,strong,small,label,a,button,td,th,li,dt,dd){text-rendering:optimizeLegibility}
:is(.staffswift-panel,.ss-public,.ss-standalone-public,.ss-auth,.ss-installer) :where(.card,.panel,.box,.widget,.ss-card,.public-content-card,.public-card,.auth-card,.area-card,.featured-card,.role-card,.bf-card,.cat-card,.hiw-step){min-width:0;overflow-wrap:break-word}
:is(.staffswift-panel,.ss-public,.ss-standalone-public,.ss-auth,.ss-installer) :where(.grid,.row,.flex,.content,.cb,.ch,.card-body,.panel-body)>*{min-width:0}

/* PUBLIC HEADER — solid deep red, transparent logo, no extra logo plate. */
.ss-site-header{
  background:linear-gradient(180deg,var(--ss-deep-red-2),var(--ss-deep-red))!important;
  border-bottom:1px solid rgba(255,255,255,.16)!important;
  box-shadow:0 12px 34px rgba(67,0,8,.24)!important;
  color:#fff!important;
  backdrop-filter:none!important;-webkit-backdrop-filter:none!important;
}
.ss-site-header-inner{min-height:72px!important}
.ss-site-logo{
  background:transparent!important;border:0!important;box-shadow:none!important;
  padding:0!important;border-radius:0!important;display:inline-flex!important;align-items:center!important;
}
.ss-site-logo img{width:190px!important;max-width:38vw!important;max-height:44px!important;height:auto!important;object-fit:contain!important;filter:none!important;opacity:1!important}
.ss-site-nav a,.ss-site-login{color:rgba(255,255,255,.86)!important}
.ss-site-nav a:hover,.ss-site-nav a.is-active,.ss-site-login:hover{color:#fff!important}
.ss-site-nav a.is-active{background:rgba(255,255,255,.13)!important}
.ss-site-nav a.is-active::after{background:#fff!important}
.ss-site-header .ss-site-btn-gold{background:#fff!important;color:var(--ss-deep-red)!important;border-color:#fff!important;box-shadow:0 8px 20px rgba(32,0,4,.18)!important}
.ss-site-header .ss-site-btn-gold:hover{background:#fff4f5!important;color:#520009!important;transform:translateY(-1px)!important}
.ss-site-header :is([data-theme-toggle],.ss-site-menu-btn){background:rgba(255,255,255,.11)!important;color:#fff!important;border-color:rgba(255,255,255,.24)!important;box-shadow:none!important}
.ss-site-header :is([data-theme-toggle],.ss-site-menu-btn):hover{background:rgba(255,255,255,.19)!important;color:#fff!important;border-color:rgba(255,255,255,.38)!important}
.ss-site-mobile-menu{background:linear-gradient(180deg,var(--ss-deep-red),#560009)!important;color:#fff!important;border-color:rgba(255,255,255,.14)!important}
.ss-site-mobile-menu a{color:#fff!important;border-color:rgba(255,255,255,.13)!important}
.ss-site-mobile-menu a:hover,.ss-site-mobile-menu a.is-active{background:rgba(255,255,255,.10)!important;color:#fff!important}
.ss-site-mobile-menu .ss-site-btn-outline{background:transparent!important;color:#fff!important;border-color:rgba(255,255,255,.45)!important}
.ss-site-mobile-menu .ss-site-btn-gold{background:#fff!important;color:var(--ss-deep-red)!important;border-color:#fff!important}

/* PANEL SIDEBAR — always deep red in both themes. */
.staffswift-panel .sidebar{
  background:linear-gradient(180deg,var(--ss-panel-sidebar-2) 0%,var(--ss-panel-sidebar) 48%,#570008 100%)!important;
  color:#fff!important;border-right:1px solid rgba(255,255,255,.12)!important;
  box-shadow:10px 0 36px rgba(63,0,8,.22)!important;
}
.staffswift-panel .sb-brand{
  background:transparent!important;border:0!important;box-shadow:none!important;
  margin:8px 12px 4px!important;padding:12px 8px 10px!important;min-height:68px!important;border-radius:0!important;
}
.staffswift-panel .sb-brand img[src*="logo-full"]{width:180px!important;max-width:calc(100% - 54px)!important;max-height:44px!important;height:auto!important;object-fit:contain!important;filter:none!important;opacity:1!important}
.staffswift-panel .sb-role-tag{background:rgba(255,255,255,.12)!important;color:#fff7d6!important;border:1px solid rgba(255,255,255,.24)!important}
.staffswift-panel .sb-user{background:rgba(255,255,255,.075)!important;border:1px solid rgba(255,255,255,.12)!important;border-radius:18px!important;margin:8px 12px 12px!important;padding:12px!important}
.staffswift-panel .sb-u-name{color:#fff!important}.staffswift-panel .sb-u-sub{color:rgba(255,255,255,.74)!important}.staffswift-panel .sb-u-badge span{color:#fff1bd!important}.staffswift-panel .sb-u-badge .dot{background:#ffcc00!important}
.staffswift-panel .nav-section-label{color:rgba(255,255,255,.52)!important}
.staffswift-panel .nav-item{color:rgba(255,255,255,.86)!important;border:1px solid transparent!important}
.staffswift-panel .nav-item .nav-icon{color:rgba(255,255,255,.72)!important}
.staffswift-panel .nav-item:hover{background:rgba(255,255,255,.10)!important;color:#fff!important;border-color:rgba(255,255,255,.10)!important}
.staffswift-panel .nav-item:hover .nav-icon{color:#fff!important}
.staffswift-panel .nav-item.active,.staffswift-panel .nav-item[aria-current="page"]{
  background:#fff!important;color:var(--ss-deep-red)!important;border-color:#fff!important;
  box-shadow:0 8px 22px rgba(39,0,5,.20)!important;
}
.staffswift-panel .nav-item.active :where(span,svg),.staffswift-panel .nav-item[aria-current="page"] :where(span,svg){color:var(--ss-deep-red)!important;stroke:currentColor!important}
.staffswift-panel .sb-footer{color:rgba(255,255,255,.56)!important;border-color:rgba(255,255,255,.10)!important}

/* Panel top bar keeps theme-aware surface; toggle is explicitly visible and functional. */
.staffswift-panel .topbar{background:var(--ss-surface)!important;border-bottom:1px solid var(--ss-border)!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
.staffswift-panel .ss-theme-toggle{display:inline-grid!important;visibility:visible!important;opacity:1!important;pointer-events:auto!important}
.staffswift-panel .ss-theme-toggle svg{display:block!important}

/* Keep every panel card/table readable and separated. */
.staffswift-panel .content :where(.card,.panel,.box,.widget,.tbl,.table-card,.ss-card,.ap-card,.apx-card,.kpi,.kpi-card,.stat-card,.job-card,.notice-card,.summary-card,.filter-card,.profile-card,.settings-card,.integration-card,.service-card,.address-card,.schedule-card,.approval-card,.balance-hero,.mc,details){
  background:var(--ss-card-final)!important;color:var(--ss-text)!important;border:1px solid var(--ss-border)!important;
}
.staffswift-panel .content :where(.card,.panel,.box,.widget,.ss-card,.job-card) :where(h1,h2,h3,h4,h5,h6,strong,.title,.name,.value){color:var(--ss-text)!important}
.staffswift-panel .content :where(.card,.panel,.box,.widget,.ss-card,.job-card) :where(p,span,small,label,.copy,.meta,.sub,.description,.hint){color:var(--ss-text-2)!important}
.staffswift-panel .content table{table-layout:auto!important}
.staffswift-panel .content table :where(th,td){max-width:min(32rem,46vw);overflow-wrap:anywhere!important}

/* Public common cards use one Apple surface system. */
.ss-public :where(.public-content-card,.public-card,.ss-card),
.ss-standalone-public :where(.featured-card,.area-card,.cat-card,.hiw-step,.bf-card,.app-band,.cta-band){
  background:var(--ss-card-final)!important;color:var(--ss-text)!important;border:1px solid var(--ss-border)!important;
  box-shadow:0 10px 32px rgba(17,17,19,.07)!important;
}
html[data-theme="dark"] .ss-public :where(.public-content-card,.public-card,.ss-card),
html[data-theme="dark"] .ss-standalone-public :where(.featured-card,.area-card,.cat-card,.hiw-step,.bf-card,.app-band,.cta-band){box-shadow:0 14px 38px rgba(0,0,0,.30)!important}

/* Homepage: fix all dark-card text visibility explicitly. */
.ss-home-v407 .role-card.cust{
  background:linear-gradient(145deg,#5b0009 0%,#79000f 58%,#980016 100%)!important;
  color:#fff!important;border:1px solid rgba(255,255,255,.16)!important;box-shadow:0 20px 48px rgba(92,0,12,.20)!important;
}
.ss-home-v407 .role-card.cust :where(h1,h2,h3,h4,h5,h6,strong,.rf-item){color:#fff!important}
.ss-home-v407 .role-card.cust :where(p,span:not(.rf-check),small){color:#ffe8eb!important}
.ss-home-v407 .role-card.cust .role-ico-wrap{background:rgba(255,255,255,.11)!important;border-color:rgba(255,255,255,.22)!important;color:#fff!important}
.ss-home-v407 .role-card.cust .rf-check{background:rgba(255,255,255,.16)!important;color:#fff!important}
.ss-home-v407 .role-card.cust .btn{background:#fff!important;color:var(--ss-deep-red)!important;border:1px solid #fff!important}
.ss-home-v407 .role-card.staff{background:var(--ss-card-final)!important;color:var(--ss-text)!important}

.ss-home-v407 .areas-band{
  background:linear-gradient(135deg,#570008 0%,#72000d 48%,#950016 100%)!important;
  color:#fff!important;border:1px solid rgba(255,255,255,.14)!important;box-shadow:0 24px 60px rgba(89,0,11,.25)!important;
}
.ss-home-v407 .areas-band :where(h1,h2,h3,h4,h5,h6,strong){color:#fff!important}
.ss-home-v407 .areas-band :where(p,span,small,.areas-badge,.area-pill){color:#ffe8eb!important}
.ss-home-v407 .areas-badge{background:rgba(255,255,255,.12)!important;border-color:rgba(255,255,255,.22)!important;color:#fff!important}
.ss-home-v407 .area-pill{background:rgba(255,255,255,.10)!important;border-color:rgba(255,255,255,.18)!important}
.ss-home-v407 .areas-band .btn{background:#fff!important;color:var(--ss-deep-red)!important;border-color:#fff!important}
.ss-home-v407 .map-svg .radar-ring{stroke:#ffb5be!important}

/* Homepage hero — Apple product-page style: centered story, product reveal, restrained motion. */
.ss-home-v407 .hero{padding:clamp(76px,8vw,118px) 0 clamp(72px,8vw,116px)!important;background:linear-gradient(180deg,var(--ss-bg) 0%,var(--ss-bg-alt) 72%,var(--ss-bg) 100%)!important}
.ss-home-v407 .hero::before{width:min(76vw,1080px)!important;right:50%!important;transform:translateX(50%)!important;top:16%!important;background:radial-gradient(circle,rgba(213,0,30,.16) 0%,rgba(213,0,30,.07) 34%,transparent 70%)!important;animation:ssV407HeroGlow 9s ease-in-out infinite alternate!important}
.ss-home-v407 .hero-inner{display:flex!important;flex-direction:column!important;align-items:center!important;gap:clamp(48px,6vw,76px)!important}
.ss-home-v407 .hero-copy{max-width:1040px!important;text-align:center!important;display:flex!important;flex-direction:column!important;align-items:center!important}
.ss-home-v407 .hero-eyebrow{margin:0!important;background:var(--ss-red-soft-final)!important;color:var(--ss-deep-red-2)!important;border-color:rgba(213,0,30,.18)!important}
html[data-theme="dark"] .ss-home-v407 .hero-eyebrow{color:#ffb5be!important}
.ss-home-v407 .hero h1{max-width:1100px!important;margin:24px auto 0!important;font-size:clamp(3.45rem,7.8vw,7.4rem)!important;line-height:.90!important;letter-spacing:-.072em!important;font-weight:760!important}
.ss-home-v407 .hero-desc{max-width:760px!important;margin:30px auto 0!important;font-size:clamp(1.04rem,1.6vw,1.32rem)!important;line-height:1.55!important}
.ss-home-v407 .hero-cta,.ss-home-v407 .hero-proof{justify-content:center!important}
.ss-home-v407 .hero-visual{width:min(100%,980px)!important;margin:0 auto!important;perspective:1600px!important}
.ss-home-v407 .ss-hero-device{width:min(100%,900px)!important;transform:none!important;border-radius:32px!important;box-shadow:0 44px 120px rgba(31,0,5,.20),0 1px 0 rgba(255,255,255,.7) inset!important;animation:ssV407ProductReveal .9s cubic-bezier(.2,.8,.2,1) both,ssV407ProductFloat 8s 1s ease-in-out infinite!important}
html[data-theme="dark"] .ss-home-v407 .ss-hero-device{box-shadow:0 46px 130px rgba(0,0,0,.64)!important}
.ss-home-v407 .ss-hero-device-body{padding:22px!important}
.ss-home-v407 .ss-hero-job{padding:22px!important}
@keyframes ssV407ProductReveal{from{opacity:0;transform:translateY(34px) scale(.965)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes ssV407ProductFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
@keyframes ssV407HeroGlow{from{opacity:.72;filter:blur(3px)}to{opacity:1;filter:blur(7px)}}

/* Areas page: no overlaps, Apple search icon alignment, clean responsive cards. */
.ss-areas-v407 .areas-hero-bg{background:linear-gradient(180deg,var(--ss-bg),var(--ss-bg-alt))!important}
.ss-areas-v407 .area-search-wrap{position:relative!important;max-width:620px!important;margin-inline:auto!important}
.ss-areas-v407 .area-search{height:56px!important;min-height:56px!important;padding:0 18px 0 52px!important;border:1px solid var(--ss-border-strong)!important;border-radius:16px!important;background:var(--ss-surface)!important;color:var(--ss-text)!important;box-shadow:0 10px 28px rgba(17,17,19,.07)!important}
.ss-areas-v407 .area-search-icon{position:absolute!important;left:18px!important;top:50%!important;transform:translateY(-50%)!important;width:20px!important;height:20px!important;display:grid!important;place-items:center!important;color:var(--ss-deep-red-2)!important;z-index:2!important;pointer-events:none!important}
.ss-areas-v407 .area-search-icon svg{width:20px!important;height:20px!important;display:block!important;stroke:currentColor!important;fill:none!important;stroke-width:1.9!important;stroke-linecap:round!important;stroke-linejoin:round!important}
.ss-areas-v407 .featured-grid{gap:18px!important}
.ss-areas-v407 .featured-card{grid-template-columns:minmax(0,1fr)!important;gap:20px!important;padding:22px!important;overflow:hidden!important}
.ss-areas-v407 .featured-card>*{min-width:0!important}
.ss-areas-v407 .fc-head,.ss-areas-v407 .ac-head{align-items:flex-start!important;min-width:0!important}
.ss-areas-v407 .fc-head>div:last-child,.ss-areas-v407 .ac-head>div:last-child{min-width:0!important}
.ss-areas-v407 :where(.fc-title,.ac-title,.fc-desc,.ac-landmarks,.ac-venues,.fc-subhead,.chip){overflow-wrap:anywhere!important;word-break:normal!important}
.ss-areas-v407 .fc-chips{align-items:flex-start!important}.ss-areas-v407 .chip{max-width:100%!important;white-space:normal!important;line-height:1.35!important}
.ss-areas-v407 .area-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;align-items:stretch!important}
.ss-areas-v407 .area-card{min-width:0!important;height:100%!important;padding:18px!important;overflow:hidden!important;display:flex!important;flex-direction:column!important}
.ss-areas-v407 .ac-venues{margin-top:auto!important;padding-top:8px!important}
@media(min-width:768px){.ss-areas-v407 .featured-card{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;padding:28px!important}.ss-areas-v407 .fc-venue-block{padding-left:24px!important}}
@media(max-width:960px){.ss-areas-v407 .area-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:620px){.ss-areas-v407 .area-grid{grid-template-columns:1fr!important}.ss-areas-v407 .featured-card{padding:18px!important}.ss-areas-v407 .area-search{font-size:.92rem!important}.ss-areas-v407 .hero-stats{gap:16px!important}.ss-areas-v407 .hstat{min-width:40%!important}}

/* FAQ searchable help centre. */
.ss-faq-v407 .faq-search-shell{max-width:760px;margin:0 auto 26px;position:relative}
.ss-faq-v407 .faq-search-box{position:relative}
.ss-faq-v407 .faq-search-box svg{position:absolute;left:17px;top:50%;transform:translateY(-50%);width:20px;height:20px;stroke:var(--ss-deep-red-2);fill:none;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}
.ss-faq-v407 .faq-search-input{width:100%;min-height:56px;padding:0 48px 0 50px!important;border-radius:16px!important;box-shadow:0 10px 28px rgba(17,17,19,.07)!important}
.ss-faq-v407 .faq-search-clear{position:absolute;right:9px;top:50%;transform:translateY(-50%);width:36px;height:36px;border-radius:50%;border:0;background:var(--ss-surface-2);color:var(--ss-text);cursor:pointer;display:none;place-items:center;font-size:20px;line-height:1}
.ss-faq-v407 .faq-search-clear.is-visible{display:grid}
.ss-faq-v407 .faq-search-meta{text-align:center;color:var(--ss-muted)!important;font-size:.82rem;margin-top:10px}
.ss-faq-v407 .faq-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:16px!important}
.ss-faq-v407 .faq-item{padding:22px!important;border-radius:20px!important;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease!important}
.ss-faq-v407 .faq-item:hover{transform:translateY(-2px);border-color:rgba(213,0,30,.28)!important;box-shadow:0 16px 40px rgba(17,17,19,.09)!important}
.ss-faq-v407 .faq-item[hidden]{display:none!important}
.ss-faq-v407 .faq-empty{display:none;text-align:center;padding:34px 20px;border:1px dashed var(--ss-border-strong);border-radius:20px;background:var(--ss-surface)}
.ss-faq-v407 .faq-empty.is-visible{display:block}
@media(max-width:720px){.ss-faq-v407 .faq-grid{grid-template-columns:1fr!important}.ss-faq-v407 .faq-item{padding:18px!important}}

/* Auth: no theme control, compact mobile top brand, Apple-clean form surface. */
.ss-auth [data-theme-toggle],.ss-auth .ss-theme-toggle,.ss-auth .ss-theme-toggle-floating{display:none!important}
.ss-auth .auth-top{min-height:0!important;padding:0!important;margin:0 0 14px!important;gap:10px!important}
.ss-auth .brand-mini img{width:28px!important;height:28px!important;border-radius:8px!important}
.ss-auth .brand-mini{font-size:.9rem!important;line-height:1!important}
.ss-auth .auth-badge{padding:.38rem .62rem!important;font-size:.64rem!important;line-height:1.15!important}
.ss-auth .auth-card{padding-top:24px!important}
.ss-auth .auth-side img.logo{width:188px!important;max-width:74%!important;margin-bottom:32px!important;background:transparent!important;border:0!important;padding:0!important}
@media(max-width:900px){.ss-auth .auth-card{padding:18px 16px 34px!important}.ss-auth .auth-top{margin-bottom:12px!important}}
@media(max-width:520px){.ss-auth .auth-card{padding:14px 13px 28px!important}.ss-auth .auth-top{margin-bottom:9px!important}.ss-auth .brand-mini img{width:26px!important;height:26px!important}.ss-auth .auth-badge{font-size:.6rem!important;padding:.32rem .5rem!important}.ss-auth .account-type-banner{padding:10px 11px!important;margin-bottom:14px!important}.ss-auth .auth-head{margin-bottom:14px!important}}

/* Dark surfaces used by services pages: protect white text from global typography rules. */
.ss-standalone-public .price-strip{background:linear-gradient(135deg,#570008,#820011)!important;color:#fff!important;border:1px solid rgba(255,255,255,.14)!important}
.ss-standalone-public .price-strip :where(h1,h2,h3,h4,h5,h6,strong,.price-main,.price-label){color:#fff!important}
.ss-standalone-public .price-strip :where(p,span,small){color:#ffe5e9!important}

/* Responsive finishing: predictable spacing at every width. */
@media(max-width:900px){
  .ss-site-header-inner{min-height:64px!important}
  .ss-site-logo img{width:162px!important;max-width:52vw!important;max-height:38px!important}
  .staffswift-panel .sidebar{width:min(88vw,310px)!important}
}
@media(max-width:620px){
  .ss-site-header-inner{min-height:60px!important}
  .ss-site-logo img{width:148px!important;max-width:54vw!important;max-height:35px!important}
  .ss-site-actions{gap:7px!important}
  .ss-site-header [data-theme-toggle],.ss-site-header .ss-site-menu-btn{width:38px!important;height:38px!important;min-width:38px!important;min-height:38px!important}
  .staffswift-panel .content{padding-left:11px!important;padding-right:11px!important}
  .staffswift-panel .content :where(.card,.panel,.box,.widget,.ss-card,.job-card,.table-card){border-radius:16px!important}
  .staffswift-panel .topbar-page-title{max-width:44vw!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}
  .ss-home-v407 .hero{padding-top:54px!important}
  .ss-home-v407 .hero h1{font-size:clamp(3rem,15vw,4.8rem)!important}
  .ss-home-v407 .hero-visual{width:100%!important}
  .ss-home-v407 .ss-hero-device{border-radius:22px!important}
  .ss-home-v407 .ss-hero-device-body{padding:12px!important}
  .ss-home-v407 .ss-hero-job{padding:15px!important}
}
@media(prefers-reduced-motion:reduce){.ss-home-v407 .ss-hero-device,.ss-home-v407 .hero::before{animation:none!important;transform:none!important}}

/* Public template heroes and sections — explicit because older generic typography used to overwrite white-on-dark hero text. */
.ss-public .public-page-hero{
  background:linear-gradient(135deg,#570008 0%,#72000d 48%,#950016 100%)!important;
  color:#fff!important;border:1px solid rgba(255,255,255,.14)!important;
  box-shadow:0 24px 60px rgba(89,0,11,.24)!important;
}
.ss-public .public-page-hero::before,.ss-public .public-page-hero::after{background:radial-gradient(circle,rgba(255,255,255,.13),transparent 68%)!important}
.ss-public .public-page-hero :where(h1,h2,h3,h4,h5,h6,strong){color:#fff!important}
.ss-public .public-page-hero :where(p,span,small,.eyebrow){color:#ffe8eb!important}
.ss-public .public-page-hero .eyebrow{background:rgba(255,255,255,.11)!important;border-color:rgba(255,255,255,.22)!important;color:#fff!important}
.ss-public .public-section{background:var(--ss-card-final)!important;border:1px solid var(--ss-border)!important;box-shadow:0 10px 32px rgba(17,17,19,.07)!important}
.ss-public .public-content-card{background:var(--ss-card-soft-final)!important;color:var(--ss-text)!important;border-color:var(--ss-border)!important}
.ss-public .public-content-card :where(h1,h2,h3,h4,strong){color:var(--ss-text)!important}
.ss-public .public-content-card :where(p,span,small,.meta){color:var(--ss-text-2)!important}

/* Registration success and any auth-owned standalone header. */
.ss-auth .site-header{background:linear-gradient(180deg,var(--ss-deep-red-2),var(--ss-deep-red))!important;border-bottom:1px solid rgba(255,255,255,.16)!important;box-shadow:0 10px 30px rgba(67,0,8,.20)!important}
.ss-auth .site-header .brand,.ss-auth .site-header .brand img{background:transparent!important;border:0!important;box-shadow:none!important}
.ss-auth .site-header .brand img{width:174px!important;max-height:40px!important;object-fit:contain!important}
.ss-auth .site-header .links a{color:rgba(255,255,255,.85)!important}.ss-auth .site-header .links a:hover{color:#fff!important}
.ss-auth .site-header .links a.gold{background:#fff!important;color:var(--ss-deep-red)!important;border-radius:999px!important;padding:.55rem .9rem!important}

/* Footer uses the same deep-red family instead of a visually unrelated black block. */
.ss-site-footer{background:linear-gradient(180deg,#580009,#3d0006)!important;border-top:1px solid rgba(255,255,255,.12)!important}
.ss-site-footer-brand>a:first-child{background:transparent!important;border:0!important;border-radius:0!important;padding:0!important}
.ss-site-footer-brand img{width:186px!important;max-height:42px!important;object-fit:contain!important}
.ss-site-footer :where(h1,h2,h3,h4,strong){color:#fff!important}.ss-site-footer :where(p,span,small,a){color:#f3cdd2!important}.ss-site-footer a:hover{color:#fff!important}

/* v4.0.7 final consistency details. */
.ss-standalone-public .btn-gold{background:var(--ss-deep-red-2)!important;color:#fff!important;border-color:var(--ss-deep-red-2)!important;box-shadow:0 9px 22px rgba(105,0,13,.18)!important}
.ss-standalone-public .btn-gold:hover{background:#560009!important;color:#fff!important;border-color:#560009!important}
.ss-standalone-public .btn-navy-solid{background:var(--ss-surface)!important;color:var(--ss-text)!important;border:1px solid var(--ss-border-strong)!important;box-shadow:0 8px 20px rgba(17,17,19,.06)!important}
.ss-standalone-public .btn-navy-solid:hover{background:var(--ss-surface-2)!important;color:var(--ss-text)!important}
.ss-home-v407 .role-card.staff .btn{background:var(--ss-deep-red-2)!important;color:#fff!important;border-color:var(--ss-deep-red-2)!important}
.ss-areas-v407 .region-tab.active{background:var(--ss-deep-red-2)!important;color:#fff!important;border-color:var(--ss-deep-red-2)!important}
.ss-areas-v407 .region-tab{background:var(--ss-surface)!important;color:var(--ss-text-2)!important;border-color:var(--ss-border)!important}
.ss-areas-v407 .region-tab:hover{border-color:rgba(127,0,16,.38)!important;color:var(--ss-deep-red-2)!important}
.ss-auth .auth-top{display:flex!important;align-items:center!important;justify-content:space-between!important;flex-wrap:nowrap!important}
.ss-auth .auth-top .brand-mini{min-width:0!important;flex:1 1 auto!important}
.ss-auth .auth-top .auth-badge{flex:0 1 auto!important;max-width:58%!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
@media(max-width:420px){.ss-auth .auth-top .auth-badge{max-width:54%!important}.ss-auth .auth-top .brand-mini span{font-size:.78rem!important}}

/* Final mobile collision guards for dashboard/public feature surfaces. */
.staffswift-admin-panel .adm-ns-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}
.staffswift-admin-panel .adm-ns-card{min-width:0!important;overflow:hidden!important}
.staffswift-admin-panel .adm-ns-value,.staffswift-admin-panel .adm-ns-label{overflow-wrap:anywhere!important}
.ss-home-v407 .areas-band .area-pill{opacity:1!important}
@media(max-width:860px){.staffswift-admin-panel .adm-ns-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:460px){.staffswift-admin-panel .adm-ns-grid{grid-template-columns:1fr!important}.staffswift-admin-panel .adm-ns-head{display:grid!important;grid-template-columns:1fr!important}.staffswift-admin-panel .adm-ns-total{justify-self:start!important}}
