@font-face{font-family:"Plus Jakarta Sans";src:url("/assets/fonts/plus-jakarta-sans.woff2") format("woff2");font-display:swap;font-style:normal;font-weight:200 800}
:root{--saga-bg:#F5F3EF;--saga-surface:#FFFFFF;--saga-text:#202020;--saga-muted:#73706D;--saga-muted-readable:#625E5A;--saga-primary:#49362B;--saga-latte:#E5D7C8;--saga-soft:#E8E6E2;--saga-border:#D6D2CC;--saga-danger:#9A3029;--saga-success:#365F45;--saga-font:"Plus Jakarta Sans",system-ui,sans-serif;--saga-button-h:52px;--saga-input-h:52px;--saga-icon:22px;--saga-icon-stroke:1.8;--saga-icon-circle:40px;--saga-hit:44px;--saga-radius-card:24px;--saga-radius-button:16px;--saga-radius-input:14px;--saga-page-padding:20px;--saga-shell-max:480px;--saga-nav-h:72px;--saga-shadow:0 4px 16px rgb(32 32 32/.035)}
*{box-sizing:border-box}html{background:#e9e6e1;color:var(--saga-text);font-family:var(--saga-font)}body{margin:0;background:#e9e6e1}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}[hidden]{display:none!important}.feather-sprite{position:absolute;width:0;height:0;overflow:hidden}.feather{display:inline-block;width:var(--saga-icon);height:var(--saga-icon);flex:0 0 var(--saga-icon);fill:none;stroke:currentColor;stroke-width:var(--saga-icon-stroke);stroke-linecap:round;stroke-linejoin:round}
.saga-shell{position:relative;width:100%;max-width:var(--saga-shell-max);min-height:100dvh;margin-inline:auto;padding:calc(20px + env(safe-area-inset-top)) var(--saga-page-padding) calc(var(--saga-nav-h) + 52px + env(safe-area-inset-bottom));overflow-x:hidden;background:var(--saga-bg);color:var(--saga-text)}
.staff-app[data-focus-mode="true"]{padding-bottom:calc(24px + env(safe-area-inset-bottom))}.staff-app[data-focus-mode="true"]>.root-header,.staff-app[data-focus-mode="true"] .staff-nav{display:none}
.root-header{position:relative;display:flex;align-items:center;justify-content:space-between;min-height:54px;margin-bottom:32px}.brand-lockup{display:grid;gap:2px}.brand-lockup strong{font-size:20px;line-height:28px}.brand-lockup span,.focus-header span{color:var(--saga-muted);font-size:14px;line-height:20px}.avatar-button{display:grid;width:44px;height:44px;place-items:center;border:0;border-radius:50%;background:var(--saga-primary);color:#fff;font-size:18px;font-weight:700}.profile-menu{position:absolute;z-index:30;top:52px;right:0;width:190px;padding:12px;border:1px solid var(--saga-border);border-radius:16px;background:#fff;box-shadow:0 15px 35px rgb(32 32 32/.14)}.profile-menu p{margin:0 0 8px;font-size:13px;font-weight:700}.profile-menu button{width:100%;min-height:44px;border:0;border-radius:12px;background:var(--saga-soft);color:var(--saga-primary);font-weight:700}
.app-status{position:fixed;z-index:60;left:50%;bottom:calc(var(--saga-nav-h) + 28px + env(safe-area-inset-bottom));width:min(calc(100% - 32px),448px);margin:0;padding:11px 14px;transform:translateX(-50%);border:1px solid var(--saga-border);border-radius:14px;background:#fff;box-shadow:0 8px 30px rgb(32 32 32/.12);color:var(--saga-muted);font-size:12px;line-height:16px;text-align:center}.app-status:empty{display:none}.app-status[data-danger="true"]{border-color:#d8aaa6;color:var(--saga-danger)}
.auth-screen{padding-top:42px;text-align:center}.auth-mark{display:grid;width:64px;height:64px;margin:0 auto 20px;place-items:center;border-radius:22px;background:var(--saga-primary);color:#fff;font-size:26px;font-weight:800}.auth-screen>h1{margin:4px 0 10px;font-size:28px;line-height:34px;text-wrap:balance}.auth-screen>p:not(.eyebrow){margin:0 auto 28px;max-width:320px;color:var(--saga-muted);font-size:16px;line-height:24px;text-wrap:pretty}.auth-screen .staff-card{text-align:left}
.page-heading{margin:0 0 24px}.page-heading h1{margin:0;font-size:28px;line-height:34px;text-wrap:balance}.page-heading p,.page-heading>span{display:block;margin:6px 0 0;color:var(--saga-muted);font-size:16px;line-height:24px;text-wrap:pretty}.home-heading p{margin:0 0 8px}.home-heading h1{font-size:32px;line-height:40px}.home-heading>span{margin-top:0;font-size:20px;line-height:28px}
.staff-card{margin:0 0 16px;padding:20px;border:1px solid rgb(214 210 204/.45);border-radius:var(--saga-radius-card);background:var(--saga-surface);box-shadow:var(--saga-shadow)}.staff-card h2,.staff-card h3{margin:0}.staff-card p{color:var(--saga-muted);font-size:16px;line-height:24px;text-wrap:pretty}.eyebrow{margin:0 0 5px!important;color:var(--saga-muted)!important;font-size:12px!important;font-weight:700;line-height:16px!important;text-transform:uppercase}
.form-stack{display:grid;gap:16px}label{display:grid;gap:8px;color:var(--saga-text);font-size:14px;font-weight:650;line-height:20px}label small{color:var(--saga-muted);font-weight:400}input,select,textarea{width:100%;min-height:var(--saga-input-h);padding:12px 14px;border:1px solid var(--saga-border);border-radius:var(--saga-radius-input);background:#fff;color:var(--saga-text);font-size:16px;line-height:24px}textarea{min-height:112px;resize:vertical}input:focus,select:focus,textarea:focus,button:focus-visible{outline:2px solid var(--saga-primary);outline-offset:2px}.primary,.secondary-action,.add-line,.file-button{display:flex;min-height:var(--saga-button-h);align-items:center;justify-content:center;gap:8px;padding:12px 18px;border:1px solid transparent;border-radius:var(--saga-radius-button);font-size:16px;font-weight:650;line-height:24px}.primary{width:100%;background:var(--saga-primary);color:#fff}.primary:disabled{background:var(--saga-soft);color:var(--saga-muted)}.secondary-action,.add-line,.file-button{border-color:var(--saga-primary);background:#fff;color:var(--saga-primary)}.text-action{display:inline-flex;min-height:44px;align-items:center;gap:6px;padding:8px;border:0;background:transparent;color:var(--saga-primary);font-size:14px;font-weight:650}.icon-button{display:grid;min-width:44px;height:44px;padding:0;place-items:center;border:0;border-radius:50%;background:rgb(229 215 200/.45);color:var(--saga-primary)}
.staff-nav{position:fixed;z-index:40;left:50%;bottom:max(8px,env(safe-area-inset-bottom));display:grid;width:min(calc(100% - 24px),456px);min-height:var(--saga-nav-h);grid-template-columns:repeat(4,1fr);padding:7px 12px;transform:translateX(-50%);border:1px solid rgb(214 210 204/.5);border-radius:24px;background:#fff;box-shadow:0 8px 24px rgb(32 32 32/.07)}.staff-nav button{position:relative;display:grid;min-width:0;min-height:58px;align-content:center;justify-items:center;gap:3px;border:0;background:transparent;color:#66666B}.staff-nav button>.feather{width:22px;height:22px}.staff-nav button small{font-size:12px;line-height:16px}.staff-nav button[aria-current="page"]{color:var(--saga-primary)}.staff-nav button[aria-current="page"]:after{position:absolute;bottom:0;width:24px;height:3px;border-radius:999px;background:var(--saga-primary);content:""}
.heading-with-icon{display:flex;align-items:center;gap:12px}.icon-circle{display:grid;width:var(--saga-icon-circle);height:var(--saga-icon-circle);flex:0 0 var(--saga-icon-circle);place-items:center;border-radius:50%;background:var(--saga-soft);color:var(--saga-primary)}.attendance-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.attendance-heading h2{font-size:20px;line-height:28px}.attendance-badge,.history-badge{display:inline-flex;min-height:30px;align-items:center;padding:6px 11px;border-radius:999px;background:rgb(229 215 200/.62);color:var(--saga-primary);font-size:12px;font-weight:700;line-height:16px;white-space:nowrap}.attendance-badge[data-state="blocked"]{background:var(--saga-soft);color:var(--saga-muted)}.attendance-badge[data-state="eligible"],.attendance-badge[data-state="complete"]{background:var(--saga-latte);color:var(--saga-primary)}.attendance-badge[data-state="correction"],.attendance-badge[data-state="warning"]{border:1px solid #d8b68e;background:#fff9f1}.attendance-shift{display:grid;gap:4px;margin:20px 0 16px}.attendance-shift-name{margin:0!important;color:var(--saga-text)!important;font-size:18px!important;font-weight:700;line-height:24px!important}.attendance-shift-time{font-size:40px;line-height:44px;font-variant-numeric:tabular-nums}.attendance-shift-meta{color:var(--saga-muted);font-size:16px;line-height:24px}.attendance-state{margin:0 0 14px!important;font-size:14px!important;line-height:20px!important}.attendance-clock{display:flex;align-items:baseline;justify-content:space-between;gap:6px;margin:12px 0 18px;padding:12px 0;border-block:1px solid var(--saga-soft)}.attendance-clock span,.attendance-clock small{color:var(--saga-muted);font-size:12px;line-height:16px}.attendance-clock strong{font-size:20px;line-height:28px;font-variant-numeric:tabular-nums}.attendance-clock small{display:none}.attendance-requirement{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:13px;color:var(--saga-muted);font-size:14px;line-height:20px}.attendance-readiness{display:grid;gap:7px;margin-top:13px}.attendance-readiness>div{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:9px;padding:9px 11px;border-radius:12px;background:#faf9f7}.attendance-readiness strong,.attendance-readiness small{display:block}.attendance-readiness strong{font-size:12px}.attendance-readiness small{margin-top:2px;color:var(--saga-muted);font-size:12px;line-height:16px}.attendance-readiness>div>.feather{color:#9b9793}.attendance-readiness>div[data-state="ready"]>.feather{color:var(--saga-success)}.attendance-readiness>div[data-state="error"]>.feather{color:var(--saga-danger)}.attendance-notice{margin:0 0 13px;padding:11px 13px;border-radius:12px;background:#f7eee4;color:#6c4a37;font-size:12px;line-height:18px}.attendance-notice[data-state="error"]{background:#f8e7e5;color:var(--saga-danger)}.attendance-notice[data-state="success"]{background:#e8f0ea;color:var(--saga-success)}.attendance-correction{width:100%;margin-top:10px}.attendance-receipt{text-align:center}.success-mark{display:grid;width:58px;height:58px;margin:0 auto 14px;place-items:center;border-radius:50%;background:var(--saga-primary);color:#fff}.attendance-receipt dl{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:16px 0;text-align:left}.attendance-receipt dl div{padding:11px;border-radius:13px;background:#f8f6f3}.attendance-receipt dt{color:var(--saga-muted);font-size:12px;line-height:16px}.attendance-receipt dd{margin:3px 0 0;overflow-wrap:anywhere;font-size:12px;font-weight:700}.attendance-receipt .secondary-action{width:100%}
.home-summary-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.summary-card{min-height:165px}.summary-card h2,.summary-card>strong{display:block;margin:12px 0 5px;font-size:16px;line-height:24px;text-align:left}.summary-link{width:100%;color:var(--saga-text);text-align:left}.summary-link>span:last-child{display:inline-flex;align-items:center;gap:6px;margin-top:6px;color:var(--saga-primary);font-size:14px;font-weight:650}.wide-summary{display:grid;width:100%;grid-template-columns:auto 1fr auto;align-items:center;gap:13px;color:var(--saga-text);text-align:left}.wide-summary span:nth-child(2){display:grid;gap:3px}.wide-summary small{color:var(--saga-muted)}
.payroll-preview-card{margin-top:16px}.payroll-preview-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.payroll-preview-heading h2{font-size:18px}.payroll-preview-heading>span{padding:6px 9px;border-radius:999px;background:var(--saga-latte);color:var(--saga-primary);font-size:12px;font-weight:800}.payroll-preview-card>p{margin:8px 0;font-size:12px}.payroll-preview-amount{display:block;margin:13px 0 15px;color:var(--saga-primary);font-size:26px;line-height:32px;font-variant-numeric:tabular-nums}.payroll-preview-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:0 0 12px}.payroll-preview-facts div{min-width:0;padding:9px;border-radius:12px;background:#f8f6f3}.payroll-preview-facts dt{color:var(--saga-muted);font-size:12px;line-height:16px}.payroll-preview-facts dd{margin:3px 0 0;overflow-wrap:anywhere;font-size:12px;font-weight:750;font-variant-numeric:tabular-nums}.payroll-preview-card>small{display:block;color:var(--saga-muted);font-size:12px;line-height:16px}
.segmented-control{display:grid;grid-template-columns:1fr 1fr;gap:4px;margin:0 0 26px;padding:4px;border:1px solid rgb(214 210 204/.6);border-radius:18px;background:#fff}.segmented-control button{min-height:44px;padding:8px;border:0;border-radius:14px;background:transparent;color:var(--saga-muted);font-size:14px}.segmented-control button[aria-selected="true"],.segmented-control button[aria-pressed="true"]{background:rgb(229 215 200/.65);color:var(--saga-text);font-weight:700}.week-toolbar{display:flex;align-items:center;justify-content:space-between;margin:0 0 12px}.week-toolbar strong{font-size:20px;line-height:28px}.week-days{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.week-day{display:grid;min-width:0;min-height:70px;place-items:center;padding:6px 1px;border:0;border-radius:18px;background:#fff;color:var(--saga-text)}.week-day small{font-size:12px;line-height:16px}.week-day strong{font-size:14px;line-height:20px;font-variant-numeric:tabular-nums}.week-day[aria-pressed="true"]{background:var(--saga-primary);color:#fff}.monthly-action{margin:10px 0 14px auto}.section-block{margin-top:22px}.section-block h2,#request-count{margin:0 0 14px;font-size:20px;line-height:28px}.staff-item{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;margin:0 0 12px;padding:20px;border:1px solid rgb(214 210 204/.45);border-radius:var(--saga-radius-card);background:#fff;box-shadow:var(--saga-shadow)}.staff-item-icon{grid-row:1/3}.staff-item-content{display:grid;gap:4px;min-width:0}.staff-item strong{font-size:16px;line-height:24px}.staff-item small{color:var(--saga-muted);font-size:14px;line-height:20px}.staff-item-actions{grid-column:2;display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.staff-item button{display:inline-flex;min-height:44px;align-items:center;justify-content:center;gap:6px;margin-top:6px;padding:8px 12px;border:1px solid var(--saga-primary);border-radius:12px;background:#fff;color:var(--saga-primary);font-weight:650}.month-filter{margin:0 0 15px}
.request-filters{grid-template-columns:repeat(4,1fr);margin-top:18px}.request-filters button{min-width:0;padding-inline:6px;font-size:14px;line-height:20px}.information-line{display:flex;align-items:flex-start;gap:8px;margin:18px 3px;color:var(--saga-muted);font-size:12px;line-height:18px}.focus-screen{position:relative;min-height:calc(100dvh - 120px)}.focus-header{display:grid;grid-template-columns:44px 1fr 44px;align-items:center;margin:-4px 0 28px}.focus-header>div{display:grid;text-align:center}.focus-header strong{font-size:18px;line-height:24px}.request-type-grid{display:grid;grid-template-columns:1fr;gap:10px;margin:0 0 16px}.request-type-grid button{display:flex;min-height:64px;align-items:center;gap:14px;padding:12px 16px;border:1px solid var(--saga-border);border-radius:16px;background:#fff;color:var(--saga-text);font-size:16px;text-align:left}.request-type-grid button>.feather:last-child{margin-left:auto}.request-type-grid button[aria-pressed="true"]{border-color:var(--saga-primary);background:var(--saga-latte);color:var(--saga-primary);font-weight:700}.form-grid{display:grid;gap:12px}.two-columns{grid-template-columns:1fr 1fr}
.receipt-filters{grid-template-columns:repeat(3,1fr);margin-top:18px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.receipt-stepper{display:grid;grid-template-columns:repeat(3,1fr);margin:0 0 24px;padding:0;list-style:none}.receipt-stepper li{position:relative;display:grid;gap:6px;place-items:center;color:var(--saga-muted);font-size:12px;line-height:16px}.receipt-stepper li:not(:last-child):after{position:absolute;z-index:0;top:19px;left:calc(50% + 23px);width:calc(100% - 46px);height:2px;background:var(--saga-border);content:""}.receipt-stepper span{z-index:1;display:grid;width:40px;height:40px;place-items:center;border-radius:50%;background:var(--saga-soft);color:var(--saga-text);font-size:14px;font-weight:700}.receipt-stepper li[aria-current="step"]{color:var(--saga-primary);font-weight:700}.receipt-stepper li[aria-current="step"] span,.receipt-stepper li[data-complete="true"] span{background:var(--saga-primary);color:#fff}.photo-fieldset{position:relative;min-width:0}.photo-fieldset legend{padding:0;font-size:18px;font-weight:700}.photo-fieldset>span{position:absolute;top:21px;right:20px;color:var(--saga-muted);font-size:12px}.photo-fieldset>p{margin:8px 0 13px;font-size:14px}.photo-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.file-button{font-size:14px}.file-button input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.photo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px}.photo-card{min-width:0;overflow:hidden;border:1px solid var(--saga-border);border-radius:14px;background:#fff}.photo-card img{display:block;width:100%;aspect-ratio:1;object-fit:cover;background:var(--saga-soft)}.photo-meta{display:grid;gap:7px;padding:8px}.photo-meta select,.photo-meta input{min-height:44px;padding:7px;font-size:12px}.photo-meta small{overflow:hidden;color:var(--saga-muted);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.photo-progress{height:6px;overflow:hidden;border-radius:999px;background:var(--saga-soft)}.photo-progress>span{display:block;width:var(--photo-progress,0%);height:100%;background:var(--saga-primary)}.photo-buttons{display:grid;grid-template-columns:repeat(auto-fit,minmax(44px,1fr));gap:4px}.photo-buttons button{display:grid;min-width:44px;min-height:44px;place-items:center;border:1px solid var(--saga-border);border-radius:9px;background:#fff;color:var(--saga-primary)}.receipt-lines{display:grid;gap:12px}.receipt-line{position:relative}.line-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.line-heading h3{margin:0}.line-number{display:inline-grid;width:29px;height:29px;margin-right:8px;place-items:center;border-radius:50%;background:var(--saga-primary);color:#fff;font-size:12px}.remove-line{min-height:44px;border:0;background:transparent;color:var(--saga-danger);font-weight:700}.quantity-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:13px}.condition-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.field-hint{color:var(--saga-muted);font-size:12px;font-weight:400}.add-line{width:100%;margin:0 0 14px;border-style:dashed}.step-action{margin-top:14px}.mobile-review-bar{display:none}.receipt-review-content h3{margin-bottom:12px}.review-facts{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:14px 0}.review-facts div{padding:11px;border-radius:13px;background:#f8f6f3}.review-facts dt{color:var(--saga-muted);font-size:12px}.review-facts dd{margin:3px 0 0;font-size:14px;font-weight:750;font-variant-numeric:tabular-nums}.review-line-details,.review-warnings{display:grid;gap:8px;margin-bottom:12px}.review-line-summary{display:grid;gap:2px;padding:10px;border:1px solid var(--saga-border);border-radius:12px;font-size:12px}.review-line-summary span{color:var(--saga-muted)}.review-warning{margin:0;padding:9px;border-radius:10px;background:#f8eee3;color:#6d4d3b!important;font-size:12px}.review-ok{color:var(--saga-success)!important;font-size:12px}.draft-state{font-size:12px}.receipt-review-content>button{width:100%;margin-top:8px}.history-badge{width:max-content;margin-bottom:2px}.history-badge[data-state="REJECTED"],.history-badge[data-state="NEEDS_CORRECTION"]{background:#f6e5e3;color:var(--saga-danger)}.upload-failed{color:var(--saga-danger)!important}
.attendance-camera{width:min(calc(100% - 20px),460px);max-height:calc(100dvh - 20px);padding:0;overflow:auto;border:0;border-radius:24px;background:var(--saga-bg);box-shadow:0 24px 80px rgb(32 32 32/.3)}.attendance-camera::backdrop{background:rgb(32 32 32/.68)}.camera-shell{display:grid;gap:16px;padding:20px}.camera-heading{display:grid;grid-template-columns:44px 1fr 44px;align-items:center}.camera-heading>div{text-align:center}.camera-heading h2{margin:0;font-size:20px;line-height:28px}.camera-spacer{width:44px}.camera-shell>p{margin:0;color:var(--saga-muted);font-size:16px;line-height:24px;text-align:center;text-wrap:pretty}.camera-preview{position:relative;overflow:hidden;aspect-ratio:3/4;border-radius:22px;background:#211d1b}.camera-preview video,.camera-preview img{display:block;width:100%;height:100%;object-fit:cover;transform:scaleX(-1)}.face-guide{position:absolute;inset:13% 18%;border:2px solid rgb(255 255 255/.9);border-radius:50%;box-shadow:0 0 0 999px rgb(0 0 0/.22);pointer-events:none}.camera-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.camera-actions button:only-child{grid-column:1/-1}.camera-error{padding:10px!important;border-radius:10px;background:#f6e5e3;color:var(--saga-danger)!important}.camera-shell label{text-align:left}
.permission-center{width:min(calc(100% - 24px),430px);max-height:calc(100dvh - 24px);padding:0;overflow:auto;border:0;border-radius:28px;background:var(--saga-bg);box-shadow:0 24px 80px rgb(32 32 32/.32)}.permission-center::backdrop{background:rgb(32 32 32/.7)}.permission-shell{display:grid;gap:12px;padding:24px}.permission-mark{display:grid;width:52px;height:52px;place-items:center;border-radius:18px;background:var(--saga-primary);color:#fff;font-size:22px;font-weight:800}.permission-shell h2{margin:0;font-size:24px;line-height:32px}.permission-shell>p:not(.eyebrow){margin:0;color:var(--saga-muted-readable);font-size:14px;line-height:21px}.permission-list{display:grid;gap:8px;margin:4px 0}.permission-list>div{display:grid;grid-template-columns:44px 1fr;align-items:center;gap:10px;padding:12px;border:1px solid var(--saga-border);border-radius:16px;background:#fff}.permission-list>div>.feather{width:22px;height:22px;justify-self:center;color:var(--saga-muted-readable)}.permission-list span{display:grid;gap:2px}.permission-list strong{font-size:14px}.permission-list small{color:var(--saga-muted-readable);font-size:12px;line-height:16px}.permission-list>div[data-state="granted"]{border-color:#b9d4bf;background:#f4faf5}.permission-list>div[data-state="granted"]>.feather{color:var(--saga-success)}.permission-list>div[data-state="checking"],.permission-list>div[data-state="prompt"]{border-color:#d8c09f;background:#fffaf3}.permission-list>div[data-state="denied"],.permission-list>div[data-state="unavailable"],.permission-list>div[data-state="busy"],.permission-list>div[data-state="timeout"],.permission-list>div[data-state="error"]{border-color:#dfb3af;background:#fff7f6}.permission-list>div[data-state="denied"]>.feather,.permission-list>div[data-state="unavailable"]>.feather,.permission-list>div[data-state="busy"]>.feather,.permission-list>div[data-state="timeout"]>.feather,.permission-list>div[data-state="error"]>.feather{color:var(--saga-danger)}.permission-help{padding:11px 12px;border-radius:12px;background:#f7eee4;color:#6c4a37!important}.permission-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.permission-actions .primary,.permission-actions .secondary-action,.permission-shell>.primary,.permission-shell>.secondary-action{width:100%}.permission-continue{justify-self:center}.install-help{text-align:center}
.detail-content{display:grid;gap:10px}.detail-content dl{display:grid;gap:0;margin:0;border-radius:20px;background:#fff}.detail-content dl div{display:grid;grid-template-columns:1fr 1.4fr;gap:12px;padding:13px 15px;border-bottom:1px solid var(--saga-soft)}.detail-content dl div:last-child{border-bottom:0}.detail-content dt{color:var(--saga-muted);font-size:12px}.detail-content dd{margin:0;overflow-wrap:anywhere;font-size:12px;font-weight:650}.detail-content .primary,.detail-content .secondary-action{width:100%}
@media(max-width:374px){:root{--saga-page-padding:16px}.home-summary-grid,.two-columns,.condition-row{grid-template-columns:1fr}.request-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.staff-card{padding:17px}.page-heading h1{font-size:27px;line-height:34px}.home-heading h1{font-size:30px;line-height:38px}.attendance-shift-time{font-size:36px;line-height:40px}}
@media(max-width:430px){.saga-shell{max-width:430px}.photo-actions,.two-columns{grid-template-columns:1fr}.two-columns>*{min-width:0}}
@media(max-width:768px){.saga-shell{width:100%}}
@media(min-width:481px){.saga-shell{box-shadow:0 0 45px rgb(32 32 32/.08)}}
@media(prefers-reduced-motion:reduce){.saga-shell *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
/* Readable text overrides keep the canonical handoff palette token while meeting WCAG AA on soft surfaces. */
.brand-lockup span,.focus-header span,.app-status,.auth-screen>p:not(.eyebrow),.page-heading p,.page-heading>span,.staff-card p,.eyebrow,label small,.attendance-badge[data-state="blocked"],.attendance-shift span,.attendance-clock span,.attendance-clock small,.attendance-requirement,.attendance-readiness small,.wide-summary small,.payroll-preview-facts dt,.payroll-preview-card>small,.segmented-control button,.staff-item small,.information-line,.receipt-stepper li,.photo-fieldset>span,.photo-meta small,.field-hint,.review-facts dt,.review-line-summary span,.detail-content dt{color:var(--saga-muted-readable)}
.line-heading h2{margin:0;font-size:18px}.receipt-review-content h2{margin-bottom:12px}
.staff-nav button{color:#66666B}

/* Preserve long employee and request details without widening the mobile shell. */
.staff-item-content strong,.staff-item-content small,.review-line-summary,.review-facts dd,.profile-menu p{overflow-wrap:anywhere}
.review-facts>div,.detail-content dl div>*{min-width:0}

.request-feedback{margin:0;padding:12px 14px;border:1px solid var(--saga-border);border-radius:14px;background:#f8f6f3;color:var(--saga-text);font-size:14px;line-height:20px;overflow-wrap:anywhere}.request-feedback[data-danger=true]{border-color:#d8aaa6;background:#fff7f6;color:var(--saga-danger)}.request-feedback:focus{outline:2px solid var(--saga-primary);outline-offset:2px}#request-list-feedback{margin-top:14px}#request-form [aria-invalid=true]{border-color:var(--saga-danger)}

.request-recovery-actions{display:grid;gap:10px}.request-recovery-actions button{width:100%}
.request-payload-missing>label,.request-payload-missing>#request-range-field{display:none}
.staff-nav{grid-template-columns:repeat(5,minmax(0,1fr))}.staff-nav button{min-width:0}.staff-nav small{font-size:10px}
.staff-nav:has(#receiving-tab[hidden]){grid-template-columns:repeat(4,minmax(0,1fr))}.staff-nav:has(#receiving-tab[hidden]):has(#stock-closing-tab[hidden]){grid-template-columns:repeat(3,minmax(0,1fr))}.staff-nav:has(#stock-closing-tab[hidden]):not(:has(#receiving-tab[hidden])){grid-template-columns:repeat(4,minmax(0,1fr))}
.stock-closing-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:14px}.stock-closing-heading h1{font-size:24px;line-height:30px}.stock-closing-heading p{margin-top:4px;font-size:12px;line-height:18px}.stock-closing-heading .text-action{flex:none;white-space:nowrap}
.stock-category-picker{display:grid;gap:8px;margin-bottom:10px;padding:14px 16px;border-radius:16px;box-shadow:none}.stock-category-picker label{font-weight:700}.stock-category-picker select{min-height:48px}.stock-category-picker .information-line{margin:0;font-size:12px;line-height:18px}#stock-closing-progress{color:var(--saga-muted-readable)}#stock-closing-filters{padding-top:6px;border-top:1px solid var(--saga-soft)}#stock-closing-filters summary{min-height:36px;padding:8px 0;color:var(--saga-primary);font-size:13px;font-weight:650;cursor:pointer}#stock-closing-filters .form-stack{gap:10px;padding-top:8px}.stock-closing-check{display:flex;align-items:center;gap:10px}.stock-closing-check input{width:20px;min-height:20px;margin:0;accent-color:var(--saga-primary)}
#stock-closing-form{gap:10px;padding-bottom:110px}#stock-closing-lines{gap:8px}#stock-closing-empty{margin:4px 0;font-size:14px}.stock-closing-line{display:grid;gap:9px;margin:0;padding:14px;border-radius:16px;box-shadow:none}.stock-closing-line strong{overflow-wrap:anywhere;font-size:16px}.stock-closing-controls{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,130px);gap:8px}.stock-closing-controls>*{min-width:0}.stock-closing-controls label{gap:4px;font-size:12px}.stock-closing-controls input,.stock-closing-controls select{min-height:46px;padding:10px;border-radius:10px}.stock-closing-line>label{font-size:12px}.stock-closing-line>.text-action{justify-self:start;min-height:36px;padding:4px 0;font-size:12px}.stock-closing-extra button{grid-column:1/-1;justify-self:start}
.stock-count-area{display:grid;gap:7px;padding:10px;border:1px solid var(--saga-border);border-radius:12px;background:#faf9f7}.stock-count-area h3{font-size:13px}.stock-count-area>.text-action{justify-self:start;min-height:36px;padding:4px 0;font-size:12px}.stock-area-legacy{margin:0;color:var(--saga-danger)!important;font-size:12px!important;line-height:18px!important}.stock-closing-sticky{position:fixed;z-index:35;left:50%;bottom:calc(var(--saga-nav-h) + 10px + env(safe-area-inset-bottom));display:grid;width:min(calc(100% - 40px),440px);grid-template-columns:1fr 1fr;gap:8px;padding:8px;transform:translateX(-50%);border:1px solid var(--saga-border);border-radius:16px;background:#fff;box-shadow:0 6px 24px rgb(32 32 32/.12)}.stock-closing-sticky button{min-width:0;min-height:44px;padding:8px;font-size:14px}.stock-closing-sticky button:disabled{opacity:.55}.stock-closing-sticky small{grid-column:1/-1;color:var(--saga-muted-readable);font-size:12px}#stock-closing-actions{margin:16px 0}#stock-review-panel{margin-top:16px}#stock-review-panel p{margin:0}#stock-review-missing:not(:empty){padding:12px;border-radius:12px;background:#f8f6f3;font-size:14px;line-height:21px}#stock-review-panel .primary:disabled{background:var(--saga-soft)}
@media(max-width:374px){.stock-closing-sticky{grid-template-columns:1fr}.stock-closing-controls{grid-template-columns:minmax(0,1fr) 112px}}

/* Reuse canonical static font assets only on the active stock-closing surface. */
@font-face{font-family:"Plus Jakarta Sans Catalog";src:url("/assets/fonts/plus-jakarta-sans-catalog-400.woff2") format("woff2");font-display:swap;font-style:normal;font-weight:400}
@font-face{font-family:"Plus Jakarta Sans Catalog";src:url("/assets/fonts/plus-jakarta-sans-catalog-500.woff2") format("woff2");font-display:swap;font-style:normal;font-weight:500}
@font-face{font-family:"Plus Jakarta Sans Catalog";src:url("/assets/fonts/plus-jakarta-sans-catalog-600.woff2") format("woff2");font-display:swap;font-style:normal;font-weight:600}
@font-face{font-family:"Plus Jakarta Sans Catalog";src:url("/assets/fonts/plus-jakarta-sans-catalog-700.woff2") format("woff2");font-display:swap;font-style:normal;font-weight:700}
/* Staff stock closing: canonical stock/opname reference consistency, isolated from other Staff views. */
.saga-shell[data-active-screen="30"] {
  font-family: "Plus Jakarta Sans Catalog", system-ui, sans-serif;
  --saga-bg: #f6f8fb;
  --saga-text: #080b50;
  --saga-muted: #6670a1;
  --saga-muted-readable: #53608e;
  --saga-primary: #080b50;
  --saga-soft: #f0f3fa;
  --saga-border: #e0e5f2;
  --saga-danger: #bd260e;
  --saga-success: #087641;
  --saga-radius-card: 16px;
  --saga-radius-button: 10px;
  --saga-radius-input: 10px;
  --saga-shadow: none;
  background: var(--saga-bg);
}
.saga-shell[data-active-screen="30"] .root-header { margin-bottom: 24px; }
#stock-closing-view { color: var(--saga-text); }
#stock-closing-view .stock-closing-heading { gap: 12px; margin-bottom: 16px; }
#stock-closing-view .stock-closing-eyebrow { display: block; margin-bottom: 6px; color: var(--saga-muted-readable); font-size: 11px; font-weight: 700; letter-spacing: .08em; }
#stock-closing-view .stock-closing-heading h1 { font-size: 26px; line-height: 34px; letter-spacing: -.025em; }
#stock-closing-view .stock-closing-heading p { font-size: 13px; line-height: 20px; overflow-wrap: anywhere; }
#stock-closing-view .stock-closing-heading .text-action { min-height: 44px; padding: 8px 10px; border: 1px solid var(--saga-border); border-radius: 10px; background: #fff; font-size: 12px; }
#stock-closing-view .staff-card { border-color: var(--saga-border); }
#stock-closing-view .stock-category-picker { gap: 10px; padding: 16px; }
#stock-closing-view #stock-closing-progress { padding: 10px 12px; border-radius: 10px; background: #f1f5fc; color: var(--saga-text); font-size: 13px; line-height: 20px; }
#stock-closing-view #stock-closing-filters summary { min-height: 44px; }
#stock-closing-view .stock-closing-check { min-height: 44px; }
#stock-closing-view .stock-closing-line { gap: 12px; padding: 16px; }
#stock-closing-view .stock-closing-line > strong { padding-bottom: 10px; border-bottom: 1px solid var(--saga-border); font-size: 17px; line-height: 24px; }
#stock-closing-view .stock-count-area { padding: 12px; background: #f8faff; }
#stock-closing-view .stock-count-area h3 { font-size: 14px; line-height: 20px; }
#stock-closing-view .stock-count-area > .text-action,
#stock-closing-view .stock-closing-extra .text-action { min-height: 44px; font-size: 13px; }
#stock-closing-view input:focus, #stock-closing-view select:focus,
#stock-closing-view textarea:focus, #stock-closing-view button:focus-visible { outline-color: #080b50; }
#stock-closing-view .primary { background: #d93b00; color: #fff; border-color: #d93b00; }
#stock-closing-view .primary:disabled { border-color: var(--saga-border); background: #e9edf5; color: #53608e; opacity: 1; }
#stock-closing-view .secondary-action { border-color: var(--saga-border); color: var(--saga-text); }
#stock-closing-view .stock-closing-sticky { border-color: var(--saga-border); box-shadow: 0 6px 24px rgb(8 11 80 / .08); }
#stock-closing-view .stock-closing-sticky button:disabled { opacity: 1; color: #53608e; background: #e9edf5; }
#stock-closing-view #stock-review-panel { padding: 18px; gap: 14px; }
#stock-closing-view #stock-review-panel h2 { font-size: 20px; line-height: 28px; }
#stock-closing-view #stock-review-panel p { font-size: 14px; line-height: 22px; }
#stock-closing-view #stock-review-summary { padding: 12px; border-radius: 10px; background: #f1f5fc; color: var(--saga-text); }
#stock-closing-view #stock-review-missing:not(:empty) { background: #fff4e9; color: #8d360e; }
#stock-closing-view #stock-closing-feedback { margin: 0; padding: 12px 14px; border: 1px solid var(--saga-border); border-radius: 10px; background: #f1f5fc; color: var(--saga-text); font-size: 13px; line-height: 20px; overflow-wrap: anywhere; }
#stock-closing-view #stock-closing-feedback[data-danger="true"] { border-color: #f2c8bc; background: #fff4ed; color: #94300f; }
#stock-closing-view #stock-closing-refresh { justify-self: start; }
#stock-closing-view #stock-waste-form { gap: 16px; }
#stock-closing-view #stock-waste-form h2 { font-size: 20px; line-height: 28px; }
#stock-closing-view #stock-waste-form > p { margin: 0; font-size: 14px; line-height: 22px; }
#stock-closing-view #stock-waste-feedback:not(:empty) { padding: 12px; border-radius: 10px; background: #fff4ed; color: #94300f; font-size: 13px; line-height: 20px; overflow-wrap: anywhere; }
#stock-closing-view #stock-waste-history p { margin: 0; padding: 12px 0; border-top: 1px solid var(--saga-border); font-size: 13px; line-height: 20px; overflow-wrap: anywhere; }
@media (min-width: 768px) {
  .saga-shell[data-active-screen="30"] { max-width: 1120px; padding: 28px 32px 140px; }
  .saga-shell[data-active-screen="30"] .root-header { margin-bottom: 28px; }
  #stock-closing-view .stock-closing-heading h1 { font-size: 32px; line-height: 40px; }
  #stock-closing-view .stock-category-picker { padding: 20px; }
  #stock-closing-view #stock-closing-lines { gap: 16px; }
  #stock-closing-view .stock-closing-line { grid-template-columns: 1fr 1fr; gap: 16px; padding: 20px; }
  #stock-closing-view .stock-closing-line > strong, #stock-closing-view .stock-area-legacy { grid-column: 1 / -1; }
  #stock-closing-view .stock-closing-controls { grid-template-columns: minmax(0,1fr) minmax(0,190px); }
  #stock-closing-view .stock-closing-sticky { width: min(calc(100% - 80px), 1040px); grid-template-columns: 1fr 1fr; padding: 12px; }
  #stock-closing-view #stock-review-panel, #stock-closing-view #stock-waste-form { max-width: 760px; margin-inline: auto; }
  #stock-closing-view #stock-closing-actions { padding-bottom: 120px; }
}
@media (max-width: 374px) {
  #stock-closing-view .stock-closing-heading { flex-wrap: wrap; }
  #stock-closing-view .stock-closing-line { padding: 12px; }
  #stock-closing-view .stock-count-area { padding: 10px; }
}

/* Keep the server refresh action above the fixed count actions and Staff navigation. */
@media (max-width: 767px) {
  #stock-closing-view #stock-closing-actions { padding-bottom: 120px; }
  #stock-closing-view .stock-closing-controls { grid-template-columns: minmax(0,1fr); }
}

/* One-screen missed-attendance form: visible context, feedback and reachable action. */
.correction-dialog{--saga-muted:#625e5a;--saga-muted-readable:#625e5a;max-height:calc(100dvh - 24px)}
.correction-shell{gap:18px;padding-bottom:0}
.correction-intro{margin:0;color:var(--saga-muted-readable);font-size:14px;line-height:1.6}
.correction-fields{display:grid;gap:16px;min-width:0;margin:0;padding:0;border:0}
.correction-section{display:grid;gap:12px;min-width:0;padding:16px;background:var(--saga-surface,#fff);border:1px solid var(--saga-border);border-radius:16px}
.correction-shift-summary{margin:0;padding:10px 12px;border-radius:10px;background:var(--saga-bg);font-size:13px;line-height:1.5}
.correction-time-fields{display:grid;gap:14px;min-width:0}
.correction-field-hint{display:flex;justify-content:space-between;align-items:start;gap:12px}
.correction-field-hint small:last-child{white-space:nowrap}
.correction-section small,.correction-footer small{color:var(--saga-muted-readable);font-size:12px;line-height:1.5}
.correction-photo-preview{width:100%;max-height:180px;object-fit:contain;border-radius:10px;background:var(--saga-bg)}
.correction-footer{position:sticky;bottom:0;display:grid;gap:10px;padding:14px 0 calc(16px + env(safe-area-inset-bottom));border-top:1px solid var(--saga-border);background:var(--saga-bg)}
.correction-footer #correction-error{margin:0;font-size:13px;line-height:1.5}
.correction-footer #correction-error:empty{display:none}
.correction-footer button{min-height:48px}
.correction-section input[type="datetime-local"]{max-width:100%;min-width:0}
@media(min-width:600px){.correction-dialog{width:min(calc(100% - 32px),560px)}}

.day-off-help{padding:16px;border:1px solid #d9dfd0;border-radius:12px;background:#f0f3eb;font-size:14px;line-height:1.6;color:#38432e}.day-off-help p{margin:8px 0 0}.day-off-preview{display:grid;gap:12px;padding:16px;border:1px solid #ded8ce;border-radius:12px;background:#faf8f4}.day-off-preview>strong{font-size:14px}.day-off-preview article{padding:12px;background:#fff;border-radius:10px;border:1px solid #e6e0d6;min-width:0}.day-off-preview p{margin:8px 0;font-size:14px;line-height:1.5}.day-off-preview small{font-size:12px;line-height:1.6;color:#625e58}.day-off-preview[hidden],.day-off-help[hidden]{display:none}

#day-off-blockers,.day-off-warning{border:1px solid #d8b68e;background:#fff9f1;color:var(--saga-primary);border-radius:12px;padding:14px;line-height:1.6}.day-off-warning{margin:0 0 12px}
