.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:grid;gap:1rem;grid-template-columns:minmax(0,1fr) minmax(220px,320px);padding:1rem}.app-kicker,.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(2.5rem,6vw,4.5rem);line-height:.95;letter-spacing:-.06em}.app-intro,.app-header-note p,.panel-caption{margin:0;color:var(--text-muted)}.app-header-note{display:grid;align-content:start;gap:.5rem;padding:1rem;border:var(--border-thin);background:var(--surface-muted)}.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,.drag-panel-copy h3{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-caption{text-align:right}.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)}.drag-panel{display:grid;gap:1rem;margin-bottom:1rem;padding:1rem;border:var(--border-thin);background:var(--surface-muted)}.drag-panel-copy{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.75rem}.drag-hint{margin:0;max-width:28rem;color:var(--text-muted)}.drop-zone-grid{display:grid;gap:.85rem;grid-template-columns:repeat(2,minmax(0,1fr))}.drop-zone{display:grid;gap:.4rem;min-height:122px;padding:.85rem;border:var(--border-thick);background:var(--surface)}.drop-zone[data-can-drop=false]{opacity:.55}.drop-zone[data-active=true][data-can-drop=true][data-type=business]{background:var(--ink);color:var(--paper)}.drop-zone[data-active=true][data-can-drop=true][data-type=personal]{border-style:double}.drop-zone-label,.drop-zone-count{font-size:.76rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.drop-zone-title{font-size:1.8rem;font-weight:900;line-height:1;text-transform:uppercase}.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[data-dragging=true] td{background:var(--ink);color:var(--paper)}.expense-row[data-dragging=true] .row-meta{color: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,.app-header{grid-template-columns:1fr}}@media(max-width:840px){.app-shell{width:min(100vw - 1rem,100%)}.field-row,.summary-grid,.drop-zone-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}}: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}
