.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{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}.sidebar.is-collapsed .nav-dashboard{margin:6px 8px 8px;justify-content:center}.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-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-master{border-left-color:#85b7eb}.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-subsection .nav-item{padding-left:18px}.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:13px}.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:12px;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}.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 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-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}.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}.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}.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}}
