.simulation-inline{display:inline-block;margin-left:12px;color:#a96831;font-size:11px;font-weight:700}.simulation-banner{display:flex;justify-content:space-between;align-items:center;gap:14px;background:#fff6e8;border:1px solid #efd7b6;color:#8b572d;border-radius:12px;padding:12px 15px;margin:20px 0;font-size:12px}.admin-tabs{display:flex;gap:8px;margin:6px 0 16px}.admin-tabs button{border:1px solid var(--line);background:#fff;color:var(--muted);padding:9px 15px;border-radius:8px;cursor:pointer;font:inherit;font-size:12px}.admin-tabs button.active{background:var(--green);border-color:var(--green);color:#fff;font-weight:700}.admin-grid{display:grid;grid-template-columns:330px minmax(0,1fr);gap:18px;align-items:start}.admin-list{padding:16px;min-height:620px}.admin-grid>.admin-list{display:block;min-width:0}.admin-list .filter-row{min-width:0}.admin-list .filter-row input{min-width:0;width:100%;box-sizing:border-box}.admin-list .filter-row{display:grid;grid-template-columns:1fr 110px;gap:8px}.admin-list .filter-row input{width:auto;grid-column:1 / -1}.admin-user-list{display:grid;gap:6px;margin-top:16px}.admin-user-list button{display:grid;text-align:left;gap:4px;border:1px solid transparent;background:transparent;border-radius:9px;padding:12px;cursor:pointer;color:var(--muted);font:inherit}.admin-user-list button:hover,.admin-user-list button.selected{background:#e8f4ed;border-color:#cfe7d9;color:var(--green)}.admin-user-list strong{font-size:13px;color:var(--ink)}.admin-user-list span{font-size:11px}.admin-user-list small{font-size:10px;color:#8c9c94}.admin-detail{min-height:620px;min-width:0}.admin-detail .detail-header select{border:1px solid var(--line);border-radius:8px;padding:8px;background:#fff;color:var(--ink)}.tag-list{display:flex;flex-wrap:wrap;gap:7px}.config-tag{display:inline-flex;align-items:center;border-radius:999px;background:#e8f4ed;color:#327b54;padding:6px 9px;font-size:11px}.role-remove{border:0;background:transparent;color:#8b572d;font-size:13px;line-height:1;margin-left:5px;padding:0;cursor:pointer}.inline-form{display:flex;align-items:center;gap:8px;margin-top:14px;flex-wrap:wrap}.inline-form select{border:1px solid var(--line);border-radius:8px;padding:9px 10px;background:#fff;color:var(--ink);font:inherit;font-size:12px}.inline-form select[multiple]{min-width:230px;min-height:74px}.scope-note{font-size:11px;color:var(--muted);line-height:1.7;margin:12px 0 0}.preview-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.preview-grid div{background:#f5f8f5;border-radius:9px;padding:11px}.preview-grid small,.preview-grid strong{display:block}.preview-grid small{font-size:10px;color:#8c9c94;margin-bottom:5px}.preview-grid strong{font-size:11px;line-height:1.6;color:var(--ink);word-break:break-word}.inline-success{background:#edf9f0;border:1px solid #c9e8d0;color:#2d754a;border-radius:9px;padding:10px 12px;margin-bottom:13px;font-size:12px}.permission-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(168px,1fr));gap:9px}.permission-grid label{display:flex;gap:6px;align-items:flex-start;font-size:11px;color:#52675e;min-width:0}.permission-grid label span{line-height:1.45;word-break:break-word}.permission-grid input{accent-color:var(--green);margin-top:2px;flex:none}.permission-filter{width:100%;border:1px solid var(--line);border-radius:8px;padding:9px 12px;background:#fff;color:var(--ink);font:inherit;font-size:12px;margin-bottom:12px;box-sizing:border-box}.permission-group{margin-bottom:14px}.permission-group-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:0 0 8px;padding:6px 2px;border-bottom:1px solid var(--line)}.permission-group-head strong{font-size:12px;color:var(--ink)}.permission-group-head span{font-size:10px;color:var(--muted);flex:none}.config-field-table{display:grid;gap:2px}.config-field{display:grid;grid-template-columns:150px minmax(0,1fr);gap:12px;padding:9px 4px;border-bottom:1px solid #eef3ef;align-items:start}.config-field span{font-size:11px;color:var(--muted);padding-top:2px}.config-field strong{font-size:12px;color:var(--ink);font-weight:600;line-height:1.6;word-break:break-word}.section-hint{display:inline-block;margin-left:10px;font-size:10px;font-weight:400;color:#8c9c94}.tag-remove{border:0;background:transparent;color:#327b54;font-size:13px;line-height:1;margin-left:6px;padding:0;cursor:pointer;font-weight:700}.tag-remove:hover{color:#a94442}.config-tag.subtle{background:#f5f8f5;color:#52675e}.detail-section details{border-bottom:1px dashed #eef3ef;padding:6px 0}.detail-section summary{cursor:pointer;font-size:12px;color:var(--ink);list-style:none}.detail-section summary:before{content:"▸ ";color:var(--green)}.detail-section details[open] summary:before{content:"▾ "}.detail-section h4{display:flex;align-items:baseline;flex-wrap:wrap}@media(max-width:900px){.admin-grid{grid-template-columns:1fr}.admin-list{min-height:0}}@media(max-width:620px){.permission-grid{grid-template-columns:1fr 1fr}.preview-grid{grid-template-columns:1fr}.simulation-banner{align-items:flex-start;flex-direction:column}}.configuration-grid{display:grid;grid-template-columns:360px minmax(0,1fr);gap:18px;align-items:start}.configuration-center-page .filter-row{display:flex;gap:8px;margin:12px 0}.configuration-center-page .filter-row input{flex:1}.config-row{display:grid;width:100%;gap:5px;text-align:left;border:1px solid transparent;border-radius:9px;background:transparent;color:var(--ink);padding:12px;cursor:pointer;font:inherit}.config-row:hover{background:#f0f7f2;border-color:#cfe7d9}.config-row strong{font-size:12px}.config-row span{font-size:11px;color:var(--muted)}.config-json{white-space:pre-wrap;word-break:break-word;font:11px/1.6 ui-monospace,SFMono-Regular,Consolas,monospace;background:#f5f8f5;border-radius:9px;padding:14px;max-height:620px;overflow:auto}.schedule-drag-hint{margin:10px 0;padding:10px 12px;border:1px solid #cce6d6;border-radius:10px;background:#f1faf4;color:#39765a;font-size:12px}.schedule-board td{position:relative;transition:background .12s ease,box-shadow .12s ease}.schedule-board td.drag-source{background:var(--schedule-middle-bg,#bfe5d1);box-shadow:inset 0 0 0 2px var(--schedule-middle-border,#5fa57d)}.schedule-board td.drag-preview{background:var(--schedule-unassigned-bg,#d7e9de);box-shadow:inset 0 -3px 0 var(--schedule-unassigned-border,#6fa07e)}.schedule-drag-handle{position:absolute;top:3px;right:3px;z-index:1;border:0;border-radius:4px;background:#d8efe1;color:#19764f;cursor:grab;font-size:11px;line-height:18px;width:22px;height:18px;padding:0}.schedule-drag-handle:active{cursor:grabbing}.schedule-state-tag.draft{border:1px dashed var(--schedule-unassigned-border,#6fa07e);background:var(--schedule-unassigned-bg,#d7e9de);color:var(--schedule-unassigned-text,#2e5a43)}.schedule-state-tag.published{border:1px solid var(--schedule-middle-border,#5fa57d);background:var(--schedule-middle-bg,#bfe5d1);color:var(--schedule-middle-text,#1f5138)}.schedule-state-tag.changed{border:1px solid var(--schedule-warning-border,#ca8b32);background:var(--schedule-warning-bg,#f3d6a9);color:var(--schedule-warning-text,#70470b)}.schedule-state-tag.locked{border:1px solid #8b9891;background:#dfe4e1;color:#3f5048}.schedule-attendance-requirement{display:grid;gap:3px;margin:8px 0;padding:8px 9px;border:1px solid #d7eadf;border-radius:8px;background:#f7fbf8;text-align:left;font-size:11px;font-weight:400;color:#365f4d}.schedule-attendance-requirement span{display:flex;justify-content:space-between;gap:8px;white-space:nowrap}.schedule-attendance-requirement b{color:#145f43}.schedule-attendance-requirement small{display:block!important;margin-top:3px;color:#71867d!important;white-space:normal}.schedule-drag-backdrop{position:fixed;inset:0;z-index:30;display:grid;place-items:center;background:#0a2d1f38}.schedule-drag-dialog{width:min(440px,calc(100vw - 32px));padding:22px;border:1px solid #cce4d4;border-radius:14px;background:#fff;box-shadow:0 18px 55px #0f412a33}.schedule-drag-dialog h3{margin:0 0 10px;color:#123d2b}.schedule-drag-dialog p{margin:8px 0;color:#527064;font-size:13px;line-height:1.6}.schedule-drag-warning{padding:9px 10px;border-radius:8px;background:#fff8e8;color:#9b6b17!important}.schedule-drag-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}.schedule-roster-filters{display:grid;grid-template-columns:145px minmax(190px,1.2fr) minmax(190px,1fr) minmax(180px,1fr) 150px auto auto;gap:10px;align-items:end;padding:14px;margin:12px 0}.schedule-roster-filters>label{display:grid;gap:5px;color:var(--ui-text-muted,#667d72);font-size:12px}.schedule-roster-filters input,.schedule-roster-filters select{min-height:38px;border:1px solid var(--ui-border,#cfdfd6);border-radius:8px;background:#fff;padding:0 10px;color:var(--ui-text,#18382c)}.schedule-roster-filters .searchable-select input{width:100%}.schedule-view-toggle{display:flex;border:1px solid #cfe0d7;border-radius:8px;overflow:hidden}.schedule-view-toggle button{border:0;border-right:1px solid #cfe0d7;background:#fff;padding:8px 14px;color:#527064}.schedule-view-toggle button:last-child{border-right:0}.schedule-view-toggle button.active{background:#16845b;color:#fff}.schedule-month-summary{display:grid;grid-template-columns:repeat(5,minmax(145px,1fr));gap:10px;margin:12px 0}.schedule-month-summary span{display:grid;gap:4px;padding:12px 14px;border:1px solid #dce9e2;border-radius:10px;background:#fff;color:#6b8177;font-size:12px}.schedule-month-summary strong{color:#123d2b;font-size:15px}.monthly-roster{max-width:100%;max-height:68vh;overflow:auto}.monthly-roster .schedule-board{min-width:max-content}.monthly-roster .schedule-board th:not(.schedule-employee-fixed),.monthly-roster .schedule-board td{width:118px;min-width:118px;max-width:118px}.schedule-board thead th{position:sticky;top:0;z-index:4;background:#f6faf7}.schedule-board .schedule-employee-fixed{position:sticky;left:0;z-index:3;width:285px;min-width:285px;max-width:285px;background:#fff;box-shadow:4px 0 8px #123d2b0f}.schedule-board thead .schedule-employee-fixed{z-index:6;background:#f6faf7}.schedule-board th.weekend,.schedule-board th.statutory{background:#fff1f1;color:#c93636}.schedule-board th.weekend strong,.schedule-board th.weekend small,.schedule-board th.statutory strong,.schedule-board th.statutory small,.schedule-board th.statutory em{color:#c93636}.schedule-board th.adjusted{background:#edf7ff}.schedule-board th.peak{background:#fff7e5}.schedule-board th em{display:block;margin-top:2px;color:#a36b12;font-size:9px;font-style:normal}.schedule-attendance-requirement.compact{grid-template-columns:repeat(2,1fr);gap:2px 8px;padding:5px 7px}.schedule-attendance-requirement.compact span{font-size:10px}.schedule-pagination{display:flex;align-items:center;justify-content:flex-end;gap:10px;padding:12px 2px;color:#587065;font-size:12px}.schedule-pagination label{display:flex;align-items:center;gap:5px}.schedule-pagination select{height:34px;border:1px solid #cfdfd6;border-radius:7px;background:#fff;padding:0 8px}.schedule-monthly-dialog{width:min(820px,calc(100vw - 32px));max-height:90vh;overflow:auto;padding:22px;border:1px solid #cce4d4;border-radius:14px;background:#fff;box-shadow:0 18px 55px #0f412a33}.schedule-monthly-dialog header{display:flex;justify-content:space-between;gap:16px}.schedule-monthly-dialog h3{margin:4px 0;color:#123d2b}.schedule-monthly-dialog p{margin:4px 0;color:#657d72}.schedule-monthly-controls{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:18px 0}.schedule-monthly-controls label{display:grid;gap:5px;font-size:12px;color:#567064}.schedule-monthly-controls select{height:40px;border:1px solid #cfdfd6;border-radius:8px;background:#fff;padding:0 10px}.schedule-month-date-picker{display:grid;gap:10px;margin:14px 0;padding:14px;border:1px solid #dbe9e1;border-radius:10px;background:#f8fbf9}.schedule-month-date-picker>div{display:grid;grid-template-columns:repeat(10,1fr);gap:6px}.schedule-month-date-picker label{display:flex;align-items:center;gap:4px;padding:6px;border:1px solid #dce8e1;border-radius:6px;background:#fff;font-size:11px}.schedule-monthly-preview{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin:16px 0}.schedule-monthly-preview span{display:grid;gap:3px;padding:9px;border-radius:8px;background:#f1f8f4;color:#60766b;font-size:11px}.schedule-monthly-preview strong{color:#176e4d;font-size:16px}@media(max-width:1100px){.schedule-roster-filters,.schedule-month-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.schedule-month-date-picker>div{grid-template-columns:repeat(7,1fr)}}.schedule-import-row{display:flex;justify-content:flex-end;margin-bottom:8px}.schedule-import-button{cursor:pointer}.schedule-import-button input{display:none}.schedule-dialog-backdrop{padding:16px;overflow:auto}.schedule-multi-dialog{width:min(560px,calc(100vw - 32px));max-height:min(820px,calc(100vh - 32px));overflow:auto;padding:22px}.schedule-dialog-header{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;border-bottom:1px solid #e2ece5;padding-bottom:12px}.schedule-dialog-header h3{margin:0 0 6px}.schedule-dialog-header p{margin:0!important;font-size:12px!important}.schedule-dialog-close{border:0;background:transparent;color:#6b8277;font-size:24px;line-height:1;cursor:pointer;padding:0 2px}.schedule-dialog-form{display:grid;gap:13px;margin-top:16px}.schedule-dialog-form label{display:grid;gap:6px;color:#244d39;font-size:12px;font-weight:600}.schedule-dialog-form input,.schedule-dialog-form select,.schedule-dialog-form textarea{box-sizing:border-box;width:100%;border:1px solid #d5e3d9;border-radius:9px;background:#fff;color:#234c39;padding:10px 11px;font:inherit;font-size:13px}.schedule-dialog-form input:focus,.schedule-dialog-form select:focus,.schedule-dialog-form textarea:focus{outline:2px solid #bfe3cc;outline-offset:1px}.schedule-dialog-form label>input+select{margin-top:1px}.schedule-dialog-form small{color:#7b9184;font-size:10px;font-weight:400}.schedule-dialog-form textarea{min-height:62px;resize:vertical}.schedule-date-label{display:flex;justify-content:space-between;align-items:center;color:#244d39;font-size:12px;font-weight:600}.schedule-date-mode{display:flex;border:1px solid #d5e3d9;border-radius:999px;padding:2px;background:#f6faf7}.schedule-date-mode button{border:0;border-radius:999px;background:transparent;color:#698074;padding:5px 10px;font:inherit;font-size:11px;cursor:pointer}.schedule-date-mode button.active{background:#176b43;color:#fff;font-weight:700}.schedule-range-inputs{display:grid;grid-template-columns:1fr auto 1fr;align-items:end;gap:9px}.schedule-range-inputs>span{padding-bottom:11px;color:#7b9184;font-size:12px}.schedule-calendar-picker{border:1px solid #dce9df;border-radius:11px;background:#fbfefc;padding:11px}.schedule-calendar-picker-head{display:grid;grid-template-columns:34px 1fr 34px auto;gap:6px;align-items:center}.schedule-calendar-picker-head strong{text-align:center;color:#244d39;font-size:13px}.schedule-calendar-picker-head>span{justify-self:end;color:#176b43;font-size:11px;font-weight:700}.schedule-calendar-picker-head .ghost-button{min-width:32px;height:28px;padding:0}.schedule-calendar-weekdays,.schedule-calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.schedule-calendar-weekdays{margin:11px 0 4px}.schedule-calendar-weekdays span{text-align:center;color:#879b8f;font-size:10px}.schedule-calendar-day{position:relative;min-height:39px;border:1px solid transparent;border-radius:8px;background:#fff;color:#365947;font:inherit;font-size:12px;cursor:pointer}.schedule-calendar-day:hover:not(:disabled){border-color:#8dceaa}.schedule-calendar-day small{position:absolute;right:3px;bottom:2px;color:#7e9488;font-size:8px}.schedule-calendar-day.today{box-shadow:inset 0 0 0 2px #b9dfc7}.schedule-calendar-day.has-schedule{border-color:#83a9c7}.schedule-calendar-day.statutory{background:#fff2f4;color:#c4506a}.schedule-calendar-day.peak{background:#fff8e7;color:#a66c16}.schedule-calendar-day.rest{background:#f0f8f2;color:#789386}.schedule-calendar-day.selected{background:#176b43!important;border-color:#176b43!important;color:#fff!important;font-weight:700;box-shadow:0 0 0 2px #b8dfc5}.schedule-calendar-day.selected small{color:#dff5e5}.schedule-calendar-day.locked{background:#edf0ee;color:#a0aca5;cursor:not-allowed;text-decoration:line-through}.schedule-calendar-day.empty{background:transparent}.schedule-calendar-legend{display:flex;gap:9px;flex-wrap:wrap;margin-top:10px;color:#72897c;font-size:9px}.schedule-calendar-legend span{display:inline-flex;align-items:center;gap:3px}.schedule-calendar-legend i{display:inline-block;width:9px;height:9px;border-radius:3px;border:1px solid #c5d8cb;background:#fff}.schedule-calendar-legend i.selected{background:#176b43;border-color:#176b43}.schedule-calendar-legend i.has-schedule{border-color:#83a9c7}.schedule-calendar-legend i.statutory{background:#fff2f4}.schedule-calendar-legend i.peak{background:#fff8e7}.schedule-calendar-legend i.rest{background:#f0f8f2}.schedule-calendar-legend i.locked{background:#edf0ee}.schedule-dialog-error{margin-top:12px}.schedule-dialog-preview{margin-top:14px;border:1px solid #d7e6dc;border-radius:10px;background:#fbfefc;padding:11px}.schedule-preview-summary{display:flex;gap:10px;flex-wrap:wrap;align-items:center;color:#5b7668;font-size:11px}.schedule-preview-summary strong{color:#194d35;font-size:13px}.schedule-preview-counts{display:flex;gap:6px;flex-wrap:wrap;margin:9px 0}.schedule-preview-counts span{padding:4px 7px;border-radius:999px;background:#eef6f0;color:#2d6c4c;font-size:10px}.schedule-preview-counts .overwrite{background:#fff3df;color:#9a671b}.schedule-preview-counts .skip{background:#f0f1f0;color:#8b9890}.schedule-preview-counts .warning{background:#fff3df;color:#a16d1c}.schedule-preview-list{display:grid;gap:4px;max-height:150px;overflow:auto}.schedule-preview-item{display:flex;justify-content:space-between;gap:8px;border-top:1px solid #edf2ee;padding:5px 0;color:#627b6e;font-size:10px}.schedule-preview-item strong{font-weight:600}.schedule-preview-item.overwrite strong{color:#a16d1c}.schedule-preview-item.skip_locked strong{color:#8a9690}.schedule-preview-item.peak_warning strong,.schedule-preview-item.support_conflict strong,.schedule-preview-item.internal_part_time_conflict strong{color:#a16d1c}.schedule-dialog-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:17px;padding-top:12px;border-top:1px solid #e2ece5}@media(max-width:520px){.schedule-multi-dialog{max-height:calc(100vh - 18px);padding:17px}.schedule-range-inputs{grid-template-columns:1fr;gap:5px}.schedule-range-inputs>span{display:none}.schedule-calendar-picker-head{grid-template-columns:30px 1fr 30px}.schedule-calendar-picker-head>span{grid-column:1/-1;justify-self:center}.schedule-calendar-day{min-height:35px}.schedule-dialog-actions{position:sticky;bottom:0;background:#fff;padding-bottom:2px}}.scheduling-workspace{max-width:none!important;width:100%}.main-content:has(.scheduling-workspace){min-width:0;max-width:none;padding-left:24px;padding-right:24px}.manager-schedule-page .text-link{border:0;background:transparent;cursor:pointer;font-weight:400}.manager-schedule-page button:disabled{opacity:.48;cursor:not-allowed}.manager-schedule-page .monthly-page-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 12px}.monthly-page-heading h2{margin:0;font-size:28px;color:var(--ui-color-text)}.monthly-page-heading p{margin:6px 0 0;color:var(--ui-color-muted);font-size:12px}.monthly-main-actions{display:flex;gap:8px;flex-shrink:0}.manager-schedule-page .schedule-roster-filters{display:grid;grid-template-columns:125px minmax(130px,1.2fr) repeat(3,minmax(115px,1fr)) 100px auto auto;gap:8px;padding:12px;margin:12px 0;align-items:end}.manager-schedule-page .schedule-roster-filters>label{min-width:0}.manager-schedule-page .schedule-roster-filters input,.manager-schedule-page .schedule-roster-filters select{min-height:34px;height:34px;width:100%;box-sizing:border-box}.manager-schedule-page .schedule-roster-filters button{white-space:nowrap}.manager-schedule-page .manager-toolbar{gap:8px;margin:10px 0;align-items:center;flex-wrap:wrap}.manager-schedule-page .schedule-view-toggle{border:0;border-radius:0;gap:4px}.manager-schedule-page .schedule-view-toggle button{background:transparent;color:var(--ui-color-muted);border:0;border-bottom:2px solid transparent;border-radius:0;padding:8px 12px}.manager-schedule-page .schedule-view-toggle button.active{color:var(--ui-color-primary);border-bottom-color:var(--ui-color-primary);background:transparent}.monthly-muted{font-size:11px;color:var(--ui-color-muted)}.monthly-more{position:relative;font-size:12px}.monthly-more summary{cursor:pointer;padding:8px 12px;border:1px solid var(--ui-color-border);border-radius:6px;list-style:none}.monthly-more>div{position:absolute;right:0;top:100%;z-index:15;min-width:195px;padding:6px;background:var(--ui-color-surface);border:1px solid var(--ui-color-border);border-radius:8px;box-shadow:0 8px 24px #18312a18}.monthly-more>div>button,.monthly-more>div>label{display:block;text-align:left;width:100%;padding:10px;border:0;background:transparent;color:var(--ui-color-text);font-size:12px;cursor:pointer}.monthly-more>div>button:hover{background:var(--ui-color-surface-soft)}.manager-schedule-page .schedule-month-summary{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0;border:1px solid var(--ui-color-border);border-radius:10px;overflow:hidden;margin:10px 0}.manager-schedule-page .schedule-month-summary>span{border:0;border-right:1px solid var(--ui-color-border);border-radius:0;padding:9px 12px;gap:3px;font-size:11px}.manager-schedule-page .schedule-month-summary>span:last-child{border-right:0}.manager-schedule-page .schedule-month-summary strong{font-size:14px}.schedule-month-summary small{font-size:10px;color:var(--ui-color-muted)}.manager-schedule-page .schedule-board-wrap{max-width:100%;overflow:auto;max-height:62vh;border:1px solid var(--ui-color-border);border-radius:10px;background:var(--ui-color-surface);scroll-padding-left:268px;scroll-padding-top:64px}.manager-schedule-page .schedule-board{border-spacing:0;border-collapse:separate;min-width:max-content;width:100%;table-layout:fixed}.manager-schedule-page .schedule-board th,.manager-schedule-page .schedule-board td{border-bottom:1px solid var(--ui-color-border);border-right:1px solid var(--ui-color-border);padding:5px;box-sizing:border-box}.manager-schedule-page .schedule-board th:not(.schedule-employee-fixed),.manager-schedule-page .schedule-board td{width:86px;min-width:86px;max-width:86px}.manager-schedule-page .schedule-board .schedule-employee-fixed{width:268px;min-width:268px;max-width:268px;padding:8px 10px;left:0;background:var(--ui-color-surface)}.manager-schedule-page .schedule-board thead th{height:60px;background:var(--ui-color-surface-soft);vertical-align:middle}.manager-schedule-page .schedule-board thead th small{display:block;margin:3px 0;font-size:10px;font-weight:400}.manager-schedule-page .schedule-board th em{font-size:9px;white-space:normal}.manager-schedule-page .schedule-board th.weekend,.manager-schedule-page .schedule-board th.statutory{background:var(--schedule-weekend-header-bg,#f1ded8);color:var(--schedule-weekend-text,#984a31)}.manager-schedule-page .schedule-board td.weekend,.manager-schedule-page .schedule-board td.statutory{background:var(--schedule-weekend-bg,#f8edea)}.manager-schedule-page .schedule-board th.adjusted{background:#f0f6f5}.manager-schedule-page .schedule-employee-select{display:flex;align-items:center;gap:6px}.schedule-employee-select>strong{font-size:12px}.monthly-row-state{margin-left:auto;font-weight:500;white-space:nowrap;font-size:10px;border:1px solid var(--schedule-unassigned-border,#6fa07e);border-radius:4px;padding:2px 5px;background:var(--schedule-unassigned-bg,#d7e9de);color:var(--schedule-unassigned-text,#2e5a43)}.monthly-row-state.warning{color:var(--schedule-warning-text,#70470b);background:var(--schedule-warning-bg,#f3d6a9);border-color:var(--schedule-warning-border,#ca8b32)}.monthly-row-state.error{color:var(--schedule-danger-text,#7d2923);background:var(--schedule-danger-bg,#f1cbc7);border-color:var(--schedule-danger-border,#c8665e)}.monthly-row-state.published,.monthly-row-state.ready{color:var(--schedule-middle-text,#1f5138);background:var(--schedule-middle-bg,#bfe5d1);border-color:var(--schedule-middle-border,#5fa57d)}.manager-schedule-page .schedule-board small.monthly-identity,.manager-schedule-page .schedule-board small.monthly-mode{display:block;text-align:left;font-weight:400;margin:3px 0;color:var(--ui-color-muted);font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.monthly-employee-summary{display:flex;flex-wrap:wrap;gap:3px 8px;font-weight:400;font-size:10px;text-align:left;line-height:1.5}.monthly-row-actions{display:flex;gap:8px;margin-top:3px}.monthly-row-actions .text-link{font-size:10px;padding:0}.manager-schedule-page .monthly-cell{box-sizing:border-box;width:100%;min-height:46px;padding:6px 1px;border:1px solid var(--schedule-unassigned-border,#6fa07e);border-inline-start-width:3px;border-radius:5px;background:var(--schedule-unassigned-bg,#d7e9de);color:var(--schedule-unassigned-text,#2e5a43);cursor:pointer;text-align:center;white-space:nowrap;line-height:1.4}.manager-schedule-page .monthly-cell strong{font-size:10px;letter-spacing:-.2px;font-weight:500}.manager-schedule-page .monthly-cell small{display:block;color:var(--ui-color-muted);font-size:9px;margin:2px 0 0;white-space:nowrap}.manager-schedule-page .monthly-cell.shift-early{background:var(--schedule-early-bg,#b9dced);color:var(--schedule-early-text,#164c67);border-color:var(--schedule-early-border,#3f87aa)}.manager-schedule-page .monthly-cell.shift-middle{background:var(--schedule-middle-bg,#bfe5d1);color:var(--schedule-middle-text,#1f5138);border-color:var(--schedule-middle-border,#5fa57d)}.manager-schedule-page .monthly-cell.shift-late{background:var(--schedule-late-bg,#efc79f);color:var(--schedule-late-text,#653709);border-color:var(--schedule-late-border,#c47732)}.manager-schedule-page .monthly-cell.shift-rest{background:var(--schedule-rest-bg,#f2d6a6);color:var(--schedule-rest-text,#6c470e);border-color:var(--schedule-rest-border,#d1942f)}.manager-schedule-page .monthly-cell.pending{background:var(--schedule-warning-bg,#f3d6a9);color:var(--schedule-warning-text,#70470b);border-color:var(--schedule-warning-border,#ca8b32)}.manager-schedule-page .monthly-cell.edited{outline:1px dashed var(--ui-color-primary);outline-offset:1px}.schedule-shift-color-legend{display:flex;align-items:center;gap:8px;font-size:11px;color:var(--ui-color-muted)}.schedule-shift-color-legend span{display:flex;align-items:center;gap:3px}.schedule-shift-color-legend i{width:12px;height:12px;border-radius:3px;border:1px solid transparent}.schedule-shift-color-legend i.early{background:var(--schedule-early-bg,#b9dced);border-color:var(--schedule-early-border,#3f87aa)}.schedule-shift-color-legend i.middle{background:var(--schedule-middle-bg,#bfe5d1);border-color:var(--schedule-middle-border,#5fa57d)}.schedule-shift-color-legend i.late{background:var(--schedule-late-bg,#efc79f);border-color:var(--schedule-late-border,#c47732)}.schedule-shift-color-legend i.rest{background:var(--schedule-rest-bg,#f2d6a6);border-color:var(--schedule-rest-border,#d1942f)}.manager-schedule-page .monthly-cell:disabled{cursor:default;opacity:1}.manager-schedule-page .schedule-drag-handle{opacity:0;top:2px;right:2px;width:18px;height:14px;line-height:14px;font-size:10px}.manager-schedule-page td:hover .schedule-drag-handle,.manager-schedule-page td:focus-within .schedule-drag-handle{opacity:1}.manager-schedule-page .monthly-selected-row>.schedule-employee-fixed{background:#eef7f1}.manager-schedule-page .monthly-located{box-shadow:inset 0 0 0 2px var(--ui-color-primary)!important}.monthly-bottom-panel{position:sticky;bottom:0;z-index:7;margin-top:4px;padding:0!important;border-radius:10px 10px 0 0;background:var(--ui-color-surface);border:1px solid var(--ui-color-border)}.monthly-bottom-tabs{display:flex;align-items:center;gap:16px;padding:0 14px;min-height:42px}.monthly-bottom-tabs>button{padding:12px 0;border:0;border-bottom:2px solid transparent;background:transparent;font-size:12px;color:var(--ui-color-muted)}.monthly-bottom-tabs>button.active{color:var(--ui-color-primary);border-bottom-color:var(--ui-color-primary)}.monthly-bottom-content{padding:10px 14px;border-top:1px solid var(--ui-color-border);font-size:12px}.monthly-bottom-content p{margin:6px 0}.monthly-issue-filters{display:flex;flex-wrap:wrap;gap:6px}.monthly-issue-filters button{padding:5px 8px;border:1px solid var(--ui-color-border);border-radius:5px;background:#fff;font-size:11px}.monthly-issue-filters button.active{color:var(--ui-color-primary);background:#edf5ef}.monthly-issue-list{max-height:160px;overflow:auto}.monthly-issue-list>button{display:flex;align-items:center;gap:14px;padding:8px 4px;width:100%;text-align:left;border:0;border-bottom:1px solid var(--ui-color-border);background:#fff;color:var(--ui-color-text);font-size:11px}.monthly-issue-list>button>span:last-child{margin-left:auto;color:var(--ui-color-primary)}.monthly-picker-dialog{padding:16px;background:#fff;border-radius:12px;border:1px solid var(--ui-color-border);width:320px}.monthly-picker-dialog>p{font-size:12px;color:var(--ui-color-muted)}.monthly-quick-picker{display:grid;gap:6px}.monthly-quick-picker header{display:flex;justify-content:space-between;align-items:center}.monthly-quick-picker button{border:1px solid var(--ui-color-border);border-radius:6px;background:var(--ui-color-surface-soft);padding:9px;font-size:12px;text-align:left;color:var(--ui-color-text)}.monthly-quick-picker small{float:right;color:var(--ui-color-muted);font-size:10px}.monthly-quick-picker p{font-size:11px;color:var(--ui-color-muted)}.monthly-favorites-list,.monthly-detail-list{max-height:50vh;overflow:auto;margin:12px 0}.monthly-favorites-list label{display:flex;align-items:center;gap:8px;padding:9px 0;border-bottom:1px solid var(--ui-color-border);font-size:12px}.monthly-favorites-list small{margin-left:auto;color:var(--ui-color-muted)}.manager-schedule-page .schedule-pagination{flex-wrap:wrap;padding:8px 0;font-size:11px}@media(max-width:1200px){.manager-schedule-page .schedule-roster-filters{grid-template-columns:repeat(4,minmax(0,1fr))}.monthly-page-heading{flex-wrap:wrap}}@media(max-width:700px){.manager-schedule-page .schedule-roster-filters,.manager-schedule-page .schedule-month-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.monthly-main-actions{flex-wrap:wrap}.monthly-bottom-tabs{gap:10px}.monthly-bottom-tabs>.monthly-muted{display:none}}.scheduling-workspace>.calendar-schedule-generator{margin-top:18px}.schedule-mode-tabs{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:18px 0 12px;padding:8px;border:1px solid var(--ui-border,#d7e5dd);border-radius:12px;background:var(--ui-surface,#fff)}.schedule-mode-tab-list{display:flex;flex-wrap:wrap;gap:6px}.schedule-mode-tab-list button{display:inline-flex;align-items:center;gap:8px;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--ui-text-muted,#5b756a);padding:9px 12px;font-size:13px;cursor:pointer}.schedule-mode-tab-list button:hover{background:#f1f8f3;color:#146f4f}.schedule-mode-tab-list button.active{border-color:#b9dfc9;background:#e9f7ee;color:#096b49;font-weight:700}.schedule-mode-tab-list button span{min-width:20px;border-radius:10px;background:#eef3ef;padding:2px 6px;text-align:center;font-size:11px}.schedule-mode-tab-list button.active span{background:#0b8159;color:#fff}.schedule-mode-actions{display:flex;gap:8px;flex-shrink:0}.schedule-mode-summary{display:flex;justify-content:space-between;gap:20px;margin-bottom:14px;padding:16px 18px;border:1px solid #d7e9dc;border-radius:12px;background:#f6fbf7}.schedule-mode-summary strong{display:block;margin-top:3px;color:#123d2b;font-size:18px}.schedule-mode-summary p{margin:5px 0 0;color:#61786e;font-size:13px}.schedule-mode-facts{display:flex;align-items:center;justify-content:flex-end;gap:18px;flex-wrap:wrap;color:#61786e;font-size:12px}.schedule-mode-facts span{display:grid;gap:4px;min-width:94px}.schedule-mode-facts strong{display:block;margin:0;font-size:13px;color:#176c4c}.schedule-mode-callout{display:flex;gap:12px;align-items:center;padding:11px 13px;border:1px dashed #bedac8;border-radius:9px;background:#f7fbf8;color:#5f776d;font-size:12px}.schedule-mode-callout strong{color:#176c4c}.schedule-board-embedded{margin-top:0}.schedule-no-attendance{display:inline-flex;align-items:center;min-height:30px;color:#8a9b93;font-size:12px}.schedule-smart-backdrop{position:fixed;inset:0;z-index:40;display:flex;justify-content:flex-end;background:#0a2d1f33}.schedule-smart-drawer{width:min(860px,calc(100vw - 32px));height:100%;overflow:auto;padding:24px;border-left:1px solid #cce4d4;background:#f8fbf9;box-shadow:-18px 0 55px #0f412a2e}.schedule-smart-drawer>header{display:flex;justify-content:space-between;gap:20px;padding-bottom:16px;border-bottom:1px solid #d8e7dd}.schedule-smart-drawer>header h3{margin:5px 0;color:#123d2b;font-size:22px}.schedule-smart-drawer>header p{margin:0;color:#61786e;font-size:13px}.schedule-smart-drawer .schedule-page{padding:0}.schedule-smart-drawer .schedule-page>.page-intro{display:none}.schedule-smart-drawer .schedule-toolbar{margin-top:18px}@media(max-width:760px){.schedule-mode-tabs,.schedule-mode-summary{display:block}.schedule-mode-actions{margin-top:10px}.schedule-mode-facts{justify-content:flex-start;margin-top:14px}.schedule-smart-drawer{width:100%;padding:16px}}.scheduling-workspace{--schedule-early-bg: #b9dced;--schedule-early-border: #3f87aa;--schedule-early-text: #164c67;--schedule-middle-bg: #bfe5d1;--schedule-middle-border: #5fa57d;--schedule-middle-text: #1f5138;--schedule-late-bg: #efc79f;--schedule-late-border: #c47732;--schedule-late-text: #653709;--schedule-rest-bg: #f2d6a6;--schedule-rest-border: #d1942f;--schedule-rest-text: #6c470e;--schedule-unassigned-bg: #d7e9de;--schedule-unassigned-border: #6fa07e;--schedule-unassigned-text: #2e5a43;--schedule-warning-bg: #f3d6a9;--schedule-warning-border: #ca8b32;--schedule-warning-text: #70470b;--schedule-danger-bg: #f1cbc7;--schedule-danger-border: #c8665e;--schedule-danger-text: #7d2923;--schedule-weekend-bg: #f8edea;--schedule-weekend-header-bg: #f1ded8;--schedule-weekend-text: #984a31;font-family:var(--ui-font-sans);color:var(--ui-color-text);font-size:var(--ui-font-size-md);min-width:0}.scheduling-workspace .manager-schedule-page{padding:0;min-width:0}.scheduling-workspace .monthly-page-heading{align-items:center;margin-bottom:16px}.scheduling-workspace .monthly-main-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.scheduling-workspace :is(button,input,select,summary){font-family:var(--ui-font-sans)}.scheduling-workspace :is(.ghost-button,.primary-button){min-height:36px;padding:0 12px;border:1px solid var(--ui-color-border);border-radius:var(--ui-radius-control);background:var(--ui-color-surface);color:var(--ui-color-primary-strong);font-size:12px;box-shadow:none}.scheduling-workspace .primary-button{background:var(--ui-color-primary);border-color:var(--ui-color-primary);color:var(--ui-color-surface)}.scheduling-workspace :is(button,input,select,summary):focus-visible{outline:2px solid var(--ui-color-primary);outline-offset:2px}.scheduling-workspace .schedule-roster-filters{background:var(--ui-color-surface);border:1px solid var(--ui-color-border);border-radius:var(--ui-radius-panel);padding:16px;box-shadow:none}.scheduling-workspace .schedule-roster-filters>label{color:var(--ui-color-muted);font-size:12px}.scheduling-workspace .schedule-roster-filters :is(input,select){height:36px;min-height:36px;font-size:12px;border-color:var(--ui-color-border);border-radius:var(--ui-radius-control);color:var(--ui-color-text);background:var(--ui-color-surface)}.scheduling-workspace .manager-toolbar{padding:0 0 12px;border-bottom:1px solid var(--ui-color-border)}.scheduling-workspace .schedule-month-summary{border-radius:var(--ui-radius-control)}.scheduling-workspace .schedule-month-summary>span{min-height:62px;padding:10px 16px;background:var(--ui-color-surface);font-size:12px}.scheduling-workspace .schedule-month-summary strong{color:var(--ui-color-primary);font-size:16px}.scheduling-workspace .schedule-month-summary small{font-size:11px}.scheduling-workspace .schedule-board-wrap{border-radius:var(--ui-radius-control);scroll-padding-left:286px}.scheduling-workspace .schedule-board{color:var(--ui-color-text);font-size:12px}.scheduling-workspace .schedule-board .schedule-employee-fixed{width:286px;min-width:286px;max-width:286px}.scheduling-workspace .schedule-board th:not(.schedule-employee-fixed),.scheduling-workspace .schedule-board td{width:104px;min-width:104px;max-width:104px}.scheduling-workspace .schedule-board :is(small.monthly-identity,small.monthly-mode){font-size:11px;line-height:1.6}.scheduling-workspace .monthly-employee-summary,.scheduling-workspace .monthly-row-actions .text-link,.scheduling-workspace .monthly-row-state{font-size:11px}.scheduling-workspace .monthly-cell{min-height:52px;padding:6px 2px}.scheduling-workspace .monthly-cell strong{font-size:12px;letter-spacing:0}.scheduling-workspace .monthly-cell small{font-size:11px}.scheduling-workspace .schedule-board th :is(small,em){font-size:11px}.scheduling-workspace .schedule-board th:is(.weekend,.statutory) :is(strong,small,em){color:var(--schedule-weekend-text)}.scheduling-workspace .schedule-pagination{min-height:44px;font-size:12px}.scheduling-workspace .schedule-drag-dialog,.scheduling-workspace .schedule-monthly-dialog{max-height:calc(100dvh - 32px);overflow-y:auto;box-sizing:border-box;padding:20px 24px;background:var(--ui-color-surface);border:1px solid var(--ui-color-border);border-radius:var(--ui-radius-panel);box-shadow:var(--ui-shadow-overlay)}.scheduling-workspace .schedule-drag-actions{position:sticky;bottom:-24px;padding:16px 0;margin-bottom:-20px;border-top:1px solid var(--ui-color-border);background:var(--ui-color-surface);z-index:2}@media(max-width:900px){.scheduling-workspace .monthly-page-heading{display:grid;grid-template-columns:1fr;gap:12px}.scheduling-workspace .schedule-roster-filters,.scheduling-workspace .schedule-month-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.scheduling-workspace .schedule-roster-filters{grid-template-columns:1fr;padding:14px}.scheduling-workspace .monthly-main-actions{flex-wrap:wrap}.scheduling-workspace .schedule-board .schedule-employee-fixed{width:220px;min-width:220px;max-width:220px}.scheduling-workspace .schedule-board-wrap{scroll-padding-left:220px}.scheduling-workspace .manager-toolbar .toolbar-spacer{display:none}.scheduling-workspace .schedule-drag-dialog,.scheduling-workspace .schedule-monthly-dialog{width:calc(100vw - 24px);padding:16px}.scheduling-workspace .schedule-monthly-controls{grid-template-columns:1fr}.scheduling-workspace .schedule-drag-actions{bottom:-16px;margin-bottom:-16px}}.scheduling-workspace .monthly-cell :is(strong,small){display:block;overflow:hidden;color:inherit;text-overflow:ellipsis}.scheduling-workspace .monthly-cell small{opacity:.82}.scheduling-workspace .schedule-calendar-day.has-schedule{background:var(--schedule-middle-bg);border-color:var(--schedule-middle-border);color:var(--schedule-middle-text)}.scheduling-workspace .schedule-calendar-day.has-schedule small{color:var(--schedule-middle-text)}.scheduling-workspace .schedule-calendar-day.statutory{background:var(--schedule-danger-bg);border-color:var(--schedule-danger-border);color:var(--schedule-danger-text)}.scheduling-workspace .schedule-calendar-day.peak{background:var(--schedule-warning-bg);border-color:var(--schedule-warning-border);color:var(--schedule-warning-text)}.scheduling-workspace .schedule-calendar-day.rest{background:var(--schedule-rest-bg);border-color:var(--schedule-rest-border);color:var(--schedule-rest-text)}.scheduling-workspace .schedule-calendar-day.rest small{color:var(--schedule-rest-text)}.scheduling-workspace .schedule-calendar-day.locked{background:#dfe4e1;border-color:#8b9891;color:#526159}.scheduling-workspace .schedule-calendar-legend i.has-schedule{background:var(--schedule-middle-bg);border-color:var(--schedule-middle-border)}.scheduling-workspace .schedule-calendar-legend i.statutory{background:var(--schedule-danger-bg);border-color:var(--schedule-danger-border)}.scheduling-workspace .schedule-calendar-legend i.peak{background:var(--schedule-warning-bg);border-color:var(--schedule-warning-border)}.scheduling-workspace .schedule-calendar-legend i.rest{background:var(--schedule-rest-bg);border-color:var(--schedule-rest-border)}.scheduling-workspace .schedule-calendar-legend i.locked{background:#dfe4e1;border-color:#8b9891}.scheduling-workspace .schedule-preview-counts span{border:1px solid var(--schedule-middle-border);background:var(--schedule-middle-bg);color:var(--schedule-middle-text)}.scheduling-workspace .schedule-preview-counts :is(.overwrite,.warning){border-color:var(--schedule-warning-border);background:var(--schedule-warning-bg);color:var(--schedule-warning-text)}.scheduling-workspace .schedule-preview-counts .skip{border-color:#8b9891;background:#dfe4e1;color:#3f5048}.employee-schedule-page .schedule-list-item.scheduled{background:#bfe5d1;border-color:#5fa57d;color:#1f5138}.employee-schedule-page .schedule-list-item.rest{background:#f2d6a6;border-color:#d1942f;color:#6c470e}.employee-schedule-page .schedule-list-item.rest .schedule-main span{color:#6c470e}.employee-schedule-page .schedule-list-item :is(.schedule-main small,.schedule-date small){color:inherit;opacity:.76}.employee-schedule-page .schedule-list-item.changed{background:#f3d6a9;border-color:#ca8b32;color:#70470b}.employee-schedule-page .schedule-status{border:1px solid #5fa57d;background:#bfe5d1;color:#1f5138;font-weight:600}.employee-schedule-page .schedule-list-item.rest .schedule-status{border-color:#d1942f;background:#f2d6a6;color:#6c470e}.employee-schedule-page .schedule-list-item.changed .schedule-status{border-color:#ca8b32;background:#f3d6a9;color:#70470b}.attendance-inquiry{color:var(--ui-color-text);font-size:var(--ui-font-size-md)}.attendance-inquiry h2{font-size:var(--ui-font-size-2xl);margin:0 0 8px}.attendance-inquiry header p{color:var(--ui-color-muted)}.inquiry-toolbar{display:flex;align-items:end;gap:10px;flex-wrap:wrap;margin:20px 0}.inquiry-toolbar label{display:grid;gap:6px}.inquiry-toolbar label:first-child{min-width:220px}.inquiry-toolbar input,.inquiry-toolbar button,.inquiry-detail input,.inquiry-detail-tabs button{min-height:36px;font:inherit;border:1px solid var(--ui-color-border);border-radius:8px;padding:8px 12px;background:var(--ui-color-surface);color:inherit}.inquiry-view{display:flex;gap:4px;margin-left:auto}.attendance-inquiry button[aria-pressed=true]{border-color:var(--ui-color-primary);background:var(--ui-color-surface-soft);color:var(--ui-color-primary)}.inquiry-identity{display:flex;flex-wrap:wrap;gap:16px;background:var(--ui-color-surface-soft);padding:14px;border-radius:12px;margin-bottom:16px}.inquiry-content{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:20px;align-items:start}.inquiry-calendar,.inquiry-detail{background:var(--ui-color-surface);border:1px solid var(--ui-color-border);border-radius:12px;min-width:0;overflow:hidden}.inquiry-week,.inquiry-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.inquiry-week span{text-align:center;padding:12px;background:var(--ui-color-surface-soft)}.inquiry-day,.inquiry-blank{box-sizing:border-box;min-width:0;min-height:128px;border:0;border-top:1px solid var(--ui-color-border);border-right:1px solid var(--ui-color-border);padding:8px 5px;background:#fff}.inquiry-day{display:flex;flex-direction:column;gap:5px;text-align:left;cursor:pointer;font:inherit;color:inherit}.inquiry-day span,.inquiry-day small{font-size:var(--ui-font-size-xs);overflow-wrap:anywhere}.inquiry-day[aria-pressed=true]{box-shadow:inset 0 0 0 2px var(--ui-color-primary)}.inquiry-day:focus-visible{outline:2px solid var(--ui-color-primary);outline-offset:-3px}.inquiry-plan{background:var(--ui-color-surface-soft)}.inquiry-leave{color:var(--ui-color-primary)}.inquiry-overtime{color:#6656a3}.inquiry-anomaly{color:var(--ui-color-danger)}.is-today>strong{color:var(--ui-color-primary)}.inquiry-detail{padding:18px}.inquiry-detail h3{margin:0;font-size:var(--ui-font-size-lg)}.inquiry-detail dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.inquiry-detail dt{color:var(--ui-color-muted);font-size:var(--ui-font-size-sm)}.inquiry-detail dd{margin:6px 0;overflow-wrap:anywhere}.inquiry-schedule{display:grid;gap:6px;padding:12px;background:var(--ui-color-surface-soft);margin-bottom:8px;border-radius:8px}.inquiry-detail-tabs{display:flex;gap:6px;flex-wrap:wrap;margin:20px 0 12px}.inquiry-table-wrap{overflow:auto}.inquiry-detail table{width:100%;border-collapse:collapse;font-size:var(--ui-font-size-sm)}.inquiry-detail th,.inquiry-detail td{text-align:left;padding:10px 6px;border-bottom:1px solid var(--ui-color-border)}.inquiry-detail th{background:var(--ui-color-surface-soft)}.inquiry-empty{padding:32px;text-align:center;color:var(--ui-color-muted)}.day-view{grid-template-columns:1fr}@media(max-width:1100px){.inquiry-content{grid-template-columns:1fr}}@media(max-width:620px){.inquiry-toolbar label{width:100%}.inquiry-toolbar button,.inquiry-toolbar input,.inquiry-detail-tabs button{min-height:44px}.inquiry-day{min-height:115px;padding:6px 3px}.inquiry-detail{padding:12px}.inquiry-detail dl{gap:10px}.inquiry-week span{padding:10px 0}}.requests-page{font-family:var(--ui-font-family, sans-serif);color:var(--ui-color-text)}.request-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(240px,1fr);gap:20px;align-items:start}.request-form,.balance-panel,.request-history{min-width:0}.request-form form{display:grid;gap:16px}.request-form label{display:grid;gap:8px;min-width:0;font-size:var(--ui-font-size-md)}.request-form :is(input:not([type=checkbox]):not([type=radio]),select,textarea){box-sizing:border-box;width:100%;min-width:0;min-height:44px;padding:10px 12px;border:1px solid var(--ui-color-border);border-radius:8px;font:inherit;color:inherit;background:var(--ui-color-surface)}.request-form textarea{min-height:96px;max-height:160px;resize:vertical}.request-tabs,.request-mode-tabs{display:flex;gap:4px;padding:4px;background:var(--ui-color-surface-soft);border-radius:10px;margin-bottom:16px}.request-tabs button,.request-mode-tabs button{flex:1;min-height:44px;border:0;border-radius:8px;background:transparent;color:var(--ui-color-muted);font:inherit}.request-tabs button.active,.request-mode-tabs button[aria-pressed=true]{background:var(--ui-color-primary);color:#fff}.requests-page .request-form .primary-button{min-height:48px!important;height:48px;width:100%}.request-form h3{margin:8px 0 0;font-size:var(--ui-font-size-lg)}.request-rule-summary,.request-duration{padding:12px;border-radius:10px;background:var(--ui-color-surface-soft);display:grid;gap:6px;font-size:var(--ui-font-size-sm)}.request-form .leave-proof-requirements{padding:12px;border:0;box-shadow:none;background:var(--ui-color-surface-soft);font-size:var(--ui-font-size-sm)}.request-form .leave-rule-error:empty{display:none}.request-history{margin-top:20px}.request-row,.balance-row{display:flex;flex-wrap:wrap;gap:8px;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--ui-color-border)}.request-row small,.balance-row small{display:block;color:var(--ui-color-muted)}.request-group{display:grid;gap:8px;margin-top:16px}.balance-panel summary{min-height:44px;display:flex;align-items:center;color:var(--ui-color-primary);cursor:pointer}@media(max-width:900px){.request-layout{grid-template-columns:minmax(0,1fr)}}@media(max-width:620px){.main-content:has(.requests-page) .topbar{display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;min-height:44px;height:auto;gap:8px;margin-bottom:12px}.requests-page .page-intro{padding:0;min-height:0}.requests-page .page-intro h2{margin:0 0 8px;font-size:var(--ui-font-size-xl)}.requests-page .page-intro p{margin:0}.requests-page{padding:0 16px 24px}.requests-page .panel{padding:16px;border-radius:16px}.requests-page .page-intro{margin-bottom:16px}.requests-page .page-intro p{font-size:var(--ui-font-size-sm)}.request-form :is(button,input,select,textarea){font-size:max(16px,var(--ui-font-size-md))}.request-form button{min-height:44px}.request-form .request-mode-tabs{flex-wrap:wrap}.request-form .request-mode-tabs button{flex-basis:40%}.request-form .searchable-select{width:100%;min-width:0}}.mobile-datetime-field{display:grid;gap:8px;min-width:0}.datetime-trigger{text-align:left;min-height:44px;background:var(--ui-color-surface);border:1px solid var(--ui-color-border);border-radius:8px;padding:10px 12px;color:var(--ui-color-text);font:inherit}.mobile-datetime-sheet{box-sizing:border-box;width:min(480px,100%);border:0;border-radius:16px;padding:20px;color:var(--ui-color-text);background:var(--ui-color-surface)}.mobile-datetime-sheet::backdrop{background:#00000059}.mobile-datetime-sheet label{display:grid;gap:8px;margin:16px 0}.datetime-actions{display:flex;gap:12px}.datetime-actions button{flex:1;min-height:48px}@media(max-width:620px){.mobile-datetime-sheet{margin:auto 0 0;max-width:100%;border-radius:16px 16px 0 0;padding-bottom:calc(20px + env(safe-area-inset-bottom))}}.support-cost-workspace{display:grid;gap:16px;color:var(--ui-color-text);font-size:13px}.support-cost-workspace h2{font-size:24px;margin:0 0 8px}.support-cost-workspace p{color:var(--ui-color-muted);line-height:1.6;margin:8px 0}.cost-tabs{display:flex;gap:18px;border-bottom:1px solid var(--ui-color-border)}.cost-tabs button{border:0;background:transparent;border-bottom:3px solid transparent;padding:12px 6px}.cost-tabs button[aria-selected=true]{border-bottom-color:var(--ui-color-primary);color:var(--ui-color-primary);font-weight:600}.cost-toolbar{display:flex;gap:10px;align-items:end;flex-wrap:wrap;padding:14px}.cost-toolbar input{max-width:260px}.cost-toolbar h3{margin:0;flex:1}.cost-toolbar>button:not(.primary-button),.cost-pages button,.cost-footer button:not(.primary-button){border:1px solid var(--ui-color-border);border-radius:6px;padding:8px 12px;min-height:36px;background:var(--ui-color-surface);color:var(--ui-color-primary)}.cost-table-wrap{padding:16px;overflow:auto}.support-cost-workspace table,.cost-modal table{width:100%;border-collapse:collapse;font-size:12px}.support-cost-workspace th,.cost-modal th{background:var(--ui-color-surface-soft);text-align:left}.support-cost-workspace td,.support-cost-workspace th,.cost-modal td,.cost-modal th{padding:11px 9px;border-bottom:1px solid var(--ui-color-border);vertical-align:top}.support-cost-workspace td small{display:block;color:var(--ui-color-muted);margin-top:4px}.support-cost-workspace button,.cost-modal button{cursor:pointer;font:inherit}.support-cost-workspace button:disabled,.cost-modal button:disabled{opacity:.5;cursor:not-allowed}.support-cost-workspace td button{border:0;background:transparent;color:var(--ui-color-primary);padding:4px}.cost-pages,.cost-footer{display:flex;gap:10px;align-items:center;justify-content:flex-end;padding:14px 0 0}.cost-pages span{margin-right:auto;color:var(--ui-color-muted)}.cost-modal-backdrop{position:fixed;inset:0;background:#18312a66;z-index:1100;display:flex;align-items:center;justify-content:center;padding:20px}.cost-modal{background:var(--ui-color-surface);border:1px solid var(--ui-color-border);border-radius:16px;padding:24px;max-width:960px;width:100%;max-height:90vh;overflow:auto;box-shadow:0 12px 48px #18312a33}.cost-modal h3{margin:0 0 14px}.cost-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:20px 0}.cost-form-grid label,.cost-modal>label{display:grid;gap:8px;align-content:start}.cost-modal input:not([type=checkbox]),.cost-modal select,.cost-modal textarea,.cost-toolbar input,.cost-toolbar select{width:100%;min-height:36px;border:1px solid var(--ui-color-border);border-radius:6px;padding:8px;font:inherit;background:var(--ui-color-surface)}.cost-modal .cost-check{display:flex;align-items:center}.cost-footer{position:sticky;bottom:-24px;background:var(--ui-color-surface);padding:16px 0;border-top:1px solid var(--ui-color-border)}.city-compensation-policy{display:grid;gap:14px}.city-compensation-policy .ui-info-banner{display:grid;gap:6px}.city-compensation-policy td a{display:block;width:max-content;max-width:100%;margin-top:5px;color:var(--ui-color-primary);text-decoration:none}.city-compensation-policy td a:hover{text-decoration:underline}.city-policy-modal{max-width:980px}.official-policy-picker{padding:14px;border:1px solid #cde5d8;border-radius:10px;background:#f4faf6}.official-policy-picker>label{display:grid;gap:8px}.official-policy-summary{display:flex;gap:8px 14px;align-items:center;flex-wrap:wrap;margin-top:10px;color:var(--ui-color-muted);font-size:11px}.official-policy-summary strong,.official-source-badge{color:var(--ui-color-success);font-weight:700}.official-policy-summary a{color:var(--ui-color-primary);text-decoration:none}.official-policy-summary a:hover{text-decoration:underline}.official-source-badge{display:block;width:max-content;margin-bottom:4px;padding:2px 8px;border-radius:999px;background:#e5f4ea;font-size:11px}.city-policy-modal input[readonly],.city-policy-modal input:disabled{background:var(--ui-color-surface-soft);color:var(--ui-color-text);opacity:1}.city-policy-modal label>small{min-height:14px;color:var(--ui-color-muted);font-size:11px;line-height:1.45}.cost-modal .cost-check{grid-template-columns:auto 1fr;justify-content:start}@media(max-width:900px){.cost-form-grid{grid-template-columns:1fr}.cost-modal{padding:16px}}@media(max-width:620px){.cost-modal-backdrop{padding:8px}.cost-tabs{gap:4px;flex-wrap:wrap}}.support-heading{align-items:flex-end}.support-list{min-height:250px}.support-list-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-bottom:12px;border-bottom:1px solid var(--line)}.support-list-heading h3{margin:3px 0 0}.support-list-heading>span{color:var(--muted);font-size:12px}.support-row{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:15px 0;border-bottom:1px solid #edf1ee}.support-row:last-child{border-bottom:0}.support-row strong,.support-row span,.support-row small{display:block}.support-row strong{font-size:13px;color:var(--ink)}.support-row>div>span{margin-top:5px;font-size:12px;color:#536860}.support-row small{margin-top:5px;color:#73867d;font-size:11px}.support-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap;justify-content:flex-end}.support-actions>button{white-space:nowrap}.support-actions .state-label{margin-right:4px}.support-tag{display:inline-block!important;width:max-content;background:#e8f4ed;color:#327b54!important;border-radius:999px;padding:3px 6px;font-size:10px!important}.support-context{margin-bottom:18px}.support-context-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:16px}.support-context-grid small,.support-context-grid strong{display:block}.support-context-grid small{color:#97a49e;font-size:10px;margin-bottom:5px}.support-context-grid strong{font-size:13px;color:var(--ink)}.support-today-card{display:flex;align-items:center;justify-content:space-between;gap:15px;background:#e7f2eb;border:1px solid #cce3d3;border-radius:14px;padding:15px 17px;margin:0 0 18px}.support-today-card strong,.support-today-card small{display:block}.support-today-card strong{font-size:13px}.support-today-card small{color:#6e897b;font-size:11px;margin-top:4px}.support-today-card .state-label{flex:none}.approval-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:18px}.approval-summary>div{background:#fff;border:1px solid var(--line);border-radius:12px;padding:16px}.approval-summary b,.approval-summary span{display:block}.approval-summary b{font-size:22px;color:var(--green-dark)}.approval-summary span{font-size:11px;color:var(--muted);margin-top:5px}.support-application-backdrop{position:fixed;inset:0;z-index:160;display:flex;align-items:center;justify-content:center;padding:24px;background:#0e2d2370;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.support-application-dialog{display:flex;flex-direction:column;width:min(900px,calc(100vw - 48px));max-height:calc(100vh - 48px);padding:0;overflow:hidden}.support-application-dialog>header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:22px 24px 16px;border-bottom:1px solid var(--line)}.support-application-dialog>header h3{margin:4px 0 5px;font-size:20px}.support-application-dialog>header p{margin:0;color:var(--muted);font-size:12px}.support-dialog-close{width:32px;height:32px;padding:0;border:0;border-radius:50%;background:#eef4f0;color:var(--green-dark);font-size:22px;line-height:1}.support-application-notice{display:grid;gap:4px;margin:16px 24px 0;padding:12px 14px;border:1px solid #cae5d5;border-radius:10px;background:#f1f8f4;color:#49685b;font-size:12px}.support-application-notice strong{color:var(--green-dark)}.support-form-section{padding:17px 24px 2px}.support-form-section h4{margin:0 0 13px;padding-left:10px;border-left:3px solid var(--green);color:var(--ink);font-size:14px}.support-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 20px}.support-form-grid label{display:grid;align-content:start;gap:6px;min-width:0;color:#445d52;font-size:12px;font-weight:700}.support-form-grid input,.support-form-grid select,.support-form-grid textarea{width:100%;box-sizing:border-box;border:1px solid var(--line);border-radius:8px;padding:9px 10px;background:#fbfcfb;color:var(--ink);font:inherit;font-size:12px}.support-form-grid input:focus,.support-form-grid select:focus,.support-form-grid textarea:focus{outline:2px solid rgba(24,132,91,.16);border-color:var(--green)}.support-form-grid input[readonly]{background:#f4f7f5;color:#60746a}.support-form-grid textarea{resize:vertical}.support-form-grid label>small{color:#7d8e86;font-size:11px;font-weight:400}.support-reason{grid-column:1/-1}.support-current-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.support-current-grid>div{min-height:55px;padding:11px 12px;border:1px solid var(--line);border-radius:9px;background:#f7faf8}.support-current-grid small,.support-current-grid strong{display:block}.support-current-grid small{margin-bottom:5px;color:var(--muted);font-size:10px}.support-current-grid strong{color:var(--ink);font-size:12px}.support-application-dialog>footer{display:flex;justify-content:flex-end;gap:9px;margin-top:18px;padding:14px 24px;border-top:1px solid var(--line);background:#fff;position:sticky;bottom:0}.support-application-dialog>section{overflow:visible}.support-application-dialog{overflow-y:auto}.support-history-filters{display:grid;grid-template-columns:minmax(210px,1.5fr) repeat(2,minmax(160px,1fr)) repeat(2,145px) 135px 125px auto auto;gap:9px;align-items:center;padding:14px 0}.support-history-filters>input,.support-history-filters>select{height:38px;min-width:0;box-sizing:border-box;border:1px solid var(--line);border-radius:8px;padding:0 10px;background:#fff;color:var(--ink);font-size:12px}.support-history-table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:10px}.support-history-table{width:100%;min-width:1220px;border-collapse:collapse;font-size:12px}.support-history-table th{padding:10px 12px;background:#f4f8f5;color:#456055;text-align:left;white-space:nowrap}.support-history-table td{padding:11px 12px;border-top:1px solid #edf1ee;vertical-align:top;color:#31483f}.support-history-table td>strong,.support-history-table td>small{display:block}.support-history-table td>small{margin-top:4px;color:var(--muted);font-size:10px}.support-table-actions{display:flex;gap:7px;white-space:nowrap}.support-table-actions button{padding:0;border:0;background:transparent;color:var(--green-dark);font-size:11px;cursor:pointer}.support-table-actions button:disabled{opacity:.5}.support-mode-badge{display:inline-flex;padding:3px 7px;border-radius:999px;background:#eaf5ef;color:#187451;font-size:11px;font-weight:700}.support-mode-badge.outside{background:#fff2dd;color:#9a5a00}.support-pagination{display:flex;align-items:center;justify-content:flex-end;gap:8px;padding-top:12px;color:var(--muted);font-size:11px}.support-pagination button{padding:6px 10px}.support-derived-value{min-height:38px;box-sizing:border-box;border:1px solid var(--line);border-radius:8px;padding:10px;background:#f4f7f5;color:var(--ink);font-weight:600}.support-detail dl{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:18px 0}.support-detail dl>div{padding:10px;border:1px solid var(--line);border-radius:8px}.support-detail dt{color:var(--muted);font-size:11px}.support-detail dd{margin:5px 0 0;color:var(--ink);font-size:12px}@media(max-width:1180px){.support-history-filters{grid-template-columns:repeat(4,minmax(0,1fr))}.support-history-filters>input:first-child{grid-column:span 2}}@media(max-width:760px){.support-heading{align-items:flex-start}.support-application-backdrop{align-items:stretch;padding:0}.support-application-dialog{width:100%;max-height:100vh;border-radius:0}.support-form-grid{grid-template-columns:1fr}.support-reason{grid-column:auto}.support-current-grid,.support-history-filters{grid-template-columns:1fr 1fr}.support-history-filters>input:first-child{grid-column:1/-1}.support-detail dl{grid-template-columns:1fr}}@media(max-width:620px){.support-row{display:block}.support-actions{justify-content:flex-start;margin-top:10px}.support-context-grid{grid-template-columns:1fr 1fr}.support-today-card{display:block}.support-today-card .state-label{margin-top:10px}.approval-summary{gap:8px}.approval-summary>div{padding:12px}.approval-summary b{font-size:18px}.support-application-dialog>header,.support-form-section{padding-left:16px;padding-right:16px}.support-application-notice{margin-left:16px;margin-right:16px}.support-current-grid{grid-template-columns:1fr}.support-application-dialog>footer{padding-left:16px;padding-right:16px}}.support-settlement-workspace{display:grid;gap:16px}.settlement-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}.settlement-actions{display:flex;flex-wrap:wrap;gap:6px}.settlement-actions button{border:0;background:none;color:var(--ui-color-primary,#087a5b);cursor:pointer;padding:0}.position-rate-panel{display:grid;grid-template-columns:minmax(220px,1.2fr) repeat(3,minmax(180px,1fr)) auto;gap:14px;align-items:end;padding:20px;margin-top:16px}.position-rate-panel h3,.position-rate-panel p{margin:0}.position-rate-panel p{margin-top:6px;color:var(--ui-color-text-secondary,#61736d);font-size:13px}.position-rate-panel label{display:grid;gap:6px;font-size:13px}@media(max-width:1000px){.settlement-kpis{grid-template-columns:repeat(2,1fr)}.position-rate-panel{grid-template-columns:1fr 1fr}}@media(max-width:680px){.settlement-kpis,.position-rate-panel{grid-template-columns:1fr}}.flex-page{min-width:0;font-size:var(--ui-font-size-md)}.flex-page .ui-panel,.flex-rule-stack{min-width:0}.flex-page button,.flex-page input,.flex-page select,.flex-page textarea{font:inherit}.flex-month{display:grid;gap:var(--ui-space-1);color:var(--ui-color-muted);font-size:var(--ui-font-size-sm)}.flex-month input,.flex-filters input,.flex-filters select,.flex-inline-editor input,.flex-inline-editor select,.flex-policy-editor input,.flex-policy-editor select,.flex-dialog input,.flex-dialog select,.flex-dialog textarea{min-height:36px;border:1px solid var(--ui-color-border-strong);border-radius:var(--ui-radius-control);background:var(--ui-color-surface);color:var(--ui-color-text);padding:7px 10px}.flex-tabs{overflow-x:auto;border-bottom:1px solid var(--ui-color-border)}.flex-tabs>div{display:flex;min-width:max-content;gap:var(--ui-space-5)}.flex-tabs button{position:relative;border:0;background:transparent;color:var(--ui-color-text-secondary);padding:10px 2px 12px;cursor:pointer}.flex-tabs button:after{position:absolute;right:0;bottom:-1px;left:0;height:2px;background:transparent;content:""}.flex-tabs button:hover,.flex-tabs button.active{color:var(--ui-color-primary);font-weight:var(--ui-font-weight-semibold)}.flex-tabs button.active:after{background:var(--ui-color-primary)}.flex-two-column{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(300px,.8fr);gap:var(--ui-space-3)}.flex-kpi-wrap{grid-template-columns:repeat(auto-fit,minmax(130px,1fr))}.flex-heading-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:var(--ui-space-2)}.flex-principle-note{margin-bottom:var(--ui-space-4);padding:var(--ui-space-3);border-left:3px solid var(--ui-color-primary);border-radius:var(--ui-radius-control);background:var(--ui-color-brand-subtle);color:var(--ui-color-text-secondary);font-size:var(--ui-font-size-sm)}.flex-rule-stack{display:grid;gap:var(--ui-space-4)}.flex-table-wrap{max-width:100%;overflow:auto;border:1px solid var(--ui-color-border);border-radius:var(--ui-radius-md)}.flex-table{width:100%;min-width:780px;border-collapse:collapse;font-size:var(--ui-font-size-sm)}.flex-table th{background:var(--ui-color-surface-soft);color:var(--ui-color-text);font-weight:var(--ui-font-weight-semibold);text-align:left;white-space:nowrap}.flex-table th,.flex-table td{padding:10px 12px;border-bottom:1px solid var(--ui-color-border);vertical-align:top}.flex-table tbody tr:last-child td{border-bottom:0}.flex-table tbody tr:hover{background:var(--ui-color-surface-muted)}.flex-table td>small,.flex-table td>strong{display:block}.flex-table td>small{margin-top:3px;color:var(--ui-color-muted);font-size:var(--ui-font-size-xs)}.flex-wide-cell{min-width:220px;max-width:380px;white-space:normal}.flex-tag{display:inline-flex;align-items:center;min-height:23px;border-radius:999px;padding:2px 8px;font-size:var(--ui-font-size-xs);white-space:nowrap}.flex-tag-success{background:var(--ui-color-brand-subtle);color:var(--ui-color-success)}.flex-tag-warning{background:#fff4e8;color:var(--ui-color-warning)}.flex-tag-danger{background:#fff0ec;color:var(--ui-color-danger)}.flex-tag-neutral{background:var(--ui-color-surface-soft);color:var(--ui-color-text-secondary)}.flex-link-button{border:0;background:transparent;color:var(--ui-color-primary);padding:3px 5px;cursor:pointer;font-size:var(--ui-font-size-sm)}.flex-link-button:hover{color:var(--ui-color-primary-strong);text-decoration:underline}.flex-link-button:disabled{cursor:not-allowed;opacity:.55}.flex-empty,.flex-loading{padding:var(--ui-space-7);border:1px dashed var(--ui-color-border-strong);border-radius:var(--ui-radius-md);color:var(--ui-color-muted);text-align:center}.flex-event-list{display:grid;gap:var(--ui-space-2)}.flex-event-list article{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3px var(--ui-space-2);padding:var(--ui-space-3);border:1px solid var(--ui-color-border);border-radius:var(--ui-radius-md)}.flex-event-list article>div{display:flex;gap:var(--ui-space-2);align-items:baseline}.flex-event-list article span{color:var(--ui-color-muted);font-size:var(--ui-font-size-xs)}.flex-event-list article p{grid-column:1;margin:0;color:var(--ui-color-text-secondary)}.flex-event-list article>.flex-tag{grid-column:2;grid-row:1 / 3;align-self:center}.flex-filters{margin-bottom:var(--ui-space-4)}.flex-filters label,.flex-inline-editor label,.flex-policy-editor label,.flex-dialog label{display:grid;gap:var(--ui-space-1);color:var(--ui-color-text-secondary);font-size:var(--ui-font-size-sm)}.flex-inline-editor{display:grid;grid-template-columns:auto 110px minmax(210px,1fr) minmax(210px,1fr) auto auto;align-items:end;gap:var(--ui-space-3);margin-top:var(--ui-space-4);padding:var(--ui-space-4);border:1px solid var(--ui-color-border);border-radius:var(--ui-radius-md);background:var(--ui-color-surface-soft)}.flex-inline-editor>strong{align-self:center}.flex-grade{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%}.flex-grade-a{background:var(--ui-color-brand-subtle);color:var(--ui-color-success)}.flex-grade-b{background:#fff4e8;color:var(--ui-color-warning)}.flex-grade-c{background:#fff0ec;color:var(--ui-color-danger)}.flex-worker-contribution-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:var(--ui-space-3)}.flex-worker-contribution-grid article{display:grid;gap:var(--ui-space-3);padding:var(--ui-space-4);border:1px solid var(--ui-color-border);border-radius:var(--ui-radius-lg);background:var(--ui-color-surface)}.flex-worker-contribution-grid header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--ui-space-3)}.flex-worker-contribution-grid header>div{display:grid;gap:3px}.flex-worker-contribution-grid header span{color:var(--ui-color-muted);font-size:var(--ui-font-size-sm)}.flex-worker-contribution-grid dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--ui-space-2);margin:0}.flex-worker-contribution-grid dl>div{display:grid;gap:2px;padding:var(--ui-space-2);border-radius:var(--ui-radius-control);background:var(--ui-color-surface-soft)}.flex-worker-contribution-grid dt{color:var(--ui-color-muted);font-size:var(--ui-font-size-xs)}.flex-worker-contribution-grid dd{margin:0;font-weight:var(--ui-font-weight-semibold)}.flex-worker-contribution-grid p{margin:0;color:var(--ui-color-text-secondary)}.flex-worker-contribution-grid .flex-reason{min-height:42px}.flex-worker-contribution-grid button{justify-self:start}.flex-muted{color:var(--ui-color-muted)!important;font-size:var(--ui-font-size-sm)}.flex-policy-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:var(--ui-space-3)}.flex-policy-grid article{display:grid;gap:var(--ui-space-2);padding:var(--ui-space-4);border:1px solid var(--ui-color-border);border-radius:var(--ui-radius-lg)}.flex-policy-grid article>div{display:flex;justify-content:space-between;gap:var(--ui-space-2)}.flex-policy-grid p,.flex-policy-editor p{margin:0;color:var(--ui-color-muted);font-size:var(--ui-font-size-sm)}.flex-policy-grid dl{display:grid;gap:5px;margin:0}.flex-policy-grid dl div{display:flex;justify-content:space-between;gap:var(--ui-space-3);padding-bottom:5px;border-bottom:1px dotted var(--ui-color-border)}.flex-policy-grid dt{color:var(--ui-color-text-secondary)}.flex-policy-grid dd{margin:0;font-weight:var(--ui-font-weight-semibold)}.flex-policy-editor{display:grid;gap:var(--ui-space-3);margin-top:var(--ui-space-4);padding:var(--ui-space-5);border:1px solid var(--ui-color-primary);border-radius:var(--ui-radius-lg);background:var(--ui-color-surface-muted)}.flex-policy-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--ui-space-3)}.flex-policy-fieldset{margin:0;border:1px solid var(--ui-color-border);border-radius:var(--ui-radius-md);padding:var(--ui-space-3)}.flex-policy-fieldset legend{padding:0 var(--ui-space-1);font-weight:var(--ui-font-weight-semibold)}.flex-grade-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--ui-space-3)}.flex-grade-grid section{display:grid;align-content:start;gap:var(--ui-space-2);padding:var(--ui-space-3);border-radius:var(--ui-radius-md);background:var(--ui-color-surface)}.flex-worker-type-options{display:flex;flex-wrap:wrap;gap:var(--ui-space-3)}.flex-worker-type-options label{display:flex;grid-template-columns:none;align-items:center;gap:var(--ui-space-1)}.flex-worker-type-options input{width:16px;min-height:16px;height:16px;accent-color:var(--ui-color-primary)}.flex-overlay{position:fixed;z-index:80;inset:0;display:flex;align-items:center;justify-content:center;padding:var(--ui-space-5);background:#09231b7a}.flex-nested-overlay{z-index:90}.flex-dialog,.flex-drawer{width:min(760px,100%);max-height:min(86vh,860px);overflow:auto;border:1px solid var(--ui-color-border);border-radius:var(--ui-radius-panel);background:var(--ui-color-surface);box-shadow:var(--ui-shadow-overlay);padding:var(--ui-space-6)}.flex-drawer{position:absolute;top:0;right:0;bottom:0;width:min(700px,92vw);max-height:none;border-radius:var(--ui-radius-panel) 0 0 var(--ui-radius-panel)}.flex-small-dialog{width:min(540px,100%)}.flex-dialog-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--ui-space-4);margin-bottom:var(--ui-space-5)}.flex-dialog-heading h3{margin:0;font-size:var(--ui-font-size-xl)}.flex-dialog-heading p{margin:4px 0 0;color:var(--ui-color-muted);font-size:var(--ui-font-size-sm)}.flex-dialog-heading>button{width:32px;height:32px;border:0;border-radius:50%;background:var(--ui-color-surface-soft);color:var(--ui-color-muted);cursor:pointer;font-size:var(--ui-font-size-xl)}.flex-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--ui-space-3)}.flex-form-grid .span-two{grid-column:1 / -1}.flex-form-grid textarea,.flex-small-dialog textarea{min-height:100px;resize:vertical}.flex-checkbox{grid-template-columns:16px 1fr!important;align-items:center;align-self:end;min-height:36px}.flex-checkbox input{width:16px;min-height:16px;height:16px;margin:0;accent-color:var(--ui-color-primary)}.flex-dialog-actions{display:flex;justify-content:flex-end;gap:var(--ui-space-2);margin-top:var(--ui-space-5)}.flex-profile-actions{display:flex;justify-content:flex-end;margin-bottom:var(--ui-space-3)}.flex-review-facts{margin-bottom:var(--ui-space-3);padding:var(--ui-space-3);border-radius:var(--ui-radius-md);background:var(--ui-color-surface-soft)}.flex-review-facts p{margin:var(--ui-space-1) 0 0;color:var(--ui-color-text-secondary)}.flex-profile-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--ui-space-2);margin-bottom:var(--ui-space-4)}.flex-profile-summary>div{display:grid;gap:var(--ui-space-1);padding:var(--ui-space-3);border-radius:var(--ui-radius-md);background:var(--ui-color-surface-soft)}.flex-profile-summary span{color:var(--ui-color-muted);font-size:var(--ui-font-size-xs)}.flex-profile-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--ui-space-2);margin-bottom:var(--ui-space-4)}.flex-profile-metrics>div{display:grid;gap:2px;padding:var(--ui-space-2) var(--ui-space-3);border:1px solid var(--ui-color-border);border-radius:var(--ui-radius-md)}.flex-profile-metrics span{color:var(--ui-color-muted);font-size:var(--ui-font-size-xs)}.flex-profile-section{padding:var(--ui-space-4) 0;border-top:1px solid var(--ui-color-border)}.flex-profile-section h4{margin:0 0 var(--ui-space-2);font-size:var(--ui-font-size-lg)}.flex-profile-section p{margin:5px 0;color:var(--ui-color-text-secondary)}.flex-supply-workspace{display:grid;gap:var(--ui-space-4)}.flex-subtabs{display:flex;gap:var(--ui-space-2);overflow-x:auto;padding-bottom:2px}.flex-subtabs button{min-height:var(--ui-control-height-sm);padding:0 var(--ui-space-3);border:1px solid var(--ui-color-border);border-radius:var(--ui-radius-md);background:var(--ui-color-surface);color:var(--ui-color-text-secondary);font-size:var(--ui-font-size-sm);white-space:nowrap;cursor:pointer}.flex-subtabs button.active{border-color:var(--ui-color-primary);background:var(--ui-color-primary-soft);color:var(--ui-color-primary-strong);font-weight:var(--ui-font-weight-semibold)}.flex-supply-filters{grid-template-columns:minmax(180px,1.3fr) repeat(3,minmax(150px,1fr))}.flex-table td small{display:block;margin-top:3px;color:var(--ui-color-muted);font-size:var(--ui-font-size-xs)}.flex-supply-drawer{width:min(820px,94vw)}.flex-supply-drawer section+section{margin-top:var(--ui-space-5);padding-top:var(--ui-space-4);border-top:1px solid var(--ui-color-border)}.flex-supply-drawer h4,.flex-supply-fieldset legend{font-size:var(--ui-font-size-md);font-weight:var(--ui-font-weight-semibold)}.flex-candidate-list{display:grid;gap:var(--ui-space-2)}.flex-candidate-list article{display:grid;gap:var(--ui-space-2);padding:var(--ui-space-3);border:1px solid var(--ui-color-border);border-radius:var(--ui-radius-md)}.flex-candidate-list article.disabled{background:var(--ui-color-surface-soft);color:var(--ui-color-muted)}.flex-candidate-list article>div:first-child{display:flex;flex-wrap:wrap;align-items:center;gap:var(--ui-space-2)}.flex-candidate-list article small{flex-basis:100%;color:var(--ui-color-muted)}.flex-candidate-list article p{margin:0;color:var(--ui-color-text-secondary);font-size:var(--ui-font-size-sm)}.flex-candidate-list article button+button{margin-left:var(--ui-space-2)}.flex-supply-fieldset{margin:var(--ui-space-4) 0 0;padding:var(--ui-space-3);border:1px solid var(--ui-color-border);border-radius:var(--ui-radius-md)}.flex-rule-row{display:grid;grid-template-columns:minmax(90px,.8fr) minmax(105px,1fr) auto minmax(105px,1fr) auto auto;align-items:end;gap:var(--ui-space-2);margin-bottom:var(--ui-space-2)}.flex-check{display:flex!important;grid-template-columns:none!important;flex-direction:row!important;align-items:center;gap:var(--ui-space-2);min-height:var(--ui-control-height)}.flex-check input{width:18px;min-height:18px;height:18px;margin:0;accent-color:var(--ui-color-primary)}.flex-preference-picker{display:grid;grid-template-columns:minmax(240px,1fr) auto;align-items:end;gap:var(--ui-space-2)}.flex-chip-list{display:flex;flex-wrap:wrap;gap:var(--ui-space-2);margin-top:var(--ui-space-2)}.flex-chip-list>span{display:inline-flex;align-items:center;gap:var(--ui-space-1);padding:5px var(--ui-space-2);border-radius:999px;background:var(--ui-color-primary-soft);color:var(--ui-color-primary-strong);font-size:var(--ui-font-size-sm)}.flex-chip-list button{border:0;background:transparent;color:inherit;cursor:pointer}.flex-worker-shift{display:flex;justify-content:space-between;align-items:center;gap:var(--ui-space-3);padding:var(--ui-space-3) 0;border-bottom:1px solid var(--ui-color-border)}.flex-worker-shift strong,.flex-worker-shift small{display:block}.flex-worker-shift small{margin-top:3px;color:var(--ui-color-muted)}.flex-worker-shift button+button{margin-left:var(--ui-space-2)}.flex-shift-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:var(--ui-space-3)}.flex-shift-cards article{display:grid;gap:var(--ui-space-3);padding:var(--ui-space-4);border:1px solid var(--ui-color-border);border-radius:var(--ui-radius-lg)}.flex-shift-cards article span,.flex-shift-cards article strong,.flex-shift-cards article small{display:block}.flex-shift-cards article span,.flex-shift-cards article small,.flex-shift-cards article p{color:var(--ui-color-muted);font-size:var(--ui-font-size-sm)}.flex-shift-cards article p{margin:0}@media(max-width:900px){.flex-two-column{grid-template-columns:1fr}.flex-inline-editor{grid-template-columns:1fr 1fr}.flex-inline-editor>strong,.flex-inline-editor label:nth-of-type(2),.flex-inline-editor label:nth-of-type(3){grid-column:1 / -1}.flex-profile-summary,.flex-profile-metrics{grid-template-columns:1fr 1fr}.flex-grade-grid{grid-template-columns:1fr}.flex-worker-contribution-grid dl,.flex-supply-filters,.flex-rule-row{grid-template-columns:1fr 1fr}}@media(max-width:620px){.flex-page .ui-page-heading{display:grid;gap:var(--ui-space-3)}.flex-month{width:100%}.flex-form-grid,.flex-inline-editor,.flex-profile-summary,.flex-profile-metrics{grid-template-columns:1fr}.flex-form-grid .span-two,.flex-inline-editor>strong,.flex-inline-editor label:nth-of-type(2),.flex-inline-editor label:nth-of-type(3){grid-column:auto}.flex-heading-actions{justify-content:stretch}.flex-heading-actions button{flex:1}.flex-worker-contribution-grid,.flex-policy-grid,.flex-worker-contribution-grid dl,.flex-supply-filters,.flex-rule-row,.flex-preference-picker{grid-template-columns:1fr}.flex-worker-shift{align-items:flex-start;flex-direction:column}.flex-overlay{padding:0;align-items:stretch}.flex-dialog,.flex-drawer{width:100%;max-height:100vh;border-radius:0;padding:var(--ui-space-4)}}.mentorship-page{display:grid;gap:16px}.mentorship-picker{padding:16px;max-width:520px}.mentorship-picker label{display:grid;gap:7px}.mentorship-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.mentorship-grid>article,.mentorship-table,.mentorship-qualifications{padding:18px}.mentorship-grid h2,.mentorship-table h2,.mentorship-qualifications h2{margin:0 0 14px;font-size:18px}.mentor-current{display:grid;gap:6px;padding:16px;border-radius:12px;background:#eaf7f0}.mentor-current strong{font-size:20px;color:var(--ui-primary)}.mentor-current span,.mentor-current small{color:var(--ui-text-muted)}.pending-skill-list{display:grid;max-height:210px;overflow:auto;margin-bottom:12px}.pending-skill-list label{display:flex;gap:10px;padding:9px;border-bottom:1px solid var(--ui-border)}.pending-skill-list span{display:grid}.pending-skill-list small{color:var(--ui-text-muted)}.mentorship-alerts{display:grid;gap:8px}.mentorship-alerts p{margin:0;padding:10px 14px;border-radius:8px;background:#fff1dc;color:#8a5100}.mentorship-table{overflow:auto}.mentorship-table table{width:100%;border-collapse:collapse;min-width:850px}.mentorship-table th,.mentorship-table td{padding:11px;border-bottom:1px solid var(--ui-border);text-align:left}.qualification-create{display:grid;grid-template-columns:1fr 1fr auto;gap:10px;margin-bottom:14px}.mentorship-list{padding:16px}.mentorship-list article{display:flex;align-items:center;justify-content:space-between;padding:14px;border-bottom:1px solid var(--ui-border)}.mentorship-list p{margin:4px 0;color:var(--ui-text-muted)}@media(max-width:900px){.mentorship-grid,.qualification-create{grid-template-columns:1fr}.mentorship-list article{align-items:flex-start;gap:12px;flex-direction:column}}.mentorship-overview{padding:16px}.mentorship-overview-filters{display:grid;grid-template-columns:repeat(4,minmax(160px,1fr));gap:12px;align-items:end}.mentorship-overview-filters label{display:grid;gap:6px;font-size:13px;color:var(--ui-text-muted)}.mentorship-overview-filters input,.mentorship-overview-filters select{height:40px;border:1px solid var(--ui-border);border-radius:8px;padding:0 11px;background:#fff}.mentorship-overview-table{margin-top:16px;overflow:auto}.mentorship-overview-table table{width:100%;min-width:1000px;border-collapse:collapse}.mentorship-overview-table th,.mentorship-overview-table td{padding:11px;border-bottom:1px solid var(--ui-border);text-align:left;font-size:13px}.mentorship-overview-table th{color:var(--ui-text-muted);background:var(--ui-surface-subtle)}.mentorship-overview-table small{display:block;margin-top:3px;color:var(--ui-text-muted)}.mentorship-pagination{display:flex;justify-content:flex-end;align-items:center;gap:10px;padding-top:12px}.mentorship-pagination span{margin-right:auto;color:var(--ui-text-muted)}.mentorship-pagination button{height:34px;padding:0 12px;border:1px solid var(--ui-border);border-radius:8px;background:#fff}.mentorship-pagination button:disabled{opacity:.45}@media(max-width:1100px){.mentorship-overview-filters{grid-template-columns:repeat(2,minmax(160px,1fr))}}@media(max-width:640px){.mentorship-overview-filters{grid-template-columns:1fr}}.mm-panel{margin-top:12px;border-top:1px solid var(--ui-border);padding-top:12px}.mm-status{border:1px solid #e5e7eb;border-radius:10px;padding:12px;display:flex;flex-direction:column;gap:8px}.mm-status.mm-ok{border-color:#86efac;background:#f0fdf4}.mm-status.mm-warn{border-color:#fde047;background:#fefce8}.mm-status.mm-high{border-color:#fdba74;background:#fff7ed}.mm-status.mm-critical{border-color:#fca5a5;background:#fef2f2}.mm-status-main{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.mm-badge{display:inline-block;padding:2px 10px;border-radius:999px;font-size:12px;background:#e5e7eb;color:#374151}.mm-badge.ok{background:#dcfce7;color:#166534}.mm-badge.muted{background:#f3f4f6;color:#6b7280}.mm-badge.paused{background:#e0e7ff;color:#3730a3}.mm-relation{font-size:12px;color:#6b7280}.mm-status-detail{display:flex;gap:16px;flex-wrap:wrap;font-size:13px;color:#374151}.mm-remote{color:#7c3aed}.mm-actions{display:flex;gap:8px;flex-wrap:wrap}.mm-form{margin-top:12px;border:1px solid #e5e7eb;border-radius:10px;padding:12px}.mm-form h4{margin:0 0 8px}.mm-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.mm-field{display:flex;flex-direction:column;gap:4px;font-size:13px}.mm-field input,.mm-field select,.mm-field textarea{padding:6px 8px;border:1px solid #d1d5db;border-radius:6px;font-size:13px}.mm-field.span2{grid-column:span 2}.mm-check{flex-direction:row;align-items:center;gap:8px}.mm-hint{font-size:12px;color:#6b7280;margin:0}.mm-hint.span2{grid-column:span 2}.mm-form-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:10px}.mm-activities{margin-top:12px}.mm-activities h4{margin:0 0 8px}.mm-activity{border:1px solid #e5e7eb;border-radius:8px;padding:8px 10px;margin-bottom:6px;font-size:13px}.mm-activity.effective{border-color:#86efac}.mm-activity>div{display:flex;justify-content:space-between;gap:8px}.mm-activity small{display:block;color:#6b7280}.mm-activity p{margin:4px 0 0;font-size:12px;color:#6b7280}.mm-workbench-filters{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:10px;align-items:end}.mm-workbench-filters label{display:grid;gap:4px;font-size:13px;color:var(--ui-text-muted)}.mm-metrics{display:flex;gap:16px;flex-wrap:wrap;margin-bottom:12px}.mm-metric{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:8px 14px;font-size:13px}.mm-metric strong{display:block;font-size:18px}.skill-compensation-page{display:grid;gap:16px}.skill-comp-tabs{display:flex;border-bottom:1px solid var(--ui-border)}.skill-comp-tabs button{padding:11px 16px;border:0;background:none;color:var(--ui-text-muted);font-weight:700}.skill-comp-tabs button.active{color:var(--ui-primary);border-bottom:2px solid var(--ui-primary)}.skill-comp-filters{display:flex;align-items:end;gap:12px;padding:14px}.skill-comp-filters label{display:grid;gap:5px;font-size:13px;color:var(--ui-text-muted)}.skill-comp-filters input,.skill-comp-filters select{height:38px;min-width:220px;border:1px solid var(--ui-border);border-radius:8px;padding:0 11px;background:#fff}.skill-comp-filters>span{margin-left:auto;color:var(--ui-text-muted)}.skill-comp-table{overflow:auto}.skill-comp-table table{width:100%;min-width:900px;border-collapse:collapse}.skill-comp-table th,.skill-comp-table td{padding:12px 14px;border-bottom:1px solid var(--ui-border);text-align:left;font-size:13px}.skill-comp-table th{background:var(--ui-surface-subtle);color:var(--ui-text-muted)}.skill-comp-table td small{display:block;color:var(--ui-text-muted);margin-top:3px}.skill-comp-status{display:inline-flex;padding:4px 9px;border-radius:999px;background:#e6f5ed;color:var(--ui-primary);font-weight:700}@media(max-width:700px){.skill-comp-filters{align-items:stretch;flex-direction:column}.skill-comp-filters input,.skill-comp-filters select{width:100%;min-width:0}.skill-comp-filters>span{margin-left:0}}.skill-settlement{display:grid;gap:14px}.skill-settlement-filters{display:grid;grid-template-columns:repeat(5,minmax(150px,1fr)) auto;align-items:end;gap:10px;padding:14px}.skill-settlement-filters>label{display:grid;gap:5px;font-size:12px;color:var(--ui-text-muted)}.skill-settlement-filters select{width:100%;height:38px;border:1px solid var(--ui-border);border-radius:8px;background:#fff;padding:0 10px}.skill-settlement-filters>button{height:38px}.skill-settlement-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}.skill-settlement-pages{display:flex;justify-content:flex-end;align-items:center;gap:8px;padding:12px}.skill-settlement-pages span{margin-right:auto;color:var(--ui-text-muted);font-size:12px}@media(max-width:1100px){.skill-settlement-filters,.skill-settlement-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.skill-settlement-filters,.skill-settlement-kpis{grid-template-columns:1fr}}.talent-growth-page{display:grid;gap:16px}.talent-tabs{display:flex;gap:4px;border-bottom:1px solid var(--ui-border);padding:0 4px}.talent-tabs button{border:0;background:transparent;padding:11px 14px;color:var(--ui-text-muted);font:inherit;cursor:pointer}.talent-tabs button.active{color:var(--ui-primary);font-weight:700;border-bottom:2px solid var(--ui-primary)}.talent-summary{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.talent-summary article{background:var(--ui-surface);border:1px solid var(--ui-border);border-radius:var(--ui-radius-md);padding:14px}.talent-summary small,.talent-summary span{display:block;color:var(--ui-text-muted);font-size:12px}.talent-summary strong{display:block;margin:6px 0;font-size:22px;color:var(--ui-text-strong)}.readiness-panel{padding:0}.readiness-panel>.ui-panel-heading{padding:16px}.talent-state{display:inline-flex;border-radius:999px;padding:5px 9px;font-size:12px;font-style:normal;white-space:nowrap}.talent-state.ready{color:#087c57;background:#e4f6ee}.talent-state.waiting{color:#986313;background:#fff3dc}.condition-list article{display:grid;grid-template-columns:26px 1fr auto;gap:10px;align-items:start;padding:13px 16px;border-top:1px solid var(--ui-border)}.condition-list article>span{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;font-weight:800}.condition-list article.met>span{background:#ddf5e9;color:#087c57}.condition-list article.not_met>span{background:#fde8e5;color:#b33b31}.condition-list article.pending>span{background:#edf1ef;color:#65736c}.condition-list p{margin:4px 0;color:var(--ui-text-muted);font-size:13px}.condition-list small{color:#087c57}.condition-list em{font-style:normal;font-size:12px;color:var(--ui-text-muted)}.talent-actions{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:14px 16px;border-top:1px solid var(--ui-border);background:#f8fbf9}.talent-actions p{margin:0;color:var(--ui-text-muted);font-size:13px}.pipeline-notice{margin-bottom:14px;padding:11px 13px;border-radius:var(--ui-radius-sm);background:#fff8e8;color:#78591a;font-size:13px}.pipeline-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.pipeline-grid>article{border:1px solid var(--ui-border);border-radius:var(--ui-radius-md);overflow:hidden}.pipeline-grid header,.pipeline-person{display:flex;justify-content:space-between;gap:12px;padding:12px}.pipeline-grid header{background:#f3f8f5}.pipeline-person{border-top:1px solid var(--ui-border)}.pipeline-person small{display:block;margin-top:3px;color:var(--ui-text-muted);font-size:12px}.pipeline-person>div:last-child{text-align:right}.talent-two{display:grid;grid-template-columns:1fr 1fr;gap:14px;align-items:start}.talent-table{width:100%;border-collapse:collapse;font-size:13px}.talent-table th,.talent-table td{text-align:left;padding:10px;border-top:1px solid var(--ui-border)}.risk-warning{color:#a35b14}.risk-ok{color:#087c57}.talent-empty{padding:28px;text-align:center;color:var(--ui-text-muted)}.talent-rule-form{display:grid;grid-template-columns:1fr 1fr;gap:12px}.talent-rule-form>.ui-panel-heading,.talent-rule-form label:has(textarea),.talent-rule-form>button{grid-column:1/-1}.talent-rule-form label{display:grid;gap:6px;font-size:13px}.talent-rule-form input,.talent-rule-form select,.talent-rule-form textarea{width:100%;border:1px solid var(--ui-border);border-radius:var(--ui-radius-sm);padding:9px 10px;font:inherit;background:#fff}.rule-list article{padding:12px 0;border-bottom:1px solid var(--ui-border)}.rule-list p{margin:4px 0;color:var(--ui-text-muted)}.rule-list small{color:var(--ui-text-muted)}@media(max-width:900px){.talent-summary{grid-template-columns:1fr 1fr}.talent-two,.pipeline-grid{grid-template-columns:1fr}}@media(max-width:560px){.talent-summary,.talent-rule-form{grid-template-columns:1fr}.talent-actions{align-items:stretch;flex-direction:column}.talent-actions button{width:100%}}.talent-level-config{max-width:920px}.talent-config-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.talent-config-grid label{display:grid;gap:7px;font-size:13px;color:var(--ui-text-secondary)}.talent-config-grid input,.talent-config-grid textarea{width:100%;border:1px solid var(--ui-border);border-radius:var(--ui-radius-sm);padding:10px 12px;font:inherit;background:#fff}.talent-config-grid .span-2{grid-column:1 / -1}.talent-config-grid textarea{min-height:76px;resize:vertical}@media(max-width:560px){.talent-config-grid{grid-template-columns:1fr}.talent-config-grid .span-2{grid-column:auto}}.capability-growth-center{display:grid;gap:var(--ui-space-4)}.capability-growth-center>.ui-page-heading{margin-bottom:0}.capability-growth-switcher{display:grid;gap:var(--ui-space-3);padding:var(--ui-space-3)}.capability-group-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--ui-space-2)}.capability-group-tabs button{display:grid;gap:2px;min-width:0;min-height:58px;padding:9px 12px;border:1px solid var(--ui-color-border);border-radius:var(--ui-radius-control);background:var(--ui-color-surface-soft);color:var(--ui-color-text);text-align:left;cursor:pointer}.capability-group-tabs button:hover{border-color:var(--ui-color-primary);background:var(--ui-color-brand-subtle)}.capability-group-tabs button.active{border-color:var(--ui-color-primary);background:var(--ui-color-brand-subtle);box-shadow:inset 3px 0 0 var(--ui-color-primary)}.capability-group-tabs strong{font-size:var(--ui-font-size-sm)}.capability-group-tabs span{overflow:hidden;color:var(--ui-color-muted);font-size:var(--ui-font-size-xs);text-overflow:ellipsis;white-space:nowrap}.capability-feature-tabs{display:flex;flex-wrap:wrap;gap:var(--ui-space-2);padding-top:var(--ui-space-3);border-top:1px solid var(--ui-color-border)}.capability-feature-tabs button{min-height:34px;padding:6px 12px;border:1px solid var(--ui-color-border-strong);border-radius:999px;background:var(--ui-color-surface);color:var(--ui-color-text-secondary);font-size:var(--ui-font-size-sm);cursor:pointer}.capability-feature-tabs button:hover{border-color:var(--ui-color-primary);color:var(--ui-color-primary-strong)}.capability-feature-tabs button.active{border-color:var(--ui-color-primary);background:var(--ui-color-primary);color:var(--ui-color-surface);font-weight:var(--ui-font-weight-semibold)}.capability-growth-content{min-width:0}.capability-growth-content>.page,.capability-growth-content>.ui-page{margin:0}@media(max-width:620px){.capability-group-tabs{grid-template-columns:1fr}.capability-group-tabs button{min-height:48px}.capability-feature-tabs{flex-wrap:nowrap;overflow-x:auto;padding-bottom:2px}.capability-feature-tabs button{flex:0 0 auto}}.payroll-master,.payroll-templates,.payroll-templates section,.payroll-master section{display:grid;gap:14px}.payroll-template-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px}.payroll-template-cards>article{padding:18px;display:grid;gap:12px}.payroll-template-cards h3{font-size:17px;margin:8px 0 4px}.payroll-template-cards p{margin:0}.payroll-template-cards>article>button{justify-self:start;border:1px solid var(--ui-color-border);background:var(--ui-color-surface);color:var(--ui-color-primary);border-radius:6px;padding:8px 12px}.payroll-check-grid{display:grid;grid-template-columns:repeat(3,minmax(120px,1fr));gap:10px}.payroll-template-modal{max-width:1120px}.payroll-template-editor{display:grid;grid-template-columns:minmax(280px,.8fr) minmax(420px,1.2fr);gap:16px;margin:18px 0}.payroll-template-editor>section{border:1px solid var(--ui-color-border);border-radius:10px;padding:14px;min-height:330px}.payroll-template-editor h4,.payroll-scope-editor h4{margin:0 0 12px}.payroll-template-editor input{width:100%;min-height:36px;border:1px solid var(--ui-color-border);border-radius:6px;padding:8px}.payroll-item-picker,.payroll-selected-items{display:grid;gap:6px;max-height:300px;overflow:auto;margin-top:10px}.payroll-item-picker>button{display:grid;grid-template-columns:1fr auto;text-align:left;border:1px solid var(--ui-color-border);background:var(--ui-color-surface);border-radius:7px;padding:9px}.payroll-item-picker small{grid-column:1;color:var(--ui-color-muted)}.payroll-item-picker b{grid-row:1/3;grid-column:2;align-self:center;color:var(--ui-color-primary)}.payroll-selected-items>div{display:grid;grid-template-columns:auto 1fr auto auto auto;gap:10px;align-items:center;border:1px solid var(--ui-color-border);border-radius:7px;padding:9px;background:var(--ui-color-surface);cursor:grab}.payroll-selected-items label{display:flex;align-items:center;gap:4px}.payroll-selected-items button,.payroll-scope-tags button{border:0;background:transparent;color:var(--ui-color-danger);padding:3px}.payroll-scope-editor{border-top:1px solid var(--ui-color-border);padding-top:16px}.payroll-scope-add{display:grid;grid-template-columns:180px minmax(260px,1fr) auto;gap:10px;align-items:start}.payroll-scope-add>select,.payroll-scope-add>button{min-height:38px;border:1px solid var(--ui-color-border);border-radius:6px;background:var(--ui-color-surface);padding:8px}.payroll-scope-tags{display:flex;gap:8px;flex-wrap:wrap}.payroll-scope-tags>span{display:inline-flex;align-items:center;gap:6px;background:var(--ui-color-surface-soft);border:1px solid var(--ui-color-border);border-radius:999px;padding:5px 10px}.payroll-reason{display:grid;gap:8px;margin-top:16px}.payroll-reason textarea{min-height:70px}.payroll-group-tabs{overflow:auto}.payroll-group-tabs button{white-space:nowrap}.payroll-dynamic-table{margin-top:14px}.payroll-dynamic-table h3{font-size:16px;margin:0 0 12px}.payroll-dynamic-table h3 small{font-size:12px;color:var(--ui-color-muted);margin-left:10px;font-weight:400}.payroll-dynamic-table th small{display:block;color:var(--ui-color-muted);margin-top:3px}@media(max-width:900px){.payroll-template-editor,.payroll-scope-add{grid-template-columns:1fr}.payroll-check-grid{grid-template-columns:1fr 1fr}}.payroll-template-actions{display:flex;justify-content:flex-end}.payroll-template-actions button{min-height:36px;border:1px solid var(--ui-color-border);border-radius:6px;padding:8px 13px;background:var(--ui-color-surface);color:var(--ui-color-primary)}.payroll-quality{padding:16px}.payroll-quality h3{font-size:16px;margin:0 0 8px}.payroll-quality p{display:flex;gap:10px;margin:5px 0}.payroll-card-actions{display:flex;gap:8px;flex-wrap:wrap}.payroll-card-actions button{min-height:34px;border:1px solid var(--ui-color-border);background:var(--ui-color-surface);color:var(--ui-color-primary);border-radius:6px;padding:7px 11px}.payroll-card-actions button:disabled{cursor:not-allowed;opacity:.55}.employee-self-service{color:var(--ui-color-text);font-size:var(--ui-font-size-md);max-width:1200px;margin:0 auto}.self-service-heading h2{font-size:var(--ui-font-size-2xl);margin:0 0 8px}.self-service-heading p,.self-service-note{color:var(--ui-color-muted);font-size:var(--ui-font-size-sm)}.self-service-search{display:flex;align-items:center;flex-wrap:wrap;gap:12px;background:var(--ui-color-surface);border:1px solid var(--ui-color-border);padding:16px;border-radius:12px;margin:20px 0}.self-service-search input{flex:1;min-width:160px;min-height:44px;border:1px solid var(--ui-color-border);border-radius:8px;padding:10px 12px;font:inherit;box-sizing:border-box}.self-service-search span{color:var(--ui-color-muted);font-size:var(--ui-font-size-sm)}.self-service-group{background:var(--ui-color-surface);border:1px solid var(--ui-color-border);border-radius:16px;margin-bottom:16px;padding:16px 20px}.self-service-group summary{cursor:pointer;min-height:44px;font-size:var(--ui-font-size-lg);font-weight:600;align-content:center}.self-service-group summary span{float:right;color:var(--ui-color-muted);font-size:var(--ui-font-size-sm);font-weight:400}.self-service-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:12px;margin-top:12px}.self-service-entry{display:flex;flex-direction:column;align-items:center;gap:10px;padding:12px 4px;color:var(--ui-color-text);text-decoration:none;border-radius:12px;min-width:0;text-align:center}.self-service-entry:hover{background:var(--ui-color-surface-soft)}.self-service-entry:focus-visible{outline:2px solid var(--ui-color-primary);outline-offset:2px}.self-service-entry strong{font-size:var(--ui-font-size-md);font-weight:500;overflow-wrap:anywhere}.self-service-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:14px;background:var(--ui-color-surface-soft);color:var(--ui-color-primary)}.self-service-icon.attendance{background:var(--ui-color-primary);color:#fff}.self-service-icon svg{width:26px;height:26px}.self-service-empty{padding:24px;color:var(--ui-color-muted)}@media(max-width:620px){.employee-self-service{padding:0 2px 20px}.self-service-heading h2{font-size:var(--ui-font-size-xl)}.self-service-search{gap:8px;padding:12px}.self-service-search label{width:100%}.self-service-search input{width:100%;flex-basis:100%;font-size:max(16px,var(--ui-font-size-md))}.self-service-group{padding:12px;border:0}.self-service-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.self-service-entry{padding:8px 0}.self-service-entry strong{font-size:var(--ui-font-size-sm)}}.transport-s2{font-family:var(--ui-font-sans);font-size:var(--ui-font-size-md);color:var(--ui-color-text);display:grid;gap:16px;min-width:0}.transport-s2 h2{font-size:var(--ui-font-size-2xl)}.transport-s2 h3,.transport-s2 h4{font-size:var(--ui-font-size-lg)}.transport-s2 small{font-size:var(--ui-font-size-sm);color:var(--ui-color-muted)}.transport-s2 button,.transport-s2 input,.transport-s2 select,.transport-s2 textarea{font:inherit;max-width:100%}.transport-s2 button{min-height:40px;margin:4px 4px 4px 0;white-space:normal;border:1px solid var(--ui-color-border);border-radius:8px;padding:8px 12px;background:var(--ui-color-surface);color:var(--ui-color-text);cursor:pointer}.transport-s2 button.primary-button,.transport-s2 nav button[aria-pressed=true]{background:var(--ui-color-primary);color:#fff;border-color:var(--ui-color-primary)}.transport-s2 button:disabled{opacity:.6;cursor:wait}.transport-s2 input,.transport-s2 select,.transport-s2 textarea{box-sizing:border-box;min-height:36px;border:1px solid var(--ui-color-border);border-radius:6px;padding:7px 9px;width:100%;color:var(--ui-color-text);background:var(--ui-color-surface)}.transport-s2 .ui-panel{padding:20px;min-width:0;background:var(--ui-color-surface)}.transport-s2-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:16px 0}.transport-s2 label{display:grid;gap:6px;min-width:0}.transport-s2-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;align-items:start}.transport-s2-layout:not(:has(aside)){grid-template-columns:1fr}.transport-s2-card{padding:16px 0;border-bottom:1px solid var(--ui-color-border);overflow-wrap:anywhere}.transport-s2-card>div{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}.transport-s2-warning{color:var(--ui-color-warning);background:var(--ui-color-surface-soft);padding:12px}.transport-s2-proofs{display:flex;gap:8px;flex-wrap:wrap}.transport-s2-proofs img{width:100%;max-width:320px;height:auto;object-fit:contain}.transport-s2 summary{cursor:pointer;font-size:var(--ui-font-size-lg)}@media(max-width:900px){.transport-s2-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.transport-s2-layout{grid-template-columns:1fr}.transport-s2-layout:has(aside)>div{display:none}}@media(max-width:620px){.transport-s2-grid{grid-template-columns:1fr}.transport-s2 .ui-panel{padding:12px}.transport-s2 button{min-height:44px}.transport-s2 aside .primary-button{width:100%}.transport-s2 .ui-toolbar{flex-wrap:wrap}}@media(max-width:620px){.transport-s2-proofs img{max-height:160px}.transport-s2 aside .primary-button{position:sticky;bottom:12px}}.organization-multi-select{min-width:0;position:relative}.organization-picker-summary{display:flex;align-items:stretch;gap:10px;min-width:0}.organization-scope-trigger{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:42px;padding:8px 12px;border:1px solid var(--ui-color-border,#cfe0d9);border-radius:8px;background:#fff;color:var(--ui-color-text-primary,#123c32);font:inherit;text-align:left;cursor:pointer}.organization-scope-trigger:hover,.organization-scope-trigger.open{border-color:var(--ui-color-primary,#20b879);box-shadow:0 0 0 3px #20b8791f}.organization-scope-trigger-text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.organization-scope-trigger-icon{color:#688176;font-size:16px}.organization-scope-clear,.organization-scope-more{flex:none;border:0;background:transparent;color:var(--ui-color-primary-strong,#0f6b4f);font:inherit;font-size:12px;cursor:pointer;white-space:nowrap}.organization-scope-clear:disabled{color:var(--ui-color-text-muted,#9aaca5);cursor:not-allowed}.organization-scope-chips{display:flex;flex-wrap:wrap;gap:6px;max-height:72px;overflow:hidden;margin-top:8px;padding-right:4px}.organization-scope-chips.expanded{max-height:none}.organization-scope-chip{display:inline-flex;align-items:center;gap:5px;max-width:100%;padding:5px 8px;border:1px solid #c9e7d8;border-radius:999px;background:#f0faf4;color:#176247;font-size:12px;line-height:1.2}.organization-scope-chip.unknown{border-color:#f0d8b2;background:#fff8ed;color:#9a641e}.organization-scope-chip button{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;padding:0;border:0;border-radius:50%;background:transparent;color:#5f8275;cursor:pointer;font:inherit;line-height:1}.organization-scope-chip button:hover{background:#d8f0e2;color:#0f6b4f}.organization-picker-backdrop{position:fixed;z-index:80;inset:0;display:flex;align-items:center;justify-content:center;padding:24px;background:#122d2461}.organization-picker-dialog{display:flex;flex-direction:column;width:min(860px,calc(100vw - 48px));max-height:min(720px,calc(100vh - 48px));overflow:hidden;border:1px solid #d8e5dd;border-radius:16px;background:#fff;box-shadow:0 22px 60px #123c323d}.organization-picker-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:24px 28px 18px;border-bottom:1px solid #edf2ef}.organization-picker-eyebrow{color:#739187;font-size:10px;font-weight:700;letter-spacing:.16em}.organization-picker-head h4{margin:7px 0 5px;color:#123c32;font-size:21px;letter-spacing:-.03em}.organization-picker-head p{margin:0;color:#71837a;font-size:12px;line-height:1.6}.organization-picker-close{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border:0;border-radius:50%;background:#f0f5f1;color:#6f8379;font-size:21px;line-height:1;cursor:pointer}.organization-picker-close:hover{background:#e5f2e9;color:#0f6b4f}.organization-picker-meta{display:flex;align-items:center;gap:12px;padding:14px 28px 10px;color:#789087;font-size:11px}.organization-picker-meta strong{color:#0f6b4f;font-size:13px}.organization-picker-search{display:flex;align-items:center;gap:8px;margin:0 28px 14px;padding:0 11px;border:1px solid #cfe0d9;border-radius:8px;background:#fff;color:#83968c}.organization-picker-search:focus-within{border-color:#20b879;box-shadow:0 0 0 3px #20b8791f}.organization-picker-search input{width:100%;min-height:40px;border:0;outline:0;background:transparent;color:#123c32;font:inherit;font-size:13px}.organization-picker-search button{width:22px;height:22px;border:0;background:transparent;color:#80938a;font-size:17px;cursor:pointer}.organization-picker-content{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(240px,.7fr);gap:16px;min-height:0;padding:0 28px 18px}.organization-picker-tree-panel,.organization-picker-selected-panel{min-width:0;border:1px solid #e0ebe4;border-radius:10px;background:#fbfdfb}.organization-picker-panel-title{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:13px 15px;border-bottom:1px solid #e8f0eb;color:#7a8e84;font-size:11px}.organization-picker-panel-title strong{color:#274b3d;font-size:13px}.organization-all-company{display:flex;align-items:center;gap:10px;width:calc(100% - 20px);margin:10px;padding:10px;border:1px solid transparent;border-radius:8px;background:#f1f8f3;color:#123c32;font:inherit;text-align:left;cursor:pointer}.organization-all-company:hover,.organization-all-company.active{border-color:#bfe5cf;background:#e9f8ee}.organization-all-company>span:last-child{display:grid;gap:2px}.organization-all-company small{color:#71857b;font-size:11px}.organization-check-mark{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border:1px solid #b9cbc3;border-radius:5px;color:#fff;font-size:12px}.organization-all-company.active .organization-check-mark{border-color:#0f6b4f;background:#0f6b4f}.organization-picker-tree{height:420px;overflow-y:auto;overflow-x:hidden;padding:0 7px 10px}.organization-tree-node{min-width:0}.organization-tree-row{display:flex;align-items:center;gap:8px;min-height:40px;margin:1px 0;border-radius:7px;color:#294d40;font-size:13px;cursor:pointer;-webkit-user-select:none;user-select:none}.organization-tree-row:hover,.organization-tree-row.selected{background:#edf8f0}.organization-tree-row input{flex:none;width:17px;height:17px;margin:0;accent-color:#0f6b4f;cursor:pointer}.organization-tree-row small{margin-left:auto;margin-right:7px;color:#a0afa8;font-size:10px}.organization-tree-expand{display:inline-flex;align-items:center;justify-content:center;flex:none;width:18px;height:22px;padding:0;border:0;background:transparent;color:#789087;font-size:17px;cursor:pointer}.organization-tree-spacer{display:inline-block;flex:none;width:18px}.organization-tree-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.organization-picker-selected-panel{display:flex;flex-direction:column}.organization-picker-selected-list{display:grid;gap:6px;overflow-y:auto;overflow-x:hidden;padding:10px}.organization-selected-row{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:34px;padding:0 9px;border:1px solid #d8ebde;border-radius:7px;background:#f4fbf6;color:#286049;font-size:12px}.organization-selected-row span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.organization-selected-row button{flex:none;width:20px;height:20px;padding:0;border:0;border-radius:50%;background:transparent;color:#759188;font-size:16px;cursor:pointer}.organization-selected-row button:hover{background:#d9f1e1;color:#0f6b4f}.organization-picker-selected-empty{display:grid;place-items:center;align-content:center;flex:1;min-height:170px;padding:20px;color:#a0b0a8;text-align:center}.organization-picker-selected-empty span{font-size:26px}.organization-picker-selected-empty p{margin:9px 0 3px;color:#70847a;font-size:12px}.organization-picker-selected-empty small{font-size:11px}.organization-picker-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 28px;border-top:1px solid #edf2ef}.organization-picker-foot>div{display:flex;gap:8px}.organization-picker-clear,.organization-picker-cancel,.organization-picker-confirm{min-height:35px;padding:7px 15px;border-radius:7px;font:inherit;font-size:12px;cursor:pointer}.organization-picker-clear{border:0;background:transparent;color:#0f6b4f}.organization-picker-clear:disabled{color:#a6b4ad;cursor:not-allowed}.organization-picker-cancel{border:1px solid #cfe0d9;background:#fff;color:#547065}.organization-picker-confirm{border:1px solid #0f6b4f;background:#0f6b4f;color:#fff}.organization-picker-confirm:hover{background:#0b5a42}@media(max-width:680px){.organization-picker-backdrop{align-items:stretch;padding:0}.organization-picker-dialog{width:100%;max-height:none;border:0;border-radius:0}.organization-picker-head{padding:20px 18px 15px}.organization-picker-meta{padding-left:18px;padding-right:18px}.organization-picker-search{margin-left:18px;margin-right:18px}.organization-picker-content{grid-template-columns:1fr;padding-left:18px;padding-right:18px}.organization-picker-selected-panel{max-height:180px}.organization-picker-tree{height:310px}.organization-picker-foot{padding-left:18px;padding-right:18px}}.organization-tree-row input[type=checkbox]{flex:0 0 17px;width:17px!important;min-width:17px;max-width:17px;height:17px!important;min-height:17px;max-height:17px;margin:0;padding:0;accent-color:#0f6b4f;cursor:pointer}.organization-tree-name{flex:1 1 auto;min-width:0}.organization-scope-chips{align-content:flex-start;max-height:92px;overflow-x:hidden;overflow-y:auto;padding:1px 4px 4px 1px;scrollbar-gutter:stable}.organization-scope-chips:focus-visible{border-radius:6px;outline:2px solid var(--ui-color-primary,#0f6b4f);outline-offset:2px}.organization-picker-dialog{height:min(720px,calc(100vh - 48px))}.organization-picker-content{flex:1}.organization-picker-tree-panel,.organization-picker-selected-panel{display:flex;flex-direction:column;min-height:0}.organization-picker-tree{flex:1;height:auto;min-height:0;overscroll-behavior:contain}.organization-picker-selected-list{flex:1;min-height:0;align-content:start;overscroll-behavior:contain}.organization-picker-panel-title{flex-wrap:wrap}.organization-picker-actions{display:flex;gap:4px;flex-wrap:wrap}.organization-picker-actions .organization-picker-clear{min-height:32px;padding:4px 6px}.organization-picker-clear-confirm{margin:0 28px 12px;padding:12px;border:1px solid var(--ui-color-border);border-radius:8px;background:var(--ui-color-surface-soft)}.organization-picker-clear-confirm h4{margin:0}.organization-picker-clear-confirm>div{display:flex;justify-content:flex-end;gap:8px}.organization-multi-select,.organization-picker-dialog{font-size:var(--ui-font-size-md)}.organization-picker-dialog button,.organization-picker-dialog input{font-family:inherit;font-size:var(--ui-font-size-sm)}.organization-picker-head h4{font-size:var(--ui-font-size-xl)}.organization-picker-dialog p,.organization-tree-row,.organization-picker-panel-title strong,.organization-picker-meta strong{font-size:var(--ui-font-size-md)}.organization-picker-dialog small,.organization-selected-row,.organization-scope-chip{font-size:var(--ui-font-size-sm)}.organization-tree-row:has(input:disabled){cursor:default;color:var(--ui-color-muted)}.organization-picker-dialog button:focus-visible{outline:2px solid var(--ui-color-primary);outline-offset:2px}.organization-picker-dialog button:disabled{cursor:not-allowed;opacity:.55}@media(max-width:680px){.organization-picker-dialog{height:100%}.organization-picker-content{grid-template-rows:minmax(180px,1fr) auto}.organization-picker-tree{height:auto}}.shift-name-button{display:inline-flex;align-items:center;gap:7px;max-width:100%}.shift-maintenance-page .shift-drawer{width:min(520px,100vw);color:var(--ui-color-text);font-family:var(--ui-font-sans)}.shift-maintenance-page .shift-drawer-head{padding:22px 24px 16px}.shift-maintenance-page .shift-drawer-head .eyebrow{color:var(--ui-color-muted);font-size:10px;letter-spacing:.14em}.shift-maintenance-page .shift-drawer-head h3{margin-top:6px;color:var(--ui-color-text);font-size:20px;line-height:1.35}.shift-maintenance-page .shift-drawer-close{width:30px;height:30px;color:var(--ui-color-muted);font-size:19px}.shift-maintenance-page .shift-drawer-body{padding:0 24px 24px;font-size:13px;line-height:1.6}.shift-maintenance-page .shift-drawer-body fieldset{gap:14px;padding:18px 0 20px}.shift-maintenance-page .shift-drawer-body legend{color:var(--ui-color-text);font-size:13px;line-height:1.5}.shift-maintenance-page .shift-drawer-body label{gap:6px;color:var(--ui-color-muted);font-size:12px;line-height:1.5}.shift-maintenance-page .shift-drawer-body input:not([type=checkbox]),.shift-maintenance-page .shift-drawer-body select{min-height:36px;height:36px;border-color:var(--ui-color-border);border-radius:var(--ui-radius-control);background:var(--ui-color-surface);color:var(--ui-color-text);font-size:12px}.shift-maintenance-page .shift-drawer-body input:focus-visible,.shift-maintenance-page .shift-drawer-body select:focus-visible,.shift-maintenance-page .shift-drawer-close:focus-visible{outline:2px solid color-mix(in srgb,var(--ui-color-primary) 35%,transparent);outline-offset:2px}.shift-maintenance-page .shift-drawer-body input[type=checkbox]{appearance:auto;flex:0 0 16px;width:16px!important;min-width:16px;max-width:16px;height:16px!important;min-height:16px;max-height:16px;margin:0;padding:0;accent-color:var(--ui-color-primary);cursor:pointer}.shift-maintenance-page .shift-checkbox-label{min-height:32px;color:var(--ui-color-text)!important}.shift-maintenance-page .shift-form-help{color:var(--ui-color-muted);font-size:11px;line-height:1.65}.shift-maintenance-page .shift-drawer-foot{min-height:64px;padding:13px 24px;background:var(--ui-color-surface)}.shift-maintenance-page .shift-drawer-foot button{min-height:36px;border-radius:var(--ui-radius-control);font-size:12px}.shift-maintenance-page .shift-scope-descendant-options{display:grid;gap:4px;margin-top:12px;padding:12px 14px;border:1px solid var(--ui-color-border);border-radius:10px;background:var(--ui-color-surface-soft)}.shift-maintenance-page .shift-scope-descendant-options strong{margin-bottom:2px;color:var(--ui-color-text);font-size:12px}.shift-maintenance-page .shift-scope-descendant-options label{display:flex;align-items:center;gap:8px;min-height:32px;color:var(--ui-color-text);font-size:12px;line-height:1.5;cursor:pointer}@media(max-width:620px){.shift-maintenance-page .shift-drawer-head,.shift-maintenance-page .shift-drawer-body,.shift-maintenance-page .shift-drawer-foot{padding-left:18px;padding-right:18px}.shift-maintenance-page .shift-drawer-head h3{font-size:18px}}.festival-editor-overlay{box-sizing:border-box;padding:var(--ui-space-6)}.festival-editor.ui-panel{display:flex;flex-direction:column;width:min(1040px,100%);max-height:calc(100dvh - 48px);min-height:0;padding:0;overflow:hidden;box-sizing:border-box;border-radius:var(--ui-radius-panel);border:1px solid var(--ui-color-border);background:var(--ui-color-surface);box-shadow:var(--ui-shadow-overlay);color:var(--ui-color-text);font:var(--ui-font-size-md)/var(--ui-line-height-normal) var(--ui-font-sans)}.festival-editor *,.festival-editor *:before,.festival-editor *:after{box-sizing:border-box}.festival-editor .festival-editor-heading{display:flex;flex:none;align-items:center;gap:var(--ui-space-4);padding:var(--ui-space-5) var(--ui-space-6);border-bottom:1px solid var(--ui-color-border)}.festival-editor-mark{display:grid;place-items:center;flex:0 0 44px;height:44px;border-radius:var(--ui-radius-lg);background:var(--ui-color-brand-subtle);color:var(--ui-color-primary)}.festival-editor-mark svg{width:24px;height:24px}.festival-editor-title{flex:1;min-width:0}.festival-editor .festival-editor-title h3{margin:0;color:var(--ui-color-text);font-size:22px;line-height:1.3;font-weight:700;overflow-wrap:anywhere}.festival-editor .festival-editor-title p{margin:4px 0 0;color:var(--ui-color-muted);font-size:var(--ui-font-size-sm)}.festival-editor-status{flex:none;background:var(--ui-color-surface-soft);color:var(--ui-color-muted);white-space:nowrap}.festival-editor button.festival-editor-close{display:grid;place-items:center;flex:0 0 32px;height:32px;min-height:32px;padding:0;border:0;border-radius:var(--ui-radius-md);background:var(--ui-color-surface-soft);color:var(--ui-color-muted);font-size:22px}.festival-editor-body{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;padding:0 var(--ui-space-6) var(--ui-space-6)}.festival-editor fieldset.festival-editor-fields{min-width:0;padding:0;margin:0;border:0}.festival-editor-section{padding:var(--ui-space-5) 0;border-bottom:1px solid var(--ui-color-border)}.festival-editor-section-heading{display:flex;gap:var(--ui-space-3);align-items:flex-start;margin-bottom:var(--ui-space-4)}.festival-editor-section-heading>span{display:grid;place-items:center;width:28px;height:28px;flex:none;border-radius:var(--ui-radius-control);background:var(--ui-color-surface-soft);color:var(--ui-color-primary);font-size:var(--ui-font-size-xs);font-weight:700}.festival-editor h4{margin:0;color:var(--ui-color-text);font-size:var(--ui-font-size-xl);line-height:1.4;font-weight:700}.festival-editor-section-heading p{margin:3px 0 0;font-size:var(--ui-font-size-xs);color:var(--ui-color-muted)}.festival-editor-basic-grid,.festival-editor-policy-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:var(--ui-space-4)}.festival-editor .festival-editor-field{display:flex;flex-direction:column;align-items:stretch;gap:var(--ui-space-2);min-width:0;color:var(--ui-color-text);font-size:var(--ui-font-size-sm)}.festival-editor-field>label,.festival-editor-label{font-weight:500;color:var(--ui-color-text)}.festival-editor-field>small,.festival-editor-field>label small{color:var(--ui-color-muted);font-size:var(--ui-font-size-xs);font-weight:400}.festival-editor .festival-required,.festival-editor .festival-editor-field-error{color:var(--ui-color-danger)}.festival-editor .festival-editor-field-error{display:block;margin:0;font-size:var(--ui-font-size-xs)}.festival-editor .festival-editor-field>input,.festival-editor .festival-editor-field>select,.festival-editor .festival-editor-field>textarea,.festival-editor .historical-date-control>input{display:block;width:100%;min-width:0;min-height:36px;height:36px;margin:0;padding:7px 10px;border:1px solid var(--ui-color-border-strong);border-radius:var(--ui-radius-control);background:var(--ui-color-surface);color:var(--ui-color-text);font:inherit;font-size:var(--ui-font-size-sm)}.festival-editor .festival-editor-field>textarea{min-height:76px;height:auto;resize:vertical}.festival-editor .festival-editor-field>input[type=number]{width:100%}.festival-editor input::placeholder,.festival-editor textarea::placeholder{color:var(--ui-color-muted);opacity:.85}.festival-editor .historical-date-control>input{padding-right:58px}.festival-editor .historical-date-control>button{min-height:26px;width:24px;height:26px;padding:0;border:0;background:transparent;color:var(--ui-color-muted)}.festival-editor .historical-date-popover{max-width:100%;font-size:var(--ui-font-size-sm)}.festival-editor .historical-date-popover button{min-height:28px;padding:4px}.festival-editor .historical-date-grid button.selected{color:var(--ui-color-surface);background:var(--ui-color-primary)}.festival-editor :is(button,input,select,textarea):focus-visible{outline:3px solid var(--ui-color-brand-subtle);outline-offset:2px;border-color:var(--ui-color-primary)}.festival-editor input[aria-invalid=true],.festival-editor textarea[aria-invalid=true]{border-color:var(--ui-color-danger)}.festival-editor .festival-editor-error{margin-top:var(--ui-space-4);border-left:3px solid var(--ui-color-danger);padding:var(--ui-space-3);border-radius:var(--ui-radius-control);background:var(--ui-color-surface-soft);color:var(--ui-color-danger)}.festival-editor-date-row{display:grid;grid-template-columns:176px minmax(0,1fr);align-items:center;gap:var(--ui-space-4);padding:var(--ui-space-3) var(--ui-space-4);border-radius:var(--ui-radius-md)}.festival-editor-date-row+.festival-editor-date-row{margin-top:var(--ui-space-2)}.festival-editor-date-caption{display:grid;gap:var(--ui-space-1)}.festival-editor-date-caption strong{font-size:var(--ui-font-size-sm);font-weight:600}.festival-editor-date-caption small{color:var(--ui-color-muted);font-size:var(--ui-font-size-xs)}.festival-editor-peak{background:var(--ui-color-surface-soft)}.festival-editor-peak .festival-editor-date-caption strong{color:var(--ui-color-primary)}.festival-editor-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--ui-space-4)}.festival-editor-scope-mode{display:grid;grid-template-columns:240px minmax(0,1fr);align-items:end;gap:var(--ui-space-4);margin-bottom:var(--ui-space-4)}.festival-editor-scope-mode>p{margin:0 0 var(--ui-space-2);color:var(--ui-color-muted);font-size:var(--ui-font-size-xs)}.festival-editor-scope-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--ui-space-5) var(--ui-space-4)}.festival-editor .organization-scope-trigger{min-height:36px;height:36px;border-color:var(--ui-color-border-strong);color:var(--ui-color-text);text-align:left;font-size:var(--ui-font-size-sm)}.festival-editor .organization-scope-clear{padding:0;min-height:0;border:0;background:transparent;font-size:var(--ui-font-size-xs)}.festival-editor .organization-picker-summary{align-items:center}.festival-editor .searchable-select input{min-height:36px;height:36px;border-color:var(--ui-color-border-strong)}.festival-editor .searchable-select button{min-height:26px;border:0;background:transparent;padding:0 4px}.festival-editor .festival-editor-check{display:flex;flex-direction:row;align-items:center;gap:var(--ui-space-2);font-size:var(--ui-font-size-xs);font-weight:400}.festival-editor .festival-editor-check input,.festival-editor .festival-editor-option input{width:16px;height:16px;min-height:16px;margin:0;padding:0;flex:none;accent-color:var(--ui-color-primary)}.festival-editor-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--ui-space-4);margin:var(--ui-space-4) 0}.festival-editor-option{display:flex;align-items:flex-start;gap:var(--ui-space-3);padding:var(--ui-space-3);border:1px solid var(--ui-color-border);border-radius:var(--ui-radius-md);cursor:pointer}.festival-editor-option.is-checked{background:var(--ui-color-surface-soft);border-color:var(--ui-color-border-strong)}.festival-editor-option>span{display:grid;gap:var(--ui-space-1)}.festival-editor-option strong{font-size:var(--ui-font-size-sm);font-weight:600}.festival-editor-option small{font-size:var(--ui-font-size-xs);color:var(--ui-color-muted)}.festival-editor-preview{margin-top:var(--ui-space-5);padding:var(--ui-space-4);border:1px dashed var(--ui-color-border-strong);border-radius:var(--ui-radius-md);background:var(--ui-color-surface-soft)}.festival-editor-preview.is-ready{border-style:solid}.festival-editor-preview-heading{display:flex;align-items:center;justify-content:space-between;gap:var(--ui-space-3)}.festival-editor-preview-heading h4{font-size:var(--ui-font-size-md)}.festival-editor-preview-heading>span{font-size:var(--ui-font-size-xs);color:var(--ui-color-muted)}.festival-editor-preview>p{margin-bottom:0;font-size:var(--ui-font-size-sm)}.festival-editor .ui-kpi-strip.festival-editor-counts{padding:0;gap:0;background:var(--ui-color-surface)}.festival-editor .festival-editor-counts .ui-kpi{flex:1;min-width:132px}.festival-editor .festival-editor-preview .festival-table-wrap{max-height:280px}.festival-editor .festival-editor-footer{display:flex;align-items:center;justify-content:space-between;flex:none;flex-wrap:wrap;gap:var(--ui-space-3);padding:var(--ui-space-4) var(--ui-space-6);margin:0;border-top:1px solid var(--ui-color-border);background:var(--ui-color-surface)}.festival-editor-footer>p{display:flex;align-items:center;gap:var(--ui-space-2);margin:0;font-size:var(--ui-font-size-xs);color:var(--ui-color-muted)}.festival-editor-footer>p>span{width:6px;height:6px;border-radius:50%;background:var(--ui-color-muted)}.festival-editor-footer>p>span.is-ready{background:var(--ui-color-success)}.festival-editor .ui-button{min-height:36px;padding:0 14px;border-radius:var(--ui-radius-control);font:inherit;font-size:var(--ui-font-size-sm)}.festival-editor .ui-button-secondary{background:var(--ui-color-surface);border:1px solid var(--ui-color-border-strong);color:var(--ui-color-text)}.festival-editor .ui-button-primary{background:var(--ui-color-primary);border:1px solid var(--ui-color-primary);color:var(--ui-color-surface);font-weight:600}.festival-editor .ui-button-primary:hover:not(:disabled){background:var(--ui-color-primary-strong)}.festival-editor button:disabled{cursor:not-allowed;opacity:.5}@media(max-width:900px){.festival-editor-basic-grid,.festival-editor-policy-grid,.festival-editor-scope-grid,.festival-editor-options,.festival-editor-scope-mode{grid-template-columns:minmax(0,1fr)}.festival-editor-date-row{grid-template-columns:minmax(0,1fr);gap:var(--ui-space-3)}.festival-editor-scope-mode{gap:var(--ui-space-2)}.festival-editor-footer .ui-actions{margin-left:auto}}@media(max-width:620px){.festival-editor-overlay{padding:var(--ui-space-2)}.festival-editor.ui-panel{max-height:calc(100dvh - 16px)}.festival-editor .festival-editor-heading{gap:var(--ui-space-3);padding:var(--ui-space-4)}.festival-editor-mark,.festival-editor-status{display:none}.festival-editor .festival-editor-title h3{font-size:var(--ui-font-size-xl)}.festival-editor-body{padding-left:var(--ui-space-4);padding-right:var(--ui-space-4)}.festival-editor-pair{grid-template-columns:minmax(0,1fr)}.festival-editor-date-row{padding:var(--ui-space-3)}.festival-editor .festival-editor-footer{padding:var(--ui-space-3) var(--ui-space-4)}.festival-editor-footer .ui-actions{width:100%;display:grid;grid-template-columns:auto 1fr 1fr}.festival-editor-footer .ui-button{padding:0 6px}}.festival-business{color:var(--ui-color-text);font-size:var(--ui-font-size-md,14px)}.festival-business h3,.festival-planning h3{margin:0 0 8px}.festival-business p,.festival-planning p{color:var(--ui-color-muted);line-height:1.65}.festival-business .ui-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:14px}.festival-business .ui-toolbar>div:first-child{flex:1;min-width:280px}.festival-business input,.festival-business select,.festival-business textarea,.festival-planning input{min-height:34px;border:1px solid var(--ui-color-border);border-radius:var(--ui-radius-sm,6px);padding:6px 9px;background:var(--ui-color-surface,#fff);color:inherit;font:inherit;box-sizing:border-box;max-width:100%}.festival-business input[type=checkbox]{min-height:auto;width:auto;margin-right:6px}.festival-business input[type=number]{width:120px}.festival-business button,.festival-planning button{min-height:32px;border:1px solid var(--ui-color-border);border-radius:6px;padding:5px 10px;color:var(--ui-color-primary);background:var(--ui-color-surface,#fff);cursor:pointer;font:inherit}.festival-business button:disabled,.festival-planning button:disabled{opacity:.55;cursor:not-allowed}.festival-business .primary-button,.festival-planning .primary-button{background:var(--ui-color-primary,#107c59);color:#fff}.festival-table-wrap{overflow:auto;max-height:480px}.festival-business table,.festival-planning table{width:100%;border-collapse:collapse}.festival-business th,.festival-business td,.festival-planning th,.festival-planning td{padding:10px;border-bottom:1px solid var(--ui-color-border);text-align:left;vertical-align:middle}.festival-business th{background:var(--ui-color-surface-muted,#f5f8f6);white-space:nowrap}.festival-business td small{display:block;color:var(--ui-color-muted);margin-top:4px}.festival-business td button{margin:2px;white-space:nowrap}.festival-form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:16px 0}.festival-form-grid>label{display:flex;flex-direction:column;gap:7px;align-items:stretch}.festival-form-grid>div>label{display:block;margin-bottom:10px}.festival-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:14px 0}.festival-actions h3{flex:1}.festival-tabs{display:flex;gap:8px;border-bottom:1px solid var(--ui-color-border);padding:0 0 10px;flex-wrap:wrap}.festival-tabs .active{background:var(--ui-color-brand-subtle,#e4f3eb);font-weight:600}.festival-details,.festival-planning{padding:20px;margin-top:16px;border:1px solid var(--ui-color-border);border-radius:var(--ui-radius-md,10px);background:var(--ui-color-surface,#fff)}.festival-overlay{position:fixed;inset:0;z-index:1100;background:#0a231c4d;display:flex;align-items:center;justify-content:center;padding:24px}.festival-dialog{width:min(1120px,96vw);max-height:92vh;overflow:auto;padding:24px;background:var(--ui-color-surface,#fff);border-radius:12px;box-shadow:0 12px 48px #0002}.festival-dialog>header,.festival-dialog>footer{display:flex;gap:10px;align-items:center;justify-content:flex-end}.festival-dialog>header h3{flex:1}.festival-dialog>footer{margin-top:20px;border-top:1px solid var(--ui-color-border);padding-top:16px}.festival-dialog fieldset,.festival-business fieldset{border:0;padding:0;margin:0;min-width:0}.festival-confirm{width:min(560px,92vw)}.festival-selected{display:flex;flex-wrap:wrap;gap:5px;margin-top:6px}.festival-selected>span{background:var(--ui-color-brand-subtle,#e8f4ee);padding:3px 6px;border-radius:5px;display:flex;align-items:center;gap:4px}.festival-selected button{border:0;padding:0 4px;min-height:20px;background:transparent}.festival-business .ui-kpi-strip,.festival-planning .ui-kpi-strip{display:flex;gap:20px;flex-wrap:wrap;background:var(--ui-color-surface-muted,#f4f8f6);padding:12px;margin:12px 0}@media(max-width:800px){.festival-form-grid{grid-template-columns:1fr}.festival-overlay{padding:8px}.festival-dialog{padding:16px}}.festival-business .organization-picker-confirm{background:var(--ui-color-primary,#107c59);color:#fff}.festival-business .organization-picker-search input{border:0}.leave-workbench-backdrop{position:fixed;inset:0;background:#18312a55;z-index:170;display:flex;justify-content:flex-end}.leave-workbench-detail{width:min(1120px,100vw);height:100%;overflow:auto;padding:24px;background:var(--ui-color-page);box-sizing:border-box}.leave-workbench-detail>header{position:sticky;top:-24px;background:var(--ui-color-page);z-index:1;padding:16px 0}.leave-workbench-detail .ui-table-wrap{background:var(--ui-color-surface);border:1px solid var(--ui-color-border);border-radius:8px}.leave-workbench-detail .leave-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}.leave-workbench-detail .ui-kpi-strip{margin:16px 0}.leave-ledger-banner{margin:0 0 16px}.leave-ledger-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:16px 0}.leave-ledger-summary>article{padding:18px;min-height:190px}.leave-ledger-summary>article>span{font-size:12px;color:var(--ui-color-muted)}.leave-ledger-summary>article>strong{display:block;margin:6px 0 14px;font-size:24px;line-height:1.2;color:var(--ui-color-text)}.leave-ledger-summary dl{display:grid;gap:7px;margin:0}.leave-ledger-summary dl div{display:flex;justify-content:space-between;gap:16px;font-size:12px}.leave-ledger-summary dt{color:var(--ui-color-muted)}.leave-ledger-summary dd{margin:0;color:var(--ui-color-brand);font-weight:600}.leave-reconcile-warning{margin:14px 0 0;color:var(--ui-color-warning);font-size:12px;line-height:1.5}.leave-policy-line{display:flex;gap:16px;align-items:center;flex-wrap:wrap;margin:0 0 16px;padding:10px 12px;border:1px solid var(--ui-color-border);border-radius:8px;background:var(--ui-color-surface-soft);font-size:12px;color:var(--ui-color-muted)}.leave-row-actions{display:flex;gap:10px;white-space:nowrap}.leave-field-wide{grid-column:1/-1}.ui-chip-button{border:0;background:transparent;color:var(--ui-color-brand);font:inherit;padding:0 4px;cursor:pointer}.leave-workbench-records .ui-toolbar{display:flex;gap:8px;align-items:end;flex-wrap:wrap;margin-bottom:16px}.leave-workbench-records .ui-toolbar>.ui-input{max-width:210px}.leave-workbench-records .ui-toolbar label{display:grid;gap:4px;font-size:11px;color:var(--ui-color-muted)}.leave-workbench-records .ui-toolbar .ui-select{width:120px}.leave-workbench-records th button{white-space:nowrap}.leave-adjust-overlay{z-index:180;align-items:center;justify-content:center}.leave-quota-dialog{width:min(680px,95vw);max-height:90vh;overflow:auto;padding:24px}.leave-quota-dialog fieldset{border:0;margin:0;padding:0}.leave-quota-dialog footer{margin-top:20px}.leave-workbench-detail .ui-pagination,.leave-rule-maintenance .ui-pagination{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:16px}.leave-workbench-detail .ui-pagination select,.leave-rule-maintenance .ui-pagination select{width:100px}@media(max-width:900px){.leave-ledger-summary{grid-template-columns:1fr}}@media(max-width:620px){.leave-workbench-detail{padding:12px}.leave-quota-dialog .ui-form-grid{grid-template-columns:1fr}.leave-field-wide{grid-column:auto}.leave-workbench-records .ui-toolbar>.ui-input{max-width:100%}}.leave-rule-maintenance{min-width:0}.leave-rule-maintenance .ui-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-bottom:16px}.leave-rule-maintenance .ui-toolbar>.searchable-select{width:180px;flex:0 0 180px}.leave-rule-maintenance .ui-toolbar>.ui-select{width:120px}.leave-rule-maintenance .ui-toolbar input:not([type=checkbox]),.leave-rule-maintenance .ui-toolbar select{min-height:36px;border:1px solid var(--ui-color-border);border-radius:var(--ui-radius-control);padding:0 9px;background:var(--ui-color-surface);color:var(--ui-color-text);font:inherit;font-size:12px}.leave-rule-maintenance .ui-table-wrap{max-width:100%;overflow:auto}.leave-rule-maintenance .ui-panel-heading h2{font-size:18px;margin:0}.leave-rule-maintenance .ui-panel-heading p{font-size:12px;color:var(--ui-color-muted)}.leave-rule-maintenance .ui-toolbar>.ui-input{max-width:190px}.leave-rule-maintenance td small{display:block;color:var(--ui-color-muted);margin-top:4px}.leave-rule-actions{display:flex;column-gap:5px;row-gap:2px;flex-wrap:wrap;align-items:center;min-width:150px}.leave-rule-actions button{margin:0;padding:2px 3px;line-height:1.35}.leave-rule-actions button,.leave-rule-pages button{color:var(--ui-color-primary);background:none;border:0;cursor:pointer}.leave-rule-backdrop{position:fixed;inset:0;background:#18312a66;z-index:160;display:flex;justify-content:flex-end}.leave-rule-drawer{width:min(860px,100vw);height:100%;background:var(--ui-color-surface);display:flex;flex-direction:column;box-shadow:0 10px 35px #18312a33}.leave-rule-drawer header,.leave-rule-drawer footer{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;border-bottom:1px solid var(--ui-color-border)}.leave-rule-drawer footer{justify-content:flex-end;gap:12px;border-top:1px solid var(--ui-color-border)}.leave-rule-body{overflow:auto;padding:16px 24px;flex:1}.leave-rule-body fieldset{border:0;margin:0;padding:0;min-width:0}.leave-rule-section{border-bottom:1px solid var(--ui-color-border);padding:14px 0}.leave-rule-section summary{cursor:pointer;font-weight:600;color:var(--ui-color-primary);padding-bottom:10px}.leave-rule-section .ui-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.leave-rule-wide{grid-column:1/-1}.leave-rule-switch{display:flex;align-items:center;gap:8px;padding:8px 0}.leave-rule-switch input{accent-color:var(--ui-color-primary)}.leave-rule-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.leave-rule-tags span{border:1px solid var(--ui-color-border);padding:3px 6px;border-radius:6px}.leave-rule-tags button{border:0;background:transparent;margin-left:6px}.leave-rule-pages{display:flex;gap:8px;margin-top:4px;align-items:center}.leave-rule-error{color:var(--ui-color-danger)}.leave-rule-dialog{align-self:center;margin:auto;width:min(600px,90vw);max-height:80vh;overflow:auto}@media(max-width:620px){.leave-rule-section .ui-form-grid{grid-template-columns:1fr}.leave-rule-body{padding:12px}}.attendance-rules-page{font-family:var(--ui-font-sans);color:var(--ui-color-text);min-width:0}.attendance-rules-page>.ui-page-heading{margin-bottom:16px}.attendance-rules-page .attendance-rule-tabs{overflow-x:auto;flex-wrap:nowrap;margin-bottom:20px}.attendance-rule-tabs .tab{white-space:nowrap;font:inherit}.attendance-rule-list{padding:20px 24px}.attendance-rule-list .ui-panel-heading p,.annual-rule-notice p,.annual-formula-example p{color:var(--ui-color-muted);font-size:12px;line-height:1.7;margin:6px 0}.attendance-rule-toolbar{padding-bottom:16px;border-bottom:1px solid var(--ui-color-border)}.attendance-rule-toolbar input{width:240px}.attendance-rule-row{display:grid;grid-template-columns:220px minmax(0,1fr);gap:24px;padding:20px 0;border-bottom:1px solid var(--ui-color-border)}.attendance-rule-row:last-child{border-bottom:0;padding-bottom:0}.attendance-rule-identity>span,.attendance-rule-meta{color:var(--ui-color-muted);font-size:11px}.attendance-rule-identity h4{margin:6px 0 10px;font-size:16px}.attendance-rule-tags{display:flex;gap:6px;flex-wrap:wrap}.attendance-rule-description{margin:0;padding-left:18px;font-size:13px;line-height:1.8}.attendance-rule-history{color:var(--ui-color-muted);font-size:12px;margin-top:10px}.attendance-rule-history summary{cursor:pointer;color:var(--ui-color-primary)}.attendance-rule-history>div{padding:12px;background:var(--ui-color-surface-soft);margin-top:8px;border-radius:var(--ui-radius-control)}.attendance-rule-history span{margin-left:12px}.attendance-rule-history ul{margin:6px 0 0;padding-left:18px;line-height:1.7}.attendance-rule-heading-actions,.attendance-rule-actions,.attendance-version-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.attendance-rule-actions{margin-top:14px}.attendance-rule-actions button,.attendance-version-actions button{border:0;background:transparent;color:var(--ui-color-primary);padding:4px 0;cursor:pointer;font:inherit;font-size:12px}.attendance-rule-actions button:disabled,.attendance-version-actions button:disabled{opacity:.45;cursor:not-allowed}.attendance-version-actions{margin-top:8px}.attendance-rule-history p{margin:6px 0 0}.attendance-rule-backdrop{position:fixed;inset:0;z-index:70;background:#0e282247;display:flex;justify-content:flex-end}.attendance-rule-drawer{width:min(560px,100vw);height:100%;background:var(--ui-color-surface);border-left:1px solid var(--ui-color-border);box-shadow:-12px 0 30px #0e28221f;display:grid;grid-template-rows:auto minmax(0,1fr) auto}.attendance-rule-drawer-head,.attendance-rule-drawer-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 22px;border-bottom:1px solid var(--ui-color-border)}.attendance-rule-drawer-head h3{margin:4px 0 0;font-size:18px}.attendance-rule-drawer-head>button{border:0;background:transparent;color:var(--ui-color-muted);font-size:22px;cursor:pointer}.attendance-rule-drawer-body{padding:20px 22px;overflow-y:auto;display:grid;align-content:start;gap:16px}.attendance-rule-drawer-body>label,.attendance-parameter-grid label{display:grid;gap:7px;color:var(--ui-color-text);font-size:12px;font-weight:600}.attendance-rule-drawer-body :is(input,select,textarea){width:100%;min-height:var(--ui-control-height);box-sizing:border-box;border:1px solid var(--ui-color-border);border-radius:var(--ui-radius-control);background:var(--ui-color-surface);padding:9px 11px;color:var(--ui-color-text);font:inherit;font-weight:400}.attendance-rule-drawer-body textarea{resize:vertical}.attendance-rule-drawer-body fieldset{margin:0;padding:16px;border:1px solid var(--ui-color-border);border-radius:var(--ui-radius-panel)}.attendance-rule-drawer-body legend{padding:0 6px;color:var(--ui-color-text);font-weight:700;font-size:13px}.attendance-parameter-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.attendance-rule-drawer-foot{justify-content:flex-end;border-top:1px solid var(--ui-color-border);border-bottom:0}.attendance-rule-drawer-foot>button:first-child{min-height:var(--ui-control-height);border:1px solid var(--ui-color-border);border-radius:var(--ui-radius-control);background:var(--ui-color-surface);padding:0 16px}.annual-rules-panel{display:grid;gap:16px;min-width:0}.annual-rule-notice h3{margin:0;font-size:18px}.annual-formula-fields{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:16px 0}.annual-formula-fields input{width:100%;box-sizing:border-box}.annual-formula-details{padding:0;overflow:hidden}.annual-formula-details>summary{cursor:pointer;padding:14px 16px;color:var(--ui-color-primary);font-weight:700}.annual-formula-details[open]>summary{border-bottom:1px solid var(--ui-color-border)}.annual-formula-details>.annual-formula-example{border:0;border-radius:0;box-shadow:none}.attendance-rules-page :is(button,summary,input,select):focus-visible{outline:2px solid var(--ui-color-primary);outline-offset:3px}@media(max-width:900px){.attendance-rule-row{grid-template-columns:180px minmax(0,1fr);gap:16px}.annual-formula-fields{grid-template-columns:1fr}}@media(max-width:620px){.attendance-rule-list{padding:16px}.attendance-rule-row{grid-template-columns:1fr;gap:12px}.attendance-rule-toolbar{align-items:stretch;flex-direction:column}.attendance-rule-toolbar input{width:100%;box-sizing:border-box}.attendance-parameter-grid{grid-template-columns:1fr}.attendance-rule-drawer-head,.attendance-rule-drawer-body,.attendance-rule-drawer-foot{padding-left:16px;padding-right:16px}}.batch-edit-mask{position:fixed;inset:0;z-index:1000;background:#092d256b;display:flex;align-items:center;justify-content:center;padding:24px}.batch-edit-modal{width:min(1180px,96vw);height:min(820px,94vh);background:#fff;border:1px solid #d6e5df;border-radius:18px;box-shadow:0 24px 70px #08372b3d;display:flex;flex-direction:column;color:#123b32}.batch-edit-head{display:flex;justify-content:space-between;align-items:flex-start;padding:24px 28px 18px;border-bottom:1px solid #e4eee9}.batch-eyebrow{font-size:11px;letter-spacing:.14em;color:#6c9184;font-weight:700}.batch-edit-head h2{margin:7px 0 5px;font-size:25px}.batch-edit-head p{margin:0;color:#6a8179}.batch-close{border:0;background:#eef5f1;color:#2d6455;border-radius:9px;font-size:24px;width:34px;height:34px;cursor:pointer}.batch-stepper{display:flex;gap:28px;padding:14px 28px;background:#f7fbf9;border-bottom:1px solid #e4eee9}.batch-stepper span{color:#8ba199;font-weight:700;font-size:13px}.batch-stepper span.active{color:#087a5c}.batch-error{margin:14px 28px 0;padding:11px 14px;color:#a63b2f;background:#fff1ed;border:1px solid #f0c2b8;border-radius:9px}.batch-picker{display:grid;grid-template-columns:1fr 1fr;gap:20px;min-height:0;flex:1;padding:22px 28px}.batch-picker-list,.batch-selected-list{border:1px solid #dbe9e3;border-radius:12px;padding:16px;overflow:auto}.batch-section-title{font-weight:800;margin-bottom:12px;display:flex;justify-content:space-between}.batch-section-title small{color:#7b9189;font-weight:500}.batch-picker-list>input{width:100%;box-sizing:border-box;padding:10px 12px;border:1px solid #cfdfd8;border-radius:8px;margin-bottom:12px}.batch-picker-list h4{font-size:12px;color:#6b8a7e;margin:14px 0 7px}.batch-field-option{width:100%;display:flex;justify-content:space-between;border:1px solid #edf3f0;background:#fff;padding:10px 12px;margin:5px 0;border-radius:8px;color:#164d3d;text-align:left;cursor:pointer}.batch-field-option:hover{border-color:#64b49b;background:#f4fbf7}.batch-field-option small{color:#8a9e97}.batch-selected-field{display:flex;justify-content:space-between;align-items:center;border:1px solid #cfe4da;background:#f5fbf8;border-radius:8px;padding:11px 12px;margin-bottom:8px;cursor:grab}.batch-selected-field button{border:0;background:transparent;color:#b05445;cursor:pointer}.batch-muted,.batch-help{color:#81938d;font-size:13px}.batch-grid-step{display:flex;flex-direction:column;min-height:0;flex:1;padding:18px 28px}.batch-grid-toolbar{display:flex;align-items:end;gap:14px;margin-bottom:14px;flex-wrap:wrap}.batch-grid-toolbar label{display:flex;flex-direction:column;gap:6px;font-size:12px;color:#628074;font-weight:700}.batch-grid-toolbar input{min-width:180px;padding:9px 10px;border:1px solid #cfe0d8;border-radius:8px}.batch-grid-toolbar>span{font-size:12px;color:#7d918a;padding-bottom:10px}.batch-grid-wrap{min-height:0;flex:1;overflow:auto;border:1px solid #d8e7e0;border-radius:12px}.batch-grid{border-collapse:separate;border-spacing:0;min-width:100%;font-size:13px}.batch-grid th,.batch-grid td{padding:9px 10px;border-bottom:1px solid #edf2ef;border-right:1px solid #edf2ef;white-space:nowrap;background:#fff;position:relative}.batch-grid thead th{background:#f3f8f5;color:#3d6658;position:sticky;top:0;z-index:2;text-align:left}.batch-grid th button{display:block;margin-top:5px;border:0;border-radius:5px;background:#e1f2e9;color:#087a5c;font-size:11px;padding:3px 6px;cursor:pointer}.batch-sticky-col{position:sticky!important;left:0;z-index:3!important;min-width:150px;background:#fbfdfc!important}.batch-grid td input,.batch-grid td select{width:150px;box-sizing:border-box;border:1px solid #cfe0d8;border-radius:6px;padding:7px 8px;color:#174b3c;background:#fff}.batch-grid td select{max-width:190px}.batch-grid td input:focus,.batch-grid td select:focus{outline:2px solid #93d3b8;border-color:#13855f}.batch-grid td small,.batch-grid th small{display:block;color:#80948d;font-weight:400;margin-top:3px}.batch-grid td.batch-fill-preview{background:#e9f8ef}.batch-fill-handle{position:absolute;right:2px;bottom:2px;width:7px;height:7px;border:0;border-radius:2px;background:#0b9b6e;cursor:crosshair;padding:0}.batch-help{padding-top:11px}.batch-preview{padding:22px 28px;overflow:auto;min-height:0;flex:1}.batch-summary{display:flex;align-items:baseline;gap:8px;border:1px solid #dcebe4;background:#f5fbf8;border-radius:12px;padding:15px 18px;margin-bottom:14px}.batch-summary strong{font-size:22px;color:#087a5c;margin-left:10px}.batch-summary strong:first-child{margin-left:0}.batch-summary strong.danger{color:#bd4939}.batch-summary span{font-size:12px;color:#718980}.batch-status{padding:13px 16px;border-radius:9px;font-weight:700;margin-bottom:12px}.batch-status.ready{color:#087a5c;background:#e8f8ef;border:1px solid #bce4ce}.batch-status.blocked{color:#a33c2f;background:#fff0eb;border:1px solid #efc1b7}.batch-preview-list{border:1px solid #e0ebe6;border-radius:10px;overflow:auto}.batch-preview-row{display:flex;gap:14px;align-items:center;padding:11px 14px;border-bottom:1px solid #edf2ef}.batch-preview-row:last-child{border-bottom:0}.batch-preview-row strong{min-width:120px}.batch-preview-row span{color:#668077}.batch-preview-row.error{background:#fff7f4;color:#a63c30}.batch-preview-row.unchanged{color:#7d918a}.batch-actions{display:flex;justify-content:flex-end;gap:10px;padding:16px 28px;border-top:1px solid #e4eee9}.batch-primary,.batch-secondary{border-radius:8px;padding:10px 18px;cursor:pointer;font-weight:700}.batch-primary{border:1px solid #087a5c;background:#087a5c;color:#fff}.batch-primary:disabled{opacity:.55;cursor:not-allowed}.batch-secondary{border:1px solid #cddfd7;background:#fff;color:#476c5e}.personnel-owner-sync-modal{max-width:820px;height:min(760px,92vh)}.owner-sync-form{flex:1;overflow:auto;padding:24px 28px}.owner-sync-callout{display:flex;flex-direction:column;gap:6px;padding:16px 18px;margin-bottom:22px;border:1px solid #bfe4d1;border-radius:12px;background:#f0faf4;color:#2b6651}.owner-sync-callout strong{font-size:17px;color:#087a5c}.owner-sync-callout span,.owner-sync-note{font-size:13px;line-height:1.7;color:#6b8178}.owner-sync-form label{display:flex;flex-direction:column;gap:7px;margin-bottom:18px;color:#365f50;font-size:13px;font-weight:700}.owner-sync-form input,.owner-sync-form textarea{font:inherit;font-weight:400;color:#174b3c;border:1px solid #cfe0d8;border-radius:8px;padding:10px 12px;background:#fff;box-sizing:border-box}.owner-sync-form input{width:220px}.owner-sync-form textarea{min-height:100px;resize:vertical}.owner-sync-form input:focus,.owner-sync-form textarea:focus{outline:2px solid #93d3b8;border-color:#13855f}.owner-sync-note{padding:12px 14px;border-radius:8px;background:#f7faf8}.personnel-owner-sync-modal .batch-preview-row strong{display:flex;flex-direction:column;gap:3px}.personnel-owner-sync-modal .batch-preview-row strong small{font-weight:400;color:#81968d}.personnel-owner-sync-modal .batch-preview-row span{line-height:1.5}.overtime-page{font-size:var(--ui-font-size-md)}.main-content:has(.overtime-page){min-width:0}.overtime-page>.ui-panel{min-width:0}.overtime-filters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.overtime-filters label{display:grid;gap:6px}.overtime-page input,.overtime-page select{box-sizing:border-box;min-width:0;min-height:36px;border:1px solid var(--ui-color-border);border-radius:8px;padding:7px 10px;background:var(--ui-color-surface);color:var(--ui-color-text);font:inherit}.overtime-page .ui-notice-error{border:1px solid var(--ui-color-danger);border-radius:8px;padding:12px;color:var(--ui-color-danger);background:var(--ui-color-surface)}.overtime-buttons{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-top:12px}.overtime-page small{display:block;color:var(--ui-color-muted);font-size:var(--ui-font-size-sm)}.overtime-page .ui-table{min-width:1000px}.overtime-page .ui-table-wrap{overflow:auto}.overtime-status{display:inline-block;padding:4px 8px;border-radius:6px;background:#e5e7eb;color:#374151;font-size:var(--ui-font-size-sm);white-space:nowrap}.overtime-status.approved{background:#d1fae5;color:#065f46}.overtime-status.rejected{background:#fee2e2;color:#991b1b}.overtime-status.pending{background:#dbeafe;color:#1e40af}.overtime-status.comparison-matched{background:#d1fae5;color:#065f46}.overtime-status.comparison-abnormal{background:#ffedd5;color:#9a3412}.overtime-status.comparison-failed{background:#fee2e2;color:#991b1b}.overtime-status.comparison-pending{background:#e5e7eb;color:#374151}.overtime-status.comparison-recalculating{background:#dbeafe;color:#1e40af}.overtime-row-actions{display:flex;align-items:center;gap:6px;white-space:nowrap}.overtime-page input[type=checkbox]{width:18px;height:18px;min-height:18px;accent-color:var(--ui-color-primary);padding:0}.overtime-page .overtime-warning{color:var(--ui-color-danger)}.overtime-dialog{width:min(740px,calc(100vw - 32px));max-height:88vh;overflow:auto;border:1px solid var(--ui-color-border);border-radius:12px;padding:24px;background:var(--ui-color-surface);color:var(--ui-color-text);font:inherit}.overtime-dialog::backdrop{background:#17362c66}.overtime-dialog header{display:flex;justify-content:space-between;align-items:center}.overtime-dialog h2{font-size:var(--ui-font-size-xl)}.overtime-dialog h3{font-size:var(--ui-font-size-lg);border-top:1px solid var(--ui-color-border);padding-top:16px}.overtime-dialog dl{display:grid;grid-template-columns:1fr 1fr;gap:12px}.overtime-dialog dd{margin:4px 0;overflow-wrap:anywhere}.overtime-dialog dt{color:var(--ui-color-muted)}@media(max-width:900px){.overtime-filters{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.overtime-filters,.overtime-dialog dl{grid-template-columns:1fr}.overtime-dialog{padding:16px}.overtime-buttons button{min-height:44px}}.approval-form-template-page.approval-form-template-page{font-family:var(--ui-font-sans);font-size:var(--ui-font-size-sm)}.approval-form-template-page .form-builder-dialog,.approval-form-template-page .business-module-manager{font-family:var(--ui-font-sans);font-size:var(--ui-font-size-sm);line-height:var(--ui-line-height-normal)}.approval-form-template-page .ui-page-heading h1{font-size:var(--ui-font-size-xl)}.approval-form-template-page .form-builder-dialog>header h2,.approval-form-template-page .business-module-manager h2{font-size:var(--ui-font-size-lg)}.approval-form-template-page .form-builder-dialog h3,.approval-form-template-page .form-builder-dialog h4,.approval-form-template-page .business-module-manager h3{font-size:var(--ui-font-size-md)}.approval-form-template-page .form-builder-dialog :is(input,select,textarea,button),.approval-form-template-page .business-module-manager :is(input,select,textarea,button){font-family:inherit;font-size:var(--ui-font-size-sm)}.approval-form-template-page .form-builder-dialog :is(p,small,.eyebrow,.form-builder-save-note){font-size:var(--ui-font-size-xs)}.approval-form-template-page .form-builder-dialog>header{padding:12px 16px}.approval-form-template-page .form-builder-dialog>footer{padding:10px 16px}.approval-form-template-page .form-builder-content{display:flex;flex-direction:column;flex:1;min-height:0}.approval-form-template-page .form-builder-template-settings{gap:10px 14px;padding:12px 16px}.approval-form-template-page .form-builder-module-picker{display:grid;gap:5px;min-width:0}.approval-form-template-page .form-builder-dialog :is(input:not([type=checkbox]):not([type=radio]),select,textarea){box-sizing:border-box;width:100%;min-width:0;min-height:34px;border:1px solid var(--ui-color-border-strong);border-radius:var(--ui-radius-control);background:var(--ui-color-surface);color:var(--ui-color-text);padding:6px 9px}.approval-form-template-page .form-builder-dialog input:disabled{background:var(--ui-color-surface-soft);color:var(--ui-color-muted)}.approval-form-template-page .form-builder-dialog input:is([type=checkbox],[type=radio]){width:16px;height:16px;min-height:0;padding:0;flex-shrink:0}.approval-form-template-page .form-builder-shell{grid-template-columns:220px minmax(0,1fr) 285px}.approval-form-template-page .form-builder-palette,.approval-form-template-page .form-builder-inspector{padding:12px;min-width:0}.approval-form-template-page .form-builder-canvas{min-width:0;padding:14px}.approval-form-template-page .form-builder-canvas>section{padding:12px}.approval-form-template-page .form-builder-palette button{min-height:38px;padding:6px;gap:5px}.approval-form-template-page .form-builder-palette button span{flex-basis:20px;width:20px;height:20px}.approval-form-template-page .form-builder-palette button strong{min-width:0;word-break:normal}.approval-form-template-page .form-builder-dialog>header,.approval-form-template-page .form-builder-template-settings{flex-shrink:0}.approval-form-template-page .business-module-toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.approval-form-template-page .business-module-manager{width:min(720px,calc(100vw - 24px));max-height:calc(100dvh - 32px);overflow:auto;padding:20px;display:grid;gap:14px}.approval-form-template-page .business-module-manager header{display:flex;justify-content:space-between;align-items:start;gap:12px}.approval-form-template-page .business-module-manager h2{margin:0}.approval-form-template-page .business-module-manager p{color:var(--ui-color-muted);margin:6px 0}.approval-form-template-page .business-module-editor{display:grid;gap:10px}.approval-form-template-page .business-module-manager .ui-table-wrap{max-height:36dvh;overflow:auto}.approval-form-template-page .business-module-editor label{display:grid;gap:5px}@media(max-width:1100px){.approval-form-template-page .form-builder-shell{grid-template-columns:150px minmax(0,1fr) 245px}}@media(max-width:900px){.approval-form-template-page .form-builder-content{overflow:auto}.approval-form-template-page .form-builder-shell{display:grid;grid-template-columns:140px minmax(0,1fr);overflow:visible;flex:none}.approval-form-template-page .form-builder-inspector{grid-column:1/-1;overflow:visible;border-top:1px solid var(--ui-color-border)}.approval-form-template-page .form-builder-dialog>footer{position:sticky;bottom:0;flex-shrink:0;z-index:2}}@media(max-width:620px){.approval-form-template-page .form-builder-shell{grid-template-columns:minmax(0,1fr)}.approval-form-template-page .form-builder-palette>div{grid-template-columns:repeat(3,minmax(0,1fr))}.approval-form-template-page .form-builder-dialog>header{padding:10px 12px}.approval-form-template-page .form-builder-dialog button{min-height:44px}}.visible-scope-picker{display:grid;gap:10px;padding:13px 15px;border:1px solid var(--ui-color-border);border-radius:var(--ui-radius-md);background:var(--ui-color-surface)}.visible-scope-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.visible-scope-head>div{display:flex;align-items:baseline;gap:10px}.visible-scope-title{font-size:14px;font-weight:700}.visible-scope-head small{color:var(--ui-color-muted);font-size:12px}.visible-scope-tags{display:flex;flex-wrap:wrap;gap:8px;align-items:center;min-height:32px}.visible-scope-tag{display:inline-flex;align-items:center;gap:6px;padding:5px 11px 5px 6px;border:1px solid var(--ui-color-border);border-radius:7px;background:var(--ui-color-surface-soft);font-size:13px}.visible-scope-tag i{display:inline-flex;width:19px;height:19px;align-items:center;justify-content:center;border-radius:5px;font-size:10px;font-style:normal;font-weight:700}.visible-scope-tag.org i{background:#e0eafd;color:#2f6bd6}.visible-scope-tag.position i{background:#fdf3d8;color:#b8860b}.visible-scope-tag.employee i{background:#d8f2f0;color:#1f857e}.visible-scope-tag.all{border-color:transparent;background:var(--ui-color-brand-subtle);color:var(--ui-color-primary-strong);font-weight:600}.visible-scope-tag.emptype{background:#f0ecfb;color:#6a4fc4}.visible-scope-empty{color:var(--ui-color-muted);font-size:12px}.visible-scope-edit-backdrop{position:fixed;inset:0;z-index:80;display:flex;align-items:center;justify-content:center;padding:20px;background:#0f231c52}.visible-scope-edit-dialog{display:flex;width:min(720px,94vw);max-height:88vh;flex-direction:column;overflow:hidden;border-radius:var(--ui-radius-md);background:var(--ui-color-surface);box-shadow:var(--ui-shadow-overlay)}.visible-scope-edit-dialog>header{display:flex;align-items:center;justify-content:space-between;padding:15px 20px;border-bottom:1px solid var(--ui-color-border)}.visible-scope-edit-dialog>header h3{margin:0;font-size:16px}.visible-scope-edit-body{display:grid;gap:16px;overflow-y:auto;padding:18px 20px}.visible-scope-edit-dialog>footer{display:flex;justify-content:flex-end;padding:13px 20px;border-top:1px solid var(--ui-color-border)}.approval-form-template-page .ui-table th:first-child,.approval-form-template-page .ui-table td:first-child{position:sticky;left:0;z-index:2;background:var(--ui-color-surface);box-shadow:2px 0 0 -1px var(--ui-color-border)}.approval-form-template-page .ui-table thead th:first-child{z-index:3;background:var(--ui-color-surface-soft)}.approval-form-template-page .ui-table tbody tr:hover td:first-child{background:var(--ui-color-surface)}.tool-page{display:grid;gap:var(--ui-space-5,20px);font-size:var(--ui-font-size-body,14px)}.tool-heading h1{margin:.25rem 0;font-size:var(--ui-font-size-page-title,28px)}.tool-heading p{margin:0;color:var(--ui-color-text-muted,#667c74)}.tool-tabs{display:flex;gap:8px;flex-wrap:wrap;border-bottom:1px solid var(--ui-color-border,#d7e3de)}.tool-tabs button{border:0;background:transparent;padding:10px 14px;color:#315c4f}.tool-tabs button.active{font-weight:700;color:#006d4e;border-bottom:3px solid #087b58}.tool-panel,.tool-empty,.tool-summary{background:#fff;border:1px solid var(--ui-color-border,#d7e3de);border-radius:12px;padding:18px}.tool-panel h2,.tool-card-section h2{font-size:var(--ui-font-size-section-title,18px);margin:0 0 14px}.tool-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.tool-form label{display:grid;gap:7px}.tool-form input,.tool-form textarea,.tool-filter input,.tool-filter select,.tool-pagination select{min-height:40px;border:1px solid #bfd2ca;border-radius:8px;padding:8px 10px;font:inherit}.tool-form textarea{min-height:90px;resize:vertical}.tool-form .wide{grid-column:1/-1}.tool-form small,table small{display:block;color:#70857d}.tool-actions{display:flex;justify-content:flex-end}.tool-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px}.tool-card{border:1px solid #d7e3de;border-radius:10px;padding:14px;background:#fff}.tool-card>div{display:flex;justify-content:space-between;gap:12px}.tool-card p{margin:8px 0;color:#49665d}.tool-card button,.tool-row-actions button,table button,.tool-pagination button{border:1px solid #8eb8a9;background:#fff;color:#076e50;border-radius:7px;padding:7px 11px}.tool-status{display:inline-block;padding:3px 8px;border-radius:99px;background:#eef5f2;color:#315c4f;white-space:nowrap}.tool-status.in_use{background:#e2f5eb;color:#08754f}.tool-status.returned{background:#eef1f0;color:#56645f}.tool-status.handed_over{background:#fff2d9;color:#8b5e08}.tool-history summary{cursor:pointer;font-weight:700}.tool-filter,.tool-pagination{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.tool-filter{margin-bottom:14px}.tool-filter input{min-width:min(360px,100%)}.tool-table-wrap{overflow:auto}.tool-table-wrap table{width:100%;border-collapse:collapse;min-width:900px}.tool-table-wrap th,.tool-table-wrap td{text-align:left;padding:10px;border-bottom:1px solid #e0e8e4;vertical-align:top}.tool-table-wrap th{background:#f3f7f5;color:#315c4f}.tool-row-actions{display:flex;gap:6px}.tool-pagination{justify-content:flex-end;margin-top:14px}.tool-error{border:1px solid #e6a59e;background:#fff1ef;color:#9a372d;padding:12px;border-radius:8px}.tool-card em{font-style:normal;font-size:12px;background:#fff1ce;color:#805d0b;padding:2px 5px;border-radius:4px;margin-left:6px}@media(max-width:620px){.tool-form{grid-template-columns:1fr}.tool-page{font-size:var(--ui-font-size-body,14px)}.tool-heading h1{font-size:var(--ui-font-size-page-title,24px)}.tool-filter>*{width:100%}.tool-pagination{justify-content:flex-start}}:root{--ui-font-sans: Inter, "PingFang SC", "Microsoft YaHei", sans-serif;--ui-font-size-xs: clamp(11px, calc(10.6px + .08vw) , 12px);--ui-font-size-sm: clamp(12px, calc(11.4px + .1vw) , 13px);--ui-font-size-md: clamp(13px, calc(12.2px + .14vw) , 15px);--ui-font-size-lg: clamp(16px, calc(14.8px + .2vw) , 18px);--ui-font-size-xl: clamp(18px, calc(16px + .3vw) , 22px);--ui-font-size-2xl: clamp(24px, calc(20px + .55vw) , 30px);--ui-font-weight-normal: 400;--ui-font-weight-medium: 500;--ui-font-weight-semibold: 600;--ui-font-weight-bold: 700;--ui-line-height-tight: 1.25;--ui-line-height-normal: 1.5;--ui-line-height-relaxed: 1.7;--ui-color-page: #f5f7f4;--ui-color-primary: #0f6b4f;--ui-color-primary-strong: #0a4937;--ui-color-text: #18312a;--ui-color-muted: #72827b;--ui-color-surface: #ffffff;--ui-color-surface-soft: #f3f7f4;--ui-color-border: #dce6df;--ui-color-border-strong: #cbdad1;--ui-color-surface-muted: #f8fbf9;--ui-color-text-primary: #18312a;--ui-color-text-secondary: #63736c;--ui-color-text-muted: #72827b;--ui-color-brand: #0f6b4f;--ui-color-brand-hover: #0a4937;--ui-color-brand-subtle: #e9f6ef;--ui-color-success: #27784f;--ui-color-warning: #a96831;--ui-color-danger: #b34f32;--ui-space-1: 4px;--ui-space-2: 8px;--ui-space-3: 12px;--ui-space-4: 16px;--ui-space-5: 20px;--ui-space-6: 24px;--ui-space-7: 32px;--ui-space-8: 48px;--ui-radius-control: 6px;--ui-radius-sm: 6px;--ui-radius-md: 8px;--ui-radius-lg: 14px;--ui-radius-xl: 16px;--ui-radius-card: 14px;--ui-radius-panel: 16px;--ui-shadow-overlay: 0 18px 55px rgba(20, 46, 36, .22)}.historical-date-picker{position:relative;min-width:0}.historical-date-control{position:relative;display:flex;align-items:center}.historical-date-control>input{width:100%;min-width:0;padding-right:58px}.historical-date-calendar-button,.historical-date-clear-button{position:absolute;top:50%;transform:translateY(-50%);border:0;background:transparent;color:var(--ui-color-muted);cursor:pointer;line-height:1;padding:4px}.historical-date-calendar-button{right:28px}.historical-date-clear-button{right:6px;font-size:17px}.historical-date-calendar-button:disabled,.historical-date-clear-button:disabled{cursor:not-allowed;opacity:.45}.historical-date-error{display:block;margin-top:4px;color:var(--ui-color-danger);font-size:12px}.historical-date-popover{position:absolute;z-index:20;top:calc(100% + 6px);left:0;width:286px;padding:12px;border:1px solid var(--ui-color-border);border-radius:12px;background:var(--ui-color-surface);box-shadow:var(--ui-shadow-overlay)}.historical-date-header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px}.historical-date-header>button{width:28px;height:28px;border:1px solid var(--ui-color-border);border-radius:6px;background:var(--ui-color-surface-soft);color:var(--ui-color-text);cursor:pointer;font-size:19px}.historical-date-title{display:flex;gap:4px}.historical-date-title button{border:0;border-radius:6px;background:transparent;color:var(--ui-color-text);cursor:pointer;font-weight:700;padding:5px 7px}.historical-date-title button:hover,.historical-date-header>button:hover{background:var(--ui-color-surface-soft)}.historical-date-weekdays,.historical-date-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:3px;text-align:center}.historical-date-weekdays{color:var(--ui-color-muted);font-size:12px;margin-bottom:5px}.historical-date-grid button,.historical-date-years button,.historical-date-months button{min-height:32px;border:1px solid transparent;border-radius:6px;background:transparent;color:var(--ui-color-text);cursor:pointer}.historical-date-grid button:hover,.historical-date-years button:hover,.historical-date-months button:hover{border-color:var(--ui-color-primary);background:var(--ui-color-surface-soft)}.historical-date-grid button.muted{color:#a8b2ad}.historical-date-grid button.selected,.historical-date-years button.active,.historical-date-months button.active{border-color:var(--ui-color-primary);background:var(--ui-color-primary);color:#fff;font-weight:700}.historical-date-grid button:disabled{cursor:not-allowed;opacity:.35}.historical-date-years,.historical-date-months{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;max-height:240px;overflow-y:auto}.historical-date-years{display:flex;flex-direction:column}.historical-date-years label{color:var(--ui-color-muted);font-size:12px}.historical-date-year-select{width:100%;min-height:150px;border:1px solid var(--ui-color-border);border-radius:8px;background:var(--ui-color-surface);color:var(--ui-color-text);padding:4px;font:inherit}.historical-date-year-select option{padding:5px 8px}.ui-page{display:grid;gap:var(--ui-space-3);color:var(--ui-color-text);font-family:var(--ui-font-sans)}.ui-page-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--ui-space-6)}.ui-page-heading h1,.ui-page-heading h2{margin:6px 0 4px;color:var(--ui-color-text);font-size:var(--ui-font-size-2xl);line-height:1.25;letter-spacing:-.03em}.ui-page-heading p{margin:0;color:var(--ui-color-muted);font-size:var(--ui-font-size-md);line-height:1.7}.ui-actions,.ui-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:var(--ui-space-2)}.ui-toolbar{align-items:end;gap:var(--ui-space-3)}.ui-panel{border:1px solid var(--ui-color-border);border-radius:var(--ui-radius-panel);background:var(--ui-color-surface);padding:var(--ui-space-6)}.ui-panel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--ui-space-4);margin-bottom:var(--ui-space-4)}.ui-panel-heading h3{margin:0;color:var(--ui-color-text);font-size:18px;letter-spacing:-.03em}.ui-panel-heading small{color:var(--ui-color-muted);font-size:12px}.ui-kpi-strip{display:flex;flex-wrap:wrap;overflow:hidden;border:1px solid var(--ui-color-border);border-radius:var(--ui-radius-control);background:var(--ui-color-surface)}.ui-kpi{display:flex;align-items:baseline;gap:7px;min-height:48px;padding:var(--ui-space-3) var(--ui-space-4);border-right:1px solid var(--ui-color-border);color:var(--ui-color-muted);font-size:12px}.ui-kpi:last-child{border-right:0}.ui-kpi strong{color:var(--ui-color-primary);font-size:16px}.ui-button{min-height:36px;border:1px solid transparent;border-radius:var(--ui-radius-control);padding:0 14px;font:inherit;font-size:12px;cursor:pointer}.ui-button-primary{background:var(--ui-color-primary);color:#fff;font-weight:700}.ui-button-secondary{border-color:var(--ui-color-border);background:#e9efeb;color:var(--ui-color-primary-strong)}.ui-button-text{min-height:auto;padding:4px 6px;background:transparent;color:var(--ui-color-primary)}.ui-button:focus-visible,.ui-page input:focus-visible,.ui-page select:focus-visible,.ui-page textarea:focus-visible{outline:3px solid rgba(15,107,79,.24);outline-offset:2px}.ui-field{display:grid;gap:var(--ui-space-1);color:var(--ui-color-muted);font-size:12px}.ui-field input,.ui-field select,.ui-field textarea{min-height:36px;border:1px solid var(--ui-color-border);border-radius:var(--ui-radius-control);padding:0 9px;background:var(--ui-color-surface);color:var(--ui-color-text);font:inherit}.ui-table-wrap{overflow:auto;border:1px solid var(--ui-color-border);border-radius:var(--ui-radius-control)}.ui-table{width:100%;border-collapse:separate;border-spacing:0;color:var(--ui-color-text);font-size:12px}.ui-table th,.ui-table td{min-height:42px;padding:10px 12px;border-bottom:1px solid #e6eee9;text-align:left;white-space:nowrap}.ui-table th{background:var(--ui-color-surface-soft);color:#315244;font-weight:700}.ui-table tbody tr:hover td{background:#fbfdfb}.ui-badge{display:inline-flex;align-items:center;border-radius:999px;padding:5px 8px;font-size:10px}.ui-badge-success{background:#e8f4ed;color:var(--ui-color-success)}.ui-badge-warning{background:#fff9ed;color:var(--ui-color-warning)}.ui-badge-danger{background:#fff5ec;color:var(--ui-color-danger)}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:start}.form-grid>label,.checkbox-line{display:grid;gap:6px;color:var(--ui-color-muted);font-size:12px}.form-grid input,.form-grid select,.form-grid textarea{min-height:36px;border:1px solid var(--ui-color-border);border-radius:var(--ui-radius-control);padding:0 10px;background:var(--ui-color-surface);color:var(--ui-color-text);font:inherit}.checkbox-line{display:flex;align-items:center;margin:12px 0}@media(max-width:760px){.form-grid{grid-template-columns:1fr}}.app-toast-region{position:fixed;z-index:1000;top:18px;right:18px;display:grid;width:min(400px,calc(100vw - 28px));gap:10px;pointer-events:none}.app-toast{display:grid;grid-template-columns:28px minmax(0,1fr) 24px;align-items:start;gap:10px;padding:13px 14px;border:1px solid var(--ui-color-border);border-radius:10px;background:var(--ui-color-surface);box-shadow:var(--ui-shadow-overlay);color:var(--ui-color-ink);pointer-events:auto}.app-toast-icon{display:inline-flex;width:26px;height:26px;align-items:center;justify-content:center;border-radius:999px;background:var(--ui-color-surface-soft);font-weight:800}.app-toast strong{display:block;margin-bottom:3px;font-size:13px}.app-toast p{margin:0;color:var(--ui-color-muted);font-size:12px;line-height:1.55}.app-toast button{border:0;padding:0;background:transparent;color:var(--ui-color-muted);cursor:pointer;font-size:18px;line-height:1}.app-toast-success{border-color:#b9dfca}.app-toast-success .app-toast-icon{background:#e6f6ed;color:var(--ui-color-success)}.app-toast-warning{border-color:#efd29f}.app-toast-warning .app-toast-icon{background:#fff4df;color:#a96713}.app-toast-error{border-color:#e8b4b0}.app-toast-error .app-toast-icon{background:#fbe9e8;color:var(--ui-color-danger)}.app-toast-info{border-color:#b9d5cf}.app-toast-info .app-toast-icon{background:var(--ui-color-brand-subtle);color:var(--ui-color-brand-strong)}@media(max-width:560px){.app-toast-region{top:10px;right:10px}}@media(max-width:900px){.ui-page-heading{display:block}.ui-actions{margin-top:var(--ui-space-3)}}@media(max-width:620px){.ui-panel{padding:18px}.ui-page-heading h1,.ui-page-heading h2{font-size:23px}.ui-kpi{flex:1 1 45%}}.wecom-page{color:var(--ui-color-text);font-family:var(--ui-font-sans)}.wecom-page .wecom-page-intro{margin-bottom:var(--ui-space-4)}.wecom-page .wecom-page-intro h2{margin:6px 0;color:var(--ui-color-text);font-size:28px;font-weight:700;letter-spacing:-.03em}.wecom-page>.notice{border:1px solid #cde5d8;border-radius:var(--ui-radius-panel);background:#edf8f1;color:var(--ui-color-text);padding:14px 18px}.wecom-page>.notice+.notice{margin-top:10px}.wecom-page>.notice p{margin:5px 0 0;color:var(--ui-color-muted);font-size:12px;line-height:1.7}.wecom-page>.panel{border:1px solid var(--ui-color-border);border-radius:var(--ui-radius-panel);background:var(--ui-color-surface);padding:var(--ui-space-6)}.wecom-page .panel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--ui-space-5);margin-bottom:var(--ui-space-4)}.wecom-page .panel-heading h3{margin:0 0 5px;color:var(--ui-color-text);font-size:18px;font-weight:700;letter-spacing:-.03em}.wecom-page .panel-heading p{max-width:760px;margin:0;color:var(--ui-color-muted);font-size:12px;line-height:1.7}.wecom-page .personnel-actions{display:flex;align-items:center;flex-wrap:wrap;justify-content:flex-end;gap:var(--ui-space-2)}.wecom-page .personnel-secondary,.wecom-page .personnel-primary{min-height:34px;border-radius:var(--ui-radius-control);padding:0 12px;font-family:var(--ui-font-sans);font-size:12px;font-weight:600;cursor:pointer}.wecom-page .personnel-secondary{border:1px solid var(--ui-color-border);background:var(--ui-color-surface);color:var(--ui-color-primary-strong)}.wecom-page .personnel-primary{border:1px solid var(--ui-color-primary);background:var(--ui-color-primary);color:#fff}.wecom-page .personnel-secondary:hover:not(:disabled),.wecom-page .personnel-primary:hover:not(:disabled){filter:brightness(.97)}.wecom-page .personnel-secondary:disabled,.wecom-page .personnel-primary:disabled{cursor:not-allowed;opacity:.5}.wecom-page .info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1px;overflow:hidden;margin-top:var(--ui-space-5);border:1px solid var(--ui-color-border);border-radius:var(--ui-radius-control);background:var(--ui-color-border)}.wecom-page .info-grid>div{min-height:58px;padding:10px 12px;background:var(--ui-color-surface-soft)}.wecom-page .info-grid span,.wecom-page .info-grid strong{display:block}.wecom-page .info-grid span{margin-bottom:4px;color:var(--ui-color-muted);font-size:11px}.wecom-page .info-grid strong{overflow-wrap:anywhere;color:var(--ui-color-text);font-size:13px;font-weight:700}.wecom-page .tabs{display:flex;align-items:center;gap:22px;margin:calc(var(--ui-space-2) * -1) 0 var(--ui-space-5);border-bottom:1px solid var(--ui-color-border)}.wecom-page .tab{position:relative;min-height:42px;border:0;border-radius:0;padding:0 2px;background:transparent;color:var(--ui-color-muted);font-family:var(--ui-font-sans);font-size:13px;font-weight:600;cursor:pointer}.wecom-page .tab:hover,.wecom-page .tab.active{color:var(--ui-color-primary)}.wecom-page .tab.active:after{position:absolute;right:0;bottom:-1px;left:0;height:3px;border-radius:3px 3px 0 0;background:var(--ui-color-primary);content:""}.wecom-page .table-wrap{overflow-x:auto;border:1px solid var(--ui-color-border);border-radius:var(--ui-radius-control)}.wecom-page .data-table{width:100%;min-width:920px;border-collapse:separate;border-spacing:0;color:var(--ui-color-text);font-family:var(--ui-font-sans);font-size:12px}.wecom-page .data-table th,.wecom-page .data-table td{min-height:46px;padding:10px 12px;border-bottom:1px solid #e6eee9;text-align:left;vertical-align:middle}.wecom-page .data-table th{background:var(--ui-color-surface-soft);color:#315244;font-size:12px;font-weight:700;white-space:nowrap}.wecom-page .data-table tbody tr:last-child td{border-bottom:0}.wecom-page .data-table tbody tr:hover td{background:#fbfdfb}.wecom-page .data-table td:first-child strong{display:block;color:var(--ui-color-text);font-weight:700}.wecom-page .data-table td small{display:block;margin-top:3px;color:var(--ui-color-muted);font-size:11px}.wecom-page .data-table td:last-child{white-space:nowrap}.wecom-page .data-table td:last-child .personnel-secondary,.wecom-page .data-table td:last-child .personnel-primary{margin:2px 6px 2px 0}.wecom-page .data-table select{min-height:34px;min-width:190px;border:1px solid var(--ui-color-border);border-radius:var(--ui-radius-control);padding:0 9px;background:var(--ui-color-surface);color:var(--ui-color-text);font:inherit}.wecom-page .status-pill{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:5px 9px;background:#e8f4ed;color:var(--ui-color-success);font-size:11px;font-weight:600}.wecom-page .status-pill i{width:6px;height:6px;border-radius:50%;background:currentColor}.wecom-page .empty-state{padding:34px 20px;color:var(--ui-color-muted);font-size:12px;line-height:1.7;text-align:center}@media(max-width:900px){.wecom-page .panel-heading{display:block}.wecom-page .personnel-actions{justify-content:flex-start;margin-top:var(--ui-space-3)}}@media(max-width:620px){.wecom-page>.panel{padding:18px}.wecom-page .tabs{gap:16px;overflow-x:auto}}.wecom-org-picker{position:relative;width:100%}.wecom-org-input-wrap{position:relative}.wecom-org-picker input[role=combobox]{width:100%;min-height:38px;box-sizing:border-box;padding:0 34px 0 11px;border:1px solid var(--ui-color-border);border-radius:var(--ui-radius-control);background:var(--ui-color-surface);color:var(--ui-color-text);font:inherit;font-size:13px}.wecom-org-picker input[role=combobox]:focus{outline:2px solid rgba(11,153,100,.16);border-color:var(--ui-color-primary)}.wecom-org-clear{position:absolute;top:50%;right:8px;width:22px;height:22px;transform:translateY(-50%);border:0;border-radius:50%;background:transparent;color:var(--ui-color-muted);cursor:pointer;font:inherit;line-height:1}.wecom-org-clear:hover{background:var(--ui-color-surface-soft);color:var(--ui-color-text)}.wecom-org-options{position:absolute;z-index:90;top:calc(100% + 5px);left:0;right:0;max-height:235px;overflow-y:auto;padding:5px;border:1px solid var(--ui-color-border);border-radius:var(--ui-radius-control);background:var(--ui-color-surface);box-shadow:0 12px 28px #14362729}.wecom-org-options button{display:flex;align-items:center;justify-content:space-between;width:100%;gap:12px;padding:9px 10px;border:0;border-radius:6px;background:transparent;color:var(--ui-color-text);cursor:pointer;font:inherit;font-size:12px;text-align:left}.wecom-org-options button:hover,.wecom-org-options button[aria-selected=true]{background:var(--ui-color-surface-soft);color:var(--ui-color-primary-strong)}.wecom-org-options button small{flex:0 0 auto;color:var(--ui-color-muted);font-size:11px}.wecom-org-empty{padding:14px 10px;color:var(--ui-color-muted);font-size:12px;text-align:center}.leave-management-page{max-width:100%}.leave-management-page .ui-page-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.leave-management-page .ui-page-actions input[type=file]{display:none}.leave-notice{position:relative}.leave-notice-close{position:absolute;right:10px;top:7px;border:0;background:transparent;color:inherit;cursor:pointer;font-size:16px}.leave-tabs{display:flex;align-items:center;gap:22px;border-bottom:1px solid var(--ui-color-border)}.leave-tabs a{padding:9px 2px;border-bottom:2px solid transparent;color:var(--ui-color-muted);font-size:13px;text-decoration:none}.leave-tabs a.active{border-bottom-color:var(--ui-color-primary);color:var(--ui-color-primary);font-weight:700}.leave-filter-panel{padding:14px 16px}.leave-filter-panel .ui-input,.leave-filter-panel .ui-select{min-width:150px;min-height:36px}.leave-selection-actions{display:flex;align-items:center;gap:12px;color:var(--ui-color-muted);font-size:12px}.ui-table-panel{padding:16px}.ui-table-panel .ui-panel-heading h2,.leave-adjustment-panel .ui-panel-heading h2{margin:0;font-size:18px}.ui-table-panel .ui-panel-heading p,.leave-adjustment-panel .ui-panel-heading p{margin:4px 0 0;color:var(--ui-color-muted);font-size:12px}.ui-table td small,.leave-person-link small{display:block;margin-top:2px;color:var(--ui-color-muted);font-size:11px}.leave-person-link{display:inline-flex;flex-direction:column;align-items:flex-start;border:0;padding:0;background:transparent;color:var(--ui-color-primary);cursor:pointer;font:inherit;text-align:left}.leave-person-link:hover,.ui-link-button:hover{text-decoration:underline}.ui-link-button{border:0;padding:0;background:transparent;color:var(--ui-color-primary);cursor:pointer;font:inherit}.leave-amount{color:var(--ui-color-primary);font-weight:600}.leave-positive{color:var(--ui-color-success)}.leave-negative{color:var(--ui-color-danger)}.ui-status{display:inline-flex;align-items:center;min-height:24px;padding:0 8px;border-radius:999px;background:var(--ui-color-surface-soft);color:var(--ui-color-muted);font-size:11px}.ui-status-success{background:var(--ui-color-brand-subtle);color:var(--ui-color-success)}.ui-empty{padding:28px 12px;color:var(--ui-color-muted);text-align:center}.ui-pagination{display:flex;align-items:center;justify-content:flex-end;gap:8px;padding-top:12px;color:var(--ui-color-muted);font-size:12px}.ui-select-small{min-height:32px!important;padding:0 8px}.leave-adjustment-panel{display:grid;gap:18px}.leave-adjustment-panel .ui-form-grid{display:grid;grid-template-columns:repeat(3,minmax(180px,1fr));gap:14px}.leave-adjustment-panel .ui-field-wide{grid-column:1 / -1}.leave-adjustment-panel .ui-textarea{min-height:78px;padding:8px 9px;resize:vertical}.leave-drawer-backdrop{position:fixed;z-index:100;inset:0;display:flex;justify-content:flex-end;background:#18312a42}.leave-drawer{width:min(720px,92vw);height:100%;overflow:auto;padding:28px;background:var(--ui-color-page);box-shadow:var(--ui-shadow-overlay)}.leave-drawer-close{border:0;background:transparent;color:var(--ui-color-muted);cursor:pointer;font-size:22px}.approval-center-page{display:grid;gap:16px}.approval-center-tabs{display:flex;align-items:center;gap:4px;border-bottom:1px solid var(--ui-color-border)}.approval-center-tabs button{border:0;border-bottom:2px solid transparent;padding:10px 16px;background:transparent;color:var(--ui-color-muted);cursor:pointer;font:inherit}.approval-center-tabs button.active{border-bottom-color:var(--ui-color-brand);color:var(--ui-color-brand-strong);font-weight:700}.approval-center-tabs button span{display:inline-flex;min-width:18px;height:18px;align-items:center;justify-content:center;margin-left:6px;border-radius:999px;background:var(--ui-color-brand-subtle);color:var(--ui-color-brand-strong);font-size:11px}.approval-center-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.approval-center-summary>div{display:grid;gap:6px;min-height:86px;padding:16px;border:1px solid var(--ui-color-border);border-radius:10px;background:var(--ui-color-surface)}.approval-center-summary span,.approval-center-summary small{color:var(--ui-color-muted);font-size:12px}.approval-center-summary strong{color:var(--ui-color-ink);font-size:26px;line-height:1}.approval-center-summary strong.amber{color:#b7791f}.approval-center-summary strong.red{color:#c2413b}.approval-center-summary strong.green{color:var(--ui-color-success)}.approval-center-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:14px}.approval-search{display:flex;flex:1 1 320px;gap:8px}.approval-master-filter{flex:0 1 220px;min-width:190px}.approval-center-toolbar input,.approval-center-toolbar select{min-height:36px;border:1px solid var(--ui-color-border-strong);border-radius:7px;background:var(--ui-color-surface);color:var(--ui-color-ink);padding:0 10px;font:inherit}.approval-search input{width:100%}.approval-center-table-panel{overflow:hidden}.approval-center-table th,.approval-center-table td{vertical-align:top}.approval-center-table td strong,.approval-center-table td small,.approval-center-table td>span+small{display:block}.approval-center-table td small{margin-top:4px;color:var(--ui-color-muted);font-size:11px}.approval-type-chip,.approval-status,.approval-sla{display:inline-flex;align-items:center;min-height:24px;padding:0 8px;border-radius:999px;font-size:12px;white-space:nowrap}.approval-type-chip{background:var(--ui-color-brand-subtle);color:var(--ui-color-brand-strong)}.approval-engine-chip{display:inline-flex;align-items:center;min-height:24px;padding:0 8px;border:1px solid var(--ui-color-border);border-radius:999px;background:var(--ui-color-surface-muted);color:var(--ui-color-muted);font-size:12px;white-space:nowrap}.approval-engine-chip.wecom{border-color:#b7dec8;background:#e8f7ef;color:#15734a}.approval-engine-chip.huashilian{border-color:#bfd4cf;background:var(--ui-color-brand-subtle);color:var(--ui-color-brand-strong)}.approval-status.pending{background:#fff4df;color:#a96713}.approval-status.approved,.approval-status.active,.approval-status.completed{background:#e6f6ed;color:#19764d}.approval-status.rejected,.approval-status.cancelled{background:#fbe9e8;color:#b7443f}.approval-sla.normal{color:var(--ui-color-success)}.approval-sla.due_soon{color:#b7791f}.approval-sla.overdue{color:#c2413b;font-weight:700}.approval-summary-cell{max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.approval-row-actions{display:flex;flex-wrap:wrap;gap:6px;min-width:150px}.approval-row-actions .ui-button{min-height:28px;padding:0 8px;font-size:12px}.ui-button-danger{border-color:#e5aaa5!important;color:#b7443f!important}.approval-pagination{display:flex;align-items:center;justify-content:flex-end;gap:10px;padding:14px 16px;color:var(--ui-color-muted);font-size:12px}.table-loading{padding:18px;color:var(--ui-color-muted);text-align:center}.approval-center-note{margin:0;color:var(--ui-color-muted);font-size:12px}.approval-detail-summary{display:grid;gap:6px;margin:0 0 16px;padding:14px 16px;border:1px solid var(--ui-color-border);border-radius:9px;background:var(--ui-color-brand-subtle)}.approval-detail-summary span{color:var(--ui-color-muted);font-size:12px}.approval-detail-summary strong{color:var(--ui-color-ink);line-height:1.6}.approval-flow-current{margin:0 0 12px;color:var(--ui-color-muted)}.request-row.is-source-target{outline:2px solid var(--ui-color-brand);outline-offset:-2px;background:var(--ui-color-brand-subtle)}.approval-detail-backdrop{position:fixed;z-index:120;inset:0;display:flex;justify-content:flex-end;background:#18312a42}.approval-detail-drawer{display:flex;width:min(680px,94vw);height:100%;flex-direction:column;overflow:auto;background:var(--ui-color-page);box-shadow:var(--ui-shadow-overlay)}.drawer-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:24px 28px 18px;border-bottom:1px solid var(--ui-color-border);background:var(--ui-color-surface)}.drawer-heading h3{margin:6px 0 0;color:var(--ui-color-ink);font-size:20px}.drawer-close{border:0;background:transparent;color:var(--ui-color-muted);cursor:pointer;font-size:24px}.approval-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:20px 28px}.approval-detail-grid div{display:grid;gap:5px}.approval-detail-grid label,.approval-detail-section h4{color:var(--ui-color-muted);font-size:12px}.approval-detail-section{margin:0 28px 18px;padding:16px;border:1px solid var(--ui-color-border);border-radius:10px;background:var(--ui-color-surface)}.approval-external-note{display:grid;gap:5px;margin:0 28px 18px;padding:14px 16px;border:1px solid #b7dec8;border-radius:10px;background:#eef9f3;color:#185d42}.approval-external-note span{color:var(--ui-color-muted);font-size:12px}.approval-detail-section h4{margin:0 0 12px}.approval-detail-section dl{display:grid;gap:9px;margin:0}.approval-detail-section dl div{display:grid;grid-template-columns:130px 1fr;gap:10px}.approval-detail-section dt{color:var(--ui-color-muted);font-size:12px}.approval-detail-section dd{margin:0;overflow-wrap:anywhere;font-size:13px}.approval-transfer-panel{display:grid;gap:10px}.approval-transfer-panel textarea{min-height:72px;resize:vertical;border:1px solid var(--ui-color-border-strong);border-radius:7px;padding:9px 10px;color:var(--ui-color-ink);background:var(--ui-color-surface);font:inherit}.approval-transfer-panel>.ui-button{justify-self:end}.approval-timeline{display:grid;gap:12px;margin:0;padding-left:20px}.approval-timeline li{display:grid;gap:4px}.approval-timeline span{color:var(--ui-color-muted);font-size:12px}.drawer-footer{display:flex;justify-content:flex-end;gap:8px;margin-top:auto;padding:16px 28px;border-top:1px solid var(--ui-color-border);background:var(--ui-color-surface)}.approval-flow-page{display:grid;gap:16px;color:var(--ui-color-text)}.approval-flow-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.approval-flow-heading h1{margin:4px 0 6px;font-size:var(--ui-font-size-2xl)}.approval-flow-heading p,.approval-flow-section-heading p{margin:0;color:var(--ui-color-muted)}.approval-integration-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.approval-integration-strip>div{display:grid;grid-template-columns:1fr auto;gap:6px 12px;padding:14px 16px;border:1px solid var(--ui-color-border);border-radius:var(--ui-radius-md);background:var(--ui-color-surface)}.approval-integration-strip span{font-weight:600}.approval-integration-strip strong{justify-self:end;font-size:12px}.approval-integration-strip strong.ready{color:var(--ui-color-success)}.approval-integration-strip strong.pending{color:var(--ui-color-warning)}.approval-integration-strip small{grid-column:1 / -1;color:var(--ui-color-muted)}.approval-flow-list-panel{overflow:hidden;padding:0}.approval-flow-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border-bottom:1px solid var(--ui-color-border)}.approval-flow-toolbar input{width:min(360px,100%)}.approval-flow-toolbar span{color:var(--ui-color-muted);font-size:12px}.approval-flow-table td{vertical-align:top}.approval-flow-table td>strong,.approval-flow-table td>small{display:block}.approval-flow-table td small{margin-top:4px;color:var(--ui-color-muted);font-size:11px}.approval-flow-actions{display:flex;flex-wrap:wrap;gap:6px;min-width:190px}.approval-flow-actions .ui-button{min-height:28px;padding:0 8px}.approval-validation{display:inline-flex;align-items:center;min-height:24px;padding:0 8px;border-radius:999px;background:var(--ui-color-surface-soft);color:var(--ui-color-muted);font-size:12px;white-space:nowrap}.approval-validation.valid{background:#e6f6ed;color:var(--ui-color-success)}.approval-validation.pending,.approval-validation.drifted{background:#fff4df;color:var(--ui-color-warning)}.approval-validation.invalid{background:#fbe9e8;color:var(--ui-color-danger)}.approval-flow-footnote{margin:0;color:var(--ui-color-muted);font-size:12px}.approval-flow-backdrop{position:fixed;z-index:140;inset:0;display:flex;align-items:center;justify-content:center;padding:24px;background:#18312a52}.approval-flow-dialog{display:flex;width:min(980px,96vw);max-height:calc(100vh - 48px);flex-direction:column;overflow:hidden;padding:0;box-shadow:var(--ui-shadow-overlay)}.approval-flow-dialog>header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:20px 24px 16px;border-bottom:1px solid var(--ui-color-border)}.approval-flow-dialog h2,.approval-publish-dialog h2{margin:5px 0 4px;font-size:22px}.approval-flow-dialog header p,.approval-publish-dialog p{margin:0;color:var(--ui-color-muted)}.approval-dialog-close{border:0;background:transparent;color:var(--ui-color-muted);cursor:pointer;font-size:24px}.approval-flow-dialog-body{display:grid;gap:20px;overflow-y:auto;padding:20px 24px}.approval-flow-dialog-body section{display:grid;gap:12px}.approval-flow-dialog-body h3,.approval-flow-section-heading h3{margin:0;font-size:16px}.approval-flow-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.approval-flow-form-grid label,.approval-step-row label,.approval-flow-reason,.approval-publish-dialog label{display:grid;align-content:start;gap:6px;color:var(--ui-color-text);font-size:12px}.approval-flow-form-grid input,.approval-flow-form-grid select,.approval-flow-form-grid textarea,.approval-step-row input,.approval-step-row select,.approval-flow-reason textarea,.approval-publish-dialog textarea{width:100%;min-height:36px;border:1px solid var(--ui-color-border-strong);border-radius:var(--ui-radius-control);background:var(--ui-color-surface);color:var(--ui-color-text);padding:7px 9px;font:inherit}.approval-flow-form-grid textarea,.approval-flow-reason textarea,.approval-publish-dialog textarea{min-height:70px;resize:vertical}.approval-flow-form-grid small,.approval-scope-picker small{color:var(--ui-color-muted);font-size:11px}.approval-flow-full{grid-column:1 / -1}.approval-scope-picker{display:grid;gap:9px}.approval-scope-tags{display:flex;flex-wrap:wrap;gap:6px}.approval-scope-tags span{display:inline-flex;align-items:center;gap:6px;padding:5px 8px 5px 10px;border:1px solid #b7dec8;border-radius:999px;background:var(--ui-color-brand-subtle)}.approval-scope-tags button{border:0;background:transparent;color:var(--ui-color-primary);cursor:pointer}.approval-inline-check{display:flex;align-items:center;gap:8px;width:fit-content}.approval-inline-check input{width:16px;height:16px;margin:0;accent-color:var(--ui-color-primary)}.approval-flow-section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.approval-flow-section-heading>span{color:var(--ui-color-muted);font-size:12px;white-space:nowrap}.approval-flow-section-heading>a{color:var(--ui-color-primary);font-size:12px;font-weight:600;text-decoration:none;white-space:nowrap}.approval-designer-dialog{width:100vw;max-width:100vw;height:100vh;max-height:100vh;border-radius:0}.approval-designer-dialog .approval-flow-dialog-body{display:flex;flex:1;min-height:0;flex-direction:column;gap:0;overflow:hidden;padding:0 24px}.approval-designer-dialog .approval-designer-flow-section{display:flex;flex:1;min-height:0;flex-direction:column}.approval-designer-dialog .approval-flow-section-heading{padding:6px 0 10px}.approval-editor-tabs{display:flex;gap:2px;padding:10px 0 0;border-bottom:1px solid var(--ui-color-border)}.approval-editor-tabs button{padding:7px 16px;border:none;border-bottom:2px solid transparent;background:none;color:var(--ui-color-muted);font:inherit;font-size:13px;font-weight:500;cursor:pointer}.approval-editor-tabs button:hover{color:var(--ui-color-text)}.approval-editor-tabs button.active{border-bottom-color:var(--ui-color-primary);color:var(--ui-color-primary-strong);font-weight:600}.approval-designer-basic{display:grid;flex:1;gap:18px;align-content:start;overflow-y:auto;padding:18px 2px}.approval-designer-basic section{display:grid;gap:12px}.approval-designer-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));padding:4px;border:1px solid var(--ui-color-border);border-radius:var(--ui-radius-md);background:var(--ui-color-surface-soft)}.approval-designer-tabs button{display:flex;align-items:center;justify-content:center;gap:8px;min-height:42px;border:0;border-radius:var(--ui-radius-control);background:transparent;color:var(--ui-color-muted);cursor:pointer;font-weight:600}.approval-designer-tabs button span{display:inline-flex;width:24px;height:24px;align-items:center;justify-content:center;border-radius:50%;background:var(--ui-color-surface);font-size:10px}.approval-designer-tabs button small{font-weight:400}.approval-designer-tabs button.active{background:var(--ui-color-surface);color:var(--ui-color-primary-strong);box-shadow:0 2px 8px #143f3214}.approval-designer-tabs button.active span{background:var(--ui-color-brand-subtle);color:var(--ui-color-primary)}.approval-business-form-reference{display:grid;grid-template-columns:minmax(220px,.8fr) minmax(360px,2fr) auto;align-items:center;gap:16px;padding:14px;border:1px solid var(--ui-color-border);border-radius:var(--ui-radius-md);background:var(--ui-color-surface-soft)}.approval-business-form-reference>div:first-child{display:grid;gap:4px}.approval-business-form-reference small{color:var(--ui-color-muted);font-size:11px}.approval-business-form-reference>div:nth-child(2){display:flex;flex-wrap:wrap;gap:6px}.approval-business-form-reference>div:nth-child(2) span{padding:4px 8px;border:1px solid var(--ui-color-border);border-radius:999px;background:var(--ui-color-surface);color:var(--ui-color-muted);font-size:11px}.approval-business-form-reference a{color:var(--ui-color-primary);font-weight:600;text-decoration:none;white-space:nowrap}.approval-designer-shell{display:grid;grid-template-columns:210px minmax(390px,1fr) 280px;align-items:start;gap:12px}.approval-designer-shell.dingtalk{position:relative;display:flex;flex:1;min-height:0;flex-direction:column;align-items:stretch;gap:0}.approval-designer-shell.dingtalk .approval-flow-canvas{flex:1;min-height:0;overflow:auto}.approval-designer-toolbar{display:flex;align-items:center;gap:10px;padding:10px 14px;border:1px solid var(--ui-color-border);border-bottom:none;border-radius:var(--ui-radius-md) var(--ui-radius-md) 0 0;background:var(--ui-color-surface)}.approval-toolbar-label{color:var(--ui-color-muted);font-size:12px;font-weight:600}.approval-designer-toolbar .approval-palette-item{grid-template-columns:26px minmax(0,1fr);min-height:44px;padding:6px 14px 6px 8px}.approval-designer-toolbar .approval-palette-item small{display:none}.approval-designer-toolbar .approval-palette-icon{width:24px;height:24px;border-radius:7px;font-size:11px}.approval-node-palette,.approval-flow-canvas,.approval-node-inspector{border:1px solid var(--ui-color-border);border-radius:var(--ui-radius-md);background:var(--ui-color-surface)}.approval-node-palette{display:grid;position:sticky;top:0;gap:8px;padding:12px}.approval-node-palette>div:first-child{display:grid;gap:3px;padding:2px 2px 6px}.approval-node-palette h4,.approval-node-inspector h4{margin:0;font-size:15px}.approval-node-palette p{margin:0;color:var(--ui-color-muted);font-size:11px;line-height:1.55}.approval-palette-item{display:grid;grid-template-columns:32px minmax(0,1fr) auto;align-items:center;gap:8px;min-height:58px;padding:8px;border:1px solid var(--ui-color-border);border-radius:var(--ui-radius-control);background:var(--ui-color-surface);color:var(--ui-color-text);text-align:left;cursor:grab}.approval-palette-item:hover{border-color:var(--ui-color-primary);background:var(--ui-color-brand-subtle)}.approval-palette-item:active,.approval-drag-handle:active{cursor:grabbing}.approval-palette-item>span:nth-child(2){display:grid;gap:2px}.approval-palette-item strong{font-size:13px}.approval-palette-item small{overflow:hidden;color:var(--ui-color-muted);font-size:10px;text-overflow:ellipsis;white-space:nowrap}.approval-palette-item>span:last-child,.approval-drag-handle{color:var(--ui-color-muted);letter-spacing:-2px}.approval-drag-handle{display:inline-flex;width:26px;height:34px;align-items:center;justify-content:center;border-radius:7px;cursor:grab}.approval-drag-handle:hover{background:var(--ui-color-brand-subtle);color:var(--ui-color-primary)}.approval-palette-icon{display:inline-flex;width:30px;height:30px;align-items:center;justify-content:center;border-radius:9px;background:var(--ui-color-brand-subtle);color:var(--ui-color-primary-strong);font-size:12px;font-weight:700}.approval-palette-icon.cc{background:#eef2ff;color:#4f5e9b}.approval-palette-icon.condition{background:#fff3df;color:#9b641e}.approval-flow-canvas{min-height:440px;padding:16px 20px 24px;border:1px solid var(--ui-color-border);border-radius:0 0 var(--ui-radius-md) var(--ui-radius-md);background:linear-gradient(rgba(236,243,239,.6) 1px,transparent 1px),linear-gradient(90deg,rgba(236,243,239,.6) 1px,transparent 1px),var(--ui-color-surface-soft);background-size:22px 22px}.approval-canvas-guide{margin:-3px 0 12px;color:var(--ui-color-muted);font-size:11px;text-align:center}.approval-flow-canvas>.approval-boundary-node{width:min(560px,92%);margin-inline:auto;background:var(--ui-color-surface)}.approval-drop-zone{display:flex;position:relative;width:min(560px,92%);height:30px;align-items:center;justify-content:center;margin-inline:auto;border:1px dashed transparent;border-radius:var(--ui-radius-control);color:var(--ui-color-primary);font-size:10px;transition:.15s ease}.approval-drop-zone:before{width:1px;height:100%;background:var(--ui-color-border-strong);content:""}.approval-drop-zone span{position:absolute;padding:2px 7px;border-radius:999px;background:var(--ui-color-brand-subtle);opacity:0}.approval-drop-zone:hover{border-color:var(--ui-color-primary);background:#e6f6edbf}.approval-drop-zone:hover:before{opacity:0}.approval-drop-zone:hover span{opacity:1}.approval-canvas-node{display:grid;position:relative;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:9px;width:min(560px,92%);min-height:72px;margin-inline:auto;padding:10px 64px 10px 12px;border:1px solid var(--ui-color-border-strong);border-radius:var(--ui-radius-md);background:var(--ui-color-surface);box-shadow:0 3px 12px #143f320f;cursor:pointer}.approval-canvas-node.selected{border-color:var(--ui-color-primary);box-shadow:0 0 0 2px #0080601f,0 4px 14px #143f3214}.approval-canvas-node.condition{grid-template-columns:34px minmax(0,1fr) auto;padding-bottom:12px}.approval-node-title{display:grid;gap:2px;min-width:0}.approval-node-title small{color:var(--ui-color-muted);font-size:10px}.approval-node-title strong{overflow:hidden;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.approval-node-title span{color:var(--ui-color-muted);font-size:11px}.approval-branch-node{width:min(680px,96%);margin-inline:auto;border:1px solid var(--ui-color-border-strong);border-radius:var(--ui-radius-md);background:var(--ui-color-surface);box-shadow:0 3px 12px #143f320f;overflow:hidden}.approval-branch-node.selected{border-color:var(--ui-color-primary);box-shadow:0 0 0 2px #0080601f,0 4px 14px #143f3214}.approval-branch-header{display:grid;position:relative;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:9px;min-height:62px;padding:10px 64px 10px 12px;border-bottom:1px solid var(--ui-color-border);background:var(--ui-color-surface-soft);cursor:pointer}.approval-branch-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0}.approval-branch-column{display:grid;gap:8px;align-content:start;padding:12px;cursor:pointer;border-top:3px solid transparent;transition:background .15s ease,border-color .15s ease}.approval-branch-column+.approval-branch-column{border-left:1px solid var(--ui-color-border)}.approval-branch-column:hover{background:var(--ui-color-surface-soft)}.approval-branch-column.selected{background:var(--ui-color-brand-subtle);border-top-color:var(--ui-color-primary)}.approval-branch-tag{display:inline-flex;align-items:center;gap:4px;justify-self:start;padding:3px 9px;border-radius:999px;font-size:11px;font-weight:700}.approval-branch-tag.true{background:var(--ui-color-brand-subtle);color:var(--ui-color-primary-strong)}.approval-branch-tag.false{background:#fdecec;color:#b3382e}.approval-branch-card{display:grid;gap:3px;padding:10px 12px;border:1px solid var(--ui-color-border);border-radius:var(--ui-radius-control);background:var(--ui-color-surface);box-shadow:0 2px 8px #143f320d}.approval-branch-card strong{overflow:hidden;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.approval-branch-card span{color:var(--ui-color-muted);font-size:11px}.approval-node-keyboard-actions{display:flex;position:absolute;top:50%;right:11px;gap:3px;transform:translateY(-50%)}.approval-node-keyboard-actions button{display:inline-flex;width:22px;height:24px;align-items:center;justify-content:center;border:1px solid var(--ui-color-border);border-radius:6px;background:var(--ui-color-surface-soft);color:var(--ui-color-muted);cursor:pointer}.approval-node-keyboard-actions button:disabled{opacity:.35;cursor:not-allowed}.approval-canvas-empty{width:min(560px,92%);margin:0 auto 12px;padding:28px;border:1px dashed var(--ui-color-border-strong);border-radius:var(--ui-radius-md);color:var(--ui-color-muted);text-align:center}.approval-inspector-backdrop{position:absolute;inset:0;z-index:40;background:#0f231c3d}.approval-inspector-drawer{display:flex;position:absolute;top:0;right:0;bottom:0;z-index:50;width:min(470px,94%);flex-direction:column;border-left:1px solid var(--ui-color-border);background:var(--ui-color-surface);box-shadow:-12px 0 32px #143f3224;animation:approval-drawer-in .18s ease}@keyframes approval-drawer-in{0%{transform:translate(24px);opacity:0}to{transform:translate(0);opacity:1}}.approval-inspector-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;padding:13px 14px 11px;border-bottom:1px solid var(--ui-color-border)}.approval-inspector-heading>div:first-child{display:grid;gap:2px}.approval-inspector-heading small{color:var(--ui-color-muted);font-size:10px}.approval-inspector-heading h4{margin:0;font-size:15px}.approval-inspector-actions{display:flex;align-items:center;gap:6px}.approval-inspector-actions .ui-button{min-height:28px;padding:0 8px}.approval-inspector-close{min-width:28px;font-size:16px;line-height:1}.approval-inspector-body{display:grid;flex:1;gap:11px;align-content:start;overflow-y:auto;padding:14px}.approval-inspector-body>label,.approval-inspector-body fieldset label{display:grid;gap:5px;color:var(--ui-color-text);font-size:11px}.approval-inspector-body input,.approval-inspector-body select,.approval-inspector-body textarea{width:100%;min-height:34px;border:1px solid var(--ui-color-border-strong);border-radius:var(--ui-radius-control);background:var(--ui-color-surface);color:var(--ui-color-text);padding:6px 8px;font:inherit}.approval-inspector-empty{padding:26px 10px;color:var(--ui-color-muted);font-size:12px;line-height:1.7;text-align:center}.approver-rule-heading{margin:10px 0 4px;font-size:13px;font-weight:600;color:var(--ui-color-text)}.approver-rule-editor{display:grid;gap:10px}.approver-rule-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.approver-rule-option{display:flex;position:relative;align-items:center;gap:6px;padding:8px 9px;border:1px solid var(--ui-color-border);border-radius:var(--ui-radius-control);background:var(--ui-color-surface);cursor:pointer}.approver-rule-option input{flex:none;margin:0}.approver-rule-option span{overflow:hidden;font-size:12px;font-weight:600;color:var(--ui-color-text);text-overflow:ellipsis;white-space:nowrap}.approver-rule-option small{display:none}.approver-rule-option.active{border-color:var(--ui-color-primary, #2f6fed);background:color-mix(in srgb,var(--ui-color-primary, #2f6fed) 6%,var(--ui-color-surface))}.approver-rule-hint{padding:9px 11px;border:1px dashed var(--ui-color-border);border-radius:var(--ui-radius-control);background:var(--ui-color-surface);color:var(--ui-color-muted);font-size:12px;line-height:1.6}.condition-value-picker{display:grid;gap:7px}.condition-value-picker small{color:var(--ui-color-muted);font-size:11px}.multi-mode-picker{display:grid;gap:6px;margin-top:4px;padding-top:8px;border-top:1px solid var(--ui-color-border)}.multi-mode-option{display:flex;align-items:baseline;gap:6px;padding:6px 8px;border:1px solid transparent;border-radius:var(--ui-radius-control);cursor:pointer}.multi-mode-option input{flex:none;margin:0}.multi-mode-option span{font-size:13px;font-weight:600;color:var(--ui-color-text)}.multi-mode-option small{color:var(--ui-color-muted);font-size:11px}.multi-mode-option.active{border-color:var(--ui-color-primary);background:var(--ui-color-brand-subtle)}.inspector-tabs{display:flex;gap:4px;margin-bottom:6px;border-bottom:1px solid var(--ui-color-border)}.inspector-tabs button{padding:6px 13px;border:none;border-bottom:2px solid transparent;background:none;color:var(--ui-color-muted);font:inherit;font-size:12px;font-weight:600;cursor:pointer}.inspector-tabs button.active{border-bottom-color:var(--ui-color-primary);color:var(--ui-color-primary-strong)}.field-perm-matrix{display:grid;overflow:hidden;border:1px solid var(--ui-color-border);border-radius:var(--ui-radius-control)}.field-perm-header{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 10px;border-bottom:1px solid var(--ui-color-border);background:var(--ui-color-surface-soft);font-size:12px;font-weight:600}.field-perm-header-actions{display:flex;gap:4px}.field-perm-header-actions button{padding:3px 8px;border:1px solid var(--ui-color-border);border-radius:5px;background:var(--ui-color-surface);color:var(--ui-color-muted);font-size:11px;cursor:pointer}.field-perm-header-actions button:hover{border-color:var(--ui-color-primary);color:var(--ui-color-primary)}.field-perm-row{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 10px;border-bottom:1px solid var(--ui-color-border)}.field-perm-name{display:flex;min-width:0;align-items:center;gap:5px;color:var(--ui-color-text);font-size:12px}.field-perm-name em{padding:1px 5px;border-radius:4px;background:var(--ui-color-surface-soft);color:var(--ui-color-muted);font-size:10px;font-style:normal}.field-perm-options{display:flex;flex:none;gap:9px}.field-perm-options label{display:flex;align-items:center;gap:3px;color:var(--ui-color-muted);font-size:11px;cursor:pointer}.field-perm-options label.active{color:var(--ui-color-primary-strong);font-weight:600}.field-perm-options input{margin:0}.field-perm-note{padding:8px 10px;border-top:1px solid var(--ui-color-border);background:var(--ui-color-surface-soft);color:var(--ui-color-muted);font-size:11px;line-height:1.5}.condition-group-editor{display:grid;gap:12px}.condition-branch-card{display:grid;gap:8px;margin:0;padding:10px;border:1px solid var(--ui-color-border);border-radius:var(--ui-radius-control)}.condition-branch-card.default{border-style:dashed;background:var(--ui-color-surface-soft)}.condition-branch-card legend{display:flex;width:100%;align-items:center;justify-content:space-between;gap:8px;padding:0 5px;color:var(--ui-color-muted);font-size:11px;font-weight:600}.condition-branch-ops{display:flex;gap:3px}.condition-branch-ops button{padding:1px 7px;border:1px solid var(--ui-color-border);border-radius:4px;background:var(--ui-color-surface);color:var(--ui-color-muted);font-size:10px;cursor:pointer}.condition-branch-ops button:hover:not(:disabled){border-color:var(--ui-color-primary);color:var(--ui-color-primary)}.condition-branch-ops button:disabled{opacity:.4;cursor:not-allowed}.condition-branch-rule{display:grid;grid-template-columns:1fr 1fr;gap:8px}.condition-add-branch{justify-self:start}.approval-pick-panel{display:grid;gap:8px;margin:10px 0;padding:12px;border:1px solid var(--ui-color-border);border-radius:var(--ui-radius-control);background:var(--ui-color-surface)}.approval-pick-panel h4{margin:0;font-size:13px}.approval-pick-panel p{margin:0;font-size:12px;color:var(--ui-color-muted)}.approval-pick-panel button{justify-self:start}.env-badge{display:inline-flex;align-items:center;gap:6px;font-weight:700;letter-spacing:.02em}.env-badge .dot{width:8px;height:8px;border-radius:50%;background:currentColor;display:inline-block}.env-badge-prod{color:#ff9d92;background:#b3382e59;border:1px solid rgba(255,157,146,.5);border-radius:999px;padding:4px 12px}.env-badge-uat{color:#ffd887;background:#a9683152;border:1px solid rgba(255,216,135,.45);border-radius:999px;padding:4px 12px}.env-badge-dev{color:#9ec2b0}.condition-show-all{margin:0 0 10px;align-self:start}.request-guide{background:#f4f8f5;border:1px solid #d8e6dc;border-left:4px solid #4d8b6d;border-radius:10px;padding:10px 14px;margin:0 0 14px;font-size:13px;line-height:1.7;color:#3d5749}.request-guide p{margin:0 0 6px;white-space:pre-wrap}.request-guide p:last-child{margin-bottom:0}.request-guide-admin-list{display:flex;flex-direction:column;gap:12px}.request-guide-admin-row{border:1px solid #e2e8e4;border-radius:10px;padding:12px 14px;background:#fff}.request-guide-admin-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:8px}.request-guide-admin-ops{margin-left:auto;display:flex;gap:8px}.request-guide-admin-ops button{background:none;border:1px solid #d0dcd4;border-radius:6px;padding:3px 10px;cursor:pointer;color:#3d5749;font-size:12px}.request-guide-admin-text{margin:0;font-size:13px;line-height:1.7;color:#46604f;white-space:pre-wrap}.request-guide-edit-backdrop{position:fixed;inset:0;background:#14201a66;display:flex;align-items:center;justify-content:center;z-index:60}.request-guide-edit-drawer{background:#fff;border-radius:12px;padding:20px;width:min(560px,92vw);box-shadow:0 12px 40px #0003}.request-guide-edit-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.request-guide-edit-head h3{margin:0;font-size:16px}.request-guide-edit-head button{background:none;border:none;font-size:22px;cursor:pointer;color:#6b7f72}.request-guide-edit-hint{font-size:12px;color:#6b7f72;margin:0 0 10px}.request-guide-edit-drawer textarea{width:100%;border:1px solid #cfdad2;border-radius:8px;padding:10px;font-size:13px;line-height:1.6;font-family:inherit;box-sizing:border-box}.request-guide-edit-foot{display:flex;justify-content:flex-end;gap:10px;margin-top:12px}.contract-backdrop{position:fixed;inset:0;background:#14201a66;display:flex;align-items:center;justify-content:center;z-index:60}.contract-drawer{background:#fff;border-radius:12px;padding:20px;width:min(720px,94vw);max-height:90vh;overflow-y:auto;box-shadow:0 12px 40px #0003}.contract-drawer.wide{width:min(880px,96vw)}.contract-drawer-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:14px}.contract-drawer-head h3{margin:4px 0 0}.contract-drawer-head button{background:none;border:none;font-size:24px;cursor:pointer;color:#6b7f72}.contract-info-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px 16px;margin-bottom:12px}.contract-info-grid small{display:block;color:#6b7f72;font-size:12px}.contract-info-grid strong{font-size:14px}.contract-remark{background:#f4f8f5;border-radius:8px;padding:8px 12px;font-size:13px;color:#46604f}.contract-form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px 16px;margin-bottom:6px}.contract-form-grid label{display:flex;flex-direction:column;gap:4px;font-size:13px;color:#3d5749}.contract-form-full{grid-column:1 / -1}.contract-plans-head{display:flex;align-items:center;gap:12px;margin:14px 0 8px}.contract-plans-head h4{margin:0}.contract-plans-head span{font-size:13px;color:#46604f}.contract-plans-head button{margin-left:auto}.contract-drawer-foot{display:flex;justify-content:flex-end;gap:10px;margin-top:16px}.contract-drawer input,.contract-drawer select,.contract-drawer textarea{border:1px solid #cfdad2;border-radius:6px;padding:6px 8px;font-size:13px;font-family:inherit;box-sizing:border-box}.contract-drawer .ui-table input{width:100%}.contract-pay-section{margin:12px 0;padding:12px;background:#f4f8f5;border:1px solid #d8e6dc;border-radius:10px}.contract-pay-section h4{margin:0 0 8px}.contract-pay-form{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:8px 0}.contract-pay-form select,.contract-pay-form input{border:1px solid #cfdad2;border-radius:6px;padding:6px 8px;font-size:13px}.contract-pay-hint{display:block;font-size:12px;color:#6b7f72;margin-top:6px}.perf-estimate-note{font-size:13px;color:#6b7f72;margin:4px 0 12px}.perf-indicator-list{display:flex;flex-direction:column;gap:12px}.perf-indicator-card{border:1px solid #e2e8e4;border-radius:10px;padding:14px 16px;background:#fff}.perf-indicator-head{display:flex;align-items:center;gap:10px;margin-bottom:10px}.perf-indicator-head strong{font-size:15px}.perf-indicator-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px 16px}.perf-indicator-grid small{display:block;color:#6b7f72;font-size:12px}.perf-indicator-grid strong{font-size:15px}.perf-indicator-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:10px;flex-wrap:wrap}.perf-indicator-foot small{color:#8aa093;font-size:12px}.perf-explanation{margin:8px 0 0;background:#f4f8f5;border-left:4px solid #4d8b6d;border-radius:8px;padding:10px 14px;font-size:13px;line-height:1.7;color:#3d5749}.attendance-summary-hours{display:block;margin-top:2px;color:var(--ui-color-primary);font-size:11px;font-weight:600}.approval-editable-fields{display:grid;gap:8px}.approval-editable-fields p{margin:0;color:var(--ui-color-muted);font-size:12px}.approval-editable-fields label{display:grid;gap:4px;color:var(--ui-color-text);font-size:12px}.approval-editable-fields input{min-height:32px;padding:5px 8px;border:1px solid var(--ui-color-border-strong);border-radius:var(--ui-radius-control);font:inherit}.approval-editable-fields button{justify-self:start}.flow-canvas-inner{display:flex;flex-direction:column;align-items:center;padding:22px 12px 44px}.flow-node{position:relative;width:272px;border:1px solid var(--ui-color-border);border-left-width:4px;border-radius:9px;background:var(--ui-color-surface);box-shadow:0 2px 10px #143f320f;cursor:pointer;transition:box-shadow .15s,border-color .15s}.flow-node:hover{box-shadow:0 4px 16px #143f321f}.flow-node.selected{border-color:var(--ui-color-primary);border-left-color:var(--ui-color-primary);box-shadow:0 0 0 2px #00806026}.flow-node-head{display:flex;align-items:center;justify-content:space-between;gap:6px;min-height:26px;padding:8px 8px 0 12px}.flow-node-type{color:var(--ui-color-muted);font-size:11px;font-weight:700}.flow-node-actions{display:flex;align-items:center;gap:1px;opacity:0;transition:opacity .15s}.flow-node:hover .flow-node-actions,.flow-node.selected .flow-node-actions{opacity:1}.flow-node-actions button,.flow-node-actions .approval-drag-handle{display:inline-flex;width:20px;height:22px;align-items:center;justify-content:center;border:none;border-radius:5px;background:none;color:var(--ui-color-muted);cursor:pointer;font-size:12px}.flow-node-actions button:hover{background:var(--ui-color-brand-subtle);color:var(--ui-color-primary)}.flow-node-actions .flow-node-close:hover{background:#fdecec;color:#b3382e}.flow-node-actions button:disabled{opacity:.3;cursor:not-allowed}.flow-node-body{display:grid;gap:3px;padding:5px 14px 12px}.flow-node-body strong{overflow:hidden;font-size:14px;text-overflow:ellipsis;white-space:nowrap}.flow-node-body span{color:var(--ui-color-muted);font-size:11px;line-height:1.5}.flow-node.flow-start,.flow-node.flow-end{width:210px;border-left-color:#98a5b3;cursor:default;text-align:center}.flow-node.flow-start .flow-node-type,.flow-node.flow-end .flow-node-type{color:#98a5b3}.flow-node.flow-start .flow-node-body,.flow-node.flow-end .flow-node-body{padding-top:0}.flow-node.flow-approver{border-left-color:#f6c343}.flow-node.flow-approver .flow-node-type{color:#b8860b}.flow-node.flow-cc{border-left-color:#37b8af}.flow-node.flow-cc .flow-node-type{color:#1f857e}.flow-node.flow-condition{border-left-color:#5b8ff9}.flow-node.flow-condition .flow-node-type{color:#2f6bd6}.flow-node.flow-condition-default{border-left-color:#b3c2d1;background:var(--ui-color-surface-soft);cursor:default}.flow-node.flow-condition-default .flow-node-type{color:#7a8aa0}.flow-connector{display:flex;flex-direction:column;align-items:center}.flow-connector:after{width:0;height:0;border-right:5px solid transparent;border-left:5px solid transparent;border-top:6px solid #b9c6d0;content:""}.flow-connector-line{width:2px;height:8px;background:#a9b8c5}.flow-connector-action{position:relative;display:flex;align-items:center;justify-content:center}.flow-connector-add{display:inline-flex;width:26px;height:26px;align-items:center;justify-content:center;border:1px solid #d4dde5;border-radius:50%;background:var(--ui-color-surface);color:var(--ui-color-primary);font-size:18px;font-weight:400;line-height:1;cursor:pointer;transition:all .15s}.flow-connector-add:hover{border-color:var(--ui-color-primary);background:var(--ui-color-primary);color:#fff;transform:scale(1.1)}.flow-connector-add:disabled{cursor:default;opacity:.5}.flow-connector-menu{position:absolute;top:32px;left:50%;z-index:30;display:grid;min-width:134px;transform:translate(-50%);overflow:hidden;border:1px solid var(--ui-color-border);border-radius:10px;background:var(--ui-color-surface);box-shadow:0 8px 24px #143f3229}.flow-connector-menu button{display:flex;align-items:center;gap:8px;padding:10px 14px;border:none;background:none;color:var(--ui-color-text);font:inherit;font-size:13px;text-align:left;cursor:pointer}.flow-connector-menu button:hover{background:var(--ui-color-brand-subtle)}.flow-menu-icon{display:inline-flex;width:20px;height:20px;align-items:center;justify-content:center;border-radius:6px;font-size:11px;font-weight:700}.flow-menu-icon.approver{background:#fdf3d8;color:#b8860b}.flow-menu-icon.cc{background:#d8f2f0;color:#1f857e}.flow-menu-icon.condition{background:#e0eafd;color:#2f6bd6}.flow-branch{display:flex;justify-content:center;width:100%}.flow-branch-cols{position:relative;display:flex;gap:64px;padding:0 10px}.flow-branch-cols:before,.flow-branch-cols:after{position:absolute;top:0;height:3px;background:#a9b8c5;content:""}.flow-branch-cols:before{right:50%;left:146px}.flow-branch-cols:after{right:146px;left:50%}.flow-branch-col{position:relative;display:flex;flex-direction:column;align-items:center;padding-top:15px}.flow-branch-add{display:flex;align-items:flex-start;padding-top:15px}.flow-branch-col:before{position:absolute;top:0;left:50%;width:2px;height:15px;transform:translate(-50%);background:#a9b8c5;content:""}.flow-branch-line{position:relative;width:2px;height:20px;background:#a9b8c5}.flow-branch-line:after{position:absolute;bottom:-1px;left:50%;width:0;height:0;transform:translate(-50%);border-right:5px solid transparent;border-left:5px solid transparent;border-top:6px solid #b9c6d0;content:""}.approval-form-palette{align-content:start}.approval-form-palette-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.approval-form-palette-grid button{display:grid;grid-template-columns:25px minmax(0,1fr);align-items:center;gap:2px 6px;min-height:54px;padding:6px;border:1px solid var(--ui-color-border);border-radius:var(--ui-radius-control);background:var(--ui-color-surface);color:var(--ui-color-text);text-align:left;cursor:grab}.approval-form-palette-grid button:hover{border-color:var(--ui-color-primary);background:var(--ui-color-brand-subtle)}.approval-form-palette-grid button>span{display:inline-flex;grid-row:1 / span 2;width:25px;height:25px;align-items:center;justify-content:center;border-radius:7px;background:var(--ui-color-brand-subtle);color:var(--ui-color-primary);font-size:10px;font-weight:700}.approval-form-palette-grid button strong{overflow:hidden;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.approval-form-palette-grid button small{overflow:hidden;color:var(--ui-color-muted);font-size:9px;text-overflow:ellipsis;white-space:nowrap}.approval-form-canvas{min-height:520px;padding:16px;border:1px solid var(--ui-color-border);border-radius:var(--ui-radius-md);background:linear-gradient(rgba(236,243,239,.7) 1px,transparent 1px),linear-gradient(90deg,rgba(236,243,239,.7) 1px,transparent 1px),var(--ui-color-surface-soft);background-size:22px 22px}.approval-form-sheet{width:min(540px,100%);min-height:480px;margin-inline:auto;padding:16px 18px 22px;border:1px solid var(--ui-color-border);border-radius:var(--ui-radius-md);background:var(--ui-color-surface);box-shadow:0 5px 18px #143f3214}.approval-form-sheet>header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:12px;border-bottom:1px solid var(--ui-color-border)}.approval-form-sheet>header span{font-size:16px;font-weight:700}.approval-form-sheet>header small{color:var(--ui-color-muted)}.approval-form-drop-zone{display:flex;position:relative;height:20px;align-items:center;justify-content:center;margin:2px 0;border:1px dashed transparent;border-radius:6px;color:var(--ui-color-primary);font-size:9px}.approval-form-drop-zone span{padding:1px 7px;border-radius:999px;background:var(--ui-color-brand-subtle);opacity:0}.approval-form-drop-zone:hover{height:28px;border-color:var(--ui-color-primary);background:var(--ui-color-brand-subtle)}.approval-form-drop-zone:hover span{opacity:1}.approval-form-field-card{display:grid;grid-template-columns:24px minmax(0,1fr);gap:8px;padding:9px;border:1px solid transparent;border-radius:var(--ui-radius-control);cursor:pointer}.approval-form-field-card:hover{border-color:var(--ui-color-border);background:var(--ui-color-surface-soft)}.approval-form-field-card.selected{border-color:var(--ui-color-primary);background:var(--ui-color-brand-subtle);box-shadow:0 0 0 2px #00806014}.approval-form-field-drag{display:inline-flex;width:24px;height:34px;align-items:center;justify-content:center;color:var(--ui-color-muted);cursor:grab;letter-spacing:-2px}.approval-form-template-page{display:grid;min-width:0;gap:16px}.form-template-principles{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.form-template-principles>div{display:grid;gap:4px;padding:14px 16px;border:1px solid var(--ui-color-border);border-radius:var(--ui-radius-card);background:var(--ui-color-surface)}.approval-form-template-page,.form-builder-dialog{font-size:var(--ui-font-size-md)}.approval-form-template-page button,.approval-form-template-page input,.approval-form-template-page select,.approval-form-template-page textarea{font:inherit}.form-template-principles strong{color:var(--ui-color-primary);font-size:var(--ui-font-size-md)}.form-template-principles span,.form-template-list td small{font-size:var(--ui-font-size-sm);color:var(--ui-color-muted)}.form-template-list{min-width:0;padding:18px}.form-template-list table{min-width:920px}.form-template-list td strong,.form-template-list td small{display:block}.form-template-list .ui-table-wrap{min-width:0;max-width:100%;overflow:auto}.form-template-list .approval-flow-toolbar{display:flex;align-items:center;gap:12px;margin-bottom:14px}.form-template-list .approval-flow-toolbar input{max-width:320px}.form-template-list .approval-flow-toolbar span{margin-left:auto}.form-template-type{display:inline-flex;padding:3px 8px;border-radius:999px;background:var(--ui-color-brand-subtle);color:var(--ui-color-primary);font-size:12px}.form-template-type.custom{background:#f4f1e8;color:#765f2d}.form-template-actions{display:flex;gap:6px;flex-wrap:wrap}.form-template-actions button,.form-builder-inspector-title button{border:0;background:transparent;color:var(--ui-color-primary);cursor:pointer}.form-template-actions button:disabled{opacity:.45}.approval-flow-backdrop:has(.form-builder-shell){padding:12px}.form-builder-dialog{width:min(1500px,calc(100vw - 28px));height:calc(100dvh - 28px);max-width:none;overflow:hidden;padding:0;display:flex;flex-direction:column}.form-builder-dialog>header{display:flex;align-items:flex-start;justify-content:space-between;padding:18px 22px;border-bottom:1px solid var(--ui-color-border)}.form-builder-dialog>header h2{margin:3px 0}.form-builder-dialog>header p{margin:0;color:var(--ui-color-muted)}.form-builder-dialog>footer{display:flex;align-items:center;justify-content:flex-end;gap:10px;padding:14px 20px;border-top:1px solid var(--ui-color-border);background:#fff}.form-builder-save-note{margin-right:auto;color:var(--ui-color-muted);font-size:var(--ui-font-size-sm)}.form-builder-template-settings{display:grid;grid-template-columns:repeat(4,minmax(160px,1fr));gap:12px;padding:14px 20px;background:var(--ui-color-surface-soft);border-bottom:1px solid var(--ui-color-border)}.form-builder-template-settings>label{display:grid;gap:5px}.form-builder-template-settings input,.form-builder-template-settings select{min-height:36px}.form-builder-scope-picker,.approval-form-scope-picker{position:relative}.form-builder-scope-tags,.approval-form-scope-tags{display:flex;gap:4px;flex-wrap:wrap;margin-top:5px}.form-builder-scope-tags button,.approval-form-scope-tags button{border:1px solid var(--ui-color-border);border-radius:999px;background:#fff;color:var(--ui-color-text);font-size:11px;padding:3px 7px}.form-builder-scope-tags button span,.approval-form-scope-tags button span{margin-left:5px}.approval-form-organization-scope{grid-column:1/-1;min-width:0;margin:0;padding:12px;border:1px solid var(--ui-color-border);border-radius:var(--ui-radius-md);background:var(--ui-color-surface)}.approval-form-organization-scope legend{padding:0 6px;color:var(--ui-color-text);font-size:var(--ui-font-size-sm);font-weight:700}.approval-form-scope-modes{display:flex;flex-wrap:wrap;gap:8px}.approval-form-scope-modes label{display:flex;align-items:center;gap:7px;min-height:36px;padding:7px 12px;border:1px solid var(--ui-color-border);border-radius:var(--ui-radius-sm);background:var(--ui-color-surface);cursor:pointer}.approval-form-scope-modes label.selected{border-color:var(--ui-color-primary);background:var(--ui-color-brand-subtle);color:var(--ui-color-primary-strong)}.approval-form-scope-modes input{width:16px;height:16px;min-height:0;accent-color:var(--ui-color-primary)}.approval-form-organization-selection{display:grid;grid-template-columns:minmax(260px,1fr) auto;align-items:end;gap:8px 16px;margin-top:12px}.approval-form-organization-selection>p{grid-column:1/-1;margin:0;color:var(--ui-color-text-muted);font-size:var(--ui-font-size-xs)}.approval-form-organization-selection .form-builder-check-line{align-self:center;margin:0}.form-builder-checks,.form-builder-checks label{display:flex;gap:12px;align-items:center}.form-builder-checks label{gap:5px}.form-builder-checks input{width:15px;height:15px}.form-builder-checks{flex-wrap:wrap;padding:8px 0}.form-builder-shell{display:grid;grid-template-columns:210px minmax(340px,1fr) 310px;flex:1;min-height:0;overflow:hidden;background:#f5f8f5}.form-builder-palette,.form-builder-inspector{overflow:auto;padding:16px;background:#fff}.form-builder-palette{border-right:1px solid var(--ui-color-border)}.form-builder-inspector{border-left:1px solid var(--ui-color-border)}.form-builder-palette h3,.form-builder-palette h4{margin:5px 0;font-size:var(--ui-font-size-lg)}.form-builder-palette p{font-size:var(--ui-font-size-sm);color:var(--ui-color-muted)}.form-builder-palette>div{display:grid;grid-template-columns:1fr 1fr;gap:7px}.form-builder-palette button{display:flex;align-items:center;gap:7px;min-height:42px;padding:6px 8px;border:1px solid var(--ui-color-border);border-radius:8px;background:#fff;color:var(--ui-color-text);cursor:grab;font-size:var(--ui-font-size-sm)}.form-builder-palette button strong{font-size:inherit}.form-builder-palette button span{display:grid;place-items:center;flex:0 0 24px;width:24px;height:24px;border-radius:6px;background:var(--ui-color-brand-subtle);color:var(--ui-color-primary)}.form-builder-palette .form-builder-business-component{grid-column:1/-1;cursor:not-allowed;opacity:.72}.form-builder-canvas{overflow:auto;padding:18px}.form-builder-canvas>header{display:flex;align-items:center;justify-content:space-between;max-width:820px;margin:auto;padding:12px 16px;border:1px solid var(--ui-color-border);border-bottom:0;border-radius:12px 12px 0 0;background:#fff}.form-builder-canvas>header div:first-child{display:grid}.form-builder-canvas>header small{color:var(--ui-color-muted)}.form-builder-canvas>header button{border:0;background:transparent;padding:6px 9px}.form-builder-canvas>header button.active{border-radius:6px;background:var(--ui-color-brand-subtle);color:var(--ui-color-primary)}.form-builder-canvas>section{max-width:820px;min-height:480px;margin:auto;padding:16px 24px;border:1px solid var(--ui-color-border);background:#fff}.form-builder-canvas.mobile>header,.form-builder-canvas.mobile>section{max-width:390px}.form-builder-canvas article{position:relative;padding:12px 12px 12px 42px;border:1px solid transparent;border-radius:9px}.form-builder-canvas article.selected{border-color:var(--ui-color-primary);background:var(--ui-color-brand-subtle)}.form-builder-canvas article label{display:grid;gap:6px;font-size:var(--ui-font-size-sm)}.form-builder-canvas article label>span{font-weight:600}.form-builder-canvas article label b{color:var(--ui-color-danger)}.form-builder-canvas article label em{margin-left:6px;padding:2px 5px;border-radius:999px;background:#e2eee8;color:var(--ui-color-primary);font-size:var(--ui-font-size-xs);font-style:normal}.form-builder-canvas article input,.form-builder-canvas article select,.form-builder-canvas article textarea,.form-builder-master-preview,.form-builder-upload-preview,.form-builder-detail-preview{min-height:36px;border:1px solid var(--ui-color-border-strong);border-radius:7px;background:#fff;padding:7px 9px}.form-builder-canvas article textarea{min-height:62px}.form-builder-canvas article small{color:var(--ui-color-muted)}.form-builder-drag{position:absolute;left:9px;top:12px;border:0;background:transparent;color:var(--ui-color-muted);cursor:grab}.form-builder-drop-zone{display:grid;height:10px;place-items:center;overflow:hidden;text-align:center;color:transparent;border-radius:6px;font-size:var(--ui-font-size-xs);transition:height .15s ease,background .15s ease}.form-builder-drop-zone:hover,.form-builder-drop-zone.is-ready{height:34px;color:var(--ui-color-primary);background:var(--ui-color-brand-subtle);outline:1px dashed var(--ui-color-primary)}.form-builder-hidden-field,.form-builder-description{padding:9px;border-radius:7px;background:var(--ui-color-surface-soft);color:var(--ui-color-muted)}.form-builder-inspector{display:grid;align-content:start;gap:12px}.form-builder-inspector>label,.form-builder-inspector fieldset{display:grid;gap:5px}.form-builder-inspector input,.form-builder-inspector textarea,.form-builder-inspector select{width:100%;min-height:36px}.form-builder-inspector textarea{min-height:70px}.form-builder-inspector-title{display:flex;justify-content:space-between;gap:8px}.form-builder-inspector-title h3{margin:3px 0}.form-builder-inspector-title>div:last-child{display:flex;gap:4px}.form-builder-rule-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.form-builder-core-note,.form-builder-master-preview{padding:10px;border-radius:8px;background:var(--ui-color-brand-subtle);color:var(--ui-color-primary);font-size:12px}.form-builder-master-source-note{display:grid;gap:3px;padding:10px;border-radius:8px;background:var(--ui-color-surface-soft);font-size:12px}@media(max-width:1100px){.form-builder-template-settings{grid-template-columns:repeat(2,1fr)}.form-builder-shell{grid-template-columns:190px minmax(330px,1fr) 270px}.form-builder-palette>div{grid-template-columns:1fr}}@media(max-width:820px){.form-template-principles{grid-template-columns:1fr}.form-builder-dialog{height:calc(100dvh - 16px);width:calc(100vw - 16px)}.form-builder-shell{grid-template-columns:150px minmax(310px,1fr);overflow:auto}.form-builder-inspector{grid-column:1/-1;border-left:0;border-top:1px solid var(--ui-color-border)}.form-builder-template-settings,.approval-form-organization-selection{grid-template-columns:1fr}.approval-form-scope-modes{display:grid;grid-template-columns:1fr}.form-builder-dialog>footer{flex-wrap:wrap}.form-builder-save-note{flex-basis:100%}}.approval-form-renderer{display:grid;gap:12px;margin:10px 0;padding:14px;border:1px solid var(--ui-color-border);border-radius:var(--ui-radius-md);background:var(--ui-color-surface-soft)}.approval-form-renderer-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.approval-form-renderer-heading small,.approval-form-renderer-loading{color:var(--ui-color-muted);font-size:12px}.approval-form-renderer>label{display:grid;gap:6px}.approval-form-renderer>label>span{font-size:13px;font-weight:600}.approval-form-renderer>label b{color:var(--ui-color-danger)}.approval-form-renderer>label small{color:var(--ui-color-muted)}.approval-form-renderer>label p{margin:0;padding:10px;border-left:3px solid var(--ui-color-primary);background:#fff;color:var(--ui-color-muted)}.approval-form-preview-field{display:grid;gap:5px;color:var(--ui-color-text);font-size:11px}.approval-form-preview-field>span{display:flex;align-items:center;gap:5px;font-weight:600}.approval-form-preview-field>span b{color:var(--ui-color-danger)}.approval-form-preview-field>span em{padding:2px 5px;border-radius:999px;background:var(--ui-color-surface-soft);color:var(--ui-color-muted);font-size:9px;font-style:normal;font-weight:400}.approval-form-preview-field input,.approval-form-preview-field select,.approval-form-preview-field textarea,.approval-form-master-placeholder,.approval-form-upload{width:100%;min-height:34px;border:1px solid var(--ui-color-border-strong);border-radius:var(--ui-radius-control);background:var(--ui-color-surface);color:var(--ui-color-muted);padding:7px 9px;font:inherit}.approval-form-preview-field textarea{min-height:56px;resize:none}.approval-form-preview-field small{color:var(--ui-color-muted);font-size:10px}.approval-form-master-placeholder,.approval-form-upload{border-style:dashed}.approval-form-description{margin:0;padding:9px 10px;border-left:3px solid var(--ui-color-primary);background:var(--ui-color-surface-soft);color:var(--ui-color-muted);font-size:11px;line-height:1.6}.approval-form-inspector textarea{width:100%;min-height:86px;border:1px solid var(--ui-color-border-strong);border-radius:var(--ui-radius-control);padding:7px 8px;font:inherit;resize:vertical}.approval-form-inspector label small{color:var(--ui-color-muted);font-size:10px}.approval-master-source-note,.approval-system-field-note{display:grid;gap:3px;padding:9px;border-radius:var(--ui-radius-control);background:var(--ui-color-surface-soft);font-size:11px}.approval-master-source-note span{color:var(--ui-color-primary-strong);font-weight:600}.approval-master-source-note small,.approval-system-field-note{color:var(--ui-color-muted);line-height:1.55}.skill-catalog-toolbar{display:flex;align-items:center;gap:10px;margin-bottom:10px}.skill-catalog-toolbar input{flex:1;max-width:360px;height:38px;border:1px solid var(--ui-border, #d1d5db);border-radius:8px;padding:0 11px;font-size:13px}.skill-catalog-group{border:1px solid var(--ui-border, #e5e7eb);border-radius:10px;margin-bottom:8px;overflow:hidden}.skill-catalog-group-head{display:flex;justify-content:space-between;align-items:center;width:100%;padding:10px 14px;background:var(--ui-surface-subtle, #f9fafb);border:none;cursor:pointer;font-size:14px;text-align:left}.skill-catalog-group-head span{color:var(--ui-text-muted, #6b7280);font-size:12px}.skill-catalog-group .request-row{border-top:1px solid var(--ui-border, #e5e7eb)}.skill-table-resizable{table-layout:fixed;width:100%}.skill-table-resizable th{resize:horizontal;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:48px}.skill-table-resizable td{overflow-wrap:anywhere;vertical-align:top}.skill-pos-tags{display:flex;flex-wrap:wrap;gap:4px}.skill-pos-tag{display:inline-block;padding:1px 8px;border-radius:999px;background:#eef6f1;color:#2f6b4f;font-size:12px;line-height:20px;white-space:nowrap}.approval-step-list{display:grid;gap:8px}.approval-boundary-node{padding:10px 14px;border:1px dashed var(--ui-color-border-strong);border-radius:var(--ui-radius-md);background:var(--ui-color-surface-soft);color:var(--ui-color-muted);text-align:center}.approval-boundary-node.end{color:var(--ui-color-success)}.approval-step-row{display:grid;grid-template-columns:30px 100px minmax(150px,1fr) minmax(185px,1fr) auto;align-items:end;gap:10px;padding:12px;border:1px solid var(--ui-color-border);border-radius:var(--ui-radius-md);background:var(--ui-color-surface)}.approval-step-number{display:inline-flex;width:26px;height:26px;align-items:center;justify-content:center;align-self:center;border-radius:50%;background:var(--ui-color-brand-subtle);color:var(--ui-color-primary-strong);font-weight:700}.approval-step-actions{display:flex;gap:5px}.approval-step-actions .ui-button{min-height:34px;padding:0 7px}.approval-flow-reason{display:grid}.approval-flow-dialog>footer,.approval-publish-dialog footer{display:flex;justify-content:flex-end;gap:8px;padding:14px 24px;border-top:1px solid var(--ui-color-border);background:var(--ui-color-surface)}.approval-flow-warning{margin:14px 24px 0;padding:10px 12px;border:1px solid #edc899;border-radius:var(--ui-radius-md);background:#fff8ea;color:#8d581d}.approval-publish-dialog{display:grid;width:min(520px,94vw);gap:16px;padding:22px 24px 0;box-shadow:var(--ui-shadow-overlay)}.approval-publish-dialog footer{margin:0 -24px}@media(max-width:1100px){.approval-designer-shell{grid-template-columns:190px minmax(360px,1fr)}.approval-node-inspector{position:static;grid-column:1 / -1;grid-template-columns:repeat(2,minmax(0,1fr))}.approval-inspector-heading,.approval-inspector-empty{grid-column:1 / -1}.approval-node-inspector fieldset{align-content:start}}@media(max-width:760px){.leave-management-page .ui-page-heading{display:grid}.leave-filter-panel .ui-toolbar{align-items:stretch}.leave-filter-panel .ui-input,.leave-filter-panel .ui-select{width:100%}.leave-adjustment-panel .ui-form-grid{grid-template-columns:1fr}.leave-adjustment-panel .ui-field-wide{grid-column:auto}.leave-tabs{gap:12px;overflow-x:auto}.approval-center-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.approval-center-tabs{overflow-x:auto}.approval-center-tabs button{white-space:nowrap}.approval-center-table-panel{overflow-x:auto}.approval-center-table{min-width:960px}.approval-flow-heading,.approval-flow-toolbar{align-items:stretch;flex-direction:column}.approval-integration-strip,.approval-flow-form-grid{grid-template-columns:1fr}.approval-flow-full{grid-column:auto}.approval-flow-table{min-width:900px}.approval-step-row{grid-template-columns:30px 1fr}.approval-step-row label{grid-column:2}.approval-step-row .ui-button{grid-column:2;justify-self:start}.approval-flow-backdrop{padding:8px}.approval-flow-dialog{max-height:calc(100vh - 16px)}.approval-business-form-reference,.approval-designer-shell,.approval-designer-tabs{grid-template-columns:1fr}.approval-designer-tabs button{justify-content:flex-start;padding-inline:12px}.approval-business-form-reference a{justify-self:start}.approval-node-palette{position:static;grid-template-columns:1fr}.approval-node-inspector{grid-column:auto;grid-template-columns:1fr}.approval-inspector-heading,.approval-inspector-empty{grid-column:auto}.approval-flow-dialog-body{padding-inline:14px}.approval-flow-canvas{padding-inline:10px}}.ui-tabs{display:flex;gap:4px;border-bottom:1px solid #e2e8e4;margin-bottom:16px}.ui-tabs button{background:none;border:none;border-bottom:2px solid transparent;padding:10px 18px;font-size:14px;color:#5a6f61;cursor:pointer}.ui-tabs button.active{color:#2f6b4f;border-bottom-color:#2f6b4f;font-weight:600}.ui-panel-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.ui-panel-head h3{margin:0;font-size:16px}.perf-form{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;padding:14px;background:#f7faf8;border-radius:10px;margin-bottom:14px}.perf-form .ui-field{min-width:160px}.perf-form-actions{display:flex;gap:10px;align-items:center}.perf-plan-card{border:1px solid #e2e8e4;border-radius:10px;padding:16px;margin-bottom:14px}.perf-plan-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.perf-plan-head code{background:#eef4f0;padding:2px 8px;border-radius:5px;font-size:12px;margin-left:8px}.perf-badge{display:inline-block;padding:2px 8px;border-radius:10px;font-size:12px;background:#f0e6d2;color:#8a6d3b;margin-left:8px}.perf-badge.ok{background:#dcebe1;color:#2f6b4f}.perf-hint{font-size:12px;color:#8a9a90}.perf-inline-input{width:100px;padding:5px 8px;border:1px solid #cfdad2;border-radius:6px;font-size:13px}.perf-generate{padding:12px;background:#f4f8f5;border-radius:8px;margin-bottom:14px}.ui-link{background:none;border:none;color:#2f6b4f;cursor:pointer;font-size:13px;margin-right:10px;padding:0}.ui-link:disabled{color:#9db0a5;cursor:not-allowed}.inline-success{padding:10px 14px;background:#dcebe1;border:1px solid #bcd8c6;border-radius:8px;color:#2f6b4f;font-size:13px;margin-bottom:12px}.perf-metric-toolbar{align-items:center}.perf-sortable{cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap}.perf-sortable:hover{color:#2f6b4f}.perf-pager{display:flex;gap:8px;align-items:center;justify-content:flex-end;margin-top:12px;flex-wrap:wrap}.perf-pager select{padding:5px 8px;border:1px solid #cfdad2;border-radius:6px;font-size:13px}.perf-col-settings{position:relative}.perf-col-settings summary{list-style:none;cursor:pointer}.perf-col-settings summary::-webkit-details-marker{display:none}.perf-col-menu{position:absolute;right:0;top:calc(100% + 4px);z-index:30;background:#fff;border:1px solid #dfe7e2;border-radius:8px;padding:10px 12px;box-shadow:0 6px 20px #1f3b2d1f;display:grid;gap:6px;min-width:140px}.perf-col-menu label{display:flex;gap:6px;align-items:center;font-size:13px;color:#33473c}.perf-editing-row{background:#eef6f1}.perf-selected-tags{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}.perf-selected-tags .perf-badge{margin-left:0;display:inline-flex;align-items:center;gap:4px}.perf-tag-remove{background:none;border:none;color:#2f6b4f;cursor:pointer;font-size:13px;padding:0 2px;line-height:1}.perf-drawer-mask{position:fixed;inset:0;background:#182a2159;z-index:60;display:flex;justify-content:flex-end}.perf-drawer{width:min(720px,96vw);height:100%;overflow-y:auto;border-radius:0;margin:0;box-shadow:-8px 0 30px #182a212e}.perf-plan-positions{margin-top:12px;padding-top:12px;border-top:1px dashed #e3e9e5}.perf-plan-positions .perf-badge{margin:4px 6px 0 0}.perf-positions-form{margin-top:8px}.perf-positions-form select[multiple]{min-width:220px;padding:6px;border:1px solid #cfdad2;border-radius:6px}.perf-base-rules{background:#f7faf8;border-radius:10px;padding:14px;margin-bottom:16px}.perf-base-rules h4{margin:0 0 10px;font-size:14px;color:#2f4a3a}.perf-base-calc{display:inline-flex;gap:8px;align-items:center}.perf-base-calc select{padding:5px 8px;border:1px solid #cfdad2;border-radius:6px;font-size:13px}.perf-matrix-wrap{overflow-x:auto}.perf-matrix th,.perf-matrix td{text-align:center;padding:6px 8px}.perf-matrix-input{width:64px;padding:4px 6px;border:1px solid #d8e2db;border-radius:5px;font-size:13px;text-align:center}.perf-matrix-input:focus{border-color:#2f6b4f;outline:none}.perf-badge.warn{background:#f7e8c8;color:#8a6d1a;margin-left:6px}.perf-apply-row{display:flex;align-items:flex-start;gap:10px;padding:8px 0;border-bottom:1px solid #eef2ef;flex-wrap:wrap}.perf-skill-spec{flex-basis:100%;background:#f7faf8;border-radius:8px;padding:10px 12px;margin:4px 0;font-size:13px}.perf-skill-spec p{margin:4px 0}.tsm-bind-attrs{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap;margin:8px 0}.tsm-batch-bar{display:flex;gap:10px;align-items:center;background:#eef5f0;border-radius:8px;padding:8px 12px;margin:8px 0}.tsm-confirm-wide{max-width:720px;width:92vw}.capability-feature-tabs{overflow-x:auto;scrollbar-width:thin}.capability-feature-tabs button{flex-shrink:0}@media(max-width:760px){.ui-panel>.ui-table,.ui-panel .tsm-table-wrap>.ui-table{display:block;overflow-x:auto}.perf-apply-row label{flex-basis:100%}.tsm-add,.tsm-bind-attrs{flex-direction:column;align-items:stretch}}:root{font-family:Inter,PingFang SC,Microsoft YaHei,sans-serif;color:#18312a;background:#f5f7f4;font-synthesis:none;text-rendering:optimizeLegibility;--green:#0f6b4f;--green-dark:#0a4937;--mint:#dcefe5;--line:#dce6df;--ink:#18312a;--muted:#72827b;--orange:#a96831}*{box-sizing:border-box}body{margin:0;min-width:320px;background:#f5f7f4}.app-shell{display:flex;min-height:100vh}.sidebar{width:244px;background:#103d31;color:#e9f4ed;padding:28px 18px;display:flex;flex-direction:column;flex-shrink:0}.brand-mark{display:flex;align-items:center;gap:11px;padding:0 10px 28px}.brand-mark>span{width:38px;height:38px;border-radius:12px;background:#d7f0df;color:var(--green-dark);display:grid;place-items:center;font-size:22px;font-weight:800}.brand-mark strong{display:block;font-size:16px;letter-spacing:.08em}.brand-mark small{display:block;color:#9ec2b0;font-size:11px;margin-top:3px}.workspace-label{font-size:10px;letter-spacing:.15em;color:#85ae9b;padding:0 10px 14px}.sidebar nav{display:grid;gap:5px}.nav-item{display:block;text-decoration:none;color:#a9c8b8;padding:12px 13px;border-radius:9px;font-size:14px}.nav-item:hover,.nav-item.active{color:#fff;background:#ffffff1c}.sidebar-foot{margin-top:auto;color:#8fb6a2;font-size:12px;padding:15px 10px}.dot{display:inline-block;width:7px;height:7px;background:#75d58e;border-radius:50%;margin-right:7px}.main-content{flex:1;max-width:1440px;padding:32px 48px 64px;margin:0 auto}.topbar{display:flex;justify-content:space-between;align-items:flex-end;border-bottom:1px solid var(--line);padding-bottom:24px}.eyebrow{font-size:10px;letter-spacing:.16em;color:#87978f;font-weight:700}.topbar h1{font-size:28px;letter-spacing:-.03em;margin:8px 0 0}.topbar-actions{display:flex;gap:10px;align-items:center}.account-select{border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);font:inherit;font-size:12px;padding:8px 10px;max-width:190px}.status-pill{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--line);border-radius:999px;padding:7px 11px;font-size:12px;color:var(--muted);background:#fff}.status-pill i{display:block;width:6px;height:6px;border-radius:50%;background:#c2ccc7}.status-ok{color:#27784f;border-color:#bce0ca;background:#f2fbf5}.status-ok i{background:#2eb566}.status-warn{color:#a96831;border-color:#ecd4b9;background:#fffaf3}.status-warn i{background:#d79850}.ghost-button,.primary-button{border:0;border-radius:8px;padding:9px 14px;font:inherit;font-size:12px;cursor:pointer}.ghost-button{background:#e9efeb;color:var(--green-dark)}.primary-button{background:var(--green);color:#fff;font-weight:700}.notice{display:flex;gap:13px;background:#e8f4ed;border:1px solid #cfe7d9;border-radius:12px;padding:15px 18px;margin:28px 0}.notice-icon{width:22px;height:22px;border-radius:50%;background:#b8dfc7;color:#276e48;display:grid;place-items:center;font-weight:700;font-size:12px;flex:none}.notice strong{font-size:13px}.notice p{margin:5px 0 0;color:#527366;font-size:12px;line-height:1.6}.error-card{display:flex;gap:9px;align-items:center;background:#fff5ec;border:1px solid #efd4b9;color:#8b572d;border-radius:12px;padding:13px 16px;margin:0 0 24px;font-size:13px}.hero-grid{display:grid;grid-template-columns:minmax(300px,1fr) minmax(380px,1.08fr);gap:20px}.hero-card{background:var(--green-dark);color:#e8f3ed;border-radius:18px;padding:34px 35px;min-height:300px}.hero-kicker{font-size:10px;letter-spacing:.18em;color:#83b59e}.hero-card h2{font-size:34px;line-height:1.2;letter-spacing:-.05em;margin:30px 0 15px}.hero-card h2 em{font-style:normal;color:#aee5c4}.hero-card p{max-width:390px;color:#a9c9b9;font-size:13px;line-height:1.7;margin:0}.hero-tags{display:flex;gap:7px;margin-top:30px}.hero-tags span{border:1px solid #477765;border-radius:999px;padding:6px 9px;font-size:10px;color:#b8d7c6}.metrics-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.metric-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:22px;display:flex;flex-direction:column;justify-content:center;min-height:142px}.metric-label,.metric-card small{color:var(--muted);font-size:12px}.metric-value{font-size:23px;margin:10px 0 6px;letter-spacing:-.03em}.metric-value.green{color:#2a8b59}.metric-value.amber{color:var(--orange)}.metric-value.blue{color:#436ea0;font-size:19px}.metric-value.slate{color:#5e6d66}.content-grid{display:grid;grid-template-columns:1.4fr .8fr;gap:20px;margin-top:20px}.panel{background:#fff;border:1px solid var(--line);border-radius:16px;padding:24px}.panel-heading{display:flex;justify-content:space-between;align-items:start;margin-bottom:10px}.panel h3,.dark-panel h3{margin:8px 0;font-size:18px;letter-spacing:-.03em}.panel-count{font-size:11px;color:var(--muted);background:#f0f4f1;border-radius:999px;padding:6px 9px}.foundation-item{display:flex;align-items:center;gap:15px;padding:16px 0;border-bottom:1px solid #edf1ee}.foundation-item:last-child{border-bottom:0}.foundation-item>span{color:#94a69c;font-size:11px}.foundation-item strong{font-size:13px}.foundation-item p{font-size:12px;color:var(--muted);margin:5px 0 0}.foundation-item b{margin-left:auto;color:#36a169;font-size:14px}.dark-panel{background:#e1eee7;border-color:#d1e5d8}.dark-panel p{color:#537467;font-size:13px;line-height:1.8}.text-link{color:var(--green);font-weight:700;font-size:12px;text-decoration:none}.page-intro{padding:36px 0 26px;max-width:660px}.page-intro.compact-intro{padding-bottom:16px}.page-intro h2{font-size:32px;line-height:1.25;letter-spacing:-.05em;margin:12px 0}.page-intro p{color:var(--muted);font-size:13px;line-height:1.7}.page-intro p strong{color:var(--green)}.page-intro code{background:#e8efea;border-radius:4px;padding:2px 5px}.architecture-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.architecture-cards article{background:#fff;border:1px solid var(--line);border-radius:14px;padding:25px;min-height:190px}.architecture-cards .number{color:#6fa285;font-size:12px;font-weight:700}.architecture-cards h3{font-size:19px;margin:23px 0 9px}.architecture-cards p{font-size:13px;line-height:1.8;color:var(--muted);margin:0}.runtime-panel{background:#fff;border:1px solid var(--line);border-radius:16px;padding:22px;max-width:720px}.runtime-row{display:flex;justify-content:space-between;align-items:start;gap:24px;padding:16px 0;border-bottom:1px solid #edf1ee;font-size:13px;color:#536860}.runtime-row code{white-space:pre-wrap;word-break:break-word;font-size:11px;color:#43665a;max-width:520px}.runtime-panel button{margin-top:20px}.mobile-nav{display:none}.people-layout{display:grid;grid-template-columns:250px minmax(0,1fr);gap:18px;align-items:start}.org-panel,.employee-panel,.detail-panel{background:#fff;border:1px solid var(--line);border-radius:16px}.org-panel{padding:20px;min-height:620px}.employee-panel{padding:22px}.employee-toolbar{display:flex;justify-content:space-between;gap:20px;align-items:end;margin-bottom:17px}.employee-toolbar h3{margin:8px 0 0;font-size:19px}.employee-toolbar h3 small{font-size:12px;color:var(--muted);font-weight:400}.filter-row{display:flex;gap:8px;align-items:center}.filter-row input,.filter-row select{border:1px solid var(--line);border-radius:8px;padding:9px 10px;font:inherit;font-size:12px;background:#fbfcfb;color:var(--ink)}.filter-row input{width:180px}.org-tree{font-size:13px}.org-node-button{width:100%;border:0;background:transparent;color:#536860;text-align:left;padding:8px 5px;border-radius:7px;font:inherit;cursor:pointer}.org-node-button:hover,.org-node-button.selected{background:#e8f4ed;color:var(--green);font-weight:700}.org-node-icon{display:inline-block;width:18px;color:#8ca299}.org-children{border-left:1px solid #dbe8df;margin-left:10px;padding-left:8px}.employee-content{display:grid;grid-template-columns:minmax(390px,1fr) minmax(310px,.8fr);gap:16px}.employee-table-wrap{overflow:auto}.employee-table{width:100%;border-collapse:collapse;font-size:12px}.employee-table th{text-align:left;font-size:11px;color:#8a9991;font-weight:500;padding:10px;border-bottom:1px solid var(--line);white-space:nowrap}.employee-table td{padding:13px 10px;border-bottom:1px solid #edf1ee;color:#52675e;vertical-align:top}.employee-table tbody tr{cursor:pointer}.employee-table tbody tr:hover,.employee-table tbody tr.selected{background:#f0f8f2}.employee-table td strong,.employee-table td small{display:block}.employee-table td strong{color:var(--ink);font-size:13px}.employee-table td small{color:#97a49e;font-size:10px;margin-top:4px}.state-label{display:inline-block;background:#e8f4ed;color:#327b54;border-radius:999px;padding:5px 8px;font-size:10px;white-space:nowrap}.detail-panel{padding:20px;min-height:550px}.detail-header{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line);padding-bottom:16px}.detail-header h3{font-size:20px;margin:7px 0 5px}.detail-header small{color:var(--muted);font-size:11px}.detail-section{padding:16px 0;border-bottom:1px solid #edf1ee}.detail-section:last-child{border-bottom:0}.detail-section h4{font-size:12px;margin:0 0 13px;color:#61756c}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.detail-grid small,.info-list small{display:block;color:#97a49e;font-size:10px;margin-bottom:4px}.detail-grid strong,.info-list strong{font-size:12px;color:var(--ink)}.relation-list{display:grid;gap:10px}.relation-row{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid #f0f3f1}.relation-row:last-child{border-bottom:0}.relation-row strong,.relation-row span,.relation-row small{display:block}.relation-row strong{font-size:11px;color:#61756c}.relation-row span{font-size:12px;color:var(--ink);margin-top:3px}.relation-row small{text-align:right;color:#97a49e;font-size:10px;margin-bottom:4px}.source-note{color:#8b9993;font-size:11px}.empty-state{color:#93a19a;font-size:12px;line-height:1.7;padding:20px 5px}.empty-state.large{min-height:260px;display:grid;place-items:center;border:1px dashed var(--line);border-radius:10px}.inline-error{background:#fff5ec;border:1px solid #efd4b9;color:#8b572d;border-radius:9px;padding:10px 12px;margin-bottom:13px;font-size:12px}.my-info-grid{display:grid;grid-template-columns:280px minmax(0,580px);gap:18px}.profile-card{background:var(--green-dark);color:#e8f3ed;border-radius:16px;padding:28px;min-height:280px}.profile-avatar{width:62px;height:62px;display:grid;place-items:center;background:#d7f0df;color:var(--green-dark);font-size:27px;font-weight:800;border-radius:18px}.profile-card h3{font-size:24px;margin:27px 0 7px}.profile-card p{color:#a9c9b9;font-size:12px}.profile-card .state-label{background:#2a6c50;color:#d8f0e0;margin-top:18px}.info-panel{min-height:280px}.info-list{display:grid;grid-template-columns:1fr 1fr;gap:22px 35px;margin-top:23px}@media(max-width:900px){.sidebar{width:205px}.main-content{padding:27px 28px 50px}.hero-grid,.content-grid{grid-template-columns:1fr}.hero-card{min-height:auto}.architecture-cards,.people-layout{grid-template-columns:1fr}.org-panel{min-height:auto}.employee-content{grid-template-columns:1fr}.detail-panel{min-height:0}.my-info-grid{grid-template-columns:1fr}}@media(max-width:620px){.app-shell{display:block}.sidebar{width:100%;height:auto;padding:17px 18px 12px;display:block}.brand-mark{padding:0 0 14px}.workspace-label,.sidebar nav{display:none}.sidebar-foot{position:absolute;right:18px;top:24px;margin:0;padding:0;font-size:11px}.main-content{padding:20px 17px 88px}.topbar{align-items:start}.topbar h1{font-size:23px}.topbar-actions{gap:5px;flex-direction:column;align-items:flex-end}.topbar-actions .status-pill{font-size:10px;padding:5px 8px}.account-select{max-width:160px;font-size:10px;padding:6px 7px}.ghost-button{font-size:11px;padding:7px 9px}.notice{margin:19px 0;padding:13px}.hero-card{padding:26px 24px}.hero-card h2{font-size:29px;margin-top:23px}.metrics-grid{gap:9px}.metric-card{padding:15px;min-height:108px}.metric-value{font-size:18px}.metric-value.blue{font-size:14px}.content-grid{gap:13px}.panel{padding:18px}.foundation-item{gap:10px}.foundation-item p{line-height:1.5}.filter-row{display:grid;grid-template-columns:1fr 1fr;width:100%}.filter-row input{width:auto;grid-column:1 / -1}.employee-toolbar{display:block}.employee-toolbar .filter-row{margin-top:15px}.employee-panel{padding:15px}.employee-table{min-width:620px}.detail-grid,.info-list{grid-template-columns:1fr 1fr}.relation-row{display:block}.relation-row>div:last-child{margin-top:7px}.relation-row small{text-align:left}.mobile-nav{display:flex;position:fixed;z-index:5;bottom:0;left:0;right:0;background:#fff;border-top:1px solid var(--line);height:62px;justify-content:space-around;align-items:center}.mobile-nav a{color:#829189;text-decoration:none;font-size:11px}.mobile-nav a.active{color:var(--green);font-weight:700}}.clock-in-placeholder{display:flex;align-items:center;gap:13px;background:#e7f2eb;border:1px solid #cce3d3;border-radius:14px;padding:15px 17px;margin:7px 0 18px}.clock-in-icon{display:grid;place-items:center;width:35px;height:35px;border-radius:11px;background:#b8dfc7;color:#1f704b;font-size:22px}.clock-in-placeholder strong,.clock-in-placeholder small{display:block}.clock-in-placeholder strong{font-size:13px}.clock-in-placeholder small{color:#6e897b;font-size:11px;margin-top:4px}.today-shift-card{background:var(--green-dark);color:#e9f4ed;border-radius:17px;padding:22px 24px;max-width:620px;margin-bottom:18px}.today-shift-card h3{font-size:25px;margin:12px 0 6px}.today-shift-card p{margin:0;color:#b4d2c2;font-size:14px}.today-shift-card small{display:block;color:#8fb9a3;font-size:11px;margin-top:17px}.schedule-toolbar{display:flex;align-items:center;gap:11px;margin:16px 0;flex-wrap:wrap}.schedule-toolbar strong{font-size:13px;color:var(--ink)}.toolbar-spacer{flex:1}.inline-success{background:#edf9f0;border:1px solid #c8e7d0;color:#27784f;border-radius:9px;padding:10px 12px;margin-bottom:13px;font-size:12px}.employee-schedule-list{display:grid;gap:9px;max-width:900px}.schedule-list-item{display:flex;align-items:center;gap:16px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:13px 15px}.schedule-list-item.changed{border-color:#e6c892;background:#fffaf1}.schedule-date{width:48px;text-align:center;border-right:1px solid var(--line);padding-right:13px}.schedule-date strong,.schedule-date small{display:block}.schedule-date strong{font-size:14px}.schedule-date small{font-size:11px;color:var(--muted);margin-top:4px}.schedule-main{flex:1}.schedule-main strong,.schedule-main span,.schedule-main small{display:block}.schedule-main strong{font-size:13px}.schedule-main span{font-size:12px;color:var(--green);margin-top:4px}.schedule-main small{color:var(--muted);font-size:11px;margin-top:5px}.schedule-status{font-size:10px;padding:5px 8px;border-radius:999px;background:#e8f4ed;color:#327b54}.manager-toolbar{background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px}.schedule-board-wrap{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:auto}.schedule-board{border-collapse:collapse;width:100%;min-width:880px;font-size:12px}.schedule-board th,.schedule-board td{border-bottom:1px solid #edf1ee;border-right:1px solid #edf1ee;padding:8px}.schedule-board thead th{background:#f7faf7;color:#70837a;font-weight:600;text-align:center;white-space:nowrap}.schedule-board thead th:first-child{text-align:left;min-width:150px}.schedule-board thead small,.schedule-board tbody small{display:block;font-weight:400;color:#9ba9a2;margin-top:4px}.schedule-board tbody>tr>th{background:#fbfcfb;text-align:left}.schedule-board td select{width:100%;border:1px solid transparent;border-radius:6px;background:#f7faf7;color:var(--ink);font:inherit;font-size:11px;padding:7px 4px}.schedule-board td small{font-size:9px;white-space:nowrap}.clock-in-placeholder+.today-shift-card{margin-top:0}@media(max-width:620px){.schedule-toolbar{justify-content:space-between}.schedule-toolbar strong{order:-1;width:100%;text-align:center}.manager-toolbar .toolbar-spacer{display:none}.manager-toolbar .ghost-button,.manager-toolbar .primary-button{flex:1}.schedule-list-item{gap:9px;padding:11px 10px}.schedule-date{width:43px;padding-right:9px}.schedule-main small{line-height:1.5}.schedule-status{display:none}.schedule-board-wrap{margin:0 -5px}.schedule-board{min-width:760px}.today-shift-card{padding:20px}}.login-secondary-button{width:100%;margin-top:10px}.session-panel{max-width:850px}.session-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.session-list{display:grid;gap:9px}.session-item{display:flex;justify-content:space-between;align-items:center;gap:15px;border:1px solid var(--line);border-radius:10px;padding:14px}.session-item.current{border-color:#9ed5b0;background:#f5fbf6}.session-item strong,.session-item small{display:block}.session-item strong{font-size:13px}.session-item small{font-size:11px;color:var(--muted);margin-top:5px}.temporary-password{display:flex;align-items:center;gap:12px;flex-wrap:wrap;background:#fff8e9;border:1px solid #efd7a6;border-radius:10px;padding:13px;margin-bottom:13px}.temporary-password code{font-size:14px;font-weight:800;letter-spacing:.08em;color:#754e22}.temporary-password strong{font-size:12px;color:#754e22}.current-user{font-size:12px;color:var(--green-dark);font-weight:700;white-space:nowrap}.login-shell{min-height:100vh;display:grid;place-items:center;padding:24px;background:linear-gradient(135deg,#e9f4ed,#f7faf7)}.login-card{width:min(100%,430px);background:#fff;border:1px solid var(--line);border-radius:22px;padding:34px;box-shadow:0 22px 60px #103d3117}.login-brand{display:flex;align-items:center;gap:11px;margin-bottom:34px}.login-brand>span{width:42px;height:42px;border-radius:13px;background:#d7f0df;color:var(--green-dark);display:grid;place-items:center;font-size:24px;font-weight:800}.login-brand strong{font-size:17px;letter-spacing:.08em}.login-brand small{font-size:11px;color:var(--muted);margin-top:4px}.login-card h1{font-size:32px;margin:11px 0 8px;color:var(--ink)}.login-subtitle{font-size:13px;color:var(--muted);line-height:1.7;margin:0 0 24px}.login-card form{display:grid;gap:16px}.login-card label{display:grid;gap:7px;color:#536860;font-size:12px;font-weight:700}.login-card input{width:100%;border:1px solid var(--line);border-radius:9px;padding:12px 13px;font:inherit;color:var(--ink);background:#fbfcfb}.login-card input:focus{outline:2px solid #b8dfc7;border-color:var(--green)}.login-button{width:100%;padding:12px}.login-footnote{border-top:1px solid #edf1ee;margin-top:22px;padding-top:15px;color:#97a49e;font-size:11px;line-height:1.7}.login-loading{color:var(--green);font-size:14px}.workbench-nav-links{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin:0 0 18px}.workbench-nav-links a{color:#b9d2c4;text-decoration:none;padding:8px 10px;border-radius:7px;font-size:12px}.workbench-nav-links a:hover{background:#ffffff1a;color:#fff}.workbench-greeting{display:flex;justify-content:space-between;align-items:end;gap:16px;margin:8px 0 18px}.workbench-greeting h3{font-size:26px;margin:9px 0 5px;letter-spacing:-.04em}.workbench-greeting p{color:var(--muted);font-size:13px;margin:0}.workbench-link{display:inline-flex;align-items:center;gap:6px;text-decoration:none;min-height:44px}.workbench-link b{background:var(--green);color:#fff;border-radius:999px;padding:2px 6px;font-size:10px}.support-banner,.payslip-notice{display:flex;align-items:center;gap:12px;flex-wrap:wrap;border:1px solid #cfe7d9;background:#edf8f0;border-radius:12px;padding:13px 15px;margin-bottom:16px;color:#2f6f4c;font-size:12px}.support-banner a,.payslip-notice a{margin-left:auto;color:var(--green);font-weight:700;text-decoration:none}.workbench-primary-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:16px}.punch-card{background:var(--green-dark);color:#e8f3ed;border-radius:16px;padding:23px;min-height:215px}.punch-card h3{font-size:24px;line-height:1.25;margin:25px 0 10px}.punch-card p{color:#b5d2c1;font-size:12px;line-height:1.7;min-height:38px}.workbench-cta{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;min-height:44px;margin-top:12px;background:#cfeedd;color:var(--green-dark)}.today-plan-card{min-height:215px}.today-plan{display:grid;gap:10px;padding:18px 0}.today-plan strong{font-size:21px}.today-plan span{color:var(--green);font-weight:700;font-size:14px}.today-plan small{color:var(--muted);font-size:12px;line-height:1.6}.workbench-section{margin-top:16px}.todo-list,.message-list{display:grid;gap:2px}.todo-row,.message-row{display:flex;align-items:center;gap:11px;text-decoration:none;color:var(--ink);padding:13px 8px;border-bottom:1px solid #edf1ee;min-height:58px}.todo-row:last-child,.message-row:last-child{border-bottom:0}.todo-row:hover,.message-row:hover{background:#f8fbf8}.todo-row>div,.message-row>div{flex:1}.todo-row strong,.todo-row small,.message-row strong,.message-row small{display:block}.todo-row strong,.message-row strong{font-size:13px}.todo-row small,.message-row small{color:var(--muted);font-size:11px;margin-top:4px}.todo-row>b{font-size:20px;color:#a6b3ac}.priority-dot{width:8px;height:8px;border-radius:50%;background:#afc1b6;flex:none}.priority-dot.high{background:#df8b54}.priority-dot.normal{background:#78b58f}.quick-action-grid,.work-category-grid,.my-link-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.quick-action,.work-category,.my-link-grid a{display:flex;flex-direction:column;justify-content:center;gap:7px;min-height:72px;padding:13px;border:1px solid var(--line);border-radius:10px;background:#fbfdfb;text-decoration:none;color:var(--ink);font-size:13px}.quick-action:hover,.work-category:hover,.my-link-grid a:hover{border-color:#a9d7b8;background:#f1faf3}.quick-action span,.work-category span,.my-link-grid span{color:var(--muted);font-size:10px}.work-category{min-height:108px;padding:18px}.work-category.disabled{color:#9aa9a1;background:#f1f4f1;border-style:dashed}.workbench-note{margin-top:16px}.workbench-note p{font-size:12px;color:var(--muted);line-height:1.7}.message-row time{color:#98a59e;font-size:10px;white-space:nowrap}.message-category{color:var(--green);font-size:10px;background:#e8f4ed;padding:5px 7px;border-radius:6px;white-space:nowrap}.my-workbench-card{display:flex;align-items:center;gap:16px;background:var(--green-dark);border-radius:16px;color:#e8f3ed;padding:23px;margin-bottom:16px}.my-workbench-card>div:nth-child(2){flex:1}.my-workbench-card h3{margin:6px 0;font-size:22px}.my-workbench-card p{margin:0;color:#b5d2c1;font-size:12px}.my-workbench-card .ghost-button{color:var(--green-dark);text-decoration:none;background:#d9f0e1}.my-link-grid a{min-height:94px;background:#fff}.manager-attendance{margin-top:8px}.manager-attendance-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}.manager-attendance-grid>div{background:#f3f7f4;border-radius:10px;padding:15px}.manager-attendance-grid strong,.manager-attendance-grid span{display:block}.manager-attendance-grid strong{font-size:24px}.manager-attendance-grid span{color:var(--muted);font-size:11px;margin-top:4px}.manager-attendance-grid .good strong{color:#2c8a58}.manager-attendance-grid .warn strong{color:#b67635}.manager-attendance-grid .bad strong{color:#b65a4b}.manager-card-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:11px;margin:16px 0}.manager-card{display:flex;flex-direction:column;gap:9px;text-decoration:none;color:var(--ink);border:1px solid var(--line);border-radius:12px;background:#fff;padding:16px;min-height:112px}.manager-card:hover{border-color:#a9d7b8}.manager-card span,.manager-card small{font-size:11px;color:var(--muted)}.manager-card strong{font-size:25px;color:var(--green)}.skip-link{position:fixed;left:12px;top:8px;z-index:10;transform:translateY(-150%);background:var(--green-dark);color:#fff;padding:10px 14px;border-radius:7px;text-decoration:none}.skip-link:focus{transform:translateY(0)}.error-boundary{min-height:100vh;display:grid;place-items:center;padding:24px;background:#f5f7f4}.error-boundary .panel{max-width:480px}.error-boundary h1{font-size:26px}.error-boundary p{color:var(--muted);line-height:1.7;font-size:13px}.workbench-nav-links a:focus-visible,.mobile-nav a:focus-visible,.nav-item:focus-visible,.primary-button:focus-visible,.ghost-button:focus-visible,.quick-action:focus-visible,.work-category:focus-visible{outline:3px solid #a7d7b7;outline-offset:2px}@media(max-width:620px){.main-content{padding-left:14px;padding-right:14px}.workbench-greeting{align-items:start;display:block}.workbench-greeting .workbench-link{margin-top:12px}.workbench-primary-grid{grid-template-columns:1fr;gap:12px}.quick-action-grid,.work-category-grid,.my-link-grid{grid-template-columns:repeat(2,1fr)}.punch-card,.today-plan-card{min-height:0}.punch-card h3{font-size:22px;margin-top:18px}.manager-attendance-grid,.manager-card-grid{grid-template-columns:repeat(2,1fr)}.my-workbench-card{align-items:start;flex-wrap:wrap}.my-workbench-card .ghost-button{width:100%;text-align:center}.message-row{align-items:start}.message-row time{margin-left:auto}.support-banner a,.payslip-notice a{margin-left:0;width:100%}.workbench-page .page-intro{padding-top:20px}.workbench-section{padding:16px}}.ai-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:18px}.ai-page textarea{width:100%;min-height:130px;resize:vertical;border:1px solid var(--line,#dfe5ec);border-radius:12px;padding:14px;font:inherit;background:#fff}.ai-actions,.answer-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px}.ai-answer{margin-top:18px;border:1px solid var(--line,#dfe5ec);border-radius:14px;padding:16px;white-space:pre-wrap}.ai-answer p{line-height:1.7}.source-list{display:flex;flex-direction:column;gap:6px;margin-top:12px;font-size:13px}.history-item{display:flex;flex-direction:column;align-items:flex-start;gap:4px;width:100%;padding:11px;border:0;border-bottom:1px solid var(--line,#edf0f4);background:transparent;text-align:left;cursor:pointer}.history-item.active{background:#eef5ff}.history-item small{color:#6b7280}.ai-actions span,.muted{color:#667085;font-size:13px}@media(max-width:900px){.ai-layout{grid-template-columns:1fr}.ai-history{display:none}}.organization-foundation-layout{display:grid;grid-template-columns:310px minmax(0,1fr);gap:18px;align-items:start}.organization-tree-panel,.organization-detail-panel{min-height:620px}.organization-tree-panel{padding:18px}.organization-tree-row{display:flex;align-items:center;gap:5px;border-radius:8px;padding:3px}.organization-tree-row.selected{background:#e8f4ed}.tree-toggle,.tree-label{border:0;background:transparent;font:inherit;cursor:pointer}.tree-toggle{width:22px;color:#8aa097;font-size:16px}.tree-label{text-align:left;flex:1;padding:7px 4px;color:#18312a}.tree-label strong,.tree-label small{display:block}.tree-label strong{font-size:13px}.tree-label small{color:#91a099;font-size:10px;margin-top:3px}.organization-tree-children{border-left:1px solid #dbe8df;margin-left:10px;padding-left:9px}.organization-detail-panel{padding:24px}.organization-detail-header{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);padding-bottom:17px}.organization-detail-header h3{font-size:25px;margin:8px 0 4px}.organization-detail-header p{color:var(--muted);font-size:12px;margin:0}.organization-tabs{display:flex;gap:4px;overflow:auto;border-bottom:1px solid var(--line);margin-bottom:22px}.organization-tabs button{border:0;background:transparent;color:#71837a;padding:13px 14px;white-space:nowrap;cursor:pointer;font:inherit;font-size:12px}.organization-tabs button.active{color:var(--green);font-weight:700;border-bottom:2px solid var(--green)}.organization-info-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 30px}.organization-info-grid small,.organization-flag-list span{display:block;color:#8a9991;font-size:11px;margin-bottom:7px}.organization-info-grid strong{font-size:13px}.organization-flag-list{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.organization-flag-list>div{border:1px solid var(--line);border-radius:10px;padding:16px;background:#fbfcfb}.organization-flag-list strong{color:#9a6d43}.organization-flag-list strong.enabled{color:#2b8c5a}.organization-tag-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:17px 0}.organization-tag-grid label{border:1px solid var(--line);border-radius:9px;padding:11px;font-size:12px}.organization-tag-grid small{display:block;color:#95a39b;font-size:10px;margin:4px 0 0 23px}.scope-list{display:grid;gap:8px}.scope-row{display:grid;grid-template-columns:1.2fr 1fr 1fr 80px;gap:12px;align-items:center;border-bottom:1px solid #edf1ee;padding:13px 4px;font-size:12px}.scope-row span:last-child{color:#328459}.organization-editor{max-width:720px}.organization-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.organization-form-grid label{display:grid;gap:7px;color:#61756c;font-size:12px}.organization-form-grid input,.organization-form-grid select{border:1px solid var(--line);border-radius:8px;padding:10px;font:inherit;background:#fff}.organization-editor fieldset{border:1px solid var(--line);border-radius:10px;margin:20px 0;padding:15px}.organization-checkbox-row{display:flex;gap:20px;flex-wrap:wrap;font-size:12px}.organization-checkbox-row label{display:flex;gap:6px;align-items:center}.organization-page-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;border-bottom:1px solid #e5ece7;padding:10px 0 14px}.organization-page-heading h2{margin:7px 0 4px;font-size:25px}.organization-page-heading p{margin:0;color:#71837a;font-size:12px}.organization-page-actions{display:flex;gap:9px}.organization-filter-bar{display:flex;align-items:flex-end;gap:10px;padding:12px 0}.organization-filter-bar label{display:grid;gap:5px;color:#71837a;font-size:11px}.organization-filter-bar input,.organization-filter-bar select{min-width:125px;border:1px solid #d6e3da;border-radius:5px;padding:8px 10px;font:inherit;background:#fff;color:#254238}.organization-filter-bar input{min-width:220px}.text-link-button{border:0;background:none;color:#00895c;padding:9px 4px;cursor:pointer;font:inherit;font-size:12px}.organization-table-shell{overflow:hidden;border:1px solid #e2e9e4;border-radius:3px}.organization-table-meta{height:42px;display:flex;gap:18px;align-items:center;padding:0 15px;color:#64766e;font-size:12px;border-bottom:1px solid #e2e9e4}.organization-table-meta strong{color:#1e4032}.organization-table-scroll{overflow:auto;max-height:calc(100vh - 275px)}.organization-table{width:100%;min-width:1500px;border-collapse:separate;border-spacing:0;font-size:12px;color:#30483e}.organization-table th{height:42px;background:#f5f8f6;color:#53665e;font-weight:600;text-align:left;border-bottom:1px solid #dfe8e2;white-space:nowrap}.organization-table td{height:48px;border-bottom:1px solid #e8efea;white-space:nowrap;background:#fff}.organization-table tbody tr:hover td,.organization-table tbody tr.selected td{background:#f3faf5}.organization-table th,.organization-table td{padding:0 12px}.organization-name-column{min-width:235px;position:sticky;left:0;z-index:2}.organization-table thead .organization-name-column{z-index:4;background:#f5f8f6}.organization-table tbody .organization-name-column{color:#00895c}.organization-operation-column{min-width:160px;position:sticky;right:0;z-index:2}.organization-table thead .organization-operation-column{z-index:4;background:#f5f8f6}.organization-table tbody .organization-operation-column{background:#fff}.organization-tree-cell{display:flex;align-items:center;gap:7px;font-weight:600}.tree-toggle{width:17px;height:17px;border:0;background:transparent;color:#5e756a;font-size:14px;cursor:pointer;padding:0}.tree-spacer{width:17px}.ellipsis-cell{max-width:145px;overflow:hidden;text-overflow:ellipsis}.count-link{border:0;background:none;color:#00895c;cursor:pointer;font:inherit}.organization-badges{display:flex;gap:4px}.organization-badges span,.tag-count,.status-badge{display:inline-flex;align-items:center;border-radius:11px;padding:3px 7px;font-size:10px;background:#eef7f1;color:#37845e}.organization-badges span:nth-child(2){background:#f3f4e9;color:#777a37}.organization-badges span:nth-child(3){background:#f6efe5;color:#97724a}.status-badge{background:#e8f6ed;color:#268452}.status-badge:not(.active){background:#f0f2f1;color:#849089}.organization-row-actions{display:flex;gap:10px}.organization-row-actions button{border:0;background:none;color:#00895c;cursor:pointer;font:inherit;font-size:12px;padding:0}.organization-detail-drawer{position:fixed;top:0;right:0;bottom:0;width:min(490px,94vw);z-index:20;background:#fff;border-left:1px solid #dce8df;box-shadow:-8px 0 24px #2043321f;display:flex;flex-direction:column}.organization-drawer-head{display:flex;justify-content:space-between;gap:18px;padding:24px 26px 17px;border-bottom:1px solid #e4ece7}.organization-drawer-head h3{margin:6px 0 4px;font-size:22px}.organization-drawer-head p{margin:0;color:#73847b;font-size:12px}.organization-close{border:0;background:none;font-size:24px;color:#71837a;cursor:pointer}.organization-drawer-body{padding:22px 26px;overflow:auto;flex:1}.organization-drawer-actions{padding:14px 26px;border-top:1px solid #e4ece7;display:flex;justify-content:flex-end;gap:10px}.organization-employee-list{border-top:1px solid #e4ece7;margin-top:15px}.organization-employee-list>div{display:flex;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid #edf2ee}.organization-employee-list span{color:#75867e;font-size:11px}.organization-editor{position:fixed;right:0;top:0;bottom:0;margin:0;max-width:560px;width:min(560px,94vw);border-radius:0;overflow:auto}.org-page{display:flex;flex-direction:column;gap:14px;padding:6px 0 24px;min-height:100%}.org-message{position:fixed;top:14px;right:18px;z-index:60;padding:10px 16px;border-radius:8px;font-size:13px;box-shadow:0 6px 18px #1f3f2f29}.org-message.ok{background:#e8f6ec;color:#1c7c3a;border:1px solid #bfe5cb}.org-message.err{background:#fdeeee;color:#b3261e;border:1px solid #f5c9c6}.org-toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.org-toolbar h2{margin:0;font-size:18px}.org-toolbar input{padding:8px 12px;border:1px solid #cfe0d7;border-radius:8px;min-width:240px}.org-toolbar .primary{margin-left:auto}.org-toolbar-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.org-search-button,.org-secondary-button{border:1px solid #b9d8c6;border-radius:7px;background:#fff;color:#26734b;padding:7px 10px;font-size:12px;cursor:pointer}.org-search-button{background:#eff9f2}.org-secondary-button:disabled{opacity:.45;cursor:not-allowed}.org-hidden-input{display:none}.org-import-modal{width:min(1080px,94vw)}.org-import-preview-table{max-height:48vh;overflow:auto;margin:12px 0}.org-import-action{display:inline-block;padding:3px 6px;border-radius:5px;font-size:11px}.org-import-action.create{background:#eaf7ee;color:#26734b}.org-import-action.update,.org-import-action.high_risk_change{background:#fff3e6;color:#9b5d27}.org-import-action.requires_mapping,.org-import-action.error{background:#fdeeee;color:#b3261e}.org-import-action.unchanged{background:#eef3f0;color:#687a71}.org-filter-bar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:12px 0;padding:10px 12px;background:#fff;border:1px solid #e4ece7;border-radius:10px}.org-filter-title{font-size:12px;font-weight:600;color:#36554a;margin-right:4px}.org-filter-bar select{border:1px solid #cfe0d7;border-radius:7px;background:#fbfcfb;color:#38564b;padding:7px 9px;font-size:12px}.org-quality-button,.org-clear-filter{border:1px solid #b9d8c6;border-radius:7px;background:#eff9f2;color:#26734b;padding:7px 10px;font-size:12px;cursor:pointer}.org-quality-button{margin-left:auto}.org-quality-button:disabled{opacity:.55;cursor:not-allowed}.org-clear-filter{border-color:transparent;background:transparent}.org-quality-panel{margin:0 0 12px;padding:10px 12px;background:#fff;border:1px solid #e4ece7;border-radius:10px;font-size:12px}.org-quality-grid{display:flex;gap:7px;flex-wrap:wrap;margin-top:8px}.org-quality-grid span{border-radius:999px;padding:4px 8px}.org-quality-grid span.ok{background:#eaf7ee;color:#26734b}.org-quality-grid span.warn{background:#fff3e6;color:#9b5d27}.org-layout{display:grid;grid-template-columns:300px 1fr;gap:16px;align-items:start}.org-flat-layout{display:grid;gap:16px}.org-flat-table-wrap{overflow:auto;background:#fff;border:1px solid #e4ece7;border-radius:12px}.org-flat-table{width:100%;min-width:920px;border-collapse:collapse;font-size:12px}.org-flat-table th{position:sticky;top:0;z-index:1;background:#f7faf8;color:#496359;font-weight:600;text-align:left;white-space:nowrap}.org-flat-table th,.org-flat-table td{height:44px;padding:8px 12px;border-bottom:1px solid #e8efeb;vertical-align:middle}.org-flat-table tbody tr:hover,.org-flat-table tbody tr.selected{background:#f0f8f3}.org-flat-sort{display:inline-flex;align-items:center;gap:5px;border:0;background:transparent;color:inherit;font:inherit;font-weight:600;cursor:pointer;padding:0}.org-flat-sort span{color:#96a89f;font-size:11px}.org-flat-sort.active,.org-flat-sort.active span{color:#08784f}.org-flat-name{display:flex;align-items:center;gap:7px;width:100%;border:0;background:transparent;color:#08784f;font:inherit;font-weight:600;text-align:left;cursor:pointer;white-space:nowrap}.org-flat-toggle{width:14px;height:14px;display:inline-grid;place-items:center;border:1px solid #c8d7cf;border-radius:3px;color:#71857a;font-size:11px}.org-flat-count{color:#08784f;font-weight:600}.org-flat-status{display:inline-flex;padding:3px 8px;border-radius:999px;background:#f2f3f2;color:#69786f}.org-flat-status.active{background:#e7f6ec;color:#168052}.org-flat-actions{display:flex;gap:10px;white-space:nowrap}.org-flat-actions button{border:0;background:transparent;color:#078052;font:inherit;font-weight:600;cursor:pointer}.org-flat-pagination{display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:12px;color:#61746a;font-size:12px;white-space:nowrap}.org-flat-pagination>span{margin-right:auto}.org-flat-pagination label{display:flex;align-items:center;gap:5px}.org-flat-pagination select,.org-flat-pagination button{height:30px;border:1px solid #cfe0d7;border-radius:7px;background:#fff;color:#315b49;padding:0 9px;font-size:12px}.org-flat-pagination button{cursor:pointer}.org-flat-pagination button:disabled{opacity:.45;cursor:not-allowed}.org-flat-pagination strong{font-weight:600;color:#315b49}.org-flat-detail{min-height:0}.org-field-settings-button{border:1px solid #b9d8c6;border-radius:7px;background:#fff;color:#26734b;padding:7px 10px;font-size:12px;cursor:pointer}.org-field-settings-modal{width:min(520px,92vw)}.org-field-settings-list{display:grid;gap:4px;max-height:55vh;overflow:auto;margin:14px 0}.org-field-setting-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:9px 10px;border:1px solid #e4ece7;border-radius:8px}.org-field-setting-row label{display:flex;align-items:center;gap:8px;margin:0}.org-field-setting-row small{color:#82958b}.org-field-setting-row>div{display:flex;gap:5px}.org-field-setting-row button{border:1px solid #cfe0d7;border-radius:6px;background:#fff;color:#26734b;padding:4px 8px;font-size:11px}.org-field-setting-row button:disabled{opacity:.4}.org-flat-actions button.danger{color:#c43d32}.org-delete-test-button{border:1px solid #e5b8b2;border-radius:7px;background:#fff7f6;color:#b8352c;padding:7px 10px;font-size:12px;cursor:pointer}.org-delete-modal{width:min(560px,92vw)}.org-delete-modal>p{color:#5d7067;line-height:1.7}.org-delete-targets{display:grid;gap:4px;max-height:180px;overflow:auto;padding:10px 12px;border:1px solid #e4ece7;border-radius:8px;background:#f8faf9;font-size:12px}.org-delete-modal>label{display:grid;gap:6px;margin-top:14px}.org-delete-modal>label input{height:36px;border:1px solid #cfe0d7;border-radius:7px;padding:0 10px}.org-modal-actions button.danger{border-color:#c43d32;background:#c43d32;color:#fff}.org-modal-actions button.danger:disabled{opacity:.45;cursor:not-allowed}.org-bulk-responsibility-button:not(:disabled){background:#eaf7ee;border-color:#91caaa;color:#0a7650}.org-bulk-responsibility-modal{width:min(620px,92vw)}.org-bulk-targets{display:flex;flex-wrap:wrap;gap:6px;max-height:96px;overflow:auto;padding:9px;border:1px solid #e4ece7;border-radius:9px;background:#f8faf9}.org-bulk-targets span{padding:3px 8px;border-radius:999px;background:#e9f5ed;color:#2e6b4d;font-size:11px}.org-bulk-responsibility-field{display:grid;grid-template-columns:145px minmax(0,1fr);align-items:center;gap:12px;padding:11px;border:1px solid #e3ebe6;border-radius:10px;background:#f8faf9;opacity:.72}.org-bulk-responsibility-field.active{border-color:#9fcdb0;background:#f3faf5;opacity:1}.org-bulk-responsibility-field>.inline{font-weight:600;color:#315b49}.org-bulk-responsibility-modal>label{margin-top:2px}@media(max-width:620px){.org-bulk-responsibility-field{grid-template-columns:1fr;gap:8px}.org-bulk-responsibility-modal{width:min(94vw,620px);padding:16px}}.org-tree{background:#fff;border:1px solid #e4ece7;border-radius:12px;padding:10px 6px;max-height:76vh;overflow:auto}.org-tree-row{display:flex;align-items:center;gap:8px;padding:7px 8px;border-radius:8px;cursor:pointer;font-size:13px;color:#2c3a33}.org-tree-row:hover{background:#f2f7f4}.org-tree-row.active{background:#e5f2ea;font-weight:600}.org-tree-row.status-inactive{opacity:.55}.org-tree-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.org-tree-code{margin-left:auto;font-size:11px;color:#8aa294;flex:none}.org-tree-flag{flex:none;font-size:10px;background:#f5e4c3;color:#8a6d1f;border-radius:4px;padding:1px 5px}.org-tree-dot{width:8px;height:8px;border-radius:50%;flex:none;background:#9db8aa}.org-tree-dot.type-store{background:#2f8f5b}.org-tree-dot.type-region{background:#3d6fd6}.org-tree-dot.type-company{background:#7a4fd0}.org-tree-dot.type-department{background:#d68f2f}.org-tree-dot.type-warehouse{background:#5f7c8a}.org-tree-dot.type-other_unit{background:#9aa5ad}.org-detail{background:#fff;border:1px solid #e4ece7;border-radius:12px;padding:16px 18px;min-height:320px;display:flex;flex-direction:column;gap:12px}.org-empty{color:#75867e;font-size:13px}.org-detail-head h3{margin:0;font-size:17px}.org-detail-head p{margin:4px 0 0;color:#75867e;font-size:12px}.org-tabs{display:flex;gap:4px;flex-wrap:wrap;border-bottom:1px solid #e4ece7;padding-bottom:8px}.org-tabs button{border:1px solid transparent;background:transparent;padding:7px 12px;border-radius:8px;font-size:13px;color:#5a6b62;cursor:pointer}.org-tabs button.active{background:#e5f2ea;color:#1f6b40;font-weight:600}.org-tab-body{flex:1;overflow:auto}.org-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 16px}.org-form-grid label{display:flex;flex-direction:column;gap:5px;font-size:12px;color:#4c5c53}.org-form-grid label.inline{flex-direction:row;align-items:center}.org-form-grid input,.org-form-grid select,.org-form-grid textarea{padding:8px 10px;border:1px solid #cfe0d7;border-radius:8px;font-size:13px;background:#fff}.org-form-grid input:disabled{background:#f4f7f5;color:#75867e}.org-code-cell{display:flex;gap:6px;align-items:center}.org-code-cell input{flex:1}.org-hint{font-size:12px;color:#8aa294;margin:6px 0 0}.org-warn{font-size:12px;color:#8a5a1f;background:#fdf6e7;border:1px solid #f0dcb2;border-radius:8px;padding:8px 10px}.org-children{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:6px;align-items:center;font-size:12px}.org-children strong{color:#4c5c53}.org-chip{background:#eef5f0;border:1px solid #d5e6db;border-radius:14px;padding:3px 10px;font-size:12px;color:#2c3a33;display:inline-flex;align-items:center;gap:6px}.org-chip.off{opacity:.55;text-decoration:line-through}.org-chip button{border:none;background:transparent;color:#b3261e;cursor:pointer;font-size:12px;padding:0}.org-managers h4,.org-refs h4,.org-history h4{margin:14px 0 8px;font-size:13px;color:#33443b}.org-responsibility-callout{display:grid;gap:5px;margin-bottom:14px;padding:12px 14px;border:1px solid #cfe4d6;border-radius:10px;background:#f2faf5;color:#466258;font-size:12px;line-height:1.6}.org-responsibility-callout strong{color:#1f6b40;font-size:13px}.org-scope-effect{min-width:210px;white-space:normal;line-height:1.55;color:#60746a}.org-scope-selected-effect{flex-basis:100%;margin:2px 0 0;padding:9px 11px;border-radius:8px;background:#f5f8f6;color:#60746a;font-size:12px;line-height:1.55}.org-scope-selected-effect strong{color:#315a48}.org-table{width:100%;border-collapse:collapse;font-size:12px}.org-table th,.org-table td{border:1px solid #e4ece7;padding:7px 9px;text-align:left}.org-table th{background:#f4f8f5;color:#4c5c53;font-weight:600}.org-scope-form{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-top:10px}.org-scope-form select,.org-scope-form input[type=date],.org-scope-form input:not([type]){padding:8px 10px;border:1px solid #cfe0d7;border-radius:8px;font-size:13px}.org-scope-form .inline{display:inline-flex;align-items:center;gap:5px;font-size:12px;color:#4c5c53}.employee-picker{position:relative;width:100%;min-width:0}.employee-picker-trigger{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 10px;border:1px solid #cfe0d7;border-radius:8px;background:#fff;color:#33443b;font-size:13px;text-align:left;cursor:pointer;min-height:36px}.employee-picker-trigger:hover{border-color:#7ab894}.employee-picker-trigger:disabled{background:#f4f7f5;color:#75867e;cursor:not-allowed}.employee-picker-trigger.selected{background:#f7fbf8;border-color:#9dc7ae}.employee-picker-trigger>span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.employee-picker-chevron{color:#6f8579;font-size:16px;line-height:1}.employee-picker-panel{position:absolute;top:calc(100% + 6px);left:0;right:0;z-index:80;background:#fff;border:1px solid #cfe0d7;border-radius:10px;box-shadow:0 12px 28px #1f3f2f29;padding:10px}.employee-picker-panel>input{width:100%;box-sizing:border-box;padding:8px 10px;border:1px solid #cfe0d7;border-radius:8px;font-size:13px}.employee-picker-meta{padding:8px 2px 6px;color:#8aa294;font-size:11px}.employee-picker-options{max-height:240px;overflow:auto;border-top:1px solid #edf2ee;border-bottom:1px solid #edf2ee}.employee-picker-option{display:flex;flex-direction:column;align-items:flex-start;gap:3px;width:100%;border:0;border-bottom:1px solid #edf2ee;background:#fff;padding:9px 8px;text-align:left;cursor:pointer}.employee-picker-option:last-child{border-bottom:0}.employee-picker-option:hover,.employee-picker-option.active{background:#eaf6ee}.employee-picker-option strong{color:#274438;font-size:13px;font-weight:600}.employee-picker-option span{color:#75867e;font-size:11px;line-height:1.4}.employee-picker-empty{padding:14px 8px;color:#8aa294;font-size:12px;text-align:center}.employee-picker-actions{display:flex;justify-content:flex-end;gap:8px;padding-top:8px}.employee-picker-actions button{border:1px solid #b9d8c6;border-radius:7px;background:#fff;color:#26734b;padding:6px 10px;font-size:12px;cursor:pointer}.org-scope-owner-picker{width:240px;min-width:220px}.org-inline-warn{display:inline-block;margin-left:6px;color:#9b5d27;font-size:11px;background:#fff3e6;border-radius:4px;padding:2px 5px}.org-text-danger{border:0;background:transparent;color:#b14b3f;font-size:12px;padding:3px 5px;cursor:pointer}.org-text-danger:hover{text-decoration:underline;color:#8f3025}.org-text-danger:disabled{color:#9aa8a0;cursor:wait;text-decoration:none}.org-attrs{display:flex;flex-direction:column;gap:12px}.org-attrs .inline{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:#33443b}.org-tag-options{display:flex;flex-wrap:wrap;gap:8px}.org-tag-chip{display:inline-flex;align-items:center;gap:6px;border:1px solid #d5e6db;border-radius:16px;padding:6px 12px;font-size:13px;cursor:pointer;background:#fff;color:#4c5c53}.org-tag-chip.on{background:#e5f2ea;border-color:#9dc7ae;color:#1f6b40;font-weight:600}.org-alias-list{display:flex;flex-wrap:wrap;gap:6px}.org-drawer-footer{display:flex;justify-content:flex-end;gap:10px;border-top:1px solid #e4ece7;padding-top:10px}.org-modal-mask{position:fixed;inset:0;background:#14221b73;display:flex;align-items:center;justify-content:center;z-index:70}.org-modal{background:#fff;border-radius:14px;padding:18px 20px;width:min(480px,92vw);max-height:88vh;overflow:auto;display:flex;flex-direction:column;gap:10px}.org-modal h3{margin:0;font-size:16px}.org-modal-heading{position:sticky;top:-18px;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:12px;margin:-18px -20px 0;padding:14px 14px 10px 20px;background:#fff;border-radius:14px 14px 0 0}.org-modal-close{display:grid;place-items:center;width:30px;height:30px;padding:0;border:0;border-radius:50%;background:transparent;color:#657a70;font:inherit;font-size:20px;line-height:1;cursor:pointer}.org-modal-close:hover,.org-modal-close:focus-visible{background:#edf6f1;color:#0f7657;outline:none}.org-modal label{display:flex;flex-direction:column;gap:5px;font-size:12px;color:#4c5c53}.org-modal label.inline{flex-direction:row;align-items:center}.org-modal input,.org-modal select,.org-modal textarea{padding:8px 10px;border:1px solid #cfe0d7;border-radius:8px;font-size:13px}.org-modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:6px}.org-modal-actions .danger{background:#b3261e}.searchable-select{position:relative;width:100%;font-weight:400}.searchable-select-control{position:relative;display:flex;align-items:center}.searchable-select-control input{width:100%;padding-right:64px}.searchable-select-toggle,.searchable-select-clear{position:absolute;right:6px;width:28px;height:28px;border:0;background:transparent;color:var(--ui-text-muted,#6f827a);border-radius:8px;cursor:pointer}.searchable-select-clear{right:34px;font-size:18px}.searchable-select-toggle:hover,.searchable-select-clear:hover{background:var(--ui-surface-muted,#edf4f0);color:var(--ui-primary,#0f7a59)}.searchable-select-current{display:block;margin-top:5px;color:var(--ui-text-muted,#6f827a);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.searchable-select-panel{position:absolute;z-index:80;top:calc(100% + 6px);left:0;right:0;max-height:min(320px,45vh);overflow-y:auto;overscroll-behavior:contain;padding:6px;background:#fff;border:1px solid var(--ui-border,#d7e3dc);border-radius:12px;box-shadow:0 14px 32px #0e372a24}.searchable-select-option{display:flex;width:100%;min-height:38px;padding:7px 9px;border:0;background:#fff;border-radius:8px;text-align:left;flex-direction:column;justify-content:center;color:var(--ui-text,#15372d);cursor:pointer}.searchable-select-option strong{font-size:12px;line-height:1.35;font-weight:600}.searchable-select-option small{margin-top:2px;color:var(--ui-text-muted,#71827c);font-size:10px;line-height:1.35}.searchable-select-option:hover,.searchable-select-option.active{background:var(--ui-surface-muted,#edf6f1)}.searchable-select-option.selected{background:#e5f5ed;color:var(--ui-primary,#0b7655)}.searchable-select-option:disabled{opacity:.55;cursor:not-allowed}.searchable-select-option.empty{color:var(--ui-text-muted,#71827c)}.searchable-select-state{padding:14px 10px;color:var(--ui-text-muted,#71827c);font-size:12px;text-align:center}.searchable-select-state.error{color:#9b4d2e}.searchable-select-state button{margin-left:8px;color:var(--ui-primary,#0b7655);border:0;background:transparent;cursor:pointer}.searchable-select-load-more{position:sticky;bottom:0;width:100%;min-height:34px;border:0;border-top:1px solid var(--ui-border,#d7e3dc);background:#fff;color:var(--ui-primary,#0b7655);font:inherit;font-size:12px;font-weight:600;cursor:pointer}.searchable-select-load-more:hover{background:var(--ui-surface-muted,#edf6f1)}.searchable-select-load-more:disabled{color:var(--ui-text-muted,#71827c);cursor:wait}.recruit-metrics{display:flex;gap:10px;flex-wrap:wrap;margin:16px 0}.recruit-metric{display:flex;flex-direction:column;gap:2px;min-width:108px;padding:10px 14px;border:1px solid var(--line);border-radius:10px;background:#fff;cursor:pointer;transition:border-color .15s,box-shadow .15s;text-align:left;font:inherit}.recruit-metric:hover{border-color:#9fc9b4}.recruit-metric.active{border-color:var(--green);box-shadow:0 0 0 2px #0f6b4f24}.recruit-metric .recruit-metric-label{font-size:12px;color:var(--muted)}.recruit-metric .recruit-metric-value{font-size:20px;font-weight:800;color:var(--green);line-height:1.2}.recruit-metric small{color:#8a9a90;font-size:11px}.flex-tag{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 3px;border-radius:5px;background:#f7e8c8;color:#8a6d1a;font-size:11px;font-weight:700;line-height:1;margin-left:4px;vertical-align:middle}.request-row.clickable{cursor:pointer}.request-row.clickable:hover{background:#f4f9f6}@media(max-width:620px){.app-shell,.sidebar{position:relative}.sidebar .sidebar-foot{top:auto;bottom:10px;right:16px}.topbar{position:absolute;top:0;right:0;left:auto;background:transparent;border:0;box-shadow:none;padding:0;height:58px;display:flex;align-items:center;z-index:6}.topbar-context{display:none}.topbar-actions{flex-direction:row;align-items:center;gap:10px;padding:0 16px}.topbar-actions .current-user{color:#e8f4ed;font-size:12px;font-weight:600;max-width:96px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar-actions .ghost-button{border:1px solid rgba(255,255,255,.45);background:#ffffff1f;color:#fff;font-size:11px;padding:6px 12px;border-radius:999px}.topbar-actions .status-pill{display:none}}.tasks-page{display:grid;gap:20px}.task-intro{display:flex;justify-content:space-between;align-items:flex-start}.task-layout{display:grid;grid-template-columns:minmax(320px,1fr) minmax(380px,1.2fr);gap:18px}.task-list-panel,.task-detail-panel{background:#fff;border:1px solid #dbe7df;border-radius:20px;padding:20px}.task-toolbar,.task-card-top,.detail-heading,.task-facts{display:flex;justify-content:space-between;gap:12px;align-items:center}.segmented,.task-tabs{display:flex;gap:6px;flex-wrap:wrap}.segmented button,.task-tabs button{border:1px solid #dbe7df;background:#f7fbf8;border-radius:999px;padding:8px 12px;color:#49645b}.segmented .active,.task-tabs .active{background:#0d7357;color:#fff;border-color:#0d7357}.task-list{display:grid;gap:10px;margin-top:16px;max-height:680px;overflow:auto}.task-card{display:grid;gap:7px;text-align:left;border:1px solid #e0ebe4;border-radius:14px;padding:14px;background:#fbfdfb;color:#18352d;cursor:pointer}.task-card.selected{border-color:#0d7357;box-shadow:0 0 0 2px #d5eee4}.task-card p{margin:0;color:#63766e;font-size:13px}.task-card small{color:#74857e}.task-card em{color:#b64d2b;font-size:12px;font-style:normal}.task-priority{font-size:12px;font-weight:700}.priority-urgent{color:#b33e2d}.priority-high{color:#b56a16}.priority-normal{color:#0d7357}.priority-low{color:#70827a}.task-detail-panel{min-height:460px}.detail-heading h3{margin:7px 0 0;font-size:26px}.task-description{color:#536b61;line-height:1.7}.task-facts{justify-content:flex-start;flex-wrap:wrap;border-block:1px solid #e7efe9;padding:14px 0}.task-facts span{color:#718179;font-size:13px}.task-facts b{display:block;color:#18352d;margin-top:4px}.task-actions{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0}.danger-button{border:1px solid #e0a48f;background:#fff4ef;color:#a94427;border-radius:10px;padding:10px 15px}.evidence-form{display:grid;gap:10px;border-top:1px solid #e7efe9;padding-top:18px}.evidence-form textarea{min-height:100px;border:1px solid #cbdcd2;border-radius:10px;padding:12px;font:inherit}.file-picker{display:inline-flex;justify-content:space-between;gap:12px;padding:10px;border:1px dashed #a6c9b7;border-radius:10px;color:#0d7357}.file-picker input{max-width:180px}.timeline{margin-top:22px;border-top:1px solid #e7efe9;padding-top:16px;color:#60736a;line-height:2}.empty-detail{display:grid;place-items:center;min-height:380px;color:#718179}@media(max-width:900px){.task-layout{grid-template-columns:1fr}.task-detail-panel{min-height:0}.task-list{max-height:none}.task-intro{align-items:stretch}}.task-create-panel,.task-admin-panel{background:#fff;border:1px solid #dbe7df;border-radius:20px;padding:20px}.task-form{display:grid;gap:12px}.task-form input,.task-form select,.task-form textarea{border:1px solid #cbdcd2;border-radius:9px;padding:10px;font:inherit}.task-form textarea{min-height:70px}.form-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;align-items:center}.assignee-picker{display:grid;gap:8px}.assignee-picker>div{display:flex;gap:10px;flex-wrap:wrap}.assignee-picker label{background:#f1f8f3;border-radius:8px;padding:8px}.assignee-picker small{color:#789087}.assignment-list{border-top:1px solid #e7efe9;padding-top:14px}.assignment-row,.record-list>div{display:flex;justify-content:space-between;gap:10px;align-items:center;border-bottom:1px solid #edf2ee;padding:10px 0}.assignment-row button,.record-list button{margin-left:6px;padding:7px 10px}.success-card{background:#edf9f0;border:1px solid #b8dfc2;color:#287043;border-radius:10px;padding:12px}.record-list{display:grid;gap:2px}@media(max-width:900px){.form-grid{grid-template-columns:1fr 1fr}}.task-create-panel{padding:0;overflow:visible}.task-dispatch-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:20px 22px 18px;border-bottom:1px solid var(--ui-border,#dbe7df)}.task-dispatch-heading h3{margin:5px 0 4px;font-size:var(--ui-font-size-lg,20px);color:#153e32}.task-dispatch-heading p{margin:0;color:#667d73;font-size:var(--ui-font-size-sm,13px)}.task-dispatch-badge{flex:none;border:1px solid #a7d0bd;background:#e9f5ee;color:#196849;border-radius:999px;padding:6px 11px;font-size:var(--ui-font-size-xs,12px);font-weight:700}.task-dispatch-form{display:grid}.task-dispatch-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);gap:0}.task-dispatch-section{padding:20px 22px;display:grid;align-content:start;gap:15px;border-bottom:1px solid #e5eee8}.task-dispatch-section:nth-child(2){border-left:1px solid #e5eee8}.task-dispatch-rules{grid-column:1/-1}.task-dispatch-section>header{display:flex;align-items:flex-start;gap:10px}.task-dispatch-section>header>span{display:grid;place-items:center;width:28px;height:28px;border-radius:8px;background:#dcefe5;color:#17664b;font-size:12px;font-weight:800}.task-dispatch-section header h4{margin:0 0 2px;color:#173f33;font-size:var(--ui-font-size-md,16px)}.task-dispatch-section header p{margin:0;color:#7a8e85;font-size:var(--ui-font-size-xs,12px)}.task-field{display:grid;gap:7px;min-width:0;color:#36594d;font-size:var(--ui-font-size-sm,13px);font-style:normal}.task-field>span{display:flex;align-items:center;gap:5px;font-weight:700}.task-field>span b{color:#c55334}.task-field>span small{margin-left:auto;color:#84958e;font-weight:400}.task-field input,.task-field select,.task-field textarea{width:100%;box-sizing:border-box;border:1px solid #c8dcd1;border-radius:9px;background:#fff;color:#173f33;padding:10px 11px;font:inherit;outline:none;transition:border-color .15s,box-shadow .15s}.task-field input:focus,.task-field select:focus,.task-field textarea:focus{border-color:#328264;box-shadow:0 0 0 3px #3282641f}.task-field textarea{min-height:108px;resize:vertical;line-height:1.6}.task-field input.field-invalid{border-color:#c85c42}.task-field em,.task-evidence-panel>em{color:#b8472e;font-size:var(--ui-font-size-xs,12px);font-style:normal}.task-field-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.task-assignee-field{position:relative}.task-selected-people{display:flex;gap:7px;flex-wrap:wrap}.task-selected-people button{display:inline-flex;align-items:center;gap:7px;border:1px solid #b9d9c8;background:#edf7f1;color:#205c45;border-radius:999px;padding:5px 9px;font:inherit;cursor:pointer}.task-selected-people button span{font-size:16px;line-height:1}.task-dispatch-rules>.task-field-row{grid-template-columns:minmax(240px,.65fr) minmax(340px,1.35fr)}.task-switch-card{display:flex;align-items:flex-start;gap:10px;min-height:43px;padding:10px 12px;border:1px solid #d6e4dc;border-radius:10px;background:#f8fbf9;color:#32584a;box-sizing:border-box;cursor:pointer}.task-switch-card input{width:16px;height:16px;margin:2px 0 0;accent-color:#147557}.task-switch-card span{display:grid;gap:2px}.task-switch-card strong{font-size:var(--ui-font-size-sm,13px)}.task-switch-card small{color:#71867d;font-size:var(--ui-font-size-xs,12px);font-weight:400}.task-switch-card-main{background:#eef7f2;border-color:#bad8c9}.task-evidence-panel{display:grid;gap:12px;border:1px solid #dce9e1;border-radius:12px;padding:12px;background:#fbfdfc}.task-evidence-options{display:grid;grid-template-columns:minmax(220px,.65fr) minmax(320px,1.35fr);gap:12px;padding-left:26px}.task-field>small{color:#7c8f86;font-size:var(--ui-font-size-xs,12px)}.task-dispatch-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:15px 22px;background:#f6faf7;border-radius:0 0 20px 20px}.task-dispatch-footer>div{display:grid;gap:3px}.task-dispatch-footer strong{color:#214c3d;font-size:var(--ui-font-size-sm,13px)}.task-dispatch-footer span{color:#73877e;font-size:var(--ui-font-size-xs,12px)}.task-dispatch-footer .primary-button{min-width:170px}.task-dispatch-footer .primary-button:disabled{cursor:not-allowed;opacity:.65}@media(max-width:900px){.task-dispatch-grid{grid-template-columns:1fr}.task-dispatch-section:nth-child(2){border-left:0}.task-dispatch-rules{grid-column:auto}.task-dispatch-rules>.task-field-row,.task-evidence-options{grid-template-columns:1fr}.task-evidence-options{padding-left:0}}@media(max-width:620px){.task-dispatch-heading,.task-dispatch-footer{align-items:stretch;flex-direction:column}.task-dispatch-badge{align-self:flex-start}.task-dispatch-section,.task-dispatch-heading{padding:18px 16px}.task-field-row{grid-template-columns:1fr}.task-dispatch-footer{padding:14px 16px}.task-dispatch-footer .primary-button{width:100%}}.s27-page{max-width:1280px;margin:0 auto;padding:28px 34px 80px}.s27-page-intro{margin-bottom:22px}.s27-page-intro h2{margin:5px 0 8px;font-size:clamp(28px,4vw,46px);letter-spacing:-.04em}.s27-page-intro p{max-width:760px;margin:0;color:var(--muted, #667085);line-height:1.7}.s27-home-hero{display:flex;justify-content:space-between;gap:24px;padding:28px;color:#fff;border-radius:24px;background:linear-gradient(125deg,#153b56,#246b70);box-shadow:0 18px 42px #153b562e}.s27-home-hero h3{margin:16px 0 8px;font-size:28px}.s27-home-hero p{margin:0;opacity:.78}.s27-role-chip{display:inline-flex;padding:5px 10px;border:1px solid rgba(255,255,255,.3);border-radius:999px;font-size:12px;letter-spacing:.04em}.s27-focus-list{display:grid;align-content:center;gap:8px;min-width:230px}.s27-focus-list span{padding:10px 14px;border:1px solid rgba(255,255,255,.2);border-radius:12px;background:#ffffff1a}.s27-metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:18px 0}.s27-metric-grid a{padding:18px;color:inherit;text-decoration:none;border:1px solid #e8edf2;border-radius:16px;background:#fff}.s27-metric-grid strong{display:block;font-size:28px}.s27-metric-grid span{color:#697586;font-size:13px}.s27-content-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:18px}.s27-panel{padding:22px;border:1px solid #e8edf2;border-radius:18px;background:#fff;box-shadow:0 9px 25px #1c2e410d}.s27-panel-heading,.s27-toolbar,.s27-uat-heading{display:flex;justify-content:space-between;gap:14px;align-items:center}.s27-panel-heading h3{margin:5px 0 0}.s27-panel-heading a{color:#1c7780;font-size:13px}.s27-list{margin-top:18px}.s27-list-row,.s27-todo-row,.s27-search-result{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:13px;color:inherit;text-decoration:none;border-top:1px solid #edf0f4;padding:14px 0}.s27-list-row strong,.s27-todo-row strong,.s27-search-result strong{display:block}.s27-list-row small,.s27-todo-row p,.s27-search-result small{display:block;margin:5px 0 0;color:#778396;font-size:12px}.s27-quick-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:18px}.s27-quick-grid a{display:grid;grid-template-columns:32px 1fr;gap:2px 9px;padding:12px;color:inherit;text-decoration:none;border:1px solid #edf0f4;border-radius:12px}.s27-quick-grid span{grid-row:1 / 3;display:grid;place-items:center;color:#fff;border-radius:9px;background:#1c7780}.s27-quick-grid small{color:#778396;font-size:11px}.s27-priority{display:inline-flex;justify-content:center;min-width:58px;padding:4px 7px;border-radius:999px;font-size:10px;font-weight:700}.s27-urgent,.s27-critical{color:#a52727;background:#ffe1e1}.s27-high{color:#8b5a00;background:#fff0c9}.s27-normal{color:#216b54;background:#ddf5e8}.s27-low{color:#576579;background:#edf1f5}.s27-tabs{display:flex;gap:8px;margin-bottom:16px;overflow-x:auto}.s27-tabs button,.s27-row-actions button,.s27-toolbar button{padding:8px 13px;border:1px solid #dbe2e9;border-radius:9px;background:#fff;cursor:pointer}.s27-tabs button.active{color:#fff;border-color:#1c7780;background:#1c7780}.s27-todo-table{padding:5px 22px}.s27-todo-row{grid-template-columns:auto 1fr 120px auto}.s27-todo-meta{color:#778396;font-size:11px;text-align:right}.s27-toolbar{margin-bottom:14px;color:#697586;font-size:13px}.s27-message-list,.s27-search-results,.s27-uat-list{display:grid;gap:12px}.s27-message-card{padding:20px;border:1px solid #e8edf2;border-radius:16px;background:#fff}.s27-message-card.unread{border-left:4px solid #1c7780}.s27-message-card h3{margin:12px 0 8px}.s27-message-card p{color:#697586;line-height:1.7}.s27-message-card small{color:#8893a2}.s27-message-category{margin-left:8px;color:#778396;font-size:11px}.s27-row-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.s27-row-actions a{color:#1c7780;font-size:13px}.s27-row-actions .primary-button{color:#fff;border:0;background:#1c7780}.s27-search-form{display:flex;gap:10px;margin-bottom:20px}.s27-search-form input{flex:1;min-width:0;padding:13px 15px;border:1px solid #cad3dd;border-radius:10px;font:inherit}.s27-search-result{grid-template-columns:94px 1fr auto;padding:16px 20px;border:1px solid #e8edf2;border-radius:13px;background:#fff}.s27-search-result>span{color:#1c7780;font-size:11px;font-weight:700}.s27-uat-card p{color:#697586}.s27-uat-card details{margin:13px 0;color:#697586;font-size:13px;line-height:1.7}.s27-uat-card summary{cursor:pointer;color:#1c7780}.s27-uat-status{padding:5px 9px;border-radius:999px;background:#edf1f5;font-size:11px}.s27-uat-status.pass{color:#216b54;background:#ddf5e8}.s27-uat-status.fail{color:#a52727;background:#ffe1e1}.s27-uat-status.blocked{color:#8b5a00;background:#fff0c9}.s27-uat-heading .s27-role-chip{color:#1c7780;border-color:#b8dadd;background:#edfafa}.s27-uat-heading h3{margin:8px 0 0}.s27-feedback{position:relative;margin-top:20px}.s27-feedback-toggle{padding:8px 12px;color:#1c7780;border:1px solid #b8dadd;border-radius:999px;background:#edfafa;cursor:pointer}.s27-feedback-card{max-width:420px;margin-top:10px;padding:16px;border:1px solid #dbe2e9;border-radius:14px;background:#fff;box-shadow:0 12px 30px #1c2e411f}.s27-feedback-card textarea{display:block;width:100%;min-height:100px;box-sizing:border-box;margin:12px 0;padding:10px;border:1px solid #cad3dd;border-radius:8px;font:inherit}.s27-feedback-card small{display:block;margin-top:8px;color:#216b54}.s27-empty{padding:24px;color:#778396;text-align:center}.s27-error{margin:12px 0;padding:12px 14px;color:#8e2929;border:1px solid #f1c5c5;border-radius:10px;background:#fff3f3}@media(max-width:800px){.s27-page{padding:20px 16px 90px}.s27-home-hero{display:block;padding:22px}.s27-focus-list{margin-top:20px}.s27-metric-grid{grid-template-columns:repeat(2,1fr)}.s27-content-grid{grid-template-columns:1fr}.s27-todo-row{grid-template-columns:auto 1fr}.s27-todo-row>:nth-child(3),.s27-todo-row>:nth-child(4){grid-column:2;text-align:left}.s27-search-form{display:grid;grid-template-columns:1fr auto}.s27-page-intro h2{font-size:32px}}.login-shell{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;box-sizing:border-box;padding:40px 20px 24px;background:#f7faf8;color:#18352c}.login-card{width:min(100%,430px);box-sizing:border-box;background:#fff;border:1px solid #e1ebe5;border-radius:20px;padding:34px 34px 28px;box-shadow:0 12px 34px #1740300f}.login-brand{display:flex;align-items:center;gap:12px;margin-bottom:37px}.login-logo-image{width:43px;height:43px;flex:none;border-radius:50%;display:block;object-fit:cover}.login-brand strong,.login-brand small{display:block}.login-brand strong{font-size:18px;line-height:1.15;letter-spacing:.04em;color:#142d26}.login-brand small{margin-top:5px;color:#8a9992;font-size:11px;line-height:1}.login-eyebrow{display:block;color:#9aa9a2;font-size:10px;font-weight:600;letter-spacing:.15em}.login-card h1{margin:14px 0 8px;color:#122d25;font-size:32px;line-height:1.2;letter-spacing:-.04em}.login-subtitle{margin:0 0 27px;color:#80918a;font-size:13px;line-height:1.7}.login-form{display:grid;gap:16px}.login-field{display:grid;gap:8px;color:#52665e;font-size:12px;font-weight:700}.login-input-shell{position:relative;display:flex;align-items:center;height:46px;border:1px solid #dce8e1;border-radius:9px;background:#fcfdfc;transition:border-color .18s,box-shadow .18s}.login-input-shell:focus-within{border-color:#49a982;box-shadow:0 0 0 3px #49a9821f}.login-input-shell>svg{width:18px;height:18px;flex:none;margin-left:14px;color:#91a39a}.login-input-shell input{min-width:0;height:100%;flex:1;border:0!important;outline:0!important;box-shadow:none!important;padding:0 12px!important;background:transparent!important;color:#17342b;font:inherit}.login-input-shell input::placeholder{color:#b3bdb8}.login-icon-button{width:38px;height:40px;display:grid;place-items:center;border:0;background:transparent;color:#8d9d95;cursor:pointer}.login-icon-button svg{width:18px;height:18px}.login-options{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:-2px;white-space:nowrap}.login-check{display:flex;align-items:center;gap:6px;color:#87958f;font-size:11px;font-weight:500}.login-check input{width:14px;height:14px;margin:0;accent-color:#137a5b}.login-check input:disabled{opacity:.45}.login-forgot{padding:0;border:0;background:transparent;color:#168361;font:inherit;font-size:11px;cursor:pointer}.login-forgot:hover,.login-forgot:focus-visible{text-decoration:underline}.login-button{width:100%;height:43px;margin-top:2px;padding:0;border-radius:8px;background:#117958;color:#fff;font-size:13px;font-weight:700}.login-button:hover{background:#0d684b}.login-button:disabled{opacity:.65;cursor:wait}.login-card .inline-error,.login-card .inline-success{margin-top:-3px;font-size:12px}.login-alt{display:flex;align-items:center;gap:12px;margin:24px 0 0;color:#a0ada7;font-size:10px;white-space:nowrap}.login-alt:before,.login-alt:after{content:"";height:1px;flex:1;background:#edf1ee}.login-footnote{margin-top:17px;padding-top:16px;border-top:1px solid #edf1ee;color:#9aa8a2;font-size:10px;line-height:1.75}.login-footer{width:min(100%,430px);box-sizing:border-box;margin-top:18px;padding:12px 6px;text-align:center;color:#a6b1ac;font-size:10px;line-height:1.9}.police-record{display:flex;align-items:center;justify-content:center;gap:4px}.police-record img{width:12px;height:12px;object-fit:contain}@media(max-width:430px){.login-shell{padding:24px 12px 16px}.login-card{padding:28px 22px 23px;border-radius:17px}.login-brand{margin-bottom:32px}.login-card h1{font-size:29px}.login-options{gap:5px}.login-check,.login-forgot{font-size:10px}.login-footer{margin-top:12px}}@media(max-width:374px){.login-card{padding-left:17px;padding-right:17px}.login-check{gap:4px}.login-check input{width:13px;height:13px}.login-forgot{font-size:9px}}.impersonation-banner{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:16px;margin:-24px -30px 20px;padding:12px 18px;background:#fff4d8;border-bottom:1px solid #efd49c;color:#744b15;box-shadow:0 3px 10px #59411814}.impersonation-banner strong{font-size:13px}.impersonation-banner .primary-button{width:auto;min-width:126px;padding:9px 14px;background:#a96831;font-size:12px}.impersonation-banner .primary-button:hover{background:#8f5728}.uat-experience-panel{margin:22px 0 24px;padding:20px;border:1px solid #cfe7d8;border-radius:15px;background:#f6fbf7}.uat-experience-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:18px}.uat-experience-heading h2{margin:6px 0 5px;font-size:20px;color:var(--ink)}.uat-experience-heading p{margin:0;color:var(--muted);font-size:12px;line-height:1.7}.uat-safety-note{flex:none;border:1px solid #b9dcc5;border-radius:999px;padding:6px 10px;color:#3e7b56;font-size:10px;background:#fff}.uat-experience-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:18px}.uat-experience-card{display:flex;flex-direction:column;justify-content:space-between;gap:14px;min-height:146px;padding:14px;border:1px solid #d9ebe0;border-radius:11px;background:#fff}.uat-experience-card p{margin:10px 0 7px;color:#60746a;font-size:11px;line-height:1.6}.uat-experience-card small{display:block;color:#8b9b92;font-size:10px;line-height:1.5}.uat-experience-button{width:100%;padding:9px 12px;border-radius:8px;font-size:11px}.uat-experience-button:disabled{background:#b7c6be;border-color:#b7c6be;cursor:not-allowed}.uat-role-entry{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:16px;padding:11px 12px;border:1px solid #cfe7d8;border-radius:10px;background:#f5fbf6}.uat-role-entry strong,.uat-role-entry small{display:block}.uat-role-entry strong{color:#2b6847;font-size:12px}.uat-role-entry small{margin-top:3px;color:#809388;font-size:10px}.uat-role-entry .uat-experience-button{width:auto;min-width:120px;background:#16845d}.uat-role-entry+.s27-row-actions{margin-top:12px}@media(max-width:980px){.uat-experience-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.impersonation-banner{position:sticky;margin:-18px -16px 16px;padding:10px 12px;align-items:flex-start}.impersonation-banner strong{font-size:12px;line-height:1.4}.impersonation-banner .primary-button{min-width:112px;padding:8px 10px;font-size:11px}.uat-experience-panel{padding:15px}.uat-experience-heading{display:block}.uat-safety-note{display:inline-block;margin-top:10px}.uat-experience-grid{grid-template-columns:1fr}.uat-experience-card{min-height:auto}.uat-role-entry{align-items:flex-start;flex-direction:column}.uat-role-entry .uat-experience-button{width:100%}}.employee-home-page{max-width:1060px}.employee-identity-card{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin:8px 0 14px}.employee-identity-card h3{margin:8px 0 4px;font-size:28px;letter-spacing:-.04em}.employee-identity-card p{margin:0;color:var(--muted);font-size:12px}.employee-today-grid{display:grid;grid-template-columns:minmax(250px,.72fr) minmax(480px,1.28fr);gap:14px;align-items:stretch}.employee-work-context{display:flex;flex-direction:column;gap:8px;min-width:0;padding:20px;border:1px solid #dce9e1;border-radius:14px;background:#f4faf6;color:#315f49}.employee-work-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.employee-work-heading span,.punch-section-label{font-size:12px;font-weight:700;color:#547567}.employee-work-heading b{flex:none;padding:4px 8px;border-radius:999px;background:#e1f3e7;color:#18764d;font-size:10px}.employee-work-context>strong{margin:7px 0 1px;color:var(--green-dark);font-size:22px;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.employee-work-context>small{color:#6b8176;font-size:12px;line-height:1.5;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.employee-punch-panel{display:grid;gap:14px;min-width:0;padding:20px;border:1px solid #dce9e1;border-radius:14px;background:#fff;box-shadow:0 8px 24px #1e4e390b}.punch-panel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.punch-panel-heading h3{margin:6px 0 0;font-size:20px;line-height:1.25;letter-spacing:-.025em}.punch-heading-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}.punch-heading-actions .text-link{font-size:11px;white-space:nowrap}.attendance-status-chip{flex:none;padding:5px 9px;border-radius:999px;background:#eef3ef;color:#65776d;font-size:11px;font-weight:700}.attendance-status-chip.not_clocked_in{background:#fff0d7;color:#94611d}.attendance-status-chip.clocked_in{background:#e5f5e9;color:#27784f}.attendance-status-chip.pending_review{background:#fde9e7;color:#a63f35}.attendance-status-chip.clocked_out,.attendance-status-chip.on_leave,.attendance-status-chip.rest_day,.attendance-status-chip.no_schedule{background:#eaf0ec;color:#547064}.punch-shift-summary{display:flex;align-items:baseline;gap:12px;min-width:0}.punch-shift-summary strong{color:#113c2d;font-size:30px;line-height:1.1;letter-spacing:-.04em;white-space:nowrap}.punch-shift-summary span{color:#4f7564;font-size:13px;font-weight:700;white-space:nowrap}.punch-shift-details{display:grid;grid-template-columns:100px 100px minmax(0,1fr);gap:8px;padding:10px 0;border-top:1px solid #edf2ef;border-bottom:1px solid #edf2ef}.punch-shift-details>span{display:grid;gap:3px;min-width:0}.punch-shift-details small{color:#8a9b92;font-size:10px}.punch-shift-details strong{color:#365b4b;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.punch-empty-state{padding:16px;border-radius:10px;background:#f5f8f6;color:#61766b;font-size:13px}.punch-current-record{margin:-2px 0 0;color:#397159;font-size:12px;font-weight:600}.employee-punch-button{width:100%;height:50px;min-height:50px;border:0;border-radius:14px;display:flex;align-items:center;justify-content:center;padding:0 18px;background:var(--green);box-shadow:none;font-size:15px;font-weight:800;letter-spacing:.02em;transition:background .18s ease,transform .18s ease}.employee-punch-button:hover{background:var(--green-dark);transform:translateY(-1px)}.employee-punch-button:disabled{background:#dfe7e2;color:#82938a;cursor:not-allowed;transform:none}.employee-punch-button.locating{background:#328a63;animation:punch-pulse 1.4s ease-in-out infinite}@keyframes punch-pulse{50%{box-shadow:0 0 0 5px #cfeeda73}}.punch-location-note{margin:-7px 0 0;text-align:center;color:#7a8e83;font-size:10px;line-height:1.5}.punch-location-warning{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 11px;border-radius:9px;background:#fff5e8;color:#8b5a24;font-size:11px}.punch-location-warning a{flex:none;color:#98601f;font-weight:700;text-decoration:none}.punch-feedback{display:grid;gap:5px;padding:10px 11px;border-radius:9px;font-size:12px;line-height:1.5}.punch-feedback.error{background:#fff0ee;border:1px solid #efcdc8;color:#963e35}.punch-feedback.error .ghost-button{justify-self:start}.punch-feedback.success{background:#edf9f0;border:1px solid #c8e7d0;color:#27784f}.punch-feedback.success span,.punch-feedback.success small{color:#56816a;font-size:11px}.punch-history{display:flex;flex-wrap:wrap;gap:14px;color:#71867b;font-size:10px}.employee-shortcuts{margin-top:14px}.employee-shortcut-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.employee-shortcut-grid .quick-action{min-height:66px;padding:11px}.employee-more-actions{margin-top:13px;border-top:1px solid #edf1ee;padding-top:11px}.employee-more-actions summary{cursor:pointer;color:var(--green);font-size:12px;font-weight:700;margin-bottom:11px}.employee-todo-section{margin-top:14px}@media(max-width:900px){.employee-home-page{max-width:760px}.employee-today-grid{grid-template-columns:1fr}.employee-work-context{min-height:0}}@media(max-width:620px){.employee-home-page .page-intro{display:none}.employee-identity-card{align-items:flex-start;margin-top:0}.employee-identity-card h3{font-size:23px}.employee-identity-card .workbench-link{min-height:38px}.employee-today-grid{gap:10px}.employee-work-context,.employee-punch-panel{padding:15px;border-radius:13px}.employee-work-context>strong{font-size:19px}.punch-panel-heading h3{font-size:18px}.punch-heading-actions{gap:7px}.punch-shift-summary{justify-content:space-between}.punch-shift-summary strong{font-size:25px}.punch-shift-summary span{font-size:11px}.punch-shift-details{grid-template-columns:64px 64px minmax(0,1fr)}.employee-punch-button{height:50px;min-height:50px;border-radius:13px}.employee-shortcuts{padding:15px;margin-top:11px}.employee-shortcut-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.employee-todo-section{display:none}.employee-home-page .punch-history{justify-content:flex-start}}@media(max-width:370px){.employee-work-context,.employee-punch-panel{padding:13px}.punch-panel-heading{gap:8px}.punch-heading-actions{align-items:flex-end;flex-direction:column}.punch-shift-summary strong{font-size:23px}.punch-shift-details{grid-template-columns:56px 56px minmax(0,1fr);gap:6px}}.device-preview{margin:0 0 22px;border:1px solid #dfe8e4;border-radius:14px;background:#f5f7f6;overflow:hidden}.device-preview-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:8px 12px;border-bottom:1px solid #e2e9e5;background:#fff}.device-preview-tabs,.device-preview-sizes{display:flex;align-items:center;gap:4px}.device-preview-tab,.device-preview-size{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid transparent;border-radius:8px;background:transparent;color:#65736d;font:inherit;font-size:12px;cursor:pointer}.device-preview-tab{padding:7px 12px}.device-preview-tab svg{width:16px;height:16px}.device-preview-tab.active,.device-preview-size.active{background:#e7f3ed;border-color:#c9e5d5;color:#126c50}.device-preview-size{min-width:38px;padding:5px 8px;font-size:11px}.device-preview-stage{display:flex;justify-content:center;align-items:flex-start;min-height:390px;padding:24px;background:#f1f3f2}.device-preview-frame{max-width:calc(100vw - 80px);border:1px solid #d7dfdb;border-radius:18px;background:#fff;box-shadow:0 8px 24px #20372d1f;overflow:hidden}.device-preview-frame iframe{display:block;width:100%;height:100%;border:0;background:#fff}.device-preview+.notice{margin-top:0}.embedded-preview .sidebar,.embedded-preview .topbar,.embedded-preview .mobile-nav,.embedded-preview .impersonation-banner,.embedded-preview .notice,.embedded-preview .error-card,.embedded-preview .s27-feedback{display:none}.embedded-preview .main-content{min-height:100vh;margin:0;padding:22px 20px;background:#fff}.embedded-preview .s27-page{max-width:none;margin:0}.embedded-preview .page-intro,.embedded-preview .s27-page-intro{padding-top:0}@media(max-width:620px){.device-preview-toolbar{align-items:flex-start;flex-direction:column;gap:6px}.device-preview-stage{padding:14px 8px}.device-preview-frame{max-width:calc(100vw - 16px)}}.shift-maintenance-page{margin:0 -4px}.shift-page-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;padding:15px 0 20px}.shift-page-heading h2{font-size:24px;letter-spacing:-.04em;margin:8px 0 5px}.shift-page-heading p{color:var(--muted);font-size:12px;margin:0}.shift-page-actions{display:flex;align-items:center;gap:8px}.shift-secondary-button{border:1px solid #c9d9d0;background:#fff;color:var(--green-dark);border-radius:7px;padding:8px 12px;font:inherit;font-size:12px;cursor:pointer}.shift-create-button{border-radius:7px;padding:9px 14px}.shift-filter-bar{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap;padding:11px 12px;background:#fff;border:1px solid var(--line);border-bottom:0}.shift-filter-bar label{display:grid;gap:5px;min-width:145px;color:#72827b;font-size:11px}.shift-filter-bar input,.shift-filter-bar select{height:34px;min-width:145px;border:1px solid #d5e1da;border-radius:5px;background:#fbfdfb;color:var(--ink);padding:0 9px;font:inherit;font-size:12px}.shift-clear-button{height:34px;border:0;background:transparent;color:#18915a;font:inherit;font-size:12px;cursor:pointer;padding:0 8px}.shift-table-panel{background:#fff;border:1px solid var(--line)}.shift-table-meta{display:flex;align-items:center;justify-content:space-between;min-height:42px;padding:0 12px;color:#7c8d84;font-size:12px;border-bottom:1px solid #edf1ee}.shift-bulk-actions{display:flex;align-items:center;gap:8px}.shift-bulk-actions strong{color:var(--green-dark);font-size:12px}.shift-bulk-actions button{border:0;background:transparent;color:var(--green);cursor:pointer;font:inherit;font-size:12px}.shift-table-wrap{overflow-x:auto}.shift-table{width:100%;min-width:1290px;border-collapse:collapse;font-size:12px}.shift-table th{height:43px;background:#f5f8f5;color:#465e53;font-size:11px;font-weight:700;text-align:left;white-space:nowrap;padding:0 9px;border-bottom:1px solid #dfe8e2}.shift-table td{height:51px;padding:7px 9px;color:#4e6259;border-bottom:1px solid #e9efeb;vertical-align:middle;white-space:nowrap}.shift-table tr:hover{background:#fbfefb}.shift-table th:first-child,.shift-table td:first-child{width:36px;text-align:center}.shift-index{color:#86968e}.shift-name-button{display:block;border:0;background:transparent;color:#0e8a59;padding:0;text-align:left;font:inherit;font-size:13px;font-weight:600;cursor:pointer}.shift-type-note{display:block;margin-top:4px;color:#9aa8a1;font-size:10px}.shift-code{color:#899890;font-size:11px}.shift-time-cell{font-variant-numeric:tabular-nums;color:#233e33}.shift-time-cell span{display:block}.shift-mode-badge,.shift-light-badge,.shift-status-badge{display:inline-flex;align-items:center;min-height:22px;border-radius:12px;padding:3px 8px;font-size:10px;line-height:1}.shift-mode-badge{background:#edf7f0;color:#277b51}.shift-light-badge{background:#f2f5f3;color:#687b70}.shift-status-badge.enabled{background:#e7f6eb;color:#23804e}.shift-status-badge.disabled{background:#f0f2f1;color:#7d8984}.shift-break-cell{white-space:normal;min-width:100px;color:#5d7067}.shift-break-cell span,.shift-break-cell small{display:block}.shift-break-cell small{color:#97a49e;font-size:10px;margin-top:3px}.shift-org-label{display:inline-block;max-width:150px;overflow:hidden;text-overflow:ellipsis;vertical-align:bottom}.shift-date-cell{color:#8e9d95;font-size:11px;font-variant-numeric:tabular-nums}.shift-row-actions{display:flex;align-items:center;gap:9px}.shift-row-actions button{border:0;background:transparent;color:#168953;padding:0;cursor:pointer;font:inherit;font-size:12px}.shift-row-actions .shift-more-action{color:#789087}.shift-pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 12px;color:#84928b;font-size:12px}.shift-pagination>div{display:flex;align-items:center;gap:4px}.shift-pagination button,.shift-pagination select{height:28px;border:1px solid #dbe5df;background:#fff;color:#5d7067;border-radius:5px;padding:0 9px;font:inherit;font-size:11px;cursor:pointer}.shift-pagination button.active{border-color:#9bd2ad;background:#e9f7ed;color:#168953;font-weight:700}.shift-pagination button:disabled{color:#bdc7c2;cursor:not-allowed}.shift-pagination select{margin-left:7px}.shift-empty{min-height:330px;display:grid;place-items:center;align-content:center;gap:9px;color:#8b9b92;font-size:12px}.shift-empty strong{color:#41594e;font-size:15px}.shift-empty button{margin-top:8px}.shift-table-skeleton{padding:0 12px}.shift-table-skeleton div{height:50px;border-bottom:1px solid #edf1ee;background:linear-gradient(90deg,#f7faf7 25%,#eef4ef 37%,#f7faf7 63%);background-size:400% 100%;animation:shift-skeleton 1.4s ease infinite}@keyframes shift-skeleton{0%{background-position:100% 0}to{background-position:-100% 0}}.shift-drawer{position:fixed;z-index:30;right:0;top:0;bottom:0;width:min(480px,100vw);background:#fff;border-left:1px solid var(--line);box-shadow:-10px 0 30px #11362721;display:flex;flex-direction:column}.shift-drawer-head{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;padding:25px 25px 18px;border-bottom:1px solid var(--line)}.shift-drawer-head h3{font-size:20px;margin:7px 0 0}.shift-drawer-close{border:0;background:#f0f4f1;border-radius:50%;width:28px;height:28px;color:#687b70;font-size:20px;line-height:1;cursor:pointer}.shift-drawer-body{overflow:auto;padding:0 25px 25px}.shift-drawer-body fieldset{border:0;border-bottom:1px solid #edf1ee;padding:19px 0 20px;margin:0;display:grid;gap:12px}.shift-drawer-body legend{color:#61756c;font-size:12px;font-weight:700;margin-bottom:3px;padding:0}.shift-drawer-body label{display:grid;gap:6px;color:#697c73;font-size:11px}.shift-drawer-body input,.shift-drawer-body select{width:100%;height:35px;border:1px solid #d5e1da;border-radius:6px;background:#fbfdfb;color:var(--ink);padding:0 9px;font:inherit;font-size:12px}.shift-drawer-body input[type=color]{padding:3px;width:55px}.shift-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.shift-checkbox-label{display:flex!important;align-items:center;grid-template-columns:none!important;gap:7px!important}.shift-checkbox-label input{width:15px;height:15px}.shift-form-help{color:#97a49e;font-size:11px;line-height:1.6}.shift-drawer-foot{display:flex;justify-content:flex-end;gap:8px;padding:15px 25px;border-top:1px solid var(--line)}.shift-log-drawer{width:min(560px,100vw)}.shift-log-summary{color:#7b8d84;font-size:12px}.shift-log-list{display:grid;gap:10px;margin-top:15px}.shift-log-list article{border:1px solid #e4ece6;border-radius:7px;padding:12px}.shift-log-list article>strong,.shift-log-list article>span,.shift-log-list article>small{display:block}.shift-log-list article>strong{color:var(--green-dark);font-size:13px}.shift-log-list article>span,.shift-log-list article>small{margin-top:5px;color:#87978f;font-size:11px}.shift-log-list pre{max-height:180px;overflow:auto;margin:9px 0 0;padding:9px;background:#f7faf7;color:#6a7c73;font-size:10px;white-space:pre-wrap;word-break:break-word}@media(max-width:900px){.shift-page-heading{align-items:flex-start;flex-direction:column}.shift-page-actions{width:100%;justify-content:flex-end}.shift-filter-bar label{flex:1;min-width:130px}.shift-filter-bar input,.shift-filter-bar select{min-width:0;width:100%}}@media(max-width:620px){.shift-maintenance-page{margin:0 -2px}.shift-page-heading h2{font-size:21px}.shift-page-actions{justify-content:stretch}.shift-page-actions button{flex:1}.shift-filter-bar{padding:10px;gap:8px}.shift-filter-bar label{min-width:calc(50% - 4px)}.shift-filter-bar label:first-child{width:100%;flex-basis:100%}.shift-clear-button{margin-left:auto}.shift-table-panel{margin:0 -1px}.shift-pagination{align-items:flex-start;flex-direction:column}.shift-pagination>div{width:100%;overflow:auto}.shift-bulk-actions{flex-wrap:wrap;justify-content:flex-end}.shift-drawer-head,.shift-drawer-body,.shift-drawer-foot{padding-left:17px;padding-right:17px}}.location-maintenance-page{margin:0 -4px}.location-page-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;padding:15px 0 18px}.location-page-heading h2{font-size:24px;letter-spacing:-.04em;margin:8px 0 5px}.location-page-heading p{color:var(--muted);font-size:12px;margin:0}.location-page-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.location-secondary-button{border:1px solid #c9d9d0;background:#fff;color:var(--green-dark);border-radius:7px;padding:8px 12px;font:inherit;font-size:12px;cursor:pointer;text-decoration:none}.location-secondary-button:disabled{color:#acb9b2;background:#f7f9f7;cursor:not-allowed}.location-create-button{border-radius:7px;padding:9px 14px}.location-filter-bar{display:flex;align-items:flex-end;gap:9px;flex-wrap:wrap;padding:11px 12px;background:#fff;border:1px solid var(--line);border-bottom:0}.location-filter-bar label{display:grid;gap:5px;min-width:138px;color:#72827b;font-size:11px}.location-filter-bar input,.location-filter-bar select{height:34px;min-width:138px;border:1px solid #d5e1da;border-radius:5px;background:#fbfdfb;color:var(--ink);padding:0 9px;font:inherit;font-size:12px}.location-clear-button{height:34px;border:0;background:transparent;color:#18915a;font:inherit;font-size:12px;cursor:pointer;padding:0 8px}.location-selection-bar{display:flex;align-items:center;gap:14px;padding:9px 12px;background:#f0f8f2;border:1px solid #cfe7d8;color:#27784f;font-size:12px}.location-selection-bar button{border:0;background:transparent;color:var(--green);font:inherit;font-size:12px;cursor:pointer}.location-table-panel{background:#fff;border:1px solid var(--line)}.location-table-meta{display:flex;align-items:center;min-height:42px;padding:0 12px;color:#7c8d84;font-size:12px;border-bottom:1px solid #edf1ee}.location-table-wrap{overflow-x:auto}.location-table{width:100%;min-width:1380px;border-collapse:collapse;font-size:12px}.location-table th{height:43px;background:#f5f8f5;color:#465e53;font-size:11px;font-weight:700;text-align:left;white-space:nowrap;padding:0 9px;border-bottom:1px solid #dfe8e2}.location-table td{height:51px;padding:7px 9px;color:#4e6259;border-bottom:1px solid #e9efeb;vertical-align:middle;white-space:nowrap}.location-table tbody tr:hover{background:#fbfefb}.location-table th:first-child,.location-table td:first-child{width:36px;text-align:center}.location-name-button{display:block;border:0;background:transparent;color:#0e8a59;padding:0;text-align:left;font:inherit;font-size:13px;font-weight:600;cursor:pointer}.location-code{display:block;margin-top:4px;color:#9aa8a1;font-size:10px}.location-address{display:block;max-width:250px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.location-radius{font-variant-numeric:tabular-nums;color:#233e33}.location-org-label{display:inline-block;max-width:145px;overflow:hidden;text-overflow:ellipsis;vertical-align:bottom}.location-unbound{display:inline-block;color:#a96831;background:#fff7ed;border-radius:5px;padding:3px 6px;font-size:11px}.location-coordinate-button{border:0;background:transparent;color:#3f7660;padding:0;font:inherit;font-size:11px;cursor:pointer}.location-coordinate-system{font-size:11px;color:#70877b}.location-status{display:inline-flex;align-items:center;min-height:22px;border-radius:12px;padding:3px 8px;font-size:10px;line-height:1}.location-status.enabled{background:#e7f6eb;color:#23804e}.location-status.disabled{background:#f0f2f1;color:#7d8984}.location-date{color:#8e9d95;font-size:11px;font-variant-numeric:tabular-nums}.location-row-actions{position:relative;display:flex;align-items:center;gap:10px}.location-row-actions>button{border:0;background:transparent;color:#168953;padding:0;cursor:pointer;font:inherit;font-size:12px}.location-more-button{color:#789087!important}.location-action-menu{position:absolute;z-index:4;right:0;top:24px;display:grid;min-width:108px;padding:5px;background:#fff;border:1px solid #dbe5df;border-radius:7px;box-shadow:0 8px 20px #1136271f}.location-action-menu button{border:0;background:#fff;color:#27784f;text-align:left;padding:8px;font:inherit;font-size:11px;cursor:pointer}.location-action-menu button:hover{background:#f0f8f2}.location-pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 12px;color:#84928b;font-size:12px}.location-pagination>div{display:flex;align-items:center;gap:4px}.location-pagination button,.location-pagination select{height:28px;border:1px solid #dbe5df;background:#fff;color:#5d7067;border-radius:5px;padding:0 9px;font:inherit;font-size:11px;cursor:pointer}.location-pagination button.active{border-color:#9bd2ad;background:#e9f7ed;color:#168953;font-weight:700}.location-pagination button:disabled{color:#bdc7c2;cursor:not-allowed}.location-pagination select{margin-left:7px}.location-empty{min-height:330px;display:grid;place-items:center;align-content:center;gap:9px;color:#8b9b92;font-size:12px}.location-empty strong{color:#41594e;font-size:15px}.location-empty button{margin-top:8px}.location-skeleton{padding:0 12px}.location-skeleton div{height:50px;border-bottom:1px solid #edf1ee;background:linear-gradient(90deg,#f7faf7 25%,#eef4ef 37%,#f7faf7 63%);background-size:400% 100%;animation:location-skeleton 1.4s ease infinite}@keyframes location-skeleton{0%{background-position:100% 0}to{background-position:-100% 0}}.location-drawer{position:fixed;z-index:30;right:0;top:0;bottom:0;width:min(540px,100vw);background:#fff;border-left:1px solid var(--line);box-shadow:-10px 0 30px #11362721;display:flex;flex-direction:column}.location-log-drawer{width:min(560px,100vw)}.location-drawer-head{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;padding:25px 25px 18px;border-bottom:1px solid var(--line)}.location-drawer-head h3{font-size:20px;margin:7px 0 0}.location-close{border:0;background:#f0f4f1;border-radius:50%;width:28px;height:28px;color:#687b70;font-size:20px;line-height:1;cursor:pointer}.location-drawer-body{overflow:auto;padding:0 25px 25px}.location-drawer-body fieldset{border:0;border-bottom:1px solid #edf1ee;padding:19px 0 20px;margin:0;display:grid;gap:12px}.location-drawer-body legend{color:#61756c;font-size:12px;font-weight:700;margin-bottom:3px;padding:0}.location-drawer-body label{display:grid;gap:6px;color:#697c73;font-size:11px}.location-drawer-body input,.location-drawer-body select,.location-drawer-body textarea{width:100%;border:1px solid #d5e1da;border-radius:6px;background:#fbfdfb;color:var(--ink);padding:8px 9px;font:inherit;font-size:12px}.location-drawer-body input,.location-drawer-body select{height:35px}.location-drawer-body textarea{resize:vertical}.location-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.location-form-help{color:#97a49e;font-size:11px;line-height:1.6}.location-helper-actions{display:flex;gap:8px}.location-drawer-foot{display:flex;justify-content:flex-end;gap:8px;padding:15px 25px;border-top:1px solid var(--line)}.location-log-summary{color:#7b8d84;font-size:12px}.location-log-list{display:grid;gap:10px;margin-top:15px}.location-log-list article{border:1px solid #e4ece6;border-radius:7px;padding:12px}.location-log-list article>strong,.location-log-list article>span{display:block}.location-log-list article>strong{color:var(--green-dark);font-size:13px}.location-log-list article>span{margin-top:5px;color:#87978f;font-size:11px}.location-log-list pre{max-height:180px;overflow:auto;margin:9px 0 0;padding:9px;background:#f7faf7;color:#6a7c73;font-size:10px;white-space:pre-wrap;word-break:break-word}.location-modal-backdrop{position:fixed;z-index:45;inset:0;display:grid;place-items:center;padding:18px;background:#0a261c47}.location-modal,.location-import-modal{width:min(480px,100%);max-height:90vh;overflow:auto;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 18px 45px #1136272e;padding:22px}.location-import-modal{width:min(900px,100%)}.location-modal-head{display:flex;justify-content:space-between;align-items:start;gap:14px}.location-modal h3{margin:0;color:var(--ink);font-size:18px}.location-modal p{color:var(--muted);font-size:12px;line-height:1.7}.location-coordinate-large{font-size:25px!important;color:var(--green)!important;font-variant-numeric:tabular-nums;margin:28px 0 7px}.location-modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:20px}.location-map-placeholder{margin:18px 0;padding:42px 20px;text-align:center;border:1px dashed #b9d5c2;background:#f4faf5;color:#5d806c;font-size:13px;line-height:1.8}.location-map-placeholder small{color:#97a49e}.location-import-modal>input{margin:20px 0;width:100%;font-size:12px}.location-import-summary{display:flex;gap:18px;flex-wrap:wrap;padding:12px;background:#f4faf5;border:1px solid #d5eadb;color:#5c796a;font-size:12px}.location-import-summary strong{color:var(--green);font-size:15px}.location-preview-wrap{overflow:auto;margin-top:14px;border:1px solid #e4ece6}.location-preview-wrap table{width:100%;min-width:680px;border-collapse:collapse;font-size:11px}.location-preview-wrap th,.location-preview-wrap td{padding:9px;border-bottom:1px solid #edf1ee;text-align:left;white-space:nowrap}.location-preview-wrap th{background:#f5f8f5;color:#60746a}.location-result-badge{display:inline-block;padding:4px 7px;border-radius:5px;background:#eef3ef;color:#687b70}.location-result-badge.create{background:#e7f6eb;color:#23804e}.location-result-badge.update{background:#eaf2fb;color:#44729d}.location-result-badge.match_review_required{background:#fff7e9;color:#a36a2b}.location-result-badge.error{background:#fff0ec;color:#a64e41}@media(max-width:900px){.location-page-heading{align-items:flex-start;flex-direction:column}.location-page-actions{width:100%;justify-content:flex-end}.location-filter-bar label{flex:1;min-width:130px}.location-filter-bar input,.location-filter-bar select{min-width:0;width:100%}}@media(max-width:620px){.location-maintenance-page{margin:0 -2px}.location-page-heading h2{font-size:21px}.location-page-actions{justify-content:stretch}.location-page-actions button{flex:1}.location-filter-bar{padding:10px;gap:8px}.location-filter-bar label{min-width:calc(50% - 4px)}.location-filter-bar label:first-child,.location-filter-bar label:nth-child(2){width:100%;flex-basis:100%}.location-clear-button{margin-left:auto}.location-selection-bar{flex-wrap:wrap;gap:10px}.location-table-panel{margin:0 -1px}.location-table{display:block;min-width:0}.location-table thead{display:none}.location-table tbody,.location-table tr,.location-table td{display:block}.location-table tbody tr{position:relative;padding:14px 13px;border-bottom:1px solid #e4ece6}.location-table td{height:auto;padding:3px 0;border:0;white-space:normal}.location-table td:first-child{position:absolute;right:12px;top:15px;width:auto}.location-table td:nth-child(2){display:none}.location-table td:nth-child(3){padding-right:28px}.location-table td:nth-child(4){max-width:100%}.location-table td:nth-child(4):before{content:"地址：";color:#97a49e}.location-table td:nth-child(5):before{content:"范围：";color:#97a49e}.location-table td:nth-child(6):before{content:"组织：";color:#97a49e}.location-table td:nth-child(7):before{content:"适用：";color:#97a49e}.location-table td:nth-child(8):before{content:"坐标：";color:#97a49e}.location-table td:nth-child(9):before{content:"坐标系：";color:#97a49e}.location-table td:nth-child(10):before{content:"状态：";color:#97a49e}.location-table td:nth-child(11),.location-table th:nth-child(11){display:none}.location-table td:nth-child(12){padding-top:9px}.location-address{max-width:calc(100vw - 80px)}.location-row-actions{margin-top:3px}.location-pagination{align-items:flex-start;flex-direction:column}.location-pagination>div{width:100%;overflow:auto}.location-drawer-head,.location-drawer-body,.location-drawer-foot{padding-left:17px;padding-right:17px}.location-form-grid{grid-template-columns:1fr}.location-modal-actions{justify-content:stretch}.location-modal-actions>*{flex:1;text-align:center}.location-import-summary{gap:10px}.location-import-modal{padding:17px}}.location-table th:nth-child(6),.location-table td:nth-child(6){display:none}.work-calendar-page{margin:0 -4px;background:#f8fbf9}.work-calendar-head{display:flex;justify-content:space-between;align-items:flex-end;gap:18px;padding:12px 10px 16px;background:#fff;border-bottom:1px solid #dce8df}.work-calendar-head h2{margin:7px 0 4px;font-size:21px;color:#183f30}.work-calendar-head h2 small{font-size:10px;color:#0b9a63;border:1px solid #8bd3ae;border-radius:3px;padding:2px 5px;vertical-align:middle}.work-calendar-head p{margin:0;color:#72847b;font-size:11px}.work-calendar-actions{display:flex;gap:7px;align-items:center;flex-wrap:wrap}.work-calendar-actions strong{padding:0 8px;color:#183f30}.derived-calendar-switch{display:flex;gap:8px;padding:12px 10px 0;background:#fff}.derived-calendar-switch button{border:1px solid #d6e5da;border-radius:6px 6px 0 0;background:#f4f8f5;color:#537064;padding:9px 18px;font:inherit;font-size:12px;cursor:pointer}.derived-calendar-switch button.active{border-color:#0b9962;background:#0b9962;color:#fff}.derived-calendar-notice{display:flex;gap:10px;align-items:flex-start;margin:10px;border:1px solid #cbe8d7;border-radius:7px;background:#effaf3;padding:10px 12px;color:#4f7765}.derived-calendar-notice .notice-icon{display:grid;place-items:center;width:18px;height:18px;border-radius:50%;background:#bde4cc;color:#087d4e;font-weight:700}.derived-calendar-notice strong{font-size:12px;color:#1d593e}.derived-calendar-notice p{margin:4px 0 0;font-size:11px}.derived-calendar-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding:0 10px 10px}.derived-calendar-summary>div{border:1px solid #deebe2;border-radius:7px;background:#fff;padding:10px 12px}.derived-calendar-summary span,.derived-calendar-summary small,.alternate-week-config span,.alternate-week-config small{display:block;color:#778c81;font-size:10px}.derived-calendar-summary strong{display:block;margin:4px 0;color:#096b49;font-size:20px}.alternate-week-config{display:flex;gap:18px;align-items:center;flex-wrap:wrap;margin:0 10px 10px;border:1px solid #dbeae0;border-radius:7px;background:#fff;padding:10px 12px}.alternate-week-config strong{display:block;color:#204b38;font-size:12px;margin-top:4px}.alternate-week-config small{width:100%;padding-top:4px}.work-calendar-layout{display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:10px;padding:0 10px 10px}.work-calendar-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));align-content:start;gap:18px;background:#fff;padding:14px;border:1px solid #e3ece5;border-radius:7px}.calendar-month{min-width:0}.calendar-month-heading{display:flex;justify-content:space-between;align-items:baseline;border-bottom:1px solid #d9e6dc;padding-bottom:7px;margin-bottom:6px}.calendar-month-heading h3{font-size:13px;color:#214334;margin:0}.calendar-month-heading span{color:#7b9084;font-size:10px}.calendar-weekdays,.calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:2px}.calendar-weekdays span{text-align:center;color:#879a90;font-size:9px}.calendar-day,.calendar-empty{height:32px;min-width:0;border:1px solid transparent;background:#fff;color:#314d40;font-size:10px;display:flex;align-items:center;justify-content:center;gap:2px;border-radius:3px}.calendar-day small{font-size:8px;font-weight:700;color:inherit}.calendar-day.work{background:#f5fbf7}.calendar-day.rest{background:#eef9f1;color:#6f8b7b}.calendar-day.statutory{background:#fff0f3;color:#d94e6d}.calendar-day.adjusted{background:#fff6e6;color:#c67414}.work-calendar-side{display:grid;align-content:start;gap:10px}.work-calendar-side section{background:#fff;border:1px solid #dfe9e2;border-radius:7px;padding:10px}.work-calendar-side h3{font-size:12px;color:#1c4936;margin:0 0 8px}.work-calendar-side p{font-size:10px;color:#62756b;margin:6px 0}.work-calendar-side p em{float:right;font-style:normal;color:#234f3b;font-weight:700}.official-lock{color:#b36c16!important}.official-total{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #e4ede7;padding-top:7px}.official-total strong{color:#d94e6d;font-size:15px}.official-source-note{margin-bottom:7px}.legend{display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:7px;vertical-align:-1px;background:#f5fbf7;border:1px solid #c9dbcf}.legend.rest{background:#eef9f1}.legend.statutory{background:#fff0f3}.legend.adjusted{background:#fff6e6}.holiday-summary{border:1px solid #8bdfb0;background:#f3fff7;padding:7px 8px;margin-top:6px;border-radius:4px;color:#17683f;font-size:11px}.holiday-summary>span{display:flex;justify-content:space-between;gap:8px}.holiday-summary strong{color:#d94e6d}.holiday-summary small,.work-calendar-side section>small{display:block;color:#7a9185;font-size:9px;margin-top:3px}.version-list{display:grid;gap:7px}.version-list span{display:flex;justify-content:space-between;color:#71857a;font-size:10px}.version-list strong{color:#17683f}.official-calendar-toggle{display:none}@media(max-width:1200px){.work-calendar-layout{grid-template-columns:1fr}.work-calendar-side{display:none;grid-template-columns:repeat(3,minmax(0,1fr))}.work-calendar-side.is-open{display:grid}.official-calendar-toggle{display:inline-flex}.work-calendar-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}}.calendar-day.marketing-peak{box-shadow:inset 0 -2px #d9982b}.calendar-day.marketing-peak small{color:#a66c16}.legend.marketing{background:#fff8e7;border-color:#d9982b}@media(max-width:800px)and (min-width:431px){.work-calendar-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}}@media(max-width:700px){.work-calendar-head{align-items:flex-start;flex-direction:column}.derived-calendar-switch{overflow-x:auto}.derived-calendar-switch button{white-space:nowrap;padding:8px 12px}.derived-calendar-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.derived-calendar-summary strong{font-size:17px}.work-calendar-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px 10px;padding:10px}.work-calendar-side{grid-template-columns:1fr}.calendar-day,.calendar-empty{height:29px}.calendar-day small{font-size:9px}.alternate-week-config{display:grid;grid-template-columns:1fr 1fr;gap:10px}.alternate-week-config small{grid-column:1/-1}}@media(max-width:430px){.work-calendar-grid{grid-template-columns:1fr}.derived-calendar-summary{gap:6px;padding-left:6px;padding-right:6px}.derived-calendar-summary>div{padding:8px}.work-calendar-layout{padding-left:6px;padding-right:6px}.derived-calendar-notice,.alternate-week-config{margin-left:6px;margin-right:6px}}.calendar-adjustment-panel{display:grid;grid-template-columns:minmax(210px,1fr) minmax(260px,1.4fr) auto;gap:12px;align-items:end;margin:0 10px 10px;padding:12px;border:1px solid #cfe3d6;border-radius:7px;background:#fff}.calendar-adjustment-panel>div:first-child span,.calendar-adjustment-panel label{display:block;color:#6d8377;font-size:10px}.calendar-adjustment-panel>div:first-child strong{display:block;margin-top:4px;color:#174b35;font-size:12px}.calendar-adjustment-panel>div:first-child small{display:block;margin-top:4px;color:#b36c16;font-size:10px}.calendar-adjustment-panel label input{box-sizing:border-box;width:100%;margin-top:5px;padding:8px 10px;border:1px solid #c9dcd0;border-radius:5px;color:#234c3a;background:#fff}.calendar-adjustment-actions{display:flex;gap:7px}.calendar-adjustment-actions button{border:1px solid #0b9962;border-radius:5px;background:#0b9962;color:#fff;padding:8px 11px;font:inherit;font-size:11px;cursor:pointer;white-space:nowrap}.calendar-adjustment-actions button.ghost-button{background:#fff;color:#17683f}.calendar-adjustment-actions button:disabled{cursor:not-allowed;opacity:.45}.calendar-day{position:relative;padding:0;font-family:inherit;cursor:pointer}.calendar-day:hover,.calendar-day.selected{border-color:#0b9962;box-shadow:0 0 0 1px #0b9962}.calendar-day.manual-override:after{content:"";position:absolute;right:2px;top:2px;width:5px;height:5px;border-radius:50%;background:#b36c16}.legend.manual{background:#b36c16;border-color:#b36c16}@media(max-width:950px){.calendar-adjustment-panel{grid-template-columns:1fr 1fr}.calendar-adjustment-actions{grid-column:1/-1}}@media(max-width:600px){.calendar-adjustment-panel{grid-template-columns:1fr;margin-left:6px;margin-right:6px}.calendar-adjustment-actions{grid-column:auto;flex-wrap:wrap}}.calendar-schedule-generator{margin:0 0 12px}.schedule-generator-controls{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap}.schedule-generator-controls label{display:grid;gap:5px;color:#6d8175;font-size:11px}.schedule-generator-controls input,.schedule-generator-controls select{height:32px;border:1px solid #d5e2d9;border-radius:4px;background:#fff;padding:0 8px;font:inherit;font-size:12px}.sales-targets-page{gap:14px}.sales-target-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:24px}.sales-target-heading h2{margin:6px 0 4px;color:#163a2d;font-size:28px}.sales-target-heading p,.breadcrumb{color:#6b7d74;font-size:13px}.breadcrumb{letter-spacing:.03em}.sales-target-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.sales-target-toolbar{display:flex;flex-wrap:wrap;align-items:end;gap:12px}.sales-target-toolbar label{display:grid;gap:5px;color:#65746d;font-size:12px}.sales-target-toolbar input,.sales-target-toolbar select{min-height:36px;min-width:104px;border:1px solid #d5e1da;border-radius:6px;padding:0 9px;background:#fff;color:#1d3329}.sales-target-toolbar input[type=number]{width:86px;min-width:86px}.save-state{margin-left:auto;color:#08734e;font-size:12px}.inline-success{padding:9px 12px;border:1px solid #b9e3cd;border-radius:6px;background:#f0fbf5;color:#08734e}.inline-warning{padding:9px 12px;border:1px solid #f0d5a6;border-radius:6px;background:#fff9ed;color:#9a5e18}.sales-target-summary{display:flex;flex-wrap:wrap;gap:0;border:1px solid #dce7e0;border-radius:8px;background:#fff;overflow:hidden}.sales-target-summary span{display:flex;align-items:baseline;gap:7px;padding:12px 16px;border-right:1px solid #e7eee9;color:#6d7c75;font-size:12px}.sales-target-summary span:last-child{border-right:0}.sales-target-summary strong{color:#175d45;font-size:16px}.sales-target-tabs{display:flex;gap:4px;border-bottom:1px solid #dce7e0}.sales-target-tabs button{padding:9px 15px;border:0;border-bottom:2px solid transparent;background:transparent;color:#63736c;cursor:pointer}.sales-target-tabs button.active{border-color:#08734e;color:#08734e;font-weight:700}.sales-target-matrix,.sales-target-analysis,.sales-target-empty,.sales-target-history{overflow:hidden}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}.panel-heading h3{margin:0;color:#1b3c30}.panel-heading small,.panel-heading>span{color:#718078;font-size:12px}.sales-target-table-wrap{max-width:100%;overflow:auto;max-height:650px}.sales-target-table-wrap table{min-width:1420px;border-collapse:separate;border-spacing:0;font-size:12px}.sales-target-table-wrap th,.sales-target-table-wrap td{min-width:67px;border-bottom:1px solid #e6eee9;padding:7px 8px;text-align:right;white-space:nowrap}.sales-target-table-wrap thead th{position:sticky;top:0;z-index:3;background:#f3f7f4;text-align:center;color:#315244}.sales-target-table-wrap thead th strong,.sales-target-table-wrap thead th small,.sales-target-table-wrap thead th em{display:block}.sales-target-table-wrap thead th small,.sales-target-table-wrap thead th em{font-size:10px;font-style:normal;font-weight:400;color:#7b8c85}.sales-target-table-wrap thead th em{color:#b86a2a}.sales-target-table-wrap tbody th{font-weight:600}.sticky-left{position:sticky;left:0;z-index:2;min-width:190px!important;background:#fff;text-align:left!important}.sales-target-table-wrap thead .sticky-left{z-index:4;background:#f3f7f4}.sticky-right{position:sticky;right:0;z-index:2;min-width:112px!important;background:#f8fbf9}.sales-target-table-wrap thead .sticky-right{z-index:4;background:#f3f7f4}.row-label{color:#244638}.child-label{padding-left:34px!important;color:#60756b;font-weight:400!important}.child-row td,.child-row .sticky-left{background:#fbfdfb}.expand-button{width:22px;height:22px;margin-right:7px;border:1px solid #b9d8c9;border-radius:4px;background:#f1faf5;color:#08734e;cursor:pointer}.total-cell{color:#175d45;font-weight:700}.sales-target-table-wrap td button{min-width:58px;border:0;background:transparent;color:#263d33;cursor:default;font:inherit;padding:3px 4px;text-align:right}.sales-target-table-wrap td button:not(:disabled){border-radius:4px;color:#08734e;cursor:pointer}.sales-target-table-wrap td button:not(:disabled):hover{background:#e9f6ef}.sales-target-cell-input{width:72px;border:1px solid #08734e;border-radius:4px;padding:3px 4px;text-align:right;color:#163a2d}.sales-target-empty{padding:36px;text-align:center}.sales-target-empty h3{margin:0 0 8px;color:#1b3c30}.sales-target-empty p{color:#718078}.sales-target-empty>div{display:flex;justify-content:center;gap:8px;margin-top:20px}.sales-target-manual-entry{display:grid;gap:14px}.sales-target-manual-form{display:flex;align-items:end;flex-wrap:wrap;gap:10px}.sales-target-manual-form label{display:grid;gap:5px;min-width:150px;color:#65746d;font-size:12px}.sales-target-manual-form input,.sales-target-manual-form select{min-height:36px;min-width:150px;border:1px solid #d5e1da;border-radius:6px;padding:0 9px;background:#fff;color:#1d3329}.sales-target-sort-button{border:0;padding:0;background:transparent;color:inherit;cursor:pointer;font:inherit}.sales-target-sort-button:hover{color:#08734e}.sales-target-allocation{display:grid;gap:14px}.sales-target-allocation-actions{display:flex;flex-wrap:wrap;gap:8px}.sales-target-allocation-upload{position:relative;overflow:hidden;cursor:pointer}.sales-target-allocation-upload input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.sales-target-fiscal-upload{position:relative;overflow:hidden;cursor:pointer}.sales-target-fiscal-upload input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.sales-target-fiscal-plan{display:grid;gap:14px}.sales-target-fiscal-total{display:flex;align-items:end;flex-wrap:wrap;gap:14px;padding:12px;border:1px solid #dce7e0;border-radius:8px;background:#f8fcfa}.sales-target-fiscal-total label{display:grid;gap:5px;color:#65746d;font-size:12px}.sales-target-fiscal-total input{width:180px;min-height:36px;border:1px solid #cfe0d6;border-radius:6px;padding:0 9px;color:#1d3329}.sales-target-fiscal-total>span{color:#63736c;font-size:12px}.sales-target-fiscal-total>span strong{display:block;margin-top:5px;color:#175d45;font-size:16px}.sales-target-fiscal-total>button{margin-left:auto}.sales-target-fiscal-months{display:grid;grid-template-columns:repeat(6,minmax(120px,1fr));gap:8px}.sales-target-fiscal-months label{display:grid;gap:5px;padding:8px 10px;border:1px solid #e1ebe5;border-radius:7px;background:#fff;color:#65746d;font-size:11px}.sales-target-fiscal-months input{width:100%;min-height:32px;box-sizing:border-box;border:1px solid #d5e1da;border-radius:5px;padding:0 7px;color:#1d3329}.sales-target-channel-summary{display:grid;grid-template-columns:repeat(5,minmax(120px,1fr));gap:8px}.sales-target-channel-summary span{padding:10px 12px;border:1px solid #dce7e0;border-radius:8px;background:#f8fcfa;color:#63736c;font-size:12px}.sales-target-channel-summary strong{display:block;margin-top:4px;color:#175d45;font-size:16px}.sales-target-allocation-table{overflow:hidden;border:1px solid #dce7e0;border-radius:10px}.sales-target-allocation-head,.sales-target-allocation-summary{display:grid;grid-template-columns:minmax(190px,1.6fr) repeat(6,minmax(100px,1fr));align-items:center;gap:8px}.sales-target-allocation-head{padding:9px 12px;background:#f3f7f4;color:#63736c;font-size:12px;text-align:right}.sales-target-allocation-head span:first-child{text-align:left}.sales-target-allocation-head .sales-target-allocation-sort-button{color:#63736c}.sales-target-allocation-item{border-top:1px solid #e6eee9}.sales-target-allocation-item:first-of-type{border-top:0}.sales-target-allocation-summary{width:100%;box-sizing:border-box;padding:11px 12px;background:#fff;color:#345245;font-size:12px;text-align:right}.sales-target-allocation-summary>span,.sales-target-allocation-summary>strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.allocation-store-name{color:#244638;font-weight:700;text-align:left}.allocation-store-name small{display:block;margin-top:3px;color:#8a9991;font-size:10px;font-weight:400}.sales-target-allocation-sort-button{border:0;padding:0;background:transparent;color:inherit;cursor:pointer;font:inherit}.sales-target-allocation-sort-button:hover{color:#08734e}.sales-target-amount-button{border:0;border-bottom:1px dashed #9fcdb4;padding:3px 5px;background:transparent;color:#08734e;cursor:pointer;font:inherit}.sales-target-amount-button:hover:not(:disabled){border-radius:4px;background:#e9f6ef}.sales-target-amount-button:disabled{cursor:default}.sales-target-allocation-cell-input{width:96px;min-height:30px;box-sizing:border-box;border:1px solid #08734e;border-radius:5px;padding:0 6px;color:#163a2d;text-align:right}.sales-target-allocation-filters{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.sales-target-allocation-filters input,.sales-target-allocation-filters select{min-height:34px;border:1px solid #d5e1da;border-radius:6px;padding:0 9px;background:#fff;color:#1d3329}.sales-target-allocation-filters input{min-width:220px}.sales-target-allocation-filters>span{margin-left:auto;color:#718078;font-size:12px}.sales-target-format-summary{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:8px}.sales-target-format-summary>div{display:grid;gap:3px;padding:9px 11px;border:1px solid #dce7e0;border-radius:8px;background:#fbfefc}.sales-target-format-summary strong{color:#244638;font-size:12px}.sales-target-format-summary span,.sales-target-format-summary small{color:#718078;font-size:11px}.sales-target-allocation-editor{display:flex;align-items:end;gap:12px;padding:12px 16px 14px 30px;border-top:1px dashed #dce7e0;background:#fbfefc}.sales-target-allocation-editor label{display:grid;gap:5px;color:#65746d;font-size:12px}.sales-target-allocation-editor input{width:150px;min-height:34px;border:1px solid #cfe0d6;border-radius:5px;padding:0 8px;color:#1d3329}.sales-target-allocation-editor>span{margin-left:auto;color:#63736c;font-size:12px}.sales-target-allocation-editor>span strong{display:inline-block;margin-left:6px;color:#175d45;font-size:16px}.allocation-balanced{color:#08734e}.allocation-mismatch{color:#b34f32;font-weight:700}.sales-target-history{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:12px 16px}.sales-target-history button{border:1px solid #dce7e0;border-radius:6px;padding:7px 10px;background:#fff;color:#3e5a4c;cursor:pointer}.sales-target-history button.active{border-color:#08734e;background:#f0fbf5;color:#08734e}.table-empty{padding:32px;color:#718078;text-align:center}.analysis-grid{display:flex;flex-wrap:wrap;gap:10px;margin:16px 0}.analysis-grid span{min-width:180px;padding:12px 14px;border:1px solid #dce7e0;border-radius:7px;color:#6d7c75;font-size:12px}.analysis-grid strong{display:block;margin-top:5px;color:#175d45;font-size:18px}.analysis-table{width:100%;border-collapse:collapse;font-size:13px}.analysis-table th,.analysis-table td{padding:10px 12px;border-bottom:1px solid #e6eee9;text-align:left}.analysis-table th{background:#f3f7f4;color:#315244}.analysis-table td:last-child{color:#175d45;font-weight:700;text-align:right}.sales-target-modal-backdrop{position:fixed;inset:0;z-index:20;display:grid;place-items:center;padding:24px;background:#0f231b52}.sales-target-modal{width:min(920px,100%);max-height:min(820px,92vh);overflow:auto;display:grid;gap:16px;padding:22px;border-radius:10px;background:#fff;box-shadow:0 18px 55px #142e2438}.sales-target-modal>input[type=file]{border:1px dashed #9bc8b2;border-radius:7px;padding:18px;background:#f7fbf8}.sales-target-selected-file{display:grid;gap:4px;padding:10px 12px;border:1px solid #dce7e0;border-radius:7px;background:#fbfefc;color:#63736c;font-size:12px}.sales-target-selected-file strong{color:#175d45;overflow-wrap:anywhere}.sales-target-selected-file small{color:#84928b}.import-steps{display:flex;flex-wrap:wrap;gap:8px;color:#63736c;font-size:12px}.import-steps span{padding:6px 9px;border-radius:999px;background:#f0f6f2}.sales-target-import-actions,.sales-target-confirm-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.sales-target-confirm-row{justify-content:space-between;padding-top:4px}.import-ready{color:#08734e;font-size:12px}.import-blocked{color:#a45e16;font-size:12px}.sales-target-preview{display:grid;gap:14px}.sales-target-preview .metric-strip{display:flex;flex-wrap:wrap;gap:8px}.sales-target-preview .metric-strip span{padding:8px 10px;border-radius:6px;background:#f0f6f2;color:#175d45;font-size:12px}.sales-target-mapping{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.sales-target-mapping>div{display:grid;gap:6px;align-content:start}.sales-target-mapping strong{color:#21352d}.sales-target-mapping span{padding:6px 8px;border-radius:5px;background:#f7faf8;font-size:12px}.sales-target-mapping .matched{color:#08734e}.sales-target-mapping .unmatched{color:#a45e16;background:#fff8ed}.sales-target-closure-panel{border-color:#c9e8dc;background:linear-gradient(135deg,#fbfffd,#f4fbf7)}.sales-target-allocation .sales-target-channel-summary{grid-template-columns:repeat(7,minmax(110px,1fr))}.sales-target-closure-summary{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:14px 0;padding:12px;border:1px solid #dcefe6;border-radius:12px;background:#fff}.sales-target-closure-summary span{display:flex;flex-direction:column;gap:5px;color:#5d756d;font-size:12px}.sales-target-closure-summary strong{font-size:19px;color:#115f4d}.sales-target-closure-summary .closure-pool-highlight{padding:8px 10px;border-radius:9px;background:#e9f7ef;color:#0a7b59}.sales-target-closure-list{display:grid;gap:8px}.sales-target-closure-list article{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:16px;align-items:center;padding:12px 14px;border:1px solid #dcefe6;border-radius:10px;background:#fff}.sales-target-closure-list article div{display:flex;flex-direction:column;gap:5px}.sales-target-closure-list strong{color:#164f42}.sales-target-closure-list span{color:#234f45;font-size:13px}.sales-target-closure-list small{color:#71877f;font-size:12px}.sales-target-closure-modal{max-width:680px}.sales-target-closure-form{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:16px 0}.sales-target-closure-form label{display:flex;flex-direction:column;gap:6px;color:#31594f;font-size:13px}.sales-target-closure-form label:last-child{grid-column:1 / -1}.sales-target-closure-form input,.sales-target-closure-form select,.sales-target-closure-form textarea{box-sizing:border-box;width:100%;border:1px solid #cfe3da;border-radius:8px;padding:9px 10px;background:#fff;color:#183f36}.sales-target-closure-form textarea{min-height:82px;resize:vertical}@media(max-width:800px){.sales-target-closure-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.sales-target-closure-list article{grid-template-columns:1fr}.sales-target-closure-form{grid-template-columns:1fr}.sales-target-closure-form label:last-child{grid-column:auto}.sales-target-allocation .sales-target-channel-summary{grid-template-columns:repeat(2,minmax(120px,1fr))}}@media(max-width:800px){.sales-target-heading{display:block}.sales-target-actions{justify-content:flex-start;margin-top:12px}.sales-target-summary span{flex:1 1 45%}.sales-target-mapping{grid-template-columns:1fr}.sales-target-toolbar{align-items:stretch}.save-state{margin-left:0}.sales-target-channel-summary,.sales-target-fiscal-months{grid-template-columns:repeat(2,minmax(120px,1fr))}.sales-target-fiscal-total>button{margin-left:0}.sales-target-allocation-filters input{min-width:160px}.sales-target-allocation-filters>span{margin-left:0}.sales-target-format-summary{grid-template-columns:repeat(2,minmax(140px,1fr))}.sales-target-allocation-table{overflow-x:auto}.sales-target-allocation-head,.sales-target-allocation-summary{min-width:900px}}.personnel-page{display:flex;flex-direction:column;gap:14px;padding:6px 0 28px;min-height:100%}.personnel-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:22px;border-bottom:1px solid #e5ece7;padding:10px 0 16px}.personnel-heading h2{margin:7px 0 4px;font-size:26px}.personnel-heading p{margin:0;color:#71837a;font-size:12px}.personnel-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.personnel-primary,.personnel-secondary,.personnel-clear,.personnel-danger{border-radius:7px;padding:8px 13px;font:inherit;font-size:12px;cursor:pointer}.personnel-primary{border:1px solid #0b9964;background:#0b9964;color:#fff;font-weight:700}.personnel-secondary{border:1px solid #b9d8c6;background:#fff;color:#26734b}.personnel-clear{border:0;background:transparent;color:#00895c}.personnel-metrics{display:grid;grid-template-columns:repeat(5,minmax(120px,1fr));gap:10px}.personnel-metric{display:flex;flex-direction:column;align-items:flex-start;gap:8px;min-height:84px;padding:14px 18px;border:1px solid #eef2ef;border-radius:10px;background:#fff;color:#18312a;text-align:left;cursor:pointer}.personnel-metric:hover,.personnel-metric.active{border-color:#66d7a1;box-shadow:0 2px #d9f4e4 inset}.personnel-metric span{font-size:12px;color:#71837a}.personnel-metric strong{font-size:24px;line-height:1}.personnel-toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:10px 12px;background:#fff;border:1px solid #e4ece7;border-radius:9px}.personnel-toolbar input,.personnel-toolbar select{border:1px solid #cfe0d7;border-radius:7px;background:#fbfcfb;color:#38564b;padding:8px 10px;font:inherit;font-size:12px}.personnel-toolbar input{min-width:250px}.personnel-table-shell{overflow:hidden;border:1px solid #e2e9e4;border-radius:5px;background:#fff}.personnel-table-meta{height:42px;display:flex;align-items:center;gap:14px;padding:0 15px;color:#64766e;font-size:12px;border-bottom:1px solid #e2e9e4}.personnel-table-meta strong{color:#1e4032}.personnel-meta-spacer{flex:1}.personnel-table-scroll{overflow:auto;max-height:calc(100vh - 390px);min-height:320px}.personnel-table{width:100%;min-width:1380px;border-collapse:separate;border-spacing:0;font-size:12px;color:#30483e}.personnel-table th{height:42px;background:#f5f8f6;color:#53665e;font-weight:600;text-align:left;border-bottom:1px solid #dfe8e2;white-space:nowrap}.personnel-table td{height:50px;border-bottom:1px solid #e8efea;white-space:nowrap;background:#fff;padding:0 12px;vertical-align:middle}.personnel-table tbody tr{cursor:pointer}.personnel-table tbody tr:hover td,.personnel-table tbody tr.selected td{background:#f3faf5}.personnel-table td strong,.personnel-table td small{display:block}.personnel-table td strong{color:#00895c;font-size:13px}.personnel-table td small{margin-top:3px;color:#97a49e;font-size:10px}.personnel-operation-column{min-width:190px;position:sticky;right:0;z-index:2;background:#fff!important}.personnel-table thead .personnel-operation-column{background:#f5f8f6!important;z-index:4}.personnel-row-actions{display:flex;gap:9px;align-items:center}.personnel-row-actions button{border:0;background:transparent;color:#00895c;cursor:pointer;font:inherit;font-size:12px;padding:0}.personnel-row-actions .danger-link{color:#b3261e}.personnel-status{display:inline-flex;align-items:center;border-radius:11px;padding:4px 8px;font-size:10px;background:#e8f6ed;color:#268452}.personnel-status.onboarding{background:#fff4df;color:#9b6b1e}.personnel-status.inactive{background:#f0f2f1;color:#849089}.personnel-empty{display:grid;place-items:center;min-height:220px;color:#829189;font-size:13px}.personnel-detail-strip{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:15px;padding:14px 17px;background:#eef8f1;border:1px solid #cae7d3;border-radius:9px}.personnel-detail-strip>div{display:flex;flex-direction:column;gap:5px}.personnel-detail-strip strong{font-size:13px;color:#1e4032}.personnel-detail-strip small,.personnel-detail-strip span{font-size:11px;color:#71837a}.personnel-message{position:fixed;top:14px;right:18px;z-index:60;padding:10px 16px;border-radius:8px;font-size:13px;box-shadow:0 6px 18px #1f3f2f29}.personnel-message.ok{background:#e8f6ec;color:#1c7c3a;border:1px solid #bfe5cb}.personnel-message.err{background:#fdeeee;color:#b3261e;border:1px solid #f5c9c6}.personnel-modal-mask{position:fixed;inset:0;background:#14221b73;display:flex;align-items:center;justify-content:center;z-index:70;padding:20px}.personnel-modal{background:#fff;border-radius:14px;padding:20px 22px;width:min(650px,94vw);max-height:90vh;overflow:auto;display:flex;flex-direction:column;gap:16px;box-shadow:0 18px 50px #14362733}.personnel-modal-head{display:flex;justify-content:space-between;gap:18px;border-bottom:1px solid #e4ece7;padding-bottom:13px}.personnel-modal-head h3{margin:6px 0 4px;font-size:19px}.personnel-modal-head p{margin:0;color:#73847b;font-size:12px}.personnel-close{border:0;background:transparent;color:#71837a;font-size:24px;cursor:pointer}.personnel-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px 15px}.personnel-form-grid label{display:flex;flex-direction:column;gap:6px;color:#4c5c53;font-size:12px}.personnel-form-grid input,.personnel-form-grid select,.personnel-form-grid textarea{padding:9px 10px;border:1px solid #cfe0d7;border-radius:8px;background:#fff;color:#243d32;font:inherit;font-size:13px}.personnel-form-grid input:disabled{background:#f3f6f4;color:#71837a}.personnel-form-grid textarea{min-height:75px;resize:vertical}.personnel-full-field{grid-column:1/-1}.personnel-danger-note{grid-column:1/-1;background:#fff5ec;border:1px solid #efd4b9;color:#8b572d;border-radius:8px;padding:10px 12px;font-size:12px;line-height:1.6}.personnel-modal-actions{display:flex;justify-content:flex-end;gap:9px;border-top:1px solid #e4ece7;padding-top:14px}.personnel-danger{border:1px solid #b3261e;background:#b3261e;color:#fff;font-weight:700}.personnel-primary:disabled,.personnel-danger:disabled{opacity:.6;cursor:wait}@media(max-width:980px){.personnel-metrics{grid-template-columns:repeat(3,1fr)}.personnel-heading{align-items:flex-start;display:block}.personnel-actions{margin-top:12px}.personnel-detail-strip{grid-template-columns:repeat(2,1fr)}}@media(max-width:620px){.personnel-metrics{grid-template-columns:repeat(2,1fr)}.personnel-toolbar input{min-width:100%;width:100%}.personnel-toolbar select,.personnel-toolbar button{flex:1}.personnel-table-scroll{min-height:260px}.personnel-meta-spacer{display:none}.personnel-table-meta{flex-wrap:wrap;height:auto;padding:10px 12px}.personnel-form-grid{grid-template-columns:1fr}.personnel-full-field{grid-column:auto}.personnel-detail-strip{grid-template-columns:1fr}.personnel-actions>*{flex:1;text-align:center}}.personnel-checkbox-column{width:40px;min-width:40px;padding:0!important;text-align:center!important;position:sticky;left:0;z-index:3}.personnel-table thead .personnel-checkbox-column{background:#f5f8f6!important;z-index:5}.personnel-table tbody .personnel-checkbox-column{background:#fff}.personnel-table tbody tr:hover .personnel-checkbox-column{background:#fbfdfb}.personnel-table tbody tr.selected .personnel-checkbox-column,.personnel-table tbody tr.checked .personnel-checkbox-column{background:#f3faf5}.personnel-checkbox-column input{width:15px;height:15px;accent-color:#0b9964;cursor:pointer}.personnel-sortable-header{cursor:pointer;-webkit-user-select:none;user-select:none}.personnel-sortable-header span{color:#b4c2ba;font-size:11px;margin-left:4px}.personnel-sortable-header.active{color:#0b8058}.personnel-sortable-header.active span{color:#0b9964;font-weight:700}.personnel-table tbody tr:hover td{background:#fbfdfb}.personnel-table tbody tr.checked td{background:#f0faf4}.personnel-selection-bar{display:flex;align-items:center;gap:12px;min-height:46px;padding:0 15px;background:#f0faf4;border-bottom:1px solid #cfe9d8;color:#2c5e48;font-size:12px}.personnel-selection-bar button{font:inherit;cursor:pointer}.personnel-selection-bar span button{border:0;background:transparent;color:#087b50;text-decoration:underline;padding:0 3px}.personnel-pagination{display:flex;align-items:center;gap:10px;min-height:54px;padding:0 15px;color:#687b72;font-size:12px}.personnel-pagination label{display:flex;align-items:center;gap:5px}.personnel-pagination select{border:1px solid #cfe0d7;border-radius:6px;background:#fff;color:#38564b;padding:6px 8px;font:inherit}.personnel-pagination button:disabled{opacity:.45;cursor:not-allowed}.personnel-field-hint{color:#7b8d84;font-size:11px}.personnel-table th:nth-child(2),.personnel-table td:nth-child(2){position:sticky;left:40px;z-index:2}.personnel-table th:nth-child(2){background:#f5f8f6}.personnel-table td:nth-child(2){background:#fff}.personnel-table tbody tr:hover td:nth-child(2){background:#fbfdfb}.personnel-table tbody tr.selected td:nth-child(2),.personnel-table tbody tr.checked td:nth-child(2){background:#f3faf5}.personnel-validation-summary{display:flex;flex-direction:column;gap:4px;padding:10px 12px;border:1px solid #efc7bf;border-radius:8px;background:#fff4f1;color:#9b3f2d;font-size:12px;line-height:1.5}.personnel-validation-summary strong{color:#8b2e20}.personnel-validation-summary span{font-weight:700;color:#7a3628}.personnel-field-error{display:block;margin-top:5px;color:#a53b2b;font-size:12px;font-weight:600;line-height:1.45}.personnel-form-grid [aria-invalid=true]{border-color:#d96a54!important;box-shadow:0 0 0 2px #d96a541a}.personnel-form-readonly{display:flex;flex-direction:column;gap:5px;min-height:64px;padding:10px 12px;border:1px solid #dce9e1;border-radius:8px;background:#f6faf7;color:#60746a;font-size:12px}.personnel-form-readonly strong{color:#173d2e;font-size:14px}.personnel-form-readonly small{color:#84948c}.personnel-manager-suggestion{display:block;margin-top:4px;padding:7px 9px;border-radius:7px;background:#f3f7f4;color:#60746a;line-height:1.5}.personnel-manager-suggestion.ok{background:#edf8f1;color:#24764e}.personnel-manager-suggestion.warn{background:#fff7e8;color:#8a641d}.personnel-manager-history{margin-top:16px;border-top:1px solid #e4ece7;padding-top:14px}.personnel-manager-history>strong{display:block;margin-bottom:8px;color:#234638}.personnel-manager-history>div{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid #edf2ef}.personnel-manager-history span{font-size:12px;color:#234638}.personnel-manager-history small,.personnel-manager-history p{font-size:11px;color:#71837a}.personnel-toolbar>.searchable-select{flex:0 1 172px;min-width:148px}.personnel-toolbar>.searchable-select .searchable-select-control input{min-width:0;width:100%;padding:8px 62px 8px 10px}.personnel-toolbar>.searchable-select .searchable-select-panel{min-width:230px}.personnel-toolbar>.searchable-select .searchable-select-option strong{font-size:12px}.personnel-toolbar>.searchable-select .searchable-select-option small{font-size:10px}.personnel-operation-column{min-width:92px}.personnel-drawer-actions{flex-wrap:wrap;background:#fff}.personal-recurring-shift{position:relative;overflow:visible}.personal-recurring-shift h4{margin:0 0 8px;font-size:14px;line-height:1.4;font-weight:600;color:var(--ui-color-text,#243d32)}.personal-recurring-shift p,.personal-recurring-shift summary{font-size:12px;line-height:1.6}.personal-recurring-shift .searchable-select-panel{min-width:250px}.personnel-toolbar>.searchable-multi-select{flex:0 1 190px;min-width:160px}.searchable-multi-select{position:relative;min-width:0;font-size:12px}.searchable-multi-select-control{position:relative;height:36px}.searchable-multi-select-control>button:first-child{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;height:36px;padding:0 30px 0 10px;border:1px solid #cfe0d7;border-radius:7px;background:#fbfcfb;color:#71837a;font:inherit;cursor:pointer}.searchable-multi-select-control>button:first-child.has-value{color:#38564b}.searchable-multi-select-control>button:first-child>span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.searchable-multi-select-clear{position:absolute;right:22px;top:7px;width:22px;height:22px;padding:0;border:0;background:transparent;color:#789087;cursor:pointer}.searchable-multi-select-panel{position:absolute;z-index:80;top:calc(100% + 5px);left:0;width:max(260px,100%);padding:9px;border:1px solid #cfe0d7;border-radius:9px;background:#fff;box-shadow:0 12px 28px #1f3f2f29}.searchable-multi-select-panel>input{box-sizing:border-box;width:100%;min-width:0!important;height:34px}.searchable-multi-select-meta{display:flex;align-items:center;justify-content:space-between;padding:7px 2px;color:#71837a}.searchable-multi-select-meta button,.searchable-multi-select-foot button{border:0;background:transparent;color:#087b50;font:inherit;cursor:pointer}.searchable-multi-select-options{max-height:260px;overflow:auto;border-top:1px solid #edf2ef;border-bottom:1px solid #edf2ef;padding:4px 0}.searchable-multi-select-options>button{display:flex;align-items:center;gap:8px;width:100%;min-height:34px;padding:6px 8px;border:0;border-radius:6px;background:#fff;color:#294b3c;text-align:left;font:inherit;cursor:pointer}.searchable-multi-select-options>button:hover,.searchable-multi-select-options>button.selected{background:#edf8f1}.searchable-multi-select-options strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.searchable-multi-check{display:grid;place-items:center;flex:0 0 16px;width:16px;height:16px;border:1px solid #a9cbb8;border-radius:4px;color:#fff}.searchable-multi-select-options>button.selected .searchable-multi-check{border-color:#0b9964;background:#0b9964}.searchable-multi-select-empty{padding:18px 8px;color:#829189;text-align:center}.searchable-multi-select-foot{display:flex;justify-content:flex-end;padding-top:7px}.personnel-primary,.personnel-secondary,.personnel-clear,.personnel-danger{box-sizing:border-box;min-height:34px;display:inline-flex;align-items:center;justify-content:center;text-decoration:none}.personnel-metrics{grid-template-columns:repeat(6,minmax(120px,1fr))}.personnel-table-meta{min-height:42px;height:auto;padding:8px 15px}.personnel-export-options{display:grid;gap:9px}.personnel-export-options label{display:flex;align-items:flex-start;gap:10px;padding:12px;border:1px solid #dce8e1;border-radius:9px;cursor:pointer}.personnel-export-options label.selected{border-color:#59c892;background:#f0faf4}.personnel-export-options span{display:flex;flex-direction:column;gap:4px}.personnel-export-options small,.personnel-field-settings section p{color:#71837a;font-size:12px}.personnel-field-settings{width:min(760px,94vw)}.personnel-field-settings section{display:flex;flex-direction:column;gap:10px}.personnel-checkbox-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.personnel-checkbox-grid label{display:flex;align-items:center;gap:7px;padding:9px 10px;border:1px solid #e2ebe6;border-radius:8px;color:#38564b;font-size:12px}.personnel-quality-modal{width:min(820px,94vw)}.personnel-quality-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.personnel-quality-metrics>div{display:flex;flex-direction:column;gap:5px;padding:13px;border:1px solid #dfeae4;border-radius:9px;background:#f8fbf9}.personnel-quality-metrics span{font-size:12px;color:#71837a}.personnel-quality-metrics strong{font-size:22px;color:#174c37}.personnel-quality-summary{display:flex;gap:8px;flex-wrap:wrap;margin-top:9px}.personnel-quality-summary>span{display:flex;align-items:center;gap:8px;padding:7px 10px;border-radius:16px;background:#eef7f1;color:#38564b;font-size:12px}.personnel-quality-summary strong{color:#b35b00}.personnel-quality-list{display:grid;gap:6px;max-height:320px;overflow:auto;margin-top:9px}.personnel-quality-list button{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:9px 11px;border:1px solid #e5ece8;border-radius:8px;background:#fff;text-align:left;color:#38564b;cursor:pointer}.personnel-quality-list button:hover{background:#f3faf5;border-color:#b9d8c6}.personnel-quality-list button>span:first-child{display:flex;gap:8px;align-items:center}.personnel-quality-list small{color:#829189}.personnel-quality-pass{padding:18px;border:1px solid #cbe7d5;border-radius:9px;background:#eff9f2;color:#237247;text-align:center}@media(max-width:620px){.personnel-checkbox-grid,.personnel-quality-metrics{grid-template-columns:1fr}}@media(max-width:980px){.personnel-metrics{grid-template-columns:repeat(3,1fr)}}@media(max-width:620px){.personnel-metrics{grid-template-columns:repeat(2,1fr)}}.personnel-drawer-mask{position:fixed;inset:0;background:#14221b59;display:flex;justify-content:flex-end;z-index:65}.personnel-drawer{width:min(760px,94vw);height:100%;background:#fff;box-shadow:-12px 0 35px #14362733;display:flex;flex-direction:column}.personnel-drawer-head{display:flex;justify-content:space-between;gap:16px;padding:24px;border-bottom:1px solid #e4ece7}.personnel-drawer-head h3{margin:6px 0 4px;font-size:22px;color:#173c2d}.personnel-drawer-head p{margin:0;color:#71837a;font-size:12px}.personnel-drawer-tabs{display:flex;gap:2px;overflow:auto;padding:0 18px;border-bottom:1px solid #e4ece7;background:#fbfdfb}.personnel-drawer-tabs button{border:0;border-bottom:2px solid transparent;background:transparent;padding:13px 10px;color:#64766e;white-space:nowrap;cursor:pointer;font:inherit;font-size:12px}.personnel-drawer-tabs button.active{border-bottom-color:#0b9964;color:#078454;font-weight:700}.personnel-drawer-content{flex:1;overflow:auto;padding:22px}.personnel-drawer-actions{display:flex;justify-content:flex-end;gap:9px;padding:14px 22px;border-top:1px solid #e4ece7}.personnel-info-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.personnel-info-grid>div{border:1px solid #e5eee8;border-radius:8px;padding:12px;background:#fbfdfb;min-height:54px}.personnel-info-grid span{display:block;color:#75877e;font-size:11px;margin-bottom:6px}.personnel-info-grid strong{color:#234638;font-size:13px;word-break:break-word}.personnel-drawer-placeholder{border:1px dashed #b9d8c6;border-radius:10px;padding:24px;color:#597268;line-height:1.8}.personnel-drawer-placeholder strong{color:#176f49;font-size:16px}.personnel-import-summary{background:#eef8f1;border:1px solid #cae7d3;border-radius:8px;padding:12px;color:#176f49}.personnel-import-errors{max-height:180px;overflow:auto;background:#fff5ec;border:1px solid #efd4b9;border-radius:8px;padding:10px;color:#8b572d;font-size:12px;line-height:1.8}@media(max-width:620px){.personnel-info-grid{grid-template-columns:1fr}.personnel-drawer{width:100%}}.attendance-workbench-page{max-width:100%}.attendance-workbench-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}.attendance-tabs{display:flex;gap:6px;border-bottom:1px solid var(--line, #dbe7e1);margin:12px 0 0}.attendance-tabs button{border:0;background:transparent;padding:12px 18px;color:#526a61;cursor:pointer;font-weight:700;position:relative}.attendance-tabs button.active{color:#087957}.attendance-tabs button.active:after{content:"";position:absolute;left:14px;right:14px;bottom:-1px;height:3px;background:#0aa875;border-radius:3px 3px 0 0}.attendance-tabs b{margin-left:6px;background:#fff0ed;color:#d34d3d;border-radius:10px;padding:2px 6px;font-size:11px}.attendance-toolbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:14px 0}.attendance-toolbar button,.attendance-toolbar input{border:1px solid #cfe1d9;background:#fff;border-radius:7px;padding:7px 10px;color:#285448}.attendance-toolbar label{display:flex;gap:5px;align-items:center;color:#758c84;font-size:12px}.attendance-list-filters{display:grid;grid-template-columns:repeat(3,minmax(180px,260px));gap:8px;margin-bottom:12px}.attendance-list-filters input{height:36px;box-sizing:border-box;border:1px solid var(--ui-color-border-strong);border-radius:var(--ui-radius-control);padding:0 10px;color:var(--ui-color-text);font:inherit}.attendance-period-toggle{display:flex;border:1px solid #cfe1d9;border-radius:7px;overflow:hidden}.attendance-period-toggle button{border:0;border-radius:0}.attendance-period-toggle button.active{background:#e4f5ee;color:#07835e}.attendance-summary-bar{display:grid;grid-template-columns:repeat(7,minmax(90px,1fr));gap:8px;margin-bottom:12px}.attendance-summary-bar button,.attendance-summary-bar>div{border:1px solid #e0ebe6;background:#f8fbf9;border-radius:9px;padding:10px 12px;text-align:left;cursor:pointer}.attendance-summary-bar button.active{border-color:#19af78;background:#effaf5;box-shadow:inset 0 -3px #0ba874}.attendance-summary-bar strong,.attendance-summary-bar span{display:block}.attendance-summary-bar strong{font-size:21px;color:#073f31}.attendance-summary-bar span{color:#70857c;font-size:12px;margin-top:2px}.attendance-record-table-wrap{overflow:auto;background:#fff;border:1px solid #e2ebe7;border-radius:10px}.attendance-record-table{border-collapse:collapse;width:1600px;min-width:100%;font-size:12px}.attendance-record-table th{background:#f5f8f6;color:#5d7069;font-weight:700;text-align:left;white-space:nowrap}.attendance-record-table th,.attendance-record-table td{padding:10px 9px;border-bottom:1px solid #e8efec;vertical-align:middle}.attendance-record-table tbody tr:hover{background:#fbfefd}.attendance-record-table tr.has-anomaly{background:#fffdfb}.attendance-record-table small,.attendance-employee-link small{display:block;color:#82958e;margin-top:3px;white-space:nowrap}.attendance-employee-link{display:grid;grid-template-columns:24px auto;grid-template-rows:auto auto;column-gap:6px;border:0;background:transparent;padding:0;text-align:left;cursor:pointer;color:#075d48}.attendance-employee-link .mini-avatar{grid-row:span 2;display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:#d8f1e7;color:#087957;font-weight:800}.attendance-employee-link small{grid-column:2}.attendance-state,.attendance-result{display:inline-block;border-radius:12px;padding:3px 7px;white-space:nowrap;background:#edf6f1;color:#387261}.attendance-state.draft{background:#fff6df;color:#9c6b00}.attendance-state.published,.attendance-state.changed{background:#e8f7ef;color:#087957}.attendance-result.anomaly{background:#fff0ed;color:#c54c3d}.punch-summary{display:block;max-width:190px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.business-table .punch-summary{max-width:none}.business-table .attendance-reason-cell{white-space:normal}.attendance-notice{border:1px solid #cce7db;background:#f2fbf6;color:#416b5b;padding:10px 12px;border-radius:8px;margin:0 0 12px;font-size:12px}.attendance-gap-panel .gap-summary{grid-template-columns:repeat(3,minmax(130px,220px))}.attendance-gap-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.gap-table{width:1250px}.attendance-detail-backdrop{position:fixed;inset:0;background:#0c261f3d;z-index:20;display:flex;justify-content:flex-end}.attendance-detail-drawer{width:min(560px,92vw);height:100%;overflow:auto;background:#fff;padding:24px;box-shadow:-10px 0 30px #0000001f}.attendance-detail-drawer .detail-header{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:1px solid #e3ece8;padding-bottom:15px}.attendance-detail-drawer h3{margin:5px 0;color:#093f31}.attendance-detail-drawer .detail-section{padding:16px 0;border-bottom:1px solid #e7efeb}.attendance-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px 18px}.attendance-detail-grid small,.attendance-detail-grid strong{display:block}.attendance-detail-grid small{color:#7a9188}.attendance-detail-grid strong{margin-top:3px;color:#204f42}.attendance-timeline{margin-top:14px;border-left:2px solid #bde6d5;padding-left:14px}.attendance-timeline>div{margin:10px 0}.attendance-timeline span,.attendance-timeline strong,.attendance-timeline small{display:block}.attendance-timeline span{color:#087957;font-weight:700}.attendance-timeline small{color:#80958d}.detail-warning{color:#ba4c3f;background:#fff5f2;border-radius:7px;padding:10px}.detail-good{color:#087957;background:#effaf5;border-radius:7px;padding:10px}.detail-actions{display:flex;gap:8px;padding-top:16px}@media(max-width:900px){.attendance-summary-bar{grid-template-columns:repeat(2,1fr)}.attendance-workbench-heading{display:block}.attendance-toolbar label{width:100%}.attendance-toolbar label input{flex:1}.attendance-list-filters{grid-template-columns:1fr}}.attendance-monthly{margin-top:24px}.attendance-monthly-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:16px}.attendance-monthly-heading h3{margin:6px 0 4px}.attendance-monthly-heading p{margin:0;color:var(--ui-text-muted,#6f817b)}.attendance-month-nav{display:flex;align-items:center;gap:12px;white-space:nowrap}.attendance-month-nav strong{min-width:84px;text-align:center;font-size:18px;color:var(--ui-text,#163b32)}.attendance-month-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:16px}.attendance-month-summary>div{background:var(--ui-panel,#fff);border:1px solid var(--ui-border,#d8e5df);border-radius:12px;padding:14px 16px}.attendance-month-summary small{display:block;color:var(--ui-text-muted,#6f817b);margin-bottom:8px}.attendance-month-summary strong{display:block;color:var(--ui-text,#163b32);font-size:28px;line-height:1}.attendance-month-summary em{font-style:normal;font-size:13px;font-weight:500;margin-left:4px;color:var(--ui-text-muted,#6f817b)}.attendance-calendar-grid{background:var(--ui-panel,#fff);border:1px solid var(--ui-border,#d8e5df);border-radius:12px;padding:14px}.attendance-calendar-weekdays,.attendance-calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}.attendance-calendar-weekdays{margin-bottom:8px;color:var(--ui-text-muted,#6f817b);text-align:center;font-size:13px}.attendance-calendar-day{min-height:82px;border:1px solid var(--ui-border,#d8e5df);border-radius:10px;background:#fff;padding:10px;text-align:left;cursor:pointer;display:flex;flex-direction:column;gap:5px;color:var(--ui-text,#163b32)}.attendance-calendar-day:hover{border-color:var(--ui-primary,#087f5b);box-shadow:0 4px 12px #087f5b1a}.attendance-calendar-day strong{font-size:16px}.attendance-calendar-day span{font-size:13px;font-weight:600}.attendance-calendar-day small{color:var(--ui-text-muted,#6f817b);font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.attendance-calendar-empty{min-height:82px}.attendance-calendar-day.status-normal span{color:#16845f}.attendance-calendar-day.status-late span,.attendance-calendar-day.status-early_leave span{color:#bc7a00}.attendance-calendar-day.status-missing_in span,.attendance-calendar-day.status-missing_out span,.attendance-calendar-day.status-absent span{color:#c14e45}.attendance-calendar-day.status-leave span{color:#5971c9}.attendance-calendar-day.status-overtime span{color:#9a62c8}.attendance-calendar-day.status-statutory_holiday{background:#fff7f7}.attendance-calendar-day.status-rest{background:#f6f8f7}.attendance-day-status{display:flex;align-items:center;gap:12px}.attendance-day-status strong{color:var(--ui-primary,#087f5b);font-size:20px}.attendance-day-status span{color:var(--ui-text-muted,#6f817b)}@media(max-width:760px){.attendance-monthly-heading{display:block}.attendance-month-nav{margin-top:12px}.attendance-month-summary{grid-template-columns:repeat(2,1fr)}.attendance-calendar-grid{padding:8px}.attendance-calendar-weekdays,.attendance-calendar-days{gap:4px}.attendance-calendar-day{min-height:64px;padding:7px}.attendance-calendar-day small{display:none}}.position-pay-grade-page{display:grid;gap:20px}.position-pay-grade-page .page-intro.compact-intro{max-width:none;padding:18px 0 8px}.position-pay-grade-page .page-intro h2{margin:8px 0 6px;color:var(--ui-color-text);font-size:30px;letter-spacing:-.04em}.position-pay-grade-page .page-intro p{max-width:780px;margin:0;color:var(--ui-color-muted);font-size:13px}.position-pay-grade-page>.panel{padding:22px 24px 24px;border-color:var(--ui-color-border);border-radius:var(--ui-radius-panel)}.position-pay-grade-page .panel-heading{align-items:flex-start;gap:20px;margin-bottom:18px}.position-pay-grade-page .panel-heading h3{margin:0 0 5px;color:var(--ui-color-text);font-size:20px;letter-spacing:-.02em}.position-pay-grade-page .panel-heading small{color:var(--ui-color-muted);font-size:12px}.position-pay-grade-page .button-row{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:8px}.position-pay-grade-page .button-row>input{width:230px;min-height:36px;padding:0 10px;border:1px solid var(--ui-color-border);border-radius:var(--ui-radius-control);background:#fff;color:var(--ui-color-text);font:inherit;font-size:12px}.position-pay-grade-page .button-row>input:focus{outline:2px solid rgba(15,107,79,.14);border-color:var(--ui-color-primary)}.position-pay-grade-page .button-row .primary-button,.position-pay-grade-page .button-row .ghost-button{min-height:36px;border-radius:var(--ui-radius-control);padding:0 14px}.position-pay-grade-page .table-scroll{overflow:auto;border:1px solid var(--ui-color-border);border-radius:10px}.position-pay-grade-page .data-table{width:100%;min-width:760px;border-collapse:separate;border-spacing:0;color:var(--ui-color-text);font-size:12px}.position-pay-grade-page .data-table th,.position-pay-grade-page .data-table td{height:48px;padding:0 14px;border-bottom:1px solid #e6eee9;text-align:left;vertical-align:middle;white-space:nowrap}.position-pay-grade-page .data-table th{background:var(--ui-color-surface-soft);color:#315244;font-weight:700}.position-pay-grade-page .data-table tbody tr:last-child td{border-bottom:0}.position-pay-grade-page .data-table tbody tr:hover td{background:#fbfdfb}.position-pay-grade-page .data-table td strong{color:var(--ui-color-text);font-size:13px}.position-pay-grade-page .text-button{border:0;border-radius:4px;padding:4px 6px;background:transparent;color:var(--ui-color-primary);cursor:pointer;font:inherit;font-size:12px}.position-pay-grade-page .text-button:hover{background:#e9f6ef}.position-pay-grade-page .text-button.danger-link{color:var(--ui-color-danger)}.position-pay-grade-page .inline-error,.position-pay-grade-page .inline-success{margin:0;border-radius:9px;padding:10px 14px}.position-pay-grade-page .pay-grade-series{margin-top:18px}.position-pay-grade-page .pay-grade-series:first-child{margin-top:0}.position-pay-grade-page .pay-grade-series h4{display:flex;align-items:center;gap:10px;margin:0 0 8px;color:#315244;font-size:14px}.position-pay-grade-page .pay-grade-series h4:before{width:4px;height:16px;border-radius:999px;background:var(--ui-color-primary);content:""}.position-pay-grade-page .personnel-modal-mask{background:#0f231b52;padding:24px}.position-pay-grade-page .personnel-modal{width:min(760px,100%);max-height:90vh;overflow:auto;border:1px solid var(--ui-color-border);border-radius:var(--ui-radius-panel);background:#fff;box-shadow:var(--ui-shadow-overlay)}.position-pay-grade-page .personnel-modal-head{padding:22px 24px 16px;border-bottom:1px solid var(--ui-color-border)}.position-pay-grade-page .personnel-modal-head h3,.position-pay-grade-page .personnel-modal>h3{margin:6px 0 0;color:var(--ui-color-text);font-size:20px}.position-pay-grade-page .personnel-modal>h3{padding:22px 24px 0}.position-pay-grade-page .personnel-modal>p{margin:0;padding:0 24px;color:var(--ui-color-muted);font-size:12px}.position-pay-grade-page .personnel-form-grid{gap:16px;padding:20px 24px}.position-pay-grade-page .personnel-form-grid label{color:#4c5c53;font-size:12px}.position-pay-grade-page .personnel-form-grid input,.position-pay-grade-page .personnel-form-grid select,.position-pay-grade-page .personnel-form-grid textarea{min-height:38px;border-color:var(--ui-color-border);border-radius:var(--ui-radius-control);color:var(--ui-color-text);font-size:13px}.position-pay-grade-page .personnel-modal-actions{justify-content:flex-end;gap:8px;padding:14px 24px;border-top:1px solid var(--ui-color-border)}.position-pay-grade-page .personnel-primary,.position-pay-grade-page .personnel-secondary{min-height:36px;border-radius:var(--ui-radius-control);padding:0 14px}@media(max-width:800px){.position-pay-grade-page .panel-heading{display:grid}.position-pay-grade-page .button-row{justify-content:flex-start}.position-pay-grade-page .button-row>input{width:min(100%,320px)}}@media(max-width:620px){.position-pay-grade-page>.panel{padding:18px}.position-pay-grade-page .page-intro h2{font-size:26px}.position-pay-grade-page .personnel-form-grid{grid-template-columns:1fr}}.position-pay-grade-page .personnel-modal{display:flex;flex-direction:column;gap:0;width:min(680px,94vw);padding:0;overflow:hidden}.position-pay-grade-page .personnel-modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:20px 24px 15px;background:#fff}.position-pay-grade-page .personnel-modal-head .eyebrow{font-size:11px;font-weight:600;letter-spacing:.12em;color:var(--ui-color-muted,#71837a)}.position-pay-grade-page .personnel-modal-head h3{margin:6px 0 0;font-size:20px;font-weight:600;letter-spacing:-.02em}.position-pay-grade-page .personnel-modal-head .personnel-close{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid transparent;border-radius:8px;font-size:21px;line-height:1}.position-pay-grade-page .personnel-modal-head .personnel-close:hover{border-color:var(--ui-color-border,#cfe0d7);background:#f5faf7;color:var(--ui-color-primary-strong,#0f6b4f)}.position-pay-grade-page .personnel-modal>.personnel-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 18px;padding:20px 24px 22px;overflow:auto}.position-pay-grade-page .personnel-modal>.personnel-form-grid>label{gap:7px;color:var(--ui-color-text-secondary,#4c5c53);font-size:13px;font-weight:500}.position-pay-grade-page .personnel-modal>.personnel-form-grid>label>input:not([type=checkbox]):not([type=radio]),.position-pay-grade-page .personnel-modal>.personnel-form-grid>label>select{min-height:38px;padding:8px 10px;border:1px solid var(--ui-color-border,#cfe0d7);border-radius:var(--ui-radius-control,8px);background:#fff;color:var(--ui-color-text,#243d32);font-size:14px;font-weight:400}.position-pay-grade-page .position-editor-form{display:grid}.position-pay-grade-page .position-editor-section{display:grid;gap:12px;min-width:0}.position-pay-grade-page .position-editor-basic{grid-column:1 / -1;grid-template-columns:repeat(2,minmax(0,1fr));padding-bottom:4px}.position-pay-grade-page .position-editor-section-title{grid-column:1 / -1;color:var(--ui-color-text,#243d32);font-size:13px;font-weight:600;letter-spacing:.01em}.position-pay-grade-page .position-editor-section label{display:grid;gap:7px;color:var(--ui-color-text-secondary,#4c5c53);font-size:13px;font-weight:500}.position-pay-grade-page .position-editor-section label input:not([type=checkbox]):not([type=radio]),.position-pay-grade-page .position-editor-section label select{width:100%;box-sizing:border-box;min-height:38px;padding:8px 10px;border:1px solid var(--ui-color-border,#cfe0d7);border-radius:var(--ui-radius-control,8px);background:#fff;color:var(--ui-color-text,#243d32);font-size:14px;font-weight:400}.position-pay-grade-page .position-editor-pay-grade-field{display:grid;gap:9px}.position-pay-grade-page .position-editor-pay-grade-field{grid-column:1 / -1;padding:15px;border:1px solid var(--ui-color-border,#cfe0d7);border-radius:10px;background:#fbfdfc}.position-pay-grade-page .position-editor-effective{grid-column:1 / -1;grid-template-columns:repeat(2,minmax(0,1fr));padding-top:4px}.position-pay-grade-page .position-editor-effective .position-editor-section-title{margin-bottom:-2px}.position-pay-grade-page .position-editor-field-label{color:var(--ui-color-text-secondary,#4c5c53);font-size:13px;font-weight:500}.position-pay-grade-page .pay-grade-select-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(80px,1fr));gap:8px;padding:2px}.position-pay-grade-page .pay-grade-select-chip{display:flex;align-items:center;gap:7px;min-height:36px;padding:7px 9px;border:1px solid var(--ui-color-border,#cfe0d7);border-radius:8px;background:#fff;color:var(--ui-color-text,#243d32);text-align:left;cursor:pointer;font:inherit;transition:border-color .15s ease,background .15s ease,box-shadow .15s ease,transform .15s ease}.position-pay-grade-page .pay-grade-select-chip:hover{border-color:#82cda5;background:#f2fbf5;transform:translateY(-1px)}.position-pay-grade-page .pay-grade-select-chip.selected{border-color:var(--ui-color-primary,#20b879);background:#eaf8ef;color:var(--ui-color-primary-strong,#0f6b4f);box-shadow:0 0 0 2px #20b8791f}.position-pay-grade-page .pay-grade-select-mark{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border:1px solid #b9cbc3;border-radius:4px;color:#fff;font-size:11px;font-weight:700;line-height:1}.position-pay-grade-page .pay-grade-select-chip.selected .pay-grade-select-mark{border-color:var(--ui-color-primary-strong,#0f6b4f);background:var(--ui-color-primary-strong,#0f6b4f)}.position-pay-grade-page .pay-grade-select-copy{display:grid;gap:1px;min-width:0}.position-pay-grade-page .pay-grade-select-copy strong{font-size:14px;font-weight:500;line-height:1.2}.position-pay-grade-page .pay-grade-select-copy small{overflow:hidden;text-overflow:ellipsis;color:var(--ui-color-muted,#71837a);font-size:12px;font-weight:400;white-space:nowrap}.position-pay-grade-page .position-editor-pay-grade-field>small{color:var(--ui-color-muted,#71837a);font-size:12px;font-weight:400;line-height:1.5}.position-pay-grade-page .personnel-modal-actions{position:sticky;bottom:0;z-index:2;min-height:64px;box-sizing:border-box;padding:14px 24px;background:#fffffff5}.position-pay-grade-page .personnel-primary,.position-pay-grade-page .personnel-secondary{min-height:36px;border-radius:var(--ui-radius-control,8px);padding:0 14px;font-size:13px;font-weight:500}@media(max-width:620px){.position-pay-grade-page .personnel-modal>.personnel-form-grid{grid-template-columns:1fr;padding:18px}.position-pay-grade-page .personnel-modal-head{padding:18px}.position-pay-grade-page .personnel-modal-actions{padding:12px 18px}.position-pay-grade-page .pay-grade-select-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.position-description-editor{display:grid;gap:10px}.position-description-editor>label{display:grid;gap:5px;font-size:11px;color:var(--muted)}.position-description-editor input,.position-description-editor textarea{border:1px solid var(--line);border-radius:8px;padding:8px 10px;font:inherit;font-size:12px;background:#fff;color:var(--ink);box-sizing:border-box}.position-description-editor textarea{width:100%;line-height:1.7;resize:vertical}.position-description-section{border:1px solid var(--line);border-radius:10px;padding:10px;background:#fbfdfb;display:grid;gap:8px}.position-description-section-head{display:flex;gap:6px;align-items:center}.position-description-section-head input{flex:1;font-weight:700}.position-editor-description{grid-column:1 / -1}.topbar-context{min-width:1px;min-height:1px}.nav-group{margin:10px 0 0;overflow:hidden;border-radius:10px;background:#ffffff06;transition:background-color .18s ease}.nav-group summary{display:flex;align-items:center;min-height:42px;padding:0 13px;color:#e6f3eb;cursor:pointer;font-size:15px;font-weight:600;list-style:none;letter-spacing:.01em;-webkit-user-select:none;user-select:none}.nav-group summary:before{width:16px;margin-right:6px;color:#9bc6ad;content:"▸";font-size:12px;transition:transform .18s ease}.nav-group[open]{background:#ffffff0f}.nav-group[open] summary:before{transform:rotate(90deg)}.nav-group summary:hover{background:#ffffff1a}.nav-group summary:focus-visible{outline:2px solid #a7d7b7;outline-offset:-2px}.nav-group-items{display:grid;gap:2px;padding:4px 8px 8px 24px}.nav-group-items .nav-item{min-height:38px;padding:9px 12px;color:#b8d2c3;font-size:14px;font-weight:400;line-height:20px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-group-items .nav-item:hover{border-radius:7px;background:#ffffff0f;color:#f5fff8}.nav-group-items .nav-item.active{position:relative;border-radius:7px;background:#ffffff26;color:#fff;font-weight:600}.nav-group-items .nav-item.active:before{position:absolute;top:8px;bottom:8px;left:0;width:3px;border-radius:3px;background:#7ed59e;content:""}.route-page-heading{padding:18px 0 8px}.route-breadcrumb{padding:14px 0 0;color:var(--ui-color-muted);font-size:12px;font-weight:600}.route-page-heading .page-breadcrumb,.position-pay-grade-page .page-breadcrumb{color:var(--ui-color-muted);font-size:12px;font-weight:600}.route-page-heading h1{margin:8px 0 6px;color:var(--ui-color-text);font-size:30px;letter-spacing:-.04em}.route-page-heading p{margin:0;color:var(--ui-color-muted);font-size:13px}.position-pay-grade-page>.page-intro{display:none}.position-pay-grade-page .personnel-modal-head .eyebrow{font-size:0;letter-spacing:0}.position-pay-grade-page .personnel-modal-head .eyebrow:after{color:var(--ui-color-muted);content:"岗位主数据";font-size:10px;letter-spacing:.16em}@media(max-width:620px){.route-page-heading{padding-top:12px}.route-page-heading h1{font-size:26px}}.import-wizard-mask{position:fixed;inset:0;z-index:1200;background:#0a2a2357;display:flex;align-items:center;justify-content:center;padding:24px}.import-wizard{width:min(1080px,96vw);max-height:calc(100vh - 48px);display:flex;flex-direction:column;background:#fff;border:1px solid #d6e5df;border-radius:16px;box-shadow:0 24px 70px #082b2338;overflow:hidden;color:#123d32}.import-wizard-head{display:flex;justify-content:space-between;gap:24px;padding:24px 28px 18px;border-bottom:1px solid #e6efeb}.import-wizard-head h2{margin:7px 0 4px;font-size:25px}.import-wizard-head p,.import-wizard-muted,.import-wizard-help{color:#6e827c;font-size:13px}.import-wizard-close{border:0;background:#f1f6f3;border-radius:50%;width:34px;height:34px;font-size:22px;color:#58716a;cursor:pointer}.import-wizard-steps{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;padding:14px 24px;background:#f6faf8;border-bottom:1px solid #e2ece8}.import-wizard-steps button{border:0;background:transparent;text-align:left;color:#83918d;display:flex;gap:7px;align-items:center;padding:7px 4px;cursor:pointer}.import-wizard-steps strong{font-size:16px;color:#a9b8b3}.import-wizard-steps span{font-size:12px;line-height:1.3}.import-wizard-steps .active{color:#087653;font-weight:700}.import-wizard-steps .active strong,.import-wizard-steps .done strong{color:#0a996e}.import-wizard-body{padding:24px 28px;overflow:auto;min-height:360px}.import-wizard-section h3{margin:0 0 7px;font-size:20px}.import-wizard-section fieldset{border:1px solid #dce9e4;border-radius:10px;padding:16px;margin:18px 0}.import-wizard-section legend{padding:0 7px;font-weight:700}.import-wizard-options{display:flex;flex-wrap:wrap;gap:12px}.import-wizard-options label{min-width:150px;padding:12px;border:1px solid #dbe8e3;border-radius:9px;cursor:pointer}.import-wizard-options label:has(input:checked){border-color:#0aa375;background:#effaf5}.import-wizard-options small{display:block;color:#8b9a95;margin:5px 0 0 21px}.import-wizard-risk-option{display:block;margin-top:14px;color:#a4472b}.import-wizard-template-card,.import-wizard-confirm-card,.import-wizard-result{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:20px;border-radius:12px;background:#f6faf8;border:1px solid #dfebe6}.import-wizard-template-card>div:first-child,.import-wizard-confirm-card,.import-wizard-result{display:flex;flex-direction:column;align-items:flex-start}.import-wizard-template-card span,.import-wizard-confirm-card span,.import-wizard-result span{font-size:13px;color:#6e827c}.import-wizard-check{display:block;margin-bottom:12px;font-size:13px}.import-wizard-dropzone{width:100%;min-height:150px;background:#fbfdfc;border:1px dashed #a9c8bb;border-radius:12px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:8px;color:#54736a;cursor:pointer}.import-wizard-dropzone strong{font-size:16px;color:#176b53}.import-wizard-notice{margin-top:14px;padding:11px 14px;border-radius:8px;font-size:13px}.import-wizard-notice.error{color:#a23d2a;background:#fff3ef;border:1px solid #f3c6b8}.import-wizard-metrics{display:grid;grid-template-columns:repeat(8,1fr);gap:8px;margin:18px 0}.import-wizard-metrics span{padding:11px 9px;border:1px solid #e0ebe6;border-radius:8px;background:#fafcfb;font-size:12px;color:#6b7c76}.import-wizard-metrics strong{display:block;font-size:19px;color:#173e34;margin-top:3px}.import-wizard-metrics .create strong{color:#079b6d}.import-wizard-metrics .update strong{color:#367fc1}.import-wizard-metrics .warning strong,.import-wizard-metrics .mapping strong{color:#b57a13}.import-wizard-metrics .error strong,.import-wizard-metrics .risk strong{color:#c64b35}.import-wizard-table-wrap{overflow:auto;border:1px solid #e3ebe8;border-radius:8px}.import-wizard-table-wrap table{width:100%;border-collapse:collapse;font-size:12px}.import-wizard-table-wrap th,.import-wizard-table-wrap td{padding:9px 10px;border-bottom:1px solid #edf2f0;text-align:left;white-space:nowrap}.import-wizard-table-wrap th{background:#f5f9f7;color:#55716a}.import-wizard-status{padding:3px 7px;border-radius:999px;background:#edf3f1}.import-wizard-status.create,.import-wizard-status.created{color:#087653;background:#e7f8f0}.import-wizard-status.error{color:#af3a28;background:#fff0eb}.import-wizard-status.warning,.import-wizard-status.requires_mapping{color:#956408;background:#fff8e3}.import-wizard-mapping-list{display:grid;gap:8px;margin:18px 0}.import-wizard-mapping-list>div{display:grid;grid-template-columns:1fr 30px 1fr auto;gap:10px;align-items:center;padding:11px;border:1px solid #e0ebe6;border-radius:8px}.import-wizard-mapping-list .matched{background:#effaf5}.import-wizard-mapping-list em{font-style:normal;font-size:12px;color:#087653}.import-wizard-mapping-list .needs-mapping em{color:#aa6a09}.import-wizard-problem{display:flex;gap:14px;align-items:center;margin-top:8px;padding:10px 12px;background:#fff8e5;border:1px solid #f0d69b;border-radius:8px;font-size:13px}.import-wizard-problem span{flex:1}.import-wizard-problem button{border:0;background:transparent;color:#087653;cursor:pointer}.import-wizard-empty{padding:24px;text-align:center;color:#82928c;background:#f8fbfa;border-radius:8px}.import-wizard-foot{display:flex;justify-content:flex-end;gap:10px;padding:14px 28px;border-top:1px solid #e6efeb;background:#fff}.import-wizard-foot .ghost-button,.import-wizard-foot .primary-button{min-width:94px}.import-wizard-foot .primary-button{background:#087653;color:#fff;border:0;border-radius:8px;padding:9px 18px}.import-wizard-foot .ghost-button{background:#f1f6f3;border:0;border-radius:8px;padding:9px 18px;color:#31584e}@media(max-width:850px){.import-wizard-steps,.import-wizard-metrics{grid-template-columns:repeat(4,1fr)}.import-wizard-template-card{align-items:flex-start;flex-direction:column}.import-wizard-body,.import-wizard-head{padding:18px}}html,body,#root{font-family:var(--ui-font-sans);font-size:var(--ui-font-size-md);line-height:var(--ui-line-height-normal)}button,input,select,textarea{font-family:inherit;font-size:var(--ui-font-size-sm);line-height:var(--ui-line-height-normal)}input[type=checkbox],input[type=radio]{box-sizing:border-box!important;width:16px!important;min-width:16px!important;max-width:16px!important;height:16px!important;min-height:16px!important;max-height:16px!important;flex:0 0 16px;margin:0;padding:0!important;border-radius:4px;accent-color:var(--ui-color-primary);vertical-align:middle;cursor:pointer}input[type=radio]{border-radius:50%}input[type=checkbox]:disabled,input[type=radio]:disabled{cursor:not-allowed;opacity:.5}.main-content label.checkbox-line,.main-content label.ui-choice{display:inline-flex;flex-direction:row;width:fit-content;min-height:32px;align-items:center;justify-content:flex-start;grid-template-columns:none;gap:var(--ui-space-2);margin:0;color:var(--ui-color-text-secondary);font-size:var(--ui-font-size-sm);font-weight:var(--ui-font-weight-medium);line-height:var(--ui-line-height-normal);cursor:pointer}.main-content :where(label,legend){line-height:var(--ui-line-height-normal)}.main-content :where(small,.helper-text,.form-help){line-height:var(--ui-line-height-relaxed)}.main-content :where(button,input,select,textarea):focus-visible{outline:3px solid rgba(15,107,79,.24);outline-offset:2px}.main-content .page-section{display:grid;gap:var(--ui-space-3)}.main-content .page-intro h2,.main-content .page-intro.compact-intro h2{color:var(--ui-color-text-primary);font-size:var(--ui-font-size-2xl);font-weight:var(--ui-font-weight-bold);line-height:var(--ui-line-height-tight)}.main-content .page-intro p{color:var(--ui-color-text-muted);font-size:var(--ui-font-size-md);line-height:var(--ui-line-height-relaxed)}.main-content .panel{border:1px solid var(--ui-color-border);border-radius:var(--ui-radius-panel);background:var(--ui-color-surface);box-shadow:none}.main-content .tab-bar{display:flex;align-items:flex-end;gap:2px;overflow-x:auto;border-bottom:1px solid var(--ui-color-border)}.main-content .tab-bar .tab{min-height:36px;border:0;border-bottom:2px solid transparent;border-radius:0;padding:0 14px;background:transparent;color:var(--ui-color-text-secondary);font-size:var(--ui-font-size-sm);font-weight:var(--ui-font-weight-medium);cursor:pointer;white-space:nowrap}.main-content .tab-bar .tab:hover{background:var(--ui-color-brand-subtle);color:var(--ui-color-brand)}.main-content .tab-bar .tab.active{border-bottom-color:var(--ui-color-brand);color:var(--ui-color-brand);font-weight:var(--ui-font-weight-bold)}.main-content .primary-button,.main-content .ghost-button,.main-content .personnel-primary,.main-content .personnel-secondary{min-height:36px;border-radius:var(--ui-radius-control);padding:0 14px;font-size:var(--ui-font-size-sm);font-weight:var(--ui-font-weight-medium)}.main-content .primary-button,.main-content .personnel-primary{border:1px solid var(--ui-color-brand);background:var(--ui-color-brand);color:#fff;font-weight:var(--ui-font-weight-bold)}.main-content .ghost-button,.main-content .personnel-secondary{border:1px solid var(--ui-color-border-strong);background:var(--ui-color-surface);color:var(--ui-color-brand-hover)}.main-content .primary-button:hover:not(:disabled),.main-content .personnel-primary:hover:not(:disabled){background:var(--ui-color-brand-hover)}.main-content .ghost-button:hover:not(:disabled),.main-content .personnel-secondary:hover:not(:disabled){border-color:var(--ui-color-brand);background:var(--ui-color-brand-subtle)}.main-content .policy-maintenance{display:grid;gap:var(--ui-space-3)}.main-content .policy-toolbar{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--ui-space-4);padding:0}.main-content .policy-toolbar h3{margin:0;color:var(--ui-color-text-primary);font-size:var(--ui-font-size-xl);font-weight:var(--ui-font-weight-bold)}.main-content .policy-toolbar p{max-width:860px;margin:5px 0 0;color:var(--ui-color-text-muted);font-size:var(--ui-font-size-sm);line-height:var(--ui-line-height-relaxed)}.main-content .festival-annual-actions{display:flex;align-items:flex-end;gap:var(--ui-space-2);flex-wrap:wrap}.main-content .festival-annual-actions label{display:grid;gap:5px;color:var(--ui-color-text-muted);font-size:var(--ui-font-size-xs)}.main-content .festival-annual-actions select{min-height:36px;border:1px solid var(--ui-color-border);border-radius:var(--ui-radius-control);padding:0 28px 0 10px;background:var(--ui-color-surface);color:var(--ui-color-text-primary);font:inherit}.main-content .festival-annual-note{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid #cde5d8;border-radius:var(--ui-radius-control);background:#f1faf5;color:var(--ui-color-text-secondary);font-size:var(--ui-font-size-sm)}.main-content .festival-annual-note strong{color:var(--ui-color-brand);white-space:nowrap}.main-content .policy-table-wrap{overflow:auto;border:1px solid var(--ui-color-border);border-radius:var(--ui-radius-control);background:var(--ui-color-surface)}.main-content .policy-table{width:100%;min-width:900px;border-collapse:separate;border-spacing:0;color:var(--ui-color-text-primary);font-size:var(--ui-font-size-sm)}.main-content .policy-table th,.main-content .policy-table td{min-height:42px;padding:10px 12px;border-bottom:1px solid #e6eee9;text-align:left;vertical-align:middle;white-space:nowrap}.main-content .policy-table th{background:var(--ui-color-surface-soft);color:#315244;font-weight:var(--ui-font-weight-bold)}.main-content .policy-table tbody tr:hover td{background:#fbfdfb}.main-content .policy-table td strong{display:block;color:var(--ui-color-text-primary);font-size:var(--ui-font-size-md)}.main-content .policy-table td small{display:block;margin-top:3px;color:var(--ui-color-text-muted);font-size:var(--ui-font-size-xs)}.main-content .policy-table .text-link{min-height:30px;border:0;border-radius:var(--ui-radius-control);padding:4px 8px;background:transparent;color:var(--ui-color-brand);font-size:var(--ui-font-size-sm);font-weight:var(--ui-font-weight-medium);cursor:pointer}.main-content .policy-table .text-link:hover{background:var(--ui-color-brand-subtle)}.main-content .policy-drawer{display:grid;gap:var(--ui-space-4);border:1px solid var(--ui-color-border);border-radius:var(--ui-radius-panel);background:var(--ui-color-surface);box-shadow:var(--ui-shadow-overlay)}.main-content .policy-drawer-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--ui-space-4);padding:var(--ui-space-6) var(--ui-space-6) 0}.main-content .policy-drawer-head h3{margin:0;color:var(--ui-color-text-primary);font-size:var(--ui-font-size-lg);font-weight:var(--ui-font-weight-bold)}.main-content .policy-drawer-head>button{min-width:30px;min-height:30px;border:0;border-radius:var(--ui-radius-control);background:transparent;color:var(--ui-color-text-muted);font-size:20px;cursor:pointer}.main-content .policy-drawer-head>button:hover{background:var(--ui-color-brand-subtle);color:var(--ui-color-brand)}.main-content .policy-drawer>label{display:grid;gap:5px;padding:0 var(--ui-space-6);color:var(--ui-color-text-secondary);font-size:var(--ui-font-size-sm)}.main-content .policy-drawer>label input,.main-content .policy-drawer>label select,.main-content .policy-drawer>label textarea{min-height:36px;border:1px solid var(--ui-color-border);border-radius:var(--ui-radius-control);padding:0 9px;background:var(--ui-color-surface);color:var(--ui-color-text-primary);font:inherit}.main-content .policy-drawer>label textarea{min-height:74px;padding:8px 9px;resize:vertical}.main-content .policy-drawer-foot{display:flex;justify-content:flex-end;gap:var(--ui-space-2);padding:var(--ui-space-4) var(--ui-space-6);border-top:1px solid var(--ui-color-border)}.ui-info-banner{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border:1px solid #cde5d8;border-radius:var(--ui-radius-control);background:#edf8f1;color:var(--ui-color-text-secondary);font-size:var(--ui-font-size-sm);line-height:var(--ui-line-height-relaxed)}.ui-info-banner strong{color:var(--ui-color-text-primary)}.ui-empty-state{display:grid;min-height:150px;place-items:center;padding:var(--ui-space-6);color:var(--ui-color-text-muted);text-align:center}.ui-empty-state strong,.ui-empty-state span{display:block}.ui-empty-state strong{color:var(--ui-color-text-primary);font-size:var(--ui-font-size-md)}.ui-empty-state span{margin-top:4px;font-size:var(--ui-font-size-sm)}@media(max-width:720px){.main-content .policy-toolbar{display:block}.main-content .policy-toolbar p{margin-top:8px}.main-content .policy-drawer-head,.main-content .policy-drawer>label,.main-content .policy-drawer-foot{padding-left:18px;padding-right:18px}}.tsm-page{font-family:Inter,PingFang SC,Microsoft YaHei,sans-serif;font-size:13px;color:var(--ui-color-text)}.tsm-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.tsm-heading h1{margin:4px 0 6px;font-size:28px}.tsm-heading p{margin:0;color:var(--ui-color-muted)}.tsm-tabs{display:flex;border-bottom:1px solid var(--ui-color-border);margin:16px 0}.tsm-tabs button{border:0;background:transparent;padding:11px 18px;font-family:inherit;font-size:13px;font-weight:600;color:var(--ui-color-muted);border-bottom:3px solid transparent}.tsm-tabs button.active{color:var(--ui-color-primary);border-color:var(--ui-color-primary)}.tsm-panel{padding:20px;overflow:visible}.tsm-toolbar{display:flex;align-items:end;gap:12px;margin-bottom:16px;flex-wrap:wrap}.tsm-toolbar label,.tsm-form label,.tsm-map-select label,.tsm-add label{display:grid;gap:6px;font-size:12px;font-weight:600}.tsm-toolbar input,.tsm-toolbar select,.tsm-form input:not([type=checkbox]),.tsm-form select,.tsm-form textarea,.tsm-sequence{min-height:36px;border:1px solid var(--ui-color-border);border-radius:8px;padding:7px 10px;font-family:inherit;font-size:12px;background:#fff;color:var(--ui-color-text)}.tsm-toolbar input{width:280px}.tsm-table-wrap{overflow:auto;border:1px solid var(--ui-color-border);border-radius:12px}.tsm-table-wrap table{width:100%;border-collapse:collapse;min-width:1060px}.tsm-table-wrap th{background:var(--ui-color-surface-soft);font-size:12px;text-align:left;padding:11px 12px;white-space:nowrap}.tsm-table-wrap td{padding:11px 12px;border-top:1px solid var(--ui-color-border);font-size:12px;vertical-align:middle}.tsm-table-wrap td small{display:block;color:var(--ui-color-muted);margin-top:3px}.tsm-table-wrap input[type=checkbox],.tsm-check input{width:16px;height:16px;accent-color:var(--ui-color-primary)}.tsm-status{display:inline-flex;padding:4px 9px;border-radius:999px;background:#eef2ef}.tsm-status.active{color:var(--ui-color-success);background:#e7f5ed}.tsm-status.inactive{color:var(--ui-color-muted)}.link-button{border:0;background:transparent;color:var(--ui-color-primary);font-family:inherit;font-size:12px;font-weight:600;padding:4px}.link-button.danger{color:var(--ui-color-danger)}.tsm-pagination{display:flex;justify-content:flex-end;align-items:center;gap:10px;margin-top:14px}.tsm-pagination span{margin-right:auto;color:var(--ui-color-muted)}.tsm-pagination button{height:34px;border:1px solid var(--ui-color-border);border-radius:7px;background:#fff;padding:0 12px}.tsm-map-select{width:min(480px,100%);margin-bottom:18px}.tsm-add{display:grid;grid-template-columns:minmax(260px,480px) auto;align-items:end;gap:12px;margin:18px 0}.tsm-add .primary-button{height:36px}.tsm-capacity{grid-column:1 / -1;margin:0;color:var(--ui-color-danger)}.tsm-sequence{width:72px}.tsm-overlay{position:fixed;inset:0;background:#152a236b;z-index:80;display:flex;justify-content:flex-end}.tsm-drawer{width:min(720px,96vw);height:100%;background:var(--ui-color-surface);box-shadow:-12px 0 36px #0c312524;display:flex;flex-direction:column}.tsm-drawer>header{display:flex;justify-content:space-between;align-items:flex-start;padding:22px 24px;border-bottom:1px solid var(--ui-color-border)}.tsm-drawer h2{font-size:22px;margin:4px 0 0}.tsm-close{border:0;border-radius:50%;width:34px;height:34px;font-size:22px;background:var(--ui-color-surface-soft);color:var(--ui-color-muted)}.tsm-form,.tsm-detail{overflow:auto;padding:20px 24px}.tsm-form{display:flex;flex:1;flex-direction:column}.tsm-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.tsm-form .span-2{grid-column:1 / -1}.tsm-check{display:flex!important;grid-auto-flow:column;justify-content:start;align-items:center;margin-top:25px}.tsm-field-error{color:var(--ui-color-danger);font-weight:400}.tsm-form footer{position:sticky;bottom:-20px;background:#fff;border-top:1px solid var(--ui-color-border);padding:14px 0 0;margin-top:auto;display:flex;justify-content:flex-end;gap:10px}.tsm-detail dl{display:grid;grid-template-columns:120px 1fr;gap:10px;margin:20px 0}.tsm-detail dt{color:var(--ui-color-muted)}.tsm-detail dd{margin:0}.tsm-detail h3{font-size:16px;margin:20px 0 10px}.tsm-history{display:flex;justify-content:space-between;gap:12px;border-top:1px solid var(--ui-color-border);padding:10px 0}.tsm-history span{color:var(--ui-color-muted)}.tsm-confirm-overlay{align-items:center;justify-content:center;z-index:90}.tsm-confirm{width:min(460px,calc(100vw - 32px));padding:22px;border-radius:16px;background:var(--ui-color-surface);box-shadow:0 20px 60px #0c312533}.tsm-confirm h2{margin:0 0 8px;font-size:18px}.tsm-confirm p{margin:0 0 16px;color:var(--ui-color-muted)}.tsm-confirm label{display:grid;gap:6px;font-size:12px;font-weight:600}.tsm-confirm textarea{border:1px solid var(--ui-color-border);border-radius:8px;padding:9px 10px;font:12px inherit;resize:vertical}.tsm-confirm footer{display:flex;justify-content:flex-end;gap:10px;margin-top:16px}@media(max-width:900px){.tsm-form-grid{grid-template-columns:1fr}.tsm-form .span-2{grid-column:auto}.tsm-add{grid-template-columns:1fr}.tsm-toolbar input{width:100%}}.business-table-block{min-width:0}.business-table-tools{display:flex;justify-content:flex-end;min-height:40px;align-items:center}.business-table-settings{position:relative}.business-table-settings-panel{position:absolute;z-index:12;top:calc(100% + 5px);right:0;display:grid;gap:8px;width:230px;max-height:360px;overflow:auto;padding:13px;border:1px solid var(--ui-color-border);border-radius:var(--ui-radius-md);background:var(--ui-color-surface);box-shadow:var(--ui-shadow-overlay)}.business-table-settings-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.business-table-settings-heading>strong{color:var(--ui-color-text);font-size:var(--ui-font-size-sm)}.business-table-settings-close{display:grid;place-items:center;width:28px;height:28px;padding:0;border:0;border-radius:50%;background:transparent;color:var(--ui-color-muted);font:inherit;font-size:var(--ui-font-size-lg);line-height:1;cursor:pointer}.business-table-settings-close:hover,.business-table-settings-close:focus-visible{background:var(--ui-color-brand-subtle);color:var(--ui-color-primary);outline:none}.business-table-settings-panel label{display:flex;align-items:center;gap:8px;min-height:28px;color:var(--ui-color-text);font-size:var(--ui-font-size-sm)}.business-table-settings-panel label small{margin-left:auto;color:var(--ui-color-muted)}.business-table-settings-panel input{width:16px;height:16px;accent-color:var(--ui-color-primary)}.business-table-settings-actions{display:flex;justify-content:space-between;gap:8px;padding-top:4px;border-top:1px solid var(--ui-color-border)}.business-table-scroll{position:relative;overflow-x:auto;border:1px solid var(--ui-color-border);border-radius:var(--ui-radius-md);background:var(--ui-color-surface)}.business-table{table-layout:fixed;min-width:100%;border-collapse:collapse;font-size:var(--ui-font-size-sm)}.business-table th{position:relative;white-space:nowrap;-webkit-user-select:none;user-select:none}.business-table th,.business-table td{box-sizing:border-box;padding:10px 9px;vertical-align:middle;overflow:hidden;overflow-wrap:anywhere}.business-table-resize-handle{position:absolute;z-index:2;top:0;right:-4px;width:9px;height:100%;cursor:col-resize;touch-action:none}.business-table-resize-handle:after{content:"";position:absolute;top:20%;bottom:20%;left:4px;width:1px;background:transparent}.business-table-resize-handle:hover:after,.business-table-is-resizing .business-table-resize-handle:after{background:var(--ui-color-primary)}.business-table-is-resizing{cursor:col-resize!important;-webkit-user-select:none!important;user-select:none!important}.business-table-state{min-height:92px;display:grid;place-items:center;color:var(--ui-color-muted);font-size:var(--ui-font-size-sm)}.business-table-pagination{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding-top:12px;color:var(--ui-color-muted);font-size:var(--ui-font-size-sm)}.business-table-pagination>span:first-child{margin-right:auto}.business-table-pagination select,.business-table-pagination button{height:32px;border:1px solid var(--ui-color-border-strong);border-radius:var(--ui-radius-control);background:var(--ui-color-surface);color:var(--ui-color-text);padding:0 10px;font:inherit}.business-table-pagination button{cursor:pointer}.business-table-pagination button:hover:not(:disabled),.business-table-pagination button.active{border-color:var(--ui-color-primary);background:var(--ui-color-brand-subtle);color:var(--ui-color-primary)}.business-table-pagination button:disabled{cursor:not-allowed;opacity:.45}.business-table-pages{display:flex;align-items:center;gap:4px}.business-table-pages button{min-width:32px;padding:0 7px}@media(max-width:620px){.business-table-tools{justify-content:flex-start}.business-table-settings-panel{right:auto;left:0;width:min(230px,calc(100vw - 40px))}.business-table-pagination>span:first-child{width:100%;margin-right:0}.business-table-pages{max-width:100%;overflow-x:auto}}
