/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.relative{position:relative}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.table{display:table}}:root{--aoba-ui-ready:1;--navy:#17324d;--navy-deep:#10273c;--teal:#0f766e;--teal-light:#e8f3f1;--blue-light:#edf3f8;--paper:#f4f7f8;--white:#fff;--ink:#1f2d3a;--muted:#677581;--line:#c9d3dd;--green:#17835f;--orange:#d36428;--danger:#9d2f2f}*{box-sizing:border-box}html{background:var(--paper);min-height:100%}body{min-height:100vh;color:var(--ink);background:radial-gradient(circle at 12% 0%, #0f766e1a, transparent 28rem), var(--paper);-webkit-font-smoothing:antialiased;margin:0;font-family:-apple-system,BlinkMacSystemFont,Hiragino Sans,Yu Gothic,Noto Sans JP,sans-serif}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{touch-action:manipulation}.kiosk-shell{flex-direction:column;max-width:1180px;min-height:100vh;margin:0 auto;padding:clamp(22px,4vw,52px);display:flex}.kiosk-header{border-bottom:2px solid var(--navy);justify-content:space-between;align-items:flex-end;gap:24px;padding-bottom:26px;display:flex}.brand,.eyebrow{color:var(--teal);letter-spacing:.08em;margin:0 0 8px;font-size:14px;font-weight:700}.brand span{color:var(--muted);font-weight:500}.kiosk-header h1,.admin-header h1{color:var(--navy);letter-spacing:.04em;margin:0;font-size:clamp(32px,5vw,54px);font-weight:600}.clock{text-align:right}.clock span{color:var(--muted);margin-bottom:5px;font-size:clamp(14px,2vw,19px);display:block}.clock strong{color:var(--navy);font-variant-numeric:tabular-nums;letter-spacing:.03em;font-size:clamp(32px,5vw,56px);font-weight:500}.employee-panel{flex-direction:column;flex:1;justify-content:center;padding:clamp(36px,6vw,78px) 0;display:flex}.section-heading{justify-content:space-between;align-items:center;margin-bottom:22px;display:flex}.section-heading p{color:var(--navy);margin:0;font-size:clamp(18px,2.4vw,26px);font-weight:600}.section-heading span,.records-heading span{color:var(--muted);background:var(--blue-light);border-radius:999px;padding:6px 12px;font-size:13px}.employee-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(20px,3vw,34px);display:grid}.employee-card,.loading-card{border:1px solid var(--line);background:#fffffff0;border-radius:24px;min-height:clamp(190px,28vw,280px);box-shadow:0 16px 44px #17324d17}.employee-card{color:var(--navy);text-align:left;cursor:pointer;flex-direction:column;justify-content:center;align-items:flex-start;padding:clamp(28px,5vw,58px);transition:transform .16s,border-color .16s,box-shadow .16s;display:flex;position:relative}.employee-card:active{transform:scale(.985)}.employee-card:hover,.employee-card:focus-visible{border-color:var(--teal);outline:none;box-shadow:0 20px 56px #0f766e26}.employee-card strong{letter-spacing:.06em;margin:18px 0 9px;font-size:clamp(30px,4vw,48px);font-weight:600}.employee-card small{color:var(--muted);font-size:clamp(15px,2vw,19px)}.status-dot{background:#a8b1b8;border-radius:50%;width:18px;height:18px;box-shadow:0 0 0 7px #a8b1b826}.status-dot.working{background:var(--green);box-shadow:0 0 0 7px #17835f24}.status-dot.on_break{background:#d89a24;box-shadow:0 0 0 7px #d89a2426}.loading-card{color:var(--muted);grid-column:1/-1;place-items:center;font-size:19px;display:grid}.punch-panel{flex-direction:column;flex:1;padding:28px 0 48px;display:flex}.back-button{color:var(--teal);cursor:pointer;background:0 0;border:0;align-self:flex-start;padding:12px 0;font-size:17px;font-weight:600}.person-title{text-align:center;margin:auto 0 40px}.person-title p{color:var(--muted);margin:0 0 8px}.person-title h2{color:var(--navy);letter-spacing:.06em;margin:0 0 16px;font-size:clamp(40px,7vw,72px);font-weight:600}.person-title h2 span{margin-left:8px;font-size:.42em;font-weight:500}.person-status{color:var(--muted);background:var(--blue-light);border-radius:999px;padding:9px 18px;font-weight:600;display:inline-block}.person-status.working{color:var(--green);background:#e8f6f0}.person-status.on_break{color:#a4670a;background:#fff3d9}.person-blocked{background:#faeaea;border:1px solid #e9bcbc;border-radius:10px;width:min(100%,620px);padding:13px 16px;font-weight:700;color:var(--danger)!important;margin:18px auto 0!important}.punch-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(20px,3vw,34px);margin-bottom:auto;display:grid}.punch-button{color:#fff;cursor:pointer;border:0;border-radius:24px;flex-direction:column;justify-content:center;align-items:center;gap:10px;min-height:clamp(170px,26vw,250px);display:flex;box-shadow:0 18px 42px #17324d24}.punch-button.clock-in{background:linear-gradient(145deg,#159180,#0f766e)}.punch-button.clock-out{background:linear-gradient(145deg,#df7a3b,#bd5025)}.punch-button.break-start{background:linear-gradient(145deg,#e0a33a,#bd7816)}.punch-button.break-end{background:linear-gradient(145deg,#4d8eb8,#326c93)}.punch-button span{font-size:clamp(30px,5vw,48px);font-weight:700}.punch-button small{opacity:.84;font-size:15px}.punch-button:disabled{color:#8d979f;box-shadow:none;cursor:not-allowed;background:#dde2e5}.alert{text-align:center;border-radius:12px;margin-top:18px;padding:15px 18px;font-weight:600}.alert.error{color:var(--danger);background:#faeaea;border:1px solid #e9bcbc}.alert.success{color:var(--green);background:#e6f4ee;border:1px solid #aed9c8;font-size:18px}footer{color:var(--muted);border-top:1px solid var(--line);justify-content:space-between;gap:20px;padding-top:18px;font-size:13px;display:flex}footer a,.admin-back{color:var(--teal);font-weight:600;text-decoration:none}.setup-screen,.admin-login{place-items:center;min-height:100vh;padding:24px;display:grid}.setup-card,.admin-login-card{border:1px solid var(--line);background:var(--white);border-radius:22px;width:min(100%,520px);padding:clamp(32px,6vw,58px);box-shadow:0 22px 70px #17324d1f}.setup-card h1,.admin-login-card h1{color:var(--navy);margin:0 0 18px;font-size:34px}.setup-card p:last-child{color:var(--muted);margin:0;line-height:1.8}.device-registration-form{gap:12px;margin-top:26px;display:grid}.device-registration-form label{color:var(--navy);font-weight:700}.device-registration-form input{border:1px solid var(--line);border-radius:12px;min-height:52px;padding:10px 14px;font-size:18px}.device-registration-form button{color:#fff;background:var(--teal);border:0;border-radius:12px;min-height:54px;font-size:18px;font-weight:700}.device-registration-form button:disabled{background:#a8b7b6}.device-registration-form small{color:var(--muted);line-height:1.6}.admin-login-card{flex-direction:column;gap:12px;display:flex}.admin-back{margin-bottom:20px}.admin-login-card label{margin-top:8px;font-weight:600}.admin-login-card input{border:1px solid var(--line);background:#fff;border-radius:10px;height:56px;padding:0 16px;font-size:20px}.admin-login-card input:focus{border-color:var(--teal);outline:3px solid #0f766e1f}.admin-login-card button,.admin-actions button{color:#fff;background:var(--teal);cursor:pointer;border:0;border-radius:10px;font-weight:700}.admin-login-card button{height:56px;margin-top:12px}.admin-login-card button:disabled{opacity:.5}.admin-shell{max-width:1180px;min-height:100vh;margin:0 auto;padding:clamp(24px,5vw,60px)}.admin-toolbar{border:1px solid var(--line);background:#fff;border-radius:14px;align-items:flex-end;gap:14px;margin-bottom:24px;padding:18px;display:flex}.admin-toolbar label{color:var(--muted);gap:6px;font-size:13px;font-weight:600;display:grid}.admin-toolbar input,.settings-card input,.settings-card select{border:1px solid var(--line);height:44px;color:var(--ink);background:#fff;border-radius:8px;padding:0 12px}.close-badge{color:#8a5a0a;background:#fff3d9;border-radius:999px;margin-left:auto;padding:10px 14px;font-size:13px;font-weight:700}.close-badge.closed{color:var(--green);background:#e6f4ee}.employee-add-form{background:#f4f8f7;border-radius:16px;grid-template-columns:minmax(180px,1fr) auto minmax(120px,.6fr) minmax(140px,.7fr) auto;align-items:end;gap:.8rem;margin:1rem 0 1.2rem;padding:1rem;display:grid}.employee-add-form label{gap:.35rem;font-size:.85rem;font-weight:700;display:grid}.employee-add-form input{border:1px solid #bfd0ce;border-radius:10px;min-height:44px;padding:.6rem}.employee-checkbox{grid-template-columns:auto 1fr;align-items:center;gap:.5rem;display:flex!important}.employee-checkbox input{width:18px;height:18px;min-height:0}.employee-add-form button{min-height:44px}.secondary-button,.inline-actions button,.table-button,.settings-card button{color:#fff;background:var(--teal);cursor:pointer;border:0;border-radius:8px;font-weight:700}.secondary-button{padding:12px 16px}.warning-panel{background:#fffaf0;border:1px solid #ebc98b;border-radius:14px;margin-bottom:24px;padding:20px 22px}.warning-panel h2{color:var(--navy);margin:0 0 12px;font-size:18px}.warning-panel p{border-left:3px solid #d99a2b;margin:8px 0 0;padding-left:14px}.warning-panel p.danger{border-color:var(--danger);color:var(--danger)}.admin-header{justify-content:space-between;align-items:center;gap:24px;margin-bottom:38px;display:flex}.admin-header h1{font-size:clamp(34px,5vw,52px)}.admin-actions{align-items:center;gap:12px;display:flex}.admin-actions button,.admin-actions a{padding:13px 18px;font-size:14px}.admin-actions a{border:1px solid var(--line);color:var(--navy);background:#fff;border-radius:10px;font-weight:600;text-decoration:none}.summary-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-bottom:24px;display:grid}.summary-cards article{border:1px solid var(--line);background:#fff;border-radius:16px;padding:24px}.summary-cards article span,.summary-cards article small{color:var(--muted)}.summary-cards article strong{color:var(--navy);margin:8px 0 2px;font-size:36px;display:block}.records-card{border:1px solid var(--line);background:#fff;border-radius:18px;overflow:hidden}.records-card+.records-card{margin-top:24px}.attendance-ledger-section{margin-top:24px;margin-bottom:24px}.ledger-heading span,.raw-history summary span{color:var(--muted);margin-top:5px;font-size:13px;display:block}.employee-ledger-tabs{background:#f7f9fa;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;padding:18px 24px 0;display:grid}.employee-ledger-tabs button{min-height:68px;color:var(--navy);text-align:left;cursor:pointer;background:#fff;border:1px solid #c8d5de;border-bottom:3px solid #0000;border-radius:12px 12px 0 0;gap:4px;padding:12px 16px;display:grid}.employee-ledger-tabs button.active{border-color:var(--teal);border-bottom-color:var(--teal);background:#eaf6f4}.employee-ledger-tabs button strong{font-size:17px}.employee-ledger-tabs button span{color:var(--muted);font-size:12px}.ledger-filter-row{border-bottom:1px solid var(--line);background:#f7f9fa;justify-content:space-between;align-items:center;gap:18px;padding:16px 24px;display:flex}.ledger-filters{flex-wrap:wrap;gap:6px;display:flex}.ledger-filters button{color:var(--muted);cursor:pointer;background:#fff;border:1px solid #c8d5de;border-radius:999px;padding:7px 12px;font-weight:700}.ledger-filters button.active{border-color:var(--teal);color:#fff;background:var(--teal)}.attendance-ledger-table th,.attendance-ledger-table td{padding:13px 16px}.attendance-ledger-table .attention-row{background:#fff8ed}.time-cell-button{color:#075e57;min-width:58px;font:inherit;cursor:pointer;background:#f0f9f7;border:1px solid #a8c8c4;border-radius:8px;padding:6px 8px;font-weight:800}.time-cell-button:hover{background:#dff1ee}.time-cell-button:disabled{color:var(--muted);cursor:not-allowed;background:#f1f3f4;border-color:#d9e0e5}.break-time-pair{align-items:center;gap:5px;display:flex}.empty-time,.edit-hint{color:#8b98a2;font-size:12px}.ledger-status{border-radius:999px;padding:5px 9px;font-size:12px;font-weight:800;display:inline-block}.ledger-status.complete{color:#0f6b59;background:#e6f4ee}.ledger-status.incomplete,.ledger-status.attention{color:#a13f0b;background:#ffeadc}.ledger-status.none{color:#6d7982;background:#edf1f3}.ledger-empty{color:var(--muted);text-align:center;padding:38px 24px}.ledger-empty p{color:var(--ink);margin:0 0 5px}.raw-history{margin-top:24px}.raw-history>summary{cursor:pointer;list-style:none}.raw-history>summary::-webkit-details-marker{display:none}.raw-history>summary>strong{color:var(--teal)}.raw-history[open]>summary>strong{font-size:0}.raw-history[open]>summary>strong:after{content:"閉じる";font-size:14px}.raw-history-actions{border-bottom:1px solid var(--line);background:#f7f9fa;padding:14px 24px}.payroll-section{margin-bottom:24px}.records-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:22px 24px;display:flex}.records-heading h2{color:var(--navy);margin:0;font-size:22px}.inline-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.inline-actions button{padding:9px 12px;font-size:13px}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%}th,td{text-align:left;white-space:nowrap;border-bottom:1px solid #e5eaee;padding:15px 24px}th{color:var(--muted);background:#f7f9fa;font-size:13px}.action-pill{text-align:center;border-radius:999px;min-width:58px;padding:5px 10px;font-size:13px;font-weight:700;display:inline-block}.action-pill.clock_in{color:var(--green);background:#e6f4ee}.action-pill.clock_out{color:var(--orange);background:#fff0e7}.action-pill.break_start{color:#9a620d;background:#fff3d9}.action-pill.break_end{color:#326c93;background:#e7f1f8}.table-button{padding:8px 10px;font-size:12px}.table-button:disabled{color:#8d979f;cursor:not-allowed;background:#e4e8eb}.table-actions{flex-wrap:wrap;gap:6px;display:flex}.ghost-button{color:var(--teal);background:#e8f3f1}.statement-modal{z-index:40;background:#10273c9e;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.statement-form{background:#fff;border-radius:18px;width:min(100%,720px);max-height:calc(100vh - 48px);padding:30px;overflow-y:auto;box-shadow:0 28px 90px #0000003d}.statement-form-header{justify-content:space-between;gap:20px;display:flex}.statement-form-header h2{color:var(--navy);margin:0}.modal-close{color:var(--muted);cursor:pointer;background:0 0;border:0;align-self:flex-start}.form-note{color:var(--muted)}.statement-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:24px 0;display:grid}.statement-form-grid label{color:var(--muted);gap:6px;font-size:13px;font-weight:600;display:grid}.statement-form-grid input,.statement-form-grid select{border:1px solid var(--line);background:#fff;border-radius:8px;height:46px;padding:0 12px}.statement-totals{background:var(--blue-light);border-radius:10px;flex-wrap:wrap;gap:12px 24px;padding:18px;display:flex}.statement-totals strong{color:var(--navy);margin-left:auto}.issue-button{color:#fff;background:var(--teal);cursor:pointer;border:0;border-radius:9px;width:100%;height:50px;margin-top:18px;font-weight:700}.statement-preview-shell{z-index:50;background:#dfe5e8;padding:26px;position:fixed;inset:0;overflow:auto}.statement-preview-actions{z-index:2;justify-content:center;gap:10px;margin-bottom:18px;display:flex;position:sticky;top:0}.statement-preview-actions button{color:#fff;background:var(--teal);cursor:pointer;border:0;border-radius:9px;padding:12px 20px;font-weight:700}.payslip-print{color:#1f3446;background:#fff;width:210mm;min-height:297mm;margin:0 auto;padding:13mm 14mm 10mm;font-family:Hiragino Kaku Gothic ProN,Yu Gothic,sans-serif;box-shadow:0 12px 42px #1126372e}.payslip-header{border-bottom:1.2mm solid #2e657f;justify-content:space-between;align-items:flex-start;gap:12mm;padding-bottom:6mm;display:flex}.payslip-title p,.payslip-title h1{margin:0}.payslip-title h1{letter-spacing:.06em;margin-bottom:2mm;font-size:28px;line-height:1}.payslip-title p{color:#55707f;font-size:10px;font-weight:800}.payslip-document-meta{width:58mm;margin:0;font-size:9px}.payslip-document-meta div{border-bottom:1px solid #c9d7de;grid-template-columns:18mm 1fr;padding:1.2mm 0;display:grid}.payslip-document-meta dt{color:#6b7f8b}.payslip-document-meta dd{text-align:right;margin:0;font-weight:700}.payslip-person{justify-content:space-between;align-items:center;padding:5mm 0;display:flex}.payslip-person strong{font-size:20px}.payslip-person span{color:#fff;letter-spacing:.08em;background:#2e657f;border-radius:1mm;padding:1.8mm 3mm;font-size:9px;font-weight:800}.payslip-kpis{grid-template-columns:repeat(3,1fr);gap:3mm;margin-bottom:6mm;display:grid}.payslip-kpis div{background:#f4f8fa;border:1px solid #cbd8de;padding:4mm}.payslip-kpis span{color:#607887;font-size:9px;display:block}.payslip-kpis strong{color:#234f67;text-align:right;margin-top:2mm;font-size:18px;display:block}.payslip-section-title{color:#fff;letter-spacing:.08em;background:#2e657f;margin:5mm 0 2mm;padding:2.2mm 3mm;font-size:11px}.payslip-print table{border-collapse:collapse;width:100%;font-size:9px}.payslip-print th,.payslip-print td{white-space:nowrap;border:1px solid #c6d1da;padding:2.3mm 3mm;font-weight:400}.payslip-print th{color:#fff;text-align:left;background:#2e657f}.payslip-print th:last-child,.payslip-print td:last-child{text-align:right}.payslip-ledger th:first-child{width:32%}.payslip-ledger th:nth-child(2){width:43%}.payslip-ledger th:nth-child(3){width:25%}.payslip-ledger tbody tr:nth-child(2n),.payslip-detail tbody tr:nth-child(2n){background:#f2f6f8}.payslip-subtotal-row{font-weight:700;background:#eaf1f4!important}.payslip-totals{border:2px solid #2e657f;grid-template-columns:repeat(3,1fr);margin-top:6mm;display:grid}.payslip-totals div{border-right:1px solid #b9cbd4;padding:4mm}.payslip-totals div:last-child{color:#fff;background:#2e657f;border-right:0}.payslip-totals span{font-size:9px;display:block}.payslip-totals strong{text-align:right;margin-top:2mm;font-size:17px;display:block}.payslip-total-row{border-top:1.5px solid #0f766e;background:#e8f3f1!important}.payslip-rules{background:#f7f9fa;border:1px solid #c6d1da;margin-top:4mm;padding:4mm;font-size:8.5px}.payslip-rules p{margin:1.5mm 0 0}.payslip-receipt{margin-top:4mm}.payslip-receipt h2{margin:0 0 2mm;font-size:11px;font-weight:400}.payslip-receipt div{border-top:1px solid #c6d1da;border-bottom:1px solid #c6d1da;justify-content:space-between;padding:3mm 0;font-size:9px;display:flex}.payslip-confirmation{color:#71838e;border:1px dashed #b9cbd4;place-items:center;width:26mm;height:16mm;margin:5mm 0 0 auto;font-size:8px;display:grid}.compact-payslip{padding:9mm 11mm 7mm}.compact-payslip .payslip-header{padding-bottom:3mm}.compact-payslip .payslip-title h1{font-size:23px}.compact-payslip .payslip-person{padding:2.5mm 0}.compact-payslip .payslip-kpis{margin-bottom:2.5mm}.compact-payslip .payslip-kpis div{padding:2mm}.compact-payslip .payslip-kpis strong{margin-top:1mm;font-size:15px}.compact-payslip .payslip-section-title{margin:2.5mm 0 1.5mm;padding-bottom:1mm}.compact-payslip .payslip-print th,.compact-payslip .payslip-print td,.compact-payslip th,.compact-payslip td{padding:1.1mm 2mm;font-size:7.5px}.compact-payslip .payslip-totals{margin-top:2.5mm}.compact-payslip .payslip-totals div{padding:2mm}.compact-payslip .payslip-totals strong{margin-top:1mm;font-size:14px}.compact-payslip .payslip-rules{margin-top:2mm;padding:2mm;font-size:7px}.compact-payslip .payslip-rules p{margin-top:.7mm}.compact-payslip .payslip-receipt{margin-top:2mm}.compact-payslip .payslip-receipt div{padding:1.5mm 0}.compact-payslip .payslip-confirmation{width:21mm;height:11mm;margin-top:2mm}.settings-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;padding:22px;display:grid}.settings-card{background:#f9fbfc;border:1px solid #dce3e8;border-radius:12px;gap:14px;padding:20px;display:grid}.settings-card h3{color:var(--navy);margin:0;font-size:21px}.settings-card label{color:var(--muted);gap:6px;font-size:13px;font-weight:600;display:grid}.settings-card button{height:44px}.settings-card button:disabled{color:#8d979f;cursor:not-allowed;background:#e4e8eb}.empty-records{color:var(--muted);text-align:center;margin:0;padding:48px 24px}.incomplete-work-section{border:2px solid #d97706}.incomplete-work-section .records-heading{background:#fff7ed}.incomplete-work-section .records-heading>strong{color:#b45309;font-size:20px}.danger-button{color:#fff;background:#c2410c}@media (width<=700px){.kiosk-header{align-items:flex-start}.clock span{display:none}.employee-grid,.punch-actions,.summary-cards,.settings-grid,.employee-add-form{grid-template-columns:1fr}.employee-card,.punch-button{min-height:150px}.employee-panel{justify-content:flex-start;padding-top:34px}.admin-header{flex-direction:column;align-items:flex-start}.admin-actions{width:100%}.admin-toolbar{flex-direction:column;align-items:stretch}.close-badge{align-self:flex-start;margin-left:0}.records-heading{flex-direction:column;align-items:flex-start;gap:12px}.inline-actions{justify-content:flex-start}.admin-actions button,.admin-actions a{text-align:center;flex:1}.statement-form-grid{grid-template-columns:1fr}.statement-preview-shell{padding:10px}footer span{display:none}}.time-editor-form{max-width:620px}.time-editor-grid{grid-template-columns:1.5fr 1fr 1fr;gap:16px;margin:24px 0;display:grid}.time-editor-grid.force-time-grid{grid-template-columns:1fr 1fr}.time-editor-grid label,.time-editor-reason{align-items:center;gap:8px;font-weight:700;display:flex}.time-editor-grid input,.time-editor-grid select,.time-editor-reason input{background:#fff;border:1px solid #b9c9d6;border-radius:10px;min-height:52px;padding:8px 12px;font-size:20px}.time-editor-reason{margin-bottom:24px}.time-editor-reason input{flex:1;font-size:16px}.force-workday-note{color:#704c09;background:#fff9ec;border:1px solid #d8c08d;border-radius:10px;margin:18px 0 0;padding:14px 16px;line-height:1.7}@media (width<=640px){.time-editor-grid{grid-template-columns:1fr 1fr}.time-editor-grid label:first-child{grid-column:1/-1}}.workday-editor-form{max-width:760px}.workday-base-grid{grid-template-columns:1fr 1fr;gap:14px;margin:22px 0 16px;display:grid}.workday-base-grid label,.workday-reason{color:var(--muted);gap:7px;font-size:13px;font-weight:700;display:grid}.workday-base-grid input,.workday-base-grid select,.workday-reason input{background:#fff;border:1px solid #b9c9d6;border-radius:9px;min-height:48px;padding:0 12px;font-size:16px}.workday-time-sections{grid-template-columns:1fr 1fr;gap:14px;display:grid}.workday-time-sections fieldset{border:1px solid #ccd7df;border-radius:12px;margin:0;padding:14px}.workday-time-sections legend{color:var(--navy);padding:0 7px;font-weight:800}.time-pair-input{grid-template-columns:1fr auto 1fr auto;align-items:center;gap:7px;display:grid}.time-pair-input select{background:#fff;border:1px solid #aebfcb;border-radius:9px;min-height:50px;padding:0 9px;font-size:20px;font-weight:700}.workday-break-toggle{color:var(--navy);align-items:center;gap:9px;margin:18px 0 12px;font-weight:800;display:flex}.workday-break-toggle input{width:20px;height:20px}.break-section{background:#f7f9fa;border-radius:12px;margin-bottom:18px;padding:14px}.workday-reason{margin-top:18px}@media (width<=700px){.employee-ledger-tabs{grid-template-columns:1fr 1fr;padding:14px 14px 0}.ledger-filter-row{flex-direction:column;align-items:flex-start;padding:14px}.workday-base-grid,.workday-time-sections{grid-template-columns:1fr}}.qr-punch-panel{background:#fff;border:1px solid #b9cbd8;border-radius:28px;grid-template-columns:minmax(0,1fr) 300px;align-items:center;gap:clamp(24px,5vw,64px);margin:34px 0 10px;padding:clamp(24px,4vw,42px);display:grid;box-shadow:0 20px 45px #10273c17}.qr-copy h2{color:var(--navy);margin:0 0 18px;font-size:clamp(25px,3vw,38px)}.qr-copy ol{color:var(--ink);gap:10px;margin:0;padding-left:1.5em;font-size:17px;line-height:1.6;display:grid}.qr-security{color:var(--teal);margin:18px 0 0;font-weight:800}.qr-box{border:2px solid var(--navy);min-height:292px;color:var(--muted);background:#fff;border-radius:20px;place-items:center;padding:12px;display:grid}.qr-box img{aspect-ratio:1;width:100%;max-width:276px;display:block}.qr-box.refreshing img{opacity:.24}.qr-countdown{color:var(--teal);justify-content:center;align-items:baseline;gap:6px;line-height:1;display:flex}.qr-countdown strong{text-align:right;font-variant-numeric:tabular-nums;min-width:1.5em;font-size:25px}.qr-countdown span{color:var(--muted);font-size:13px;font-weight:800}.mobile-shell{place-items:center;min-height:100svh;padding:20px;display:grid}.mobile-card{border:1px solid var(--line);background:#fff;border-radius:28px;width:min(100%,520px);padding:clamp(26px,7vw,48px);box-shadow:0 24px 70px #10273c21}.mobile-card h1{color:var(--navy);margin:0 0 16px;font-size:clamp(30px,9vw,46px);line-height:1.18}.mobile-card h1 small{margin-left:4px;font-size:.48em}.mobile-card>p{color:var(--muted);font-size:17px;line-height:1.75}.passkey-primary,.mobile-action{color:#fff;background:var(--teal);border:0;border-radius:16px;width:100%;min-height:64px;font-size:19px;font-weight:800}.passkey-primary:disabled,.mobile-action:disabled{cursor:not-allowed;opacity:.42}.mobile-status{background:var(--blue-light);border-radius:12px;margin:0 0 20px;padding:12px 16px;font-weight:800;color:var(--navy)!important}.mobile-status.working{background:#e6f5ee;color:#116346!important}.mobile-status.on_break{background:#fff4df;color:#87500b!important}.mobile-actions{grid-template-columns:1fr 1fr;gap:12px;display:grid}.mobile-action.clock_in{background:#17835f}.mobile-action.clock_out{background:#9d2f2f}.mobile-action.break_start{background:#c56722}.mobile-action.break_end{background:#315e86}.mobile-note{text-align:center;margin:16px 0 0!important;font-size:14px!important}.mobile-auth-countdown{background:#fff8e8;border:1px solid #efc27b;border-radius:12px;margin:0 0 18px;padding:14px 16px}.mobile-auth-countdown>span,.mobile-auth-countdown>strong{color:#70430d;justify-content:space-between;display:flex}.mobile-auth-countdown>span{font-size:14px;font-weight:700}.mobile-auth-countdown>strong{font-variant-numeric:tabular-nums;margin-top:5px;font-size:19px}.mobile-auth-countdown>div{background:#ead8b8;border-radius:999px;height:6px;margin-top:10px;overflow:hidden}.mobile-auth-countdown i{border-radius:inherit;background:#c56722;height:100%;transition:width .35s linear;display:block}.mobile-complete{text-align:center}.mobile-complete>span{color:#fff;background:var(--green);border-radius:999px;margin-bottom:16px;padding:8px 16px;font-weight:800;display:inline-block}.mobile-expired{text-align:center}.mobile-expired>span{color:#fff;background:#9d2f2f;border-radius:999px;margin-bottom:16px;padding:8px 16px;font-weight:800;display:inline-block}.login-divider{color:var(--muted);align-items:center;gap:12px;margin:4px 0;font-size:13px;display:flex}.login-divider:before,.login-divider:after{content:"";background:var(--line);flex:1;height:1px}.admin-login-card .passkey-login-button{background:var(--navy)}.admin-login-card small{color:var(--muted);line-height:1.6}.security-summary{background:var(--blue-light);border-radius:12px;align-items:center;gap:16px;margin:18px 0;padding:14px 16px;display:flex}.security-summary span{color:var(--muted);font-size:14px}.passkey-employee-list{gap:10px;display:grid}.passkey-employee-list article{border-top:1px solid #dde5eb;justify-content:space-between;align-items:center;gap:16px;padding:15px 0;display:flex}.passkey-employee-list article>div:first-child{gap:4px;display:grid}.passkey-employee-list article span{color:var(--muted);font-size:14px}.enrollment-qr-card{text-align:center;max-width:520px}.enrollment-qr-card .statement-form-header{text-align:left}.enrollment-qr-card>img{border:1px solid var(--line);border-radius:16px;width:min(100%,320px);margin:18px auto;display:block}.enrollment-qr-card>strong{color:var(--teal);margin:12px 0;display:block}.enrollment-qr-card>a{color:var(--teal);font-weight:800}@media (width<=760px){.qr-punch-panel{grid-template-columns:1fr}.qr-box{width:min(100%,320px);margin:0 auto}.mobile-actions{grid-template-columns:1fr}.security-summary,.passkey-employee-list article{flex-direction:column;align-items:stretch}}@media print{@page payslip{size:A4 portrait;margin:6mm}@page{size:A4 landscape;margin:12mm}body{background:#fff}body:has(.statement-preview-shell) .admin-shell>:not(.statement-preview-shell){display:none!important}.statement-preview-shell{background:#fff;padding:0;position:static;overflow:visible}.payslip-print{page:payslip;width:198mm;min-height:0;box-shadow:none;break-inside:avoid;page-break-inside:avoid;margin:0;padding:5mm 7mm 3mm}.payslip-print .payslip-header{gap:7mm;padding-bottom:3mm}.payslip-print .payslip-title h1{font-size:22px}.payslip-print .payslip-document-meta{width:52mm;font-size:7px}.payslip-print .payslip-document-meta div{grid-template-columns:15mm 1fr;padding:.6mm 0}.payslip-print .payslip-person{padding:2.5mm 0}.payslip-print .payslip-person strong{font-size:14px}.payslip-print .payslip-person span{padding:1mm 2mm;font-size:6.5px}.payslip-print .payslip-kpis{gap:2mm;margin-bottom:2mm}.payslip-print .payslip-kpis div{padding:2mm}.payslip-print .payslip-kpis strong{margin-top:1mm;font-size:14px}.payslip-print .payslip-section-title{margin:1.5mm 0 0;padding:1.2mm 1.5mm;font-size:8px}.payslip-print th,.payslip-print td{padding:.8mm 1.5mm;font-size:7px;line-height:1.15}.payslip-print .payslip-totals{margin-top:2mm}.payslip-print .payslip-totals div{padding:2mm}.payslip-print .payslip-totals strong{margin-top:1mm;font-size:13px}.payslip-print .payslip-rules{margin-top:1.5mm;padding:1.5mm;font-size:6.5px}.payslip-print .payslip-rules p{margin-top:.5mm}.payslip-print .payslip-receipt{margin-top:1.5mm}.payslip-print .payslip-receipt h2{margin-bottom:1mm;font-size:8px}.payslip-print .payslip-receipt div{padding:1mm 0;font-size:7px}.payslip-print .payslip-confirmation{width:20mm;height:10mm;margin-top:1.5mm;font-size:6px}.admin-shell{max-width:none;padding:0}.no-print,.alert,.warning-panel,.summary-cards,.records-card:not(.payroll-section){display:none!important}.admin-header{margin-bottom:14px}.admin-header h1{font-size:28px}.payroll-section{border-color:#6d7f8f}th,td{padding:10px 12px;font-size:11px}}@media (orientation:landscape) and (height<=720px){.kiosk-shell{padding-top:18px;padding-bottom:14px}.kiosk-header{padding-bottom:14px}.employee-panel{padding:22px 0}.employee-card{min-height:160px}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
