@font-face{font-family:AlibabaSans-Regular;src:url(https://assets-persist.lovart.ai/agent-static-assets/AlibabaSans-Regular.otf)format("opentype");font-weight:400;font-style:normal}@font-face{font-family:AlibabaSans-Medium;src:url(https://assets-persist.lovart.ai/agent-static-assets/AlibabaSans-Medium.otf)format("opentype");font-weight:500;font-style:normal}@font-face{font-family:AlibabaSans-Bold;src:url(https://assets-persist.lovart.ai/agent-static-assets/Alibaba-PuHuiTi-Bold.otf)format("opentype");font-weight:700;font-style:normal}:root{--primary:#2d6a4f;--primary-light:#40916c;--primary-dark:#1a4028;--secondary:#f5f7fa;--text-primary:#263238;--text-secondary:#546e7a;--text-tertiary:#78909c;--danger:#f44336;--success:#4caf50;--warning:#ff9800;--border:#e0e0e0;--card-shadow:0 2px 10px #00000014;--radius-sm:8px;--radius-md:12px;--radius-lg:16px}*,:before,:after{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--secondary);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;font-family:AlibabaSans-Regular,sans-serif}.skeleton{-webkit-user-select:none;user-select:none;background:linear-gradient(90deg,#0000000f 0%,#0000001f 50%,#0000000f 100%) 0 0/200% 100%;animation:1.4s ease-in-out infinite skeleton-shimmer;display:block}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.search-bar{border:1px solid var(--border);background-color:var(--secondary);border-radius:8px;align-items:center;gap:8px;min-width:220px;height:36px;padding:0 12px;transition:border-color .15s,box-shadow .15s,background-color .15s;display:flex}.search-bar:focus-within{border-color:var(--primary);background-color:#fff;box-shadow:0 0 0 3px #2d6a4f1a}.search-bar-icon{color:var(--text-tertiary);flex-shrink:0;font-size:15px}.search-bar-input{color:var(--text-primary);background:0 0;border:none;outline:none;flex:1;min-width:0;font-family:AlibabaSans-Regular,sans-serif;font-size:13px}.search-bar-input::placeholder{color:var(--text-tertiary)}.search-bar-clear{cursor:pointer;color:var(--text-tertiary);background:0 0;border:none;flex-shrink:0;align-items:center;padding:2px;font-size:15px;line-height:1;transition:color .15s;display:flex}.search-bar-clear:hover{color:var(--text-primary)}.universal-table-container{min-height:200px;position:relative;overflow:auto}.universal-table{border-collapse:collapse;min-width:100%}.universal-table thead{z-index:1;background-color:#fff;position:sticky;top:0}.universal-table td{text-align:left;border-bottom:1px solid var(--border);color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;min-width:150px;max-width:200px;height:50px;padding:12px 16px;font-size:12px;overflow:hidden}.universal-table th{color:var(--text-secondary);text-align:left;border-bottom:1px solid var(--border);z-index:10;background-color:#fff;padding:12px 16px;font-family:AlibabaSans-Medium,sans-serif;font-size:13px;position:sticky;top:0;box-shadow:0 2px 4px #0000001a}.universal-table td.cell-wrap{white-space:normal;text-overflow:unset;overflow:visible}.universal-table td.align-right,.universal-table th.align-right{text-align:right}.universal-table td.align-center,.universal-table th.align-center{text-align:center}.universal-table tr:last-child td{border-bottom:none}.universal-table tfoot td{color:var(--text-primary);border-top:2px solid var(--primary);font-variant-numeric:tabular-nums;z-index:1;background-color:#eff5f1;border-bottom:none;font-family:AlibabaSans-Bold,sans-serif;font-size:13px;position:sticky;bottom:0;box-shadow:0 -2px 6px #0000000f}.universal-table tfoot td.col-frozen{z-index:3;background-color:#eff5f1}.universal-table tfoot td[data-clickable]{cursor:default;padding-left:16px}.universal-table tfoot td[data-clickable]:after{content:none}.universal-table td.col-frozen,.universal-table th.col-frozen{z-index:2;background-color:#fff;position:sticky}.universal-table th.col-frozen{z-index:11}.universal-table td.col-frozen--boundary-left{box-shadow:4px 0 6px -4px #0000001f}.universal-table td.col-frozen--boundary-right{box-shadow:-4px 0 6px -4px #0000001f}.universal-table th.col-frozen--boundary-left{box-shadow:0 2px 4px #0000001a,4px 0 6px -4px #0000001f}.universal-table th.col-frozen--boundary-right{box-shadow:0 2px 4px #0000001a,-4px 0 6px -4px #0000001f}.universal-table--subtle th.col-frozen--boundary-left{box-shadow:4px 0 6px -4px #0000001f}.universal-table--subtle th.col-frozen--boundary-right{box-shadow:-4px 0 6px -4px #0000001f}.expandable-table tbody tr[data-id]:not(.expandable-detail-row):hover td.col-frozen,.expandable-table tbody tr.is-expanded td.col-frozen{background-color:var(--secondary)}.universal-table td[data-clickable]{cursor:pointer;transition:padding-left .15s}.universal-table td[data-clickable]:not(.col-frozen){position:relative}.universal-table td[data-clickable]:after{content:"✎";color:var(--text-secondary);opacity:0;pointer-events:none;font-size:11px;transition:opacity .15s;position:absolute;top:50%;left:8px;transform:translateY(-50%)}.universal-table td[data-clickable]:hover{background-color:var(--secondary);padding-left:28px}.universal-table td[data-clickable]:hover:after{opacity:1}.expandable-table tbody tr[data-id]:not(.expandable-detail-row){cursor:pointer}.expandable-table tbody tr[data-id]:not(.expandable-detail-row):hover td{background-color:var(--secondary)}.expandable-table tbody tr.is-expanded td{white-space:normal;height:auto;text-overflow:unset;background-color:var(--secondary);overflow:visible}.expandable-detail-row .expandable-detail-cell{white-space:normal;height:auto;text-overflow:unset;background-color:var(--secondary);border-top:2px solid var(--primary-light);border-bottom:2px solid var(--primary-light);min-width:0;max-width:none;padding:16px 20px;overflow:visible}.expandable-detail-row .expandable-detail-cell .universal-table{border-top:none}.expandable-detail-row .expandable-detail-cell .universal-table thead th{background-color:#edf2f7;padding:8px 16px;font-size:11px}.expandable-detail-row .expandable-detail-cell .universal-table td{background-color:#fff;font-size:12px}.universal-table-container--subtle{min-height:0}.expandable-detail-row .expandable-detail-cell .universal-table--subtle thead th,.universal-table--subtle thead th{box-shadow:none;text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary);background-color:#0000;font-family:AlibabaSans-Regular,sans-serif;font-size:11px}.universal-table--subtle td{height:auto;padding:10px 16px}.table-bottom-bar--subtle{background-color:#0000;border-top:none;padding:8px 16px}.loading-skeleton-row td.align-right .skeleton{margin-left:auto}.loading-skeleton-row td.align-center .skeleton{margin-left:auto;margin-right:auto}.table-empty-message{white-space:nowrap;color:var(--text-secondary);letter-spacing:.01em;font-family:AlibabaSans-Regular,sans-serif;font-size:13px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.table-toolbar{border-bottom:1px solid var(--border);background-color:#fff;flex-wrap:wrap;gap:12px;min-height:95px;padding:10px 16px;display:flex}.table-toolbar-spacer{flex:auto;min-width:0}.table-search-bar{flex:none;width:280px;max-width:100%}.table-toolbar-select,.table-filter-select{border:1px solid var(--border);height:32px;color:var(--text-primary);cursor:pointer;background-color:#fff;border-radius:6px;padding:0 28px 0 10px;font-family:AlibabaSans-Regular,sans-serif;font-size:13px;transition:border-color .15s}.table-toolbar-select:hover,.table-toolbar-select:focus,.table-filter-select:hover,.table-filter-select:focus{border-color:var(--primary-light);outline:none}.table-filter-bar{flex-wrap:wrap;gap:8px;display:flex}.table-filter-chip{border:1px solid var(--border);height:32px;color:var(--text-primary);cursor:pointer;background-color:#fff;border-radius:16px;align-items:center;gap:6px;padding:0 12px;font-family:AlibabaSans-Regular,sans-serif;font-size:13px;transition:border-color .15s,background-color .15s,color .15s;display:inline-flex}.table-filter-chip:hover,.table-filter-chip:focus{border-color:var(--primary-light);outline:none}.table-filter-chip.is-active{border-color:var(--primary);color:var(--primary);background-color:#2d6a4f14}.table-filter-chip-label{white-space:nowrap}.table-filter-chip-clear{width:16px;height:16px;color:inherit;opacity:.6;cursor:pointer;border-radius:50%;justify-content:center;align-items:center;font-size:14px;line-height:1;display:inline-flex}.table-filter-chip-clear:hover{opacity:1;background-color:#2d6a4f26}.table-filter-panel{z-index:20;border:1px solid var(--border);background-color:#fff;border-radius:8px;min-width:220px;max-height:320px;padding:6px;font-family:AlibabaSans-Regular,sans-serif;font-size:13px;overflow-y:auto;box-shadow:0 8px 24px #0000001f}.table-filter-panel-row{color:var(--text-primary);cursor:pointer;border-radius:4px;align-items:center;gap:8px;padding:6px 8px;display:flex}.table-filter-panel-row:hover{background-color:var(--secondary)}.table-filter-panel-row input[type=checkbox]{accent-color:var(--primary);cursor:pointer}.table-filter-panel-empty{color:var(--text-secondary);padding:8px;font-size:12px}.table-filter-panel--grouped{min-width:260px}.table-filter-group-section+.table-filter-group-section{border-top:1px solid var(--border);margin-top:8px;padding-top:8px}.table-filter-group-section-heading{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;padding:4px 8px 6px;font-family:AlibabaSans-Medium,sans-serif;font-size:11px}.table-sort-toggle{border:1px solid var(--border);width:32px;height:32px;color:var(--text-secondary);cursor:pointer;background-color:#fff;border-radius:6px;justify-content:center;align-items:center;transition:border-color .15s,color .15s;display:inline-flex}.table-sort-toggle:hover,.table-sort-toggle:focus{border-color:var(--primary-light);color:var(--primary);outline:none}.table-sort-toggle.is-active{border-color:var(--primary);color:var(--primary)}.table-sort-panel{z-index:20;border:1px solid var(--border);background-color:#fff;border-radius:8px;min-width:220px;padding:8px;font-family:AlibabaSans-Regular,sans-serif;font-size:13px;box-shadow:0 8px 24px #0000001f}.table-sort-panel-heading{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;padding:4px 8px 8px;font-family:AlibabaSans-Medium,sans-serif;font-size:11px}.table-sort-panel-row{text-align:left;cursor:pointer;width:100%;font-family:inherit;font-size:inherit;color:var(--text-primary);background:0 0;border:none;border-radius:4px;align-items:center;gap:12px;padding:6px 8px;display:flex}.table-sort-panel-row:hover{background-color:var(--secondary)}.table-sort-panel-row.is-active{color:var(--primary);background-color:#2d6a4f1f}.table-sort-panel-label{white-space:nowrap}.table-sort-panel-divider{background-color:var(--border);height:1px;margin:8px 0}.table-sort-direction-group{gap:4px;display:flex}.table-sort-direction-option{border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;font-family:inherit;font-size:inherit;background-color:#fff;border-radius:4px;flex:1;justify-content:center;align-items:center;gap:6px;padding:6px 8px;transition:background .15s,color .15s,border-color .15s;display:inline-flex}.table-sort-direction-option:hover:not(:disabled){border-color:var(--primary-light);color:var(--primary)}.table-sort-direction-option.is-active{border-color:var(--primary);color:var(--primary);background-color:#2d6a4f1f}.table-sort-direction-option:disabled{opacity:.5;cursor:not-allowed}.table-sort-clear{border:none;border-top:1px solid var(--border);width:100%;color:var(--text-secondary);text-align:left;cursor:pointer;background:0 0;margin-top:6px;padding:6px 8px;font-family:inherit;font-size:12px;display:block}.table-sort-clear:hover{color:var(--primary)}.table-freeze-stepper{color:var(--text-primary);justify-content:space-between;align-items:center;gap:12px;padding:6px 8px;display:flex}.table-freeze-stepper-label{white-space:nowrap;font-size:13px}.table-freeze-stepper-controls{align-items:center;gap:4px;display:inline-flex}.table-freeze-stepper-button{border:1px solid var(--border);width:24px;height:24px;color:var(--text-secondary);cursor:pointer;background-color:#fff;border-radius:4px;justify-content:center;align-items:center;padding:0;font-family:inherit;font-size:14px;line-height:1;transition:background .15s,color .15s,border-color .15s;display:inline-flex}.table-freeze-stepper-button:hover:not(:disabled){border-color:var(--primary-light);color:var(--primary)}.table-freeze-stepper-button:disabled{opacity:.4;cursor:not-allowed}.table-freeze-stepper-value{text-align:center;min-width:20px;color:var(--text-primary);font-family:AlibabaSans-Medium,sans-serif;font-size:13px}.table-bottom-bar{border-top:1px solid var(--border);background-color:#fff;flex-direction:column;gap:10px;padding:10px 16px;display:flex}.table-bottom-bar-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.table-bottom-bar-left,.table-bottom-bar-right{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.table-page-size{color:var(--text-secondary);white-space:nowrap;align-items:center;gap:8px;font-family:AlibabaSans-Regular,sans-serif;font-size:13px;display:inline-flex}.table-info-bar{color:var(--text-secondary);white-space:nowrap;font-family:AlibabaSans-Regular,sans-serif;font-size:13px}.pagination-container{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.pagination-container button{border:1px solid var(--border);min-width:32px;height:32px;color:var(--text-secondary);cursor:pointer;background:#fff;border-radius:6px;justify-content:center;align-items:center;padding:0 10px;font-family:AlibabaSans-Regular,sans-serif;font-size:13px;transition:background .15s,color .15s,border-color .15s;display:inline-flex}.pagination-container button:hover:not(:disabled){background:var(--secondary);color:var(--primary);border-color:var(--primary-light)}.pagination-container button.active{background:var(--primary);color:#fff;border-color:var(--primary);cursor:default;font-family:AlibabaSans-Medium,sans-serif}.pagination-container button:disabled:not(.active){opacity:.35;cursor:not-allowed}.pagination-ellipsis{min-width:24px;height:32px;color:var(--text-secondary);-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;font-family:AlibabaSans-Regular,sans-serif;font-size:13px;display:inline-flex}mark.search-highlight{color:#1a1a1a;background-color:#e6b800;border-radius:2px;padding:0 1px}.card{border-radius:var(--radius-md);box-shadow:var(--card-shadow);background:#fff;flex-direction:column;display:flex;overflow:hidden}.card-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:14px 20px;display:flex}.card-header h3{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.06em;margin:0;font-family:AlibabaSans-Medium,sans-serif;font-size:13px}.card-header-actions{align-items:center;gap:10px;display:flex}.card-header .btn-primary{background-color:var(--primary);color:#fff;cursor:pointer;white-space:nowrap;border:none;border-radius:7px;align-items:center;gap:6px;height:34px;padding:0 14px;font-family:AlibabaSans-Medium,sans-serif;font-size:12px;transition:filter .15s;display:inline-flex}.card-header .btn-primary:hover{filter:brightness(.9)}.card-header .btn-primary:focus-visible{outline:2px solid var(--primary-light);outline-offset:2px}.card-header .btn-primary i{font-size:14px;line-height:1}.card-header .btn-link{color:var(--primary);font-family:AlibabaSans-Medium,sans-serif;font-size:13px;text-decoration:none;transition:opacity .15s}.card-header .btn-link:hover{opacity:.75}.card-header .btn-link:focus-visible{outline:2px solid var(--primary-light);outline-offset:2px;border-radius:2px}.card-body{padding:20px 24px}.card-body>h3{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.06em;border-bottom:1px solid var(--border);margin-bottom:16px;padding-bottom:12px;font-family:AlibabaSans-Medium,sans-serif;font-size:13px}.btn-view{background-color:var(--secondary);color:var(--primary);border:1px solid var(--border);cursor:pointer;border-radius:6px;padding:4px 12px;font-family:AlibabaSans-Medium,sans-serif;font-size:12px;text-decoration:none;transition:background-color .15s;display:inline-block}.btn-view:hover{background-color:#d8f3dc}.btn-view:disabled{opacity:.4;cursor:not-allowed;pointer-events:none}.modal-overlay{z-index:1000;opacity:0;visibility:hidden;background-color:#00000080;justify-content:center;align-items:center;transition:opacity .2s,visibility .2s;display:flex;position:fixed;inset:0}.modal-overlay.is-open{opacity:1;visibility:visible}.modal-container{border-radius:var(--radius-sm);background-color:#fff;flex-direction:column;width:90%;max-width:500px;max-height:80vh;transition:transform .2s;display:flex;overflow:hidden;transform:translateY(-12px);box-shadow:0 4px 20px #00000026}.modal-overlay.is-open .modal-container{transform:translateY(0)}.modal-container.modal--sm{max-width:400px}.modal-container.modal--md{max-width:500px}.modal-container.modal--lg{max-width:860px;max-height:90vh}.modal-header{border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.modal-header h2{color:var(--text-primary);margin:0;font-size:1.05rem;font-weight:600}.modal-close-btn{cursor:pointer;color:var(--text-secondary);background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;padding:0;font-size:1.4rem;line-height:1;transition:background-color .15s,color .15s;display:flex}.modal-close-btn:hover{background-color:var(--secondary);color:var(--text-primary)}.modal-body{flex:auto;min-height:0;padding:20px;position:relative;overflow-y:auto}.modal-footer{border-top:1px solid var(--border);background-color:#fafbfc;flex-shrink:0;justify-content:flex-end;gap:8px;padding:14px 20px;display:flex}.modal-btn{cursor:pointer;border:1px solid #0000;border-radius:6px;height:34px;padding:0 16px;font-family:inherit;font-size:13px;font-weight:500;transition:background-color .15s,filter .15s,opacity .15s}.modal-btn:disabled{opacity:.5;cursor:not-allowed}.modal-btn.btn-primary{background-color:var(--primary);color:#fff}.modal-btn.btn-primary:hover:not(:disabled){filter:brightness(.9)}.modal-btn.btn-warning{background-color:var(--warning);color:#fff}.modal-btn.btn-warning:hover:not(:disabled){filter:brightness(.9)}.modal-btn.btn-outlined{color:var(--text-secondary);border-color:var(--border);background-color:#0000}.modal-btn.btn-outlined:hover:not(:disabled){background-color:var(--secondary)}.modal-btn.btn-outlined-danger{color:var(--danger);border-color:var(--danger);background-color:#0000}.modal-btn.btn-outlined-danger:hover:not(:disabled){background-color:#fff5f5}.confirm-modal{text-align:center;flex-direction:column;align-items:center;gap:14px;padding:8px 0 4px;display:flex}.confirm-modal__icon{border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;font-size:24px;display:flex}.confirm-modal__icon--danger{color:#c62828;background:#ffebee}.confirm-modal__icon--warning{color:#b26a00;background:#fff4e1}.confirm-modal__icon--info{color:#1565c0;background:#e3f2fd}.confirm-modal__icon--success{color:#2e7d32;background:#e8f5e9}.confirm-modal__icon--primary{background:var(--secondary);color:var(--primary)}.confirm-modal__message{color:var(--text-primary);max-width:380px;font-size:14px;line-height:1.55}.confirm-modal__message p{margin:0 0 8px}.confirm-modal__message p:last-child{margin-bottom:0}.confirm-modal__banner{text-align:left;border:1px solid #0000;border-radius:6px;align-self:stretch;padding:10px 12px;font-size:13px;line-height:1.5}.confirm-modal__banner ul{margin:0;padding-left:18px}.confirm-modal__banner--danger{color:#c62828;background-color:#ffebee;border-color:#ffcdd2}.confirm-modal__banner--warning{color:#b26a00;background-color:#fff4e1;border-color:#ffe0b2}.confirm-modal__banner--info{color:#1565c0;background-color:#e3f2fd;border-color:#bbdefb}.confirm-modal__banner--success{color:#2e7d32;background-color:#e8f5e9;border-color:#c8e6c9}.modal-loader__overlay{-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px);z-index:5;background-color:#ffffffbf;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.modal-loader{color:var(--text-secondary);align-items:center;gap:10px;font-size:13px;display:inline-flex}.modal-loader__spinner{border:2px solid var(--border);border-top-color:var(--primary);border-radius:50%;width:18px;height:18px;animation:.7s linear infinite modal-loader-spin}@keyframes modal-loader-spin{to{transform:rotate(360deg)}}.audit-event-detail{flex-direction:column;gap:16px;display:flex}.audit-event-detail-actions{justify-content:flex-end;display:flex}.audit-rollback-btn{height:28px;color:var(--danger,#f44336);border:1px solid var(--danger,#f44336);cursor:pointer;background:0 0;border-radius:6px;align-items:center;gap:5px;padding:0 10px;font-family:AlibabaSans-Regular,sans-serif;font-size:12px;transition:background .15s,color .15s;display:inline-flex}.audit-rollback-btn i{font-size:13px}.audit-rollback-btn:hover{background:#fff5f5}.audit-rolled-back-badge{height:28px;color:var(--text-tertiary);background:var(--surface-secondary,#f5f5f5);border:1px solid var(--border);border-radius:6px;align-items:center;gap:5px;padding:0 10px;font-family:AlibabaSans-Medium,sans-serif;font-size:12px;display:inline-flex}.audit-rolled-back-badge i{font-size:13px}.rollback-blocking-events{flex-direction:column;gap:8px;margin-top:12px;display:flex}.rollback-blocking-events__hint{color:var(--text-secondary);font-size:12px}.rollback-blocking-events__list{flex-direction:column;gap:6px;max-height:260px;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.rollback-blocking-events__item{border:1px solid var(--border);background:var(--surface-secondary,transparent);border-radius:6px;align-items:flex-start;gap:10px;padding:8px 10px;display:flex}.rollback-blocking-events__order{background:var(--surface-hover,var(--border));min-width:20px;height:20px;color:var(--text-primary);text-align:center;border-radius:10px;flex:none;padding:0 6px;font-size:11px;font-weight:600;line-height:20px}.rollback-blocking-events__meta{flex-direction:column;gap:2px;min-width:0;display:flex}.rollback-blocking-events__title{color:var(--text-primary);font-size:13px;font-weight:600}.rollback-blocking-events__submeta{color:var(--text-secondary);gap:6px;font-size:11px;display:flex}.rollback-blocking-events__message{color:var(--text-secondary);word-break:break-word;font-size:12px;line-height:1.4}.audit-detail-loading,.audit-detail-empty{color:var(--text-secondary);padding:8px 0;font-size:13px}.audit-detail-section{flex-direction:column;display:flex}.audit-detail-section-title{color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.08em;border-bottom:1px solid var(--border);margin-bottom:8px;padding-bottom:6px;font-family:AlibabaSans-Medium,sans-serif;font-size:11px}.audit-detail-note{color:var(--text-primary);padding:4px 0;font-size:13px;line-height:1.5}.audit-detail-rolled-back-by{color:var(--text-primary);flex-direction:column;gap:4px;font-size:13px;display:flex}.audit-detail-rolled-back-date{color:var(--text-secondary);font-size:12px}.audit-diff-log{border-bottom:1px solid var(--border);padding:8px 0}.audit-diff-log:last-child{border-bottom:none}.audit-diff-header{align-items:center;gap:8px;margin-bottom:6px;display:flex}.audit-diff-entity{color:var(--text-primary);font-family:AlibabaSans-Medium,sans-serif;font-size:12px}.audit-diff-action{text-transform:uppercase;letter-spacing:.06em;border-radius:3px;padding:1px 6px;font-family:AlibabaSans-Medium,sans-serif;font-size:10px}.audit-diff-action--create{color:#2e7d32;background:#e8f5e9}.audit-diff-action--update{color:#1a4028;background:#d8f3dc}.audit-diff-action--delete{color:#c62828;background:#ffebee}.audit-diff-fields{flex-direction:column;gap:3px;display:flex}.audit-diff-field{justify-content:space-between;align-items:baseline;gap:12px;padding:3px 0;font-size:12px;display:flex}.audit-diff-label{color:var(--text-tertiary);flex-shrink:0;font-family:AlibabaSans-Medium,sans-serif}.audit-diff-value{color:var(--text-primary);text-align:right;word-break:break-word}.audit-diff-removed{color:var(--danger,#c62828);margin-left:4px;font-size:11px}.audit-diff-children-toggle{color:var(--text-secondary);background:var(--surface-secondary,#f5f5f5);border:1px solid var(--border);cursor:pointer;border-radius:4px;align-items:center;gap:4px;margin-top:6px;padding:3px 8px;font-family:AlibabaSans-Medium,sans-serif;font-size:11px;transition:background .15s,color .15s;display:inline-flex}.audit-diff-children-toggle:hover{background:var(--surface-hover,#ebebeb);color:var(--text-primary)}.audit-diff-children{border-left:2px solid var(--border);margin-top:4px;padding:6px 0 0 12px}.dashboard-container{flex-direction:column;gap:20px;padding:24px;display:flex}.dashboard-content{flex-flow:wrap;align-items:flex-start;gap:20px;display:flex}.dashboard-content>.card{flex:1;min-width:0}.payroll-periods-card,.employee-card{height:700px}.employee-table-container,.payroll-period-table-container{min-height:440px!important;max-height:440px!important}.form{flex-direction:column;gap:20px;display:flex}.form-section{flex-direction:column;gap:16px;display:flex}.form-section h3{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;margin:0 0 4px;font-size:13px;font-weight:600}.form-field{flex-direction:column;gap:6px;display:flex}.form-field label{color:var(--text-secondary);font-size:13px;font-weight:500}.form-field .required{color:var(--danger);margin-left:2px}.form-field input,.form-field select,.form-field textarea{border:1px solid var(--border);height:36px;color:var(--text-primary);background-color:#fff;border-radius:6px;outline:none;padding:0 10px;font-family:inherit;font-size:13px;transition:border-color .15s}.form-field textarea{resize:vertical;height:auto;min-height:80px;padding:8px 10px}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{border-color:var(--primary)}.form-field--readonly input,.form-field--readonly select,.form-field--readonly textarea{color:var(--text-secondary);cursor:default;pointer-events:none;background-color:#f5f5f5}.field-lock-icon{color:var(--text-secondary);vertical-align:middle;margin-left:4px;font-size:11px}.form-field.has-error input,.form-field.has-error select,.form-field.has-error textarea{border-color:var(--danger)}.form-field .error-message{color:var(--danger);font-size:12px}.form-field .help-text{color:var(--text-secondary);font-size:12px}.form-combobox{border:1px solid var(--border);width:100%;height:36px;color:var(--text-primary);cursor:pointer;text-align:left;background-color:#fff;border-radius:6px;justify-content:space-between;align-items:center;padding:0 10px;font-family:inherit;font-size:13px;transition:border-color .15s;display:flex}.form-combobox:focus{border-color:var(--primary);outline:none}.form-combobox:disabled{color:var(--text-secondary);cursor:default;background-color:#f5f5f5}.form-combobox.is-placeholder .form-combobox__label{color:var(--text-secondary)}.form-combobox__label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.form-combobox__chevron{color:var(--text-secondary);flex-shrink:0;margin-left:8px;font-size:14px}.form-field.has-error .form-combobox{border-color:var(--danger)}.form-combobox__panel{z-index:1000;border:1px solid var(--border);background-color:#fff;border-radius:6px;min-width:180px;padding:4px;font-family:AlibabaSans-Regular,sans-serif;box-shadow:0 8px 24px #0000001f}.form-combobox__list{margin:0;padding:0;list-style:none}.form-combobox__option{color:var(--text-primary);cursor:pointer;white-space:nowrap;text-overflow:ellipsis;border-radius:4px;padding:6px 10px;font-size:13px;overflow:hidden}.form-combobox__option.is-active{background-color:var(--secondary)}.form-combobox__option.is-selected{font-weight:500}.form-combobox__option--add{color:var(--primary)}.form-combobox__separator{background-color:var(--border);pointer-events:none;height:1px;margin:4px 0;list-style:none}.form-combobox__empty{color:var(--text-secondary);text-align:center;padding:8px 10px;font-size:13px}.form-multiselect{border:1px solid var(--border);background-color:#fff;border-radius:6px;flex-direction:column;gap:4px;max-height:180px;padding:6px 8px;display:flex;overflow-y:auto}.form-multiselect__option{color:var(--text-primary);cursor:pointer;align-items:center;gap:8px;padding:4px 2px;font-size:13px;display:flex}.form-multiselect__option input[type=checkbox]{cursor:pointer;width:auto;height:auto;margin:0}.form-multiselect__empty{color:var(--text-secondary);padding:4px 2px;font-size:12px}.form-field.has-error .form-multiselect{border-color:var(--danger)}.form-field .password-field{display:block;position:relative}.form-field .password-field input{width:100%;padding-right:36px}.form-field .password-toggle{width:26px;height:26px;color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:0;transition:background-color .15s,color .15s;display:flex;position:absolute;top:50%;right:6px;transform:translateY(-50%)}.form-field .password-toggle:hover{color:var(--text-primary);background-color:#f0f0f0}.form-field .password-toggle i{font-size:16px;line-height:1}.form.form-tabs{gap:0}.tab-navigation{border-bottom:2px solid var(--border);scrollbar-width:none;gap:0;display:flex;overflow-x:auto}.tab-navigation::-webkit-scrollbar{display:none}.tab-btn{color:var(--text-secondary);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;flex-shrink:0;margin-bottom:-2px;padding:10px 16px;font-size:13px;font-weight:500;transition:color .15s,border-color .15s}.tab-btn:hover{color:var(--primary)}.tab-btn.active{color:var(--primary);border-bottom-color:var(--primary);font-weight:600}.tab-btn__error-dot{vertical-align:2px;background-color:var(--danger);border-radius:50%;width:6px;height:6px;margin-left:6px;display:inline-block}.tab-contents{min-height:480px;padding-top:20px}.tab-content{display:none}.tab-content.active{display:block}.form-actions{justify-content:flex-end;align-items:center;gap:8px;display:flex}.form-actions .btn{cursor:pointer;border:none;border-radius:6px;height:34px;padding:0 16px;font-family:inherit;font-size:13px;font-weight:500;transition:background-color .15s,opacity .15s}.form-actions .btn-primary{background-color:var(--primary);color:#fff}.form-actions .btn-primary:hover:not(:disabled){filter:brightness(.9)}.form-actions .btn-primary:disabled{opacity:.4;cursor:not-allowed}.form-actions .btn-secondary{color:var(--text-secondary);border:1px solid var(--border);background-color:#0000}.form-actions .btn-secondary:hover:not(:disabled){background-color:var(--secondary)}.form-actions .btn-danger{color:var(--danger);border:1px solid var(--danger);background-color:#0000}.form-actions .btn-danger:hover:not(:disabled){background-color:var(--danger);color:#fff}.form-loader{color:var(--text-secondary);align-items:center;gap:8px;margin-right:auto;font-size:12px;display:inline-flex}.form-banner{border:1px solid #0000;border-radius:6px;align-items:flex-start;gap:10px;padding:10px 12px;font-size:13px;line-height:1.5;display:flex}.form-banner ul{margin:0;padding-left:18px}.form-banner__trace{opacity:.7;margin-top:4px;font-size:11px}.form-banner--danger{color:#c62828;background-color:#ffebee;border-color:#ffcdd2}.form-banner--warning{color:#b26a00;background-color:#fff4e1;border-color:#ffe0b2}.form-banner--info{color:#1565c0;background-color:#e3f2fd;border-color:#bbdefb}.form-banner--success{color:#2e7d32;background-color:#e8f5e9;border-color:#c8e6c9}.employees-page-container{flex-direction:column;min-height:calc(100vh - 64px);padding:24px;display:flex}.employees-page-container .employee-card{flex:1;min-height:0}.btn-hire-employee{height:30px;color:var(--primary);border:1px solid var(--border);cursor:pointer;background:0 0;border-radius:6px;align-items:center;gap:6px;padding:0 12px;font-family:AlibabaSans-Medium,sans-serif;font-size:12px;line-height:1;transition:background-color .15s,border-color .15s;display:inline-flex}.btn-hire-employee:hover:not(:disabled){background:var(--secondary);border-color:var(--primary)}.btn-hire-employee:disabled{opacity:.5;cursor:not-allowed}.btn-hire-employee i{font-size:14px;line-height:1}.hire-employee-modal .modal-body{height:580px;overflow-y:auto}.detail-section{flex-direction:column;display:flex}.detail-section-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;padding-bottom:6px;display:flex}.detail-section-title{color:var(--text-primary);text-transform:uppercase;letter-spacing:.08em;font-family:AlibabaSans-Medium,sans-serif;font-size:14px;font-weight:600}.detail-section-actions{align-items:center;gap:8px;display:flex}.detail-section-list{flex-direction:column;margin:0;padding:0;display:flex}.detail-section-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:baseline;gap:16px;padding:7px 0;font-size:13px;display:flex}.detail-section-row:last-child{border-bottom:none}.detail-section-label{color:var(--text-secondary);flex-shrink:0;margin:0}.detail-section-value{color:var(--text-primary);text-align:right;word-break:break-word;margin:0;font-family:AlibabaSans-Medium,sans-serif}.base-timeline{flex-direction:column;gap:20px;display:flex}.base-timeline-empty{color:var(--text-tertiary);text-align:center;padding:12px 0;font-size:13px}.base-timeline-item{flex-direction:column;gap:8px;display:flex}.base-timeline-item-label{color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.08em;font-family:AlibabaSans-Medium,sans-serif;font-size:11px}.base-timeline-entries{border-left:2px solid var(--border);flex-direction:column;display:flex}.base-timeline-entry{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:6px 0 6px 12px;font-size:13px;display:flex;position:relative}.base-timeline-entry:last-child{border-bottom:none}.base-timeline-entry--current{border-left:2px solid var(--primary);margin-left:-2px}.base-timeline-entry-value{color:var(--text-primary);font-family:AlibabaSans-Medium,sans-serif}.base-timeline-entry-range{color:var(--text-tertiary);white-space:nowrap;flex-shrink:0;align-items:center;gap:6px;font-size:12px;display:flex}.base-timeline-badge{background-color:var(--success-light,#e8f5e9);color:var(--success,#2e7d32);text-transform:uppercase;letter-spacing:.06em;border-radius:4px;align-items:center;gap:5px;padding:2px 8px;font-family:AlibabaSans-Medium,sans-serif;font-size:10px;display:inline-flex}.base-timeline-badge:before{content:"";background-color:currentColor;border-radius:50%;flex-shrink:0;width:5px;height:5px}.base-timeline-actions{opacity:0;flex-shrink:0;gap:3px;margin-left:8px;transition:opacity .15s;display:flex}.base-timeline-entry:hover .base-timeline-actions{opacity:1}.base-timeline-btn{cursor:pointer;width:26px;height:26px;color:var(--text-tertiary);background:0 0;border:none;border-radius:5px;justify-content:center;align-items:center;padding:0;font-size:14px;transition:background .15s,color .15s;display:inline-flex}.base-timeline-btn--edit:hover{color:var(--primary);background:#d8f3dc}.base-timeline-btn--delete:hover{color:var(--danger);background:#ffebee}.base-timeline-add-row{border:1.5px dashed var(--border);cursor:pointer;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.05em;-webkit-user-select:none;user-select:none;background:0 0;border-radius:5px;justify-content:center;align-items:center;gap:6px;margin:6px 0 2px;padding:6px 12px;font-family:AlibabaSans-Medium,sans-serif;font-size:12px;transition:border-color .15s,color .15s,background .15s;display:flex}.base-timeline-add-row:hover{border-color:var(--primary);color:var(--primary);background:#f0f9f4}.base-timeline-add-icon{font-size:15px;line-height:1}.snapshot-list{flex-direction:column;display:flex}.snapshot-list-empty{color:var(--text-tertiary);text-align:center;padding:12px 0;font-size:13px}.snapshot-record{border-left:2px solid var(--border);border-bottom:1px solid var(--border);padding:10px 12px 10px 14px;transition:background .15s;position:relative}.snapshot-record:last-of-type{border-bottom:none}.snapshot-record:hover{background:var(--secondary)}.snapshot-record--current{border-left:2px solid var(--primary)}.snapshot-record-header{align-items:center;gap:8px;margin-bottom:8px;display:flex}.snapshot-record-date{text-transform:uppercase;letter-spacing:.08em;color:var(--text-tertiary);flex:1;font-family:AlibabaSans-Medium,sans-serif;font-size:11px}.snapshot-record--current .snapshot-record-date{color:var(--primary)}.snapshot-record-badge{color:var(--primary);text-transform:uppercase;letter-spacing:.06em;background-color:#d8f3dc;border-radius:4px;flex-shrink:0;align-items:center;gap:4px;padding:2px 7px;font-family:AlibabaSans-Medium,sans-serif;font-size:10px;display:inline-flex}.snapshot-record-badge:before{content:"";background-color:currentColor;border-radius:50%;flex-shrink:0;width:5px;height:5px}.snapshot-record-actions{opacity:0;flex-shrink:0;gap:3px;transition:opacity .15s;display:flex}.snapshot-record:hover .snapshot-record-actions{opacity:1}.snapshot-btn{cursor:pointer;width:26px;height:26px;color:var(--text-tertiary);background:0 0;border:none;border-radius:5px;justify-content:center;align-items:center;padding:0;font-size:14px;transition:background .15s,color .15s;display:inline-flex}.snapshot-btn--edit:hover{color:var(--primary);background:#d8f3dc}.snapshot-btn--delete:hover{color:var(--danger);background:#ffebee}.snapshot-record-fields{flex-direction:column;gap:4px;display:flex}.snapshot-field{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.snapshot-field-label{color:var(--text-tertiary);flex-shrink:0;font-size:12px}.snapshot-field-value{color:var(--text-primary);text-align:right;font-family:AlibabaSans-Medium,sans-serif;font-size:13px}.snapshot-add-row{border:1.5px dashed var(--border);cursor:pointer;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.05em;-webkit-user-select:none;user-select:none;background:0 0;border-radius:6px;justify-content:center;align-items:center;gap:6px;margin-top:10px;padding:8px 14px;font-family:AlibabaSans-Medium,sans-serif;font-size:12px;transition:border-color .15s,color .15s,background .15s;display:flex}.snapshot-add-row:hover{border-color:var(--primary);color:var(--primary);background:#f0f9f4}.snapshot-add-icon{font-size:16px;line-height:1}.resign-warning{color:#c62828;background-color:#ffebee;border:1px solid #ffcdd2;border-radius:6px;align-items:flex-start;gap:10px;padding:12px 14px;font-size:13px;line-height:1.5;display:flex}.resign-warning i{flex-shrink:0;margin-top:1px;font-size:18px}.resign-loan-list{flex-direction:column;gap:10px;display:flex}.resign-loan-card{border:1px solid var(--border,#e5e5e5);background:#fafbfc;border-radius:6px;flex-direction:column;gap:10px;padding:12px 14px;display:flex}.resign-loan-card-head{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.resign-loan-card-title{color:var(--text-primary,#1a1a1a);font-family:AlibabaSans-Medium,sans-serif;font-size:13px}.resign-loan-card-period{color:var(--text-tertiary,#8a8a8a);letter-spacing:.02em;white-space:nowrap;font-size:11px}.resign-loan-kv{flex-direction:column;margin:0;display:flex}.resign-loan-kv-row{border-bottom:1px dashed var(--border,#e5e5e5);justify-content:space-between;align-items:baseline;gap:16px;padding:6px 0;font-size:12.5px;display:flex}.resign-loan-kv-row:last-child{border-bottom:none}.resign-loan-kv-row dt{color:var(--text-secondary,#666);margin:0}.resign-loan-kv-row dd{color:var(--text-primary,#1a1a1a);font-variant-numeric:tabular-nums;margin:0;font-family:AlibabaSans-Medium,sans-serif}.resign-loan-card-action{flex-direction:column;gap:4px;display:flex}.resign-loan-card-action label{color:var(--text-tertiary,#8a8a8a);text-transform:uppercase;letter-spacing:.06em;font-size:11px}.employee-detail-container{flex-direction:column;gap:24px;padding:24px;display:flex}.employee-detail-header .card-body{align-items:center;gap:20px;padding:24px;display:flex}.employee-avatar{background-color:var(--primary);color:#fff;text-transform:uppercase;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:64px;height:64px;font-family:AlibabaSans-Bold,sans-serif;font-size:26px;display:flex}.employee-header-info{flex-direction:column;gap:4px;display:flex}.employee-header-info h2{color:var(--text-primary);margin:0;font-family:AlibabaSans-Bold,sans-serif;font-size:20px}.employee-no{color:var(--text-secondary);font-size:13px}.employee-detail-row{align-items:stretch;gap:24px;display:flex}.employee-detail-row>.card{flex:1 1 0;min-width:0}.employee-detail-row>.card>.card-body{flex:auto}.employment-period-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:18px 24px;display:flex}.employment-period-header-info{flex-direction:column;gap:3px;display:flex}.employment-period-title{color:var(--text-primary);font-family:AlibabaSans-Bold,sans-serif;font-size:14px}.employment-period-dates{color:var(--text-secondary);font-size:12px}.employment-period-badge{text-transform:uppercase;letter-spacing:.06em;border-radius:20px;padding:4px 12px;font-family:AlibabaSans-Medium,sans-serif;font-size:11px}.employment-period-badge--active{color:#2e7d32;background-color:#e8f5e9}.employment-period-badge--resigned{color:#e65100;background-color:#fff3e0}.employment-period-badge--transferred{color:#1a4028;background-color:#d8f3dc}.employment-period-header-actions{align-items:center;gap:10px;display:flex}.employment-period-header-actions .btn-danger{height:28px;color:var(--danger);border:1px solid var(--danger);text-transform:uppercase;letter-spacing:.06em;cursor:pointer;background-color:#0000;border-radius:20px;padding:0 12px;font-family:AlibabaSans-Medium,sans-serif;font-size:11px;transition:background-color .15s,color .15s}.employment-period-header-actions .btn-danger:hover:not(:disabled){background-color:var(--danger);color:#fff}.employment-period-header-actions .btn-danger:disabled{opacity:.5;cursor:not-allowed}.employment-period-subcards{grid-template-columns:1fr 1fr;align-items:start;gap:16px;padding:20px 24px;display:grid}.employment-period-subcard--row-span{grid-row:span 2}.employment-period-subcard--col-span{grid-column:span 2}.employment-period-subcard{border:1px solid var(--border);background:var(--secondary);border-radius:8px;overflow:hidden}.employment-period-subcard-header{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.06em;border-bottom:1px solid var(--border);background:#fff;justify-content:space-between;align-items:center;padding:10px 16px;font-family:AlibabaSans-Medium,sans-serif;font-size:11px;display:flex}.employment-period-subcard-header .btn-primary{background-color:var(--primary);color:#fff;text-transform:none;letter-spacing:normal;cursor:pointer;white-space:nowrap;border:none;border-radius:7px;align-items:center;gap:6px;height:34px;padding:0 14px;font-family:AlibabaSans-Medium,sans-serif;font-size:12px;transition:filter .15s;display:inline-flex}.employment-period-subcard-header .btn-primary:hover{filter:brightness(.9)}.employment-period-subcard-header .btn-primary:focus-visible{outline:2px solid var(--primary-light);outline-offset:2px}.employment-period-subcard-header .btn-primary i{font-size:14px;line-height:1}.employment-period-subcard-body{padding:16px}.employment-period-subcard-body--flush{padding:0}.employment-period-subcard-placeholder{color:var(--text-tertiary);text-align:center;margin:0;padding:8px 0;font-size:12px}.payroll-history-table .col-expand,.payroll-history-table th.col-expand{width:32px;min-width:32px;max-width:32px}.payroll-history-table .expand-chevron{color:var(--text-secondary);transition:transform .15s;display:inline-block}.payroll-history-table tbody tr.is-expanded .expand-chevron{transform:rotate(90deg)}.payroll-history-chip{background:var(--surface-subtle,#f1f3f5);color:var(--text-secondary,#495057);letter-spacing:.02em;text-transform:uppercase;white-space:nowrap;border-radius:999px;padding:2px 8px;font-size:11px;font-weight:500;display:inline-block}.loan-panel{flex-direction:column;gap:20px;padding:4px 0;display:flex}.loan-summary-cards{grid-template-columns:repeat(4,1fr);gap:12px;display:grid}@media (width<=900px){.loan-summary-cards{grid-template-columns:repeat(2,1fr)}}.loan-summary-card{border:1px solid var(--border);background:#fff;border-radius:8px;flex-direction:column;gap:4px;padding:14px 16px;display:flex}.loan-summary-card__label{color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.05em;font-family:AlibabaSans-Medium,sans-serif;font-size:11px}.loan-summary-card__value{color:var(--text-primary);font-family:AlibabaSans-Bold,sans-serif;font-size:16px}.loan-summary-card--balance .loan-summary-card__value{color:#e65100}.loan-summary-card--deduction .loan-summary-card__value{color:var(--primary)}.loan-summary-card--paid .loan-summary-card__value{color:#2e7d32}.loan-panel__detail{flex-direction:column;gap:24px;display:flex}.loan-panel__section{flex-direction:column;gap:8px;display:flex}.loan-panel__label{color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.08em;border-bottom:1px solid var(--border);margin:0;padding-bottom:6px;font-family:AlibabaSans-Medium,sans-serif;font-size:11px}.loan-panel__actions{gap:8px;display:flex}.loan-panel__actions .btn-primary{background-color:var(--primary);color:#fff;cursor:pointer;border:none;border-radius:6px;align-items:center;height:28px;padding:0 14px;font-family:AlibabaSans-Medium,sans-serif;font-size:12px;transition:filter .15s;display:inline-flex}.loan-panel__actions .btn-primary:hover{filter:brightness(.9)}.loan-status-badge{text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;border-radius:20px;align-items:center;gap:4px;padding:3px 10px;font-family:AlibabaSans-Medium,sans-serif;font-size:11px;display:inline-flex}.loan-status-badge i{font-size:12px}.loan-status-badge--paid{color:#2e7d32;background-color:#e8f5e9}.loan-status-badge--active{color:#1a4028;background-color:#d8f3dc}.payroll-periods-page-container{flex-direction:column;min-height:calc(100vh - 64px);padding:24px;display:flex}.payroll-periods-page-container .payroll-periods-card{flex:1;min-height:0}.btn-new-period{height:30px;color:var(--primary);border:1px solid var(--border);cursor:pointer;background:0 0;border-radius:6px;align-items:center;gap:6px;padding:0 12px;font-family:AlibabaSans-Medium,sans-serif;font-size:12px;line-height:1;transition:background-color .15s,border-color .15s;display:inline-flex}.btn-new-period:hover{background:var(--secondary);border-color:var(--primary)}.btn-new-period i{font-size:14px;line-height:1}.payroll-period-page-container{flex-direction:column;gap:20px;min-height:calc(100vh - 64px);padding:24px;display:flex}.payroll-period-page-header{justify-content:space-between;align-items:flex-start;gap:24px;display:flex}.payroll-period-header-titles{flex-direction:column;gap:6px;min-width:0;display:flex}.payroll-period-back-link{color:var(--text-secondary);letter-spacing:.02em;align-items:center;gap:2px;width:fit-content;font-family:AlibabaSans-Medium,sans-serif;font-size:12px;text-decoration:none;transition:color .15s;display:inline-flex}.payroll-period-back-link:hover{color:var(--primary)}.payroll-period-back-link i{font-size:16px;line-height:1}.payroll-period-page-header h1{color:var(--text-primary);margin:0;font-size:1.5rem;font-weight:600;line-height:1.2}.payroll-period-header-meta{color:var(--text-secondary);align-items:center;gap:8px;font-size:13px;display:flex}.payroll-period-meta-dot{opacity:.5}.btn-new-run{height:30px;color:var(--primary);border:1px solid var(--border);cursor:pointer;background:0 0;border-radius:6px;align-items:center;gap:6px;padding:0 12px;font-family:AlibabaSans-Medium,sans-serif;font-size:12px;line-height:1;transition:background-color .15s,border-color .15s;display:inline-flex}.btn-new-run:hover{background:var(--secondary);border-color:var(--primary)}.btn-new-run i{font-size:14px;line-height:1}.payroll-runs-card__state{color:var(--text-secondary);text-align:center;padding:20px 24px;font-size:13px}.payroll-run-list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.payroll-run-list>li+li{border-top:1px solid var(--border)}.payroll-run-card{color:inherit;grid-template-columns:1fr auto 24px;grid-template-areas:"primary primary chevron""meta meta chevron";align-items:center;gap:6px 16px;padding:16px 20px;text-decoration:none;transition:background-color .15s;display:grid}.payroll-run-card:hover{background:var(--secondary)}.payroll-run-card__primary{flex-wrap:wrap;grid-area:primary;align-items:center;gap:12px;display:flex}.payroll-run-card__type{align-items:baseline;gap:8px;min-width:0;display:flex}.payroll-run-card__code{color:var(--text-primary);letter-spacing:.02em;font-family:AlibabaSans-Medium,sans-serif;font-size:14px}.payroll-run-card__name{color:var(--text-secondary);font-size:12px}.payroll-run-card__meta{color:var(--text-secondary);flex-wrap:wrap;grid-area:meta;align-items:center;gap:12px;font-size:12px;display:flex}.payroll-run-card__meta-item{align-items:center;gap:4px;display:inline-flex}.payroll-run-card__meta-item i{font-size:14px;line-height:1}.payroll-run-card__chevron{color:var(--text-secondary);opacity:0;grid-area:chevron;font-size:20px;line-height:1;transition:opacity .15s,transform .15s}.payroll-run-card:hover .payroll-run-card__chevron{opacity:1;transform:translate(2px)}.status-pill{letter-spacing:.05em;text-transform:uppercase;color:var(--text-secondary);background:#f1f3f5;border-radius:20px;align-items:center;gap:6px;padding:4px 10px;font-family:AlibabaSans-Medium,sans-serif;font-size:11px;display:inline-flex}.status-pill__dot{background:currentColor;border-radius:50%;width:6px;height:6px}.status-pill--draft{color:#1a4028;background:#d8f3dc}.status-pill--processed{color:#e65100;background:#fff3e0}.status-pill--locked{color:#2e7d32;background:#e8f5e9}.status-pill--voided{color:#868e96;background:#f1f3f5}.revision-chip{letter-spacing:.02em;border-radius:12px;align-items:center;gap:4px;padding:2px 8px;font-family:AlibabaSans-Medium,sans-serif;font-size:11px;display:inline-flex}.revision-chip--original{color:var(--text-secondary);background:#f1f3f5}.revision-chip--replacement{color:#a04000;background:#fff4e5;border:1px solid #ffd4a3}.side-panel-backdrop{z-index:1000;opacity:0;visibility:hidden;background-color:#00000040;transition:opacity .1s,visibility .1s;position:fixed;inset:0}.side-panel-backdrop.is-open{opacity:1;visibility:visible}.side-panel{z-index:1001;background-color:#fff;flex-direction:column;width:420px;max-width:100%;height:100%;transition:transform .1s;display:flex;position:fixed;top:0;right:0;transform:translate(100%);box-shadow:-4px 0 24px #0000001f}.side-panel.is-open{transform:translate(0)}.side-panel-header{border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.side-panel-title{color:var(--text-primary);font-size:1.05rem;font-weight:600}.side-panel-close-btn{cursor:pointer;color:var(--text-secondary);background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;padding:0;font-size:1.4rem;line-height:1;transition:background-color .15s,color .15s;display:flex}.side-panel-close-btn:hover{background-color:var(--secondary);color:var(--text-primary)}.side-panel-body{flex:auto;min-height:0;padding:20px;position:relative;overflow-y:auto}.side-panel-footer{border-top:1px solid var(--border);background-color:#fafbfc;flex-shrink:0;justify-content:flex-end;gap:8px;padding:14px 20px;display:flex}.side-panel-footer:empty{display:none}.side-panel.side-panel--update .side-panel-header{border-left:3px solid #40916c}.side-panel.side-panel--override .side-panel-header{border-left:3px solid #f59e0b}.side-panel.side-panel--loan-payment .side-panel-header{border-left:3px solid var(--primary)}.side-panel-unavailable{color:#b26a00;background-color:#fff4e1;border:1px solid #ffe0b2;border-radius:6px;align-items:flex-start;gap:10px;padding:14px 16px;font-size:13px;line-height:1.5;display:flex}.side-panel-unavailable__icon{flex-shrink:0;font-size:18px;line-height:1}.side-panel-loader__overlay{-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px);z-index:5;background-color:#ffffffbf;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.side-panel-loader{color:var(--text-secondary);align-items:center;gap:10px;font-size:13px;display:inline-flex}.side-panel-loader__spinner{border:2px solid var(--border);border-top-color:var(--primary);border-radius:50%;width:18px;height:18px;animation:.7s linear infinite side-panel-loader-spin}@keyframes side-panel-loader-spin{to{transform:rotate(360deg)}}.payroll-run-page-container{flex-direction:column;gap:20px;padding:24px;display:flex}.payroll-run-header-card .card-body{flex-direction:column;gap:16px;display:flex}.payroll-run-nav{flex-direction:column;gap:12px;display:flex}.payroll-run-breadcrumb{color:var(--text-secondary);letter-spacing:.02em;flex-wrap:wrap;align-items:center;gap:6px;margin:0;padding:0;font-family:AlibabaSans-Medium,sans-serif;font-size:12px;list-style:none;display:flex}.payroll-run-breadcrumb a{color:var(--text-secondary);text-decoration:none;transition:color .15s}.payroll-run-breadcrumb a:hover{color:var(--primary)}.payroll-run-breadcrumb__separator{opacity:.5}.payroll-run-breadcrumb__current{color:var(--text-primary)}.payroll-run-tabs{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:4px;display:flex}.payroll-run-tab{color:var(--text-secondary);cursor:pointer;border:1px solid #0000;border-bottom:none;border-top-left-radius:6px;border-top-right-radius:6px;align-items:center;gap:6px;margin-bottom:-1px;padding:8px 14px;font-family:AlibabaSans-Medium,sans-serif;font-size:14px;text-decoration:none;transition:background-color .15s,color .15s,border-color .15s;display:inline-flex}.payroll-run-tab:hover{color:var(--primary);background:var(--secondary)}.payroll-run-tab--active{color:var(--text-primary);background:var(--surface,#fff);border-color:var(--border);border-bottom-color:var(--surface,#fff)}.payroll-run-tab__revision{letter-spacing:.02em;color:#a04000;background:#fff4e5;border-radius:10px;align-items:center;padding:1px 6px;font-size:10px;display:inline-flex}.run-context-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.run-context-bar__info{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.run-context-bar__meta{color:var(--text-secondary);font-size:12px}.run-context-bar__meta strong{color:var(--text-primary);margin-right:4px;font-family:AlibabaSans-Medium,sans-serif;font-weight:500}.run-context-bar__actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.run-context-bar__status{letter-spacing:.05em;text-transform:uppercase;border-radius:20px;align-items:center;gap:5px;padding:4px 10px;font-family:AlibabaSans-Medium,sans-serif;font-size:11px;display:inline-flex}.run-status--draft{color:#1a4028;background:#d8f3dc}.run-status--processed{color:#e65100;background:#fff3e0}.run-status--locked{color:#2e7d32;background:#e8f5e9}.run-context-bar__pending{color:#e65100;background:#fff8e1;border:1px solid #ffe082;border-radius:20px;align-items:center;gap:5px;padding:4px 10px;font-size:11px;display:inline-flex}.run-calc-banner{border-radius:8px;flex-direction:column;gap:6px;padding:10px 14px;font-size:12px;display:flex}.run-calc-banner--running{color:#0b3a7a;background:#f0f7ff;border:1px solid #cfe3ff}.run-calc-banner--failed{color:#8a1b1b;background:#fff5f5;border:1px solid #ffd3d3;flex-direction:row;align-items:center;gap:8px}.run-calc-banner__header{justify-content:space-between;align-items:center;gap:8px;display:flex}.run-calc-banner__title{align-items:center;gap:6px;font-family:AlibabaSans-Medium,sans-serif;display:inline-flex}.run-calc-banner__spinner{animation:1s linear infinite run-calc-banner__spin;display:inline-block}@keyframes run-calc-banner__spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.run-calc-banner__count{font-variant-numeric:tabular-nums;color:var(--text-secondary)}.run-calc-banner__track{background:#e4ecf7;border-radius:999px;width:100%;height:6px;overflow:hidden}.run-calc-banner__fill{background:var(--primary);height:100%;transition:width .3s}.payroll-run-placeholder{color:var(--text-secondary);text-align:center;border:1px dashed var(--border);border-radius:var(--radius-md);background:#fafafa;padding:16px 20px;font-size:12px}.payroll-run-actions{align-items:center;gap:8px;display:flex}.run-actions__btn{cursor:pointer;border-radius:8px;align-items:center;gap:6px;height:36px;padding:0 14px;font-family:AlibabaSans-Regular,sans-serif;font-size:13px;transition:filter .15s,background .15s,border-color .15s;display:inline-flex}.run-actions__btn.btn-primary{background:var(--primary);color:#fff;border:none}.run-actions__btn.btn-primary:hover{filter:brightness(.9)}.run-actions__btn.btn-outlined{color:var(--text-primary);border:1px solid var(--border);background:#fff}.run-actions__btn.btn-outlined:hover{border-color:var(--primary-light);background:var(--secondary)}.run-actions__btn:disabled{opacity:.4;cursor:not-allowed;pointer-events:none}.more-actions{position:relative}.more-actions__toggle{border:1px solid var(--border);width:36px;height:36px;color:var(--text-primary);cursor:pointer;background:#fff;border-radius:8px;justify-content:center;align-items:center;transition:border-color .15s,background .15s;display:inline-flex}.more-actions__toggle:hover{border-color:var(--primary-light);background:var(--secondary)}.more-actions__menu{border:1px solid var(--border);background:#fff;border-radius:8px;min-width:180px;padding:4px 0;box-shadow:0 4px 12px #00000014}.more-actions__item{width:100%;color:var(--text-primary);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:8px;padding:8px 14px;font-family:AlibabaSans-Regular,sans-serif;font-size:13px;display:flex}.more-actions__item:hover{background:var(--secondary)}.more-actions__item--danger{color:var(--danger)}.more-actions__item--danger:hover{background:#fff5f5}.more-actions__item--warning{color:var(--warning)}.more-actions__item--warning:hover{background:#fff8e1}.more-actions__toggle:disabled,.more-actions__item:disabled{opacity:.4;cursor:not-allowed;pointer-events:none}.export-dropdown{position:relative}.export-dropdown__toggle{border:1px solid var(--border);height:36px;color:var(--text-primary);cursor:pointer;background:#fff;border-radius:8px;align-items:center;gap:6px;padding:0 12px;font-family:AlibabaSans-Regular,sans-serif;font-size:13px;transition:border-color .15s,background .15s;display:inline-flex}.export-dropdown__toggle:hover{border-color:var(--primary-light);background:var(--secondary)}.export-dropdown__menu{border:1px solid var(--border);background:#fff;border-radius:8px;min-width:160px;padding:4px 0;box-shadow:0 4px 12px #00000014}.export-dropdown__item{width:100%;color:var(--text-primary);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:8px;padding:8px 14px;font-family:AlibabaSans-Regular,sans-serif;font-size:13px;display:flex}.export-dropdown__item:hover{background:var(--secondary)}.ept-col-type--variable{--ept-type-color:#3b82f6}.ept-col-type--calc{--ept-type-color:#8b5cf6}.ept-col-type--rate{--ept-type-color:#14b8a6}.ept-col-type--loan{--ept-type-color:#f59e0b}.universal-table th.ept-col-type--variable,.universal-table th.ept-col-type--calc,.universal-table th.ept-col-type--rate,.universal-table th.ept-col-type--loan{position:sticky}.universal-table th.ept-col-type--variable:before,.universal-table th.ept-col-type--calc:before,.universal-table th.ept-col-type--rate:before,.universal-table th.ept-col-type--loan:before{content:"";background:var(--ept-type-color);border-radius:2px;height:3px;position:absolute;top:0;left:8px;right:8px}.ept-legend{flex-wrap:nowrap;justify-content:flex-end;align-items:center;gap:8px;margin-top:16px;padding:0 16px 12px;display:flex;overflow-x:auto}.ept-legend__chip{border:1px solid var(--border);color:var(--text-secondary);letter-spacing:.02em;background:#fff;border-radius:999px;flex-shrink:0;align-items:center;gap:6px;padding:3px 10px;font-family:AlibabaSans-Medium,sans-serif;font-size:11px;display:inline-flex}.ept-footer-label{background:var(--primary);color:#fff;letter-spacing:.08em;text-transform:uppercase;border-radius:999px;align-items:center;gap:6px;padding:2px 10px;font-family:AlibabaSans-Medium,sans-serif;font-size:11px;display:inline-flex}.ept-footer-label__sigma{letter-spacing:0;font-family:AlibabaSans-Bold,sans-serif;font-size:13px;line-height:1}.ept-legend__swatch{background:var(--ept-type-color);border-radius:2px;width:10px;height:10px;display:inline-block}.employee-payroll-page-container{flex-direction:column;gap:20px;padding:24px;display:flex}.ep-header-card .card-body{flex-direction:column;gap:14px;display:flex}.ep-header__back{color:var(--text-secondary);align-self:flex-start;align-items:center;gap:6px;font-family:AlibabaSans-Medium,sans-serif;font-size:12px;text-decoration:none;transition:color .15s;display:inline-flex}.ep-header__back:hover{color:var(--primary)}.ep-header__row{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.ep-header__main{flex-direction:column;gap:6px;min-width:0;display:flex}.ep-header__identity{flex-wrap:wrap;align-items:baseline;gap:10px;display:flex}.ep-header__name{color:var(--text-primary);margin:0;font-family:AlibabaSans-Bold,sans-serif;font-size:20px;line-height:1.2}.ep-header__name a{color:inherit;text-decoration:none;transition:color .15s}.ep-header__name a:hover{color:var(--primary)}.ep-header__employee-no{color:var(--text-secondary);font-family:AlibabaSans-Medium,sans-serif;font-size:13px}.ep-header__profile-link{color:var(--text-tertiary);align-items:center;font-size:15px;text-decoration:none;transition:color .15s;display:inline-flex}.ep-header__profile-link:hover{color:var(--primary)}.ep-header__meta{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.ep-header__period{color:var(--text-secondary);font-size:13px}.ep-header__state{letter-spacing:.05em;text-transform:uppercase;color:var(--text-secondary);background:#f1f3f5;border-radius:20px;align-items:center;gap:5px;padding:4px 10px;font-family:AlibabaSans-Medium,sans-serif;font-size:11px;display:inline-flex}.ep-header__state--fresh{color:#1a4028;background:#d8f3dc}.ep-header__state--dirty{color:#e65100;background:#fff3e0}.ep-header__state--pending{color:#1565c0;background:#e3f2fd}.ep-header__actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.ep-header__calculate{background:var(--primary);color:#fff;cursor:pointer;border:none;border-radius:7px;height:34px;padding:0 16px;font-family:AlibabaSans-Medium,sans-serif;font-size:13px;transition:filter .15s}.ep-header__calculate:hover{filter:brightness(.9)}.ep-header__calculate:focus-visible{outline:2px solid var(--primary-light);outline-offset:2px}.ep-header__resign{height:34px;color:var(--danger);border:1px solid var(--danger);cursor:pointer;background:0 0;border-radius:7px;padding:0 16px;font-family:AlibabaSans-Medium,sans-serif;font-size:13px;transition:background-color .15s,color .15s}.ep-header__resign:hover:not(:disabled){background:var(--danger);color:#fff}.ep-header__resign:focus-visible{outline:2px solid var(--danger);outline-offset:2px}.ep-header__resign:disabled{opacity:.5;cursor:not-allowed}.organization-table-container{height:400px}.organization-table-container .universal-table th:first-child,.organization-table-container .universal-table td:first-child{padding-left:24px}.organization-table-container .universal-table th:last-child,.organization-table-container .universal-table td:last-child{padding-right:24px}.organization-expandable-table-container .universal-table>thead>tr>th:first-child,.organization-expandable-table-container .universal-table>tbody>tr>td:first-child{padding-left:24px}.organization-expandable-table-container .universal-table>thead>tr>th:last-child,.organization-expandable-table-container .universal-table>tbody>tr>td:last-child{padding-right:24px}.service-types-table .col-expand,.service-types-table th.col-expand{width:32px;min-width:32px;max-width:32px}.service-types-table .col-code{min-width:80px;max-width:160px}.service-types-table .col-name{min-width:240px;max-width:none}.service-types-table .expand-chevron{color:var(--text-secondary);transition:transform .15s;display:inline-block}.service-types-table tbody tr.is-expanded .expand-chevron{transform:rotate(90deg)}.service-type-panel-error{color:var(--danger,#b91c1c);padding:12px 16px;font-size:13px}.service-type-expand-description{color:var(--text-secondary);margin:0 0 12px;padding:0 4px;font-family:AlibabaSans-Regular,sans-serif;font-size:13px;line-height:1.5}.profile-page{padding:24px}.profile-layout{grid-template-columns:260px 1fr;align-items:start;gap:24px;display:grid}.profile-identity{text-align:center;align-items:center;gap:10px;padding:36px 24px 28px}.profile-avatar-wrap{margin-bottom:4px}.profile-avatar{object-fit:cover;border-radius:50%;flex-shrink:0;width:88px;height:88px}.profile-avatar--initials{background-color:var(--primary);color:#fff;text-transform:uppercase;letter-spacing:.02em;justify-content:center;align-items:center;font-family:AlibabaSans-Medium,sans-serif;font-size:28px;display:flex}.profile-identity__name{color:var(--text-primary);font-family:AlibabaSans-Bold,sans-serif;font-size:17px;line-height:1.3}.profile-identity__username{color:var(--text-secondary);font-size:13px}.profile-identity__actions{flex-direction:column;gap:10px;width:100%;margin-top:12px;display:flex}.profile-details{flex-direction:column;gap:20px;display:flex}.profile-btn{cursor:pointer;box-sizing:border-box;border:none;border-radius:8px;justify-content:center;align-items:center;gap:8px;width:100%;padding:10px 18px;font-family:AlibabaSans-Medium,sans-serif;font-size:13px;text-decoration:none;transition:background-color .15s;display:inline-flex}.profile-btn:disabled{opacity:.6;cursor:not-allowed}.profile-btn--secondary{color:var(--primary);background-color:#f0f9f4}.profile-btn--secondary:hover:not(:disabled){background-color:#b7e4c7}.profile-btn--danger{color:#ef4444;background-color:#fef2f2}.profile-btn--danger:hover:not(:disabled){background-color:#fee2e2}.login-split{--green-deep:#091f12;--green-mid:#1a4028;--green-brand:#2d6a4f;--green-accent:#40916c;--green-light:#52b788;--off-white:#f9faf8;--gray-200:#e5e7eb;--gray-400:#9ca3af;--gray-500:#6b7280;--gray-900:#111827;--font-display:"AlibabaSans-Bold", sans-serif;--font-body:"AlibabaSans-Regular", sans-serif;min-height:100vh;font-family:var(--font-body);background:var(--off-white);color:var(--gray-900);grid-template-columns:1fr 1fr;display:grid}.brand-panel{background-color:var(--green-deep);justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.brand-panel:before{content:"";pointer-events:none;background-image:linear-gradient(#40916c12 1px,#0000 1px),linear-gradient(90deg,#40916c12 1px,#0000 1px);background-size:36px 36px;position:absolute;inset:0}.brand-panel:after{content:"";pointer-events:none;border-top:1px solid #40916c40;border-left:1px solid #40916c40;width:120px;height:120px;position:absolute;top:0;left:0}.brand-panel__glow{pointer-events:none;background:radial-gradient(circle,#40916c33 0%,#0000 65%);border-radius:50%;width:560px;height:560px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.brand-panel__inner{z-index:1;text-align:center;flex-direction:column;align-items:center;gap:28px;padding:64px 48px;animation:.75s cubic-bezier(.22,1,.36,1) both login-fade-up;display:flex;position:relative}.brand-logo{filter:brightness(1.05)drop-shadow(0 0 40px #52b78859)drop-shadow(0 12px 24px #0006);width:180px;height:auto;transition:filter .3s}.brand-logo:hover{filter:brightness(1.1)drop-shadow(0 0 56px #52b78880)drop-shadow(0 12px 24px #0006)}.brand-tagline{font-family:var(--font-display);color:#ffffffe0;letter-spacing:-.01em;margin:0;font-size:26px;font-weight:500;line-height:1.45}.brand-badge{color:#52b788cc;letter-spacing:.08em;text-transform:uppercase;background:#52b7880f;border:1px solid #52b7884d;border-radius:100px;padding:6px 14px;font-size:11px;font-weight:500;display:inline-block}.form-panel{background:var(--off-white);justify-content:center;align-items:center;padding:48px 40px;display:flex}.login-panel{width:100%;max-width:380px;animation:.75s cubic-bezier(.22,1,.36,1) 80ms both login-fade-up}.login-panel .form-header{margin-bottom:36px}.login-panel .form-heading{font-family:var(--font-display);color:var(--gray-900);letter-spacing:-.025em;margin:0 0 10px;font-size:38px;font-weight:600;line-height:1.1}.login-panel .form-subheading{color:var(--gray-500);margin:0;font-size:14.5px;font-weight:300;line-height:1.5}.login-panel .form-section h3{display:none}.login-panel .form-field{gap:7px}.login-panel .form-field label{color:var(--gray-500);letter-spacing:.07em;text-transform:uppercase;font-size:12px;font-weight:600}.login-panel .form-field .required{display:none}.login-panel .form-field input{border:1.5px solid var(--gray-200);border-radius:var(--radius-sm);height:auto;color:var(--gray-900);appearance:none;background:#fff;padding:13px 15px;font-size:15px;transition:border-color .18s,box-shadow .18s}.login-panel .form-field input::placeholder{color:var(--gray-400)}.login-panel .form-field input:focus{border-color:var(--green-accent);box-shadow:0 0 0 3.5px #40916c1a}.login-panel .form-field.has-error input{border-color:var(--danger)}.login-panel .form-actions{justify-content:stretch;margin-top:4px}.login-panel .form-actions .btn-primary{background:var(--green-brand);color:#fff;border-radius:var(--radius-sm);letter-spacing:.01em;justify-content:center;align-items:center;gap:8px;width:100%;height:auto;padding:14px 24px;font-size:15px;font-weight:600;transition:background-color .18s,box-shadow .18s,transform .1s;display:flex;box-shadow:0 4px 18px #2d6a4f52}.login-panel .form-actions .btn-primary:hover:not(:disabled){background:var(--green-mid);filter:none;transform:translateY(-1px);box-shadow:0 6px 24px #2d6a4f6b}.login-panel .form-actions .btn-primary:active{transform:translateY(0);box-shadow:0 2px 10px #2d6a4f47}.login-panel .form-banner{color:#dc2626;border-radius:var(--radius-sm);background:#fef2f2;border-color:#fecaca;padding:11px 14px;font-size:13.5px}.login-footer{text-align:right;margin:16px 0 0;font-size:13px}.forgot-link{color:var(--green-accent);font-size:13px;font-weight:500;text-decoration:none;transition:color .15s}.forgot-link:hover{color:var(--green-brand)}@keyframes login-fade-up{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@media (width<=800px){.login-split{grid-template-columns:1fr}.brand-panel{min-height:220px}.brand-panel__inner{gap:20px;padding:40px 32px}.brand-logo{width:120px}.brand-tagline{font-size:20px}.form-panel{align-items:flex-start;padding:48px 24px 40px}.login-panel{max-width:100%}.login-panel .form-heading{font-size:30px}}.app-shell{max-width:1440px;min-height:100vh;margin:0 auto;display:flex}.sidebar{width:240px;height:100vh;box-shadow:var(--card-shadow);z-index:10;background-color:#fff;flex-direction:column;align-self:flex-start;display:flex;position:sticky;top:0}.sidebar-header{border-bottom:1px solid var(--border);padding:24px}.logo{color:var(--primary);align-items:center;display:flex}.logo img{width:auto;height:40px}.logo-text{font-size:18px;font-weight:600}.company-selector-form{border-bottom:1px solid var(--border);padding:12px 16px}.company-selector-form select{border:1px solid var(--border);background-color:var(--secondary);width:100%;color:var(--text-primary);cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23546E7A' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;border-radius:6px;padding:8px 28px 8px 10px;font-size:13px}.company-selector-form select:focus{border-color:var(--primary);background-color:#fff;outline:none}.nav-menu{flex:1;padding:16px 0;overflow-y:auto}.nav-item{color:var(--text-secondary);cursor:pointer;border-left:3px solid #0000;align-items:center;gap:12px;padding:12px 24px;text-decoration:none;transition:background-color .15s,color .15s;display:flex}.nav-item:hover{color:var(--primary);background-color:#2d6a4f0d}.nav-item.active{color:var(--primary);border-left-color:var(--primary);background-color:#2d6a4f1a}.nav-item i{font-size:20px}.nav-text{font-size:14px}.main-content{flex:1;min-width:0}.header{height:64px;box-shadow:var(--card-shadow);z-index:5;background-color:#fff;justify-content:space-between;align-items:center;padding:0 32px;display:flex;position:sticky;top:0}.header-title{font-size:18px;font-weight:500}.header-actions{align-items:center;gap:16px;display:flex}.header-icon{width:36px;height:36px;color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;transition:background-color .15s,color .15s;display:flex}.header-icon:hover{background-color:var(--secondary);color:var(--primary)}.user-profile{cursor:pointer;color:inherit;font:inherit;background:0 0;border:none;align-items:center;gap:8px;padding:0;text-decoration:none;display:flex}.user-avatar{background-color:var(--primary);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;font-weight:500;display:flex}.user-name{color:var(--text-primary);font-size:14px}@media (width<=992px){.sidebar{width:64px}.logo-text,.nav-text,.company-selector-form{display:none}}.company-picker{--green-brand:#2d6a4f;--green-accent:#40916c;--green-light:#52b788;--off-white:#f9faf8;--gray-200:#e5e7eb;--gray-400:#9ca3af;--gray-500:#6b7280;--gray-900:#111827;background:var(--off-white);min-height:100vh;color:var(--gray-900);justify-content:center;align-items:center;padding:48px 24px;font-family:AlibabaSans-Regular,sans-serif;display:flex}.company-picker__panel{text-align:center;width:100%;max-width:960px;animation:.6s cubic-bezier(.22,1,.36,1) both company-picker-fade-up}.company-picker__logo{filter:drop-shadow(0 4px 12px #2d6a4f33);width:110px;height:auto;margin:0 auto 24px;display:block}.company-picker__heading{letter-spacing:-.02em;color:var(--gray-900);margin:0 0 10px;font-family:AlibabaSans-Bold,sans-serif;font-size:32px;font-weight:600}.company-picker__subheading{color:var(--gray-500);margin:0 0 36px;font-size:15px;font-weight:300}.company-picker__grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px;margin:0;padding:0;list-style:none;display:grid}.company-picker__card{border:1.5px solid var(--gray-200);cursor:pointer;text-align:left;width:100%;font:inherit;color:inherit;background:#fff;border-radius:10px;align-items:center;gap:14px;padding:18px 20px;transition:border-color .18s,box-shadow .18s,transform .1s;display:flex}.company-picker__card:hover{border-color:var(--green-accent);transform:translateY(-1px);box-shadow:0 6px 20px #2d6a4f24}.company-picker__card:focus-visible{border-color:var(--green-accent);outline:none;box-shadow:0 0 0 3.5px #40916c2e}.company-picker__card-initial{width:40px;height:40px;color:var(--green-brand);letter-spacing:-.01em;background:#40916c1a;border-radius:10px;flex:none;justify-content:center;align-items:center;font-family:AlibabaSans-Bold,sans-serif;font-size:17px;font-weight:600;display:flex}.company-picker__card-text{flex-direction:column;flex:auto;gap:2px;min-width:0;display:flex}.company-picker__card-name{color:var(--gray-900);text-overflow:ellipsis;white-space:nowrap;font-size:15px;font-weight:500;overflow:hidden}.company-picker__card-legal-name{color:var(--gray-500);overflow-wrap:anywhere;font-size:12px;font-weight:300;line-height:1.35}@keyframes company-picker-fade-up{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@media (width<=560px){.company-picker__heading{font-size:26px}.company-picker__grid{grid-template-columns:1fr}}
