main{max-width:1180px}header{max-width:1280px}nav{display:flex;align-items:center;gap:24px}nav a{color:inherit}h1{font-size:clamp(2.4rem,5vw,4rem)}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:24px 0}.toolbar h2{margin:0}.source-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px}.source-grid article{border:1px solid #dbe4df;padding:20px;border-radius:12px;background:#fff}.source-grid h3{margin:0 0 8px}.source-grid p{margin:6px 0;font-size:.9rem;color:#52655c}.filters{display:flex;align-items:end;flex-wrap:wrap;gap:14px;padding:24px 0}.filters label{flex:1;min-width:130px}.filters .search-label{flex:2}.filters input,.filters select{width:100%;box-sizing:border-box}.table-scroll{overflow-x:auto;border:1px solid #dbe4df;border-radius:12px;background:#fff}table{border-collapse:collapse;width:100%;min-width:650px;font-size:.94rem}th,td{text-align:left;padding:17px 20px;border-bottom:1px solid #e9eeeb}th{font-size:.76rem;text-transform:uppercase;letter-spacing:.07em;color:#52655c;background:#f3f7f4}td small{display:block;color:#65756d;margin-top:5px}.amount{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.credit{color:#237654}aside{margin-top:38px;padding:22px;border-left:3px solid #a9c0b3;color:#52655c}aside h2{font-size:1.05rem}aside p{font-size:.95rem;max-width:740px}#message{min-height:24px}button:disabled{opacity:.55;cursor:default}@media(max-width:600px){header{flex-wrap:wrap;gap:16px}.toolbar{align-items:flex-start}h2{font-size:1.2rem}}
.transaction-link{background:none;color:#185b40;text-align:left;padding:0;text-decoration:underline;border:0}.assignment-editor{background:white;border:1px solid #dbe4df;border-radius:12px;padding:20px;margin:16px 0}.assignment-row{display:flex;align-items:end;gap:10px;flex-wrap:wrap;padding:16px 0;border-top:1px solid #e9eeeb}.assignment-row label{min-width:180px;flex:1}.assignment-row select,.assignment-row input{width:100%;max-width:320px}.assignment-row small{flex-basis:100%;color:#52655c}.assignment-row button{font-size:.85rem;padding:8px 12px}.preview{flex-basis:100%;background:#f3f7f4;padding:16px;border-radius:8px}.preview p{margin:6px 0}.preview button{margin:8px 8px 0 0}#enrichment-settings input{width:auto}#transaction-detail{scroll-margin-top:20px;outline:none}#rules-list button{margin-left:12px}@media(max-width:600px){.assignment-row label{flex-basis:100%}.assignment-row select,.assignment-row input{max-width:100%}.assignment-row button{min-height:44px}}
#category-picker{scroll-margin-top:20px;outline:none}#category-picker>button{margin:8px 8px 12px 0}#category-picker select{max-width:100%}#category-picker [role=status]{margin-bottom:0}
.transaction-tabs{display:flex;gap:8px;border-bottom:1px solid #dbe4df;margin-top:24px}.transaction-tabs button{border:0;border-bottom:3px solid transparent;border-radius:8px 8px 0 0;background:transparent;color:#52655c;padding:12px 18px}.transaction-tabs button.active,.transaction-tabs button[aria-selected="true"]{border-bottom-color:#185b40;background:#f3f7f4;color:#185b40;font-weight:700}
.transaction-tree-actions{display:flex;gap:8px;margin-top:8px}.transaction-tree-actions button{padding:6px 10px;font-size:.8rem}.transaction-tree-actions button:last-child{background:transparent;color:#52655c;border:1px solid #b9c7bf}
.transaction-tree{max-width:430px;margin:24px auto 8px;padding:16px 20px;border:1px solid #dbe4df;border-radius:12px;background:#fff}.transaction-tree h3{margin:0 0 10px;font-size:1rem}.transaction-tree-list,.transaction-tree-list ul{list-style:none;margin:0;padding:0}.transaction-tree-list ul{margin:8px 0 0 16px;padding-left:18px;border-left:2px solid #c7d8ce}.transaction-tree li{position:relative;padding:8px 0}.transaction-tree-list ul li::before{content:'';position:absolute;left:-18px;top:18px;width:16px;border-top:2px solid #c7d8ce}.transaction-tree strong,.transaction-tree small{display:block}.transaction-tree small{margin-top:3px;color:#6c7d73;font-size:.75rem}
#transaction-detail{width:min(700px,calc(100% - 32px));max-height:calc(100vh - 32px);margin:auto;padding:26px;background:#f7faf8;border:0;border-radius:18px;box-shadow:0 24px 80px #17382940;overflow:auto;color:#244436}#transaction-detail::backdrop{background:#10251c99;backdrop-filter:blur(3px)}#transaction-detail>button:first-of-type{display:block;margin:0 auto 8px}.receipt-paper{max-width:430px;margin:18px auto;padding:28px 24px;background:#fffdf7;border:1px solid #e6dfd0;box-shadow:0 10px 28px #24443612;color:#3d493e}.receipt-header{text-align:center;border-bottom:1px dashed #c9c0af;padding-bottom:18px}.receipt-header img{display:block;max-width:92px;max-height:54px;object-fit:contain;margin:0 auto 10px}.receipt-header h2{margin:0;font-family:Georgia,serif}.receipt-header p{margin:4px 0 0;color:#7b806f;font-size:12px}.receipt-lines{padding:16px 0;border-bottom:1px dashed #c9c0af}.receipt-line{display:flex;justify-content:space-between;gap:15px;flex-wrap:wrap;padding:8px 0;font-size:13px}.receipt-line strong,.receipt-total strong{white-space:nowrap}.receipt-line-category{display:flex;align-items:center;gap:8px;width:100%;font-size:11px;color:#7b806f}.receipt-line-category select{flex:1;min-width:0;padding:5px;font-size:12px}.receipt-total{display:flex;justify-content:space-between;gap:15px;padding-top:16px;font-size:16px}
