.app-dialog-backdrop{align-items:center;animation:app-dialog-fade-in .16s ease-out;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#0a1c2380;display:flex;inset:0;justify-content:center;padding:24px;position:fixed;z-index:100000}.app-dialog{--dialog-accent:#006876;--dialog-tint:#e7f5f6;animation:app-dialog-slide-in .18s ease-out;background:#fff;border:1px solid #ffffffbf;border-radius:8px;box-shadow:0 24px 80px #0a1c2340;color:#19343a;font-family:Open Sans,sans-serif;max-height:calc(100dvh - 48px);max-width:460px;overflow-y:auto;position:relative;width:100%}.app-dialog--success{--dialog-accent:#157347;--dialog-tint:#eaf7ef}.app-dialog--warning{--dialog-accent:#925706;--dialog-tint:#fff5df}.app-dialog--danger,.app-dialog--error{--dialog-accent:#bb303b;--dialog-tint:#fff0f0}.app-dialog-content{padding:32px 32px 26px}.app-dialog-icon{background:var(--dialog-tint);border:1px solid color-mix(in srgb,var(--dialog-accent) 12%,#0000);border-radius:8px;color:var(--dialog-accent);display:grid;height:60px;margin-bottom:22px;place-items:center;width:60px}.app-dialog-icon svg{height:29px;width:29px}.app-dialog-eyebrow{color:#63777c;font-size:10px;font-weight:700;letter-spacing:.11em;margin:0 0 8px;text-transform:uppercase}.app-dialog h2{color:#19343a;font-size:22px;font-weight:750;line-height:1.35;margin:0 0 12px}.app-dialog-message{color:#607078;font-size:14px;line-height:1.8;margin:0;overflow-wrap:anywhere;white-space:pre-wrap}.app-dialog-close{background:#f3f6f7;border:0;border-radius:6px;color:#64777b;cursor:pointer;display:grid;height:32px;padding:7px;place-items:center;position:absolute;right:18px;top:18px;width:32px}.app-dialog-close:hover{background:#e6edef;color:#19343a}.app-dialog-close svg{height:18px;width:18px}.app-dialog-actions{background:#f9fbfb;border-top:1px solid #edf1f2;display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end;padding:18px 32px}.app-dialog-button{border:1px solid #0000;border-radius:6px;cursor:pointer;font:inherit;font-size:13px;font-weight:700;line-height:1.5;min-height:44px;padding:11px 20px;transition:background .15s ease,box-shadow .15s ease}.app-dialog-button--cancel{background:#fff;border-color:#dce5e7;color:#50666c}.app-dialog-button--cancel:hover{background:#edf3f4}.app-dialog-button--accept{background:var(--dialog-accent);box-shadow:0 3px 8px #0a1c231a;color:#fff}.app-dialog-button--accept:hover{filter:brightness(.92)}.app-dialog button:focus-visible,.app-dialog textarea:focus-visible{outline:3px solid var(--dialog-accent);outline-offset:3px}.app-dialog-field{margin-top:22px}.app-dialog-field label{color:#324e55;display:block;font-size:13px;font-weight:650;margin-bottom:9px}.app-dialog-field label span{color:#738589;font-weight:400}.app-dialog-field textarea{background:#fff;border:1px solid #cfdbde;border-radius:6px;color:#19343a;font:inherit;font-size:14px;min-height:100px;padding:12px 14px;resize:vertical;width:100%}.app-dialog-field textarea[aria-invalid=true]{border-color:#bb303b}.app-dialog-field-error{color:#bb303b;font-size:12px;margin:8px 0 0}@keyframes app-dialog-fade-in{0%{opacity:0}to{opacity:1}}@keyframes app-dialog-slide-in{0%{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@media (max-width:520px){.app-dialog-backdrop{padding:16px}.app-dialog{border-radius:8px;max-height:calc(100dvh - 32px)}.app-dialog-content{padding:26px 24px 24px}.app-dialog h2{font-size:20px}.app-dialog-actions{padding:16px 24px}.app-dialog-button{flex:1 1}}@media (prefers-reduced-motion:reduce){.app-dialog,.app-dialog-backdrop{animation:none}.app-dialog-button{transition:none}}@font-face{font-family:Open Sans;font-style:normal;font-weight:300 800;src:url(/static/media/OpenSans-VariableFont_wdth,wght.a5d7d2ae1b1ee112f57e.ttf) format("truetype-variations"),url(/static/media/OpenSans-VariableFont_wdth,wght.a5d7d2ae1b1ee112f57e.ttf) format("truetype")}@font-face{font-family:Open Sans;font-style:italic;font-weight:300 800;src:url(/static/media/OpenSans-Italic-VariableFont_wdth,wght.4805a1a96b0414af4306.ttf) format("truetype-variations"),url(/static/media/OpenSans-Italic-VariableFont_wdth,wght.4805a1a96b0414af4306.ttf) format("truetype")}:root{--md-surface-bright:#fff;--md-primary-fixed:#e0f2fe;--md-tertiary-fixed:#f1f5f9;--md-secondary-fixed-dim:#bae6fd;--md-surface-dim:#f1f5f9;--md-on-error-container:#991b1b;--md-on-primary:#fff;--md-on-surface-variant:#475569;--md-tertiary-container:#e2e8f0;--md-outline-variant:#cbd5e1;--md-outline:#94a3b8;--md-primary-fixed-dim:#38bdf8;--md-tertiary-fixed-dim:#cbd5e1;--md-on-tertiary:#fff;--md-surface-variant:#f8fafc;--md-on-secondary-fixed:#075985;--md-on-secondary-container:#0369a1;--md-on-secondary-fixed-variant:#0c4a6e;--md-tertiary:#64748b;--md-on-surface:#0f172a;--md-on-tertiary-fixed:#1e293b;--md-surface:#fff;--md-on-primary-container:#00333a;--md-secondary-container:#e0f2fe;--md-primary-container:#006876;--md-on-tertiary-container:#334155;--md-on-secondary:#fff;--md-surface-tint:#006876;--md-error:#dc2626;--md-inverse-primary:#38bdf8;--md-surface-container-highest:#f1f5f9;--md-surface-container:#f8fafc;--md-on-primary-fixed-variant:#0369a1;--md-surface-container-lowest:#fff;--md-on-background:#0f172a;--md-on-error:#fff;--md-secondary:#0284c7;--md-inverse-on-surface:#f8fafc;--md-primary:#006876;--md-on-tertiary-fixed-variant:#475569;--md-on-primary-fixed:#0c4a6e;--md-inverse-surface:#1e293b;--md-surface-container-high:#f1f5f9;--md-secondary-fixed:#e0f2fe;--md-surface-container-low:#f8fafc;--md-error-container:#fee2e2;--md-background:#f8fafc;--primary:#006876;--primary-light:#0891b2;--primary-dark:#004e5a;--primary-glow:#00687614;--bg-primary:#f8fafc;--bg-secondary:#fff;--bg-tertiary:#f1f5f9;--bg-card:#fff;--bg-card-hover:#f8fafc;--bg-input:#fff;--text-primary:#0f172a;--text-secondary:#475569;--text-muted:#64748b;--text-inverse:#fff;--status-hijau:#10b981;--status-hijau-bg:#10b9811a;--status-kuning:#f59e0b;--status-kuning-bg:#f59e0b1a;--status-merah:#ef4444;--status-merah-bg:#ef44441a;--status-abu:#64748b;--status-abu-bg:#64748b1a;--accent-cyan:#06b6d4;--accent-purple:#0284c7;--accent-pink:#94a3b8;--border-color:#e2e8f0;--border-color-light:#f1f5f9;--shadow-sm:0 1px 2px 0 #0000000a;--shadow-md:0 4px 12px -2px #0f172a0d,0 2px 4px -1px #0f172a08;--shadow-lg:0 12px 24px -4px #0f172a14,0 4px 8px -2px #0f172a08;--shadow-glow:0 0 20px #0068761f;--radius-sm:8px;--radius-md:8px;--radius-lg:8px;--radius-xl:8px;--radius-2xl:8px;--radius-full:8px;--stack-sm:8px;--stack-md:16px;--stack-lg:32px;--section-gap:80px;--gutter:24px;--margin-desktop:64px;--margin-mobile:20px;--container-max:1280px;--transition-fast:150ms cubic-bezier(0.4,0,0.2,1);--transition-normal:250ms cubic-bezier(0.4,0,0.2,1);--transition-slow:400ms cubic-bezier(0.4,0,0.2,1);--sidebar-width:260px;--sidebar-collapsed:72px;--topbar-height:64px}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{font-size:14px;scroll-behavior:smooth}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f8fafc;background-color:var(--bg-primary);color:#0f172a;color:var(--text-primary);font-family:Open Sans,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.6;overflow-x:hidden}a{color:#0891b2;color:var(--primary-light);text-decoration:none;transition:color .15s cubic-bezier(.4,0,.2,1);transition:color var(--transition-fast)}a:hover{color:#006876;color:var(--primary)}.material-symbols-outlined{font-variation-settings:"FILL" 0,"wght" 400,"GRAD" 0,"opsz" 24}.glass-card{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffb3;border:1px solid #ffffff4d}.text-glow{text-shadow:0 0 20px #14a3b84d}.ambient-shadow{box-shadow:0 4px 20px #004b7a14}::-webkit-scrollbar{height:6px;width:6px}::-webkit-scrollbar-track{background:#fff;background:var(--bg-secondary)}::-webkit-scrollbar-thumb{background:#cbd5e1;background:var(--md-outline-variant);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#94a3b8;background:var(--md-outline)}.text-hijau{color:#10b981;color:var(--status-hijau)}.text-kuning{color:#f59e0b;color:var(--status-kuning)}.text-merah{color:#ef4444;color:var(--status-merah)}.text-abu{color:#64748b;color:var(--status-abu)}.bg-hijau{background-color:#10b9811a;background-color:var(--status-hijau-bg)}.bg-kuning{background-color:#f59e0b1a;background-color:var(--status-kuning-bg)}.bg-merah{background-color:#ef44441a;background-color:var(--status-merah-bg)}.bg-abu{background-color:#64748b1a;background-color:var(--status-abu-bg)}input,select,textarea{background-color:#f8fafc;background-color:var(--md-surface-container-low);border:none;border-radius:8px;border-radius:var(--radius-md);color:#0f172a;color:var(--text-primary);font-family:Open Sans,sans-serif;font-size:.95rem;outline:none;padding:12px 16px;transition:box-shadow .15s cubic-bezier(.4,0,.2,1);transition:box-shadow var(--transition-fast);width:100%}input:focus,select:focus,textarea:focus{box-shadow:0 0 0 2px #006876;box-shadow:0 0 0 2px var(--md-primary-container)}input::placeholder,textarea::placeholder{color:#94a3b8;color:var(--md-outline)}select{-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='%236d797c' viewBox='0 0 16 16'%3E%3Cpath d='M8 11 3 6h10l-5 5z'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;cursor:pointer;padding-right:36px}label{color:#475569;color:var(--md-on-surface-variant);display:block;font-size:.85rem;font-weight:500;margin-bottom:6px;margin-left:4px}.btn{align-items:center;border:none;border-radius:8px;border-radius:var(--radius-md);cursor:pointer;display:inline-flex;font-family:Open Sans,sans-serif;font-size:.9rem;font-weight:600;gap:8px;justify-content:center;padding:10px 20px;transition:all .15s cubic-bezier(.4,0,.2,1);transition:all var(--transition-fast);white-space:nowrap}.btn:active{transform:scale(.97)}.btn-primary{background:#006876;background:var(--md-primary-container);color:#00333a;color:var(--md-on-primary-container)}.btn-primary:hover{box-shadow:0 4px 16px #00687640;filter:brightness(.95);transform:translateY(-1px)}.btn-secondary{background:#f8fafc;background:var(--md-surface-container);border:1px solid #cbd5e1;border:1px solid var(--md-outline-variant);color:#0f172a;color:var(--text-primary)}.btn-secondary:hover{background:#f1f5f9;background:var(--md-surface-container-high);border-color:#006876;border-color:var(--primary)}.btn-danger{background:#dc2626;background:var(--md-error);color:#fff;color:var(--md-on-error)}.btn-danger:hover{filter:brightness(.95);transform:translateY(-1px)}.btn-success{background:#10b981;background:var(--status-hijau);color:#fff}.btn-sm{font-size:.8rem;padding:6px 14px}.btn-icon{border-radius:8px;border-radius:var(--radius-sm);height:36px;padding:0;width:36px}.card{background:#fff;background:var(--md-surface-container-lowest);border:1px solid #bcc9cc4d;border-radius:8px;border-radius:var(--radius-lg);box-shadow:0 4px 20px #004b7a14;padding:24px;transition:all .25s cubic-bezier(.4,0,.2,1);transition:all var(--transition-normal)}.card:hover{box-shadow:0 8px 30px #004b7a1f;transform:translateY(-2px)}.card-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.card-title{color:#0f172a;color:var(--md-on-surface);font-size:1.1rem;font-weight:700}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translateX(-20px)}to{opacity:1;transform:translateX(0)}}@keyframes slideInRight{0%{opacity:0;transform:translateX(20px)}to{opacity:1;transform:translateX(0)}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes bounceSlow{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.animate-fadeIn{animation:fadeIn .4s ease-out forwards}.animate-slideUp{animation:slideUp .4s ease-out forwards}.animate-bounce-slow{animation:bounceSlow 3s ease-in-out infinite}.stagger-1{animation-delay:.05s}.stagger-2{animation-delay:.1s}.stagger-3{animation-delay:.15s}.stagger-4{animation-delay:.2s}.app-layout{display:block;min-height:100vh}.app-main{flex:1 1;margin-left:var(--sidebar-width);padding-top:var(--topbar-height);transition:margin-left var(--transition-normal)}.app-content{animation:fadeIn .3s ease-out;max-width:1400px;padding:28px 32px}.login-page{align-items:center;background:var(--bg-primary);display:flex;justify-content:center;min-height:100vh;overflow:hidden;position:relative}.login-page:before{background:radial-gradient(circle,var(--primary-glow),#0000 70%);height:600px;right:-200px;top:-200px;width:600px}.login-page:after,.login-page:before{content:"";pointer-events:none;position:absolute}.login-page:after{background:radial-gradient(circle,#a855f714,#0000 70%);bottom:-100px;height:400px;left:-100px;width:400px}.login-container{animation:slideUp .5s ease-out;max-width:420px;padding:20px;position:relative;width:100%;z-index:1}.login-card{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);padding:40px 36px}.login-logo{margin-bottom:32px;text-align:center}.login-logo-img{filter:drop-shadow(0 4px 8px rgba(0,104,118,.15));height:75px;margin-bottom:16px;max-width:100%;object-fit:contain;transition:transform var(--transition-normal)}.login-logo-img:hover{transform:scale(1.05)}.login-logo-icon{align-items:center;background:linear-gradient(135deg,var(--primary),var(--accent-purple));border-radius:var(--radius-lg);box-shadow:0 4px 20px #6366f14d;display:inline-flex;font-size:28px;height:64px;justify-content:center;margin-bottom:16px;width:64px}.login-logo h1{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,var(--text-primary),var(--primary-light));-webkit-background-clip:text;background-clip:text;font-size:1.4rem;font-weight:800}.login-logo p{color:var(--text-muted);font-size:.85rem;margin-top:4px}.login-form .form-group{margin-bottom:20px}.login-form .form-group label{align-items:center;display:flex;gap:6px}.login-form .btn-primary{font-size:1rem;margin-top:8px;padding:12px;width:100%}.login-error{animation:fadeIn .3s ease-out;background:var(--status-merah-bg);border:1px solid #ef444433;border-radius:var(--radius-md);color:var(--status-merah);font-size:.85rem;margin-bottom:16px;padding:10px 14px}.sidebar{background:var(--bg-secondary);border-right:1px solid var(--border-color);display:flex;flex-direction:column;height:100vh;left:0;overflow:hidden;position:fixed;top:0;transition:width var(--transition-normal);width:var(--sidebar-width);z-index:100}.sidebar-brand{align-items:center;border-bottom:1px solid var(--border-color);display:flex;gap:12px;min-height:var(--topbar-height);padding:20px 20px 16px}.sidebar-brand-icon{align-items:center;background:linear-gradient(135deg,var(--primary),var(--accent-purple));border-radius:var(--radius-md);color:#fff;display:flex;flex-shrink:0;height:40px;justify-content:center;width:40px}.sidebar-brand-icon svg{stroke:currentColor;height:18px;width:18px}.sidebar-brand-text h2{color:var(--text-primary);font-size:.95rem;font-weight:700;white-space:nowrap}.sidebar-brand-text span{color:var(--text-muted);font-size:.7rem;white-space:nowrap}.sidebar-nav{flex:1 1;overflow-y:auto;padding:16px 12px}.sidebar-section{margin-bottom:24px}.sidebar-section-title{color:var(--text-muted);font-size:.65rem;font-weight:700;letter-spacing:1.2px;margin-bottom:8px;padding:0 12px;text-transform:uppercase}.sidebar-link{align-items:center;border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;display:flex;font-size:.9rem;font-weight:500;gap:12px;margin-bottom:2px;padding:10px 12px;text-decoration:none;transition:all var(--transition-fast)}.sidebar-link:hover{background:var(--bg-tertiary);color:var(--text-primary)}.sidebar-link.active{background:var(--primary-glow);color:var(--primary-light);font-weight:600}.sidebar-link.active:before{background:var(--primary);border-radius:0 4px 4px 0;content:"";height:24px;left:0;position:absolute;width:3px}.sidebar-link-icon{align-items:center;display:flex;flex-shrink:0;height:20px;justify-content:center;width:20px}.sidebar-link-icon svg{stroke:currentColor;height:16px;width:16px}.sidebar-footer{border-top:1px solid var(--border-color);padding:16px 20px}.sidebar-user{gap:10px}.sidebar-avatar,.sidebar-user{align-items:center;display:flex}.sidebar-avatar{background:linear-gradient(135deg,var(--primary),var(--accent-cyan));border-radius:50%;color:#fff;flex-shrink:0;font-size:.85rem;font-weight:700;height:36px;justify-content:center;width:36px}.sidebar-user-info{flex:1 1;min-width:0}.sidebar-user-name{color:var(--text-primary);font-size:.85rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-user-role{color:var(--text-muted);font-size:.7rem}.sidebar-logout{align-items:center;background:none;border:none;border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;display:inline-flex;justify-content:center;padding:6px;transition:all var(--transition-fast)}.sidebar-logout svg{stroke:currentColor;height:16px;width:16px}.sidebar-logout:hover{background:var(--status-merah-bg);color:var(--status-merah)}.topbar{align-items:center;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#0f0f1acc;border-bottom:1px solid var(--border-color);display:flex;height:var(--topbar-height);justify-content:space-between;left:var(--sidebar-width);padding:0 32px;position:fixed;right:0;top:0;transition:left var(--transition-normal);z-index:90}.topbar-title{color:#f8fafc;font-size:1.15rem;font-weight:700}.topbar-title span{color:#cbd5e1;font-size:.9rem;font-weight:400;margin-left:8px}.topbar-actions{align-items:center;display:flex;gap:12px}.topbar-search{position:relative}.topbar-search input{background:var(--bg-tertiary);border-radius:var(--radius-lg);font-size:.85rem;padding:8px 14px 8px 36px;width:240px}.topbar-search-icon{color:var(--text-muted);font-size:.9rem;left:12px;position:absolute;top:50%;transform:translateY(-50%)}.stats-grid{grid-gap:18px;display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin-bottom:22px}.stat-card{align-items:flex-start;animation:slideUp .4s ease-out forwards;background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);display:flex;justify-content:space-between;opacity:0;padding:20px 22px;transition:all var(--transition-normal)}.stat-card:hover{border-color:var(--primary-light);box-shadow:var(--shadow-md);transform:translateY(-2px)}.stat-card-info h3{color:var(--text-secondary);font-family:Open Sans,sans-serif;font-size:.78rem;font-weight:700;letter-spacing:.5px;margin-bottom:8px;text-transform:uppercase}.stat-card-info .stat-number{color:var(--text-primary);font-size:1.8rem;font-weight:800;line-height:1}.stat-card-info .stat-change{align-items:center;display:flex;font-size:.75rem;gap:4px;margin-top:8px}.stat-card-icon{align-items:center;border-radius:var(--radius-md);display:flex;flex-shrink:0;font-size:1.25rem;height:48px;justify-content:center;width:48px}.stat-card-icon.primary{background:var(--primary-glow);color:var(--primary)}.stat-card-icon.success{background:var(--status-hijau-bg);color:var(--status-hijau)}.stat-card-icon.warning{background:var(--status-kuning-bg);color:var(--status-kuning)}.stat-card-icon.danger{background:var(--status-merah-bg);color:var(--status-merah)}.stat-card-icon.muted{background:var(--status-abu-bg);color:var(--status-abu)}.table-container{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);overflow:hidden}.table-header{align-items:center;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;padding:20px 24px}.table-header h3{font-size:1.05rem;font-weight:700}.table-header-actions{align-items:center;display:flex;gap:10px}.data-table{border-collapse:collapse;width:100%}.data-table thead th{background:var(--bg-secondary);color:var(--text-muted);font-size:.72rem;font-weight:600;letter-spacing:.8px;padding:10px 8px;text-align:left;text-transform:uppercase;white-space:nowrap}.data-table tbody tr,.data-table thead th{border-bottom:1px solid var(--border-color)}.data-table tbody tr{transition:background var(--transition-fast)}.data-table tbody tr:hover{background:var(--bg-card-hover)}.data-table tbody tr:last-child{border-bottom:none}.data-table tbody td{color:var(--text-primary);font-size:.8rem;padding:10px 8px;vertical-align:middle}.table-actions{align-items:center;display:flex;gap:4px}.table-actions .btn{padding:6px 8px!important}.table-empty{color:var(--text-muted);padding:48px 20px;text-align:center}.table-empty-icon{font-size:3rem;margin-bottom:12px;opacity:.3}.table-empty p{font-size:.95rem}.status-badge{align-items:center;border-radius:8px;display:inline-flex;font-size:.78rem;font-weight:600;gap:6px;padding:4px 12px;white-space:nowrap}.status-badge:before{border-radius:50%;content:"";flex-shrink:0;height:7px;width:7px}.status-badge.hijau{background:var(--status-hijau-bg);color:var(--status-hijau)}.status-badge.hijau:before{background:var(--status-hijau);box-shadow:0 0 6px var(--status-hijau)}.status-badge.kuning{background:var(--status-kuning-bg);color:var(--status-kuning)}.status-badge.kuning:before{background:var(--status-kuning);box-shadow:0 0 6px var(--status-kuning)}.status-badge.merah{background:var(--status-merah-bg);color:var(--status-merah)}.status-badge.merah:before{background:var(--status-merah);box-shadow:0 0 6px var(--status-merah)}.status-badge.abu,.status-badge.abu_abu{background:var(--status-abu-bg);color:var(--status-abu)}.status-badge.abu:before,.status-badge.abu_abu:before{background:var(--status-abu)}.status-badge.biru{background:#0284c71f;color:#0284c7}.status-badge.biru:before{background:#0284c7;box-shadow:0 0 6px #0284c7}.modal-overlay{align-items:center;animation:fadeIn .2s ease-out;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0009;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.login-page-forgot{background:var(--md-surface-container-low)}.login-page-forgot:after,.login-page-forgot:before{display:none}.login-container-forgot{max-width:488px;padding:24px}.login-card-forgot{-webkit-backdrop-filter:none;backdrop-filter:none;background:var(--md-surface-container-lowest);border:none;border-radius:var(--radius-2xl);box-shadow:0 4px 20px #004b7a14;padding:48px 40px}.login-card-forgot .login-logo h1{-webkit-text-fill-color:currentColor;background:none;color:var(--md-on-surface);font-size:1.4rem;margin:0 0 4px}.login-card-forgot .login-logo p{color:var(--md-on-surface-variant);font-size:.85rem}.login-card-forgot .login-error{border:none;border-radius:var(--radius-md);padding:12px 16px}.login-card-forgot .login-success{background:var(--status-hijau-bg);border-radius:var(--radius-md);color:var(--status-hijau);font-size:.85rem;font-weight:600;margin-bottom:16px;padding:12px 16px;text-align:center}.forgot-password-form .form-group{margin-bottom:20px}.forgot-password-form .form-group label{color:var(--md-on-surface-variant);display:block;font-size:.85rem;font-weight:500;margin:0 0 6px 4px}.forgot-password-form .form-group input{background:var(--md-surface-container-low);border:none;border-radius:var(--radius-md);font-size:.95rem;outline:none;padding:14px 16px;width:100%}.forgot-password-form .form-group input::placeholder{color:var(--md-outline)}.forgot-password-form .form-group input[inputmode=numeric]{font-size:1.2rem;letter-spacing:6px;text-align:center}.forgot-password-back,.forgot-password-submit{border-radius:var(--radius-md);cursor:pointer;font-family:Open Sans,sans-serif;width:100%}.forgot-password-submit{background:var(--md-primary-container);border:none;color:var(--md-on-primary-container);font-size:1rem;font-weight:700;padding:14px}.forgot-password-submit:disabled{cursor:wait;opacity:.7}.forgot-password-back{background:var(--md-surface-container);border:1px solid var(--md-outline-variant);color:var(--md-on-surface);font-size:.9rem;font-weight:600;margin-top:10px;padding:12px}@media (max-width:768px){.login-container-forgot{padding:16px}.login-card-forgot{padding:32px 20px}}.modal{animation:slideUp .3s ease-out;background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);max-height:85vh;max-width:520px;overflow-y:auto;width:100%}.modal-header{align-items:center;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;padding:24px 28px 16px}.modal-header h2{font-size:1.15rem;font-weight:700}.modal-close{align-items:center;background:var(--bg-tertiary);border:none;border-radius:50%;color:var(--text-secondary);cursor:pointer;display:flex;font-size:1.1rem;height:32px;justify-content:center;transition:all var(--transition-fast);width:32px}.modal-close:hover{background:var(--status-merah-bg);color:var(--status-merah)}.modal-body{padding:24px 28px}.modal-body .form-group{margin-bottom:18px}.modal-body .form-row{grid-gap:14px;display:grid;gap:14px;grid-template-columns:1fr 1fr}.modal-footer{border-top:1px solid var(--border-color);gap:10px;justify-content:flex-end;padding:16px 28px 24px}.modal-footer,.page-header{align-items:center;display:flex}.page-header{background:#004e5a;border-radius:var(--radius-xl);box-shadow:0 10px 25px -5px #004e5a40;color:#fff;flex-wrap:wrap;gap:20px;justify-content:space-between;margin:0 0 24px;overflow:hidden;padding:28px 32px;position:relative}.page-header h1{color:#fff;font-size:1.75rem;font-weight:800;letter-spacing:-.02em;margin-bottom:6px}.page-header h1,.page-header p{font-family:Open Sans,sans-serif}.page-header p{color:#ffffffe0;font-size:.9rem;margin-top:0;max-width:620px}.skeleton{animation:shimmer 1.5s infinite;background:linear-gradient(90deg,var(--bg-tertiary) 25%,var(--bg-card-hover) 50%,var(--bg-tertiary) 75%);background-size:200% 100%;border-radius:var(--radius-sm)}.skeleton-text{height:14px;margin-bottom:8px}.skeleton-text.lg{height:20px;width:60%}.chart-container-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);margin-bottom:24px;padding:24px 28px;position:relative}.chart-header{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:16px}.chart-title-wrap h3{align-items:center;color:var(--text-primary);display:flex;font-size:1.05rem;font-weight:700;gap:8px}.chart-title-wrap p{color:var(--text-muted);font-size:.8rem;margin-top:2px}.chart-legend{display:flex;font-size:.8rem;gap:16px}.legend-item{align-items:center;color:var(--text-secondary);display:flex;font-weight:600;gap:6px}.legend-color{border-radius:50%;height:10px;width:10px}.legend-color.pemasukan{background-color:var(--primary)}.legend-color.pengeluaran{background-color:var(--status-merah)}.chart-svg-wrap{position:relative;width:100%}.chart-tooltip{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#191c1df2;border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:var(--shadow-md);color:#fff;min-width:170px;padding:8px 12px;pointer-events:none;position:absolute;transition:left .1s ease-out,top .1s ease-out;z-index:10}.tooltip-month{border-bottom:1px solid #ffffff1a;color:#f8fafc;font-size:.8rem;font-weight:700;margin-bottom:6px;padding-bottom:4px}.tooltip-row{align-items:center;display:flex;font-size:.75rem;justify-content:space-between;margin-bottom:4px}.tooltip-row:last-child{margin-bottom:0}.tooltip-val{font-weight:700}.reports-tables-grid{grid-template-columns:1fr}.landing-page{background:var(--md-background);color:var(--md-on-surface);font-family:Open Sans,sans-serif;min-height:100vh;overflow-x:hidden}.landing-nav{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#f8f9facc;box-shadow:0 1px 3px #0000000f;left:0;position:fixed;right:0;top:0;transition:box-shadow .3s ease;z-index:100}.landing-nav.scrolled{box-shadow:0 4px 12px #0000001a}.landing-nav-inner{align-items:center;display:flex;height:80px;justify-content:space-between;margin:0 auto;max-width:1600px;padding:0 var(--margin-desktop);width:100%}.landing-nav-brand{align-items:center;display:flex;gap:20px}.landing-nav-logo{filter:brightness(1.1);height:36px;object-fit:contain}.landing-nav-title{color:var(--md-primary);font-size:1.1rem;font-weight:700;letter-spacing:-.02em}.landing-nav-actions{align-items:center;display:flex;gap:10px}.landing-nav-user{background:var(--md-surface-container);border-radius:var(--radius-full);color:var(--md-on-surface-variant);display:flex;padding:6px 12px}.landing-btn-outline,.landing-nav-user{align-items:center;font-size:.82rem;gap:6px}.landing-btn-outline{background:#0000;border:2px solid var(--md-primary);border-radius:var(--radius-md);color:var(--md-primary);cursor:pointer;display:inline-flex;font-weight:600;padding:8px 18px;transition:all .2s ease}.landing-btn-outline:hover{background:#0068760d}.landing-btn-outline--muted{border-color:var(--md-outline-variant);color:var(--md-on-surface-variant)}.landing-btn-outline--muted:hover{background:var(--md-surface-container-low);border-color:var(--md-outline)}.landing-btn-primary{align-items:center;background:var(--md-primary-container);border:none;border-radius:var(--radius-md);box-shadow:0 4px 20px #00687633;color:var(--md-on-primary-container);cursor:pointer;display:inline-flex;font-size:.92rem;font-weight:700;gap:8px;padding:12px 28px;transition:all .3s ease}.landing-btn-primary:hover{box-shadow:0 8px 30px #0068764d;filter:brightness(.95)}.landing-btn-lg{font-size:1rem;padding:14px 32px}.landing-btn-glow{animation:landing-glow 2.5s ease-in-out infinite}@keyframes landing-glow{0%,to{box-shadow:0 4px 20px #0068764d}50%{box-shadow:0 4px 35px #14a3b880}}.landing-btn-ghost{align-items:center;background:#0000;border:2px solid var(--md-primary);border-radius:var(--radius-md);cursor:pointer;display:inline-flex;font-size:.92rem;font-weight:600;gap:8px;padding:12px 28px;text-decoration:none;transition:all .25s ease}.landing-btn-ghost:hover{background:#0068760d}.landing-hero{align-items:center;background:var(--md-surface);display:flex;justify-content:center;min-height:100vh;overflow:hidden;padding:120px 24px 80px;position:relative}.reveal-on-scroll{opacity:0;transform:translateY(45px) scale(.98);transition:opacity .45s cubic-bezier(.25,.46,.45,.94),transform .45s cubic-bezier(.25,.46,.45,.94)}.reveal-on-scroll.is-visible{opacity:1;transform:translateY(0) scale(1)}.landing-hero-bg-orb{animation:landing-float 8s ease-in-out infinite;border-radius:50%;filter:blur(100px);pointer-events:none;position:absolute}.landing-hero-bg-orb--1{background:radial-gradient(circle,#a2efff4d,#0000 70%);height:500px;right:-120px;top:-100px;width:500px}.landing-hero-bg-orb--2{animation-delay:2s;background:radial-gradient(circle,#14a3b826,#0000 70%);bottom:0;height:350px;left:-80px;width:350px}.landing-hero-bg-orb--3{animation-delay:4s;background:radial-gradient(circle,#94c8fe33,#0000 70%);height:250px;left:60%;top:40%;width:250px}@keyframes landing-float{0%,to{transform:translate(0) scale(1)}33%{transform:translate(20px,-15px) scale(1.04)}66%{transform:translate(-15px,10px) scale(.96)}}.landing-hero-content{animation:slideUp .7s ease-out;max-width:720px;position:relative;text-align:center;z-index:1}.landing-hero-badge{background:#14a3b81a;border:1px solid #14a3b840;border-radius:5px;color:#5eead4}.landing-hero-title{color:#f1f5f9}.landing-hero-title--accent{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#5eead4,#14a3b8,#006876);-webkit-background-clip:text;background-clip:text}.landing-hero-subtitle{color:#94a3b8}.landing-hero-stats{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff08;border:1px solid #ffffff0f;border-radius:5px;padding:24px 32px}.landing-stat-value{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#f1f5f9,#5eead4);-webkit-background-clip:text;background-clip:text;font-size:1.6rem}.landing-stat-label{color:#64748b;font-weight:500}.landing-stat-divider{background:#ffffff14}.landing-features{background:#0d1321;padding:100px 24px}.landing-section-inner{max-width:1100px}.landing-section-title{color:#f1f5f9}.landing-section-subtitle{color:#94a3b8}.landing-features-grid{grid-gap:20px;gap:20px}.landing-feature-card{background:#ffffff08;border:1px solid #ffffff0f;border-radius:5px;padding:28px 24px}.landing-feature-card:hover{background:#ffffff0f;border-color:#14a3b833;transform:translateY(-4px)}.landing-feature-icon{border-radius:5px;height:48px;width:48px}.landing-feature-icon--cyan{background:#14a3b81f;color:#5eead4}.landing-feature-icon--green{color:#34d399}.landing-feature-icon--purple{background:#28629226;color:#93c5fd}.landing-feature-icon--orange{color:#fbbf24}.landing-feature-icon--pink{background:#ec48991f;color:#f472b6}.landing-feature-icon--teal{background:#0d94881f;color:#2dd4bf}.landing-feature-card h3{color:#f1f5f9}.landing-feature-card p{color:#94a3b8;font-size:.82rem}.landing-cta{background:#0a0f1a;padding:80px 24px}.landing-cta-inner{background:linear-gradient(135deg,#0068761f,#14a3b80f);border:1px solid #14a3b826;border-radius:5px}.landing-cta-content h2{color:#f1f5f9;letter-spacing:-.02em}.landing-cta-content p{color:#94a3b8}.landing-cta-card{background:#ffffff0a;border:1px solid #ffffff14;border-radius:5px}.landing-cta-card-label{color:#64748b}.landing-cta-card-value{color:#e2e8f0}.landing-cta-card-value--bold{color:#5eead4}.landing-cta-card-badge--green{background:#0f9d5b26;border-radius:5px;color:#34d399;letter-spacing:.04em}.landing-about{background:#0a0f1a;padding:90px 24px;position:relative}.landing-about-text p{color:#94a3b8}.landing-checklist li{color:#cbd5e1}.landing-highlight-item{background:#ffffff05;border:1px solid #ffffff0d;border-radius:5px}.landing-highlight-num{background:#5eead41a;border-radius:5px;color:#5eead4}.landing-highlight-item h4{color:#f1f5f9}.landing-highlight-item p{color:#64748b}.landing-nav-menu{gap:20px}.landing-nav-link{color:#94a3b8;font-size:.85rem}.landing-nav-link:hover{color:#5eead4}.landing-cta-wa{background:linear-gradient(135deg,#0f9d5b,#004e5a);position:relative}.landing-btn-wa{border-radius:5px;color:#0f9d5b}.landing-btn-wa:hover{background:#f8fafc}.landing-pricing{background:#0d1321;padding:100px 24px}.landing-pricing-grid{grid-gap:24px;gap:24px}.landing-pricing-card{background:#ffffff05;border:1px solid #ffffff0d;border-radius:5px}.landing-pricing-card:hover{background:#ffffff0a;border-color:#14a3b840}.landing-pricing-card--popular{background:#14a3b80a;border-color:#5eead466}.landing-pricing-badge{background:#5eead4;border-radius:5px;color:#0a0f1a}.landing-pricing-name{color:#f1f5f9}.landing-pricing-price{border-bottom:1px solid #ffffff0f}.landing-pricing-currency{color:#94a3b8}.landing-pricing-amount{color:#5eead4}.landing-pricing-period{color:#64748b}.landing-pricing-features li{color:#cbd5e1}.landing-pricing-info{color:#64748b}.landing-faq{background:#0a0f1a;padding:90px 24px}.landing-faq-item{background:#ffffff05;border:1px solid #ffffff0d;border-radius:5px}.landing-faq-item:hover{background:#ffffff0a}.landing-faq-question{color:#cbd5e1}.landing-faq-answer{border-top:1px solid #ffffff05;color:#94a3b8}.landing-contact{background:#0d1321;padding:100px 24px}.landing-contact-grid{grid-gap:24px;gap:24px}.landing-contact-item{background:#ffffff05;border:1px solid #ffffff0d;border-radius:5px}.landing-contact-icon{background:#14a3b81f;color:#5eead4}.landing-contact-item h4{color:#f1f5f9}.landing-contact-item p{color:#94a3b8}.landing-map{border:1px solid #ffffff0f;border-radius:5px;box-shadow:0 10px 30px #0000004d}.landing-footer{background:#060a14;border-top:1px solid #ffffff0d}.landing-footer-inner{max-width:1100px}.landing-footer-logo{filter:brightness(1.1)}.landing-footer-desc{color:#64748b}.landing-footer-links h4{color:#94a3b8}.landing-footer-links a{color:#64748b}.landing-footer-links a:hover{color:#5eead4}.landing-social-link{background:#ffffff0d;border:1px solid #ffffff14;color:#94a3b8!important;height:32px;width:32px}.landing-social-link:hover{background:#5eead4;border-color:#5eead4;color:#0a0f1a!important;transform:translateY(-2px)}.landing-footer-bottom{border-top:1px solid #ffffff0d}.landing-footer-bottom p{color:#475569}@media (max-width:768px){.sidebar{transform:translateX(-100%)}.app-main{margin-left:0}.topbar{left:0}.modal-body .form-row,.stats-grid{grid-template-columns:1fr}.landing-nav-menu,.landing-nav-title{display:none}.landing-hero-title{font-size:2rem}.landing-hero-subtitle{font-size:.9rem}.landing-hero-actions{flex-direction:column;gap:10px}.landing-hero-stats{flex-direction:column;gap:16px;padding:20px}.landing-stat-divider{height:1px;width:60px}.landing-about-grid,.landing-features-grid,.landing-features-grid--4{grid-template-columns:1fr}.landing-cta-wa-inner{flex-direction:column;text-align:center}.landing-pricing-grid{grid-template-columns:1fr}.landing-cta-inner{flex-direction:column;padding:32px 24px;text-align:center}.landing-cta-visual{width:100%}.landing-contact-grid{grid-template-columns:1fr}.landing-footer-inner{flex-direction:column;gap:32px}}.app-layout.sidebar-collapsed .sidebar{width:var(--sidebar-collapsed)!important}.app-layout.sidebar-collapsed .app-main{margin-left:var(--sidebar-collapsed)!important}.app-layout.sidebar-collapsed .topbar{left:var(--sidebar-collapsed)!important}.sidebar{transition:width var(--transition-normal)!important}.app-main{transition:margin-left var(--transition-normal)!important}@media (min-width:768px){.desktop-only-flex{display:flex!important}}.material-symbols-outlined{font-display:block}.glass-card{-webkit-backdrop-filter:blur(16px)!important;backdrop-filter:blur(16px)!important;background:#ffffffd9!important;border:1px solid #00687614!important}.chart-tooltip{transition:left .15s ease,top .15s ease}.animate-fadeIn::-webkit-scrollbar,.sidebar::-webkit-scrollbar{width:4px}.animate-fadeIn::-webkit-scrollbar-thumb,.sidebar::-webkit-scrollbar-thumb{background:#0000001a;border-radius:4px}.image-zoom-wrapper{align-items:center;background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:inset 0 2px 4px #0000000d;display:flex;justify-content:center;margin:10px auto 0;max-height:520px;max-width:100%;overflow:auto;padding:12px}.image-zoom-image{border-radius:var(--radius-md);max-height:480px;max-width:100%;object-fit:contain;transform-origin:center center;transition:transform .2s ease-in-out}.image-zoom-image.zoomed{cursor:zoom-out}.image-zoom-image:not(.zoomed){cursor:zoom-in}.forgot-password-link{background:#0000;border:none;color:var(--md-primary);cursor:pointer;display:block;font-size:.9rem;font-weight:700;margin-bottom:10px;padding:0;text-align:right;width:100%}.forgot-password-link:focus-visible,.forgot-password-link:hover{text-decoration:underline}.landing-hero{background:linear-gradient(180deg,#f0fdfa,#f8f9fa 60%,#fff)}.landing-hero-bg-orb--1{background:radial-gradient(circle,#00687614,#0000 70%)}.landing-hero-bg-orb--2{background:radial-gradient(circle,#14a3b80f,#0000 70%)}.landing-hero-bg-orb--3{background:radial-gradient(circle,#2862920f,#0000 70%)}.landing-hero-badge{align-items:center;background:var(--md-primary-fixed);border:1px solid #00687633;border-radius:var(--radius-full);color:var(--md-primary);display:inline-flex;font-size:.78rem;font-weight:600;gap:6px;letter-spacing:.04em;margin-bottom:24px;padding:6px 16px;text-transform:uppercase}.landing-hero-title{color:var(--md-on-surface);font-size:3.2rem;font-weight:800;letter-spacing:-.03em;line-height:1.1;margin-bottom:20px}.landing-hero-title--accent{-webkit-text-fill-color:var(--md-primary);background:none;-webkit-background-clip:unset;background-clip:initial;color:var(--md-primary)}.landing-hero-subtitle{color:var(--md-on-surface-variant);font-size:1.05rem;line-height:1.7;margin:0 auto 36px;max-width:560px}.landing-hero-actions{gap:14px;margin-bottom:56px}.landing-hero-actions,.landing-hero-stats{align-items:center;display:flex;justify-content:center}.landing-hero-stats{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffd9;border:1px solid #0068761a;border-radius:var(--radius-xl);box-shadow:0 4px 24px #004b7a1a;gap:0;padding:28px 36px}.landing-stat{flex:1 1;padding:0 24px;text-align:center}.landing-stat-value{-webkit-text-fill-color:var(--md-primary);background:none;-webkit-background-clip:unset;background-clip:initial;color:var(--md-primary);font-size:1.7rem;font-weight:800}.landing-stat-label{color:var(--md-on-surface-variant);font-size:.75rem;font-weight:600;letter-spacing:.04em;margin-top:4px;text-transform:uppercase}.landing-stat-divider{background:var(--md-outline-variant);height:40px;width:1px}.landing-btn-primary{background:var(--md-primary);box-shadow:0 4px 20px #00687640;color:var(--md-on-primary)}.landing-btn-primary:hover{box-shadow:0 8px 30px #00687659;color:var(--md-on-primary);filter:brightness(1.1);transform:translateY(-2px)}.landing-btn-register{min-height:44px;white-space:nowrap}.landing-btn-ghost{border-color:var(--md-primary);color:var(--md-primary)}.landing-btn-ghost:hover{background:#0068760f;color:var(--md-primary)}.landing-section-inner{margin:0 auto;max-width:var(--container-max)}.landing-section-header{margin-bottom:56px;text-align:center}.landing-section-header:after{background:var(--md-primary);border-radius:var(--radius-full);content:"";display:block;height:4px;margin:16px auto 0;width:96px}.landing-section-title{color:var(--md-on-surface);font-size:2rem;font-weight:800;letter-spacing:-.02em;margin-bottom:12px}.landing-section-subtitle{color:var(--md-on-surface-variant);font-size:.95rem;line-height:1.6;margin:0 auto;max-width:500px}.landing-features{background:var(--md-surface-container-low);padding:var(--section-gap) 24px}.landing-features-grid{grid-gap:var(--gutter);display:grid;gap:var(--gutter);grid-template-columns:repeat(3,1fr)}.landing-features-grid--4{grid-template-columns:repeat(4,1fr)}.landing-feature-card{background:var(--md-surface-container-lowest);border:1px solid #bcc9cc4d;border-radius:var(--radius-lg);box-shadow:0 4px 20px #004b7a14;padding:32px 24px;transition:all .3s ease}.landing-feature-card:hover{background:var(--md-surface-container-lowest);border-color:#00687633;box-shadow:0 8px 30px #004b7a1f;transform:translateY(-8px)}.landing-feature-icon{align-items:center;border-radius:var(--radius-md);display:flex;height:56px;justify-content:center;margin-bottom:16px;width:56px}.landing-feature-icon,.landing-feature-icon--cyan{background:var(--md-primary-fixed);color:var(--md-primary)}.landing-feature-icon--green{background:#0f9d5b1f;color:#0f9d5b}.landing-feature-icon--purple{background:var(--md-secondary-fixed);color:var(--md-secondary)}.landing-feature-icon--orange{background:#f59e0b1f;color:#d97706}.landing-feature-card h3{color:var(--md-on-surface);font-size:1rem;font-weight:700;margin-bottom:8px}.landing-feature-card p{color:var(--md-on-surface-variant);font-size:.85rem;line-height:1.6}.landing-about{background:var(--md-surface);padding:var(--section-gap) 24px}.landing-about-grid{grid-gap:40px;display:grid;gap:40px;grid-template-columns:1fr 1fr;margin-top:40px}.landing-about-text p{color:var(--md-on-surface-variant);font-size:.98rem;line-height:1.7;margin-bottom:24px}.landing-checklist{display:flex;flex-direction:column;gap:14px;list-style:none}.landing-checklist li{align-items:flex-start;color:var(--md-on-surface);display:flex;font-size:.92rem;gap:10px}.landing-about-highlights{display:flex;flex-direction:column;gap:20px}.landing-highlight-item{background:var(--md-surface-container-lowest);border:1px solid #bcc9cc4d;border-radius:var(--radius-lg);box-shadow:0 4px 20px #004b7a14;display:flex;gap:16px;padding:18px}.landing-highlight-num{align-items:center;background:var(--md-primary-fixed);border-radius:var(--radius-md);color:var(--md-primary);display:flex;flex-shrink:0;font-size:1.4rem;font-weight:800;height:44px;justify-content:center;width:44px}.landing-highlight-item h4{color:var(--md-on-surface);font-size:.95rem;font-weight:700;margin-bottom:4px}.landing-highlight-item p{color:var(--md-on-surface-variant);font-size:.8rem;margin:0}.landing-nav-menu{align-items:center;display:flex;gap:36px}.landing-nav-link{color:var(--md-on-surface-variant);font-size:1.05rem;font-weight:600;text-decoration:none;transition:color .2s ease}.landing-nav-link:hover{color:var(--md-primary)}.landing-cta-wa{background:linear-gradient(135deg,var(--md-primary),var(--md-secondary));padding:60px 24px}.landing-cta-wa-inner{align-items:center;display:flex;gap:32px;justify-content:space-between;margin:0 auto;max-width:1000px}.landing-cta-wa-text h2{color:#fff;font-size:1.8rem;font-weight:800;margin-bottom:10px}.landing-cta-wa-text p{color:#ffffffd9;font-size:.95rem;margin:0;max-width:600px}.landing-btn-wa{align-items:center;background:#fff;border-radius:var(--radius-full);box-shadow:0 4px 15px #00000026;color:var(--md-primary);display:inline-flex;font-size:.95rem;font-weight:700;gap:8px;padding:14px 28px;text-decoration:none;transition:all .25s ease}.landing-btn-wa:hover{box-shadow:0 8px 25px #00000040;color:var(--md-primary);transform:translateY(-2px)}.landing-pricing{background:var(--md-surface);padding:var(--section-gap) 24px}.landing-pricing-grid{grid-gap:var(--gutter);display:grid;gap:var(--gutter);grid-template-columns:repeat(3,1fr);margin-top:48px}.landing-pricing-card{background:var(--md-surface-container-lowest);border:1px solid #bcc9cc4d;border-radius:var(--radius-lg);box-shadow:0 4px 20px #004b7a14;display:flex;flex-direction:column;padding:36px 28px;position:relative;transition:all .3s ease}.landing-pricing-card:hover{background:var(--md-surface-container-lowest);border-color:#00687633;box-shadow:0 12px 30px #004b7a1f;transform:translateY(-5px)}.landing-pricing-card--popular{background:var(--md-surface-container-lowest);border:2px solid var(--md-primary);box-shadow:0 12px 40px #00687626;transform:scale(1.05);z-index:10}.landing-pricing-badge{background:var(--md-primary);border-radius:var(--radius-full);color:#fff;font-size:.72rem;font-weight:800;left:50%;letter-spacing:.05em;padding:4px 14px;position:absolute;text-transform:uppercase;top:-12px;transform:translateX(-50%)}.landing-pricing-name{color:var(--md-on-surface);font-size:1.1rem;font-weight:700;margin-bottom:16px;text-align:center}.landing-pricing-price{align-items:baseline;border-bottom:1px solid var(--md-outline-variant);display:flex;justify-content:center;margin-bottom:24px;padding-bottom:20px}.landing-pricing-currency{color:var(--md-on-surface-variant);font-size:1rem;font-weight:600;margin-right:2px}.landing-pricing-amount{color:var(--md-primary);font-size:2.2rem;font-weight:800}.landing-pricing-period{color:var(--md-on-surface-variant);font-size:.8rem;margin-left:4px}.landing-pricing-features{display:flex;flex:1 1;flex-direction:column;gap:12px;list-style:none;margin-bottom:32px}.landing-pricing-features li{align-items:center;font-size:.85rem}.landing-pricing-features li,.landing-pricing-info{color:var(--md-on-surface-variant);display:flex;gap:8px}.landing-pricing-info{flex-direction:column;font-size:.88rem;margin-top:48px;text-align:center}.landing-faq{background:var(--md-surface);padding:var(--section-gap) 24px}.landing-faq-list{display:flex;flex-direction:column;gap:12px;margin:40px auto 0;max-width:700px}.landing-faq-item{border:1px solid #bcc9cc4d;border-radius:var(--radius-lg);box-shadow:0 4px 20px #004b7a14;cursor:pointer;overflow:hidden;transition:all .2s ease}.landing-faq-item,.landing-faq-item:hover{background:var(--md-surface-container-lowest)}.landing-faq-item:hover{box-shadow:0 8px 24px #004b7a1f}.landing-faq-question{align-items:center;color:var(--md-on-surface);display:flex;font-size:.95rem;font-weight:600;justify-content:space-between;padding:20px;-webkit-user-select:none;user-select:none}.landing-faq-answer{animation:slideDown .25s ease-out;border-top:1px solid var(--md-outline-variant);color:var(--md-on-surface-variant);font-size:.85rem;line-height:1.6;padding:0 20px 20px}.landing-cta{background:var(--md-surface-container-low);padding:var(--section-gap) 24px}.landing-cta-inner{align-items:center;background:var(--md-surface-container-lowest);border:1px solid #bcc9cc4d;border-radius:var(--radius-2xl);box-shadow:0 4px 20px #004b7a14;display:flex;gap:48px;margin:0 auto;max-width:1000px;padding:56px 48px}.landing-cta-content{flex:1 1}.landing-cta-content h2{color:var(--md-on-surface);font-size:1.8rem;font-weight:800;margin-bottom:14px}.landing-cta-content p{color:var(--md-on-surface-variant);font-size:.9rem;line-height:1.7;margin-bottom:28px}.landing-cta-visual{flex-shrink:0;width:280px}.landing-cta-card{background:var(--md-surface-container);border:1px solid var(--md-outline-variant);border-radius:var(--radius-lg);display:flex;flex-direction:column;gap:14px;padding:20px}.landing-cta-card-row{align-items:center;display:flex;justify-content:space-between}.landing-cta-card-label{color:var(--md-on-surface-variant);font-size:.78rem;font-weight:500}.landing-cta-card-value{color:var(--md-on-surface);font-size:.85rem}.landing-cta-card-value--bold{color:var(--md-primary);font-weight:700}.landing-cta-card-badge--green{background:var(--status-hijau-bg);border-radius:var(--radius-full);color:var(--status-hijau);font-size:.72rem;font-weight:700;padding:3px 10px;text-transform:uppercase}.landing-contact{background:var(--md-surface-container-low);padding:var(--section-gap) 24px}.landing-contact-grid{grid-gap:var(--gutter);display:grid;gap:var(--gutter);grid-template-columns:repeat(3,1fr);margin-top:40px}.landing-contact-item{background:var(--md-surface-container-lowest);border:1px solid #bcc9cc4d;border-radius:var(--radius-lg);box-shadow:0 4px 20px #004b7a14;padding:24px;text-align:center}.landing-contact-icon{align-items:center;background:#0068761a;border-radius:50%;color:var(--md-primary);display:flex;height:48px;justify-content:center;margin:0 auto 16px;width:48px}.landing-contact-item h4{color:var(--md-on-surface);font-size:.95rem;font-weight:700;margin-bottom:8px}.landing-contact-item p{color:var(--md-on-surface-variant);font-size:.85rem;line-height:1.5;margin:0}.landing-map{border:1px solid var(--md-outline-variant);border-radius:var(--radius-xl);box-shadow:0 4px 20px #004b7a14;margin-top:40px;overflow:hidden}.landing-footer{background:var(--md-surface-container-highest);border-top:1px solid var(--md-outline-variant);padding:60px 24px 0}.landing-footer-inner{display:flex;gap:40px;margin:0 auto;max-width:var(--container-max);padding-bottom:40px}.landing-footer-brand{flex:2 1}.landing-footer-logo{filter:none;height:48px;margin-bottom:14px;object-fit:contain}.landing-footer-desc{color:var(--md-on-surface-variant);font-size:.82rem;line-height:1.6;max-width:300px}.landing-footer-links{display:flex;flex:1 1;flex-direction:column;gap:10px}.landing-footer-links h4{color:var(--md-on-surface);font-size:.82rem;font-weight:700;letter-spacing:.06em;margin-bottom:4px;text-transform:uppercase}.landing-footer-links a{align-items:center;color:var(--md-on-surface-variant);display:flex;font-size:.82rem;gap:6px;text-decoration:none;transition:color .2s ease}.landing-footer-links a:hover{color:var(--md-primary)}.landing-footer-social{display:flex;gap:8px;margin-top:10px}.landing-social-link{align-items:center;background:var(--md-primary);border:none;border-radius:50%;color:#fff!important;display:flex;font-size:.72rem;font-weight:700;height:36px;justify-content:center;transition:all .2s ease;width:36px}.landing-social-link:hover{background:var(--md-primary-container);color:#fff!important;transform:scale(1.1)}.landing-footer-bottom{border-top:1px solid var(--md-outline-variant);padding:20px 0;text-align:center}.landing-footer-bottom p{color:var(--md-on-surface-variant);font-size:.75rem}.customer-portal{background:var(--md-background);color:var(--md-on-surface);min-height:100vh}.customer-portal-nav{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#f8f9facc;box-shadow:0 1px 3px #0000000f;left:0;position:fixed;right:0;top:0;z-index:50}.customer-portal-nav-inner{align-items:center;display:flex;height:64px;justify-content:space-between;margin:0 auto;max-width:640px;padding:0 var(--margin-mobile)}.customer-portal-content{margin:0 auto;max-width:640px;padding:88px var(--margin-mobile) 40px}@media (max-width:768px){.landing-nav-inner{padding:0 var(--margin-mobile)}.landing-nav-menu,.landing-nav-title{display:none}.landing-hero{padding:100px var(--margin-mobile) 60px}.landing-hero-title{font-size:2rem}.landing-hero-subtitle{font-size:.9rem}.landing-hero-actions{flex-direction:column;gap:10px}.landing-hero-stats{flex-direction:column;gap:16px;padding:20px}.landing-stat-divider{height:1px;width:60px}.landing-about-grid,.landing-features-grid,.landing-features-grid--4{grid-template-columns:1fr}.landing-cta-wa-inner{flex-direction:column;text-align:center}.landing-pricing-grid{grid-template-columns:1fr}.landing-pricing-card--popular{transform:scale(1)}.landing-cta-inner{flex-direction:column;padding:32px 24px;text-align:center}.landing-cta-visual{width:100%}.landing-contact-grid{grid-template-columns:1fr}.landing-footer-inner{flex-direction:column;gap:32px}.landing-section-inner{padding:0 var(--margin-mobile)}}.customer-registration-page{background:radial-gradient(ellipse at 88% 6%,#14a3b81f,#0000 28rem),linear-gradient(150deg,#f2faf8,#f7f9f8 48%,#edf5f3);color:#19343a;min-height:100vh}.registration-header{align-items:center;border-bottom:1px solid #0068761a;display:flex;justify-content:space-between;min-height:76px;padding:0 clamp(20px,6vw,88px)}.registration-brand{align-items:center;color:#006876;display:inline-flex;font-weight:750;gap:12px;text-decoration:none}.registration-logo{height:36px;object-fit:contain;width:42px}.registration-login-link{color:#006876;font-size:.9rem;font-weight:650;text-decoration:none}.registration-content{margin:0 auto;padding:54px 0 64px;width:min(100% - 32px,760px)}.registration-heading{margin:0 0 26px 4px}.registration-kicker{color:#007b82;font-size:.73rem;font-weight:750;letter-spacing:.08em}.registration-heading h1{color:#163c42;font-size:clamp(1.8rem,5vw,2.4rem);line-height:1.15;margin:8px 0 7px}.registration-heading p{color:#607478;line-height:1.55;margin:0}.registration-form{background:#fffffff0;border:1px solid #0068761f;border-radius:8px;box-shadow:0 18px 48px #1b4a4d14;padding:clamp(20px,5vw,38px)}.registration-fields{grid-gap:20px 18px;display:grid;gap:20px 18px;grid-template-columns:repeat(2,minmax(0,1fr))}.registration-field{color:#28464b;display:flex;flex-direction:column;font-size:.88rem;font-weight:650;gap:8px;min-width:0}.registration-field--wide{grid-column:1/-1}.registration-field input,.registration-field select,.registration-field textarea{background:#fff;border:1px solid #c8d5d4;border-radius:5px;color:#19343a;font:inherit;font-weight:400;min-height:46px;padding:10px 12px;width:100%}.registration-field textarea{min-height:88px;resize:vertical}.registration-field input[type=file]{color:#607478;padding:8px}.registration-select-wrapper{display:block;position:relative}.registration-selected-package{align-items:center;background:#f2faf8;border:1px solid #c8d5d4;border-radius:5px;color:#19343a;display:flex;font-weight:400;min-height:46px;padding:10px 12px}.registration-field select{-webkit-appearance:none;appearance:none;cursor:pointer;padding-right:40px}.registration-select-chevron{fill:none;stroke:#607478;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8;height:18px;pointer-events:none;position:absolute;right:12px;top:50%;transform:translateY(-50%);width:14px}.registration-field select:disabled{cursor:not-allowed}.registration-field select:disabled+.registration-select-chevron{opacity:.55}.registration-field small{color:#738589;font-size:.77rem;font-weight:400}.registration-field input:focus,.registration-field select:focus,.registration-field textarea:focus{border-color:#007b82;outline:2px solid #00687633}.registration-submit{background:#006876;border:0;border-radius:5px;color:#fff;cursor:pointer;font:inherit;font-weight:700;margin-top:26px;min-height:48px;width:100%}.registration-submit:disabled{cursor:not-allowed;opacity:.6}.registration-footnote{color:#738589;font-size:.78rem;margin:12px 0 0;text-align:center}.registration-notice{border-radius:5px;font-size:.9rem;line-height:1.5;margin-bottom:20px;padding:12px 14px}.registration-notice--error{background:#fff0ed;color:#8b2626}.registration-notice--success{background:#eaf7ef;color:#145d48}.registration-notice a{color:inherit;font-weight:700;margin-left:5px}@media (max-width:600px){.registration-header{min-height:64px;padding:0 16px}.registration-brand{font-size:.88rem;max-width:55%}.registration-login-link{font-size:.8rem}.registration-content{padding-top:34px}.registration-fields{gap:16px;grid-template-columns:1fr}.registration-field--wide{grid-column:auto}}.router-settings-layout{grid-template-columns:250px minmax(0,1fr)!important;min-width:0}.router-management-panel{background:#fff;background:var(--bg-card,#fff);border:1px solid #e2e8f0;border:1px solid var(--border-color,#e2e8f0);border-radius:8px;box-shadow:var(--shadow-sm);color:#0f172a;color:var(--text-primary,#0f172a);min-width:0;padding:24px;width:100%}.router-management-panel,.router-management-panel *{box-sizing:border-box}.router-panel-editor-actions,.router-panel-header,.router-panel-row-actions{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.router-panel-header{align-items:flex-start;justify-content:space-between;margin-bottom:20px}.router-panel-header>div{flex:1 1 260px}.router-panel-header h2{font-size:1.2rem;font-weight:800;margin:0 0 8px}.router-panel-empty,.router-panel-explanation,.router-panel-header p,.router-panel-load-error p,.router-panel-readonly{color:#475569;color:var(--text-secondary,#475569);font-size:.85rem;line-height:1.65;margin:0}.router-panel-counts{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(3,minmax(0,1fr));margin:0 0 16px}.router-panel-counts>div{background:#f1f5f9;background:var(--bg-tertiary,#f1f5f9);border:1px solid #e2e8f0;border:1px solid var(--border-color,#e2e8f0);border-radius:8px;padding:14px}.router-panel-counts dt{color:#475569;color:var(--text-secondary,#475569);font-size:.78rem;font-weight:600}.router-panel-counts dd{color:#006876;color:var(--primary,#006876);font-size:1.6rem;font-weight:800;margin:4px 0 0}.router-panel-explanation,.router-panel-readonly{margin-bottom:16px}.router-panel-readonly{background:#e7f5f6;background:var(--primary-glow,#e7f5f6);padding:12px}.router-panel-button,.router-panel-readonly{border:1px solid #e2e8f0;border:1px solid var(--border-color,#e2e8f0);border-radius:8px}.router-panel-button{background:#fff;background:var(--bg-card,#fff);color:#006876;color:var(--primary,#006876);cursor:pointer;font:inherit;font-size:.8rem;font-weight:700;line-height:1.4;min-height:40px;padding:8px 12px}.router-panel-button--primary{background:#006876;background:var(--primary,#006876);border-color:#006876;border-color:var(--primary,#006876);color:#fff}.router-panel-button--danger{color:#bb303b}.router-panel-button:not(:disabled):hover{filter:brightness(.94)}.router-panel-button:disabled{cursor:not-allowed;opacity:.55}.router-management-panel :focus-visible{outline:3px solid #006876;outline:3px solid var(--primary,#006876);outline-offset:3px}.router-panel-editor{border:1px solid #006876;border:1px solid var(--primary,#006876);border-radius:8px;margin:20px 0;padding:20px}.router-panel-editor h3{font-size:1rem;font-weight:750;margin:0 0 16px}.router-panel-editor fieldset{border:0;margin:0;min-width:0;padding:0}.router-panel-fields{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(2,minmax(0,1fr))}.router-panel-field label{display:block;font-size:.85rem;font-weight:600;margin-bottom:7px}.router-panel-field input{background:#fff;background:var(--bg-input,#fff);border:1px solid #e2e8f0;border:1px solid var(--border-color,#e2e8f0);border-radius:8px;color:#0f172a;color:var(--text-primary,#0f172a);font:inherit;font-size:.9rem;min-height:42px;padding:10px 12px;width:100%}.router-panel-field input[aria-invalid=true]{border-color:#bb303b}.router-panel-field small,.router-panel-field-error{display:block;font-size:.76rem;line-height:1.6;margin-top:6px}.router-panel-field small{color:#475569;color:var(--text-secondary,#475569)}.router-panel-field-error{color:#bb303b}.router-panel-checkbox{align-items:center;cursor:pointer;display:flex;font-size:.85rem;gap:10px;margin:20px 0}.router-panel-checkbox input{accent-color:#006876;accent-color:var(--primary,#006876);height:18px;width:18px}.router-panel-editor-actions{justify-content:flex-end}.router-panel-table-wrap{border:1px solid #e2e8f0;border:1px solid var(--border-color,#e2e8f0);border-radius:8px;max-width:100%;overflow-x:auto}.router-panel-table{border-collapse:collapse;font-size:.82rem;text-align:left;width:100%}.router-panel-table td,.router-panel-table th{border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--border-color,#e2e8f0);padding:14px 12px;vertical-align:top}.router-panel-table thead{background:#f1f5f9;background:var(--bg-tertiary,#f1f5f9)}.router-panel-table tbody tr:last-child>*{border-bottom:0}.router-panel-table tbody th{font-weight:400;max-width:300px;min-width:180px;overflow-wrap:anywhere}.router-panel-table tbody th>*,.router-panel-table time{display:block;margin-bottom:5px}.router-panel-endpoint,.router-panel-table small,.router-panel-table time{color:#475569;color:var(--text-secondary,#475569);font-size:.74rem;line-height:1.6}.router-panel-table time{margin-top:7px}.router-panel-row-actions{gap:6px;min-width:160px}.router-panel-badge{background:#f1f5f9;background:var(--bg-tertiary,#f1f5f9);border-radius:8px;color:#475569;color:var(--text-secondary,#475569);display:inline-block;font-size:.74rem;font-weight:700;padding:5px 8px;white-space:nowrap}.router-panel-badge--active{background:#e7f5f6;background:var(--primary-glow,#e7f5f6);color:#006876;color:var(--primary,#006876)}.router-panel-badge--warning{background:#fff5df;color:#925706}.router-panel-empty,.router-panel-load-error{padding:20px 0}.router-panel-load-error .router-panel-button{margin-top:10px}.router-panel-sr-only{clip:rect(0,0,0,0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}@media (max-width:1000px){.router-settings-layout{gap:16px!important;grid-template-columns:minmax(0,1fr)!important}}@media (max-width:600px){.router-management-panel,.router-panel-editor{padding:16px}.router-panel-counts,.router-panel-fields{grid-template-columns:minmax(0,1fr)}.router-panel-editor-actions .router-panel-button,.router-panel-header>.router-panel-button{flex:1 1 100%}}.router-page-button{align-items:center;background:#fff;background:var(--bg-card,#fff);border:1px solid #e2e8f0;border:1px solid var(--border-color,#e2e8f0);border-left:0;color:#0f172a;color:var(--text-primary,#0f172a);cursor:pointer;display:inline-flex;font-size:.95rem;height:32px;justify-content:center;text-decoration:none;width:34px}.page-item:first-child .router-page-button{border-left:1px solid #e2e8f0;border-left:1px solid var(--border-color,#e2e8f0);border-radius:6px 0 0 6px}.page-item:last-child .router-page-button{border-radius:0 6px 6px 0}.router-page-button:hover:not(:disabled){background:#f1f5f9;background:var(--bg-tertiary,#f1f5f9)}.router-page-button.active,.router-page-button.active:hover{background:#006876;border-color:#006876;color:#fff}.page-item.disabled .router-page-button{color:#006876;cursor:not-allowed;pointer-events:none}
/*# sourceMappingURL=main.c0d5aa78.css.map*/