:root{--brand-red:#ed1c24;--brand-red-dark:#5d1415;--brand-red-hover:#c8161d;--brand-black:#0d0d0d;--brand-grey:#d3d1d1;--brand-soft:#f3eeee;--sidebar-bg:#0d0d0d;--sidebar-bg-hover:#242426;--sidebar-text:#c9c9cd;--sidebar-text-active:#fff;--topbar-bg:#fff;--canvas:#f5f5f6;--card:#fff;--text:#1a1d21;--text-muted:#6b7280;--text-faint:#9ca3af;--border:#e5e7eb;--border-strong:#d1d5db;--status-success:#12633b;--status-success-bg:#e8f5ee;--status-success-border:#9bc9ae;--status-warning:#85420a;--status-warning-bg:#fff4df;--status-warning-border:#e8c98e;--status-danger:#a51d28;--status-danger-bg:#fdebed;--status-danger-border:#e9b2b7;--status-info:#244f96;--status-info-bg:#eaf2ff;--status-info-border:#b8cceb;--ok:var(--status-success);--ok-bg:var(--status-success-bg);--warn:var(--status-warning);--warn-bg:var(--status-warning-bg);--danger:var(--status-danger);--danger-bg:var(--status-danger-bg);--info-bg:var(--status-info-bg);--radius:14px;--radius-sm:8px;--shadow:0 1px 2px #0d0d0d0d, 0 8px 24px #0d0d0d0d;--sidebar-w:248px;--sidebar-collapsed-w:76px}.sidebar-nav .ico{place-items:center;display:grid}.sidebar-nav .ico svg{display:block}.ops-header,.staff-home-header{background:#fff;border:1px solid #dfe1e4;border-radius:9px;justify-content:space-between;align-items:center;gap:1.25rem;margin-bottom:.85rem;padding:1rem 1.15rem;display:flex}.ops-header h1,.staff-home-header h1{letter-spacing:-.035em;margin:.12rem 0 0;font-size:clamp(1.45rem,2.4vw,2rem);font-weight:760;line-height:1.1}.ops-header>div>p:last-child,.staff-home-header>div>p:last-child{color:var(--text-muted);margin:.3rem 0 0;font-size:.78rem}.ops-kicker,.staff-home-date{color:var(--brand-red-dark);letter-spacing:.12em;text-transform:uppercase;margin:0;font-size:.64rem;font-weight:800}.ops-header-actions,.staff-home-actions{align-items:center;gap:.55rem;display:flex}.ops-header-actions .btn,.staff-home-actions .btn{min-height:42px;box-shadow:none;border-radius:7px;align-items:center;gap:.45rem;display:inline-flex}.ops-stat-strip{background:#fff;border:1px solid #dfe1e4;border-radius:9px;grid-template-columns:repeat(auto-fit,minmax(165px,1fr));margin-bottom:.85rem;display:grid;overflow:hidden}.ops-stat-strip>a{min-width:0;color:var(--text);border-right:1px solid #e5e6e8;padding:.85rem 1rem;text-decoration:none}.ops-stat-strip>a:last-child{border-right:0}.ops-stat-strip>a:hover{background:#fafafa;text-decoration:none}.ops-stat-strip span,.ops-stat-strip strong,.ops-stat-strip small{display:block}.ops-stat-strip span{color:var(--text-muted);font-size:.67rem;font-weight:700}.ops-stat-strip strong{letter-spacing:-.04em;margin-top:.28rem;font-size:1.65rem;line-height:1}.ops-stat-strip small{color:var(--text-muted);margin-top:.38rem;font-size:.65rem}.ops-stat-strip .is-alert{box-shadow:inset 0 3px var(--brand-red)}.ops-stat-strip .is-alert strong{color:var(--brand-red-dark)}.staff-directory-header{margin-bottom:.7rem}.staff-directory-stats{background:#fff;border:1px solid #dfe1e4;border-radius:9px;grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:.7rem;display:grid;overflow:hidden}.staff-directory-stats>div{border-right:1px solid #e5e6e8;min-width:0;padding:.8rem 1rem}.staff-directory-stats>div:last-child{border-right:0}.staff-directory-stats span,.staff-directory-stats strong,.staff-directory-stats small{display:block}.staff-directory-stats span{color:var(--text-muted);font-size:.67rem;font-weight:700}.staff-directory-stats strong{letter-spacing:-.04em;margin-top:.22rem;font-size:1.55rem;line-height:1}.staff-directory-stats small{color:var(--text-muted);margin-top:.32rem;font-size:.64rem}.staff-directory-stats .is-alert{box-shadow:inset 0 3px var(--brand-red)}.staff-directory-stats .is-alert strong{color:var(--brand-red-dark)}.staff-directory-panel{background:#fff;border:1px solid #dfe1e4;border-radius:9px;overflow:hidden}.staff-directory-toolbar{border-bottom:1px solid #e3e4e6;justify-content:space-between;align-items:center;gap:1rem;padding:.85rem 1rem;display:flex}.staff-directory-toolbar h2{letter-spacing:-.02em;margin:0;font-size:1rem}.staff-directory-toolbar p{color:var(--text-muted);margin:.18rem 0 0;font-size:.7rem}.staff-directory-search{align-items:center;gap:.45rem;display:flex}.staff-directory-search input{background:#fafafa;border:1px solid #d4d6da;border-radius:6px;width:min(330px,38vw);min-height:36px;padding:.45rem .7rem;font-size:.74rem}.staff-directory-search .btn{min-height:36px}.staff-search-clear{color:var(--text-muted);font-size:.7rem;font-weight:650}.staff-roster-row{border-bottom:1px solid #e7e8ea;grid-template-columns:minmax(210px,.85fr) minmax(0,3fr) auto;gap:.9rem;padding:.9rem 1rem;display:grid}.staff-roster-row:last-child{border-bottom:0}.staff-roster-row:hover{background:#fafafa}.staff-roster-row.is-inactive{opacity:.62}.staff-roster-person{grid-template-columns:38px minmax(0,1fr);align-content:start;gap:.65rem;min-width:0;display:grid}.staff-avatar{color:#fff;letter-spacing:.03em;background:#202124;border-radius:50%;place-items:center;width:38px;height:38px;font-size:.68rem;font-weight:800;display:grid}.staff-roster-person a{color:var(--text);font-size:.8rem;font-weight:750}.staff-roster-person small{color:var(--text-muted);margin-top:.14rem;font-size:.62rem;display:block}.staff-roster-details{grid-template-columns:minmax(150px,1.15fr) minmax(160px,1.15fr) minmax(115px,.8fr) minmax(145px,1fr) minmax(150px,1fr) minmax(110px,.72fr);gap:.65rem;min-width:0;margin:0;display:grid}.staff-detail{min-width:0;margin:0}.staff-detail dt{color:#777b82;letter-spacing:.06em;text-transform:uppercase;margin:0 0 .35rem;font-size:.56rem;font-weight:800}.staff-detail dd{overflow-wrap:anywhere;color:#42464c;margin:0 0 .22rem;font-size:.65rem;line-height:1.35}.staff-detail dd strong{color:var(--text)}.staff-detail-contact a{color:#34373c}.staff-detail-address dd{-webkit-line-clamp:4;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.staff-detail-compliance .badge{margin-bottom:.12rem;font-size:.59rem}.staff-missing{color:var(--text-faint)}.staff-roster-actions{flex-direction:column;justify-content:space-between;align-items:flex-end;gap:.55rem;display:flex}.staff-roster-actions .btn{white-space:nowrap}.staff-directory-empty{text-align:center;padding:2.5rem 1rem}.staff-directory-empty strong{font-size:.9rem}.staff-directory-empty p{color:var(--text-muted);margin:.35rem 0 0;font-size:.75rem}.ops-primary-grid{grid-template-columns:minmax(0,2.15fr) minmax(290px,.85fr);gap:.85rem;margin-bottom:.85rem;display:grid}.ops-panel{min-width:0;box-shadow:none;background:#fff;border:1px solid #dfe1e4;border-radius:9px;padding:1rem;overflow:hidden}.ops-panel-head{justify-content:space-between;align-items:flex-start;gap:.8rem;margin-bottom:.75rem;display:flex}.ops-panel-head h2{letter-spacing:-.02em;margin:.12rem 0 0;font-size:1rem}.ops-panel-head>a{color:var(--text);align-items:center;gap:.3rem;font-size:.7rem;font-weight:700;display:inline-flex}.ops-panel-head>small{max-width:250px;color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:.68rem;overflow:hidden}.ops-count{color:#fff;text-align:center;background:#1d1e20;border-radius:5px;min-width:28px;padding:.2rem .45rem;font-size:.68rem;font-weight:800}.ops-table-wrap{overflow-x:auto}.ops-live-table{border-collapse:collapse;width:100%;font-size:.75rem}.ops-live-table th{color:#666b73;letter-spacing:.04em;text-align:left;text-transform:uppercase;white-space:nowrap;background:#f7f7f8;border-block:1px solid #e4e5e7;padding:.55rem .65rem;font-size:.62rem}.ops-live-table td{vertical-align:middle;border-bottom:1px solid #e7e8ea;padding:.68rem .65rem}.ops-live-table tr:last-child td{border-bottom:0}.ops-live-table td strong,.ops-live-table td small{display:block}.ops-live-table td small{max-width:190px;color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;margin-top:.12rem;font-size:.64rem;overflow:hidden}.ops-status{color:#50545b;white-space:nowrap;background:#eef0f2;border-radius:5px;align-items:center;min-height:24px;padding:.18rem .45rem;font-size:.62rem;font-weight:750;display:inline-flex}.ops-status.is-on_site,.ops-status.is-complete{color:#096f3e;background:#e8f7ef}.ops-status.is-late,.ops-status.is-attention{color:#a20e15;background:#fdebec}.ops-status.is-awaiting{color:#8a460a;background:#fff3de}.ops-action-list{display:grid}.ops-action-list>a{min-height:58px;color:var(--text);border-bottom:1px solid #e7e8ea;grid-template-columns:9px minmax(0,1fr) auto;align-items:center;gap:.65rem;padding:.55rem 0;text-decoration:none;display:grid}.ops-action-list>a:last-child{border-bottom:0}.ops-action-list>a:hover strong{color:var(--brand-red-dark)}.ops-action-list strong,.ops-action-list small{display:block}.ops-action-list strong{font-size:.76rem}.ops-action-list small{color:var(--text-muted);margin-top:.12rem;font-size:.65rem}.ops-action-dot{background:#2d9c61;border-radius:50%;width:8px;height:8px}.ops-action-dot.urgent{background:var(--brand-red);box-shadow:0 0 0 3px #ed1c241c}.ops-action-dot.review{background:#d97706}.ops-secondary-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.85rem;margin-bottom:.85rem;display:grid}.ops-record-list{display:grid}.ops-record-list>a{min-height:54px;color:var(--text);border-bottom:1px solid #e7e8ea;justify-content:space-between;align-items:center;gap:.65rem;padding:.48rem 0;text-decoration:none;display:flex}.ops-record-list>a:last-child{border-bottom:0}.ops-record-list strong,.ops-record-list small{display:block}.ops-record-list strong{font-size:.73rem}.ops-record-list small{max-width:190px;color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;margin-top:.12rem;font-size:.62rem;overflow:hidden}.ops-record-meta{color:var(--text-muted);white-space:nowrap;font-size:.65rem}.ops-empty{color:var(--text-muted);text-align:center;margin:0;padding:1rem .5rem;font-size:.75rem}.ops-quick-section{margin-top:.9rem}.ops-quick-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.6rem;display:grid}.ops-quick-link{min-height:62px;color:var(--text);background:#fff;border:1px solid #dfe1e4;border-radius:7px;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:.65rem;padding:.65rem .75rem;text-decoration:none;display:grid}.ops-quick-link:hover{border-color:#aeb1b6;text-decoration:none}.ops-quick-link>svg:first-child{color:var(--brand-red-dark)}.ops-quick-link strong,.ops-quick-link small{display:block}.ops-quick-link strong{font-size:.75rem}.ops-quick-link small{color:var(--text-muted);margin-top:.12rem;font-size:.63rem}.ops-security-note{color:var(--text-muted);justify-content:flex-end;align-items:center;gap:.4rem;margin:.8rem 0 0;font-size:.64rem;display:flex}.ops-payroll-intro{align-items:center;gap:1rem;margin-bottom:.85rem;display:flex}.ops-payroll-intro>div{flex:1}.ops-payroll-intro h2{margin:.15rem 0}.ops-payroll-intro p:last-child{color:var(--text-muted);margin:0;font-size:.78rem}.staff-home-header{grid-template-columns:minmax(0,1fr) auto auto;display:grid}.staff-home-account{align-items:center;gap:.55rem;min-width:170px;display:flex}.staff-home-account .dash-avatar{background:#1e1f22;border:0;border-radius:7px;flex-basis:36px;width:36px;height:36px}.staff-home-account strong,.staff-home-account small{display:block}.staff-home-account strong{text-overflow:ellipsis;white-space:nowrap;max-width:165px;font-size:.76rem;overflow:hidden}.staff-home-account small{color:var(--text-muted);margin-top:.1rem;font-size:.64rem}.dash-alert{box-shadow:none;border-radius:7px}.staff-shift-hub{box-shadow:none;border-color:#dfe1e4;border-radius:9px;margin-bottom:.85rem;padding:1.1rem}.staff-shift-hub-head h2{font-size:clamp(1.35rem,2.8vw,1.85rem)}.staff-briefing-read{align-items:center;gap:.4rem;display:flex}.dash-count{border-radius:5px}.dash-date-block{border-radius:6px}.staff-readiness-summary{border-left:3px solid var(--brand-red);background:#f7f7f8;align-items:center;gap:.7rem;padding:.9rem;display:flex}.staff-readiness-summary>svg{color:var(--brand-red-dark)}.staff-readiness-summary strong,.staff-readiness-summary small{display:block}.staff-readiness-summary strong{font-size:1rem}.staff-readiness-summary small{color:var(--text-muted);margin-top:.15rem;font-size:.66rem}.staff-bottom-nav{display:none}@media (max-width:1120px){.ops-primary-grid{grid-template-columns:1fr}.ops-secondary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.staff-home-header{grid-template-columns:minmax(0,1fr) auto}.staff-home-actions{grid-column:1/-1}}@media (max-width:900px){.ops-header{align-items:flex-start}.ops-secondary-grid,.ops-quick-grid{grid-template-columns:1fr}.ops-stat-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.ops-stat-strip>a:nth-child(2n){border-right:0}.dash-layout{grid-template-columns:1fr}.dash-side-stack{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:700px){.app-staff .main{padding-bottom:calc(74px + env(safe-area-inset-bottom))}.content.content-dashboard{padding:4rem .65rem .75rem}.ops-header,.staff-home-header{border-radius:7px;align-items:flex-start;padding:.85rem}.ops-header{flex-direction:column}.ops-header-actions{grid-template-columns:1fr 1fr;width:100%;display:grid}.ops-header-actions .btn{width:100%}.ops-stat-strip{grid-template-columns:1fr 1fr}.ops-stat-strip>a{border-bottom:1px solid #e5e6e8;padding:.75rem}.ops-stat-strip strong{font-size:1.4rem}.ops-panel{border-radius:7px;padding:.8rem}.ops-live-table{min-width:720px}.ops-payroll-intro{flex-direction:column;align-items:flex-start}.ops-payroll-intro .btn{width:100%}.staff-home-header{grid-template-columns:minmax(0,1fr) auto}.staff-home-header>div:first-child>p:last-child{display:none}.staff-home-account{min-width:0}.staff-home-account>span:last-child{display:none}.staff-home-actions{grid-column:1/-1;grid-template-columns:1fr 1fr;width:100%;display:grid}.staff-home-actions .btn{justify-content:center;width:100%;padding-inline:.55rem;font-size:.75rem}.staff-shift-hub{border-radius:7px;padding:.85rem}.staff-shift-summary{grid-template-columns:1fr 1fr}.staff-shift-summary>div{padding:.75rem}.dash-side-stack,.dash-lower-grid,.dash-quick-grid{grid-template-columns:1fr}.dash-compliance-body{grid-template-columns:1fr;justify-items:stretch}.dash-panel,.dash-next-shift,.dash-briefing,.dash-quick{border-radius:7px}.dash-quick{min-height:96px}.staff-bottom-nav{z-index:65;min-height:62px;padding:.25rem .3rem calc(.25rem + env(safe-area-inset-bottom));background:#fffffffa;border-top:1px solid #d9dade;grid-template-columns:repeat(5,minmax(0,1fr));display:grid;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -4px 18px #10121614}.staff-bottom-nav a{color:#62666e;border-radius:6px;align-content:center;place-items:center;gap:.18rem;min-height:54px;font-size:.59rem;font-weight:700;text-decoration:none;display:grid}.staff-bottom-nav a[aria-current=page]{color:var(--brand-red-dark);background:#f7e9ea}.staff-bottom-nav a:hover{text-decoration:none}}@media (prefers-reduced-motion:reduce){.ops-quick-link,.staff-bottom-nav a{transition:none}}*{box-sizing:border-box}html,body{height:100%}body{background:var(--canvas);color:var(--text);-webkit-font-smoothing:antialiased;margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:14px;line-height:1.5}a{color:var(--brand-red);text-decoration:none}a:hover{text-decoration:underline}h1{letter-spacing:-.01em;margin:0 0 .25rem;font-size:1.45rem;font-weight:650}h2{margin:0 0 .5rem;font-size:1.05rem;font-weight:600}h3{margin:0 0 .35rem;font-size:.9rem;font-weight:600}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.app-loading{min-height:60vh}.app-loading-topbar{border-bottom:1px solid var(--border);background:var(--card);justify-content:space-between;align-items:center;min-height:72px;padding:0 1.35rem;display:flex}.app-loading-content{padding:1.15rem 1.35rem 2rem}.app-loading-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem;margin-bottom:.9rem;display:grid}.app-loading-grid{grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);gap:.9rem;display:grid}.skeleton-card{border:1px solid var(--border);border-radius:var(--radius);background:var(--card);align-content:start;gap:.85rem;min-height:250px;padding:1.15rem;display:grid}.skeleton{background:#e8e9eb;border-radius:7px;display:block;position:relative;overflow:hidden}.skeleton:after{content:"";background:linear-gradient(90deg,#0000,#ffffffb8,#0000);animation:1.25s ease-in-out infinite skeleton-shimmer;position:absolute;inset:0;transform:translate(-100%)}.skeleton-title{width:min(240px,50vw);height:24px}.skeleton-meta{width:92px;height:18px}.skeleton-stat{height:82px}.skeleton-heading{width:38%;height:19px}.skeleton-line{width:72%;height:13px}.skeleton-line.is-long{width:94%}.skeleton-line.is-short{width:48%}.skeleton-row{height:48px}.public-loading-card{overflow:hidden}.public-loading-body{gap:1rem;padding:1.25rem 1.5rem 1.5rem;display:grid}.public-loading-fields{gap:1rem;display:grid}.loading-status{color:var(--text);align-items:center;gap:.65rem;font-size:.82rem;font-weight:700;display:flex}.loading-spinner{border:2px solid var(--border);border-top-color:var(--brand-red);border-radius:50%;width:18px;height:18px;animation:.75s linear infinite loading-spin}.skeleton-input{height:44px}.skeleton-button{height:42px}@keyframes skeleton-shimmer{to{transform:translate(100%)}}@keyframes loading-spin{to{transform:rotate(360deg)}}@media (max-width:700px){.app-loading-topbar{min-height:62px;padding-inline:1rem}.app-loading-content{padding:.9rem 1rem calc(5.5rem + env(safe-area-inset-bottom))}.app-loading-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.app-loading-stats .skeleton-stat:last-child{display:none}.app-loading-grid{grid-template-columns:1fr}.app-loading-grid .skeleton-card:last-child{min-height:190px}}@media (prefers-reduced-motion:reduce){.skeleton:after{animation:none;display:none}.loading-spinner{animation:none}}.app{min-height:100vh;display:flex}.app-admin.sidebar-collapsed{--sidebar-w:var(--sidebar-collapsed-w)}.sidebar{width:var(--sidebar-w);flex:0 0 var(--sidebar-w);background:linear-gradient(154deg, transparent 0 78%, #ed1c2421 78% 85%, transparent 85%), var(--sidebar-bg);flex-direction:column;height:100vh;transition:width .18s,flex-basis .18s;display:flex;position:sticky;top:0;overflow-y:auto}.sidebar-brand{border-top:4px solid var(--brand-red);border-bottom:1px solid #ffffff12;flex:none;align-items:center;min-height:92px;padding:1.15rem 1rem 1rem;display:flex;position:relative;overflow:hidden}.sidebar-brand:after{content:"";background:linear-gradient(90deg, var(--brand-red-dark), var(--brand-red));opacity:.8;pointer-events:none;width:58px;height:140px;position:absolute;top:-43px;right:-34px;transform:rotate(-34deg)}.sidebar-brand-row{z-index:1;align-items:center;gap:.7rem;width:100%;min-width:0;display:flex;position:relative}.sidebar-mark{flex:0 0 34px;width:34px;height:auto;display:block}.sidebar-brand-copy{min-width:0;display:block}.sidebar-brand-name{color:#fff;letter-spacing:.02em;font-size:1rem;font-style:italic;font-weight:700;line-height:1.05}.sidebar-brand-sub{color:var(--text-faint);letter-spacing:.12em;text-transform:uppercase;font-size:.62rem}.sidebar-section{color:#5f6672;letter-spacing:.13em;text-transform:uppercase;padding:.9rem .75rem .2rem;font-size:.62rem;font-weight:700}.sidebar-nav{margin:0;padding:0 .5rem;list-style:none}.sidebar-brand+div>.sidebar-nav{padding-top:.65rem}.sidebar-nav a{border-radius:var(--radius-sm);color:var(--sidebar-text);align-items:center;gap:.6rem;margin-bottom:2px;padding:.5rem .6rem;font-size:.845rem;text-decoration:none;transition:background .12s,color .12s;display:flex}.sidebar-nav a:hover{background:var(--sidebar-bg-hover);color:#fff;text-decoration:none}.sidebar-nav a[aria-current=page]{background:linear-gradient(90deg, var(--brand-red-dark), var(--brand-red));color:#fff;font-weight:550;box-shadow:0 5px 15px #ed1c242e}.sidebar-nav .ico{text-align:center;opacity:.9;flex:0 0 16px;width:16px}.sidebar-collapse-toggle{display:none}@media (min-width:901px){.app-admin .sidebar-collapse-toggle{top:98px;left:calc(var(--sidebar-w) - 48px);z-index:45;color:#c8cbd1;cursor:pointer;width:44px;min-height:44px;box-shadow:none;background:0 0;border:0;border-radius:12px;place-items:center;padding:0;line-height:1;transition:left .18s;display:grid;position:fixed}.app-admin .sidebar-collapse-toggle>span{background:#25262a;border:1px solid #ffffff29;border-radius:9px;place-items:center;width:28px;height:28px;transition:border-color .12s,background .12s,color .12s;display:grid;box-shadow:0 3px 10px #0003}.app-admin .sidebar-collapse-toggle:hover>span{color:#fff;background:#34353a;border-color:#ffffff4d}.app-admin .sidebar-collapse-toggle:focus-visible{outline:none}.app-admin .sidebar-collapse-toggle:focus-visible>span{outline-offset:2px;outline:3px solid #ed1c2452}.app-admin.sidebar-collapsed .sidebar-brand{padding-inline:1.2rem}.app-admin.sidebar-collapsed .sidebar-brand-row{justify-content:center}.app-admin.sidebar-collapsed .sidebar-mark{flex-basis:30px;width:30px}.app-admin.sidebar-collapsed .sidebar-brand-copy,.app-admin.sidebar-collapsed .sidebar-section,.app-admin.sidebar-collapsed .sidebar-foot{display:none}.app-admin.sidebar-collapsed .sidebar-nav{padding-inline:.65rem}.app-admin.sidebar-collapsed .sidebar-nav a{justify-content:center;min-height:42px;padding-inline:.65rem}.app-admin.sidebar-collapsed .sidebar-nav .ico{flex-basis:20px;width:20px;font-size:1rem}.app-admin.sidebar-collapsed .sidebar-item-label{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}}@media (prefers-reduced-motion:reduce){.sidebar,.sidebar-collapse-toggle{transition:none!important}}.sidebar-foot{color:var(--text-faint);word-break:break-word;border-top:1px solid #ffffff12;margin-top:auto;padding:.9rem 1rem;font-size:.72rem;line-height:1.35}.sidebar-role{color:#ff8b90;letter-spacing:.08em;text-transform:uppercase;background:#ed1c2429;border-radius:4px;margin-top:.3rem;padding:.1rem .4rem;font-size:.62rem;font-weight:700;display:inline-block}.sign-out-wrap{margin-top:.9rem}.sign-out-button{border-radius:var(--radius-sm);width:100%;color:var(--sidebar-text);font:inherit;cursor:pointer;background:#ffffff0a;border:1px solid #ffffff24;align-items:center;gap:.45rem;padding:.55rem .65rem;font-size:.78rem;transition:background .12s,border-color .12s,color .12s;display:inline-flex}.sign-out-button:hover:not(:disabled){color:#fff;background:#ffffff1a;border-color:#ffffff47}.sign-out-button:focus-visible{outline-offset:2px;outline:2px solid #ff8b90}.sign-out-button:disabled{cursor:wait;opacity:.65}.sign-out-error{color:#ff9ba0;margin:.5rem 0 0;font-size:.7rem}.main{flex-direction:column;flex:1;min-width:0;display:flex}.topbar{background:var(--topbar-bg);border-top:3px solid;border-image:linear-gradient(90deg, var(--brand-red) 0 18%, var(--brand-black) 18% 24%, var(--brand-grey) 24% 32%, transparent 32%) 1;border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:1rem;padding:.75rem 1.5rem .85rem;display:flex}.topbar-title{letter-spacing:-.01em;font-size:1.02rem;font-weight:720}.topbar-meta{color:var(--text-muted);font-size:.8rem}.content{width:100%;max-width:1200px;padding:1.65rem}.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:1.15rem;padding:1.25rem}.card-head{justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:.75rem;display:flex}.card-title{margin:0;font-size:.95rem;font-weight:640}.card-hint{color:var(--text-muted);margin:.15rem 0 0;font-size:.8rem}.stat-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:1rem;margin-bottom:1.15rem;display:grid}.stat{background:var(--card);border:1px solid var(--border);border-left:3px solid var(--brand-black);border-radius:var(--radius);box-shadow:var(--shadow);padding:1rem 1.1rem}.stat-value{letter-spacing:-.02em;font-size:1.7rem;font-weight:680;line-height:1.1}.stat-label{color:var(--text-muted);margin-top:.2rem;font-size:.78rem}.stat.is-danger{border-left-color:var(--danger)}.stat.is-warn{border-left-color:var(--warn)}.stat.is-ok{border-left-color:var(--ok)}.table{border-collapse:collapse;width:100%;font-size:.855rem}.table th{text-align:left;border-bottom:1px solid var(--border-strong);color:var(--text-muted);letter-spacing:.05em;text-transform:uppercase;white-space:nowrap;padding:.5rem .6rem;font-size:.74rem;font-weight:600}.table td{border-bottom:1px solid var(--border);vertical-align:top;padding:.6rem}.table tbody tr:hover{background:#fafbfc}.table-wrap{overflow-x:auto}.rows{display:block}.row{border-bottom:1px solid var(--border);gap:1rem;padding:.5rem 0;display:flex}.row:last-child{border-bottom:0}.row-label{min-width:210px;color:var(--text-muted);flex:0 0 210px;font-size:.82rem}.row-value{word-break:break-word;font-size:.875rem}.row-empty{color:var(--text-faint)}.badge{letter-spacing:.03em;white-space:nowrap;border-radius:999px;padding:.12rem .5rem;font-size:.7rem;font-weight:650;display:inline-block}.badge-ok{background:var(--ok-bg);color:var(--ok)}.badge-warn{background:var(--warn-bg);color:var(--warn)}.badge-danger{background:var(--danger-bg);color:var(--danger)}.badge-info{background:var(--status-info-bg);color:var(--status-info)}.badge-muted{color:var(--text-muted);background:#f1f2f4}.field{max-width:420px;margin-bottom:.9rem;display:block}.field-label{margin-bottom:.25rem;font-size:.8rem;font-weight:550;display:block}.field-hint{color:var(--text-muted);margin-bottom:.3rem;font-size:.75rem;display:block}.field-error{color:var(--danger);margin-top:.3rem;font-size:.75rem;font-weight:650;display:block}.required-mark{min-width:24px;min-height:24px;color:var(--danger);cursor:help;border-radius:50%;place-items:center;margin-left:.08rem;font-weight:800;line-height:1;display:inline-grid;position:relative}.required-mark:after{content:attr(data-tooltip);z-index:20;color:#fff;opacity:0;pointer-events:none;background:#111;border-radius:5px;width:max-content;max-width:160px;padding:.35rem .5rem;font-size:.68rem;font-weight:600;line-height:1.25;transition:opacity .12s,transform .12s;position:absolute;bottom:calc(100% + 7px);left:50%;transform:translate(-50%,4px)}.required-mark:hover:after,.required-mark:focus-visible:after{opacity:1;transform:translate(-50%)}input,select,textarea{font:inherit;border:1px solid var(--border-strong);border-radius:var(--radius-sm);width:100%;color:var(--text);background:#fff;padding:.5rem .65rem}input:focus,select:focus,textarea:focus{border-color:var(--brand-red);outline:none;box-shadow:0 0 0 3px #ed1c241f}button:focus-visible,.btn:focus-visible{outline:3px solid var(--brand-red);outline-offset:3px}input[type=file]{background:#fafbfc;padding:.4rem}input[type=checkbox]{width:auto}textarea{resize:vertical;min-height:96px}button,.btn{font:inherit;border-radius:var(--radius-sm);background:linear-gradient(135deg, var(--brand-red), #c9131a);color:#fff;cursor:pointer;border:1px solid #0000;width:auto;padding:.5rem .95rem;font-size:.85rem;font-weight:600;transition:background .12s,transform .12s,box-shadow .12s;box-shadow:0 5px 12px #ed1c2424}button:hover,.btn:hover{background:var(--brand-red-hover);text-decoration:none;transform:translateY(-1px);box-shadow:0 7px 17px #ed1c2433}button:active,.btn:active{transform:translateY(0)}button:disabled,.btn[aria-disabled=true]{opacity:.45;cursor:not-allowed;box-shadow:none;transform:none}button.secondary,.btn.secondary{color:var(--text);border-color:var(--border-strong);box-shadow:none;background:#fff}button.secondary:hover,.btn.secondary:hover{background:#f7f8f9}.btn.compact{white-space:nowrap;padding:.38rem .65rem;font-size:.78rem}button.ghost{color:var(--text-muted);border-color:var(--border);background:0 0}button.ghost:hover{color:var(--text);background:#f7f8f9}.form-row{flex-wrap:wrap;align-items:flex-start;gap:.6rem;display:flex}.actions{flex-wrap:wrap;align-items:flex-start;gap:.75rem;display:flex}.invoice-paid-toggle{min-width:104px;color:var(--text-muted);border-color:var(--border-strong);box-shadow:none;background:#fff;align-items:center;gap:.45rem;display:inline-flex}.invoice-paid-toggle:hover{color:var(--text);background:#f7f8f9}.invoice-paid-toggle.is-paid{background:var(--ok-bg);color:var(--ok);border-color:#b8dcc7}.invoice-check{border:1.5px solid;border-radius:4px;place-items:center;width:18px;height:18px;font-size:.72rem;line-height:1;display:inline-grid}.invoice-delivery-state{justify-items:start;gap:.3rem;min-width:145px;display:grid}.invoice-delivery-state small{overflow-wrap:anywhere;max-width:220px;color:var(--text-muted);display:block}.invoice-delivery-state form{margin:0}.invoice-delivery-state button{min-height:36px;padding:.4rem .65rem;font-size:.75rem}.invoice-reminder-control{margin:.45rem 0 0}.invoice-reminder-control button{min-height:36px;padding:.35rem .55rem;font-size:.72rem}.workforce-record{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:1rem;min-height:62px;padding:.65rem .15rem;display:flex}.workforce-record:last-child{border-bottom:0}.workforce-record>span:last-child{text-align:right}.workforce-record strong,.workforce-record small{display:block}.workforce-record strong{font-size:.8rem}.workforce-record small{color:var(--text-muted);margin-top:.12rem;font-size:.75rem}.client-contract-list{gap:.8rem;display:grid}.client-contract-card{border:1px solid var(--border);background:#fff;border-radius:12px;overflow:hidden}.client-contract-summary{border-bottom-color:var(--border);background:#fafafb;padding:.75rem}.client-contract-files{padding:.75rem}.client-contract-files>ul{gap:.45rem;margin:0 0 .75rem;padding:0;list-style:none;display:grid}.client-contract-files>ul>li{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:.75rem;padding-bottom:.45rem;display:flex}.client-contract-files strong,.client-contract-files small{display:block}.client-contract-files strong{text-overflow:ellipsis;white-space:nowrap;max-width:245px;font-size:.75rem;overflow:hidden}.client-contract-files small{color:var(--text-muted);margin-top:.15rem;font-size:.68rem}.client-contract-upload{align-items:flex-end;gap:.55rem;padding-top:.25rem;display:flex}.client-contract-upload .field{flex:1;margin:0}.client-contract-upload label,.client-contract-upload input[type=file]{font-size:.72rem}.stat-row{grid-template-columns:repeat(auto-fit,minmax(165px,1fr));gap:.8rem;margin-bottom:1.15rem;display:grid}.schedule-toolbar{border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);text-align:center;background:#fff;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.8rem;margin-bottom:1rem;padding:.65rem;display:grid}.schedule-toolbar .btn{justify-content:center;align-items:center;min-height:44px;display:inline-flex}.schedule-form-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:0 .85rem;display:grid}.schedule-form-grid .field{max-width:none}.staff-load-grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:.6rem;display:grid}.staff-load-card{border:1px solid var(--border);background:#fafafa;border-radius:10px;align-items:center;gap:.7rem;min-width:0;padding:.65rem;display:flex}.staff-load-avatar,.schedule-assignee>span{background:var(--brand-black);color:#fff;border-radius:50%;flex:0 0 34px;place-items:center;width:34px;height:34px;font-size:.68rem;font-weight:800;display:grid}.staff-load-card>span:last-child{min-width:0}.staff-load-card strong,.staff-load-card small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.staff-load-card strong{font-size:.78rem}.staff-load-card small{color:var(--text-muted);margin-top:.1rem;font-size:.75rem}.rota-board-card{padding-inline:0;overflow:hidden}.rota-board-card>.card-head{padding-inline:1rem}.rota-board-head{align-items:flex-start}.rota-legend{flex-wrap:wrap;justify-content:flex-end;gap:.5rem .85rem;display:flex}.rota-legend span{color:var(--text-muted);align-items:center;gap:.35rem;font-size:.73rem;display:inline-flex}.rota-legend i{background:var(--brand-black);border-radius:3px;width:9px;height:9px}.rota-legend i.is-confirmed{background:var(--ok)}.rota-legend i.is-unfilled{background:var(--warn)}.rota-table-shell{border-top:1px solid var(--border);width:100%;display:none;overflow-x:auto}.rota-table-shell:focus-visible{outline-offset:-3px;outline:3px solid #ed1c2433}.rota-drag-help{border-top:1px solid var(--border);color:var(--text-muted);background:#f7f7f8;align-items:center;gap:.45rem;margin:0;padding:.65rem 1rem;font-size:.72rem;display:flex}.rota-drag-help svg{color:var(--brand-red-dark)}.rota-table{border-spacing:0;table-layout:fixed;background:#fff;width:100%;min-width:1080px}.rota-table th,.rota-table td{border-right:1px solid var(--border);border-bottom:1px solid var(--border)}.rota-table tr>:last-child{border-right:0}.rota-table thead th{height:58px;color:var(--text-muted);letter-spacing:.035em;text-align:center;text-transform:uppercase;background:#f6f6f7;padding:.55rem .45rem;font-size:.68rem;font-weight:650}.rota-table thead th strong{color:var(--text);letter-spacing:0;text-transform:none;margin-top:.12rem;font-size:.78rem;display:block}.rota-table .rota-person-heading{color:#fff;background:var(--brand-black);text-align:left;width:210px;padding-left:1rem}.rota-table thead th.is-today{color:#fff;background:var(--brand-red)}.rota-table thead th.is-today strong{color:#fff}.rota-table tbody th{z-index:2;text-align:left;background:#fff;align-items:center;gap:.65rem;min-height:94px;padding:.7rem .8rem;display:flex;position:sticky;left:0;box-shadow:5px 0 10px #0d0d0d06}.rota-table tbody th>span:last-child{min-width:0}.rota-table tbody th strong,.rota-table tbody th small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.rota-table tbody th strong{font-size:.78rem}.rota-table tbody th small{color:var(--text-muted);margin-top:.14rem;font-size:.68rem;font-weight:500}.rota-table tbody td{vertical-align:top;background:#fff;height:94px;padding:.38rem}.rota-table tbody td.is-today{background:#fff9f9}.rota-table tbody tr:hover td,.rota-table tbody tr:hover th{background-color:#fafafa}.rota-table tbody tr:hover td.is-today{background-color:#fff4f4}.rota-table .rota-unfilled-row th{background:var(--warn-bg)}.rota-unfilled-avatar{background:var(--warn);color:#fff;border-radius:50%;flex:0 0 34px;place-items:center;width:34px;height:34px;font-size:.85rem;font-weight:800;display:grid}.rota-shift-pill{border:1px solid #d4d5d8;border-left:3px solid var(--brand-black);width:100%;min-width:0;color:var(--text);font:inherit;text-align:left;background:#f7f7f8;border-radius:7px;margin-bottom:.3rem;padding:.42rem .45rem;overflow:hidden}.rota-draggable-shift:not(:disabled){cursor:grab;touch-action:manipulation}.rota-draggable-shift:not(:disabled):active{cursor:grabbing}.rota-draggable-shift:disabled{cursor:default}.rota-draggable-shift.is-selected{outline-offset:1px;outline:3px solid #ed1c243d}.rota-draggable-shift:focus-visible{outline-offset:1px;outline:3px solid #ed1c2452}.rota-drag-table tbody td.is-drop-ready{background:#fbfbfc}.rota-drag-table tbody td.is-drag-over{box-shadow:inset 0 0 0 2px #ed1c243d}.rota-drop-target{color:#62666e;cursor:pointer;background:#fff;border:1px dashed #bdc0c5;border-radius:6px;width:100%;min-height:44px;padding:.45rem;font-size:.66rem;font-weight:750}.rota-drop-target:hover,.rota-drop-target:focus-visible{border-color:var(--brand-red);color:var(--brand-red-dark)}.rota-shift-pill:last-child{margin-bottom:0}.rota-shift-pill.is-confirmed{border-left-color:var(--ok);background:var(--ok-bg)}.rota-shift-pill.is-unfilled{border-left-color:var(--warn);background:var(--warn-bg)}.rota-shift-pill.is-declined,.rota-shift-pill.is-no_show{border-left-color:var(--danger);background:var(--danger-bg)}.rota-shift-pill.is-cancelled,.rota-shift-pill.is-completed{border-left-color:var(--text-faint);opacity:.76}.rota-shift-pill strong,.rota-shift-pill span,.rota-shift-pill small,.rota-shift-pill em{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.rota-shift-pill strong{font-variant-numeric:tabular-nums;font-size:.7rem}.rota-shift-pill span{margin-top:.16rem;font-size:.72rem;font-weight:650}.rota-shift-pill small{color:var(--text-muted);margin-top:.05rem;font-size:.65rem}.rota-shift-pill em{color:var(--text-muted);letter-spacing:.04em;text-transform:uppercase;margin-top:.28rem;font-size:.58rem;font-style:normal;font-weight:750}.rota-empty{color:#d2d4d8;text-align:center;padding-top:1.4rem;display:block}.rota-mobile-list{gap:.8rem;padding-inline:1rem;display:grid}.rota-mobile-day{border:1px solid var(--border);background:#fff;border-radius:12px;overflow:hidden}.rota-mobile-day>header{background:var(--brand-black);color:#fff;justify-content:space-between;align-items:center;gap:.7rem;padding:.7rem .8rem;display:flex}.rota-mobile-day>header strong{font-size:.84rem}.rota-mobile-day>header span{color:#d4d4d6;font-size:.72rem}.rota-mobile-shift{border-bottom:1px solid var(--border);padding:.65rem}.rota-mobile-shift:last-child{border-bottom:0}.rota-mobile-person{align-items:center;gap:.5rem;margin-top:.45rem;display:flex}.rota-mobile-person>span{background:var(--brand-black);color:#fff;border-radius:50%;place-items:center;width:28px;height:28px;font-size:.6rem;font-weight:800;display:grid}.rota-mobile-person strong{font-size:.76rem}.rota-mobile-move{justify-content:center;align-items:center;gap:.4rem;width:100%;margin-top:.6rem;display:inline-flex}.schedule-move-backdrop{z-index:120;background:#08090b9e;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.schedule-move-dialog{background:#fff;border:1px solid #d8dade;border-radius:9px;width:min(100%,520px);max-height:calc(100dvh - 2rem);padding:1.15rem;overflow-y:auto;box-shadow:0 22px 64px #0000003d}.schedule-move-head{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.schedule-move-head span{color:var(--brand-red-dark);letter-spacing:.1em;text-transform:uppercase;font-size:.62rem;font-weight:800}.schedule-move-head h3{margin:.2rem 0 0;font-size:1.2rem}.schedule-move-head>button{border:1px solid var(--border);width:44px;min-height:44px;color:var(--text);cursor:pointer;background:#fff;border-radius:7px;place-items:center;padding:0;display:grid}.schedule-move-dialog>p{color:var(--text-muted);margin:.55rem 0 1rem;font-size:.78rem}.schedule-move-form .field{max-width:none}.schedule-move-warning{border-left:3px solid var(--status-warning);background:var(--status-warning-bg);color:var(--status-warning);align-items:flex-start;gap:.45rem;margin:.3rem 0 1rem;padding:.65rem .75rem;font-size:.7rem;display:flex}.schedule-move-warning svg{color:var(--brand-red-dark);flex:none}.schedule-move-actions{justify-content:flex-end;gap:.55rem;display:flex}.schedule-move-actions .btn{min-width:120px}.unfilled-action-card{margin-top:1rem}.unfilled-action-grid{grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:.75rem;display:grid}@media (min-width:760px){.rota-table-shell{display:block}.rota-mobile-list{display:none}}.schedule-shift{border:1px solid var(--border);border-left:3px solid var(--brand-black);background:#fff;border-radius:10px;padding:.75rem}.schedule-shift.is-open{border-left-color:var(--warn);background:#fffdf8}.schedule-shift-head{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.schedule-shift-head>strong{font-size:.84rem}.schedule-shift h3{margin:.6rem 0 .05rem;font-size:.86rem}.schedule-shift>p{color:var(--text-muted);margin:0;font-size:.75rem}.schedule-assignee{align-items:center;gap:.55rem;margin-top:.65rem;display:flex}.schedule-assignee>span{flex-basis:28px;width:28px;height:28px;font-size:.6rem}.schedule-assignee>strong{font-size:.78rem}.schedule-rates{border-top:1px solid var(--border);grid-template-columns:repeat(3,minmax(0,1fr));gap:.35rem;margin-top:.65rem;padding-top:.6rem;display:grid}.schedule-rates span,.schedule-rates strong{display:block}.schedule-rates span{color:var(--text-muted);font-size:.75rem}.schedule-rates strong{color:var(--text);white-space:nowrap;margin-top:.1rem;font-size:.75rem}.schedule-po{color:var(--text-muted);overflow-wrap:anywhere;margin-top:.5rem;font-size:.72rem}.open-shift-status{justify-content:space-between;align-items:center;gap:.6rem;margin-top:.7rem;display:flex}.open-shift-status a{font-size:.75rem;font-weight:650}.publish-shift-form{border-top:1px solid var(--border);gap:.45rem;margin-top:.65rem;padding-top:.65rem;display:grid}.publish-shift-form label{font-size:.75rem;font-weight:650}.publish-shift-form input,.publish-shift-form button{min-height:44px}.opportunity-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:.75rem;display:grid}.opportunity-card{border:1px solid var(--border);border-top:3px solid var(--brand-red);background:#fff;border-radius:12px;min-width:0;padding:.9rem}.opportunity-card-head{justify-content:space-between;align-items:flex-start;gap:.65rem;margin-bottom:.75rem;display:flex}.opportunity-card-head>strong{text-align:right;font-size:.78rem}.opportunity-card h3{margin-bottom:.15rem;font-size:.95rem}.opportunity-card>p{color:var(--text-muted);margin:0;font-size:.8rem}.opportunity-card .opportunity-pay{color:var(--text);margin-top:.65rem}.opportunity-card .opportunity-deadline{margin-top:.25rem}.opportunity-card form{margin-top:.8rem}.opportunity-card form button{width:100%;min-height:46px}.compact-notice{padding:.6rem .7rem;margin:.8rem 0 0!important}.danger-text{color:var(--danger)!important}.application-review-list{gap:.75rem;display:grid}.application-review-card{border:1px solid var(--border);border-left:3px solid var(--brand-red);background:#fff;border-radius:12px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:1rem;padding:1rem;display:grid}.application-review-head{flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:.15rem;display:flex}.application-review-card h3{margin:.7rem 0 .15rem;font-size:.95rem}.application-review-card p{color:var(--text-muted);margin:.12rem 0;font-size:.82rem}.application-review-card small{color:var(--text-muted);margin-top:.55rem;display:block}.application-review-actions{align-items:center;gap:.5rem;display:flex}.application-review-actions form{margin:0}.application-review-actions button{white-space:nowrap;min-height:44px}.role-picker{border:0;min-width:0;margin:0 0 1rem;padding:0}.role-picker legend{margin-bottom:.2rem;font-size:.86rem;font-weight:700}.role-picker .field-hint{margin:0 0 .7rem;display:block}.role-picker-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:.5rem;display:grid}.role-choice{border:1px solid var(--border);min-height:46px;color:var(--text);cursor:pointer;background:#fff;border-radius:10px;align-items:center;gap:.6rem;padding:.65rem .75rem;display:flex}.role-choice:has(input:checked){border-color:var(--brand-red);background:var(--brand-soft)}.role-choice:focus-within{outline-offset:1px;outline:3px solid #ed1c242e}.role-choice input{width:18px;height:18px;min-height:18px;accent-color:var(--brand-red);margin:0}.role-choice span{font-size:.82rem;font-weight:620}.site-role-list{gap:.75rem;display:grid}.site-role-card{border:1px solid var(--border);background:#fff;border-radius:12px;padding:1rem}.site-role-summary{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.site-role-summary h3{margin:0 0 .2rem;font-size:.95rem}.site-role-summary p{color:var(--text-muted);margin:.1rem 0;font-size:.8rem}.role-badge-list{flex-wrap:wrap;gap:.4rem;margin-top:.8rem;display:flex}.role-editor{border-top:1px solid var(--border);margin-top:.85rem}.role-editor summary{min-height:44px;color:var(--brand-red);cursor:pointer;padding:.8rem 0 0;font-size:.82rem;font-weight:700}.role-editor form{padding-top:.8rem}.staff-role-form,.staff-management-form{border-bottom:1px solid var(--border);margin-bottom:1.5rem;padding-bottom:1.5rem}.staff-timesheet-list{gap:.65rem;display:grid}.staff-timesheet-entry{border:1px solid var(--border);border-left:3px solid var(--brand-black);background:#fff;border-radius:10px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:1rem;padding:.85rem;display:grid}.staff-timesheet-entry p{color:var(--text-muted);margin:.15rem 0;font-size:.78rem}.staff-timesheet-entry small{color:var(--text-muted);overflow-wrap:anywhere;margin-top:.35rem;display:block}.staff-timesheet-entry .completed-shift-warning{color:var(--warn);font-weight:650}.staff-timesheet-entry-status{justify-items:end;gap:.35rem;display:grid}.staff-timesheet-entry-status>strong{font-variant-numeric:tabular-nums;white-space:nowrap}.staff-timesheet-review-form{min-width:280px}.staff-timesheet-review-form>label{margin-bottom:.3rem;font-size:.75rem;font-weight:650;display:block}.staff-timesheet-review-form textarea{min-height:64px;margin-bottom:.55rem}.staff-timesheet-review-form .application-review-actions{justify-content:flex-end}.staff-timesheet-review-form button{min-width:96px}.staff-client-timesheet-upload{border-top:3px solid var(--brand-red)}.staff-client-timesheet-upload>form{max-width:860px}.staff-upload-history{border-top:1px solid var(--border);margin-top:1.25rem;padding-top:1rem}.staff-upload-history h3{margin:0 0 .65rem;font-size:.9rem}.staff-upload-history article{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:1rem;padding:.7rem 0;display:flex}.staff-upload-history article:last-of-type{border-bottom:0}.staff-upload-history article>div{align-items:center;gap:.55rem;display:flex}.staff-upload-history strong,.staff-upload-history small{display:block}.staff-upload-history small{color:var(--text-muted);margin-top:.2rem}.client-timesheet-review{grid-template-columns:minmax(0,1fr) minmax(280px,340px);align-items:start}.client-timesheet-review-actions{gap:.65rem;display:grid}.client-timesheet-review-actions>.btn{text-align:center}.client-timesheet-review-actions>form{border:1px solid var(--border);background:#fafafa;border-radius:8px;margin:0;padding:.75rem}.client-timesheet-review-actions>form button{width:100%}.invoice-settings-card{padding:0;overflow:hidden}.invoice-settings-card>summary{cursor:pointer;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.1rem;list-style:none;display:flex}.invoice-settings-card>summary::-webkit-details-marker{display:none}.invoice-settings-card>summary strong,.invoice-settings-card>summary small{display:block}.invoice-settings-card>summary small{color:var(--text-muted);margin-top:.2rem;font-weight:400}.invoice-settings-form{border-top:1px solid var(--border);background:#fafafa;padding:1rem 1.1rem 1.1rem}.schedule-assign-form{border-top:1px solid var(--border);grid-template-columns:minmax(0,1fr) auto;gap:.45rem;margin-top:.7rem;padding-top:.65rem;display:grid}.schedule-assign-form label{grid-column:1/-1;font-size:.75rem;font-weight:650}.schedule-assign-form select,.schedule-assign-form button{min-height:44px}.schedule-assign-form button{padding-inline:.75rem}.schedule-form-grid input,.schedule-form-grid select{min-height:44px}@media (max-width:1100px){.schedule-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:620px){.schedule-toolbar{grid-template-columns:1fr 1fr}.schedule-toolbar>strong{grid-area:1/1/auto/-1}.schedule-form-grid,.schedule-week-grid{grid-template-columns:1fr}.workforce-record{flex-direction:column;align-items:flex-start;gap:.35rem}.workforce-record>span:last-child{text-align:left}.client-contract-files>ul>li,.client-contract-upload{flex-direction:column;align-items:stretch}.client-contract-files .btn,.client-contract-upload button{text-align:center}.opportunity-grid{grid-template-columns:1fr}.opportunity-card-head{flex-direction:column;align-items:flex-start}.opportunity-card-head>strong{text-align:left}.application-review-card{grid-template-columns:1fr}.application-review-actions{grid-template-columns:1fr 1fr;display:grid}.application-review-actions button{width:100%}.role-picker-grid{grid-template-columns:1fr}.site-role-summary{flex-direction:column}.staff-timesheet-entry{grid-template-columns:1fr}.staff-timesheet-entry-status{justify-content:space-between;align-items:center;display:flex}.staff-timesheet-review-form{width:100%;min-width:0}.client-timesheet-review{grid-template-columns:1fr}.staff-upload-history article,.staff-upload-history article>div{flex-direction:column;align-items:flex-start}.invoice-settings-card>summary{align-items:flex-start}}.notice{border-radius:var(--radius);margin-bottom:1.15rem;padding:.9rem 1rem;font-size:.86rem}.notice-warn{background:var(--status-warning-bg);border:1px solid var(--status-warning-border);color:var(--status-warning)}.notice-info{background:var(--status-info-bg);border:1px solid var(--status-info-border);color:var(--status-info)}.notice-danger{background:var(--status-danger-bg);border:1px solid var(--status-danger-border);color:var(--status-danger)}.notice-ok{background:var(--status-success-bg);border:1px solid var(--status-success-border);color:var(--status-success)}.notice strong{margin-bottom:.15rem;display:block}.operations-details{border:1px solid var(--border);border-radius:var(--radius-sm);background:#fff;margin-bottom:.75rem}.operations-details>summary{cursor:pointer;justify-content:space-between;align-items:center;gap:1rem;padding:.9rem 1rem;list-style-position:inside;display:flex}.operations-details>summary span{color:var(--text-muted);font-size:.8rem}.operations-details>form,.operations-details>.briefing-copy{padding:0 1rem 1rem}.briefing-copy p{white-space:pre-wrap}.operations-two-column{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.operations-two-column>form,.operations-two-column>div{border:1px solid var(--border);border-radius:var(--radius-sm);padding:1rem}.operations-two-column h3,.compact-form h3{grid-column:1/-1;margin:0 0 .35rem}.operations-record,.duty-shift{border:1px solid var(--border);border-radius:var(--radius-sm);margin-bottom:.7rem;padding:.9rem}.operations-record{justify-content:space-between;align-items:center;gap:1rem;display:flex}.operations-record>div span{color:var(--text-muted);margin-top:.2rem;font-size:.8rem;display:block}.duty-shift form+form,.duty-shift form+p{margin-top:.75rem}.job-board{gap:.65rem;display:grid}.job-board-card{border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);background:#fff;border-left:4px solid #202124;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:1rem;padding:.95rem 1rem;text-decoration:none;transition:border-color .16s,box-shadow .16s,transform .16s;display:grid}.job-board-card:hover{border-color:#aeb1b6;text-decoration:none;transform:translateY(-1px);box-shadow:0 8px 22px #0d0d0d14}.job-board-card>div{gap:.25rem;display:grid}.job-board-card>div:last-child{text-align:right;justify-items:end}.job-board-card strong{font-size:.95rem}.job-board-card small{color:var(--text-muted)}.job-board-card .badge{justify-self:start;margin-bottom:.15rem}.job-status-draft{color:#494d53;background:#eceef1}.job-status-planning{background:var(--status-warning-bg);color:var(--status-warning)}.job-status-ready{background:var(--status-info-bg);color:var(--status-info)}.job-status-live,.job-status-completed{background:var(--status-success-bg);color:var(--status-success)}.job-status-cancelled{background:var(--status-danger-bg);color:var(--status-danger)}.job-command-head{border-radius:var(--radius);color:#fff;box-shadow:var(--shadow);background:linear-gradient(112deg,#060606 0 66%,#1b1b1e 66% 100%);justify-content:space-between;align-items:flex-end;gap:1.5rem;margin-bottom:1rem;padding:1.5rem;display:flex}.job-command-head h1{margin:.45rem 0 .4rem;font-size:clamp(1.6rem,3vw,2.35rem)}.job-command-head p{color:#c7c8cc;margin:0;line-height:1.55}.job-command-actions{flex-wrap:wrap;justify-content:flex-end;gap:.55rem;display:flex}.job-command-actions form{margin:0}.job-command-actions .secondary{color:#fff;background:0 0;border-color:#777b82}.job-cancel-form{gap:.45rem;display:flex}.job-cancel-form input{color:#111;background:#fff;border-color:#777b82;min-width:190px}.response-queue{gap:.7rem;margin-top:1rem;display:grid}.response-queue .operations-record{border-left:4px solid var(--warn);margin:0}.response-queue .operations-record>div{min-width:220px}.response-queue .operations-record>div small{margin:.35rem .5rem 0 0;display:inline-block}.response-queue .compact-form{flex:1;align-items:end}.control-log{gap:.7rem;margin-top:1rem;display:grid;position:relative}.control-log:before{content:"";background:var(--border);width:1px;position:absolute;top:.4rem;bottom:.4rem;left:8.25rem}.control-log-entry{border:1px solid var(--border);border-radius:var(--radius-sm);background:#fff;grid-template-columns:7.25rem minmax(0,1fr);gap:2rem;padding:.85rem 1rem;display:grid;position:relative}.control-log-entry:before{content:"";width:.65rem;height:.65rem;box-shadow:0 0 0 1px var(--border);background:#62666d;border:2px solid #fff;border-radius:50%;position:absolute;top:1.1rem;left:7.95rem}.control-log-entry time{color:var(--text-muted);font-size:.73rem}.control-log-entry p{white-space:pre-wrap;margin:.3rem 0}.control-log-entry small{color:var(--text-muted)}.control-log-entry.severity-warning{border-left:4px solid var(--warn)}.control-log-entry.severity-warning:before{background:var(--warn)}.control-log-entry.severity-critical{border-left:4px solid var(--danger)}.control-log-entry.severity-critical:before{background:var(--danger)}.patrol-point-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:.8rem;display:grid}.patrol-point-card{border:1px solid var(--border);border-radius:var(--radius-sm);break-inside:avoid;align-items:center;gap:1rem;padding:.8rem;display:flex}.patrol-point-card img{width:120px;height:120px;image-rendering:pixelated}.patrol-point-card div{gap:.25rem;display:grid}.patrol-point-card span,.patrol-point-card small{color:var(--text-muted)}@media print{.patrol-point-card{border:2px solid #000}.patrol-point-card img{width:150px;height:150px}}@media (max-width:760px){.operations-two-column{grid-template-columns:1fr}.operations-record{flex-direction:column;align-items:stretch}.operations-record .form-row,.operations-record .form-row>*{width:100%}.operations-details>summary{flex-direction:column;align-items:flex-start;gap:.35rem}.job-board-card{grid-template-columns:1fr}.job-board-card>div:last-child{text-align:left;justify-items:start}.job-command-head{flex-direction:column;align-items:stretch;padding:1.1rem}.job-command-actions{justify-content:stretch;display:grid}.job-command-actions form,.job-command-actions button{width:100%}.job-cancel-form{display:grid}.job-cancel-form input{width:100%;min-width:0}.control-log:before{left:1.27rem}.control-log-entry{grid-template-columns:1fr;gap:.35rem;padding-left:2.25rem}.control-log-entry:before{left:.93rem}}.checklist{margin:0 0 1.25rem;padding:0;list-style:none}.checklist li{border:1px solid var(--border);border-radius:var(--radius-sm);margin-bottom:.5rem}.checklist li a{color:var(--text);padding:.85rem 1rem;font-size:.9rem;text-decoration:none;display:block}.checklist li a:before{content:"○";color:var(--danger);margin-right:.55rem}.checklist li a:after{content:"›";float:right;color:var(--text-muted)}.checklist li a:hover{background:var(--surface-2,#f6f6f7)}.muted{color:var(--text-muted)}.small{font-size:.8rem}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.72rem}.auth-wrap{background:linear-gradient(126deg, transparent 0 76%, #0d0d0d0e 76% 82%, transparent 82%), linear-gradient(52deg, transparent 0 84%, #ed1c241a 84% 90%, transparent 90%), radial-gradient(circle at 15% 15%, #ed1c2413, transparent 38%), var(--canvas);flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:2.5rem 1rem 1.25rem;display:flex}.auth-card{background:var(--card);border:1px solid var(--border);border-radius:18px;width:100%;max-width:440px;padding:1.9rem;box-shadow:0 22px 60px #0d0d0d21}.auth-card-branded{padding:0;overflow:hidden}.auth-card-body{padding:1.7rem 1.9rem 1.8rem}.otp-input{text-align:center;letter-spacing:.35em;font-variant-numeric:tabular-nums;font-size:1.45rem;font-weight:750}.otp-secondary-actions{justify-content:space-between;gap:1rem;margin-top:1rem;display:flex}.link-button{box-shadow:none;color:var(--text);text-underline-offset:3px;background:0 0;border:0;padding:0;font-size:.78rem;font-weight:700;text-decoration:underline}.link-button:hover{color:var(--brand-red-dark);background:0 0;transform:none}.link-button:disabled{color:var(--text-muted);cursor:not-allowed}.otp-security-note{text-align:center;margin:1.1rem 0 0}.brand-masthead{aspect-ratio:851/315;border-bottom:1px solid var(--border);background:#fff;overflow:hidden}.brand-masthead img{object-fit:cover;width:100%;height:100%;display:block}.auth-intro{margin:.55rem 0 1.5rem}.auth-actions{justify-content:center;gap:.75rem;display:flex}.auth-actions .btn{min-width:118px}.not-found-card{text-align:center}.not-found-code{color:var(--brand-red-dark);letter-spacing:-.06em;margin:0 0 .35rem;font-size:clamp(2.6rem,10vw,4rem);font-weight:850;line-height:1}.not-found-card h1{margin-bottom:.55rem}.not-found-message{max-width:31ch;color:var(--text-muted);margin:0 auto 1.4rem}.auth-wrap>.site-footer{text-align:center;background:0 0;border:0;width:100%;max-width:640px;margin-top:1.5rem}.auth-wrap>.site-footer .threat-bar,.auth-wrap>.site-footer .footer-links{justify-content:center}.auth-logo{width:100%;max-width:300px;height:auto;margin:0 auto 1.5rem;display:block}.application-wrap{padding-top:1.25rem}.application-brandbar{border:1px solid var(--border);border-top:4px solid var(--brand-red);border-radius:var(--radius);min-height:82px;box-shadow:var(--shadow);background:#fff;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.2rem;padding:.55rem 1.2rem;display:flex;position:relative;overflow:hidden}.application-brandbar:after{content:"";background:linear-gradient(90deg, var(--brand-red), var(--brand-red-dark));width:80px;height:210px;position:absolute;top:-70px;right:-35px;transform:rotate(-34deg)}.application-brandbar img{width:190px;height:auto;margin:-20px 0}.application-brandbar span{z-index:1;color:var(--text-muted);letter-spacing:.1em;text-transform:uppercase;margin-right:35px;font-size:.72rem;font-weight:750;position:relative}.stepper{flex-wrap:wrap;gap:.35rem;margin:.75rem 0 1.4rem;display:flex}.stepper a{border:1px solid var(--border-strong);color:var(--text-muted);white-space:nowrap;background:#fff;border-radius:999px;padding:.3rem .6rem;font-size:.76rem}.stepper a:hover{border-color:var(--brand-red);color:var(--brand-red);text-decoration:none}.stepper a[aria-current=step]{background:var(--brand-red);border-color:var(--brand-red);color:#fff;font-weight:600}.application-document-warning{margin-bottom:1.15rem}.act-certificate-box{border-radius:var(--radius);background:linear-gradient(135deg,snow,#fff);border:1px solid #f0c8ca;margin:1.25rem 0;padding:1rem}.act-certificate-box h2{margin:.15rem 0 .35rem;font-size:1.05rem}.act-certificate-box .field:last-child{margin-bottom:0}.application-review-summary{gap:.85rem;margin-top:1.25rem;display:grid}.application-review-summary>section{border:1px solid var(--border);border-radius:var(--radius-sm);background:#fff;overflow:hidden}.application-review-heading{border-bottom:1px solid var(--border);background:#fafafb;justify-content:space-between;align-items:center;gap:.75rem;padding:.75rem .9rem;display:flex}.application-review-heading h2{margin:0;font-size:.95rem}.application-review-heading a{font-size:.75rem;font-weight:650}.application-review-summary dl{margin:0}.review-row{border-bottom:1px solid var(--border);grid-template-columns:minmax(150px,.8fr) minmax(0,1.4fr);gap:1rem;padding:.65rem .9rem;display:grid}.review-row:last-child{border-bottom:0}.review-row dt{color:var(--text-muted);font-size:.76rem}.review-row dd{overflow-wrap:anywhere;white-space:pre-wrap;margin:0;font-size:.8rem}.application-review-files{margin:0;padding:0;list-style:none}.application-review-files li{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:.75rem;padding:.65rem .9rem;display:flex}.application-review-files li:last-child{border-bottom:0}.application-review-files strong,.application-review-files small{display:block}.application-review-files strong{font-size:.78rem}.application-review-files small{max-width:460px;color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;margin-top:.1rem;font-size:.7rem;overflow:hidden}.application-submit-final{margin-top:1.25rem}.portal-contract-card{border-left:4px solid var(--border-strong)}.portal-contract-card.is-ready{border-left-color:var(--ok)}.act-status-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem;display:grid}.act-status-card{margin-bottom:0}@media (max-width:760px){.app{flex-direction:column}.sidebar{flex:none;width:100%;height:auto;position:static}.sidebar-nav{flex-wrap:wrap;gap:.25rem;display:flex}.sidebar-foot{margin-top:0}.row{flex-direction:column;gap:.15rem}.row-label{flex:none;min-width:0}.content{padding:1rem}.review-row{grid-template-columns:1fr;gap:.2rem}.application-review-heading,.application-review-files li{align-items:flex-start}.act-status-grid{grid-template-columns:1fr}}.legal-wrap{max-width:780px;margin:0 auto;padding:2rem 1.25rem 4rem}.legal-head{margin-bottom:2rem}.legal-head img{width:100%;max-width:280px;height:auto}.legal{line-height:1.65}.legal h1{margin-bottom:.25rem;font-size:1.7rem}.legal h2{border-bottom:1px solid var(--border);margin:2.2rem 0 .6rem;padding-bottom:.35rem;font-size:1.15rem}.legal h3{margin:1.4rem 0 .4rem;font-size:.98rem}.legal p{margin:.7rem 0}.legal ul{margin:.7rem 0;padding-left:1.3rem}.legal li{margin:.35rem 0}.legal mark{color:#713f12;background:#fde68a;border-radius:3px;padding:.05rem .3rem;font-size:.92em;font-weight:600}.legal-table{border-collapse:collapse;width:100%;margin:.9rem 0;font-size:.9rem}.legal-table th,.legal-table td{text-align:left;border:1px solid var(--border);vertical-align:top;padding:.55rem .7rem}.legal-table th{background:var(--surface-2,#f6f6f7);font-weight:600}.legal-callout{border-left:3px solid var(--brand,#e11d2e);background:#fff8e1;border-radius:0 6px 6px 0;margin:1.2rem 0;padding:.85rem 1rem;font-size:.92rem}.legal-callout strong{margin-bottom:.2rem;display:block}.legal-footer-links{border-top:1px solid var(--border);margin-top:2.5rem;padding-top:1.2rem;font-size:.88rem}.auth-legal{border-top:1px solid var(--border);text-align:center;color:var(--text-muted);margin:1.5rem 0 0;padding-top:1rem;font-size:.78rem}.auth-card .auth-legal,.auth-card .auth-legal a{color:var(--brand-black)}.site-footer{border-top:1px solid var(--border);color:var(--text-muted);background:#fff;margin-top:auto;padding:.85rem 1.5rem 1.1rem;font-size:.78rem}.threat-bar{border-bottom:1px dashed var(--border);flex-wrap:wrap;align-items:center;gap:.45rem;margin-bottom:.6rem;padding-bottom:.6rem;display:flex}.threat-label{color:var(--text);font-weight:600}.threat-pill{letter-spacing:.06em;color:#fff;border-radius:999px;padding:.1rem .5rem;font-size:.68rem;font-weight:700}.threat-low{background:#0f9d58}.threat-moderate{background:#7cb342}.threat-substantial{color:#3a2a00;background:#f59e0b}.threat-severe{background:#ea580c}.threat-critical{background:#b91c1c}.threat-meaning{color:var(--text-muted)}.threat-source{font-size:.72rem}.threat-stale{background:var(--warn-bg);color:var(--warn);border-radius:4px;padding:.05rem .4rem;font-size:.68rem;font-weight:600}.footer-links{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.footer-sep{color:var(--text-faint)}.main{min-height:100vh}.link-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:.9rem;display:grid}.link-card{border:1px solid var(--border);border-radius:var(--radius-sm);background:#fff;flex-direction:column;padding:.95rem;display:flex}.link-card.is-pending{background:#fcfcfd;border-style:dashed}.link-card-head{justify-content:space-between;align-items:baseline;gap:.5rem;margin-bottom:.35rem;display:flex}.link-card-title{margin:0;font-size:.9rem;font-weight:640}.link-card-body{color:var(--text-muted);flex:1;margin:0 0 .85rem;font-size:.83rem}.faq{border-bottom:1px solid var(--border);padding:.7rem 0}.faq:last-child{border-bottom:0}.faq summary{cursor:pointer;align-items:center;gap:.5rem;font-size:.9rem;font-weight:600;list-style:none;display:flex}.faq summary::-webkit-details-marker{display:none}.faq summary:before{content:"+";color:var(--brand-red);font-weight:700}.faq[open] summary:before{content:"−"}.faq p{color:var(--text-muted);margin:.5rem 0 0 1.05rem;font-size:.86rem}.form-heading{border-bottom:2px solid var(--brand-red);color:var(--text);margin:2rem 0 .9rem;padding-bottom:.4rem;font-size:.95rem;font-weight:660}.form-heading:first-child{margin-top:0}@media (min-width:620px){.field-half{vertical-align:top;width:calc(50% - .5rem);display:inline-block}.field-half+.field-half{margin-left:1rem}}.radio-row{flex-wrap:wrap;gap:1rem;margin-top:.35rem;display:flex}.radio-opt{cursor:pointer;border:1px solid var(--border);border-radius:var(--radius-sm);align-items:center;gap:.4rem;padding:.5rem .75rem;font-size:.88rem;display:flex}.radio-opt:hover{border-color:var(--border-strong)}.radio-opt input{cursor:pointer;width:17px;height:17px;min-height:0;margin:0}.sigpad{margin-top:.4rem}.sigpad-canvas{border:2px dashed var(--border-strong);border-radius:var(--radius-sm);touch-action:none;cursor:crosshair;background:#fff;width:100%;height:170px;display:block}.sigpad-foot{justify-content:space-between;align-items:center;gap:1rem;margin-top:.4rem;display:flex}.contract-viewer-wrap{border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:#eef0f2;width:100%;height:min(68vh,680px);min-height:460px;overflow:hidden}.contract-viewer{background:#fff;border:0;width:100%;height:100%;display:block}.contract-open{margin-top:.75rem}.contract-signature-input{margin-top:1.5rem}.signature-method-fieldset{border:0;margin:0 0 1rem;padding:0}.signature-method-fieldset legend{color:var(--text);margin-bottom:.55rem;font-size:.82rem;font-weight:650}.signature-method-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;display:grid}.signature-method-options>label{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2,#f7f8f9);cursor:pointer;align-items:flex-start;gap:.65rem;min-height:68px;padding:.8rem;display:flex}.signature-method-options>label:hover{border-color:var(--border-strong)}.signature-method-options>label.is-selected{border-color:#ed1c248c;box-shadow:0 0 0 3px #ed1c2414}.signature-method-options input{width:18px;height:18px;min-height:0;margin:.1rem 0 0}.signature-method-options strong,.signature-method-options small{display:block}.signature-method-options small{color:var(--text-muted);margin-top:.2rem}.typed-signature-field{margin-bottom:1rem}.typed-signature-preview{border:2px dashed var(--border-strong);border-radius:var(--radius-sm);color:#111827;text-align:center;overflow-wrap:anywhere;background:#fff;place-items:center;min-height:150px;margin-top:.45rem;padding:1rem;font-family:Georgia,Times New Roman,serif;font-size:clamp(2rem,8vw,4rem);font-style:italic;line-height:1.1;display:grid}.contract-consent{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2,#f7f8f9);align-items:flex-start;margin:1.2rem 0;padding:.9rem;line-height:1.45}.contract-consent input{margin-top:.1rem!important}@media (max-width:620px){.contract-viewer-wrap{height:54vh;min-height:360px}.contract-open{justify-content:center;width:100%;display:flex}.sigpad-canvas{height:190px}.signature-method-options{grid-template-columns:1fr}}.field-check{cursor:pointer;align-items:center;gap:.55rem;margin:.9rem 0;font-size:.87rem;display:flex}.field-check input[type=checkbox]{cursor:pointer;flex:0 0 18px;width:18px;height:18px;min-height:0;margin:0}.checkbox-grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:.35rem .8rem;display:grid}.checkbox-grid .field-check{margin:.2rem 0}.app-admin .main{background:linear-gradient(135deg,#ed1c2406,#0000 34%),#f1f2f4}.app-admin .sidebar-brand-sub{color:#ff9ba0}.app-admin .sidebar-nav a[aria-current=page]{background:var(--brand-red);box-shadow:inset 3px 0 #fff,0 5px 15px #ed1c2433}.admin-hero{isolation:isolate;color:#fff;background:linear-gradient(108deg,#050505 0 58%,#171719 58% 100%);border-radius:20px;justify-content:space-between;align-items:flex-end;gap:2rem;min-height:272px;margin-bottom:1.5rem;padding:2rem 2.15rem;display:flex;position:relative;overflow:hidden;box-shadow:0 14px 34px #0d0d0d21}.admin-hero:before{content:"";z-index:-1;border-left:56px solid #ed1c244d;border-right:34px solid #ffffff0e;width:430px;height:520px;position:absolute;top:-170px;right:9%;transform:rotate(-34deg)}.admin-hero:after{content:"";z-index:-1;opacity:.12;background:url(/brand/mark.svg) 50%/contain no-repeat;width:280px;height:300px;position:absolute;bottom:-120px;right:-55px}.admin-hero-copy{max-width:650px}.admin-eyebrow{color:var(--brand-red);letter-spacing:.14em;text-transform:uppercase;margin:0 0 .35rem;font-size:.66rem;font-weight:800;line-height:1.3}.admin-hero .admin-eyebrow{color:#ff8d92}.admin-hero h1{color:#fff;letter-spacing:-.055em;margin:0;font-size:clamp(2.25rem,5vw,4.3rem);font-weight:780;line-height:.95}.admin-hero-copy>p:last-child{color:#c6c6ca;max-width:560px;margin:1rem 0 0;font-size:.94rem}.admin-hero-side{justify-items:end;gap:1.1rem;width:min(100%,440px);display:grid}.admin-session{text-align:right;background:#00000047;border:1px solid #ffffff2e;border-radius:12px;max-width:100%;padding:.85rem 1rem}.admin-session span,.admin-session strong,.admin-session small{display:block}.admin-session span{color:#a8a8ad;letter-spacing:.1em;text-transform:uppercase;font-size:.62rem;font-weight:700}.admin-session strong{margin-top:.15rem;font-size:.95rem}.admin-session small{color:#c6c6ca;text-overflow:ellipsis;white-space:nowrap;max-width:270px;margin-top:.1rem;font-size:.72rem;overflow:hidden}.admin-hero-actions{flex-wrap:wrap;justify-content:flex-end;gap:.65rem;display:flex}.admin-hero-actions .btn{border-radius:999px;justify-content:center;align-items:center;gap:.65rem;min-height:46px;display:inline-flex}.admin-btn-primary{background:var(--brand-red);color:#fff}.admin-btn-primary:hover{background:var(--brand-red-hover);color:#fff;text-decoration:none}.admin-btn-outline{color:#fff;box-shadow:none;background:0 0;border-color:#ffffff9e}.admin-btn-outline:hover{color:#fff;background:#ffffff1a;text-decoration:none}.admin-page-heading{justify-content:space-between;align-items:flex-end;gap:1rem;margin:0 0 .85rem;display:flex}.admin-page-heading h2{letter-spacing:-.035em;margin:0;font-size:1.45rem;font-weight:760}.admin-page-heading>span{color:var(--text-muted);font-size:.78rem}.admin-metric-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.8rem;margin-bottom:1rem;display:grid}.admin-metric{border:1px solid var(--border);min-height:142px;color:var(--text);background:#fff;border-top:3px solid #222;border-radius:14px;padding:1.05rem 1.1rem;text-decoration:none;transition:border-color .16s,transform .16s,box-shadow .16s;position:relative;overflow:hidden;box-shadow:0 5px 18px #0d0d0d0b}.admin-metric:hover{border-color:#b8bbc1;text-decoration:none;transform:translateY(-2px);box-shadow:0 10px 24px #0d0d0d14}.admin-metric>span,.admin-metric>strong,.admin-metric>small{display:block}.admin-metric>span{color:var(--text-muted);font-size:.72rem;font-weight:650}.admin-metric>strong{letter-spacing:-.05em;margin-top:.45rem;font-size:2.35rem;font-weight:760;line-height:1}.admin-metric>small{color:var(--text-muted);margin-top:.75rem;font-size:.7rem}.admin-metric.is-danger{border-top-color:var(--danger)}.admin-metric.is-danger>strong{color:var(--danger)}.admin-metric.is-warning{border-top-color:var(--warn)}.admin-metric.is-warning>strong{color:#9a4808}.admin-metric.is-clear{border-top-color:var(--ok)}.admin-control-grid,.admin-detail-grid{grid-template-columns:minmax(0,1.45fr) minmax(280px,.75fr);gap:1rem;margin-bottom:1rem;display:grid}.admin-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-panel{border:1px solid var(--border);background:#fff;border-radius:16px;min-width:0;padding:1.25rem;overflow:hidden;box-shadow:0 5px 20px #0d0d0d0b}.admin-panel-head{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.85rem;display:flex}.admin-panel h2{letter-spacing:-.025em;margin:0;font-size:1.1rem;font-weight:730}.admin-panel-head>a{font-size:.76rem;font-weight:650}.admin-queue-total{color:#4c515a;background:#efeff1;border-radius:999px;padding:.2rem .55rem;font-size:.7rem;font-weight:750}.admin-task-list{display:grid}.admin-task-row{border-bottom:1px solid var(--border);min-height:68px;color:var(--text);grid-template-columns:68px minmax(0,1fr) auto;align-items:center;gap:.85rem;padding:.65rem .15rem;text-decoration:none;display:grid}.admin-task-row:last-child{border-bottom:0}.admin-task-row:hover{color:var(--brand-red-dark);text-decoration:none}.admin-task-row strong,.admin-task-row small{display:block}.admin-task-row strong{font-size:.84rem}.admin-task-row small{color:var(--text-muted);margin-top:.12rem;font-size:.7rem}.admin-task-state{letter-spacing:.045em;text-align:center;text-transform:uppercase;border-radius:6px;padding:.2rem .45rem;font-size:.62rem;font-weight:800}.admin-task-state.urgent{background:var(--danger-bg);color:var(--danger)}.admin-task-state.review{background:var(--status-warning-bg);color:var(--status-warning)}.admin-task-state.clear{background:var(--status-success-bg);color:var(--status-success)}.admin-security-panel{color:#fff;background:linear-gradient(145deg,#0d0d0df7,#0d0d0de0),url(/brand/banner.jpg) 50%/cover;flex-direction:column;justify-content:space-between;display:flex}.admin-security-panel .admin-eyebrow{color:#ff8d92}.admin-security-panel h2{color:#fff}.admin-security-panel>p:not(.admin-eyebrow){color:#c6c6ca;margin:.7rem 0 1.2rem;font-size:.8rem}.admin-security-note{color:#e7e7e9;background:#ffffff0f;border:1px solid #ffffff26;border-radius:10px;align-items:center;gap:.75rem;padding:.8rem;font-size:.73rem;display:flex}.admin-security-note svg{color:#ff777d;flex:0 0 25px;width:25px;height:25px}.admin-record-list{display:grid}.admin-record-list>a{border-bottom:1px solid var(--border);min-height:62px;color:var(--text);justify-content:space-between;align-items:center;gap:1rem;padding:.6rem .15rem;text-decoration:none;display:flex}.admin-record-list>a:last-child{border-bottom:0}.admin-record-list>a:hover{color:var(--brand-red-dark);text-decoration:none}.admin-record-list>a>span:last-child{text-align:right}.admin-record-list strong,.admin-record-list small{display:block}.admin-record-list strong{font-size:.8rem}.admin-record-list small{max-width:230px;color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;margin-top:.12rem;font-size:.68rem;overflow:hidden}.admin-empty-state{color:var(--text-muted);margin:.85rem 0 .25rem;font-size:.8rem}.admin-modules{margin-top:1.35rem}.admin-module-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:.8rem;display:grid}.admin-module-card{border:1px solid var(--border);min-height:178px;color:var(--text);background:#fff;border-radius:14px;flex-direction:column;padding:1rem;text-decoration:none;transition:border-color .16s,transform .16s,box-shadow .16s;display:flex;position:relative}.admin-module-card:hover{border-color:#b8bbc1;text-decoration:none;transform:translateY(-2px);box-shadow:0 9px 24px #0d0d0d14}.admin-module-card.is-primary{border-color:var(--brand-red);background:var(--brand-red);color:#fff}.admin-module-icon{background:var(--brand-soft);width:40px;height:40px;color:var(--brand-red);border-radius:10px;place-items:center;margin-bottom:auto;display:grid}.admin-module-icon svg{width:21px;height:21px}.admin-module-card.is-primary .admin-module-icon{color:#fff;background:#ffffff2b}.admin-module-card>strong{margin-top:.85rem;font-size:.9rem}.admin-module-card>small{color:var(--text-muted);margin-top:.2rem;padding-right:1.5rem;font-size:.7rem}.admin-module-card.is-primary>small{color:#ffffffd1}.admin-module-arrow{font-weight:750;position:absolute;bottom:1rem;right:1rem}.admin-metric:focus-visible,.admin-task-row:focus-visible,.admin-record-list>a:focus-visible,.admin-module-card:focus-visible,.admin-hero-actions .btn:focus-visible{outline-offset:3px;box-shadow:0 0 0 5px var(--brand-red);outline:3px solid #fff}@media (max-width:1180px){.admin-module-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:1000px){.admin-hero{flex-direction:column;align-items:flex-start}.admin-hero-side{justify-items:start}.admin-session{text-align:left}.admin-hero-actions{justify-content:flex-start}.admin-control-grid{grid-template-columns:1fr}.admin-security-panel{min-height:230px}}@media (max-width:700px){.admin-hero{border-radius:16px;min-height:390px;padding:1.4rem}.admin-hero h1{font-size:2.55rem}.admin-hero-side{width:100%}.admin-hero-actions{width:100%;display:grid}.admin-hero-actions .btn,.admin-session{width:100%}.admin-page-heading{flex-direction:column;align-items:flex-start;gap:.25rem}.admin-metric-grid,.admin-detail-grid,.admin-module-grid{grid-template-columns:1fr}.admin-metric{min-height:126px}.admin-task-row{grid-template-columns:64px minmax(0,1fr) auto;gap:.6rem}.admin-panel{border-radius:14px;padding:1rem}.admin-module-card{min-height:145px}}@media (prefers-reduced-motion:reduce){.admin-metric,.admin-module-card{transition:none}.admin-metric:hover,.admin-module-card:hover{transform:none}}.dash-hero{color:#fff;background:linear-gradient(115deg,#050505 0 62%,#1b1b1c 62% 100%);border-radius:26px;justify-content:space-between;align-items:flex-end;gap:2rem;min-height:250px;margin-bottom:1rem;padding:2.1rem 2.25rem;display:flex;position:relative;overflow:hidden}.dash-hero:after{content:"";opacity:.12;pointer-events:none;background:url(/brand/mark.svg) 50%/contain no-repeat;width:390px;height:420px;position:absolute;top:-115px;right:9%;transform:rotate(-7deg)}.dash-hero-copy,.dash-hero-actions{z-index:1;position:relative}.dash-date{color:#b8b8bd;letter-spacing:.12em;text-transform:uppercase;margin:0 0 .65rem;font-size:.72rem;font-weight:700}.dash-hero h1{color:#fff;letter-spacing:-.045em;max-width:650px;margin:0;font-size:clamp(2rem,4vw,3.8rem);font-weight:760;line-height:1}.dash-hero-copy>p:last-child{color:#b8b8bd;max-width:530px;margin:1rem 0 0;font-size:.94rem}.dash-hero-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.75rem;max-width:540px;display:flex}.dash-hero .btn{border-radius:999px;justify-content:center;align-items:center;gap:.75rem;min-height:48px;padding-inline:1.2rem;display:inline-flex}.dash-hero .dash-btn-outline{color:#fff;box-shadow:none;background:#0000002e;border-color:#ffffffa6}.dash-hero .dash-btn-outline:hover{background:#ffffff1a}.dash-person{align-items:center;gap:.65rem;min-width:175px;padding-left:.25rem;display:flex}.dash-avatar{background:linear-gradient(145deg, var(--brand-red), var(--brand-red-dark));color:#fff;letter-spacing:.04em;border:2px solid #ffffffbf;border-radius:50%;flex:0 0 43px;place-items:center;width:43px;height:43px;font-size:.78rem;font-weight:800;display:grid}.dash-person strong,.dash-person small{display:block}.dash-person strong{text-overflow:ellipsis;white-space:nowrap;max-width:180px;overflow:hidden}.dash-person small{color:#a8a8ad;margin-top:.08rem;font-size:.7rem}.dash-alert{margin:0 0 1rem}.install-app-card{border:1px solid #d8dade;border-left:4px solid var(--brand-red);background:#fff;border-radius:9px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.85rem;margin:0 0 1rem;padding:.85rem 1rem;display:grid}.install-app-card>img{border:1px solid #e1e2e5;border-radius:12px}.install-app-card strong{font-size:.88rem;display:block}.install-app-card p{color:var(--text-muted);margin:.2rem 0 0;font-size:.76rem}.install-app-actions{align-items:center;gap:.5rem;display:flex}.install-app-actions button{white-space:nowrap}.install-guide-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.9rem;display:grid}.install-guide-card{margin:0}.install-guide-card h2{margin-bottom:.8rem}.install-guide-card ol{color:var(--text-muted);gap:.65rem;margin:0;padding-left:1.2rem;font-size:.86rem;display:grid}.install-guide-card li::marker{color:var(--brand-red-dark);font-weight:800}.install-guide-card strong{color:var(--text)}.install-guide-note{margin-top:.9rem}.staff-shift-hub{background:#fff;border:1px solid #dedee2;border-radius:24px;margin-bottom:1rem;padding:1.5rem;overflow:hidden;box-shadow:0 8px 30px #0d0d0d0e}.staff-shift-hub-head,.staff-shift-decision,.staff-clock-panel{justify-content:space-between;align-items:center;gap:1rem;display:flex}.staff-shift-hub-head h2{letter-spacing:-.04em;margin:.22rem 0 0;font-size:clamp(1.45rem,3vw,2.15rem)}.staff-shift-hub-head p{color:var(--text-muted);margin:.3rem 0 0}.staff-shift-summary{background:#e5e5e8;border:1px solid #e5e5e8;border-radius:17px;grid-template-columns:.7fr 1fr 1.7fr 1fr;gap:1px;margin-top:1.25rem;display:grid;overflow:hidden}.staff-shift-summary>div{background:#f8f8f9;min-width:0;padding:1rem}.staff-shift-summary small,.staff-shift-summary strong{display:block}.staff-shift-summary small,.staff-shift-detail-grid small{color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase;font-size:.64rem;font-weight:760}.staff-shift-summary strong{overflow-wrap:anywhere;margin-top:.34rem;font-size:.84rem}.staff-shift-decision{color:#fff;background:#090909;border-radius:17px;margin-top:1rem;padding:1rem 1.1rem}.staff-shift-decision>div{margin-right:auto}.staff-shift-decision strong{font-size:.92rem}.staff-shift-decision p{color:#b9b9bd;margin:.15rem 0 0;font-size:.76rem}.staff-shift-decision form{flex:none}.staff-shift-decision .secondary{color:#fff;background:0 0;border-color:#75757b}.staff-shift-actions,.staff-shift-empty-actions{flex-wrap:wrap;gap:.65rem;margin-top:1rem;display:flex}.staff-shift-actions .btn,.staff-shift-empty-actions .btn{border-radius:999px;min-height:44px}.staff-shift-detail-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;margin-top:1rem;display:grid}.staff-shift-detail-grid article{border:1px solid var(--border);background:#fbfbfc;border-radius:16px;padding:1rem}.staff-shift-detail-grid p{white-space:pre-wrap;margin:.55rem 0 0;font-size:.82rem;line-height:1.5}.staff-shift-briefing{border:1px solid var(--border);background:#fff;border-radius:16px;margin-top:1rem;padding:.9rem 1rem}.staff-shift-briefing summary{cursor:pointer;min-height:30px;font-weight:750}.staff-shift-briefing>div{margin-top:1rem}.staff-shift-briefing p{white-space:pre-wrap;color:var(--text-muted);margin:.3rem 0 0;font-size:.82rem;line-height:1.55}.staff-shift-briefing form{margin-top:1rem}.staff-shift-briefing .staff-briefing-read{color:#147a48;font-weight:700}.staff-clock-panel{border:1px solid var(--status-danger-border);background:var(--status-danger-bg);border-radius:17px;margin-top:1rem;padding:1rem}.staff-clock-panel h3{margin:.2rem 0 0}.staff-clock-panel form{width:min(100%,420px);margin-top:0!important}.leave-layout{grid-template-columns:minmax(280px,.8fr) minmax(0,1.2fr);align-items:start;gap:1rem;display:grid}.leave-request-form-card{position:sticky;top:1rem}.leave-note-field{grid-column:1/-1}.leave-request-list{gap:.7rem;display:grid}.leave-request-card{border:1px solid var(--border);border-radius:15px;justify-content:space-between;gap:1rem;padding:1rem;display:flex}.leave-request-card p{margin:.25rem 0}.leave-request-card small{color:var(--text-muted);margin-top:.35rem;display:block}.leave-request-status{align-content:start;justify-items:end;gap:.65rem;display:grid}.leave-request-status form{margin:0}.admin-leave-list{gap:.85rem;display:grid}.admin-leave-card{border:1px solid var(--border);background:#fff;border-radius:17px;padding:1.1rem}.admin-leave-card h3{margin:.85rem 0 .4rem;font-size:1rem}.admin-leave-summary{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.admin-leave-summary strong,.admin-leave-summary small{display:block}.admin-leave-summary small{color:var(--text-muted);margin-top:.2rem}.leave-review-form{border-top:1px solid var(--border);gap:.7rem;margin-top:1rem;padding-top:1rem;display:grid}.pay-discrepancy-layout{grid-template-columns:minmax(330px,.9fr) minmax(0,1.1fr);align-items:start;gap:1rem;display:grid}.pay-discrepancy-form-card{position:sticky;top:1rem}.pay-discrepancy-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 .8rem;display:grid}.pay-discrepancy-form .field{max-width:none}.pay-discrepancy-description,.pay-discrepancy-submit{grid-column:1/-1}.pay-discrepancy-list,.admin-pay-discrepancy-list{gap:.8rem;display:grid}.pay-discrepancy-card,.admin-pay-discrepancy-card{border:1px solid var(--border);background:#fff;border-radius:17px;padding:1rem}.pay-discrepancy-card-head{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.pay-discrepancy-card-head strong,.pay-discrepancy-card-head small{display:block}.pay-discrepancy-card-head small{color:var(--text-muted);margin-top:.25rem}.pay-discrepancy-card>p,.pay-discrepancy-description-copy{white-space:pre-wrap;line-height:1.55}.pay-discrepancy-facts{grid-template-columns:max-content minmax(0,1fr);gap:.35rem .8rem;margin:.85rem 0 0;font-size:.82rem;display:grid}.pay-discrepancy-facts dt{color:var(--text-muted)}.pay-discrepancy-facts dd{margin:0;font-weight:600}.payroll-response{border-left:3px solid var(--brand-black);background:#f4f5f6;border-radius:6px;margin-top:.9rem;padding:.8rem .9rem}.payroll-response p{white-space:pre-wrap;margin:.3rem 0 0}.admin-pay-discrepancy-card h3{margin:.85rem 0 .4rem;font-size:1rem}.admin-pay-facts{background:#fafafa;border-radius:12px;padding:.8rem}.pay-discrepancy-review-form{border-top:1px solid var(--border);gap:.7rem;margin-top:1rem;padding-top:1rem;display:grid}.pay-discrepancy-review-form .field{max-width:680px;margin-bottom:0}.push-settings{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.9rem 1.5rem;display:grid}.push-settings .card-title{margin-bottom:.2rem}.push-settings .card-hint{max-width:72ch;margin:0}.push-settings-control{justify-content:flex-end;align-items:center;gap:.65rem;display:flex}.push-settings>.small{grid-column:1/-1;margin:0}.expense-layout{grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr);align-items:start;gap:1rem;display:grid}.expense-form-card .card-head,.expense-history-card .card-head{margin-bottom:1rem}.expense-claim-form .field{max-width:none}.expense-mileage-fields{border:1px solid var(--border);background:#fafafa;border-radius:15px;margin:0 0 1rem;padding:1rem}.expense-mileage-fields legend{padding:0 .4rem;font-size:.82rem;font-weight:750}.expense-rate-note{border-left:3px solid var(--status-info);background:var(--status-info-bg);color:var(--status-info);border-radius:5px;margin:0;padding:.75rem .85rem;font-size:.75rem;line-height:1.55}.expense-evidence-field{border:1px dashed var(--border-strong);background:#fff;border-radius:14px;padding:.9rem}.expense-terms{border:1px solid var(--border);background:#fafafa;border-radius:13px;margin:0 0 .85rem}.expense-terms summary{cursor:pointer;padding:.85rem 1rem;font-size:.82rem;font-weight:750}.expense-terms ul{color:var(--text-muted);margin:0;padding:0 1.2rem 1rem 2rem;font-size:.76rem;line-height:1.55}.expense-declaration{align-items:flex-start;gap:.65rem;margin:0 0 1rem;font-size:.79rem;line-height:1.45;display:flex}.expense-declaration input{flex:none;margin-top:.2rem}.expense-claim-list,.admin-expense-list{gap:.75rem;display:grid}.expense-claim-card,.admin-expense-card{border:1px solid var(--border);background:#fff;border-radius:15px;padding:1rem}.expense-claim-head,.admin-expense-head{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.expense-claim-head strong,.expense-claim-head small,.admin-expense-head strong,.admin-expense-head small{display:block}.expense-claim-head small,.admin-expense-head small{color:var(--text-muted);margin-top:.2rem;font-size:.72rem;line-height:1.4}.expense-claim-values{flex-wrap:wrap;gap:.75rem;margin:.75rem 0;font-size:.78rem;display:flex}.expense-claim-values span{background:#f4f5f6;border-radius:8px;padding:.4rem .6rem}.expense-status-tabs{border:1px solid var(--border);background:#fff;border-radius:13px;gap:.3rem;margin-bottom:1rem;padding:.3rem;display:flex;overflow-x:auto}.expense-status-tabs a{color:var(--text-muted);text-transform:capitalize;white-space:nowrap;border-radius:9px;padding:.5rem .8rem;font-size:.76rem;font-weight:700}.expense-status-tabs a:hover,.expense-status-tabs a.is-active{background:var(--brand-black);color:#fff;text-decoration:none}.admin-expense-inbox{padding:0}.admin-expense-inbox>.card-head{border-bottom:1px solid var(--border);margin:0;padding:1.25rem 1.35rem}.admin-expense-list{padding:1rem}.admin-expense-summary{grid-template-columns:repeat(5,minmax(100px,1fr));gap:.55rem;margin:.9rem 0;display:grid}.admin-expense-summary>div{background:#f5f5f6;border-radius:9px;padding:.6rem}.admin-expense-summary span,.admin-expense-summary b{display:block}.admin-expense-summary span{color:var(--text-muted);text-transform:uppercase;font-size:.65rem}.admin-expense-summary b{margin-top:.15rem;font-size:.8rem}.admin-expense-purpose{white-space:pre-wrap;margin:.8rem 0;font-size:.84rem;line-height:1.5}.expense-review-form,.expense-payment-form{border-top:1px solid var(--border);margin-top:1rem;padding-top:1rem}.expense-payment-form{align-items:flex-end;gap:.75rem;display:flex}.expense-payment-form .field{flex:1;max-width:480px;margin:0}.notification-inbox{padding:0}.notification-inbox>.card-head{margin:0;padding:1.25rem 1.35rem}.notification-empty{border-top:1px solid var(--border);align-items:flex-start;gap:.9rem;min-height:150px;padding:1.35rem;display:flex}.notification-empty-icon{background:var(--brand-soft);width:44px;height:44px;color:var(--brand-red-dark);border-radius:12px;flex:0 0 44px;place-items:center;display:grid}.notification-empty h3{margin:0 0 .2rem;font-size:.95rem}.notification-empty p{max-width:56ch;color:var(--text-muted);margin:0 0 .75rem;font-size:.82rem}.notification-empty-link{color:var(--text);align-items:center;gap:.35rem;font-size:.78rem;font-weight:700;display:inline-flex}.notification-empty-link:hover{color:var(--brand-red-dark);text-decoration:none}.notification-list{border-top:1px solid var(--border)}.notification-item{border-bottom:1px solid var(--border);grid-template-columns:10px minmax(0,1fr) auto;align-items:center;gap:.9rem;padding:1rem 1.35rem;display:grid}.notification-item:last-child{border-bottom:0}.notification-item.is-unread{background:var(--status-info-bg)}.notification-dot{background:#d1d1d5;border-radius:50%;width:8px;height:8px}.notification-item.is-unread .notification-dot{background:var(--status-info);box-shadow:0 0 0 4px #244f961f}.notification-copy strong,.notification-copy small{display:block}.notification-copy p{color:var(--text-muted);margin:.25rem 0;font-size:.84rem}.notification-copy small{color:var(--text-muted);font-size:.7rem}.notification-actions{align-items:center;gap:.6rem;display:flex}.notification-actions form{margin:0}.dash-layout{grid-template-columns:minmax(260px,.72fr) minmax(0,2fr);align-items:start;gap:1rem;display:grid}.dash-side-stack,.dash-main-stack{gap:1rem;min-width:0;display:grid}.dash-panel,.dash-next-shift,.dash-briefing,.dash-quick{border-radius:22px;box-shadow:0 8px 30px #0d0d0d0e}.dash-panel{background:#fff;border:1px solid #ececef;padding:1.45rem;overflow:hidden}.dash-panel-head{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.15rem;display:flex}.dash-panel h2,.dash-next-shift h2,.dash-briefing h2{letter-spacing:-.025em;margin:.18rem 0 0;font-size:1.2rem;font-weight:740}.dash-panel-label{color:var(--text-muted);letter-spacing:.11em;text-transform:uppercase;font-size:.64rem;font-weight:800}.dash-count{background:var(--brand-red);color:#fff;text-align:center;border-radius:999px;min-width:31px;padding:.18rem .55rem;font-size:.72rem;font-weight:750}.dash-empty{color:var(--text-muted);margin:0;font-size:.84rem}.dash-next-shift{color:#fff;background:#080808;min-height:210px;padding:1.4rem;position:relative;overflow:hidden}.dash-next-shift:after{content:"";opacity:.17;pointer-events:none;background:url(/brand/mark.svg) 50%/contain no-repeat;width:175px;height:190px;position:absolute;bottom:-70px;right:-45px}.dash-next-shift>*{z-index:1;position:relative}.dash-shift-date{color:#aaaab0;margin:1.35rem 0 .2rem;font-size:.78rem}.dash-next-shift>p:not(.dash-shift-date){color:#c4c4c8;margin:.35rem 0 0}.dash-next-shift a{color:#fff;font-weight:650}.dash-next-foot{justify-content:space-between;align-items:center;gap:.75rem;margin-top:1.55rem;display:flex}.dash-shift-list{margin:0 -.35rem -.35rem}.dash-shift-row{border-bottom:1px solid var(--border);color:var(--text);grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:.75rem;padding:.75rem .35rem;display:grid}.dash-shift-row:last-child{border-bottom:0}.dash-shift-row:hover{text-decoration:none}.dash-date-block{background:var(--brand-soft);color:var(--brand-red-dark);border-radius:12px;place-items:center;padding:.28rem;display:grid}.dash-date-block strong{font-size:1rem;line-height:1}.dash-date-block small{text-transform:uppercase;margin-top:.12rem;font-size:.58rem}.dash-shift-info{min-width:0}.dash-shift-info strong,.dash-shift-info small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.dash-shift-info strong{font-size:.84rem}.dash-shift-info small{color:var(--text-muted);margin-top:.16rem;font-size:.7rem}.dash-compliance-body{grid-template-columns:190px minmax(0,1fr);align-items:center;gap:2rem;min-height:225px;display:grid}.dash-ring{background:conic-gradient(var(--brand-red) var(--readiness), #e9eaed 0);border-radius:50%;place-items:center;width:178px;height:178px;display:grid}.dash-ring:before{content:"";background:#fff;border-radius:50%;grid-area:1/1;width:130px;height:130px}.dash-ring>span{z-index:1;text-align:center;grid-area:1/1}.dash-ring strong,.dash-ring small{display:block}.dash-ring strong{letter-spacing:-.04em;font-size:2rem;line-height:1}.dash-ring small{color:var(--text-muted);text-transform:uppercase;margin-top:.35rem;font-size:.68rem}.dash-metrics{border:1px solid var(--border);border-radius:18px;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;display:grid}.dash-metrics div:nth-child(odd){border-right:1px solid var(--border)}.dash-metrics div:nth-child(-n+2){border-bottom:1px solid var(--border)}.dash-metrics strong,.dash-metrics span{display:block}.dash-metrics strong{font-size:1.65rem;line-height:1.05}.dash-metrics span{color:var(--text-muted);margin-top:.4rem;font-size:.72rem}.dash-lower-grid{grid-template-columns:minmax(0,1.2fr) minmax(230px,.8fr);gap:1rem;display:grid}.dash-request-list{gap:.55rem;display:grid}.dash-request-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:1rem;padding:.7rem 0;display:flex}.dash-request-row:last-child{border-bottom:0}.dash-request-row strong,.dash-request-row small{display:block}.dash-request-row strong{font-size:.84rem}.dash-request-row small{color:var(--text-muted);margin-top:.15rem;font-size:.7rem}.dash-briefing{color:#fff;background:linear-gradient(145deg,#0d0d0df5,#0d0d0dd6),url(/brand/banner.jpg) 50%/cover;flex-direction:column;justify-content:space-between;min-height:220px;padding:1.45rem;display:flex;position:relative;overflow:hidden}.dash-briefing .dash-panel-label{color:#ff8c90}.dash-briefing p{color:#c8c8cc;margin:.75rem 0 1rem;font-size:.82rem}.dash-briefing a{color:#fff;font-weight:700}.dash-quick-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;display:grid}.dash-quick{min-height:150px;color:var(--text);background:#fff;border:1px solid #ececef;flex-direction:column;padding:1.2rem;text-decoration:none;display:flex}.dash-quick:hover{border-color:var(--brand-grey);text-decoration:none;transform:translateY(-2px)}.dash-quick>span{background:var(--brand-soft);width:43px;height:43px;color:var(--brand-red);border-radius:13px;place-items:center;margin-bottom:auto;font-size:1.1rem;display:grid}.dash-quick small{color:var(--text-muted);margin-top:.2rem}.dash-quick-red{border-color:var(--brand-red);background:var(--brand-red);color:#fff}.dash-quick-red>span{color:#fff;background:#ffffff2e}@media (max-width:1100px){.staff-directory-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.staff-directory-stats>div:nth-child(2){border-right:0}.staff-directory-stats>div:nth-child(-n+2){border-bottom:1px solid #e5e6e8}.staff-roster-row{grid-template-columns:minmax(190px,.7fr) minmax(0,2.3fr)}.staff-roster-details{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:.9rem}.staff-roster-actions{flex-direction:row;grid-column:1/-1;justify-content:flex-end;align-items:center}.dash-hero{flex-direction:column;align-items:flex-start}.dash-hero-actions{justify-content:flex-start;max-width:none}.dash-layout{grid-template-columns:1fr}.dash-side-stack{grid-template-columns:minmax(260px,.8fr) minmax(0,1.2fr)}}@media (max-width:700px){.content-dashboard{padding:.7rem}.staff-directory-header{flex-direction:column;align-items:stretch}.staff-directory-header .ops-header-actions{grid-template-columns:1fr 1fr;display:grid}.staff-directory-header .btn{justify-content:center;width:100%}.staff-directory-toolbar{flex-direction:column;align-items:stretch}.staff-directory-search{grid-template-columns:1fr auto;display:grid}.staff-directory-search input{width:100%}.staff-search-clear{grid-column:1/-1}.staff-roster-row{padding:1rem;display:block}.staff-roster-person{margin-bottom:1rem}.staff-roster-details{grid-template-columns:1fr 1fr;gap:.9rem 1rem}.staff-detail-address{grid-column:1/-1}.staff-roster-actions{border-top:1px solid #e7e8ea;margin-top:1rem;padding-top:.8rem;display:flex}.staff-roster-actions .btn{text-align:center;flex:1}.dash-hero{border-radius:20px;min-height:340px;padding:1.45rem}.dash-hero h1{font-size:2.35rem}.dash-hero-actions{grid-template-columns:1fr 1fr;width:100%;display:grid}.dash-person{grid-column:1/-1}.dash-hero .btn{width:100%;padding-inline:.8rem}.dash-side-stack,.dash-lower-grid,.dash-quick-grid{grid-template-columns:1fr}.dash-panel,.dash-next-shift,.dash-briefing,.dash-quick{border-radius:18px}.dash-compliance-body{grid-template-columns:1fr;justify-items:center;gap:1.4rem}.dash-metrics{width:100%}.dash-quick{min-height:135px}.staff-shift-hub{border-radius:18px;padding:1rem}.staff-shift-hub-head,.staff-shift-decision,.staff-clock-panel{flex-direction:column;align-items:stretch}.staff-shift-summary{grid-template-columns:1fr 1fr}.staff-shift-detail-grid{grid-template-columns:1fr}.staff-shift-decision form,.staff-shift-decision button,.staff-shift-actions .btn,.staff-shift-empty-actions .btn{width:100%}.staff-shift-actions,.staff-shift-empty-actions{grid-template-columns:1fr;display:grid}.leave-layout{grid-template-columns:1fr}.leave-request-form-card{position:static}.leave-request-card{flex-direction:column}.leave-request-status{justify-items:start}.pay-discrepancy-layout{grid-template-columns:1fr}.pay-discrepancy-form-card{position:static}.pay-discrepancy-form{grid-template-columns:1fr}.pay-discrepancy-description,.pay-discrepancy-submit{grid-column:auto}.pay-discrepancy-card-head{flex-direction:column;align-items:flex-start}.push-settings{grid-template-columns:1fr}.push-settings-control{flex-wrap:wrap;justify-content:flex-start;align-items:flex-start}.push-settings>.small{grid-column:auto}.expense-layout{grid-template-columns:1fr}.expense-form-card .field-half,.expense-review-form .field-half{width:100%;margin-left:0;display:block}.admin-expense-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.expense-payment-form{flex-direction:column;align-items:stretch}.expense-payment-form .field,.expense-payment-form button{width:100%;max-width:none}.notification-inbox>.card-head{flex-direction:column;align-items:flex-start;padding:1rem}.notification-empty{min-height:0;padding:1.1rem 1rem 1.25rem}.notification-item{grid-template-columns:10px minmax(0,1fr);padding:1rem}.notification-actions{flex-wrap:wrap;grid-column:2}}.nav-burger,.nav-scrim{display:none}@media (max-width:900px){.app{display:block}.sidebar-holder{z-index:60;transition:left .22s;position:fixed;top:0;bottom:0;left:-320px}.sidebar-holder.is-open{left:0}@media (prefers-reduced-motion:reduce){.sidebar-holder{transition:none}}.sidebar{flex:none;width:82vw;max-width:300px;height:100%;position:static;box-shadow:0 0 40px #0006}.nav-burger{z-index:70;border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);cursor:pointer;box-shadow:var(--shadow);background:#fff;align-items:center;gap:.45rem;padding:.45rem .7rem;font-size:.85rem;font-weight:600;display:inline-flex;position:fixed;top:.55rem;left:.7rem}.nav-burger-text{font-size:.8rem}.nav-scrim{z-index:55;cursor:pointer;background:#00000073;border:0;padding:0;display:block;position:fixed;inset:0}body.nav-open{overflow:hidden}.topbar{flex-direction:column;justify-content:center;align-items:flex-start;gap:.15rem;min-height:56px;padding-left:6.5rem}.topbar-title{font-size:1rem}.content{padding:1rem .85rem}.content.content-dashboard{padding:4.25rem .75rem .75rem}.card{padding:.95rem}.row{flex-direction:column;gap:.15rem}.row-label{flex:none;min-width:0}.table-wrap{-webkit-overflow-scrolling:touch}.link-grid,.stat-grid{grid-template-columns:1fr}.sidebar-nav a{padding:.7rem .6rem}button,.btn{min-height:44px}input,select,textarea{min-height:44px;font-size:16px}.site-footer{padding:.8rem .85rem 1rem}.legal-wrap{padding:1.25rem .9rem 3rem}.auth-wrap{padding:1rem .75rem}.auth-card{max-width:460px}.auth-card-body{padding:1.35rem 1.2rem 1.4rem}.auth-actions{flex-direction:column}.auth-actions .btn{width:100%}.application-wrap{padding-top:.75rem}.application-brandbar{min-height:70px;padding:.4rem .8rem}.application-brandbar img{width:145px;margin:-18px 0}.application-brandbar span{text-align:right;max-width:110px;margin-right:20px;font-size:.6rem}}.sidebar-nav a[aria-current=page],.app-admin .sidebar-nav a[aria-current=page]{box-shadow:inset 3px 0 var(--brand-red);background:#2a2b2f}.app-admin .main,.app-staff .main{background:#f4f5f6}.content-dashboard{max-width:1500px;padding:1rem 1.1rem 1.5rem}.staff-shift-hub{box-shadow:none;border-color:#dfe1e4;border-radius:9px;padding:1.1rem}.staff-shift-summary{border-radius:7px}.staff-shift-summary>div{background:#f7f7f8}.staff-shift-decision{background:#1e1f22;border-radius:7px}.staff-shift-actions .btn,.staff-shift-empty-actions .btn{box-shadow:none;border-radius:7px;align-items:center;gap:.4rem;display:inline-flex}.staff-shift-detail-grid article,.staff-shift-briefing,.staff-clock-panel{border-radius:7px}.staff-clock-panel{border-left:4px solid var(--status-danger);background:var(--status-danger-bg)}.dash-layout{grid-template-columns:minmax(255px,.72fr) minmax(0,1.7fr);gap:.85rem}.dash-side-stack,.dash-main-stack{gap:.85rem}.dash-panel,.dash-next-shift,.dash-briefing,.dash-quick{box-shadow:none;border-radius:9px}.dash-panel{border-color:#dfe1e4;padding:1rem}.dash-next-shift{min-height:170px;color:var(--text);background:#fff;border:1px solid #dfe1e4;padding:1rem}.dash-next-shift:after{display:none}.dash-next-shift .dash-panel-label{color:var(--brand-red-dark)}.dash-next-shift>p:not(.dash-shift-date),.dash-next-shift .dash-shift-date{color:var(--text-muted)}.dash-next-shift a{color:var(--brand-red-dark)}.dash-count,.dash-date-block{border-radius:5px}.dash-compliance{min-height:0}.dash-compliance-body{grid-template-columns:minmax(180px,.65fr) minmax(0,1.35fr);gap:1rem;min-height:0}.dash-metrics{border-radius:7px}.dash-metrics div{min-height:78px;padding:.8rem}.dash-metrics strong{font-size:1.3rem}.dash-lower-grid{gap:.85rem}.dash-briefing{background:#1e1f22;border-radius:9px;min-height:180px;padding:1rem}.dash-quick-grid{gap:.6rem}.dash-quick{border-color:#dfe1e4;min-height:112px;padding:.8rem}.dash-quick:hover{transform:none}.dash-quick>span{border-radius:6px;width:34px;height:34px}.dash-quick strong{margin-top:.7rem;font-size:.78rem}.dash-quick small{font-size:.63rem}.dash-quick-red{color:var(--text);background:#fff;border-color:#dfe1e4}.dash-quick-red>span{background:var(--brand-soft);color:var(--brand-red)}.dash-quick-red small{color:var(--text-muted)}@media (max-width:900px){.dash-layout{grid-template-columns:1fr}.dash-side-stack{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:700px){.content.content-dashboard{padding:4rem .65rem .75rem}.install-app-card{grid-template-columns:auto minmax(0,1fr);padding:.8rem}.install-app-actions{grid-column:1/-1}.install-app-actions button{flex:1}.install-guide-grid{grid-template-columns:1fr}.staff-shift-hub{border-radius:7px;padding:.85rem}.dash-side-stack,.dash-lower-grid,.dash-quick-grid{grid-template-columns:1fr}.dash-compliance-body{grid-template-columns:1fr;justify-items:stretch}.dash-panel,.dash-next-shift,.dash-briefing,.dash-quick{border-radius:7px}.dash-quick{min-height:96px}}button,.btn,a{touch-action:manipulation}.table-wrap,.ops-table-wrap{overscroll-behavior-inline:contain;max-width:100%}.row-value,.notice,.topbar-meta,.footer-links,.notification-content,.admin-expense-purpose,.staff-roster-details,.staff-home-account{overflow-wrap:anywhere;min-width:0}@media (max-width:900px){.sidebar-holder{width:min(82vw,300px);max-width:100%}.sidebar{width:100%;max-width:none;height:100dvh;padding-bottom:env(safe-area-inset-bottom);overflow-y:auto}.sidebar-nav{display:block}.nav-burger{top:calc(.55rem + env(safe-area-inset-top))}.topbar{padding-top:calc(.65rem + env(safe-area-inset-top));padding-bottom:.65rem}.table-wrap,.ops-table-wrap{-webkit-overflow-scrolling:touch}.sidebar-nav a:active,.staff-bottom-nav a:active,button:active,.btn:active{filter:brightness(.94)}}@media (max-width:700px){.staff-bottom-nav a{font-size:.68rem}}@media (max-width:420px){.ops-header-actions,.staff-home-actions,.staff-directory-header .ops-header-actions,.application-review-actions,.dash-hero-actions{grid-template-columns:1fr}.application-review-actions form,.application-review-actions button{width:100%}.admin-task-row{grid-template-columns:56px minmax(0,1fr)}.admin-task-row>:last-child{grid-column:2;justify-self:start}.staff-roster-details,.admin-expense-summary{grid-template-columns:1fr}}@media (max-height:430px) and (orientation:landscape) and (max-width:900px){.nav-burger{top:calc(.35rem + env(safe-area-inset-top))}.topbar{min-height:48px;padding-top:calc(.35rem + env(safe-area-inset-top));padding-bottom:.35rem}.content,.content.content-dashboard{padding-top:3.75rem}}.direct-upload-fields{border:0;min-width:0;margin:0;padding:0}.direct-upload-status{color:var(--muted);margin-top:.75rem;font-size:.9rem}.direct-upload-status.is-error{color:var(--danger)}.upload-limit-alert{right:max(1rem, env(safe-area-inset-right));bottom:max(1rem, env(safe-area-inset-bottom));z-index:10000;color:#5c1717;background:#fff7f7;border:1px solid #e5a5a5;border-left:4px solid #b42318;border-radius:10px;grid-template-columns:minmax(0,1fr) auto;gap:.25rem 1rem;width:min(440px,100vw - 2rem);padding:.9rem 1rem;display:grid;position:fixed;box-shadow:0 18px 45px #1f23292e}.upload-limit-alert strong,.upload-limit-alert span{grid-column:1}.upload-limit-alert span{font-size:.88rem;line-height:1.4}.upload-limit-alert button{color:#5c1717;min-height:36px;box-shadow:none;background:0 0;border:1px solid #d9a1a1;grid-area:1/2/span 2;align-self:center;padding:.45rem .7rem}@media (max-width:520px){.upload-limit-alert{right:.75rem;bottom:calc(.75rem + env(safe-area-inset-bottom));width:calc(100vw - 1.5rem)}}
