:root{--text:#6b6375;--text-h:#08060d;--bg:#fff;--border:#e5e4e7;--code-bg:#f4f3ec;--accent:#aa3bff;--accent-bg:#aa3bff1a;--accent-border:#aa3bff80;--social-bg:#f4f3ec80;--shadow:#0000001a 0 10px 15px -3px, #0000000d 0 4px 6px -2px;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--heading:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;font:18px/145% var(--sans);letter-spacing:.18px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@media (width<=1024px){:root{font-size:16px}}@media (prefers-color-scheme:dark){:root{--text:#9ca3af;--text-h:#f3f4f6;--bg:#16171d;--border:#2e303a;--code-bg:#1f2028;--accent:#c084fc;--accent-bg:#c084fc26;--accent-border:#c084fc80;--social-bg:#2f303a80;--shadow:#0006 0 10px 15px -3px, #00000040 0 4px 6px -2px}#social .button-icon{filter:invert()brightness(2)}}#root{text-align:center;border-inline:1px solid var(--border);box-sizing:border-box;flex-direction:column;width:1126px;max-width:100%;min-height:100svh;margin:0 auto;display:flex}body{margin:0}h1,h2{font-family:var(--heading);color:var(--text-h);font-weight:500}h1{letter-spacing:-1.68px;margin:32px 0;font-size:56px}@media (width<=1024px){h1{margin:20px 0;font-size:36px}}h2{letter-spacing:-.24px;margin:0 0 8px;font-size:24px;line-height:118%}@media (width<=1024px){h2{font-size:20px}}p{margin:0}code,.counter{font-family:var(--mono);color:var(--text-h);border-radius:4px;display:inline-flex}code{background:var(--code-bg);padding:4px 8px;font-size:15px;line-height:135%}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{width:100%;height:100%}body{color:#1a1a1a;-webkit-font-smoothing:antialiased;background:#e9edf2;font-family:Tahoma,Segoe UI,Arial,sans-serif;font-size:11.5px;line-height:1.4}.app-shell{flex-direction:column;width:100%;min-height:100vh;display:flex}.gspn-header{color:#fff;background:linear-gradient(#0c4da2 0%,#0a3d80 100%);flex-shrink:0}.gspn-header-top{border-bottom:1px solid #ffffff26;justify-content:space-between;align-items:center;height:28px;padding:6px 16px;font-size:11px;display:flex}.gspn-header-top .left-info{opacity:.85;align-items:center;gap:14px;display:flex}.gspn-header-top .right-info{align-items:center;gap:12px;display:flex}.gspn-header-top .user-info{color:#fff;font-size:11px}.gspn-header-top .user-info b{color:#fbbf24}.gspn-header-top a{color:#fff;cursor:pointer;border-radius:2px;padding:2px 8px;text-decoration:none}.gspn-header-top a:hover{background:#ffffff26}.gspn-header-main{justify-content:flex-start;align-items:center;height:40px;padding:4px 16px;display:flex}.gspn-header-main .brand{align-items:center;gap:12px;display:flex}.gspn-header-main .brand-logo{color:#0c4da2;letter-spacing:.5px;background:#fff;border-radius:2px;justify-content:center;align-items:center;width:42px;height:34px;font-size:13px;font-weight:900;display:flex}.gspn-header-main .brand-title{letter-spacing:1.5px;font-size:20px;font-weight:900;line-height:1}.gspn-header-main .brand-sub{opacity:.75;letter-spacing:.8px;text-transform:uppercase;margin-top:3px;font-size:9.5px}.gspn-header-main .right-brand{text-align:right}.gspn-header-main .right-brand .main{letter-spacing:1.8px;font-size:18px;font-weight:900;line-height:1}.gspn-header-main .right-brand .sub{opacity:.75;letter-spacing:.8px;text-transform:uppercase;margin-top:3px;font-size:9px}.gspn-nav{background:#0c4da2;border-top:1px solid #ffffff26;flex-shrink:0;padding:0 16px;display:flex;overflow-x:auto}.gspn-nav-tab{color:#ffffffd9;cursor:pointer;white-space:nowrap;background:0 0;border:none;border-right:1px solid #ffffff1a;align-items:center;gap:6px;padding:8px 26px;font-family:inherit;font-size:12px;font-weight:700;transition:all .12s;display:inline-flex}.gspn-nav-tab:hover{color:#fff;background:#ffffff1a}.gspn-nav-tab.active{color:#0c4da2;background:#fff;font-weight:800}.gspn-nav-tab:disabled{opacity:.4;cursor:not-allowed}.gspn-layout{flex:1;width:100%;min-height:0;display:flex}.gspn-sidebar{background:#fff;border-right:1px solid #c8d1dc;flex-shrink:0;width:210px;min-width:210px;padding-bottom:20px;overflow-y:auto}.sidebar-brand{color:#0c4da2;text-transform:uppercase;letter-spacing:.5px;background:#e8eef5;border-bottom:1px solid #c8d1dc;padding:8px 12px;font-size:11px;font-weight:800}.sidebar-group{border-bottom:1px solid #eef2f7}.sidebar-group-header{color:#0c4da2;cursor:pointer;-webkit-user-select:none;user-select:none;background:#f8fafc;border-bottom:1px solid #eef2f7;align-items:center;gap:6px;padding:7px 12px;font-size:11.5px;font-weight:700;display:flex}.sidebar-group-header:hover{background:#eef4fc}.sidebar-group-header .arrow{color:#64748b;width:10px;font-size:8px;transition:transform .15s;display:inline-block}.sidebar-group-header.expanded .arrow{transform:rotate(90deg)}.sidebar-group-header .icon{text-align:center;width:14px;font-size:11px}.sidebar-items{padding:2px 0}.sidebar-item{color:#334155;cursor:pointer;border-left:3px solid #0000;align-items:center;gap:6px;padding:5px 12px 5px 28px;font-size:11.5px;text-decoration:none;transition:all .1s;display:flex}.sidebar-item:hover{color:#0c4da2;background:#eef4fc}.sidebar-item.active{color:#0c4da2;background:#dbe8f8;border-left-color:#0c4da2;font-weight:700}.sidebar-item.disabled{opacity:.4;cursor:not-allowed}.sidebar-subitem{padding-left:42px!important;font-size:11px!important}.gspn-main{background:#e9edf2;flex-direction:column;flex:1;width:100%;min-width:0;display:flex}.gspn-breadcrumb{color:#64748b;background:#f8fafc;border-bottom:1px solid #c8d1dc;flex-shrink:0;justify-content:space-between;align-items:center;padding:6px 16px;font-size:11px;display:flex}.gspn-breadcrumb a{color:#0c4da2;cursor:pointer;font-weight:700;text-decoration:none}.gspn-breadcrumb a:hover{text-decoration:underline}.gspn-breadcrumb .sep{color:#94a3b8;margin:0 6px}.gspn-breadcrumb .current{color:#1e293b;font-weight:700}.gspn-breadcrumb .actions{gap:6px;display:flex}.gspn-content{flex:1;min-width:0;padding:10px 14px;overflow-y:auto}.panel{background:#fff;border:1px solid #c8d1dc;border-radius:2px;width:100%;margin-bottom:10px}.panel-header{color:#0c4da2;cursor:pointer;-webkit-user-select:none;user-select:none;background:linear-gradient(#e8eef5 0%,#dbe4ee 100%);border-bottom:1px solid #c8d1dc;justify-content:space-between;align-items:center;padding:5px 10px;font-size:11.5px;font-weight:800;display:flex}.panel-header .title{align-items:center;gap:6px;display:flex}.panel-header .arrow{color:#0c4da2;width:12px;font-size:9px;transition:transform .15s;display:inline-block}.panel-header.expanded .arrow{transform:rotate(90deg)}.panel-body{padding:10px 12px}.form-grid{grid-template-columns:130px 1fr 130px 1fr;align-items:center;gap:6px 20px;width:100%;max-width:900px;margin:0 auto;padding:0 10px;display:grid}.form-grid-3{grid-template-columns:130px 1fr 130px 1fr 130px 1fr;align-items:center;gap:6px 14px;width:100%;max-width:900px;margin:0 auto;padding:0 10px;display:grid}.form-grid-single{grid-template-columns:130px 1fr;align-items:center;gap:6px 14px;width:100%;max-width:700px;margin:0 auto;padding:0 10px;display:grid}.form-label{color:#334155;text-align:right;white-space:nowrap;text-overflow:ellipsis;padding-right:8px;font-size:11.5px;font-weight:600;overflow:hidden}.form-label .req{color:#c8102e;margin-left:2px}.form-input,.form-select,.form-textarea{color:#1a1a1a;box-sizing:border-box;background:#fff;border:1px solid #a4b0be;border-radius:3px;width:100%;height:24px;padding:4px 8px;font-family:inherit;font-size:11.5px}.form-textarea{resize:vertical;height:auto;min-height:44px;padding:4px 8px}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:#0c4da2;outline:none;box-shadow:0 0 0 3px #0c4da21a}.form-input:disabled,.form-input[readonly]{color:#64748b;cursor:not-allowed;background:#eef2f7}.btn,.btn-primary,.btn-secondary,.btn-danger,.btn-sm{text-transform:none;letter-spacing:.2px;cursor:pointer;white-space:nowrap;justify-content:center;align-items:center;gap:4px;height:auto;min-height:22px;font-family:inherit;display:inline-flex;color:#fff!important;background:linear-gradient(#6b7280,#4b5563)!important;border:1px solid #374151!important;border-radius:8px!important;padding:5px 14px!important;font-size:11.5px!important;font-weight:600!important;transition:all .12s!important;box-shadow:0 1px 2px #00000026!important}.btn:hover:not(:disabled),.btn-primary:hover:not(:disabled),.btn-secondary:hover:not(:disabled),.btn-danger:hover:not(:disabled){background:linear-gradient(#4b5563,#374151)!important;border-color:#1f2937!important;box-shadow:0 2px 4px #0003!important}.btn:active:not(:disabled){background:linear-gradient(#374151,#1f2937)!important;box-shadow:inset 0 2px 4px #0000004d!important}.btn:disabled{opacity:.5!important;cursor:not-allowed!important;background:linear-gradient(#9ca3af,#6b7280)!important}.btn-sm{padding:3px 10px!important;font-size:10.5px!important}.btn .spinner{border-color:#fff #fff6 #fff6}.btn-group{flex-wrap:wrap;gap:4px;display:flex}.table-wrap{background:#fff;border:1px solid #c8d1dc;width:100%;overflow:auto}.data-table{border-collapse:collapse;width:100%;font-size:11.5px}.data-table thead th{color:#0c4da2;white-space:nowrap;text-transform:uppercase;letter-spacing:.3px;z-index:2;background:linear-gradient(#e8eef5,#dbe4ee);border-bottom:1px solid #c8d1dc;border-right:1px solid #c8d1dc;padding:5px 8px;font-size:11px;font-weight:800;position:sticky;top:0;text-align:center!important}.data-table thead th:last-child{border-right:none}.data-table tbody td{color:#334155;vertical-align:middle;border-bottom:1px solid #eef2f7;border-right:1px solid #eef2f7;padding:5px 8px;text-align:center!important}.data-table tbody td:last-child{border-right:none}.data-table tbody tr:nth-child(2n){background:#f8fafc}.data-table tbody tr:hover{background:#eef4fc}.data-table tfoot td{padding:6px 8px;text-align:center!important}.status-badge,.status-proses,.status-pending,.status-running,.status-solusi,.status-selesai,.status-batal,.user-status-approved,.user-status-pending,.user-status-inactive,.user-status-rejected{text-transform:capitalize;display:inline-block;color:#1a1a1a!important;letter-spacing:0!important;background:0 0!important;border:none!important;border-radius:0!important;padding:0!important;font-size:11.5px!important;font-weight:700!important}.role-badge,.role-admin,.role-staff{color:#1a1a1a!important;background:0 0!important;border:none!important;border-radius:0!important;padding:0!important;font-size:11.5px!important;font-weight:700!important}.filter-bar{background:#f8fafc;border-bottom:1px solid #c8d1dc;flex-wrap:wrap;align-items:center;gap:6px;padding:6px 10px;display:flex}.filter-bar .form-input,.filter-bar .form-select{min-width:160px;height:30px}.info-bar{color:#1a4a80;background:#eaf2fb;border:1px solid #b8d4ee;border-left:3px solid #0c4da2;margin-bottom:10px;padding:6px 10px;font-size:11.5px}.stepper{background:#f8fafc;border:1px solid #c8d1dc;gap:2px;margin-bottom:12px;padding:10px;display:flex}.step{text-align:center;flex:1;padding:0 4px}.step-circle{color:#94a3b8;background:#e5e9ef;border:2px solid #fff;border-radius:50%;justify-content:center;align-items:center;width:26px;height:26px;margin:0 auto 4px;font-size:11px;font-weight:800;display:flex;box-shadow:0 0 0 1px #c8d1dc}.step.done .step-circle{color:#fff;background:#1f6b3a;box-shadow:0 0 0 1px #1f6b3a}.step.active .step-circle{color:#fff;background:#0c4da2;box-shadow:0 0 0 3px #0c4da233}.step-label{color:#94a3b8;text-transform:uppercase;letter-spacing:.2px;font-size:10px;font-weight:700}.step.active .step-label{color:#0c4da2}.step.done .step-label{color:#1f6b3a}.step-time{color:#b0b8c2;margin-top:1px;font-size:9.5px}.gspn-footer{color:#94a3b8;text-align:center;background:#f8fafc;border-top:1px solid #c8d1dc;flex-shrink:0;padding:6px 16px;font-size:10.5px}.stat-row{grid-template-columns:repeat(7,1fr);gap:6px;margin-bottom:10px;display:grid}.stat-box,.stat-box.proses,.stat-box.pending,.stat-box.running,.stat-box.solusi,.stat-box.selesai,.stat-box.batal,.stat-box.pendapatan{padding:8px 12px;transition:all .2s;background:#fff!important;border:1px solid #e2e8f0!important;border-radius:14px!important;box-shadow:0 1px 3px #0f172a0a!important}.stat-box:hover{transform:translateY(-1px);box-shadow:0 4px 12px #0f172a14!important}.stat-box .stat-label{text-transform:uppercase;letter-spacing:.4px;margin-bottom:2px;font-size:10px;font-weight:700;color:#94a3b8!important}.stat-box .stat-value,.stat-box.proses .stat-value,.stat-box.pending .stat-value,.stat-box.running .stat-value,.stat-box.solusi .stat-value,.stat-box.selesai .stat-value,.stat-box.batal .stat-value,.stat-box.pendapatan .stat-value{letter-spacing:-.3px;font-size:18px;font-weight:800;color:#0f172a!important}.stat-box .stat-value.money{font-size:12px;color:#0f172a!important}.notif-badge{color:#fff;text-align:center;background:#dc2626;border-radius:10px;min-width:16px;margin-left:6px;padding:1px 6px;font-size:9.5px;font-weight:800;line-height:1.3;animation:2s ease-in-out infinite pulseBadge;display:inline-block}@keyframes pulseBadge{0%,to{opacity:1}50%{opacity:.6}}.part-section{background:#f8fafc;border:1px solid #c8d1dc;margin-top:12px}.part-section-header{color:#0c4da2;background:linear-gradient(#e8eef5,#dbe4ee);border-bottom:1px solid #c8d1dc;justify-content:space-between;align-items:center;padding:5px 10px;font-size:11.5px;font-weight:800;display:flex}.part-section-header .title{align-items:center;gap:6px;display:flex}.part-section-body{padding:8px 10px}.part-table{border-collapse:collapse;background:#fff;border:1px solid #c8d1dc;width:100%;font-size:11.5px}.part-table th{color:#475569;text-align:center;text-transform:uppercase;letter-spacing:.3px;white-space:nowrap;background:#eef2f7;border-bottom:1px solid #c8d1dc;border-right:1px solid #eef2f7;padding:5px 8px;font-size:10.5px;font-weight:800}.part-table th:last-child{border-right:none}.part-table td{color:#334155;vertical-align:middle;text-align:center;border-bottom:1px solid #eef2f7;border-right:1px solid #eef2f7;padding:5px 8px}.part-table td:last-child{border-right:none}.part-table tr:last-child td{border-bottom:none}.part-table tr:hover{background:#f8fafc}.part-empty{text-align:center;color:#94a3b8;padding:20px;font-size:11.5px;font-style:italic}.part-qty-input{text-align:center;border:1px solid #a4b0be;border-radius:2px;width:50px;padding:3px 6px;font-family:inherit;font-size:11.5px}.part-status-btn{cursor:pointer;white-space:nowrap;text-transform:uppercase;letter-spacing:.3px;border:1px solid;border-radius:2px;padding:3px 10px;font-size:10.5px;font-weight:800;display:inline-block}.part-status-btn.pending{color:#8a6100;background:#fff4d6;border-color:#f0c36d}.part-status-btn.confirmed{color:#1f6b3a;background:#d7f0de;border-color:#94d1a9}.part-status-btn:hover{opacity:.85}.part-note{border-radius:2px;margin-top:8px;padding:6px 10px;font-size:11px;font-weight:600;line-height:1.4}.part-note.info{color:#1a4a80;background:#eaf2fb;border-left:3px solid #0c4da2}.part-note.ok{color:#1f6b3a;background:#d7f0de;border-left:3px solid #1f6b3a}.part-note.warn{color:#8a6100;background:#fff4d6;border-left:3px solid #f0c36d}.part-picker{flex-direction:column;max-height:400px;display:flex}.part-picker-search{background:#f8fafc;border-bottom:1px solid #c8d1dc;padding:6px 10px}.part-picker-search input{border:1px solid #a4b0be;border-radius:2px;width:100%;padding:5px 10px;font-family:inherit;font-size:12px}.part-picker-list{flex:1;max-height:320px;overflow-y:auto}.part-picker-item{cursor:pointer;border-bottom:1px solid #eef2f7;grid-template-columns:2fr 1fr 1.5fr 80px;align-items:center;gap:8px;padding:6px 10px;font-size:11.5px;display:grid}.part-picker-item:hover{background:#eef4fc}.part-picker-item.disabled{opacity:.4;cursor:not-allowed}.part-picker-item.disabled:hover{background:0 0}.part-picker-item .pk-kode{color:#0c4da2;font-weight:800}.part-picker-item .pk-brand{text-transform:uppercase;color:#64748b;font-size:10.5px}.part-picker-item .pk-model{color:#334155}.part-picker-item .pk-stok{text-align:center;color:#059669;font-size:11px;font-weight:800}.part-picker-item .pk-stok.habis{color:#dc2626}.part-picker-item .pk-stok.menipis{color:#d97706}.history-action-badge{text-transform:uppercase;letter-spacing:.3px;white-space:nowrap;border:1px solid;border-radius:2px;padding:2px 8px;font-size:10.5px;font-weight:800;display:inline-block}.history-badge-update{color:#0c4da2;background:#dce9fa;border-color:#9dbce3}.history-badge-buang{color:#9c0c23;background:#f8d7d7;border-color:#e5a0a0}.history-badge-create{color:#1f6b3a;background:#d7f0de;border-color:#94d1a9}.history-badge-part{color:#6d28d9;background:#ede9fe;border-color:#c4b5fd}.history-badge-other{color:#475569;background:#f1f5f9;border-color:#cbd5e1}.history-field-label{color:#64748b;text-transform:uppercase;letter-spacing:.3px;font-size:10px;font-weight:700}.history-old{color:#991b1b;text-overflow:ellipsis;white-space:nowrap;vertical-align:middle;background:#fee2e2;border-radius:2px;max-width:200px;padding:1px 6px;font-family:Consolas,monospace;font-size:10.5px;text-decoration:line-through;display:inline-block;overflow:hidden}.history-new{color:#065f46;text-overflow:ellipsis;white-space:nowrap;vertical-align:middle;background:#d1fae5;border-radius:2px;max-width:200px;padding:1px 6px;font-family:Consolas,monospace;font-size:10.5px;font-weight:700;display:inline-block;overflow:hidden}.history-arrow{color:#94a3b8;margin:0 4px;font-weight:700;display:inline-block}.history-user{color:#0c4da2;font-weight:700}.history-time{color:#94a3b8;font-size:10.5px}.modal-backdrop{z-index:1000;background:#0f172a99;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.modal{background:#fff;border:1px solid #0c4da2;border-radius:2px;flex-direction:column;width:100%;max-width:900px;max-height:94vh;display:flex;overflow:hidden;box-shadow:0 12px 40px #00000059}.modal-header{color:#fff;background:linear-gradient(#1a6dd0,#0c4da2);justify-content:space-between;align-items:center;height:32px;padding:6px 12px;display:flex}.modal-header .title{font-size:12px;font-weight:800}.modal-header .subtitle{opacity:.75;letter-spacing:1px;text-transform:uppercase;font-size:10px}.modal-close{color:#fff;cursor:pointer;background:#ffffff26;border:1px solid #ffffff4d;border-radius:2px;justify-content:center;align-items:center;width:22px;height:22px;font-size:14px;line-height:1;display:flex}.modal-close:hover{background:#dc2626;border-color:#dc2626}.modal-body{padding:14px;overflow-y:auto}.invoice-backdrop{z-index:2000;background:#0f172abf;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.invoice-modal{background:#f1f5f9;border-radius:4px;flex-direction:column;width:100%;max-width:900px;max-height:95vh;display:flex;overflow:hidden;box-shadow:0 24px 60px #00000080}.invoice-modal-header{color:#fff;background:linear-gradient(#1a6dd0,#0c4da2);justify-content:space-between;align-items:center;padding:10px 16px;display:flex}.invoice-modal-header .title{font-size:13px;font-weight:800}.invoice-modal-header .subtitle{opacity:.75;letter-spacing:1px;text-transform:uppercase;font-size:10px}.invoice-modal-actions{background:#fff;border-bottom:1px solid #c8d1dc;gap:8px;padding:10px 16px;display:flex}.invoice-preview-wrap{background:#e2e8f0;flex:1;padding:20px;overflow-y:auto}.invoice-paper{color:#1a1a1a;text-align:left;background:#fff;width:100%;max-width:780px;margin:0 auto;padding:28px 32px;font-family:Tahoma,Segoe UI,Arial,sans-serif;font-size:11.5px;line-height:1.5;position:relative;box-shadow:0 4px 20px #00000026}.invoice-paper:before{content:"";background:linear-gradient(90deg,#0c4da2,#3b82f6,#0c4da2);height:6px;position:absolute;top:0;left:0;right:0}.inv-header{border-bottom:2px solid #0c4da2;justify-content:space-between;align-items:flex-start;margin-bottom:12px;padding-bottom:12px;display:flex}.inv-brand{align-items:center;gap:12px;display:flex}.inv-logo{color:#fff;letter-spacing:.5px;background:linear-gradient(135deg,#0c4da2,#1e40af);border-radius:6px;justify-content:center;align-items:center;width:52px;height:44px;font-size:16px;font-weight:900;display:flex}.inv-brand-text .name{color:#0c4da2;letter-spacing:1.5px;font-size:22px;font-weight:900;line-height:1}.inv-brand-text .tagline{color:#64748b;letter-spacing:1px;text-transform:uppercase;margin-top:4px;font-size:10px}.inv-brand-text .address{color:#64748b;margin-top:6px;font-size:10.5px;line-height:1.5}.inv-title-block{text-align:right}.inv-title-block .label{letter-spacing:2px;color:#94a3b8;text-transform:uppercase;font-size:10px;font-weight:700}.inv-title-block .no{color:#0c4da2;letter-spacing:.5px;background:#eaf2fb;border:1px solid #0c4da2;border-radius:4px;margin-top:6px;padding:6px 14px;font-family:Consolas,monospace;font-size:14px;font-weight:800;display:inline-block}.inv-title-block .date{color:#64748b;margin-top:8px;font-size:10.5px}.inv-info-grid{grid-template-columns:1fr 1fr 130px;gap:10px;margin-bottom:12px;display:grid}.inv-info-block{background:#f8fafc;border-left:3px solid #0c4da2;border-radius:3px;flex-direction:column;justify-content:center;min-height:60px;padding:8px 12px;display:flex}.inv-info-block .lbl{color:#64748b;text-transform:uppercase;letter-spacing:.5px;margin-bottom:3px;font-size:9.5px;font-weight:700}.inv-info-block .val{color:#0f172a;word-break:break-word;font-size:12px;font-weight:700}.inv-qr-wrap{background:#f8fafc;border:1px dashed #cbd5e1;border-radius:6px;flex-direction:column;justify-content:center;align-items:center;gap:6px;min-height:60px;padding:8px;display:flex}.inv-qr-wrap img{object-fit:contain;background:#fff;border-radius:4px;width:100px;height:100px;padding:4px}.inv-qr-wrap .caption{color:#64748b;text-align:center;font-size:9px;line-height:1.3}.inv-section-title{color:#0c4da2;text-transform:uppercase;letter-spacing:1px;text-align:left;border-bottom:1px solid #e2e8f0;margin:14px 0 8px;padding-bottom:4px;font-size:11px;font-weight:800}.inv-items-table{border-collapse:collapse;width:100%;margin-bottom:12px}.inv-items-table th{color:#fff;text-align:left;text-transform:uppercase;letter-spacing:.5px;background:#0c4da2;border:none;padding:6px 10px;font-size:10px;font-weight:800}.inv-items-table th.r{text-align:right}.inv-items-table td{vertical-align:top;text-align:left;border-bottom:1px solid #e2e8f0;padding:8px 10px;font-size:11.5px}.inv-items-table td.r{text-align:right;font-variant-numeric:tabular-nums}.inv-items-table .cell-title{color:#0f172a;font-weight:700}.inv-items-table .cell-sub{color:#64748b;margin-top:2px;font-size:10px}.inv-items-table .cell-part-kode{color:#0c4da2;font-weight:700}.inv-items-table .cell-part-sub{color:#64748b;font-size:10px}.inv-items-table tbody tr:last-child td{border-bottom:none}.inv-total-box{justify-content:flex-end;margin-top:6px;display:flex}.inv-total-inner{width:320px}.inv-total-row{justify-content:space-between;padding:5px 0;font-size:12px;display:flex}.inv-total-row .lbl{color:#64748b;font-weight:600}.inv-total-row .val{color:#0f172a;font-variant-numeric:tabular-nums;font-weight:700}.inv-total-row.adj .val{color:#dc2626}.inv-total-row.grand{border-top:2px solid #0c4da2;margin-top:6px;padding-top:10px;font-size:15px}.inv-total-row.grand .lbl{color:#0c4da2;text-transform:uppercase;letter-spacing:.5px;font-weight:800}.inv-total-row.grand .val{color:#0c4da2;font-size:17px;font-weight:900}.inv-remark-box{background:#fffbeb;border:1px solid #fde68a;border-left:3px solid #f59e0b;border-radius:4px;margin-top:10px;padding:8px 12px;font-size:11px}.inv-remark-box .lbl{color:#92400e;text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px;font-size:9.5px;font-weight:800}.inv-remark-box .val{color:#78350f;line-height:1.5}.inv-terms{background:#f8fafc;border:1px solid #e2e8f0;border-radius:4px;margin-top:14px;padding:10px 14px;text-align:left!important}.inv-terms .lbl{color:#0f172a;text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px;font-size:10px;font-weight:800;text-align:left!important}.inv-terms ol{color:#0f172a;margin:0;padding-left:18px;font-size:10px;line-height:1.55;list-style-position:outside;text-align:left!important}.inv-terms li{color:#0f172a;margin-bottom:4px;text-align:left!important}.inv-terms li b{color:#0f172a;font-weight:800}.inv-footer{color:#94a3b8;border-top:1px dashed #cbd5e1;justify-content:space-between;align-items:center;margin-top:16px;padding-top:12px;font-size:10px;display:flex}.inv-footer .thanks{color:#0c4da2;letter-spacing:.5px;font-weight:700}@media print{body *{visibility:hidden!important}.invoice-paper,.invoice-paper *{visibility:visible!important}.invoice-backdrop{background:#fff!important;align-items:flex-start!important;padding:0!important;position:absolute!important;inset:0!important}.invoice-modal{max-width:100%!important;max-height:none!important;box-shadow:none!important;background:#fff!important}.invoice-modal-header,.invoice-modal-actions{display:none!important}.invoice-preview-wrap{background:#fff!important;padding:0!important;overflow:visible!important}.invoice-paper{box-shadow:none!important;max-width:100%!important;padding:10mm!important}@page{size:A4;margin:0}}input[type=date]{cursor:pointer!important;min-height:24px!important;padding-right:6px!important}input[type=date]::-webkit-calendar-picker-indicator{opacity:.55;border-radius:2px;margin-left:2px;padding:2px 3px;cursor:pointer!important}input[type=date]::-webkit-calendar-picker-indicator:hover{opacity:1;background:#eaf2fb}input[type=date]::-moz-calendar-picker-indicator{cursor:pointer;opacity:.7}::-webkit-scrollbar{width:12px;height:12px}::-webkit-scrollbar-track{background:#eef2f7;border-left:1px solid #c8d1dc}::-webkit-scrollbar-thumb{background:#a4b0be;border:2px solid #eef2f7}::-webkit-scrollbar-thumb:hover{background:#7a8694}.text-right{text-align:right}.text-center{text-align:center}.divider{background:#c8d1dc;height:1px;margin:10px 0}.mt-8{margin-top:8px}.mt-12{margin-top:12px}.mb-8{margin-bottom:8px}html,body{background:#e9edf2}.login-screen{background:linear-gradient(135deg,#0c4da2 0%,#1e40af 50%,#3b82f6 100%);justify-content:center;align-items:center;width:100%;min-height:100vh;padding:20px;font-family:Tahoma,Segoe UI,Arial,sans-serif;display:flex;position:relative;overflow:hidden}.login-screen:before{content:"";pointer-events:none;background-image:linear-gradient(#ffffff0f 1px,#0000 1px),linear-gradient(90deg,#ffffff0f 1px,#0000 1px);background-size:50px 50px;position:absolute;inset:0}.login-card{z-index:1;box-sizing:border-box;background:#fff;border-radius:20px;width:100%;max-width:420px;padding:36px 32px 22px;position:relative;box-shadow:0 24px 60px #00000040}.login-brand{align-items:center;gap:14px;margin-bottom:22px;display:flex}.login-logo{color:#fff;letter-spacing:1px;background:linear-gradient(135deg,#0c4da2,#1e40af);border-radius:14px;flex-shrink:0;justify-content:center;align-items:center;width:52px;height:52px;font-size:17px;font-weight:900;display:flex;box-shadow:0 8px 20px #0c4da259}.login-brand-title{color:#0f172a;letter-spacing:-.3px;font-size:17px;font-weight:800;line-height:1.15}.login-brand-sub{color:#94a3b8;letter-spacing:.6px;text-transform:uppercase;margin-top:4px;font-size:10px;font-weight:700}.login-tabs{box-sizing:border-box;background:#f1f5f9;border-radius:10px;margin-bottom:20px;padding:4px;display:flex}.login-tab{color:#64748b;cursor:pointer;box-sizing:border-box;background:0 0;border:none;border-radius:7px;flex:1;padding:9px;font-family:inherit;font-size:13px;font-weight:700;transition:all .15s}.login-tab.active{color:#0c4da2;background:#fff;box-shadow:0 2px 6px #00000014}.login-tab:hover:not(.active){color:#0f172a}.login-form{box-sizing:border-box;flex-direction:column;gap:14px;width:100%;display:flex}.login-input-group{box-sizing:border-box;width:100%;display:block}.login-input-group label{color:#64748b;text-transform:uppercase;letter-spacing:.6px;margin-bottom:6px;font-size:11px;font-weight:800;display:block}.login-input{color:#0f172a;box-sizing:border-box;background:#fff;border:1.5px solid #e2e8f0;border-radius:10px;outline:none;width:100%;padding:12px 14px;font-family:inherit;font-size:13.5px;transition:border .15s,box-shadow .15s;display:block}.login-input:focus{border-color:#0c4da2;box-shadow:0 0 0 4px #0c4da21a}.login-input::placeholder{color:#cbd5e1}.login-pwd-wrap{box-sizing:border-box;width:100%;display:block;position:relative}.login-pwd-wrap .login-input{padding-right:44px}.login-pwd-toggle{color:#94a3b8;cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;width:32px;height:32px;padding:0;transition:all .15s;display:flex;position:absolute;top:50%;right:6px;transform:translateY(-50%)}.login-pwd-toggle:hover{color:#0c4da2;background:#f1f5f9}.login-save{color:#64748b;cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;margin-top:-2px;font-size:12.5px;display:flex}.login-save input{accent-color:#0c4da2;cursor:pointer;width:15px;height:15px;margin:0}.login-submit{color:#fff;letter-spacing:.8px;cursor:pointer;text-transform:uppercase;box-sizing:border-box;background:linear-gradient(135deg,#0c4da2,#1e40af);border:none;border-radius:10px;width:100%;margin-top:4px;padding:13px;font-family:inherit;font-size:13px;font-weight:800;transition:all .15s;box-shadow:0 6px 16px #0c4da24d}.login-submit:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 10px 22px #0c4da266}.login-submit:disabled{opacity:.6;cursor:not-allowed}.login-msg{color:#991b1b;text-align:center;background:#fee2e2;border:1px solid #fca5a5;border-radius:8px;margin:0;padding:10px 14px;font-size:12.5px;font-weight:600}.login-msg.success{color:#065f46;background:#d1fae5;border-color:#a7f3d0}.login-footer-text{text-align:center;color:#cbd5e1;letter-spacing:.3px;border-top:1px solid #f1f5f9;margin-top:20px;padding-top:16px;font-size:11px}@media (width<=900px){.form-grid,.form-grid-3,.form-grid-single{grid-template-columns:130px 1fr}.stat-row{grid-template-columns:repeat(2,1fr)}.gspn-sidebar{width:60px;min-width:60px}}body,body *{transition:background-color .2s,color .2s,border-color .2s}body.dark-mode{color:#e5e5e5!important;background:#000!important}body.dark-mode .gspn-header{background:linear-gradient(#0a0a0a 0%,#000 100%)!important;border-bottom:1px solid #1a1a1a!important}body.dark-mode .gspn-header-top{border-bottom-color:#1a1a1a!important}body.dark-mode .gspn-header-main .brand-logo{color:#000!important;background:#fff!important}body.dark-mode .gspn-nav{background:#0a0a0a!important;border-top-color:#1a1a1a!important}body.dark-mode .gspn-nav-tab{color:#a3a3a3!important;border-right-color:#1a1a1a!important}body.dark-mode .gspn-nav-tab:hover{color:#fff!important;background:#1a1a1a!important}body.dark-mode .gspn-nav-tab.active{color:#000!important;background:#fff!important}body.dark-mode .gspn-breadcrumb{color:#737373!important;background:#0a0a0a!important;border-bottom-color:#1a1a1a!important}body.dark-mode .gspn-breadcrumb .current{color:#e5e5e5!important}body.dark-mode .gspn-breadcrumb a{color:#60a5fa!important}body.dark-mode .gspn-sidebar{background:#0a0a0a!important;border-right-color:#1a1a1a!important}body.dark-mode .sidebar-group-header{color:#60a5fa!important;background:#0f0f0f!important;border-bottom-color:#1a1a1a!important}body.dark-mode .sidebar-group-header:hover{background:#1a1a1a!important}body.dark-mode .sidebar-item{color:#a3a3a3!important;border-bottom-color:#0a0a0a!important}body.dark-mode .sidebar-item:hover{color:#60a5fa!important;background:#1a1a1a!important}body.dark-mode .sidebar-item.active{color:#fff!important;background:#1e3a5f!important;border-left-color:#60a5fa!important}body.dark-mode .gspn-main,body.dark-mode .gspn-content{background:#000!important}body.dark-mode .panel{background:#0f0f0f!important;border-color:#1a1a1a!important}body.dark-mode .panel-header{color:#60a5fa!important;background:linear-gradient(#1a1a1a 0%,#0a0a0a 100%)!important;border-bottom-color:#262626!important}body.dark-mode .panel-body{background:#0f0f0f!important}body.dark-mode .stat-box,body.dark-mode .stat-box.proses,body.dark-mode .stat-box.pending,body.dark-mode .stat-box.running,body.dark-mode .stat-box.solusi,body.dark-mode .stat-box.selesai,body.dark-mode .stat-box.batal,body.dark-mode .stat-box.pendapatan{background:#0f0f0f!important;border-color:#1a1a1a!important}body.dark-mode .stat-box:hover{background:#1a1a1a!important}body.dark-mode .stat-box .stat-label{color:#737373!important}body.dark-mode .stat-box .stat-value,body.dark-mode .stat-box .stat-value.money{color:#fff!important}body.dark-mode .table-wrap{background:#0f0f0f!important;border-color:#1a1a1a!important}body.dark-mode .data-table thead th{color:#60a5fa!important;background:linear-gradient(#1a1a1a 0%,#0a0a0a 100%)!important;border-color:#262626!important}body.dark-mode .data-table tbody td{color:#d4d4d4!important;background:#0f0f0f!important;border-color:#1a1a1a!important}body.dark-mode .data-table tbody tr:nth-child(2n) td{background:#0a0a0a!important}body.dark-mode .data-table tbody tr:hover td{background:#1a1a1a!important}body.dark-mode .data-table tfoot td{color:#fff!important;background:#0a0a0a!important}body.dark-mode .filter-bar{background:#0a0a0a!important;border-bottom-color:#1a1a1a!important}body.dark-mode .form-input,body.dark-mode .form-select,body.dark-mode .form-textarea,body.dark-mode .login-input,body.dark-mode input[type=date],body.dark-mode input[type=text],body.dark-mode input[type=number],body.dark-mode input[type=email],body.dark-mode input[type=password]{color:#fff!important;background:#000!important;border-color:#262626!important}body.dark-mode .form-input:focus,body.dark-mode .form-select:focus,body.dark-mode .form-textarea:focus{border-color:#60a5fa!important;box-shadow:0 0 0 3px #60a5fa26!important}body.dark-mode .form-input:disabled,body.dark-mode .form-input[readonly]{color:#737373!important;background:#0a0a0a!important}body.dark-mode .form-label{color:#a3a3a3!important}body.dark-mode .info-bar{color:#93c5fd!important;background:#0a1929!important;border-color:#1e3a5f #1e3a5f #1e3a5f #60a5fa!important}body.dark-mode .btn{color:#fff!important;background:linear-gradient(#333,#1a1a1a)!important;border-color:#262626!important}body.dark-mode .btn:hover:not(:disabled){background:linear-gradient(#525252,#333)!important;border-color:#404040!important}body.dark-mode .btn:active:not(:disabled){background:linear-gradient(#1a1a1a,#0a0a0a)!important}body.dark-mode .btn:disabled{color:#525252!important;background:linear-gradient(#1a1a1a,#0a0a0a)!important}body.dark-mode .stepper{background:#0a0a0a!important;border-color:#1a1a1a!important}body.dark-mode .step-circle{color:#737373!important;background:#1a1a1a!important;border-color:#0a0a0a!important;box-shadow:0 0 0 1px #262626!important}body.dark-mode .step.done .step-circle{color:#fff!important;background:#059669!important;box-shadow:0 0 0 1px #059669!important}body.dark-mode .step.active .step-circle{color:#fff!important;background:#2563eb!important;box-shadow:0 0 0 3px #2563eb4d!important}body.dark-mode .step-label{color:#737373!important}body.dark-mode .step.active .step-label{color:#60a5fa!important}body.dark-mode .step.done .step-label{color:#10b981!important}body.dark-mode .step-time{color:#525252!important}body.dark-mode .gspn-footer{color:#525252!important;background:#0a0a0a!important;border-top-color:#1a1a1a!important}body.dark-mode .part-section{background:#0a0a0a!important;border-color:#1a1a1a!important}body.dark-mode .part-section-header{color:#60a5fa!important;background:linear-gradient(#1a1a1a,#0a0a0a)!important;border-color:#262626!important}body.dark-mode .part-section-body{background:#0f0f0f!important}body.dark-mode .part-table{background:#0f0f0f!important;border-color:#1a1a1a!important}body.dark-mode .part-table th{color:#a3a3a3!important;background:#0a0a0a!important;border-color:#1a1a1a!important}body.dark-mode .part-table td{color:#d4d4d4!important;background:#0f0f0f!important;border-color:#1a1a1a!important}body.dark-mode .part-picker{background:#0f0f0f!important}body.dark-mode .part-picker-search{background:#0a0a0a!important;border-bottom-color:#1a1a1a!important}body.dark-mode .part-picker-item{color:#d4d4d4!important;background:#0f0f0f!important;border-bottom-color:#1a1a1a!important}body.dark-mode .part-picker-item:hover{background:#1a1a1a!important}body.dark-mode .pk-model{color:#d4d4d4!important}body.dark-mode .modal{background:#0f0f0f!important;border-color:#262626!important}body.dark-mode .modal-header{background:linear-gradient(#1a1a1a,#0a0a0a)!important}body.dark-mode .modal-body{color:#e5e5e5!important;background:#0f0f0f!important}body.dark-mode .history-time{color:#737373!important}body.dark-mode .history-user{color:#60a5fa!important}body.dark-mode .history-field-label{color:#a3a3a3!important}body.dark-mode .history-old{color:#fca5a5!important;background:#3f1d1d!important}body.dark-mode .history-new{color:#86efac!important;background:#1a3a26!important}body.dark-mode .status-badge,body.dark-mode .role-badge,body.dark-mode .status-proses,body.dark-mode .status-pending,body.dark-mode .status-running,body.dark-mode .status-solusi,body.dark-mode .status-selesai,body.dark-mode .status-batal,body.dark-mode .user-status-approved,body.dark-mode .user-status-pending,body.dark-mode .user-status-inactive,body.dark-mode .user-status-rejected{color:#e5e5e5!important}body.dark-mode h1,body.dark-mode h2,body.dark-mode h3,body.dark-mode h4,body.dark-mode h5,body.dark-mode h6{color:#fff!important}body.dark-mode a{color:#60a5fa!important}body.dark-mode .chart-card-sub,body.dark-mode .chart-empty{color:#737373!important}body.dark-mode .photo-section-body{background:#0f0f0f!important}body.dark-mode .photo-empty{color:#737373!important}body.dark-mode .photo-progress{color:#93c5fd!important;background:#0a1929!important;border-left-color:#60a5fa!important}body.dark-mode .login-screen{background:linear-gradient(135deg,#000 0%,#0a0a0a 50%,#1a1a1a 100%)!important}body.dark-mode .login-card{background:#0f0f0f!important;border:1px solid #262626!important}body.dark-mode .login-brand-title{color:#fff!important}body.dark-mode .login-brand-sub{color:#737373!important}body.dark-mode .login-tabs{background:#1a1a1a!important}body.dark-mode .login-tab{color:#a3a3a3!important}body.dark-mode .login-tab.active{color:#60a5fa!important;background:#0f0f0f!important;box-shadow:0 2px 6px #00000080!important}body.dark-mode .login-input-group label{color:#a3a3a3!important}body.dark-mode .login-input{color:#fff!important;background:#000!important;border-color:#262626!important}body.dark-mode .login-input:focus{border-color:#60a5fa!important;box-shadow:0 0 0 4px #60a5fa26!important}body.dark-mode .login-save{color:#a3a3a3!important}body.dark-mode .login-footer-text{color:#525252!important;border-top-color:#1a1a1a!important}body.dark-mode .lightbox-backdrop{background:#000000fa!important}body.dark-mode [style*="color: #0C4DA2"],body.dark-mode [style*="color:#0C4DA2"]{color:#60a5fa!important}body.dark-mode [style*="color: #0f172a"],body.dark-mode [style*="color:#0f172a"],body.dark-mode [style*="color: #1a1a1a"],body.dark-mode [style*="color:#1a1a1a"],body.dark-mode [style*="color: #334155"],body.dark-mode [style*="color:#334155"],body.dark-mode [style*="color: #1e293b"],body.dark-mode [style*="color:#1e293b"],body.dark-mode [style*="color: #111827"],body.dark-mode [style*="color:#111827"]{color:#e5e5e5!important}body.dark-mode [style*="background: #fff"],body.dark-mode [style*="background:#fff"],body.dark-mode [style*="background: white"],body.dark-mode [style*="background: #f8fafc"],body.dark-mode [style*="background:#f8fafc"],body.dark-mode [style*="background: #f1f5f9"],body.dark-mode [style*="background:#f1f5f9"],body.dark-mode [style*="background: #eaf2fb"],body.dark-mode [style*="background:#eaf2fb"],body.dark-mode [style*="background: #eff6ff"],body.dark-mode [style*="background:#eff6ff"],body.dark-mode [style*="background: #f0f7ff"],body.dark-mode [style*="background:#f0f7ff"],body.dark-mode [style*="background: #f9fafb"],body.dark-mode [style*="background:#f9fafb"]{background:#0f0f0f!important}body.dark-mode [style*="border: 1px solid #e2e8f0"],body.dark-mode [style*="border:1px solid #e2e8f0"],body.dark-mode [style*="border: 1px solid #c8d1dc"],body.dark-mode [style*="border:1px solid #c8d1dc"]{border-color:#1a1a1a!important}.dark-toggle-btn{color:#fff;cursor:pointer;background:#ffffff26;border:1px solid #ffffff40;border-radius:3px;align-items:center;gap:5px;margin-right:10px;padding:4px 10px;font-family:inherit;font-size:11px;font-weight:700;transition:background .15s;display:inline-flex}.dark-toggle-btn:hover{background:#ffffff40}.dark-toggle-btn svg{width:13px;height:13px}.chart-grid{grid-template-columns:2fr 1fr;gap:10px;margin-bottom:12px;display:grid}.chart-grid-3{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:12px;display:grid}@media (width<=900px){.chart-grid,.chart-grid-3{grid-template-columns:1fr}}.chart-card{background:#fff;border:1px solid #c8d1dc;border-radius:2px;padding:12px 14px}.chart-card-header{border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;margin-bottom:10px;padding-bottom:8px;display:flex}.chart-card-title{color:#0c4da2;text-transform:uppercase;letter-spacing:.5px;font-size:12.5px;font-weight:800}.chart-card-sub{color:#94a3b8;font-size:10.5px;font-weight:600}.chart-empty{text-align:center;color:#94a3b8;padding:40px 20px;font-size:11.5px;font-style:italic}body.dark-mode .chart-card{background:#1e293b!important;border-color:#334155!important}body.dark-mode .chart-card-header{border-bottom-color:#334155!important}body.dark-mode .chart-card-title{color:#60a5fa!important}body.dark-mode .chart-card-sub{color:#94a3b8!important}.recharts-tooltip-wrapper .recharts-default-tooltip{background:#fff!important;border:1px solid #c8d1dc!important;border-radius:3px!important;font-size:11.5px!important;box-shadow:0 4px 12px #0000001a!important}body.dark-mode .recharts-default-tooltip{color:#f1f5f9!important;background:#1e293b!important;border-color:#334155!important}body.dark-mode .recharts-tooltip-label{color:#f1f5f9!important}.photo-section{background:#f8fafc;border:1px solid #c8d1dc;margin-top:12px}.photo-section-header{color:#0c4da2;background:linear-gradient(#e8eef5,#dbe4ee);border-bottom:1px solid #c8d1dc;justify-content:space-between;align-items:center;padding:5px 10px;font-size:11.5px;font-weight:800;display:flex}.photo-section-body{padding:10px}.photo-grid{grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:8px;display:grid}.photo-item{aspect-ratio:1;cursor:pointer;background:#fff;border:1px solid #c8d1dc;border-radius:4px;transition:transform .15s,box-shadow .15s;position:relative;overflow:hidden}.photo-item:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001f}.photo-item img{object-fit:cover;width:100%;height:100%;display:block}.photo-item-label{color:#fff;text-transform:uppercase;letter-spacing:.3px;background:linear-gradient(#0000,#000000b3);padding:4px 6px 3px;font-size:9px;font-weight:700;position:absolute;bottom:0;left:0;right:0}.photo-item-delete{color:#fff;cursor:pointer;z-index:2;background:#dc2626e6;border:none;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;font-size:14px;font-weight:700;line-height:1;transition:background .15s;display:flex;position:absolute;top:4px;right:4px}.photo-item-delete:hover{background:#dc2626}.photo-add-btn{aspect-ratio:1;cursor:pointer;color:#64748b;background:#fff;border:2px dashed #cbd5e1;border-radius:4px;flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:8px;font-size:10.5px;font-weight:700;transition:all .15s;display:flex}.photo-add-btn:hover{color:#0c4da2;background:#eef4fc;border-color:#0c4da2}.photo-add-btn svg{width:26px;height:26px}.photo-add-btn:disabled{opacity:.5;cursor:not-allowed}.photo-empty{text-align:center;color:#94a3b8;padding:16px;font-size:11px}.photo-progress{color:#1e40af;background:#eaf2fb;border-left:3px solid #0c4da2;margin-top:8px;padding:6px 10px;font-size:11px;font-weight:700}.photo-progress.error{color:#991b1b;background:#fee2e2;border-left-color:#dc2626}.photo-badge-count{color:#fff;background:#0c4da2;border-radius:10px;margin-left:6px;padding:1px 7px;font-size:9.5px;font-weight:800;display:inline-block}.lightbox-backdrop{z-index:3000;background:#000000e6;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.lightbox-content{flex-direction:column;align-items:center;gap:10px;max-width:95vw;max-height:90vh;display:flex}.lightbox-img{object-fit:contain;background:#111;border-radius:4px;max-width:100%;max-height:80vh;box-shadow:0 8px 40px #00000080}.lightbox-close{color:#fff;cursor:pointer;background:#ffffff26;border:1px solid #ffffff4d;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;font-size:22px;font-weight:700;display:flex;position:absolute;top:20px;right:20px}.lightbox-close:hover{background:#dc2626}.lightbox-nav{color:#fff;cursor:pointer;background:#ffffff26;border:1px solid #ffffff4d;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;font-size:22px;font-weight:700;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.lightbox-nav:hover{background:#ffffff4d}.lightbox-nav.prev{left:20px}.lightbox-nav.next{right:20px}.lightbox-info{color:#fffc;text-align:center;font-size:12px;font-weight:600}body.dark-mode .photo-section{background:#1a2333!important;border-color:#334155!important}body.dark-mode .photo-section-header{color:#60a5fa!important;background:linear-gradient(#1a2333,#15202f)!important;border-color:#334155!important}body.dark-mode .photo-item{background:#1e293b!important;border-color:#334155!important}body.dark-mode .photo-add-btn{color:#94a3b8!important;background:#0f172a!important;border-color:#334155!important}body.dark-mode .photo-add-btn:hover{color:#60a5fa!important;border-color:#60a5fa!important}.gspn-header-main .brand-text{flex-direction:row!important;align-items:baseline!important;gap:12px!important;display:flex!important}.gspn-header-main .brand-title{letter-spacing:1px!important;margin:0!important;font-size:15px!important;font-weight:900!important;line-height:1!important}.gspn-header-main .brand-sub{opacity:.75!important;letter-spacing:.8px!important;text-transform:uppercase!important;border-left:1px solid #ffffff59!important;align-self:center!important;margin:0!important;padding-left:12px!important;font-size:9px!important;font-weight:600!important}.modal-header>div:first-child{flex-direction:row!important;align-items:baseline!important;gap:10px!important;display:flex!important}.modal-header .subtitle{order:2;opacity:.75!important;letter-spacing:1px!important;text-transform:uppercase!important;border-right:1px solid #ffffff59!important;margin:0!important;padding-right:10px!important;font-size:10px!important}.modal-header .title{order:1;font-size:12px!important;font-weight:800!important}input[type=date]{position:relative;cursor:pointer!important;padding-right:36px!important}input[type=date]::-webkit-calendar-picker-indicator{z-index:2;position:absolute;top:0;right:0;cursor:pointer!important;opacity:0!important;width:100%!important;height:100%!important;margin:0!important;padding:0!important}input[type=date]{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%230C4DA2' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><rect x='3' y='4' width='18' height='18' rx='2' ry='2'/><line x1='16' y1='2' x2='16' y2='6'/><line x1='8' y1='2' x2='8' y2='6'/><line x1='3' y1='10' x2='21' y2='10'/></svg>");background-position:right 10px center;background-repeat:no-repeat;background-size:14px 14px}input[type=date]:hover{background-color:#f8fafc!important;border-color:#0c4da2!important}select,.form-select,.filter-bar select,.filter-bar .form-select{appearance:none;letter-spacing:0!important;text-overflow:ellipsis!important;white-space:nowrap!important;box-sizing:border-box!important;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 10 10'><path fill='%2364748b' d='M1 3l4 4 4-4z'/></svg>")!important;background-position:right 8px center!important;background-repeat:no-repeat!important;background-size:10px 10px!important;width:auto!important;min-width:175px!important;padding:5px 28px 5px 10px!important;font-family:Tahoma,Segoe UI,Arial,sans-serif!important;font-size:11.5px!important;font-style:normal!important;font-weight:500!important;line-height:1.3!important;overflow:hidden!important}select option,.form-select option{padding:8px!important;font-family:Tahoma,Segoe UI,Arial,sans-serif!important;font-size:12px!important;font-style:normal!important;font-weight:500!important}.gspn-sidebar .sidebar-items>a.sidebar-item,.gspn-sidebar .sidebar-item{text-align:left!important;box-sizing:border-box!important;float:none!important;width:100%!important;padding:8px 12px 8px 28px!important;font-weight:500!important;display:block!important}.gspn-sidebar .sidebar-item:hover{padding-left:32px!important}.gspn-sidebar .sidebar-item.active{padding-left:25px!important;font-weight:700!important}.gspn-sidebar .sidebar-group-header{text-align:left!important;justify-content:flex-start!important}.gspn-sidebar .sidebar-subitem{padding-left:42px!important}
