:root{--bg:#111214;--panel:#1d1f22;--panel-2:#24262a;--ink:#f5f5f7;--muted:#b4b5bd;--line:#ebebf521;--gold:#e6c98f;--gold-2:#f2ddae;--brand-gold:#daba7e;--gold-soft:#e6c98f1c;--action-bg:#f5f4ef;--action-ink:#1d1d1f;--soft-surface:#ebebf50e;--hover-surface:#ebebf518;--shell-surface:#18191c;--hero-surface:#232528;--shadow:0 8px 24px #0000001f;--focus-ring:#e6c98f;--workspace-font:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif}:root[data-theme=light]{--bg:#f5f5f7;--panel:#fff;--panel-2:#fafafb;--ink:#1d1d1f;--muted:#62636c;--line:#e0e0e6;--gold:#34343a;--gold-2:#1d1d1f;--brand-gold:#ad8544;--gold-soft:#f5f0e5;--action-bg:#242426;--action-ink:#fff;--soft-surface:#f2f2f5;--hover-surface:#ebebef;--shell-surface:#f0f0f3;--hero-surface:#f2f2f5;--shadow:0 8px 24px #1d1d1f0f;--focus-ring:#51535e}html,body{background:var(--bg)}body{color:var(--ink);font-family:var(--workspace-font)}::selection{background:var(--action-bg);color:var(--action-ink)}.portal-shell{background:var(--bg)}.portal-shell,.training-page,.onboarding-page{scrollbar-width:thin;scrollbar-color:var(--muted) transparent}.portal-shell :is(h1,h2,h3,button,input,select,textarea),.training-page :is(h1,h2,h3),.onboarding-page :is(h1,h2,h3){font-family:var(--workspace-font)}.portal-shell :is(button,a,summary,input,select,textarea):focus-visible,.team-page :is(button,a,summary,input,select,textarea):focus-visible{outline:2px solid var(--focus-ring);outline-offset:3px}.portal-shell button:disabled,.team-page button:disabled{cursor:not-allowed}.portal-shell>aside{border-right:1px solid var(--line);background:var(--shell-surface);-webkit-backdrop-filter:none;backdrop-filter:none;padding:25px 15px}.portal-shell>aside header{padding-bottom:26px}.portal-brand{gap:10px}.portal-brand strong{font-family:var(--workspace-font);letter-spacing:-.02em;font-size:14px}.portal-brand small{letter-spacing:.08em;font-size:9px}.portal-nav-group>p{color:var(--muted);letter-spacing:0;text-transform:none;margin:0 12px 6px;font-size:11px;font-weight:600}.portal-shell aside nav{gap:20px}.portal-shell aside nav a{min-height:44px;color:var(--ink);border-radius:10px;font-size:14px;font-weight:500;transition:background-color .18s,color .18s}.portal-shell aside nav a svg{color:var(--muted);stroke-width:1.8px}.portal-shell aside nav a.active{border-color:var(--line);background:var(--panel);color:var(--ink);font-weight:650}.portal-shell aside nav a.active:before{display:none}.portal-shell aside nav a.active svg{color:var(--brand-gold)}.portal-shell aside nav a:hover{background:var(--hover-surface)}.portal-user strong{font-size:13px;font-weight:600}.portal-user small{font-size:11px}.portal-user>span{background:var(--panel);color:var(--ink)}.portal-locale{background:var(--hover-surface);border-radius:11px;gap:3px;padding:3px}.portal-locale button{min-height:44px;color:var(--muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;flex:1;place-items:center;font-size:12px;font-weight:650;display:grid}.portal-locale button.active{border-color:var(--line);background:var(--panel);color:var(--ink)}.portal-language-error{color:var(--red);font-size:11px;line-height:1.4}.portal-logout{min-height:44px;font-size:13px;font-weight:500}.theme-toggle{border-color:var(--line);background:var(--panel);font-size:13px;font-weight:550}.theme-toggle svg{color:var(--ink);stroke-width:1.8px}.team-page{width:min(1120px,100%);padding-top:40px}.team-page-head{align-items:end;margin-bottom:28px}.team-page-head p{color:var(--muted);letter-spacing:0;text-transform:none;margin-bottom:8px;font-size:13px;font-weight:500}.team-page-head h1{letter-spacing:-.03em;text-wrap:balance;font-size:2.125rem;font-weight:700;line-height:1.15}.header-date{color:var(--muted);background:0 0;border:0;font-size:13px;font-weight:500}.header-date svg{color:var(--muted)}.section-head{margin-top:32px}.section-head .portal-eyebrow{display:none}.section-head h2{letter-spacing:-.02em;font-size:1.375rem;font-weight:650}.section-head a{min-height:44px;color:var(--ink);align-items:center;font-size:13px;font-weight:600}.today-next-action{border:1px solid var(--line);background:var(--panel);min-height:112px;box-shadow:none;border-radius:16px;transition:background-color .18s,border-color .18s,box-shadow .18s}.today-next-action:hover{border-color:var(--brand-gold);background:var(--panel-2);box-shadow:none}.today-next-action-icon{background:var(--gold-soft);color:var(--gold)}.today-next-action-main small{color:var(--muted);letter-spacing:0;text-transform:lowercase;font-size:11px;font-weight:600}.today-next-action-main small:first-letter{text-transform:uppercase}.today-next-action-main strong{letter-spacing:-.02em;font-size:19px;font-weight:650}.today-next-action-main>span{font-size:13px;font-weight:500}.today-next-action-cta{background:var(--action-bg);min-height:46px;color:var(--action-ink);border-radius:12px;font-size:13px;font-weight:600}.today-summary{border:1px solid var(--line);background:var(--panel);border-radius:16px;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin-bottom:26px;overflow:hidden}.today-summary>div,.today-summary article{min-height:110px;box-shadow:none;border:0;border-radius:0;padding:17px 20px;background:0 0!important}.today-summary>:not(:last-child){border-right:1px solid var(--line)}.summary-hero{color:var(--ink)}.summary-hero p,.summary-hero span{color:var(--muted)}.summary-hero p{text-transform:none;font-size:12px;font-weight:500}.summary-hero span{font-size:12px;font-weight:500}.summary-hero strong{color:var(--ink);font-family:var(--workspace-font);letter-spacing:-.02em;font-size:28px;font-weight:650}.summary-hero svg{display:none}.today-summary article{justify-content:center}.today-summary article>span{width:32px;height:32px;color:var(--muted);background:0 0}.today-summary article small{color:var(--muted);font-size:12px;line-height:1.4}.today-summary article strong{font-family:var(--workspace-font);letter-spacing:-.02em;font-variant-numeric:tabular-nums;margin-top:5px;font-size:21px;font-weight:650}.job-list,.schedule-day{gap:12px}.job-card{background:var(--panel);min-height:116px;box-shadow:none;border-radius:16px}.job-card:hover{border-color:var(--brand-gold);background:var(--panel-2)}.job-card-date{min-width:100px}.job-card-date strong{font-family:var(--workspace-font);font-size:13px;font-weight:550}.job-card-date span{color:var(--ink);font-variant-numeric:tabular-nums;font-size:15px;font-weight:650}.job-card-copy h3{letter-spacing:-.015em;margin:7px 0 5px;font-size:17px;font-weight:650}.job-card-copy>p{color:var(--muted);font-size:13px}.job-card-copy>.job-card-labels{flex-wrap:wrap;align-items:center;gap:6px 10px;margin:0;display:flex}.job-card-labels>small{color:var(--muted);font-size:12px}.job-card-copy>.job-card-labels>.work-pill{color:var(--muted);font-size:10px}.job-card-copy>.job-card-labels>.work-pill:is(.state-in_progress,.state-on_the_way){color:var(--blue)}.job-card-copy>.job-card-labels>.work-pill.state-submitted_for_review{color:var(--gold)}.job-card-copy>.job-card-labels>.work-pill.state-approved{color:var(--green)}.job-card-copy>.job-card-meta{gap:8px 16px;margin-top:11px}.job-card-copy>.job-card-meta span{color:var(--muted);font-size:12px}.job-card-copy>.job-card-meta span.danger{color:var(--red)}.work-pill{letter-spacing:.015em;font-size:10px;font-weight:650}.job-card-total{color:var(--muted);background:0 0;border:0}.job-card-total svg{width:20px;color:var(--muted);stroke-width:1.8px}.schedule-day-head{background:0 0;border:0;border-radius:0;padding:14px 3px 6px}.schedule-day-head>strong{letter-spacing:-.015em;font-size:16px;font-weight:650}.schedule-day-head span{font-size:12px}.schedule-day-head b{font-size:13px;font-weight:600}.schedule-filter{background:var(--hover-surface);border:0;border-radius:12px;width:fit-content;padding:4px}.schedule-filter button{border-radius:9px;min-height:44px;font-size:13px;font-weight:550}.schedule-filter button.active{background:var(--panel);color:var(--ink);box-shadow:0 2px 5px #00000014}.dashboard-shortcuts{margin-top:22px}.dashboard-shortcuts .safety-note{border-radius:14px;min-height:90px}.dashboard-shortcuts .safety-note strong{font-size:14px;font-weight:600}.dashboard-shortcuts .safety-note span{font-size:12px}.dashboard-shortcuts .safety-note>svg:first-child{color:var(--muted);stroke-width:1.8px}.job-detail-page .job-detail-hero,.job-detail-page .job-start-card,.job-detail-page .job-disclosure{border-color:var(--line);background:var(--panel);border-radius:16px}.job-detail-page .job-focus-action{box-shadow:none;border-radius:12px}.job-detail-page .job-disclosure>summary{transition:background-color .18s}.job-detail-page .job-disclosure>summary:hover{background:var(--hover-surface)}.job-detail-page .job-disclosure-title strong{font-size:15px;font-weight:600}.job-detail-page .job-disclosure-title small{color:var(--muted);font-size:12px}.job-disclosure-icon{background:var(--soft-surface);color:var(--muted);border:0}.job-disclosure-icon svg{stroke-width:1.8px}.job-detail-page .job-disclosure[open]>summary{border-bottom:1px solid var(--line)}.job-detail-page .job-disclosure.is-locked{background:0 0}.job-detail-page .job-disclosure-body>:is(.task-card,.workflow-card,.turnover-card,.essentials-card,.upload-sync-card){box-shadow:none;background:0 0;border:0;border-radius:0}.job-detail-page .job-hero-main h1{letter-spacing:-.025em;font-size:1.75rem;font-weight:650}.job-detail-page .job-assigned-time{border-color:var(--line);background:var(--soft-surface)}.job-detail-page .job-assigned-time strong{letter-spacing:-.02em;font-size:23px;font-weight:650}.job-detail-page .job-assigned-time>span{font-size:12px}.job-detail-page .job-earnings{background:0 0;border-color:#0000}.job-detail-page .job-earnings small{letter-spacing:0;text-transform:none;font-size:11px}.job-detail-page .job-earnings strong{font-family:var(--workspace-font);letter-spacing:-.02em;font-size:20px;font-weight:600}.job-detail-page .job-earnings span{font-size:12px}.job-hero-meta>span{background:var(--soft-surface);border-color:#0000;min-height:36px;font-size:12px}.job-hero-meta svg{color:var(--muted)}.job-detail-page .job-start-copy h2{font-size:18px;font-weight:600}.job-detail-page .job-start-actions button{min-height:48px;font-size:14px;font-weight:600}.job-stage-steps li{font-size:12px}.job-focus-progress{border-color:var(--line);background:var(--bg);box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;padding:7px}.job-focus-progress button{background:var(--panel);border-color:#0000;border-radius:10px;min-height:48px;font-size:12px;font-weight:600}.job-focus-progress button.needs-work{border-color:color-mix(in srgb,var(--red) 35%,var(--line))}.job-focus-progress button:hover:not(:disabled){background:var(--hover-surface)}.job-section-menu>summary{font-size:13px}.job-section-menu button{font-size:12px}.room-checklist .room-heading strong{font-size:15px;font-weight:600}.room-checklist .room-heading span{font-size:12px}.room-checklist .room-progress{background:var(--hover-surface)}.room-checklist .checklist-copy>strong{font-size:15px;font-weight:500;line-height:1.5}.room-checklist .checklist-task>.checklist-box{border-radius:8px;width:26px;height:26px}.room-checklist .checklist-toolbar{color:var(--muted);font-size:12px}.room-checklist .checklist-photo{border-color:var(--line);background:var(--soft-surface);min-height:44px;color:var(--ink);font-size:12px;font-weight:550}.room-checklist .next-room{border-color:var(--line);color:var(--ink);font-size:13px}.completion-panel h2{font-size:19px;font-weight:650}.completion-panel>summary{min-height:68px}.completion-next,.completion-count{font-size:12px}.completion-items button,.completion-group-items button{font-size:13px;font-weight:500}.team-page :is(.review-score-card,.review-card,.learning-card,.kit-card,.availability-card,.help-item,.help-contact,.earnings-table,.notification-list){border-radius:16px}.review-score-number strong,.review-score-empty{letter-spacing:-.03em;font-size:2.5rem;font-weight:650}.review-score-heading,.review-score-card p{font-size:13px;font-weight:550}.review-card-date,.review-comment>span{font-size:12px}.review-comment p{max-width:70ch;font-size:14px;line-height:1.65}.review-job-link{min-height:44px;font-size:13px}.learning-hero{border:1px solid var(--line);background:var(--panel);min-height:205px;color:var(--ink);box-shadow:none;border-radius:16px;padding:26px}.learning-hero:after{display:none}.learning-hero-kicker{color:var(--muted);letter-spacing:0;font-size:12px}.learning-hero h2{letter-spacing:-.03em;margin-top:12px;font-size:1.875rem}.learning-hero p{color:var(--muted);font-size:14px}.learning-hero a,.learning-hero a:hover{background:var(--action-bg);color:var(--action-ink)}.learning-hero-mark{border-color:var(--line);background:var(--soft-surface);color:var(--brand-gold);border-radius:16px}.learning-card{padding:22px}.learning-card h3{letter-spacing:-.02em;font-size:18px;font-weight:600;line-height:1.3}.learning-card p{font-size:14px;line-height:1.6}.learning-filters button{min-height:44px;font-weight:550}.learning-card-category,.learning-card-foot>span:first-child{font-size:12px}.learning-article h1{letter-spacing:-.03em;font-size:2rem}.help-grid .help-item>summary{min-height:68px}.help-grid .help-item p{font-size:14px;line-height:1.65}.help-contact h2,.help-hero h2{font-size:21px;font-weight:600}.help-contact p,.help-hero p:last-child{font-size:13px}.notification-list>a{min-height:80px;padding:18px}.notification-list strong{font-size:14px;font-weight:600}.notification-list p{font-size:13px;line-height:1.5}.notification-list time{font-size:12px}.earnings-hero{border-color:var(--line);background:var(--panel);color:var(--ink)}.earnings-hero p,.earnings-hero span{color:var(--muted);font-size:13px}.earnings-hero strong{font-family:var(--workspace-font);letter-spacing:-.03em;font-size:2.625rem;font-weight:650}.earnings-hero>svg{color:var(--brand-gold);opacity:.45}.earnings-stats small,.earnings-approval small{font-size:12px}.earnings-table :is(th,td){font-size:13px}.kit-card-heading h2,.availability-card h2{font-size:20px;font-weight:600}.kit-card-heading p,.workflow-hint,.workflow-note{font-size:12px;line-height:1.55}.team-page :is(input:not([type=checkbox]):not([type=radio]):not([type=file]),select,textarea){border-color:var(--line);background:var(--panel);min-height:44px;color:var(--ink);border-radius:11px;font-size:16px}.team-page select{height:44px}.team-page textarea{line-height:1.5}.team-page :is(input,textarea)::placeholder{color:var(--muted);opacity:1}.team-page :is(.availability-card .workflow-actions button:not(.muted),.timeoff-form button,.adjustment-form>button,.supply-card form>button,.essential-save,.qc-schedule-action button,.job-status-disclosure .workflow-actions .submit-action,.help-contact>a){border-color:var(--action-bg);background:var(--action-bg);min-height:46px;color:var(--action-ink);border-radius:11px;font-size:13px;font-weight:600}.team-page :is(.review-more button,.mark-read,.kit-card form>button,.learning-module-nav button,.learning-submit,.upload-sync-actions button){min-height:44px;font-size:13px;font-weight:600}.team-page .availability-slot button{width:44px;height:44px}.submission-review-heading h2{letter-spacing:-.03em;font-size:1.875rem}.submission-review-job{border-left-width:1px}.submission-review-job,.submission-review-section,.submission-review-ack{box-shadow:none}.submission-review-row strong{font-size:13px}.submission-review-row small{font-size:12px}.submission-review-row>button,.submission-review-section-head>button{min-height:44px;font-size:12px}.team-page :is(input:not([type=checkbox]):not([type=radio]),select,textarea){caret-color:var(--gold)}.team-page :is(button,a,summary){touch-action:manipulation}.team-page :is(button,a,summary):active:not(:disabled){filter:brightness(.96)}.portal-empty{color:var(--muted);font-size:13px}.portal-empty strong{color:var(--ink)}.back-link{min-height:44px;color:var(--ink);font-size:13px}@media (max-width:900px),(min-width:901px) and (max-width:1024px) and (pointer:coarse){.portal-mobile-head,.portal-tabbar{border-color:var(--line);background:color-mix(in srgb,var(--panel) 92%,transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.portal-mobile-head{box-shadow:none;gap:10px}.portal-mobile-head>button,.portal-mobile-actions .theme-toggle,.notification-link{background:0 0;border:0;border-radius:12px;width:44px;height:44px}.portal-mobile-brand strong{font-family:var(--workspace-font);letter-spacing:-.015em;font-size:14px;font-weight:600}.portal-mobile-brand strong em{font-family:var(--workspace-font);color:var(--muted);letter-spacing:.13em;font-size:9px;font-weight:550}.portal-mobile-head svg{stroke-width:1.8px}.portal-mobile-head>button:hover,.portal-mobile-actions .theme-toggle:hover,.notification-link:hover{background:var(--hover-surface)}.portal-tabbar{box-shadow:none;gap:3px}.portal-tabbar a,.portal-tabbar button{min-height:54px;color:var(--muted);font-size:10px;font-weight:550}.portal-tabbar a svg,.portal-tabbar button svg{stroke-width:1.8px;width:22px;height:22px}.portal-tabbar a.active,.portal-tabbar button.active{background:var(--soft-surface);color:var(--ink)}.portal-tabbar a.active svg,.portal-tabbar button.active svg{color:var(--gold);stroke-width:2px}.portal-shell>aside{background:var(--shell-surface);padding-top:calc(23px + var(--app-safe-top));padding-bottom:max(23px,var(--app-safe-bottom))}.today-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.today-summary>:nth-child(2){border-right:0}.today-summary>:nth-child(-n+2){border-bottom:1px solid var(--line)}}@media (max-width:620px){.team-page{padding-top:24px}.team-page-head{align-items:flex-start;gap:7px;margin-bottom:22px}.team-page-head h1{font-size:1.875rem}.team-page-head p{margin-bottom:6px;font-size:13px}.header-date{min-height:0;color:var(--muted);background:0 0;border:0;padding:0;font-size:12px;display:flex}.header-date svg{width:13px}.today-next-action{gap:12px;min-height:0;margin-bottom:16px;padding:16px}.today-next-action-main small{font-size:12px}.today-next-action-main strong{font-size:17px}.today-next-action-main .today-next-action-address{display:none}.today-next-action-cta{min-height:46px;margin-top:2px}.today-summary{border-radius:14px;margin-bottom:18px}.today-summary>div,.today-summary article{padding:14px 15px;min-height:94px!important}.summary-hero strong{font-size:26px}.summary-hero svg{width:27px;height:27px}.today-summary article{display:block}.today-summary article>span{display:none}.today-summary article small{font-size:12px;line-height:1.35}.today-summary article strong{font-size:20px}.section-head{margin-top:24px;margin-bottom:12px}.section-head h2{font-size:20px}.section-head a{font-size:12px}.job-card{min-height:0;padding:16px}.job-card-date{min-width:0}.job-card-copy h3{font-size:17px}.job-card-copy>p{font-size:13px}.job-card-copy>.job-card-meta span{font-size:12px}.schedule-filter{width:100%}.schedule-filter button{flex:1;min-width:0;padding:0 10px}.dashboard-shortcuts{border:1px solid var(--line);background:var(--panel);border-radius:16px;gap:0;margin-top:18px;overflow:hidden}.dashboard-shortcuts .safety-note{background:0 0;border:0;border-radius:0;min-height:78px}.dashboard-shortcuts .safety-note:not(:last-child){border-bottom:1px solid var(--line)}.job-detail-page .job-detail-hero{padding:16px}.job-detail-page .job-hero-main h1{font-size:1.5rem}.job-detail-page .job-disclosure>summary{min-height:66px;padding:12px 14px}.job-detail-page .job-disclosure-title small{line-height:1.4}.job-detail-page .job-disclosure-body{padding:10px}.job-focus-progress{background:var(--bg)}.job-focus-progress button{min-width:105px;padding:8px}.room-checklist .room-heading{padding:14px 10px}.room-checklist .checklist-entry{padding-inline:10px}.learning-hero{min-height:0;padding:21px}.learning-hero h2{font-size:1.5rem}.learning-hero-mark{display:none}.learning-card{padding:18px}.learning-card h3{font-size:17px}.learning-article h1{font-size:1.75rem}.availability-slot{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) 16px minmax(0,1fr) 44px;gap:8px;padding-bottom:14px}.availability-slot select{grid-area:1/1/auto/4}.availability-slot input:first-of-type{grid-area:2/1}.availability-slot>span{grid-area:2/2}.availability-slot input:last-of-type{grid-area:2/3}.availability-slot>button{grid-area:1/4/3}}@media (max-width:380px){.portal-mobile-brand strong{font-size:12px}.today-summary>div,.today-summary article{padding:10px}.today-summary article strong{font-size:18px}.portal-mobile-head{gap:4px}.portal-mobile-actions{gap:2px}.portal-mobile-brand{gap:6px}.portal-mobile-brand .brand-glyph{width:32px;height:32px}.team-page .availability-slot input,.team-page .availability-slot select{padding-inline:6px}}@media (min-width:901px) and (max-width:1024px) and (pointer:coarse){.portal-shell>aside{padding-top:calc(23px + var(--app-safe-top));padding-bottom:max(23px,var(--app-safe-bottom))}}@media (prefers-reduced-motion:reduce){.portal-shell aside nav a,.today-next-action,.job-detail-page .job-disclosure>summary{transition:none}}@media (prefers-reduced-transparency:reduce){.portal-mobile-head,.portal-tabbar{background:var(--panel);-webkit-backdrop-filter:none;backdrop-filter:none}}
.loading-skeleton,.portal-skeleton{min-width:0;font-family:var(--workspace-font)}.loading-skeleton-label{color:var(--ink);margin:0 0 16px;font-size:.8125rem;font-weight:500;line-height:1.5}.loading-skeleton-shapes,.skeleton-today-overview,.portal-skeleton-layout{animation:.18s ease-out both skeleton-arrive}.skeleton-block{background:var(--hover-surface);border-radius:4px;flex:none;width:100%;max-width:100%;height:.6875rem;display:block}.skeleton-short{width:30%}.skeleton-medium{width:56%}.skeleton-long{width:78%}.skeleton-title{height:1.375rem}.skeleton-value{height:1.625rem}.skeleton-control{border-radius:10px;height:2.75rem}.skeleton-copy{align-content:center;gap:12px;min-width:0;display:grid}.skeleton-next-action,.skeleton-detail-action{border:1px solid var(--line);background:var(--panel);border-radius:16px;justify-content:space-between;align-items:center;gap:24px;min-width:0;min-height:112px;padding:20px;display:flex}.skeleton-next-action>.skeleton-copy,.skeleton-detail-action>.skeleton-copy{flex:1}.skeleton-next-action>.skeleton-control,.skeleton-detail-action>.skeleton-control{width:10rem;max-width:35%}.skeleton-today-overview{gap:16px;margin-bottom:26px;display:grid}.skeleton-facts{border:1px solid var(--line);background:var(--panel);border-radius:16px;grid-template-columns:repeat(4,minmax(0,1fr));display:grid;overflow:hidden}.skeleton-facts>div{align-content:center;gap:12px;min-width:0;min-height:110px;padding:17px 20px;display:grid}.skeleton-facts>div:not(:last-child){border-right:1px solid var(--line)}.skeleton-schedule{gap:12px;min-width:0;display:grid}.skeleton-day-heading{justify-content:space-between;align-items:center;gap:24px;min-height:32px;display:flex}.skeleton-day-heading>.skeleton-block:last-child{max-width:9rem}.skeleton-job-row{border:1px solid var(--line);background:var(--panel);border-radius:16px;grid-template-columns:100px minmax(0,1fr) 110px;align-items:center;gap:22px;min-width:0;min-height:116px;padding:20px;display:grid}.skeleton-job-time,.skeleton-job-meta{gap:14px;min-width:0;display:grid}.skeleton-job-time{border-right:1px solid var(--line);padding-right:15px}.skeleton-job-meta{justify-items:end}.skeleton-job-detail{gap:16px;min-width:0;display:grid}.skeleton-detail-header{border:1px solid var(--line);background:var(--panel);border-radius:16px;grid-template-columns:minmax(0,1fr) 210px;align-items:center;gap:30px;min-width:0;min-height:184px;padding:24px;display:grid}.skeleton-detail-summary{gap:14px;min-width:0;display:grid}.skeleton-detail-tabs{gap:8px;margin-bottom:8px;display:flex}.skeleton-detail-tabs>.skeleton-block{width:7rem;max-width:calc(33.3333% - 5.33333px)}.skeleton-disclosures{gap:12px;display:grid}.skeleton-disclosures>div{border:1px solid var(--line);background:var(--panel);border-radius:16px;align-content:center;gap:10px;min-height:72px;padding:16px 20px;display:grid}.skeleton-disclosures>div>.skeleton-block:first-child{max-width:13rem}.skeleton-disclosures>div>.skeleton-block:last-child{max-width:22rem}.portal-skeleton{background:var(--bg);min-height:100svh;position:relative}.portal-skeleton-status{z-index:1;margin:0;position:absolute;top:26px;left:280px;right:36px}.portal-skeleton-layout{grid-template-columns:244px minmax(0,1fr);min-height:100svh;display:grid}.portal-skeleton-sidebar{border-right:1px solid var(--line);background:var(--shell-surface);flex-direction:column;gap:34px;min-width:0;padding:30px 24px;display:flex}.portal-skeleton-brand{color:var(--ink);letter-spacing:-.02em;font-size:.875rem;font-weight:600}.portal-skeleton-nav{gap:32px;display:grid}.portal-skeleton-sidebar>.skeleton-copy{margin-top:auto}.portal-skeleton-content{min-width:0}.portal-skeleton-content>.team-page{padding-top:76px}.skeleton-page-heading{justify-content:space-between;align-items:center;gap:24px;min-height:46px;margin-bottom:28px;display:flex}.skeleton-page-heading>.skeleton-block:last-child{max-width:9rem}.portal-skeleton-mobile-head{display:none}@keyframes skeleton-arrive{0%{opacity:.65}to{opacity:1}}@media (max-width:900px),(min-width:901px) and (max-width:1024px) and (pointer:coarse){.skeleton-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.skeleton-facts>div:nth-child(2){border-right:0}.skeleton-facts>div:nth-child(-n+2){border-bottom:1px solid var(--line)}.portal-skeleton-layout{grid-template-columns:minmax(0,1fr)}.portal-skeleton-sidebar{display:none}.portal-skeleton-mobile-head{min-height:calc(64px + var(--app-safe-top,0px));border-bottom:1px solid var(--line);background:var(--shell-surface);padding:var(--app-safe-top,0px) 20px 0;align-items:center;display:flex}.portal-skeleton-mobile-head>.skeleton-block{max-width:11rem}.portal-skeleton-status{top:calc(84px + var(--app-safe-top,0px));left:36px}.portal-skeleton-content>.team-page{padding-top:64px}}@media (max-width:620px){.skeleton-today-overview{margin-bottom:18px}.skeleton-next-action,.skeleton-detail-action{flex-direction:column;align-items:stretch;gap:16px;padding:16px}.skeleton-next-action>.skeleton-control,.skeleton-detail-action>.skeleton-control{width:100%;max-width:100%}.skeleton-facts>div{gap:11px;min-height:94px;padding:14px 15px}.skeleton-job-row{grid-template-columns:60px minmax(0,1fr);gap:14px;padding:16px}.skeleton-job-meta{display:none}.skeleton-job-time{padding-right:10px}.skeleton-detail-header{grid-template-columns:minmax(0,1fr);gap:24px;padding:16px}.skeleton-detail-summary{grid-template-columns:repeat(2,minmax(0,1fr));align-items:center}.skeleton-detail-summary>.skeleton-block:last-child{grid-column:1/-1}.skeleton-disclosures>div{padding:16px}.portal-skeleton-status{left:15px;right:15px}.skeleton-page-heading{margin-bottom:22px}.skeleton-page-heading>.skeleton-block:last-child{max-width:5rem}}@media (prefers-reduced-motion:reduce){.loading-skeleton-shapes,.skeleton-today-overview,.portal-skeleton-layout{animation:none}}
.job-photo-gallery{gap:26px;min-width:0;padding:4px 0 16px;display:grid}.job-photo-gallery-empty{color:var(--muted);margin:0;padding:8px 0 16px;font-size:13px;line-height:1.5}.job-photo-room{min-width:0}.job-photo-room+.job-photo-room{border-top:1px solid var(--line);padding-top:22px}.job-photo-room-heading{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:6px 12px;min-width:0;margin-bottom:12px;display:flex}.job-photo-room-heading h3{min-width:0;color:var(--ink);overflow-wrap:anywhere;margin:0;font-size:16px;font-weight:650;line-height:1.35}.job-photo-room-count{color:var(--muted);font-variant-numeric:tabular-nums;font-size:12px;line-height:1.5}.job-photo-room-note{color:var(--muted);overflow-wrap:anywhere;margin:-4px 0 12px;font-size:12px;line-height:1.5}.job-photo-item+.job-photo-item{margin-top:18px}.job-photo-item-heading{justify-content:space-between;align-items:baseline;gap:12px;min-width:0;margin-bottom:8px;display:flex}.job-photo-item-heading h4{min-width:0;color:var(--ink);overflow-wrap:anywhere;margin:0;font-size:13px;font-weight:500;line-height:1.5}.job-photo-item-heading>span{color:var(--muted);font-variant-numeric:tabular-nums;flex:none;font-size:12px}.job-photo-room-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.job-photo-gallery .job-photo-tile{aspect-ratio:auto;gap:6px;min-width:0;margin:0;display:grid}.job-photo-gallery .job-photo-tile>a{aspect-ratio:4/3;border:1px solid var(--line);background:var(--soft-surface);border-radius:12px;width:100%;min-width:0;height:auto;text-decoration:none;display:block;overflow:hidden}.job-photo-gallery .job-photo-tile>a:hover{border-color:var(--muted)}.job-photo-gallery .job-photo-tile>a:focus-visible{outline:2px solid var(--focus-ring);outline-offset:3px}.job-photo-gallery .job-photo-tile img{object-fit:cover;width:100%;height:100%;display:block}.job-photo-gallery .job-photo-tile figcaption{min-width:0;color:var(--muted);overflow-wrap:anywhere;font-size:11px;line-height:1.4}.job-photo-gallery .job-photo-remove{border:1px solid var(--line);background:var(--panel);width:44px;height:44px;color:var(--ink);-webkit-backdrop-filter:none;backdrop-filter:none;border-radius:10px;top:6px;right:6px}.job-photo-gallery .job-photo-remove:hover{border-color:var(--muted);background:var(--hover-surface);color:var(--ink)}.job-photo-gallery .job-photo-remove:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.job-photo-gallery .job-photo-remove:disabled{cursor:not-allowed;opacity:.55}.job-photo-gallery .job-photo-remove svg{stroke-width:1.8px;width:18px;height:18px}@media (max-width:760px){.job-photo-room-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:520px){.job-photo-room-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.job-photo-room-heading{justify-content:start;gap:4px;display:grid}.job-photo-item-heading{flex-wrap:wrap;gap:3px 10px}}
.job-detail-hero [hidden]{display:none!important}.job-detail-page .job-hero-main h1{overflow-wrap:anywhere}.job-summary-toggle{border:1px solid var(--line);min-height:44px;color:var(--ink);cursor:pointer;background:0 0;border-radius:10px;justify-content:center;align-items:center;gap:7px;padding:8px 12px;font-size:13px;font-weight:550;display:inline-flex}.job-summary-toggle:hover{background:var(--hover-surface)}.job-summary-toggle svg{flex:none;width:16px;height:16px}.job-summary-toggle[aria-expanded=true] svg{transform:rotate(180deg)}.job-detail-page .job-detail-hero.is-compact{align-items:center;gap:14px;padding:16px 19px}.job-detail-hero.is-compact .job-hero-main h1{margin:8px 0 6px;font-size:1.375rem;line-height:1.25}.job-detail-hero.is-compact .job-hero-meta{margin-top:0}.job-detail-hero.is-compact .job-hero-meta>span{background:0 0;min-height:28px;padding:0}.job-detail-hero.is-compact .job-hero-aside{gap:6px}.job-photo-add-actions{flex-wrap:wrap;gap:8px;padding:12px 0;display:flex}.job-photo-add-actions .photo-upload{aspect-ratio:auto;border:1px solid var(--line);background:var(--soft-surface);min-height:44px;color:var(--ink);border-radius:10px;justify-content:center;align-items:center;gap:7px;padding:10px 14px;font-size:13px;font-weight:550;display:inline-flex;position:relative}.job-photo-add-actions .photo-upload strong{font-size:13px;font-weight:550}.job-photo-add-actions .photo-upload:hover{background:var(--hover-surface)}.job-photo-add-actions .photo-upload:focus-within{outline:2px solid var(--focus-ring);outline-offset:3px}.job-photo-add-actions .photo-upload input{clip-path:inset(50%);width:1px;height:1px;display:block;position:absolute;top:0;left:0;overflow:hidden}@media (max-width:700px){.job-detail-page .job-detail-hero.is-compact{gap:10px;padding:14px 16px}.job-detail-hero.is-compact .job-hero-aside{grid-template-columns:minmax(0,1fr) auto;align-items:center}.job-detail-hero.is-compact .job-assigned-time{padding:7px 10px}.job-detail-hero.is-compact .job-summary-toggle{max-width:140px}.job-detail-hero:not(.is-compact) .job-summary-toggle{grid-column:1/-1}}
.qc-report-form{gap:17px;max-width:670px;display:grid}.qc-report-form>p:first-child,.qc-report-readonly>p{color:var(--muted);margin:0;font-size:13px;line-height:1.55}.qc-report-form label{color:var(--ink);gap:7px;font-size:13px;font-weight:700;display:grid}.qc-report-form label small{color:var(--muted);font-size:11px;font-weight:500}.qc-report-form select,.qc-report-form textarea{border:1px solid var(--line);background:var(--panel);width:100%;min-height:46px;color:var(--ink);font:inherit;border-radius:12px;padding:11px 13px;font-size:14px;font-weight:500;line-height:1.5}.qc-report-form textarea{resize:vertical;min-height:100px}.qc-report-form :is(select,textarea,button):focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.qc-rating{border:0;min-width:0;margin:0;padding:0}.qc-rating legend{color:var(--ink);margin-bottom:9px;font-size:13px;font-weight:700}.qc-rating>div{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;display:grid}.qc-rating button{border:1px solid var(--line);background:var(--soft-surface);min-width:0;min-height:52px;color:var(--muted);font:inherit;cursor:pointer;border-radius:12px;justify-content:center;align-items:center;gap:5px;font-size:13px;font-weight:750;transition:background .18s,border-color .18s,color .18s;display:flex}.qc-rating button svg{width:20px;height:20px}.qc-rating button.selected{border-color:var(--brand-gold);background:var(--gold-soft);color:var(--brand-gold)}.qc-rating button:hover{border-color:var(--brand-gold)}.qc-report-required{color:var(--red);font-size:11px;font-weight:600}.qc-report-feedback{align-items:center;gap:8px;margin:0;font-size:12px;line-height:1.45;display:flex}.qc-report-feedback.error{color:var(--red)}.qc-report-feedback.success{color:var(--green)}.qc-report-save{background:var(--action-bg);width:fit-content;min-height:46px;color:var(--action-ink);font:inherit;cursor:pointer;border:0;border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:11px 17px;font-size:13px;font-weight:800;display:inline-flex}.qc-report-save svg{width:18px;height:18px}.qc-report-save:disabled{opacity:.55;cursor:not-allowed}.qc-report-readonly{gap:13px;max-width:670px;display:grid}.qc-report-readonly-rating{color:var(--brand-gold);flex-wrap:wrap;align-items:center;gap:8px;display:flex}.qc-report-readonly-rating svg{width:20px;height:20px}.qc-report-readonly-rating strong{color:var(--ink)}.qc-report-readonly-rating span{color:var(--muted);font-size:12px}.qc-report-readonly>p{white-space:pre-wrap;overflow-wrap:anywhere}.qc-report-readonly-comment{border-top:1px solid var(--line);gap:4px;padding-top:11px;display:grid}.qc-report-readonly-comment strong{color:var(--ink);font-size:12px}@media (max-width:520px){.qc-report-form{gap:16px}.qc-rating>div{gap:5px}.qc-rating button{flex-direction:column;gap:2px;min-height:48px;font-size:11px}.qc-rating button svg{width:18px;height:18px}.qc-report-save{width:100%}}@media (prefers-reduced-motion:reduce){.qc-rating button{transition:none}}
