:root{--primary: #4f46e5;--primary-hover: #4338ca;--tenant-accent: #4f46e5;--tenant-accent-rgb: 79, 70, 229;--tenant-accent-hover: #4338ca;--android-primary: #4f46e5;--android-primary-dark: #3730a3;--android-primary-gradient: linear-gradient(135deg, #4f46e5 0%, #3730a3 100%);--android-bg: #f8fafc;--bg-primary: #f8fafc;--bg-secondary: #ffffff;--bg-card: #ffffff;--bg-card-hover: #f1f5f9;--bg-tertiary: #f1f5f9;--bg-subtle: #f8fafc;--border-subtle: #e2e8f0;--border-active: #cbd5e1;--text-main: #0f172a;--text-muted: #64748b;--text-faint: #94a3b8;--text-inverse: #ffffff;--color-success: #10b981;--color-success-bg: rgba(16, 185, 129, .1);--color-warning: #f59e0b;--color-warning-bg: rgba(245, 158, 11, .1);--color-danger: #ef4444;--color-danger-bg: rgba(239, 68, 68, .1);--color-info: #4f46e5;--color-info-bg: rgba(79, 70, 229, .1);--font-heading: "Outfit", -apple-system, BlinkMacSystemFont, sans-serif;--font-body: "Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, sans-serif;--font-mono: "JetBrains Mono", monospace;--radius-xs: 6px;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 20px;--radius-full: 9999px;--shadow-sm: 0 1px 3px 0 rgb(0 0 0 / .05), 0 1px 2px -1px rgb(0 0 0 / .05);--shadow-card: 0 4px 6px -1px rgb(0 0 0 / .05), 0 2px 4px -2px rgb(0 0 0 / .05);--shadow-md: 0 10px 15px -3px rgb(0 0 0 / .07), 0 4px 6px -4px rgb(0 0 0 / .05);--shadow-lg: 0 20px 25px -5px rgb(0 0 0 / .08), 0 8px 10px -6px rgb(0 0 0 / .04);--transition: all .2s cubic-bezier(.4, 0, .2, 1)}[data-theme=dark]{--tenant-accent: #6366f1;--tenant-accent-rgb: 99, 102, 241;--tenant-accent-hover: #4f46e5;--bg-primary: #0f172a;--bg-secondary: #1e293b;--bg-card: #1e293b;--bg-card-hover: #293548;--bg-tertiary: #273449;--bg-subtle: #141f32;--border-subtle: #334155;--border-active: #475569;--text-main: #f8fafc;--text-muted: #94a3b8;--text-faint: #64748b;--shadow-card: 0 4px 20px rgba(0, 0, 0, .35);--shadow-md: 0 8px 30px rgba(0, 0, 0, .4);--shadow-lg: 0 12px 40px rgba(0, 0, 0, .5)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{width:100%;min-height:100vh;background-color:var(--bg-primary);color:var(--text-main);font-family:var(--font-body);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased;overflow-x:hidden}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:700;color:var(--text-main);letter-spacing:-.015em}code,pre{font-family:var(--font-mono)}button{font-family:inherit;cursor:pointer;border:none;outline:none;color:inherit;background:transparent}.no-scrollbar{-ms-overflow-style:none;scrollbar-width:none}.no-scrollbar::-webkit-scrollbar{display:none}.vex-toolbar{height:68px;background-color:var(--bg-card);border-bottom:1px solid var(--border-subtle);display:flex;align-items:center;justify-content:space-between;padding:0 28px;position:sticky;top:0;z-index:40;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 1px 3px #0000000a}.vex-breadcrumb{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text-muted)}.vex-breadcrumb-item{display:inline-flex;align-items:center;gap:6px;font-weight:500;color:var(--text-muted)}.vex-breadcrumb-item.active{color:var(--text-main);font-weight:700}.vex-breadcrumb-separator{color:var(--text-faint);font-size:12px}.vex-search-bar{display:flex;align-items:center;gap:10px;background:var(--bg-tertiary);border:1px solid var(--border-subtle);border-radius:var(--radius-full);padding:7px 16px;width:280px;transition:var(--transition)}.vex-search-bar:focus-within{border-color:var(--tenant-accent);background:var(--bg-card);box-shadow:0 0 0 3px rgba(var(--tenant-accent-rgb),.15);width:320px}.vex-search-input{background:transparent;border:none;outline:none;font-size:13px;color:var(--text-main);width:100%}.vex-search-badge{font-size:11px;font-family:var(--font-mono);background:var(--bg-card);border:1px solid var(--border-active);color:var(--text-faint);padding:2px 6px;border-radius:4px;white-space:nowrap}.vex-page-header{background:linear-gradient(180deg,var(--bg-card) 0%,var(--bg-primary) 100%);border-bottom:1px solid var(--border-subtle);padding:24px 32px 20px;margin:-24px -32px 24px}.vex-header-top{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px}.vex-title-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;background:rgba(var(--tenant-accent-rgb),.1);color:var(--tenant-accent);border-radius:var(--radius-full);font-size:11.5px;font-weight:700;letter-spacing:.04em;margin-bottom:8px}.vex-page-title{font-family:var(--font-heading);font-size:26px;font-weight:800;color:var(--text-main);line-height:1.2}.vex-page-subtitle{font-size:13.5px;color:var(--text-muted);margin-top:4px}.vex-header-actions{display:flex;align-items:center;gap:10px}.vex-stat-card{background-color:var(--bg-card);border:1px solid var(--border-subtle);border-radius:16px;padding:20px 22px;position:relative;overflow:hidden;box-shadow:0 2px 6px -1px #0000000d;transition:all .25s cubic-bezier(.4,0,.2,1)}.vex-stat-card:hover{transform:translateY(-3px);box-shadow:0 10px 25px -5px #0000001a,0 8px 10px -6px #0000000d;border-color:var(--border-active)}.vex-stat-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.vex-stat-label{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.vex-stat-icon-box{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 2px 8px #0000000f}.vex-stat-value{font-family:var(--font-heading);font-size:28px;font-weight:800;color:var(--text-main);line-height:1.1;margin-bottom:10px}.vex-stat-footer{display:flex;align-items:center;gap:8px;font-size:12px}.vex-trend-chip{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:var(--radius-full);font-size:11px;font-weight:700}.vex-trend-up{background:#10b98124;color:#10b981}.vex-trend-neutral{background:#0284c724;color:#0284c7}.vex-trend-alert{background:#ef444424;color:#ef4444}.vex-stat-progress{position:absolute;bottom:0;left:0;right:0;height:3px;background:transparent}.vex-stat-progress-bar{height:100%;border-radius:0 2px 2px 0}.vex-tabs-nav{display:flex;align-items:center;gap:6px;background:var(--bg-tertiary);padding:5px;border-radius:12px;border:1px solid var(--border-subtle);width:fit-content;margin-bottom:24px}.vex-tab-btn{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;border-radius:8px;font-size:13.5px;font-weight:600;color:var(--text-muted);background:transparent;border:none;cursor:pointer;transition:var(--transition)}.vex-tab-btn:hover{color:var(--text-main)}.vex-tab-btn.active{background:var(--bg-card);color:var(--text-main);font-weight:700;box-shadow:0 2px 6px #00000014}.vex-tab-badge{font-size:11px;padding:1px 7px;border-radius:var(--radius-full);background:var(--bg-tertiary);color:var(--text-muted)}.vex-tab-btn.active .vex-tab-badge{background:rgba(var(--tenant-accent-rgb),.15);color:var(--tenant-accent)}.vex-table-card{background-color:var(--bg-card);border:1px solid var(--border-subtle);border-radius:16px;overflow:hidden;box-shadow:0 2px 8px -2px #0000000d;margin-bottom:24px}.vex-table-toolbar{padding:16px 22px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;border-bottom:1px solid var(--border-subtle);background-color:var(--bg-card)}.vex-table{width:100%;border-collapse:collapse}.vex-table th{padding:14px 20px;font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);background:var(--bg-tertiary);border-bottom:1px solid var(--border-subtle);text-align:left}.vex-table td{padding:16px 20px;border-bottom:1px solid var(--border-subtle);color:var(--text-main);font-size:13.5px;vertical-align:middle}.vex-table tbody tr{transition:var(--transition)}.vex-table tbody tr:hover{background-color:var(--bg-card-hover)}.vex-table tbody tr:last-child td{border-bottom:none}.vex-avatar{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:13px;flex-shrink:0}.vex-table-footer{padding:12px 22px;display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--border-subtle);font-size:12.5px;color:var(--text-muted);background:var(--bg-card)}.vex-sidebar{width:270px;min-width:270px;max-width:270px;background-color:var(--bg-card);border-right:1px solid var(--border-subtle);display:flex;flex-direction:column;height:100vh;position:sticky;top:0;z-index:50;padding:18px 14px;overflow-y:auto}.vex-nav-category{font-size:10.5px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--text-faint);padding:16px 12px 6px}.vex-nav-item{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-radius:10px;color:var(--text-muted);font-size:13.5px;font-weight:600;transition:var(--transition);cursor:pointer;border:1px solid transparent;width:100%;text-align:left;margin-bottom:2px}.vex-nav-item:hover{background:var(--bg-tertiary);color:var(--text-main);transform:translate(2px)}.vex-nav-item.active{background:rgba(var(--tenant-accent-rgb),.12);color:var(--tenant-accent);font-weight:700;border-left:3px solid var(--tenant-accent);border-radius:4px 10px 10px 4px}.vex-nav-badge{font-size:10.5px;font-weight:700;padding:2px 7px;border-radius:var(--radius-full)}.app-container{display:flex;min-height:100vh;width:100%;background-color:var(--bg-primary);position:relative}.sidebar{width:260px;min-width:260px;max-width:260px;background-color:var(--bg-card);border-right:1px solid var(--border-subtle);display:flex;flex-direction:column;height:100vh;position:sticky;top:0;z-index:40;padding:20px 14px;overflow-y:auto}.sidebar-header{display:flex;align-items:center;gap:12px;padding:0 6px 16px;margin-bottom:12px;border-bottom:1px solid var(--border-subtle)}.brand-icon{width:38px;height:38px;border-radius:var(--radius-sm);background:linear-gradient(135deg,var(--tenant-accent),#0369a1);color:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 4px 12px rgba(var(--tenant-accent-rgb),.35)}.brand-title{font-size:15px;font-weight:800;color:var(--text-main);line-height:1.2}.sidebar-nav{display:flex;flex-direction:column;gap:4px;flex:1}.nav-section-label{font-size:11px;font-weight:800;color:var(--text-faint);text-transform:uppercase;letter-spacing:.06em;padding:12px 10px 4px}.nav-item{display:flex;align-items:center;gap:12px;padding:10px 14px;border-radius:var(--radius-sm);color:var(--text-muted);background:transparent;border:none;font-size:13.5px;font-weight:600;cursor:pointer;transition:var(--transition);text-align:left;width:100%}.nav-item:hover{background-color:var(--bg-tertiary);color:var(--text-main)}.nav-item.active{background-color:rgba(var(--tenant-accent-rgb),.12);color:var(--tenant-accent);font-weight:700}.nav-item.danger{color:var(--color-danger)}.nav-item.danger:hover{background-color:var(--color-danger-bg)}.sidebar-footer{margin-top:auto;padding-top:14px;border-top:1px solid var(--border-subtle)}.isolation-badge-card{background:linear-gradient(135deg,rgba(var(--tenant-accent-rgb),.12),#0f172a66);border:1px solid rgba(var(--tenant-accent-rgb),.25);border-radius:var(--radius-sm);padding:12px 14px}.isolation-header{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:700;color:var(--tenant-accent);margin-bottom:4px}.isolation-sub{font-size:11.5px;color:var(--text-muted);line-height:1.4}.main-wrapper{flex:1;display:flex;flex-direction:column;min-width:0;min-height:100vh;background-color:var(--bg-primary)}.top-navbar{height:64px;background-color:var(--bg-card);border-bottom:1px solid var(--border-subtle);display:flex;align-items:center;justify-content:space-between;padding:0 28px;position:sticky;top:0;z-index:30;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.navbar-left,.navbar-right{display:flex;align-items:center;gap:12px}.tenant-selector-btn{display:flex;align-items:center;gap:10px;padding:8px 14px;background:var(--bg-primary);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);cursor:pointer;transition:var(--transition);text-align:left}.tenant-selector-btn:hover{border-color:var(--tenant-accent);background:var(--bg-tertiary)}.tenant-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.tenant-info-text{display:flex;flex-direction:column}.tenant-name-title{font-size:13.5px;font-weight:700;color:var(--text-main);line-height:1.2}.tenant-badge-sub{font-size:11px;color:var(--text-muted)}.role-badge-pill{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:var(--radius-full);font-size:12px;font-weight:700;border:1px solid transparent;cursor:pointer;transition:var(--transition)}.role-badge-pill.superadmin{background:#f59e0b26;color:#f59e0b;border-color:#f59e0b4d}.role-badge-pill.pengurus{background:#0284c726;color:#0284c7;border-color:#0284c74d}.role-badge-pill.penghuni{background:#10b98126;color:#10b981;border-color:#10b9814d}@media(min-width:768px){.desktop-user-info{display:block!important}}.main-content{flex:1;padding:24px 32px 48px;width:100%;max-width:1440px;margin:0 auto}.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}@media(max-width:1200px){.grid-4{grid-template-columns:repeat(2,1fr)}}@media(max-width:900px){.grid-3{grid-template-columns:repeat(2,1fr)}}@media(max-width:640px){.grid-4,.grid-3,.grid-2{grid-template-columns:1fr}.main-content{padding:16px}}.stat-card{background-color:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:20px 18px;display:flex;align-items:center;gap:16px;box-shadow:var(--shadow-sm);transition:var(--transition)}.stat-card:hover{border-color:var(--border-active);box-shadow:var(--shadow-card);transform:translateY(-2px)}.stat-icon-wrapper{width:48px;height:48px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;flex-shrink:0}.stat-value{font-family:var(--font-heading);font-size:24px;font-weight:800;color:var(--text-main);line-height:1.1;margin-bottom:3px}.stat-label{font-size:12.5px;font-weight:500;color:var(--text-muted)}.card{background-color:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:24px;box-shadow:var(--shadow-sm);margin-bottom:24px}.card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;flex-wrap:wrap;gap:12px}.card-title{font-size:18px;font-weight:700;color:var(--text-main)}.card-subtitle{font-size:12.5px;color:var(--text-muted);margin-top:2px}table{width:100%;border-collapse:collapse;font-size:13.5px}thead tr{background-color:var(--bg-tertiary);border-bottom:1px solid var(--border-subtle)}th{padding:13px 18px;font-weight:700;color:var(--text-muted);font-size:12px;text-transform:uppercase;letter-spacing:.03em}td{padding:15px 18px;color:var(--text-main);border-bottom:1px solid var(--border-subtle);vertical-align:middle}tbody tr:hover{background-color:var(--bg-card-hover)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:9px 16px;border-radius:var(--radius-sm);font-size:13.5px;font-weight:600;cursor:pointer;transition:var(--transition);border:1px solid transparent;text-decoration:none;line-height:1}.btn-primary{background-color:var(--tenant-accent);color:#fff}.btn-primary:hover{background-color:var(--tenant-accent-hover);box-shadow:0 4px 12px rgba(var(--tenant-accent-rgb),.35);transform:translateY(-1px)}.btn-secondary{background-color:var(--bg-tertiary);color:var(--text-main);border-color:var(--border-subtle)}.btn-secondary:hover{background-color:var(--bg-card-hover);border-color:var(--border-active);color:var(--text-main)}.btn-danger{background-color:var(--color-danger);color:#fff}.btn-danger:hover{background-color:#dc2626;box-shadow:0 4px 12px #ef444459}.btn-success{background-color:var(--color-success);color:#fff}.btn-sm{padding:6px 12px;font-size:12px;border-radius:var(--radius-xs)}.btn-lg{padding:12px 22px;font-size:15px;border-radius:var(--radius-md)}.badge{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:var(--radius-full);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.badge-aktif,.badge-lunas,.badge-resolved{background-color:var(--color-success-bg);color:var(--color-success);border:1px solid rgba(16,185,129,.3)}.badge-belum_bayar,.badge-pending,.badge-open{background-color:var(--color-warning-bg);color:#d97706;border:1px solid rgba(245,158,11,.3)}.badge-nonaktif,.badge-dibatalkan,.badge-expired,.badge-mendesak,.badge-sos{background-color:var(--color-danger-bg);color:#ef4444;border:1px solid rgba(239,68,68,.3)}.form-group{margin-bottom:16px}.form-label{display:block;font-size:13px;font-weight:700;margin-bottom:6px;color:var(--text-main);letter-spacing:-.01em}.form-label .required,.form-label span.required{color:var(--color-danger);margin-left:3px}.form-control,.form-input,.form-textarea{width:100%;padding:10px 14px;font-family:var(--font-body);font-size:13.5px;line-height:1.5;color:var(--text-main);background-color:var(--bg-card);border:1px solid var(--border-active);border-radius:var(--radius-sm);outline:none;box-shadow:0 1px 2px #0000000d;transition:all .2s cubic-bezier(.4,0,.2,1);-moz-appearance:none;appearance:none;-webkit-appearance:none}.form-control::placeholder,.form-input::placeholder,.form-textarea::placeholder{color:var(--text-faint);opacity:.85;font-weight:400}.form-control:hover,.form-input:hover,.form-textarea:hover,.form-select:hover{border-color:var(--text-muted)}.form-control:focus,.form-input:focus,.form-textarea:focus,.form-select:focus{border-color:var(--tenant-accent);box-shadow:0 0 0 3px rgba(var(--tenant-accent-rgb),.18);background-color:var(--bg-card);outline:none}.form-select,select.form-control{width:100%;padding:10px 36px 10px 14px;font-family:var(--font-body);font-size:13.5px;line-height:1.5;color:var(--text-main);background-color:var(--bg-card);border:1px solid var(--border-active);border-radius:var(--radius-sm);outline:none;box-shadow:0 1px 2px #0000000d;transition:all .2s cubic-bezier(.4,0,.2,1);appearance:none;-webkit-appearance:none;-moz-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%2364748b' stroke-width='2.2'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M19 9l-7 7-7-7'%3E%3C/path%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:15px 15px;cursor:pointer}.form-textarea,textarea.form-control{min-height:84px;resize:vertical;line-height:1.5}.form-control-sm,.form-select-sm,input.form-control.form-control-sm,select.form-control.form-control-sm{padding:7px 12px;font-size:12.5px;border-radius:var(--radius-xs)}select.form-control.form-control-sm{padding-right:32px;background-size:13px 13px;background-position:right 10px center}input[type=checkbox],input[type=radio]{accent-color:var(--tenant-accent);width:16px;height:16px;cursor:pointer;border-radius:4px;vertical-align:middle}.form-hint{font-size:11.5px;color:var(--text-muted);margin-top:4px}.form-builder-box{background:var(--bg-tertiary);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:18px;margin-bottom:22px}.form-builder-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.form-builder-row{display:flex;gap:12px;align-items:center;background:var(--bg-card);padding:12px 14px;border-radius:var(--radius-sm);border:1px solid var(--border-active);box-shadow:0 1px 3px #0000000a;transition:var(--transition)}.form-builder-row:hover{border-color:var(--tenant-accent);box-shadow:0 3px 8px #0000000f}.form-builder-badge{width:26px;height:26px;border-radius:50%;background:rgba(var(--tenant-accent-rgb),.12);color:var(--tenant-accent);font-weight:800;font-size:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#000000bf;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;z-index:100;padding:16px}.modal-box{background-color:var(--bg-card);border:1px solid var(--border-active);border-radius:var(--radius-lg);width:100%;max-width:540px;box-shadow:var(--shadow-lg);overflow:hidden;animation:modal-appear .22s ease-out}.modal-header{padding:18px 22px;border-bottom:1px solid var(--border-subtle);display:flex;align-items:center;justify-content:space-between}.modal-body{padding:22px;max-height:75vh;overflow-y:auto}.modal-footer{padding:16px 22px;border-top:1px solid var(--border-subtle);display:flex;align-items:center;justify-content:flex-end;gap:10px;background-color:var(--bg-subtle)}.sos-trigger-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px}.sos-hold-button{width:160px;height:160px;border-radius:50%;background:radial-gradient(circle,#ef4444,#b91c1c);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:0 0 35px #ef444480,inset 0 2px 4px #ffffff4d;cursor:pointer;border:4px solid #ffffff;-webkit-user-select:none;user-select:none;transition:transform .15s ease}.sos-hold-button:active{transform:scale(.96);box-shadow:0 0 50px #ef4444cc}@keyframes modal-appear{0%{opacity:0;transform:translateY(14px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.simulation-top-banner{height:44px;color:#fff;padding:0 20px;display:flex;align-items:center;justify-content:space-between;font-size:12px;font-weight:600;border-bottom:1px solid rgba(255,255,255,.12);position:sticky;top:0;z-index:100;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.simulation-top-banner.admin{background:linear-gradient(90deg,#1e293b,#334155);border-bottom:1px solid #475569}.simulation-top-banner.warga{background:linear-gradient(90deg,#0c75c4,#118eea);border-bottom:1px solid rgba(255,255,255,.2)}.banner-left{display:flex;align-items:center;gap:10px}.banner-badge{padding:3px 10px;border-radius:var(--radius-full);font-size:11px;font-weight:800;letter-spacing:.03em;text-transform:uppercase}.banner-badge.admin{background:#f59e0b;color:#0f172a}.banner-badge.warga{background:#10b981;color:#fff}.banner-desc{opacity:.9;font-size:11.5px;display:none}@media(min-width:768px){.banner-desc{display:inline}}.banner-toggle-btn{background:#fff3;border:1px solid rgba(255,255,255,.35);color:#fff;padding:5px 14px;border-radius:var(--radius-full);cursor:pointer;display:flex;align-items:center;gap:8px;font-size:12px;font-weight:700;transition:var(--transition)}.banner-toggle-btn:hover{background:#ffffff4d;transform:translateY(-1px)}.android-app-wrapper{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;min-height:calc(100vh - 44px);padding:24px 16px 48px;background-color:#0b1329;background-image:radial-gradient(circle at 10% 20%,rgba(79,70,229,.15) 0%,transparent 40%),radial-gradient(circle at 90% 80%,rgba(16,185,129,.1) 0%,transparent 40%)}.android-mobile-container{width:100%;max-width:440px;min-height:840px;background-color:var(--bg-primary);display:flex;flex-direction:column;position:relative;box-shadow:0 20px 60px #000000b3,0 0 0 10px #1e293b,0 0 0 12px #334155;border-radius:36px;overflow:hidden;padding-bottom:84px}@media(max-width:600px){.android-app-wrapper{padding:0;min-height:calc(100vh - 44px);background:var(--bg-primary)}.android-mobile-container{max-width:100%;min-height:calc(100vh - 44px);border-radius:0;box-shadow:none}}.android-phone-notch{width:100%;height:30px;background-color:#312e81;display:flex;align-items:center;justify-content:space-between;padding:0 20px;font-size:11px;font-weight:700;color:#fff;-webkit-user-select:none;user-select:none}.android-header-container{position:relative}.android-appbar{background:linear-gradient(135deg,#3730a3,#4f46e5);color:#fff;padding:14px 18px 32px;position:relative}.android-top-nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.android-tenant-chip{display:flex;align-items:center;gap:8px;background:#ffffff2e;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);padding:6px 14px;border-radius:var(--radius-full);color:#fff;font-size:13px;font-weight:700;border:1px solid rgba(255,255,255,.2);transition:var(--transition);cursor:pointer}.android-tenant-chip:hover{background:#ffffff47}.tenant-chip-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.tenant-chip-name{max-width:150px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.android-role-chip{display:flex;align-items:center;gap:6px;background:#ffffff2e;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);padding:5px 12px;border-radius:var(--radius-full);color:#fff;font-size:12px;font-weight:600;border:1px solid rgba(255,255,255,.2);cursor:pointer}.android-icon-btn{width:32px;height:32px;border-radius:50%;background:#ffffff2e;display:flex;align-items:center;justify-content:center;color:#fff;border:none;cursor:pointer;transition:var(--transition)}.android-icon-btn:hover{background:#ffffff4d}.android-dropdown-menu{position:absolute;top:100%;left:0;margin-top:8px;width:300px;background:var(--bg-card);border:1px solid var(--border-active);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);padding:8px;z-index:80;color:var(--text-main)}.android-dropdown-menu.right{left:auto;right:0;width:210px}.android-dropdown-header{padding:6px 12px;font-size:11px;font-weight:700;text-transform:uppercase;color:var(--text-faint)}.android-dropdown-item{width:100%;padding:10px 12px;display:flex;align-items:center;gap:10px;border-radius:var(--radius-sm);background:transparent;color:var(--text-main);text-align:left;border:none;cursor:pointer;font-size:13px;font-weight:600}.android-dropdown-item:hover,.android-dropdown-item.active{background:var(--bg-subtle)}.android-dropdown-divider{border-top:1px solid var(--border-subtle);margin:6px 0}.android-dropdown-action{width:100%;padding:8px 12px;display:flex;align-items:center;gap:6px;color:var(--primary);font-weight:700;font-size:12px;background:transparent;border:none;cursor:pointer}.android-user-headline{display:flex;align-items:center;gap:12px;margin-bottom:8px}.android-avatar-circle{width:44px;height:44px;border-radius:50%;background:#ffffff40;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:800;color:#fff;position:relative;flex-shrink:0;border:2px solid rgba(255,255,255,.4)}.android-online-badge{position:absolute;bottom:0;right:0;width:12px;height:12px;border-radius:50%;background:#10b981;border:2px solid #3730a3}.android-headline-text h2{font-size:18px;color:#fff;font-weight:800;line-height:1.2}.android-headline-text p{font-size:12px;opacity:.9;font-weight:500;margin-top:2px}.android-hero-card{background:var(--bg-card);color:var(--text-main);border-radius:20px;box-shadow:0 4px 20px #00000014;padding:18px;margin:-24px 14px 14px;position:relative;z-index:20;border:1px solid var(--border-subtle)}.android-card-balance-row{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border-subtle);padding-bottom:14px;margin-bottom:14px}.android-balance-label{font-size:11px;font-weight:700;text-transform:uppercase;color:var(--text-muted);letter-spacing:.5px}.android-balance-value{font-size:22px;font-weight:800;font-family:var(--font-heading);color:var(--text-main);margin-top:2px}.android-status-badge{display:inline-block;font-size:11px;font-weight:700;margin-top:3px}.android-status-badge.unpaid{color:#f59e0b}.android-status-badge.paid{color:#10b981}.android-btn-primary{display:inline-flex;align-items:center;gap:6px;padding:9px 18px;border-radius:var(--radius-full);background:var(--primary);color:#fff;font-size:12.5px;font-weight:700;border:none;cursor:pointer;box-shadow:0 4px 12px #4f46e559;transition:var(--transition)}.android-btn-primary:active{transform:scale(.95)}.android-btn-tonal{padding:9px 16px;border-radius:var(--radius-full);background:var(--bg-subtle);color:var(--text-main);font-size:12.5px;font-weight:700;border:1px solid var(--border-subtle);cursor:pointer;transition:var(--transition)}.android-quick-actions-row{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;text-align:center}.android-action-tile{display:flex;flex-direction:column;align-items:center;gap:6px;background:transparent;padding:4px;color:var(--text-main);border:none;cursor:pointer;transition:var(--transition)}.android-action-tile:active{transform:scale(.92)}.android-tile-icon{width:44px;height:44px;border-radius:14px;display:flex;align-items:center;justify-content:center;transition:var(--transition)}.android-tile-icon.primary{background:#eef2ff;color:#4f46e5}[data-theme=dark] .android-tile-icon.primary{background:#4f46e533;color:#818cf8}.android-tile-icon.success{background:#ecfdf5;color:#10b981}[data-theme=dark] .android-tile-icon.success{background:#10b98133;color:#34d399}.android-tile-icon.purple{background:#f5f3ff;color:#8b5cf6}[data-theme=dark] .android-tile-icon.purple{background:#8b5cf633;color:#a78bfa}.android-tile-icon.danger{background:#fef2f2;color:#ef4444}[data-theme=dark] .android-tile-icon.danger{background:#ef444433;color:#f87171}.android-tile-label{font-size:11px;font-weight:700;color:var(--text-main)}.android-tile-label.danger-text{color:#ef4444}.android-section{padding:0 14px 18px}.android-section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.android-section-title{font-size:15px;font-weight:800;color:var(--text-main)}.android-header-link-btn{background:transparent!important;color:var(--primary)!important;font-size:12px;font-weight:700;display:inline-flex;align-items:center;gap:2px;padding:4px 6px;border-radius:var(--radius-xs);border:none!important;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);outline:none}.android-header-link-btn:hover{background:#4f46e514!important;transform:translate(3px)}.android-services-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px 8px;padding:6px 10px 18px;text-align:center}.android-grid-btn{display:flex;flex-direction:column;align-items:center;gap:6px;background:transparent;color:var(--text-main);border:none;cursor:pointer;transition:var(--transition)}.android-grid-btn:active{transform:scale(.92)}.android-grid-icon-circle{width:50px;height:50px;border-radius:16px;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 14px #0000000d;position:relative;transition:var(--transition)}.android-grid-btn:hover .android-grid-icon-circle{transform:translateY(-2px);box-shadow:0 8px 18px #0000001a}.android-grid-label{font-size:11px;font-weight:600;color:var(--text-main);line-height:1.2}.android-card{background:var(--bg-card);border-radius:18px;border:1px solid var(--border-subtle);box-shadow:var(--shadow-sm);padding:14px;margin-bottom:12px}.android-urgent-banner{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;border-radius:16px;padding:12px 14px;margin:0 14px 14px;box-shadow:0 4px 16px #ef444459;display:flex;align-items:center;justify-content:space-between;animation:pulse-glow 2s infinite}.android-bottom-bar{position:absolute;bottom:0;left:0;right:0;height:72px;background:var(--bg-card);border-top:1px solid var(--border-subtle);box-shadow:0 -4px 20px #00000014;display:flex;align-items:center;justify-content:space-around;z-index:50;padding:0 6px}.android-nav-tab{display:flex;flex-direction:column;align-items:center;gap:3px;color:var(--text-muted);font-size:10.5px;font-weight:600;background:none;border:none;flex:1;transition:var(--transition);cursor:pointer;position:relative}.android-tab-indicator{padding:3px 14px;border-radius:14px;display:flex;align-items:center;justify-content:center;transition:var(--transition)}.android-nav-tab.active{color:var(--primary);font-weight:800}.android-nav-tab.active .android-tab-indicator{background:#4f46e51f;color:var(--primary)}[data-theme=dark] .android-nav-tab.active .android-tab-indicator{background:#818cf833;color:#a5b4fc}.android-scan-fab{display:flex;flex-direction:column;align-items:center;gap:2px;background:none;border:none;cursor:pointer;margin-top:-24px;font-size:10.5px;font-weight:800;color:var(--primary)}.android-fab-inner{width:54px;height:54px;border-radius:18px;background:linear-gradient(135deg,#4f46e5,#3730a3);color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 24px #4f46e573;border:3px solid var(--bg-card);transition:var(--transition)}.android-scan-fab:active .android-fab-inner{transform:scale(.92)}@keyframes pulse-glow{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.02);opacity:.9}}
