:root{--font-sans:"Segoe UI Variable Text","Segoe UI Variable","Aptos","Segoe UI",Roboto,Helvetica,Arial,sans-serif;--font-size-xs:.75rem;--font-size-sm:.84rem;--font-size-md:.94rem;--font-size-lg:1.08rem;--font-size-xl:1.35rem;--weight-regular:400;--weight-medium:550;--weight-semibold:650;--weight-bold:750;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--radius-xs:8px;--radius-sm:11px;--radius-md:15px;--radius-lg:20px;--line-strong:#d7dde5;--surface-raised:#fff;--shadow-card:0 8px 24px rgba(15,23,42,.065);--shadow-popup:0 18px 48px rgba(15,23,42,.18);--success-soft:#ecfdf3;--warning-soft:#fff8e6;--danger-soft:#fff0f0;--info-soft:#eef6ff}body.dark{--line-strong:#344258;--surface-raised:#111827;--shadow-card:0 10px 28px rgba(0,0,0,.22);--shadow-popup:0 22px 56px rgba(0,0,0,.42);--success-soft:#10291d;--warning-soft:#30230d;--danger-soft:#321719;--info-soft:#13233a}html{font-size:16px}body{font-family:var(--font-sans);font-size:var(--font-size-md);line-height:1.5;letter-spacing:-.006em;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}button,input,select,textarea{font-family:inherit}button,input,select,textarea,table{font-variant-numeric:tabular-nums lining-nums}.app{max-width:1440px;padding-top:24px;padding-bottom:36px}h1,h2,h3,.home-greeting,.hero-balance,.active-month-value,.month-overview-title{font-weight:var(--weight-bold)!important;letter-spacing:-.025em!important}.topbar h1{font-size:clamp(1.65rem,2.4vw,2.2rem)}.topbar p,.overview-head p,.hint,.home-item-meta,.summary-card .sub{line-height:1.55}strong{font-weight:var(--weight-semibold)}.card,.summary-card,.active-month-banner,.month-navigator,.nav-tabs,.month-overview-card{border-color:var(--line)!important;box-shadow:var(--shadow-card)!important}.card{padding:clamp(18px,2vw,24px)}.card,.summary-card{border-radius:var(--radius-lg)}.card:hover,.summary-card:hover{transform:none}.card h2{font-size:1.12rem;font-weight:var(--weight-bold);margin-bottom:16px}.nav-tabs{gap:4px;padding:5px;border-radius:14px}.nav-tab{padding:9px 13px;border-radius:10px;font-size:var(--font-size-sm);font-weight:var(--weight-semibold);letter-spacing:0}.nav-tab.active{box-shadow:0 5px 14px #2563eb2e}.month-navigator{padding:7px;gap:4px;border-radius:14px}.month-nav-btn{padding:8px 12px;border-radius:9px;font-size:var(--font-size-sm);font-weight:var(--weight-semibold);letter-spacing:.02em}.btn{min-height:40px;padding:9px 14px;border-radius:11px;font-size:var(--font-size-sm);font-weight:var(--weight-semibold);letter-spacing:0;box-shadow:none}.btn:hover{filter:none;box-shadow:0 5px 14px #0f172a14}.btn-primary{box-shadow:0 6px 15px #2563eb2e}.btn-small{min-height:34px;padding:7px 10px;font-size:.79rem;border-radius:9px}label{gap:7px;font-size:var(--font-size-sm);font-weight:var(--weight-semibold);color:var(--text)}input,select,textarea,.month-picker{min-height:43px;padding:10px 12px;border-color:var(--line-strong);border-radius:10px;font-size:var(--font-size-md);font-weight:var(--weight-regular);letter-spacing:0}input::placeholder,textarea::placeholder{color:var(--muted);opacity:.8}input:focus,select:focus,textarea:focus{border-color:var(--primary);box-shadow:var(--ring)}.form-grid{gap:15px}.summary-grid{gap:12px}.summary-card{padding:18px 19px}.summary-card .label{font-size:var(--font-size-sm);font-weight:var(--weight-medium)}.summary-card .value{font-size:1.42rem;font-weight:var(--weight-bold);letter-spacing:-.025em}.closing-projection{box-shadow:var(--shadow-card);border-radius:15px}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:14px;background:var(--card)}table{min-width:900px;border-collapse:separate;border-spacing:0}thead{position:sticky;top:0;z-index:3;background:var(--card)}th{padding:11px 13px;border-bottom:1px solid var(--line-strong);color:var(--muted);font-size:.72rem;font-weight:var(--weight-semibold);text-transform:none;letter-spacing:.035em;white-space:nowrap}td{padding:14px 13px;border-bottom:1px solid var(--line);font-size:.91rem;vertical-align:middle}tbody tr:last-child td{border-bottom:0}tbody tr:hover{background:color-mix(in srgb,var(--surface-soft) 78%,transparent)}td.amount{font-weight:var(--weight-semibold);letter-spacing:-.012em;text-align:right}th.amount-head{text-align:right}.movement-description{display:grid;gap:2px;min-width:150px}.movement-description-title{font-size:.94rem;font-weight:var(--weight-semibold);line-height:1.3;color:var(--text)}.movement-description-meta{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:.78rem;line-height:1.35}.row-paid>td:not(.actions-col){opacity:.72}.row-paid .movement-description-title,.row-paid td.amount{font-weight:var(--weight-medium)}.badge{min-height:24px;padding:3px 8px;border:1px solid transparent;border-radius:999px;font-size:.71rem;font-weight:var(--weight-semibold);letter-spacing:0;white-space:nowrap}.badge-income{background:var(--success-soft);color:var(--green);border-color:color-mix(in srgb,var(--green) 18%,transparent)}.badge-expense{background:var(--danger-soft);color:var(--red);border-color:color-mix(in srgb,var(--red) 14%,transparent)}.badge-paid{background:var(--info-soft);color:var(--primary);border-color:color-mix(in srgb,var(--primary) 15%,transparent)}.badge-pending{background:var(--danger-soft);color:var(--red);border-color:color-mix(in srgb,var(--red) 15%,transparent)}.badge-partial{background:var(--warning-soft);color:var(--amber);border-color:color-mix(in srgb,var(--amber) 20%,transparent)}.selection-toolbar{padding:11px 14px;background:var(--surface-soft);border-radius:12px;font-size:var(--font-size-sm)}.selection-info strong{font-size:.98rem;font-weight:var(--weight-bold)}.row-selector,.select-all{width:17px;height:17px}.actions-menu summary{font-weight:var(--weight-bold)}.recurring-list{gap:9px}.recurring-item{padding:14px 15px;border-radius:13px;gap:12px}.recurring-name{font-weight:var(--weight-semibold)}.recurring-category{font-size:.78rem}.recurring-amount{font-weight:var(--weight-semibold)}.home-list-item{padding:13px 0}.home-item-title,.home-item-value,.chart-value,.category-value,.overview-movement-value{font-weight:var(--weight-semibold)}.month-overview-title{font-size:1.08rem}.month-overview-card{border-radius:16px}.overview-group-title{font-size:.71rem;font-weight:var(--weight-semibold);letter-spacing:.06em}.budget-card,.credit-card-item,.card-definition,.card-month-panel{border-radius:15px!important;box-shadow:none!important}.card-detail-row,.budget-card-detail-row{font-size:var(--font-size-sm)}.category-modal,.reconcile-modal,.movement-modal,.actions-popover{box-shadow:var(--shadow-popup)!important}.category-modal,.reconcile-modal{border-radius:18px;padding:22px}.reconcile-grid label{font-size:var(--font-size-sm);font-weight:var(--weight-semibold)}.reconcile-analysis{border-radius:13px;background:var(--surface-soft)}.rate-detected{font-weight:var(--weight-bold)}@media(max-width:1050px){table{min-width:820px}th,td{padding-left:10px;padding-right:10px}}@media(max-width:760px){body{font-size:.93rem}.card{padding:16px}.table-wrap{border-radius:12px}table{min-width:760px}td{padding-top:12px;padding-bottom:12px}.badge{font-size:.68rem;padding-inline:7px}}@media print{body{font-family:Arial,sans-serif}.table-wrap{border:0}th,td{font-size:10px!important}}
