*{margin:0;padding:0;box-sizing:border-box}:root{--primary: #111827;--primary-hover: #000000;--primary-light: #f3f4f6;--primary-subtle: rgba(17, 24, 39, .06);--accent: #f59e0b;--accent-hover: #d97706;--success: #059669;--success-light: #d1fae5;--danger: #dc2626;--danger-light: #fee2e2;--warning: #f59e0b;--warning-light: #fef3c7;--bg: #fafafa;--surface: #ffffff;--surface-hover: #fafafa;--border: #e5e7eb;--border-strong: #d1d5db;--text-primary: #111827;--text-secondary: #6b7280;--text-tertiary: #9ca3af;--text-inverse: #ffffff;--shadow-xs: 0 1px 2px rgba(0,0,0,.04);--shadow-sm: 2px 2px 0 rgba(0,0,0,.04);--shadow-md: 4px 4px 0 rgba(0,0,0,.06);--shadow-lg: 6px 6px 0 rgba(0,0,0,.08);--radius-sm: 4px;--radius-md: 6px;--radius-lg: 8px;--radius-xl: 12px;--grain: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='0.03'/%3E%3C/svg%3E")}[data-theme=dark]{--primary: #f59e0b;--primary-hover: #fbbf24;--primary-light: rgba(245, 158, 11, .1);--primary-subtle: rgba(245, 158, 11, .06);--accent: #f59e0b;--accent-hover: #fbbf24;--success: #34d399;--success-light: rgba(52, 211, 153, .1);--danger: #f87171;--danger-light: rgba(248, 113, 113, .1);--warning: #fbbf24;--warning-light: rgba(251, 191, 36, .1);--bg: #0a0a0a;--surface: #141414;--surface-hover: #1a1a1a;--border: #262626;--border-strong: #404040;--text-primary: #fafafa;--text-secondary: #a3a3a3;--text-tertiary: #737373;--text-inverse: #0a0a0a;--shadow-xs: 0 1px 2px rgba(0,0,0,.3);--shadow-sm: 2px 2px 0 rgba(0,0,0,.3);--shadow-md: 4px 4px 0 rgba(0,0,0,.4);--shadow-lg: 6px 6px 0 rgba(0,0,0,.5)}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background-color .3s ease}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:var(--bg);background-image:var(--grain);color:var(--text-primary);line-height:1.5;transition:background-color .3s ease}*:not(.theme-toggle):not(.theme-toggle *){transition:none}*:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInScale{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes popIn{0%{opacity:0;transform:scale(.85)}60%{transform:scale(1.03)}80%{transform:scale(.98)}to{opacity:1;transform:scale(1)}}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes slideRight{0%{transform:translate(-100%)}to{transform:translate(0)}}@keyframes bounceIn{0%{transform:scale(.3);opacity:0}50%{transform:scale(1.05)}70%{transform:scale(.9)}to{transform:scale(1);opacity:1}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-5px)}75%{transform:translate(5px)}}.app{display:flex;min-height:100vh}.sidebar{width:240px;min-width:240px;background:#111827;color:var(--text-inverse);position:fixed;height:100vh;display:flex;flex-direction:column;z-index:100;border-right:3px solid #f59e0b;transition:transform .3s cubic-bezier(.4,0,.2,1)}.sidebar-header{padding:28px 24px 24px}.sidebar-header h1{font-size:.875rem;font-weight:800;color:var(--text-inverse);letter-spacing:-.02em;text-transform:uppercase}.sidebar-header p{font-size:.625rem;color:#f59e0b;margin-top:4px;text-transform:uppercase;letter-spacing:2px;font-weight:700}.sidebar-close{display:none;position:absolute;top:20px;right:20px;background:none;border:none;color:#fff6;cursor:pointer;padding:6px;border-radius:4px}.sidebar-close:hover{background:#ffffff1a;color:#fff}.nav-menu{list-style:none;padding:16px 12px;flex:1}.nav-item{display:flex;align-items:center;gap:12px;padding:12px 14px;color:#ffffff80;cursor:pointer;border-radius:var(--radius-sm);font-size:.6875rem;font-weight:600;margin-bottom:2px;text-transform:uppercase;letter-spacing:.5px;position:relative;transition:background-color .2s cubic-bezier(.4,0,.2,1),color .2s cubic-bezier(.4,0,.2,1),transform .2s cubic-bezier(.4,0,.2,1);transform:translate(0)}.nav-item:hover{background:#ffffff14;color:#ffffffe6;transform:translate(4px)}.nav-item.active{background:#f59e0b;color:#111827;transform:translate(4px)}.nav-item.active:before{content:"";position:absolute;left:0;width:3px;height:100%;background:#111827;animation:bounceIn .3s ease}.nav-icon{width:16px;height:16px;flex-shrink:0}.sidebar-overlay{display:none}.main-content{flex:1;margin-left:240px;padding:0;min-width:0;background:var(--bg);background-image:var(--grain)}.header{padding:32px 48px 0;display:flex;justify-content:space-between;align-items:flex-start;gap:24px;flex-wrap:wrap}.header-left{display:flex;flex-direction:column;gap:2px}.greeting{font-size:1.25rem;font-weight:800;color:var(--text-primary);letter-spacing:-.03em;text-transform:uppercase}.greeting-sub{font-size:.75rem;color:var(--text-tertiary);font-weight:500}.header-actions{display:flex;gap:8px;align-items:center}.menu-toggle{display:none;background:var(--surface);border:2px solid var(--border);padding:10px;cursor:pointer;color:var(--text-primary);border-radius:var(--radius-sm);align-items:center;justify-content:center}.menu-toggle:hover{background:var(--surface-hover)}.btn-text-mobile{display:none}.btn{display:inline-flex;align-items:center;gap:7px;padding:10px 16px;border:none;border-radius:var(--radius-sm);font-size:.75rem;font-weight:700;cursor:pointer;transition:background-color .2s cubic-bezier(.4,0,.2,1),box-shadow .2s cubic-bezier(.4,0,.2,1),transform .2s cubic-bezier(.4,0,.2,1);white-space:nowrap;font-family:inherit;text-transform:uppercase;letter-spacing:.5px;position:relative;overflow:hidden}.btn:after{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,.2) 0%,transparent 50%);opacity:0;transition:opacity .2s ease}.btn:hover:after{opacity:1}.btn:active{transform:translate(2px,2px) scale(.98);box-shadow:none!important}.btn-primary{background:var(--accent);color:#111827;box-shadow:var(--shadow-sm)}.btn-primary:hover{background:var(--accent-hover);box-shadow:var(--shadow-md)}.btn-secondary{background:var(--surface);color:var(--text-primary);border:2px solid var(--border);box-shadow:var(--shadow-sm)}.btn-secondary:hover{background:var(--surface-hover);border-color:var(--border-strong);box-shadow:var(--shadow-md)}.btn-danger{background:var(--danger);color:#fff;box-shadow:var(--shadow-sm)}.btn-danger:hover{box-shadow:var(--shadow-md)}.btn-ghost{background:transparent;color:var(--text-secondary);border:2px solid var(--border)}.btn-ghost:hover{background:var(--surface-hover);color:var(--text-primary)}.hero-section{padding:28px 48px 0;margin-bottom:28px}.balance-card{background:#111827;border-radius:var(--radius-lg);padding:32px 36px;color:#fff;position:relative;overflow:hidden;border:3px solid #111827;box-shadow:8px 8px #f59e0b;animation:fadeInUp .5s ease;transition:transform .3s cubic-bezier(.4,0,.2,1),box-shadow .3s cubic-bezier(.4,0,.2,1)}.balance-card:hover{transform:translateY(-4px);box-shadow:8px 12px #f59e0b}.balance-card:before{content:"";position:absolute;top:0;right:0;width:200px;height:200px;background:#f59e0b;clip-path:polygon(100% 0,0 0,100% 100%);opacity:.15}.balance-card:after{content:"";position:absolute;bottom:-50px;left:-50px;width:150px;height:150px;border:3px solid rgba(245,158,11,.2);border-radius:50%}.balance-label{font-size:.625rem;font-weight:700;color:#f59e0b;text-transform:uppercase;letter-spacing:2px;margin-bottom:8px}.balance-value{font-size:2.5rem;font-weight:900;letter-spacing:-.04em;line-height:1.1;margin-bottom:4px}.balance-positive{color:#34d399}.balance-negative{color:#f87171}.balance-period{font-size:.6875rem;color:#fff6;margin-top:4px;font-weight:600;text-transform:uppercase;letter-spacing:1px}.balance-metrics{display:flex;gap:32px;margin-top:24px;padding-top:20px;border-top:1px solid rgba(255,255,255,.1)}.balance-metric{display:flex;flex-direction:column;gap:2px}.balance-metric-label{font-size:.5625rem;color:#fff6;font-weight:700;text-transform:uppercase;letter-spacing:1.5px}.balance-metric-value{font-size:1.125rem;font-weight:800;letter-spacing:-.01em}.balance-metric-value.income{color:#34d399}.balance-metric-value.expense{color:#ffffffb3}.quick-bar{padding:0 48px;margin-bottom:28px}.quick-bar-inner{display:flex;gap:8px}.quick-btn{display:flex;align-items:center;gap:6px;padding:10px 14px;border:2px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text-secondary);font-size:.6875rem;font-weight:700;cursor:pointer;font-family:inherit;text-transform:uppercase;letter-spacing:.5px;box-shadow:var(--shadow-sm);transition:border-color .2s cubic-bezier(.4,0,.2,1),color .2s cubic-bezier(.4,0,.2,1),background-color .2s cubic-bezier(.4,0,.2,1),box-shadow .2s cubic-bezier(.4,0,.2,1),transform .2s cubic-bezier(.4,0,.2,1)}.quick-btn:hover{border-color:var(--accent);color:var(--accent);background:var(--warning-light);box-shadow:var(--shadow-md);transform:translateY(-2px)}.quick-btn:active{transform:translate(2px,2px);box-shadow:none}.metrics-section{padding:0 48px;margin-bottom:28px}.metrics-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.metric-card{background:var(--surface);border:2px solid var(--border);border-radius:var(--radius-md);padding:20px;box-shadow:var(--shadow-sm);transition:border-color .3s cubic-bezier(.4,0,.2,1),box-shadow .3s cubic-bezier(.4,0,.2,1),transform .3s cubic-bezier(.4,0,.2,1);animation:fadeInUp .4s ease backwards}.metric-card:nth-child(1){animation-delay:.1s}.metric-card:nth-child(2){animation-delay:.2s}.metric-card:nth-child(3){animation-delay:.3s}.metric-card:hover{border-color:var(--border-strong);box-shadow:var(--shadow-md);transform:translate(-2px,-2px)}.metric-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.metric-label{font-size:.625rem;color:var(--text-tertiary);font-weight:700;text-transform:uppercase;letter-spacing:1.5px}.metric-icon{width:36px;height:36px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;border:2px solid}.metric-icon.revenue{background:var(--success-light);color:var(--success);border-color:var(--success)}.metric-icon.expense{background:var(--danger-light);color:var(--danger);border-color:var(--danger)}.metric-icon.clients{background:var(--warning-light);color:var(--warning);border-color:var(--warning)}.metric-value{font-size:1.5rem;font-weight:900;color:var(--text-primary);letter-spacing:-.03em}.metric-change{font-size:.625rem;font-weight:700;margin-top:4px;display:flex;align-items:center;gap:3px;text-transform:uppercase;letter-spacing:.5px}.metric-change.positive{color:var(--success)}.metric-change.negative{color:var(--danger)}.metric-change.neutral{color:var(--text-tertiary)}.charts-section{padding:0 48px;margin-bottom:28px}.charts-grid{display:grid;grid-template-columns:1.6fr 1fr;gap:12px}.chart-card{background:var(--surface);border:2px solid var(--border);border-radius:var(--radius-md);padding:22px;min-width:0;box-shadow:var(--shadow-sm);animation:fadeInUp .5s ease backwards}.charts-grid .chart-card:nth-child(1){animation-delay:.15s}.charts-grid .chart-card:nth-child(2){animation-delay:.25s}.chart-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.chart-title{font-size:.75rem;font-weight:800;color:var(--text-primary);letter-spacing:-.01em;text-transform:uppercase}.chart-subtitle{font-size:.625rem;color:var(--text-tertiary);font-weight:600}.table-section{padding:0 48px;margin-bottom:48px}.table-card{background:var(--surface);border:2px solid var(--border);border-radius:var(--radius-md);overflow:hidden;box-shadow:var(--shadow-sm);animation:fadeInUp .5s ease backwards;animation-delay:.3s}.table-header{display:flex;justify-content:space-between;align-items:center;padding:18px 22px;border-bottom:2px solid var(--border)}.table-title{font-size:.75rem;font-weight:800;color:var(--text-primary);text-transform:uppercase;letter-spacing:.5px}.table-count{font-size:.625rem;color:var(--text-tertiary);font-weight:700;text-transform:uppercase;letter-spacing:.5px}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:14px 22px}th{font-size:.5625rem;font-weight:800;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:1.5px;border-bottom:2px solid var(--border);background:var(--surface-hover)}td{font-size:.8125rem;color:var(--text-primary);border-bottom:1px solid var(--border);font-weight:500}tbody tr:last-child td{border-bottom:none}.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}.table-scroll table{min-width:600px}tbody tr{transition:background-color .2s ease,border-left-color .2s ease}tbody tr:hover{background:var(--surface-hover);border-left:3px solid var(--accent);transform:translate(2px)}tbody tr:active{transform:translate(0)}.badge{display:inline-flex;align-items:center;padding:4px 10px;border-radius:var(--radius-sm);font-size:.625rem;font-weight:800;text-transform:uppercase;letter-spacing:.5px;border:2px solid;transition:transform .2s ease}.badge:hover{transform:scale(1.05)}.badge-success{background:var(--success-light);color:var(--success);border-color:var(--success)}.badge-danger{background:var(--danger-light);color:var(--danger);border-color:var(--danger)}.badge-warning{background:var(--warning-light);color:var(--warning);border-color:var(--warning)}.service-badge{display:inline-flex;align-items:center;padding:4px 10px;background:var(--primary-light);color:var(--primary);border-radius:var(--radius-sm);font-size:.625rem;font-weight:800;text-transform:uppercase;letter-spacing:.5px;max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border:2px solid var(--primary)}.payment-badge{display:inline-flex;align-items:center;padding:4px 10px;border-radius:var(--radius-sm);font-size:.625rem;font-weight:800;text-transform:uppercase;letter-spacing:.5px;border:2px solid}.payment-pix{background:var(--success-light);color:var(--success);border-color:var(--success)}.payment-cartao{background:#ede9fe;color:#7c3aed;border-color:#7c3aed}.payment-dinheiro{background:var(--warning-light);color:var(--warning);border-color:var(--warning)}.payment-none{background:#f3f4f6;color:var(--text-tertiary);border-color:var(--border)}[data-theme=dark] .payment-cartao{background:#7c3aed26;color:#a78bfa;border-color:#a78bfa}[data-theme=dark] .payment-none{background:#ffffff0d;color:var(--text-tertiary);border-color:var(--border)}.action-buttons{display:flex;gap:4px}.btn-icon{width:32px;height:32px;border:2px solid transparent;border-radius:var(--radius-sm);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background-color .2s cubic-bezier(.4,0,.2,1),color .2s cubic-bezier(.4,0,.2,1),border-color .2s cubic-bezier(.4,0,.2,1),transform .2s cubic-bezier(.4,0,.2,1);background:transparent;color:var(--text-tertiary)}.btn-icon:hover{background:var(--surface-hover);color:var(--text-primary);border-color:var(--border);transform:scale(1.1)}.btn-icon:active{transform:scale(.9)}.btn-icon.edit:hover{background:var(--primary-light);color:var(--primary);border-color:var(--primary)}.btn-icon.delete:hover{background:var(--danger-light);color:var(--danger);border-color:var(--danger);animation:shake .3s ease}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;flex-wrap:wrap;gap:12px}.section-header h3{font-size:.9375rem;font-weight:800;color:var(--text-primary);text-transform:uppercase;letter-spacing:-.01em}.empty-state{text-align:center;padding:56px 24px;color:var(--text-tertiary);animation:fadeIn .5s ease}.empty-state-icon{width:56px;height:56px;margin:0 auto 16px;background:var(--surface-hover);border:2px dashed var(--border);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;color:var(--text-tertiary);animation:pulse 2s ease-in-out infinite}.empty-state h3{font-size:.8125rem;margin-bottom:4px;color:var(--text-secondary);font-weight:800;text-transform:uppercase}.empty-state p{font-size:.6875rem;color:var(--text-tertiary);max-width:280px;margin:0 auto}.filters{display:flex;gap:10px;flex-wrap:wrap;align-items:flex-end}.filter-group{display:flex;flex-direction:column;gap:4px}.filter-group label{font-size:.5625rem;font-weight:800;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:1.5px}.filter-input{padding:10px 12px;border:2px solid var(--border);border-radius:var(--radius-sm);font-size:.8125rem;background:var(--surface);min-width:140px;font-family:inherit;color:var(--text-primary);transition:border-color .2s cubic-bezier(.4,0,.2,1),box-shadow .2s cubic-bezier(.4,0,.2,1),transform .2s cubic-bezier(.4,0,.2,1);font-weight:500}.filter-input:focus{outline:none;border-color:var(--accent);box-shadow:2px 2px 0 var(--accent);transform:translateY(-2px)}.modal-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:2000;padding:20px;animation:fadeIn .25s ease;backdrop-filter:blur(4px)}.modal{background:var(--surface);border-radius:var(--radius-lg);width:100%;max-width:420px;max-height:90vh;overflow-y:auto;box-shadow:8px 8px #00000026;animation:popIn .35s cubic-bezier(.34,1.56,.64,1);border:2px solid var(--border)}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:2px solid var(--border)}.modal-header h3{font-size:.875rem;font-weight:800;color:var(--text-primary);text-transform:uppercase;letter-spacing:-.01em}.modal-close{width:32px;height:32px;border:2px solid var(--border);background:var(--surface);cursor:pointer;color:var(--text-tertiary);display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);transition:background-color .15s ease,color .15s ease,border-color .15s ease}.modal-close:hover{background:var(--surface-hover);color:var(--text-primary);border-color:var(--border-strong)}.modal-form{padding:24px;display:flex;flex-direction:column;gap:18px}.modal-form .input-group{display:flex;flex-direction:column;gap:6px}.modal-form .input-group label{font-size:.75rem;font-weight:700;color:var(--text-primary);text-transform:uppercase;letter-spacing:.5px}.modal-form .input-group input,.modal-form .input-group select{padding:12px;border:2px solid var(--border);border-radius:var(--radius-sm);font-size:.8125rem;font-family:inherit;color:var(--text-primary);background:var(--surface);transition:border-color .2s cubic-bezier(.4,0,.2,1),box-shadow .2s cubic-bezier(.4,0,.2,1),transform .2s cubic-bezier(.4,0,.2,1);font-weight:500}.modal-form .input-group input:focus,.modal-form .input-group select:focus{outline:none;border-color:var(--accent);box-shadow:2px 2px 0 var(--accent);transform:translateY(-2px)}.modal-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:4px}.modal-actions .btn{padding:12px 20px}.login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg);background-image:var(--grain);padding:20px}.login-card{background:var(--surface);border:2px solid var(--border);border-radius:var(--radius-lg);padding:40px;width:100%;max-width:380px;box-shadow:8px 8px 0 var(--accent);animation:bounceIn .6s cubic-bezier(.34,1.56,.64,1)}.login-header{text-align:center;margin-bottom:32px}.login-logo{width:56px;height:56px;background:#111827;border:3px solid #111827;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;margin:0 auto 16px;color:#f59e0b;box-shadow:4px 4px #f59e0b}.login-header h1{font-size:1.125rem;font-weight:900;color:var(--text-primary);margin-bottom:4px;text-transform:uppercase;letter-spacing:-.02em}.login-header p{font-size:.75rem;color:var(--text-tertiary);font-weight:600}.login-form{display:flex;flex-direction:column;gap:18px}.input-group{display:flex;flex-direction:column;gap:6px}.input-group label{font-size:.75rem;font-weight:700;color:var(--text-primary);text-transform:uppercase;letter-spacing:.5px}.input-wrapper{position:relative;display:flex;align-items:center}.input-icon{position:absolute;left:12px;color:var(--text-tertiary)}.input-wrapper input{width:100%;padding:12px 12px 12px 40px;border:2px solid var(--border);border-radius:var(--radius-sm);font-size:.8125rem;font-family:inherit;color:var(--text-primary);background:var(--surface);transition:border-color .15s ease;font-weight:500}.input-wrapper input:focus{outline:none;border-color:var(--accent);box-shadow:2px 2px 0 var(--accent)}.toggle-password{position:absolute;right:10px;background:none;border:none;cursor:pointer;color:var(--text-tertiary);padding:4px;display:flex;align-items:center}.toggle-password:hover{color:var(--text-secondary)}.error-message{background:var(--danger-light);color:var(--danger);padding:12px 14px;border-radius:var(--radius-sm);font-size:.8125rem;text-align:center;font-weight:700;border:2px solid var(--danger)}.login-button{width:100%;padding:14px;background:#111827;color:#f59e0b;border:3px solid #111827;border-radius:var(--radius-sm);font-size:.8125rem;font-weight:900;cursor:pointer;font-family:inherit;transition:all .2s cubic-bezier(.4,0,.2,1);margin-top:4px;box-shadow:4px 4px #f59e0b;text-transform:uppercase;letter-spacing:1px;position:relative;overflow:hidden;transition:transform .2s cubic-bezier(.4,0,.2,1),box-shadow .2s cubic-bezier(.4,0,.2,1)}.login-button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(245,158,11,.3),transparent);transition:left .5s ease}.login-button:hover:before{left:100%}.login-button:disabled{opacity:.7;cursor:not-allowed;transform:none}.login-button:disabled:hover:before{left:-100%}.login-button:hover:not(:disabled){transform:translate(2px,2px);box-shadow:2px 2px #f59e0b}.login-button:active{transform:translate(4px,4px);box-shadow:none}.login-footer{margin-top:28px;padding-top:20px;border-top:2px solid var(--border);text-align:center}.login-footer p{font-size:.5625rem;color:var(--text-tertiary);margin-bottom:12px;text-transform:uppercase;letter-spacing:1.5px;font-weight:800}.credentials{display:flex;flex-direction:column;gap:6px}.credentials span{font-size:.6875rem;color:var(--text-secondary);background:var(--surface-hover);padding:10px 12px;border-radius:var(--radius-sm);border:2px dashed var(--border)}.credentials strong{color:var(--text-primary);font-weight:800}.user-info{display:flex;align-items:center;gap:10px}.user-avatar{width:36px;height:36px;background:#111827;border:2px solid #f59e0b;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;color:#f59e0b;font-weight:900;font-size:.75rem;flex-shrink:0;overflow:hidden}.user-avatar.clickable{cursor:pointer;transition:transform .15s ease}.user-avatar.clickable:hover{transform:scale(1.05)}.avatar-img{width:100%;height:100%;object-fit:cover}.user-details{display:flex;flex-direction:column;min-width:0}.user-name{font-weight:800;font-size:.75rem;color:#ffffffe6;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-transform:uppercase;letter-spacing:.5px}.user-role{font-size:.5625rem;color:#f59e0b;font-weight:700;text-transform:uppercase;letter-spacing:1px}.profile-modal{max-width:360px}.profile-modal-content{padding:24px;display:flex;flex-direction:column;align-items:center;gap:20px}.profile-preview{width:80px;height:80px;border-radius:var(--radius-md);overflow:hidden;background:#111827;border:3px solid #f59e0b;display:flex;align-items:center;justify-content:center;box-shadow:4px 4px #f59e0b;animation:bounceIn .5s ease;transition:transform .3s ease}.profile-preview:hover{transform:scale(1.05) rotate(5deg)}.profile-preview-img{width:100%;height:100%;object-fit:cover}.profile-preview-placeholder{font-size:2rem;font-weight:900;color:#f59e0b}.profile-actions{display:flex;gap:10px;width:100%}.profile-actions .btn{padding:12px 16px;flex:1;justify-content:center}.profile-hint{font-size:.625rem;color:var(--text-tertiary);text-align:center}.theme-toggle{width:40px;height:40px;border:2px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;box-shadow:var(--shadow-sm);transition:background-color .3s cubic-bezier(.4,0,.2,1),border-color .3s cubic-bezier(.4,0,.2,1),color .3s cubic-bezier(.4,0,.2,1),box-shadow .3s cubic-bezier(.4,0,.2,1),transform .3s cubic-bezier(.4,0,.2,1)}.theme-toggle:hover{background:var(--surface-hover);border-color:var(--accent);color:var(--accent);box-shadow:var(--shadow-md);transform:rotate(15deg)}.theme-toggle:active{transform:translate(2px,2px) scale(.95);box-shadow:none}.theme-toggle .icon-sun,.theme-toggle .icon-moon{position:absolute;transition:opacity .4s cubic-bezier(.68,-.55,.265,1.55),transform .4s cubic-bezier(.68,-.55,.265,1.55)}.theme-toggle .icon-sun{opacity:1;transform:rotate(0) scale(1)}.theme-toggle .icon-moon{opacity:0;transform:rotate(-90deg) scale(.5)}[data-theme=dark] .theme-toggle .icon-sun{opacity:0;transform:rotate(90deg) scale(.5)}[data-theme=dark] .theme-toggle .icon-moon{opacity:1;transform:rotate(0) scale(1)}@keyframes themeSwitch{0%{transform:scale(1) rotate(0)}25%{transform:scale(.9) rotate(-10deg)}50%{transform:scale(1.2) rotate(10deg)}75%{transform:scale(.95) rotate(-5deg)}to{transform:scale(1) rotate(0)}}.theme-toggle.animating{animation:themeSwitch .5s cubic-bezier(.68,-.55,.265,1.55)}@media (max-width: 768px){.sidebar{position:fixed;left:-280px;width:280px;min-width:280px;transition:left .25s ease;z-index:1500}.sidebar.open{left:0}.sidebar-close{display:flex}.sidebar-overlay{display:none;position:fixed;inset:0;background:#0009;z-index:1400}.sidebar-overlay.open{display:block}.main-content{margin-left:0}.menu-toggle{display:flex}.header{padding:20px 16px 0;flex-direction:column;align-items:stretch;gap:12px}.header h2{font-size:1.125rem}.header-actions{width:100%}.header-actions .btn{width:100%;justify-content:center}.btn-text-desktop{display:none}.btn-text-mobile{display:inline}.hero-section{padding:20px 16px 0}.balance-card{padding:24px;box-shadow:6px 6px #f59e0b}.balance-value{font-size:2rem}.balance-metrics{gap:20px;flex-wrap:wrap}.quick-bar{padding:0 16px}.quick-bar-inner{overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:4px}.metrics-section{padding:0 16px}.metrics-grid{grid-template-columns:1fr;gap:10px}.charts-section{padding:0 16px}.charts-grid{grid-template-columns:1fr;gap:10px}.table-section{padding:0 16px;margin-bottom:32px}.table-header{flex-direction:column;align-items:flex-start;gap:8px;padding:16px}.table-card table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-card thead,.table-card tbody,.table-card tr{display:table;width:100%;table-layout:fixed}.table-card thead{width:calc(100% - 1px)}.table-card th,.table-card td{padding:10px 12px;font-size:.6875rem}.table-card th:nth-child(5),.table-card td:nth-child(5){display:none}.modal-overlay{padding:0;align-items:flex-end}.modal{max-height:90vh;border-radius:var(--radius-lg) var(--radius-lg) 0 0;animation:slideUp .25s ease;box-shadow:0 -4px 20px #00000026}.modal-form{padding:20px}.modal-actions{flex-direction:column-reverse;gap:8px}.modal-actions .btn{width:100%;justify-content:center}.profile-actions{flex-direction:column}.login-card{padding:28px;box-shadow:6px 6px #f59e0b}.greeting{font-size:1.125rem}.greeting-sub{font-size:.6875rem}.section-header{flex-direction:column;align-items:stretch;gap:12px}.section-header .btn{width:100%;justify-content:center}.filters{width:100%}.filter-input{width:100%;min-width:unset}}@media (max-width: 380px){.balance-metrics{flex-direction:column;gap:16px}.balance-value{font-size:1.75rem}.balance-card{padding:20px}.balance-label{font-size:.5625rem}.balance-metric-value{font-size:1rem}.metric-card{padding:16px}.metric-value{font-size:1.25rem}.chart-card{padding:16px}.quick-btn{padding:10px 12px;font-size:.75rem}}@media (hover: none) and (pointer: coarse){.metric-card:hover{border-color:var(--border);box-shadow:var(--shadow-sm);transform:none}.nav-item:hover{background:transparent;color:#ffffff80}.nav-item.active:hover{background:#f59e0b;color:#111827}.btn{min-height:44px}.btn-icon{width:44px;height:44px}.quick-btn,.nav-item,.filter-input,.modal-form input,.modal-form select{min-height:44px}}
