:root{--surface:#f7f9fb;--surface-lowest:#fff;--surface-low:#f2f4f6;--surface-container:#eceef0;--surface-high:#e6e8ea;--surface-highest:#e0e3e5;--text:#191c1e;--muted:#3f4944;--outline:#bec9c2;--primary:#004532;--primary-strong:#065f46;--accent:#065f46;--primary-soft:#ecfdf5;--primary-fixed:#8bd6b6;--secondary:#515f74;--tertiary:#343c51;--danger:#ba1a1a;--shadow:0 4px 18px #0f172a0f;--bp-mobile:640px;--bp-tablet:1024px;--success:#16a34a;--success-soft:#d1fae5;--success-strong:#065f46;--warning:#d97706;--warning-soft:#fef3c7;--info:#2563eb;--info-soft:#dbeafe;--radius-sm:6px;--radius-md:8px;--radius-lg:12px;--radius-full:999px;--shadow-1:0 4px 12px #0f172a0f;--shadow-2:0 8px 24px #0f172a1a;--shadow-3:0 24px 80px #0f172a29;--dur-fast:.12s;--dur-base:.15s;--dur-slow:.22s;--text-xs:11px;--text-sm:12px;--text-base:14px;--text-md:16px;--text-lg:20px;--text-xl:24px;--text-2xl:32px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;color:var(--text);background:var(--surface);font-family:Inter,system-ui,sans-serif}*{box-sizing:border-box}body{background:var(--surface);min-width:320px;margin:0}html{scrollbar-gutter:stable}button,input,select{font:inherit}button{cursor:pointer;border:0}button:disabled{cursor:not-allowed;opacity:.68}a{color:var(--accent);font-weight:700}:focus-visible{outline:2px solid var(--primary-strong);outline-offset:2px;border-radius:inherit}.material-symbols-outlined{vertical-align:middle;font-size:22px;line-height:1}.app-shell{min-height:100vh;display:flex}.sidebar{background:var(--sidebar,var(--primary));border-right:1px solid #ffffff0f;flex-direction:column;flex:0 0 256px;gap:24px;width:256px;height:100vh;padding:16px;display:flex;position:sticky;top:0}.sidebar-head{justify-content:center;align-items:center;display:flex;position:relative}.nav-close{color:#ffffffd9;background:#ffffff14;border-radius:999px;justify-content:center;align-items:center;width:36px;height:36px;display:none;position:absolute;top:-4px;right:-4px}.nav-close:hover{color:#fff;background:#ffffff29}.nav-hamburger{width:40px;height:40px;color:var(--muted);background:0 0;border-radius:999px;justify-content:center;align-items:center;margin-right:auto;display:none}.nav-hamburger:hover{background:var(--surface-high);color:var(--text)}.nav-overlay{z-index:40;background:#00000073;border:0;padding:0;display:none;position:fixed;inset:0}.brand{flex-direction:column;align-items:center;gap:6px;padding:4px 0 8px;display:flex}.brand-logo{background:#fff;border-radius:12px;width:110px;height:auto;padding:6px 10px;display:block}.brand p{color:#ffffffa6;text-transform:uppercase;letter-spacing:.08em;margin:0;font-size:11px;font-weight:700}.side-links{gap:4px;display:grid}.side-links button,.side-links a{color:#ffffffb8;text-align:left;background:0 0;border-radius:8px;align-items:center;gap:14px;min-height:40px;padding:8px 12px;text-decoration:none;transition:all .16s;display:flex}.side-links button:hover,.side-links a:hover{color:#fff;background:#ffffff14}.side-links .active{color:#fff;background:#ffffff24}.side-links .material-symbols-outlined{color:#fff}.side-link-button{cursor:pointer;border:0;width:100%;font-family:inherit}.side-link-label{text-transform:uppercase;letter-spacing:.05em;flex:1;font-size:11px;font-weight:800}.side-link-badge{color:#fff;background:#dc2626;border-radius:999px;justify-content:center;align-items:center;min-width:20px;height:18px;padding:0 6px;font-size:10px;font-weight:800;line-height:1;display:inline-flex}.side-group{flex-direction:column;display:flex}.side-group-toggle{color:#ffffffb8;text-align:left;cursor:pointer;background:0 0;border:none;border-radius:8px;align-items:center;gap:14px;width:100%;min-height:40px;padding:8px 12px;font-family:inherit;transition:all .16s;display:flex}.side-group-toggle:hover{color:#fff;background:#ffffff14}.side-group-toggle.has-active{color:#fff}.side-group-toggle .side-link-label{text-align:left;flex:1}.side-group-arrow{opacity:.7;font-size:11px;transition:transform .16s;display:inline-block}.side-group-arrow.open{transform:rotate(90deg)}.side-group-children{border-left:1px solid #ffffff1f;flex-direction:column;gap:2px;margin:2px 0 4px 18px;padding-left:12px;display:flex}.side-sub-link{align-items:center;text-decoration:none;transition:all .16s;color:#fff9!important;border-radius:6px!important;min-height:32px!important;padding:6px 10px!important;display:flex!important}.side-sub-link>span{text-transform:none!important;letter-spacing:0!important;font-size:12px!important;font-weight:600!important}.side-sub-link:hover{color:#fff!important;background:#ffffff0f!important}.side-sub-link.active{color:#fff!important;background:#ffffff1f!important}.side-sub-link.disabled{pointer-events:none;color:#ffffff52!important;cursor:not-allowed!important}.side-sub-link.disabled:hover{color:#ffffff52!important;background:0 0!important}.sidebar-profile{color:#fff;text-align:left;background:#ffffff14;border:1px solid #ffffff0f;border-radius:12px;align-items:center;gap:12px;margin-top:auto;padding:10px;display:flex}.sidebar-profile img{object-fit:cover;border-radius:999px;width:40px;height:40px}.sidebar-profile strong,.sidebar-profile small{display:block}.sidebar-profile strong{color:#fff}.sidebar-profile small{color:#fff9;margin-top:2px}.workspace{flex-direction:column;flex:1;min-width:0;min-height:100dvh;display:flex}.topbar{z-index:10;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#f7f9fbd1;border-bottom:1px solid #bec9c273;justify-content:flex-end;align-items:center;gap:20px;min-height:64px;padding:10px 24px;display:flex;position:sticky;top:0}.top-actions,.button-row{align-items:center;gap:10px;display:flex}.button-row{flex-wrap:wrap}.button-row button,.button-row a{white-space:nowrap}.top-actions>button:not(.primary-button){width:40px;height:40px;color:var(--muted);background:0 0;border-radius:999px}.top-actions>.logout-button{border-radius:999px;justify-content:center;align-items:center;gap:6px;min-width:92px;padding:0 14px;font-weight:800;display:inline-flex;width:auto!important}.top-actions>button:hover{background:var(--surface-high);color:var(--text)}.notification-wrap{position:relative}.notification-button{width:40px;height:40px;color:var(--muted);background:0 0;border-radius:999px;position:relative}.notification-button:hover{background:var(--surface-high);color:var(--text)}.notification-button i{border:2px solid var(--surface-lowest);background:#dc2626;border-radius:999px;width:13px;height:13px;position:absolute;top:6px;right:6px}.notification-menu{z-index:40;background:#fff;border:1px solid #bec9c2bf;border-radius:12px;width:min(360px,100vw - 32px);position:absolute;top:48px;right:0;overflow:hidden;box-shadow:0 24px 70px #0f172a29}.notification-head{border-bottom:1px solid #bec9c273;justify-content:space-between;align-items:center;min-height:52px;padding:14px 16px;display:flex}.notification-head span{background:var(--primary-soft);min-width:24px;height:24px;color:var(--primary-strong);border-radius:999px;place-items:center;font-size:12px;font-weight:900;display:grid}.notification-list{max-height:340px;overflow-y:auto}.notification-item{border-bottom:1px solid #bec9c252;padding:14px 16px}.notification-item strong{color:var(--text);display:block}.notification-item p{color:var(--muted);margin:4px 0;line-height:1.4}.notification-item small{color:var(--muted);font-size:12px}.notification-item-link{cursor:pointer;transition:background .12s}.notification-item-link:hover{background:#065f460f}.notification-item-link:focus-visible{outline:2px solid var(--primary);outline-offset:-2px}.notification-empty{color:var(--muted);padding:18px 16px;font-weight:800}.notification-markall{color:var(--primary-strong);cursor:pointer;background:0 0;border:0;font-size:12px;font-weight:800}.notification-markall:hover{text-decoration:underline}.notification-see-more{width:100%;color:var(--primary-strong);cursor:pointer;text-align:center;background:0 0;border:0;border-top:1px solid #bec9c273;padding:12px 16px;font-size:13px;font-weight:800}.notification-see-more:hover{background:#065f460f}.notif-page-list{margin:0;padding:0;list-style:none}.notif-page-item{border-bottom:1px solid #bec9c252;justify-content:space-between;align-items:flex-start;gap:16px;padding:14px 20px;display:flex}.notif-page-item.is-linked{cursor:pointer}.notif-page-item.is-linked:hover{background:#065f460d}.notif-page-item.is-unread{background:#065f460a}.notif-page-main strong{color:var(--text);align-items:center;gap:8px;display:flex}.notif-page-main p{color:var(--muted);margin:4px 0 0;line-height:1.5}.notif-page-item small{color:var(--muted);white-space:nowrap;font-size:12px}.notif-dot{background:var(--primary);border-radius:50%;flex:none;width:8px;height:8px}.divider{background:var(--outline);width:1px;height:24px;margin:0 4px}.primary-button,.secondary-button{justify-content:center;align-items:center;gap:var(--space-2);border-radius:var(--radius-md);min-height:40px;transition:var(--dur-base) ease;padding:8px 16px;font-weight:700;display:inline-flex}.primary-button{background:var(--primary);color:#fff;box-shadow:var(--shadow-1)}.primary-button:hover{filter:brightness(1.08)}.primary-button:active:not(:disabled){transform:scale(.98)}.primary-button:disabled{opacity:.6;cursor:not-allowed;filter:none}.secondary-button{border:1px solid var(--outline);color:var(--muted);background:#fff}.secondary-button:hover{background:var(--surface-high);color:var(--text)}.secondary-button:active:not(:disabled){transform:scale(.98)}.secondary-button:disabled{opacity:.6;cursor:not-allowed}.content{flex:1;grid-template-columns:minmax(0,1fr);align-content:start;gap:24px;width:100%;max-width:1600px;margin:0 auto;padding:24px;display:grid}.app-footer{text-align:center;color:var(--muted);border-top:1px solid var(--outline);margin-top:8px;padding:16px 24px;font-size:12px}.page-title{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.page-title h2{letter-spacing:-.01em;color:var(--text);margin:0;font-size:36px;line-height:44px}.page-title p{color:var(--muted);margin:4px 0 0}.table-scroll,.accounts-table-wrap,.sheet-period-table-wrap{-webkit-overflow-scrolling:touch;scrollbar-width:thin}.sortable-th{cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;transition:background var(--dur-fast) ease, color var(--dur-fast) ease}.sortable-th:hover{background:var(--surface-high);color:var(--primary-strong)}.sortable-th.is-active{color:var(--primary-strong)}.sortable-th-label{margin-right:6px}.sortable-th-indicator{opacity:.55;font-size:11px}.sortable-th.is-active .sortable-th-indicator{opacity:1;color:var(--primary-strong)}.sortable-th:focus-visible{outline:2px solid var(--primary-strong);outline-offset:-2px}@media (width<=1024px){.app-shell{display:block}.workspace{width:100%}.sidebar{z-index:50;overscroll-behavior:contain;flex:none;width:min(280px,86vw);height:100dvh;min-height:100dvh;transition:transform .22s;position:fixed;top:0;left:0;overflow-y:auto;transform:translate(-100%);box-shadow:4px 0 18px #0000002e}.sidebar.is-open{transform:translate(0)}.nav-overlay{display:block}.nav-hamburger,.nav-close{display:inline-flex}.top-actions{width:100%}.content{padding:20px}.sidebar-profile{background:var(--sidebar,var(--primary));margin-top:auto;padding-top:12px;position:sticky;bottom:0;box-shadow:0 -8px 12px -8px #00000059}}@media (width<=640px){.topbar{gap:10px;min-height:56px;padding:8px 14px}.top-actions{gap:6px}.top-actions .divider,.top-actions .primary-button{display:none}.top-actions>.logout-button{gap:0;min-width:40px;padding:0;width:40px!important}.top-actions>.logout-button span:not(.material-symbols-outlined){display:none}.notification-menu{width:min(360px,100vw - 16px);right:-4px}.content{gap:16px;padding:14px}.app-footer{padding:12px 14px}.survey-answer-header{top:56px}.page-title{flex-direction:column;align-items:stretch}.page-title h2{font-size:26px;line-height:32px}th,td,.accounts-table th{padding:10px 12px}.accounts-table td{padding:11px 12px}.modal-backdrop{padding:0}.modal-card{border-radius:0;width:100%;max-width:100%;min-height:100dvh;max-height:100dvh}.modal-head{gap:10px;padding:14px 16px}.modal-head h3{font-size:18px}.modal-head p{font-size:13px}.employee-form,.leave-form{grid-template-columns:1fr;gap:12px;padding:16px}.ticket-modal-body{gap:14px}.modal-actions{flex-wrap:wrap;justify-content:stretch}.modal-actions>button{flex:auto;min-width:0}}@media (width<=1024px) and (height<=900px){.modal-backdrop{padding:16px}.modal-card{max-height:calc(100dvh - 32px)}}.profile-greeting-name{color:#065f46;font-weight:900}.metric-grid,.timekeeping-metric-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;display:grid}.metric-card,.panel{background:var(--surface-lowest);box-shadow:var(--shadow);border:1px solid #bec9c2bf;border-radius:12px}.metric-card{transition:var(--dur-slow) ease;padding:24px}.metric-card:hover{box-shadow:var(--shadow-2);transform:translateY(-2px)}.metric-card-filter{text-align:left;cursor:pointer;width:100%;font:inherit;color:inherit;appearance:none}.metric-card-filter.is-active{border-color:var(--primary);box-shadow:0 0 0 2px #065f4647, var(--shadow)}.ticket-filter-clear{color:var(--primary-strong);cursor:pointer;background:0 0;border:none;margin-left:10px;font-size:12px;font-weight:700;text-decoration:underline}.ticket-head-right{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.ticket-search{background:#fff;border:1px solid #bec9c2bf;border-radius:8px;align-items:center;gap:8px;height:38px;padding:0 10px;display:flex}.ticket-search:focus-within{border-color:var(--primary-strong);box-shadow:0 0 0 3px #065f461f}.ticket-search .material-symbols-outlined{color:var(--muted);font-size:18px}.ticket-search input{font:inherit;width:180px;color:var(--text);background:0 0;border:none;outline:none;font-size:14px}.metric-head{justify-content:space-between;align-items:flex-start;margin-bottom:18px;display:flex}.metric-head>span{width:42px;height:42px;color:var(--primary);background:#065f461a;border-radius:8px;place-items:center;display:grid}.metric-head strong{color:var(--primary-strong);font-size:12px}.metric-card p{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;margin:0;font-size:11px;font-weight:800}.metric-card h3{margin:5px 0 0;font-size:36px;font-weight:700;line-height:44px}.metric-card.inverted{background:var(--primary);color:#fff;position:relative;overflow:hidden}.metric-card.inverted p{color:#ffffffb8}.metric-card.inverted .metric-head span{color:#fff;background:#ffffff2e}.metric-card.inverted h3{font-size:24px;line-height:30px}.metric-card.inverted small{align-items:center;gap:8px;margin-top:18px;display:flex}.metric-card.inverted i{background:#4ade80;border-radius:999px;width:8px;height:8px;box-shadow:0 0 0 5px #4ade8026}.dashboard-grid{grid-template-columns:2fr 1fr;gap:20px;display:grid}.panel{overflow:hidden}.glass{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffffb8}.panel-head{border-bottom:1px solid #bec9c26b;justify-content:space-between;align-items:center;gap:14px;min-height:64px;padding:18px 24px;display:flex}.panel-head--flush{border-bottom:none;padding-bottom:0}.panel-head h3{align-items:center;gap:8px;margin:0;font-size:20px;line-height:28px;display:flex}.panel-head h3:before{content:"";border-radius:var(--radius-sm);background:linear-gradient(180deg, var(--primary) 0%, var(--primary-fixed) 100%);flex:none;width:3px;height:18px}.panel-head select{border:1px solid var(--outline);background:var(--surface);height:34px;color:var(--muted);border-radius:8px;padding:0 10px}.department-body{grid-template-columns:1fr 1fr;align-items:center;gap:32px;padding:24px;display:grid}.donut{place-items:center;min-height:260px;display:grid;position:relative}.donut svg{width:min(240px,85%);transform:rotate(-90deg)}.donut path{fill:none;stroke-width:3.4px}.donut-soft{stroke:var(--primary-fixed);stroke-dasharray:30 100}.donut-main{stroke:var(--primary);stroke-width:4.3px;stroke-dasharray:50 100}.donut-alt{stroke:var(--secondary);stroke-dasharray:20 100;stroke-dashoffset:-80px}.donut div{text-align:center;display:grid;position:absolute}.donut strong{font-size:36px}.donut span{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-size:11px;font-weight:800}.progress-list{gap:18px;display:grid}.progress-list div div{justify-content:space-between;align-items:center;gap:12px;display:flex}.progress-list span{align-items:center;gap:8px;display:flex}.progress-list i{background:var(--primary);border-radius:999px;width:12px;height:12px}.progress-list i.mint{background:var(--primary-fixed)}.progress-list i.secondary{background:var(--secondary)}progress{appearance:none;background:var(--surface-high);border:0;border-radius:999px;width:100%;height:7px;overflow:hidden}progress::-webkit-progress-bar{background:var(--surface-high)}progress::-webkit-progress-value{background:var(--primary);border-radius:999px}.progress-list button,.docs button,.compensation .panel-head button{color:var(--primary-strong);background:0 0;padding:6px 0;font-weight:800}.activity-stack{gap:20px;display:grid}.activity-list{gap:4px;padding:12px;display:grid}.activity-item{border-radius:8px;gap:12px;padding:10px;display:flex}.activity-item:hover{background:var(--surface-low)}.activity-item>span{width:40px;height:40px;color:var(--primary);background:#8bd6b64d;border-radius:999px;flex:0 0 40px;place-items:center;display:grid}.activity-item p{margin:0}.activity-item small{color:var(--muted);margin-top:2px;display:block}.activity-stack .secondary-button{width:calc(100% - 48px);margin:0 24px 24px}.audit-log-list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.audit-log-item{border-bottom:1px solid #bec9c252;align-items:flex-start;gap:14px;padding:14px 20px;display:flex}.audit-log-item:last-child{border-bottom:none}.audit-log-icon{border-radius:var(--radius-full,999px);width:40px;height:40px;color:var(--primary);background:var(--primary-soft);flex:0 0 40px;place-items:center;display:grid}.audit-log-body{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.audit-log-body strong{color:var(--text);font-size:14px;font-weight:700;line-height:1.4}.audit-log-body p{color:var(--muted);overflow-wrap:anywhere;margin:0;font-size:13px;line-height:1.4}.audit-log-body small{color:var(--muted);font-size:12px}.recruitment-card,.insight-card{color:#fff;background:linear-gradient(135deg, var(--primary), var(--primary-strong));border-radius:12px;padding:24px;box-shadow:0 18px 38px #0045322e}.recruitment-card h3{margin:0 0 8px;font-size:20px}.recruitment-card p{color:#ffffffc7}.recruitment-card button{width:100%;min-height:40px;color:var(--primary);background:#fff;border-radius:8px;font-weight:800}.table-panel .panel-head{border-bottom:0}.table-meta{color:var(--muted);font-size:13px;font-weight:800}.table-search{width:min(320px,100%);position:relative}.table-search span{color:var(--muted);position:absolute;top:50%;left:12px;transform:translateY(-50%)}.table-search input{background:#fff;border:1px solid #bec9c2bf;border-radius:999px;outline:none;width:100%;height:38px;padding:0 14px 0 40px}.table-search input:focus{border-color:var(--primary-strong);box-shadow:0 0 0 3px #065f461f}.table-scroll{overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:860px}th{background:var(--surface-container);color:var(--text);text-align:left;font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.05em;padding:12px 16px;font-weight:700}td{color:var(--muted);border-top:1px solid #bec9c252;padding:12px 16px}tbody tr{transition:var(--dur-base) ease}tbody tr:hover{background:#065f460f}td:first-child{color:var(--text);align-items:center;gap:12px;display:flex}td img{object-fit:cover;border-radius:999px;width:40px;height:40px}td strong,td small{display:block}td small{color:var(--muted);margin-top:2px}td button{color:var(--muted);background:0 0;border-radius:6px;padding:4px}td button:hover{background:var(--surface-high);color:var(--primary)}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px}.badge{border-radius:var(--radius-full);min-height:24px;font-size:var(--text-sm);align-items:center;padding:2px 10px;font-weight:700;display:inline-flex}.badge.success{color:var(--success-strong);background:var(--success-soft)}.badge.warning{color:#8a5b00;background:var(--warning-soft)}.timekeeping-table{min-width:1160px}.warning-button{justify-content:center;align-items:center;gap:var(--space-2);border-radius:var(--radius-md);cursor:pointer;min-height:40px;transition:var(--dur-base) ease;background:var(--warning);color:#fff;box-shadow:var(--shadow-1);border:none;padding:0 16px;font-size:14px;font-weight:700;display:inline-flex}.warning-button:hover{filter:brightness(1.1)}.warning-button:active:not(:disabled){transform:scale(.98)}.warning-button:disabled{opacity:.6;cursor:not-allowed}.payroll-filter{flex-wrap:wrap;align-items:flex-end;gap:12px;padding:0 24px 20px;display:flex}.payroll-filter label{color:var(--muted);flex-direction:column;gap:6px;font-size:13px;font-weight:700;display:flex}.payroll-filter input,.payroll-filter select{border:1px solid var(--outline);background:#fff;border-radius:8px;height:40px;padding:0 12px;font-size:14px}.payroll-filter select{min-width:200px}.payroll-filter-divider{background:var(--outline);align-self:flex-end;width:1px;height:40px}.payroll-filter-actions{align-self:flex-end;align-items:center;gap:10px;display:flex}.payroll-table{width:100%;min-width:1100px;font-size:13px}.payroll-table th,.payroll-table td{padding:10px 12px}.payroll-table tfoot td{border-top:2px solid var(--outline);background:var(--surface-high);padding:10px 12px}.payroll-name-cell{min-width:140px;max-width:180px}.payroll-role-cell{min-width:120px;max-width:160px;color:var(--muted);font-size:12px}.payroll-period-cell{white-space:nowrap;color:var(--muted);min-width:100px;font-size:12px}.payroll-num-cell{white-space:nowrap;text-align:right}.payroll-total{color:var(--primary-strong)}.payroll-no-link{color:#b45309;margin-top:2px;font-size:11px;font-weight:600;display:block}.muted-cell{color:var(--muted);text-align:center}.payroll-cell-editable{cursor:pointer;border-radius:5px;min-width:48px;padding:3px 7px;font-size:13px;transition:background .12s;display:inline-block}.payroll-cell-editable:hover{background:var(--surface-high)}.payroll-cell-empty{color:var(--muted)}.payroll-cell-input{border:1.5px solid var(--primary);border-radius:6px;outline:none;width:100px;height:32px;padding:0 8px;font-size:13px}.payroll-cell-input[type=text]{width:130px}.payroll-save-notice{color:var(--primary-strong);font-size:13px;font-weight:700}.payroll-action-cell,.payroll-approval-cell{text-align:center;white-space:nowrap}.payroll-badge{border-radius:var(--radius-full);min-height:22px;font-size:var(--text-xs);white-space:nowrap;align-items:center;padding:2px 10px;font-weight:700;display:inline-flex}.payroll-badge-approved{background:var(--success-soft);color:var(--success-strong)}.payroll-badge-declined{color:var(--danger);background:#fee2e2}.payroll-badge-pending{background:var(--surface-container);color:var(--muted)}.payroll-approve-btn{border-radius:var(--radius-sm);border:1.5px solid var(--outline);color:var(--muted);cursor:pointer;transition:var(--dur-fast) ease;background:#fff;justify-content:center;align-items:center;padding:4px 12px;font-size:12px;font-weight:700;display:inline-flex}.payroll-approve-btn:hover{border-color:var(--primary);color:var(--primary-strong)}.payroll-approve-btn-done{background:var(--success-soft);border-color:var(--success-strong);color:var(--success-strong)}.payslip-btn{align-items:center;gap:var(--space-1);border-radius:var(--radius-sm);color:var(--primary-strong);cursor:pointer;transition:background var(--dur-fast) ease;background:#065f4614;border:none;padding:4px 10px;font-size:12px;font-weight:700;display:inline-flex}.payslip-btn:hover{background:#065f4629}.ticket-form{flex-direction:column;gap:16px;padding:0 24px 24px;display:flex}.ticket-form label{color:var(--text);flex-direction:column;gap:6px;font-size:13px;font-weight:600;display:flex}.ticket-form select,.ticket-form textarea{width:100%;color:var(--text);resize:vertical;caret-color:var(--text);background:#fff;border:1px solid #bec9c2bf;border-radius:8px;outline:none;padding:10px 12px;font-size:14px;font-weight:500}.ticket-form textarea{cursor:text}.ticket-form select{height:44px}.ticket-form select:focus,.ticket-form textarea:focus{border-color:var(--primary-strong);box-shadow:0 0 0 3px #065f461f}.ticket-form-actions{justify-content:flex-end;display:flex}.ticket-id-cell{color:var(--muted);white-space:nowrap;font-family:monospace;font-size:12px}.ticket-create-body{padding:14px 24px 24px}.ticket-cat-prompt{color:var(--muted);margin:0 0 14px;font-size:14px}.ticket-cat-grid{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.ticket-cat-card{background:var(--surface-lowest,#fff);min-height:120px;color:var(--text);cursor:pointer;border:1px solid #bec9c2b3;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:18px 12px;font-size:15px;font-weight:700;transition:border-color .12s,box-shadow .12s,transform .12s,background .12s;display:flex}.ticket-cat-card:hover{border-color:var(--primary-strong);background:#065f460d;transform:translateY(-2px);box-shadow:0 4px 14px #065f461f}.ticket-cat-card .material-symbols-outlined{color:var(--primary);font-size:34px}.ticket-selected-cat{background:#065f460f;border:none;border-radius:10px;justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;font-size:14px;display:flex}.ticket-selected-cat span{align-items:center;gap:8px;display:inline-flex}.ticket-selected-cat .material-symbols-outlined{color:var(--primary);font-size:20px}.ticket-cat-change{color:var(--primary-strong);cursor:pointer;background:0 0;border:0;font-size:13px;font-weight:700;text-decoration:underline}@media (width<=640px){.ticket-cat-grid{grid-template-columns:repeat(2,1fr)}}.ticket-category{color:#1e40af;white-space:nowrap;background:#eff6ff;border-radius:999px;padding:2px 10px;font-size:12px;font-weight:700;display:inline-block}.ticket-message-cell{max-width:280px;color:var(--text);font-size:13px}.ticket-date-cell{white-space:nowrap;color:var(--muted);font-size:12px}.ticket-viewed-cell{text-align:center;white-space:nowrap}.ticket-viewed-yes{color:#065f46;align-items:center;gap:4px;font-size:12px;font-weight:700;display:inline-flex}.ticket-viewed-yes .material-symbols-outlined{font-size:14px}.ticket-viewed-no{color:var(--muted);font-size:12px}.ticket-badge{border-radius:var(--radius-full);min-height:22px;font-size:var(--text-xs);white-space:nowrap;align-items:center;padding:2px 10px;font-weight:700;display:inline-flex}.ticket-badge-open{background:var(--info-soft);color:#1e40af}.ticket-badge-inprogress{background:var(--warning-soft);color:#92400e}.ticket-badge-resolved{background:var(--success-soft);color:var(--success-strong)}.ticket-badge-closed{background:var(--surface-container);color:var(--muted)}.ticket-employee-cell{align-items:center;gap:8px;display:flex}.ticket-employee-cell span{flex-direction:column;display:flex}.ticket-employee-cell strong{font-size:13px}.ticket-employee-cell small{color:var(--muted);font-size:11px}.ticket-avatar{object-fit:cover;border-radius:50%;flex-shrink:0;width:32px;height:32px}.ticket-modal{width:100%;max-width:540px}.ticket-modal-body{flex-direction:column;gap:20px;display:flex}.ticket-modal-meta{background:var(--surface-high);border-radius:8px;flex-direction:column;gap:10px;padding:16px;display:flex}.ticket-meta-row{align-items:center;gap:8px;font-size:13px;display:flex}.ticket-meta-label{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);min-width:120px;font-size:11px;font-weight:800}.ticket-modal-message{color:var(--text);border:1px solid var(--outline);white-space:pre-wrap;background:#fafafa;border-radius:8px;padding:14px 16px;font-size:14px;line-height:1.7}.ticket-status-btns{flex-wrap:wrap;gap:8px;display:flex}.ticket-status-btn{color:var(--text);cursor:pointer;background:#fff;border:1.5px solid #065f4659;border-radius:6px;padding:6px 16px;font-size:13px;font-weight:700;transition:all .12s}.ticket-status-btn:hover:not(:disabled){border-color:var(--primary);color:var(--primary-strong);background:#065f460f}.ticket-status-btn-active{background:var(--primary);border-color:var(--primary);color:#fff}.ticket-status-btn-active:hover{filter:brightness(1.1)}.ticket-status-btn:disabled{opacity:.55;cursor:default}.ticket-status-btn-active:disabled{opacity:1;cursor:default}.time-avatar{background:var(--primary-soft);width:40px;height:40px;color:var(--primary-strong);border-radius:999px;flex:0 0 40px;place-items:center;font-size:13px;font-weight:900;display:grid}.time-status{text-transform:capitalize;border-radius:999px;align-items:center;gap:6px;min-height:26px;padding:2px 10px;font-size:12px;font-weight:900;display:inline-flex}.time-status:before{content:"";background:currentColor;border-radius:999px;width:8px;height:8px}.time-status.active{color:#047857;background:#ecfdf5}.time-status.idle{color:#64748b;background:#f1f5f9}.session-pill-list{flex-wrap:wrap;gap:6px;max-width:360px;display:flex}.session-pill{background:var(--surface-low);min-height:28px;color:var(--muted);white-space:nowrap;border-radius:999px;align-items:center;padding:4px 10px;font-size:12px;font-weight:800;display:inline-flex}.sync-note{background:var(--primary-soft);color:var(--primary-strong);border:1px solid #065f4624;border-radius:10px;gap:4px;padding:14px 16px;display:grid}.sync-note strong{font-size:13px;font-weight:900}.sync-note span{color:var(--muted);font-size:13px;font-weight:700}.badge.neutral{color:var(--secondary);background:#515f741f}.badge.info{color:#075985;background:#e0f2fe}.fab{background:var(--primary);color:#fff;border-radius:999px;place-items:center;width:56px;height:56px;display:grid;position:fixed;bottom:24px;right:24px;box-shadow:0 20px 40px #00453240}.filter-bar{flex-wrap:wrap;align-items:center;gap:12px;min-height:72px;padding:14px 18px;display:flex}.filter-bar span{color:var(--muted);align-items:center;gap:8px;font-weight:700;display:inline-flex}.filter-bar>button{background:var(--surface-low);color:var(--muted);border:1px solid var(--outline);border-radius:999px;padding:7px 12px}.filter-bar>button.active{background:var(--primary);border-color:var(--primary);color:#fff}.filter-bar>button small{opacity:.75;margin-left:4px;font-weight:900}.filter-bar .button-row .material-symbols-outlined{color:inherit}.view-toggle{background:var(--surface-high);border-radius:8px;padding:3px;display:inline-flex}.view-toggle button{border:0;border-radius:6px;padding:5px 10px}.view-toggle .active{color:var(--primary);box-shadow:var(--shadow);background:#fff}.pagination{border-top:1px solid #bec9c273;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:12px 18px;display:flex}.pagination-info{color:var(--muted);font-size:13px}.pagination-info strong{color:var(--text);font-weight:700}.pagination-controls{align-items:center;gap:6px;display:flex}.pagination-controls button{border:1px solid var(--outline);border-radius:var(--radius-sm,6px);min-width:34px;height:34px;color:var(--muted);cursor:pointer;transition:var(--dur-base,.15s) ease;background:#fff;padding:0 10px;font-weight:600}.pagination-controls button:hover:not(:disabled){background:var(--surface-high);color:var(--text)}.pagination-controls button:disabled{opacity:.4;cursor:not-allowed}.pagination-controls .active{background:var(--primary);color:#fff;border-color:var(--primary)}.pagination-controls .active:hover:not(:disabled){background:var(--primary);color:#fff}.pagination-ellipsis{width:28px;color:var(--muted);-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;font-weight:700;display:inline-flex}.pagination-mobile{align-items:center;gap:10px;display:none}.pagination-mobile button{border:1px solid var(--outline);border-radius:var(--radius-sm,6px);min-width:64px;height:36px;color:var(--muted);cursor:pointer;background:#fff;padding:0 12px;font-weight:700}.pagination-mobile button:disabled{opacity:.4;cursor:not-allowed}.pagination-mobile-status{color:var(--muted);font-size:13px;font-weight:600}@media (width<=640px){.pagination{gap:8px;padding:10px 14px}.pagination-controls{display:none}.pagination-mobile{display:flex}}.breadcrumb{color:var(--muted);align-items:center;gap:8px;font-size:13px;font-weight:700;display:flex}.profile-grid{grid-template-columns:minmax(0,1fr) 360px;align-items:start;gap:20px;display:grid}.profile-main,.profile-side{gap:20px;display:grid}.detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;padding:24px;display:grid}.detail-grid span{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-size:12px;font-weight:800;display:block}.detail-grid strong{margin-top:4px;display:block}.salary-card{background:var(--primary-soft);border-radius:12px;margin:24px;padding:24px}.salary-card span{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-size:12px;font-weight:800}.salary-card strong{color:var(--primary);margin-top:6px;font-size:36px;display:block}.salary-card small{color:var(--primary-strong);align-items:center;gap:6px;margin-top:8px;font-weight:700;display:inline-flex}.benefit-grid{grid-template-columns:repeat(3,1fr);gap:12px;padding:0 24px 24px;display:grid}.benefit-grid span{border:1px solid var(--outline);text-align:center;min-height:72px;color:var(--primary);border-radius:10px;place-items:center;font-weight:800;display:grid}.profile-leave-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;padding:24px;display:grid}.profile-leave-card{border:1px solid #bec9c2bf;border-left:5px solid var(--leave-color);background:var(--surface-lowest);border-radius:10px;min-height:118px;padding:16px}.profile-leave-card span{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-size:12px;font-weight:900;display:block}.profile-leave-card strong{color:var(--leave-color);margin-top:8px;font-size:34px;line-height:1;display:block}.profile-leave-card small{color:var(--muted);margin-top:8px;font-weight:700;display:block}.profile-card{text-align:center;padding:24px}.profile-photo-button{cursor:pointer;background:0 0;border-radius:999px;place-items:center;padding:0;display:inline-grid;position:relative}.profile-photo-button img{object-fit:cover;width:128px;height:128px;box-shadow:var(--shadow);border:4px solid #fff;border-radius:999px;transition:filter .15s}.profile-photo-button:hover img,.profile-photo-button:focus-visible img{filter:brightness(.75)}.profile-photo-button span{color:#fff;opacity:0;pointer-events:none;background:#0045328c;border-radius:999px;justify-content:center;align-items:center;gap:6px;font-size:12px;font-weight:800;transition:opacity .15s;display:inline-flex;position:absolute;inset:0}.profile-photo-button:hover span,.profile-photo-button:focus-visible span,.profile-photo-button:disabled span{opacity:1}.profile-photo-button span .material-symbols-outlined{font-size:18px}.profile-photo-error{text-align:left;margin-top:14px}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.profile-card h3{margin:14px 0 4px;font-size:20px}.profile-card p{color:var(--muted);margin:0 0 14px}.docs .doc-row{color:var(--text);border-top:1px solid #bec9c252;align-items:center;gap:10px;padding:12px 18px;text-decoration:none;display:flex}.docs .doc-row span:nth-child(2){flex:1;font-weight:700}.docs .doc-link:hover{background:var(--primary-soft);color:var(--primary-strong)}.docs .disabled-doc{color:var(--muted)}.docs button{width:100%;padding:14px}.docs .doc-row-split{gap:0;padding:0}.docs .doc-row-split .doc-row-empty{color:var(--muted);flex:1;align-items:center;gap:10px;padding:12px 12px 12px 18px;display:flex}.docs .doc-row-action:disabled{opacity:.6;cursor:progress}.docs .doc-row-action-danger{color:var(--muted)}.docs .doc-row-action-danger:hover{color:#b91c1c;background:#dc262614}.docs .doc-row-error{margin:8px 18px;padding:8px 12px}.docs .doc-row-split .doc-row-main{color:inherit;flex:1;align-items:center;gap:10px;padding:12px 12px 12px 18px;text-decoration:none;display:flex}.docs .doc-row-split .doc-row-main .doc-row-label{flex:1;font-weight:700}.docs .doc-row-split .doc-row-main small{color:var(--muted);font-size:11px;font-weight:500}.docs .doc-row-split:hover .doc-row-main{background:var(--primary-soft);color:var(--primary-strong)}.docs .doc-row-action{width:auto;color:var(--muted);background:0 0;border-radius:0;padding:12px 18px}.docs .doc-row-action:hover{color:var(--primary-strong);background:var(--primary-soft)}.insight-card{background:var(--tertiary);gap:12px;display:grid}.insight-card p{color:#ffffffdb;margin:0}.insight-card button{color:#fff;background:0 0;align-items:center;gap:6px;padding:0;font-weight:800;display:inline-flex}.login-screen{background:var(--surface);grid-template-columns:minmax(0,1.05fr) minmax(440px,.95fr);min-height:100vh;display:grid}.login-visual{color:#fff;min-height:100vh;position:relative;overflow:hidden}.login-visual>img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.login-visual-brand{width:100%;height:100%;position:absolute;inset:0}.login-visual:after{content:"";background:linear-gradient(135deg,#002116c7,#0045328c);position:absolute;inset:0}.login-visual.is-brand:after{background:linear-gradient(135deg,#00000052,#00000014)}.login-overlay{z-index:1;flex-direction:column;justify-content:flex-end;gap:24px;min-height:100%;padding:48px;display:flex;position:relative}.login-overlay .brand p{color:#fff}.login-overlay h2{letter-spacing:-.02em;max-width:680px;margin:auto 0 0;font-size:clamp(36px,5vw,64px);line-height:1}.login-overlay p{color:#ffffffd1;max-width:560px;font-size:17px;line-height:1.6}.avatar-stack{align-items:center;gap:0;display:flex}.avatar-stack img{object-fit:cover;border:2px solid var(--primary);border-radius:999px;width:42px;height:42px;margin-right:-10px}.avatar-stack span{margin-left:22px;font-weight:800}.login-panel{place-items:center;padding:32px;display:grid}.login-card{width:min(100%,440px);box-shadow:var(--shadow-3);border:1px solid #bec9c2a6;border-radius:16px;padding:32px;position:relative;overflow:hidden}.login-card:before{content:"";background:linear-gradient(90deg, var(--primary) 0%, var(--primary-fixed) 100%);height:4px;position:absolute;top:0;left:0;right:0}.login-logo{background:var(--primary-soft);width:48px;height:48px;color:var(--primary);border-radius:12px;place-items:center;display:grid}.login-logo-img{width:72px;height:auto;margin-bottom:4px;display:block}.login-card h1{margin:20px 0 4px;font-size:24px}.login-card p{color:var(--muted);margin:0 0 24px}.login-card label{color:var(--muted);margin-bottom:8px;font-size:12px;font-weight:800;display:block}.label-line{justify-content:space-between;align-items:center;margin-top:16px;display:flex}.input-row{position:relative}.input-row>span.material-symbols-outlined{color:var(--muted);position:absolute;top:50%;left:14px;transform:translateY(-50%)}.input-row input{background:var(--surface);border:1px solid #bec9c2bf;border-radius:8px;outline:none;width:100%;height:48px;padding:0 14px 0 46px}.input-row input:focus{border-color:var(--primary-strong);box-shadow:0 0 0 3px #065f461f}.input-row:has(>.password-toggle) input{padding-right:46px}.password-toggle{width:36px;height:36px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:999px;justify-content:center;align-items:center;display:inline-flex;position:absolute;top:50%;right:6px;transform:translateY(-50%)}.password-toggle:hover{color:var(--text);background:#0f172a0f}.password-toggle:focus-visible{outline:2px solid var(--primary-strong);outline-offset:2px}.check{align-items:center;gap:8px;margin:16px 0;color:var(--text)!important;text-transform:none!important;letter-spacing:0!important;font-weight:600!important;display:flex!important}.login-submit{width:100%;min-height:48px}.sso-grid{grid-template-columns:1fr 1fr;gap:12px;margin:18px 0;display:grid}.sso-grid button{border:1px solid var(--outline);min-height:40px;color:var(--text);background:#fff;border-radius:8px;font-weight:800}.login-card small{text-align:center;color:var(--muted);margin-top:14px;display:block}.form-error{color:var(--danger);background:#fff1f1;border-radius:8px;margin:0 0 16px;padding:10px 12px;font-size:13px;font-weight:700}.field-error{color:var(--danger);margin-top:2px;font-size:12px;font-weight:600}input[aria-invalid=true],select[aria-invalid=true]{box-shadow:0 0 0 3px #dc26261f;border-color:var(--danger)!important}.form-success{background:var(--primary-soft);color:var(--primary-strong);border-radius:8px;margin:0;padding:10px 12px;font-size:13px;font-weight:800}.loading-panel{color:var(--muted);padding:24px;font-weight:800}.empty-state{color:var(--muted);padding:28px;font-weight:800}@keyframes spin{to{transform:rotate(360deg)}}.sync-progress-panel{flex-direction:column;align-items:center;gap:28px;padding:36px 24px 32px;display:flex}.sync-spinner-ring{border:4px solid var(--surface-high);border-top-color:var(--primary);border-radius:50%;width:52px;height:52px;animation:.8s linear infinite spin}.sync-steps-list{flex-direction:column;gap:12px;width:100%;max-width:260px;display:flex}.sync-step-item{color:var(--surface-highest);align-items:center;gap:10px;font-size:13px;font-weight:600;transition:color .3s;display:flex}.sync-step-item.active{color:var(--primary);font-weight:800}.sync-step-item.done{color:#16a34a}.sync-step-icon{text-align:center;flex-shrink:0;width:16px;font-size:13px}.modal-backdrop{z-index:50;background:#0f172a6b;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.modal-card{background:var(--surface-lowest);border-radius:12px;width:min(920px,100%);max-height:min(860px,100vh - 48px);overflow:auto;box-shadow:0 24px 80px #0f172a3d}.modal-card-sm{width:min(480px,100%)}.modal-card-xs{width:min(400px,100%)}.modal-card-md{width:min(560px,100%)}.modal-head{z-index:1;background:#fff;border-bottom:1px solid #bec9c273;justify-content:space-between;align-items:flex-start;gap:16px;padding:22px 24px;display:flex;position:sticky;top:0}.modal-head h3{margin:0;font-size:22px}.modal-head p{color:var(--muted);margin:4px 0 0}.icon-button{background:var(--surface-low);width:36px;height:36px;color:var(--muted);border-radius:999px;place-items:center;display:grid}.employee-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding:24px;display:grid}.employee-form label{color:var(--text);text-transform:none;letter-spacing:0;gap:6px;font-size:13px;font-weight:600;display:grid}.employee-form input,.employee-form select,.employee-form textarea{width:100%;min-height:44px;color:var(--text);text-transform:none;letter-spacing:0;background:#fff;border:1px solid #bec9c2bf;border-radius:8px;outline:none;padding:10px 12px;font-weight:600}.employee-form textarea{resize:vertical;min-height:86px}.employee-form input:focus,.employee-form select:focus,.employee-form textarea:focus{border-color:var(--primary-strong);box-shadow:0 0 0 3px #065f461f}.full-span{grid-column:1/-1}.file-input input{padding:10px}.file-input span{color:var(--primary-strong);text-transform:none;letter-spacing:0;font-size:13px}.modal-actions{justify-content:flex-end;gap:12px;padding-top:8px;display:flex}.leave-balance-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;display:grid}.leave-balance-card{border:1px solid #bec9c2bf;border-top:5px solid var(--leave-color);box-shadow:var(--shadow);background:#fff;border-radius:12px;gap:20px;padding:24px;display:grid}.leave-balance-card>div span{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-size:12px;font-weight:900;display:block}.leave-balance-card>div strong{color:var(--leave-color);margin-top:6px;font-size:42px;line-height:1;display:block}.leave-balance-card>div small{color:var(--muted);font-weight:700}.leave-balance-card dl{grid-template-columns:repeat(3,1fr);gap:10px;margin:0;display:grid}.leave-balance-card dl div{background:var(--surface-low);border-radius:8px;padding:10px}.leave-balance-card dt{color:var(--muted);text-transform:uppercase;font-size:11px;font-weight:800}.leave-balance-card dd{margin:4px 0 0;font-weight:900}.leave-status{text-transform:capitalize;border-radius:999px;align-items:center;min-height:24px;padding:2px 10px;font-size:12px;font-weight:900;display:inline-flex}.leave-status.pending{color:#8a5b00;background:#fff2cc}.leave-status.approved{color:#065f46;background:#065f461a}.leave-status.rejected{color:#ba1a1a;background:#fff1f1}.leave-status.cancelled{color:#4b5563;background:#e5e7eb}.leave-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding:24px;display:grid}.leave-form label{color:var(--text);text-transform:none;letter-spacing:0;gap:6px;font-size:13px;font-weight:600;display:grid}.leave-form input,.leave-form select,.leave-form textarea{width:100%;min-height:44px;color:var(--text);text-transform:none;letter-spacing:0;background:#fff;border:1px solid #bec9c2bf;border-radius:8px;outline:none;padding:10px 12px;font-weight:600}.leave-form textarea{resize:vertical;min-height:96px}.leave-calculation{background:var(--primary-soft);color:var(--primary-strong);border-radius:10px;gap:4px;padding:16px;display:grid}.leave-calculation.warning{color:var(--danger);background:#fff1f1}.leave-calculation span,.leave-calculation small{font-weight:800}.leave-calculation strong{font-size:26px}.approver-box{background:var(--surface-low);border:1px solid #bec9c2bf;border-radius:10px;gap:10px;padding:16px;display:grid}.approver-box>span{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-size:12px;font-weight:900}.approver-box div{align-items:center;gap:12px;display:flex}.approver-box img{object-fit:cover;border-radius:999px;width:42px;height:42px}.approver-box p{margin:0}.approver-box small{color:var(--muted);margin-top:2px;display:block}.approval-counter{background:var(--primary-soft);min-height:54px;color:var(--primary-strong);border-radius:12px;align-items:center;gap:8px;padding:10px 14px;font-weight:900;display:inline-flex}.approval-counter strong{color:var(--primary);font-size:24px}.approval-employee{align-items:center;gap:10px;display:inline-flex}.approval-employee img{object-fit:cover;border-radius:999px;width:36px;height:36px}.approval-employee strong,.approval-employee small{display:block}.approval-employee small{color:var(--muted);margin-top:2px}.approval-actions{gap:8px;display:inline-flex}.approval-actions button{border-radius:8px;min-height:32px;padding:6px 10px;font-weight:900}.approve-button{background:var(--primary-soft);color:var(--primary-strong)}.reject-button{color:var(--danger);background:#fff1f1}.muted-action{color:var(--muted);font-weight:800}.hr-leave-layout{grid-template-columns:minmax(0,1fr) 360px;align-items:start;gap:20px;display:grid}.hr-calendar-panel{min-width:0}.calendar-legend{color:var(--muted);flex-wrap:wrap;align-items:center;gap:10px;font-size:12px;font-weight:800;display:flex}.calendar-legend span{align-items:center;gap:5px;display:inline-flex}.calendar-legend i{border-radius:999px;width:10px;height:10px}.calendar-legend .approved{background:#065f46}.calendar-legend .pending{background:#d97706}.calendar-legend .done{background:#64748b}.calendar-legend .holiday{background:#2563eb}.leave-calendar{border-top:1px solid #bec9c26b;border-left:1px solid #bec9c26b;grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.calendar-weekday{background:var(--surface-low);min-height:42px;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid #bec9c26b;border-right:1px solid #bec9c26b;place-items:center;font-size:11px;font-weight:900;display:grid}.calendar-day{background:#fff;border-bottom:1px solid #bec9c26b;border-right:1px solid #bec9c26b;min-height:132px;padding:8px}.calendar-day.muted{background:var(--surface-low);color:var(--muted)}.calendar-day.today{box-shadow:inset 0 0 0 2px var(--primary-strong)}.calendar-day-number{width:28px;height:28px;color:var(--text);border-radius:999px;place-items:center;font-weight:900;display:grid}.calendar-day.today .calendar-day-number{background:var(--primary);color:#fff}.calendar-events{gap:5px;margin-top:6px;display:grid}.calendar-chip{color:#fff;cursor:pointer;text-align:left;text-overflow:ellipsis;white-space:nowrap;border:0;border-radius:6px;width:100%;padding:4px 6px;font-size:11px;font-weight:800;overflow:hidden}.calendar-chip:hover{filter:brightness(.94)}.calendar-chip:focus-visible{outline-offset:2px;outline:3px solid #065f463d}.calendar-chip.approved{background:#065f46}.calendar-chip.pending{background:#d97706}.calendar-chip.done{background:#64748b}.calendar-chip.holiday{background:#2563eb}.detail-actions{padding:0 24px 24px}.danger-button{justify-content:center;align-items:center;gap:var(--space-2);border-radius:var(--radius-md);min-height:40px;transition:var(--dur-base) ease;color:#b91c1c;background:#fef2f2;border:1px solid #dc26263d;padding:8px 16px;font-weight:900;display:inline-flex}.danger-button:hover{background:#fee2e2}.danger-button:disabled{opacity:.62;cursor:not-allowed}.calendar-more{color:var(--muted);font-size:11px;font-weight:800}.upcoming-leave-card{position:sticky;top:84px}.upcoming-leave-list{gap:4px;padding:12px;display:grid}.upcoming-leave-item{width:100%;color:inherit;cursor:pointer;text-align:left;background:0 0;border:0;border-radius:8px;gap:12px;padding:10px;display:flex}.upcoming-leave-item:hover{background:var(--surface-low)}.upcoming-holiday-item{align-items:center}.holiday-date-badge{background:var(--primary-soft);width:46px;height:46px;color:var(--primary-strong);text-align:center;border-radius:10px;flex:none;place-items:center;font-size:12px;font-weight:900;display:grid}.upcoming-leave-item img{object-fit:cover;border-radius:999px;width:42px;height:42px}.upcoming-leave-item strong,.upcoming-leave-item span,.upcoming-leave-item small{display:block}.upcoming-leave-item span{color:var(--muted);margin-top:2px;font-size:13px}.upcoming-leave-item small{background:var(--primary-soft);width:fit-content;color:var(--primary-strong);text-transform:capitalize;border-radius:999px;margin-top:6px;padding:2px 8px;font-weight:900}@media (width<=1024px){.metric-grid,.timekeeping-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-grid{grid-template-columns:1fr}}@media (width<=1100px){.profile-grid,.leave-balance-grid,.hr-leave-layout{grid-template-columns:1fr}.profile-side{grid-template-columns:repeat(2,minmax(0,1fr))}.insight-card{grid-column:1/-1}.upcoming-leave-card{position:static}}.sheet-payroll-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px;display:grid}.sheet-payroll-stat{background:var(--surface);border:1px solid #bec9c28c;border-radius:12px;flex-direction:column;gap:4px;padding:14px 18px;display:flex}.sheet-payroll-stat-label{letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);font-size:11px;font-weight:700}.sheet-payroll-stat strong{color:var(--primary);font-size:20px}.sheet-payroll-toolbar{margin-bottom:14px}.sheet-payroll-search{background:var(--surface);border:1px solid #bec9c2a6;border-radius:10px;width:100%;max-width:360px;padding:10px 14px;font-size:14px}.sheet-payroll-error{color:#991b1b;background:#fee2e2;border:1px solid #fca5a5;border-radius:12px;margin-bottom:16px;padding:14px 18px}.sheet-payroll-error p{margin:4px 0 0;font-size:13px}.sheet-payroll-empty{text-align:center;color:var(--text-muted);background:var(--surface);border:1px dashed #bec9c28c;border-radius:12px;padding:48px 24px}.sheet-payroll-list{flex-direction:column;gap:12px;display:flex}.sheet-period-card{background:var(--surface);border:1px solid #bec9c28c;border-radius:12px;overflow:hidden}.sheet-period-card.expanded{border-color:var(--primary)}.sheet-period-head{align-items:center;gap:12px;width:100%;padding:0;display:flex}.sheet-period-head-toggle{cursor:pointer;text-align:left;background:0 0;border:none;flex:1;justify-content:space-between;align-items:center;gap:16px;padding:16px 20px;font-family:inherit;display:flex}.sheet-period-head-toggle:hover{background:var(--surface-low)}.sheet-period-actions{align-items:center;gap:12px;padding:0 20px 0 0;display:flex}.sheet-period-send-btn{background:var(--primary);color:#fff;cursor:pointer;white-space:nowrap;border:none;border-radius:8px;padding:9px 16px;font-size:13px;font-weight:700;transition:filter .12s}.sheet-period-send-btn:hover:not(:disabled){filter:brightness(1.1)}.sheet-period-send-btn:disabled{opacity:.4;cursor:not-allowed}.sheet-period-mass-approve-btn{color:var(--primary-strong);border:1px solid var(--primary-strong);cursor:pointer;white-space:nowrap;background:0 0;border-radius:8px;padding:8px 14px;font-size:13px;font-weight:700;transition:background .12s}.sheet-period-mass-approve-btn:hover:not(:disabled){background:var(--primary-soft)}.sheet-period-mass-approve-btn:disabled{opacity:.4;cursor:not-allowed}.sheet-period-select-col{text-align:center;width:36px;padding:0 4px}.sheet-period-select-col input[type=checkbox]{cursor:pointer}.sheet-period-select-col input[type=checkbox]:disabled{cursor:not-allowed}.sheet-period-head-main{align-items:center;gap:12px;display:flex}.sheet-period-arrow{color:var(--primary);width:14px;font-size:14px;display:inline-block}.sheet-period-head-main strong{color:var(--primary);font-size:16px;display:block}.sheet-period-head-main small{color:var(--text-muted);margin-top:2px;font-size:12px;display:block}.sheet-period-stats{gap:24px;display:flex}.sheet-period-stats>div{flex-direction:column;align-items:flex-end;display:flex}.sheet-period-stats span{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);font-size:10px;font-weight:700}.sheet-period-stats strong{color:var(--primary);font-size:14px}.sheet-period-body{border-top:1px solid #bec9c266}.sheet-period-table-wrap{max-height:70vh;position:relative;overflow:auto}.sheet-period-table{border-collapse:separate;border-spacing:0;width:100%;font-size:13px}.sheet-period-table th{background:var(--surface-low);text-align:left;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);white-space:nowrap;z-index:2;border-bottom:1px solid #bec9c266;padding:10px 12px;font-size:11px;font-weight:800;position:sticky;top:0}.sheet-period-table td{vertical-align:top;background:#fff;border-bottom:1px solid #bec9c240;padding:10px 12px}.sheet-period-table tr:last-child td{border-bottom:none}.sheet-period-table th:first-child,.sheet-period-table td:first-child{z-index:1;position:sticky;left:0;box-shadow:2px 0 4px -2px #0f172a14}.sheet-period-table th:first-child{z-index:3}.sheet-period-table tbody tr:hover td{background:#f0f5f4}.sheet-period-table th:first-child{background:var(--surface-low)}.sheet-period-table .sheet-period-select-col{width:44px;min-width:44px}.sheet-period-table.has-select th:first-child,.sheet-period-table.has-select td:first-child{box-shadow:none}.sheet-period-table.has-select th:nth-child(2),.sheet-period-table.has-select td:nth-child(2){z-index:1;position:sticky;left:44px;box-shadow:2px 0 4px -2px #0f172a14}.sheet-period-table.has-select th:nth-child(2){z-index:3}.sheet-period-name strong{font-size:13px;display:block}.sheet-period-name small{color:var(--text-muted);margin-top:2px;font-size:11px;display:block}.sheet-badge{text-transform:uppercase;letter-spacing:.04em;border-radius:999px;padding:2px 8px;font-size:10px;font-weight:800;display:inline-block}.sheet-badge-ok{color:#065f46;background:#d1fae5}.sheet-badge-bad{color:#991b1b;background:#fee2e2}.sheet-badge-pending{color:#92400e;background:#fef3c7}.sheet-badge-muted{color:#6b7280;background:#f3f4f6}.payment-proof-cell{align-items:center;gap:4px;display:inline-flex}.payment-proof-link{background:var(--primary-soft);color:var(--primary-strong);border-radius:6px;align-items:center;gap:4px;padding:4px 8px;font-size:12px;font-weight:600;text-decoration:none;display:inline-flex}.payment-proof-link:hover{background:var(--primary);color:#fff}.payment-proof-link .material-symbols-outlined{font-size:14px}.payment-proof-action{width:26px;height:26px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:6px;justify-content:center;align-items:center;padding:0;display:inline-flex}.payment-proof-action:hover{color:var(--primary-strong);background:var(--primary-soft)}.payment-proof-action:disabled{opacity:.5;cursor:progress}.payment-proof-action .material-symbols-outlined{font-size:16px}.payment-proof-action-danger:hover{color:#b91c1c;background:#dc262614}.payment-proof-upload-btn{background:var(--surface-low);border:1px dashed var(--border);color:var(--text-muted);cursor:pointer;border-radius:6px;align-items:center;gap:4px;padding:4px 10px;font-size:12px;font-weight:600;display:inline-flex}.payment-proof-upload-btn:hover{border-style:solid;border-color:var(--primary-strong);color:var(--primary-strong)}.payment-proof-upload-btn:disabled{opacity:.6;cursor:progress}.payment-proof-upload-btn .material-symbols-outlined{font-size:14px}.approved-screen{background:linear-gradient(135deg,#f0fdf4 0%,#f7f9fb 100%);place-items:center;min-height:100vh;padding:32px 16px;display:grid}.approved-card{text-align:center;background:#fff;border:1px solid #bec9c28c;border-radius:16px;width:100%;max-width:460px;padding:48px 40px;box-shadow:0 8px 32px #00453214}.approved-logo{width:96px;height:auto;margin:0 auto 24px;display:block}.approved-icon{border-radius:50%;place-items:center;width:64px;height:64px;margin:0 auto 20px;font-size:30px;font-weight:900;display:grid}.approved-icon.ok{color:#065f46;background:#d1fae5}.approved-icon.error{color:#b91c1c;background:#fee2e2}.approved-card h1{color:var(--primary);margin:0 0 12px;font-size:24px}.approved-lead{color:#444;margin:0 0 8px;font-size:15px;line-height:1.6}.approved-error-msg{color:#b91c1c;margin:0 0 8px;font-size:14px;line-height:1.6}.approved-hint{color:var(--text-muted);margin:0;font-size:13px;line-height:1.6}.approved-actions{justify-content:center;margin-top:28px;display:flex}.approved-actions .primary-button{padding:12px 28px;font-weight:700;text-decoration:none;display:inline-block}.my-payslip-card{background:var(--surface);border:1px solid #bec9c28c;border-radius:12px;flex-direction:column;gap:14px;padding:18px 20px;display:flex}.my-payslip-card-head{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.my-payslip-card-title strong{color:var(--primary);font-size:16px;display:block}.my-payslip-card-title small{color:var(--text-muted);margin-top:2px;font-size:12px;display:block}.my-payslip-card-amount{color:var(--primary);white-space:nowrap;font-size:18px;font-weight:800}.my-payslip-card-body{border-top:1px solid #bec9c259;flex-wrap:wrap;gap:24px;padding-top:12px;display:flex}.my-payslip-status{flex-direction:column;gap:4px;display:flex}.my-payslip-status-label{letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);font-size:10px;font-weight:700}.my-payslip-card-foot{justify-content:flex-end;display:flex}.my-payslip-proof{flex-direction:column;gap:4px;display:flex}.my-payslip-proof-pending{color:var(--text-muted);align-items:center;gap:4px;font-size:12px;font-style:italic;display:inline-flex}.my-payslip-proof-pending .material-symbols-outlined{font-size:14px}.my-payslip-doc-proof{background:var(--surface-low);border:1px solid var(--border);border-radius:10px;flex-direction:column;align-items:flex-start;gap:8px;margin-top:8px;padding:16px;display:flex}.my-payslip-doc-proof-empty{color:var(--text-muted);flex-direction:row;align-items:center;gap:8px;font-style:italic}.my-payslip-doc-proof-empty .material-symbols-outlined{font-size:16px}.my-payslip-doc-proof-img{border-radius:8px;max-width:100%;max-height:300px;display:block}.my-payslip-doc-proof-pdf{background:var(--primary-soft);color:var(--primary-strong);border-radius:8px;align-items:center;gap:8px;padding:10px 16px;font-weight:700;text-decoration:none;display:inline-flex}.my-payslip-doc-proof-pdf:hover{background:var(--primary);color:#fff}.my-payslip-doc-proof-name{color:var(--text-muted);font-size:12px}.my-payslip-modal{flex-direction:column;width:min(880px,100% - 32px);display:flex}.my-payslip-modal .modal-head{padding:14px 20px}.my-payslip-doc{color:#1a1a1a;padding:18px 24px 22px;font-size:13px}.my-payslip-modal .my-payslip-doc{max-width:777px;margin:0 auto;padding:5px}.my-payslip-doc-header{justify-content:space-between;align-items:center;gap:16px;display:flex}.my-payslip-doc-logo{width:72px;height:auto;display:block}.my-payslip-doc-subline{color:#888;text-transform:uppercase;letter-spacing:.08em;margin-top:4px;font-size:10px;font-weight:700}.my-payslip-doc-title{color:#111;letter-spacing:-.02em;text-align:right;font-size:16px;font-weight:900}.my-payslip-doc hr{border:none;border-top:1px solid #e5e7eb;margin:12px 0}.my-payslip-doc-meta{grid-template-columns:1fr 1fr;gap:4px 18px;display:grid}.my-payslip-doc-meta>div{color:#333;font-size:12px}.my-payslip-doc-meta strong{color:#555;margin-right:4px}.my-payslip-doc-section-title{text-transform:uppercase;letter-spacing:.08em;color:#065f46;margin-top:14px;margin-bottom:6px;font-size:11px;font-weight:800}.my-payslip-doc-table{border-collapse:collapse;width:100%;min-width:0;font-size:12px}.my-payslip-doc-table th:first-child,.my-payslip-doc-table td:first-child,.my-payslip-doc-table th:nth-child(3),.my-payslip-doc-table td:nth-child(3){white-space:nowrap}.my-payslip-doc-table th{text-align:left;text-transform:uppercase;letter-spacing:.05em;color:#555;background:#f5f5f5;border:1px solid #e5e7eb;padding:6px 10px;font-size:10px}.my-payslip-doc-table td{vertical-align:top;border:1px solid #e5e7eb;padding:6px 10px}.my-payslip-doc-notes{color:#555;word-break:break-word;overflow-wrap:anywhere;font-size:11px}.my-payslip-doc-amount{text-align:right;white-space:nowrap;font-family:monospace}.my-payslip-doc-total td{color:#065f46;font-size:13px;background:#f0fdf4!important;border:1px solid #065f46!important;border-top-width:2px!important}.my-payslip-doc-remarks{background:#fffbeb;border:1px solid #fde68a;border-radius:6px;margin-top:12px;padding:8px 12px}.my-payslip-doc-remarks-label{text-transform:uppercase;letter-spacing:.06em;color:#92400e;margin-bottom:3px;font-size:10px;font-weight:800}.my-payslip-doc-remarks-body{white-space:pre-wrap;color:#444;max-height:60px;font-size:11px;line-height:1.5;overflow-y:auto}.my-payslip-doc-statuses{border-top:1px solid #e5e7eb;justify-content:space-between;gap:24px;margin-top:14px;padding-top:10px;display:flex}.my-payslip-doc-statuses>div{flex-direction:column;flex:1;align-items:flex-start;gap:4px;display:flex}@media (width<=820px){.my-payslip-doc{padding:14px 16px 18px}.my-payslip-doc-header{flex-direction:column;align-items:flex-start;gap:8px}.my-payslip-doc-title{text-align:left;font-size:15px}.my-payslip-doc-meta{grid-template-columns:1fr}.my-payslip-doc-statuses{flex-direction:column;gap:10px}}.portal-grid{grid-template-columns:minmax(0,1fr) 320px;align-items:start;gap:20px;display:grid}.portal-main{flex-direction:column;gap:16px;min-width:0;display:flex}.portal-side{flex-direction:column;gap:16px;display:flex}.portal-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.portal-section{background:var(--surface);border:1px solid #bec9c28c;border-radius:12px;padding:16px 18px 18px}.portal-section-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.portal-section-head h3{text-transform:uppercase;letter-spacing:.05em;color:var(--primary);align-items:center;gap:8px;font-size:13px;font-weight:800;display:flex}.portal-section-head h3 .material-symbols-outlined{font-size:18px}.portal-section-head a{color:var(--primary-strong);font-size:12px;font-weight:700;text-decoration:none}.portal-section-head a:hover{text-decoration:underline}.portal-section-link{color:var(--primary-strong);cursor:pointer;background:0 0;border:0;padding:0;font-family:inherit;font-size:12px;font-weight:700}.portal-section-link:hover{text-decoration:underline}.memo-manager-modal{flex-direction:column;width:min(880px,100%);display:flex}.memo-manager-body{flex:1;max-height:60vh;padding:16px 24px;overflow-y:auto}.memo-manager-modal .memos-tabs{padding:0 24px}@media (width<=640px){.memo-manager-body{max-height:none;padding:12px 16px}.memo-manager-modal .memos-tabs{padding:0 16px}}.portal-empty{color:var(--text-muted);padding:14px 4px;font-size:13px}.portal-profile-card{align-items:center;gap:18px;padding:18px 22px;display:flex}.portal-profile-card img{object-fit:cover;border-radius:999px;flex-shrink:0;width:72px;height:72px}.portal-profile-card h3{color:var(--primary);margin:0;font-size:20px}.portal-profile-role{color:var(--text-muted);margin:2px 0 8px;font-size:13px}.portal-profile-meta{color:var(--text-muted);flex-wrap:wrap;gap:16px;font-size:12px;display:flex}.portal-profile-meta span{align-items:center;gap:4px;display:inline-flex}.portal-profile-meta .material-symbols-outlined{color:var(--primary);font-size:16px}.portal-balance-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;display:grid}.portal-balance-card{background:var(--surface-low);border-top:4px solid var(--primary);border-radius:10px;flex-direction:column;gap:4px;padding:12px 14px;display:flex}.portal-balance-card small{letter-spacing:.05em;text-transform:uppercase;color:var(--text-muted);font-size:11px;font-weight:700}.portal-balance-card strong{color:var(--primary);font-size:22px;font-weight:800}.portal-balance-card strong span{color:var(--text-muted);margin-left:4px;font-size:13px;font-weight:600}.portal-balance-foot{color:var(--text-muted);font-size:11px}.portal-dummy-note{color:#92400e;background:#fffbeb;border:1px solid #fde68a;border-radius:6px;margin:10px 0 0;padding:8px 12px;font-size:12px;font-style:italic;line-height:1.5}.portal-unlinked-banner{color:#92400e;background:#fef3c7;border:1px solid #fbbf24;border-radius:10px;margin-bottom:16px;padding:14px 18px}.portal-unlinked-banner strong{margin-bottom:4px;font-size:14px;display:block}.portal-unlinked-banner p{margin:0;font-size:13px;line-height:1.5}.portal-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.portal-list li{background:var(--surface-low);border-radius:8px;align-items:center;gap:10px;padding:8px 10px;font-size:13px;display:flex}.portal-list li strong{display:block}.portal-list li small{color:var(--text-muted);margin-top:2px;font-size:11px;display:block}.portal-list-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.portal-payslip{grid-template-columns:1fr auto;align-items:center;gap:10px 18px;display:grid}.portal-payslip strong{color:var(--primary);font-size:15px;display:block}.portal-payslip small{color:var(--text-muted);margin-top:2px;font-size:12px;display:block}.portal-payslip-total{color:var(--primary);white-space:nowrap;font-size:20px;font-weight:800}.portal-payslip-badges{border-top:1px solid #bec9c266;flex-wrap:wrap;grid-column:1/-1;gap:14px;padding-top:10px;display:flex}.portal-payslip-badge{flex-direction:column;gap:4px;display:flex}.portal-payslip-badge small{letter-spacing:.05em;text-transform:uppercase;color:var(--text-muted);font-size:10px;font-weight:700}.portal-payslip-actions{grid-column:1/-1;justify-content:flex-end;padding-top:10px;display:flex}.portal-memos-empty{text-align:center;flex-direction:column;align-items:center;gap:6px;padding:20px 8px 6px;display:flex}.portal-memos-icon{background:var(--surface-low);width:48px;height:48px;color:var(--primary);border-radius:50%;place-items:center;margin-bottom:4px;display:grid}.portal-memos-icon .material-symbols-outlined{font-size:24px}.portal-memos-empty p{margin:0;font-size:14px}.portal-memos-empty small{color:var(--text-muted);font-size:12px;line-height:1.5}.portal-survey-card{flex-direction:column;gap:6px;padding:4px 0 2px;display:flex}.portal-survey-title{color:var(--text);font-size:14px}.portal-survey-desc{color:var(--text-muted);margin:0;font-size:12px;line-height:1.5}.portal-survey-meta{color:var(--text-muted);font-size:12px}.portal-survey-btn{align-self:flex-start;margin-top:8px;text-decoration:none}.empty-state{text-align:center;box-sizing:border-box;align-items:center;gap:var(--space-2);flex-direction:column;width:100%;padding:40px 24px;display:flex}.empty-state-icon{border-radius:var(--radius-full);background:linear-gradient(135deg, var(--primary-soft) 0%, var(--primary-fixed) 100%);width:56px;height:56px;color:var(--primary);margin-bottom:var(--space-2);place-items:center;display:grid;box-shadow:inset 0 0 0 1px #065f4614}.empty-state-icon .material-symbols-outlined{font-size:28px}.empty-state h3{font-size:var(--text-md);color:var(--text);margin:0;font-weight:700}.empty-state p{max-width:360px;color:var(--text-muted);font-size:var(--text-base);margin:0;line-height:1.5}.empty-state-action{margin-top:var(--space-3)}@keyframes skeleton-shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.skeleton{background:linear-gradient(90deg, var(--surface-container) 0%, var(--surface-high) 50%, var(--surface-container) 100%);border-radius:var(--radius-sm);background-size:200% 100%;animation:1.6s linear infinite skeleton-shimmer;display:block}.skeleton-text{height:12px;margin:6px 0}.skeleton-text.lg{height:16px}.skeleton-text.sm{height:10px}.skeleton-circle{border-radius:var(--radius-full)}.skeleton-card{flex-direction:column;gap:8px;padding:16px;display:flex}.skeleton-row{border-top:1px solid #bec9c252;align-items:center;gap:12px;padding:14px 16px;display:flex}.skeleton-row:first-child{border-top:0}@media (prefers-reduced-motion:reduce){.skeleton{animation:none}}.toast{z-index:200;align-items:center;gap:var(--space-2);border-radius:var(--radius-md);max-width:360px;font-size:var(--text-base);box-shadow:var(--shadow-2);background:var(--surface-lowest);color:var(--text);border:1px solid var(--outline);animation:toast-slide-in var(--dur-slow) ease;padding:12px 16px;font-weight:600;display:flex;position:fixed;bottom:24px;right:24px}.toast-success{background:var(--success-soft);color:var(--success-strong);border-color:#86efac}.toast-error{color:#b91c1c;background:#fee2e2;border-color:#fca5a5}.toast-warning{background:var(--warning-soft);color:#92400e;border-color:#fcd34d}.toast-info{background:var(--info-soft);color:#1e40af;border-color:#93c5fd}@keyframes toast-slide-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media (width<=640px){.toast{max-width:none;bottom:12px;left:12px;right:12px}}@media (prefers-reduced-motion:reduce){.toast{animation:none}}.portal-memos-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.portal-memo-item{background:var(--surface);border:1px solid var(--border);color:inherit;text-align:left;width:100%;font:inherit;cursor:pointer;border-radius:8px;flex-direction:column;gap:4px;padding:10px 12px;text-decoration:none;transition:background .12s,border-color .12s;display:flex}.portal-memo-item:hover{background:var(--primary-soft);border-color:var(--primary-strong)}.portal-memo-item-unread{border-left:3px solid var(--primary-strong)}.portal-memo-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.portal-memo-head strong{font-size:13px;line-height:1.3}.portal-memo-dot{background:var(--primary-strong);border-radius:50%;flex-shrink:0;width:8px;height:8px}.portal-memo-item p{color:var(--text-muted);margin:0;font-size:12px;line-height:1.45}.portal-memo-item small{color:var(--text-muted);font-size:11px}.portal-holiday{align-items:center;gap:14px;display:flex}.portal-holiday-date{background:var(--primary);color:#fff;border-radius:10px;flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;min-width:56px;padding:8px 12px;display:flex}.portal-holiday-month{text-transform:uppercase;letter-spacing:.06em;opacity:.85;font-size:11px;font-weight:800}.portal-holiday-day{margin-top:2px;font-size:22px;font-weight:800;line-height:1}.portal-holiday-body{flex-direction:column;gap:2px;min-width:0;display:flex}.portal-holiday-body strong{color:var(--primary);font-size:14px}.portal-holiday-body small{color:var(--text-muted);font-size:12px}.portal-holiday-countdown{text-transform:uppercase;letter-spacing:.05em;color:var(--primary-strong);margin-top:2px;font-size:11px;font-weight:700}@media (width<=1024px){.portal-grid{grid-template-columns:1fr}.sheet-payroll-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.org-chart-wrap{height:calc(100dvh - 200px);min-height:360px;padding:16px}.upcoming-leave-card{position:static;top:auto}}@media (width<=640px){.portal-row{grid-template-columns:1fr}.portal-profile-card{text-align:left;flex-direction:column;align-items:flex-start;gap:12px;padding:16px 18px}.portal-profile-card img{width:64px;height:64px}.portal-payslip-total{font-size:18px}.sheet-payroll-summary{grid-template-columns:1fr}.payroll-filter{gap:10px;padding:0 14px 16px}.payroll-filter label{width:100%}.payroll-filter input,.payroll-filter select{width:100%;min-width:0}.payroll-filter-divider{display:none}.payroll-filter-actions{justify-content:stretch;width:100%}.payroll-filter-actions>*{flex:auto;min-width:0}.org-zoom-controls{flex-wrap:wrap;gap:6px}.org-chart-wrap{height:calc(100dvh - 180px);min-height:320px;padding:10px}}.survey-send-progress{padding:4px 0}.survey-progress-stats{align-items:center;gap:18px;margin-bottom:12px;display:flex}.survey-progress-stats>div{flex-direction:column;display:flex}.survey-progress-stats strong{color:var(--primary);font-size:22px;font-weight:800;line-height:1}.survey-progress-stats small{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-top:2px;font-size:11px;font-weight:700}.survey-progress-pct{color:var(--primary);margin-left:auto;font-size:28px;font-weight:900}.survey-progress-bar{background:var(--surface-low);border-radius:999px;width:100%;height:10px;overflow:hidden}.survey-progress-bar-fill{background:linear-gradient(90deg,#16a34a,#065f46);border-radius:999px;height:100%;transition:width .22s}.survey-progress-caption{color:var(--text-muted);text-align:center;margin:10px 0 14px;font-size:12px;font-style:italic}.survey-progress-recent{flex-direction:column;gap:4px;max-height:220px;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.survey-progress-recent-row{background:var(--surface-low);border-radius:6px;align-items:center;gap:10px;padding:6px 10px;font-size:12px;animation:.22s surveyProgressIn;display:flex}.survey-progress-recent-row strong{font-size:13px;display:block}.survey-progress-recent-row small{color:var(--text-muted);font-size:11px;display:block}.survey-progress-icon{border-radius:50%;flex-shrink:0;place-items:center;width:22px;height:22px;font-size:12px;font-weight:800;display:grid}.survey-progress-recent-row.sent .survey-progress-icon{color:#065f46;background:#d1fae5}.survey-progress-recent-row.failed .survey-progress-icon{color:#991b1b;background:#fee2e2}@keyframes surveyProgressIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.survey-month-list{flex-direction:column;gap:8px;display:flex}.survey-month-card{border:1px solid #bec9c28c;border-radius:10px;overflow:hidden}.survey-month-card.expanded{border-color:var(--primary)}.survey-month-head{cursor:pointer;text-align:left;background:0 0;border:none;justify-content:space-between;align-items:center;gap:12px;width:100%;padding:12px 16px;font-family:inherit;display:flex}.survey-month-head:hover{background:var(--surface-low)}.survey-month-head-main{color:var(--primary);align-items:center;gap:10px;font-size:15px;display:flex}.survey-month-arrow{opacity:.7;width:12px;font-size:12px}.survey-month-count{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);font-size:12px;font-weight:700}.survey-month-body{border-top:1px solid #bec9c266;padding:8px 12px 12px}.survey-month-resp-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.survey-month-resp-list li{background:var(--surface-low);border-radius:6px;justify-content:space-between;align-items:center;gap:12px;padding:8px 12px;font-size:13px;display:flex}.survey-month-resp-list strong{display:block}.survey-month-resp-list small{color:var(--text-muted);margin-top:2px;font-size:11px;display:block}.survey-recipients-modal{flex-direction:column;width:min(560px,100%);max-height:min(85vh,800px);display:flex}.survey-recipients-body{padding:14px 24px;overflow-y:auto}.survey-recipients-intro{color:var(--text-muted);margin:0 0 12px;font-size:12px;line-height:1.5}.survey-recipients-list{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.survey-recipient-row{background:var(--surface-low);border-radius:6px;justify-content:space-between;align-items:center;gap:12px;padding:8px 12px;font-size:13px;display:flex}.survey-recipient-row strong{display:block}.survey-recipient-row small{color:var(--text-muted);margin-top:2px;font-size:11px;display:block}.survey-recipient-row.excluded{opacity:.55}.survey-recipient-check{cursor:pointer;flex:1;align-items:center;gap:10px;min-width:0;display:flex}.survey-recipient-check input{cursor:pointer;flex:none;width:16px;height:16px}.survey-recipient-check input:disabled{cursor:not-allowed}.survey-recipient-tags{flex:none;align-items:center;gap:6px;display:flex}.survey-recipients-controls{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;display:flex}.survey-recipients-selectall{gap:8px;display:flex}.survey-exclude-toggle{color:var(--text);cursor:pointer;align-items:center;gap:8px;font-size:13px;font-weight:700;display:inline-flex}.survey-exclude-toggle input{cursor:pointer;width:16px;height:16px}.survey-response-modal{flex-direction:column;width:min(720px,100%);max-height:min(85vh,800px);display:flex}.survey-response-body{padding:20px 24px;overflow-y:auto}.survey-response-list{flex-direction:column;gap:14px;margin:0;padding:0;list-style:none;display:flex}.survey-response-list li{background:var(--surface-low);border:1px solid #bec9c266;border-radius:8px;padding:12px 14px}.survey-response-question{color:var(--text-muted);text-transform:none;letter-spacing:0;margin-bottom:4px;font-size:12px;font-weight:700}.survey-response-answer{color:var(--text);white-space:pre-wrap;font-size:14px;line-height:1.5}.survey-builder{margin-top:16px}.survey-builder-body{flex-direction:column;gap:18px;padding:16px;display:flex}.survey-builder-meta{flex-direction:column;gap:14px;display:flex}.survey-field{flex-direction:column;gap:6px;display:flex}.survey-field>span{color:var(--text-muted);font-size:12px;font-weight:700}.survey-field>span em{opacity:.8;font-style:normal;font-weight:500}.survey-field input,.survey-field textarea,.survey-field select,.survey-q-text,.survey-q-option input{width:100%;color:var(--text);box-sizing:border-box;background:#fff;border:1px solid #bec9c2b3;border-radius:8px;padding:9px 12px;font-family:inherit;font-size:14px}.survey-field textarea{resize:vertical}.survey-field input:focus,.survey-field textarea:focus,.survey-field select:focus,.survey-q-text:focus,.survey-q-option input:focus{border-color:var(--primary-strong);outline:none;box-shadow:0 0 0 3px #065f461f}.survey-field-hint{color:var(--text-muted);font-size:11px;font-weight:500}.survey-meta-row{flex-wrap:wrap;gap:14px;display:flex}.survey-meta-row .survey-field{min-width:180px}.survey-type-toggle{background:var(--surface-high);border-radius:8px;padding:3px;display:inline-flex}.survey-type-toggle button{color:var(--text-muted);cursor:pointer;background:0 0;border:0;border-radius:6px;padding:6px 14px;font-size:13px;font-weight:700}.survey-type-toggle button.is-active{color:var(--primary);box-shadow:var(--shadow);background:#fff}.survey-answer-preview{color:var(--text-muted);background:#fff;border:1px dashed #bec9c2cc;border-radius:8px;margin-left:36px;padding:9px 12px;font-size:13px}.survey-builder-questions{flex-direction:column;gap:14px;display:flex}.survey-q-card{background:var(--surface-low);border:1px solid #bec9c280;border-radius:12px;flex-direction:column;gap:12px;padding:14px;display:flex}.survey-q-head{align-items:center;gap:10px;display:flex}.survey-q-num{background:var(--primary);color:#fff;border-radius:50%;flex:none;justify-content:center;align-items:center;width:26px;height:26px;font-size:13px;font-weight:700;display:inline-flex}.survey-q-text{flex:1;font-weight:600}.survey-q-actions{gap:2px;display:flex}.survey-q-controls{flex-wrap:wrap;align-items:center;gap:18px;display:flex}.survey-required-toggle{color:var(--text-muted);cursor:pointer;align-items:center;gap:6px;font-size:13px;font-weight:600;display:inline-flex}.survey-required-toggle input{width:15px;height:15px}.survey-q-options{flex-direction:column;gap:8px;padding-left:36px;display:flex}.survey-q-option{align-items:center;gap:8px;display:flex}.survey-q-option-mark{color:var(--text-muted);flex:none;font-size:14px}.survey-q-option input{flex:1}.survey-add-option{color:var(--primary-strong);cursor:pointer;background:0 0;border:0;align-self:flex-start;padding:2px 0;font-size:13px;font-weight:700}.survey-q-preview-hint{color:var(--text-muted);padding-left:36px;font-size:12px}.survey-builder-add-row{flex-wrap:wrap;gap:10px;display:flex}.survey-add-question,.survey-add-title{color:var(--primary-strong);cursor:pointer;background:#065f460d;border:1px dashed #065f4673;border-radius:8px;align-self:flex-start;padding:9px 16px;font-size:14px;font-weight:700}.survey-add-question:hover,.survey-add-title:hover{background:#065f461a}.survey-title-card{border:1px solid #065f4640;border-left:4px solid var(--primary);background:#065f460a;border-radius:10px;align-items:center;gap:10px;padding:10px 14px;display:flex}.survey-title-tag{letter-spacing:.06em;text-transform:uppercase;color:var(--primary-strong);background:#065f461a;border-radius:999px;flex:none;padding:3px 8px;font-size:10px;font-weight:800}.survey-title-input{color:var(--text);background:0 0;border:0;flex:1;padding:4px 2px;font-family:inherit;font-size:16px;font-weight:800}.survey-title-input:focus{border-bottom:1px solid var(--primary-strong);outline:none}.survey-title-input:disabled{color:var(--text);-webkit-text-fill-color:var(--text);opacity:1}.survey-builder-footer{border-top:1px solid #bec9c266;justify-content:flex-end;gap:10px;padding:14px 16px;display:flex}.survey-builder-body.is-locked input:disabled,.survey-builder-body.is-locked textarea:disabled,.survey-builder-body.is-locked select:disabled{background:var(--surface-low);color:var(--text);opacity:1;cursor:default;-webkit-text-fill-color:var(--text)}.survey-builder-body.is-locked .survey-type-toggle button:disabled{opacity:1;cursor:default}.survey-builder-body.is-locked .survey-type-toggle button:not(.is-active):disabled{color:var(--text-muted)}.survey-builder-body.is-locked .survey-required-toggle{opacity:.85}.survey-answer{width:100%}.survey-answer-body{flex-direction:column;gap:22px;padding:18px 24px;display:flex}.survey-answer-header{z-index:9;background:var(--surface);border-bottom:1px solid #bec9c280;margin-top:-4px;padding:10px 0 14px;position:sticky;top:64px}.survey-answer-actions{flex:none;align-items:center;gap:10px;display:flex}.survey-answer-actions .secondary-button,.survey-answer-actions .primary-button{white-space:nowrap}.survey-answer-error-top{margin-top:12px}.survey-answer-columns{grid-template-columns:1fr 1fr;align-items:start;gap:32px;display:grid;position:relative}.survey-answer-columns:before{content:"";background:#bec9c2b3;width:1px;position:absolute;top:0;bottom:0;left:50%}.survey-col{flex-direction:column;gap:22px;display:flex}.survey-col.is-locked{filter:blur(4px);opacity:.5;pointer-events:none;-webkit-user-select:none;user-select:none}.survey-col-overlay{pointer-events:none;justify-content:center;align-items:flex-start;display:flex;position:absolute;inset:0 0 0 50%}.survey-col-overlay-card{text-align:center;box-shadow:var(--shadow);background:#ffffffeb;border:1px solid #065f4633;border-radius:14px;flex-direction:column;align-items:center;gap:4px;max-width:320px;padding:20px 24px;display:flex;position:sticky;top:50vh;transform:translateY(-50%)}.survey-col-overlay-card strong{color:var(--text);font-size:15px}.survey-col-overlay-card small{color:var(--text-muted);font-size:12px;line-height:1.5}.survey-col-lock{font-size:26px}@media (width<=900px){.survey-answer-columns{grid-template-columns:1fr}.survey-answer-columns:before{display:none}.survey-col.is-locked{filter:none;opacity:1;pointer-events:auto;-webkit-user-select:auto;user-select:auto}.survey-col-overlay{display:none}}.survey-answer-section{color:var(--primary-strong);border-bottom:2px solid #065f4626;margin:6px 0 -4px;padding-bottom:6px;font-size:16px;font-weight:800}.survey-answer-section:first-child{margin-top:0}.survey-answer-q{flex-direction:column;gap:10px;display:flex}.survey-answer-q-text{color:var(--text);align-items:flex-start;gap:10px;font-size:15px;font-weight:600;display:flex}.survey-answer-q-num{background:var(--primary);color:#fff;border-radius:50%;flex:none;justify-content:center;align-items:center;width:24px;height:24px;font-size:12px;font-weight:700;display:inline-flex}.survey-answer-req{color:#dc2626}.survey-answer-input{width:100%;color:var(--text);box-sizing:border-box;resize:vertical;background:#fff;border:1px solid #bec9c2b3;border-radius:8px;max-width:calc(100% - 34px);margin-left:34px;padding:10px 12px;font-family:inherit;font-size:14px}.survey-answer-input:focus{border-color:var(--primary-strong);outline:none;box-shadow:0 0 0 3px #065f461f}.survey-answer-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;max-width:680px;margin-left:34px;display:grid}@media (width<=560px){.survey-answer-options{grid-template-columns:1fr}}.survey-answer-option{cursor:pointer;border:1px solid #bec9c299;border-radius:8px;align-items:center;gap:10px;padding:10px 14px;font-size:14px;display:flex}.survey-answer-option:hover{border-color:var(--primary-strong);background:var(--surface-low)}.survey-answer-option input{width:16px;height:16px}.survey-answer-error{color:#b91c1c;background:#fef2f2;border-radius:8px;margin:0 20px;padding:10px 14px;font-size:13px;font-weight:600}.survey-answer-footer{border-top:1px solid #bec9c266;justify-content:flex-end;gap:10px;padding:16px 20px;display:flex}.sheet-toast{z-index:200;border-radius:10px;max-width:420px;padding:14px 20px;font-size:14px;font-weight:600;position:fixed;bottom:24px;right:24px;box-shadow:0 4px 20px #0000001f}.sheet-toast-success{color:#166534;background:#dcfce7;border:1px solid #86efac}.sheet-toast-error{color:#b91c1c;background:#fee2e2;border:1px solid #fca5a5}.sheet-notify-modal{width:min(520px,100%)}.sheet-notify-body{max-height:60vh;padding:20px 24px;overflow-y:auto}.sheet-notify-controls{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.sheet-notify-list{background:var(--surface-low);border:1px solid #bec9c28c;border-radius:8px;flex-direction:column;gap:6px;max-height:320px;padding:8px;display:flex;overflow-y:auto}.sheet-notify-list-item{background:#fff;border-radius:6px;justify-content:space-between;align-items:center;padding:8px 12px;font-size:13px;display:flex}.sheet-notify-list-item strong{display:block}.sheet-notify-list-item small{color:var(--text-muted);margin-top:2px;font-size:11px;display:block}.sheet-notify-amount{color:var(--primary);font-size:13px;font-weight:700}.sheet-notify-actions{border-top:1px solid #bec9c266;justify-content:flex-end;gap:10px;padding:16px 24px 20px;display:flex}@media (width<=820px){.sheet-payroll-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.sheet-period-head{flex-direction:column;align-items:stretch;gap:0}.sheet-period-head-toggle{flex-direction:column;align-items:flex-start;gap:12px}.sheet-period-stats{justify-content:space-between;gap:8px;width:100%}.sheet-period-stats>div{align-items:flex-start}.sheet-period-actions{padding:0 20px 16px}.sheet-period-send-btn{width:100%}}@media (width<=1024px){.department-body,.detail-grid,.benefit-grid,.login-screen{grid-template-columns:1fr}.login-visual{min-height:38vh}.login-overlay{padding:32px}.login-overlay h2{font-size:36px}}@media (width<=820px){.profile-side,.profile-leave-grid,.leave-calendar{grid-template-columns:1fr}.calendar-weekday,.calendar-day.muted{display:none}}@media (width<=640px){.metric-grid,.timekeeping-metric-grid{grid-template-columns:1fr}.login-visual{min-height:28vh}.login-overlay{gap:14px;padding:24px}.login-overlay h2{font-size:28px}.login-overlay p{font-size:15px}.login-panel{padding:16px}.login-card{padding:24px}.login-card h1{font-size:22px}.sso-grid{grid-template-columns:1fr}}.settings-section{flex-direction:column;gap:24px;display:flex}.settings-section-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.settings-section-header h3{color:var(--text-primary);margin:0;font-size:18px;font-weight:700}.settings-search{background:var(--surface-low);border:1px solid #0000;border-radius:999px;flex:1;align-items:center;gap:6px;min-width:200px;max-width:320px;height:38px;padding:0 12px 0 14px;display:inline-flex;position:relative}.settings-search:focus-within{border-color:var(--primary-strong);box-shadow:0 0 0 3px #065f461f}.settings-search .material-symbols-outlined{color:var(--muted);font-size:18px}.settings-search input{color:var(--text-primary);background:0 0;border:0;outline:0;flex:1;font-size:14px}.settings-search input::placeholder{color:var(--text-muted)}.settings-search input::-webkit-search-cancel-button{cursor:pointer}.accounts-table-wrap{overflow-x:auto}.accounts-table{border-collapse:collapse;width:100%;font-size:14px}.accounts-table th{text-align:left;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);border-bottom:1px solid var(--border);white-space:nowrap;padding:10px 14px;font-size:11px;font-weight:700}.accounts-table td{border-bottom:1px solid var(--border);color:var(--text-primary);vertical-align:middle;padding:13px 14px}.accounts-table tr:last-child td{border-bottom:none}.accounts-table tr:hover td{background:var(--surface-low)}.account-name-cell{align-items:center;gap:10px;display:flex}.account-avatar{object-fit:cover;background:var(--surface-high);border-radius:50%;flex-shrink:0;width:32px;height:32px}.account-name-cell strong{font-weight:600;line-height:1.3;display:block}.account-name-cell small{color:var(--text-muted);font-size:12px}.role-badge{border-radius:var(--radius-full);min-height:22px;font-size:var(--text-xs);text-transform:capitalize;white-space:nowrap;align-items:center;padding:2px 10px;font-weight:700;display:inline-flex}.role-badge.admin{color:#92400e;background:#fef3c7}.role-badge.hr{color:#1e40af;background:#dbeafe}.role-badge.manager{color:#6b21a8;background:#f3e8ff}.role-badge.employee{color:#166534;background:#dcfce7}.role-select-inline{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text-primary);cursor:pointer;transition:var(--dur-base) ease;padding:5px 8px;font-size:13px}.role-select-inline:focus{border-color:var(--primary-strong);outline:none;box-shadow:0 0 0 3px #065f461f}.btn-sm{justify-content:center;align-items:center;gap:var(--space-2);border-radius:var(--radius-sm);cursor:pointer;min-height:32px;transition:var(--dur-base) ease;border:none;padding:5px 12px;font-size:12px;font-weight:700;display:inline-flex}.btn-sm.btn-ghost{color:var(--text-muted);border:1px solid var(--border);background:0 0}.btn-sm.btn-ghost:hover{background:var(--surface-high);color:var(--text-primary)}.btn-sm.btn-danger{background:var(--danger-soft,#fee2e2);color:#b91c1c}.btn-sm.btn-danger:hover{background:#fecaca}.btn-sm.btn-save{background:var(--primary);color:#fff}.btn-sm.btn-save:hover{background:var(--primary-dark,#003826)}.btn-sm:disabled{opacity:.6;cursor:not-allowed}.create-account-modal{flex-direction:column;gap:20px;display:flex}.emp-picker-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px;max-height:260px;padding:2px;display:grid;overflow-y:auto}.emp-picker-card{border:2px solid var(--border);cursor:pointer;border-radius:10px;align-items:center;gap:10px;padding:10px 12px;transition:border-color .15s,background .15s;display:flex}.emp-picker-card:hover:not(.taken){border-color:var(--primary);background:var(--surface-low)}.emp-picker-card.selected{border-color:var(--primary);background:#f0fdf4}.emp-picker-card.taken{opacity:.45;cursor:not-allowed}.emp-picker-card img{object-fit:cover;background:var(--surface-high);border-radius:50%;flex-shrink:0;width:36px;height:36px}.emp-picker-card span{color:var(--text-primary);font-size:13px;font-weight:600;line-height:1.3}.emp-picker-card small{color:var(--text-muted);font-size:11px;display:block}.account-form-fields{grid-template-columns:1fr 1fr;gap:14px;display:grid}.account-form-fields .field-full{grid-column:1/-1}.account-form-fields label{color:var(--text-primary);flex-direction:column;gap:5px;font-size:13px;font-weight:600;display:flex}.account-form-fields input,.account-form-fields select{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);min-height:40px;color:var(--text-primary);transition:var(--dur-base) ease;padding:9px 12px;font-size:14px}.account-form-fields input:focus,.account-form-fields select:focus{border-color:var(--primary-strong);outline:none;box-shadow:0 0 0 3px #065f461f}.password-field-wrap{gap:8px;display:flex}.password-field-wrap input{flex:1}.password-field-wrap button{border:1px solid var(--border);background:var(--surface-high);color:var(--text-primary);cursor:pointer;white-space:nowrap;border-radius:8px;padding:9px 14px;font-size:12px;font-weight:600}.password-field-wrap button:hover{background:var(--surface-highest)}.delete-confirm-body{flex-direction:column;gap:12px;display:flex}.delete-confirm-body p{color:var(--text-primary);margin:0;font-size:14px;line-height:1.6}.delete-confirm-actions{justify-content:flex-end;gap:10px;display:flex}@media (width<=768px){.emp-picker-grid{grid-template-columns:1fr 1fr}}@media (width<=640px){.account-form-fields{grid-template-columns:1fr}.account-form-fields .field-full{grid-column:1}.password-field-wrap{flex-wrap:wrap}.password-field-wrap button{width:100%}}.password-rules{flex-direction:column;gap:5px;margin:8px 0 0;padding:0;list-style:none;display:flex}.password-rules li,.confirm-match-hint{align-items:center;gap:7px;font-size:12px;font-weight:600;transition:color .2s;display:flex}.rule-pass{color:#16a34a}.rule-fail{color:var(--text-muted)}.rule-icon{text-align:center;flex-shrink:0;width:14px;font-size:13px}.confirm-match-hint{margin:6px 0 0}.profile-setup-screen{background:var(--surface-low);flex-direction:column;align-items:center;min-height:100vh;padding:32px 16px 64px;display:flex}.profile-setup-brand{width:100%;max-width:600px;margin-bottom:24px}.profile-setup-card{background:var(--surface-lowest,#fff);border-radius:16px;width:100%;max-width:600px;padding:40px 36px;box-shadow:0 8px 40px #0f172a1a}.profile-setup-header{margin-bottom:28px}.profile-setup-header h1{color:var(--text-primary);margin:0 0 6px;font-size:24px;font-weight:800}.profile-setup-header p{color:var(--text-muted);margin:0;font-size:14px}.setup-photo-section{border-bottom:1px solid var(--border);align-items:center;gap:20px;margin-bottom:28px;padding-bottom:28px;display:flex}.setup-photo-section strong{color:var(--text-primary);margin-bottom:4px;font-size:14px;font-weight:700;display:block}.setup-photo-section p{color:var(--text-muted);margin:0;font-size:12px}.setup-photo-button{cursor:pointer;background:var(--surface-high);border:none;border-radius:50%;flex-shrink:0;width:80px;height:80px;padding:0;position:relative;overflow:hidden}.setup-photo-preview{object-fit:cover;border-radius:50%;width:100%;height:100%}.setup-photo-placeholder{flex-direction:column;justify-content:center;align-items:center;gap:2px;width:100%;height:100%;display:flex}.setup-photo-placeholder span{font-size:22px;line-height:1}.setup-photo-placeholder small{color:var(--text-muted);font-size:9px;font-weight:700}.setup-photo-overlay{color:#fff;opacity:0;background:#00000073;border-radius:50%;justify-content:center;align-items:center;font-size:11px;font-weight:700;transition:opacity .2s;display:flex;position:absolute;inset:0}.setup-photo-button:hover .setup-photo-overlay{opacity:1}.setup-questions{flex-direction:column;gap:16px;margin-bottom:28px;display:flex}.setup-question-row{cursor:default;align-items:flex-start;gap:14px;display:flex}.setup-question-icon{background:var(--surface-low);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;margin-top:20px;font-size:22px;display:flex}.setup-question-field{flex-direction:column;flex:1;gap:5px;display:flex}.setup-question-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:12px;font-weight:700}.setup-question-field input{border:1px solid var(--border);background:var(--surface);color:var(--text-primary);border-radius:8px;padding:10px 12px;font-size:14px}.setup-question-field input:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px #0045321a}.setup-actions{justify-content:space-between;align-items:center;padding-top:8px;display:flex}.personal-card .personal-list{flex-direction:column;padding:4px 20px 20px;display:flex}.personal-item{border-bottom:1px solid #bec9c266;align-items:flex-start;gap:14px;min-width:0;padding:14px 0;display:flex}.personal-item:last-child{border-bottom:none;padding-bottom:4px}.personal-item:first-child{padding-top:16px}.personal-item>div{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.personal-icon{background:var(--primary-soft);border-radius:var(--radius-md,8px);flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;margin-top:2px;font-size:18px;display:flex}.personal-item small{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:11px;font-weight:700;display:block}.personal-item strong{color:var(--text);overflow-wrap:anywhere;word-break:break-word;font-size:14px;font-weight:600;line-height:1.45}.personal-item-text{display:block}.personal-item-text.is-clamped{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.personal-item-toggle{color:var(--primary-strong);cursor:pointer;background:0 0;border:0;align-self:flex-start;margin-top:4px;padding:0;font-size:12px;font-weight:700}.personal-item-toggle:hover{text-decoration:underline}.personal-empty{color:var(--text-muted,var(--muted));flex-direction:column;gap:8px;padding:18px 24px 22px;font-size:13px;display:flex}.personal-empty p{margin:0}.personal-empty .link-button{color:var(--primary-strong);cursor:pointer;background:0 0;border:0;align-self:flex-start;padding:0;font-size:13px;font-weight:700}.personal-empty .link-button:hover{text-decoration:underline}.edit-about-modal .modal-actions{padding:16px 24px 22px}.edit-about-body{flex-direction:column;gap:14px;padding:18px 24px 6px;display:flex}.edit-about-row{align-items:flex-start;gap:14px;display:flex}.edit-about-icon{background:var(--surface-low);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;margin-top:20px;font-size:22px;display:flex}.edit-about-field{flex-direction:column;flex:1;gap:5px;min-width:0;display:flex}.edit-about-label{color:var(--text-muted,var(--muted));text-transform:uppercase;letter-spacing:.05em;font-size:12px;font-weight:700}.edit-about-field textarea{border:1px solid var(--border);background:var(--surface);color:var(--text-primary,var(--text));resize:none;box-sizing:border-box;border-radius:8px;min-height:40px;padding:10px 12px;font-family:inherit;font-size:14px;line-height:1.4;overflow:hidden}.edit-about-field textarea:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px #0045321a}@media (width<=640px){.profile-setup-screen{padding:16px 12px 32px}.profile-setup-card{border-radius:12px;padding:24px 16px}.profile-setup-header h1{font-size:22px}.setup-photo-section{gap:14px;margin-bottom:20px;padding-bottom:20px}.setup-photo-button{width:64px;height:64px}.setup-question-row{gap:10px}.setup-question-icon{width:30px;height:30px;margin-top:18px;font-size:18px}.setup-actions{flex-direction:column-reverse;align-items:stretch;gap:10px}.setup-actions button{width:100%}}.mgr-section{margin-bottom:28px}.mgr-section-title{color:var(--text-primary);align-items:center;gap:8px;margin:0 0 12px;font-size:15px;font-weight:700;display:flex}.mgr-team-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px;display:grid}.mgr-team-card{background:var(--surface);border:1px solid var(--border);border-radius:10px;align-items:center;gap:12px;padding:12px 14px;display:flex}.mgr-team-card img{object-fit:cover;background:var(--surface-high);border-radius:50%;flex-shrink:0;width:38px;height:38px}.mgr-team-card strong{color:var(--text-primary);font-size:13px;font-weight:700;display:block}.mgr-team-card span{color:var(--text-muted);font-size:12px}.mgr-leave-grid{grid-template-columns:1fr 1fr;gap:24px;display:grid}.mgr-leave-row{border-bottom:1px solid var(--border);align-items:center;gap:12px;padding:12px 16px;display:flex}.mgr-leave-row:last-child{border-bottom:none}.mgr-leave-avatar{object-fit:cover;background:var(--surface-high);border-radius:50%;flex-shrink:0;width:32px;height:32px}.mgr-leave-info{flex:1}.mgr-leave-info strong{color:var(--text-primary);font-size:13px;font-weight:700;display:block}.mgr-leave-info span{color:var(--text-muted);font-size:12px}.leave-status-badge{border-radius:var(--radius-full);min-height:22px;font-size:var(--text-xs);text-transform:capitalize;white-space:nowrap;align-items:center;padding:2px 10px;font-weight:700;display:inline-flex}.leave-status-badge.pending{background:var(--warning-soft);color:#854d0e}.leave-status-badge.approved{background:var(--success-soft);color:var(--success-strong)}.leave-status-badge.rejected{color:#b91c1c;background:#fee2e2}.mgr-balance-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.mgr-balance-row:last-child{border-bottom:none}.mgr-balance-info strong{color:var(--text-primary);font-size:13px;font-weight:700;display:block}.mgr-balance-numbers{text-align:right}.mgr-balance-avail{color:var(--primary);font-size:14px;font-weight:700;display:block}@media (width<=768px){.mgr-leave-grid{grid-template-columns:1fr}.mgr-team-grid{grid-template-columns:1fr 1fr}}.my-payroll-period-row{padding:0 24px 20px}.my-payroll-period-row select{min-width:280px}.my-payslip-panel{padding:0}.my-payslip-doc{max-width:760px;margin:0 auto;padding:48px 56px}.my-payslip-header{justify-content:space-between;align-items:flex-start;margin-bottom:20px;display:flex}.my-payslip-logo{width:auto;height:48px}.my-payslip-title-block{text-align:right;flex-direction:column;align-items:flex-end;gap:8px;display:flex}.my-payslip-doc-title{color:var(--text);letter-spacing:-.02em;font-size:26px;font-weight:900}.my-payslip-badge{border-radius:999px;padding:4px 12px;font-size:12px;font-weight:700;display:inline-block}.my-payslip-badge.approved{color:#065f46;background:#d1fae5}.my-payslip-badge.pending{color:#854d0e;background:#fef9c3}.my-payslip-meta{color:var(--text-muted);gap:32px;margin-bottom:4px;font-size:13px;display:flex}.my-payslip-divider{border:none;border-top:1px solid var(--outline);margin:20px 0}.my-payslip-section{margin-bottom:4px}.my-payslip-section-label{text-transform:uppercase;letter-spacing:.08em;color:var(--primary-strong);margin-bottom:12px;font-size:11px;font-weight:800}.my-payslip-info-grid{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.my-payslip-info-grid div{flex-direction:column;gap:2px;display:flex}.my-payslip-info-grid span{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);font-size:11px;font-weight:700}.my-payslip-info-grid strong{color:var(--text);font-size:14px}.my-payslip-table{border-collapse:collapse;width:100%;min-width:0;font-size:14px}.my-payslip-table th{background:var(--surface-low);text-transform:uppercase;letter-spacing:.05em;text-align:left;border:1px solid var(--outline);color:var(--text-muted);padding:10px 14px;font-size:11px;font-weight:800}.my-payslip-table td{border:1px solid var(--outline);vertical-align:top;padding:10px 14px}.my-payslip-table td.amt{text-align:right;white-space:nowrap;font-family:system-ui,sans-serif}.my-payslip-table td.deduct{color:var(--danger)}.my-payslip-table td.notes{color:var(--text-muted);font-size:13px}.my-payslip-table tfoot td{background:var(--primary-soft);border-top:2px solid var(--primary-strong);font-weight:700}.my-payslip-table tfoot td.amt,.my-payslip-table tfoot td.grand-total{color:var(--primary-strong);text-align:right;font-size:16px}.my-payslip-remarks{color:var(--text);font-size:14px;line-height:1.6}.my-payslip-approve-row{padding:4px 0}.my-payslip-approved-msg{color:#065f46;background:#d1fae5;border-radius:10px;align-items:center;gap:8px;padding:14px 18px;font-size:15px;font-weight:700;display:flex}.my-payslip-approve-action{background:var(--surface-low);border-radius:10px;justify-content:space-between;align-items:center;gap:24px;padding:16px 20px;display:flex}.my-payslip-approve-action p{color:var(--text-muted);flex:1;margin:0;font-size:13px}@media (width<=700px){.my-payslip-doc{padding:24px 16px}.my-payslip-header{flex-direction:column;gap:12px}.my-payslip-title-block{text-align:left;align-items:flex-start}.my-payslip-info-grid{grid-template-columns:1fr 1fr}.my-payslip-approve-action{flex-direction:column;align-items:flex-start}}.dispute-badge{border-radius:var(--radius-full);min-height:22px;font-size:var(--text-xs);text-transform:capitalize;white-space:nowrap;align-items:center;padding:2px 10px;font-weight:700;display:inline-flex}.dispute-pending{background:var(--warning-soft);color:#854d0e}.dispute-resolved{background:var(--success-soft);color:var(--success-strong)}.dispute-closed{background:var(--surface-container);color:var(--text-muted)}.dispute-message-cell{text-overflow:ellipsis;white-space:nowrap;max-width:300px;color:var(--text-muted);font-size:13px;overflow:hidden}.dispute-actions{flex-wrap:wrap;gap:6px;display:flex}.dispute-action-btn{align-items:center;gap:4px;padding:4px 10px;font-size:12px;display:flex}.dispute-action-btn .material-symbols-outlined{font-size:14px}.org-zoom-controls{flex-shrink:0;align-items:center;gap:8px;display:flex}.org-zoom-label{text-align:center;min-width:44px;color:var(--muted);font-size:13px;font-weight:700}.org-zoom-controls .secondary-button{min-height:36px;padding:6px 12px}.org-chart-wrap{cursor:grab;-webkit-user-select:none;user-select:none;height:calc(100vh - 256px);min-height:480px;padding:40px;overflow:auto}.org-chart-wrap.is-dragging{cursor:grabbing}.org-chart-wrap.is-dragging *{pointer-events:none}.org-chart{flex-direction:column;align-items:center;min-width:max-content;transition:transform .2s;display:flex}.org-node{flex-direction:column;align-items:center;display:flex}.org-card{text-align:center;overflow-wrap:break-word;word-break:break-word;border-radius:12px;max-width:180px;padding:12px 18px;transition:box-shadow .16s,transform .16s;position:relative}.org-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px #0000001f}.org-avatar{object-fit:cover;border:2px solid #ffffff8c;border-radius:999px;width:42px;height:42px;margin:0 auto 8px;display:block}.org-card strong{font-weight:800;line-height:1.3;display:block}.org-card span{margin-top:3px;line-height:1.4;display:block}.stack-toolbar .secondary-button,.stack-toolbar .primary-button{min-height:36px;padding:6px 12px}.stack-canvas{cursor:grab;transition:none}.org-chart-wrap.is-dragging .stack-canvas{cursor:grabbing}.stack-card-wrap{z-index:1}.stack-card-wrap.editing{cursor:move}.stack-card-wrap.editing .org-card:hover{transform:none}.stack-card-wrap.selected{z-index:3}.stack-card-wrap.selected .org-card{outline-offset:2px;outline:3px solid #2f6bff;box-shadow:0 10px 28px #2f6bff47}.stack-del{color:#fff;cursor:pointer;z-index:4;background:#e5484d;border:none;border-radius:999px;width:22px;height:22px;padding:0;font-size:15px;font-weight:800;line-height:1;position:absolute;top:-9px;right:-9px;box-shadow:0 2px 6px #00000040}.stack-del:hover{background:#c0392b}.stack-port{cursor:crosshair;z-index:4;opacity:.55;background:#2f6bff;border:2px solid #fff;border-radius:999px;width:15px;height:15px;padding:0;transition:opacity .12s,transform .12s;position:absolute;box-shadow:0 2px 6px #00000040}.stack-card-wrap:hover .stack-port{opacity:1}.stack-port:hover{opacity:1;background:#1a4fd6}.stack-port-top{top:-9px;left:50%;transform:translate(-50%)}.stack-port-bottom{bottom:-9px;left:50%;transform:translate(-50%)}.stack-port-left{top:50%;left:-9px;transform:translateY(-50%)}.stack-port-right{top:50%;right:-9px;transform:translateY(-50%)}.stack-port-top:hover,.stack-port-bottom:hover{transform:translate(-50%)scale(1.25)}.stack-port-left:hover,.stack-port-right:hover{transform:translateY(-50%)scale(1.25)}.stack-resize{cursor:nwse-resize;z-index:4;opacity:.55;border-bottom:3px solid #2f6bff;border-right:3px solid #2f6bff;border-bottom-right-radius:4px;width:14px;height:14px;position:absolute;bottom:-3px;right:-3px}.stack-card-wrap:hover .stack-resize{opacity:1}.stack-edge:hover path:last-child{stroke:#e5484d;stroke-width:3px}.stack-editor{background:var(--surface,#fff);border:1px solid var(--border,#e3e6ea);z-index:60;border-radius:14px;width:292px;padding:16px;position:fixed;top:132px;right:24px;box-shadow:0 16px 48px #0003}.stack-editor label{color:var(--muted);margin:12px 0 4px;font-size:12px;font-weight:700;display:block}.stack-editor input,.stack-editor select,.stack-editor textarea{border:1px solid var(--border,#d7dbe0);width:100%;font:inherit;box-sizing:border-box;border-radius:8px;padding:8px 10px}.stack-editor textarea{resize:vertical}.stack-swatches{flex-wrap:wrap;gap:8px;display:flex}.stack-swatch{cursor:pointer;border:2px solid #0000001f;border-radius:8px;width:30px;height:30px;padding:0}.stack-swatch.active{border-color:#2f6bff;box-shadow:0 0 0 2px #2f6bff59}.stack-custom-color{align-items:center;gap:8px;margin-top:10px;font-size:13px;display:flex}.stack-custom-color input[type=color]{cursor:pointer;width:40px;height:32px;padding:2px}.stack-clear-color{color:#c0392b;cursor:pointer;background:0 0;border:none;margin-left:auto;font-size:12px;font-weight:700}.org-card-ceo{background:var(--primary-fixed);color:#0e2a20;border:2.5px solid #6ec6a2;min-width:160px;max-width:200px;padding:16px 22px}.org-card-ceo strong{font-size:16px}.org-card-ceo span{color:#2d6651;font-size:12px}.org-card-lead{background:var(--primary-fixed);color:#0e2a20;border:2.5px solid #6ec6a2;min-width:150px;max-width:180px;padding:14px 18px}.org-card-lead strong{font-size:14px}.org-card-lead span{color:#2d6651;font-size:11px}.org-card-dept{color:#fff;background:#4db5ac;border:2px solid #3a9d97;min-width:140px;max-width:180px}.org-card-dept strong{color:#fff;font-size:13px}.org-card-dept span{color:#ffffffe0;font-size:11px}.org-card-member{color:#0e2a20;background:#6ec99b;border:2px solid #58b282;min-width:150px;max-width:200px}.org-card-member strong{font-size:13px}.org-card-member span{color:#2d5e3f;font-size:11px}.org-card-unfilled{color:#5c1a1a;background:#f4a3a3;border:2px solid #e08888;min-width:150px;max-width:200px}.org-card-unfilled strong{font-size:13px}.org-card-unfilled span{color:#7a2a2a;font-size:11px}.org-card-special{color:#4a3000;background:#ffe07a;border:2px solid #d4b840;min-width:150px;max-width:200px}.org-card-special strong{font-size:13px;font-weight:800}.org-card-special span{color:#6a4800;font-size:11px}.org-card-sides-wrap{width:fit-content;position:relative}.org-abs-side{position:absolute;top:50%;transform:translateY(-50%)}.org-abs-left{right:calc(100% + 36px)}.org-abs-right{left:calc(100% + 36px)}.org-abs-left:after,.org-abs-right:before{content:"";background:var(--outline);width:36px;height:2px;position:absolute;top:50%;transform:translateY(-50%)}.org-abs-left:after{right:-36px}.org-abs-right:before{left:-36px}.org-v-connector{background:var(--outline);flex-shrink:0;width:2px;height:32px}.org-children{align-items:flex-start;display:flex}.org-child-wrap{flex-direction:column;align-items:center;padding:32px 12px 0;display:flex;position:relative}.org-child-wrap:before{content:"";background:var(--outline);width:2px;height:32px;position:absolute;top:0;left:50%;transform:translate(-50%)}.org-child-wrap:after{content:"";background:var(--outline);height:2px;position:absolute;top:0;left:0;right:0}.org-children>.org-child-wrap:first-child:after{left:50%}.org-children>.org-child-wrap:last-child:after{right:50%}.org-children>.org-child-wrap:only-child:after{display:none}.org-v-stack,.org-v-stack-item{flex-direction:column;align-items:center;display:flex}.org-v-stack-item+.org-v-stack-item{padding-top:10px;position:relative}.org-v-stack-item+.org-v-stack-item:before{content:"";background:var(--outline);width:2px;height:10px;position:absolute;top:0;left:50%;transform:translate(-50%)}.org-top-section{flex-direction:row;align-items:flex-start;gap:80px;width:max-content;display:flex}.org-dept-section{flex-direction:row;align-items:flex-start;width:max-content;margin-top:64px;padding-top:24px;display:flex;position:relative}.org-dept-gap{flex-shrink:0;width:48px}.org-dept-line{background:var(--outline);pointer-events:none;height:2px;position:absolute;top:65px}.org-dept-col{flex-direction:column;align-items:center;display:flex;position:relative}.org-dept-score{color:var(--primary);letter-spacing:.02em;margin-bottom:4px;font-size:13px;font-weight:700}.org-card-highlight{color:#3a1f00;background:#f5a623;border:2px solid #d4861a;min-width:150px;max-width:180px}.org-card-highlight strong{font-size:13px}.org-card-highlight span{color:#5c2f00;font-size:11px}.org-card-ghost{color:#888;opacity:.75;background:#e8e8e8;border:2px dashed #bbb;min-width:150px}.org-card-ghost strong{color:#666;font-size:13px}.org-card-ghost span{color:#999;font-size:11px}.org-not-in-db{color:#bbb;letter-spacing:.04em;text-transform:uppercase;margin-top:4px;font-size:10px;font-weight:700;display:block}.survey-date-controls{background:var(--panel-bg,#fff);border:1px solid #bec9c266;border-radius:10px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 18px;margin-bottom:16px;padding:12px 16px;display:flex}.survey-date-presets{flex-wrap:wrap;gap:6px;display:flex}.survey-date-chip{color:var(--text-muted);cursor:pointer;background:0 0;border:1px solid #bec9c299;border-radius:999px;padding:5px 12px;font-size:12px;font-weight:600}.survey-date-chip:hover{color:var(--text);background:#bec9c22e}.survey-date-chip.active{background:var(--primary-strong);border-color:var(--primary-strong);color:#fff}.survey-date-inputs{gap:10px;display:flex}.survey-date-inputs label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;flex-direction:column;gap:4px;font-size:11px;font-weight:600;display:flex}.survey-date-inputs input[type=date]{color:var(--text);background:#fff;border:1px solid #bec9c299;border-radius:6px;padding:5px 8px;font-size:13px}.survey-kpi-strip{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-bottom:16px;display:grid}.survey-kpi-card{background:#fff;border:1px solid #bec9c266;border-radius:10px;flex-direction:column;gap:4px;padding:14px 16px;display:flex}.survey-kpi-label{text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);font-size:11px;font-weight:600}.survey-kpi-value{color:var(--text);font-size:26px;font-weight:800;line-height:1.1}.survey-kpi-hint{color:var(--text-muted);font-size:11px}.survey-kpi-card.tone-good .survey-kpi-value{color:#16a34a}.survey-kpi-card.tone-warn .survey-kpi-value{color:#ca8a04}.survey-kpi-card.tone-bad .survey-kpi-value{color:#dc2626}.survey-trend-chart-wrap{flex-direction:column;gap:6px;display:flex}.survey-trend-chart{width:100%;height:160px}.survey-trend-bar{fill:var(--primary-strong);opacity:.85}.survey-trend-bar:hover{opacity:1}.survey-trend-axis{stroke:#bec9c299;stroke-width:1px}.survey-trend-legend{color:var(--text-muted);justify-content:space-between;font-size:11px;display:flex}.survey-question-blocks{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px;display:grid}.survey-question-block{background:#fff;border:1px solid #bec9c266;border-radius:8px;padding:12px 14px}.survey-question-title{color:var(--text);margin-bottom:2px;font-size:13px;font-weight:600}.survey-question-meta{color:var(--text-muted);margin-bottom:8px;font-size:11px}.survey-question-bars{flex-direction:column;gap:4px;display:flex}.survey-question-bar-row{grid-template-columns:24px 1fr 32px;align-items:center;gap:8px;display:grid}.survey-question-bar-label{color:var(--text-muted);font-size:12px;font-weight:600}.survey-question-bar-track{background:#bec9c240;border-radius:999px;height:8px;overflow:hidden}.survey-question-bar-fill{background:var(--primary-strong);border-radius:999px;height:100%}.survey-question-bar-count{color:var(--text-muted);text-align:right;font-size:12px}.survey-question-top-list{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.survey-question-top-list li{justify-content:space-between;gap:8px;font-size:12px;display:flex}.survey-question-top-text{color:var(--text)}.survey-question-top-count{color:var(--text-muted);font-weight:600}.survey-question-empty{color:var(--text-muted);font-style:italic}.survey-dashboard{display:block}.survey-chart-wrap{width:100%}.survey-area-chart,.survey-line-chart{width:100%;height:200px;display:block}.survey-chart-grid{stroke:#bec9c259;stroke-width:1px;stroke-dasharray:2 3}.survey-chart-axis-label{fill:var(--text-muted);font-size:10px}.survey-chart-line{fill:none;stroke:var(--primary-strong);stroke-width:2px;stroke-linejoin:round;stroke-linecap:round}.survey-chart-line.accent-good{stroke:#16a34a}.survey-chart-line.accent-warn{stroke:#ca8a04}.survey-chart-line.accent-bad{stroke:#dc2626}.survey-chart-dot{fill:var(--primary-strong);stroke:#fff;stroke-width:1.5px}.survey-chart-dot.accent-good{fill:#16a34a}.survey-chart-dot.accent-warn{fill:#ca8a04}.survey-chart-dot.accent-bad{fill:#dc2626}.survey-score-by-question{flex-direction:column;gap:8px;display:flex}.survey-score-row{grid-template-columns:minmax(160px,1fr) 2fr 60px;align-items:center;gap:12px;display:grid}.survey-score-row-label{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.survey-score-row-track{background:#bec9c240;border-radius:999px;height:18px;position:relative;overflow:hidden}.survey-score-row-fill{border-radius:999px;height:100%;transition:width .24s}.survey-score-row-fill.tone-good{background:#16a34a}.survey-score-row-fill.tone-warn{background:#ca8a04}.survey-score-row-fill.tone-bad{background:#dc2626}.survey-score-row-value{color:#fff;mix-blend-mode:difference;font-size:11px;font-weight:700;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.survey-score-row-n{color:var(--text-muted);text-align:right;font-size:11px}.survey-pie-wrap{grid-template-columns:240px 1fr;align-items:center;gap:24px;display:grid}.survey-pie-chart{width:220px;height:220px}.survey-pie-center-value{fill:var(--text);font-size:26px;font-weight:800}.survey-pie-center-label{text-transform:uppercase;letter-spacing:.04em;fill:var(--text-muted);font-size:10px}.survey-pie-legend{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.survey-pie-legend li{grid-template-columns:14px 1fr auto;align-items:center;gap:10px;font-size:13px;display:grid}.survey-pie-swatch{border-radius:4px;width:14px;height:14px;display:inline-block}.survey-pie-legend-label{color:var(--text)}.survey-pie-legend-value{color:var(--text);font-weight:700}.survey-pie-legend-value small{color:var(--text-muted);font-weight:500}@media (width<=640px){.survey-pie-wrap{grid-template-columns:1fr;justify-items:center}}.survey-chart-empty-label{fill:var(--text-muted);font-size:12px;font-style:italic}.survey-pie-legend-empty{color:var(--text-muted);font-size:13px;font-style:italic}.survey-skeleton-text{color:var(--text-muted);font-style:italic}.survey-skeleton-fill{background:#bec9c266!important}.survey-skeleton-hint{color:var(--text-muted);margin-top:6px;font-size:12px;font-style:italic}.employee-disabled-pill{color:#b91c1c;text-transform:uppercase;letter-spacing:.04em;vertical-align:middle;background:#dc26261f;border-radius:999px;margin-left:8px;padding:2px 8px;font-size:10px;font-weight:700;display:inline-block}tr.row-disabled{opacity:.6}tr.row-disabled:hover{opacity:.85}.row-actions-cell{text-align:right;position:relative}.row-actions-cell button:disabled{opacity:.4;cursor:not-allowed}.row-actions{display:inline-block;position:relative}.row-actions-menu{z-index:20;background:#fff;border:1px solid #bec9c299;border-radius:8px;min-width:140px;margin-top:4px;position:absolute;top:100%;right:0;overflow:hidden;box-shadow:0 8px 24px #0000001f}.row-actions-menu button{text-align:left;width:100%;color:var(--text);cursor:pointer;background:0 0;border:0;padding:8px 12px;font-size:13px;font-weight:500;display:block}.row-actions-menu button:hover{background:#bec9c22e}.row-actions-menu button.danger{color:#dc2626}.row-actions-menu button.danger:hover{background:#dc262614}.ticket-comment-badge{color:var(--text-muted);vertical-align:middle;background:#bec9c240;border-radius:999px;align-items:center;margin-left:8px;padding:2px 7px;font-size:11px;font-weight:600;display:inline-flex}.ticket-comments{border-top:1px solid #bec9c266;margin-top:20px;padding-top:16px}.ticket-comments-head{align-items:baseline;gap:8px;margin-bottom:10px;display:flex}.ticket-comments-head h4{color:var(--text);margin:0;font-size:14px;font-weight:700}.ticket-comments-count{color:var(--text-muted);font-size:12px}.ticket-comments-empty{color:var(--text-muted);padding:12px 0;font-size:13px;font-style:italic}.ticket-comments-error{color:#dc2626;margin:6px 0;font-size:12px}.ticket-comments-list{flex-direction:column;gap:12px;margin:0 0 12px;padding:0;list-style:none;display:flex}.ticket-comment{align-items:flex-start;gap:10px;display:flex}.ticket-comment-avatar{object-fit:cover;border-radius:50%;flex-shrink:0;width:28px;height:28px}.ticket-comment-main{flex:1;min-width:0}.ticket-comment-meta{color:var(--text-muted);align-items:baseline;gap:8px;margin-bottom:2px;font-size:12px;display:flex}.ticket-comment-meta strong{color:var(--text);font-size:13px}.ticket-comment-actions{gap:6px;margin-left:auto;display:flex}.ticket-comment-action{color:var(--text-muted);cursor:pointer;background:0 0;border:0;padding:2px 4px;font-size:11px}.ticket-comment-action:hover{color:var(--text);text-decoration:underline}.ticket-comment-action.danger:hover{color:#dc2626}.ticket-comment-body{color:var(--text);white-space:pre-wrap;word-wrap:break-word;font-size:13px}.ticket-comment-edit textarea{resize:vertical;border:1px solid #bec9c299;border-radius:6px;width:100%;padding:6px 8px;font-family:inherit;font-size:13px}.ticket-comment-edit-actions{justify-content:flex-end;gap:6px;margin-top:6px;display:flex}.ticket-comment-composer{flex-direction:column;gap:8px;margin-top:12px;display:flex}.ticket-comment-composer textarea{resize:vertical;border:1px solid #bec9c299;border-radius:6px;width:100%;padding:8px 10px;font-family:inherit;font-size:13px}.ticket-comment-composer-actions{justify-content:flex-end;display:flex}.ticket-composer-wrap{position:relative}.ticket-mention-menu{z-index:30;background:#fff;border:1px solid #bec9c299;border-radius:8px;max-width:380px;max-height:220px;margin:0;padding:4px;list-style:none;position:absolute;bottom:calc(100% + 4px);left:0;right:0;overflow-y:auto;box-shadow:0 8px 24px #0000001f}.ticket-mention-menu li button{text-align:left;cursor:pointer;background:0 0;border:0;border-radius:6px;flex-direction:column;align-items:flex-start;gap:2px;width:100%;padding:6px 10px;display:flex}.ticket-mention-menu li button:hover,.ticket-mention-menu li button:focus{background:#bec9c22e}.ticket-mention-menu li button strong{color:var(--text);font-size:13px;font-weight:600}.ticket-mention-menu li button small{color:var(--text-muted);font-size:11px}.ticket-mention{color:#0f766e;background:#0f766e1f;border-radius:4px;padding:1px 6px;font-weight:600;display:inline-block}.page-help-btn{border:1px solid var(--border,#d1d5db);width:32px;height:32px;color:var(--text-muted,#6b7280);cursor:pointer;background:0 0;border-radius:50%;justify-content:center;align-items:center;padding:0;font-size:16px;font-weight:600;transition:background .12s,color .12s,border-color .12s;display:inline-flex}.page-help-btn:hover{background:var(--surface-hover,#f3f4f6);color:var(--text,#111827);border-color:var(--border-strong,#9ca3af)}.page-help-btn:focus-visible{outline:2px solid var(--accent,#10b981);outline-offset:2px}.guidance-section{border:1px solid var(--border,#d1d5db);background:var(--surface,#fff);border-radius:8px;margin-top:24px;padding:16px}.guidance-section h3{color:var(--text,#111827);margin:0 0 8px;font-size:14px;font-weight:600}.guidance-toggle{color:var(--text,#111827);cursor:pointer;align-items:center;gap:8px;font-size:14px;display:flex}.guidance-help{color:var(--text-muted,#6b7280);margin:4px 0 12px 24px;font-size:13px}.guidance-section button{border:1px solid var(--border,#d1d5db);background:var(--surface,#fff);cursor:pointer;border-radius:6px;padding:6px 12px;font-size:13px}.guidance-section button:hover{background:var(--surface-hover,#f3f4f6)}.memos-tabs{border-bottom:1px solid var(--border);gap:4px;margin-bottom:18px;display:flex}.memos-tab{color:var(--text-muted);cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;align-items:center;gap:8px;padding:10px 16px;font-size:13px;font-weight:700;display:inline-flex}.memos-tab:hover{color:var(--text-primary)}.memos-tab.active{color:var(--primary-strong);border-bottom-color:var(--primary-strong)}.memos-tab-badge{color:#fff;background:#dc2626;border-radius:999px;justify-content:center;align-items:center;min-width:22px;height:18px;padding:0 6px;font-size:10px;font-weight:800;display:inline-flex}.memos-tab-badge-muted{background:var(--surface-low);color:var(--text-muted)}.memos-list{flex-direction:column;gap:10px;display:flex}.memos-empty{text-align:center;color:var(--text-muted);background:var(--surface-low);border-radius:12px;padding:28px;font-style:italic}.memo-card{text-align:left;background:var(--surface);border:1px solid var(--border);cursor:pointer;border-radius:10px;flex-direction:column;gap:6px;padding:14px 16px;transition:background .12s,border-color .12s;display:flex}.memo-card:hover{background:var(--primary-soft);border-color:var(--primary-strong)}.memo-card-unread{border-left:4px solid var(--primary-strong)}.memo-card-head{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.memo-card-head strong{font-size:15px}.memo-card-head small{color:var(--text-muted);white-space:nowrap;font-size:11px}.memo-card-body{color:var(--text-muted);margin:0;font-size:13px;line-height:1.5}.memo-card-foot{flex-wrap:wrap;gap:6px;display:flex}.memo-pill{background:var(--surface-low);color:var(--text-muted);border-radius:999px;align-items:center;gap:4px;padding:2px 8px;font-size:11px;font-weight:700;display:inline-flex}.memo-pill .material-symbols-outlined{font-size:13px}.memo-pill-unread{color:#b91c1c;background:#dc26261f}.memo-pill-muted{background:var(--surface-low);color:var(--text-muted)}.memo-detail-modal{flex-direction:column;gap:0;width:min(640px,100% - 32px);display:flex}.memo-detail-body{padding:18px 24px 0}.memo-detail-body p{margin:0 0 10px;line-height:1.6}.memo-detail-attachment{flex-direction:column;align-items:center;padding:12px 24px 0;display:flex}.memo-detail-attachment-img{border-radius:8px;max-width:100%;max-height:300px;display:block}.memo-detail-attachment-pdf{background:var(--primary-soft);color:var(--primary-strong);border-radius:8px;align-items:center;gap:8px;padding:8px 14px;font-weight:700;text-decoration:none;display:inline-flex}.memo-detail-attachment-pdf-frame{border:1px solid var(--border,#e5e7eb);background:#f8fafc;border-radius:8px;width:100%;height:480px;display:block}.memo-detail-attachment-pdf-link{color:var(--primary-strong);align-items:center;gap:6px;margin-top:8px;font-size:12px;font-weight:700;text-decoration:none;display:inline-flex}.memo-detail-attachment-pdf-link:hover{text-decoration:underline}.memo-detail-summary{color:var(--text-muted);gap:18px;padding:14px 24px 0;font-size:13px;display:flex}.memo-detail-summary strong{color:var(--text-primary)}.memo-detail-modal .modal-actions{background:var(--surface-lowest);border-top:1px solid #bec9c273;margin-top:18px;padding:14px 24px 18px;position:sticky;bottom:0}.compose-memo-modal{width:min(680px,100% - 32px);max-height:88vh}.compose-memo-form{grid-template-columns:1fr;gap:14px;padding:16px 20px 18px;display:grid;overflow-y:auto}.compose-memo-form .full-span{grid-column:1/-1}.compose-memo-form label{color:var(--text-muted);flex-direction:column;gap:6px;font-size:12px;font-weight:700;display:flex}.compose-memo-form input[type=text],.compose-memo-form input[type=search],.compose-memo-form textarea{border:1px solid var(--border);background:var(--surface);border-radius:8px;width:100%;padding:10px 12px;font-size:14px}.compose-memo-form textarea{resize:vertical;min-height:100px}.compose-memo-broadcast .compose-memo-checkbox{background:var(--primary-soft);color:var(--text-primary);text-transform:none;letter-spacing:0;border-radius:8px;flex-direction:row;align-items:center;gap:10px;padding:10px 14px;font-size:13px;font-weight:600;display:inline-flex}.compose-memo-checkbox small{color:var(--text-muted);margin-left:4px;font-weight:500}.compose-memo-recipients-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:6px;display:flex}.compose-memo-recipients-head>span{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:12px;font-weight:700}.compose-memo-recipients-head small{text-transform:none;letter-spacing:0;color:var(--text-primary);margin-left:4px;font-weight:500}.compose-memo-recipients-head input{max-width:260px}.compose-memo-recipients-list{border:1px solid var(--border);background:var(--surface);border-radius:8px;max-height:220px;overflow-y:auto}.compose-memo-recipients-list.is-disabled{opacity:.55;pointer-events:none}.compose-memo-recipient{border-bottom:1px solid var(--border);cursor:pointer;text-transform:none;letter-spacing:0;color:var(--text-primary);align-items:center;gap:10px;padding:8px 12px;font-size:13px;font-weight:500;flex-direction:row!important;display:flex!important}.compose-memo-recipient:last-child{border-bottom:none}.compose-memo-recipient:hover{background:var(--surface-low)}.compose-memo-recipient strong{color:var(--text-primary);font-size:13px;font-weight:700;display:block}.compose-memo-recipient small{color:var(--text-muted);font-size:11px;display:block}.compose-memo-empty{text-align:center;color:var(--text-muted);padding:16px;font-size:13px;font-style:italic}.compose-memo-attachment{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.compose-memo-attachment-meta{background:var(--surface-low);border:1px solid var(--border);color:var(--text-primary);border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font-size:12px;display:inline-flex}.compose-memo-attachment-meta .icon-button{width:20px;height:20px;padding:0}.compose-memo-attachment-meta .material-symbols-outlined{font-size:14px}.ot-request-form{grid-template-columns:repeat(3,1fr);gap:16px 18px;padding:20px 24px 8px;display:grid}.ot-request-field{flex-direction:column;gap:6px;min-width:0;display:flex}.ot-request-field-wide{grid-column:1/-1}.ot-request-field>span{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted,var(--muted));font-size:12px;font-weight:700}.ot-request-field input,.ot-request-field textarea{border:1px solid var(--border);background:var(--surface);color:var(--text-primary,var(--text));border-radius:8px;padding:10px 12px;font-family:inherit;font-size:14px}.ot-request-field textarea{resize:vertical}.ot-request-field input:focus,.ot-request-field textarea:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px #0045321a}.ot-request-footer{flex-wrap:wrap;grid-column:1/-1;justify-content:space-between;align-items:center;gap:16px;padding:12px 0 16px;display:flex}.ot-request-hours{color:var(--text-muted,var(--muted));text-transform:uppercase;letter-spacing:.05em;align-items:center;gap:8px;font-size:12px;font-weight:700;display:inline-flex}.ot-request-hours strong{color:var(--primary-strong);text-transform:none;letter-spacing:0;font-size:18px}.ot-request-hours small{text-transform:none;letter-spacing:0;color:var(--muted);font-size:11px;font-weight:400}@media (width<=720px){.ot-request-form{grid-template-columns:1fr;gap:12px 0;padding:16px 18px 8px}.ot-request-footer{justify-content:stretch}.ot-request-footer button{width:100%}}.admin-subtitle{color:var(--muted);margin:4px 0 0}.admin-tabs{border-bottom:1px solid var(--outline);gap:4px;display:flex;overflow-x:auto}.admin-tab{appearance:none;color:var(--muted);cursor:pointer;white-space:nowrap;transition:color var(--dur-base) ease, border-color var(--dur-base) ease;background:0 0;border:none;border-bottom:2px solid #0000;padding:12px 16px;font-size:14px;font-weight:600}.admin-tab:hover{color:var(--text)}.admin-tab.is-active{color:var(--primary);border-bottom-color:var(--primary)}.admin-tab:focus-visible{outline:2px solid var(--primary-strong);outline-offset:2px;border-radius:4px}.admin-tab-panel{margin-top:4px}.admin-grid{gap:20px;display:grid}.admin-grid-2col{grid-template-columns:1fr 1fr;align-items:start;gap:20px;display:grid}.admin-grid .panel{padding:24px}.admin-eyebrow{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-bottom:14px;font-size:11px;font-weight:800;display:block}.admin-muted{color:var(--muted);margin:0;font-size:13px}.admin-error{color:var(--danger)}.admin-seats{grid-template-columns:1.6fr 1fr;align-items:start;gap:28px;display:grid}.admin-seats-count{color:var(--muted);margin:0 0 12px;font-size:16px}.admin-seats-count strong{color:var(--primary);margin-right:6px;font-size:44px;font-weight:700;line-height:1}.admin-progress{border-radius:var(--radius-full);background:var(--surface-high);height:10px;overflow:hidden}.admin-progress-sm{height:8px}.admin-progress-fill{border-radius:inherit;background:var(--primary);height:100%;transition:width var(--dur-slow) ease}.admin-seat-actions{flex-wrap:wrap;align-items:center;gap:10px;margin-top:16px;display:flex}.admin-seat-qty{border:1px solid var(--outline);border-radius:var(--radius-md);width:90px;height:40px;padding:0 12px}.admin-seats-side{border-left:1px solid var(--outline);padding-left:24px}.admin-keyvals{gap:10px;margin:14px 0 0;display:grid}.admin-keyvals>div{justify-content:space-between;align-items:center;gap:12px;display:flex}.admin-keyvals dt{color:var(--muted);font-size:13px}.admin-keyvals dd{margin:0;font-size:14px;font-weight:600}.admin-plan-card{border:1.5px solid var(--outline);border-radius:var(--radius-lg);background:var(--surface-lowest);flex-direction:column;display:flex;position:relative;overflow:hidden}.admin-plan-card.is-current{border-color:var(--primary)}.admin-plan-card.admin-plan-enterprise{box-shadow:0 14px 36px -20px #065f4680}.admin-plan-banner{background:linear-gradient(120deg, var(--primary), color-mix(in srgb, var(--primary) 72%, #000));color:#fff;justify-content:space-between;align-items:center;gap:12px;padding:16px 20px;display:flex}.admin-plan-name{letter-spacing:-.01em;color:inherit;font-size:18px;font-weight:800}.admin-plan-pill{text-transform:uppercase;letter-spacing:.06em;color:#fff;background:#ffffff2e;border-radius:999px;align-items:center;gap:6px;padding:5px 12px;font-size:11px;font-weight:800;display:inline-flex}.admin-plan-pill .material-symbols-outlined{font-size:15px}.admin-plan-body{flex-direction:column;gap:14px;padding:20px;display:flex}.admin-plan-pricing{flex-wrap:wrap;align-items:baseline;gap:6px;display:flex}.admin-plan-price{letter-spacing:-.02em;color:var(--text);font-size:32px;font-weight:800;line-height:1}.admin-plan-price-unit{color:var(--muted);font-size:15px;font-weight:600}.admin-plan-price-add{color:var(--primary);margin-left:6px;font-size:14px;font-weight:700}.admin-plan-blurb{color:var(--muted);margin:0;font-size:13px}.admin-plan-features{gap:10px;margin:0;padding:0;list-style:none;display:grid}.admin-plan-features li{color:var(--text);align-items:center;gap:10px;font-size:14px;display:flex}.admin-plan-features .material-symbols-outlined{color:var(--primary);flex-shrink:0;font-size:20px}.admin-plan-foot{margin:2px 0 0;font-size:13px}.admin-plan-controls{border-top:1px solid var(--outline);flex-wrap:wrap;gap:32px;margin-top:20px;padding-top:20px;display:flex}.admin-control{align-items:center;gap:12px;display:flex}.admin-control strong{font-size:14px}.admin-control p{margin:2px 0 0}.admin-segment{border:1px solid var(--outline);border-radius:var(--radius-full);display:inline-flex;overflow:hidden}.admin-segment button{appearance:none;color:var(--muted);cursor:pointer;background:0 0;border:none;padding:8px 16px;font-size:13px;font-weight:600}.admin-segment button.is-active{background:var(--primary-soft);color:var(--primary)}.admin-segment button:disabled{cursor:not-allowed}.admin-module-list{gap:14px;margin:0 0 14px;padding:0;list-style:none;display:grid}.admin-module-row{justify-content:space-between;align-items:center;margin-bottom:6px;font-size:14px;display:flex}.admin-contract-btn{width:100%;margin-top:16px}.admin-role-list{gap:8px;margin:0 0 14px;padding:0;list-style:none;display:grid}.admin-role-row{border:1px solid var(--outline);border-radius:var(--radius-md);background:var(--surface-lowest);transition:border-color var(--dur-base) ease, background var(--dur-base) ease;align-items:center;gap:12px;padding:10px 14px;font-size:14px;display:flex}.admin-role-row:hover{border-color:color-mix(in srgb, var(--primary) 40%, var(--outline));background:var(--surface-low)}.admin-role-dot{background:var(--muted);border-radius:50%;flex:none;width:9px;height:9px}.admin-role-label{color:var(--text);font-weight:600}.admin-role-count{text-align:center;font-variant-numeric:tabular-nums;min-width:30px;color:var(--text);background:var(--surface-high);border-radius:var(--radius-full);margin-left:auto;padding:3px 11px;font-size:13px;font-weight:700}.admin-role-row--manager .admin-role-dot{background:#2563eb}.admin-role-row--admin .admin-role-dot{background:#7c3aed}.admin-role-row--hr .admin-role-dot{background:#db2777}.admin-role-row--employee .admin-role-dot{background:var(--primary)}.admin-role-row--none{background:0 0;border-style:dashed}.admin-role-row--none .admin-role-dot{background:var(--muted)}.admin-role-row--none .admin-role-label{color:var(--muted);font-weight:500}.admin-role-row--none .admin-role-count{background:var(--surface-high);color:var(--muted)}.switch{border-radius:var(--radius-full);background:var(--surface-highest);cursor:pointer;width:44px;height:24px;transition:background var(--dur-base) ease;border:none;flex:none;padding:0;position:relative}.switch.is-on{background:var(--primary)}.switch:disabled{opacity:.6;cursor:not-allowed}.switch-knob{width:20px;height:20px;box-shadow:var(--shadow-1);transition:transform var(--dur-base) ease;background:#fff;border-radius:50%;position:absolute;top:2px;left:2px}.switch.is-on .switch-knob{transform:translate(20px)}.switch:focus-visible{outline:2px solid var(--primary-strong);outline-offset:2px}@media (width<=900px){.admin-grid-2col,.admin-seats{grid-template-columns:1fr}.admin-seats-side{border-left:none;border-top:1px solid var(--outline);padding-top:20px;padding-left:0}}@media (width<=640px){.admin-grid .panel{padding:18px 16px}.admin-form-actions{flex-direction:column}.admin-form-actions button{width:100%}.admin-brand-assets{gap:18px 24px}}.admin-section-title{color:var(--text);align-items:center;gap:8px;margin:0 0 18px;font-size:18px;font-weight:700;line-height:26px;display:flex}.admin-section-title:before{content:"";border-radius:var(--radius-sm);background:linear-gradient(180deg, var(--primary) 0%, var(--primary-fixed) 100%);flex:none;width:3px;height:18px}.admin-form{grid-template-columns:1fr 1fr;gap:16px 20px;display:grid}.admin-field{flex-direction:column;gap:6px;min-width:0;display:flex}.admin-field-full{grid-column:1/-1}.admin-field>span:first-child{color:var(--muted);font-size:13px;font-weight:600}.admin-field input,.admin-field select{border:1px solid var(--outline);border-radius:var(--radius-md);height:40px;color:var(--text);background:#fff;width:100%;padding:0 12px;font-size:14px}.admin-field input:focus,.admin-field select:focus{border-color:var(--primary-strong);outline:none;box-shadow:0 0 0 3px #065f461f}.admin-field input:disabled,.admin-field select:disabled,.admin-input-readonly{background:var(--surface-low);color:var(--muted);cursor:not-allowed}.admin-field-hint{color:var(--muted);font-size:11px}.admin-field-error{color:var(--danger);font-size:12px}.admin-field-req:after{content:" *";color:var(--danger);font-weight:700}.admin-field input[aria-invalid=true]{border-color:var(--danger)}.admin-input-suffix{border:1px solid var(--outline);border-radius:var(--radius-md);align-items:stretch;display:flex;overflow:hidden}.admin-input-suffix input{border:none;border-radius:0;flex:1}.admin-input-suffix input:focus{box-shadow:none}.admin-input-suffix:focus-within{border-color:var(--primary-strong);box-shadow:0 0 0 3px #065f461f}.admin-suffix-text{color:var(--muted);background:var(--surface-low);white-space:nowrap;align-items:center;padding:0 12px;font-size:13px;display:flex}.admin-logo-row{align-items:flex-start;gap:18px;margin-bottom:22px;display:flex}.admin-logo-preview{border:1px dashed var(--outline);border-radius:var(--radius-md);width:72px;height:72px;color:var(--muted);background:var(--surface-low);flex:none;place-items:center;font-size:12px;display:grid;overflow:hidden}.admin-logo-preview img{object-fit:contain;width:100%;height:100%}.admin-logo-actions{gap:10px;margin-top:8px;display:flex}.admin-form-actions{gap:12px;display:flex}@media (width<=760px){.admin-form{grid-template-columns:1fr}}.billing-card-line{align-items:center;gap:14px;margin-bottom:16px;display:flex}.billing-card-chip{border:1px solid var(--outline);background:linear-gradient(135deg, var(--surface-high), var(--surface-highest));border-radius:5px;flex:none;width:44px;height:30px}.billing-card-line strong{font-size:15px}.billing-card-line p{margin:2px 0 0}.billing-backup-list{gap:8px;margin:14px 0 0;padding:0;list-style:none;display:grid}.billing-backup-list li{color:var(--muted);justify-content:space-between;align-items:center;gap:12px;font-size:13px;display:flex}.billing-next-amount{margin:0 0 14px}.billing-next-amount strong{color:var(--primary);font-size:34px;font-weight:700}.billing-next-lines{margin-top:0}.admin-inline-toggle{flex-direction:row;align-items:center;gap:12px}.admin-inline-toggle>span{color:var(--text);font-size:14px;font-weight:600}.billing-invoice-table{border-collapse:collapse;width:100%;font-size:14px}.billing-invoice-table th{text-align:left;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);border-bottom:1px solid var(--outline);padding:8px 12px;font-size:12px;font-weight:700}.billing-invoice-table td{border-bottom:1px solid var(--surface-high);padding:12px}.billing-invoice-table tr:last-child td{border-bottom:none}.billing-invoice-download{text-align:right}.billing-invoice-download a,.billing-invoice-download .link-button{color:var(--primary-strong);cursor:pointer;background:0 0;border:none;padding:0;font-size:14px;font-weight:600}.billing-invoice-download a:hover,.billing-invoice-download .link-button:hover{text-decoration:underline}.admin-module-cards{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.admin-module-card{border:1.5px solid var(--outline);border-radius:var(--radius-lg);background:var(--surface-lowest);flex-direction:column;gap:6px;padding:16px;display:flex}.admin-module-card.is-enabled{border-color:var(--primary);background:var(--primary-soft)}.admin-module-card-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.admin-module-card-head strong{font-size:15px}.admin-module-card .admin-muted{flex:1}.link-button{cursor:pointer;color:var(--primary-strong);background:0 0;border:none;align-self:flex-start;padding:0;font-size:14px;font-weight:600}.link-button:hover{text-decoration:underline}.admin-color-field{align-items:center;gap:12px;display:flex}.admin-color-field .admin-color-input{border:1px solid var(--outline);border-radius:var(--radius-md);cursor:pointer;background:#fff;flex:none;order:-1;width:48px;height:40px;padding:4px}.admin-color-field .admin-color-input::-webkit-color-swatch-wrapper{padding:0}.admin-color-field .admin-color-input::-webkit-color-swatch{border:none;border-radius:6px}.admin-color-field .admin-color-input::-moz-color-swatch{border:none;border-radius:6px}.admin-color-field .admin-color-hex{font-variant-numeric:tabular-nums;flex:none;width:160px}.admin-brand-assets{flex-wrap:wrap;gap:14px;margin-bottom:24px;display:flex}.admin-asset{text-align:center;border:1.5px solid var(--outline);border-radius:var(--radius-lg);background:var(--surface-lowest);flex-direction:column;flex:1 1 0;align-items:center;gap:8px;min-width:150px;padding:18px 16px;display:flex}.admin-brand-assets .admin-logo-preview{border:1px solid var(--outline);background:var(--surface-low);border-radius:var(--radius-md);width:64px;height:64px}.admin-asset-label{color:var(--text);font-size:14px;font-weight:700}.admin-asset .admin-field-hint{margin-top:-4px}.admin-asset .secondary-button{width:100%;margin-top:6px}.admin-brand-assets .admin-loginbg-preview{border:1px solid var(--outline);background:var(--surface-low);border-radius:var(--radius-md);place-items:center;width:96px;height:64px;display:grid;overflow:hidden}.admin-loginbg-preview img{object-fit:cover;width:100%;height:100%}.admin-asset-empty{color:var(--muted);font-size:11px}.admin-asset-actions{flex-direction:column;gap:6px;width:100%;display:flex}.admin-asset-actions .secondary-button{margin-top:0}.admin-setting-row{border-top:1px solid var(--surface-high);justify-content:space-between;align-items:center;gap:16px;padding:12px 0;display:flex}.admin-setting-row>span:first-child,.admin-setting-row strong{color:var(--text);font-size:14px;font-weight:600}.admin-setting-row p{margin:2px 0 0}.admin-brand-reset{border-top:1px solid var(--surface-high);flex-wrap:wrap;align-items:center;gap:12px;margin-top:16px;padding-top:16px;display:flex}@media (width<=760px){.admin-module-cards{grid-template-columns:1fr}}.admin-users-head{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.admin-users-head .admin-section-title{margin-bottom:4px}.admin-caps-table{border-collapse:collapse;width:100%;font-size:14px}.admin-caps-table th{text-align:left;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);border-bottom:1px solid var(--outline);padding:10px 12px;font-size:12px;font-weight:700}.admin-caps-table th:not(:first-child),.admin-caps-table td:not(:first-child){text-align:center}.admin-caps-table td{border-bottom:1px solid var(--surface-high);padding:12px}.admin-caps-table tr:last-child td{border-bottom:none}.admin-cap-yes{color:var(--primary);font-weight:700}.admin-cap-view{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:12px}.admin-cap-no{color:var(--outline)}.driver-active .driver-overlay,.driver-active *{pointer-events:none}.driver-active .driver-active-element,.driver-active .driver-active-element *,.driver-popover,.driver-popover *{pointer-events:auto}@keyframes animate-fade-in{0%{opacity:0}to{opacity:1}}.driver-fade .driver-overlay{animation:.2s ease-in-out animate-fade-in}.driver-fade .driver-popover{animation:.2s animate-fade-in}.driver-popover{all:unset;box-sizing:border-box;color:#2d2d2d;z-index:1000000000;background-color:#fff;border-radius:5px;min-width:250px;max-width:300px;margin:0;padding:15px;position:fixed;top:0;right:0;box-shadow:0 1px 10px #0006}.driver-popover *{font-family:Helvetica Neue,Inter,ui-sans-serif,Apple Color Emoji,Helvetica,Arial,sans-serif}.driver-popover-title{zoom:1;margin:0;font:700 19px/1.5 sans-serif;display:block;position:relative}.driver-popover-close-btn{all:unset;cursor:pointer;color:#d2d2d2;z-index:1;text-align:center;width:32px;height:28px;font-size:18px;font-weight:500;transition:color .2s;position:absolute;top:0;right:0}.driver-popover-close-btn:hover,.driver-popover-close-btn:focus{color:#2d2d2d}.driver-popover-title[style*=block]+.driver-popover-description{margin-top:5px}.driver-popover-description{zoom:1;margin-bottom:0;font:400 14px/1.5 sans-serif}.driver-popover-footer{text-align:right;zoom:1;justify-content:space-between;align-items:center;margin-top:15px;display:flex}.driver-popover-progress-text{color:#727272;zoom:1;font-size:13px;font-weight:400}.driver-popover-footer button{all:unset;box-sizing:border-box;text-shadow:1px 1px #fff;color:#2d2d2d;cursor:pointer;zoom:1;background-color:#fff;border:1px solid #ccc;border-radius:3px;outline:0;padding:3px 7px;font:12px/1.3 sans-serif;text-decoration:none;display:inline-block}.driver-popover-footer .driver-popover-btn-disabled{opacity:.5;pointer-events:none}:not(body):has(>.driver-active-element){overflow:hidden!important}.driver-no-interaction,.driver-no-interaction *{pointer-events:none!important}.driver-popover-footer button:hover,.driver-popover-footer button:focus{background-color:#f7f7f7}.driver-popover-navigation-btns{flex-grow:1;justify-content:flex-end;display:flex}.driver-popover-navigation-btns button+button{margin-left:4px}.driver-popover-arrow{content:"";border:5px solid #fff;position:absolute}.driver-popover-arrow-side-over{display:none}.driver-popover-arrow-side-left{border-top-color:#0000;border-bottom-color:#0000;border-right-color:#0000;left:100%}.driver-popover-arrow-side-right{border-top-color:#0000;border-bottom-color:#0000;border-left-color:#0000;right:100%}.driver-popover-arrow-side-top{border-bottom-color:#0000;border-left-color:#0000;border-right-color:#0000;top:100%}.driver-popover-arrow-side-bottom{border-top-color:#0000;border-left-color:#0000;border-right-color:#0000;bottom:100%}.driver-popover-arrow-side-center{display:none}.driver-popover-arrow-side-left.driver-popover-arrow-align-start,.driver-popover-arrow-side-right.driver-popover-arrow-align-start{top:15px}.driver-popover-arrow-side-top.driver-popover-arrow-align-start,.driver-popover-arrow-side-bottom.driver-popover-arrow-align-start{left:15px}.driver-popover-arrow-align-end.driver-popover-arrow-side-left,.driver-popover-arrow-align-end.driver-popover-arrow-side-right{bottom:15px}.driver-popover-arrow-side-top.driver-popover-arrow-align-end,.driver-popover-arrow-side-bottom.driver-popover-arrow-align-end{right:15px}.driver-popover-arrow-side-left.driver-popover-arrow-align-center,.driver-popover-arrow-side-right.driver-popover-arrow-align-center{margin-top:-5px;top:50%}.driver-popover-arrow-side-top.driver-popover-arrow-align-center,.driver-popover-arrow-side-bottom.driver-popover-arrow-align-center{margin-left:-5px;left:50%}.driver-popover-arrow-none{display:none}
