:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#1d302d;background:#f5f7f6;font-synthesis:none;text-rendering:optimizeLegibility;font-size:14px;--accent:#11665b;--accent-dark:#0b4e45;--line:#e1e8e5;--muted:#6c7e78;--surface:#fff}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}button{border:0}a{color:var(--accent)}a,button{touch-action:manipulation}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #90c6bd;outline-offset:3px}h1,h2,h3,p{margin-top:0}h1{font-size:32px;font-weight:650;letter-spacing:-1.3px;line-height:1.15;margin-bottom:12px}h2{font-size:19px;letter-spacing:-.45px;font-weight:650;margin-bottom:12px}h3{font-size:16px;margin-bottom:8px}p{line-height:1.6}small{font-size:12px}label{font-weight:550;display:flex;flex-direction:column;gap:9px}label small{font-weight:400;color:var(--muted);line-height:1.5}input,select,textarea{background:#fff;border:1px solid #d5dfda;border-radius:7px;padding:11px 12px;color:#243b35;min-width:0;max-width:100%;transition:border-color .15s,box-shadow .15s}input::placeholder{color:#9caaa5}input:focus,select:focus,textarea:focus{border-color:#3c8c7b;outline:0;box-shadow:0 0 0 3px #11665b12}input[type=checkbox]{accent-color:var(--accent);width:17px;height:17px;flex-shrink:0}textarea{resize:vertical}select[multiple]{min-height:96px}.muted{color:var(--muted)}.small-text{font-size:12px}.grow{flex:1;min-width:0}.eyebrow{font-size:10px;font-weight:700;letter-spacing:1.8px;color:var(--muted);margin-bottom:13px}.button{background:var(--accent);color:#fff;display:inline-flex;align-items:center;justify-content:center;gap:9px;border-radius:7px;min-height:42px;padding:11px 17px;font-weight:600;font-size:13px;white-space:nowrap;transition:background .15s,transform .15s;text-decoration:none}.button:hover:not(:disabled){background:var(--accent-dark)}.button:active:not(:disabled){transform:translateY(1px)}.button.secondary{background:#fff;color:#38584e;border:1px solid #d5dfda}.button.secondary:hover:not(:disabled){background:#f0f5f2}.button.small{padding:8px 12px;min-height:34px;font-size:12px}.button.danger{background:#b24b41}.danger-text{color:#ac4c40!important}.icon-button{display:inline-flex;justify-content:center;align-items:center;width:36px;height:36px;color:#627970;background:transparent;border-radius:6px;flex-shrink:0}.icon-button:hover{background:#edf2ef}.text-button{background:none;padding:5px 0;display:inline-flex;align-items:center;gap:7px;color:var(--accent);font-size:12px;font-weight:600;line-height:1.5;text-decoration:none}.text-button:hover{text-decoration:underline}.brand-mark{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:11px;background:var(--accent);color:#fff;font-size:27px;font-weight:700;letter-spacing:-3px;flex-shrink:0;padding-right:4px}.brand-mark span{font-size:20px;color:#9dd5c4;margin-top:15px}.brand{display:flex;align-items:center;gap:12px;font-size:12px;font-weight:650;letter-spacing:1.3px}.brand-button{background:none;padding:0;color:#233b33;text-align:left;width:100%}.brand-button strong{display:block;font-size:21px;letter-spacing:-.7px}.brand-button small{display:block;font-size:8px;letter-spacing:1.4px;color:#84968e;margin-top:4px}.boot{display:flex;align-items:center;justify-content:center;gap:18px;min-height:100vh}.boot p{margin:0;color:var(--muted)}.spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.auth-layout{display:grid;grid-template-columns:1fr 1fr;min-height:100svh}.auth-story{padding:54px 60px 36px;background:#123e36;color:#fff;display:flex;flex-direction:column;justify-content:space-between;min-height:100svh;position:relative;overflow:hidden}.auth-story:after{content:"";position:absolute;width:450px;height:450px;bottom:50px;right:-280px;border:1px solid #477466;border-radius:50%;box-shadow:0 0 0 70px #fff03;pointer-events:none}.auth-story .brand-mark{background:#f2f9f4;color:#123e36}.auth-story .brand-mark span{color:#6eaa8d}.auth-story .eyebrow{color:#90bbae;font-size:11px}.auth-story h1{font-size:clamp(36px,4.5vw,66px);letter-spacing:-2.8px;line-height:1.12;font-weight:500;margin:24px 0}.auth-story p{color:#afc8bf;font-size:16px}.auth-story-footer{display:flex;justify-content:space-between;font-size:10px;color:#91b5a7;border-top:1px solid #385b4f;padding-top:24px}.auth-main{display:grid;place-items:center;background:#fcfdfc;padding:40px}.auth-box{width:100%;max-width:360px}.auth-box h2{font-size:29px;letter-spacing:-1px;margin-bottom:9px}.auth-box>.muted{font-size:13px;margin-bottom:28px}.auth-tabs{display:flex;border-bottom:1px solid var(--line);margin-bottom:27px}.auth-tabs button{background:none;color:#7a8e83;padding:0 20px 13px;border-bottom:2px solid transparent;margin-bottom:-1px;font-weight:600;font-size:12px}.auth-tabs button:first-child{padding-left:0;padding-right:30px}.auth-tabs button.active{color:var(--accent);border-color:var(--accent)}.auth-box form{display:flex;flex-direction:column;gap:20px}.auth-submit{margin-top:4px;justify-content:space-between;min-height:48px}.auth-box input{padding:13px;font-size:14px}.auth-help{font-size:11px;color:#83948b;margin:25px 0 0;line-height:1.8}.mobile-brand{display:none}.install-help{margin-top:25px;font-size:12px;color:var(--muted);line-height:1.7}.install-help summary{cursor:pointer;color:#57786a}.install-help p{padding-top:12px}.error-banner,.success-banner{font-size:12px;padding:12px 14px;border-radius:6px;line-height:1.65;margin:14px 0}.error-banner{background:#fff0ec;color:#a33d32;border:1px solid #f1d7d0}.success-banner{background:#e8f5ef;color:#217552;border:1px solid #c6e2d3}.app-layout{display:flex;min-height:100vh}.sidebar{width:234px;flex-shrink:0;background:#fff;border-right:1px solid var(--line);padding:30px 22px 20px;display:flex;flex-direction:column;position:fixed;inset:0 auto 0 0;z-index:30}.nav-label{font-size:8px;color:#99a89f;letter-spacing:1.8px;font-weight:700;margin:43px 12px 15px}.sidebar nav{display:flex;flex-direction:column;gap:5px}.sidebar nav button{display:flex;align-items:center;gap:12px;background:none;color:#698074;min-height:43px;padding:11px 12px;font-size:12px;text-align:left;border-radius:7px;transition:background .15s,color .15s}.sidebar nav button:hover{background:#f5f8f6}.sidebar nav button.active{background:#eaf3ee;color:var(--accent);font-weight:650}.nav-count{font-size:10px;background:#d0e7da;color:#16674c;border-radius:4px;padding:2px 6px;margin-left:auto}.sidebar-bottom{margin-top:auto;border-top:1px solid var(--line);padding-top:18px}.profile-button{display:flex;align-items:center;gap:10px;background:none;width:100%;text-align:left;padding:0}.profile-button strong{display:block;font-size:12px}.profile-button small{display:block;color:#9caba2;font-size:10px;margin-top:3px}.avatar{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;background:#e9eeeb;color:#54715e;font-size:12px;font-weight:600;flex-shrink:0}.logout{display:flex;align-items:center;gap:12px;background:none;color:#92a098;font-size:11px;padding:16px 8px 0}.workspace{flex:1;margin-left:234px;min-width:0;display:flex;flex-direction:column;min-height:100vh}.topbar{height:68px;display:flex;align-items:center;justify-content:space-between;padding:0 38px;border-bottom:1px solid var(--line);background:#ffffffb8}.breadcrumb{font-size:11px;display:flex;align-items:center;gap:14px;color:#82948a}.breadcrumb strong{font-weight:500;color:#385748}.breadcrumb-separator{color:#cad4ce}.topbar-actions{display:flex;align-items:center;gap:10px}.online-label{display:flex;align-items:center;gap:6px;font-size:10px;color:#6d8878;margin-right:9px}.online-label i{height:5px;width:5px;background:#4c9670;border-radius:50%}.online-label.offline{color:#b06746}.online-label.offline i{background:#bc724b}.notification-button{position:relative}.notification-dot{position:absolute;width:6px;height:6px;background:#c17b41;border-radius:50%;top:7px;right:9px;border:1px solid white}.page-content{padding:38px 38px 24px;flex:1;max-width:1680px;width:100%;margin:0 auto}.page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:31px}.page-header .muted{font-size:12px;margin:0}.page-header .eyebrow{margin-bottom:11px}.header-actions{display:flex;gap:10px;margin-top:24px}.workspace-footer{display:flex;justify-content:space-between;border-top:1px solid var(--line);margin:24px 38px 0;padding:18px 0;color:#a1aea6;font-size:9px;letter-spacing:.8px}.kpi-strip{display:grid;grid-template-columns:repeat(6,1fr);margin-bottom:28px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:24px 0}.kpi-strip>div{display:flex;flex-direction:column;padding:0 20px;border-right:1px solid var(--line)}.kpi-strip>div:first-child{padding-left:0}.kpi-strip>div:last-child{border:0;padding-right:0}.kpi-strip span{font-size:11px;color:#627d6d;margin-bottom:10px}.kpi-strip strong{font-size:35px;line-height:1;font-weight:550;letter-spacing:-1.5px;margin-bottom:12px}.kpi-strip small{font-size:9px;color:#93a299;white-space:nowrap}.attention-strip{display:flex;align-items:center;gap:24px;background:#eef3ef;border-radius:7px;padding:16px 20px;font-size:11px;color:#67816f;margin-bottom:32px;flex-wrap:wrap}.attention-strip>span{display:flex;align-items:center;gap:7px}.attention-strip strong{color:#2a5d3e}.attention-strip>.text-button{margin-left:auto}.section-block{margin-bottom:36px}.section-block>h2{margin-bottom:20px}.section-title{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:19px}.section-title h2{margin:0}.section-title p{font-size:11px;color:#97a59d;margin:7px 0 0}.section-title select{font-size:11px;padding:9px 11px}.table-scroll{overflow-x:auto;border-top:1px solid var(--line);background:#fff;border-bottom:1px solid var(--line);border-radius:2px}table{border-collapse:collapse;width:100%;text-align:left;font-size:12px}th{font-weight:550;font-size:10px;color:#83998b;white-space:nowrap;padding:15px 17px;background:#fafcfb;border-bottom:1px solid var(--line)}td{padding:17px;white-space:nowrap;border-bottom:1px solid #edf1ee;color:#48614f}tbody tr:last-child td{border-bottom:0}td strong{font-weight:600;color:#324e3d}td small{display:block;color:#9aa99f;font-size:10px;margin-top:5px}.clickable{cursor:pointer}.clickable:hover td{background:#f8fbf9}.warning-text{color:#b57335!important}.badge{display:inline-flex;align-items:center;gap:5px;font-size:9px;font-weight:600;line-height:1;padding:6px 8px;border-radius:4px;background:#edf1ee;color:#829588;white-space:nowrap}.badge:before{content:"";width:4px;height:4px;border-radius:50%;background:currentColor}.badge.active,.badge.approved,.badge.present,.badge.completed{background:#eaf4ed;color:#467e56}.badge.pending,.badge.scheduled,.badge.on_break,.badge.late,.badge.early_out{background:#fcf2e6;color:#aa8145}.badge.disabled,.badge.rejected,.badge.missing_in,.badge.missing_out,.badge.overtime_review_required{background:#faeeeb;color:#b07361}.badges{display:flex;flex-wrap:wrap;gap:5px}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:65px 25px;gap:10px;color:#809789}.empty-state h3{color:#426049;margin:5px 0;font-size:16px}.empty-state p{font-size:12px;max-width:400px;margin:0 0 10px}.empty-state.compact{padding:30px;font-size:12px}.row-actions{display:flex;gap:14px;align-items:center;flex-wrap:wrap}.toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:22px}.toolbar select{font-size:12px}.segmented{display:flex;border:1px solid #d7e1da;border-radius:7px;background:#edf2ee;padding:3px}.segmented button{background:none;padding:8px 13px;font-size:11px;color:#87978a;border-radius:4px}.segmented button.active{background:#fff;color:#42634d;box-shadow:0 1px 2px #0000000b}.period-selector{display:flex;align-items:center;gap:4px}.period-selector input{font-size:12px;padding:8px 10px}.calendar-caption{display:flex;align-items:center;justify-content:space-between;font-size:11px;margin-bottom:16px}.calendar-caption strong{font-weight:550;color:#51705a}.calendar-caption .muted{font-size:10px}.calendar-scroll{overflow:auto;border:1px solid var(--line);border-radius:7px;background:#fff}.calendar-table{table-layout:fixed;min-width:1000px}.calendar-table .employee-col{width:165px;background:#fafcfb;position:sticky;left:0;z-index:2;font-size:11px}.calendar-table thead th{text-align:center;font-size:10px;text-transform:capitalize;padding:15px 5px}.calendar-table td{height:118px;vertical-align:top;border-left:1px solid #edf1ed;padding:9px 6px;white-space:normal;position:relative}.calendar-table th.today,.calendar-table td.today{background:#f2f7f3}.calendar-table tbody th{border-bottom:1px solid var(--line);color:#56755d}.shift-chip{display:block;width:100%;text-align:left;border-left:3px solid #7bb79a;padding:9px 7px;background:#edf5ee;border-radius:4px;color:#4d7556;margin-bottom:5px;cursor:grab;font-size:10px;line-height:1.6}.shift-chip:hover{background:#dfeddf}.shift-chip strong{display:block;font-size:10px;font-weight:600}.shift-chip span{display:block;font-size:9px;color:#809f84;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.shift-chip.arrived{border-left-color:#365f3c;background:#e0eae0;cursor:pointer}.add-shift{display:flex;align-items:center;justify-content:center;background:none;color:#c5d1c7;min-height:30px;width:100%;opacity:0;transition:opacity .15s}.calendar-table td:hover .add-shift,.add-shift:focus-visible{opacity:1}.month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border-top:1px solid var(--line);border-left:1px solid var(--line)}.month-day{min-height:150px;max-height:300px;overflow:auto;border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:10px;background:#fff}.month-day.today{background:#f0f7f0}.month-day header{display:flex;align-items:center;justify-content:space-between;font-size:10px;color:#718d73;margin-bottom:7px;text-transform:capitalize}.search-input{position:relative;flex-direction:row;align-items:center;gap:9px;background:#fff;border:1px solid #d5dfda;border-radius:7px;padding:0 12px;color:#9caf9e}.search-input input{border:0;box-shadow:none!important;padding:11px 0;font-size:12px}.approval-list{border-top:1px solid var(--line)}.approval-row{display:flex;align-items:center;gap:15px;padding:20px 0;border-bottom:1px solid var(--line)}.approval-row strong{font-size:13px}.approval-row small{display:block;color:#93a596;font-size:10px;margin-top:4px}.employee-list{display:flex;flex-direction:column;gap:20px}.employee-record{background:#fff;border:1px solid var(--line);border-radius:8px;overflow:hidden}.employee-record header{display:flex;align-items:center;gap:14px;padding:20px 24px;border-bottom:1px solid var(--line)}.employee-record h2{font-size:16px;margin-bottom:6px}.employee-record header p{font-size:11px;color:#8ca18f;margin:0}.employee-details{display:grid;grid-template-columns:1fr 1fr;gap:30px;padding:24px}.detail-label{display:block;font-size:9px;letter-spacing:1.4px;color:#9bada0;margin-bottom:17px}.contract-line{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:8px;font-size:11px}.contract-line strong{font-size:12px}.contract-line span{color:#94a698}.contract-line .text-button{font-size:10px}.employee-record footer{background:#fafcfb;border-top:1px solid var(--line);display:flex;gap:24px;padding:11px 24px}.balance-number{font-size:22px;display:block;font-weight:550;letter-spacing:-.5px;margin-bottom:6px}.balance-number small{font-size:10px;font-weight:400;color:#9caf9f}.internal-note{padding:10px 12px;border-left:2px solid #cfdbcd;background:#f6f8f5;color:#7e957f;font-size:11px;margin:12px 0 0;white-space:pre-wrap}.stores-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.store-record{background:#fff;border:1px solid var(--line);padding:25px;border-radius:8px}.store-record header{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.store-code{font-size:9px;font-weight:600;letter-spacing:1.5px;color:#94a991}.store-record h2{font-size:23px;letter-spacing:-.7px;margin-bottom:10px}.store-record p{font-size:12px;color:#8aa084;margin-bottom:5px}.store-record>small{color:#a5b59f;font-size:10px}.store-hours-preview{margin-top:23px;padding-top:14px;border-top:1px solid var(--line)}.store-hours-preview>div{display:flex;gap:20px;justify-content:space-between;font-size:10px;margin-bottom:9px;color:#8a9f81}.store-hours-preview strong{font-weight:500}.store-record footer{display:flex;gap:10px;margin-top:22px}.request-record{padding:21px 0;border-top:1px solid var(--line)}.request-record header{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;margin-bottom:10px}.request-record strong{font-size:13px}.request-record header span{font-size:12px;color:#829c79}.request-record small{display:block;color:#9aad92;font-size:10px;margin-top:7px}.request-record p{font-size:12px;color:#7c9872;white-space:pre-wrap;margin:0 0 13px}.request-record .internal-note{color:#879c7a}.upload-link{font-size:11px;color:var(--accent);cursor:pointer;font-weight:550;display:inline-flex}.report-filters{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap;padding:20px;background:#eef3ed;border-radius:8px;margin-bottom:24px}.report-filters label{font-size:10px;min-width:130px;flex:1}.report-filters input,.report-filters select{padding:9px;font-size:11px;max-width:190px}.report-filters .button{min-height:36px;font-size:11px}.report-summary{display:grid;grid-template-columns:repeat(4,1fr);padding:15px 0 30px;gap:30px}.report-summary>div{border-right:1px solid var(--line)}.report-summary>div:last-child{border:0}.report-summary span{display:block;font-size:11px;color:#8ba080;margin-bottom:12px}.report-summary strong{font-size:26px;font-weight:550;letter-spacing:-1px}.report-summary small{font-size:12px;color:#9eb294}.pagination{display:flex;align-items:center;justify-content:flex-end;gap:20px;margin-top:20px;color:#8ca181;font-size:11px}code{font:10px ui-monospace,SFMono-Regular,Consolas,monospace;color:#819974}pre{white-space:pre-wrap;max-width:400px;font-size:10px;line-height:1.6;color:#789168}details summary{cursor:pointer;font-size:11px;color:#678554}.settings-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px;margin-bottom:35px}.settings-form section{display:flex;flex-direction:column;gap:17px}.settings-form h2{padding-bottom:17px;border-bottom:1px solid var(--line);margin-bottom:0}.settings-form label{font-size:11px}.settings-form input,.settings-form select{font-size:12px}.settings-form footer{grid-column:1/-1;border-top:1px solid var(--line);padding-top:23px}.inline-check{display:flex;flex-direction:row;align-items:center;gap:9px;font-size:11px;color:#7a9569;line-height:1.5}.type-list>div{display:flex;align-items:center;gap:25px;padding:13px 0;border-bottom:1px solid var(--line);font-size:12px}.type-list strong{min-width:180px;font-weight:550}.type-list span{color:#94ab83;font-size:11px}.type-list .text-button{margin-left:auto}.security-panel{max-width:700px}.security-panel>h2:not(:first-child){margin-top:35px}.security-panel>.button,.security-panel>.badge{margin-right:14px}.two-factor-key{margin-top:25px;padding:20px;background:#eef5e9}.two-factor-key code{display:block;font-size:16px;overflow-wrap:anywhere;margin-bottom:18px}.employee-layout .page-content{max-width:920px}.today-shift{max-width:650px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:28px;margin-bottom:28px}.today-shift header{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}.today-shift .eyebrow{color:#688750;margin:0}.today-shift>.muted{font-size:12px}.shift-time{font-size:45px;letter-spacing:-2px;font-weight:500;display:flex;align-items:center;gap:20px;margin:10px 0 8px;font-variant-numeric:tabular-nums}.shift-time span{color:#b8c8ac;font-size:25px}.shift-note{font-size:12px;padding:13px;background:#f4f7ef;border-left:2px solid #abc591;border-radius:2px;color:#76925e}.punch-pair{display:grid;grid-template-columns:1fr 1fr;margin:28px 0 22px;border-top:1px solid var(--line);padding-top:19px}.punch-pair>div{display:flex;flex-direction:column;gap:7px}.punch-pair span{font-size:10px;color:#97ac80}.punch-pair strong{font-size:21px;font-weight:500;letter-spacing:-.5px}.punch-button{width:100%;min-height:58px;justify-content:center;font-size:13px;letter-spacing:.3px;border-radius:8px}.punch-button svg:last-child{margin-left:auto}.punch-button svg:first-child{margin-right:auto}.shift-secondary{display:flex;justify-content:space-between;gap:10px;margin-top:15px}.punch-hint{font-size:10px;line-height:1.8;color:#9eb58a;display:block;margin-top:16px}.today-shift .badges{margin-top:15px}.next-shift{display:flex;align-items:center;gap:18px;padding:20px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);color:#7c9962;max-width:650px}.next-shift div{flex:1}.next-shift strong{font-size:12px;font-weight:550;color:#537432}.next-shift small{display:block;font-size:10px;margin-top:6px;color:#9ab382}.no-shift{padding:30px 0 50px;color:#9ab581}.no-shift h2{margin-top:20px;color:#547738}.no-shift p{font-size:13px;color:#8ba673}.personal-history{display:flex;flex-direction:column;gap:16px;max-width:740px}.history-record{padding:22px;background:#fff;border:1px solid var(--line);border-radius:9px}.history-record header{display:flex;align-items:center;gap:16px}.history-record header strong{font-size:13px;font-weight:550}.history-record header small{display:block;margin-top:7px;color:#97b180;font-size:11px}.date-tile{display:flex;flex-direction:column;align-items:center;justify-content:center;width:45px;height:50px;border-right:1px solid var(--line);padding-right:14px;color:#567c36;flex-shrink:0}.date-tile strong{font-size:23px!important;line-height:1.1}.date-tile span{font-size:9px;text-transform:uppercase;margin-top:5px;color:#9ab580}.history-punches{display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin-top:19px;border-top:1px solid var(--line);padding-top:15px;font-size:11px;color:#9ab582}.history-punches strong{font-size:13px;margin-left:5px;color:#648d39;font-weight:500}.history-punches .text-button{font-size:10px;margin-left:auto}.history-record>.muted{font-size:11px;margin:16px 0 0}.history-record .badges{margin-top:12px}.mobile-bottom-nav,.mobile-menu{display:none}.offline-banner{display:flex;align-items:center;justify-content:center;gap:12px;padding:14px;background:#fff1df;color:#a4793d;font-size:12px}.notification-panel{position:fixed;z-index:40;right:27px;top:62px;width:380px;max-height:70vh;overflow:auto;background:#fff;box-shadow:0 12px 50px #14241520;border:1px solid var(--line);border-radius:9px}.notification-panel header{display:flex;align-items:center;justify-content:space-between;padding:18px;border-bottom:1px solid var(--line)}.notification-panel h3{margin:0;font-size:14px}.notification-item{padding:17px 20px;border-bottom:1px solid #edf2e7}.notification-item.unread{background:#f6faef}.notification-item strong{font-size:12px;color:#6b9246}.notification-item p{font-size:11px;color:#94b36e;margin:6px 0}.notification-item small{font-size:9px;color:#a7bf87}.modal-backdrop{position:fixed;inset:0;z-index:60;background:#10211880;display:flex;align-items:center;justify-content:center;padding:22px;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.modal{width:100%;max-width:610px;max-height:90svh;overflow:auto;background:#fff;border-radius:12px;box-shadow:0 20px 80px #0002;padding:26px}.modal header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:25px}.modal header h2{font-size:21px;margin-bottom:7px}.modal header p{font-size:12px;color:#8aa16f;margin:0;max-width:450px}.modal footer{display:flex;align-items:center;justify-content:flex-end;gap:12px;border-top:1px solid var(--line);padding-top:20px;margin-top:24px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:19px}.form-grid label{font-size:12px}.form-grid .wide{grid-column:1/-1}.form-grid .check-label{flex-direction:row-reverse;justify-content:flex-end;align-items:center;gap:10px}.form-grid .check-label span{font-weight:400;color:#7a9859}.hours-modal{max-width:720px}.hours-day{display:flex;align-items:flex-start;gap:13px;border-bottom:1px solid var(--line);padding:18px 0;flex-wrap:wrap}.hours-day>div:first-child{min-width:95px;display:flex;flex-direction:column;gap:6px;font-size:12px}.hours-day .muted{font-size:10px}.hours-slot{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.hours-slot input[type=time]{font-size:12px;padding:7px;width:100px}.hours-slot .inline-check{font-size:9px;max-width:85px}.hours-day>.icon-button{margin-left:auto}.camera-preview{aspect-ratio:4/3;background:#edf2e7;border-radius:9px;overflow:hidden;display:grid;place-items:center;color:#97b178}.camera-preview img,.camera-preview video{width:100%;height:100%;object-fit:contain}.camera-preview>div{display:flex;flex-direction:column;align-items:center;gap:20px;padding:25px;text-align:center}.camera-preview p{font-size:12px;margin:0}.camera-actions{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0}.camera-modal .small-text{font-size:11px}.detail-punches{display:flex;flex-direction:column;gap:9px;padding:16px;background:#f1f6e8;color:#81a154;font-size:12px;margin-bottom:25px}.event-row{display:flex;align-items:center;justify-content:space-between;gap:15px;border-bottom:1px solid var(--line);padding:15px 0;font-size:12px}.event-row strong{font-weight:500}.modal .badges{margin-top:20px}.ledger-modal{max-width:800px}.ledger-total{display:flex;align-items:baseline;gap:12px;margin-bottom:20px}.ledger-total strong{font-size:36px;letter-spacing:-1px;font-weight:550}.ledger-total span{font-size:11px;color:#97b378}.ledger-total .button{margin-left:auto}.toast{position:fixed;z-index:100;bottom:24px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:12px;background:#174e30;color:#f3fbea;padding:15px 18px;border-radius:8px;box-shadow:0 6px 28px #0012;font-size:12px;max-width:90vw}.toast.error{background:#94422e}.toast .icon-button{color:inherit;width:24px;height:24px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skeleton-list{display:flex;flex-direction:column;gap:16px;margin-bottom:25px}.skeleton{height:54px;background:linear-gradient(90deg,#ebf0e6,#f6f9f2,#ebf0e6);background-size:200% 100%;border-radius:5px;animation:skeleton 1.5s infinite}@keyframes skeleton{to{background-position:-200% 0}}.modal-enter-active,.modal-leave-active,.fade-enter-active,.fade-leave-active{transition:opacity .18s}.modal-enter-active .modal,.modal-leave-active .modal{transition:transform .18s}.modal-enter-from,.modal-leave-to,.fade-enter-from,.fade-leave-to{opacity:0}.modal-enter-from .modal,.modal-leave-to .modal{transform:translateY(15px)}.toast-enter-active,.toast-leave-active{transition:opacity .2s,bottom .2s}.toast-enter-from,.toast-leave-to{opacity:0;bottom:10px}@media(min-width:1500px){.page-content{padding:44px 55px}.topbar{padding:0 55px}.workspace-footer{margin-left:55px;margin-right:55px}}@media(max-width:1200px){.sidebar{width:205px;padding:25px 16px}.workspace{margin-left:205px}.page-content{padding:30px 25px}.topbar{padding:0 25px}.workspace-footer{margin-left:25px;margin-right:25px}.kpi-strip>div{padding:0 12px}.kpi-strip small{font-size:8px}.settings-form{grid-template-columns:1fr 1fr}.calendar-caption .muted{max-width:300px;text-align:right}.shift-time{font-size:40px}}@media(max-width:900px){.kpi-strip{grid-template-columns:repeat(3,1fr);gap:25px 0}.kpi-strip>div:nth-child(3){border:0}.kpi-strip>div:nth-child(4){padding-left:0}.kpi-strip strong{font-size:31px}.kpi-strip small{font-size:9px}.stores-list{grid-template-columns:1fr}.attention-strip{gap:17px}.attention-strip>.text-button{margin-left:0}.auth-story{padding:38px 35px}.auth-story h1{letter-spacing:-1.5px}.auth-story-footer{flex-direction:column;gap:8px}.auth-main{padding:35px}.report-summary{gap:15px}.report-summary strong{font-size:22px}.report-summary span{font-size:10px}.month-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:700px){.auth-layout{display:block}.auth-story{display:none}.auth-main{min-height:100svh;padding:38px 26px}.mobile-brand{display:block;color:#6c976a;font-size:10px;font-weight:600;letter-spacing:1.5px;margin-bottom:54px}.auth-box h2{font-size:30px}.auth-box>.eyebrow{font-size:9px}.sidebar{transform:translate(-100%);transition:transform .2s;width:240px;padding:28px 20px}.sidebar.open{transform:translate(0)}.sidebar-backdrop{position:fixed;inset:0;background:#0006;z-index:29}.workspace{margin-left:0}.topbar{height:60px;padding:0 15px}.mobile-menu{display:inline-flex}.breadcrumb{font-size:10px;gap:8px;min-width:0}.breadcrumb>span:first-of-type{display:none}.breadcrumb-separator{display:none}.breadcrumb strong{max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar-actions{gap:3px}.online-label{font-size:9px;margin-right:4px}.page-content{padding:27px 19px 22px}.page-header{margin-bottom:23px;flex-wrap:wrap;gap:15px}.page-header h1{font-size:27px;letter-spacing:-1px}.page-header .muted{font-size:11px;max-width:360px}.page-header .eyebrow{font-size:8px}.header-actions{margin-top:0}.header-actions .button{font-size:11px;min-height:36px}.kpi-strip{padding:20px 0;margin-bottom:20px}.kpi-strip strong{font-size:30px}.kpi-strip span{font-size:10px}.kpi-strip small{font-size:8px;white-space:normal}.attention-strip{padding:15px;gap:12px 17px;margin-bottom:26px;font-size:10px}.attention-strip>.text-button{font-size:10px}.section-title{flex-wrap:wrap;margin-bottom:16px}.section-title h2{font-size:17px}.section-title p{font-size:10px}.section-title select{max-width:170px}.table-scroll{margin-left:-2px;margin-right:-2px}td{padding:15px 12px;font-size:11px}th{font-size:9px;padding:13px 12px}.calendar-caption{align-items:flex-start;gap:15px;margin-bottom:17px}.calendar-caption strong{font-size:10px}.calendar-caption .muted{font-size:8px;max-width:140px}.toolbar{gap:9px}.segmented button{font-size:10px;padding:8px 10px}.toolbar .button{font-size:10px}.toolbar select{font-size:10px;padding:9px}.period-selector input{font-size:11px;width:135px}.calendar-table .employee-col{width:120px;font-size:10px}.calendar-table{min-width:880px}.calendar-table td{padding:7px 5px}.add-shift{opacity:1}.month-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.employee-record header{padding:17px;flex-wrap:wrap;gap:10px}.employee-record header .grow{min-width:170px}.employee-record header .button{margin-left:auto}.employee-record h2{font-size:15px}.employee-record header p{font-size:10px}.employee-details{grid-template-columns:1fr;padding:20px;gap:23px}.employee-record footer{padding:12px 18px;gap:20px}.stores-list{gap:17px}.store-record{padding:22px}.store-record h2{font-size:23px}.store-record footer .button{font-size:11px}.approval-row{gap:10px;flex-wrap:wrap}.approval-row .grow{min-width:180px}.approval-row .button{font-size:10px}.approval-row .button:first-of-type{margin-left:46px}.report-filters{padding:15px;gap:12px}.report-filters label{min-width:130px;max-width:calc(50% - 6px)}.report-filters input,.report-filters select{max-width:100%}.report-summary{grid-template-columns:1fr 1fr;gap:23px;padding:15px 0 28px}.report-summary>div:nth-child(2){border:0}.report-summary strong{font-size:24px}.request-record header{gap:10px}.request-record strong{font-size:12px}.request-record header span{font-size:11px}.request-record small{font-size:9px}.request-record .row-actions{gap:12px}.settings-form{grid-template-columns:1fr;gap:30px}.settings-form h2{font-size:18px}.settings-form label{font-size:12px}.settings-form section{gap:20px}.type-list>div{flex-wrap:wrap;gap:7px 20px}.type-list strong{min-width:130px;font-size:12px}.type-list span{font-size:10px}.workspace-footer{margin:0 19px;padding:20px 0;font-size:8px}.employee-layout .workspace{padding-bottom:72px}.employee-layout .workspace-footer{display:none}.employee-layout .page-content{padding:26px 19px}.today-shift{padding:23px;margin-bottom:25px}.shift-time{font-size:38px;gap:17px;letter-spacing:-1.5px}.shift-time span{font-size:22px}.today-shift header{margin-bottom:20px}.today-shift .eyebrow{font-size:9px}.punch-pair{margin-top:23px;padding-top:18px}.punch-pair strong{font-size:23px}.punch-button{min-height:58px;font-size:12px;letter-spacing:.5px}.shift-secondary .text-button{font-size:10px}.mobile-bottom-nav{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:25;background:#fff;border-top:1px solid var(--line);padding:11px 8px max(11px,env(safe-area-inset-bottom));justify-content:space-around}.mobile-bottom-nav button{display:flex;flex-direction:column;align-items:center;gap:5px;color:#96b280;background:none;font-size:8px;flex:1;min-height:39px}.mobile-bottom-nav button.active{color:var(--accent);font-weight:650}.next-shift{gap:15px}.next-shift>strong{font-size:11px}.history-record{padding:19px 17px}.history-record header{gap:10px}.history-record header strong{font-size:12px}.history-record header small{font-size:10px}.history-record .badge{font-size:8px;padding:5px 6px}.history-punches{gap:12px 18px}.history-punches .text-button{margin-left:0}.modal-backdrop{padding:12px;align-items:center}.modal{padding:22px 20px;border-radius:11px;max-height:92svh}.modal header{gap:15px;margin-bottom:24px}.modal header h2{font-size:21px}.modal header p{font-size:11px}.form-grid{grid-template-columns:1fr;gap:18px}.form-grid label{font-size:12px}.form-grid input,.form-grid select,.form-grid textarea{font-size:16px}.modal footer{gap:9px;margin-top:23px}.modal footer .button{font-size:12px}.hours-day>div:first-child{min-width:65px;font-size:10px}.hours-slot{max-width:240px;gap:7px}.hours-slot input[type=time]{width:93px;font-size:12px}.hours-day>.icon-button{width:25px}.hours-slot .inline-check{max-width:140px;font-size:9px}.camera-actions .button{font-size:10px}.camera-preview{aspect-ratio:4/3}.camera-modal footer .button{font-size:11px}.notification-panel{right:12px;top:58px;width:calc(100vw - 24px)}.toast{bottom:90px;width:max-content;font-size:11px;padding:14px;max-width:92vw}.ledger-total{flex-wrap:wrap;align-items:center}.ledger-total strong{font-size:32px}.ledger-total .button{font-size:10px}.event-row,.detail-punches{font-size:11px}.offline-banner{font-size:10px;padding:12px 16px;line-height:1.6}.security-panel>.button{margin-top:14px}.skeleton{height:70px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
