:root{--tg-primary:#30419b;--tg-primary-soft:#30419b1a;--tg-border:#eff2f7;--tg-muted:#74788d}body{background:#f8f9fb;font-family:Poppins,sans-serif}#root{min-height:100vh}.bg-soft-primary{background-color:#30419b1a!important}.bg-soft-success{background-color:#34c38f1f!important}.bg-soft-warning{background-color:#f1b44c26!important}.bg-soft-danger{background-color:#f46a6a1f!important}.bg-soft-info{background-color:#50a5f11f!important}.text-primary{color:var(--tg-primary)!important}.bg-primary{background-color:var(--tg-primary)!important}.btn-primary{background-color:var(--tg-primary);border-color:var(--tg-primary)}.btn-primary:hover,.btn-primary:focus,.btn-primary:active{background-color:#253582!important;border-color:#253582!important}.btn-outline-primary{color:var(--tg-primary);border-color:var(--tg-primary)}.btn-outline-primary:hover{background-color:var(--tg-primary);border-color:var(--tg-primary)}.btn-soft-primary{background-color:var(--tg-primary-soft);color:var(--tg-primary)}.btn-soft-primary:hover{background-color:var(--tg-primary);color:#fff}a{color:var(--tg-primary)}a:hover{color:#253582}.card{border:1px solid var(--tg-border);border-radius:8px;box-shadow:0 2px 8px #2d37480a}.card-header{border-bottom:1px solid var(--tg-border);background-color:#fff}.table>:not(caption)>*>*{padding:.65rem .75rem}.table thead th{text-transform:uppercase;letter-spacing:.4px;color:var(--tg-muted);border-bottom:1px solid var(--tg-border);background:#fafbfd;font-size:11px;font-weight:600}.table-hover>tbody>tr:hover>*{background-color:#30419b09}.font-monospace{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.badge{letter-spacing:.2px;font-weight:500}.badge-soft{border:1px solid #0000}.page-title-box h4{font-size:16px;font-weight:600}.breadcrumb-item a{color:var(--tg-primary);text-decoration:none}#sidebar-menu ul li a{color:#b9c2e4}#sidebar-menu ul li a:hover,#sidebar-menu ul li a.active,#sidebar-menu ul li.mm-active>a{color:#fff}#sidebar-menu .menu-title{color:#fff6}#sidebar-menu .px-3.py-2 .font-size-13{color:#fff}#sidebar-menu .px-3.py-2 .font-size-11{color:#ffffff8c!important}#page-topbar .logo-light{color:var(--tg-primary)!important}#page-topbar .navbar-brand-box{background:0 0}#page-topbar .app-search .form-control{background-color:#f3f3f9;border-color:#f3f3f9}.stat-card .stat-icon{border-radius:10px;justify-content:center;align-items:center;width:44px;height:44px;font-size:20px;display:inline-flex}.stat-card h3{margin-bottom:0;font-size:24px;font-weight:600}.stat-card .stat-label{color:var(--tg-muted);margin-bottom:4px;font-size:12px}.chart-bars{align-items:flex-end;gap:14px;height:150px;padding-top:10px;display:flex}.chart-bars .bar-col{text-align:center;flex:1}.chart-bars .bar{background:linear-gradient(180deg, #4d63c8 0%, var(--tg-primary) 100%);border-radius:4px 4px 0 0;width:100%;max-width:34px;min-height:4px;margin:0 auto;transition:height .3s}.chart-bars .bar.alt{background:linear-gradient(#7f8fd8 0%,#8a99df 100%)}.chart-bars .bar-label{color:var(--tg-muted);margin-top:6px;font-size:11px}.donut-wrap{width:180px;height:180px;margin:0 auto;position:relative}.donut-wrap svg{transform:rotate(-90deg)}.donut-center{flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.donut-center .donut-value{font-size:22px;font-weight:600;line-height:1}.donut-center .donut-label{color:var(--tg-muted);font-size:11px}.legend-dot{border-radius:50%;width:9px;height:9px;margin-right:6px;display:inline-block}.items-editor td{vertical-align:middle;padding:.35rem .4rem}.items-editor .form-control{font-size:13px}.items-editor tfoot td{background:#fafbfd}.urgensi-option{border:1px solid var(--tg-border);cursor:pointer;border-radius:8px;padding:.75rem 1rem;transition:all .15s}.urgensi-option.active{border-color:var(--tg-primary);background:var(--tg-primary-soft)}.timeline{padding-left:28px;position:relative}.timeline:before{content:"";background:var(--tg-border);width:2px;position:absolute;top:6px;bottom:6px;left:9px}.timeline-item{padding-bottom:1.25rem;position:relative}.timeline-item:last-child{padding-bottom:0}.timeline-item:before{content:"";background:#cbd5e1;border:2px solid #fff;border-radius:50%;width:12px;height:12px;position:absolute;top:4px;left:-24px;box-shadow:0 0 0 2px #e2e8f0}.timeline-item.approved:before{background:#34c38f;box-shadow:0 0 0 2px #34c38f33}.timeline-item.rejected:before{background:#f46a6a;box-shadow:0 0 0 2px #f46a6a33}.timeline-item.revised:before{background:#f1b44c;box-shadow:0 0 0 2px #f1b44c33}.authentication-bg{background-color:#2a3b8f;background-image:linear-gradient(135deg,#1f2a63 0%,#30419b 55%,#4459c4 100%)}.auth-brand-panel{color:#fff;background:linear-gradient(160deg,#1f2a63 0%,#30419b 60%,#4459c4 100%);flex-direction:column;justify-content:center;min-height:100vh;padding:3rem;display:flex}.auth-brand-panel .brand-mark{letter-spacing:1px;background:#ffffff26;border-radius:14px;justify-content:center;align-items:center;width:56px;height:56px;margin-bottom:1.25rem;font-weight:700;display:inline-flex}.auth-feature{color:#ffffffd1;gap:12px;margin-top:1.1rem;font-size:13px;display:flex}.auth-feature i{margin-top:2px}.print-modal-body{background:#f1f3f6;max-height:75vh;overflow:auto}.cursor-pointer{cursor:pointer}.font-size-11{font-size:11px!important}.font-size-12{font-size:12px!important}.font-size-13{font-size:13px!important}.table-sticky-actions{white-space:nowrap}.empty-state{text-align:center;color:var(--tg-muted);padding:3rem 1rem}.empty-state i{opacity:.6;margin-bottom:.5rem;font-size:2.5rem;display:block}.print-preview{color:#1a1a2e;background:#f1f3f6;width:210mm;margin:0 auto;padding:16px 0;font-family:Poppins,Segoe UI,system-ui,sans-serif;font-size:12px}.page{background:#fff;width:210mm;min-height:297mm;margin:0 auto;padding:14mm 16mm;position:relative;box-shadow:0 4px 20px #0000001f}.kop{border-bottom:3px solid #1e3a5f;align-items:center;gap:16px;margin-bottom:18px;padding-bottom:14px;display:flex}.kop-logo{background:linear-gradient(135deg,#1e3a5f 0%,#30419b 100%);border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:60px;height:60px;display:flex}.kop-icon{color:#fff;letter-spacing:2px;font-size:19px;font-weight:700}.kop-title{letter-spacing:1px;color:#1e3a5f;margin:0;font-size:22px;font-weight:700}.kop-subtitle{color:#4b5563;margin:0;font-size:11px;font-style:italic}.kop-address{color:#6b7280;margin:4px 0 0;font-size:10px;line-height:1.5}.doc-title-bar{text-align:center;background:#eef2f9;border:1px solid #d7deec;margin-bottom:14px;padding:8px 10px}.doc-title{letter-spacing:.5px;color:#1e3a5f;margin:0;font-size:13px;font-weight:700}.doc-subtitle{color:#374151;margin:2px 0 0;font-size:11px;font-weight:600}.meta-section{margin-bottom:14px}.meta-table{border-collapse:collapse;width:100%}.meta-table td{vertical-align:top;border:1px solid #dbe1ea;padding:5px 8px;font-size:11px}.meta-label{color:#374151;background:#f4f6fa;width:110px;font-weight:600}.meta-value{color:#111827}.beige-bar{letter-spacing:.5px;color:#5b4a2f;background:#f6efe3;border:1px solid #e3d6bf;margin:12px 0 8px;padding:6px 10px;font-size:11px;font-weight:700}.items-section{margin-bottom:8px}.items-table{border-collapse:collapse;width:100%}.items-table th{color:#fff;text-align:left;background:#1e3a5f;border:1px solid #1e3a5f;padding:6px;font-size:10px;font-weight:600}.items-table td{vertical-align:top;border:1px solid #dbe1ea;padding:6px;font-size:11px}.items-table .col-no{text-align:center;width:34px}.items-table .col-nominal{text-align:right;white-space:nowrap;width:110px}.items-table .col-rek{width:120px}.total-row td{background:#f4f6fa;font-weight:700}.total-label{text-align:right!important}.approval-table td{font-size:10.5px}.signature-footer{justify-content:space-between;gap:20px;margin-top:36px;display:flex}.sig-block{text-align:center;flex:1}.sig-role{color:#374151;margin:0 0 44px;font-size:11px}.sig-line{border-bottom:1px solid #4b5563;margin-bottom:4px}.sig-name{color:#4b5563;margin:0;font-size:10px}.page-footer-note{color:#9ca3af;border-top:1px solid #e5e7eb;justify-content:space-between;padding-top:6px;font-size:9px;display:flex;position:absolute;bottom:10mm;left:16mm;right:16mm}.page-footer-note p{margin:0}@media print{body *{visibility:hidden}#print-area,#print-area *{visibility:visible}#print-area{background:#fff;width:210mm;padding:0;position:absolute;top:0;left:0}.page{box-shadow:none;break-after:page;margin:0}@page{size:A4;margin:10mm}}
