@import "https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;600&family=Outfit:wght@400;500;600;700&display=swap";:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#08080a;--panel:#111114;--panel-2:#18181c;--border:#252530;--text:#eeedf5;--muted:#7a7890;--accent:#bfff00;--ml:#8b5cf6;--don:#f59e0b;--personal:#06b6d4;--hazel:#ec4899;--danger:#ef4444}*{box-sizing:border-box}body{background:var(--bg);min-height:100vh;color:var(--text);margin:0;padding:24px 16px 40px;font-family:Outfit,system-ui,sans-serif;font-size:13px}button,input,select{font:inherit}.header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:18px;padding-bottom:16px;display:flex}.brand,.date,.amount,.chip,.bank{font-family:JetBrains Mono,monospace}.brand{color:var(--muted);letter-spacing:.15em;font-size:10px}.brand b{color:var(--accent)}h1,h2,h3,p{margin:0}h1{margin-top:5px;font-size:24px}.header p,.date,.status{color:var(--muted)}.header-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.user-chip{border:1px solid var(--border);background:var(--panel);border-radius:7px;gap:2px;min-width:120px;padding:7px 9px;display:grid}.user-chip strong{font-size:12px}.user-chip span{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:10px;font-weight:700}.auth-screen{place-items:center;min-height:calc(100vh - 64px);display:grid}.login-panel{border:1px solid var(--border);background:var(--panel);border-radius:12px;gap:14px;width:min(360px,100%);padding:22px;display:grid}.login-panel label{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;gap:6px;font-size:10px;font-weight:700;display:grid}.login-panel input{color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:6px;padding:8px 9px}.auth-error{color:var(--danger);font-size:12px}.session-bar{border:1px solid var(--border);background:var(--panel);border-radius:10px;grid-template-columns:minmax(220px,1fr) auto auto;align-items:center;gap:12px;margin-bottom:16px;padding:10px 12px;display:grid}.session-bar>div:first-child{align-items:center;gap:8px;display:flex}.session-bar span,.session-bar small{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:10px;font-weight:700}.session-bar select{min-width:210px;color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:6px;padding:7px 8px}.session-actions{justify-content:flex-end;gap:8px;display:flex}.danger-button{color:var(--danger);border-color:#ef444466}.calendar,.table-shell{border:1px solid var(--border);background:var(--panel);border-radius:10px}.calendar{margin-bottom:16px;padding:14px}.section-title,.toolbar,.table-head,.filter-controls,.table-actions,.period-summary,.period-actions,.period-editor,.chips{align-items:center;display:flex}.section-title{color:var(--muted);letter-spacing:.12em;text-transform:uppercase;gap:8px;margin-bottom:12px;font-size:11px;font-weight:700}.section-title span{align-items:center;gap:8px;display:inline-flex}.calendar-title{justify-content:space-between}.compact{min-height:27px;padding:4px 9px;font-size:10px}.card-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;display:grid}.card-pill{background:#bfff000d;border:1px solid #bfff0038;border-radius:8px;min-height:92px;padding:10px;position:relative}.card-remove{width:22px;height:22px;color:var(--muted);border:1px solid var(--border);cursor:pointer;z-index:2;background:#08080ab3;border-radius:5px;place-items:center;display:grid;position:absolute;top:7px;right:7px}.card-remove:hover{color:var(--danger);border-color:var(--danger)}.card-pill.urgent{border-color:var(--danger);background:#ef44441a}.card-pill.soon{border-color:var(--don);background:#f59e0b1a}.card-pill span,.card-pill small{color:var(--muted);display:block}.card-pill strong{margin:4px 0 8px;font-family:JetBrains Mono,monospace;display:block}.card-pill b{color:var(--accent);font-family:JetBrains Mono,monospace;font-size:18px;position:absolute;top:34px;right:10px}.empty-card{min-height:92px;color:var(--muted);border:1px dashed var(--border);cursor:pointer;background:0 0;border-radius:8px;place-items:center;gap:6px;display:grid}.dropzone{text-align:center;border:1.5px dashed var(--border);background:var(--panel);border-radius:14px;place-items:center;gap:6px;min-height:150px;padding:28px;display:grid;position:relative}.dropzone input{opacity:0;cursor:pointer;position:absolute;inset:0}.dropzone span{color:var(--muted)}.period-bar{border:1px solid var(--border);background:var(--panel);border-radius:10px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px 12px;margin:12px 0;padding:12px;display:grid}.period-summary,.period-actions{flex-wrap:wrap;gap:8px}.period-summary{align-items:flex-start}.period-summary label,.period-summary .period-field,.period-editor label{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;gap:5px;font-size:10px;font-weight:700;display:grid}.period-editor input{min-width:132px;color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:6px;outline:none;padding:7px 8px}.month-calendar{position:relative}.month-trigger{min-width:152px;min-height:32px;color:var(--text);background:var(--bg);border:1px solid var(--border);cursor:pointer;border-radius:6px;justify-content:space-between;align-items:center;gap:8px;padding:7px 9px;display:inline-flex}.month-trigger svg{color:var(--muted)}.month-popover{z-index:20;border:1px solid var(--border);background:var(--panel-2);border-radius:8px;width:min(260px,100vw - 48px);padding:10px;position:absolute;top:calc(100% + 6px);left:0;box-shadow:0 16px 36px #0000006b}.month-popover-head{grid-template-columns:32px 1fr 32px;align-items:center;gap:6px;margin-bottom:8px;display:grid}.month-popover-head strong{text-align:center;font-family:JetBrains Mono,monospace;font-size:12px}.month-nav{border:1px solid var(--border);background:var(--bg);border-radius:6px;width:30px;height:30px}.month-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;display:grid}.month-cell{min-height:34px;color:var(--text);background:var(--bg);border:1px solid var(--border);cursor:pointer;border-radius:6px;font-weight:700}.month-cell:hover,.month-cell.active{color:#080808;background:var(--accent);border-color:var(--accent)}.saved-periods{flex-wrap:wrap;align-items:center;gap:6px;max-width:min(520px,100%);padding-top:15px;display:flex}.saved-periods>span{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:10px;font-weight:700}.saved-period{text-overflow:ellipsis;white-space:nowrap;max-width:220px;min-height:30px;color:var(--muted);border:1px solid var(--border);cursor:pointer;background:0 0;border-radius:6px;padding:6px 9px;font-weight:700;overflow:hidden}.saved-period:hover,.saved-period.active{color:var(--text);background:#bfff0014;border-color:#bfff0073}.period-copy{gap:2px;min-width:190px;display:grid}.period-copy strong{font-size:13px}.period-copy span,.period-actions span{color:var(--muted);font-size:11px}.period-actions{justify-content:flex-end}.period-editor{border-top:1px solid #1a1a20;flex-wrap:wrap;grid-column:1/-1;gap:8px;padding-top:10px}.period-editor label:nth-child(3) input{min-width:200px}@media (width<=820px){.period-bar{grid-template-columns:1fr}.period-actions{justify-content:flex-start}}@media (width<=560px){.period-summary .period-field,.month-calendar{width:100%}.month-popover{width:min(260px,100%);box-shadow:none;margin-top:6px;position:static}}.toolbar{flex-wrap:wrap;gap:8px;min-height:48px;margin:0 0 18px}.month-picker{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:8px;font-size:10px;font-weight:700;display:inline-flex}.month-picker input,.filter-controls select,.filter-controls input,.search input,.split-box input{color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:6px;outline:none;padding:7px 8px}.chips{flex-wrap:wrap;gap:6px}.chip{border:1px solid var(--border);background:var(--panel);border-radius:6px;align-items:center;gap:7px;max-width:280px;padding:5px 8px;font-size:10px;display:inline-flex}.chip button,.icon{color:var(--muted);cursor:pointer;background:0 0;border:0;place-items:center;display:inline-grid}.primary,.secondary{cursor:pointer;border:1px solid #0000;border-radius:7px;justify-content:center;align-items:center;gap:7px;min-height:32px;padding:7px 13px;font-weight:700;display:inline-flex}.primary{color:#080808;background:var(--accent)}.primary:disabled{color:var(--muted);background:var(--border);cursor:not-allowed}.secondary{color:var(--muted);border-color:var(--border);background:0 0}.secondary:disabled{opacity:.45;cursor:not-allowed}input:disabled,select:disabled{opacity:.72;cursor:not-allowed}.spin{animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.summary-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-bottom:16px;display:grid}.summary{text-align:left;min-height:92px;color:var(--text);background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:12px}.summary span{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;font-size:10px;font-weight:700;display:block}.summary strong{margin-top:7px;font-family:JetBrains Mono,monospace;font-size:15px;display:block}.summary small{color:var(--muted)}.summary.monklabs{border-color:var(--ml);background:#8b5cf61f}.summary.don{border-color:var(--don);background:#f59e0b1f}.summary.personal{border-color:var(--personal);background:#06b6d41a}.summary.hazel_home{border-color:var(--hazel);background:#ec48991a}.summary.review{border-color:var(--danger);background:#ef444414}.summary.active{outline:1px solid var(--accent)}.upload-log,.split-box{border:1px solid var(--border);background:var(--panel);border-radius:10px;margin-bottom:16px;padding:12px}.upload-row{border-top:1px solid #1a1a20;grid-template-columns:minmax(160px,1fr) 70px 120px minmax(140px,1fr);align-items:center;gap:8px;padding:7px 0;display:grid}.upload-row span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.upload-row small{color:var(--muted)}.good{color:var(--accent)}.bad{color:var(--danger)}.split-box{grid-template-columns:minmax(220px,1fr) minmax(280px,1.4fr) 96px auto;align-items:center;gap:12px;display:grid}.split-box span{color:var(--muted);margin-top:4px;display:block}.split-control{gap:8px;display:grid}.split-control input[type=range]{width:100%;accent-color:var(--accent)}.split-row{grid-template-columns:80px 48px 1fr;align-items:center;gap:8px;display:grid}.split-row span{margin:0}.split-row strong,.split-row b{font-family:JetBrains Mono,monospace}.split-row b{text-align:right}.split-percent{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;gap:4px;font-size:10px;font-weight:700;display:grid}.split-percent input{width:100%}.table-head{border-bottom:1px solid var(--border);justify-content:space-between;gap:12px;padding:12px}.table-head span{color:var(--muted)}.table-tools{justify-items:end;gap:8px;display:grid}.filter-controls,.table-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px}.filter-controls{border-bottom:1px solid #1a1a20;padding-bottom:8px}.date-filter{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:7px;font-size:10px;font-weight:700;display:inline-flex}.date-filter input{min-width:132px}.search{color:var(--muted);border:1px solid var(--border);background:var(--bg);border-radius:7px;align-items:center;gap:6px;padding-left:8px;display:inline-flex}.search input{background:0 0;border:0;min-width:170px}.table-scroll{overflow-x:auto}.bulk-bar{color:var(--muted);border-bottom:1px solid var(--border);background:#bfff000d;flex-wrap:wrap;align-items:center;gap:10px;padding:9px 12px;display:flex}.bulk-bar span{color:var(--accent);font-weight:700}.bulk-bar small{color:var(--muted)}table{border-collapse:collapse;width:100%}th{text-align:left;color:var(--muted);background:var(--bg);border-bottom:1px solid var(--border);letter-spacing:.08em;text-transform:uppercase;padding:8px 10px;font-size:9px}.select-cell{text-align:center;width:36px;min-width:36px}.select-cell input{width:16px;min-width:0;height:16px;accent-color:var(--accent)}.sort-button{width:100%;color:inherit;font:inherit;letter-spacing:inherit;text-align:left;text-transform:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:5px;padding:0;display:inline-flex}.sort-button span{color:var(--accent);font-size:8px}td{vertical-align:middle;white-space:nowrap;border-bottom:1px solid #1a1a20;padding:8px 10px}tr:hover td{background:#ffffff04}.desc{text-overflow:ellipsis;max-width:290px;overflow:hidden}.confidence,.low-confidence{color:var(--muted);margin-top:2px;font-size:10px;display:block}.low-confidence{color:var(--don);align-items:center;gap:4px;display:inline-flex}.bank{color:#87ceeb;background:#006eaa1a;border:1px solid #5bb8ff40;border-radius:4px;padding:2px 6px;font-size:10px;display:inline-block}td select,td input,.modal input,.modal select{width:100%;min-width:130px;color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:5px;outline:none;padding:6px 8px}.modal input[type=checkbox]{width:auto;min-width:0}td input{min-width:170px}.amount-input{text-align:right;min-width:110px;max-width:130px;font-family:JetBrains Mono,monospace}.cell-date{min-width:126px}.compare{border:1px solid var(--border);min-width:78px;color:var(--muted);text-transform:capitalize;background:#7a78901a;border-radius:4px;padding:2px 6px;font-size:10px;display:inline-block}.compare.matched{color:var(--accent);background:#bfff0012;border-color:#bfff004d}.compare.ai_missing,.compare.ai_error,.compare.manual_missing,.compare.amount_mismatch,.compare.date_mismatch,.compare.description_mismatch{color:var(--don);background:#f59e0b1a;border-color:#f59e0b59}.compare.ai_unavailable{color:var(--muted)}.empty{height:96px;color:var(--muted);text-align:center}.pagination{color:var(--muted);border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}.pagination-controls{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.pagination label{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:7px;font-size:10px;font-weight:700;display:inline-flex}.pagination select{color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:6px;outline:none;padding:5px 7px}.modal-bg{z-index:20;background:#000000b8;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.modal{background:var(--panel);border:1px solid var(--border);border-radius:12px;grid-template-columns:1fr 1fr;gap:12px;width:min(540px,100%);padding:20px;display:grid;box-shadow:0 24px 60px #00000080}.modal-title,.modal label:nth-of-type(2),.modal-actions{grid-column:1/-1}.modal-title,.modal-actions{justify-content:space-between;align-items:center;display:flex}.modal label{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;gap:5px;font-size:10px;font-weight:700;display:grid}.modal-title span{color:var(--muted);margin-top:3px;font-size:11px;display:block}.review-modal{width:min(680px,100%)}.review-merchant,.suggestion-box,.review-warning,.rules-list,.users-list{grid-column:1/-1}.review-merchant{background:var(--bg);border:1px solid var(--border);border-radius:8px;gap:4px;padding:12px;display:grid}.review-merchant span,.suggestion-box span,.suggestion-box small{color:var(--muted)}.suggestion-box{background:#bfff000f;border:1px solid #bfff003d;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:12px;display:flex}.suggestion-box div{gap:4px;display:grid}.suggestion-box small{display:block}.review-warning{color:var(--don);background:#f59e0b1a;border:1px solid #f59e0b59;border-radius:8px;align-items:center;gap:8px;padding:10px 12px;display:flex}.review-warning span{font-size:12px}.rule-check{align-items:center;gap:8px;display:flex!important}.review-nav{gap:8px;display:flex}.rules-modal{width:min(760px,100%)}.users-modal{width:min(860px,100%)}.rule-add{align-self:end}.rules-list{border:1px solid var(--border);border-radius:8px;max-height:340px;display:grid;overflow:auto}.rule-row{border-bottom:1px solid #1a1a20;grid-template-columns:minmax(150px,1.2fr) 105px minmax(130px,1fr) minmax(140px,1fr) 76px 34px;align-items:center;gap:8px;padding:9px 10px;display:grid}.rule-row:last-child{border-bottom:0}.rule-row input,.rule-row select{min-width:0;color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:5px;padding:6px 8px}.rule-row input{font-family:JetBrains Mono,monospace}.rule-row small{color:var(--muted)}.users-list{border:1px solid var(--border);border-radius:8px;max-height:360px;display:grid;overflow:auto}.user-row{border-bottom:1px solid #1a1a20;grid-template-columns:minmax(180px,1.4fr) 110px 92px minmax(150px,1fr) auto;align-items:center;gap:8px;padding:9px 10px;display:grid}.user-row:last-child{border-bottom:0}.user-row div{gap:3px;display:grid}.user-row small{color:var(--muted)}.user-row input,.user-row select{min-width:0;color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:5px;padding:6px 8px}.active-toggle{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:7px;font-size:10px;font-weight:700;display:inline-flex!important}.active-toggle input{width:auto;min-width:0;accent-color:var(--accent)}@media (width<=900px){.card-grid,.summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.header,.table-head{flex-direction:column;align-items:flex-start}.session-bar{grid-template-columns:1fr}.session-actions{justify-content:flex-start}.split-box,.upload-row,.rule-row,.user-row{grid-template-columns:1fr}}@media (width<=560px){body{padding:16px 10px 28px}.card-grid,.summary-grid,.modal{grid-template-columns:1fr}.actions{justify-content:flex-start}}
