:root{--ink:#172238;--muted:#626e82;--green:#1754ba;--paper:#f4f6fa;--line:#dce2ed;--yellow:#dce8ff}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.6 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}header{height:96px;display:flex;align-items:center;padding:0 6%;gap:36px;background:white;border-bottom:1px solid var(--line)}header form{margin-left:auto}.brand{font-size:36px;font-weight:950;letter-spacing:-3px;text-decoration:none;color:var(--ink)}.brand span{font-size:10px;letter-spacing:2px;display:block;line-height:1}.season{font-size:11px;letter-spacing:2px}.season b{margin-left:24px}nav{padding:14px 6%;display:flex;gap:24px;flex-wrap:wrap;background:white;border-bottom:1px solid var(--line)}nav a{font-size:14px;text-decoration:none}main{max-width:1280px;margin:0 auto;padding:60px 6% 100px;min-height:calc(100vh - 175px)}h1{font-size:48px;line-height:1.12;letter-spacing:-2px;margin:18px 0 22px;font-weight:650}h2{font-size:23px;line-height:1.3;letter-spacing:-.5px;margin:8px 0 14px}h3{font-size:18px}p{color:var(--muted)}a{color:var(--green)}.eyebrow{font-size:11px;font-weight:700;letter-spacing:2px;color:var(--green);text-transform:uppercase}.intro{font-size:19px;line-height:1.7}.login-grid{display:grid;grid-template-columns:1.15fr 1fr;align-items:center;gap:80px;padding-top:36px}.login-grid h1{font-size:64px}.card{padding:30px;background:white;border:1px solid var(--line);border-radius:14px;margin:0 0 22px;box-shadow:0 8px 30px #172d2a04}.login-card{padding:38px}.steps{display:grid;gap:16px;margin-top:40px;font-size:14px}.steps span{border-bottom:1px solid var(--line);padding-bottom:12px;max-width:320px}label{display:block;font-size:14px;font-weight:600;margin:20px 0 8px}input,textarea,select{display:block;background:#fcfdfb;border:1px solid #bfccc3;border-radius:7px;padding:13px 14px;font:inherit;width:100%;margin-top:7px;color:var(--ink)}input:focus,textarea:focus{outline:3px solid #bdd3ff;outline-offset:2px}button,.button{font:inherit;cursor:pointer;border:0;border-radius:7px;padding:12px 18px;display:inline-block;text-decoration:none;font-weight:600}.primary,.button{background:var(--green);color:white}.primary{width:100%;margin:20px 0}.primary span{float:right}.quiet{background:#eaf0fc;color:var(--green)}.small{font-size:12px;color:var(--muted)}.narrow{max-width:560px;margin:20px auto}.pin{letter-spacing:12px;font-size:28px}.notice{padding:16px 22px;border:1px solid #c7d9a4;background:#f2f6dd;margin:0 0 24px;border-radius:8px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin:35px 0}.stats .card{text-decoration:none}.stats strong{display:block;font-size:36px;line-height:1.2;margin-bottom:12px}.stats span{font-size:14px;color:var(--muted)}.event{display:grid;grid-template-columns:1.3fr 1fr;gap:36px}.check{display:flex;gap:12px;align-items:flex-start;font-weight:400}.check input{width:19px;height:19px;flex-shrink:0;margin:3px 0 0}.terms{line-height:1.8;font-size:15px}.inline{display:flex;align-items:center;gap:15px}.inline .primary{width:auto}.row-link{display:flex;justify-content:space-between;align-items:center;text-decoration:none}.invoice-line{display:flex;align-items:center;justify-content:space-between;gap:22px;border-bottom:1px solid var(--line);padding:15px 0}.invoice-line label{max-width:230px}.columns{display:grid;grid-template-columns:1fr 1fr;gap:35px}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:35px}footer{padding:25px 6%;font-size:12px;background:white;border-top:1px solid var(--line);color:var(--muted)}footer span{float:right}@media(max-width:760px){header{height:80px;padding:0 5%;gap:20px}.season{font-size:9px}.season b{margin-left:6px}main{padding:32px 5% 65px}.login-grid{grid-template-columns:1fr;gap:25px;padding-top:0}.login-grid h1{font-size:44px}.steps{display:none}.login-card{padding:25px}h1{font-size:36px}.stats{gap:10px}.stats .card{padding:16px}.stats strong{font-size:28px}.event,.columns{grid-template-columns:1fr;gap:5px}.invoice-line{flex-wrap:wrap}.invoice-line label{max-width:none}nav{gap:15px}footer span{float:none;display:block}}

.brand{display:flex;align-items:center;flex-shrink:0}.brand img{display:block;width:88px;height:auto;object-fit:contain}@media(max-width:760px){.brand img{width:68px}}

/* Shared RT photo-site visual language. */
:root{color-scheme:dark;--ink:#f5f5f5;--muted:#c5c5c5;--green:#74b9ff;--paper:#272727;--line:#484848}
body{font-family:Roboto,Arial,sans-serif}header{height:74px;padding:0 26px;gap:24px;background:#1976c9;border-bottom:1px solid #105f9f;box-shadow:0 2px 4px #0005}.brand{gap:18px;letter-spacing:0}.brand img{width:48px;mix-blend-mode:multiply}.brand .brand-title{font-size:27px;font-weight:400;letter-spacing:0;line-height:1.2;color:white}.season{margin-left:auto;color:white}.season b{font-weight:400;margin:0}header form{margin-left:0}header .quiet{color:white;border-color:#ffffff66;background:transparent}nav{background:#303030;border-color:var(--line)}nav a{color:#eee}main{padding-top:36px}h1{font-weight:400;letter-spacing:0;font-size:34px}h2{font-weight:400;letter-spacing:0}.card{background:#303030;border-radius:4px;box-shadow:0 2px 5px #0002}.eyebrow{color:#9dccff}.primary,.button{background:#075393;color:white;text-transform:uppercase;font-size:14px;border-radius:4px;box-shadow:0 2px 4px #0003}.primary:hover,.button:hover{background:#0967b5}.quiet{background:transparent;color:#e5e5e5;border:1px solid #707070;border-radius:4px}input,textarea,select{background:transparent;border:1px solid #707070;border-radius:4px;color:white}input:focus,textarea:focus,select:focus{outline:2px solid #90caf9;outline-offset:1px}.check input{accent-color:#1976d2}.notice{background:#1c1320;border:1px solid #513155;color:#ddc7e4;border-radius:4px}.login-panel{width:100%;max-width:420px;margin:15px auto 70px}.login-panel .notice{font-size:14px;text-align:center;padding:15px;margin-bottom:8px}.login-panel h1{font-size:24px;line-height:1.35;margin:0 0 24px}.login-panel input{height:56px}.login-panel .primary{margin-top:30px}.login-panel .small{font-size:13px}footer{background:#2b2b2b;color:#ddd;text-align:center}footer span{float:none;display:block;margin-top:5px}a:focus-visible,button:focus-visible{outline:2px solid #90caf9;outline-offset:4px}@media(max-width:760px){header{height:68px;padding:0 16px;gap:12px}.brand img{width:40px}.brand .brand-title{font-size:20px}.season{font-size:9px}.login-panel{margin-top:0}header .quiet{padding:8px}.stats{grid-template-columns:1fr}.login-panel h1{font-size:23px}}

[hidden]{display:none!important}

.route-label{color:white;font-weight:400;letter-spacing:normal}

.badge-sheet{max-width:760px;margin:0 auto}.badge-card{background:white;color:#111;border:1px solid #aaa;border-radius:4px;padding:24px;box-shadow:0 2px 10px #0005}.badge-head{display:flex;justify-content:space-between;gap:18px;border-bottom:4px solid #1976c9;padding-bottom:14px;margin-bottom:22px;text-transform:uppercase;letter-spacing:1px}.badge-head span{color:#444}.badge-body{display:grid;grid-template-columns:1fr 230px;gap:22px;align-items:center}.badge-card h1,.badge-card h2,.badge-card p{color:#111}.badge-card h1{font-size:36px}.qr{width:220px;height:220px;background:white;border:8px solid white}.verify-card.valid{border-color:#39a46b}.verify-card.valid h1{color:#7ee0a6}.verify-card.invalid{border-color:#b95a5a}.verify-card.invalid h1{color:#ff9f9f}.screen-only{margin-top:24px}
.checklist{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.checklist a{border:1px solid #707070;border-radius:4px;padding:14px;text-decoration:none;color:white}.checklist span{font-size:20px;margin-right:8px}.checklist .done{border-color:#4cae7a;background:#1d5138}.brief{border-left:4px solid #1976c9;padding-left:18px;margin:18px 0}
.table-scroll{overflow:auto}table{width:100%;border-collapse:collapse;font-size:14px}th,td{border-bottom:1px solid var(--line);padding:10px;text-align:left;vertical-align:top}th{color:#cfe6ff;font-weight:600}
@media print{header,nav,footer,.screen-only{display:none!important}body{background:white;color:#111}main{padding:0;max-width:none}.badge-card{box-shadow:none;border:2px solid #111;margin:0}.badge-sheet{max-width:none}.badge-card h1{font-size:32px}}
@media(max-width:760px){.checklist{grid-template-columns:1fr}}
/* Signing window: bounded, non-overlapping reading and signature panes. */
body.signing-open{overflow:hidden}
#signing-dialog{box-sizing:border-box;position:fixed;inset:0;margin:auto;width:min(1100px,calc(100vw - 16px));max-width:none;height:calc(100vh - 16px);height:calc(100dvh - 16px);max-height:none;padding:10px;border:1px solid #66778a;border-radius:8px;background:#181c22;color:white;overflow:hidden}
#signing-dialog[open]{display:flex;flex-direction:column;gap:8px}
#signing-dialog::backdrop{background:#000b}
.signing-dialog-header{display:flex;align-items:center;justify-content:space-between;gap:8px;flex:0 0 auto;line-height:1.3}
.signing-dialog-header button{min-height:40px;padding:6px 10px;font-size:14px}
#signing-dialog .signing-workspace{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,1fr);grid-template-rows:minmax(0,1fr);align-items:stretch;gap:10px;flex:1 1 0%;min-height:0;min-width:0;overflow:hidden}
#signing-dialog .agreement-document{display:flex;flex-direction:column;align-self:stretch;min-height:0;min-width:0;height:100%;overflow:hidden}
.reader-controls{display:flex;align-items:center;justify-content:space-between;gap:8px;flex:0 0 auto;font-size:14px}
.reader-controls button{min-height:36px;padding:4px 8px;font-size:13px}
#signing-dialog .agreement-reader{flex:1 1 0%;height:0;min-height:0;min-width:0;max-height:100%;overflow-y:scroll;overflow-x:hidden;touch-action:pan-y;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;margin:4px 0;padding:12px;font-size:16px;line-height:1.5;white-space:normal;overflow-wrap:anywhere}
#review-status{flex:0 0 auto;font-size:12px;line-height:1.25;margin:3px 0}
#signing-dialog .signature-panel{position:static;align-self:stretch;min-height:0;min-width:0;height:100%;max-height:100%;overflow-y:auto;overflow-x:hidden;z-index:auto;margin:0;padding:10px;background:#20242a}
.signature-panel h2{font-size:18px;margin:0 0 4px}.signature-panel fieldset{border:0;min-width:0;margin:0;padding:0}.signature-panel legend{font-size:12px;line-height:1.25;margin-bottom:4px}.signature-options{display:flex;gap:20px}.signature-options label{display:flex;align-items:center;gap:7px;margin:4px 0;font-size:14px}.signature-options input{width:auto;margin:0}.signature-panel canvas{display:block;background:white;border:1px solid #9bbad9;border-radius:4px;width:100%;height:72px;touch-action:none}.signature-panel fieldset:disabled{opacity:.6}.signature-panel .check{font-size:12px;line-height:1.3;margin:6px 0}.signature-panel .primary{min-height:44px;margin:6px 0 0;padding:8px 12px}.signature-panel .signature-audit-note{font-size:11px;line-height:1.2;margin:5px 0}#clear-signature{min-height:32px;padding:2px 10px;margin:4px 0;font-size:13px}#typed-preview{display:block;font:italic 22px Georgia,serif;padding:6px;overflow-wrap:anywhere}#typed-area p{font-size:12px;margin:4px 0}#signature-message{font-size:12px;margin:4px 0}#signature-message:empty{display:none}.signature-panel [hidden]{display:none!important}
@media(max-width:760px){#signing-dialog{padding:8px;width:calc(100vw - 8px);height:calc(100vh - 8px);height:calc(100dvh - 8px)}#signing-dialog .signing-workspace{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1.15fr) minmax(0,1fr);gap:6px}.signing-dialog-header strong{font-size:14px}#signing-dialog .signature-panel{padding:8px}.signature-panel canvas{height:60px}}

/* Weekend availability spreadsheet. */
.availability-heading{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:28px;margin-bottom:22px}.availability-heading h1{margin-bottom:8px}.availability-heading .intro{margin-bottom:4px}.availability-total{min-width:175px;padding-left:20px;border-left:3px solid #1976c9}.availability-total strong{display:block;font-size:30px;font-weight:500;line-height:1.15}.availability-total span{color:var(--muted);font-size:13px}.travel-status{margin:0 0 18px;padding:11px 14px;border-left:3px solid #1976c9;background:#303030;color:#d7eaff;font-size:13px}.weekend-sheet{margin:0 0 24px;border:1px solid var(--line);background:#303030}.weekend-heading{display:flex;align-items:center;gap:16px;padding:14px 18px;border-bottom:1px solid var(--line);background:#383838}.weekend-heading h2{margin:0;font-size:19px}.weekend-heading span{margin-left:auto;color:var(--muted);font-size:13px}.event-table-wrap{overflow-x:auto}.event-table{table-layout:fixed}.event-table th{padding:9px 12px;font-size:11px;text-transform:uppercase}.event-table td{height:66px;padding:9px 12px;vertical-align:middle}.event-table .pick-column{width:62px;text-align:center}.event-table .distance-column{width:22%}.event-table .dates-column{width:18%}.event-choice{text-align:center}.event-choice input{width:21px;height:21px;margin:0;accent-color:#4cae7a;cursor:pointer}.event-table tbody tr{transition:background 120ms ease}.event-table tbody tr.selected{background:#183c5b}.event-name,.event-meta,.saved-note,.route-label strong,.route-label span,.event-dates strong,.event-dates span{display:block}.event-name{font-size:15px}.event-meta,.saved-note,.route-label span,.event-dates span{color:var(--muted);font-size:12px}.saved-note{margin-top:2px;color:#d9c27d}.route-label strong,.event-dates strong{font-weight:500}.weekend-status{min-height:35px;padding:8px 18px;border-top:1px solid var(--line);color:var(--muted);font-size:12px}.availability-actions{position:sticky;z-index:3;bottom:0;display:flex;align-items:center;gap:14px;margin-top:8px;padding:14px 16px;border:1px solid var(--line);background:#292929}.availability-actions .button{margin:0}.availability-actions span{color:var(--muted);font-size:12px}.distance-rule{margin-left:auto}
.route-label .travel-guidance{display:inline-block;margin-top:4px;padding:2px 6px;border:1px solid #8c7a45;border-radius:3px;color:#ffe5a0;font-size:11px;font-style:normal;font-weight:600}.route-label .travel-guidance.required{border-color:#bf6b6b;color:#ffc1c1}
@media(max-width:760px){.availability-heading{grid-template-columns:1fr;align-items:start;gap:10px}.availability-total{padding-left:12px}.weekend-heading{align-items:flex-start;padding:13px 10px}.weekend-heading span{text-align:right}.event-table th{display:none}.event-table td{padding:9px 7px}.event-table .event-choice{width:44px}.event-table td:nth-child(2){width:auto}.event-table .route-label{width:98px}.event-table .event-dates{display:none}.event-meta{max-width:42vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.availability-actions{margin:0 -5%;padding:11px 5%}.distance-rule{display:none}}

/* Manager planning and profitability. */
.manager-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:22px}.manager-head h1{margin:8px 0}.manager-head p{margin:0}.manager-metrics{display:grid;grid-template-columns:repeat(5,minmax(130px,1fr));margin-bottom:18px;border:1px solid var(--line);background:#303030}.manager-metrics.three{grid-template-columns:repeat(3,1fr)}.manager-metrics>div{min-height:96px;padding:16px;border-right:1px solid var(--line)}.manager-metrics>div:last-child{border-right:0}.manager-metrics span,.manager-metrics small{display:block;color:var(--muted);font-size:12px}.manager-metrics strong{display:block;margin:7px 0 2px;font-size:25px;font-weight:500;font-variant-numeric:tabular-nums}.manager-toolbar{display:flex;align-items:center;gap:9px;margin-bottom:18px}.manager-toolbar .small{margin-left:auto}.manager-panel{margin:0 0 18px;border:1px solid var(--line);background:#303030}.panel-title{display:flex;align-items:center;min-height:50px;padding:0 16px;border-bottom:1px solid var(--line);background:#383838}.panel-title h2{margin:0;font-size:17px}.panel-title>span{margin-left:auto;color:var(--muted);font-size:12px}.manager-panel>label,.manager-panel>p{margin-left:16px;margin-right:16px}.status-chip{display:inline-flex;align-items:center;min-height:25px;padding:2px 7px;border:1px solid #6e7479;border-radius:3px;color:#ddd;font-size:11px;font-weight:700;white-space:nowrap}.status-chip.good{border-color:#377d58;background:#173d2b;color:#a4e7bf}.status-chip.warn{border-color:#8d7436;background:#493b1f;color:#ffe09a}.status-chip.bad{border-color:#9b4d50;background:#48282a;color:#ffb9b9}.planning-table{min-width:1120px}.planning-table td{height:68px;vertical-align:middle}.planning-table .number{text-align:right;font-variant-numeric:tabular-nums}.event-link{display:block;color:white;font-weight:600;text-decoration:none}.event-link:hover{text-decoration:underline}.cell-meta{display:block;margin-top:2px;color:var(--muted);font-size:11px}.negative{color:#ffaaaa!important}.field-grid{display:grid;gap:12px;padding:4px 16px 18px}.field-grid.five{grid-template-columns:repeat(5,minmax(120px,1fr))}.field-grid label{margin:12px 0 0;color:#c5ccd1;font-size:12px}.field-grid input,.field-grid select{height:43px;margin-top:5px;padding:8px 10px}.planning-check{padding:0 16px}.calculation-note{margin:14px 16px 18px;padding:11px 13px;border-left:3px solid #1976c9;background:#282828;color:#d5e9fa;font-size:13px}.save-bar{position:sticky;bottom:0;z-index:3;display:flex;align-items:center;gap:15px;margin-bottom:22px;padding:12px 16px;border:1px solid #5b6268;background:#25282a}.save-bar .primary{width:auto;margin:0}.save-bar span{color:var(--muted);font-size:12px}.detail-columns{display:grid;grid-template-columns:1.2fr 1fr;gap:18px}.deadline-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;border-bottom:1px solid var(--line)}.deadline-row strong,.deadline-row span{display:block}.deadline-row span{color:var(--muted);font-size:12px}.deadline-form{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:12px 16px}.deadline-form label{margin:0}.deadline-form button{align-self:end}.staff-grid{display:grid;grid-template-columns:repeat(2,minmax(300px,1fr));gap:1px;background:var(--line)}.staff-profile{display:grid;grid-template-columns:82px minmax(0,1fr);grid-template-rows:auto auto;gap:12px;padding:16px;background:#303030}.staff-photo{grid-row:1 / 3;width:82px;height:82px;display:grid;place-items:center;overflow:hidden;border:1px solid #737b81;border-radius:50%;background:#25282a;color:var(--muted);font-size:11px}.staff-photo img{width:100%;height:100%;object-fit:cover}.staff-copy h3{margin:0}.staff-copy p{margin:3px 0}.staff-status{display:flex;flex-wrap:wrap;gap:5px;margin-top:8px}.staff-action{grid-column:2;display:flex;align-items:end;gap:7px;flex-wrap:wrap}.staff-rate{display:flex;align-items:end;gap:6px}.staff-rate label{margin:0;color:var(--muted);font-size:11px}.staff-rate input{display:block;width:88px;height:32px;margin-top:3px;padding:5px 7px}.staff-rate .quiet{height:32px;padding:5px 8px;font-size:11px}.badge-identity{display:grid;grid-template-columns:130px minmax(0,1fr);align-items:center;gap:18px}.badge-headshot{width:130px;height:160px;object-fit:cover;border:1px solid #aaa;background:#eee}
@media(max-width:1000px){.manager-metrics{grid-template-columns:repeat(3,1fr)}.manager-metrics>div:nth-child(3){border-right:0}.manager-metrics>div:nth-child(n+4){border-top:1px solid var(--line)}.field-grid.five{grid-template-columns:repeat(3,1fr)}.detail-columns{grid-template-columns:1fr}.staff-grid{grid-template-columns:1fr}}
@media(max-width:760px){.manager-head{align-items:flex-start;flex-direction:column}.manager-head .actions{margin:0}.manager-metrics,.manager-metrics.three{grid-template-columns:repeat(2,1fr)}.manager-metrics>div{border-top:1px solid var(--line)}.manager-metrics>div:nth-child(odd){border-right:1px solid var(--line)}.manager-metrics>div:nth-child(even){border-right:0}.manager-toolbar{align-items:flex-start;flex-wrap:wrap}.manager-toolbar .small{width:100%;margin:4px 0 0}.field-grid.five{grid-template-columns:repeat(2,minmax(0,1fr));padding:4px 10px 14px}.panel-title{align-items:flex-start;padding:12px}.panel-title>span{text-align:right}.deadline-form{grid-template-columns:1fr}.staff-profile{grid-template-columns:66px minmax(0,1fr);padding:12px}.staff-photo{width:66px;height:66px}.badge-body{grid-template-columns:1fr}.badge-identity{grid-template-columns:95px minmax(0,1fr)}.badge-headshot{width:95px;height:120px}.qr{width:160px;height:160px}}

/* Manager inbox. */
.inbox-layout{display:grid;grid-template-columns:330px minmax(0,1fr);gap:18px}.inbox-list,.inbox-thread{min-height:620px}.inbox-person{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 12px;padding:13px 16px;border-bottom:1px solid var(--line);color:white;text-decoration:none}.inbox-person:hover,.inbox-person.active{background:#163b5a}.inbox-person span,.inbox-person small{color:var(--muted);font-size:11px}.inbox-person b{color:#a9d6ff}.inbox-person small{grid-column:1 / 3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.conversation{display:flex;flex-direction:column;gap:10px;max-height:500px;overflow-y:auto;padding:16px}.message-item{max-width:78%;padding:11px 13px;border:1px solid var(--line);border-radius:7px;background:#26292d}.message-item.manager{align-self:flex-end;border-color:#2d76b5;background:#174b76}.message-item span,.message-item time{display:block;color:#bfc9d2;font-size:10px}.message-item p{margin:4px 0;color:white}.reply-box{padding:14px 16px;border-top:1px solid var(--line)}.reply-box label{margin:8px 0}.reply-box .primary{width:auto;margin:12px 8px 0 0}.reply-box>span{color:var(--muted);font-size:11px}.inbox-empty{display:grid;place-content:center;min-height:580px;text-align:center}@media(max-width:850px){.inbox-layout{grid-template-columns:1fr}.inbox-list,.inbox-thread{min-height:auto}.inbox-list{max-height:280px;overflow:auto}.conversation{max-height:480px}.message-item{max-width:92%}}

/* Background-check manager workspace. */
.screening-metrics{display:grid;grid-template-columns:repeat(4,1fr);margin-bottom:18px;border:1px solid var(--line);background:#303030}.screening-metrics a{min-height:86px;padding:14px 16px;border-right:1px solid var(--line);color:white;text-decoration:none}.screening-metrics a:last-child{border-right:0}.screening-metrics span,.screening-metrics strong{display:block}.screening-metrics span{color:var(--muted);font-size:12px}.screening-metrics strong{margin-top:4px;font-size:26px;font-weight:500}.screening-toolbar{display:grid;grid-template-columns:minmax(220px,1fr) 220px auto auto;align-items:end;gap:10px;margin-bottom:18px}.screening-toolbar label{margin:0}.screening-toolbar input,.screening-toolbar select{height:43px}.screening-toolbar .button{height:43px}.screening-toolbar>a{align-self:center}.screening-table{min-width:940px}.screening-table td{vertical-align:middle}.screening-table td>span,.screening-table td>strong{display:block}.screening-update{display:grid;grid-template-columns:150px 150px auto;gap:7px;align-items:center}.screening-update select,.screening-update input{height:39px;margin:0;padding:6px 8px}.screening-update .button{height:39px;padding:8px 13px}
@media(max-width:760px){.screening-metrics{grid-template-columns:repeat(2,1fr)}.screening-metrics a:nth-child(2){border-right:0}.screening-metrics a:nth-child(n+3){border-top:1px solid var(--line)}.screening-toolbar{grid-template-columns:1fr 1fr}.screening-toolbar .button{width:100%}}

/* Manager availability report. */
.availability-metrics{grid-template-columns:repeat(3,minmax(150px,1fr));max-width:720px}.availability-report-toolbar{display:grid;grid-template-columns:minmax(240px,1fr) 210px auto auto;gap:10px;align-items:end;margin-bottom:12px}.availability-report-toolbar label{margin:0;color:#c5ccd1;font-size:12px}.availability-report-toolbar input,.availability-report-toolbar select{height:43px;margin-top:5px;padding:8px 10px}.availability-report-toolbar .button{height:43px}.availability-report-toolbar>a{align-self:center}.travel-report-actions{display:flex;align-items:center;gap:12px;margin:0 0 18px;padding:10px 13px;border:1px solid var(--line);background:#303030}.travel-report-actions span{color:var(--muted);font-size:12px}.availability-report-weekend{margin-bottom:18px;padding:0}.availability-weekend-header{display:flex;align-items:end;justify-content:space-between;gap:16px;padding:15px 16px 13px;border-bottom:1px solid var(--line);background:#2a2e32}.availability-weekend-header .eyebrow{margin-bottom:3px}.availability-weekend-header h2{margin:0;font-size:20px}.availability-weekend-header>span{color:var(--muted);font-size:12px}.availability-event-list{display:grid}.availability-event{border-bottom:1px solid var(--line)}.availability-event:last-child{border-bottom:0}.availability-event-details{display:block}.availability-event-header{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:0;padding:15px 16px;cursor:pointer;list-style:none}.availability-event-header::-webkit-details-marker{display:none}.availability-event-header::marker{display:none}.availability-event-header .cell-meta,.availability-staffing span{display:block}.availability-event-header .event-link{color:#fff;font-weight:650}.availability-event.has-assigned .availability-event-header{background:#183b29;box-shadow:inset 4px 0 #4fb675}.availability-event.has-assigned .availability-staffing strong{color:#9ae6b4}.availability-staffing{flex:0 0 auto;text-align:right}.availability-staffing strong{display:block}.availability-staffing span{color:var(--muted);font-size:12px;margin-top:2px}.availability-expand-label{flex:0 0 auto;color:var(--muted);font-size:11px}.availability-event-details[open] .availability-expand-label{font-size:0}.availability-event-details[open] .availability-expand-label::after{content:'Hide staff';font-size:11px}.availability-event-body{padding:0 16px 15px}.assigned-roster,.available-roster{margin-top:12px}.assigned-roster:first-child{margin-top:0}.available-roster{padding-top:12px;border-top:1px solid var(--line)}.roster-label{display:block;margin:0 0 6px;color:var(--muted);font-size:10px;font-weight:700;letter-spacing:0;text-transform:uppercase}.availability-people{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:6px}.availability-person{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:58px;padding:8px 9px;border:1px solid #50565d;background:#292d31}.assigned-person{border-color:#377d58;background:#263a2e}.availability-person-copy{min-width:0}.availability-person-copy>strong,.availability-person-copy>span,.availability-person-copy>small{display:block}.availability-person-copy>span,.availability-person-copy>small{color:var(--muted);font-size:11px}.availability-person-copy .contractor-city{color:#e2e8ec}.availability-person-copy .travel-summary,.availability-person-copy .assignment-summary{margin-top:3px;color:#d7e5ef;line-height:1.35}.availability-person-copy small{margin-top:3px;color:#d9c27d}.availability-person-actions{display:flex;align-items:center;gap:6px}.availability-person-actions form{margin:0}.assignment-button{flex:0 0 auto;padding:5px 9px;font-size:11px}.availability-empty{text-align:center;color:var(--muted);padding:36px!important}.offer-grid{grid-template-columns:1fr 1fr 1fr}.offer-assignment{max-width:900px}
@media(max-width:760px){.availability-report-toolbar{grid-template-columns:1fr 1fr}.availability-report-toolbar>a{align-self:center}.travel-report-actions{align-items:flex-start;flex-direction:column}.availability-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.availability-metrics>div{min-height:78px;padding:11px}.availability-metrics strong{font-size:21px}.availability-weekend-header,.availability-event-header{align-items:flex-start;flex-direction:column}.availability-staffing{text-align:left}.availability-expand-label{align-self:flex-end;margin-top:-22px}.availability-people{grid-template-columns:1fr}.availability-person{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start}.availability-person-actions{grid-column:1 / -1;justify-content:flex-start;margin-top:2px}.contractor-city{overflow:visible;text-overflow:clip;white-space:normal}.offer-grid{grid-template-columns:1fr}}
.availability-staff-snapshot{display:flex;align-items:center;justify-content:flex-end;gap:12px;flex:0 1 320px;min-width:0}.availability-assigned-names{color:#c3f0d2;font-size:13px;font-weight:600;line-height:1.45;overflow-wrap:anywhere}.availability-event-details[open] .availability-assigned-names{font-size:13px}@media(max-width:760px){.availability-staff-snapshot{flex:0 0 auto;align-self:stretch;justify-content:space-between}.availability-staff-snapshot .availability-expand-label{align-self:center;margin-top:0}}
.availability-event-header .calendar-review-warning{color:#f3d28b;line-height:1.4;white-space:normal;margin-top:4px}
.availability-event.needs-calendar-verification .availability-event-header{background:#491f24;box-shadow:inset 4px 0 #f16d7a}.availability-event.needs-calendar-verification .availability-event-header .calendar-verification-blocker{color:#ffc2c9;font-weight:600}.availability-event.needs-calendar-verification .availability-staffing strong,.availability-event.needs-calendar-verification .availability-assigned-names{color:#ffe4e7}
.availability-weekend > summary{cursor:pointer;list-style:disclosure-closed;padding:16px;display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.availability-weekend[open] > summary{list-style:disclosure-open;border-bottom:1px solid #425247}
.availability-weekend > summary::after{content:'+';margin-left:auto;font-size:24px}
.availability-weekend[open] > summary::after{content:'-'}
.weekend-coverage{display:flex;align-items:center;gap:10px 16px;flex-wrap:wrap;font-size:14px}
.coverage-covered{color:#7ee2ab}
.coverage-uncovered{color:#ffadb6}
.availability-event.needs-coverage:not(.needs-calendar-verification) .availability-event-header{box-shadow:inset 4px 0 #e06e7b;background:#352329}
.staffing-requirement-form{display:flex;align-items:end;flex-wrap:wrap;gap:12px;margin:0 0 18px;padding:12px 0;border-bottom:1px solid #425247}
.staffing-requirement-form label{display:grid;gap:6px;font-size:14px}
.staffing-requirement-form input[type=number]{width:110px;min-height:40px}
.requirement-result{font-size:14px;align-self:center}
@media(max-width:600px){.availability-weekend > summary{padding:12px;gap:10px}.weekend-coverage{width:100%;gap:8px 12px}.availability-weekend > summary::after{position:absolute;right:16px}.availability-weekend > summary{position:relative;padding-right:36px}}
.availability-recruiting{margin-top:18px;border-top:1px solid #50565d;padding-top:14px}
.availability-recruiting[hidden]{display:none}
.recruiting-list h3{font-size:16px;margin:0 0 12px}
.recruiting-row{display:flex;gap:12px;align-items:center;justify-content:space-between;padding:10px 0;border-bottom:1px solid #50565d}
.availability-ask-form{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0}
.ask-channel-label{display:grid;gap:4px;font-size:11px}
.ask-channel-label select{max-width:240px;min-height:36px}
.ask-confirm{font-size:12px;display:flex;gap:6px;align-items:center;max-width:200px}
.ask-confirm input{width:18px;height:18px}
.ask-result,.recruiting-status{font-size:12px;color:#d7e5ef}
@media(max-width:760px){.recruiting-row{align-items:stretch;flex-direction:column}.availability-ask-form{width:100%}.ask-channel-label{min-width:0}.ask-channel-label select{max-width:100%;width:100%}}

.availability-weekend > .availability-weekend-header{display:flex;flex-direction:row;flex-wrap:nowrap;gap:12px;padding:9px 14px;min-height:42px;text-align:left;align-items:center;border-bottom:0;position:relative;white-space:nowrap;font-size:14px;line-height:1.4;color:#f3f5f4}
.availability-weekend .weekend-title{font-weight:600;color:inherit}
.availability-weekend .weekend-event-count,.availability-weekend .weekend-needed{font-size:inherit;color:inherit;flex:0 0 auto}
.availability-weekend .weekend-event-count::before,.availability-weekend .weekend-needed::before{content:'\00b7';margin-right:12px}
.availability-weekend > .availability-weekend-header::after{position:static;margin:0 0 0 auto;align-self:center;font-size:19px;line-height:1}
.availability-weekend .weekend-date-short,.availability-weekend .weekend-needed-short{display:none}
.availability-weekend.weekend-covered{border-color:#39825a;background:#194c31}
.availability-weekend.weekend-covered > .availability-weekend-header{background:#194c31}
.availability-weekend.weekend-uncovered{border-color:#a34e58;background:#632b34}
.availability-weekend.weekend-uncovered > .availability-weekend-header{background:#632b34}
.availability-weekend > .availability-event-list{background:#303030}
.availability-report-weekend.availability-weekend{margin-bottom:8px}
@media(max-width:360px){header .brand .brand-title{font-size:18px}}
@media(max-width:760px){.availability-weekend > .availability-weekend-header{padding:9px 10px;gap:7px;font-size:12px;min-height:40px}.availability-weekend .weekend-event-count::before,.availability-weekend .weekend-needed::before{margin-right:7px}.availability-weekend .weekend-date-full,.availability-weekend .weekend-needed-full{display:none}.availability-weekend .weekend-date-short,.availability-weekend .weekend-needed-short{display:inline}}
@media(max-width:360px){.availability-weekend > .availability-weekend-header{padding:9px 8px;gap:4px}.availability-weekend .weekend-event-count::before,.availability-weekend .weekend-needed::before{margin-right:4px}}
.availability-month-heading{margin:22px 0 8px;padding:8px 12px;background:#171717;border-bottom:1px solid #666;font-size:18px;font-weight:600;line-height:1.4}
.availability-weekend .weekend-title{font-size:15px;flex:0 0 auto}
.availability-weekend .weekend-outreach{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;font-size:14px;color:inherit;white-space:nowrap}
.availability-weekend .weekend-outreach::before{content:'\00b7';margin-right:12px}
.availability-weekend .weekend-outreach-short{display:none}
.event-outreach-notes{font-size:13px;padding:9px 0;margin:0;color:#f3dca2}
@media(max-width:760px){.availability-weekend .weekend-title{font-size:13px}.availability-weekend .weekend-outreach{font-size:12px}.availability-weekend .weekend-outreach-full{display:none}.availability-weekend .weekend-outreach-short{display:inline}.availability-weekend .weekend-outreach::before{margin-right:7px}.availability-month-heading{font-size:17px;margin-top:18px}}
@media(max-width:360px){.availability-weekend .weekend-outreach::before{margin-right:4px}}
.candidate-distance-destination{margin:0 0 12px;font-size:12px;color:#c5c5c5}
.candidate-distance{display:block;font-size:13px;color:#e6edf3;margin:4px 0}
.candidate-distance .cell-meta{display:inline;color:#aebbc7;font-size:11px;margin-left:5px}
.candidate-table-scroll{max-width:100%;overflow-x:auto;overscroll-behavior-x:contain}
.candidate-table{table-layout:fixed;min-width:720px;width:100%;font-size:12px}
.candidate-table th,.candidate-table td{height:38px;padding:4px 8px;vertical-align:middle;white-space:nowrap}
.candidate-table th{font-size:11px;font-weight:500;color:#c5c5c5}
.candidate-table th:nth-child(1){width:22%}.candidate-table th:nth-child(2){width:20%}.candidate-table th:nth-child(3){width:13%}.candidate-table th:nth-child(4){width:13%}.candidate-table th:nth-child(5){width:32%}
.candidate-table .recruiting-row{display:table-row;padding:0;border:0}
.candidate-table .candidate-name,.candidate-table .candidate-city{overflow:hidden;text-overflow:ellipsis}
.candidate-table .candidate-name strong{font-weight:500}
.candidate-table .candidate-distance{display:table-cell;margin:0;font-size:12px}
.candidate-table .candidate-map a{font-size:11px;white-space:nowrap;padding:0}
.candidate-table .availability-ask-form{display:flex;flex-wrap:nowrap;align-items:center;gap:6px;min-width:0;width:auto;margin:0}
.candidate-table .availability-ask-form select{width:72px;flex:0 0 72px;height:30px;min-height:30px;padding:3px 6px;margin:0;font-size:12px}
.candidate-table .availability-ask-form button{height:30px;min-height:30px;padding:3px 9px;font-size:12px}
.candidate-table .ask-result{overflow:hidden;text-overflow:ellipsis;font-size:11px;min-width:0;max-width:160px;white-space:nowrap}
.candidate-table .ask-result:empty{display:none}
.candidate-table .ask-confirm{display:flex;flex:0 0 auto;gap:4px;font-size:11px;margin:0;white-space:nowrap}
.candidate-table .ask-confirm input{width:15px;height:15px;margin:0}
.availability-recruiting,.recruiting-list{min-width:0;max-width:100%;overflow:hidden}
.candidate-table-scroll{width:100%;overflow-y:hidden}
.availability-event-list{grid-template-columns:minmax(0,1fr);min-width:0}
.availability-event,.availability-event-details,.availability-event-body{min-width:0;max-width:100%}
.availability-weekend .outreach-pending,.availability-event .availability-pending-names{color:#ffe08a;font-weight:500}
.availability-event .availability-pending-names{display:block;font-size:12px;line-height:1.45;overflow-wrap:anywhere}
.availability-weekend .weekend-outreach{overflow-x:auto;text-overflow:clip;overscroll-behavior-x:contain;scrollbar-width:none}
.availability-weekend .weekend-outreach::-webkit-scrollbar{display:none}

/* Invoice review and pay pages */
.filter-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 18px}
.review-figures{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:12px}
.review-figures div{border:1px solid var(--line);border-radius:4px;padding:10px 12px}
.review-figures span{display:block;font-size:13px;color:var(--muted)}
.review-figures strong{font-size:22px;font-weight:500}
.status-approved{color:#7fd39b}.status-paid{color:#74b9ff}.status-correction{color:#ffcf70}
.review-notes{white-space:normal;border-left:3px solid var(--line);padding:4px 12px;margin:6px 0 14px;overflow-wrap:anywhere}
.receipt-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px}
.receipt-tile{margin:0;border:1px solid var(--line);border-radius:4px;padding:8px;background:#1f1f1f}
.receipt-tile img{display:block;width:100%;height:190px;object-fit:cover;border-radius:2px;background:#111}
.receipt-file{display:flex;align-items:center;justify-content:center;height:190px;border:1px dashed var(--line);border-radius:2px;font-size:26px;text-decoration:none;color:var(--ink)}
.receipt-tile figcaption{font-size:13px;margin-top:6px;overflow-wrap:anywhere}
.review-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;align-items:start}
.review-actions form{margin:0}
.history-row{display:grid;grid-template-columns:170px 200px 140px 1fr;gap:10px;border-bottom:1px solid var(--line);padding:6px 0;font-size:14px}
@media(max-width:760px){.review-figures{grid-template-columns:repeat(2,minmax(0,1fr))}.history-row{grid-template-columns:1fr}}
.filter-tabs .button,.filter-tabs .primary{width:auto;display:inline-flex;margin:0}
