html{overflow-y:scroll !important;scrollbar-gutter:stable !important}.app-layout{display:flex !important;min-height:100vh !important;align-items:stretch !important;min-width:0 !important;width:100% !important;max-width:100vw !important;box-sizing:border-box !important;overflow-x:hidden !important}.sidebar-backdrop{display:none;position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(15,23,42,0.45);z-index:999}.sidebar-backdrop.active{display:block}.app-sidebar{width:250px !important;min-width:250px !important;max-width:250px !important;background-color:#0a2e5c !important;color:#ffffff !important;display:flex !important;flex-direction:column !important;flex-shrink:0 !important;transition:transform 0.25s ease,margin-left 0.25s ease !important;z-index:100 !important;position:fixed !important;top:0 !important;left:0 !important;bottom:0 !important;height:100vh !important;max-height:100vh !important;overflow-y:auto !important;scrollbar-width:none !important;-ms-overflow-style:none !important;box-sizing:border-box !important}.app-sidebar.sidebar-collapsed{transform:translateX(-250px) !important;margin-left:0 !important}.app-sidebar::-webkit-scrollbar{display:none !important;width:0 !important;height:0 !important}.sidebar-header{padding:18px 20px !important;border-bottom:1px solid rgba(255,255,255,0.1) !important;box-sizing:border-box !important}.brand-title{font-size:15px !important;font-weight:700 !important;letter-spacing:0.5px !important;color:#ffffff !important;display:flex !important;align-items:center !important;gap:8px !important}.brand-sub{font-size:11px !important;color:#94a3b8 !important;margin-top:2px !important}.sidebar-nav{padding:12px 10px !important;flex-grow:1 !important;display:flex !important;flex-direction:column !important;overflow-y:auto !important;scrollbar-width:none !important;-ms-overflow-style:none !important;box-sizing:border-box !important}.sidebar-nav::-webkit-scrollbar{display:none !important;width:0 !important;height:0 !important}.nav-section-title{font-size:10px !important;text-transform:uppercase !important;letter-spacing:1px !important;color:#94a3b8 !important;padding:12px 10px 4px 10px !important;font-weight:700 !important;display:block !important}.nav-item{display:flex !important;align-items:center !important;gap:10px !important;padding:9px 12px !important;color:#cbd5e1 !important;text-decoration:none !important;border-radius:6px !important;font-size:13px !important;font-weight:500 !important;cursor:pointer !important;transition:background-color 0.15s,color 0.15s !important;margin-bottom:2px !important;white-space:nowrap !important;box-sizing:border-box !important}.nav-item:hover{background-color:rgba(255,255,255,0.08) !important;color:#ffffff !important}.nav-item.active{background-color:#2563eb !important;color:#ffffff !important;font-weight:600 !important}.nav-item-catalog-portal{background-color:rgba(255,255,255,0.12) !important;border:1px solid rgba(255,255,255,0.22) !important;color:#ffffff !important;font-weight:700 !important}.nav-item-catalog-portal:hover{background-color:rgba(255,255,255,0.22) !important;border-color:rgba(255,255,255,0.38) !important;color:#ffffff !important}.portal-badge{margin-left:auto !important;font-size:9px !important;background-color:#059669 !important;color:#ffffff !important;padding:1px 5px !important;border-radius:4px !important;font-weight:800 !important;letter-spacing:0.4px !important;text-transform:uppercase !important}.nav-icon{width:16px !important;height:16px !important;min-width:16px !important;min-height:16px !important;max-width:16px !important;max-height:16px !important;flex-shrink:0 !important;display:inline-block !important;opacity:0.85 !important}.sidebar-footer{padding:14px 16px !important;border-top:1px solid rgba(255,255,255,0.1) !important;font-size:11px !important;color:#94a3b8 !important;box-sizing:border-box !important}.app-main{flex:1 1 0% !important;display:flex !important;flex-direction:column !important;min-width:0 !important;margin-left:250px !important;max-width:calc(100% - 250px) !important;width:calc(100% - 250px) !important;overflow-x:hidden !important;box-sizing:border-box !important;transition:margin-left 0.2s cubic-bezier(0.4,0,0.2,1) !important}.app-sidebar.sidebar-collapsed ~ .app-main,.app-sidebar.sidebar-collapsed + .app-main{margin-left:0 !important;max-width:100% !important;width:100% !important}@media (max-width:1024px){.app-sidebar{position:fixed !important;top:0 !important;left:0 !important;bottom:0 !important;width:250px !important;max-width:80vw !important;height:100dvh !important;max-height:100dvh !important;padding-top:max(env(safe-area-inset-top,0px),0px) !important;padding-bottom:max(env(safe-area-inset-bottom,0px),16px) !important;margin-left:0 !important;transform:translateX(-100%) !important;box-shadow:0 20px 25px -5px rgba(0,0,0,0.25),0 10px 10px -5px rgba(0,0,0,0.15) !important;z-index:1000 !important;overflow-y:auto !important}.app-sidebar.sidebar-collapsed{margin-left:0 !important;transform:translateX(-100%) !important}.app-sidebar.mobile-open{transform:translateX(0) !important}.app-sidebar .sidebar-footer{padding-bottom:max(env(safe-area-inset-bottom,0px),20px) !important}.app-main{margin-left:0 !important;max-width:100% !important;width:100% !important}}:root{--color-primary:#0a2e5c;--color-primary-hover:#082347;--color-primary-light:#e8eef6;--color-accent:#059669;--color-accent-hover:#047857;--color-accent-light:#ecfdf5;--color-warning:#d97706;--color-warning-light:#fffbeb;--color-danger:#dc2626;--color-danger-light:#fef2f2;--color-bg-app:#f4f7fb;--color-surface:#ffffff;--color-surface-muted:#f1f5f9;--color-border:#e2e8f0;--color-border-subtle:#cbd5e1;--color-text-main:#0a2e5c;--color-text-secondary:#334155;--color-text-muted:#64748b;--font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--shadow-sm:0 1px 2px 0 rgba(10,46,92,0.05);--shadow-md:0 4px 6px -1px rgba(10,46,92,0.08),0 2px 4px -2px rgba(10,46,92,0.04);--shadow-lg:0 10px 15px -3px rgba(10,46,92,0.1),0 4px 6px -4px rgba(10,46,92,0.05);--radius-sm:6px;--radius-md:6px;--radius-lg:8px}.d-flex{display:flex !important}.d-inline-flex{display:inline-flex !important}.d-none{display:none !important}.d-block{display:block !important}.align-items-center{align-items:center !important}.align-items-start{align-items:flex-start !important}.align-items-end{align-items:flex-end !important}.justify-content-between{justify-content:space-between !important}.justify-content-center{justify-content:center !important}.justify-content-start{justify-content:flex-start !important}.justify-content-end{justify-content:flex-end !important}.flex-column{flex-direction:column !important}.flex-row{flex-direction:row !important}.flex-wrap{flex-wrap:wrap !important}.flex-nowrap{flex-wrap:nowrap !important}.flex-shrink-0{flex-shrink:0 !important}.flex-grow-1{flex-grow:1 !important}.gap-1{gap:4px !important}.gap-2{gap:8px !important}.gap-3{gap:12px !important}.gap-4{gap:16px !important}.mb-1{margin-bottom:4px !important}.mb-2{margin-bottom:8px !important}.mb-3{margin-bottom:12px !important}.mt-1{margin-top:4px !important}.mt-2{margin-top:8px !important}.mt-3{margin-top:12px !important}.ml-auto{margin-left:auto !important}.mr-auto{margin-right:auto !important}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-family);font-size:14px;line-height:1.5;color:var(--color-text-main);background-color:var(--color-bg-app);-webkit-font-smoothing:antialiased}.rupiah-nowrap,.currency{white-space:nowrap !important;font-variant-numeric:tabular-nums}.app-layout{display:flex;min-height:100vh;align-items:stretch;min-width:0;width:100%;max-width:100vw;box-sizing:border-box;overflow-x:hidden}.sidebar-backdrop{display:none;position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(15,23,42,0.45);z-index:999}.sidebar-backdrop.active{display:block}.app-sidebar{width:250px;background-color:var(--color-primary);color:#ffffff;display:flex;flex-direction:column;flex-shrink:0;transition:transform 0.25s ease,margin-left 0.25s ease;z-index:100;position:sticky;top:0;height:100vh;max-height:100vh;overflow-y:auto;scrollbar-width:none;-ms-overflow-style:none}.app-sidebar.sidebar-collapsed{margin-left:-250px}.app-sidebar::-webkit-scrollbar{display:none;width:0;height:0}.sidebar-header{padding:18px 20px;border-bottom:1px solid rgba(255,255,255,0.1)}.brand-title{font-size:15px;font-weight:700;letter-spacing:0.5px;color:#ffffff;display:flex;align-items:center;gap:8px}.brand-sub{font-size:11px;color:#94a3b8;margin-top:2px}.sidebar-nav{padding:12px 10px;flex-grow:1;overflow-y:auto;scrollbar-width:none;-ms-overflow-style:none}.sidebar-nav::-webkit-scrollbar{display:none;width:0;height:0}.nav-section-title{font-size:10px;text-transform:uppercase;letter-spacing:1px;color:#64748b;padding:12px 10px 4px 10px;font-weight:600}.nav-item{display:flex;align-items:center;gap:10px;padding:9px 12px;color:#cbd5e1;text-decoration:none;border-radius:var(--radius-md);font-size:13px;font-weight:500;cursor:pointer;transition:background-color 0.15s,color 0.15s;margin-bottom:2px}.nav-item:hover{background-color:rgba(255,255,255,0.08);color:#ffffff}.nav-item.active{background-color:#2563eb;color:#ffffff;font-weight:600}.nav-item-catalog-portal{background-color:rgba(255,255,255,0.12) !important;border:1px solid rgba(255,255,255,0.22) !important;color:#ffffff !important;font-weight:700 !important}.nav-item-catalog-portal:hover{background-color:rgba(255,255,255,0.22) !important;border-color:rgba(255,255,255,0.38) !important;color:#ffffff !important}.portal-badge{margin-left:auto;font-size:9px;background-color:#059669;color:#ffffff;padding:1px 5px;border-radius:4px;font-weight:800;letter-spacing:0.4px;text-transform:uppercase}.nav-icon{width:16px !important;height:16px !important;min-width:16px !important;min-height:16px !important;max-width:16px !important;max-height:16px !important;flex-shrink:0 !important;display:inline-block;opacity:0.85}.sidebar-footer{padding:14px 16px;border-top:1px solid rgba(255,255,255,0.1);font-size:11px;color:#94a3b8}.app-main{flex:1 1 0%;display:flex;flex-direction:column;min-width:0 !important;max-width:calc(100% - 250px);width:auto;overflow-x:hidden;box-sizing:border-box}.app-sidebar.sidebar-collapsed ~ .app-main,.app-sidebar.sidebar-collapsed + .app-main{max-width:100% !important;width:100% !important}@media (max-width:768px){.app-main{max-width:100% !important;width:100% !important}}.app-topbar{background-color:#ffffff;border-bottom:1px solid #e2e8f0;padding:10px 24px;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:50;gap:12px;box-shadow:0 1px 3px rgba(0,0,0,0.03);min-width:0;max-width:100%;box-sizing:border-box}.topbar-left{display:flex;align-items:center;gap:12px;min-width:0;flex-shrink:1}.sidebar-toggle-btn,.mobile-toggle-btn{display:inline-flex;align-items:center;justify-content:center;background:#ffffff;border:1px solid #cbd5e1;border-radius:var(--radius-md);color:var(--color-primary);font-size:18px;cursor:pointer;padding:5px 8px;flex-shrink:0;transition:all 0.15s ease}.sidebar-toggle-btn:hover,.mobile-toggle-btn:hover{background-color:var(--color-bg-alt);border-color:var(--color-primary)}.project-selector-wrapper{display:flex;align-items:center;gap:8px;min-width:0;flex-shrink:1}.project-select{height:34px;font-size:13px;font-weight:600;color:#0f172a;background-color:#ffffff;border:1px solid #cbd5e1;border-radius:6px;padding:0 10px;max-width:260px;min-width:110px;width:100%;cursor:pointer;outline:none;transition:all 0.15s ease;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.project-select:hover,.project-select:focus{border-color:#0a2e5c;background-color:#ffffff}.topbar-actions{display:flex;align-items:center;gap:6px;flex-shrink:0;margin-left:auto}.topbar-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:34px;padding:0 10px;font-size:12px;font-weight:600;border-radius:6px;border:1px solid #e2e8f0;background:#ffffff;color:#1e293b;cursor:pointer;white-space:nowrap;text-decoration:none;transition:all 0.15s ease;box-shadow:none}.topbar-btn:hover{background:#f8fafc;border-color:#cbd5e1;color:#0a2e5c}.topbar-btn-primary{background:#0a2e5c;border-color:#0a2e5c;color:#ffffff}.topbar-btn-primary:hover{background:#061c39;border-color:#061c39;color:#ffffff}.topbar-btn-pro{background:transparent;border:none;color:#166534;font-weight:700}.topbar-btn-pro:hover{background:#f0fdf4;color:#15803d}#globalAuthBtn{background:transparent;border:none;color:#1e293b}#globalAuthBtn:hover{background:#f1f5f9;color:#0a2e5c}#globalUpgradeBtn{background:transparent;border:none;color:#166534;font-weight:700}#globalUpgradeBtn:hover{background:#f0fdf4;color:#15803d}.topbar-divider{display:inline-block;width:1px;height:18px;background-color:#e2e8f0;margin:0 2px;flex-shrink:0}.app-content{padding:24px;flex-grow:1;min-height:calc(100vh - 70px);position:relative;min-width:0;width:100%;max-width:100%;box-sizing:border-box}.card{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);margin-bottom:20px;min-width:0;width:100%;max-width:100%;box-sizing:border-box}.card-header{padding:14px 20px;border-bottom:1px solid var(--color-border);display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px}.card-title{font-size:15px;font-weight:700;color:var(--color-text-main);display:flex;align-items:center;gap:8px}.card-body{padding:20px;min-width:0;width:100%;max-width:100%;box-sizing:border-box}.tab-panel{display:none;width:100%;min-width:0;max-width:100%;box-sizing:border-box;animation:tabFadeIn 0.12s ease-out}.tab-panel.active{display:block}@keyframes tabFadeIn{from{opacity:0.94}to{opacity:1}}.table-responsive{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;margin-bottom:16px;border-radius:var(--radius-md)}.table{width:100%;border-collapse:collapse;font-size:13px;text-align:left}.table th,.table thead th,table thead th,.table-header-row th{background-color:var(--color-surface-muted);color:var(--color-text-secondary);font-weight:600;padding:9px 12px;border:1px solid var(--color-border);font-size:12px;text-transform:uppercase;letter-spacing:0.3px;text-align:center !important;vertical-align:middle !important}.table td{padding:9px 12px;border:1px solid var(--color-border);color:var(--color-text-main);vertical-align:middle}.table tbody tr:hover{background-color:#f8fafc}.table-active{background-color:#f1f5f9;font-weight:600}.total-highlight-row{background-color:#f0fdf4 !important;font-weight:700}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;font-family:inherit;font-size:12px;font-weight:600;height:32px;padding:0 14px;border-radius:6px !important;border:1px solid transparent;cursor:pointer;text-decoration:none;transition:all 0.18s ease-in-out;white-space:nowrap;box-sizing:border-box;flex-shrink:0;box-shadow:none !important}.btn-sm{height:28px;padding:0 10px;font-size:11.5px;border-radius:6px !important}.btn-primary{background-color:#0a2e5c !important;border:1px solid #0a2e5c !important;color:#ffffff !important;box-shadow:none !important}.btn-primary:hover{background-color:#082347 !important;border-color:#082347 !important;color:#ffffff !important}.btn-primary:active{background-color:#061c39 !important}.btn-outline{background-color:transparent !important;border:1px solid #cbd5e1 !important;color:#0a2e5c !important;font-weight:600 !important;border-radius:6px !important;box-shadow:none !important;transition:all 0.18s ease-in-out !important}.btn-outline:hover{background-color:#0a2e5c !important;border-color:#0a2e5c !important;color:#ffffff !important;box-shadow:0 2px 6px rgba(10,46,92,0.12) !important}.btn-secondary,.btn-light{background-color:#f8fafc !important;border:1px solid #e2e8f0 !important;color:#334155 !important;font-weight:600 !important;border-radius:6px !important;box-shadow:none !important}.btn-secondary:hover,.btn-light:hover{background-color:#f1f5f9 !important;border-color:#cbd5e1 !important;color:#0a2e5c !important}.btn-accent,.btn-success{background-color:#059669 !important;border:1px solid #059669 !important;color:#ffffff !important;border-radius:6px !important;box-shadow:none !important}.btn-accent:hover,.btn-success:hover{background-color:#047857 !important;border-color:#047857 !important}.btn-danger,.btn-outline-danger{background-color:#fff1f2 !important;border:1px solid #fecdd3 !important;color:#dc2626 !important;font-weight:600 !important;border-radius:6px !important;box-shadow:none !important}.btn-danger:hover,.btn-outline-danger:hover{background-color:#dc2626 !important;border-color:#dc2626 !important;color:#ffffff !important}.topbar-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:32px;padding:0 12px;font-size:12px;font-weight:600;border-radius:6px !important;border:1px solid #e2e8f0;background:#ffffff;color:#1e293b;cursor:pointer;white-space:nowrap;text-decoration:none;transition:all 0.15s ease;box-shadow:none !important}.topbar-btn:hover{background:#f8fafc;border-color:#cbd5e1;color:#0a2e5c}.topbar-btn-primary{background:#0a2e5c !important;border:1px solid #0a2e5c !important;color:#ffffff !important;border-radius:6px !important}.topbar-btn-primary:hover{background:#082347 !important;border-color:#082347 !important}.table-action-btn{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;padding:0;border:1px solid transparent;background:transparent;color:#64748b;border-radius:4px;cursor:pointer;transition:background-color 0.15s,border-color 0.15s,color 0.15s}.table-action-btn:hover{background-color:#f1f5f9;border-color:#e2e8f0;color:#0f172a}.table-action-btn.btn-delete:hover{background-color:#fef2f2;border-color:#fecaca;color:#dc2626}.badge{display:inline-block;padding:2px 7px;font-size:11px;font-weight:600;border-radius:var(--radius-sm);letter-spacing:0.3px;white-space:nowrap}.badge-warning{background-color:var(--color-warning-light);color:var(--color-warning);border:1px solid #fde68a}.badge-success{background-color:#f1f5f9;color:#0a2e5c;border:1px solid #cbd5e1}.badge-light{background-color:var(--color-surface-muted);color:var(--color-text-secondary);border:1px solid var(--color-border)}.filter-bar{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-bottom:16px}.search-input{flex-grow:1;min-width:220px;font-size:13px;padding:7px 12px;border:1px solid var(--color-border);border-radius:var(--radius-md);background-color:var(--color-surface);color:var(--color-text-main)}.search-input:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 2px rgba(37,99,235,0.15)}.select-filter{font-size:13px;padding:7px 12px;border:1px solid var(--color-border);border-radius:var(--radius-md);background-color:var(--color-surface);color:var(--color-text-main);cursor:pointer}.calendar-wrapper{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden}.calendar-header-bar{padding:12px 20px;background-color:var(--color-surface-muted);border-bottom:1px solid var(--color-border);display:flex;align-items:center;justify-content:space-between}.calendar-day-headers{display:grid;grid-template-columns:repeat(7,1fr);background-color:#f1f5f9;border-bottom:1px solid var(--color-border);text-align:center;font-weight:600;font-size:11px;padding:6px 0;color:var(--color-text-secondary)}.calendar-grid-cells{display:grid;grid-template-columns:repeat(7,1fr);border-bottom:1px solid var(--color-border)}.cal-cell{min-height:85px;border-right:1px solid var(--color-border);border-bottom:1px solid var(--color-border);padding:4px;position:relative;background-color:#ffffff;display:flex;flex-direction:column}.cal-cell:nth-child(7n){border-right:none}.cal-empty{background-color:#f8fafc}.cal-weekend .cal-day-num{color:#ef4444}.cal-day-num{font-size:11px;font-weight:700;color:var(--color-text-secondary);margin-bottom:4px}.cal-task-container{display:flex;flex-direction:column;gap:2px;flex-grow:1}.cal-task-pill{font-size:10px;padding:2px 4px;border-radius:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:600}.st-done{background-color:#dcfce7;color:#15803d;border:1px solid #86efac;font-weight:700}.st-progress{background-color:#dbeafe;color:#1d4ed8;border:1px solid #93c5fd;font-weight:600}.st-pending{background-color:#f8fafc;color:#94a3b8;border:1px dashed #cbd5e1;font-weight:500}.st-blocked{background-color:#fee2e2;color:#b91c1c;border:1px solid #fca5a5;font-weight:600}.cal-holiday{background-color:#fff1f2 !important;border-color:#fecdd3 !important}.cal-holiday .cal-day-num{color:#e11d48 !important;font-weight:800}.year-cal-holiday{background-color:#fff1f2 !important}.year-cal-holiday .year-cal-day-num{color:#e11d48 !important;font-weight:800}.holiday-tag{font-size:8.5px;color:#e11d48;font-weight:700}.year-cal-sunday-work{background-color:#f0fdf4 !important;border:1px solid #86efac !important}.year-cal-sunday-work .year-cal-day-num{color:#166534 !important;font-weight:800}.cal-cell.cal-sunday-work{background-color:#f0fdf4 !important;border-top:2px solid #22c55e !important}.cal-cell.cal-sunday-work .cal-day-num{color:#166534 !important;font-weight:800}.modal-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;background-color:rgba(15,23,42,0.65);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:none;align-items:center;justify-content:center;z-index:1000;padding:16px;opacity:0;pointer-events:none;transition:opacity 0.22s cubic-bezier(0.16,1,0.3,1)}.modal-backdrop.open{display:flex !important;opacity:1 !important;pointer-events:auto !important}.modal-dialog{background-color:#ffffff;border-radius:14px;max-width:650px;width:100%;max-height:90vh;max-height:90dvh;display:flex;flex-direction:column;box-shadow:0 25px 50px -12px rgba(15,23,42,0.35),0 0 0 1px rgba(226,232,240,0.9);overflow:hidden;transform:scale(0.95) translateY(-8px);transition:transform 0.22s cubic-bezier(0.16,1,0.3,1),opacity 0.22s ease}.modal-dialog > form,#dynamicModalForm{display:flex;flex-direction:column;flex:1 1 auto;min-height:0;overflow:hidden}.modal-backdrop.open .modal-dialog{transform:scale(1) translateY(0)}.modal-dialog.modal-notification{max-width:520px;border:1px solid #e2e8f0}.notification-icon-badge{width:32px;height:32px;border-radius:8px;background:#eff6ff;display:inline-flex;align-items:center;justify-content:center;font-size:16px;flex-shrink:0;border:1px solid #bfdbfe}.notification-icon-badge.success{background:#ecfdf5;border-color:#a7f3d0}.notification-icon-badge.warning{background:#fffbeb;border-color:#fde68a}.notification-icon-badge.error{background:#fef2f2;border-color:#fecaca}.modal-dialog.modal-lg{max-width:850px}.modal-header{padding:16px 20px;border-bottom:1px solid var(--color-border);display:flex;align-items:center;justify-content:space-between;background:#f8fafc;flex-shrink:0}.modal-body{padding:20px;overflow-y:auto;flex:1 1 auto;min-height:0;max-height:none;-webkit-overflow-scrolling:touch}.modal-footer{padding:14px 20px;border-top:1px solid var(--color-border);display:flex;align-items:center;justify-content:flex-end;gap:10px;background-color:#f8fafc;flex-shrink:0}.calendar-popup-card{background:#ffffff;border:1px solid #e2e8f0;border-radius:8px;padding:12px 14px;margin-bottom:10px;box-shadow:0 1px 3px rgba(0,0,0,0.03)}.calendar-popup-card:last-child{margin-bottom:0}.calendar-popup-card.holiday{background:#fffafa}.calendar-popup-title{font-weight:800;font-size:13.5px;color:#0f172a;display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.calendar-popup-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px;font-size:11.5px;color:#475569}.form-group{margin-bottom:14px}.form-label{display:block;font-size:12px;font-weight:600;color:var(--color-text-secondary);margin-bottom:4px}.form-control{width:100%;padding:8px 12px;font-size:13px;border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-main);background-color:#ffffff}.form-control:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 2px rgba(37,99,235,0.15)}.form-row{display:flex;gap:12px;flex-wrap:wrap}.form-row .form-group{flex:1;min-width:140px}.text-right{text-align:right}.text-center{text-align:center}.text-muted{color:var(--color-text-muted)}.text-primary{color:#2563eb}.text-success{color:var(--color-accent)}.text-warning{color:var(--color-warning)}.font-bold{font-weight:700}.mb-2{margin-bottom:8px}.mb-3{margin-bottom:12px}.mb-4{margin-bottom:16px}.mt-3{margin-top:12px}.mt-4{margin-top:16px}.mt-5{margin-top:24px}@media (max-width:1200px){.topbar-badge{display:none !important}.upgrade-btn-price{display:none !important}.project-select{max-width:210px !important}}@media (max-width:1024px){.app-sidebar{position:fixed !important;top:0 !important;left:0 !important;bottom:0 !important;height:100vh !important;max-height:100vh !important;margin-left:0 !important;transform:translateX(-100%) !important;box-shadow:0 20px 25px -5px rgba(0,0,0,0.25),0 10px 10px -5px rgba(0,0,0,0.15) !important;z-index:1000 !important;transition:transform 0.25s cubic-bezier(0.4,0,0.2,1) !important}.app-sidebar.sidebar-collapsed{margin-left:0 !important}.app-sidebar.mobile-open{transform:translateX(0) !important}.mobile-toggle-btn{display:inline-flex !important;align-items:center !important;justify-content:center !important}.app-content{padding:14px !important}.app-topbar{padding:8px 14px !important}.project-select{max-width:180px !important}.auto-sync-status .sync-text-full{display:none !important}.auto-sync-status .sync-text-mobile{display:inline !important}.topbar-actions{gap:4px !important}.topbar-divider{display:none !important}.calendar-day-headers{font-size:9px}.cal-cell{min-height:65px;padding:2px}.cal-task-pill{font-size:8px;padding:1px 2px}}@media (max-width:350px){body{font-size:13px}.app-content{padding:8px}.card-body{padding:12px}.project-select{max-width:140px}.btn{padding:5px 10px;font-size:12px}}.modal-dialog.modal-md{max-width:580px}.modal-dialog.modal-sm{max-width:440px}.modal-help-text{font-size:11px;color:var(--color-text-muted);margin-top:4px}.modal-field-required{color:#ef4444;margin-left:3px;font-weight:700}.modal-section-divider{border-top:1px solid var(--color-border);margin:16px 0 12px 0;padding-top:8px;font-weight:700;font-size:11px;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:0.5px}.vol-input-clean{width:120px;font-weight:700;text-align:right;padding:6px 10px;font-size:13px;border:1px solid #cbd5e1;border-radius:var(--radius-md);background-color:#ffffff;color:#0f172a;transition:all 0.15s ease}.vol-input-clean:focus{border-color:#2563eb;background-color:#eff6ff;outline:none;box-shadow:0 0 0 2px rgba(37,99,235,0.15)}.badge-custom-index{background-color:#fef3c7;color:#92400e;border:1px solid #fde68a;font-size:11px;font-weight:600;padding:3px 8px;border-radius:4px}.print-only,#printableAhspBatchArea{display:none !important}.global-loader-backdrop{position:fixed;top:0;left:0;width:100vw;height:100vh;background-color:rgba(15,23,42,0.6);backdrop-filter:blur(3px);z-index:999999;display:flex;align-items:center;justify-content:center}.loader-content-box{background-color:#ffffff;border-radius:12px;padding:24px 32px;box-shadow:0 20px 25px -5px rgba(0,0,0,0.25),0 10px 10px -5px rgba(0,0,0,0.1);display:flex;flex-direction:column;align-items:center;gap:12px;min-width:250px;text-align:center}.loader-spinner{width:44px;height:44px;border:4px solid #e2e8f0;border-top-color:#0a2e5c;border-right-color:#2563eb;border-radius:50%;animation:appLoaderSpin 0.75s linear infinite}@keyframes appLoaderSpin{to{transform:rotate(360deg)}}.loader-message{font-size:14px;font-weight:700;color:#0f172a}.loader-sub{font-size:11px;color:#64748b}.page-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px;gap:16px;flex-wrap:wrap}.page-header-title{font-size:18px;font-weight:800;color:#0f172a;letter-spacing:-0.2px;margin-bottom:4px;display:flex;align-items:center;gap:8px}.page-header-sub{font-size:12px;color:#64748b;line-height:1.4}.page-header-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.region-selector-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:14px 18px;margin-bottom:16px}.item-labor-box{background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;padding:8px 12px;margin-top:6px;font-size:11.5px}.item-labor-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px;font-weight:600;color:#334155}.item-labor-chips{display:flex;flex-wrap:wrap;gap:6px}.item-labor-chip{background:#ffffff;border:1px solid #cbd5e1;border-radius:4px;padding:2px 8px;font-size:11px;color:#1e293b;display:inline-flex;align-items:center;gap:4px}.item-labor-chip strong{color:#0f172a}.dashboard-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px;margin-bottom:14px}.stat-card{background:#ffffff;border:1px solid #e2e8f0;border-radius:6px;padding:10px 14px;box-shadow:0 1px 2px rgba(15,23,42,0.04);transition:border-color 0.2s ease}.stat-card:hover{border-color:#cbd5e1}.stat-label{font-size:10.5px;text-transform:uppercase;font-weight:700;letter-spacing:0.5px;color:#64748b;margin-bottom:4px}.stat-value{font-size:17px;font-weight:800;color:#0f172a;line-height:1.2}.stat-sub{font-size:10.5px;color:#94a3b8;margin-top:3px}.kurva-kpi-bar{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;background:#ffffff;border:1px solid #e2e8f0;border-radius:8px;padding:8px 12px;box-sizing:border-box;box-shadow:0 1px 3px rgba(15,23,42,0.04)}.kpi-cell{padding:4px 8px;border-right:1px solid #f1f5f9}.kpi-cell:last-child{border-right:none}.kpi-cell-label{font-size:10px;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:0.5px;margin-bottom:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kpi-cell-value{font-size:15px;font-weight:800;color:#0f172a;line-height:1.2;white-space:nowrap}.kpi-cell-sub{font-size:10.5px;color:#94a3b8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media (max-width:768px){.kurva-kpi-bar{grid-template-columns:repeat(2,1fr);gap:8px;padding:8px 10px}.kpi-cell:nth-child(2){border-right:none}.kpi-cell{border-bottom:1px solid #f1f5f9;padding-bottom:6px}.kpi-cell:nth-child(3),.kpi-cell:nth-child(4){border-bottom:none;padding-top:4px}}.calendar-master-container{display:flex;flex-direction:column;gap:16px}.calendar-top-controls{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;background:var(--color-surface,#ffffff);border:1px solid var(--color-border,#e2e8f0);border-radius:var(--radius-md,8px);padding:10px 16px}.year-calendar-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}@media (max-width:1024px){.year-calendar-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:640px){.year-calendar-grid{grid-template-columns:1fr}}.year-month-card{background:#ffffff;border:1px solid #cbd5e1;border-radius:8px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 1px 3px rgba(0,0,0,0.05);transition:transform 0.15s ease,box-shadow 0.15s ease}.year-month-card:hover{box-shadow:0 4px 10px rgba(0,0,0,0.08)}.year-month-header{padding:8px 12px;background:#f8fafc;border-bottom:1px solid #e2e8f0;display:flex;align-items:center;justify-content:space-between}.year-month-title{font-size:13px;font-weight:800;color:#0f172a}.year-month-sub{font-size:10.5px;color:#64748b}.year-month-badge{font-size:10px;font-weight:700;padding:2px 7px;border-radius:12px}.badge-active{background:#f1f5f9;color:#0f172a;border:1px solid #cbd5e1}.badge-idle{background:#f1f5f9;color:#64748b}.year-cal-day-headers{display:grid;grid-template-columns:repeat(7,1fr);background:#f1f5f9;border-bottom:1px solid #e2e8f0;text-align:center;font-size:10px;font-weight:700;color:#475569;padding:4px 0}.year-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);background:#ffffff;padding:6px;gap:3px}.year-cal-cell{min-height:32px;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:4px;position:relative;font-size:11px;font-weight:600;color:#1e293b;cursor:pointer;transition:background 0.12s}.year-cal-cell:hover:not(.year-cal-empty){background:#e2e8f0}.year-cal-empty{cursor:default;background:transparent}.year-cal-weekend{color:#64748b}.year-cal-active{background:#f1f5f9;border:1px solid #cbd5e1;font-weight:700}.year-cal-indicator{display:inline-block;width:5px;height:5px;border-radius:50%;margin-top:1px}.dot-done{background-color:#16a34a}.dot-progress{background-color:#2563eb}.dot-pending{background-color:#cbd5e1}.dot-blocked{background-color:#dc2626}.year-month-footer{padding:6px 10px;background:#f8fafc;border-top:1px solid #f1f5f9;display:flex;align-items:center;justify-content:space-between;font-size:11px;color:#64748b}.btn-focus-month{background:transparent;border:1px solid #cbd5e1;padding:2px 7px;font-size:10.5px;border-radius:4px;cursor:pointer;color:#1e40af;font-weight:600}.btn-focus-month:hover{background:#eff6ff;border-color:#93c5fd}.calendar-legend-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:16px;padding:10px 14px;background:#ffffff;border:1px solid #e2e8f0;border-radius:8px;font-size:12px;color:#475569}.legend-item{display:flex;align-items:center;gap:6px}.proposal-page{position:relative;overflow:visible}.proposal-filter-card{background:#ffffff;border:1px solid #cbd5e1;border-radius:8px;padding:16px 20px;margin-bottom:20px;box-sizing:border-box}.proposal-checklist-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(225px,1fr));gap:8px}.proposal-check-item{display:flex;align-items:center;gap:8px;padding:8px 12px;background:#ffffff;border:1px solid #e2e8f0;border-radius:4px;cursor:pointer;transition:all 0.15s ease;user-select:none;box-sizing:border-box;min-height:38px}.proposal-check-item:hover{border-color:#0a2e5c;background:#f8fafc}.proposal-check-item.active{background:#f1f5f9;border-color:#cbd5e1}.proposal-check-input{width:15px;height:15px;margin:0;cursor:pointer;accent-color:#0a2e5c;flex-shrink:0}.proposal-check-info{display:flex;align-items:center;justify-content:space-between;gap:6px;flex:1;min-width:0}.proposal-check-title{font-size:12px;font-weight:600;color:#1e293b;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.proposal-check-desc{display:none}.proposal-check-badge{font-size:9px;font-weight:600;padding:1px 5px;border-radius:3px;background:#e2e8f0;color:#475569;white-space:nowrap}.printable-bap-doc{position:relative;overflow:visible}.modal-dialog.modal-rab-item{max-width:980px;width:95vw;max-height:92vh}.modal-dialog.modal-rab-item .modal-header{padding:12px 20px;background:#f8fafc;border-bottom:1px solid #e2e8f0}.modal-dialog.modal-rab-item .modal-body{padding:14px 18px;max-height:calc(92vh - 120px);overflow-y:visible}.modal-dialog.modal-rab-item .modal-footer{padding:10px 20px;background:#f8fafc;border-top:1px solid #e2e8f0}.rab-modal-container{display:flex;flex-direction:column;gap:10px;width:100%}.rab-modal-mobile-tabs{display:none;background:#e2e8f0;padding:4px;border-radius:8px;gap:4px}.rab-tab-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;padding:8px 12px;border:none;background:transparent;border-radius:6px;font-size:13px;font-weight:700;color:#475569;cursor:pointer;transition:all 0.2s ease}.rab-tab-btn.active{background:#ffffff;color:#0f172a;box-shadow:0 1px 2px rgba(15,23,42,0.08)}.tab-step-num{width:20px;height:20px;border-radius:50%;background:#cbd5e1;color:#475569;font-size:11px;display:flex;align-items:center;justify-content:center;font-weight:800}.rab-tab-btn.active .tab-step-num{background:#0f172a;color:#ffffff}.tab-check-icon{color:#0f172a;font-weight:800}.tab-badge-indicator{font-size:10px;padding:2px 6px;border-radius:4px;background:#f1f5f9;color:#475569;border:1px solid #cbd5e1}.rab-modal-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;align-items:stretch}.rab-modal-col{display:flex;flex-direction:column}.rab-panel-card{height:100%;display:flex;flex-direction:column;border-radius:8px;padding:10px 12px}.left-panel-inner{background:#f8fafc;border:none}.right-panel-inner{background:#ffffff;border:none}.rab-panel-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.rab-panel-title{font-size:12.5px;font-weight:800;color:#0f172a;display:flex;align-items:center;gap:5px}.rab-filter-row{display:grid;grid-template-columns:1fr 1.6fr;gap:6px;margin-bottom:6px}.rab-search-input-wrap{position:relative;display:flex;align-items:center}.btn-clear-search{position:absolute;right:8px;top:50%;transform:translateY(-50%);background:transparent;border:none;font-size:14px;color:#94a3b8;cursor:pointer;padding:0;line-height:1}.btn-clear-search:hover{color:#ef4444}.rab-ahsp-results-wrap{flex:1;max-height:275px;min-height:230px;overflow-y:auto;padding-right:4px;scrollbar-width:thin}.rab-ahsp-card-list{display:flex;flex-direction:column;gap:5px}.rab-ahsp-card{background:#ffffff;border:1px solid #e2e8f0;border-radius:6px;padding:6px 9px;cursor:pointer;transition:all 0.15s ease-in-out;position:relative}.rab-ahsp-card:hover{background:#f0f7ff;border-color:#93c5fd;transform:translateY(-1px);box-shadow:0 1px 3px rgba(37,99,235,0.08)}.rab-ahsp-card.active{background:#f8fafc;border:1.5px solid #0f172a;box-shadow:0 0 0 1px #0f172a}.rab-ahsp-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:2px}.rab-card-code{font-family:monospace;font-weight:700;font-size:10.5px;color:#1e293b;background:#f1f5f9;padding:1px 4px;border-radius:3px}.rab-bidang-tag{font-size:9.5px;font-weight:700;padding:1px 5px;border-radius:3px}.rab-bidang-tag.ck{background:#f1f5f9;color:#334155;border:1px solid #e2e8f0}.rab-bidang-tag.bm{background:#f1f5f9;color:#334155;border:1px solid #e2e8f0}.rab-bidang-tag.sda{background:#f1f5f9;color:#334155;border:1px solid #e2e8f0}.rab-bidang-tag.smkk{background:#f1f5f9;color:#334155;border:1px solid #e2e8f0}.rab-card-price{font-size:11px;font-weight:700;color:#0f172a}.rab-ahsp-card-name{font-size:11.5px;font-weight:600;color:#1e293b;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.rab-selected-chip{position:absolute;top:5px;right:7px;background:#0f172a;color:#ffffff;font-size:9px;font-weight:700;padding:1px 5px;border-radius:3px}.rab-panel-footer-info{margin-top:5px;display:flex;align-items:center;justify-content:space-between;font-size:10.5px;color:#64748b}.rab-field-label{display:flex;align-items:center;justify-content:space-between;font-size:11px;font-weight:700;color:#334155;margin-bottom:3px}.rab-selected-item-box{background:transparent;border:none;padding:0;margin-bottom:12px}.rab-badge-code{font-family:monospace;font-size:10.5px;font-weight:700;background:#f1f5f9;color:#0f172a;padding:1px 5px;border:1px solid #cbd5e1;border-radius:4px}.rab-badge-hsp{font-size:11px;font-weight:700;color:#0f172a;background:#f8fafc;border:1px solid #cbd5e1;padding:2px 7px;border-radius:4px}.rab-item-name-input{font-size:11.5px;line-height:1.35;resize:none;background:#ffffff;border:1px solid #cbd5e1;border-radius:5px;padding:6px 8px;color:#0f172a;min-height:48px;max-height:65px;width:100%;box-sizing:border-box;scrollbar-width:thin}.rab-volume-card{background:transparent;border:none;padding:0;margin-bottom:12px}.rab-volume-card:focus-within{border-color:transparent;box-shadow:none}.rab-volume-label{font-size:11px;font-weight:700;color:#1e293b;margin-bottom:0}.rab-volume-input-group{display:flex;margin-top:3px;height:35px}.rab-volume-input{font-size:16px !important;font-weight:800 !important;color:#0f172a !important;height:35px !important;text-align:right;padding-right:10px;border:1px solid #cbd5e1 !important;border-right:none !important;border-radius:5px 0 0 5px !important;background:#ffffff !important}.rab-volume-unit-tag{background:#f8fafc;color:#0f172a;border:1px solid #cbd5e1;border-left:none;border-radius:0 5px 5px 0;font-weight:800;font-size:11.5px;min-width:48px;display:flex;align-items:center;justify-content:center;padding:0 8px}.rab-subtotal-bar{background:transparent;border:none;border-top:1px solid #e2e8f0;border-bottom:1px solid #e2e8f0;border-radius:0;padding:10px 0;display:flex;align-items:center;justify-content:space-between;margin:12px 0}.rab-subtotal-bar-label{font-size:10px;font-weight:800;color:#64748b;text-transform:uppercase;letter-spacing:0.4px}.rab-subtotal-bar-formula{font-size:11px;color:#475569;font-family:monospace;margin-top:2px}.rab-subtotal-bar-amount{font-size:16px;font-weight:800;color:#0f172a;white-space:nowrap}.rab-notes-input{font-size:11px;height:30px;background:#ffffff;border:1px solid #cbd5e1;border-radius:5px;padding:3px 7px;width:100%;box-sizing:border-box}.rab-mobile-quick-action{display:none !important}@media (max-width:860px){.modal-dialog.modal-rab-item{width:95vw !important;max-width:440px !important;margin:8px auto !important;max-height:94vh !important;border-radius:12px !important}.modal-dialog.modal-rab-item .modal-header{padding:10px 12px !important}.modal-dialog.modal-rab-item .modal-body{padding:10px 12px !important;max-height:calc(94vh - 105px) !important;overflow-y:auto !important}.modal-dialog.modal-rab-item .modal-footer{padding:8px 12px !important;display:flex !important;justify-content:space-between !important;gap:8px !important}.modal-dialog.modal-rab-item .modal-footer .btn{flex:0 0 auto !important;height:32px !important;min-height:32px !important;font-size:12px !important;font-weight:600 !important;display:inline-flex !important;align-items:center !important;justify-content:center !important}.rab-modal-mobile-tabs{display:flex !important;background:#f1f5f9;padding:3px;border-radius:8px;border:1px solid #e2e8f0;gap:3px;margin-bottom:8px}.rab-tab-btn{padding:6px 10px;font-size:12px;font-weight:600;border-radius:6px}.tab-step-num{width:18px;height:18px;font-size:10px}.rab-modal-grid{grid-template-columns:1fr !important;gap:0 !important}.rab-modal-container[data-active-step="1"] .rab-col-left{display:flex !important}.rab-modal-container[data-active-step="1"] .rab-col-right{display:none !important}.rab-modal-container[data-active-step="2"] .rab-col-left{display:none !important}.rab-modal-container[data-active-step="2"] .rab-col-right{display:flex !important}.rab-filter-row{grid-template-columns:1fr !important;gap:5px !important}.rab-ahsp-results-wrap{max-height:calc(80vh - 150px) !important;min-height:200px !important}.rab-ahsp-card{padding:8px 10px !important;min-height:46px !important}}.app-content,.tab-panel,.card,.card-body{max-width:100%;box-sizing:border-box}.d-desktop-only{display:block}.d-mobile-only{display:none}@media (max-width:768px){.d-desktop-only{display:none !important}.d-mobile-only{display:flex !important;flex-direction:column;gap:10px;width:100%;box-sizing:border-box}}@media print{.d-desktop-only{display:block !important}table.d-desktop-only{display:table !important}.table-responsive.d-desktop-only{display:block !important;overflow:visible !important}.d-mobile-only{display:none !important}.signature-clean-grid,.signature-clean-grid.three-parties{display:flex !important;flex-direction:row !important;justify-content:space-between !important;align-items:flex-start !important;gap:12px !important;border:none !important;padding:0 !important;background:transparent !important;page-break-inside:avoid !important;break-inside:avoid !important}.signature-clean-grid .sig-block,.signature-clean-grid.three-parties .sig-block{flex:1 !important;display:flex !important;flex-direction:column !important;align-items:center !important;text-align:center !important;border:none !important;border-bottom:none !important;padding:0 6px !important;min-height:120px !important;page-break-inside:avoid !important;break-inside:avoid !important}.signature-clean-grid .sig-block:last-child{border-bottom:none !important}}.rab-mobile-item-card{background:#ffffff;border:1px solid #e2e8f0;border-radius:10px;padding:12px 14px;box-shadow:0 1px 3px rgba(15,23,42,0.04);display:flex;flex-direction:column;gap:8px;width:100%;box-sizing:border-box;transition:all 0.15s ease}.rab-mobile-item-card:hover{border-color:#cbd5e1;box-shadow:0 2px 6px rgba(15,23,42,0.08)}.rab-mobile-card-top{display:flex;align-items:center;justify-content:space-between;gap:6px;border-bottom:1px solid #f1f5f9;padding-bottom:6px}.rab-mobile-card-total{font-size:15px;font-weight:800;color:#047857;white-space:nowrap}.rab-mobile-card-name{font-size:13.5px;font-weight:700;color:#0f172a;line-height:1.4;word-break:break-word;overflow-wrap:anywhere}.rab-mobile-card-notes{font-size:11.5px;color:#64748b;background:#f8fafc;padding:4px 8px;border-radius:6px;border:none;word-break:break-word}.rab-mobile-card-calc-row{display:flex;align-items:center;justify-content:space-between;background:#f8fafc;border-radius:6px;padding:6px 10px;font-size:12px}.rab-mobile-card-calc-row .calc-label{color:#64748b;font-size:11px}.rab-mobile-card-calc-row .calc-val{color:#1e293b;font-size:12px}.rab-mobile-card-actions{display:flex;align-items:center;gap:8px;margin-top:2px}.rab-mobile-card-actions .btn{height:30px;min-height:30px;font-size:11.5px;font-weight:600}.rab-mobile-div-header{background:#0a2e5c;color:#ffffff;border-radius:8px;padding:10px 14px;display:flex;flex-direction:column;gap:6px;margin-bottom:10px}.rab-mobile-div-header-top{display:flex;align-items:center;justify-content:space-between}.rab-mobile-div-title{font-size:13px;font-weight:800;color:#ffffff}.rab-mobile-div-subtotal{font-size:14px;font-weight:800;color:#a7f3d0}.rab-mobile-div-actions{display:flex;gap:6px;margin-top:4px}.rab-mobile-div-actions .btn{padding:4px 8px;font-size:11px}.rab-mobile-div-footer-card{background:#f8fafc;border:1px solid #cbd5e1;border-radius:8px;padding:10px 14px;display:flex;align-items:center;justify-content:space-between;margin-top:6px}.rekap-mobile-card{background:#ffffff;border:1px solid #e2e8f0;border-radius:10px;padding:12px 14px;display:flex;flex-direction:column;gap:8px;box-shadow:0 1px 3px rgba(15,23,42,0.04)}.rekap-mobile-card-header{display:flex;align-items:center;justify-content:space-between}.rekap-mobile-card-title{font-size:13.5px;font-weight:700;color:#0f172a}.rekap-mobile-progress-bar{height:6px;background:#e2e8f0;border-radius:3px;overflow:hidden;margin-top:2px}.rekap-mobile-progress-fill{height:100%;background:#2563eb;border-radius:3px}.rekap-mobile-grand-total-card{background:#065f46;color:#ffffff;border-radius:12px;padding:16px 18px;display:flex;flex-direction:column;gap:8px;margin-top:14px;box-shadow:0 4px 10px rgba(6,95,70,0.2)}.rekap-grand-total-row{display:flex;align-items:center;justify-content:space-between;font-size:13px}.rekap-grand-total-main{border-top:1px solid rgba(255,255,255,0.25);padding-top:8px;margin-top:4px}.rekap-grand-total-amount{font-size:22px;font-weight:900;color:#34d399}.rekap-grand-total-terbilang{font-size:11.5px;font-style:italic;color:#ecfdf5;line-height:1.4;margin-top:4px}.resource-mobile-card{background:#ffffff;border:1px solid #e2e8f0;border-radius:10px;padding:10px 12px;display:flex;flex-direction:column;gap:6px}.resource-mobile-card-top{display:flex;align-items:center;justify-content:space-between}.resource-mobile-card-name{font-size:13px;font-weight:700;color:#0f172a}.resource-mobile-card-row{display:flex;align-items:center;justify-content:space-between;font-size:12px;color:#475569}.btn-primary-gradient{background:#0a2e5c !important;color:#ffffff !important;border:1px solid #0a2e5c !important;box-shadow:0 1px 3px rgba(10,46,92,0.18)}.btn-primary-gradient:hover{background:#082347 !important;border-color:#082347 !important;color:#ffffff !important}@media (max-width:480px){.d-none-mobile-tiny{display:none !important}}@media (max-width:768px){.d-none-mobile{display:none !important}.app-content{padding:10px !important}.card-header{padding:10px 12px !important}.card-title{font-size:14px !important}.page-header{flex-direction:column !important;align-items:flex-start !important;gap:10px !important}.page-header-actions{width:100% !important;display:flex !important;flex-wrap:wrap !important;gap:6px !important}.page-header-actions .btn{flex:0 0 auto !important;width:auto !important}.proposal-page{max-width:100% !important;min-width:0 !important;min-height:auto !important;padding:10px 8px !important;box-sizing:border-box !important;font-size:11px !important}}.rab-mobile-item-no{font-size:11px;font-weight:700;color:#475569;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:4px;padding:1px 6px;display:inline-block}.signature-clean-grid{display:flex !important;justify-content:space-between !important;align-items:stretch !important;gap:20px !important;margin-top:24px !important;padding:0 !important;background:transparent !important;border:none !important;border-radius:0 !important;text-align:center !important}.signature-clean-grid.three-parties .sig-block,.signature-clean-grid .sig-block{flex:1 !important;display:flex !important;flex-direction:column !important;align-items:center !important;justify-content:space-between !important;min-height:140px !important;text-align:center !important;padding:6px 10px !important;background:transparent !important;border:none !important}.signature-clean-grid .sig-title{font-size:9pt !important;font-weight:800 !important;color:#1e293b !important;margin-bottom:4px !important;text-transform:uppercase !important;letter-spacing:0.3px !important}.signature-clean-grid .sig-space{height:calc(48px + 1cm) !important;min-height:calc(40px + 1cm) !important}.signature-clean-grid .sig-name,.sig-name{font-weight:700 !important;font-size:9.5pt !important;color:#0f172a !important;text-decoration:none !important;border-bottom:none !important}.signature-clean-grid .sig-role{font-size:8pt !important;color:#475569 !important;margin-top:3px !important}@media (max-width:768px){body:not(.printing-batch) .signature-clean-grid:not(.three-parties){flex-direction:column !important;gap:16px !important;padding:0 !important}.signature-clean-grid .sig-block{min-height:110px !important;border-bottom:1px dashed #e2e8f0 !important;padding-bottom:14px !important}.signature-clean-grid .sig-block:last-child{border-bottom:none !important;padding-bottom:0 !important}.signature-clean-grid .sig-space{height:32px !important}}.dimension-kpi-card{background:#ffffff;border:1px solid #cbd5e1;border-radius:8px;padding:12px 16px;display:flex;flex-direction:column;justify-content:space-between}.cost-per-m2-badge{display:inline-flex;align-items:center;gap:6px;background:#ecfdf5;color:#065f46;border:1px solid #a7f3d0;font-weight:800;font-size:13px;padding:4px 10px;border-radius:6px}@keyframes modalShake{0%,100%{transform:scale(1) translateY(0) translateX(0)}20%,60%{transform:scale(1) translateY(0) translateX(-6px)}40%,80%{transform:scale(1) translateY(0) translateX(6px)}}.modal-shake{animation:modalShake 0.38s ease-in-out !important}.auto-sync-status{display:inline-flex !important;align-items:center !important;gap:6px !important;font-size:11.5px !important;font-weight:500 !important;padding:0 8px !important;height:34px !important;border-radius:6px !important;background:transparent !important;border:1px solid transparent !important;color:#475569 !important;cursor:pointer !important;user-select:none !important;white-space:nowrap !important;flex-shrink:0 !important;transition:all 0.15s ease !important}.auto-sync-status:hover{background:#f8fafc !important;border-color:#cbd5e1 !important;color:#0f172a !important;transform:none !important}@keyframes blinkDotRed{0%,100%{opacity:1;transform:scale(1);background-color:#dc2626}50%{opacity:0.35;transform:scale(0.85);background-color:#ef4444}}.auto-sync-status .sync-dot{width:7px !important;height:7px !important;border-radius:50% !important;display:inline-block !important;flex-shrink:0 !important;box-shadow:none !important;transition:background 0.15s ease !important}.auto-sync-status.state-sync-drive .sync-dot,.auto-sync-status.state-synced .sync-dot{background:#16a34a !important;animation:none !important}.auto-sync-status.state-sync-local .sync-dot,.auto-sync-status.state-local .sync-dot,.auto-sync-status.state-saving-local .sync-dot{background:#eab308 !important;animation:none !important}.auto-sync-status.state-sync-connecting .sync-dot,.auto-sync-status.state-saving .sync-dot,.auto-sync-status.dot-blink-red .sync-dot{background:#dc2626 !important;animation:blinkDotRed 0.9s infinite ease-in-out !important}.auto-sync-status.state-folder-disconnected .sync-dot{background:#eab308 !important;animation:none !important}.modal-backdrop.open{display:flex !important;opacity:1 !important;pointer-events:auto !important}@media (max-width:768px){.modal-backdrop{padding:10px !important}.modal-dialog{width:100% !important;max-width:100% !important;max-height:calc(100dvh - 20px) !important;max-height:calc(100vh - 20px) !important;border-radius:12px !important;margin:auto !important}.modal-header{padding:12px 14px !important}.modal-header .card-title{font-size:14px !important}.modal-header-subtitle{font-size:11px !important}.modal-body{padding:12px 14px !important}.modal-body .form-group{margin-bottom:10px !important}.modal-body .form-label{font-size:11.5px !important;margin-bottom:3px !important}.modal-body .form-control{font-size:12.5px !important;padding:7px 10px !important}.modal-footer{padding:10px 14px !important;gap:8px !important;background:#ffffff !important;border-top:1px solid #e2e8f0 !important;flex-shrink:0 !important}.modal-footer .btn{flex:1 1 0 !important;height:38px !important;min-height:38px !important;font-size:12.5px !important;font-weight:700 !important;display:inline-flex !important;align-items:center !important;justify-content:center !important}.topbar-actions{gap:4px !important}.topbar-divider{display:none !important}.topbar-btn{height:30px !important;padding:0 6px !important;font-size:11px !important}.auto-sync-status{height:30px !important;padding:0 6px !important;font-size:11px !important;max-width:none !important;width:auto !important;display:inline-flex !important;align-items:center !important;gap:6px !important;white-space:nowrap !important;flex-shrink:0 !important}.card-title .badge-light,.card-title .badge{display:none !important}.auto-sync-status .sync-text-full{display:none !important}.auto-sync-status .sync-text-mobile{display:inline !important}#globalUpgradeBtn span{display:none !important}#globalUpgradeBtn::after{content:"Pro";font-weight:700;font-size:11px}#globalAuthBtn span{max-width:75px !important}}@media (max-width:480px){.topbar-left span{display:none !important}.project-select{max-width:115px !important;padding:0 4px !important;font-size:11px !important}.auto-sync-status{padding:0 5px !important;font-size:10.5px !important;max-width:none !important;width:auto !important}}.mobile-floating-print-btn,#mobileFloatingPrintBtn{display:none}@media (max-width:768px){#globalPrintBtn,#btnHeaderMember,.header-auth-badge{display:none !important}.mobile-floating-print-btn,#mobileFloatingPrintBtn{display:inline-flex !important;position:fixed;right:0;bottom:84px;z-index:950;align-items:center;gap:7px;padding:8px 14px 8px 12px;font-size:11.5px;font-weight:800;letter-spacing:0.3px;color:#ffffff;background:#0a2e5c;border:1px solid rgba(255,255,255,0.2);border-right:none;border-radius:20px 0 0 20px;box-shadow:-2px 4px 14px rgba(10,46,92,0.25);cursor:pointer;transform:translateX(calc(100% - 38px));transition:transform 0.25s cubic-bezier(0.16,1,0.3,1),box-shadow 0.2s ease;user-select:none}.mobile-floating-print-btn:hover,.mobile-floating-print-btn:focus,.mobile-floating-print-btn:active,#mobileFloatingPrintBtn:hover,#mobileFloatingPrintBtn:focus,#mobileFloatingPrintBtn:active{transform:translateX(0) !important;box-shadow:-4px 6px 18px rgba(10,46,92,0.35)}#mobileFloatingPrintBtn .mfp-icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:18px;height:18px}#mobileFloatingPrintBtn .mfp-label{white-space:nowrap;font-weight:700}}.rab-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:20px}.rab-summary-card{background:#ffffff;border:1px solid #e2e8f0;border-radius:6px;padding:12px 14px;display:flex;flex-direction:column;justify-content:flex-start;gap:4px;min-height:114px;transition:border-color 0.15s ease,box-shadow 0.15s ease}.rab-summary-card:hover{border-color:#cbd5e1;box-shadow:0 2px 6px rgba(0,0,0,0.04)}.rab-summary-label{font-size:10.5px;text-transform:uppercase;font-weight:700;color:#64748b;letter-spacing:0.4px}.rab-summary-title{font-size:14px;font-weight:800;color:#0f172a;margin-top:2px;line-height:1.35;word-break:break-word}.rab-summary-meta{font-size:12px;color:#334155;margin-top:2px;line-height:1.4;word-break:break-word}.rab-summary-sub{font-size:11.5px;color:#64748b;margin-top:2px;font-weight:500;line-height:1.35;word-break:break-word}.rab-division-card{background:#ffffff;border:1px solid #e2e8f0;border-radius:6px;margin-bottom:10px;transition:border-color 0.15s ease,box-shadow 0.15s ease}.rab-division-card:hover{border-color:#cbd5e1;box-shadow:0 2px 6px rgba(0,0,0,0.04)}.rab-division-header{background:#f8fafc;cursor:pointer;user-select:none;padding:8px 14px;min-height:48px;border-bottom:1px solid #e2e8f0;transition:background-color 0.15s ease}.rab-division-card.is-collapsed .rab-division-header{border-bottom:none}.rab-division-header:hover{background-color:#f1f5f9 !important}.rab-div-chevron{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;color:#64748b;border-radius:4px;background:rgba(100,116,139,0.1);transition:background-color 0.15s ease,color 0.15s ease}.rab-division-header:hover .rab-div-chevron{background:rgba(10,46,92,0.12);color:#0a2e5c}.rab-div-subtotal-text{font-size:13px !important;font-weight:800 !important;color:#0f172a !important}.rab-btn-icon{width:28px;height:28px;padding:0;display:inline-flex;align-items:center;justify-content:center;border-radius:4px;cursor:pointer;transition:background-color 0.15s ease,border-color 0.15s ease,color 0.15s ease}.rab-btn-add-item{background:#0a2e5c;color:#ffffff;border:1px solid #0a2e5c}.rab-btn-add-item:hover{background:#0f3d7a;border-color:#0f3d7a;color:#ffffff}.rab-btn-edit-div{background:#ffffff;color:#475569;border:1px solid #cbd5e1}.rab-btn-edit-div:hover{background:#f1f5f9;border-color:#94a3b8;color:#0f172a}.rab-btn-del-div{background:#ffffff;color:#dc2626;border:1px solid #fca5a5}.rab-btn-del-div:hover{background:#fee2e2;border-color:#ef4444;color:#b91c1c}.rab-division-card.is-collapsed .rab-division-body,.card.is-collapsed .card-body{display:none !important}.rab-division-card.is-collapsed{margin-bottom:8px !important}@media (max-width:900px){.rab-summary-grid{grid-template-columns:1fr;gap:10px}}@media (max-width:768px){.rab-division-header{padding:8px 10px !important}.rab-div-labor-badge{display:none !important}.rab-div-name{font-size:12px !important;max-width:170px}.rab-div-subtotal-text{font-size:12px !important}}.card .card,.card-body .card,.card-body > .card{border:none !important;box-shadow:none !important;background:transparent !important}.left-panel-inner,.right-panel-inner{border:none !important}.rab-selected-item-box{border:none !important}.signatory-toolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;padding:10px 14px;margin-top:18px;margin-bottom:14px;transition:border-color 0.15s ease}.signatory-toolbar:hover{border-color:#cbd5e1}.signatory-toolbar-title{display:inline-flex;align-items:center;gap:7px;font-size:8.5pt;font-weight:700;color:#0a2e5c;text-transform:uppercase;letter-spacing:0.3px}.signatory-toolbar-options{display:inline-flex;align-items:center;flex-wrap:wrap;gap:16px}.signatory-option-label{display:inline-flex;align-items:center;gap:6px;font-size:8.5pt;font-weight:600;color:#334155;cursor:pointer;user-select:none;transition:color 0.15s ease}.signatory-option-label:hover{color:#0a2e5c}.signatory-option-label input[type="checkbox"]{accent-color:#0a2e5c;width:15px;height:15px;cursor:pointer}.signatory-empty-state{text-align:center;font-size:8.5pt;color:#94a3b8;padding:16px 0;font-style:italic}.pagination-container{padding:14px 20px !important;background-color:var(--color-surface,#ffffff);border-top:1px solid var(--color-border,#e2e8f0);box-sizing:border-box;margin-top:16px;border-radius:0 0 var(--radius-md) var(--radius-md)}.pagination-nav{display:inline-flex;align-items:center;gap:6px;margin-left:auto;flex-shrink:0}.pagination-nav .btn{white-space:nowrap;padding:5px 12px;font-size:12px;border-radius:var(--radius-sm,4px)}.header-auth-badge{display:inline-flex;align-items:center;gap:5px;background:transparent;border:none;padding:4px 6px;border-radius:6px;font-size:12px;font-weight:700;color:#0f172a;cursor:pointer;transition:all 0.15s ease;line-height:1.2}.header-auth-badge:hover{background:#f1f5f9;color:#0a2e5c}.topbar-icon-btn{display:inline-flex;align-items:center;justify-content:center;background:transparent;border:none;padding:5px 7px;border-radius:6px;color:#475569;cursor:pointer;transition:all 0.15s ease}.topbar-icon-btn:hover{background:#f1f5f9;color:#0a2e5c}.tier-tag{font-size:10px;font-weight:800;padding:1px 6px;border-radius:4px;text-transform:uppercase}.tier-tag.free{background:#f1f5f9;color:#475569;border:1px solid #cbd5e1}.tier-tag.pro{background:#dcfce7;color:#15803d;border:1px solid #86efac}.tier-tag.admin{background:#0a2e5c;color:#ffffff}.signature-responsive-grid{display:flex !important;flex-wrap:wrap !important;justify-content:space-around !important;gap:16px !important;margin-top:24pt !important;width:100% !important;page-break-inside:avoid !important;break-inside:avoid !important}.signature-responsive-grid .sig-card-col{flex:1 1 200px !important;max-width:280px !important;min-width:170px !important;text-align:center !important;margin:0 auto !important}.signature-responsive-grid.signature-single-right{justify-content:flex-end !important}.signature-responsive-grid.signature-single-right .sig-card-col{margin-left:auto !important;margin-right:0 !important;flex:0 0 250px !important;max-width:260px !important}@media (max-width:640px){.signature-responsive-grid{flex-direction:column !important;align-items:center !important;gap:20px !important}.signature-responsive-grid .sig-card-col{flex:1 1 100% !important;max-width:300px !important;min-width:0 !important;width:100% !important}}@media print{.signature-responsive-grid{display:flex !important;flex-wrap:nowrap !important;justify-content:space-between !important;gap:12px !important}.signature-responsive-grid .sig-card-col{flex:1 1 0 !important;max-width:none !important;min-width:0 !important}}@media (max-width:768px){.app-content{padding:12px 12px max(env(safe-area-inset-bottom,20px),84px) 12px !important}.modal-backdrop{padding:12px 12px max(env(safe-area-inset-bottom,20px),84px) 12px !important;align-items:flex-start !important;overflow-y:auto !important}.modal-dialog,.modal-card{width:100% !important;max-width:min(520px,calc(100vw - 24px)) !important;max-height:calc(100dvh - max(env(safe-area-inset-bottom,20px),88px) - 24px) !important;margin:12px auto !important;overflow-y:auto !important}.mobile-floating-print-btn,#mobileFloatingPrintBtn{bottom:max(env(safe-area-inset-bottom,20px) + 24px,94px) !important}#projectInfoForm .form-row{flex-direction:column !important;gap:12px !important}#projectInfoForm .form-row .form-group{flex:1 1 100% !important;width:100% !important;min-width:100% !important;margin-bottom:0 !important}#projectInfoForm .form-control{width:100% !important;height:40px !important;font-size:13px !important;padding:8px 12px !important}#rehabFieldsContainer{flex-direction:column !important;gap:12px !important}#rehabFieldsContainer .form-group{flex:1 1 100% !important;width:100% !important;min-width:100% !important}.card-header{flex-direction:column !important;align-items:stretch !important;gap:10px !important}.card-actions{display:flex !important;flex-wrap:wrap !important;gap:8px !important;width:100% !important}.card-actions .btn{flex:1 1 calc(50% - 4px) !important;min-width:130px !important;height:38px !important;font-size:12px !important;display:inline-flex !important;align-items:center !important;justify-content:center !important;padding:6px 10px !important}.project-mobile-card{background:#ffffff;border:1px solid #e2e8f0;border-radius:8px;padding:14px;margin-bottom:10px;box-shadow:0 1px 3px rgba(15,23,42,0.04)}.project-mobile-card-title{font-weight:700;font-size:14px;color:#0f172a;display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:6px}.project-mobile-card-meta{font-size:11.5px;color:#64748b;line-height:1.5;margin-bottom:10px}.project-mobile-card-actions{display:flex;gap:6px;border-top:1px solid #f1f5f9;padding-top:10px}.project-mobile-card-actions .btn{flex:1 1 0;height:36px;font-size:11.5px;font-weight:600;display:inline-flex;align-items:center;justify-content:center}}.modal-backdrop{position:fixed;top:0;left:0;width:100vw;height:100vh;background:rgba(15,23,42,0.55);backdrop-filter:blur(4px);z-index:1050;display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:opacity 0.2s ease,visibility 0.2s ease}.modal-backdrop.open{opacity:1;visibility:visible}.modal-dialog{background:#ffffff;border-radius:14px;width:90%;max-width:560px;max-height:90vh;display:flex;flex-direction:column;overflow:hidden;border:none !important;box-shadow:0 20px 25px -5px rgba(15,23,42,0.16),0 8px 10px -6px rgba(15,23,42,0.08);transform:translateY(12px) scale(0.98);transition:transform 0.2s ease}.modal-backdrop.open .modal-dialog{transform:translateY(0) scale(1)}.modal-header{padding:16px 20px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e2e8f0;background:#ffffff}.modal-header-unified{display:flex;align-items:center;gap:10px}.modal-header-icon{width:34px;height:34px;border-radius:8px;background:#f1f5f9;border:none !important;display:inline-flex;align-items:center;justify-content:center;color:#0a2e5c;flex-shrink:0}.modal-header-icon svg{color:#0a2e5c;stroke:#0a2e5c}.modal-header .card-title{margin:0;font-size:15px;font-weight:700;color:#0a2e5c}.modal-header-subtitle{font-size:11.5px;color:#64748b;margin-top:2px}.modal-close-btn,.modal-header .btn-outline,.modal-header button[id$="CloseBtn"]{background:transparent !important;border:none !important;box-shadow:none !important;color:#64748b !important;font-size:20px !important;padding:4px 6px !important;min-width:auto !important;cursor:pointer !important;border-radius:6px !important;line-height:1 !important;display:inline-flex !important;align-items:center !important;justify-content:center !important;transition:color 0.15s ease,background-color 0.15s ease !important}.modal-close-btn:hover,.modal-header .btn-outline:hover,.modal-header button[id$="CloseBtn"]:hover{background:#f1f5f9 !important;color:#0f172a !important}.modal-body{padding:20px;overflow-y:auto;font-size:13px;line-height:1.5;color:#334155;background:#ffffff}.modal-footer{padding:14px 20px;display:flex;align-items:center;justify-content:flex-end;gap:10px;border-top:1px solid #e2e8f0;background:#f8fafc}.first-run-dialog{max-width:600px !important;width:95vw !important;border-radius:14px !important;background:#ffffff !important;border:none !important;box-shadow:0 20px 25px -5px rgba(15,23,42,0.16),0 8px 10px -6px rgba(15,23,42,0.08) !important}.first-run-header{background:#ffffff !important;padding:18px 22px !important;border-bottom:1px solid #e2e8f0 !important;display:flex !important;align-items:center !important;justify-content:space-between !important}.first-run-header-group{display:flex;align-items:center;gap:12px}.first-run-icon-badge{width:36px !important;height:36px !important;background:#f1f5f9 !important;border:none !important;border-radius:8px !important;display:inline-flex !important;align-items:center !important;justify-content:center !important;color:#0a2e5c !important;flex-shrink:0 !important}.first-run-icon-badge svg{color:#0a2e5c !important;stroke:#0a2e5c !important}.first-run-title{margin:0;font-size:15px;font-weight:700;color:#0f172a !important;letter-spacing:-0.2px}.first-run-subtitle{font-size:11.5px;color:#64748b !important;margin-top:2px;font-weight:500}.first-run-body{padding:22px;background:#ffffff}.first-run-intro{margin-bottom:18px}.first-run-intro-title{display:flex;align-items:center;gap:8px;margin-bottom:4px;font-size:13px;font-weight:700;color:#0a2e5c}.first-run-intro-title svg{color:#0a2e5c;stroke:#0a2e5c;flex-shrink:0}.first-run-intro-desc{font-size:12px;color:#475569;line-height:1.5;margin:0;padding-left:24px}.first-run-options-list{display:flex;flex-direction:column;gap:12px}.first-run-option-card{padding:16px 18px;border-radius:10px;background:#f8fafc;border:none;transition:background-color 0.18s ease,box-shadow 0.18s ease}.first-run-option-card:hover{background:#f1f5f9;box-shadow:0 4px 12px rgba(15,23,42,0.06)}.first-run-option-meta{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.first-run-tag-recommend{background:#0a2e5c;color:#ffffff;font-size:9.5px;font-weight:700;padding:3px 8px;border-radius:4px;letter-spacing:0.5px;text-transform:uppercase}.first-run-tag-sub{font-size:11px;color:#64748b;font-weight:500}.first-run-option-heading{display:flex;align-items:center;gap:8px;font-weight:700;font-size:13px;color:#0a2e5c}.first-run-option-heading svg{color:#0a2e5c;stroke:#0a2e5c;flex-shrink:0}.first-run-option-text{font-size:11.5px;color:#64748b;margin:4px 0 12px 0;line-height:1.45;padding-left:26px}.first-run-option-btn-full{width:100%;padding:10px 16px;border-radius:6px;font-size:12.5px;display:flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;text-decoration:none;box-sizing:border-box}.first-run-option-btn-full.btn-primary{background:#0a2e5c !important;color:#ffffff !important;border:1.5px solid #0a2e5c !important;font-weight:700 !important;box-shadow:0 2px 4px rgba(10,46,92,0.18) !important}.first-run-option-btn-full.btn-primary:hover{background:#082347 !important;border-color:#082347 !important;color:#ffffff !important}.first-run-option-btn-full.btn-outline{background:#f1f5f9 !important;color:#0a2e5c !important;border:1.5px solid #0a2e5c !important;font-weight:700 !important;box-shadow:0 1px 3px rgba(10,46,92,0.06) !important}.first-run-option-btn-full.btn-outline:hover{background:#0a2e5c !important;color:#ffffff !important;border-color:#0a2e5c !important}.first-run-flat-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.first-run-footer{margin-top:18px;padding-top:12px;border-top:1px solid #e2e8f0;display:flex;align-items:center;justify-content:space-between;font-size:11px;color:#64748b}.notification-icon-badge{width:34px;height:34px;border-radius:8px;background:#f1f5f9;border:none !important;display:inline-flex;align-items:center;justify-content:center;font-size:16px;flex-shrink:0;color:#0a2e5c}.notification-icon-badge svg{color:#0a2e5c;stroke:#0a2e5c}.notification-icon-badge.success,.notification-icon-badge.warning,.notification-icon-badge.error{background:#f1f5f9;border:none !important}.notification-icon-badge.success svg,.notification-icon-badge.warning svg,.notification-icon-badge.error svg{color:#0a2e5c;stroke:#0a2e5c}.calendar-popup-card{background:#f8fafc;border:none !important;border-radius:10px;padding:12px 16px;margin-bottom:8px;box-shadow:none !important}.btn-google-auth-modern{width:100%;max-width:100%;height:46px;display:inline-flex;align-items:center;justify-content:center;gap:12px;font-size:13.5px;font-weight:700;background-color:#ffffff;color:#0f172a;border:1.5px solid #cbd5e1;border-radius:8px;cursor:pointer;box-shadow:0 1px 2px rgba(0,0,0,0.05);transition:all 0.2s ease}.btn-google-auth-modern:hover{border-color:#0a2e5c;background-color:#f8fafc;box-shadow:0 4px 12px rgba(10,46,92,0.12);transform:translateY(-1px)}.btn-google-auth-modern:active{transform:translateY(0)}.google-auth-icon-webp{width:22px;height:22px;object-fit:contain;display:block;flex-shrink:0}@media print{@page{size:A4 portrait;margin-top:10mm;margin-bottom:14mm;margin-left:10mm;margin-right:10mm;@top-left{content:none !important}@top-center{content:none !important}@top-right{content:none !important}@bottom-left{content:"Dokumen Resmi Proyek • Standar SE PUPR No. 47/2026";font-size:8pt;color:#64748b;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif}@bottom-center{content:none !important}@bottom-right{content:"Halaman " counter(page) " dari " counter(pages);font-size:8pt;font-weight:700;color:#334155;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif}}@page coverPage{size:A4 portrait;margin-top:1.0cm !important;margin-right:1.0cm !important;margin-bottom:1.0cm !important;margin-left:2.0cm !important;margin:1.0cm 1.0cm 1.0cm 2.0cm !important;@top-left{content:none !important}@top-center{content:none !important}@top-right{content:none !important}@bottom-left{content:none !important}@bottom-center{content:none !important}@bottom-right{content:none !important}}@page proposalPage{size:A4 portrait;margin-top:1.0cm !important;margin-right:1.0cm !important;margin-bottom:1.0cm !important;margin-left:2.0cm !important;margin:1.0cm 1.0cm 1.0cm 2.0cm !important;@top-left{content:none !important}@top-center{content:none !important}@top-right{content:none !important}@bottom-left{content:none !important}@bottom-center{content:none !important}@bottom-right{content:none !important}}@page bapPage{size:A4 portrait;margin-top:10mm;margin-bottom:10mm;margin-left:12mm;margin-right:12mm;@top-left{content:none !important}@top-right{content:none !important}@bottom-left{content:none !important}@bottom-center{content:none !important}@bottom-right{content:none !important}}@page landscapePage{size:A4 landscape;margin-top:10mm;margin-bottom:12mm;margin-left:12mm;margin-right:12mm;@top-left{content:none !important}@top-center{content:none !important}@top-right{content:none !important}@bottom-left{content:"Dokumen Resmi Proyek • Standar SE PUPR No. 47/2026";font-size:8pt;color:#64748b;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif}@bottom-center{content:none !important}@bottom-right{content:"Halaman " counter(page) " dari " counter(pages);font-size:8pt;font-weight:700;color:#334155;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif}}@page bapPage{size:A4 portrait;margin-top:20mm !important;margin-bottom:15mm !important;margin-left:12mm !important;margin-right:12mm !important;@top-left{content:none !important}@top-right{content:none !important}@bottom-left{content:none !important}@bottom-center{content:none !important}@bottom-right{content:none !important}}.app-sidebar,.app-topbar,.topbar-actions,.page-header-actions,.btn,.btn-group,.filter-bar,.modal-backdrop,.modal,.modal-dialog,.global-loader-backdrop,#globalLoader,.global-loader-card,.spinner,.signatory-toolbar,.signatory-empty-state,.proposal-signatory-subcard,.no-print,.d-mobile-only{display:none !important}.d-desktop-only{display:block !important}table.d-desktop-only{display:table !important}.table-responsive.d-desktop-only{display:block !important;overflow:visible !important}html,body,.app-layout,.app-main,.app-content{height:auto !important;min-height:auto !important;max-height:none !important;overflow:visible !important}body{background-color:#ffffff !important;color:#000000 !important;font-size:9.5pt !important;line-height:1.35 !important}.app-layout,.app-main,.app-content{display:block !important;padding:0 !important;margin:0 !important;width:100% !important}.card{border:none !important;box-shadow:none !important;margin:0 !important;padding:0 !important}.card-header{display:none !important}.card-body{padding:0 !important}.rupiah-nowrap,.currency{white-space:nowrap !important;font-variant-numeric:tabular-nums}.table-responsive{overflow:visible !important;margin-bottom:12pt !important}.table{width:100% !important;border-collapse:collapse !important;font-size:8.5pt !important;page-break-inside:auto !important}.table th{background-color:#f1f5f9 !important;color:#0f172a !important;border:1px solid #cbd5e1 !important;padding:4.5pt 5pt !important;font-size:8pt !important;font-weight:700 !important;text-align:center !important;vertical-align:middle !important;word-break:normal !important;word-wrap:normal !important;hyphens:none !important;-webkit-print-color-adjust:exact !important;print-color-adjust:exact !important}.table tr.division-header-row,tr.division-header-row{display:table-row !important;background:transparent !important;background-color:transparent !important;border:none !important;page-break-after:avoid !important;break-after:avoid !important}.table tr.division-header-row th,tr.division-header-row th.division-title-cell,th.division-title-cell{display:table-cell !important;width:100% !important;text-align:left !important;background:transparent !important;background-color:transparent !important;border:none !important;border-bottom:2px solid #0f172a !important;padding:8pt 2pt 4pt 2pt !important;font-size:10pt !important;font-weight:800 !important;color:#0f172a !important;text-transform:uppercase !important;letter-spacing:0.5px !important;white-space:normal !important}.table th.text-left{text-align:left !important}.table th.th-nowrap,.table td.td-nowrap,.th-nowrap,.nowrap{white-space:nowrap !important}.table td{border:1px solid #cbd5e1 !important;padding:4pt 6pt !important;color:#0f172a !important}.table tr{page-break-inside:avoid !important;page-break-after:auto !important}.table-active{background-color:#f8fafc !important;-webkit-print-color-adjust:exact !important;print-color-adjust:exact !important}.total-highlight-row{background-color:#f1f5f9 !important;font-weight:700 !important;-webkit-print-color-adjust:exact !important;print-color-adjust:exact !important}.scurve-svg,.svg-print-container svg{width:100% !important;max-width:100% !important;height:auto !important;page-break-inside:avoid !important}.print-only{display:block !important;visibility:visible !important;height:auto !important;max-height:none !important;overflow:visible !important;opacity:1 !important;margin-bottom:12pt !important}tr.print-only{display:table-row !important;margin-bottom:0 !important}.print-header-block{display:block !important;margin-bottom:14pt;border-bottom:2px solid #0f172a;padding-bottom:8pt}.print-header-top{display:flex;justify-content:space-between;align-items:flex-start}.company-brand{font-size:11pt;font-weight:800;color:#0f172a;text-transform:uppercase;letter-spacing:0.5px}.company-sub{display:block;font-size:7.5pt;color:#475569}.print-header-meta{font-size:8pt;text-align:right;color:#334155}.print-header-project-bar{display:flex;justify-content:space-between;font-size:8pt;margin-top:5pt;color:#1e293b}.signature-clean-grid,.signature-clean-grid.three-parties{display:flex !important;flex-direction:row !important;justify-content:space-between !important;align-items:flex-start !important;margin-top:24pt !important;page-break-inside:avoid !important;break-inside:avoid !important;gap:16pt !important}.signature-clean-table{width:100% !important;border-collapse:collapse !important;border:none !important;background:transparent !important;page-break-inside:avoid !important;break-inside:avoid !important}.signature-clean-table td{border:none !important;background:transparent !important;padding:0 8px !important}.signature-clean-grid.three-parties .sig-block{flex:1;text-align:center}.sig-block{flex:1;text-align:center}.sig-title{font-size:8.5pt;font-weight:700;color:#1e293b;margin-bottom:45pt}.sig-name{font-size:9pt;font-weight:700;color:#0f172a;border-bottom:none !important;text-decoration:none !important;display:block;padding-bottom:2pt;min-width:unset !important}.sig-role{font-size:8pt;color:#475569;margin-top:2pt}.paraf-stamp{display:inline-block;border:1px dashed #475569;padding:2pt 6pt;font-weight:700;font-size:8pt;border-radius:2pt}.paraf-line{display:inline-block;width:35pt;border-bottom:1px solid #64748b;height:12pt}.blank-lines-container{margin-top:6pt}.blank-line{border-bottom:1px dotted #94a3b8;height:16pt}.proposal-page{page:proposalPage !important;page-break-after:always !important;page-break-inside:avoid !important;break-after:page !important;break-inside:avoid !important;box-sizing:border-box !important;width:180mm !important;max-width:180mm !important;height:277mm !important;min-height:277mm !important;max-height:277mm !important;display:flex !important;flex-direction:column !important;justify-content:space-between !important;position:relative !important;padding:0 !important;margin:0 !important;border:none !important;box-shadow:none !important;outline:none !important;overflow:hidden !important;background:#ffffff !important}.proposal-page:last-child{page-break-after:auto !important;break-after:auto !important}.proposal-page .table,.proposal-page table{margin-bottom:4px !important;border-collapse:collapse !important}.proposal-page .table th,.proposal-page table th{padding:2.5pt 4pt !important;font-size:7.2pt !important;line-height:1.2 !important}.proposal-page .table td,.proposal-page table td{padding:2.5pt 4pt !important;font-size:7.2pt !important;line-height:1.25 !important}.proposal-page .division-title-bar{padding:2.5pt 6pt !important;font-size:7.5pt !important;margin-bottom:2px !important}.proposal-page .division-block{margin-bottom:4px !important;page-break-inside:avoid !important;break-inside:avoid !important}.cover-page,.proposal-page.cover-page{page:coverPage !important;page-break-after:always !important;page-break-inside:avoid !important;break-after:page !important;break-inside:avoid !important;width:180mm !important;max-width:180mm !important;height:277mm !important;min-height:277mm !important;max-height:277mm !important;margin:0 !important;padding:0 !important;box-sizing:border-box !important;display:flex !important;flex-direction:column !important;justify-content:stretch !important;border:none !important;box-shadow:none !important;outline:none !important;overflow:hidden !important}.printable-bap-doc{page:bapPage !important;width:100% !important;max-width:210mm !important;min-height:255mm !important;height:auto !important;max-height:none !important;padding:0 !important;box-sizing:border-box !important;overflow:visible !important;display:flex !important;flex-direction:column !important;justify-content:space-between !important;border:none !important;box-shadow:none !important}#panel-kurva-s,#panel-kalender,.landscape-page,.single-sheet-print{page:landscapePage !important}.proposal-preview-wrapper{border:none !important;box-shadow:none !important;outline:none !important;padding:0 !important;margin:0 !important;background:transparent !important}.proposal-page.content-page:first-of-type{counter-reset:page 1}.cover-inner-border{width:100% !important;height:277mm !important;min-height:277mm !important;max-height:277mm !important;box-sizing:border-box !important;border:2px solid #0a2e5c !important;border-top:2px solid #0a2e5c !important;border-right:2px solid #0a2e5c !important;border-bottom:2px solid #0a2e5c !important;border-left:2px solid #0a2e5c !important;outline:none !important;padding:10mm 10mm 8mm 10mm !important;display:flex !important;flex-direction:column !important;justify-content:space-between !important;background:#ffffff !important;position:relative !important}.cover-section-top{flex-shrink:0}.cover-section-mid{flex-shrink:0;margin:auto 0}.cover-section-bot{flex-shrink:0}.cover-header-top{text-align:center;margin-top:10mm !important}.cover-doc-classification{font-size:8pt;font-weight:800;letter-spacing:1px;color:#0a2e5c;text-transform:uppercase;line-height:1.3}.cover-doc-standard{font-size:6.8pt;color:#64748b;margin-top:3px;letter-spacing:0.5px;font-weight:600}.cover-emblem-wrap{text-align:center;margin:10px 0 6px 0}.cover-title-block{text-align:center;margin:6px 0}.cover-main-title{font-size:15pt;font-weight:900;color:#0f172a;margin:0;line-height:1.25;letter-spacing:-0.3px;text-align:center}.cover-title-divider{display:none !important;width:0 !important;height:0 !important;border:none !important;margin:0 !important}.cover-project-info{margin-top:4px;text-align:center}.cover-project-label{font-size:7pt;font-weight:800;letter-spacing:0.8px;color:#64748b;text-transform:uppercase;margin-bottom:2px}.cover-project-name{font-size:13pt;font-weight:900;color:#0a2e5c;line-height:1.25;text-align:center}.cover-project-location{font-size:8pt;color:#475569;margin-top:3px;font-weight:600;text-align:center}.cover-stakeholder-table{width:100%;border-collapse:collapse;margin:10px 0;box-sizing:border-box}.cover-stakeholder-table td{border:1px solid #cbd5e1;background-color:#fafbfc;padding:8px 12px;vertical-align:top;box-sizing:border-box}.stakeholder-lbl{font-size:6.8pt;font-weight:800;color:#64748b;letter-spacing:0.5px;text-transform:uppercase;margin-bottom:2px}.stakeholder-val{font-size:8.8pt;font-weight:800;color:#0f172a;line-height:1.2}.stakeholder-sub{font-size:7.2pt;color:#475569;margin-top:2px;font-weight:500}.cover-total-band{background-color:#0a2e5c !important;border:1px solid #0a2e5c;padding:9px 14px;text-align:center;box-sizing:border-box;margin:8px 0;-webkit-print-color-adjust:exact !important;print-color-adjust:exact !important}.cover-footer-meta{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #cbd5e1;padding-top:6px;font-size:7.2pt;color:#64748b;font-weight:600}.page-heading h2{font-size:12pt;font-weight:800;color:#0f172a;margin-bottom:8pt;border:none !important;border-bottom:none !important;text-decoration:none !important}.page-heading{border:none !important;border-bottom:none !important}.heading-line{display:none !important;width:0 !important;height:0 !important;border:none !important;margin:0 !important}.division-section-row td{background-color:#f1f5f9 !important;color:#0a2e5c !important;font-weight:700 !important;border-top:1.5px solid #cbd5e1 !important;border-bottom:1px solid #cbd5e1 !important;-webkit-print-color-adjust:exact !important;print-color-adjust:exact !important}.terbilang-clean{border:none !important;background:transparent !important}.toc-list{margin:15pt 0}.toc-item{display:flex;align-items:baseline;font-size:9pt;margin-bottom:8pt}.toc-title{font-weight:600;color:#1e293b}.toc-dots{flex-grow:1;border-bottom:1px dotted #94a3b8;margin:0 6pt}.toc-page{font-weight:700;color:#0f172a}body.printing-batch .app-layout{display:none !important}body.printing-batch #printableAhspBatchArea{display:block !important;width:100% !important}#printableAhspBatchArea{display:none !important}.proposal-page .print-footer-block{display:flex !important;visibility:visible !important;opacity:1 !important;height:auto !important;max-height:none !important;justify-content:space-between !important;align-items:flex-end !important;font-size:8pt !important;color:#475569 !important;border-top:none !important;padding-top:4px !important;margin-top:auto !important;width:100% !important;box-sizing:border-box !important}.cover-page .print-footer-block,.printable-bap-doc .print-footer-block{display:none !important;visibility:hidden !important;height:0 !important}}@media screen{.proposal-page{position:relative;box-sizing:border-box;width:210mm;max-width:100%;min-height:297mm;height:297mm;display:flex !important;flex-direction:column !important;justify-content:space-between !important;margin:0 auto 28px auto;padding:1.0cm 1.0cm 1.0cm 2.0cm !important;background:#ffffff;box-shadow:0 6px 20px rgba(0,0,0,0.09);border-radius:4px;overflow:hidden !important}.proposal-page.cover-page{padding:1.0cm 1.0cm 1.0cm 2.0cm !important;height:297mm !important;min-height:297mm !important;max-height:297mm !important;box-sizing:border-box !important;overflow:hidden !important}.proposal-page.cover-page .cover-inner-border{width:100% !important;height:100% !important;min-height:277mm !important;max-height:277mm !important;box-sizing:border-box !important;border:2px solid #0a2e5c !important;border-top:2px solid #0a2e5c !important;border-right:2px solid #0a2e5c !important;border-bottom:2px solid #0a2e5c !important;border-left:2px solid #0a2e5c !important;outline:none !important;padding:10mm 10mm 8mm 10mm !important;display:flex !important;flex-direction:column !important;justify-content:space-between !important;background:#ffffff !important}.proposal-page .print-footer-block{display:flex !important;visibility:visible !important;border-top:none !important;justify-content:space-between;font-size:8pt;color:#475569;padding-top:6px;margin-top:auto !important;width:100%;flex-shrink:0 !important}.cover-page .print-footer-block,.printable-bap-doc .print-footer-block{display:none !important}}.cover-header-top{text-align:center;margin-top:10mm !important}.page-heading h2{border:none !important;border-bottom:none !important;text-decoration:none !important}.page-heading{border:none !important;border-bottom:none !important}.heading-line{display:none !important;width:0 !important;height:0 !important;border:none !important;margin:0 !important}.cover-title-divider{display:none !important;width:0 !important;height:0 !important;border:none !important;margin:0 !important}.cover-stakeholder-table{width:100%;border-collapse:collapse;margin:10px 0;border:1px solid #cbd5e1}.cover-stakeholder-table td{border:1px solid #cbd5e1;background-color:#fafbfc;padding:8px 12px;vertical-align:top}.stakeholder-lbl{font-size:6.8pt;font-weight:800;color:#64748b;letter-spacing:0.5px;text-transform:uppercase;margin-bottom:2px}.stakeholder-val{font-size:8.8pt;font-weight:800;color:#0f172a;line-height:1.2}.stakeholder-sub{font-size:7.2pt;color:#475569;margin-top:2px;font-weight:500}.cover-total-band{background-color:#0a2e5c !important;border:1px solid #0a2e5c;padding:9px 14px;text-align:center;box-sizing:border-box;margin:8px 0;color:#ffffff !important}.cover-footer-meta{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #cbd5e1;padding-top:6px;font-size:7.2pt;color:#64748b;font-weight:600}.division-section-row td{background-color:#f1f5f9 !important;color:#0a2e5c !important;font-weight:700 !important;border-top:1.5px solid #cbd5e1 !important;border-bottom:1px solid #cbd5e1 !important}.terbilang-clean{border:none !important;background:transparent !important}.division-block{border:none !important;background:transparent !important;padding:0 !important;margin:0 !important}.item-labor-box{background:#f8fafc !important;border:0.5pt solid #cbd5e1 !important;border-radius:3pt !important;padding:3pt 5pt !important;margin-top:3pt !important;font-size:7.5pt !important;page-break-inside:avoid !important}.item-labor-box strong{color:#0f172a !important}@media print{.print-header-block{display:block !important;visibility:visible !important;margin-bottom:14pt !important;border-bottom:2.5pt double #0f172a !important;padding-bottom:10pt !important}.print-header-top{display:flex !important;justify-content:space-between !important;align-items:flex-start !important}.company-brand{font-size:13pt !important;font-weight:800 !important;color:#0f172a !important;text-transform:uppercase !important;letter-spacing:0.5px !important}.company-sub{display:block !important;font-size:8pt !important;color:#475569 !important;margin-top:2pt !important}.print-header-meta{font-size:8pt !important;text-align:right !important;color:#334155 !important;line-height:1.4 !important}.print-doc-title-box{text-align:center !important;margin:8pt 0 10pt 0 !important;padding:6pt 0 !important;border-top:1pt solid #cbd5e1 !important;border-bottom:1pt solid #cbd5e1 !important}.print-doc-title{font-size:12pt !important;font-weight:800 !important;color:#0f172a !important;letter-spacing:0.5px !important;text-transform:uppercase !important;margin:0 !important}.print-doc-subtitle{font-size:8pt !important;color:#475569 !important;margin-top:2pt !important}.print-header-project-table{width:100% !important;margin-top:6pt !important;font-size:8pt !important;border-collapse:collapse !important}.print-header-project-table td{padding:2.5pt 5pt !important;vertical-align:top !important;border:none !important}.proposal-footer{display:none !important;visibility:hidden !important;height:0 !important;max-height:0 !important;overflow:hidden !important;opacity:0 !important;pointer-events:none !important}.printable-bap-doc{page-break-before:auto !important;page-break-after:always !important;page-break-inside:avoid !important;width:100% !important;max-width:210mm !important;height:auto !important;min-height:auto !important;max-height:none !important;box-sizing:border-box !important;padding:0 !important;margin:0 !important;display:flex !important;flex-direction:column !important;justify-content:flex-start !important;gap:4px !important;overflow:visible !important;position:relative !important;background:#ffffff !important}.printable-bap-doc:last-child{page-break-after:auto !important}.bap-card-item{page-break-after:always !important;page-break-inside:avoid !important}.bap-card-item:last-child{page-break-after:auto !important}.executive-summary-grid{display:grid !important;grid-template-columns:repeat(3,1fr) !important;gap:8pt !important;margin-bottom:12pt !important;page-break-inside:avoid !important}.letter-meta-box{display:flex !important;justify-content:space-between !important;font-size:8pt !important;border-bottom:1.5pt solid #cbd5e1 !important;padding-bottom:6pt !important;margin-bottom:10pt !important}}.print-footer-block{display:flex !important;justify-content:space-between;align-items:center;font-size:8pt;color:#475569;border-top:none;padding-top:4px;margin-top:12px;width:100%;page-break-inside:avoid;box-sizing:border-box}.print-footer-block .footer-left{color:#64748b;font-weight:500;font-size:8pt}.print-footer-block .footer-right{font-weight:700;color:#0f172a;font-size:8pt}.proposal-page{position:relative;overflow:visible}.printable-bap-doc{position:relative;overflow:visible}.division-header-row{display:none}@media print{.vol-input-clean{border:none !important;background:transparent !important;text-align:right !important;font-size:8.5pt !important;font-weight:700 !important;color:#0f172a !important;width:100% !important;padding:0 !important;box-shadow:none !important;outline:none !important}.ahsp-print-card,.print-card,.card,.tab-panel,.table-responsive,.svg-print-container,#panel-kurva-s,#panel-kalender,#panel-sumberdaya,#panel-detail-rab,#panel-volume,#panel-rekap-rab,#panel-bap{border:none !important;border-radius:0 !important;box-shadow:none !important;outline:none !important;background:transparent !important;background-color:transparent !important}.table td .badge,.table td .task-active-line{border:none !important;background:transparent !important;box-shadow:none !important;padding:1px 0 !important;margin:0 !important;font-weight:500 !important;color:#1e293b !important;display:block !important;text-align:left !important;white-space:normal !important}.ahsp-print-card{page-break-inside:avoid !important;break-inside:avoid !important;margin-bottom:16px !important;padding:0 0 10px 0 !important}.printable-bap-doc{page:bapPage !important;width:186mm !important;max-width:186mm !important;margin:0 auto !important;box-sizing:border-box !important;padding:0 !important;page-break-inside:avoid !important;break-inside:avoid !important}#panel-kurva-s .svg-print-container svg{max-height:105mm !important;width:100% !important;height:auto !important;display:block !important}.kurva-s-table-wrapper{page-break-before:always !important;break-before:page !important;margin-top:16px !important}.year-calendar-grid{display:block !important}.cal-print-page{display:grid !important;gap:12px !important;box-sizing:border-box !important;width:100% !important;page-break-after:always !important;break-after:page !important;margin-bottom:0 !important}.cal-print-page:last-child{page-break-after:auto !important;break-after:auto !important}.cal-print-grid-1{grid-template-columns:1fr !important;max-width:480px !important;margin:0 auto !important}.cal-print-grid-2{grid-template-columns:repeat(2,1fr) !important}.cal-print-grid-3{grid-template-columns:repeat(3,1fr) !important}.year-cal-indicator,.cal-dot-svg{display:inline-flex !important;align-items:center !important;justify-content:center !important;-webkit-print-color-adjust:exact !important;print-color-adjust:exact !important}.year-cal-sunday-work,.cal-cell.cal-sunday-work{background-color:#f0fdf4 !important;border-color:#86efac !important;color:#166534 !important;-webkit-print-color-adjust:exact !important;print-color-adjust:exact !important}.year-cal-holiday,.cal-cell.cal-holiday{background-color:#fff1f2 !important;border-color:#fecdd3 !important;color:#e11d48 !important;-webkit-print-color-adjust:exact !important;print-color-adjust:exact !important}.printable-calendar-matrix{page-break-after:always !important;break-after:page !important}.printable-calendar-tasks{page-break-before:always !important;break-before:page !important;margin-top:0 !important}.calendar-legend-bar{page-break-inside:avoid !important;break-inside:avoid !important}.year-month-card{page-break-inside:avoid !important;break-inside:avoid !important}.ahsp-print-card strong,.ahsp-print-card span[style*="white-space:nowrap"],.ahsp-print-card td:nth-child(4),.ahsp-print-card td:nth-child(5),.ahsp-print-card td:nth-child(6){white-space:nowrap !important;font-variant-numeric:tabular-nums !important}.ahsp-print-card div[style*="min-width:220px"]{white-space:nowrap !important;flex-shrink:0 !important;min-width:220px !important}}.cal-print-page{display:contents}.calendar-division-header-row td{background-color:#f1f5f9 !important}.calendar-div-inner-table{width:100% !important;border-collapse:collapse !important;border:none !important;background:transparent !important}.calendar-div-inner-table td{border:none !important;background:transparent !important;padding:0 !important}@media print{.subheading{margin-top:22pt !important;margin-bottom:8pt !important;border-left:none !important;padding-left:0 !important}.proposal-page table{margin-bottom:22pt !important}.proposal-page .subheading:first-of-type{margin-top:10pt !important}.proposal-page h2,.proposal-page h3,.proposal-page h4,.proposal-page p,.printable-bap-doc p{border-left:none !important}.proposal-page .cover-inner-border,.proposal-page.cover-page .cover-inner-border,.cover-inner-border{border:2px solid #0a2e5c !important;border-top:2px solid #0a2e5c !important;border-right:2px solid #0a2e5c !important;border-bottom:2px solid #0a2e5c !important;border-left:2px solid #0a2e5c !important;outline:none !important}.proposal-info-table,.proposal-info-clean-table{border:none !important;box-shadow:none !important}.proposal-info-table td,.proposal-info-clean-table td{background:transparent !important}}#appPreloader{position:fixed;inset:0;width:100vw;height:100vh;background:#ffffff;z-index:9999999;display:flex;flex-direction:column;align-items:center;justify-content:center;pointer-events:auto;transition:opacity 0.35s ease,visibility 0.35s ease}@media print{#appPreloader,#appPreloader *{display:none !important;visibility:hidden !important;height:0 !important;max-height:0 !important;overflow:hidden !important;opacity:0 !important;pointer-events:none !important}}.preloader-line-wrap{width:160px;height:3px;background:#e2e8f0;border-radius:9999px;overflow:hidden;position:relative;margin-top:6px}.preloader-line-bar{position:absolute;top:0;left:0;height:100%;width:100%;transform-origin:left center;background:#0a2e5c;border-radius:9999px;will-change:transform;animation:preloaderLineShift 1.2s cubic-bezier(0.4,0,0.2,1) infinite}@keyframes preloaderLineShift{0%{transform:translateX(-100%) scaleX(0.3)}50%{transform:translateX(30%) scaleX(0.55)}100%{transform:translateX(100%) scaleX(0.3)}}.header-user-avatar-wrap{position:relative;width:30px;height:30px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.header-user-avatar-img{width:30px;height:30px;border-radius:50%;object-fit:cover;display:block}.header-avatar-glow-free{border:2px solid #2563eb;animation:wavePulseTheme 2.2s infinite cubic-bezier(0.4,0,0.2,1)}@keyframes wavePulseTheme{0%{box-shadow:0 0 0 0 rgba(37,99,235,0.75),0 0 4px #0a2e5c}70%{box-shadow:0 0 0 8px rgba(37,99,235,0)}100%{box-shadow:0 0 0 0 rgba(37,99,235,0)}}.header-avatar-glow-pro{border:2px solid #16a34a;animation:wavePulsePro 2.2s infinite cubic-bezier(0.4,0,0.2,1)}@keyframes wavePulsePro{0%{box-shadow:0 0 0 0 rgba(22,163,74,0.85),0 0 5px #15803d}70%{box-shadow:0 0 0 9px rgba(34,197,94,0)}100%{box-shadow:0 0 0 0 rgba(22,163,74,0)}}.sidebar-footer{margin-top:auto !important;flex-shrink:0 !important;position:sticky !important;bottom:0 !important;background-color:var(--color-primary) !important;z-index:10 !important;padding:14px 16px !important;border-top:1px solid rgba(255,255,255,0.1) !important}.social-btn-circle{width:30px;height:30px;border-radius:50%;background:#ffffff;box-shadow:0 2px 5px rgba(0,0,0,0.18);display:inline-flex;align-items:center;justify-content:center;transition:transform 0.2s ease,box-shadow 0.2s ease;text-decoration:none;border:none;flex-shrink:0;cursor:pointer}.social-btn-circle:hover{transform:scale(1.15);box-shadow:0 4px 10px rgba(0,0,0,0.28)}.footer-social-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.form-row{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:14px}.form-row .form-group{flex:1 1 200px;min-width:180px}.form-grid-3{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin-bottom:14px}.form-grid-2{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px;margin-bottom:14px}.print-header-meta,.print-header-meta table,.print-header-meta table tr,.print-header-meta table td,.print-header-meta table th{border:none !important;outline:none !important;box-shadow:none !important;background:transparent !important;background-color:transparent !important}.year-cal-bar{display:block;width:14px;height:3px;border-radius:2px;margin:2px auto 0 auto}.legend-item{display:inline-flex !important;white-space:nowrap !important;align-items:center !important;gap:6px !important;flex-shrink:0 !important}.year-cal-active{background:#f8fafc !important;border:1px solid #cbd5e1 !important;border-radius:4px !important}.nav-pro-pill{margin-left:auto;font-size:7.5px;font-weight:700;line-height:1;background:#041933;color:#ffffff;padding:1.5px 4.5px;border-radius:3px;border:1px solid rgba(255,255,255,0.22);letter-spacing:0.5px;text-transform:uppercase;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.nav-item:hover .nav-pro-pill{border-color:rgba(255,255,255,0.4)}.nav-item.active .nav-pro-pill{background:#1e3a8a;color:#ffffff;border-color:rgba(255,255,255,0.35)}.brand-logo-img{width:34px;height:34px;object-fit:contain;flex-shrink:0}.mobile-bottom-nav{display:none}@media (max-width:768px){.mobile-bottom-nav{display:flex !important;position:fixed !important;bottom:0 !important;left:0 !important;right:0 !important;width:100% !important;height:58px !important;background:#ffffff !important;border-top:1.5px solid #cbd5e1 !important;box-shadow:0 -2px 10px rgba(10,46,92,0.08) !important;z-index:990 !important;padding-bottom:env(safe-area-inset-bottom,0px) !important;box-sizing:border-box !important;align-items:stretch !important;justify-content:space-around !important}.mobile-nav-btn{flex:1 1 0 !important;min-width:0 !important;display:flex !important;flex-direction:column !important;align-items:center !important;justify-content:center !important;gap:3px !important;background:transparent !important;border:none !important;border-top:2.5px solid transparent !important;color:#64748b !important;font-family:inherit !important;font-size:10px !important;font-weight:700 !important;text-decoration:none !important;cursor:pointer !important;padding:4px 2px !important;transition:color 0.15s ease,border-color 0.15s ease !important;-webkit-tap-highlight-color:transparent !important}.mobile-nav-btn svg{width:20px !important;height:20px !important;stroke:currentColor !important;stroke-width:2.2 !important;stroke-linecap:round !important;stroke-linejoin:round !important;fill:none !important;flex-shrink:0 !important;transition:transform 0.15s ease !important}.mobile-nav-btn:active svg{transform:scale(0.9) !important}.mobile-nav-btn.active,.mobile-nav-btn:hover{color:#0a2e5c !important;border-top-color:#0a2e5c !important}.mobile-nav-btn.active svg{stroke:#0a2e5c !important}.mobile-nav-label{line-height:1.1 !important;letter-spacing:0.1px !important;white-space:nowrap !important;text-overflow:ellipsis !important;overflow:hidden !important;max-width:100% !important}.main-content{padding-bottom:76px !important}}
#cloudDriveSyncModal{position:fixed !important;inset:0 !important;width:100% !important;max-width:100vw !important;height:100% !important;height:100dvh !important;background:rgba(15,23,42,0.65) !important;backdrop-filter:blur(4px) !important;-webkit-backdrop-filter:blur(4px) !important;z-index:10700 !important;display:flex !important;align-items:center !important;justify-content:center !important;padding:12px !important;box-sizing:border-box !important;overflow:hidden !important}
#cloudDriveSyncModal .sync-modal-dialog{background:#ffffff !important;border:none !important;border-radius:12px !important;width:100% !important;max-width:500px !important;max-height:calc(100vh - 24px) !important;max-height:calc(100dvh - 24px) !important;display:flex !important;flex-direction:column !important;box-shadow:0 15px 30px rgba(15,23,42,0.2) !important;overflow:hidden !important;box-sizing:border-box !important;margin:auto !important}
#cloudDriveSyncModal *{box-sizing:border-box !important}
#cloudDriveSyncModal .sync-modal-body{padding:12px 14px !important;overflow-y:auto !important;overflow-x:hidden !important;flex:1 1 auto !important;display:flex !important;flex-direction:column !important;gap:10px !important;scrollbar-width:none !important;-ms-overflow-style:none !important}
#cloudDriveSyncModal .sync-modal-body::-webkit-scrollbar,#cloudDriveSyncModal ::-webkit-scrollbar{display:none !important;width:0 !important;height:0 !important}
@media (max-width:480px){#cloudDriveSyncModal .sync-cards-grid{grid-template-columns:minmax(0,1fr) !important}}


.rab-item-name-input {
  font-size: 13px !important;
  line-height: 1.45 !important;
  resize: vertical !important;
  background: #ffffff !important;
  border: 1.5px solid #cbd5e1 !important;
  border-radius: 6px !important;
  padding: 10px 12px !important;
  color: #0f172a !important;
  min-height: 90px !important;
  max-height: 160px !important;
  width: 100% !important;
  box-sizing: border-box !important;
  scrollbar-width: thin !important;
}
.rab-item-name-input:focus {
  border-color: #0a2e5c !important;
  box-shadow: 0 0 0 3px rgba(10, 46, 92, 0.1) !important;
  outline: none !important;
}

.rab-division-header {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: space-between !important;
  flex-wrap: nowrap !important;
  gap: 12px !important;
  min-height: 48px !important;
  padding: 8px 14px !important;
  box-sizing: border-box !important;
}
.rab-division-header .card-actions {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  flex-wrap: nowrap !important;
  flex-shrink: 0 !important;
  width: auto !important;
  gap: 8px !important;
}
.rab-division-header .rab-div-btn-group,
.rab-division-header .btn-group {
  display: flex !important;
  align-items: center !important;
  gap: 4px !important;
  width: auto !important;
}
.rab-division-header .btn-group .btn,
.rab-division-header .btn-group .rab-btn-icon,
.rab-division-header .rab-div-btn-group .btn,
.rab-division-header .rab-div-btn-group .rab-btn-icon {
  width: 28px !important;
  height: 28px !important;
  min-width: 28px !important;
  max-width: 28px !important;
  flex: 0 0 28px !important;
  padding: 0 !important;
  box-sizing: border-box !important;
}

@media (max-width: 768px) {
  .rab-division-header {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    padding: 10px 12px !important;
    gap: 8px !important;
    box-sizing: border-box !important;
  }
  .rab-division-header .card-title {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
  }
  .rab-division-header .rab-div-name {
    max-width: none !important;
    white-space: normal !important;
    word-break: break-word !important;
    font-size: 13px !important;
    line-height: 1.3 !important;
    flex: 1 1 auto !important;
    color: #0f172a !important;
  }
  .rab-division-header .card-actions {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    gap: 8px !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
  }
  .rab-division-header .rab-div-subtotal-wrap {
    width: 100% !important;
    display: flex !important;
    align-items: baseline !important;
    justify-content: space-between !important;
    margin: 0 !important;
    padding: 2px 0 !important;
  }
  .rab-division-header .rab-div-subtotal-text {
    font-size: 13.5px !important;
    font-weight: 800 !important;
    color: #0f172a !important;
  }
  .rab-division-header .btn-group,
  .rab-division-header .rab-div-btn-group {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    width: 100% !important;
    max-width: 100% !important;
    gap: 6px !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
  }
  .rab-division-header .btn-group .btn,
  .rab-division-header .btn-group .rab-btn-icon,
  .rab-division-header .rab-div-btn-group .btn,
  .rab-division-header .rab-div-btn-group .rab-btn-icon {
    flex: 1 1 0 !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    height: 36px !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 6px !important;
    box-sizing: border-box !important;
  }
  .main-content {
    padding-bottom: 120px !important;
  }
}
