@import"https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@300;400;500;600;700;800&family=JetBrains+Mono:wght@400;500&display=swap";.toast-container{position:fixed;bottom:1.5rem;right:1.5rem;display:flex;flex-direction:column;gap:.75rem;z-index:9999;max-width:400px;pointer-events:none}.toast-item{display:flex;align-items:center;gap:.75rem;padding:.85rem 1.15rem;border-radius:.75rem;color:#f8fafc;font-size:.9rem;font-weight:500;pointer-events:auto;box-shadow:0 10px 25px -5px #00000080,0 8px 10px -6px #0006;animation:toastSlideIn .25s cubic-bezier(.16,1,.3,1)}.toast-item.toast-success{background:#10b9812e;border:1px solid rgba(16,185,129,.4)}.toast-item.toast-success .toast-icon{color:#10b981}.toast-item.toast-error{background:#ef44442e;border:1px solid rgba(239,68,68,.4)}.toast-item.toast-error .toast-icon{color:#ef4444}.toast-item.toast-info{background:#3b82f62e;border:1px solid rgba(59,130,246,.4)}.toast-item.toast-info .toast-icon{color:#3b82f6}.toast-icon{display:flex;align-items:center;flex-shrink:0}.toast-message{flex:1;line-height:1.4}.toast-close{background:transparent;border:none;color:#94a3b8;padding:.2rem;border-radius:.25rem;display:flex;align-items:center;cursor:pointer;transition:color .15s}.toast-close:hover{color:#fff}@keyframes toastSlideIn{0%{opacity:0;transform:translateY(12px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.login-wrapper{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:1.5rem;position:relative;overflow:hidden;background-color:var(--color-bg-base)}.login-backdrop-glow{position:absolute;width:600px;height:600px;background:radial-gradient(circle,rgba(245,158,11,.12) 0%,rgba(59,130,246,.05) 50%,transparent 70%);top:50%;left:50%;transform:translate(-50%,-50%);pointer-events:none;z-index:0}.login-box{width:100%;max-width:440px;padding:2.5rem 2rem;border-radius:var(--radius-xl);position:relative;z-index:1;display:flex;flex-direction:column;gap:1.5rem;background:#0f172acc;border:1px solid var(--color-border);box-shadow:0 25px 50px -12px #0009}.login-brand-header{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.5rem}.brand-badge{width:64px;height:64px;border-radius:var(--radius-lg);background:linear-gradient(135deg,#f59e0b33,#f59e0b0d);border:1px solid rgba(245,158,11,.4);display:flex;align-items:center;justify-content:center;margin-bottom:.5rem;box-shadow:0 0 20px #f59e0b33}.brand-login-logo{width:40px;height:40px;object-fit:contain}.login-brand-title{font-size:1.75rem;font-weight:800;letter-spacing:-.02em}.highlight-text{background:linear-gradient(135deg,#f59e0b,#fbbf24);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.login-brand-desc{font-size:.85rem;color:var(--color-text-muted)}.auth-tab-pill{display:flex;background:#070b14b3;padding:.3rem;border-radius:var(--radius-md);border:1px solid var(--color-border);gap:.35rem}.tab-toggle{flex:1;padding:.6rem .75rem;font-size:.85rem;font-weight:600;color:var(--color-text-muted);background:transparent;border-radius:var(--radius-sm);border:none;transition:all .2s ease}.tab-toggle.active{background:#f59e0b2e;color:#fbbf24;border:1px solid rgba(245,158,11,.3);box-shadow:0 2px 8px #0000004d}.login-error-banner{padding:.75rem 1rem;background:#ef444426;border:1px solid rgba(239,68,68,.35);border-radius:var(--radius-md);color:#fca5a5;font-size:.82rem;line-height:1.4}.login-form-stack{display:flex;flex-direction:column;gap:1.25rem}.input-field-group{display:flex;flex-direction:column;gap:.4rem}.field-label{font-size:.82rem;font-weight:600;color:var(--color-text-muted)}.input-icon-wrap{position:relative;display:flex;align-items:center}.field-icon{position:absolute;left:1rem;color:var(--color-text-subtle);pointer-events:none}.styled-login-input{padding-left:2.75rem!important;padding-right:2.75rem!important}.pwd-toggle-btn{position:absolute;right:.75rem;background:transparent;border:none;color:var(--color-text-subtle);padding:.35rem;display:flex;align-items:center;justify-content:center}.pwd-toggle-btn:hover{color:var(--color-text-main)}.login-submit-btn{width:100%;padding:.85rem 1.25rem;background:linear-gradient(135deg,#f59e0b,#d97706);color:#0f172a;font-size:.95rem;font-weight:800;border-radius:var(--radius-md);border:none;display:flex;align-items:center;justify-content:center;gap:.6rem;box-shadow:0 4px 14px #f59e0b4d;margin-top:.5rem}.login-submit-btn:hover:not(:disabled){background:linear-gradient(135deg,#fbbf24,#f59e0b);box-shadow:0 6px 20px #f59e0b73;transform:translateY(-1px)}.login-submit-btn:disabled{opacity:.6;cursor:not-allowed}.login-footer-security{display:flex;align-items:center;justify-content:center;gap:.4rem;font-size:.72rem;color:var(--color-text-subtle);padding-top:.5rem;border-top:1px solid rgba(255,255,255,.05)}.sec-icon{color:#10b981}.slide-up{animation:slideUp .35s cubic-bezier(.16,1,.3,1)}@keyframes slideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.sidebar{width:270px;height:100vh;background:#0b1120e0;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-right:1px solid var(--color-border);display:flex;flex-direction:column;position:fixed;top:0;left:0;z-index:1000;transition:transform .3s cubic-bezier(.16,1,.3,1);box-sizing:border-box}.sidebar-header{padding:1.5rem 1.25rem 1rem;display:flex;align-items:center;justify-content:space-between}.brand-wrapper{display:flex;align-items:center;gap:.75rem}.brand-logo{width:36px;height:36px;object-fit:contain;filter:drop-shadow(0 2px 8px rgba(245,158,11,.3))}.brand-text{display:flex;flex-direction:column}.brand-name{font-size:1.25rem;font-weight:800;letter-spacing:.05em;background:linear-gradient(135deg,#fff,#e2e8f0);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.brand-sub{font-size:.68rem;font-weight:700;color:var(--color-accent);letter-spacing:.15em}.sidebar-status{margin:0 1.25rem 1.25rem;display:flex;align-items:center;gap:.5rem;padding:.35rem .65rem;background:#10b98114;border:1px solid rgba(16,185,129,.2);border-radius:var(--radius-full);width:fit-content}.status-dot{width:6px;height:6px;background:#10b981;border-radius:50%;box-shadow:0 0 8px #10b981}.status-label{font-size:.72rem;font-weight:600;color:#34d399}.nav-section-title{padding:0 1.25rem .5rem;font-size:.68rem;font-weight:700;color:var(--color-text-subtle);letter-spacing:.08em}.sidebar-nav{flex:1;padding:.5rem .75rem;display:flex;flex-direction:column;gap:.35rem;overflow-y:auto}.nav-item{display:flex;align-items:center;gap:.85rem;padding:.75rem 1rem;color:var(--color-text-muted);background:transparent;border-radius:var(--radius-md);font-size:.9rem;font-weight:500;position:relative;transition:all .2s ease;width:100%;text-align:left;border:1px solid transparent}.nav-item:hover{color:var(--color-text-main);background:#ffffff0a;border-color:#ffffff0f}.nav-item.active{color:#fff;background:linear-gradient(135deg,#f59e0b26,#f59e0b0d);border-color:#f59e0b59;font-weight:600}.nav-item.active .nav-icon{color:var(--color-accent)}.active-indicator{position:absolute;right:.75rem;width:5px;height:5px;background:var(--color-accent);border-radius:50%;box-shadow:0 0 6px var(--color-accent)}.sidebar-footer{padding:1rem 1rem 1.25rem;border-top:1px solid var(--color-border);display:flex;flex-direction:column;gap:.75rem;background:#070b1480}.user-profile-card{display:flex;align-items:center;gap:.75rem;padding:.6rem .75rem;background:#1e293b66;border:1px solid var(--color-border);border-radius:var(--radius-md)}.user-avatar{width:32px;height:32px;background:linear-gradient(135deg,#f59e0b,#b45309);color:#0f172a;font-weight:700;font-size:.85rem;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}.user-details{display:flex;flex-direction:column;overflow:hidden;gap:.15rem}.user-email{font-size:.78rem;color:var(--color-text-main);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:500}.user-badge{display:flex;align-items:center;gap:.25rem;font-size:.68rem;color:#fbbf24;font-weight:600}.logout-btn{display:flex;align-items:center;justify-content:center;gap:.6rem;width:100%;padding:.65rem 1rem;background:#ef444414;color:#f87171;border:1px solid rgba(239,68,68,.2);border-radius:var(--radius-md);font-size:.82rem;font-weight:600}.logout-btn:hover{background:#ef44442e;border-color:#ef444466;color:#fff}.menu-toggle{display:none;position:fixed;top:1rem;left:1rem;z-index:1100;padding:.5rem;color:var(--color-text-main);background:#0f172ae6}.close-btn{display:none;background:transparent;border:none;color:var(--color-text-muted)}@media(max-width:900px){.menu-toggle,.close-btn{display:flex}.sidebar{transform:translate(-100%)}.sidebar.open{transform:translate(0)}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:999}}.movements-container{display:flex;flex-direction:column;gap:1.5rem}.quick-kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.25rem}.quick-kpi-card{padding:1.25rem 1.5rem;border-radius:var(--radius-lg);display:flex;align-items:center;gap:1.25rem;position:relative;overflow:hidden}.kpi-icon-pill{width:44px;height:44px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;flex-shrink:0}.income-kpi .kpi-icon-pill{background:#10b98126;color:#10b981;border:1px solid rgba(16,185,129,.3)}.expense-kpi .kpi-icon-pill{background:#ef444426;color:#ef4444;border:1px solid rgba(239,68,68,.3)}.balance-kpi .kpi-icon-pill{background:#f59e0b26;color:#f59e0b;border:1px solid rgba(245,158,11,.3)}.kpi-meta{display:flex;flex-direction:column;gap:.2rem}.kpi-label{font-size:.78rem;color:var(--color-text-muted);font-weight:600;text-transform:uppercase;letter-spacing:.04em}.kpi-value{font-size:1.35rem;font-weight:800;font-family:var(--font-sans);letter-spacing:-.02em}.text-success{color:#34d399}.text-danger{color:#f87171}.movements-split-layout{display:grid;grid-template-columns:420px 1fr;gap:1.5rem;align-items:start}@media(max-width:1100px){.movements-split-layout{grid-template-columns:1fr}}.movement-form-card{display:flex;flex-direction:column;gap:1.25rem}.form-card-header .section-title{font-size:1.15rem;display:flex;align-items:center;gap:.5rem}.title-icon{color:var(--color-accent)}.section-subtitle{font-size:.82rem;color:var(--color-text-muted);margin-top:.25rem}.type-toggle-pill{display:flex;background:#0f172acc;border:1px solid var(--color-border);padding:.35rem;border-radius:var(--radius-md);gap:.35rem}.toggle-option{flex:1;padding:.65rem .75rem;border-radius:var(--radius-sm);font-size:.85rem;font-weight:600;background:transparent;color:var(--color-text-muted);display:flex;align-items:center;justify-content:center;gap:.5rem;transition:all .2s ease}.toggle-option:hover{color:var(--color-text-main)}.toggle-option.active-expense{background:#ef444433;color:#f87171;border:1px solid rgba(239,68,68,.4);box-shadow:0 2px 8px #ef444433}.toggle-option.active-income{background:#10b98133;color:#34d399;border:1px solid rgba(16,185,129,.4);box-shadow:0 2px 8px #10b98133}.styled-form{display:flex;flex-direction:column;gap:1.1rem}.form-field{display:flex;flex-direction:column;gap:.4rem}.form-field label{font-size:.82rem;font-weight:600;color:var(--color-text-muted);display:flex;align-items:center;gap:.4rem}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.submit-action-btn{width:100%;padding:.85rem;border-radius:var(--radius-md);font-size:.95rem;font-weight:700;display:flex;align-items:center;justify-content:center;gap:.6rem;margin-top:.5rem}.btn-expense{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;box-shadow:0 4px 14px #ef44444d}.btn-expense:hover{background:linear-gradient(135deg,#f87171,#ef4444);box-shadow:0 6px 18px #ef444473;transform:translateY(-1px)}.btn-income{background:linear-gradient(135deg,#10b981,#059669);color:#0f172a;box-shadow:0 4px 14px #10b9814d}.btn-income:hover{background:linear-gradient(135deg,#34d399,#10b981);box-shadow:0 6px 18px #10b98173;transform:translateY(-1px)}.ledger-card{display:flex;flex-direction:column;gap:1.25rem;min-height:520px}.ledger-toolbar{display:flex;gap:.75rem;flex-wrap:wrap}.search-box{flex:1;min-width:220px;position:relative}.search-icon{position:absolute;left:.9rem;top:50%;transform:translateY(-50%);color:var(--color-text-subtle)}.search-box input{padding-left:2.5rem;font-size:.88rem}.filter-pills{display:flex;gap:.35rem;background:#0f172acc;padding:.25rem;border-radius:var(--radius-md);border:1px solid var(--color-border)}.filter-btn{padding:.45rem .85rem;font-size:.8rem;font-weight:600;color:var(--color-text-muted);background:transparent;border-radius:var(--radius-sm)}.filter-btn.active{background:#f59e0b2e;color:#fbbf24;border:1px solid rgba(245,158,11,.3)}.ledger-list{display:flex;flex-direction:column;gap:.6rem;max-height:480px;overflow-y:auto;padding-right:.25rem}.ledger-item{display:flex;align-items:center;justify-content:space-between;padding:.9rem 1.1rem;border-radius:var(--radius-md);background:#0f172a80;border:1px solid var(--color-border);transition:all .2s ease}.ledger-item:hover{background:#1e293b99;border-color:#ffffff26;transform:translate(2px)}.ledger-item-left{display:flex;align-items:center;gap:.85rem;overflow:hidden}.type-badge-circle{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}.type-badge-circle.income{background:#10b9811f;color:#10b981;border:1px solid rgba(16,185,129,.3)}.type-badge-circle.expense{background:#ef44441f;color:#ef4444;border:1px solid rgba(239,68,68,.3)}.ledger-item-info{display:flex;flex-direction:column;gap:.25rem;overflow:hidden}.ledger-top-line{display:flex;align-items:center;gap:.5rem}.ledger-primary-text{font-size:.92rem;font-weight:700;color:var(--color-text-main);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ledger-box-badge{font-size:.68rem;font-weight:700;text-transform:uppercase;background:#38bdf81f;color:#38bdf8;border:1px solid rgba(56,189,248,.25);padding:.1rem .45rem;border-radius:9999px;letter-spacing:.03em}.ledger-details-line{display:flex;align-items:center;gap:.45rem;overflow:hidden}.ledger-supp-tag{font-size:.72rem;font-weight:600;color:#fbbf24;background:#f59e0b1f;border:1px solid rgba(245,158,11,.2);padding:.05rem .4rem;border-radius:4px;white-space:nowrap}.ledger-proj-tag{font-size:.72rem;font-weight:600;color:#38bdf8;background:#38bdf81f;border:1px solid rgba(56,189,248,.25);padding:.05rem .4rem;border-radius:4px;white-space:nowrap}.ledger-cat-tag{font-size:.72rem;font-weight:600;color:#34d399;background:#10b9811f;border:1px solid rgba(16,185,129,.25);padding:.05rem .4rem;border-radius:4px;white-space:nowrap}.ledger-cc-tag{font-size:.72rem;font-weight:600;color:#c084fc;background:#c084fc1f;border:1px solid rgba(192,132,252,.25);padding:.05rem .4rem;border-radius:4px;white-space:nowrap}.ledger-secondary-text{font-size:.78rem;color:var(--color-text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ledger-item-right{display:flex;align-items:center;gap:1rem;flex-shrink:0}.amount-date-group{display:flex;flex-direction:column;align-items:flex-end;gap:.15rem}.ledger-amount{font-size:1rem;font-weight:800}.ledger-date{font-size:.72rem;color:var(--color-text-subtle);font-family:var(--font-mono)}.btn-icon-danger{padding:.45rem;background:transparent;color:var(--color-text-subtle);border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center}.btn-icon-danger:hover{background:#ef444426;color:#ef4444}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 1rem;gap:.75rem;color:var(--color-text-subtle)}.empty-icon{opacity:.4}.form-warning-alert{display:flex;align-items:center;gap:.65rem;padding:.75rem 1rem;background:#f59e0b1f;border:1px solid rgba(245,158,11,.3);border-radius:var(--radius-md);color:#fbbf24;font-size:.82rem;line-height:1.4}.recurring-expense-box{padding:.9rem 1.1rem;border-radius:var(--radius-md);border:1px solid rgba(255,255,255,.08);background:#0f172a66;display:flex;flex-direction:column;gap:.75rem}.recurring-toggle-label{display:flex;align-items:center;gap:.65rem;cursor:pointer;-webkit-user-select:none;user-select:none}.recurring-toggle-label input[type=checkbox]{width:16px;height:16px;accent-color:#F59E0B;cursor:pointer}.recurring-title-wrap{display:flex;align-items:center;gap:.45rem;font-size:.86rem;font-weight:600;color:var(--color-text-primary)}.recurring-icon{color:#f59e0b}.recurring-options-grid{display:grid;grid-template-columns:1fr 1fr;gap:.85rem;padding-top:.5rem;border-top:1px dashed rgba(255,255,255,.08)}.field-label-row{display:flex;justify-content:space-between;align-items:center}.field-hint{font-size:.72rem;color:var(--color-text-subtle);font-weight:500}.ledger-proj-tag.direct-exp{background:#3b82f626;color:#60a5fa;border:1px solid rgba(59,130,246,.3)}.ledger-proj-tag.common-exp{background:#a855f726;color:#c084fc;border:1px solid rgba(168,85,247,.3)}.ledger-recur-tag{font-size:.68rem;font-weight:600;padding:.15rem .45rem;border-radius:var(--radius-sm);background:#f59e0b26;color:#fbbf24;border:1px solid rgba(245,158,11,.3)}.currency-selection-row{display:grid;grid-template-columns:1fr 1fr;gap:.85rem;align-items:start}.currency-select{background:#0f172a99!important;border:1px solid rgba(255,255,255,.15)!important;font-weight:600;color:#f8fafc!important}.currency-conversion-preview{display:flex;align-items:center;gap:.6rem;padding:.65rem .9rem;border-radius:var(--radius-md);background:#3b82f61a;border:1px solid rgba(59,130,246,.25);font-size:.82rem;color:#93c5fd}.currency-conversion-preview strong{font-size:.95rem;color:#60a5fa}.currency-conversion-preview small{font-size:.75rem;color:var(--color-text-subtle);margin-left:auto}.ledger-foreign-currency-badge{font-size:.72rem;font-weight:700;padding:.1rem .45rem;border-radius:var(--radius-sm);background:#10b9811f;color:#34d399;border:1px solid rgba(16,185,129,.3);display:inline-block;align-self:flex-end}.stats-container{display:flex;flex-direction:column;gap:1.5rem}.stats-toolbar{padding:.85rem 1.25rem;border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem;border:1px solid var(--border-glass)}.range-filter-group{display:flex;align-items:center;gap:.35rem;background:#0f172a99;padding:.3rem;border-radius:var(--radius-md);border:1px solid var(--color-border)}.filter-icon{color:var(--color-text-subtle);margin:0 .4rem}.range-btn{padding:.45rem .85rem;font-size:.8rem;font-weight:600;color:var(--color-text-muted);background:transparent;border-radius:var(--radius-sm);border:none;cursor:pointer;transition:var(--transition-base)}.range-btn:hover{color:#f8fafc}.range-btn.active{background:#f59e0b2e;color:#fbbf24;border:1px solid rgba(245,158,11,.3)}.btn-export-csv{padding:.55rem 1rem;background:#3b82f61f;color:#60a5fa;border:1px solid rgba(59,130,246,.3);border-radius:var(--radius-md);font-size:.82rem;font-weight:600;display:flex;align-items:center;gap:.5rem;cursor:pointer;transition:var(--transition-base)}.btn-export-csv:hover{background:#3b82f638;border-color:#3b82f680;color:#fff}.stats-kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.25rem}.kpi-metric-card{padding:1.25rem 1.5rem;border-radius:var(--radius-lg);display:flex;align-items:center;gap:1.25rem;border:1px solid var(--border-glass)}.metric-icon-box{width:48px;height:48px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;flex-shrink:0}.income-box{background:#10b98126;color:#10b981;border:1px solid rgba(16,185,129,.3)}.expense-box{background:#ef444426;color:#ef4444;border:1px solid rgba(239,68,68,.3)}.balance-box{background:#3b82f626;color:#3b82f6;border:1px solid rgba(59,130,246,.3)}.savings-box{background:#f59e0b26;color:#f59e0b;border:1px solid rgba(245,158,11,.3)}.metric-info{display:flex;flex-direction:column;gap:.15rem}.metric-title{font-size:.78rem;color:var(--color-text-muted);font-weight:600;text-transform:uppercase}.metric-number{font-size:1.35rem;font-weight:800;letter-spacing:-.02em;margin:0}.text-accent{color:#fbbf24}.metric-sub{font-size:.72rem;color:var(--color-text-subtle)}.stats-charts-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(450px,1fr));gap:1.5rem}@media(max-width:900px){.stats-charts-grid{grid-template-columns:1fr}}.chart-card{padding:1.5rem;border-radius:var(--radius-lg);border:1px solid var(--border-glass);display:flex;flex-direction:column;gap:1.25rem;min-height:380px}.chart-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;flex-wrap:wrap}.chart-title{font-size:1.05rem;font-weight:700;color:#fff;margin:0}.chart-subtitle{font-size:.8rem;color:var(--text-muted);margin:.2rem 0 0}.chart-mode-pills{display:flex;align-items:center;gap:.35rem;background:#0f172a99;padding:.25rem;border-radius:var(--radius-md);border:1px solid var(--border-glass)}.mode-pill{display:flex;align-items:center;gap:.35rem;padding:.35rem .65rem;border-radius:var(--radius-sm);font-size:.75rem;font-weight:600;color:var(--text-muted);background:transparent;border:none;cursor:pointer;transition:var(--transition-base)}.mode-pill:hover{color:#f8fafc}.mode-pill.active{background:#f59e0b33;color:#fbbf24;border:1px solid rgba(245,158,11,.3)}.chart-content{flex:1;width:100%}.chart-with-legend{display:grid;grid-template-columns:1fr 1fr;gap:1rem;align-items:center}@media(max-width:600px){.chart-with-legend{grid-template-columns:1fr}}.chart-donut-wrap{width:100%}.chart-legend-list{display:flex;flex-direction:column;gap:.6rem}.legend-row{display:flex;align-items:center;justify-content:space-between;font-size:.8rem;gap:.5rem}.legend-left{display:flex;align-items:center;gap:.5rem;overflow:hidden}.legend-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.legend-name{color:var(--text-primary);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.legend-right{display:flex;align-items:center;gap:.45rem;font-family:monospace;flex-shrink:0}.legend-val{font-weight:700;color:#f8fafc}.legend-pct{color:var(--text-muted);font-size:.75rem}.chart-empty{height:240px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--color-text-subtle);font-size:.88rem;gap:.5rem}.full-width-chart{width:100%}.stats-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:5rem 1rem;gap:1rem;color:var(--color-text-subtle)}.loading-spinner{width:32px;height:32px;border:3px solid rgba(245,158,11,.2);border-top-color:var(--color-accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.projects-container{display:flex;flex-direction:column;gap:1.5rem}.projects-top-controls{display:flex;gap:1rem;align-items:center;justify-content:space-between;flex-wrap:wrap}.projects-search-bar{flex:1;min-width:280px;max-width:480px;position:relative}.projects-search-bar .search-icon{position:absolute;left:1rem;top:50%;transform:translateY(-50%);color:var(--color-text-subtle)}.projects-search-bar input{padding-left:2.75rem}.btn-action-main{padding:.75rem 1.25rem;border-radius:var(--radius-md);font-weight:700;font-size:.9rem;display:flex;align-items:center;gap:.5rem}.btn-new{background:linear-gradient(135deg,#f59e0b,#d97706);color:#0f172a;box-shadow:0 4px 12px #f59e0b40}.btn-new:hover{background:linear-gradient(135deg,#fbbf24,#f59e0b);transform:translateY(-1px)}.btn-cancel{background:#ef444426;color:#f87171;border:1px solid rgba(239,68,68,.3)}.project-create-card{padding:1.5rem;border-radius:var(--radius-lg);border:1px solid var(--color-accent-glow);background:#0f172ae6}.project-create-card .card-header h3{display:flex;align-items:center;gap:.5rem;font-size:1.15rem}.header-icon{color:var(--color-accent)}.project-create-card .card-header p{font-size:.82rem;color:var(--color-text-muted);margin-top:.2rem;margin-bottom:1.25rem}.create-project-form{display:flex;flex-direction:column;gap:1rem}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}@media(max-width:768px){.form-grid{grid-template-columns:1fr}}.form-group{display:flex;flex-direction:column;gap:.4rem}.form-group label{font-size:.82rem;font-weight:600;color:var(--color-text-muted)}.form-actions{display:flex;justify-content:flex-end;margin-top:.5rem}.projects-grid-layout{display:grid;grid-template-columns:360px 1fr;gap:1.5rem;align-items:start}@media(max-width:1024px){.projects-grid-layout{grid-template-columns:1fr}}.projects-list-column{display:flex;flex-direction:column;gap:1rem;padding:1.25rem;min-height:500px}.column-header{display:flex;align-items:center;justify-content:space-between;padding-bottom:.5rem;border-bottom:1px solid var(--color-border)}.column-title{display:flex;align-items:center;gap:.5rem;font-size:.85rem;font-weight:700;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em}.projects-items-stack{display:flex;flex-direction:column;gap:.75rem;max-height:600px;overflow-y:auto;padding-right:.25rem}.project-card-item{padding:1rem;border-radius:var(--radius-md);background:#0f172a80;border:1px solid var(--color-border);cursor:pointer;display:flex;flex-direction:column;gap:.6rem;transition:all .2s ease}.project-card-item:hover{background:#1e293b99;border-color:#ffffff26;transform:translateY(-1px)}.project-card-item.selected{background:#1e293bcc;border-color:var(--color-accent);box-shadow:0 4px 14px #f59e0b26}.project-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:.5rem}.project-card-top h4{font-size:.95rem;color:var(--color-text-main);line-height:1.3}.project-prog-badge{font-size:.75rem;font-weight:700;font-family:var(--font-mono);padding:.15rem .45rem;border-radius:var(--radius-sm);border:1px solid currentColor;background:#0003}.project-card-progress-bar{height:4px;background:#ffffff14;border-radius:var(--radius-full);overflow:hidden}.progress-fill{height:100%;border-radius:var(--radius-full);transition:width .3s ease}.project-card-footer{display:flex;align-items:center;justify-content:space-between;font-size:.78rem;color:var(--color-text-subtle)}.project-audience{display:flex;align-items:center;gap:.35rem}.chevron-icon{color:var(--color-text-subtle);transition:transform .2s ease}.project-card-item.selected .chevron-icon{transform:translate(3px);color:var(--color-accent)}.project-detail-column{padding:1.5rem;min-height:500px}.detail-header-card{padding:1.5rem;border-radius:var(--radius-lg);background:#0f172a99;border:1px solid var(--color-border);display:flex;flex-direction:column;gap:1.25rem;margin-bottom:1.5rem}.detail-header-main{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.detail-header-main h2{font-size:1.4rem;margin-top:.4rem}.btn-delete-project{padding:.5rem .85rem;background:#ef44441a;color:#f87171;border:1px solid rgba(239,68,68,.25);border-radius:var(--radius-md);font-size:.82rem;font-weight:600}.btn-delete-project:hover{background:#ef444433;border-color:#ef444466;color:#fff}.detail-meta-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.meta-box{display:flex;flex-direction:column;gap:.25rem}.meta-label{font-size:.78rem;font-weight:600;color:var(--color-text-subtle);display:flex;align-items:center;gap:.35rem;text-transform:uppercase}.meta-value{font-size:.9rem;color:var(--color-text-main)}.detail-progress-section{display:flex;flex-direction:column;gap:.4rem}.prog-header{display:flex;justify-content:space-between;font-size:.82rem;color:var(--color-text-muted);font-weight:600}.prog-percent{color:var(--color-text-main);font-family:var(--font-mono);font-weight:700}.prog-track{height:8px;background:#ffffff14;border-radius:var(--radius-full);overflow:hidden}.prog-bar{height:100%;border-radius:var(--radius-full);transition:width .4s ease}.stages-container{display:flex;flex-direction:column;gap:1rem}.stages-section-header h3{display:flex;align-items:center;gap:.5rem;font-size:1.05rem}.add-stage-form{padding:1rem;border-radius:var(--radius-md);background:#0f172a66;border:1px solid var(--color-border);display:grid;grid-template-columns:1fr auto auto;gap:.75rem;align-items:center}@media(max-width:768px){.add-stage-form{grid-template-columns:1fr}}.stage-dates-group{display:flex;gap:.5rem}.date-input-wrap{display:flex;flex-direction:column;gap:.2rem}.date-input-wrap .date-label{font-size:.7rem;color:var(--color-text-subtle);font-weight:600}.date-input-wrap input{padding:.55rem .75rem;font-size:.82rem}.btn-add-stage{background:var(--color-accent);color:#0f172a;padding:.65rem 1rem;font-weight:700;font-size:.85rem;border-radius:var(--radius-md);align-self:flex-end}.btn-add-stage:hover{background:#fbbf24}.stages-stack{display:flex;flex-direction:column;gap:.6rem}.stage-item-card{padding:.85rem 1.1rem;border-radius:var(--radius-md);background:#0f172a66;border:1px solid var(--color-border);display:flex;align-items:center;justify-content:space-between;transition:all .2s ease}.stage-item-card:hover{background:#1e293b80;border-color:#ffffff1f}.stage-item-card.is-done{border-left:3px solid #10B981}.stage-item-card.is-in-progress{border-left:3px solid #3B82F6}.stage-left-block{display:flex;align-items:center;gap:.85rem}.stage-status-toggle{background:transparent;border:none;padding:0;display:flex;align-items:center;cursor:pointer}.status-icon-done{color:#10b981}.status-icon-progress{color:#3b82f6}.status-icon-pending{color:var(--color-text-subtle)}.stage-info{display:flex;flex-direction:column;gap:.15rem}.stage-title{font-size:.92rem;font-weight:600;color:var(--color-text-main)}.completed-text{text-decoration:line-through;color:var(--color-text-subtle)}.stage-dates-meta{display:flex;align-items:center;gap:.35rem;font-size:.75rem;color:var(--color-text-subtle);font-family:var(--font-mono)}.stage-right-block{display:flex;align-items:center;gap:.75rem}.stage-pill{font-size:.72rem;font-weight:700;padding:.25rem .6rem;border-radius:var(--radius-full);cursor:pointer;text-transform:uppercase;letter-spacing:.04em;-webkit-user-select:none;user-select:none}.stage-pill.completed,.stage-pill.done{background:#10b98126;color:#34d399;border:1px solid rgba(16,185,129,.3)}.stage-pill.in_progress{background:#3b82f626;color:#60a5fa;border:1px solid rgba(59,130,246,.3)}.stage-pill.pending{background:#94a3b81a;color:#94a3b8;border:1px solid rgba(148,163,184,.2)}.btn-trash-stage{background:transparent;border:none;color:var(--color-text-subtle);padding:.3rem;border-radius:var(--radius-sm);display:flex;align-items:center}.btn-trash-stage:hover{background:#ef444426;color:#ef4444}.empty-stages,.empty-selection-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 1rem;gap:.75rem;text-align:center;color:var(--color-text-subtle)}.project-stats-container{display:flex;flex-direction:column;gap:1.5rem}.pstats-kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.25rem}.pstats-card{padding:1.25rem 1.5rem;border-radius:var(--radius-lg);display:flex;align-items:center;gap:1.25rem}.pstats-icon-box{width:48px;height:48px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;flex-shrink:0}.blue-box{background:#3b82f626;color:#3b82f6;border:1px solid rgba(59,130,246,.3)}.green-box{background:#10b98126;color:#10b981;border:1px solid rgba(16,185,129,.3)}.amber-box{background:#f59e0b26;color:#f59e0b;border:1px solid rgba(245,158,11,.3)}.purple-box{background:#8b5cf626;color:#8b5cf6;border:1px solid rgba(139,92,246,.3)}.pstats-info{display:flex;flex-direction:column;gap:.15rem}.pstats-label{font-size:.78rem;color:var(--color-text-muted);font-weight:600;text-transform:uppercase}.pstats-number{font-size:1.35rem;font-weight:800;letter-spacing:-.02em}.pstats-sub{font-size:.72rem;color:var(--color-text-subtle)}.pstats-charts-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(450px,1fr));gap:1.5rem}@media(max-width:900px){.pstats-charts-grid{grid-template-columns:1fr}}.chart-card,.gantt-card{padding:1.5rem;border-radius:var(--radius-lg);display:flex;flex-direction:column;gap:1.25rem;min-height:400px}.panel-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.panel-title-group{display:flex;align-items:center;gap:.5rem}.panel-title-group h3{font-size:1.05rem;font-weight:700}.panel-icon{color:var(--color-accent)}.panel-tag{font-size:.72rem;font-weight:600;color:var(--color-text-subtle);padding:.2rem .5rem;border-radius:var(--radius-sm);background:#ffffff0d}.project-select-filter select{padding:.45rem .85rem;font-size:.82rem;min-width:180px}.chart-wrapper{flex:1;width:100%}.no-data-panel{height:100%;min-height:250px;display:flex;align-items:center;justify-content:center;color:var(--color-text-subtle);font-size:.88rem}.gantt-content{flex:1;display:flex;flex-direction:column;overflow-y:auto;max-height:320px}.gantt-timeline-stack{display:flex;flex-direction:column;gap:.75rem;padding-right:.25rem}.gantt-row{padding:.85rem 1rem;border-radius:var(--radius-md);background:#0f172a66;border:1px solid var(--color-border);display:flex;flex-direction:column;gap:.6rem}.gantt-row-meta{display:flex;align-items:center;justify-content:space-between}.gantt-stage-name-wrap{display:flex;align-items:center;gap:.5rem}.gantt-stage-name{font-size:.88rem;font-weight:600;color:var(--color-text-main)}.badge-pill{font-size:.7rem;font-weight:700;padding:.2rem .55rem;border-radius:var(--radius-full);text-transform:uppercase;letter-spacing:.04em}.badge-pill.completed,.badge-pill.done{background:#10b98126;color:#34d399;border:1px solid rgba(16,185,129,.3)}.badge-pill.in_progress{background:#3b82f626;color:#60a5fa;border:1px solid rgba(59,130,246,.3)}.badge-pill.pending{background:#94a3b81a;color:#94a3b8;border:1px solid rgba(148,163,184,.2)}.gantt-bar-wrap{display:flex;flex-direction:column;gap:.25rem}.gantt-date-labels{display:flex;justify-content:space-between;font-size:.72rem;color:var(--color-text-subtle);font-family:var(--font-mono)}.gantt-bar-fill{height:6px;border-radius:var(--radius-full)}.gantt-bar-fill.completed,.gantt-bar-fill.done{background:linear-gradient(90deg,#10b981,#059669);width:100%}.gantt-bar-fill.in_progress{background:linear-gradient(90deg,#3b82f6,#2563eb);width:60%}.gantt-bar-fill.pending{background:#94a3b833;width:20%}.executive-table-card{padding:1.5rem;border-radius:var(--radius-lg);display:flex;flex-direction:column;gap:1.25rem}.table-header-bar{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.table-subtitle{font-size:.82rem;color:var(--color-text-muted);margin-top:.2rem}.table-search{position:relative;min-width:240px}.table-search .search-icon{position:absolute;left:.85rem;top:50%;transform:translateY(-50%);color:var(--color-text-subtle)}.table-search input{padding-left:2.35rem;padding-top:.5rem;padding-bottom:.5rem;font-size:.82rem}.table-responsive{width:100%;overflow-x:auto}.styled-table{width:100%;border-collapse:collapse;font-size:.88rem;text-align:left}.styled-table th{padding:.85rem 1rem;color:var(--color-text-subtle);font-weight:700;text-transform:uppercase;font-size:.72rem;letter-spacing:.05em;border-bottom:1px solid var(--color-border)}.styled-table td{padding:1rem;border-bottom:1px solid rgba(255,255,255,.04);color:var(--color-text-main)}.styled-table tr:hover td{background:#ffffff05}.project-cell-name{color:#fff}.stages-count-pill{padding:.2rem .5rem;background:#ffffff0d;border-radius:var(--radius-sm);font-size:.78rem;color:var(--color-text-muted)}.progress-cell-wrap{display:flex;align-items:center;gap:.75rem;min-width:130px}.progress-track-mini{flex:1;height:6px;background:#ffffff14;border-radius:var(--radius-full);overflow:hidden}.progress-bar-mini{height:100%;border-radius:var(--radius-full)}.progress-text-val{font-family:var(--font-mono);font-weight:700;font-size:.78rem}.status-pill{font-size:.72rem;font-weight:700;padding:.25rem .6rem;border-radius:var(--radius-full);text-transform:uppercase}.status-pill.completed{background:#10b98126;color:#34d399}.status-pill.active{background:#3b82f626;color:#60a5fa}.status-pill.pending{background:#94a3b81a;color:#94a3b8}.empty-table-cell{text-align:center;padding:2rem!important;color:var(--color-text-subtle)}.pstats-header-nav{display:flex;align-items:center;justify-content:space-between;padding:.5rem;border-radius:var(--radius-lg);border:1px solid var(--border-glass);background:#0f172a99;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);width:fit-content}.pstats-tabs-left{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.pstats-tab-btn{display:flex;align-items:center;gap:.5rem;padding:.55rem 1.1rem;background:transparent;border:none;border-radius:var(--radius-md);color:var(--color-text-muted);font-size:.85rem;font-weight:600;cursor:pointer;transition:var(--transition-base)}.pstats-tab-btn:hover{color:var(--color-text-primary);background:#ffffff0a}.pstats-tab-btn.active{background:linear-gradient(135deg,#f59e0b33,#d977061a);color:#fbbf24;border:1px solid rgba(245,158,11,.3);box-shadow:0 0 15px #f59e0b26}.allocation-rules-card{padding:1.25rem 1.5rem;border-radius:var(--radius-lg)}.allocation-header{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;flex-wrap:wrap}.allocation-title-wrap{display:flex;align-items:center;gap:.85rem}.alloc-icon{color:#f59e0b}.alloc-title{font-size:1rem;font-weight:700;margin:0}.alloc-subtitle{font-size:.78rem;color:var(--color-text-muted);margin:.2rem 0 0}.allocation-pills{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.alloc-rule-btn{padding:.5rem .95rem;border-radius:var(--radius-md);background:#ffffff0a;border:1px solid rgba(255,255,255,.08);color:var(--color-text-muted);font-size:.8rem;font-weight:600;cursor:pointer;transition:var(--transition-base)}.alloc-rule-btn:hover{background:#ffffff14;color:var(--color-text-primary)}.alloc-rule-btn.active{background:#f59e0b33;border-color:#f59e0b66;color:#fbbf24;box-shadow:0 0 12px #f59e0b26}.status-pill.danger-pill{background:#ef444426;color:#ef4444}.font-mono{font-family:var(--font-mono)}.font-bold{font-weight:700}.settings-container{display:flex;flex-direction:column;gap:1.5rem;width:100%}.settings-header-tabs{display:flex;align-items:center;gap:.5rem;padding:.5rem;border-radius:var(--radius-lg);border:1px solid var(--border-glass);background:#0f172a99;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);width:fit-content;flex-wrap:wrap}.settings-tab-btn{display:flex;align-items:center;gap:.5rem;padding:.55rem 1.1rem;background:transparent;border:none;border-radius:var(--radius-md);color:var(--text-muted);font-size:.85rem;font-weight:600;cursor:pointer;transition:var(--transition-base)}.settings-tab-btn:hover{color:var(--text-primary);background:#ffffff0a}.settings-tab-btn.active{background:linear-gradient(135deg,#f59e0b33,#d977061a);color:#fbbf24;border:1px solid rgba(245,158,11,.3);box-shadow:0 0 15px #f59e0b26}.settings-section{display:flex;flex-direction:column;gap:1.25rem}.section-toolbar{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;border-radius:var(--radius-lg);border:1px solid var(--border-glass);flex-wrap:wrap;gap:1rem}.section-inner-title{font-size:1.05rem;font-weight:700;color:#fff;margin:0}.section-inner-sub{font-size:.8rem;color:var(--text-muted);margin:.2rem 0 0}.month-filter-group{display:flex;align-items:center;gap:.75rem}.filter-label{display:flex;align-items:center;gap:.375rem;font-size:.85rem;font-weight:600;color:var(--text-muted)}.month-input{background:#0f172ab3;border:1px solid var(--border-glass);color:#f8fafc;padding:.45rem .85rem;border-radius:var(--radius-md);font-size:.88rem;font-family:inherit;outline:none;transition:var(--transition-base)}.month-input:focus{border-color:var(--gold-primary);box-shadow:0 0 10px #f59e0b33}.toolbar-actions{display:flex;align-items:center;gap:.75rem}.action-btn{display:flex;align-items:center;gap:.5rem;padding:.6rem 1.15rem;border-radius:var(--radius-md);font-size:.85rem;font-weight:600;cursor:pointer;transition:var(--transition-base);border:none}.action-btn.add-btn{background:linear-gradient(135deg,#f59e0b,#d97706);color:#070b14;box-shadow:0 4px 14px #f59e0b40}.action-btn.add-btn:hover{transform:translateY(-1px);box-shadow:0 6px 18px #f59e0b59}.action-btn.transfer-btn{background:#1e293bb3;color:#38bdf8;border:1px solid rgba(56,189,248,.3)}.action-btn.transfer-btn:hover:not(:disabled){background:#38bdf826}.action-btn.transfer-btn:disabled{opacity:.5;cursor:not-allowed}.action-btn.edit-user-btn{background:#38bdf81f;color:#38bdf8;border:1px solid rgba(56,189,248,.3);padding:.4rem .85rem;font-size:.8rem}.action-btn.edit-user-btn:hover{background:#38bdf838}.search-wrap{display:flex;align-items:center;position:relative;width:320px;max-width:100%}.search-icon{position:absolute;left:.85rem;color:var(--text-muted)}.styled-search-input{width:100%;padding:.55rem .85rem .55rem 2.4rem;background:#0f172ab3;border:1px solid var(--border-glass);border-radius:var(--radius-md);color:#f8fafc;font-size:.85rem;outline:none;transition:var(--transition-base)}.styled-search-input:focus{border-color:var(--gold-primary)}.boxes-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.25rem}.box-card{border-radius:var(--radius-xl);padding:1.35rem;border:1px solid var(--border-glass);display:flex;flex-direction:column;gap:1rem;position:relative;overflow:hidden;transition:var(--transition-base)}.box-card:hover{border-color:#f59e0b4d;transform:translateY(-2px);box-shadow:0 10px 25px -5px #0006}.box-card-top{display:flex;align-items:center;justify-content:space-between}.box-info{display:flex;align-items:center;gap:.85rem}.box-icon-container{width:44px;height:44px;border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;background:#0f172acc;border:1px solid var(--border-glass)}.box-icon-svg.cash{color:#10b981}.box-icon-svg.bank{color:#38bdf8}.box-icon-svg.digital{color:#818cf8}.box-icon-svg.posnet{color:#f59e0b}.box-name{font-size:1.05rem;font-weight:700;color:#fff;margin:0}.box-type-badge{font-size:.72rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}.box-card-actions{display:flex;align-items:center;gap:.35rem}.icon-action-btn{width:30px;height:30px;display:flex;align-items:center;justify-content:center;background:transparent;border:1px solid transparent;border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;transition:var(--transition-base)}.icon-action-btn:hover.edit{color:#38bdf8;background:#38bdf81a;border-color:#38bdf833}.icon-action-btn:hover.delete{color:#ef4444;background:#ef44441a;border-color:#ef444433}.box-divider{height:1px;background:var(--border-glass);width:100%}.box-metrics-grid{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;background:#0a0f1d80;padding:.85rem;border-radius:var(--radius-md);border:1px solid rgba(255,255,255,.04)}.box-metric-item{display:flex;flex-direction:column;gap:.15rem}.metric-title{font-size:.72rem;color:var(--text-muted);font-weight:500;text-transform:uppercase}.metric-val{font-size:.88rem;font-weight:700;font-family:monospace}.metric-val.neutral{color:#cbd5e1}.metric-val.positive{color:#10b981}.metric-val.negative{color:#ef4444}.box-total-accumulated{display:flex;align-items:center;justify-content:space-between;padding-top:.25rem}.accum-label{display:flex;align-items:center;gap:.35rem;font-size:.82rem;font-weight:600;color:var(--text-secondary)}.accum-value{font-size:1.15rem;font-weight:800;font-family:monospace;letter-spacing:-.02em}.accum-value.gold{color:#fbbf24;text-shadow:0 0 12px rgba(245,158,11,.3)}.accum-value.negative{color:#ef4444}.table-responsive{border-radius:var(--radius-lg);border:1px solid var(--border-glass);overflow-x:auto}.custom-table{width:100%;border-collapse:collapse;font-size:.88rem;text-align:left}.custom-table th{padding:.85rem 1.25rem;background:#0f172acc;color:var(--text-muted);font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--border-glass)}.custom-table td{padding:1rem 1.25rem;border-bottom:1px solid rgba(255,255,255,.04);color:#e2e8f0}.custom-table tr:hover td{background:#ffffff05}.empty-table-cell{text-align:center;padding:2.5rem!important;color:var(--text-muted)}.badge-dept{background:#38bdf81f;color:#38bdf8;border:1px solid rgba(56,189,248,.25);padding:.2rem .6rem;border-radius:9999px;font-size:.75rem;font-weight:600}.badge-category{background:#f59e0b1f;color:#fbbf24;border:1px solid rgba(245,158,11,.25);padding:.2rem .6rem;border-radius:9999px;font-size:.75rem;font-weight:600}.badge-active{background:#10b9811f;color:#10b981;border:1px solid rgba(16,185,129,.25);padding:.2rem .6rem;border-radius:9999px;font-size:.75rem;font-weight:600}.badge-pending{background:#ef44441f;color:#ef4444;border:1px solid rgba(239,68,68,.25);padding:.2rem .6rem;border-radius:9999px;font-size:.75rem;font-weight:600}.user-badge{display:inline-flex;align-items:center;gap:.35rem;padding:.2rem .6rem;border-radius:9999px;font-size:.72rem;font-weight:700}.user-badge.superadmin{background:linear-gradient(135deg,#f59e0b33,#d977061a);color:#fbbf24;border:1px solid rgba(245,158,11,.35);box-shadow:0 0 10px #f59e0b26}.user-badge.admin{background:#38bdf81f;color:#38bdf8;border:1px solid rgba(56,189,248,.3)}.user-badge.operator{background:#94a3b81f;color:#94a3b8;border:1px solid rgba(148,163,184,.2)}.user-badge.unassigned{background:#ef44441f;color:#ef4444;border:1px solid rgba(239,68,68,.3)}.table-row-actions{display:flex;align-items:center;justify-content:flex-end;gap:.4rem}.row-btn{width:32px;height:32px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;border:1px solid transparent;background:#0f172a80;color:var(--text-muted);cursor:pointer;transition:var(--transition-base)}.row-btn.edit:hover{color:#38bdf8;background:#38bdf826;border-color:#38bdf84d}.row-btn.delete:hover{color:#ef4444;background:#ef444426;border-color:#ef44444d}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#070b14bf;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:999;padding:1rem}.modal-card{background:#0b1120;border:1px solid var(--border-glass);border-radius:var(--radius-xl);width:500px;max-width:100%;padding:1.5rem;box-shadow:0 25px 50px -12px #000000b3}.modal-card.wide{width:600px}.modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.25rem}.modal-header h3{margin:0;font-size:1.15rem;font-weight:700;color:#fff}.modal-subtitle{font-size:.8rem;color:var(--gold-primary);margin:.2rem 0 0}.modal-close{background:transparent;border:none;color:var(--text-muted);cursor:pointer;padding:.25rem;border-radius:var(--radius-sm);transition:var(--transition-base)}.modal-close:hover{color:#fff;background:#ffffff0d}.modal-form{display:flex;flex-direction:column;gap:1.15rem}.modal-form .form-group{display:flex;flex-direction:column;gap:.4rem}.modal-form label{font-size:.8rem;font-weight:600;color:var(--text-secondary)}.modal-form input,.modal-form select{background:#0f172acc;border:1px solid var(--border-glass);border-radius:var(--radius-md);padding:.65rem .85rem;color:#f8fafc;font-size:.88rem;font-family:inherit;outline:none;transition:var(--transition-base)}.modal-form input:focus,.modal-form select:focus{border-color:var(--gold-primary);box-shadow:0 0 10px #f59e0b33}.form-row-2{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.modules-checkbox-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:.5rem;margin-top:.35rem}.module-check-label{display:flex;align-items:center;gap:.5rem;background:#0f172a99;border:1px solid var(--border-glass);padding:.5rem .75rem;border-radius:var(--radius-md);font-size:.8rem;cursor:pointer;color:var(--text-muted);transition:var(--transition-base)}.module-check-label:hover{color:var(--text-primary);background:#ffffff0a}.module-check-label.active{background:#f59e0b1f;border-color:#f59e0b59;color:#fbbf24}.module-check-label input[type=checkbox]{accent-color:#F59E0B;cursor:pointer}.modal-actions{display:flex;align-items:center;justify-content:flex-end;gap:.75rem;margin-top:.75rem}.btn-cancel{background:transparent;border:1px solid var(--border-glass);color:var(--text-muted);padding:.6rem 1.15rem;border-radius:var(--radius-md);font-size:.85rem;font-weight:600;cursor:pointer;transition:var(--transition-base)}.btn-cancel:hover{background:#ffffff0a;color:#f8fafc}.btn-save{background:linear-gradient(135deg,#f59e0b,#d97706);color:#070b14;border:none;padding:.6rem 1.25rem;border-radius:var(--radius-md);font-size:.85rem;font-weight:700;cursor:pointer;display:flex;align-items:center;gap:.4rem;box-shadow:0 4px 12px #f59e0b40;transition:var(--transition-base)}.btn-save:hover{transform:translateY(-1px);box-shadow:0 6px 16px #f59e0b59}.btn-save.gold{background:linear-gradient(135deg,#f59e0b,#d97706);color:#070b14}.text-right{text-align:right}.font-semibold{font-weight:600}.text-white{color:#fff}.font-mono{font-family:monospace}.text-muted{color:var(--text-muted)}.text-sm{font-size:.8rem}.dashboard-layout{display:flex;min-height:100vh;background-color:var(--color-bg-base)}.main-content{flex:1;margin-left:270px;display:flex;flex-direction:column;min-height:100vh;box-sizing:border-box;width:calc(100% - 270px)}.dashboard-topbar{position:sticky;top:0;z-index:100;padding:1.25rem 2rem;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--color-border);border-top:none;border-left:none;border-right:none;background:#070b14d9;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.topbar-left{display:flex;align-items:center}.tab-title-group{display:flex;align-items:center;gap:1rem}.tab-icon-wrapper{width:44px;height:44px;background:linear-gradient(135deg,#f59e0b26,#f59e0b0d);border:1px solid rgba(245,158,11,.3);border-radius:var(--radius-md);color:var(--color-accent);display:flex;align-items:center;justify-content:center;flex-shrink:0}.tab-title-group h1{font-size:1.35rem;font-weight:800;letter-spacing:-.02em;color:var(--color-text-main)}.tab-subtitle{font-size:.82rem;color:var(--color-text-muted);margin-top:.15rem}.topbar-right{display:flex;align-items:center;gap:.85rem;flex-wrap:wrap}.company-selector-badge{display:flex;align-items:center;gap:.5rem;padding:.35rem .65rem;border-radius:var(--radius-md);background:#0f172ab3;border:1px solid rgba(245,158,11,.3);box-shadow:0 0 12px #f59e0b1a}.company-icon{color:#fbbf24}.company-select-input{background:transparent;border:none;color:#f8fafc;font-size:.85rem;font-weight:700;font-family:inherit;outline:none;cursor:pointer}.company-select-input option{background:#0b1120;color:#f8fafc}.date-badge{display:flex;align-items:center;gap:.5rem;padding:.5rem .9rem;border-radius:var(--radius-full);font-size:.82rem;font-weight:500;color:var(--color-text-muted);background:#0f172a99;border:1px solid var(--color-border)}.date-badge span{color:var(--color-text-main)}.content-container{padding:2rem;flex:1;max-width:1400px;width:100%;margin:0 auto;box-sizing:border-box}@media(max-width:900px){.main-content{margin-left:0;width:100%}.dashboard-topbar{padding:1rem 1rem 1rem 4rem;flex-direction:column;align-items:flex-start;gap:.75rem}.content-container{padding:1.25rem 1rem}}.pending-wrapper{min-height:100vh;display:flex;align-items:center;justify-content:center;position:relative;padding:1.5rem;overflow:hidden}.pending-backdrop-glow{position:absolute;width:450px;height:450px;background:radial-gradient(circle,rgba(245,158,11,.12) 0%,rgba(239,68,68,.05) 50%,transparent 70%);border-radius:50%;filter:blur(50px);pointer-events:none}.pending-card{width:520px;max-width:100%;padding:2.5rem;border-radius:var(--radius-2xl);border:1px solid var(--border-glass);background:#0b1120d9;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);display:flex;flex-direction:column;align-items:center;text-align:center;box-shadow:0 25px 50px -12px #0009;position:relative;z-index:2}.pending-icon-wrap{width:72px;height:72px;border-radius:50%;background:#f59e0b1a;border:1px solid rgba(245,158,11,.3);display:flex;align-items:center;justify-content:center;margin-bottom:1.25rem;box-shadow:0 0 25px #f59e0b33}.pending-icon{color:#fbbf24}.pending-brand{display:flex;align-items:center;gap:.6rem;margin-bottom:.75rem}.pending-logo{width:28px;height:28px;object-fit:contain}.pending-brand h2{font-size:1.15rem;font-weight:800;color:#fff;letter-spacing:.05em;margin:0}.pending-status-badge{display:flex;align-items:center;gap:.5rem;background:#f59e0b1a;border:1px solid rgba(245,158,11,.3);color:#fbbf24;padding:.25rem .85rem;border-radius:9999px;font-size:.78rem;font-weight:700;margin-bottom:1.25rem;text-transform:uppercase;letter-spacing:.04em}.pending-status-badge .dot{width:7px;height:7px;background:#fbbf24;border-radius:50%;box-shadow:0 0 8px #fbbf24;animation:pulse 1.8s infinite}.pending-title{font-size:1.35rem;font-weight:800;color:#fff;margin:0 0 .75rem}.pending-desc{font-size:.92rem;color:var(--text-muted);line-height:1.6;margin:0 0 1.5rem}.user-highlight{color:#f8fafc}.pending-info-box{background:#0f172a99;border:1px solid rgba(255,255,255,.05);border-radius:var(--radius-md);padding:.85rem 1rem;margin-bottom:1.75rem;width:100%}.info-row{display:flex;align-items:center;gap:.6rem;color:#94a3b8;font-size:.82rem;text-align:left}.pending-actions{display:flex;align-items:center;gap:.85rem;width:100%}.btn-refresh{flex:1;display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem;border-radius:var(--radius-md);border:1px solid rgba(245,158,11,.3);background:#f59e0b1a;color:#fbbf24;font-size:.88rem;font-weight:700;cursor:pointer;transition:var(--transition-base)}.btn-refresh:hover{background:#f59e0b33;box-shadow:0 0 15px #f59e0b33}.btn-logout{flex:1;display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem;border-radius:var(--radius-md);border:1px solid var(--border-glass);background:#1e293b80;color:#ef4444;font-size:.88rem;font-weight:600;cursor:pointer;transition:var(--transition-base)}.btn-logout:hover{background:#ef444426;border-color:#ef44444d}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.85)}}:root{--color-bg-base: #070B14;--color-bg-card: rgba(15, 23, 42, .75);--color-bg-card-hover: rgba(30, 41, 59, .85);--color-bg-input: rgba(15, 23, 42, .6);--color-border: rgba(255, 255, 255, .08);--color-border-hover: rgba(245, 158, 11, .4);--color-border-active: #F59E0B;--color-accent: #F59E0B;--color-accent-hover: #D97706;--color-accent-light: rgba(245, 158, 11, .15);--color-accent-glow: rgba(245, 158, 11, .25);--color-text-main: #F8FAFC;--color-text-muted: #94A3B8;--color-text-subtle: #64748B;--color-success: #10B981;--color-success-bg: rgba(16, 185, 129, .15);--color-danger: #EF4444;--color-danger-bg: rgba(239, 68, 68, .15);--color-info: #3B82F6;--color-info-bg: rgba(59, 130, 246, .15);--font-sans: "Plus Jakarta Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono: "JetBrains Mono", monospace;--radius-sm: .5rem;--radius-md: .75rem;--radius-lg: 1rem;--radius-xl: 1.5rem;--radius-full: 9999px;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .3);--shadow-md: 0 4px 12px -2px rgba(0, 0, 0, .4), 0 2px 6px -1px rgba(0, 0, 0, .3);--shadow-lg: 0 10px 25px -5px rgba(0, 0, 0, .5), 0 8px 10px -6px rgba(0, 0, 0, .4);--shadow-glow: 0 0 25px rgba(245, 158, 11, .2)}*{box-sizing:border-box}html,body{margin:0;padding:0;background-color:var(--color-bg-base);color:var(--color-text-main);font-family:var(--font-sans);min-height:100vh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-image:radial-gradient(at 0% 0%,rgba(245,158,11,.05) 0px,transparent 50%),radial-gradient(at 100% 100%,rgba(59,130,246,.04) 0px,transparent 50%);background-attachment:fixed}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:#0f172a66}::-webkit-scrollbar-thumb{background:#94a3b833;border-radius:9999px}::-webkit-scrollbar-thumb:hover{background:#f59e0b66}h1,h2,h3,h4,h5,h6{margin:0;font-weight:700;letter-spacing:-.02em;color:var(--color-text-main)}p{margin:0;line-height:1.6}.glass{background:var(--color-bg-card);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--color-border);box-shadow:var(--shadow-md);transition:border-color .2s ease,box-shadow .2s ease}.glass:hover{border-color:#ffffff24}.card{background:var(--color-bg-card);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:1.5rem;box-shadow:var(--shadow-md);position:relative;overflow:hidden}input,select,textarea{background:var(--color-bg-input);color:var(--color-text-main);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:.75rem 1rem;font-family:var(--font-sans);font-size:.95rem;width:100%;transition:all .2s ease}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--color-border-active);background:#0f172ae6;box-shadow:0 0 0 3px var(--color-accent-glow)}input::placeholder,textarea::placeholder{color:var(--color-text-subtle)}button{font-family:var(--font-sans);cursor:pointer;border-radius:var(--radius-md);font-weight:600;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;transition:all .2s ease;border:none}button:active{transform:scale(.98)}.btn-primary{background:linear-gradient(135deg,#f59e0b,#d97706);color:#0f172a;font-weight:700;padding:.75rem 1.25rem;box-shadow:0 4px 12px #f59e0b40}.btn-primary:hover{background:linear-gradient(135deg,#fbbf24,#f59e0b);box-shadow:0 6px 18px #f59e0b66;transform:translateY(-1px)}.btn-secondary{background:#1e293bb3;color:var(--color-text-main);border:1px solid var(--color-border);padding:.75rem 1.25rem}.btn-secondary:hover{background:#334155cc;border-color:#fff3}.badge{display:inline-flex;align-items:center;gap:.35rem;padding:.25rem .65rem;border-radius:var(--radius-full);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.badge-admin{background:var(--color-accent-light);color:#fbbf24;border:1px solid rgba(245,158,11,.3)}.badge-income{background:var(--color-success-bg);color:#34d399;border:1px solid rgba(16,185,129,.3)}.badge-expense{background:var(--color-danger-bg);color:#f87171;border:1px solid rgba(239,68,68,.3)}.fade-in{animation:fadeIn .3s cubic-bezier(.16,1,.3,1)}@keyframes fadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
