.sidebar.theme-pta{--sidebar-base: #0C2340;--sidebar-mid: #163454;--sidebar-panel: rgba(55, 138, 221, .12);--sidebar-hover: #1E4068;--sidebar-active: #163454;--sidebar-accent: #378ADD;--sidebar-link: #85B7EB;--pk-color: #0C2340}.sidebar.theme-ptb{--sidebar-base: #1F4F59;--sidebar-mid: #183b44;--sidebar-panel: #265662;--sidebar-hover: #2d6570;--sidebar-active: #133139;--sidebar-accent: #54C0CC;--sidebar-link: #b8dde3;--pk-color: #1F4F59}.sidebar.theme-ptc,.content.theme-ptc{--sidebar-base: #1a2e1a;--sidebar-mid: #243824;--sidebar-panel: rgba(107, 158, 120, .15);--sidebar-hover: #2d4a32;--sidebar-active: #243824;--sidebar-accent: #6B9E78;--sidebar-link: #a8d4b0;--pk-color: #1a2e1a}.sidebar.theme-ptd,.content.theme-ptd{--sidebar-base: #2a1f3d;--sidebar-mid: #352850;--sidebar-panel: rgba(167, 139, 250, .12);--sidebar-hover: #3d3058;--sidebar-active: #352850;--sidebar-accent: #A78BFA;--sidebar-link: #c4b5fd;--pk-color: #2a1f3d}.company-switcher{width:100%;padding:8px 10px;border-radius:8px;border:none;background:var(--sidebar-active);color:#fff;font-size:13px;font-weight:600;border-left:3px solid var(--sidebar-accent);cursor:pointer}.sidebar{width:230px;min-width:230px;background:var(--sidebar-base);display:flex;flex-direction:column;color:#fff;transition:width .25s ease,min-width .25s ease,background .35s;position:relative;z-index:20}.sidebar.is-collapsed{width:58px;min-width:58px}.sidebar-header{padding:16px 14px 12px;background:var(--sidebar-base);border-bottom:.5px solid #1E4068;position:relative}.sidebar.is-collapsed .sidebar-header{padding:12px 8px}.logo-row{display:flex;align-items:center;gap:10px;margin-bottom:12px}.logo{width:36px;height:36px;border-radius:8px;background:var(--sidebar-active);display:grid;place-items:center;font-weight:700;font-size:13px;border:1px solid var(--sidebar-accent)}.logo-text{font-size:13px;font-weight:600;color:#fff}.logo-sub{font-size:12px;color:var(--sidebar-link);margin-top:2px}.company-pill{padding:8px 10px;border-radius:8px;background:var(--sidebar-active);font-size:13px;font-weight:600;text-align:center;color:#fff;border-left:3px solid var(--sidebar-accent)}.sidebar-collapse-btn{position:absolute;top:14px;right:8px;width:24px;height:24px;border:none;border-radius:6px;background:var(--sidebar-active);color:var(--sidebar-link);cursor:pointer;font-size:12px;line-height:1}.sidebar.is-collapsed .sidebar-collapse-btn{position:static;margin:8px auto 0;display:block}.sidebar-collapse-btn:hover{color:#fff;background:var(--sidebar-hover)}.nav-scroll{flex:1;overflow-y:auto;overflow-x:hidden;padding:6px 0}.sidebar.is-collapsed .nav-scroll{overflow:visible}.nav-dashboard{margin:6px 10px 8px;border-radius:8px;border-bottom:none;font-size:10px;font-weight:700;letter-spacing:.12em}.sidebar.is-collapsed .nav-dashboard{margin:6px 8px 8px;min-height:36px}.nav-section{margin-top:2px;position:relative}.nav-section-toggle{width:calc(100% - 20px);margin:2px 10px;padding:8px 10px;display:flex;align-items:center;gap:8px;border:none;border-left:3px solid transparent;border-radius:8px;cursor:pointer;background:transparent;color:var(--sidebar-link);font-size:10px;font-weight:700;letter-spacing:.12em;text-align:left;transition:background .15s}.sidebar.is-collapsed .nav-section-toggle{width:calc(100% - 16px);margin:2px 8px;justify-content:center;padding:8px 6px}.nav-section-toggle:hover,.nav-section.is-active .nav-section-toggle{background:var(--sidebar-hover);color:#fff}.nav-section-icon{width:16px;text-align:center;font-size:12px;flex-shrink:0}.nav-section-text{flex:1}.nav-chevron{font-size:10px;opacity:.85;margin-left:auto}.nav-section-label{padding:10px 14px 4px;font-size:10px;font-weight:700;letter-spacing:.12em;color:var(--sidebar-link);border-top:.5px solid #1E4068;margin-top:6px}.nav-section:first-of-type .nav-section-label{border-top:none;margin-top:0}.nav-block{margin:2px 10px 4px;border-radius:0;overflow:hidden;background:var(--sidebar-panel);border-left:4px solid var(--sidebar-accent)}.sidebar.is-collapsed .nav-block{margin:0;border-left:none}.nav-block-ar{border-left-color:#378add}.nav-block-ap{border-left-color:#d4845a}.nav-block-master{border-left-color:#85b7eb}.nav-block-gaji{border-left-color:#e6a817}.nav-block-karyawan{border-left-color:#6b9e78}.nav-block-report{border-left-color:#a78bfa}.nav-section.nav-block-ar .nav-section-toggle{border-left-color:#378add}.nav-section.nav-block-ap .nav-section-toggle{border-left-color:#d4845a}.nav-section.nav-block-master .nav-section-toggle{border-left-color:#85b7eb}.nav-section.nav-block-gaji .nav-section-toggle{border-left-color:#e6a817}.nav-section.nav-block-karyawan .nav-section-toggle{border-left-color:#6b9e78}.nav-section.nav-block-report .nav-section-toggle{border-left-color:#a78bfa}.nav-block-ar .nav-item.active{border-left-color:#378add}.nav-block-ap .nav-item.active{border-left-color:#d4845a}.nav-block-master .nav-item.active{border-left-color:#85b7eb}.nav-block-gaji .nav-item.active{border-left-color:#e6a817}.nav-block-karyawan .nav-item.active{border-left-color:#6b9e78}.nav-block-report .nav-item.active{border-left-color:#a78bfa}.nav-subsection{border-top:.5px solid rgba(255,255,255,.08)}.nav-subsection:first-child{border-top:none}.nav-subsection-toggle{width:100%;padding:8px 12px;display:flex;align-items:center;justify-content:space-between;border:none;background:#0000001f;color:var(--sidebar-link);font-size:10px;font-weight:700;letter-spacing:.08em;cursor:pointer}.nav-subsection-toggle:hover{background:var(--sidebar-hover);color:#fff}.nav-item-nested{padding-left:24px}.nav-flyout{position:absolute;left:calc(100% + 4px);top:0;min-width:210px;background:var(--sidebar-base);border:.5px solid #1E4068;border-radius:8px;box-shadow:0 8px 24px #00000047;z-index:50;padding:6px 0 8px}.nav-flyout-title{padding:8px 12px 6px;font-size:10px;font-weight:700;letter-spacing:.1em;color:var(--sidebar-link);border-bottom:.5px solid #1E4068}.nav-flyout-group+.nav-flyout-group{margin-top:4px}.nav-flyout-sub{padding:6px 12px 4px;font-size:10px;font-weight:700;color:var(--sidebar-link);opacity:.9}.nav-item{display:flex;align-items:center;gap:10px;padding:8px 12px;font-size:13px;text-decoration:none;cursor:pointer;transition:background .15s;color:var(--sidebar-link);border-left:3px solid transparent}.sidebar.is-collapsed .nav-item{justify-content:center;padding:8px 6px}.nav-label{flex:1;min-width:0}.nav-item:hover{background:var(--sidebar-hover);color:#fff}.nav-item.active{background:var(--sidebar-active);color:#fff;font-weight:600;border-left-color:var(--sidebar-accent)}.nav-item.disabled{opacity:.45;pointer-events:none}.nav-icon{width:16px;text-align:center;font-size:14px;line-height:1;opacity:.85;flex-shrink:0}.nav-item:hover .nav-icon,.nav-item.active .nav-icon{opacity:1}.nav-item.neutral{margin:1px 10px;border-radius:0}.master-list .nav-item{padding:9px 12px 9px 20px}.badge{margin-left:auto;min-width:20px;height:20px;padding:0 6px;border-radius:10px;font-size:10px;font-weight:700;background:var(--sidebar-accent);color:#fff}.badge.soon{background:var(--sidebar-mid);opacity:.9}.reminder-box{margin:8px 10px;padding:10px 12px;border-radius:8px;background:var(--sidebar-active);font-size:13px;line-height:1.45;border-left:3px solid var(--sidebar-accent)}.reminder-box strong{display:block;margin-bottom:4px;font-size:10px;color:var(--sidebar-link)}.reminder-box span{color:#fff;font-size:13px}.sidebar-footer{padding:12px 14px;background:var(--sidebar-base);border-top:.5px solid #1E4068}.sidebar.is-collapsed .sidebar-footer{padding:10px 8px}.sidebar.is-collapsed .user-row{justify-content:center;margin-bottom:0}.user-row{display:flex;align-items:center;gap:10px;margin-bottom:8px}.avatar{width:32px;height:32px;border-radius:50%;background:var(--sidebar-active);display:grid;place-items:center;font-size:13px;font-weight:600}.user-name{font-size:13px;font-weight:600;color:#fff}.user-role{font-size:12px;color:var(--sidebar-link)}.logout-btn{width:100%;padding:8px;border:none;border-radius:6px;background:var(--sidebar-active);font-size:13px;cursor:pointer;color:var(--sidebar-link)}.logout-btn:hover{color:#fff;background:var(--sidebar-hover)}*{box-sizing:border-box;margin:0;padding:0}body{font-family:Calibri,Segoe UI,system-ui,sans-serif;font-size:13px;background:#0c2340;color:#0c2340}.app-shell,.login-page,.login-card,.content,.content input,.content select,.content button,.content textarea,.data-table,.toolbar,.btn,.card,h1,h2,h3,p,label,a{text-transform:uppercase}.app-shell{display:flex;min-height:100vh}.content{flex:1;background:#f1f5f9;min-width:0}.content-body{display:flex;flex-direction:column;min-height:100vh}.topbar{background:#fff;border-bottom:.5px solid #dde3ea;padding:10px 20px;display:flex;align-items:center;justify-content:space-between;min-height:52px}.topbar-title{font-size:14px;font-weight:600;color:#0c2340}.topbar-subtitle{font-size:14px;color:#6b7c93;margin-top:1px}.topbar-actions{display:flex;gap:8px;align-items:center}.page-pad{padding:16px 20px;flex:1;overflow-y:auto}.kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:12px}.kpi-card{background:#0c2340;border-radius:10px;padding:12px 14px}.kpi-label{font-size:10px;color:#85b7eb;letter-spacing:.03em;margin-bottom:4px}.kpi-value{font-size:22px;font-weight:600;color:#fff;line-height:1.1}.kpi-sub{font-size:10px;color:#378add;margin-top:2px}.panel-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px}.panel-card{background:#fff;border:.5px solid #dde3ea;border-radius:10px;padding:14px 16px}.panel-label{font-size:11px;color:#6b7c93;letter-spacing:.04em;margin-bottom:10px;font-weight:500}.dashboard-section-title{font-size:18px;font-weight:700;letter-spacing:.08em;margin-bottom:12px;padding:8px 0 8px 12px;border-left:5px solid}.dashboard-section-ar{color:#185fa5;border-left-color:#378add;background:linear-gradient(90deg,rgba(55,138,221,.12) 0%,transparent 100%)}.dashboard-section-ap{color:#9a5b00;border-left-color:#e6a817;background:linear-gradient(90deg,rgba(230,168,23,.14) 0%,transparent 100%)}.panel-text{font-size:13px;color:#6b7c93;margin-bottom:12px;line-height:1.5}.panel-actions{display:flex;gap:8px;flex-wrap:wrap}.bar-row{display:flex;align-items:center;gap:8px;margin-bottom:6px}.bar-name{font-size:13px;color:#1a1a1a;width:110px;flex-shrink:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bar-track{flex:1;background:#f0f0f0;border-radius:3px;height:7px;overflow:hidden}.bar-fill{height:7px;border-radius:3px;background:#0c2340}.bar-val{font-size:13px;color:#6b7c93;width:72px;text-align:right;flex-shrink:0}.list-row{display:flex;justify-content:space-between;align-items:center;padding:5px 0;border-bottom:.5px solid #eee;font-size:13px}.list-row-main{color:#1a1a1a;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:200px}.list-row-sub{color:#6b7c93;font-size:12px;flex-shrink:0;margin-left:8px}.upload-zone{border:1px dashed #dde3ea;border-radius:10px;padding:24px;text-align:center;margin-bottom:12px;background:#f8fafc}.upload-zone-title{font-size:13px;font-weight:600;color:#0c2340;margin-bottom:4px}.upload-zone-sub{font-size:12px;color:#6b7c93;margin-bottom:12px}.toolbar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:0 20px 12px;padding:12px 14px;background:#fff;border:.5px solid #dde3ea;border-radius:10px}.toolbar label{font-size:13px;font-weight:600;color:#6b7c93}.toolbar select,.toolbar input,.form-card input,.form-card select,.form-card textarea,.form-stack input,.form-stack select{padding:8px 12px;border:1px solid #dde3ea;border-radius:6px;font:inherit;font-size:13px;color:#0c2340}.form-card,.form-stack{background:#fff;margin:0 20px 20px;padding:16px;border:.5px solid #dde3ea;border-radius:10px;display:grid;gap:8px;max-width:520px}.form-inline input{min-width:120px}.btn{padding:8px 14px;border-radius:6px;border:none;font:inherit;font-size:13px;font-weight:600;cursor:pointer;text-decoration:none;display:inline-block}.btn-primary{background:#0c2340;color:#fff}.btn-primary:hover{background:#163454}.btn-outline{background:#fff;color:#0c2340;border:1px solid #dde3ea}.btn-outline:hover{background:#e6f1fb}.btn-secondary{background:#e6f1fb;color:#0c2340;border:1px solid #B5D4F4}.btn-danger{background:#c0392b;color:#fff}.btn-sm{padding:4px 10px;font-size:13px}.btn:disabled{opacity:.5;cursor:not-allowed}.data-table-wrap{margin:0 20px 20px;background:#fff;border:.5px solid #dde3ea;border-radius:10px;overflow:hidden}.data-table{width:100%;border-collapse:collapse;font-size:13px}.data-table th,.data-table td{padding:10px 14px;border-top:1px solid #eef1f5;text-align:left;font-size:13px}.data-table thead th{background:#0c2340;color:#b5d4f4;font-weight:600;border-top:none}.data-table th.sortable-th{cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap}.data-table th.sortable-th:hover{background:#163454;color:#fff}.data-table th.sortable-th.is-sorted{color:#fff}.data-table th.sortable-th span{display:inline-flex;align-items:center;gap:6px}.data-table th.sortable-th .sort-ind{font-size:10px;opacity:.7}.data-table th.sortable-th.is-sorted .sort-ind{opacity:1;color:#85b7eb}.data-table tbody tr:nth-child(2n){background:#f8fafc}.data-table .col-pk{color:var(--pk-color);font-weight:600}.data-table .col-aksi{width:150px;min-width:150px;max-width:150px;text-align:center;white-space:nowrap;vertical-align:middle}.data-table .col-aksi .btn-sm{margin:0 2px}.data-table a{color:#378add;font-weight:600}.master-form{margin:0 20px 12px;padding:14px 16px;background:#fff;border:.5px solid #dde3ea;border-radius:10px}.master-form-hint{margin:0 0 10px;font-size:12px;color:#6b7c93;font-weight:600}.master-form-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px;margin-bottom:12px}.master-field{display:grid;gap:4px;font-size:13px}.master-field span{color:#6b7c93;font-weight:600}.master-field input,.master-cell-input{padding:8px 10px;border:1px solid #dde3ea;border-radius:6px;font:inherit;font-size:13px;width:100%}.master-table{table-layout:fixed}.master-table th,.master-table td{vertical-align:middle;word-break:break-word}.employees-table-wrap{overflow-x:auto}.employees-table{font-size:12px;min-width:960px}.employees-table th,.employees-table td{padding:7px 10px;font-size:12px;line-height:1.4}.employees-table thead th{font-size:12px;padding:8px 10px;white-space:normal;line-height:1.3}.employees-table th.sortable-th{white-space:normal}.employees-table th.sortable-th span{gap:3px}.employees-table th.sortable-th .sort-ind{font-size:9px;flex-shrink:0}.employees-table .col-aksi{width:120px;min-width:120px;max-width:120px}.employees-table .col-aksi .btn-sm{padding:4px 8px;font-size:12px}.employees-table .master-cell-input,.employees-table select{padding:6px 8px;font-size:12px}.master-error{margin:0 20px 12px;padding:12px 14px;background:#fcebeb;color:#a32d2d;border-radius:8px;font-size:13px;font-weight:600;border-left:4px solid #A32D2D}.master-revision-hint{margin:0 20px 12px;padding:12px 14px;background:#fff8e6;color:#7a5c00;border-radius:8px;font-size:13px;border-left:4px solid #e6b800;display:grid;gap:6px}.master-revision-hint strong{font-size:13px}.master-revision-hint span{line-height:1.45;text-transform:none}.master-revision-hint code{font-family:ui-monospace,monospace;font-size:12px;background:#0000000f;padding:1px 5px;border-radius:4px;text-transform:none}.status{display:inline-block;padding:2px 9px;border-radius:20px;font-size:13px;font-weight:600}.status.lunas{background:#e6f1fb;color:#185fa5}.status.sebagian{background:#fff3d4;color:#7a5c00}.status.belum{background:#fcebeb;color:#a32d2d}.status.incomplete{background:#ede0f0;color:#5c4070}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:16px 20px}.detail-grid .panel-card{margin:0}.detail-grid .panel-card.span-2{grid-column:1 / -1}.alert-box{margin:0 20px 12px;padding:14px 16px;background:#fff8e6;border-radius:10px;border-left:4px solid #e6b800;font-size:13px}.table-msg,.page-loading{padding:24px 20px;font-size:13px;color:#6b7c93}.login-page{min-height:100vh;display:grid;place-items:center;background:#0c2340}.login-card{background:#fff;padding:36px 40px;border-radius:12px;width:min(360px,92vw);display:grid;gap:10px;text-align:center;box-shadow:0 4px 24px #0003}.login-card .logo{width:48px;height:48px;border-radius:10px;background:#163454;color:#fff;display:grid;place-items:center;margin:0 auto;font-weight:700;font-size:13px;border:1px solid #378ADD}.login-card h1{font-size:14px;font-weight:600;color:#0c2340}.login-sub{font-size:12px;color:#6b7c93;margin-bottom:8px}.login-error{background:#fcebeb;color:#a32d2d;padding:8px;border-radius:6px;font-size:13px}.login-card label{text-align:left;font-size:13px;font-weight:600;color:#6b7c93}.login-card input{padding:8px 12px;border:1px solid #dde3ea;border-radius:6px;font-size:13px}.login-card button{margin-top:8px;padding:10px;background:#0c2340;color:#fff;border:none;border-radius:6px;font:inherit;font-weight:600;font-size:13px;cursor:pointer}.slip-gaji-page .slip-gaji-controls{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;margin:0 20px 14px;padding:12px 14px;background:#fff;border:.5px solid #dde3ea;border-radius:10px}.slip-gaji-controls label{font-size:12px;font-weight:600;color:#6b7c93}.slip-gaji-controls select{padding:7px 10px;border:1px solid #dde3ea;border-radius:6px;font:inherit;min-width:180px}.slip-gaji-preview{padding:0 20px 24px;display:flex;justify-content:center}.slip-gaji-card{width:min(720px,100%);background:#fff;border:1px solid #dde3ea;border-radius:12px;padding:28px 32px;box-shadow:0 2px 12px #0c234014}.slip-gaji-header{display:flex;gap:16px;align-items:center;padding-bottom:16px;border-bottom:3px solid #0C2340;margin-bottom:18px}.slip-gaji-logo{width:52px;height:52px;border-radius:10px;background:#0c2340;color:#fff;display:grid;place-items:center;font-weight:700;font-size:18px;border:2px solid #378ADD}.slip-gaji-company{font-size:16px;font-weight:700;color:#0c2340}.slip-gaji-title{font-size:13px;font-weight:700;color:#378add;letter-spacing:.1em;margin-top:2px}.slip-gaji-period{font-size:12px;color:#6b7c93;margin-top:4px}.slip-gaji-section{margin-bottom:18px}.slip-gaji-section-title{font-size:11px;font-weight:700;color:#378add;letter-spacing:.08em;margin-bottom:10px;padding-bottom:4px;border-bottom:1px solid #eef1f5}.slip-gaji-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px 20px;font-size:13px}.slip-gaji-grid span{display:block;font-size:10px;color:#6b7c93;font-weight:600;margin-bottom:2px}.slip-gaji-grid strong{color:#0c2340;font-weight:600;text-transform:none}.slip-gaji-table{width:100%;border-collapse:collapse;font-size:13px}.slip-gaji-table td{padding:8px 0;border-bottom:1px solid #eef1f5;vertical-align:top}.slip-gaji-table td:first-child{color:#6b7c93;width:55%;font-weight:600}.slip-gaji-amount{text-align:right;font-variant-numeric:tabular-nums;text-transform:none}.slip-gaji-total td{border-top:2px solid #0C2340;border-bottom:none;padding-top:12px;font-size:15px;font-weight:700;color:#0c2340}.slip-gaji-total td:last-child{text-align:right;color:#185fa5;text-transform:none}.slip-gaji-note{margin-top:8px;font-size:11px;color:#6b7c93;text-transform:none;font-style:italic}.slip-gaji-footer{display:grid;grid-template-columns:1fr 1fr;gap:32px;margin-top:28px;padding-top:16px}.slip-gaji-sign{text-align:center;font-size:11px;color:#6b7c93}.slip-gaji-sign-line{height:48px;border-bottom:1px solid #0C2340;margin:8px 24px 6px}.slip-gaji-disclaimer{margin-top:20px;text-align:center;font-size:10px;color:#9aa8b8;letter-spacing:.06em}.slip-gaji-empty{max-width:480px;margin:0 auto;text-align:center;padding:24px}.slip-gaji-empty-hint{margin-top:8px;font-size:12px;color:#6b7c93}.payroll-takehome-preview{margin:12px 0;padding:12px 14px;background:#e6f1fb;border-radius:8px;font-size:14px;color:#0c2340}.payroll-takehome-preview strong{color:#185fa5;text-transform:none}.payroll-takehome-note{display:block;font-size:11px;color:#6b7c93;margin-top:4px;text-transform:none}@media print{body{background:#fff}.sidebar,.topbar,.slip-toolbar,.slip-gaji-controls,.slip-gaji-disclaimer{display:none!important}.app-shell{display:block}.content,.content-body{background:#fff;min-height:auto}.slip-gaji-preview{padding:0}.slip-gaji-card{box-shadow:none;border:1px solid #333;border-radius:0;width:100%;max-width:100%;page-break-inside:avoid}}.theme-pta{--c-bg: #0C2340;--c-accent: #378ADD;--c-muted: #6b7c93;--pk-color: #0C2340}.theme-ptb{--c-bg: #1F4F59;--c-accent: #54C0CC;--c-muted: #6b7c93;--pk-color: #1F4F59}@media(max-width:900px){.kpi-grid,.panel-grid,.detail-grid{grid-template-columns:1fr}}
