:root{--bg-color:#0f172a;--surface-color:#1e293bb3;--surface-border:#ffffff1a;--text-primary:#f8fafc;--text-secondary:#94a3b8;--primary:#3b82f6;--primary-hover:#2563eb;--success:#10b981;--danger:#ef4444;--warning:#f59e0b;--font-family:"Inter", system-ui, -apple-system, sans-serif;--glass-shadow:0 4px 30px #0000001a}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-color);color:var(--text-primary);font-family:var(--font-family);-webkit-font-smoothing:antialiased;background-image:radial-gradient(circle at 100% 0,#3b82f626,#0000 400px),radial-gradient(circle at 0 100%,#10b9811a,#0000 400px);background-attachment:fixed;flex-direction:column;min-height:100vh;display:flex}#root{flex-direction:column;min-height:100vh;display:flex}h1,h2,h3,h4,h5,h6{letter-spacing:-.025em;color:var(--text-primary);font-weight:600}p{color:var(--text-secondary)}input,select,textarea,button{font-family:inherit;font-size:1rem}input,select{border:1px solid var(--surface-border);color:var(--text-primary);background:#0f172a99;border-radius:.5rem;outline:none;width:100%;padding:.75rem 1rem;transition:all .2s}input:focus,select:focus{border-color:var(--primary);box-shadow:0 0 0 2px #3b82f640}button{cursor:pointer;border:none;border-radius:.5rem;justify-content:center;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-weight:500;transition:all .2s;display:inline-flex}button.btn-primary{background-color:var(--primary);color:#fff}button.btn-primary:hover{background-color:var(--primary-hover);transform:translateY(-1px)}button.btn-danger{background-color:var(--danger);color:#fff}button.btn-danger:hover{background-color:#dc2626}.glass-panel{background:var(--surface-color);-webkit-backdrop-filter:blur(12px);border:1px solid var(--surface-border);box-shadow:var(--glass-shadow);border-radius:1rem;padding:2rem}.container{width:100%;max-width:1200px;margin:0 auto;padding:2rem 1.5rem}.flex-center{justify-content:center;align-items:center;display:flex}.grid{gap:1.5rem;display:grid}.grid-cols-2{grid-template-columns:repeat(2,1fr)}.grid-cols-3{grid-template-columns:repeat(3,1fr)}.grid-cols-4{grid-template-columns:repeat(4,1fr)}.grid-cols-5{grid-template-columns:repeat(5,1fr)}.header{border-bottom:1px solid var(--surface-border);justify-content:space-between;align-items:center;margin-bottom:2rem;padding:1.5rem 0;display:flex}.tabs-nav{-webkit-overflow-scrolling:touch;scrollbar-width:thin;gap:.5rem;width:100%;max-width:100%;padding-bottom:.35rem;display:flex;overflow-x:auto}.tabs-nav button{white-space:nowrap;flex-shrink:0}.tabs-nav::-webkit-scrollbar{height:4px}.tabs-nav::-webkit-scrollbar-thumb{background:#fff3;border-radius:4px}@media (width<=1024px){.grid-cols-5{grid-template-columns:repeat(3,1fr)}.grid-cols-3{grid-template-columns:1fr!important}.grid-cols-3>div{grid-column:span 1!important}}@media (width<=768px){.container{padding:1rem .75rem}.glass-panel{border-radius:.75rem;padding:1.25rem .85rem}.header{flex-direction:column;align-items:stretch;gap:1rem;margin-bottom:1.25rem;padding:1rem 0}.header>div:last-child{flex-direction:row;gap:.5rem;width:100%;display:flex}.header button{flex:1;justify-content:center;padding:.6rem .75rem;font-size:.85rem}.grid-cols-5{grid-template-columns:repeat(2,1fr)!important;gap:.5rem!important}.stat-card.balance,.stat-card:first-child{grid-column:span 2!important}.stat-card{padding:.75rem .85rem}.stat-title{font-size:.7rem}.stat-value{font-size:1.15rem}.grid-cols-2,.grid-cols-3,.grid-cols-4{grid-template-columns:1fr!important}.grid-cols-3>div,.grid-cols-2>div{grid-column:span 1!important}.modal-container{width:95%!important;max-width:95%!important;margin:.75rem!important;padding:1.25rem!important}.summary-footer{flex-direction:column!important;align-items:stretch!important;gap:1rem!important}.summary-footer>div{text-align:center!important;flex-direction:column!important;gap:.5rem!important}.summary-footer button{width:100%}table{white-space:nowrap;-webkit-overflow-scrolling:touch;width:100%;display:block;overflow-x:auto}}.stat-card{background:var(--surface-color);border:1px solid var(--surface-border);border-radius:.75rem;flex-direction:column;gap:.25rem;padding:1rem 1.25rem;display:flex;position:relative;overflow:hidden}.stat-card:before{content:"";width:4px;height:100%;position:absolute;top:0;left:0}.stat-card.income:before{background-color:var(--success)}.stat-card.expense:before{background-color:var(--danger)}.stat-card.balance:before{background-color:var(--primary)}.stat-card.debt:before{background-color:var(--warning)}.stat-title{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;font-size:.75rem;font-weight:500}.stat-value{color:var(--text-primary);font-size:1.35rem;font-weight:700}.transaction-list{flex-direction:column;gap:1rem;margin-top:1.5rem;display:flex}.transaction-item{border:1px solid var(--surface-border);background:#0f172a66;border-radius:.5rem;justify-content:space-between;align-items:center;padding:1rem;transition:all .2s;display:flex}.transaction-item:hover{background:#0f172acc}.badge{border-radius:999px;padding:.25rem .75rem;font-size:.75rem;font-weight:600}.badge.success{color:#34d399;background:#10b98133}.badge.danger{color:#f87171;background:#ef444433}.badge.warning{color:#fbbf24;background:#f59e0b33}.badge.primary{color:#60a5fa;background:#3b82f633}.form-group{flex-direction:column;gap:.5rem;margin-bottom:1rem;display:flex}.form-group label{color:var(--text-secondary);font-size:.875rem;font-weight:500}.nav-link{color:var(--text-secondary);font-weight:500;text-decoration:none;transition:color .2s}.nav-link:hover,.nav-link.active{color:var(--primary)}@media print{body *{visibility:hidden}body.print-mode-RESIDENT .print-section,body.print-mode-RESIDENT .print-section *,body.print-mode-MAIN .print-section-main,body.print-mode-MAIN .print-section-main *,body.print-mode-ALL .print-section-main,body.print-mode-ALL .print-section-main *{visibility:visible}.print-section,.print-section-main{width:100%;color:#000!important;background:#fff!important}.header,.tabs-nav,.stat-card{display:none!important}.print-section table,.print-section-main table{border-collapse:collapse;border:1px solid #ccc;width:100%}.print-section th,.print-section td,.print-section-main th,.print-section-main td{text-align:left;border-bottom:1px solid #ccc;padding:.5rem;color:#000!important}.no-print,.no-print *{display:none!important}body.print-mode-RESIDENT .transaction-list>div:not(:has(.print-section)){display:none!important}}@media screen{.print-only{display:none!important}}
