:root{--primary: #007AFF;--secondary: #5856D6;--success: #34C759;--warning: #FF9500;--danger: #FF3B30;--info: #32ADE6;--purple: #AF52DE;--pink: #FF2D55;--teal: #00C7BE;--dark-purple: #48319D;--light: #F2F2F7;--dark: #1C1C1E;--gray: #8E8E93;--light-gray: #E5E5EA;--sidebar-width: 82px;--sidebar-expanded-width: 260px;--bg-body: #F2F2F7;--bg-card: #FFFFFF;--bg-sidebar: rgba(255, 255, 255, .82);--bg-header: rgba(255, 255, 255, .82);--text-main: #1C1C1E;--text-secondary: #3C3C43;--text-muted: #8E8E93;--border-color: rgba(60, 60, 67, .12);--border-subtle: rgba(60, 60, 67, .06);--input-bg: rgba(118, 118, 128, .08);--input-border: rgba(60, 60, 67, .12);--glass-bg: rgba(255, 255, 255, .72);--glass-border: rgba(255, 255, 255, .4);--glass-hover: rgba(0, 122, 255, .08);--ios-blur: blur(25px) saturate(190%);--ios-shadow-sm: 0 2px 8px -1px rgba(0, 0, 0, .04), 0 1px 3px 0 rgba(0, 0, 0, .02);--ios-shadow-md: 0 6px 18px -2px rgba(0, 0, 0, .05), 0 2px 6px -1px rgba(0, 0, 0, .03);--ios-shadow-lg: 0 16px 36px -4px rgba(0, 0, 0, .08), 0 4px 12px -2px rgba(0, 0, 0, .03);--ios-card-radius: 18px;--ios-control-radius: 12px;--ios-pill-radius: 999px;--ios-spring: cubic-bezier(.16, 1, .3, 1)}*{margin:0;padding:0;box-sizing:border-box;font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,SF Pro Text,Inter,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body.dark-theme{--bg-body: #000000;--bg-card: #1C1C1E;--bg-sidebar: rgba(28, 28, 30, .85);--bg-header: rgba(28, 28, 30, .85);--text-main: #FFFFFF;--text-secondary: rgba(235, 235, 245, .75);--text-muted: #8E8E93;--border-color: rgba(255, 255, 255, .12);--border-subtle: rgba(255, 255, 255, .07);--input-bg: rgba(118, 118, 128, .22);--input-border: rgba(255, 255, 255, .14);--light: #2C2C2E;--dark: #FFFFFF;--gray: #8E8E93;--light-gray: #2C2C2E;--primary: #0A84FF;--secondary: #5E5CE6;--success: #30D158;--warning: #FF9F0A;--danger: #FF453A;--info: #64D2FF;--purple: #BF5AF2;--pink: #FF375F;--teal: #63E6E2;--glass-bg: rgba(28, 28, 30, .75);--glass-border: rgba(255, 255, 255, .1);--glass-hover: rgba(255, 255, 255, .06);--ios-shadow-sm: 0 2px 10px rgba(0, 0, 0, .4);--ios-shadow-md: 0 8px 24px rgba(0, 0, 0, .5);--ios-shadow-lg: 0 16px 40px rgba(0, 0, 0, .65);background-color:var(--bg-body);color:var(--text-main)}body.dark-theme .card{background-color:var(--bg-card);border-color:var(--border-color);box-shadow:var(--ios-shadow-sm)}body.dark-theme a{color:var(--primary)}body.dark-theme .table th{background-color:#2c2c2e99;color:var(--text-muted)}body.dark-theme .table tbody tr:hover{background-color:#ffffff0a}body.dark-theme .form-control{background-color:var(--input-bg);border-color:var(--input-border);color:var(--text-main)}body.dark-theme .form-control:focus{background-color:#7676804d;border-color:var(--primary);color:var(--text-main)}body.dark-theme .form-control:read-only,body.dark-theme .form-control:disabled{background-color:#ffffff0d;color:var(--text-muted)}body.dark-theme .input-group-text,body.dark-theme select option{background-color:var(--bg-card);border-color:var(--border-color);color:var(--text-main)}body.dark-theme .modal-content{background-color:var(--bg-card);border:1px solid var(--border-color)}body.dark-theme .sidebar{background-color:var(--bg-sidebar)}body.dark-theme .nav-link{color:var(--text-muted)}body.dark-theme .nav-link:hover{background-color:#ffffff12;color:#fff}body.dark-theme .nav-link.active{background-color:var(--primary);color:#fff}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{background-color:var(--bg-body);color:var(--text-main);line-height:1.5;min-height:100vh;overflow-x:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-overflow-scrolling:touch;transition:background-color .25s cubic-bezier(.16,1,.3,1),color .25s ease;letter-spacing:-.015em;transform:translateZ(0)}.card,.status-card,.dash-stat-card,.header,.ios-bottom-bar,.fab-main,.btn{transform:translateZ(0);backface-visibility:hidden;-webkit-backface-visibility:hidden}.text-center{text-align:center}.d-flex{display:flex}.align-items-center{align-items:center}.justify-content-between{justify-content:space-between}.mb-3{margin-bottom:1rem}.mt-3{margin-top:1rem}.gap-2{gap:.5rem}.btn{padding:10px 18px;border:none;border-radius:var(--ios-control-radius);cursor:pointer;font-weight:600;font-size:.95rem;letter-spacing:-.015em;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:transform .18s var(--ios-spring),box-shadow .2s ease,opacity .2s ease,background-color .2s ease;text-decoration:none;white-space:nowrap;user-select:none;-webkit-user-select:none}.btn:active:not(:disabled){transform:scale(.96)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-sm{padding:7px 12px;font-size:13px;border-radius:10px;min-width:32px;min-height:32px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;border:none;font-weight:600;letter-spacing:-.01em;transition:transform .18s var(--ios-spring),background-color .2s ease}.btn-sm:active:not(:disabled){transform:scale(.94)}.action-buttons{display:flex;gap:8px;flex-wrap:nowrap;align-items:center}.action-buttons .btn-sm{padding:7px 11px;font-size:13px;border-radius:10px;min-width:34px;min-height:34px;display:flex;align-items:center;justify-content:center;transition:transform .18s var(--ios-spring),box-shadow .2s ease;cursor:pointer;border:none;box-shadow:var(--ios-shadow-sm)}.action-buttons .btn-sm i{font-size:13px}.action-buttons .btn-sm:hover{transform:translateY(-2px);box-shadow:var(--ios-shadow-md)}.action-buttons .btn-sm:active{transform:scale(.92)}.btn-primary{background:var(--primary);color:#fff;border:none;box-shadow:0 4px 14px #007aff40}.btn-primary:hover{background:#0066d6;box-shadow:0 6px 18px #007aff59}.btn-secondary{background:#7676801f;color:var(--text-main);border:1px solid var(--border-color)}.btn-secondary:hover{background:#7676802e;color:var(--text-main)}.btn-success{background:var(--success);color:#fff;border:none;box-shadow:0 4px 14px #34c75940}.btn-success:hover{background:#28a745;box-shadow:0 6px 18px #34c75959}.btn-warning{background:var(--warning);color:#fff;border:none;box-shadow:0 4px 14px #ff950040}.btn-warning:hover{background:#e68500;box-shadow:0 6px 18px #ff950059}.btn-danger{background:var(--danger);color:#fff;border:none;box-shadow:0 4px 14px #ff3b3040}.btn-danger:hover{background:#e03227;box-shadow:0 6px 18px #ff3b3059}.btn-info{background:var(--info);color:#fff;border:none;box-shadow:0 4px 14px #32ade640}.btn-info:hover{background:#269ecf;box-shadow:0 6px 18px #32ade659}.btn-dark{background:#1c1c1e;color:#fff;border:1px solid rgba(255,255,255,.12)}.btn-dark:hover{background:#2c2c2e}.btn-purple{background:var(--purple);color:#fff;border:none;box-shadow:0 4px 14px #af52de40}.btn-purple:hover{background:#993cc6;box-shadow:0 6px 18px #af52de59}.card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--ios-card-radius);padding:22px;box-shadow:var(--ios-shadow-sm);margin-bottom:22px;transition:transform .22s var(--ios-spring),box-shadow .22s ease,border-color .2s ease}.card:hover{box-shadow:var(--ios-shadow-md)}.card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--border-color)}.card-title{font-size:1.15rem;font-weight:700;color:var(--text-main);letter-spacing:-.02em;display:flex;align-items:center;gap:8px}.form-group{margin-bottom:16px}.form-group label{display:block;margin-bottom:6px;font-size:.88rem;font-weight:600;color:var(--text-secondary);letter-spacing:-.01em}.form-control{width:100%;padding:11px 14px;border:1px solid var(--input-border);background-color:var(--input-bg);color:var(--text-main);border-radius:var(--ios-control-radius);font-size:.95rem;font-weight:500;transition:all .2s var(--ios-spring)}.form-control:focus{outline:none;border-color:var(--primary);background-color:var(--bg-card);box-shadow:0 0 0 3.5px #007aff2e}.form-control:read-only,.form-control:disabled{background-color:#7676800d;opacity:.75}.form-row{display:flex;gap:16px}.form-col{flex:1}.table{width:100%;border-collapse:separate;border-spacing:0;margin-bottom:20px;white-space:nowrap}.table th,.table td{padding:13px 16px;text-align:left;border-bottom:1px solid var(--border-color);font-size:.92rem}.table th{background-color:#7676800f;font-weight:600;font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted)}.table th:first-child{border-top-left-radius:10px;border-bottom-left-radius:10px}.table th:last-child{border-top-right-radius:10px;border-bottom-right-radius:10px}.table tbody tr{transition:background-color .15s ease}.table tbody tr:hover{background-color:#007aff09}.table tbody tr:last-child td{border-bottom:none}.table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch}.badge{display:inline-flex;align-items:center;justify-content:center;padding:4px 11px;border-radius:var(--ios-pill-radius);font-size:.76rem;font-weight:700;letter-spacing:-.01em;line-height:1.2}.badge-success{background:#34c75924;color:#248a3d}:host-context(.dark-theme) .badge-success,body.dark-theme .badge-success{background:#30d15833;color:#30d158}.badge-danger{background:#ff3b3024;color:#d7261b}:host-context(.dark-theme) .badge-danger,body.dark-theme .badge-danger{background:#ff453a33;color:#ff453a}.badge-warning{background:#ff950024;color:#b86200}:host-context(.dark-theme) .badge-warning,body.dark-theme .badge-warning{background:#ff9f0a33;color:#ff9f0a}.badge-primary{background:#007aff24;color:#0062cc}:host-context(.dark-theme) .badge-primary,body.dark-theme .badge-primary{background:#0a84ff33;color:#0a84ff}.badge-info{background:#32ade624;color:#1980a8}:host-context(.dark-theme) .badge-info,body.dark-theme .badge-info{background:#64d2ff33;color:#64d2ff}.badge-secondary{background:#76768024;color:var(--text-secondary)}.badge-dark{background:#1c1c1e1f;color:var(--text-main)}.badge-purple{background:#af52de24;color:#8b2fb5}:host-context(.dark-theme) .badge-purple,body.dark-theme .badge-purple{background:#bf5af233;color:#bf5af2}.filter-controls{display:flex;gap:15px;margin-bottom:20px;flex-wrap:wrap;align-items:flex-end}.filter-controls .form-group{margin-bottom:0;flex:1;min-width:150px}.filter-controls .button-group{flex:0 1 auto;display:flex;gap:10px}.category-tools{background:#cce5ff!important;color:#004085!important}.category-petrol{background:#d4edda!important;color:#155724!important}.category-rent{background:#fff3cd!important;color:#856404!important}.category-utilities{background:#d1ecf1!important;color:#0c5460!important}.category-marketing{background:#e2d9f3!important;color:#4a1e7a!important}.category-other{background:#e2e3e5!important;color:#383d41!important}.spinner{width:24px;height:24px;border:3px solid var(--light-gray);border-top-color:var(--primary);border-radius:50%;animation:spin 1s linear infinite;margin:0 auto}@keyframes spin{to{transform:rotate(360deg)}}.toast{position:fixed;bottom:20px;right:20px;padding:15px 20px;background:var(--dark);color:#fff;border-radius:8px;opacity:0;transform:translateY(20px);transition:.3s;z-index:3000;pointer-events:none}.toast.show{opacity:1;transform:translateY(0);pointer-events:auto}.toast.success{background:var(--success)}.toast.error{background:var(--danger)}@media (min-width: 993px) and (max-width: 1440px){.card{padding:18px;margin-bottom:18px}.table th,.table td{padding:11px 14px;font-size:.88rem}}@media (max-width: 992px){.card{padding:16px;margin-bottom:16px;border-radius:16px}.card-header{flex-wrap:wrap;gap:10px}}@media (max-width: 768px){:root{--sidebar-width: 0px}body{font-size:14px}.form-row{flex-direction:column;gap:0}.filter-controls{flex-direction:column;align-items:stretch;gap:10px}.filter-controls .form-group{min-width:100%}.filter-controls .button-group{justify-content:space-between;flex-wrap:wrap}.btn{padding:9px 15px;font-size:13.5px;border-radius:11px;min-height:40px}.card{padding:14px;border-radius:16px;margin-bottom:14px}.card-title{font-size:1.05rem}.table th,.table td{padding:10px 12px;font-size:12.5px}.badge{padding:3px 8px;font-size:10.5px}.form-control{padding:10px 12px;font-size:14px;border-radius:11px;min-height:42px}.btn-sm{padding:6px 10px;font-size:12px;border-radius:9px}.modal-content{width:100%!important;max-width:100%!important;margin:auto 0 0!important;border-radius:22px 22px 0 0!important;border-bottom:none!important;max-height:88vh!important;animation:iosSheetSlideUp .32s var(--ios-spring)!important}}@keyframes iosSheetSlideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}@media (max-width: 576px){body{font-size:13px}.card{padding:12px;margin-bottom:12px;border-radius:15px}.card-header{margin-bottom:10px;padding-bottom:8px}.card-title{font-size:.95rem}.btn{padding:8px 12px;font-size:12.5px;gap:6px;border-radius:10px}.table th,.table td{padding:8px 10px;font-size:11.5px}.table th{font-size:10px;letter-spacing:.03em}.form-control{padding:9px 11px;font-size:13.5px;border-radius:10px}.form-group{margin-bottom:12px}.form-group label{font-size:12px;margin-bottom:4px}.d-none-mobile{display:none!important}.input-group-text{padding:8px 12px;font-size:12px}}@media (max-width: 400px){body{font-size:12.5px}.card{padding:10px;border-radius:14px}.card-title{font-size:.9rem}.table th,.table td{padding:6px 8px;font-size:10.5px}.btn{padding:7px 10px;font-size:11.5px}.form-control{padding:8px 10px;font-size:13px}}.modal{display:none;position:fixed;z-index:1050;left:0;top:0;width:100%;height:100%;overflow:hidden;background-color:#00000080;align-items:center;justify-content:center;opacity:0;transition:opacity .3s ease-in-out;pointer-events:none}.modal.show{display:flex!important;opacity:1;pointer-events:auto}.modal-content{background-color:var(--bg-card);margin:auto;padding:0;border:1px solid var(--border-color);width:90%;max-width:520px;border-radius:22px;position:relative;box-shadow:0 20px 50px #0000002e;max-height:90vh;display:flex;flex-direction:column;animation:iosSpringIn .35s var(--ios-spring);overflow:hidden}@keyframes iosSpringIn{0%{transform:scale(.92) translateY(20px);opacity:0}to{transform:scale(1) translateY(0);opacity:1}}.input-group{display:flex;align-items:stretch}.input-group-text{background:var(--input-bg);padding:10px 14px;border:1px solid var(--input-border);border-right:none;border-radius:var(--ios-control-radius) 0 0 var(--ios-control-radius);color:var(--text-secondary);font-weight:600;display:flex;align-items:center}.input-group .form-control{border-radius:0 var(--ios-control-radius) var(--ios-control-radius) 0!important}.fab-container{position:fixed;bottom:32px;right:32px;z-index:9999;display:flex;flex-direction:column;align-items:flex-end}.fab-main{width:58px;height:58px;border-radius:50%;background:var(--primary)!important;color:#fff!important;display:flex;align-items:center;justify-content:center;font-size:22px;box-shadow:0 8px 24px #007aff66;cursor:pointer;transition:transform .25s var(--ios-spring),box-shadow .25s ease;z-index:2;border:none}.fab-main:hover{transform:scale(1.08);box-shadow:0 10px 28px #007aff80}.fab-main:active{transform:scale(.92)}.fab-main.active i{transform:rotate(45deg)}.fab-main i{transition:transform .25s var(--ios-spring)}.fab-menu{position:absolute;bottom:74px;right:4px;display:flex;flex-direction:column;gap:12px;align-items:flex-end;opacity:0;visibility:hidden;transform:scale(.85) translateY(20px);transform-origin:bottom right;transition:all .25s var(--ios-spring);pointer-events:none;z-index:1}.fab-menu.open{opacity:1;visibility:visible;transform:scale(1) translateY(0);pointer-events:auto}.fab-item{width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:17px;box-shadow:0 4px 16px #00000026;cursor:pointer;border:none;position:relative;transition:transform .18s var(--ios-spring)}.fab-item:hover{transform:scale(1.1)}.fab-item:active{transform:scale(.92)}.fab-item .fab-label{position:absolute;right:60px;background:#1c1c1ee0;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);color:#fff;padding:6px 12px;border-radius:10px;font-size:13px;font-weight:600;letter-spacing:-.01em;white-space:nowrap;pointer-events:none;opacity:0;transform:translate(10px);transition:all .2s ease;box-shadow:0 4px 12px #00000026}.fab-item:hover .fab-label{opacity:1;transform:translate(0)}@media (max-width: 992px){.main-content{padding-bottom:calc(96px + max(env(safe-area-inset-bottom,0px),12px))!important}.fab-container{display:none!important}}.pb-fab{padding-bottom:100px!important}.mesh-bg{position:fixed;inset:0;width:100%;height:100%;background-color:var(--bg-body);z-index:-1;overflow:hidden;pointer-events:none;transition:background-color .3s ease}.glow{position:absolute;border-radius:50%;filter:blur(140px);opacity:.25;transition:opacity .3s ease}body.dark-theme .glow{opacity:.35}.glow-1{width:700px;height:700px;background:#007aff;top:-15vh;left:-10vw;animation:drift 25s ease-in-out infinite alternate}.glow-2{width:800px;height:800px;background:#5856d6;bottom:-25vh;right:-10vw;animation:drift 30s ease-in-out infinite alternate-reverse}.glow-3{width:500px;height:500px;background:#00c7be;top:40%;left:35%;transform:translate(-50%,-50%);animation:pulseGlow 20s ease-in-out infinite}@keyframes drift{0%{transform:translateY(0) translate(0)}to{transform:translateY(80px) translate(120px)}}@keyframes pulseGlow{0%,to{transform:translate(-50%,-50%) scale(1);opacity:.15}50%{transform:translate(-50%,-50%) scale(1.3);opacity:.35}}.glass-panel{background:var(--bg-sidebar)!important;backdrop-filter:var(--ios-blur);-webkit-backdrop-filter:var(--ios-blur);border-right:1px solid var(--border-color)!important}.glass-card{background:var(--glass-bg)!important;backdrop-filter:var(--ios-blur);-webkit-backdrop-filter:var(--ios-blur);border:1px solid var(--glass-border)!important;box-shadow:var(--ios-shadow-md)!important}@keyframes fadeInDown{0%{opacity:0;transform:translate3d(0,-20px,0)}to{opacity:1;transform:translateZ(0)}}
