:root{color:#17211b;font-synthesis:none;text-rendering:optimizelegibility;background:#f7f4ec;font-family:Inter,Noto Sans TC,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button,input,select{font:inherit}a{color:inherit;text-decoration:none}.app-shell{background:linear-gradient(#ffffffdb,#f7f4ecf0),#f7f4ec;min-height:100vh}.topbar{z-index:10;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#f7f4ece0;border-bottom:1px solid #2a42341f;justify-content:space-between;align-items:center;gap:16px;padding:10px 18px;display:flex;position:sticky;top:0}.topbar-actions{align-items:center;gap:10px;display:flex}.topbar-nav-link,.topbar-help-link{color:#23623d;align-items:center;gap:5px;font-size:13px;font-weight:800;display:inline-flex}.page-guide-hint{color:#23623d;background:#edf7ef;border:1px solid #23623d2e;border-radius:8px;justify-content:space-between;align-items:center;gap:10px;margin-bottom:14px;padding:10px 12px;display:flex}.page-guide-hint>span{flex:1;align-items:center;gap:8px;min-width:0;font-size:13px;display:flex}.page-guide-hint strong{flex:none}.brand{align-items:center;gap:12px;min-width:0;display:flex}.brand-mark{object-fit:contain;border-radius:8px;width:54px;height:54px}.brand strong,.brand small{display:block}.brand strong{font-size:18px}.brand small{color:#667267;margin-top:2px;font-size:12px}main{max-width:1080px;margin:0 auto;padding:18px}.login-panel,.status-panel{flex-direction:column;justify-content:center;align-items:flex-start;gap:18px;min-height:calc(100vh - 86px);display:flex}.login-panel{text-align:center;align-items:center}.login-logo{color:#fffdf5;letter-spacing:0;background:#23623d;border-radius:8px;padding:14px 16px;font-size:28px;font-weight:900}.login-panel h1{white-space:nowrap;max-width:none;font-size:clamp(34px,4vw,56px)}.login-panel p{margin-left:auto;margin-right:auto}h1,h2,p{margin:0}@media (width<=720px){.login-panel{min-height:calc(100vh - 76px)}.login-panel h1{white-space:normal;font-size:34px}}h1{max-width:760px;font-size:clamp(32px,8vw,56px);line-height:1.08}h2{font-size:20px}p{color:#59675d;max-width:720px;line-height:1.7}.primary-action,.secondary-action,.icon-button{cursor:pointer;border:0;justify-content:center;align-items:center;display:inline-flex}.primary-action{color:#fffdf5;background:#23623d;border-radius:8px;min-height:48px;padding:0 18px;font-weight:800}.primary-action:disabled{cursor:not-allowed;opacity:.58}.turnstile-box{justify-content:center;align-items:center;width:100%;min-height:68px;display:flex}.secondary-action{color:#23623d;background:#fffdf7;border:1px solid #23623d38;border-radius:8px;min-height:44px;padding:0 16px;font-weight:750}.compact{min-height:38px;padding:0 14px}.icon-button{color:#23623d;background:#fffdf7;border:1px solid #23623d29;border-radius:8px;width:40px;height:40px}.collapse-icon{color:#23623d;background:#edf7ef;border:1px solid #23623d47;border-radius:50%;flex:0 0 30px;justify-content:center;align-items:center;width:30px;height:30px;transition:background .16s,border-color .16s,color .16s,transform .16s;display:inline-flex}.collapsible-trigger:hover .collapse-icon,.collapse-toggle:hover .collapse-icon,.attendance-summary-button:hover .collapse-icon{color:#fffdf7;background:#23623d;border-color:#23623d}.collapsible-trigger:focus-visible .collapse-icon,.collapse-toggle:focus-visible .collapse-icon,.attendance-summary-button:focus-visible .collapse-icon{outline-offset:2px;outline:3px solid #23623d38}.notice{color:#6a5515;background:#fff8df;border:1px solid #efd37a;border-radius:8px;padding:12px 14px}.identity-claim-panel{gap:14px;display:grid}.danger{color:#8d2f24;background:#fff0ee;border-color:#efb2aa}.session-warning{z-index:80;background:#17211b2e;justify-content:center;align-items:flex-end;padding:18px;display:flex;position:fixed;inset:0}.session-warning-card{background:#fffdf7;border:1px solid #23623d38;border-radius:8px;gap:12px;width:min(100%,420px);max-width:420px;padding:18px;display:grid;box-shadow:0 18px 50px #17211b2e}.session-warning-card h2{font-size:22px}.status-panel{text-align:center;align-items:center}.hero-row{background:#fffdf7;border:1px solid #2a42341f;border-radius:8px;justify-content:space-between;align-items:center;gap:20px;padding:22px;display:flex}.employee-quick-panel{background:#fffdf7;border:1px solid #2a42341f;border-radius:8px;gap:14px;margin-bottom:14px;padding:16px;display:grid}.employee-workbench-collapsible,.home-section-collapsible{margin-bottom:14px}.employee-quick-panel h1{font-size:26px}.employee-quick-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;display:grid}.employee-quick-card{appearance:none;color:inherit;cursor:pointer;text-align:center;background:#edf7ef;border:1px solid #23623d2e;border-radius:8px;align-content:start;justify-items:center;gap:4px;width:100%;min-height:78px;padding:8px 4px;display:grid}.employee-quick-card.is-active{background:#23623d;border-color:#23623d}.employee-quick-card.is-active svg,.employee-quick-card.is-active strong{color:#fffdf7}.employee-quick-card.is-active .feature-id{color:#23623d;background:#fffdf7;border-color:#fffdf7}.employee-quick-card svg{color:#23623d}.employee-quick-card strong{color:#0b4428;font-size:12px;line-height:1.25}.feature-id{color:#23623d;letter-spacing:.03em;background:#edf7ef;border:1px solid #23623d33;border-radius:5px;width:fit-content;padding:4px 6px;font-size:10px;font-weight:900;line-height:1;display:inline-flex}.employee-quick-card .feature-id{padding:3px 5px;font-size:9px}.operation-center-header,.operation-guide-detail,.operation-center-section{background:#fffdf7;border:1px solid #2a42341f;border-radius:8px;margin-bottom:14px}.operation-center-header{justify-content:space-between;align-items:center;gap:18px;padding:22px;display:flex}.operation-center-header>svg{color:#23623d;flex:none}.operation-center-header h1{margin:5px 0 8px;font-size:clamp(28px,5vw,42px)}.eyebrow{color:#23623d;letter-spacing:.04em;font-size:12px;font-weight:900}.operation-center-section{padding:0;overflow:hidden}.operation-center-section .collapsible-trigger{border-radius:0}.operation-center-section .collapsible-body{padding:14px}.operation-guide-detail-section .operation-guide-detail{margin:0}.operation-role-summary{align-items:center;gap:12px;display:flex}.operation-role-summary>div{flex:1;min-width:0}.operation-role-summary strong{display:block}.operation-role-summary p{margin-top:3px;font-size:12px}.operation-task-grid,.operation-guide-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.operation-task-card,.operation-guide-card,.operation-guide-detail{background:#fffdf7;border:1px solid #2a42341f;border-radius:8px;padding:14px}.operation-task-card{gap:8px;display:grid}.operation-task-head,.operation-guide-detail-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.operation-task-head{justify-content:flex-start}.operation-task-card p,.operation-guide-card p,.operation-guide-detail p{font-size:13px}.operation-task-card ol,.operation-guide-detail ol,.operation-guide-detail ul{margin:0;padding-left:22px}.operation-task-card li,.operation-guide-detail li{color:#34483b;margin:3px 0;font-size:13px;line-height:1.65}.operation-task-completion,.operation-success-box{color:#23623d;background:#edf7ef;border:1px solid #23623d29;border-radius:7px;padding:9px;font-size:13px}.operation-task-completion{align-items:flex-start;gap:5px;display:flex}.operation-filter-row{flex-wrap:wrap;gap:8px;margin-bottom:12px;display:flex}.active-filter{background:#edf7ef;border-color:#23623d73}.operation-guide-card{cursor:pointer;text-align:left;gap:7px;min-height:138px;display:grid}.operation-guide-card:hover,.operation-guide-card.is-selected{background:#edf7ef;border-color:#23623d66}.operation-guide-link{color:#23623d;align-items:center;gap:4px;margin-top:auto;font-size:12px;font-weight:850;display:inline-flex}.inline-guide-link{color:#23623d;cursor:pointer;background:0 0;border:0;padding:0;font-weight:900;text-decoration:underline}.operation-guide-detail{gap:14px;scroll-margin-top:88px;display:grid}.operation-guide-detail-head{border-bottom:1px solid #2a42341f;padding-bottom:12px}.operation-guide-detail-head h2{margin-top:7px}.operation-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.operation-detail-grid h3,.operation-steps h3,.operation-guide-screenshots h3{color:#23623d;margin-bottom:5px;font-size:15px}.operation-guide-screenshots-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.operation-guide-screenshots-head h3{margin-bottom:0}.operation-guide-screenshot-badge{color:#23623d;background:#edf7ef;border:1px solid #23623d2e;border-radius:999px;padding:4px 9px;font-size:12px;font-weight:800}.operation-guide-screenshot-note{color:#59675d;margin:0;font-size:13px}.operation-guide-screenshot-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.operation-guide-screenshot-grid.is-single{grid-template-columns:minmax(0,390px)}.operation-guide-screenshot{margin:0}.operation-guide-screenshot img{object-fit:contain;background:#f7f4ec;border:1px solid #2a423429;border-radius:7px;width:100%;max-width:100%;height:auto;display:block}.operation-guide-screenshot figcaption{color:#59675d;margin-top:6px;font-size:12px;line-height:1.55}.operation-next-step{border-top:1px solid #2a42341f;padding-top:12px}.anchored{scroll-margin-top:86px}.admin-menu{z-index:8;background:#f7f4ecf0;border:1px solid #2a42341f;border-radius:8px;gap:8px;margin-bottom:14px;padding:8px;display:grid;position:sticky;top:68px}.menu-toggle,.menu-items button{color:#23623d;cursor:pointer;background:#fffdf7;border:1px solid #23623d29;border-radius:8px;align-items:center;gap:8px;min-height:40px;padding:0 12px;font-weight:800;display:inline-flex}.menu-items{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:none}.menu-items.open{display:grid}.menu-items button{justify-content:flex-start}.menu-items button.active{background:#edf7ef;border-color:#23623d5c}.hero-row h1{font-size:clamp(26px,5vw - 2px,40px)}.hero-row svg{color:#23623d;flex:none}.home-actions{justify-content:flex-end;margin-bottom:12px;display:flex}.clock-panel{background:#fffdf7;border:1px solid #2a42341f;border-radius:8px;gap:14px;margin-bottom:14px;padding:18px;display:grid}.clock-hero{justify-content:space-between;align-items:center;gap:16px;display:flex}.clock-hero h1{font-size:clamp(30px,10vw,50px)}.clock-hero svg{color:#23623d;flex:none}.location-hint{color:#8d5a13;margin-top:6px;font-weight:750}.clock-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.clock-actions .primary-action,.clock-actions .secondary-action{min-height:58px}.clock-metrics{margin:0}.admin{background:#edf7ef}.eyebrow{color:#23623d;letter-spacing:0;margin-bottom:8px;font-size:13px;font-weight:850}.grid{gap:14px;margin-top:14px;display:grid}.two{grid-template-columns:1fr}.tile,.editor-panel,.approval-card,.metrics article{background:#fffdf7;border:1px solid #2a42341f;border-radius:8px;padding:18px}.tile p{margin-top:8px}.metrics,.module-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:14px 0 20px;display:grid}.metrics article{grid-template-columns:auto 1fr;align-items:center;gap:4px 10px;display:grid}.metrics svg{color:#23623d;grid-row:span 2}.metrics span{color:#59675d}.module-grid{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:0}.module-card{color:inherit;cursor:pointer;text-align:left;background:#fffdf7;border:1px solid #2a42341f;border-radius:8px;align-content:start;gap:7px;min-height:104px;padding:11px;display:grid}.module-card:hover{background:#edf7ef;border-color:#23623d5c}.module-card svg{color:#23623d}.module-card strong,.person-row strong{display:block}.module-card span,.person-row span,.person-row small{color:#59675d}.module-card p{font-size:12px;line-height:1.45}.module-card strong{font-size:14px}.module-card span{font-size:12px}.section-head{justify-content:space-between;align-items:center;margin:20px 0 12px;display:flex}.approval-list{gap:14px;display:grid}.people-list{gap:10px;margin-bottom:22px;display:grid}.data-list{gap:10px;display:grid}.data-row{background:#fff;border:1px solid #2a42341f;border-radius:8px;grid-template-columns:1fr;align-items:center;gap:8px;padding:12px;display:grid}.data-row strong,.data-row small{display:block}.data-row small{color:#59675d;overflow-wrap:anywhere}.row-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.wide-field{grid-column:1/-1}.error-text{color:#8d2f24!important}.notification-row{align-items:start}.permission-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.template-actions{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.template-actions .secondary-action{width:100%;min-width:0;padding-inline:8px}.permission-card{background:#fff;border:1px solid #2a42341f;border-radius:8px;align-items:center;gap:10px;padding:12px;display:flex}.permission-card input{min-height:auto}.permission-card strong,.permission-card small{display:block}.permission-card small{color:#59675d;font-size:12px}.person-row{color:inherit;cursor:pointer;text-align:left;background:#fffdf7;border:1px solid #2a42341f;border-radius:8px;justify-content:space-between;align-items:center;gap:14px;width:100%;padding:14px 16px;display:flex}.person-row:hover{border-color:#23623d59}.approval-card{gap:14px;display:grid}.match-panel{color:#5b4a12;background:#fff8df;border:1px solid #efd37a;border-radius:8px;gap:4px;padding:12px;display:grid}.match-panel.matched{color:#1f5f39;background:#eef9f1;border-color:#a9d8b8}.match-panel.warning{background:#fff4e6;border-color:#eab676}.match-panel small{color:inherit}.editor-panel{gap:14px;margin-bottom:14px;display:grid}.inline-head{align-items:start;gap:12px;display:grid}.schedule-panel-toolbar{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:12px;display:grid}.schedule-panel-toolbar .empty{margin:0}.date-input{min-width:180px}.calendar-panel{background:#fffdf7;border:1px solid #2a42341f;border-radius:8px;gap:10px;padding:12px;display:grid}.calendar-toolbar{grid-template-columns:auto 1fr auto;align-items:center;gap:8px;display:grid}.calendar-toolbar strong{color:#17211b;text-align:center;font-size:18px}.calendar-weekdays,.calendar-grid-month{grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.calendar-weekdays span{color:#59675d;text-align:center;padding:4px 2px;font-size:12px;font-weight:800}.calendar-grid-month{border-top:1px solid #2a42341f;border-left:1px solid #2a42341f}.calendar-cell{color:inherit;cursor:pointer;text-align:left;background:#fff;border:1px solid #2a42341f;border-top:0;border-left:0;align-content:start;gap:3px;min-height:86px;padding:6px;display:grid}.calendar-cell:hover{background:#f5fbf5}.calendar-cell.is-outside{color:#8d978f;background:#faf8f2}.calendar-cell.is-selected{box-shadow:inset 0 0 0 2px #23623d}.calendar-cell.has-staffing-warning{background:#fff0ee}.calendar-cell.has-staffing-warning:hover{background:#ffe5e0}.calendar-cell.has-staffing-warning.is-selected{box-shadow:inset 0 0 0 2px #8d2f24,inset 0 0 0 4px #ffffffd1}.calendar-day-number{color:#17211b;font-size:13px;font-weight:850}.calendar-warning-dot{color:#fffdf7;text-overflow:ellipsis;white-space:nowrap;background:#8d2f24;border-radius:5px;padding:3px 5px;font-size:11px;font-weight:850;line-height:1.2;display:block;overflow:hidden}.calendar-chip{color:#fffdf7;text-overflow:ellipsis;white-space:nowrap;border-radius:5px;padding:3px 5px;font-size:12px;font-weight:750;line-height:1.25;display:block;overflow:hidden}.calendar-chip.morning{background:#23623d}.calendar-chip.afternoon{background:#b44d24}.calendar-chip.off{background:#7b5cb8}.calendar-chip.draft-third-shift{background:#2d6f8f}.calendar-chip.draft-unassigned{background:#8d2f24}.draft-calendar-empty{color:#8d978f;font-size:11px}.calendar-chip.holiday{color:#fff8e8;background:#996b1f}.calendar-chip.holiday.substitute_holiday{background:#b44d24}.leave-entitlement-list{border-top:1px solid #2a42341f;gap:8px;margin-top:10px;padding-top:10px;display:grid}.leave-entitlement-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.holiday-comp-panel{margin-top:1rem}.holiday-comp-form{border:1px solid var(--border);background:var(--surface-muted);border-radius:.75rem;gap:.75rem;margin:.75rem 0 1rem;padding:.85rem;display:grid}.compact-form-grid{margin:0}.compact-calendar,.selected-day-readout{margin-top:14px}.collapsible-section{background:#fffdf7;border:1px solid #2a42341f;border-radius:8px;gap:10px;padding:10px;display:grid}.collapsible-trigger{color:#0c1f16;cursor:pointer;text-align:left;background:0 0;border:0;align-items:center;gap:8px;min-height:34px;padding:0;display:flex}.collapsible-trigger strong{font-size:18px}.section-summary-cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.section-summary-cards article{background:#f7f4ec;border:1px solid #2a423414;border-radius:8px;gap:3px;min-width:0;padding:8px;display:grid}.section-summary-cards span{color:#59675d;font-size:12px;font-weight:750}.section-summary-cards strong{color:#0c1f16;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:14px;overflow:hidden}.collapsible-body{gap:12px;display:grid}.admin-panel-collapsible>.collapsible-body>.editor-panel{border:0;margin-bottom:0;padding:4px 0 0}@media (width<=720px){.schedule-panel-toolbar{grid-template-columns:1fr}}.selected-day-panel{background:#fffdf7;border:1px solid #2a42341f;border-radius:8px;gap:12px;padding:14px;display:grid}.selected-day-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.selected-day-grid article{background:#fff;border:1px solid #2a42341a;border-radius:8px;gap:6px;min-height:86px;padding:12px;display:grid}.selected-day-grid span{color:#4d5e53;line-height:1.55}.day-editor{gap:12px;display:grid}.schedule-modal-backdrop{z-index:40;background:#0c1f1661;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.schedule-modal{background:#fffdf7;border:1px solid #2a42342e;border-radius:10px;gap:12px;width:min(1040px,100%);max-width:1040px;max-height:calc(100vh - 32px);padding:16px;display:grid;overflow:auto;box-shadow:0 24px 64px #0c1f1638}.schedule-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.compact-actions{justify-content:flex-end}.draft-preview-card{background:#f5fbf5;border:1px solid #2a423429;border-radius:8px;gap:8px;padding:12px;display:grid}.pre-wrap{white-space:pre-wrap}.draft-editor-modal{max-width:1120px}.schedule-row{background:#fff;border:1px solid #2a42341f;border-radius:8px;align-content:start;gap:8px;min-height:118px;padding:10px;display:grid}.schedule-row strong,.schedule-row small{display:block}.schedule-row small{color:#59675d;text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.schedule-row select{width:100%;min-height:38px;padding:0 8px}.staffing-check-panel{margin-top:4px}.staffing-check-head{align-items:center}.staffing-warning-row{border-color:#8d2f2447}.pager{justify-content:flex-end;align-items:center;gap:10px;display:flex}.pager span{color:#59675d;text-align:center;min-width:52px;font-weight:800}.approval-head{justify-content:space-between;align-items:center;display:flex}.approval-head small{color:#667267;margin-top:4px;display:block}.form-grid{grid-template-columns:1fr;gap:12px;display:grid}label{color:#304137;gap:6px;font-size:13px;font-weight:750;display:grid}input,select{color:#17211b;background:#fff;border:1px solid #2a42342e;border-radius:8px;min-height:42px;padding:0 12px}.check-row{align-items:center;gap:8px;display:flex}.check-row input{min-height:auto}.button-row{flex-wrap:wrap;gap:10px;display:flex}.empty{background:#fffdf7;border:1px dashed #2a423438;border-radius:8px;padding:18px}.leave-panel{gap:14px;margin-top:14px;display:grid}.signature-field{gap:8px;display:grid}.signature-head{justify-content:space-between;align-items:center;display:flex}.signature-canvas{touch-action:none;background:#fff;border:1px solid #2a42342e;border-radius:8px;width:100%;height:180px}.signature-field small,.signature-consent{color:#59675d;font-size:12px}.signature-preview{background:#fff;border:1px solid #2a42341f;border-radius:8px;align-items:start;gap:6px;padding:8px;display:grid}.signature-preview img{object-fit:contain;width:100%;max-width:220px;max-height:86px;display:block}.admin-signature-block{grid-column:1/-1;gap:6px;display:grid}.admin-signature-block>strong{color:#0d1f18}.leave-summary-panel{gap:12px;display:grid}.section-title-row{justify-content:space-between;align-items:center;gap:10px;display:flex}.section-title-row h2{margin:0}.section-title-row small{color:#59675d}.leave-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.leave-summary-card{background:#edf7ef;border:1px solid #23623d2e;border-radius:8px;gap:6px;min-width:0;padding:10px 9px;display:grid}.leave-summary-card div{gap:4px;display:grid}.leave-summary-card span{color:#46584f;font-size:12px;line-height:1.35}.leave-list{gap:10px;display:grid}.leave-row{background:#fffdf7;border:1px solid #2a42341f;border-radius:8px;grid-template-columns:1fr auto;align-items:center;gap:10px;padding:12px;display:grid}.leave-row strong,.leave-row small{display:block}.leave-row small{color:#59675d}.leave-row-actions{grid-column:1/-1;grid-template-columns:auto minmax(160px,1fr) auto;gap:8px;display:grid}.leave-row-actions input{min-width:0}.leave-events{background:#fff;border:1px solid #2a42341a;border-radius:8px;grid-column:1/-1;gap:8px;padding:10px;display:grid}.leave-event{border-left:3px solid #23623d52;gap:2px;padding-left:8px;display:grid}.admin-leave-row{grid-template-columns:1fr auto}.admin-leave-row input,.admin-leave-row .button-row,.admin-leave-row p,.admin-leave-row .signature-preview{grid-column:1/-1}.year-picker{min-width:140px}.month-picker{min-width:160px}.balance-list{gap:10px;display:grid}.balance-row{background:#fff;border:1px solid #2a42341f;border-radius:8px;gap:10px;padding:12px;display:grid}.balance-person strong{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.balance-card{background:#fffdf7;border:1px solid #2a42341f;border-radius:8px;grid-template-columns:minmax(0,1fr) auto;gap:8px;min-width:0;padding:8px;display:grid}.balance-card.is-short{background:#fff0ee;border-color:#8d2f2447}.balance-card label{gap:4px;min-width:0}.balance-card input{width:100%;min-height:36px;padding:0 8px}.balance-card strong{font-size:15px}.balance-metrics{grid-column:1/-1;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;min-width:0;display:grid}.balance-metrics label,.balance-metrics span{color:#59675d;overflow-wrap:anywhere;white-space:normal;background:#f7f4ec;border:1px solid #2a42341a;border-radius:8px;gap:4px;min-width:0;padding:6px;font-size:12px;font-weight:750;display:grid}.balance-metrics b{color:#0c1f16;font-size:14px}.balance-metrics input{min-height:32px}.balance-table-wrap{padding-bottom:2px;overflow-x:visible}.balance-table{border-collapse:separate;border-spacing:0;table-layout:fixed;width:100%}.balance-table th,.balance-table td{text-align:center;vertical-align:middle;border-bottom:1px solid #2a42341f;padding:7px 6px;font-size:13px}.balance-table thead th{color:#0f5c34;background:#eef7f0;font-size:12px;font-weight:850}.balance-table tbody tr:nth-child(2n) td,.balance-table tbody tr:nth-child(2n) th{background:#fffdf7}.balance-table tbody tr.is-short td{background:#fff0ee}.balance-table th:first-child,.balance-table td:first-child{text-align:left}.balance-quota-control{gap:4px;display:grid}.balance-quota-control input{text-align:center;width:100%;min-height:30px;padding:0 6px;font-size:13px}.balance-quota-control .secondary-action{min-height:30px;padding:0 6px;font-size:12px}.attendance-summary-list,.attendance-detail-list{gap:8px;display:grid}.attendance-summary-row{background:#fff;border:1px solid #2a42341f;border-radius:8px;overflow:hidden}.my-exception-row{background:#fff;border:1px solid #2a42341f;border-radius:8px;gap:10px;padding:12px;display:grid}.my-exception-row strong,.my-exception-row small{display:block}.my-exception-row small{color:#59675d;overflow-wrap:anywhere}.exception-state-list{flex-wrap:wrap;gap:6px;display:flex}.attendance-summary-button{color:inherit;cursor:pointer;text-align:left;background:0 0;border:0;grid-template-columns:22px minmax(110px,.8fr) minmax(160px,1fr) minmax(160px,1fr) minmax(160px,1fr);align-items:center;gap:10px;width:100%;padding:12px;display:grid}.expand-icon{color:#23623d;justify-content:center;align-items:center;display:inline-flex}.attendance-summary-button:hover{background:#edf7ef}.attendance-summary-button strong,.attendance-summary-button small{display:block}.attendance-summary-button small{color:#59675d}.payroll-total-strip{background:#edf7ef;border:1px solid #23623d33;border-radius:8px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}.payroll-total-strip span{color:#59675d;font-weight:800}.payroll-total-strip strong{color:#23623d;font-size:18px}.payroll-total-strip small{color:#59675d;flex-basis:100%}.payroll-history-summary{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;display:grid}.payroll-history-summary article{background:#edf7ef;border:1px solid #23623d2e;border-radius:8px;gap:4px;min-width:0;padding:10px;display:grid}.payroll-history-summary span,.payroll-source{color:#59675d;font-size:12px;font-weight:750}.payroll-history-summary strong{color:#23623d;overflow-wrap:anywhere;font-size:16px}.payroll-history-list{gap:10px;display:grid}.payroll-history-row{background:#fff;border:1px solid #2a42341f;border-radius:8px;grid-template-columns:minmax(92px,.35fr) minmax(0,1fr);gap:10px;padding:12px;display:grid}.payroll-person strong,.payroll-person small,.payroll-source{display:block}.payroll-person small{color:#59675d}.payroll-amounts,.payroll-deductions{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;display:grid}.payroll-amounts span,.payroll-deductions span{color:#304137;overflow-wrap:anywhere;background:#f7f4ec;border:1px solid #2a423414;border-radius:8px;justify-content:flex-start;align-items:center;gap:4px;min-width:0;padding:7px;font-size:12px;font-weight:750;display:flex}.payroll-amounts strong{overflow-wrap:anywhere;min-width:0;font-size:14px}.payroll-deductions,.payroll-source{grid-column:2}.attendance-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;display:grid}.payroll-stats span{background:#fffdf7}.attendance-stats span{color:#304137;text-align:center;background:#f7f4ec;border:1px solid #2a423414;border-radius:8px;padding:6px 7px;font-size:12px;font-weight:800}.attendance-detail-list{border-top:1px solid #2a42341a;padding:10px}.attendance-detail-row{background:#fffdf7;border:1px solid #2a42341a;border-radius:8px;grid-template-columns:minmax(128px,1fr) repeat(4,minmax(80px,auto));align-items:center;gap:6px;padding:8px;display:grid}.attendance-detail-row span{color:#59675d;white-space:nowrap;font-size:12px;font-weight:750}.attendance-exception-box{background:#fff8ed;border:1px solid #8d2f242e;border-radius:8px;grid-column:1/-1;gap:8px;padding:8px;display:grid}.attendance-exception-row{grid-template-columns:minmax(160px,1fr) minmax(260px,2fr);align-items:center;gap:8px;display:grid}.attendance-exception-row small{color:#6a5d4f;margin-top:3px;font-size:12px;font-weight:700;display:block}.compact-pager{border-top:1px solid #2a42341a;padding-top:8px}.exception-actions{grid-template-columns:minmax(160px,1fr) auto auto;align-items:center;gap:8px;display:grid}.exception-actions input{min-width:0}.status-text-ok{font-weight:850;color:#23623d!important}.status-text-warn{font-weight:850;color:#8d2f24!important}.status-pill{color:#304137;white-space:nowrap;background:#eef2ed;border-radius:999px;padding:5px 9px;font-size:12px;font-weight:850}.status-pill.pending{color:#7a5200;background:#fff1bf}.status-pill.approved{color:#23623d;background:#dff3e4}.status-pill.rejected{color:#8d2f24;background:#ffe4df}.status-pill.changed{color:#583a94;background:#e8e2f7}.status-pill.cancelled{color:#665a4a;background:#ece7de}.status-pill.signed{color:#23623d;background:#edf7ef}.placeholder-band{background:#fffdf7;border:1px solid #2a42341f;border-radius:8px;align-items:flex-start;gap:12px;margin-top:14px;padding:18px;display:flex}.placeholder-band svg{color:#23623d;flex:none}button:disabled{cursor:not-allowed;opacity:.55}@media (width>=720px){main{padding:30px}.two,.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.module-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.module-card{gap:12px;min-height:142px;padding:18px}.module-card strong{font-size:16px}.module-card span,.module-card p{font-size:14px}.admin-menu{align-items:center;display:flex}.leave-query-panel{background:#fffdf7;border:1px solid #2a42341f;border-radius:8px;gap:12px;padding:14px;display:grid}.leave-query-panel h3,.leave-query-grid{margin:0}.leave-entitlement-panel{border-top:1px solid #2a42341f;gap:10px;margin-top:4px;padding-top:12px;display:grid}.leave-entitlement-head{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;display:grid}.leave-entitlement-head strong{font-size:13px;line-height:1.3;display:block}.leave-entitlement-head>div{min-width:0}.collapse-toggle{color:#23623d;cursor:pointer;white-space:nowrap;background:#fffdf7;border:1px solid #23623d38;border-radius:8px;justify-self:end;align-items:center;gap:7px;min-height:38px;padding:0 10px;display:inline-flex}.collapse-toggle .collapse-icon{flex-basis:24px;width:24px;height:24px}.leave-entitlement-table-wrap{overflow-x:auto}.leave-entitlement-table{border-collapse:separate;border-spacing:0;table-layout:fixed;width:100%;min-width:760px}.leave-entitlement-table th,.leave-entitlement-table td{text-align:center;vertical-align:middle;border-bottom:1px solid #2a42341f;padding:9px 8px}.leave-entitlement-table th{color:#0f5c34;background:#eef7f0;font-size:12px;font-weight:850}.leave-entitlement-table th:first-child,.leave-entitlement-table td:first-child{text-align:left;width:28%}.leave-entitlement-table th:last-child,.leave-entitlement-table td:last-child{width:170px}.leave-entitlement-table td strong,.leave-entitlement-table td small{display:block}.leave-entitlement-table td small{color:#59675d;margin-top:3px;font-size:12px}.compact-button-row{justify-content:center;gap:6px}.menu-toggle{display:none}.menu-items,.menu-items.open{flex-wrap:wrap;display:flex}.inline-head{grid-template-columns:1fr auto;align-items:center}.calendar-cell{min-height:124px;padding:8px}.employee-quick-panel{grid-template-columns:minmax(200px,.7fr) minmax(0,1fr);align-items:center}.employee-quick-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.data-row{grid-template-columns:1fr auto}.my-exception-row{grid-template-columns:minmax(210px,1fr) minmax(180px,auto)}.my-exception-row .exception-actions{grid-column:1/-1}.permission-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.admin-leave-row{grid-template-columns:1fr auto minmax(160px,230px) minmax(180px,260px) auto}.admin-leave-row input,.admin-leave-row .button-row,.admin-leave-row p{grid-column:auto}.balance-row{grid-template-columns:minmax(0,1fr)}}@media (width<=520px){main{padding:12px}.calendar-panel{padding:8px}.calendar-toolbar{grid-template-columns:minmax(72px,1fr) minmax(94px,1.1fr) minmax(72px,1fr)}.calendar-toolbar .secondary-action{min-height:34px;padding:0 8px}.calendar-toolbar strong{font-size:16px}.calendar-cell{gap:2px;min-height:70px;padding:4px}.calendar-day-number{font-size:12px}.calendar-chip{padding:2px 3px;font-size:10px}.calendar-warning-dot{padding:2px 3px;font-size:9px}.schedule-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.schedule-row{gap:6px;min-height:92px;padding:6px}.schedule-row strong{font-size:12px}.schedule-row small{text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.schedule-row select{min-height:34px;padding:0 6px;font-size:12px}.schedule-modal-backdrop{align-items:stretch;padding:10px}.schedule-modal{max-height:calc(100vh - 20px);padding:10px}.balance-card{grid-template-columns:minmax(0,1fr);align-items:stretch;gap:6px;padding:8px}.balance-metrics,.balance-card button{grid-column:auto}.balance-card strong{font-size:14px}.balance-card input,.balance-card .secondary-action{min-height:34px}.balance-metrics{grid-column:1/-1;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px}.balance-metrics label,.balance-metrics span{padding:5px;font-size:11px;line-height:1.2}.balance-metrics b{font-size:13px}.balance-row{grid-template-columns:minmax(0,1fr);padding:10px}.balance-person{grid-column:1/-1}.balance-table{min-width:0}.balance-table th,.balance-table td{padding:6px 3px;font-size:11px}.balance-table thead th,.leave-entitlement-head strong{font-size:11px}.leave-entitlement-head{display:block}.leave-entitlement-head .collapse-toggle{min-height:30px;margin-top:4px;margin-left:auto;padding:0 6px;font-size:11px;display:flex}.leave-entitlement-table th,.leave-entitlement-table td{padding:6px 3px;font-size:11px;line-height:1.25}.leave-entitlement-table th{font-size:11px}.leave-entitlement-table td strong{font-size:11px;line-height:1.25}.leave-entitlement-table td small{font-size:10px}.balance-quota-control input,.balance-quota-control .secondary-action{min-height:28px;padding:0 4px;font-size:12px}.attendance-summary-button{grid-template-columns:22px minmax(0,1fr);gap:8px;padding:10px}.attendance-summary-button .attendance-stats{grid-column:1/-1}.attendance-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.attendance-stats span{padding:6px 4px;font-size:12px}.attendance-detail-row{grid-template-columns:1fr 1fr;align-items:start;padding:7px}.attendance-detail-row strong{grid-column:1/-1}.attendance-detail-row span{text-overflow:ellipsis;min-width:0;font-size:12px;overflow:hidden}.attendance-exception-row,.exception-actions{grid-template-columns:1fr}.template-actions{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.template-actions .secondary-action{min-height:38px;padding-inline:4px;font-size:14px}.leave-row-actions{grid-template-columns:1fr}.payroll-history-summary{grid-template-columns:repeat(3,minmax(0,1fr))}.payroll-history-row{grid-template-columns:1fr}.payroll-amounts,.payroll-deductions{grid-template-columns:repeat(2,minmax(0,1fr))}.payroll-deductions,.payroll-source{grid-column:auto}.signature-canvas{height:150px}.brand-mark{width:48px;height:48px}.brand strong{font-size:16px}.topbar-help-link{font-size:0}.topbar-nav-link,.topbar-help-link{gap:4px;font-size:12px}.topbar-actions{flex-wrap:wrap;justify-content:flex-end;gap:6px}.operation-center-header{align-items:flex-start;padding:16px}.operation-center-header>svg{width:34px;height:34px}.operation-role-summary{flex-wrap:wrap;align-items:flex-start}.operation-role-summary>div{flex-basis:calc(100% - 54px)}.operation-role-summary .status-pill{margin-left:54px}.operation-task-grid,.operation-guide-grid,.operation-detail-grid,.operation-guide-screenshot-grid{grid-template-columns:1fr}.operation-guide-detail-head,.operation-guide-screenshots-head{flex-direction:column;align-items:flex-start}.operation-guide-screenshot-note,.operation-guide-screenshot figcaption{font-size:13px}.operation-guide-screenshot-grid.is-single{grid-template-columns:1fr}.page-guide-hint{flex-wrap:wrap;align-items:flex-start}.page-guide-hint>span{flex-wrap:wrap;flex-basis:calc(100% - 30px);align-items:flex-start}.page-guide-hint .secondary-action{margin-left:27px}}@media (width>=900px){.module-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.module-card{gap:7px;min-height:118px;padding:12px}.module-card strong{font-size:15px}}
