:root{--bg:#eef1ef;--surface:#ffffff;--surface-2:#f6f8f7;--text:#17201b;--muted:#68736c;--line:#dce2de;--green:#176b4d;--green-2:#0f583e;--green-soft:#e2f2eb;--amber:#9a6412;--amber-soft:#fff3d6;--red:#a53b35;--red-soft:#fde9e7;--blue:#315f88;--blue-soft:#e8f1f8;--shadow:0 10px 35px rgba(28,42,34,.1)}*{box-sizing:border-box}body,html{margin:0;min-height:100%;background:var(--bg);color:var(--text);font-family:Inter,Microsoft YaHei,system-ui,sans-serif;letter-spacing:0}button,input,select,textarea{font:inherit;letter-spacing:0}button{cursor:pointer}button:disabled{cursor:wait;opacity:.65}h1,h2,h3,p{margin-top:0}.login-page{min-height:100vh;display:grid;grid-template-columns:minmax(360px,520px) 1fr;background:var(--surface)}.login-panel{padding:clamp(28px,6vw,76px);display:flex;flex-direction:column;justify-content:center}.login-brand,.top-brand{display:flex;align-items:center;gap:11px}.login-brand>div:last-child,.top-brand>div{display:grid;grid-gap:2px;gap:2px}.login-brand strong,.top-brand strong{font-weight:600}.login-brand span,.top-brand small{color:var(--muted)}.brand-mark{width:34px;height:34px;border-radius:6px;display:grid;place-items:center;color:#fff!important;background:var(--green);font-weight:600}.login-copy{margin:58px 0 26px}.login-copy h1{font-size:29px;margin-bottom:8px;letter-spacing:0}.login-copy p{color:var(--muted)}.login-form{display:grid;grid-gap:17px;gap:17px}.login-form label{display:grid;grid-gap:7px;gap:7px}.input-with-icon{min-height:44px;border:1px solid var(--line);border-radius:6px;display:flex;align-items:center;gap:9px;padding:0 12px;color:var(--muted)}.input-with-icon:focus-within{border-color:var(--green);box-shadow:0 0 0 3px var(--green-soft)}.input-with-icon input{border:0;outline:0;width:100%;background:transparent;color:var(--text)}.button{min-height:36px;border:1px solid var(--line);border-radius:6px;background:var(--surface);color:var(--text);padding:7px 11px;display:inline-flex;align-items:center;justify-content:center;gap:7px}.button.primary{background:var(--green);color:white;border-color:var(--green)}.button.primary:hover{background:var(--green-2)}.button.submit{background:var(--blue-soft);color:var(--blue);border-color:#b9d1e3}.button.submit:hover{background:#d9e9f5;border-color:#8fb6d1}.button.danger{color:var(--red);border-color:#edc4c0}.button.block{width:100%;min-height:44px}.form-error,.inline-error{color:var(--red)}.inline-success{color:var(--green)}.demo-accounts{margin-top:25px;background:var(--surface-2);border:1px solid var(--line);border-radius:7px;padding:13px;display:grid;grid-gap:9px;gap:9px}.demo-accounts>div{display:flex;justify-content:space-between;gap:12px;color:var(--muted)}.demo-accounts code{color:var(--text)}.login-context{min-height:100vh;padding:clamp(34px,7vw,90px);display:flex;flex-direction:column;justify-content:space-between;color:white;background:linear-gradient(rgba(15,76,54,.8),rgba(15,76,54,.92)),url(https://images.unsplash.com/photo-1445116572660-236099ec97a0?auto=format&fit=crop&w=1600&q=75) 50%/cover}.login-context>div:first-child{max-width:620px}.login-context h2{font-size:clamp(34px,5vw,60px);max-width:580px;margin:18px 0;letter-spacing:0}.login-context p{font-size:18px;line-height:1.75;color:rgba(255,255,255,.82)}.eyebrow{opacity:.78}.context-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid rgba(255,255,255,.24);padding-top:22px}.context-metrics div{display:grid;grid-gap:6px;gap:6px}.context-metrics strong{font-size:28px}.context-metrics span{opacity:.75}.app-shell{min-height:100vh}.topbar{height:64px;background:var(--surface);border-bottom:1px solid var(--line);justify-content:space-between;gap:16px;padding:0 18px;position:-webkit-sticky;position:sticky;top:0;z-index:10}.top-actions,.topbar{display:flex;align-items:center}.top-actions{gap:10px}.top-actions select{height:38px;max-width:260px;border:1px solid var(--line);background:var(--surface);color:var(--text);border-radius:6px;padding:0 30px 0 10px}.user-chip{display:grid;text-align:right}.icon-button,.user-chip small{color:var(--muted)}.icon-button{width:38px;height:38px;border:1px solid var(--line);border-radius:6px;background:transparent;display:grid;place-items:center}.icon-button.light{color:white;border-color:rgba(255,255,255,.3)}.app-layout{display:grid;grid-template-columns:194px minmax(0,1fr);min-height:calc(100vh - 64px)}.sidebar{background:var(--surface);border-right:1px solid var(--line);padding:14px 10px;display:flex;flex-direction:column;gap:4px}.sidebar-store{color:var(--muted);padding:8px 10px 12px}.sidebar button{border:0;background:transparent;color:var(--muted);min-height:42px;border-radius:6px;padding:9px 10px;display:flex;align-items:center;gap:10px;text-align:left}.sidebar button.active{background:var(--green-soft);color:var(--green)}.nav-badge{margin-left:auto;min-width:20px;height:20px;padding:0 5px;border-radius:10px;background:var(--red);color:white;display:grid;place-items:center;font-size:11px;font-style:normal}.workspace{padding:24px;min-width:0}.page-head{min-height:57px;display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:18px}.page-head h1{font-size:25px;margin-bottom:6px;letter-spacing:0}.page-head p{color:var(--muted);margin-bottom:0}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:11px;gap:11px;margin-bottom:14px}.metric{background:var(--surface);border:1px solid var(--line);border-radius:7px;padding:14px}.metric>div{color:var(--muted);display:flex;justify-content:space-between;align-items:center;gap:8px}.metric>strong{display:block;font-size:26px;margin:8px 0 5px}.metric small{color:var(--muted)}.metric.warning>strong{color:var(--amber)}.two-columns{display:grid;grid-template-columns:1.2fr 1fr;grid-gap:14px;gap:14px}.panel{background:var(--surface);border:1px solid var(--line);border-radius:7px;overflow:hidden}.panel>header{min-height:50px;border-bottom:1px solid var(--line);padding:11px 14px;display:flex;justify-content:space-between;align-items:center;gap:10px}.mobile-section h2,.panel h2{font-size:17px;margin:0}.text-button{border:0;background:transparent;color:var(--green)}.summary-list{display:grid;grid-template-columns:repeat(4,1fr)}.summary-list>div{min-height:91px;padding:15px;display:grid;grid-gap:6px;gap:6px;border-right:1px solid var(--line)}.summary-list>div:last-child{border-right:0}.summary-list span{color:var(--muted)}.summary-list strong{font-size:18px}.todo-list{display:grid}.todo-list button{min-height:63px;border:0;border-bottom:1px solid var(--line);background:transparent;display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;grid-gap:10px;gap:10px;padding:10px 14px;text-align:left;color:var(--text)}.todo-list button:last-child{border-bottom:0}.todo-list button>span:first-child{width:32px;height:32px;border-radius:6px;background:var(--surface-2);color:var(--muted);display:grid;place-items:center}.todo-list button>div{display:grid;grid-gap:3px;gap:3px}.todo-list small{color:var(--muted)}.todo-list button>span:last-child{color:var(--green)}.status{display:inline-flex;width:-moz-fit-content;width:fit-content;border-radius:999px;background:var(--surface-2);color:var(--muted);padding:3px 8px;white-space:nowrap}.status.success{background:var(--green-soft);color:var(--green)}.status.warning{background:var(--amber-soft);color:var(--amber)}.status.danger{background:var(--red-soft);color:var(--red)}.publish-actions{display:flex;align-items:flex-start;gap:8px}.schedule-screenshot-action{display:flex;flex-direction:column;align-items:flex-start;gap:4px}.publish-actions input{height:36px;border:1px solid var(--line);border-radius:6px;padding:0 10px;min-width:220px}.action-wrap{display:flex;flex-direction:column;align-items:flex-start;gap:4px}.action-wrap>span{font-size:12px;max-width:210px}.upload-form{display:flex;align-items:flex-start;gap:8px;flex-wrap:wrap;max-width:560px}.file-picker{min-height:36px;border:1px solid var(--line);border-radius:6px;background:var(--surface);padding:7px 11px;display:inline-flex;align-items:center;gap:7px;cursor:pointer}.file-picker input,.photo-upload input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.upload-form>span{flex-basis:100%;font-size:12px}.import-note{color:var(--muted);background:var(--surface);border:1px solid var(--line);border-radius:6px;padding:9px 11px;margin-bottom:10px}.photo-upload{display:flex;flex-direction:column;gap:4px;min-width:0}.photo-upload .button{width:100%}.photo-source-actions{display:grid;grid-template-columns:1fr 1fr;grid-gap:7px;gap:7px}.photo-upload .button.photo-emphasis{min-height:42px;background:#b85d11;color:#fff;border-color:#b85d11;font-weight:600;box-shadow:0 3px 10px rgba(184,93,17,.22)}.photo-upload .button.photo-emphasis:hover{background:#984a0c;border-color:#984a0c}.photo-upload .button.photo-gallery-button{min-height:42px;background:var(--surface);color:var(--green);border-color:var(--green);font-weight:600}.photo-upload>span{font-size:12px}.location-state{color:var(--muted);display:flex;align-items:center;gap:4px;line-height:1.35}.task-photo-gallery{margin:10px 0}.task-photo-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:7px;gap:7px}.task-photo-item,.task-photo-strip button{position:relative;min-width:0}.task-photo-strip button{aspect-ratio:1;overflow:hidden;border:1px solid var(--line);border-radius:6px;padding:0;background:var(--surface-2)}.task-photo-strip .task-photo-item>button:first-child{width:100%}.task-photo-strip .photo-delete{position:absolute;z-index:2;top:5px;left:5px;width:30px;height:30px;aspect-ratio:auto;display:grid;place-items:center;color:white;background:rgba(148,34,34,.9);border-color:rgba(255,255,255,.7)}.task-photo-strip .photo-delete svg{position:static;filter:none}.task-photo-strip img{width:100%;height:100%;object-fit:cover;display:block}.task-photo-strip svg{position:absolute;right:5px;top:5px;color:white;filter:drop-shadow(0 1px 2px rgba(0,0,0,.65))}.photo-lightbox{position:fixed;inset:0;z-index:60;background:rgba(10,15,12,.88);padding:16px;display:grid;place-items:center}.photo-lightbox>div{position:relative;width:min(920px,100%);max-height:calc(100vh - 32px);display:grid;grid-template-rows:minmax(0,1fr) auto;background:#111;border-radius:7px;overflow:hidden}.photo-lightbox>div>img{width:100%;height:100%;max-height:calc(100vh - 118px);object-fit:contain;display:block}.photo-lightbox footer{min-height:64px;padding:10px 12px;background:var(--surface);display:grid;grid-gap:5px;gap:5px}.photo-lightbox footer span{color:var(--muted);display:flex;align-items:center;gap:5px;overflow-wrap:anywhere}.photo-close{position:absolute;right:9px;top:9px;z-index:2;background:rgba(0,0,0,.65);color:white;border-color:rgba(255,255,255,.35)}.warning-banner{border:1px solid #e8c57d;background:var(--amber-soft);color:var(--amber);border-radius:6px;padding:10px 12px;display:flex;align-items:center;gap:8px;margin-bottom:12px}.confirmation-panel{margin-bottom:14px}.confirmation-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-bottom:1px solid var(--line)}.confirmation-summary>div{min-height:76px;padding:12px 14px;border-right:1px solid var(--line);display:grid;align-content:center;grid-gap:4px;gap:4px}.confirmation-summary>div:last-child{border-right:0}.confirmation-summary strong{font-size:20px;overflow-wrap:anywhere}.confirmation-summary span{color:var(--muted)}.schedule-view-toolbar{min-height:48px;margin-bottom:10px;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.schedule-editor{margin-bottom:14px}.schedule-editor>header{align-items:flex-start}.schedule-editor>header>div{display:grid;grid-gap:4px;gap:4px}.schedule-editor h2{display:flex;align-items:center;gap:7px}.schedule-editor header span{color:var(--muted);font-size:12px}.schedule-editor-body{padding:13px 14px;display:grid;grid-gap:11px;gap:11px}.schedule-editor-row{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));grid-gap:9px;gap:9px}.schedule-editor-row:first-child{grid-template-columns:1fr}.schedule-editor label{display:grid;grid-gap:5px;gap:5px;color:var(--muted);font-size:12px}.schedule-editor input,.schedule-editor select{width:100%;min-height:36px;border:1px solid var(--line);border-radius:6px;background:var(--surface);color:var(--text);padding:7px 8px}.schedule-editor input:disabled,.schedule-editor select:disabled{background:var(--surface-2);color:var(--muted)}.schedule-editor-actions{display:flex;align-items:flex-start;gap:8px;flex-wrap:wrap}.schedule-editor-note{margin:0;color:var(--muted);font-size:12px;line-height:1.45}.segmented-control{display:inline-flex;padding:3px;border:1px solid var(--line);border-radius:7px;background:var(--surface-2)}.segmented-control button{min-height:34px;border:0;border-radius:5px;padding:6px 11px;background:transparent;color:var(--muted);display:inline-flex;align-items:center;gap:7px}.segmented-control button.active{background:var(--surface);color:var(--green);box-shadow:0 1px 4px rgba(28,42,34,.12)}.schedule-legend{display:flex;align-items:center;gap:12px;flex-wrap:wrap;color:var(--muted);font-size:13px}.schedule-legend span{display:inline-flex;align-items:center;gap:5px}.schedule-legend i{width:9px;height:9px;border-radius:2px;display:inline-block}.legend-early{background:var(--green)}.legend-late{background:var(--amber)}.legend-rest{background:var(--blue)}.legend-leave{background:var(--red)}.schedule-scroll,.table-wrap{overflow-x:auto}.schedule-grid{display:grid;min-width:850px;border-left:1px solid var(--line);border-top:1px solid var(--line)}.schedule-grid>div{min-height:68px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--surface);padding:9px;display:flex;flex-direction:column;justify-content:center;gap:5px}.schedule-grid .schedule-head{min-height:43px;background:var(--surface-2);color:var(--muted);text-align:center;align-items:center}.schedule-grid .schedule-head strong{color:var(--text);font-weight:600}.schedule-grid .schedule-head span{font-size:12px}.schedule-grid>.employee-cell,.schedule-grid>.summary-label{position:-webkit-sticky;position:sticky;left:0;z-index:2}.employee-cell span,.shift-cell span{color:var(--muted)}.schedule-grid>.shift-early{background:var(--green-soft)}.schedule-grid>.shift-early strong{color:var(--green)}.schedule-grid>.shift-late{background:var(--amber-soft)}.schedule-grid>.shift-late strong{color:var(--amber)}.schedule-grid>.shift-rest{background:var(--blue-soft)}.schedule-grid>.shift-rest strong{color:var(--blue)}.schedule-grid>.shift-leave{background:var(--red-soft)}.schedule-grid>.shift-leave strong{color:var(--red)}.schedule-grid>.shift-part-time{background:#f4f1ea}.shift-unassigned{background:var(--surface-2)!important}.schedule-shift-select{width:100%;min-height:32px;border:1px solid rgba(104,115,108,.32);border-radius:5px;padding:4px 6px;background:rgba(255,255,255,.54);color:inherit;font:inherit;cursor:pointer}.schedule-shift-select:focus-visible,.schedule-shift-select:hover{border-color:var(--green);outline:2px solid rgba(37,114,82,.16)}.schedule-shift-select:disabled{cursor:not-allowed;opacity:.72}.summary-person-inline{display:grid;grid-gap:4px;gap:4px;padding-bottom:7px;border-bottom:1px solid rgba(104,115,108,.18)}.summary-person-inline:last-child{padding-bottom:0;border-bottom:0}.summary-person-button{width:100%;border:0;padding:0 0 7px;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer;display:grid;grid-gap:2px;gap:2px;border-bottom:1px solid rgba(104,115,108,.18)}.summary-person-button:last-child{padding-bottom:0;border-bottom:0}.summary-person-button:focus-visible,.summary-person-button:hover{color:var(--green);outline:none}.weekly-schedule-grid{min-width:1384px}.weekly-schedule-grid>div{min-height:96px;justify-content:flex-start}.weekly-schedule-grid>.schedule-head{min-height:54px;justify-content:center}.summary-label{align-items:flex-start}.summary-label span{color:var(--muted);font-size:12px}.summary-cell{padding:8px!important}.summary-people{width:100%;display:grid;grid-gap:7px;gap:7px}.summary-people>div{min-width:0;display:grid;grid-gap:2px;gap:2px;padding-bottom:7px;border-bottom:1px solid rgba(104,115,108,.18)}.summary-people>div:last-child{padding-bottom:0;border-bottom:0}.summary-people span,.summary-people strong{overflow-wrap:anywhere}.summary-people span{color:var(--muted);font-size:12px;line-height:1.35}table{width:100%;border-collapse:collapse;min-width:720px}td,th{padding:12px 14px;text-align:left;border-bottom:1px solid var(--line);vertical-align:middle}th{font-weight:500;background:var(--surface-2)}td small,th{color:var(--muted)}td small{display:block;margin-top:4px}tbody tr:last-child td{border-bottom:0}.row-actions{display:flex;flex-wrap:wrap;gap:7px}.task-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:12px;gap:12px}.task-view-toolbar{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;margin-bottom:14px}.task-view-toolbar>label{width:min(430px,100%);display:grid;grid-gap:6px;gap:6px;color:var(--muted);font-size:13px}.task-view-toolbar select{width:100%;border:1px solid var(--line);border-radius:6px;background:var(--surface);color:var(--text);padding:9px 10px}.weekly-task-plan{margin-top:0}.weekly-task-plan table{min-width:1050px}.weekly-upload-banner{display:flex;align-items:center;gap:12px;margin-bottom:14px;padding:14px;border:1px solid #e2b751;border-radius:7px;background:#fff8df;color:#57420b}.weekly-upload-banner>div{display:grid;grid-gap:4px;gap:4px}.weekly-upload-banner span{color:#735a1d;font-size:13px}.weekly-overdue{border-color:#d76a62}.weekly-review-summary{display:flex;flex-wrap:wrap;gap:8px}.weekly-review-summary span{min-width:112px;padding:9px 11px;border:1px solid var(--line);border-radius:6px;background:var(--surface);color:var(--muted)}.weekly-review-summary strong{color:var(--text)}.weekly-review-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:12px;gap:12px}.weekly-check-panel>header span{text-align:right}.task-card{background:var(--surface);border:1px solid var(--line);border-radius:7px;padding:14px}.template-panel{margin-top:14px}.card-row,.task-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.card-row>div,.task-card-head>div{display:grid;grid-gap:5px;gap:5px;min-width:0}.card-row div>span,.task-card-head span{color:var(--muted)}.task-card dl{display:grid;grid-template-columns:repeat(2,1fr);margin:14px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.task-card dl>div{padding:10px 0}.task-card dt{color:var(--muted)}.task-card dd{margin:4px 0 0}.correction-note{padding:9px 10px;background:var(--red-soft);color:var(--red);border-radius:6px}.review-controls{display:grid;grid-gap:8px;gap:8px;margin-top:10px}.review-controls textarea{width:100%;resize:vertical;border:1px solid var(--line);border-radius:6px;padding:8px 9px;background:var(--surface);color:var(--text);line-height:1.45}.review-scope-control{display:flex;align-items:flex-start;gap:7px}.review-scope-control select{padding:6px 8px}.decision-box select,.review-scope-control select{min-height:36px;border:1px solid var(--line);border-radius:6px;background:var(--surface);color:var(--text)}.decision-box select{padding:7px 9px}.decision-box label small{color:var(--muted);line-height:1.4}.review-record-note{min-width:180px;max-width:320px;white-space:normal;overflow-wrap:anywhere}.review-history-note{margin:10px 0!important;color:var(--text)!important}.review-history-note,.review-locked-note{padding:8px 10px;border-radius:6px;background:var(--surface-2)}.review-locked-note{min-height:38px;color:var(--muted);display:flex;align-items:center;gap:7px}.timeline{padding:4px 16px}.timeline-item{display:grid;grid-template-columns:14px minmax(0,1fr);grid-gap:10px;gap:10px;padding:13px 0;border-bottom:1px solid var(--line)}.timeline-dot{width:8px;height:8px;border-radius:50%;background:var(--green);margin-top:5px}.timeline-item p{color:var(--muted);margin:4px 0}.timeline-item time{color:var(--muted);font-size:12px}.empty{color:var(--muted);min-height:120px;display:grid;place-items:center;align-content:center;grid-gap:8px;gap:8px}.retention-list{padding:14px;display:grid;grid-gap:12px;gap:12px}.retention-list>div{display:grid;grid-gap:4px;gap:4px;padding-bottom:11px;border-bottom:1px solid var(--line)}.retention-list span{color:var(--muted)}.modal-backdrop{position:fixed;inset:0;z-index:30;background:rgba(16,25,20,.5);display:grid;place-items:center;padding:16px}.modal{width:min(620px,100%);max-height:calc(100vh - 32px);overflow-y:auto;background:var(--surface);border-radius:8px;box-shadow:var(--shadow)}.modal>header{min-height:54px;border-bottom:1px solid var(--line);padding:10px 14px;display:flex;align-items:center;justify-content:space-between}.modal h2{margin:0;font-size:18px}.config-form{padding:15px}.form-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px;margin-bottom:14px}.availability-form label,.form-grid label{display:grid;grid-gap:6px;gap:6px;color:var(--muted)}.availability-form input,.availability-form label,.form-grid label{min-width:0}.availability-form input,.availability-form select,.form-grid input,.form-grid select,.form-grid textarea{width:100%;border:1px solid var(--line);border-radius:6px;background:var(--surface);color:var(--text);padding:9px 10px}.form-grid .span-2{grid-column:1/-1}.availability-form{border:1px solid var(--line);border-radius:7px;padding:12px;display:grid;grid-template-columns:repeat(3,1fr);grid-gap:8px;gap:8px}.availability-form button,.availability-form>span{grid-column:1/-1}.availability-week-picker{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--muted)}.availability-list{display:grid;margin-top:10px}.availability-list>div{display:flex;justify-content:space-between;gap:10px;padding:9px 3px;border-bottom:1px solid var(--line)}.availability-list span{color:var(--muted)}.availability-list .action-wrap{margin-left:auto;flex:0 0 auto}.availability-list strong small{display:block;color:var(--muted);font-size:12px;font-weight:400;margin-top:3px}.store-availability-list>div{align-items:center}.panel-note,.section-note{color:var(--muted);margin:0 14px 12px;line-height:1.5}.compact-empty{min-height:70px;border:1px dashed var(--line);border-radius:6px;padding:14px}.muted{color:var(--muted)}.employee-shell{width:min(100%,520px);min-height:100vh;margin:0 auto;background:var(--surface);box-shadow:var(--shadow);padding-bottom:70px}.employee-top{height:64px;background:var(--green);color:white;display:flex;justify-content:space-between;align-items:center;padding:0 14px}.employee-top .brand-mark{background:rgba(255,255,255,.15)}.employee-top .top-brand small{color:rgba(255,255,255,.75)}.avatar{width:34px;height:34px;border-radius:50%;background:var(--green-soft);color:var(--green);display:grid;place-items:center}.employee-content{min-height:calc(100vh - 134px)}.employee-greeting{background:var(--green);color:white;padding:15px 18px 23px}.employee-greeting p,.employee-greeting span{color:rgba(255,255,255,.76)}.employee-greeting h1{font-size:24px;margin:8px 0 5px}.employee-greeting p{margin-bottom:0}.mobile-view{padding:14px}.schedule-reminder{margin-bottom:12px;padding:12px;border:1px solid #e8c57d;border-radius:7px;background:var(--amber-soft);color:var(--amber);display:grid;grid-template-columns:auto minmax(0,1fr);grid-gap:9px;gap:9px;align-items:start}.schedule-reminder.overdue{border-color:#e8a6a0;background:var(--red-soft);color:var(--red)}.schedule-reminder>div:nth-child(2){display:grid;grid-gap:4px;gap:4px}.schedule-reminder span{line-height:1.45}.schedule-reminder .action-wrap{grid-column:1/-1;width:100%}.schedule-reminder .button{width:100%}.next-shift{padding:14px;border:1px solid var(--line);border-radius:7px;display:grid;grid-gap:5px;gap:5px}.next-shift>span{color:var(--muted)}.next-shift>strong{font-size:25px}.next-shift p{color:var(--muted);margin:0 0 8px}.schedule-week-picker{margin-top:12px;max-width:100%;overflow-x:auto}.schedule-week-picker button{white-space:nowrap}.schedule-date-controls{display:flex;align-items:flex-end;gap:12px;margin:0 0 14px}.schedule-date-controls label{display:grid;grid-gap:6px;gap:6px;color:var(--muted);font-size:13px;min-width:min(100%,420px)}.schedule-date-controls input,.schedule-date-controls select{width:100%;border:1px solid var(--line);border-radius:6px;background:var(--surface);color:var(--text);padding:9px 10px}.missing-schedule-actions{margin:0 0 14px;border:1px solid #ead39f;background:var(--amber-soft);border-radius:7px;padding:12px;display:flex;align-items:center;gap:12px}.missing-schedule-actions>span{color:var(--muted);flex:1 1}.missing-schedule-actions>div{display:flex;gap:8px}.employee-schedule-date-controls{align-items:center}.employee-schedule-date-controls>span{color:var(--muted);font-size:13px;padding-bottom:9px}@media (max-width:640px){.schedule-date-controls{display:block}.schedule-date-controls label{min-width:0}.missing-schedule-actions{align-items:stretch;flex-direction:column}.missing-schedule-actions>div{flex-direction:column}}.week-strip{display:grid;grid-template-columns:repeat(7,minmax(76px,1fr));grid-gap:6px;gap:6px;margin-top:12px;overflow-x:auto;padding-bottom:3px}.week-strip>div{min-width:0;padding:9px 4px;border-radius:6px;background:var(--surface-2);display:grid;grid-gap:5px;gap:5px;text-align:center}.week-strip strong{font-size:12px;overflow-wrap:anywhere}.week-strip small{color:var(--muted)}.week-strip>.shift-rest{background:var(--blue-soft)}.week-strip>.shift-rest strong{color:var(--blue)}.week-strip>.shift-leave{background:var(--red-soft)}.week-strip>.shift-leave strong{color:var(--red)}.mobile-section{margin-top:18px}.mobile-section>h2{margin-bottom:10px}.attendance-punch-card{border:1px solid var(--line);border-radius:7px;padding:14px;display:grid;grid-gap:12px;gap:12px;background:var(--surface)}.attendance-punch-card>header{display:flex;align-items:center;gap:10px}.attendance-punch-card>header>div:last-child{min-width:0;display:grid;grid-gap:4px;gap:4px}.attendance-punch-card header span,.attendance-punch-card small{color:var(--muted)}.attendance-punch-card header strong{font-size:18px}.attendance-punch-icon{width:44px;height:44px;flex:0 0 44px;border-radius:50%;background:var(--green-soft);color:var(--green);display:grid;place-items:center}.attendance-punch-timeline{position:relative;display:grid;grid-gap:0;gap:0}.attendance-punch-timeline:before{content:"";position:absolute;left:18px;top:30px;bottom:30px;width:2px;background:var(--line)}.attendance-punch-node{position:relative;min-height:64px;display:grid;grid-template-columns:38px minmax(0,1fr) auto;grid-gap:10px;gap:10px;align-items:center}.attendance-node-icon{z-index:1;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;color:var(--muted);background:var(--surface-2);border:2px solid var(--surface)}.attendance-punch-node.done .attendance-node-icon{color:var(--green);background:var(--green-soft)}.attendance-punch-node.active .attendance-node-icon{color:var(--blue);background:var(--blue-soft)}.attendance-node-result,.attendance-punch-node>div:nth-child(2){display:grid;grid-gap:3px;gap:3px;min-width:0}.attendance-punch-node span{color:var(--muted);font-size:13px}.attendance-node-result{text-align:right;justify-items:end}.attendance-node-result a{color:var(--green);font-size:12px}.attendance-punch-form{display:grid;grid-gap:12px;gap:12px;border-top:1px solid var(--line);padding-top:12px}.attendance-punch-complete{color:var(--green);background:var(--green-soft)}.attendance-no-shift,.attendance-punch-complete{padding:10px;display:flex;align-items:center;justify-content:center;gap:7px;border-radius:6px}.attendance-no-shift{color:var(--muted);background:var(--surface-2)}.attendance-location{border:1px solid var(--line);border-radius:6px;padding:10px;display:flex;align-items:flex-start;gap:9px;background:var(--surface-2)}.attendance-location>svg{color:var(--green);flex:0 0 auto;margin-top:2px}.attendance-location>div{min-width:0;display:grid;grid-gap:4px;gap:4px}.attendance-location span{color:var(--muted);line-height:1.45;overflow-wrap:anywhere}.face-placeholder,.face-preview{width:100%;aspect-ratio:4/3;border:1px dashed var(--line);border-radius:6px;background:var(--surface-2)}.face-placeholder{color:var(--muted);display:grid;place-items:center;align-content:center;grid-gap:8px;gap:8px;text-align:center;padding:16px}.face-preview{object-fit:cover;display:block}.face-enrollment-card{border:1px solid var(--line);border-left:4px solid var(--blue);border-radius:7px;padding:14px;display:grid;grid-gap:10px;gap:10px;background:var(--surface)}.face-enrollment-card header{display:flex;align-items:center;gap:10px}.face-enrollment-card header>div:last-child{display:grid;grid-gap:4px;gap:4px}.face-enrollment-card header span,.face-enrollment-card p,.face-enrollment-card small{color:var(--muted);line-height:1.45}.face-enrollment-card p{margin:0}.face-enrollment-form{display:grid;grid-gap:9px;gap:9px}.face-ready{color:var(--green)!important}.face-ready,.face-state{display:flex;align-items:center;gap:5px}.attendance-camera-button{position:relative;width:100%;overflow:hidden}.attendance-camera-button input{position:absolute;inset:0;opacity:0;cursor:pointer}.attendance-location-state{color:var(--muted);display:flex;align-items:center;gap:6px}.attendance-location-state.ready{color:var(--green)}.attendance-location-retry{justify-self:start;min-height:38px}.attendance-screen{display:grid;grid-gap:14px;gap:14px}.attendance-calendar-card,.attendance-shift-card{border:1px solid var(--line);border-radius:7px;background:var(--surface)}.attendance-calendar-header{min-height:52px;padding:10px 12px;display:flex;align-items:center;justify-content:space-between;gap:10px;border-bottom:1px solid var(--line)}.attendance-calendar-header>div:first-child{display:flex;align-items:center;gap:8px}.attendance-calendar-header svg{color:var(--green)}.attendance-calendar-actions{display:flex;align-items:center;gap:4px}.attendance-calendar-actions button{min-width:34px;height:34px;padding:0;border:1px solid transparent;background:transparent;color:var(--text);display:grid;place-items:center;border-radius:5px}.attendance-calendar-actions button:hover{background:var(--surface-2);border-color:var(--line)}.attendance-calendar-actions .attendance-today-button{width:auto;padding:0 9px;color:var(--green)}.attendance-calendar-grid,.attendance-calendar-weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.attendance-calendar-weekdays{padding:8px 10px 4px;color:var(--muted);text-align:center;font-size:12px}.attendance-calendar-grid{padding:4px 10px 10px}.attendance-calendar-grid button{position:relative;height:43px;border:0;border-radius:5px;background:transparent;color:var(--text);display:grid;place-items:center;font-size:14px}.attendance-calendar-grid button:hover{background:var(--surface-2)}.attendance-calendar-grid button.outside{color:#a7afb6}.attendance-calendar-grid button.today{box-shadow:inset 0 0 0 1px var(--green);color:var(--green);font-weight:700}.attendance-calendar-grid button.selected{background:var(--green);color:white}.attendance-calendar-grid button.selected .attendance-dot{border-color:var(--green)}.attendance-dot{width:7px;height:7px;border-radius:50%;display:inline-block;background:var(--muted);border:1px solid var(--surface)}.attendance-calendar-grid .attendance-dot{position:absolute;right:5px;top:5px}.attendance-dot.normal{background:var(--green)}.attendance-dot.early,.attendance-dot.late{background:var(--amber)}.attendance-dot.absent,.attendance-dot.missing-punch{background:var(--red)}.attendance-dot.working{background:var(--blue)}.attendance-dot.pending{background:var(--muted)}.attendance-calendar-legend{border-top:1px solid var(--line);padding:9px 12px;display:flex;flex-wrap:wrap;gap:8px 13px;color:var(--muted);font-size:12px}.attendance-calendar-legend span{display:inline-flex;align-items:center;gap:5px}.attendance-rules{padding:12px 14px;border-left:4px solid var(--amber);background:var(--amber-soft);border-radius:6px;display:grid;grid-gap:5px;gap:5px}.attendance-rules span{color:var(--muted);line-height:1.45}.attendance-shift-card{padding:14px;display:grid;grid-gap:12px;gap:12px}.attendance-shift-card>header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.attendance-shift-card>header>div{min-width:0;display:grid;grid-gap:5px;gap:5px}.attendance-shift-card>header>div>span{color:var(--muted)}.attendance-shift-card>header strong{font-size:18px}.attendance-shift-status{flex:0 0 auto;padding:4px 8px;border-radius:5px;font-size:12px;color:var(--muted);background:var(--surface-2)}.attendance-shift-status.normal{color:var(--green);background:var(--green-soft)}.attendance-shift-status.working{color:var(--blue);background:var(--blue-soft)}.attendance-shift-status.early,.attendance-shift-status.late{color:var(--amber);background:var(--amber-soft)}.attendance-shift-status.absent,.attendance-shift-status.missing-punch{color:var(--red);background:var(--red-soft)}.attendance-shift-meta{display:grid;grid-gap:7px;gap:7px;color:var(--muted)}.attendance-shift-meta span{display:flex;align-items:center;gap:7px}.attendance-shift-meta svg{color:var(--green);flex:0 0 auto}.attendance-empty-day,.attendance-shift-detail{margin:0;color:var(--muted);line-height:1.5}.attendance-leave-button{justify-self:center;min-width:120px}.attendance-mode-note{margin-top:12px;padding:10px 12px;border:1px solid #c9d4df;border-radius:6px;background:var(--blue-soft);color:var(--blue);line-height:1.5}.attendance-photo-thumb{display:inline-flex;align-items:center;gap:8px;color:var(--green)}.attendance-photo-thumb img{width:52px;height:52px;border-radius:6px;border:1px solid var(--line);object-fit:cover;display:block}.attendance-alert-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;color:var(--muted);line-height:1.5}.attendance-month-picker{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:13px}.attendance-month-picker select{min-width:112px}.attendance-result-card{border:1px solid var(--line);border-left:4px solid var(--green);border-radius:6px;background:var(--surface);padding:12px 14px;display:grid;grid-gap:4px;gap:4px}.attendance-result-card small,.attendance-result-card span{color:var(--muted)}.attendance-result-card strong{font-size:20px}.success-text{color:var(--green)}.danger-text{color:var(--danger)}.employee-metrics{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line);border-radius:7px}.employee-metrics>div{min-height:88px;display:grid;place-items:center;align-content:center;grid-gap:5px;gap:5px;border-right:1px solid var(--line)}.employee-metrics>div:last-child{border-right:0}.employee-metrics span,.employee-metrics svg{color:var(--muted)}.mobile-card{border:1px solid var(--line);border-radius:7px;padding:13px;margin-bottom:10px}.mobile-card p{color:var(--muted);line-height:1.55;margin:10px 0}.photo-progress{display:grid;grid-template-columns:auto 1fr;align-items:center;grid-gap:7px;gap:7px;color:var(--muted);margin:12px 0}.photo-progress>div{grid-column:1/-1;height:5px;background:var(--surface-2);border-radius:5px;overflow:hidden}.photo-progress i{display:block;height:100%;background:var(--green)}.stack-actions{display:grid;grid-template-columns:1fr 1fr;grid-gap:8px;gap:8px}.stack-actions .action-wrap,.stack-actions .button{width:100%}@media (max-width:420px){.stack-actions{grid-template-columns:1fr}}.employee-nav{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:min(100%,520px);height:68px;border-top:1px solid var(--line);background:var(--surface);display:grid;grid-auto-flow:column;grid-auto-columns:1fr;z-index:10}.employee-nav button{position:relative;border:0;background:transparent;color:var(--muted);display:grid;place-items:center;align-content:center;grid-gap:4px;gap:4px}.employee-nav button.active{color:var(--green)}.nav-dot{position:absolute;top:9px;left:calc(50% + 8px);width:8px;height:8px;border-radius:50%;background:var(--red);box-shadow:0 0 0 2px var(--surface)}.request-grid{display:grid;grid-gap:12px;gap:12px}.request-form{border:1px solid var(--line);border-radius:7px;padding:13px;display:grid;grid-gap:11px;gap:11px}.request-form>header{display:flex;align-items:center;gap:9px;color:var(--green)}.request-form>header>div{display:grid;grid-gap:2px;gap:2px}.request-form>header span{color:var(--muted);font-size:12px}.decision-box label,.request-form label{display:grid;grid-gap:6px;gap:6px;color:var(--muted);font-size:13px}.decision-box input,.request-form input,.request-form select,.request-form textarea{width:100%;border:1px solid var(--line);border-radius:6px;padding:9px 10px;background:var(--surface);color:var(--text)}.request-form-row{display:grid;grid-template-columns:1fr 1fr;grid-gap:8px;gap:8px}.request-card .action-wrap{margin-top:9px}.change-request-list{display:grid;grid-gap:12px;gap:12px}.change-request-card.urgent{border-color:#e8a6a0}.change-request-card>header>div:first-child{display:grid;grid-gap:4px;gap:4px}.change-request-card>header span{color:var(--muted);font-size:12px}.request-badges{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}.change-request-body{padding:14px}.request-details{margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:10px;gap:10px}.request-details>div{border:1px solid var(--line);border-radius:6px;padding:9px;display:grid;grid-gap:5px;gap:5px}.request-details dt{color:var(--muted);font-size:12px}.request-details dd{margin:0;overflow-wrap:anywhere}.coverage-warning{margin-top:12px;border:1px solid #e8a6a0;background:var(--red-soft);color:var(--red);border-radius:6px;padding:10px;display:flex;align-items:flex-start;gap:8px}.coverage-warning>div{display:grid;grid-gap:4px;gap:4px}.decision-box{margin-top:12px;border-top:1px solid var(--line);padding-top:12px;display:grid;grid-gap:9px;gap:9px}.manager-decision-note{margin:10px 0 0;color:var(--muted)}.reminder-copy{margin-top:10px}@media (max-width:900px){.metrics{grid-template-columns:repeat(2,1fr)}.task-grid,.two-columns,.weekly-review-grid{grid-template-columns:1fr}.app-layout{grid-template-columns:64px minmax(0,1fr)}.sidebar{padding:12px 7px}.sidebar button span,.sidebar-store{display:none}.sidebar button{justify-content:center}}@media (max-width:680px){.login-page{display:block}.login-panel{min-height:100vh;padding:28px 20px}.login-context{display:none}.topbar{padding:0 9px}.topbar .top-brand strong,.user-chip{display:none}.top-actions select{max-width:190px}.workspace{padding:14px 10px}.task-view-toolbar{align-items:stretch;flex-direction:column}.task-view-toolbar .segmented-control{width:100%}.task-view-toolbar .segmented-control button{flex:1 1;justify-content:center}.page-head{flex-direction:column;align-items:stretch}.publish-actions{width:100%;flex-direction:column}.publish-actions input{width:100%}.metrics,.summary-list{grid-template-columns:1fr 1fr}.summary-list>div:nth-child(2){border-right:0}.summary-list>div{border-bottom:1px solid var(--line)}.summary-list>div:nth-last-child(-n+2){border-bottom:0}.row-actions{flex-direction:column}.confirmation-summary{grid-template-columns:1fr 1fr}.confirmation-summary>div:nth-child(2){border-right:0}.confirmation-summary>div:nth-child(-n+2){border-bottom:1px solid var(--line)}.review-scope-control{flex-direction:column}.availability-form{grid-template-columns:1fr}.availability-form button,.availability-form>span{grid-column:1}.schedule-editor-row{grid-template-columns:1fr 1fr}.schedule-editor-row:first-child{grid-template-columns:1fr}.schedule-editor-row label:first-child{grid-column:1/-1}.request-details{grid-template-columns:1fr}}@media (max-width:380px){.metrics{grid-template-columns:1fr}.demo-accounts>div{align-items:flex-start;flex-direction:column}}.procurement-view{gap:14px}.procurement-manager-area-head,.procurement-report-title,.section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.procurement-manager-area-head strong,.procurement-report-title strong{display:block;font-size:17px}.procurement-manager-area-head span,.procurement-report-title span{display:block;margin-top:4px;color:var(--muted,#6b7280);font-size:13px}.procurement-submit-form{display:grid;grid-template-columns:minmax(130px,.8fr) minmax(180px,1.4fr) auto;align-items:end;grid-gap:10px;gap:10px;margin-top:14px}.procurement-responsibility-form,.procurement-submit-form label{display:grid;grid-gap:5px;gap:5px;font-size:13px;color:var(--muted,#6b7280)}.manager-procurement-item select,.procurement-item-edit input,.procurement-item-edit select,.procurement-responsibility-form select,.procurement-submit-form input,.procurement-submit-form select{min-height:38px;border:1px solid #d6ded9;border-radius:8px;padding:0 10px;background:#fff;color:#17211d}.procurement-area-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:10px;gap:10px;margin-top:14px}.procurement-area-card,.procurement-manager-area{border:1px solid #dce5df;border-radius:8px;padding:12px;background:#fbfdfb}.procurement-area-card header{display:flex;justify-content:space-between;gap:8px;align-items:flex-start}.procurement-area-card header span{color:var(--muted,#6b7280);font-size:12px;text-align:right}.procurement-items{display:grid;grid-gap:8px;gap:8px;margin-top:10px}.procurement-item{display:flex;align-items:center;justify-content:space-between;gap:8px;border-top:1px solid #e8eeea;padding-top:8px}.procurement-item small,.procurement-item strong{display:block}.procurement-item small{color:var(--muted,#6b7280);font-size:12px;margin-top:3px}.procurement-item-edit{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.procurement-item-edit input{flex:1 1 130px}.procurement-reminder{margin:8px 0;color:#a16207;font-size:12px}.procurement-manager-list{display:grid;grid-gap:14px;gap:14px}.procurement-manager-add{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:12px;padding:10px;background:#f6faf7;border:1px dashed #c9d9ce;border-radius:8px}.procurement-manager-add input,.procurement-manager-add select{min-height:36px;border:1px solid #d6ded9;border-radius:8px;padding:0 10px;background:#fff}.procurement-manager-add input{min-width:220px;flex:1 1}.procurement-manager-areas{display:grid;grid-gap:10px;gap:10px;margin-top:12px}.procurement-manager-area-head{align-items:center}.procurement-responsibility-form{display:flex;flex-wrap:wrap;align-items:center;margin-top:10px}.procurement-responsibility-form select{min-width:220px}.manager-procurement-item{padding:9px 0 0}.manager-procurement-item select{min-height:32px;font-size:12px}.compact-empty{padding:10px;font-size:13px}@media (max-width:760px){.procurement-submit-form{grid-template-columns:1fr 1fr}.procurement-submit-form button{grid-column:1/-1}.procurement-area-grid{grid-template-columns:1fr}}