:root{--ink:#18342f;--green:#154a40;--green-2:#1d6154;--mint:#dcebe4;--cream:#f3f0e8;--paper:#fffdf8;--line:#deddd5;--muted:#76847f}*{box-sizing:border-box}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}html{background:var(--cream)}body{color:var(--ink);background:var(--cream);margin:0;font-family:PingFang TC,Microsoft JhengHei,system-ui,sans-serif}button,a{font:inherit}a{color:inherit;text-decoration:none}button{color:inherit}.app-shell{grid-template-columns:250px 1fr;min-height:100vh;display:grid}.sidebar{color:#f4f5ed;background:#113d35;flex-direction:column;height:100vh;padding:30px 22px 22px;display:flex;position:sticky;top:0}.brand{letter-spacing:.02em;align-items:center;gap:11px;padding:0 8px 32px;font-size:20px;display:flex}.brand strong{color:#bfe1cc}.brand-mark{background:#fff;border-radius:50%;place-items:center;width:34px;height:34px;display:grid;overflow:hidden;box-shadow:0 0 0 1px #ffffff52}.brand-mark img{object-fit:contain;width:100%;height:100%}.side-nav{gap:7px;display:grid}.nav-item{color:#bad0c9;border-radius:12px;align-items:center;gap:13px;padding:12px 14px;font-size:14px;display:flex}.nav-item.active{color:#fff;background:#ffffff1c;box-shadow:inset 3px 0 #bfe1cc}.store-card{background:#ffffff0f;border:1px solid #ffffff1c;border-radius:15px;gap:7px;margin-top:auto;padding:17px;display:grid}.store-card .eyebrow{color:#9ebbb1}.store-card>span:last-child{color:#b8cbc5;align-items:center;gap:5px;font-size:12px;display:flex}.profile-mini{border-top:1px solid #ffffff1a;grid-template-columns:39px 1fr auto;align-items:center;gap:10px;margin-top:17px;padding:12px 7px 0;display:grid}.avatar{color:#164238;background:#d1e5d8;border-radius:50%;place-items:center;width:39px;height:39px;font-weight:700;display:grid}.profile-mini div:nth-child(2){gap:2px;font-size:13px;display:grid}.profile-mini div span{color:#9fbbb2;font-size:11px}.logout-icon{color:#bdd2cb;cursor:pointer;background:#ffffff12;border:0;border-radius:10px;place-items:center;width:34px;height:34px;display:grid}.logout-icon:hover{color:#fff;background:#ffffff21}.login-shell{background:radial-gradient(circle at 15% 15%,#c5e0d094,#0000 30%),radial-gradient(circle at 88% 86%,#e1d5b680,#0000 28%),#f3f0e8;place-items:center;min-height:100dvh;padding:32px 18px;display:grid;position:relative;overflow:hidden}.login-shell:before{content:"";aspect-ratio:1;border:1px solid #154a4014;border-radius:50%;width:min(72vw,760px);position:absolute;top:-40%;right:-34%;box-shadow:0 0 0 90px #154a4006,0 0 0 180px #154a4004}.login-panel{z-index:1;place-items:center;width:100%;display:grid;position:relative}.login-card{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#fffdf8f5;border:1px solid #173f361f;border-radius:26px;width:min(100%,460px);padding:clamp(30px,5vw,50px);box-shadow:0 26px 80px #1f393021}.login-card-brand{justify-content:center;align-items:center;margin-bottom:34px;display:flex}.login-card-brand img{object-fit:contain;width:64px;height:64px}.login-form{display:grid}.login-form>label{margin:0 0 8px;font-size:12px;font-weight:700}.login-form>label:not(:first-of-type){margin-top:19px}.login-input{color:#71817b;background:#fff;border:1px solid #d8dcd6;border-radius:13px;align-items:center;gap:10px;height:51px;padding:0 15px;display:flex}.login-input:focus-within{border-color:#397867;box-shadow:0 0 0 3px #3978671a}.login-input input{width:100%;height:100%;color:var(--ink);background:0 0;border:0;outline:0;font-size:14px}.login-input input::placeholder{color:#a1aaa6}.field-error,.login-error{color:#a34235;margin:7px 0 0;font-size:11px;line-height:1.5}.login-error{background:#fff2ef;border:1px solid #edc9c3;border-radius:10px;padding:11px 13px}.login-success{color:#24634f;background:#eaf6ef;border:1px solid #bcd9c9;border-radius:10px;margin:0 0 18px;padding:11px 13px;font-size:11px;line-height:1.55}.login-submit{color:#fff;background:var(--green);cursor:pointer;border:0;border-radius:13px;justify-content:center;align-items:center;gap:9px;height:52px;margin-top:25px;padding:0 18px;font-weight:700;display:flex;box-shadow:0 12px 26px #154a4030}.login-submit:disabled{cursor:wait;opacity:.65}.login-install{background:#f1f6f0;border:1px solid #dce5dd;border-radius:14px;grid-template-columns:38px minmax(0,1fr) 24px;align-items:start;gap:11px;margin-top:25px;padding:15px 13px;display:grid}.login-install-icon{color:#1d6154;background:#dcebe4;border-radius:10px;place-items:center;width:38px;height:38px;display:grid}.login-install-copy{min-width:0}.login-install-copy strong{color:#183e35;font-size:15px;display:block}.login-install-copy p{color:#50685e;margin:4px 0 7px;font-size:13px;line-height:1.45}.login-install-copy small{color:#456357;font-size:12px;line-height:1.5;display:block}.login-install-action{color:#fff;cursor:pointer;background:#1d6154;border:0;border-radius:8px;min-height:34px;margin-top:3px;padding:5px 12px;font-size:13px;font-weight:700}.login-install-action:hover{background:#154a40}.login-install-close{color:#587267;cursor:pointer;background:0 0;border:0;place-items:center;width:24px;height:24px;padding:2px;display:grid}.content{min-width:0;padding:34px clamp(24px,4vw,62px) 50px}.topbar{justify-content:space-between;align-items:center;max-width:1180px;margin:0 auto 28px;display:flex}.topbar-actions{align-items:center;gap:10px;display:flex}.admin-entry{color:#fff;background:var(--green);border-radius:11px;align-items:center;gap:7px;min-height:40px;padding:0 14px;font-size:12px;font-weight:700;display:inline-flex;box-shadow:0 8px 20px #154a4029}.admin-entry:hover{background:#1b5a4e}.topbar h1{letter-spacing:-.02em;margin:5px 0 0;font-family:Georgia,Noto Serif TC,serif;font-size:clamp(28px,3vw,39px);font-weight:600}.date-label{color:var(--muted);font-size:13px}.icon-button{border:1px solid var(--line);cursor:pointer;background:#ffffff80;border-radius:50%;place-items:center;width:44px;height:44px;display:grid;position:relative}.icon-button i{color:#fff;border:2px solid var(--cream);background:#d2634b;border-radius:50%;place-items:center;width:18px;height:18px;font-size:10px;font-style:normal;display:grid;position:absolute;top:-2px;right:-1px}.nav-item,.mobile-nav a{position:relative}.nav-badge{color:#fff;background:#d2634b;border-radius:10px;place-items:center;min-width:20px;height:20px;margin-left:auto;padding:0 5px;font-size:10px;font-style:normal;display:grid}.mobile-nav .nav-badge{min-width:17px;height:17px;font-size:9px;position:absolute;top:5px;right:calc(50% - 22px)}.dashboard-grid{grid-template-columns:1fr;gap:20px;max-width:1180px;margin:auto;display:grid}.clock-card,.summary-card,.schedule-card{border:1px solid #173f361c;border-radius:22px;overflow:hidden;box-shadow:0 10px 35px #1f39300e}.clock-card{background:var(--green);color:#fff;min-height:390px;padding:clamp(25px,4vw,46px);position:relative;container-type:inline-size}.clock-card:before{content:"";background:radial-gradient(circle at 85% 20%,#c6e5d22b,#0000 38%),linear-gradient(120deg,#0000 65%,#ffffff06);position:absolute;inset:0}.clock-copy{z-index:2;text-align:center;flex-direction:column;align-items:center;display:flex;position:relative}.status-pill{color:#d0e7dd;background:#ffffff14;border:1px solid #ffffff1a;border-radius:999px;align-items:center;gap:8px;width:max-content;padding:7px 11px;font-size:12px;display:flex}.status-pill span{background:#8ed0ad;border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 4px #8ed0ad1f}.time.led-clock{--led-height:clamp(52px, 24cqw, 205px);width:100%;height:var(--led-height);justify-content:center;align-items:center;gap:calc(var(--led-height) * .025);margin:22px 0 0;display:flex}.led-digit{width:calc(var(--led-height) * .58);flex:none;height:100%;position:relative}.led-segment{background:0 0;display:block;position:absolute}.led-segment.on{box-shadow:0 0 calc(var(--led-height) * .045) #ffffff59;background:#fff}.led-a,.led-g,.led-d{clip-path:polygon(9% 0,91% 0,100% 50%,91% 100%,9% 100%,0 50%);width:70%;height:8%;left:15%}.led-a{top:0}.led-g{top:46%}.led-d{bottom:0}.led-b,.led-c,.led-e,.led-f{clip-path:polygon(50% 0,100% 9%,100% 91%,50% 100%,0 91%,0 9%);width:15%;height:40%}.led-b{top:6%;right:0}.led-c{bottom:6%;right:0}.led-e{bottom:6%;left:0}.led-f{top:6%;left:0}.led-colon{width:calc(var(--led-height) * .16);flex:none;height:100%;position:relative}.led-colon span{width:58%;height:9%;box-shadow:0 0 calc(var(--led-height) * .045) #ffffff59;background:#fff;border-radius:50%;position:absolute;left:21%}.led-colon span:first-child{top:28%}.led-colon span:last-child{bottom:28%}.clock-source{color:#c8e1d5;margin:9px 0 0;font-size:13px}.shift-note{color:#d6e7df;margin:20px 0 8px;font-size:15px}.clock-button{color:#123f36;cursor:pointer;background:#d7eadf;border:0;border-radius:13px;align-items:center;gap:9px;padding:14px 22px;font-weight:700;display:inline-flex;box-shadow:0 8px 22px #00000029}.qr-button{color:#cadcd5;cursor:pointer;background:0 0;border:0;align-items:center;gap:7px;padding:12px;font-size:12px;display:inline-flex}.qr-button:hover:not(:disabled){color:#fff}.qr-scanner-backdrop{z-index:100;background:#071a15d1;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.qr-scanner-card{color:#18342f;background:#fffdf8;border-radius:20px;width:min(100%,460px);padding:18px;box-shadow:0 24px 80px #00000047}.qr-scanner-heading,.qr-scanner-heading>div{align-items:center;gap:9px;display:flex}.qr-scanner-heading{justify-content:space-between;margin-bottom:15px;font-size:18px}.qr-scanner-heading button{cursor:pointer;background:#edf2ed;border:0;border-radius:10px;place-items:center;width:40px;height:40px;display:grid}.qr-scanner-video{aspect-ratio:1;object-fit:cover;background:#13251f;border-radius:14px;width:100%;display:block}.qr-scanner-card p{color:#536c65;text-align:center;margin:13px 0 0;font-size:14px}.qr-retry-actions{justify-content:flex-end;gap:9px;margin-top:20px;display:flex}.qr-retry-actions button{color:#18342f;cursor:pointer;background:#edf2ed;border:0;border-radius:10px;min-height:44px;padding:0 16px}.qr-retry-actions button:last-child{color:#fff;background:#315f4b}.attendance-qr-entry{color:#194b3d;background:#eaf4ed;border:1px solid #cbded2;border-radius:15px;align-items:center;gap:14px;margin:0 0 16px;padding:16px 18px;display:flex}.attendance-qr-entry span{flex:1;gap:3px;display:grid}.attendance-qr-entry strong{font-size:15px}.attendance-qr-entry small{color:#587267;font-size:13px}.qr-device-panel{padding:24px}.qr-device-intro{align-items:flex-start;gap:13px;display:flex}.qr-device-intro>svg{color:#276b55;flex:none}.qr-device-intro strong{font-size:19px}.qr-device-intro p{color:#647871;margin:5px 0 0;font-size:14px;line-height:1.6}.qr-device-intro a{color:#176b53;text-decoration:underline}.qr-device-create{flex-wrap:wrap;align-items:end;gap:12px;margin-top:22px;display:flex}.qr-device-create label{color:#536c65;flex:240px;gap:7px;font-size:14px;font-weight:700;display:grid}.qr-device-create input{border:1px solid #ccd9d0;border-radius:10px;min-height:46px;padding:9px 12px;font-size:16px}.qr-device-create .admin-button{min-height:46px}.qr-pairing-result{background:#ecf8ef;border:1px solid #b6d5c5;border-radius:14px;gap:9px;margin-top:20px;padding:20px;display:grid}.qr-pairing-result small{color:#446b58;font-size:13px}.qr-pairing-result strong{color:#123f36;letter-spacing:.08em;overflow-wrap:anywhere;font-family:ui-monospace,monospace;font-size:clamp(18px,3vw,27px)}.qr-pairing-result span{color:#536c65;font-size:13px;line-height:1.5}.qr-device-message{color:#24634f;margin:14px 0 0;font-size:14px}.qr-device-list{margin-top:28px}.qr-device-list h2{font-size:19px}.qr-device-list>p{color:#647871}.qr-device-list article{border-top:1px solid #e2e9e2;align-items:center;gap:12px;padding:14px 0;display:flex}.qr-device-list article>svg{color:#457465}.qr-device-list article>div{flex:1;gap:4px;min-width:0;display:grid}.qr-device-list article strong{font-size:15px}.qr-device-list article span{color:#687b72;font-size:13px}.qr-device-list article button{color:#a34235;cursor:pointer;background:#fff;border:1px solid #e1b8b2;border-radius:9px;align-items:center;gap:5px;padding:9px 11px;display:flex}.kiosk-shell{color:#fff;background:radial-gradient(circle at 90% 10%,#276b59 0,#0000 32%),#103c33;flex-direction:column;min-height:100dvh;padding:clamp(20px,3vw,42px);display:flex}.kiosk-header{color:#e4f3ea;justify-content:space-between;align-items:center;gap:15px;display:flex}.kiosk-header span{align-items:center;gap:10px;font-size:clamp(18px,2.5vw,26px);font-weight:700;display:flex}.kiosk-header time{font:600 clamp(20px,3vw,34px) ui-monospace,monospace}.kiosk-header-actions{align-items:center;gap:clamp(8px,2vw,24px);display:flex}.kiosk-install-wrap{position:relative}.kiosk-install-button{color:#fff;cursor:pointer;background:#ffffff1a;border:1px solid #ffffff52;border-radius:10px;align-items:center;gap:7px;min-height:40px;padding:8px 12px;font-size:13px;font-weight:700;display:inline-flex}.kiosk-install-button span{font-size:inherit}.kiosk-install-button:hover{background:#ffffff2e}.kiosk-install-help{z-index:20;color:#18342f;text-align:left;background:#fffdf8;border-radius:14px;width:min(330px,100vw - 40px);padding:20px;position:absolute;top:calc(100% + 10px);right:0;box-shadow:0 18px 45px #00000040}.kiosk-install-help strong{padding-right:28px;font-size:17px;display:block}.kiosk-install-help p{color:#405e53;margin:10px 0;font-size:14px;line-height:1.6}.kiosk-install-help small{color:#657c70;font-size:12px;line-height:1.5}.kiosk-install-close{color:#315a49;cursor:pointer;background:#edf2ed;border:0;border-radius:8px;place-items:center;width:30px;height:30px;display:grid;position:absolute;top:10px;right:10px}@media (max-width:560px){.kiosk-install-button{justify-content:center;width:42px;padding:8px}.kiosk-install-button span{display:none}.kiosk-header time{font-size:clamp(17px,5vw,23px)}}.kiosk-center{justify-items:center;gap:10px;margin:auto;display:grid}.kiosk-pair-card{color:#18342f;background:#fffdf8;border-radius:23px;width:min(100%,530px);margin:auto;padding:clamp(25px,5vw,48px)}.kiosk-pair-card>svg{color:#21624f}.kiosk-pair-card h1{margin:14px 0;font-size:clamp(25px,4vw,36px)}.kiosk-pair-card>p{color:#536c65;line-height:1.65}.kiosk-pair-card form{gap:16px;margin-top:26px;display:grid}.kiosk-pair-card label{gap:8px;font-size:14px;font-weight:700;display:grid}.kiosk-pair-card input{letter-spacing:.08em;text-transform:uppercase;border:1px solid #ccd9d0;border-radius:11px;width:100%;min-height:55px;padding:11px 13px;font:600 20px ui-monospace,monospace}.kiosk-pair-card button{color:#fff;cursor:pointer;background:#1d6154;border:0;border-radius:11px;min-height:53px;font-weight:700}.kiosk-display{text-align:center;justify-items:center;width:100%;max-width:900px;margin:auto;display:grid}.kiosk-eyebrow{color:#bbdbcc;font-size:clamp(15px,2vw,21px)}.kiosk-display h1{margin:9px 0 4px;font-size:clamp(32px,5vw,56px)}.kiosk-display>p{color:#d3e6dc;margin:5px 0 18px;font-size:clamp(16px,2vw,22px)}.kiosk-qr-frame{aspect-ratio:1;background:#fff;border:8px solid #d5eadc;border-radius:24px;place-items:center;width:min(57vh,74vw,485px);padding:12px;display:grid;box-shadow:0 25px 70px #0000003d}.kiosk-qr-frame img{object-fit:contain;width:100%;height:100%;display:block}.kiosk-qr-wait{color:#315a49;justify-items:center;gap:13px;display:grid}.kiosk-countdown{color:#dbefdf;align-items:center;gap:9px;margin-top:17px;font-size:clamp(16px,2vw,21px);display:flex}.kiosk-display small{color:#aecfbe;margin-top:18px;font-size:13px}.kiosk-error{line-height:1.5;color:#a34235!important}.kiosk-display .kiosk-error{color:#ffd4c9!important}.location-label{color:#d1e6db;background:#0a2b2499;border-radius:999px;align-items:center;gap:6px;max-width:100%;margin:0 0 22px;padding:7px 11px;font-size:12px;display:inline-flex}.clock-card .punch-panel{text-align:center;justify-items:center}.clock-card .punch-panel>div{justify-content:center}.clock-card .punch-message{max-width:500px}.summary-card,.schedule-card{background:var(--paper);padding:25px}.schedule-card{grid-column:1/-1}.section-heading{justify-content:space-between;align-items:center;gap:16px;display:flex}.eyebrow{color:#8b9793;letter-spacing:.13em;text-transform:uppercase;font-size:10px}.section-heading h2{margin:4px 0 0;font-family:Georgia,Noto Serif TC,serif;font-size:22px;font-weight:600}.section-heading a{color:var(--green-2);align-items:center;font-size:12px;font-weight:600;display:flex}.stat-grid{grid-template-columns:repeat(3,1fr);gap:12px;margin-top:25px;display:grid}.stat-grid article{background:#f6f5ef;border-radius:16px;gap:5px;padding:16px 13px;display:grid}.stat-icon{border-radius:11px;place-items:center;width:35px;height:35px;margin-bottom:8px;display:grid}.stat-icon.mint{color:#266354;background:#dcebe4}.stat-icon.sand{color:#8b6635;background:#efe4cf}.stat-icon.blue{color:#426e72;background:#e0e9ea}.stat-grid strong{font-family:Georgia,serif;font-size:25px}.stat-grid small{color:var(--muted);font-size:11px}.date-chip{color:#3a6157;background:#edf2ed;border:0;border-radius:999px;align-items:center;gap:6px;padding:8px 11px;font-size:11px;display:flex}.timeline{margin-top:24px}.timeline-row{grid-template-columns:48px 18px 1fr;align-items:start;gap:9px;min-height:68px;display:grid;position:relative}.timeline-row time{color:#536c65;padding-top:3px;font-family:Georgia,serif;font-size:13px}.timeline-row:not(:last-child):after{content:"";background:#d7ddd8;width:1px;position:absolute;top:17px;bottom:-2px;left:56px}.timeline-dot{z-index:1;border:2px solid var(--paper);background:#ccd7d1;border-radius:50%;width:9px;height:9px;margin-top:5px;box-shadow:0 0 0 1px #c9d5cf}.timeline-dot.current{background:#2b765f;box-shadow:0 0 0 4px #dceae3}.schedule-detail{border-bottom:1px solid #eeeee9;justify-content:space-between;gap:12px;padding:0 0 15px;display:flex}.schedule-detail div{gap:3px;display:grid}.schedule-detail strong{font-size:13px}.schedule-detail span{color:var(--muted);font-size:11px}.schedule-detail em{white-space:nowrap;color:#5a776f;background:#edf2ed;border-radius:7px;height:max-content;padding:5px 8px;font-size:9px;font-style:normal}.avatars{align-items:center;margin-top:20px;padding-left:5px;display:flex}.avatars>span{color:#315b50;border:3px solid var(--paper);background:#d9e5dd;border-radius:50%;place-items:center;width:34px;height:34px;margin-left:-5px;font-size:11px;display:grid}.avatars>span:nth-child(2n){color:#6b553a;background:#eadfc9}.avatars small{color:var(--muted);margin-left:9px;font-size:10px}.mobile-nav{display:none}.mobile-nav form,.mobile-nav button{min-width:0;height:100%}.clock-button:disabled,.qr-button:disabled,.icon-button:disabled{cursor:not-allowed;opacity:.72}.route-loading{background:var(--cream);place-items:center;min-height:72vh;padding:24px;display:grid}.admin-route-loading{background:0 0;min-height:58vh;padding:0}.route-loading-card{background:var(--paper);border:1px solid #173f361c;border-radius:19px;align-items:center;gap:16px;width:min(100%,430px);min-height:112px;padding:24px;display:flex;box-shadow:0 12px 34px #1f393012}.route-loading-card>div{gap:5px;display:grid}.route-loading-card strong{font-size:18px}.route-loading-card span{color:var(--muted);font-size:15px;line-height:1.5}.route-loading-spinner{color:var(--green-2);flex:none;animation:.85s linear infinite route-loading-spin}@keyframes route-loading-spin{to{transform:rotate(360deg)}}.dashboard-empty{color:#668078;text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:8px;min-height:205px;display:flex}.dashboard-empty strong{color:var(--ink);font-size:14px}.dashboard-empty p{max-width:320px;color:var(--muted);margin:0;font-size:10px;line-height:1.65}.punch-panel{gap:10px;display:grid}.punch-panel>div{flex-wrap:wrap;align-items:center;display:flex}.location-consent{color:#d5e5df;cursor:pointer;align-items:center;gap:8px;width:max-content;max-width:100%;font-size:11px;display:flex}.location-consent input{accent-color:#bfe1cc;width:15px;height:15px}.punch-message{color:#bcd2ca;max-width:390px;min-height:16px;margin:0;font-size:10px;line-height:1.5}.spin{animation:.8s linear infinite punch-spin}@keyframes punch-spin{to{transform:rotate(360deg)}}.attendance-list{gap:10px;max-width:1180px;margin:auto;display:grid}.attendance-list article{background:var(--paper);border:1px solid #173f361a;border-radius:15px;grid-template-columns:64px minmax(180px,1fr) auto;align-items:center;gap:16px;min-height:86px;padding:16px 18px;display:grid}.attendance-list article>div{gap:5px;display:grid}.attendance-list strong{font-size:13px}.attendance-list small{color:var(--muted);font-size:10px}.attendance-event{border-radius:999px;width:max-content;padding:5px 9px;font-size:10px;font-weight:700}.attendance-event.clock_in{color:#21624f;background:#dcebe4}.attendance-event.clock_out{color:#725324;background:#efe4cf}.attendance-evidence{color:#486960;justify-items:end;font-size:10px}.attendance-evidence span{align-items:center;gap:5px;display:flex}.attendance-evidence .attendance-gps-accuracy{white-space:nowrap;display:inline}.admin-table td>svg{vertical-align:-2px}.admin-table td small{color:var(--muted);font-size:9px}.attendance-list-heading{background:var(--paper);border:1px solid #173f361a;border-radius:15px;justify-content:space-between;align-items:center;padding:15px 18px;display:flex}.attendance-list-heading h2,.correction-card h2,.attendance-summary-list h2,.attendance-results h2,.correction-review h2{margin:3px 0 0;font:600 21px/1.2 Georgia,Noto Serif TC,serif}.attendance-list-heading>span{color:#8c5a43;align-items:center;gap:5px;font-size:10px;display:flex}.correction-card{background:var(--paper);border:1px solid #173f361a;border-radius:18px;max-width:1180px;margin:0 auto 16px;padding:20px}.correction-card>div>p{color:var(--muted);margin:6px 0 0;font-size:10px}.correction-form{grid-template-columns:1fr 1fr 1.4fr 2fr auto;align-items:end;gap:10px;margin-top:16px;display:grid}.correction-form label,.attendance-calculate form label{color:#65756f;gap:6px;font-size:9px;font-weight:700;display:grid}.correction-form input,.correction-form select,.correction-form textarea,.attendance-calculate input,.correction-review form input{width:100%;min-height:40px;color:var(--ink);background:#fff;border:1px solid #d8dcd6;border-radius:9px;outline:none;padding:8px 10px;font-size:10px}.correction-form textarea{resize:vertical}.correction-form .admin-button{min-height:40px}.correction-message{color:#386a5d;min-height:14px;margin:9px 0 0;font-size:10px}.attendance-page-header{align-items:center}.attendance-correction-trigger{color:#fff;cursor:pointer;background:#286b59;border:0;border-radius:12px;justify-content:center;align-items:center;gap:8px;min-height:46px;padding:0 18px;font-size:14px;font-weight:800;display:inline-flex;box-shadow:0 8px 20px #225c4c2e}.attendance-correction-trigger:disabled{opacity:.45;cursor:not-allowed}.correction-drawer-backdrop{z-index:100;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#12221e6b;justify-content:flex-end;display:flex;position:fixed;inset:0}.correction-drawer{background:#fbfaf6;width:min(520px,100%);height:100%;padding:28px;animation:.2s ease-out correction-drawer-in;overflow-y:auto;box-shadow:-18px 0 50px #102c2533}.correction-drawer>header{border-bottom:1px solid #dedfd9;justify-content:space-between;align-items:flex-start;gap:20px;padding-bottom:22px;display:flex}.correction-drawer h2{margin:4px 0 0;font:600 28px/1.25 Georgia,Noto Serif TC,serif}.correction-drawer header p{color:var(--muted);margin:8px 0 0;font-size:15px;line-height:1.6}.correction-drawer-close{color:#345e53;cursor:pointer;background:#fff;border:1px solid #d8dcd6;border-radius:50%;flex:none;place-items:center;width:42px;height:42px;display:grid}.correction-drawer .correction-form{grid-template-columns:1fr 1fr;gap:16px;margin-top:24px}.correction-drawer .correction-form label{gap:8px;font-size:15px}.correction-drawer .correction-form input,.correction-drawer .correction-form select,.correction-drawer .correction-form textarea{min-height:50px;padding:11px 12px;font-size:16px}.correction-drawer .correction-form .correction-reason,.correction-drawer .correction-form .admin-button{grid-column:1/-1}.correction-drawer .correction-form .admin-button{justify-content:center;min-height:50px;font-size:16px}@keyframes correction-drawer-in{0%{opacity:0;transform:translate(24px)}to{opacity:1;transform:translate(0)}}.attendance-daily-list{gap:12px;max-width:1180px;margin:0 auto;display:grid}.attendance-daily-card{background:var(--paper);border:1px solid #173f361a;border-radius:16px;grid-template-columns:minmax(210px,.72fr) minmax(0,1.8fr);display:grid;overflow:hidden}.attendance-daily-result{background:#f7f6f1;border-right:1px solid #e6e7e2;align-content:start;gap:11px;padding:20px;display:grid}.attendance-daily-result>strong{font:600 21px/1.25 Georgia,Noto Serif TC,serif}.attendance-daily-result dl{grid-template-columns:1fr 1fr;gap:8px;margin:2px 0 0;display:grid}.attendance-daily-result dl div{gap:3px;display:grid}.attendance-daily-result dt{color:var(--muted);font-size:13px}.attendance-daily-result dd{margin:0;font-size:16px;font-weight:800}.attendance-daily-result em{color:var(--muted);font-size:14px;font-style:normal}.attendance-daily-punches{align-content:center;display:grid}.attendance-daily-punch{border-top:1px solid #ecebe5;grid-template-columns:72px minmax(180px,1fr) auto;align-items:center;gap:14px;min-height:82px;padding:15px 18px;display:grid}.attendance-daily-punch:first-child{border-top:0}.attendance-daily-punch>div{gap:5px;display:grid}.attendance-daily-punch strong{font-size:16px}.attendance-daily-punch small{color:var(--muted);font-size:14px}.attendance-no-punch{color:var(--muted);margin:0;padding:24px;font-size:15px}.attendance-summary-list{background:var(--paper);border:1px solid #173f361a;border-radius:18px;max-width:1180px;margin:0 auto 16px;padding:20px}.attendance-summary-list>header,.attendance-results>header,.correction-review>header{border-bottom:1px solid #ecebe5;justify-content:space-between;align-items:center;gap:15px;padding-bottom:14px;display:flex}.attendance-summary-list>header small,.attendance-results>header small{color:var(--muted);font-size:9px}.attendance-summary-list article{border-bottom:1px solid #efeee9;grid-template-columns:95px 90px 1fr 1fr 1fr;align-items:center;gap:10px;min-height:46px;font-size:10px;display:grid}.attendance-summary-list article:last-child{border:0}.attendance-summary-list article em{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:9px;font-style:normal;overflow:hidden}.attendance-day-status,.correction-status{border-radius:999px;width:max-content;padding:5px 8px;font-size:9px;font-weight:700}.attendance-day-status.complete,.correction-status.approved{color:#24634f;background:#dcebe4}.attendance-day-status.exception,.correction-status.pending{color:#805d29;background:#f1e6d1}.attendance-day-status.unscheduled,.correction-status.rejected{color:#91483d;background:#f4dfdb}.attendance-day-status.leave{color:#315b76;background:#dcebf3}.correction-status.withdrawn{color:#5f6562;background:#e5e8e6}.attendance-calculate{justify-content:space-between;align-items:center;gap:18px;margin-bottom:16px;padding:18px;display:flex}.attendance-calculate>div{align-items:center;gap:12px;display:flex}.attendance-calculate>div>div{gap:4px;display:grid}.attendance-calculate p{color:var(--muted);margin:0;font-size:10px}.attendance-calculate form{align-items:end;gap:9px;display:flex}.attendance-results,.correction-review{margin-bottom:16px}.attendance-results>header,.correction-review>header{padding:18px}.exception-chip{color:#805d29;background:#f3e8d5;border-radius:7px;width:max-content;margin:2px 4px 2px 0;padding:4px 7px;font-size:8px;display:inline-block}.correction-review-list{display:grid}.correction-review-list article{border-top:1px solid #ecebe5;grid-template-columns:1fr auto;align-items:center;gap:18px;padding:15px 18px;display:grid}.correction-review-list article:first-child{border:0}.correction-review-list article>div{gap:4px;display:grid}.correction-review-list article span{color:var(--muted);font-size:9px}.correction-review-list article p{margin:3px 0 0;font-size:10px}.correction-review-list form{grid-template-columns:minmax(160px,1fr) auto auto;gap:7px;display:grid}.correction-review-list button{color:#fff;cursor:pointer;border:0;border-radius:8px;align-items:center;gap:5px;min-height:38px;padding:0 10px;font-size:9px;display:inline-flex}.correction-review-list .approve{background:#2d735f}.correction-review-list .reject{background:#a25a4d}.work-request-form-grid{grid-template-columns:1fr 1fr;gap:16px;max-width:1180px;margin:0 auto 16px;display:grid}.work-request-form-card{background:var(--paper);border:1px solid #173f361a;border-radius:18px;padding:21px}.work-request-form-card>header{align-items:center;gap:12px;display:flex}.work-request-form-card>header>span{color:#286554;background:#dfece5;border-radius:12px;place-items:center;width:42px;height:42px;display:grid}.work-request-form-card>header div{gap:3px;display:grid}.work-request-form-card>header strong{font:600 20px/1.25 Georgia,Noto Serif TC,serif}.work-request-form-card>header p{color:var(--muted);margin:0;font-size:10px}.work-request-form-card form{grid-template-columns:1fr 1fr;align-items:end;gap:10px;margin-top:17px;display:grid}.work-request-form-card label{color:#65756f;gap:6px;font-size:9px;font-weight:700;display:grid}.work-request-form-card label:first-child:nth-last-child(5){grid-column:1/-1}.work-request-form-card input,.work-request-form-card select,.work-request-form-card textarea{width:100%;min-height:42px;color:var(--ink);background:#fff;border:1px solid #d8dcd6;border-radius:9px;outline:none;padding:9px 10px;font-size:10px}.work-request-form-card textarea{resize:vertical}.work-request-reason,.work-request-form-card .admin-button{grid-column:1/-1}.work-request-form-card .admin-button{justify-content:center}.leave-scope{border:1px solid #d8dcd6;border-radius:9px;flex-wrap:wrap;grid-column:1/-1;gap:18px;min-width:0;margin:0;padding:11px 12px 12px;display:flex}.leave-scope legend{color:#65756f;padding:0 4px;font-size:15px;font-weight:700}.work-request-form-card .leave-scope label{color:var(--ink);cursor:pointer;align-items:center;gap:8px;font-size:15px;display:inline-flex}.work-request-form-card .leave-scope input[type=radio]{width:18px;height:18px;min-height:18px;accent-color:var(--green-2);margin:0;padding:0}.leave-scope-note{color:#536c65;grid-column:1/-1;margin:0;line-height:1.5}.work-request-history article{grid-template-columns:135px minmax(190px,1.25fr) 90px 80px minmax(120px,1fr)}.work-request-review>header small{color:var(--muted);font-size:10px}.work-request-review .correction-review-list article>div>small{color:var(--muted);font-size:9px}.work-request-decision{justify-items:end;min-width:100px}.work-request-decision small{text-align:right;max-width:220px;margin-top:5px}.leave-balance-grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px;max-width:1180px;margin:0 auto 16px;display:grid}.leave-balance-grid article{background:var(--paper);border:1px solid #173f361a;border-radius:14px;gap:5px;padding:16px;display:grid}.leave-balance-grid article span,.leave-balance-grid article small,.request-policy-note{color:var(--muted);font-size:12px}.leave-balance-grid article strong{font-size:20px}.annual-leave-balance>span{align-items:center;gap:6px;display:flex}.request-policy-note{margin:0}.text-button{color:#8b493f;cursor:pointer;background:0 0;border:0;margin-left:10px;text-decoration:underline}.entitlement-panel{margin-bottom:16px}.entitlement-panel>header{justify-content:space-between;align-items:center;gap:16px;padding:18px;display:flex}.entitlement-panel>header h2{align-items:center;gap:7px;margin:4px 0 0;display:flex}.entitlement-panel>header p{color:var(--muted);margin:5px 0 0;font-size:13px}.entitlement-panel form{grid-template-columns:1.2fr 1fr .65fr .75fr 1fr auto;gap:9px;display:grid}.entitlement-panel form.annual-sync-form{display:block}.entitlement-panel input,.entitlement-panel select{background:#fff;border:1px solid #d8dcd6;border-radius:9px;min-height:42px;padding:8px 10px}.attendance-recalc-alert{color:#6e4b18;background:#fff4dc;border:1px solid #dfbf80;border-radius:14px;align-items:center;gap:12px;margin:0 0 16px;padding:16px 18px;display:flex}.attendance-recalc-alert div{gap:3px;display:grid}.attendance-recalc-alert p{margin:0;font-size:10px}.attendance-detail-link{color:#1e6453;text-underline-offset:3px;font-weight:800;text-decoration:underline}.attendance-detail-arrow{color:#2b6c5b;background:#e4eee9;border-radius:9px;place-items:center;width:34px;height:34px;display:grid}.raw-punch-toolbar{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:end;gap:12px;padding:16px 18px;display:flex}.raw-punch-toolbar>span{color:var(--muted)}.raw-punch-select-all{white-space:nowrap;align-items:center;gap:8px;display:inline-flex}.raw-punch-reason{flex:230px;gap:5px;font-weight:700;display:grid}.raw-punch-reason input{border:1px solid var(--line);width:100%;min-height:42px;font:inherit;background:#fff;border-radius:9px;padding:8px 11px}.raw-punch-form input[type=checkbox]{accent-color:#9c4a3d;cursor:pointer;width:18px;height:18px}.admin-back-link{color:#32695b;align-items:center;gap:7px;width:max-content;margin-bottom:18px;font-size:11px;font-weight:800;display:inline-flex}.attendance-detail-stats{grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:16px;display:grid}.attendance-detail-stats article{background:var(--paper);border:1px solid #173f361a;border-radius:14px;gap:6px;padding:18px;display:grid}.attendance-detail-stats small{color:var(--muted);font-size:10px}.attendance-detail-stats strong{font:600 24px/1.2 Georgia,serif}.attendance-detail-panel{margin-bottom:16px}.attendance-detail-panel>header{border-bottom:1px solid #ecebe5;padding:18px}.attendance-detail-panel h2{margin:3px 0 0;font:600 21px/1.2 Georgia,Noto Serif TC,serif}.attendance-segment-list,.attendance-exception-list,.attendance-evidence-list{display:grid}.attendance-segment-list article{border-top:1px solid #ecebe5;grid-template-columns:1.2fr 1fr 1fr .8fr;gap:16px;padding:17px 18px;display:grid}.attendance-segment-list article:first-child{border:0}.attendance-segment-list article>div{align-content:start;gap:5px;display:grid}.attendance-segment-list small,.attendance-segment-list span,.attendance-evidence-list small{color:var(--muted);font-size:10px}.attendance-segment-list strong{font-size:11px;line-height:1.45}.attendance-exception-list article{color:#855b27;border-top:1px solid #ecebe5;align-items:flex-start;gap:11px;padding:15px 18px;display:flex}.attendance-exception-list article:first-child{border:0}.attendance-exception-list p{color:var(--muted);margin:4px 0 0;font-size:10px}.attendance-evidence-list article{border-top:1px solid #ecebe5;grid-template-columns:70px 1fr auto;align-items:center;gap:14px;padding:15px 18px;display:grid}.attendance-evidence-list article:first-child{border:0}.attendance-evidence-list article>div{gap:5px;display:grid}.attendance-evidence-list article>div:last-child{color:#486960;justify-items:end}.my-schedule-header{justify-content:space-between;align-items:flex-end;gap:24px;max-width:1180px;margin:0 auto 22px;display:flex}.my-schedule-header h1{margin:5px 0;font:600 clamp(29px,3vw,39px)/1.2 Georgia,Noto Serif TC,serif}.my-schedule-header p{color:var(--muted);margin:0;font-size:13px}.my-view-switch{background:#eaf0e9;border:1px solid #dce5dd;border-radius:13px;gap:4px;padding:5px;display:flex}.my-view-switch a{color:#547167;border-radius:9px;place-items:center;min-width:82px;min-height:40px;padding:8px 13px;font-size:14px;font-weight:700;display:grid}.my-view-switch a.active{color:#194e3e;background:#fffefa;box-shadow:0 2px 9px #143c2d1a}.my-schedule-panel,.my-day-detail{background:var(--paper);border:1px solid #173f361f;border-radius:20px;max-width:1180px;margin:0 auto;overflow:hidden;box-shadow:0 10px 35px #1f39300a}.my-schedule-toolbar{justify-content:space-between;align-items:center;gap:16px;padding:23px 26px 18px;display:flex}.my-schedule-toolbar h2{margin:5px 0 0;font:600 clamp(24px,2.5vw,32px)/1.2 Georgia,Noto Serif TC,serif}.my-period-nav{align-items:center;gap:6px;display:flex}.my-period-nav a{color:#315f50;background:#fffefa;border:1px solid #dce5dd;border-radius:11px;place-items:center;min-width:42px;min-height:42px;padding:9px;display:grid}.my-period-nav a:hover{background:#eaf2eb}.my-period-nav .my-today-link{min-width:60px;font-size:14px;font-weight:700}.my-schedule-summary{background:#edf3ed;border-radius:13px;justify-content:space-between;align-items:center;gap:12px;margin:0 26px 18px;padding:12px 17px;display:flex}.my-schedule-summary>div{align-items:center;gap:11px;display:flex}.my-schedule-summary>div>div{gap:4px;display:grid}.my-schedule-summary small,.my-schedule-summary p{color:#5a7065;font-size:12px}.my-schedule-summary strong{font:600 21px/1 Georgia,serif}.my-schedule-summary p{margin:0}.my-calendar-weekdays,.my-month-grid{grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.my-calendar-weekdays{background:#f7f8f3;border-top:1px solid #e6eae3;border-bottom:1px solid #e6eae3;padding:0 12px}.my-calendar-weekdays span{color:#60766c;text-align:center;padding:12px 8px;font-size:12px;font-weight:700}.my-calendar-weekdays span:first-child,.my-calendar-weekdays span:last-child{color:#9c6c55}.my-month-grid{background:#f7f8f3;padding:0 12px 12px}.my-month-day{background:#fffefa;border-bottom:1px solid #e5e9e2;border-right:1px solid #e5e9e2;flex-direction:column;align-items:flex-start;gap:8px;min-width:0;min-height:116px;padding:10px 8px;display:flex}.my-month-day:nth-child(7n){border-right:0}.my-month-day.outside{color:#aab5ad;background:#f5f7f2}.my-month-day.selected{z-index:1;outline-offset:-2px;background:#f5fbf5;outline:2px solid #337761;position:relative}.my-month-day:focus-visible{z-index:2;outline-offset:-3px;outline:3px solid #225d4b;position:relative}.my-month-day:hover:not(.outside){background:#f0f7ef}.my-month-date{align-items:center;gap:6px;font:600 18px/1 Georgia,serif;display:flex}.my-month-date i{color:#fff;background:#276b54;border-radius:99px;padding:4px 6px;font:700 10px/1 sans-serif}.my-shift-badge{text-overflow:ellipsis;white-space:nowrap;border-radius:7px;max-width:100%;padding:7px 10px;font-size:13px;font-weight:800;line-height:1.2;display:block;overflow:hidden}.my-shift-badge.early{color:#174e75;background:#d9edfb}.my-shift-badge.late{color:#875623;background:#f8e8c8}.my-shift-badge.split{color:#1d6449;background:#d7eddf}.my-shift-badge.off{color:#8a4a54;background:#f7e4e7}.my-selected-day-off{gap:9px;display:grid}.my-selected-day-off p{color:#6c786e;margin:0;font-size:13px;line-height:1.55}.my-shift-badge.closed{color:#5e626d;background:#e8e9ed}.my-no-shift{color:#84968a;font-size:12px}.my-month-hours{color:#64796f;text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:11px;line-height:1.35;overflow:hidden}.my-day-detail{margin-top:16px;padding:23px 26px;scroll-margin-top:16px}.my-day-detail-heading{margin-bottom:17px}.my-day-detail-heading h2{margin:5px 0 0;font:600 24px/1.2 Georgia,Noto Serif TC,serif}.my-selected-shift{gap:13px;display:grid}.my-selected-shift-heading{align-items:center;gap:14px;display:flex}.my-selected-shift-heading strong{color:#315b4c;font-size:17px}.my-selected-segments{flex-wrap:wrap;gap:8px;display:flex}.my-selected-segments span{color:#365d4d;background:#f5f9f3;border:1px solid #deeadf;border-radius:10px;align-items:center;gap:7px;min-height:40px;padding:9px 12px;font-size:14px;font-weight:600;display:flex}.my-selected-shift-notes{gap:4px;display:grid}.my-selected-shift-notes p,.my-selected-empty{color:#6c786e;margin:0;font-size:13px;line-height:1.55}.my-week-list{border-top:1px solid #e6eae3}.my-week-day{border-bottom:1px solid #e6eae3;grid-template-columns:85px 1fr;display:grid}.my-week-day:last-child{border-bottom:0}.my-week-day.today{background:#f5fbf5}.my-week-date{border-right:1px solid #e6eae3;align-content:center;justify-items:center;gap:3px;padding:16px 12px;display:grid}.my-week-date small,.my-week-date span{color:#698073;font-size:12px}.my-week-date strong{font:600 26px/1 Georgia,serif}.my-week-content{align-items:center;min-width:0;padding:17px 20px;display:flex}.my-week-content .my-selected-empty{color:#819288}.my-schedule-empty{color:#668078;background:var(--paper);text-align:center;border:1px solid #173f361a;border-radius:19px;flex-direction:column;justify-content:center;align-items:center;gap:9px;max-width:1180px;min-height:390px;margin:auto;display:flex}.my-schedule-empty strong{color:var(--ink)}.my-schedule-empty p{color:var(--muted);margin:0;font-size:13px}.admin-shell{background:#f4f2ec;grid-template-columns:235px 1fr;min-height:100vh;display:grid}.admin-sidebar{color:#eaf1ed;background:#133f37;flex-direction:column;height:100vh;padding:27px 18px 20px;display:flex;position:sticky;top:0}.admin-brand{align-items:center;gap:11px;padding:0 8px 27px;display:flex}.admin-brand>span{background:#fff;border-radius:50%;place-items:center;width:38px;height:38px;display:grid;overflow:hidden}.admin-brand>span img{object-fit:contain;width:100%;height:100%}.admin-brand>div{gap:2px;display:grid}.admin-brand strong{font-size:15px}.admin-brand small{color:#9dbab1;font-size:10px}.admin-nav{gap:6px;display:grid}.admin-nav a{color:#b7ccc5;border-radius:11px;align-items:center;gap:11px;padding:12px 13px;font-size:13px;display:flex}.admin-nav a:hover,.admin-nav a.active{color:#fff;background:#ffffff1a}.admin-nav a.active{box-shadow:inset 3px 0 #bfe1cc}.admin-tenant{background:#ffffff0d;border:1px solid #ffffff1c;border-radius:13px;gap:5px;margin-top:auto;padding:15px;display:grid}.admin-tenant small{color:#9dbab1;font-size:10px}.admin-tenant strong{font-size:13px}.admin-logout{color:#bed1cb;cursor:pointer;background:0 0;border:0;border-radius:10px;align-items:center;gap:9px;width:100%;margin-top:12px;padding:10px 13px;display:flex}.admin-logout:hover{color:#fff;background:#ffffff14}.admin-content{width:100%;min-width:0;max-width:1240px;margin:0 auto;padding:42px clamp(24px,4vw,58px) 60px}.admin-page-header{justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:25px;display:flex}.admin-page-header.compact{margin-top:13px}.admin-page-header h1{margin:5px 0 4px;font:600 clamp(29px,3vw,39px)/1.2 Georgia,Noto Serif TC,serif}.admin-page-header p{color:var(--muted);margin:0;font-size:12px}.admin-eyebrow{color:#558075;letter-spacing:.16em;font-size:9px;font-weight:700}.admin-button{cursor:pointer;border:0;border-radius:11px;justify-content:center;align-items:center;gap:8px;min-height:42px;padding:0 16px;font-size:12px;font-weight:700;display:inline-flex}.admin-button.primary{color:#fff;background:var(--green);box-shadow:0 8px 20px #154a4029}.admin-button.primary:hover{background:#1b5a4e}.admin-button.secondary{color:#365c53;background:#e8ece7}.admin-button:disabled{opacity:.62;cursor:wait}.admin-success{color:#24634f;background:#eaf6ef;border:1px solid #bcd9c9;border-radius:11px;margin:-10px 0 20px;padding:11px 14px;font-size:12px}.admin-stats{grid-template-columns:repeat(3,minmax(180px,240px));gap:13px;margin-bottom:18px;display:grid}.admin-stats article{background:var(--paper);border:1px solid #173f361a;border-radius:15px;align-items:center;gap:13px;padding:16px;display:flex}.admin-stats article>span{color:#286554;background:#dfece5;border-radius:11px;place-items:center;width:38px;height:38px;display:grid}.admin-stats article div{gap:2px;display:grid}.admin-stats small{color:var(--muted);font-size:10px}.admin-stats strong{font:600 23px/1 Georgia,serif}.admin-panel{background:var(--paper);border:1px solid #173f361a;border-radius:18px;overflow:hidden;box-shadow:0 10px 30px #1f39300b}.admin-toolbar{border-bottom:1px solid #e7e6df;justify-content:space-between;align-items:center;gap:15px;min-height:67px;padding:13px 17px;display:flex}.admin-toolbar>span{color:var(--muted);font-size:11px}.admin-search{color:#75827e;background:#fbfaf6;border:1px solid #daddd7;border-radius:10px;align-items:center;gap:8px;width:min(100%,360px);height:40px;padding:0 12px;display:flex}.admin-search input{width:100%;color:var(--ink);background:0 0;border:0;outline:none;font-size:12px}.admin-table-wrap{overflow-x:auto}.admin-table{border-collapse:collapse;width:100%;font-size:12px}.admin-table th{color:#798681;letter-spacing:.08em;text-align:left;text-transform:uppercase;white-space:nowrap;background:#f7f6f1;padding:12px 16px;font-size:9px}.admin-table td{vertical-align:middle;white-space:nowrap;border-top:1px solid #ecebe5;padding:14px 16px}.admin-table tbody tr:hover{background:#fcfbf7}.admin-table code{color:#355b52;font-family:ui-monospace,monospace;font-size:11px}.employee-cell{align-items:center;gap:10px;display:flex}.employee-cell>span,.employee-cell>img{color:#285e50;object-fit:cover;background:#dce9e1;border-radius:50%;place-items:center;width:35px;height:35px;font-weight:700;display:grid}.employee-cell>div,.contact-cell{gap:3px;display:grid}.employee-cell small,.contact-cell small{color:var(--muted);font-size:10px}.employee-status{border-radius:999px;padding:5px 8px;font-size:10px;font-weight:700}.employee-status.active{color:#23634e;background:#e0efe7}.employee-status.on_leave{color:#856329;background:#f3ead7}.employee-status.terminated{color:#7d5f59;background:#eee7e5}.employee-status.archived{color:#814035;background:#f2dfda}.employee-view-tabs{gap:7px;padding:13px 17px 0;display:flex}.employee-view-tabs a{color:var(--muted);background:#f1f2ee;border-radius:9px;padding:8px 12px;font-size:13px;font-weight:700}.employee-view-tabs a.active{color:#fff;background:var(--green)}.table-action{color:#285e50;background:#edf2ed;border-radius:8px;padding:6px 9px;font-size:10px;font-weight:700}.admin-empty{color:#6e817a;text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:9px;min-height:280px;padding:35px;display:flex}.admin-empty strong{color:var(--ink)}.admin-empty p{margin:0 0 5px;font-size:11px}.admin-back{color:#54756c;align-items:center;gap:4px;width:max-content;font-size:11px;display:flex}.form-panel{padding:clamp(22px,4vw,36px)}.employee-form{gap:24px;display:grid}.admin-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:19px;display:grid}.admin-field{gap:7px;display:grid}.admin-field label{font-size:11px;font-weight:700}.employee-form-section{border:0;border-bottom:1px solid #ebeae4;min-width:0;margin:0;padding:0 0 25px}.employee-form-section legend{color:#315d52;width:100%;margin-bottom:18px;padding:0;font:600 19px/1.2 Georgia,Noto Serif TC,serif}.admin-field-wide{grid-column:1/-1}.field-hint{color:#71837d;align-items:center;gap:5px;font-size:9px;display:flex}.photo-upload{color:#315f53;cursor:pointer;background:#f7f9f5;border:1px dashed #bfcac4;border-radius:11px;align-items:center;gap:11px;min-height:58px;padding:11px 14px;display:flex}.photo-upload:hover{background:#f1f6f1;border-color:#528173}.photo-upload span{gap:3px;display:grid}.photo-upload small{color:var(--muted);font-size:9px;font-weight:400}.admin-field input,.admin-field select,.admin-field textarea{width:100%;color:var(--ink);font:inherit;background:#fff;border:1px solid #d7dbd5;border-radius:10px;outline:none;font-size:12px}.admin-field input,.admin-field select{height:44px;padding:0 12px}.admin-field textarea{resize:vertical;padding:11px 12px;line-height:1.6}.admin-field input:focus,.admin-field select:focus,.admin-field textarea:focus{border-color:#4e8374;box-shadow:0 0 0 3px #39786717}.admin-field-error{color:#a34235;margin:0;font-size:10px}.admin-form-error{color:#963b31;background:#fff2ef;border:1px solid #edc9c3;border-radius:10px;padding:11px 13px;font-size:11px}.admin-field:has(.admin-field-error) input{border-color:#c75b4c;box-shadow:0 0 0 3px #c75b4c1a}.admin-field:has(.admin-field-error) select{border-color:#c75b4c;box-shadow:0 0 0 3px #c75b4c1a}.admin-field:has(.admin-field-error) textarea{border-color:#c75b4c;box-shadow:0 0 0 3px #c75b4c1a}.admin-field:has(.admin-field-error) .photo-upload{border-color:#c75b4c;box-shadow:0 0 0 3px #c75b4c1a}.admin-form-actions{border-top:1px solid #ebeae4;justify-content:flex-end;gap:10px;padding-top:21px;display:flex}.account-panel{margin-top:20px;padding:clamp(22px,4vw,36px)}.account-panel-header{justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;display:flex}.account-panel-header h2{margin:5px 0 0;font:600 23px/1.2 Georgia,Noto Serif TC,serif}.account-status{border-radius:999px;padding:6px 10px;font-size:10px;font-weight:700}.account-status.active{color:#23634e;background:#e0efe7}.account-status.suspended{color:#923e35;background:#f8e6e2}.account-form{gap:18px;display:grid}.account-form>p{color:var(--muted);margin:0;font-size:11px;line-height:1.7}.admin-form-success{color:#24634f;background:#eaf6ef;border:1px solid #bcd9c9;border-radius:10px;padding:11px 13px;font-size:11px}.account-management{grid-template-columns:minmax(170px,.55fr) minmax(460px,1.8fr) auto;align-items:end;gap:24px;display:grid}.account-summary{background:#f4f6f1;border-radius:12px;gap:4px;min-height:74px;padding:13px 15px;display:grid}.account-summary span,.account-summary small{color:var(--muted);font-size:9px}.account-summary strong{font-family:ui-monospace,monospace;font-size:14px}.account-credential-actions{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:16px;display:grid}.account-inline-form{grid-template-columns:1fr auto;align-items:end;gap:10px;display:grid}.account-inline-form>.admin-form-error,.account-inline-form>.admin-form-success{grid-column:1/-1}.account-status-form{gap:8px;display:grid}.admin-button.danger{color:#8d392f;background:#f7e5e1}.admin-button.danger:hover{background:#f1d7d1}.employee-permission-panel{margin-top:20px;padding:26px}.permission-panel-header{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:20px;display:flex}.permission-panel-header h2{margin:5px 0 7px;font:600 22px/1.25 Georgia,Noto Serif TC,serif}.permission-panel-header p,.permission-form-footer p{color:var(--muted);margin:0;line-height:1.6}.permission-admin-only{color:#315d52;background:#e8f1eb;border-radius:999px;flex:none;align-items:center;gap:6px;padding:8px 11px;font-size:11px;font-weight:700;display:inline-flex}.permission-panel-notice{border:1px solid var(--line);color:#695f56;background:#f7f5ef;border-radius:11px;margin-bottom:16px;padding:12px 14px}.permission-form{gap:18px;display:grid}.permission-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.permission-option{border:1px solid var(--line);cursor:pointer;background:#fbfaf6;border-radius:13px;align-items:flex-start;gap:11px;min-width:0;padding:15px;display:flex}.permission-option:has(input:checked){background:#eff6f1;border-color:#78a496;box-shadow:0 0 0 2px #477e6d12}.permission-option:has(input:disabled){opacity:.63;cursor:not-allowed}.permission-option input{width:18px;height:18px;accent-color:var(--green);margin-top:2px}.permission-option>span{gap:5px;min-width:0;display:grid}.permission-option strong{align-items:center;gap:8px;display:flex}.permission-option strong em{color:#8a4d43;background:#f5e5e1;border-radius:999px;padding:3px 6px;font-size:9px;font-style:normal}.permission-option small{color:var(--muted);line-height:1.55}.permission-option.sensitive{border-style:dashed}.permission-form-footer{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:18px;padding-top:17px;display:flex}.employee-lifecycle-panel{margin-top:20px}.employee-lifecycle-panel>header{padding:22px 26px 0}.employee-lifecycle-panel h2{margin:5px 0 0;font:600 22px/1.25 Georgia,Noto Serif TC,serif}.employee-lifecycle-panel>form,.employee-archive-actions{gap:14px;padding:20px 26px 26px;display:grid}.employee-lifecycle-panel p{color:var(--muted);margin:0;line-height:1.6}.employee-lifecycle-panel label{gap:7px;font-weight:700;display:grid}.employee-lifecycle-panel input{border:1px solid var(--line);min-height:44px;font:inherit;border-radius:10px;padding:0 12px}.employee-lifecycle-panel .admin-button{width:max-content}.employee-lifecycle-panel.archived{border-color:#d8b9b2}.employee-archive-summary,.employee-delete-blocked,.employee-permanent-delete{background:#f5f4ef;border-radius:13px;gap:7px;padding:16px;display:grid}.employee-archive-summary span,.employee-delete-blocked span{color:var(--muted)}.employee-permanent-delete{background:#fff6f4;border:1px solid #e4c1ba}.employee-permanent-delete h3{color:#8d392f;margin:0}.employee-permanent-delete strong{font-family:ui-monospace,monospace}.employee-delete-blocked{border:1px solid var(--line)}.schedule-header{align-items:center}.schedule-week-nav{background:var(--paper);border:1px solid #d9ddd6;border-radius:12px;align-items:center;gap:10px;min-height:44px;padding:5px;display:flex}.schedule-week-nav a{color:#3d665c;border-radius:9px;place-items:center;width:34px;height:34px;display:grid}.schedule-week-nav a:hover{background:#edf2ed}.schedule-week-nav strong{text-align:center;min-width:190px;font-size:11px}.schedule-message{margin:-10px 0 20px}.schedule-summary{grid-template-columns:repeat(4,minmax(130px,1fr));gap:12px;margin-bottom:18px;display:grid}.schedule-summary article{background:var(--paper);border:1px solid #173f361a;border-radius:14px;align-items:center;gap:12px;min-height:78px;padding:15px 16px;display:flex}.schedule-summary article>span{color:#286554;background:#dfece5;border-radius:11px;place-items:center;width:38px;height:38px;display:grid}.schedule-summary article div{gap:5px;display:grid}.schedule-summary small{color:var(--muted);font-size:9px}.schedule-summary strong{font:600 18px/1 Georgia,serif}.schedule-status{border-radius:999px;width:max-content;padding:5px 8px;font-family:inherit!important;font-size:10px!important}.schedule-status.draft{color:#856329;background:#f3ead7}.schedule-status.published{color:#23634e;background:#e0efe7}.schedule-status.empty{color:#687872;background:#ecefea}.schedule-empty{color:#668078;text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:10px;min-height:315px;padding:40px;display:flex}.schedule-empty strong{color:var(--ink);font-size:16px}.schedule-empty p{max-width:480px;color:var(--muted);margin:0 0 9px;font-size:11px;line-height:1.7}.schedule-toolbar{border-bottom:1px solid #e7e6df;justify-content:space-between;align-items:center;gap:18px;min-height:70px;padding:13px 17px;display:flex}.schedule-toolbar>div,.schedule-publish-bar>div{gap:4px;display:grid}.schedule-toolbar strong,.schedule-publish-bar strong{font-size:13px}.schedule-toolbar span,.schedule-publish-bar span{color:var(--muted);font-size:10px}.schedule-grid-wrap{overflow-x:auto}.schedule-grid{border-collapse:separate;border-spacing:0;width:100%;min-width:1120px}.schedule-grid th{color:#657770;text-align:left;white-space:nowrap;background:#f7f6f1;border-bottom:1px solid #e7e6df;padding:11px 12px;font-size:10px}.schedule-grid thead th:not(:first-child){text-align:center;min-width:145px}.schedule-grid tbody th{z-index:1;background:#fbfaf6;min-width:145px;position:sticky;left:0}.schedule-grid tbody th strong,.schedule-grid tbody th small{display:block}.schedule-grid tbody th strong{color:var(--ink);font-size:12px}.schedule-grid tbody th small{color:var(--muted);margin-top:3px;font-size:9px;font-weight:400}.schedule-grid td{border-bottom:1px solid #ecebe5;padding:9px}.schedule-grid select{color:#31574e;background:#fff;border:1px solid #d8dcd6;border-radius:9px;outline:none;width:100%;height:39px;padding:0 9px;font-size:10px}.schedule-grid select:focus{border-color:#4e8374;box-shadow:0 0 0 3px #39786717}.schedule-publish-bar{background:#ede9df;border:1px solid #ddd9cf;border-radius:14px;justify-content:space-between;align-items:center;gap:18px;margin-top:16px;padding:15px 17px;display:flex}.schedule-grid-readonly td{vertical-align:top}.schedule-readonly-shift,.schedule-readonly-empty{border-radius:9px;min-height:39px;padding:9px 10px;font-size:10px;line-height:1.45}.schedule-readonly-shift{color:#275b4e;background:#e4eee8}.schedule-readonly-empty{color:#89948f;text-align:center;background:#f3f3ef}.schedule-readonly-off{color:#8a4a54;text-align:center;background:#f7e4e7;border-radius:9px;min-height:39px;padding:9px 10px;font-size:10px;font-weight:700;line-height:1.45}.schedule-readonly-closed{color:#5e626d;text-align:center;background:#e8e9ed;border-radius:9px;min-height:39px;padding:9px 10px;font-size:10px;font-weight:700;line-height:1.45}.schedule-publish-confirm{align-items:center;gap:8px;display:flex}@media (max-width:980px){.app-shell{grid-template-columns:84px 1fr}.sidebar{align-items:center;padding-inline:14px}.brand{padding-inline:0}.brand>span:last-child,.nav-item span,.store-card,.profile-mini div:nth-child(2){display:none}.nav-item{justify-content:center;padding:14px}.profile-mini{margin-top:auto;padding:16px 0 0;display:block}.clock-card{min-height:0}}@media (max-width:720px){.app-shell{display:block}.sidebar{display:none}.topbar{margin-bottom:20px}.dashboard-grid{gap:14px}.clock-card{padding:28px 20px}.qr-button{margin-top:3px}.summary-card,.schedule-card{padding:21px}.mobile-nav{z-index:20;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fffdf8f0;border:1px solid #143c3221;border-radius:19px;grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;height:68px;display:grid;position:fixed;bottom:10px;left:12px;right:12px;box-shadow:0 12px 35px #19372f29}.mobile-nav a,.mobile-nav button{color:#82908b;cursor:pointer;background:0 0;border:0;flex-direction:column;justify-content:center;align-items:center;gap:4px;width:100%;font-size:9px;display:flex}.mobile-nav a.active{color:var(--green)}.mobile-nav button{color:#8a5b50}.admin-shell{display:block}.admin-sidebar{grid-template-columns:1fr auto;align-items:center;width:100%;height:auto;padding:15px 16px;display:grid;position:static}.admin-brand{padding:0}.admin-tenant{display:none}.admin-nav{grid-column:1/-1;gap:5px;margin-top:12px;display:flex;overflow-x:auto}.admin-nav a{white-space:nowrap;flex:none;padding:9px 11px}.admin-nav a.active{box-shadow:inset 0 -2px #bfe1cc}.admin-logout{margin:0}.admin-page-header{align-items:flex-start}.admin-page-header .admin-button{white-space:nowrap}.admin-stats{grid-template-columns:repeat(2,1fr)}.admin-form-grid{grid-template-columns:1fr}.form-panel{padding:20px 16px}.account-management,.account-credential-actions,.account-inline-form,.permission-grid{grid-template-columns:1fr}.permission-panel-header,.permission-form-footer{flex-direction:column;align-items:flex-start}.employee-permission-panel{padding:20px 16px}.schedule-header{display:grid}.schedule-week-nav{justify-content:space-between;width:100%}.schedule-week-nav strong{min-width:0}.schedule-summary{grid-template-columns:repeat(2,1fr)}.schedule-toolbar,.schedule-publish-bar{align-items:flex-start}.schedule-toolbar span,.schedule-publish-bar span{max-width:210px}.my-schedule-header{gap:15px;display:grid}.my-view-switch{width:100%}.my-view-switch a{flex:1}.my-schedule-toolbar{padding:19px 16px 15px}.my-schedule-toolbar h2{font-size:22px}.my-period-nav{gap:4px}.my-period-nav a{min-width:36px;min-height:38px;padding:7px}.my-period-nav .my-today-link{min-width:50px;font-size:12px}.my-schedule-summary{margin:0 16px 15px;padding:13px}.my-calendar-weekdays,.my-month-grid{padding-left:5px;padding-right:5px}.my-calendar-weekdays span{padding:10px 2px;font-size:11px}.my-month-grid{padding-bottom:5px}.my-month-day{gap:6px;min-height:76px;padding:7px 3px}.my-month-date{font-size:15px}.my-month-date i{width:5px;height:5px;padding:0;font-size:0;overflow:hidden}.my-month-day .my-shift-badge{text-align:center;border-radius:5px;width:100%;padding:5px 2px;font-size:10px}.my-month-hours{display:none}.my-no-shift{align-self:center;font-size:0}.my-no-shift:after{content:"—";font-size:16px}.my-day-detail{padding:19px 17px}.my-week-day{grid-template-columns:67px 1fr}.my-week-date{padding:13px 7px}.my-week-content{padding:15px 13px}.attendance-page-header{gap:18px}.attendance-correction-trigger{width:100%}.attendance-daily-card{grid-template-columns:1fr}.attendance-daily-result{border-bottom:1px solid #e6e7e2;border-right:0}.attendance-daily-punch{grid-template-columns:max-content minmax(0,1fr)}.attendance-daily-punch .attendance-evidence{grid-column:1/-1}.correction-drawer{padding:22px 18px 110px}.attendance-list article{grid-template-columns:62px 1fr}.attendance-evidence{border-top:1px solid #ecebe5;grid-column:1/-1;justify-items:start;padding-top:10px}.correction-form{grid-template-columns:1fr 1fr}.correction-reason{grid-column:1/-1}.correction-form .admin-button{grid-column:1/-1;justify-content:center}.attendance-summary-list article{grid-template-columns:85px 1fr;padding:9px 0}.attendance-calculate{flex-direction:column;align-items:flex-start}.attendance-calculate form{flex-wrap:wrap;width:100%}.attendance-calculate form label{flex:1}.correction-review-list article{grid-template-columns:1fr}.correction-review-list form{grid-template-columns:1fr 1fr}.correction-review-list form input{grid-column:1/-1}.attendance-detail-stats{grid-template-columns:1fr}.attendance-segment-list article{grid-template-columns:1fr 1fr}.attendance-evidence-list article{grid-template-columns:82px 1fr}.attendance-evidence-list article>div:last-child{border-top:1px solid #ecebe5;grid-column:1/-1;justify-items:start;padding-top:10px}.work-request-form-grid,.work-request-form-card form{grid-template-columns:1fr}.work-request-form-card label,.work-request-reason,.work-request-form-card .admin-button{grid-column:1/-1}.work-request-history article{grid-template-columns:minmax(112px,.8fr) minmax(0,1.5fr)}.work-request-decision{justify-items:start}.work-request-decision small{text-align:left}.entitlement-panel form{grid-template-columns:1fr}:root{--muted:#5f706a}html{-webkit-text-size-adjust:100%}body{font-size:16px;line-height:1.55}button,input,select,textarea{font-size:16px}.content{padding:23px 18px 104px}.route-loading{min-height:68vh;padding:18px}.admin-route-loading{min-height:52vh;padding:0}.route-loading-card{min-height:124px;padding:22px 20px}.route-loading-card strong{font-size:20px}.route-loading-card span{font-size:16px}.date-label{font-size:15px}.eyebrow,.admin-eyebrow,.login-kicker{letter-spacing:.09em;font-size:14px}.topbar h1,.my-schedule-header h1,.admin-page-header h1{font-size:32px;line-height:1.25}.my-schedule-header p,.admin-page-header p,.dashboard-empty p,.my-schedule-empty p,.correction-card>div>p,.attendance-calculate p,.schedule-empty p{font-size:15px;line-height:1.65}.section-heading h2,.attendance-list-heading h2,.correction-card h2,.attendance-summary-list h2,.attendance-results h2,.correction-review h2,.work-request-form-card>header strong{font-size:26px;line-height:1.3}.section-heading a{min-height:44px;font-size:15px}.mobile-nav{height:76px}.mobile-nav a,.mobile-nav button{gap:3px;min-height:52px;font-size:12px;font-weight:700}.admin-entry{min-height:46px;padding-inline:15px;font-size:15px}.icon-button{width:48px;height:48px}.status-pill{padding:8px 12px;font-size:15px}.clock-source,.shift-note{font-size:16px;line-height:1.55}.clock-button{min-height:52px;padding:14px 22px;font-size:18px}.qr-button{min-height:48px;font-size:15px}.location-label,.location-consent,.punch-message{font-size:15px;line-height:1.55}.location-consent input{width:20px;height:20px}.stat-grid small,.date-chip,.timeline-row time,.schedule-detail strong,.schedule-detail span,.avatars small,.dashboard-empty strong{font-size:15px}.schedule-detail em{padding:6px 9px;font-size:14px}.correction-card,.attendance-summary-list{padding:20px 18px}.correction-form{grid-template-columns:1fr;gap:14px}.correction-form label,.attendance-calculate form label{grid-column:1/-1;gap:7px;font-size:15px}.correction-form input,.correction-form select,.correction-form textarea,.attendance-calculate input,.correction-review form input{min-height:50px;padding:11px 12px;font-size:16px;line-height:1.5}.correction-form .admin-button{min-height:50px}.correction-message{min-height:20px;font-size:15px}.work-request-form-card{padding:20px 18px}.work-request-form-card>header p,.work-request-review .correction-review-list article>div>small,.work-request-review>header small{font-size:15px;line-height:1.55}.work-request-form-card label{gap:7px;font-size:15px}.work-request-form-card input,.work-request-form-card select,.work-request-form-card textarea{min-height:50px;padding:11px 12px;font-size:16px;line-height:1.5}.attendance-summary-list>header small,.attendance-results>header small{font-size:14px;line-height:1.5}.attendance-summary-list article{grid-template-columns:minmax(112px,.8fr) minmax(0,1.5fr);gap:10px 16px;min-height:72px;padding:15px 0;font-size:16px;line-height:1.5}.attendance-summary-list article>strong{font-size:17px}.attendance-summary-list article em{text-overflow:clip;white-space:normal;font-size:15px;line-height:1.55;overflow:visible}.attendance-day-status,.correction-status{padding:7px 10px;font-size:14px}.attendance-correction-trigger{min-height:52px;font-size:16px}.attendance-daily-result>strong{font-size:22px}.attendance-daily-result dt,.attendance-daily-result em{font-size:15px}.attendance-daily-result dd{font-size:17px}.attendance-daily-punch{min-height:116px;padding:18px}.attendance-daily-punch strong{font-size:18px;line-height:1.45}.attendance-daily-punch small,.attendance-no-punch{font-size:15px;line-height:1.55}.correction-drawer h2{font-size:28px}.exception-chip{padding:6px 9px;font-size:14px}.attendance-recalc-alert p,.admin-back-link,.attendance-detail-stats small,.attendance-segment-list small,.attendance-segment-list span,.attendance-exception-list p,.attendance-evidence-list small{font-size:15px;line-height:1.55}.attendance-detail-panel h2{font-size:26px}.attendance-segment-list strong,.attendance-exception-list strong,.attendance-evidence-list strong{font-size:16px;line-height:1.5}.attendance-detail-stats strong{font-size:27px}.attendance-list{gap:14px}.attendance-list-heading{padding:18px 20px}.attendance-list-heading>span{font-size:15px}.attendance-list article{grid-template-columns:96px minmax(0,1fr);gap:14px 16px;min-height:132px;padding:20px}.attendance-list strong{font-size:18px;line-height:1.45}.attendance-list small{font-size:15px;line-height:1.55}.attendance-event{padding:8px 12px;font-size:15px}.attendance-evidence{font-size:15px;line-height:1.55}.attendance-evidence svg{width:18px;height:18px}.my-schedule-summary small,.my-schedule-summary p{font-size:14px;line-height:1.5}.my-schedule-summary strong{font-size:21px}.my-selected-shift-notes p,.my-selected-empty{font-size:15px}.admin-sidebar{padding:16px 18px}.admin-nav a{min-height:46px;padding:11px 13px;font-size:15px}.admin-content{padding:28px 18px 54px}.admin-button{min-height:48px;padding-inline:16px;font-size:16px}.admin-success,.admin-form-error,.admin-form-success{font-size:15px;line-height:1.55}.admin-stats small,.admin-toolbar>span,.admin-empty p,.admin-back,.schedule-summary small,.schedule-toolbar span,.schedule-publish-bar span{font-size:14px;line-height:1.5}.admin-search{min-height:48px}.admin-search input,.admin-table,.admin-field input,.admin-field select,.admin-field textarea{font-size:16px}.admin-table th{font-size:14px}.admin-table code,.employee-cell small,.contact-cell small{font-size:15px}.employee-status,.table-action,.account-status,.schedule-status{font-size:14px!important}.admin-field label{font-size:15px}.admin-field input,.admin-field select{height:50px}.field-hint,.photo-upload small,.admin-field-error,.account-form>p,.account-summary span,.account-summary small{font-size:14px;line-height:1.55}.schedule-week-nav{min-height:50px}.schedule-week-nav a{width:42px;height:42px}.schedule-week-nav strong,.schedule-toolbar strong,.schedule-publish-bar strong{font-size:15px}.schedule-grid th{font-size:14px}.schedule-grid tbody th strong,.schedule-grid select,.schedule-readonly-shift,.schedule-readonly-empty{font-size:15px}.schedule-grid tbody th small{font-size:14px}.login-form>label{font-size:16px}.login-input{height:56px}.login-input input{font-size:17px}.field-error,.login-error{font-size:14px}.login-submit{min-height:54px;font-size:17px}}@media (max-width:820px){.login-shell{place-items:start center;padding:clamp(24px,7svh,56px) 16px 24px}.login-card{border-radius:20px;padding:28px 22px}.login-card-brand{margin-bottom:27px}}@media (display-mode:standalone) and (max-width:820px){.login-shell{padding:max(22px, env(safe-area-inset-top)) 16px max(22px, env(safe-area-inset-bottom));place-items:center}}@media (max-width:480px){.attendance-daily-punch{grid-template-columns:minmax(0,1fr)}.attendance-daily-punch .attendance-evidence{grid-column:1}}@media (max-width:390px){.stat-grid{gap:7px}.stat-grid article{padding:13px 9px}.stat-grid strong{font-size:21px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.schedule-warnings{gap:8px;margin:4px 0 16px;display:grid}.schedule-warning{border:1px solid #0000;border-radius:11px;align-items:center;gap:9px;padding:10px 13px;font-size:12px;line-height:1.5;display:flex}.schedule-warning svg{flex:none}.schedule-warning.warn{color:#8a5a15;background:#fbf1dc;border-color:#efd9ac}.schedule-warning.info{color:#2b6150;background:#e7f1ec;border-color:#c8ded4}.holiday-form{grid-template-columns:minmax(150px,.8fr) minmax(160px,1.1fr) minmax(120px,.7fr) auto;align-items:end;gap:12px;padding:20px;display:grid}.holiday-form-field{gap:6px;display:grid}.holiday-form-field label{color:var(--muted);letter-spacing:.04em;font-size:10px;font-weight:700}.holiday-form-field input,.holiday-form-field select{border:1px solid var(--line);background:var(--paper);border-radius:11px;min-height:42px;padding:0 12px}.holiday-form-field input:focus,.holiday-form-field select:focus{border-color:#4e8374;outline:none;box-shadow:0 0 0 3px #39786717}.holiday-form-note{grid-column:1/-1}.holiday-form-hint{color:var(--muted);margin:0;padding:0 20px 18px;font-size:11px}.holiday-list{margin:0;padding:0;list-style:none;display:grid}.holiday-list li{border-top:1px solid #ecebe5;justify-content:space-between;align-items:center;gap:14px;padding:14px 18px;display:flex}.holiday-list li:first-child{border-top:0}.holiday-list-main{align-items:center;gap:14px;min-width:0;display:flex}.holiday-list-main>div{gap:3px;min-width:0;display:grid}.holiday-list-main strong{font-size:14px}.holiday-list-main small{color:var(--muted);font-size:12px}.holiday-kind{border-radius:999px;flex:none;width:max-content;padding:5px 9px;font-size:10px;font-weight:700}.holiday-kind-national{color:#a2472f;background:#f6e4dc}.holiday-kind-company{color:#2b6150;background:#e2efe7}.holiday-kind-makeup_workday{color:#856329;background:#f3ead7}.admin-button.ghost{color:#7a5049;background:#f4ece9}.admin-button.ghost:hover{background:#ecdedb}@media (max-width:720px){.holiday-form{grid-template-columns:1fr 1fr}.holiday-form-note,.holiday-form .admin-button{grid-column:1/-1}.holiday-form .admin-button{justify-content:center}}.rule-form{grid-template-columns:repeat(3,minmax(120px,1fr)) auto;align-items:end;gap:12px;padding:20px;display:grid}.rule-form-field{gap:6px;display:grid}.rule-form-field label{color:var(--muted);letter-spacing:.04em;font-size:10px;font-weight:700}.rule-form-field input{border:1px solid var(--line);background:var(--paper);border-radius:11px;min-height:42px;padding:0 12px}.rule-form-field input:focus{border-color:#4e8374;outline:none;box-shadow:0 0 0 3px #39786717}.rule-form-hint{color:var(--muted);margin:0;padding:0 20px 18px;font-size:11px;line-height:1.55}.rule-list{margin:0;padding:0;list-style:none;display:grid}.rule-list li{border-top:1px solid #ecebe5;justify-content:space-between;align-items:center;gap:14px;padding:14px 18px;display:flex}.rule-list li:first-child{border-top:0}.rule-list li.rule-active{background:#f1f7f3}.rule-list-main{align-items:center;gap:14px;min-width:0;display:flex}.rule-list-main>div{gap:3px;display:grid}.rule-list-main strong{font-size:14px}.rule-list-main small{color:var(--muted);font-size:12px}.rule-version{text-align:center;color:#286554;background:#dfece5;border-radius:9px;flex:none;min-width:42px;padding:5px 9px;font:600 13px/1 Georgia,serif}.rule-current{color:#23634e;background:#e0efe7;border-radius:999px;flex:none;align-items:center;gap:5px;padding:5px 10px;font-size:11px;font-weight:700;display:inline-flex}@media (max-width:720px){.rule-form{grid-template-columns:1fr 1fr}.rule-form .admin-button{grid-column:1/-1;justify-content:center}}.proof-uploader{gap:6px;margin-top:8px;display:grid}.proof-list{gap:3px;margin:0;padding:0;list-style:none;display:grid}.proof-list li{color:var(--muted);align-items:center;gap:5px;font-size:12px;display:flex}.proof-list-readonly{margin-top:6px}.proof-form{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.proof-file{cursor:pointer;color:#2b6150;background:#e7f1ec;border-radius:9px;align-items:center;gap:5px;padding:6px 11px;font-size:12px;font-weight:600;display:inline-flex}.proof-message{color:var(--muted);font-size:12px}.request-proof-links{color:var(--muted);flex-wrap:wrap;align-items:center;gap:10px;margin-top:6px;font-size:12px;display:flex}.request-proof-links a{color:#2b6150;align-items:center;gap:4px;font-weight:600;display:inline-flex}.request-proof-links a:hover{text-decoration:underline}.payroll-setup form{grid-template-columns:repeat(4,minmax(130px,1fr)) auto;gap:10px;padding:18px;display:grid}.payroll-setup input,.payroll-setup select,.payroll-entry-list input,.payroll-entry-list select{border:1px solid var(--line);background:#fff;border-radius:9px;min-height:42px;padding:8px 10px}.payroll-chip-list{flex-wrap:wrap;gap:8px;padding:0 18px 18px;display:flex}.payroll-chip-list span{color:#345d52;background:#e9f1ed;border-radius:999px;padding:6px 9px;font-size:12px}.payroll-period>header{justify-content:space-between;align-items:center;gap:16px;display:flex}.payroll-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.payroll-actions form{display:inline-flex}.payroll-entry-list{display:grid}.payroll-entry-list article{border-top:1px solid #ecebe5;grid-template-columns:minmax(240px,.8fr) 1.5fr;gap:16px;padding:16px 18px;display:grid}.payroll-entry-list article>div{gap:5px;display:grid}.payroll-entry-list article span,.payroll-entry-list article small{color:var(--muted);font-size:12px}.payroll-entry-list form{grid-template-columns:90px 1fr 110px 1fr auto;gap:8px;display:grid}.payslip-sheet{border:1px solid var(--line);background:#fff;border-radius:16px;max-width:820px;margin:0 auto;padding:34px;box-shadow:0 14px 35px #19372f14}.payslip-sheet>header,.payslip-period,.payslip-totals{justify-content:space-between;gap:16px;display:flex}.payslip-sheet>header small,.payslip-sheet>header div{gap:4px;display:grid}.payslip-period{border-block:1px solid var(--line);color:var(--muted);margin:24px 0;padding:12px 0;font-size:13px}.payslip-sheet table{border-collapse:collapse;width:100%}.payslip-sheet th,.payslip-sheet td{text-align:left;border-bottom:1px solid #ecebe5;padding:12px}.payslip-sheet th:last-child,.payslip-sheet td:last-child{text-align:right}.payslip-sheet td small{color:var(--muted);display:block}.payslip-totals{margin-top:24px}.payslip-totals div{gap:5px;display:grid}.payslip-totals .net strong{color:#205f4c;font-size:24px}.payslip-sheet footer{color:var(--muted);margin-top:28px;font-size:11px;line-height:1.6}@media (max-width:760px){.payroll-setup form,.payroll-entry-list article,.payroll-entry-list form{grid-template-columns:1fr}.payroll-period>header,.payslip-sheet>header,.payslip-period,.payslip-totals{flex-direction:column;align-items:flex-start}.payslip-sheet{padding:20px}.payslip-totals{gap:12px}}.settings-panel{margin-bottom:22px}.settings-panel>header{padding:20px 22px 0}.settings-panel h2{align-items:center;gap:8px;display:flex}.settings-panel header p{color:var(--muted);margin:6px 0 0;font-size:13px}.settings-form{grid-template-columns:repeat(4,minmax(130px,1fr));align-items:end;gap:14px;padding:20px 22px;display:grid}.settings-form label,.payroll-setup label,.payroll-review-form label{color:var(--muted);gap:7px;font-size:12px;font-weight:700;display:grid}.settings-form input,.settings-form select,.payroll-setup label input,.payroll-setup label select,.payroll-review-form textarea{border:1px solid var(--line);min-height:42px;color:var(--ink);font:inherit;background:#fff;border-radius:9px;padding:8px 10px}.settings-form .settings-wide{grid-column:span 2}.settings-history{border-top:1px solid var(--line);margin:0;padding:0;list-style:none}.settings-history li{border-top:1px solid #f0efe9;grid-template-columns:minmax(120px,.45fr) minmax(260px,1fr);gap:5px 18px;padding:14px 22px;display:grid}.settings-history li:first-child{border-top:0}.settings-history span,.settings-history small{color:var(--muted);font-size:12px}.settings-history small{grid-column:2}.settings-error{color:#963b31;padding:0 22px 20px}.account-security-panel{max-width:820px}.account-security-panel>header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:18px;padding:22px;display:flex}.account-security-panel>header h2{align-items:center;gap:8px;margin:5px 0 0;font:600 22px/1.25 Georgia,Noto Serif TC,serif;display:flex}.account-security-panel>header p{color:var(--muted);margin:7px 0 0;font-size:12px}.account-security-panel>header>svg{color:#2d6859;flex:none}.account-security-form{grid-template-columns:repeat(2,minmax(0,1fr));align-items:end;gap:17px;padding:22px;display:grid}.account-security-form label{color:var(--muted);gap:7px;font-size:12px;font-weight:700;display:grid}.account-security-form label:first-child{grid-column:1/-1}.account-security-form input{border:1px solid var(--line);min-height:46px;color:var(--ink);font:inherit;background:#fff;border-radius:9px;padding:9px 11px}.account-security-form input:focus{border-color:#4e8374;outline:none;box-shadow:0 0 0 3px #39786717}.account-security-form label small{font-size:10px;font-weight:400;line-height:1.5}.account-security-note{color:#795049;background:#f7ece8;border-radius:11px;grid-column:1/-1;align-items:flex-start;gap:11px;padding:14px;display:flex}.account-security-note p{gap:4px;margin:0;display:grid}.account-security-note span{color:#876c66;font-size:11px;line-height:1.55}.account-security-form .admin-button{width:max-content}.payroll-period-tabs,.payslip-tabs{gap:8px;margin:18px 0;display:flex;overflow-x:auto}.payroll-period-tabs a,.payslip-tabs a{border:1px solid var(--line);min-width:104px;color:var(--ink);background:#fff;border-radius:10px;gap:2px;padding:10px 13px;display:grid}.payroll-period-tabs a.active,.payslip-tabs a.active{background:#e9f1ed;border-color:#4e8374}.payroll-period-tabs small{color:var(--muted);font-size:11px}.payroll-item-stack{min-width:0}.payroll-item-stack ul{margin:0 0 10px;padding:0;list-style:none}.payroll-item-stack li{border-bottom:1px solid #efeee9;grid-template-columns:1fr auto auto;align-items:center;gap:8px;padding:7px 4px;display:grid}.payroll-item-stack li span{display:grid}.payroll-item-stack li form button{color:#963b31;background:#fff0ed;border:0;border-radius:7px;padding:5px}.payroll-adjustment-form{grid-template-columns:86px 1fr 110px 1fr auto;gap:8px;display:grid}.payroll-warning{font-weight:700;color:#a45a2a!important}.payroll-review-form{border-top:1px solid var(--line);background:#f8faf7;grid-template-columns:1fr auto;align-items:end;gap:12px;padding:18px;display:grid}.payroll-review-form textarea{resize:vertical;min-height:76px}.payslip-tabs{max-width:920px;margin:0 auto 18px}.audit-table td{vertical-align:top}.audit-table td>small,.audit-table td strong+small{color:var(--muted);margin-top:3px;font-size:10px;display:block}.audit-table details{min-width:160px}.audit-table summary{cursor:pointer;color:#315f52;font-weight:700}.audit-table details b,.audit-table details code{margin-top:7px;display:block}.audit-table details code{overflow-wrap:anywhere;white-space:normal;background:#f4f6f1;border-radius:6px;max-width:360px;padding:7px;font-size:10px}.audit-pagination{justify-content:flex-end;gap:8px;margin-top:16px;display:flex}@media (max-width:900px){.settings-form{grid-template-columns:repeat(2,minmax(0,1fr))}.settings-history li{grid-template-columns:1fr}.settings-history small{grid-column:1}}@media (max-width:760px){.settings-form,.payroll-adjustment-form,.payroll-review-form{grid-template-columns:1fr}.settings-form .settings-wide{grid-column:1}.account-security-form{grid-template-columns:1fr}.account-security-form label:first-child,.account-security-note{grid-column:1}}body{font-size:16px;line-height:1.55}p{line-height:1.65;font-size:15px!important}small{line-height:1.5;font-size:14px!important}label{line-height:1.45;font-size:15px!important}input,select,textarea{line-height:1.45;font-size:16px!important}button,table{font-size:15px}th{line-height:1.45;font-size:13px!important}td{font-size:15px;line-height:1.5}code{line-height:1.55;font-size:14px!important}.login-kicker,.eyebrow,.admin-eyebrow{font-size:12px;line-height:1.45}.field-error,.login-error,.login-success{font-size:14px}.login-form>label{font-size:15px!important}.login-input input{font-size:16px!important}.login-submit{font-size:16px}.nav-item,.admin-nav a{font-size:15px}.mobile-nav a,.mobile-nav button,.mobile-nav summary,.store-card>span:last-child,.profile-mini div span,.admin-brand small,.admin-tenant small{font-size:14px}.profile-mini div:nth-child(2),.admin-brand strong,.admin-tenant strong,.admin-entry,.admin-button,.table-action,.text-button{font-size:15px}.admin-success,.admin-form-error,.admin-form-success{font-size:15px;line-height:1.55}.admin-search input,.admin-table,.admin-table code{font-size:15px!important}.employee-status,.schedule-status,.account-status,.holiday-kind,.rule-current{font-size:14px!important}.date-label,.status-pill,.shift-note,.qr-button,.location-label,.location-consent,.punch-message{font-size:15px;line-height:1.55}.section-heading a,.date-chip,.attendance-list-heading>span{font-size:14px;line-height:1.5}.stat-grid small,.schedule-detail span,.schedule-detail em,.avatars small{font-size:14px!important}.timeline-row time,.schedule-detail strong,.dashboard-empty strong{font-size:16px}.dashboard-empty p{font-size:15px!important}.attendance-list strong,.attendance-daily-punch strong{font-size:16px;line-height:1.45}.attendance-list small,.attendance-evidence,.attendance-event,.correction-card>div>p,.correction-message{font-size:14px;line-height:1.55}.attendance-summary-list article,.attendance-summary-list article em,.attendance-day-status,.correction-status,.exception-chip,.correction-review-list article span,.correction-review-list article p,.correction-review-list button{font-size:14px;line-height:1.5}.attendance-calculate p,.attendance-recalc-alert p,.attendance-segment-list span,.attendance-segment-list strong,.attendance-exception-list p,.attendance-evidence-list strong{line-height:1.55;font-size:15px!important}.work-request-form-card>header p,.work-request-review>header small,.request-policy-note{font-size:15px!important}.leave-balance-grid article span,.leave-balance-grid article small,.proof-list li,.proof-file,.proof-message,.request-proof-links{line-height:1.5;font-size:14px!important}.my-schedule-header p,.my-schedule-empty p{line-height:1.55;font-size:15px!important}.schedule-warning,.holiday-form-hint,.rule-form-hint,.settings-panel header p,.settings-history span,.payroll-chip-list span,.payroll-entry-list article span,.payroll-entry-list article small,.payslip-period,.payslip-sheet footer,.account-security-panel>header p,.account-security-note span,.payroll-period-tabs small,.audit-table td>small,.audit-table td strong+small,.audit-table details code{line-height:1.55;font-size:14px!important}@media (max-width:720px){.mobile-nav{bottom:max(10px, env(safe-area-inset-bottom));grid-template-columns:repeat(5,minmax(0,1fr));grid-auto-flow:row;padding:4px}.mobile-nav>a,.mobile-more>summary{color:#667b72;white-space:nowrap;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:3px;min-width:0;min-height:66px;font-size:14px;font-weight:700;display:flex}.mobile-nav>a.active,.mobile-more>summary.active,.mobile-more[open]>summary{color:#1d624b;background:#e6f1e9}.mobile-more{min-width:0;position:relative}.mobile-more>summary{cursor:pointer;list-style:none}.mobile-more>summary::-webkit-details-marker{display:none}.mobile-more>summary .nav-badge{top:5px;right:calc(50% - 26px)}.mobile-more-menu{background:#fffdf8;border:1px solid #d9e1d9;border-radius:18px;width:min(270px,100vw - 24px);padding:8px;position:absolute;bottom:calc(100% + 14px);right:0;box-shadow:0 16px 38px #19372f33}.mobile-more-menu a,.mobile-more-menu button{color:#31564a;text-align:left;border-radius:11px;flex-direction:row;justify-content:flex-start;gap:12px;height:auto;min-height:52px;padding:10px 12px;font-size:15px;display:flex}.mobile-more-menu a.active{color:#1d624b;background:#e6f1e9}.mobile-more-menu form{border-top:1px solid #e9eee8;height:auto;margin-top:5px;padding-top:5px}.mobile-more-menu button{color:#8a4d43}.mobile-more-menu .nav-badge{min-width:20px;height:20px;margin-left:auto;font-size:11px;position:static}}@media print{body{background:#fff}.app-shell .sidebar,.mobile-nav,.no-print{display:none!important}.app-shell,.content{display:block!important}.payslip-sheet{max-width:none;box-shadow:none;border:0;margin:0}.payslip-sheet footer{page-break-inside:avoid}}.notifications-header p{color:var(--muted);margin:7px 0 0}.notifications-header form{margin-left:auto}.notification-list{gap:12px;display:grid}.notification-list article{border:1px solid var(--line);background:#ffffffc7;border-radius:16px;grid-template-columns:auto 1fr auto;align-items:start;gap:14px;padding:18px 20px;display:grid;box-shadow:0 8px 24px #25483d0d}.notification-list article.unread{background:#fff;border-color:#9dcab8;box-shadow:inset 4px 0 #2f7661,0 8px 24px #25483d12}.notification-icon{width:40px;height:40px;color:var(--green);background:#e6f3ec;border-radius:12px;place-items:center;display:grid}.notification-copy>div{color:var(--muted);align-items:center;gap:10px;font-size:12px;display:flex}.notification-copy>div span{color:var(--green);background:#edf4f1;border-radius:20px;padding:3px 8px;font-weight:800}.notification-copy h2{margin:7px 0 4px;font-size:17px}.notification-copy p{color:var(--muted);margin:0 0 10px}.notification-copy a{color:var(--green);align-items:center;gap:5px;font-size:13px;font-weight:800;display:inline-flex}.notification-list article>form button{border:1px solid var(--line);width:38px;height:38px;color:var(--green);cursor:pointer;background:#fff;border-radius:50%;place-items:center;display:grid}.notification-read-label{color:var(--muted);font-size:12px}.notification-empty{border:1px dashed var(--line);min-height:280px;color:var(--muted);text-align:center;background:#ffffff8c;border-radius:18px;align-content:center;place-items:center;gap:10px;display:grid}.notification-empty strong{color:var(--ink);font-size:18px}.notification-empty p{margin:0}@media (max-width:760px){.notification-list article{grid-template-columns:auto 1fr;padding:16px}.notification-list article>form,.notification-read-label{grid-column:2}.notifications-header{align-items:flex-start}.notifications-header form{margin-left:0}}.punch-flow-status{text-align:center;gap:7px;padding:16px 0;display:grid}.punch-flow-status strong{font-size:1.1rem}.punch-flow-status small{color:var(--text-muted,#66736c)}.meal-countdown{font-variant-numeric:tabular-nums;font-size:clamp(2.5rem,12vw,4.5rem);line-height:1.1}.punch-flow-tools{flex-wrap:wrap;justify-content:center;gap:16px;margin-top:14px;display:flex}.punch-flow-tools>button{color:inherit;background:0 0;border:0;padding:8px;text-decoration:underline}.punch-action-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:12px;display:grid}.punch-action-options button{color:#29483d;background:#fff;border:1px solid #d8e0db;border-radius:10px;padding:12px 6px}.punch-action-options button:disabled{opacity:.45}.punch-flow-warning{color:#76501c;background:#fff2db;border-radius:10px;padding:12px;font-size:.9rem}.punch-today-events{text-align:left;margin-top:14px}.punch-today-events ol{padding:0;list-style:none}.punch-today-events li{border-bottom:1px solid #e4e9e5;gap:12px;padding:8px 0;font-size:.9rem;display:flex}.punch-today-events time{font-variant-numeric:tabular-nums}.punch-today-events small{color:#68756e;margin-left:auto}.push-reminder-settings{text-align:center;margin-top:12px;font-size:.85rem}.push-reminder-settings button{color:inherit;background:0 0;border:0;padding:8px;text-decoration:underline}.qr-scanner-card>details{margin-top:18px}.punch-panel>.punch-flow-status{grid-template-columns:minmax(0,1fr);display:grid}.clock-card .punch-flow-status small{color:#d4e4dd}.punch-panel>.punch-action-options{display:grid}.punch-panel>.punch-flow-tools{flex-wrap:nowrap;gap:12px}.punch-flow-tools .attendance-correction-trigger{width:auto;min-height:40px;box-shadow:none;background:0 0;padding:8px;font-size:14px}.punch-panel>.clock-button{justify-content:center;min-width:220px}.qr-scanner-card>.qr-button,.qr-scanner-card details>.qr-button{color:#fff;background:#235b4c;border-radius:10px}.qr-scanner-card .location-consent{color:#334c43}.punch-method-card{padding:22px}.punch-method-card .qr-scanner-heading{margin-bottom:20px}.punch-method-card .punch-method-hint{text-align:left;margin:-8px 0 16px}.punch-gps-option{background:#f5f9f5;border:1px solid #dce8df;border-radius:16px;gap:17px;padding:20px;display:grid}.punch-gps-heading{color:#235b4c;align-items:center;gap:12px;display:flex}.punch-gps-heading>div{gap:3px;display:grid}.punch-gps-heading strong{font-size:18px}.punch-gps-heading span{color:#5f746a;font-size:14px}.punch-gps-submit{color:#fff;cursor:pointer;background:#235b4c;border:0;border-radius:11px;justify-content:center;align-items:center;gap:9px;width:100%;min-height:52px;font-size:16px;font-weight:700;display:flex}.punch-gps-submit:disabled{cursor:not-allowed;background:#a9bbb1}.punch-qr-alternative{color:#315f50;cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;gap:8px;width:100%;min-height:48px;margin-top:14px;font-size:14px;font-weight:600;display:flex}.punch-qr-alternative:disabled{opacity:.5;cursor:not-allowed}.punch-method-card .punch-method-message{text-align:left;margin:9px 0 0}@media (max-width:720px){.my-schedule-summary{grid-template-columns:minmax(0,1fr);align-items:start;gap:7px;display:grid}.my-schedule-summary>div,.my-schedule-summary>div>div{min-width:0}.my-schedule-summary small,.my-schedule-summary strong{white-space:nowrap}.my-schedule-summary p{padding-left:51px}}.employee-home{max-width:640px;margin:0 auto}.employee-home .topbar{align-items:center;gap:12px;margin-bottom:22px}.employee-home .topbar h1{margin:0 0 7px;font-family:inherit;font-size:clamp(24px,4vw,30px);font-weight:700}.employee-home .date-label{font-size:14px}.employee-home .dashboard-grid{gap:16px}.employee-home .clock-card{border-radius:22px;min-height:0;padding:26px 22px 18px}.employee-home .clock-card:before{display:none}.employee-home .time.led-clock{--led-height:clamp(52px, 24cqw, 132px);margin:0}.employee-home .clock-source{margin-top:14px;font-size:12px}.employee-home .shift-note{border-top:1px solid #ffffff2b;width:100%;margin:18px 0 0;padding-top:14px;font-size:14px}.home-punch-card,.home-events-card{background:var(--paper);border:1px solid var(--line);border-radius:22px;box-shadow:0 8px 26px #1f39300a}.home-punch-card{color:var(--ink);gap:0;padding:22px}.home-punch-card>.punch-flow-status{text-align:center;gap:10px;padding:0}.home-flow-state{color:#547365;justify-content:center;align-items:center;gap:8px;font-size:14px;font-weight:600;display:flex}.home-flow-state i{background:#5b9678;border-radius:50%;width:7px;height:7px}.home-punch-card h2{margin:4px 0 0;font-size:clamp(21px,5.8vw,27px);line-height:1.45}.home-punch-card .punch-flow-status small{color:#738078;font-size:13px;line-height:1.6}.home-punch-card .punch-flow-status strong{font-size:16px;font-weight:600}.home-punch-card .meal-countdown{color:var(--green);font-variant-numeric:tabular-nums;letter-spacing:-.045em;margin:3px 0;font:600 clamp(54px,17vw,76px)/1.1 ui-monospace,monospace}.home-punch-card>.clock-button{background:var(--green);color:#fff;width:100%;min-width:0;min-height:54px;box-shadow:none;border-radius:13px;margin-top:20px;font-size:17px}.home-punch-card>.clock-button:hover:not(:disabled){background:#245b49}.home-punch-card>.punch-flow-tools{grid-template-columns:1fr 1fr;gap:0;margin-top:14px;display:grid}.home-punch-card .punch-flow-tools>button{color:#587165;cursor:pointer;border-radius:0;justify-content:center;align-items:center;gap:7px;min-height:44px;padding:8px 4px;font-size:14px;text-decoration:none;display:flex}.home-punch-card .punch-flow-tools>button+button{border-left:1px solid #e2e8e2}.home-punch-card>.punch-action-options{margin:12px 0}.home-punch-card .push-reminder-settings{color:#7a877e;border-top:1px solid #e8ece5;flex-wrap:wrap;justify-content:center;align-items:center;gap:6px;margin-top:12px;padding-top:14px;font-size:12px;line-height:1.6;display:flex}.home-punch-card .push-reminder-settings>svg{flex-shrink:0}.home-punch-card .push-reminder-settings>span{flex:0 auto}.home-punch-card .push-reminder-settings button{color:#557461;min-height:32px;padding:0}.home-punch-card .push-reminder-settings p{flex-basis:100%;margin:0}.home-early-end{color:#7a877e;cursor:pointer;background:0 0;border:0;justify-self:center;min-height:44px;margin-top:5px;font-size:12px;text-decoration:underline}.home-punch-card .punch-message{color:#315f4b;text-align:center;margin:12px 0 0;font-size:13px;line-height:1.6}.home-punch-card .punch-flow-warning{margin:14px 0 0;font-size:13px;line-height:1.65}.employee-home .home-schedule-card{padding:20px 22px}.home-schedule-card .section-heading h2{align-items:center;gap:8px;margin:0;font-family:inherit;font-size:17px;font-weight:700;display:flex}.home-shift-rows{gap:11px;margin-top:15px;display:grid}.home-shift-rows>div{justify-content:space-between;align-items:center;gap:12px;font-size:16px;display:flex}.home-shift-rows span{color:#64776c}.home-shift-rows time{font-variant-numeric:tabular-nums;font-weight:600}.home-schedule-note{color:#829086;margin:14px 0 0;font-size:12px;line-height:1.6}.home-schedule-empty{margin-top:16px;font-size:15px}.home-schedule-empty p{color:#78867d;margin:7px 0 0;font-size:13px;line-height:1.6}.home-events-card{margin:0;padding:0 22px}.home-events-card summary{cursor:pointer;justify-content:space-between;align-items:center;gap:12px;min-height:60px;font-size:15px;font-weight:600;list-style:none;display:flex}.home-events-card summary::-webkit-details-marker{display:none}.home-events-card summary>span{align-items:center;gap:8px;display:flex}.home-events-card summary small{color:#8a958e;font-size:12px;font-weight:400}.home-events-card[open] summary>svg{transform:rotate(180deg)}.home-events-card[open]{padding-bottom:18px}.employee-home .home-month-summary{box-shadow:none;background:0 0;border-style:dashed;padding:16px 22px}.home-month-summary summary{cursor:pointer;color:#6c8074;font-size:14px}.employee-home .stat-grid{margin-top:16px}.employee-home button:disabled{cursor:not-allowed;opacity:.5}.employee-home button:focus-visible,.employee-home summary:focus-visible{outline-offset:3px;outline:3px solid #92bea4}@media (max-width:720px){.employee-home .topbar{margin-bottom:18px}.employee-home .dashboard-grid{gap:14px}.employee-home .clock-card{padding:24px 20px 17px}.home-punch-card{padding:22px 20px 18px}.employee-home .home-schedule-card{padding:18px 20px}.home-events-card{padding-inline:20px}}.home-events-card .home-auto-meal-note{color:#6c8074;margin-top:4px;font-size:12px;display:block}.employee-attendance-filter{margin-bottom:20px;padding:20px}.employee-attendance-filter form{flex-wrap:wrap;align-items:end;gap:16px;display:flex}.employee-attendance-filter label{gap:8px;font-size:14px;font-weight:600;display:grid}.employee-attendance-filter select,.employee-attendance-filter input{color:#172b43;min-height:44px;font:inherit;background:#fff;border:1px solid #d8e0e8;border-radius:8px;padding:10px 12px}.employee-attendance-days{padding:0 20px 20px}.employee-attendance-day{border-top:1px solid #e6ebf0;grid-template-columns:150px minmax(0,1fr);gap:16px;padding:16px 0;display:grid}.employee-attendance-day>header{align-content:start;gap:8px;display:grid}.employee-attendance-day small,.employee-attendance-empty{color:#596a7c}.employee-attendance-punch{flex-wrap:wrap;align-items:center;gap:10px 16px;padding:8px 0;display:flex}.employee-attendance-punch>div{gap:4px;display:grid}.employee-attendance-punch>small{font-size:13px}.employee-attendance-empty{margin:0;padding:8px 0;font-size:14px}@media (max-width:640px){.employee-attendance-filter label{width:100%}.employee-attendance-day{grid-template-columns:1fr;gap:8px}.employee-attendance-day>header{justify-content:space-between;display:flex}.employee-attendance-punch>small{width:100%}}
