.app-shell{width:min(1440px,calc(100vw - 2rem));margin:0 auto;padding:1rem 0 2rem}.app-header,.summary-card,.filter-panel,.form-panel,.table-panel,.status-banner{border:var(--border-thick);background:var(--surface)}.app-header{display:flex;flex-wrap:wrap;align-items:end;justify-content:space-between;gap:.75rem 1rem;padding:1rem}.panel-label,.card-label,.field-help,.empty-note,.table-caption{margin:0;font-size:.75rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase}.app-header h1,.panel-heading h2{margin:0;font-size:clamp(2rem,4vw,3rem);line-height:1;letter-spacing:-.05em}.app-intro,.app-header-meta,.panel-note,.panel-caption{margin:0;color:var(--text-muted)}.app-header-meta{font-size:.9rem;font-weight:700;white-space:nowrap}.summary-grid{display:grid;gap:1rem;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:1rem}.workspace{display:grid;gap:1rem;grid-template-columns:minmax(320px,400px) minmax(0,1fr);margin-top:1rem;align-items:start}.sidebar{display:grid;gap:1rem}.filter-panel,.form-panel,.table-panel{padding:1rem}.filter-panel h2,.form-panel h2{margin:0;font-size:1.6rem;line-height:1}.panel-heading{display:flex;align-items:end;justify-content:space-between;gap:1rem;margin-bottom:1rem}.panel-heading-compact{margin-bottom:0}.panel-note{margin-top:.35rem}.panel-caption{text-align:right}.panel-toggle{white-space:nowrap}.summary-card{display:grid;gap:.75rem;min-height:132px;padding:1rem}.card-value{margin:auto 0 0;font-size:clamp(1.7rem,3vw,2.9rem);font-weight:800;line-height:1;letter-spacing:-.05em;word-break:break-word}.summary-card[data-accent=business]{background:var(--ink);color:var(--paper)}.summary-card[data-accent=business] .card-label{color:var(--paper)}.summary-card[data-accent=personal]{background:var(--surface-muted)}.status-banner{margin-top:1rem;padding:.85rem 1rem;font-weight:700}.status-banner[data-tone=success]{background:var(--surface-muted)}.status-banner[data-tone=error]{background:var(--ink);color:var(--paper)}.form-grid,.filter-grid{display:grid;gap:.85rem;margin-top:1rem}.field-group{display:grid;gap:.4rem}.field-row{display:grid;gap:.85rem;grid-template-columns:repeat(2,minmax(0,1fr))}.field-label{font-weight:700;text-transform:uppercase;font-size:.78rem;letter-spacing:.08em}.field-help{color:var(--text-muted)}.field-error{margin:0;font-size:.82rem;font-weight:700}.type-switch{display:grid;gap:.5rem;grid-template-columns:repeat(2,minmax(0,1fr))}.type-button{justify-content:center}.type-button[data-active=true][data-type=business]{background:var(--ink);color:var(--paper)}.type-button[data-active=true][data-type=personal]{background:var(--surface);border-style:double}.toolbar{display:grid;gap:.75rem}.toolbar-row{display:flex;flex-wrap:wrap;gap:.75rem}.filter-chip-group{display:flex;flex-wrap:wrap;gap:.5rem}.table-wrap{border:var(--border-thin);overflow:auto;background:var(--surface)}.expense-table{width:100%;border-collapse:collapse}.expense-table th,.expense-table td{padding:.85rem;border-bottom:var(--border-thin);vertical-align:top}.expense-table th{text-align:left;text-transform:uppercase;font-size:.76rem;letter-spacing:.08em;background:var(--surface-muted)}.expense-row[data-active=true] td{background:var(--surface-muted)}.expense-row:hover td{background:var(--surface-alt)}.description-cell{display:grid;gap:.25rem}.row-title{font-weight:800}.row-meta{color:var(--text-muted);font-size:.88rem}.amount-cell{font-variant-numeric:tabular-nums;font-weight:800;white-space:nowrap}.type-badge{display:inline-flex;align-items:center;justify-content:center;min-width:9.5rem;padding:.35rem .6rem;border:var(--border-thin);font-size:.78rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.type-badge[data-type=business]{background:var(--ink);color:var(--paper)}.type-badge[data-type=personal]{border-style:double}.row-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.5rem}.empty-state{padding:2rem 1rem;text-align:center}.empty-state h3{margin:0 0 .35rem}.table-caption{display:block;margin-bottom:.35rem}@media(max-width:1080px){.summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.workspace{grid-template-columns:1fr}}@media(max-width:840px){.app-shell{width:min(100vw - 1rem,100%)}.field-row,.summary-grid{grid-template-columns:1fr}.expense-table,.expense-table thead,.expense-table tbody,.expense-table tr,.expense-table th,.expense-table td{display:block}.expense-table thead{display:none}.expense-table tbody{display:grid;gap:.85rem;padding:.85rem}.expense-row{border:var(--border-thin);background:var(--surface)}.expense-table td{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.75rem;align-items:start}.expense-table td:before{content:attr(data-label);font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.row-actions{justify-content:flex-start}.app-header,.panel-heading{align-items:start}.app-header-meta,.panel-caption{white-space:normal;text-align:left}}:root{--paper: #ffffff;--surface: #ffffff;--surface-alt: #f1f1f1;--surface-muted: #d9d9d9;--page: #ececec;--ink: #000000;--text-muted: #4a4a4a;--border-thick: 4px solid #000000;--border-thin: 2px solid #000000;color:var(--ink);background:var(--page);font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.5;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*,*:before,*:after{box-sizing:border-box}html,body,#root{min-width:320px;min-height:100%}body{margin:0;min-height:100vh;background:var(--page)}button,input,textarea,select{font:inherit}button,.button-link{border:var(--border-thin);border-radius:0;padding:.7rem .95rem;background:var(--surface);color:var(--ink);cursor:pointer;font-weight:700;text-transform:uppercase;letter-spacing:.06em}button:hover,.button-link:hover{background:var(--ink);color:var(--paper)}button:disabled{cursor:wait;opacity:.65}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,a:focus-visible{outline:4px solid var(--ink);outline-offset:2px}input,textarea,select{width:100%;border:var(--border-thin);border-radius:0;padding:.8rem .85rem;background:var(--paper);color:var(--ink)}textarea{min-height:8rem;resize:vertical}a{color:inherit}
