:root{--buncss-light: ;--buncss-dark:initial;color-scheme:dark;--bg:#0b0d12;--surface:#14171f;--surface-2:#191d27;--border:#262b36;--text:#e8eaf0;--muted:#8b93a3;--accent:#6366f1;--accent-soft:#6366f126;--green:#22c55e;--amber:#f59e0b;--red:#f87171;--skeleton-mid:#232836;--logo-glow-opacity:.55;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}:root[data-theme=light]{--buncss-light:initial;--buncss-dark: ;color-scheme:light;--bg:#f6f7fb;--surface:#fff;--surface-2:#eef0f6;--border:#dfe3ec;--text:#1a1e2b;--muted:#5b6474;--red:#dc2626;--skeleton-mid:#dde1ea;--logo-glow-opacity:.35}*{box-sizing:border-box}body{background:radial-gradient(1200px 500px at 10% -10%,#6366f11f,transparent),var(--bg);color:var(--text);min-height:100vh;margin:0;transition:background-color .2s,color .2s}.page{max-width:1920px;margin:0 auto;padding:12px clamp(24px,3vw,56px) 64px}header{display:flex;position:relative;z-index:7;background:color-mix(in srgb,var(--surface)88%,transparent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid color-mix(in srgb,var(--border)85%,transparent);border-radius:14px;justify-content:space-between;align-items: center;margin:0 0 22px;padding:10px 16px;box-shadow:0 10px 32px #00000029}.header-actions,.brand{display:flex;align-items: center;gap:10px}.brand-logo-stack{position:relative;display:grid;flex:none;place-items: center;width:38px;height:38px}.brand-logo-glow{position:absolute;filter:blur(6px);opacity:var(--logo-glow-opacity);background:radial-gradient(circle,#f26b21bf,#0000 65%);border-radius:50%;transition:opacity .2s;inset:-8px}.brand-logo-ring{position:absolute;background:conic-gradient(from 0deg,#f26b21,var(--accent)45%,transparent 70%,#f26b21);-webkit-mask:radial-gradient(farthest-side,#0000 calc(100% - 2.5px),#000 calc(100% - 2px));mask:radial-gradient(farthest-side,#0000 calc(100% - 2.5px),#000 calc(100% - 2px));opacity:.55;animation:14s linear infinite logo-orbit;border-radius:50%;inset:-3px}@keyframes logo-orbit{to{transform:rotate(360deg)}}.brand-logo-disc{position:relative;overflow:hidden;display:grid;animation:.6s cubic-bezier(.34,1.56,.64,1) backwards logo-enter;border-radius:50%;place-items: center;width:34px;height:34px;transition:transform .18s}@keyframes logo-enter{0%{opacity:0;transform:scale(.6)rotate(-20deg)}}.brand-logo{display:block;width:auto;height:34px}.brand-logo-shimmer{position:absolute;animation:6s ease-in-out 1.2s infinite logo-shimmer;background:linear-gradient(115deg,#0000 30%,#ffffff8c 50%,#0000 70%);inset:0;transform:translate(-150%)}@keyframes logo-shimmer{0%,88%{transform:translate(-150%)}94%,to{transform:translate(150%)}}.brand h1{background:linear-gradient(100deg,var(--text)55%,#f26b21);-webkit-text-fill-color:transparent;color:#0000;animation:.5s .12s backwards wordmark-in;-webkit-background-clip:text;background-clip:text}@keyframes wordmark-in{0%{opacity:0;transform:translate(8px)}}.brand:hover .brand-logo-disc{transform:translateY(-1px)scale(1.06)}.brand:hover .brand-logo-glow{opacity:calc(var(--logo-glow-opacity) + .2)}.brand:hover .brand-logo-ring{animation-duration:4s}@media (prefers-reduced-motion:reduce){.brand-logo-ring,.brand-logo-disc,.brand h1{animation:none}.brand-logo-shimmer{display:none}}.theme-toggle{background:var(--surface);border:1px solid var(--border);color:var(--muted);cursor:pointer;display:inline-flex;border-radius:10px;align-items: center;gap:6px;padding:9px 11px;transition:color .12s,background .12s,transform .12s;font-size:.85rem}.theme-toggle:hover{background:var(--surface-2);color:var(--text)}.notice{color:var(--muted);font-size:.82rem}.range-wrap{position:relative}.range-button{background:var(--surface);border:1px solid var(--border);color:var(--text);cursor:pointer;display:inline-flex;border-radius:10px;align-items: center;gap:7px;padding:9px 14px;transition:color .12s,background .12s,transform .12s;font-size:.85rem;font-weight:600}.range-button:hover{background:var(--surface-2)}.range-button-active{border-color:var(--accent);color:var(--accent)}.range-panel{animation:.16s popIn;position:absolute;z-index:20;background:var(--surface);border:1px solid var(--border);display:flex;border-radius:12px;flex-direction:column;gap:10px;width:264px;padding:14px;top:calc(100% + 8px);right:0;box-shadow:0 12px 32px #00000040}.range-panel-title{color:var(--muted);font-size:.8rem;font-weight:600}.range-field{display:flex;color:var(--muted);align-items: center;gap:8px;font-size:.8rem}.range-field span{width:36px}.range-field input{background:var(--surface-2);border:1px solid var(--border);color:var(--text);border-radius:8px;flex:1;padding:7px 8px;font-family:inherit;font-size:.8rem}.range-presets{display:flex;flex-wrap:wrap;gap:6px}.range-preset{background:var(--surface-2);border:1px solid var(--border);color:var(--muted);cursor:pointer;border-radius:999px;padding:4px 10px;transition:color .12s,border-color .12s,transform .12s;font-size:.75rem}.range-preset:hover{color:var(--text);border-color:var(--accent)}.range-panel-error{color:#e5484d;font-size:.78rem}.range-go{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:8px;padding:9px 12px;transition:filter .12s,transform .12s;font-size:.85rem;font-weight:600}.range-go:hover{filter:brightness(1.1)}header h1{letter-spacing:-.02em;margin:0;font-size:1.75rem;font-weight:700}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin-bottom:24px}.stat-card{background:var(--surface);border:1px solid var(--border);display:flex;animation:.22s ease-out backwards fadeUp;border-radius:14px;align-items: center;gap:14px;padding:18px;transition:transform .15s,border-color .15s,box-shadow .15s}.stat-card:nth-child(2){animation-delay:60ms}.stat-card:nth-child(3){animation-delay:.12s}@keyframes fadeUp{0%{opacity:0;transform:translateY(6px)}}.stat-icon{display:flex;border-radius:11px;flex-shrink:0;justify-content:center;align-items: center;width:42px;height:42px;transition:transform .15s}.stat-card:hover,.chart-card:hover{border-color:var(--accent);transform:translateY(-2px);box-shadow:0 8px 24px #0000002e}.stat-card:hover .stat-icon{transform:scale(1.06)}.stat-icon-blue{color:#818cf8;background:#6366f129}.stat-icon-green{color:#4ade80;background:#22c55e29}.stat-icon-amber{color:#fbbf24;background:#f59e0b29}:root[data-theme=light] .stat-icon-blue{color:#4f46e5}:root[data-theme=light] .stat-icon-green{color:#16a34a}:root[data-theme=light] .stat-icon-amber{color:#d97706}.stat-value{font-size:1.25rem;font-weight:700;line-height:1.2}.stat-label{color:var(--muted);margin-top:2px;font-size:.8rem}.analytics{margin-bottom:18px}.analytics-toggle{cursor:pointer;font:inherit;color:var(--muted);background:0 0;border:none;padding:0 0 10px;transition:color .12s,transform .12s;font-size:.85rem;font-weight:600}.analytics-toggle:hover{color:var(--text)}.analytics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:14px}.chart-card{background:var(--surface);border:1px solid var(--border);animation:.22s ease-out backwards fadeUp;border-radius:14px;padding:16px;transition:transform .15s,border-color .15s,box-shadow .15s}.chart-card:nth-child(2){animation-delay:60ms}.chart-card:nth-child(3){animation-delay:.12s}.chart-card h3{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin:0 0 10px;font-size:.8rem;font-weight:600}.chart{display:block;width:100%;height:auto}.chart-bar{fill:var(--accent);opacity:.85;transform-box:fill-box;transform-origin:bottom;animation:.5s backwards barGrow;transition:opacity .12s}.chart-bar:hover{opacity:1}@keyframes barGrow{0%{transform:scaleY(0)}}.chart-area,.chart-line,.chart-dot{animation:.6s backwards fadeIn}.chart-label{fill:var(--muted);font-size:9px}.chart-area{fill:var(--accent-soft)}.chart-line{stroke:var(--accent);stroke-width:2}.chart-dot{fill:var(--accent)}.chart-empty{color:var(--muted);padding:20px 0;font-size:.85rem}.chart-point-value{fill:var(--text);font-size:11px;font-weight:700}.hbar-chart{display:flex;flex-direction:column;gap:8px}.hbar-row{display:grid;grid-template-columns:minmax(96px,38%)1fr auto;align-items: center;gap:8px;font-size:.78rem}.hbar-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hbar-track{background:var(--surface-2);overflow:hidden;border-radius:4px;height:10px}.hbar-fill{display:block;background:var(--accent);animation:.5s backwards hbarGrow;border-radius:4px;height:100%}@keyframes hbarGrow{0%{width:0}}.hbar-row{transition:opacity .12s}.hbar-chart:hover .hbar-row:not(:hover){opacity:.55}.hbar-value{color:var(--muted);white-space:nowrap}.chart-card{cursor:pointer}.chart-modal{position:relative;background:var(--surface);border:1px solid var(--border);overflow-y:auto;animation:.16s ease-out popIn;border-radius:12px;width:min(720px,100vw - 48px);max-height:calc(100vh - 96px);padding:24px;transition:background-color .2s,border-color .2s}.chart-modal h3{margin:0 0 16px}.insights{display:grid;color:var(--muted);gap:6px;margin:16px 0 0;padding:0 0 0 18px;font-size:13.5px}.insights li::marker{color:var(--accent)}.toolbar{display:flex;flex-wrap:wrap;align-items: center;gap:12px;margin-bottom:18px}.search-box{display:flex;background:var(--surface);border:1px solid var(--border);color:var(--muted);border-radius:10px;flex:170px;align-items: center;gap:8px;min-width:170px;max-width:300px;padding:9px 14px;transition:border-color .15s,box-shadow .15s}.search-box:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.search-box input{outline:none;color:var(--text);background:0 0;border:none;width:100%;font-size:.9rem}.month-select{display:flex;background:var(--surface);border:1px solid var(--border);color:var(--muted);border-radius:10px;flex:0 150px;align-items: center;gap:8px;min-width:0;padding:9px 14px;transition:border-color .15s,box-shadow .15s}.month-select:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.month-select select{outline:none;color:var(--text);cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:none;min-width:0;max-width:100%;font-size:.85rem}.month-select select option{background:var(--surface);color:var(--text)}.amount-slider{display:flex;background:var(--surface);border:1px solid var(--border);border-radius:10px;flex:210px;align-items: center;gap:10px;min-width:190px;padding:9px 14px;transition:border-color .15s,box-shadow .15s}.amount-slider:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.amount-slider-label{color:var(--muted);white-space:nowrap;font-variant-numeric:tabular-nums;font-size:12px}.slider-track-wrap{position:relative;flex:1;min-width:70px;height:24px}.slider-track{position:absolute;background:var(--border);border-radius:2px;width:100%;height:4px;top:50%;left:0;transform:translateY(-50%)}.slider-fill{position:absolute;background:var(--accent);border-radius:2px;height:4px;top:50%;transform:translateY(-50%)}.slider-track-wrap input[type=range]{position:absolute;-webkit-appearance:none;appearance:none;pointer-events:none;background:0 0;width:100%;height:24px;margin:0;top:0;left:0}.slider-track-wrap input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;pointer-events:auto;background:var(--accent);border:2px solid var(--surface);cursor:grab;border-radius:50%;width:14px;height:14px;transition:transform .12s;box-shadow:0 1px 3px #00000059}.slider-track-wrap input[type=range]::-moz-range-thumb{appearance:none;pointer-events:auto;background:var(--accent);border:2px solid var(--surface);cursor:grab;border-radius:50%;width:14px;height:14px;transition:transform .12s;box-shadow:0 1px 3px #00000059}.slider-track-wrap input[type=range]:hover::-webkit-slider-thumb{transform:scale(1.15)}.slider-track-wrap input[type=range]:hover::-moz-range-thumb{transform:scale(1.15)}.slider-track-wrap input[type=range]:active::-webkit-slider-thumb{cursor:grabbing}.slider-track-wrap input[type=range]:active::-moz-range-thumb{cursor:grabbing}.clear-filters{cursor:pointer;color:var(--muted);text-decoration:underline;background:0 0;border:none;padding:0;transition:color .12s,transform .12s;font-size:.85rem}.clear-filters:hover{color:var(--text)}.records{display:flex;flex-direction:column;min-height:0}.records-bar{display:flex;justify-content:space-between;align-items: center;margin-bottom:10px}.records-count{color:var(--muted);font-size:.8rem;font-weight:600}.records-expand{background:var(--surface);border:1px solid var(--border);color:var(--muted);cursor:pointer;display:inline-flex;border-radius:10px;align-items: center;gap:7px;padding:7px 12px;transition:color .12s,background .12s,transform .12s;font-size:.8rem;font-weight:600}.records-expand:hover{color:var(--text);background:var(--surface-2)}.records-fullscreen{position:fixed;z-index:9;background:var(--bg);padding:20px 24px 24px;inset:0}.records-fullscreen .table-wrap{overflow-y:auto;flex:1;min-height:0}.table-wrap{background:var(--surface);border:1px solid var(--border);overflow:visible;border-radius:14px;transition:background-color .2s,border-color .2s}thead th{position:sticky;z-index:4;box-shadow:inset 0 -1px 0 var(--border);border-bottom:none;top:0}table{border-collapse:collapse;width:100%;font-size:.88rem}th,td{text-align:left;border-bottom:1px solid var(--border);padding:13px 16px}th{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;background:var(--surface-2);font-size:.7rem;font-weight:600}tbody tr:last-child td{border-bottom:none}.col-amount{text-align:right;font-variant-numeric:tabular-nums;font-weight:600}.amount-original{color:var(--muted);font-size:.75rem;font-weight:400}.col-received{color:var(--muted);white-space:nowrap}.col-title{font-weight:600}@keyframes popIn{0%{opacity:0;transform:translateY(-4px)scale(.98)}}.row{cursor:pointer;animation:.22s ease-out backwards fadeUp;transition:background .12s}.row:hover{background:var(--surface-2)}.row td:first-child{transition:box-shadow .12s;box-shadow:inset 2px 0 #0000}.row:hover td:first-child{box-shadow:inset 2px 0 0 var(--accent)}tbody .row:first-child{animation-delay:0s}tbody .row:nth-child(2){animation-delay:30ms}tbody .row:nth-child(3){animation-delay:60ms}tbody .row:nth-child(4){animation-delay:90ms}tbody .row:nth-child(5){animation-delay:.12s}tbody .row:nth-child(6){animation-delay:.15s}tbody .row:nth-child(7){animation-delay:.18s}tbody .row:nth-child(8){animation-delay:.21s}.org-cell{display:flex;align-items: center;gap:10px}.avatar{display:inline-flex;color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items: center;width:26px;height:26px;font-size:.68rem;font-weight:700}.avatar-lg{width:48px;height:48px;font-size:1rem}.badge{display:inline-block;text-transform:capitalize;background:var(--surface-2);color:var(--muted);border:1px solid var(--border);border-radius:999px;padding:3px 10px;font-size:.72rem;font-weight:600}.badge-invoice{color:#4ade80;background:#22c55e24;border-color:#22c55e4d}.badge-receipt{color:#a5b4fc;background:#6366f124;border-color:#6366f14d}.badge-quote{color:#fbbf24;background:#f59e0b24;border-color:#f59e0b4d}.badge-statement{color:#7dd3fc;background:#38bdf824;border-color:#38bdf84d}:root[data-theme=light] .badge-invoice{color:#15803d}:root[data-theme=light] .badge-receipt{color:#4f46e5}:root[data-theme=light] .badge-quote{color:#b45309}:root[data-theme=light] .badge-statement{color:#0369a1}.status-badge{display:inline-block;cursor:pointer;color:#fbbf24;background:#f59e0b24;border:1px solid #f59e0b4d;border-radius:999px;padding:3px 10px;transition:transform .12s,filter .12s;font-family:inherit;font-size:.72rem;font-weight:600}.status-badge:hover{filter:brightness(1.15);transform:scale(1.06)}.status-badge:active{transform:scale(.96)}.status-badge.status-paid{color:#4ade80;background:#22c55e24;border-color:#22c55e4d}:root[data-theme=light] .status-badge{color:#b45309}:root[data-theme=light] .status-badge.status-paid{color:#15803d}.th-sort{font:inherit;color:inherit;cursor:pointer;text-transform:inherit;letter-spacing:inherit;background:0 0;border:none;padding:0;transition:color .12s,transform .12s}.th-sort:hover{color:var(--text)}.skeleton{background:linear-gradient(90deg,var(--surface-2)25%,var(--skeleton-mid)37%,var(--surface-2)63%);animation:1.4s infinite shimmer;background-size:400% 100%;border-radius:6px;height:18px}@keyframes shimmer{0%{background-position:100%}to{background-position:0}}.empty-state{text-align:center;color:var(--muted);background:var(--surface);border:1px dashed var(--border);border-radius:14px;padding:64px 20px;transition:background-color .2s,border-color .2s}.empty-state svg{opacity:.5;margin-bottom:10px}.empty-state p{margin:4px 0}.empty-hint{font-size:.85rem}.error{color:var(--red)}.overlay{position:fixed;backdrop-filter:blur(2px);display:flex;z-index:10;animation:.15s fadeIn;background:#04050899;justify-content:flex-end;inset:0}.overlay-center{justify-content:center;align-items: center;padding:24px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.drawer{background:var(--surface);border:1px solid var(--border);overflow-y:auto;position:relative;animation:.2s popIn;border-radius:16px;width:min(560px,94vw);max-height:90vh;padding:28px 26px 40px;transition:background-color .2s,border-color .2s;box-shadow:0 24px 60px #04050859}@keyframes popIn{0%{transform:scale(.96);opacity:0}to{transform:scale(1);opacity:1}}.close{position:absolute;color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:8px;padding:6px;top:20px;right:20px}.close:hover{background:var(--surface-2);color:var(--text)}.drawer-header{display:flex;align-items: center;gap:14px;margin-right:30px}.drawer-header-text{min-width:0}.drawer-header h2{display:-webkit-box;-webkit-line-clamp:2;overflow:hidden;-webkit-box-orient:vertical;margin:0;font-size:1.15rem;line-height:1.3}.drawer-org{color:var(--muted);margin:3px 0 0;font-size:.85rem}.amount-row{display:flex;justify-content:space-between;align-items: flex-start;gap:12px;margin:22px 0 18px}.amount-hero{font-variant-numeric:tabular-nums;font-size:1.9rem;font-weight:700;line-height:1.15}.amount-hero-original{color:var(--muted);margin-top:4px;font-size:.85rem;font-weight:400}.rate-info{opacity:.55;cursor:help;margin-left:4px;font-size:11px}.amount-hero-original[title],.amount-original[title]{cursor:help}.status-pill{color:#fbbf24;cursor:pointer;background:#f59e0b24;border:1px solid #f59e0b4d;border-radius:999px;flex-shrink:0;margin-top:2px;padding:8px 16px;transition:transform .12s,filter .12s;font-family:inherit;font-size:.8rem;font-weight:700}.status-pill:hover{filter:brightness(1.15);transform:scale(1.04)}.status-pill:active{transform:scale(.96)}.status-pill.status-paid{color:#4ade80;background:#22c55e24;border-color:#22c55e4d}:root[data-theme=light] .status-pill{color:#b45309}:root[data-theme=light] .status-pill.status-paid{color:#15803d}.attachment-preview{background:var(--surface-2);border:1px solid var(--border);display:flex;overflow:hidden;border-radius:12px;justify-content:center;align-items: center;min-height:160px;margin-bottom:10px}.attachment-preview img{object-fit:contain;display:block;background:#eef0f4;width:100%;max-height:300px}.pdf-preview{border-radius:inherit;display:block;border:none;width:100%;height:380px}.attachment-placeholder{display:inline-flex;background:var(--surface);border:1px solid var(--border);color:var(--muted);letter-spacing:.05em;border-radius:999px;justify-content:center;align-items: center;min-width:64px;padding:6px 16px;font-size:.85rem;font-weight:700}.attachment-actions{display:flex;flex-wrap:wrap;gap:8px}.ghost-btn{display:inline-flex;background:var(--surface);border:1px solid var(--border);color:var(--accent);text-decoration:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border-radius:8px;align-items: center;gap:6px;max-width:100%;padding:7px 12px;transition:border-color .12s,background .12s,transform .12s;font-size:.8rem;font-weight:500}.ghost-btn:hover{background:var(--surface-2);border-color:var(--accent)}.ghost-btn:active{transform:scale(.97)}.ghost-btn-danger{color:var(--red);border-color:color-mix(in srgb,var(--red)40%,transparent)}.ghost-btn-danger:hover{background:color-mix(in srgb,var(--red)12%,transparent);border-color:var(--red)}.ghost-btn:disabled{opacity:.6;cursor:not-allowed}.confirm-overlay{z-index:20}.confirm-dialog{background:var(--surface);border:1px solid var(--border);animation:.15s ease-out fadeIn;border-radius:14px;width:100%;max-width:420px;padding:22px 24px;box-shadow:0 24px 60px #00000059}.confirm-dialog h3{margin:0 0 8px;font-size:16px}.confirm-dialog p{color:var(--muted);margin:0 0 16px;font-size:14px;line-height:1.5}.confirm-actions{display:flex;justify-content:flex-end;gap:8px}.detail-card{background:var(--surface-2);border:1px solid var(--border);border-radius:12px;margin-top:14px;padding:16px 18px}.detail-card-title{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:0 0 12px;font-size:.72rem;font-weight:700}.detail-grid{display:grid;grid-template-columns:100px 1fr;gap:12px;font-size:.86rem}.detail-label{color:var(--muted)}.detail-value{overflow-wrap:break-word;min-width:0}.detail-muted{color:var(--muted);font-size:.82rem}.classification-card{margin-top:12px}.classification-row{display:flex;flex-wrap:wrap;align-items: center;gap:10px}.confidence-value{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.82rem;font-weight:600}.classification-reason{color:var(--muted);margin:10px 0 0;font-size:.8rem;line-height:1.5}@media (max-width:640px){.stats{grid-template-columns:1fr}.detail-grid{grid-template-columns:1fr;gap:4px 12px}.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.table-wrap table{min-width:680px}header{flex-wrap:wrap;row-gap:10px;padding:10px 12px}header h1{font-size:1.05rem}.header-actions{flex-wrap:wrap;justify-content:flex-end;width:100%}}.row:hover .avatar{transform:scale(1.12)}.avatar{transition:transform .12s}.row:hover .col-title{color:var(--accent)}.col-title{transition:color .12s}button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}input:focus-visible{outline:2px solid var(--accent);outline-offset:2px}select:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.theme-toggle:active,.range-button:active,.clear-filters:active,.analytics-toggle:active,.th-sort:active,.range-preset:active,.range-go:active,.records-expand:active{transform:scale(.97)}@media (prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:1ms!important;animation-iteration-count:1!important;transition-duration:1ms!important}}.auth-splash{display:grid;place-items: center;min-height:100vh}.auth-splash-spinner{border:3px solid var(--border);border-top-color:var(--accent);animation:.8s linear infinite spin;border-radius:50%;width:34px;height:34px}@keyframes spin{to{transform:rotate(360deg)}}.login-page{display:flex;position:relative;overflow:hidden;flex-direction:column;justify-content:center;align-items: center;gap:28px;min-height:100vh;padding:24px}.login-backdrop{position:absolute;pointer-events:none;background:radial-gradient(600px 340px at 18% 12%,var(--accent-soft),transparent 70%),radial-gradient(520px 320px at 85% 85%,#22c55e1a,transparent 70%);inset:0}.login-card{position:relative;background:var(--surface);border:1px solid var(--border);text-align:center;animation:.35s both fadeUp;border-radius:18px;width:min(420px,100%);padding:40px 36px 32px;box-shadow:0 24px 60px #00000040}.login-logo{width:auto;height:44px}.login-title{letter-spacing:-.02em;margin:14px 0 4px;font-size:26px}.login-subtitle{color:var(--muted);margin:0 0 22px;font-size:14px}.login-features{list-style:none;display:grid;text-align:left;gap:12px;margin:0 0 26px;padding:0}.login-features li{display:flex;color:var(--muted);align-items: flex-start;gap:10px;font-size:13px;line-height:1.45}.login-feature-icon{display:grid;background:var(--accent-soft);color:var(--accent);border-radius:8px;flex:none;place-items: center;width:28px;height:28px}.login-google{display:inline-flex;border:1px solid var(--border);background:var(--surface-2);color:var(--text);cursor:pointer;border-radius:999px;justify-content:center;align-items: center;gap:10px;width:100%;padding:12px 18px;transition:border-color .15s,background .15s,transform .15s,box-shadow .15s;font-size:15px;font-weight:600}.login-google:hover:not(:disabled){border-color:var(--accent);box-shadow:0 4px 18px var(--accent-soft);transform:translateY(-1px)}.login-google:active:not(:disabled){transform:scale(.98)}.login-google:disabled{opacity:.7;cursor:progress}.login-error{border:1px solid color-mix(in srgb,var(--red)40%,transparent);background:color-mix(in srgb,var(--red)12%,transparent);color:var(--red);border-radius:10px;margin:16px 0 0;padding:10px 14px;font-size:13px;line-height:1.45}.login-hint{color:var(--muted);margin:18px 0 0;font-size:12px;line-height:1.5}.login-footer{position:relative;color:var(--muted);font-size:12px}.user-menu-wrap{position:relative}.user-chip{display:inline-flex;border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;border-radius:999px;align-items: center;gap:8px;padding:5px 12px 5px 6px;transition:border-color .15s,background .15s;font-size:13px;font-weight:500}.user-chip:hover{border-color:var(--accent)}.user-avatar{object-fit:cover;border-radius:50%;width:26px;height:26px}.user-avatar-fallback{width:26px;height:26px;font-size:11px}.user-menu{position:absolute;background:var(--surface);border:1px solid var(--border);z-index:30;animation:.16s both fadeUp;border-radius:12px;min-width:230px;padding:6px;top:calc(100% + 8px);right:0;box-shadow:0 14px 40px #0000004d}.user-menu-id{border-bottom:1px solid var(--border);text-align:left;padding:10px 12px}.user-menu-name{font-size:14px;font-weight:600}.user-menu-email{color:var(--muted);word-break:break-all;margin-top:2px;font-size:12px}.user-menu-signout{display:block;color:var(--red);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:8px;width:100%;margin-top:6px;padding:9px 12px;transition:background .15s;font-size:13px;font-weight:500}.user-menu-signout:hover{background:color-mix(in srgb,var(--red)12%,transparent)}.cat-chip{display:inline-flex;white-space:nowrap;color:var(--cat);background:color-mix(in srgb,var(--cat)13%,transparent);border:1px solid color-mix(in srgb,var(--cat)30%,transparent);border-radius:999px;align-items: center;gap:6px;padding:3px 10px;font-size:12px;font-weight:500}.cat-chip:before{content:"";background:var(--cat);border-radius:50%;flex:none;width:7px;height:7px}:root[data-theme=light] .cat-chip{color:color-mix(in srgb,var(--cat)72%,black)}.donut-chart{display:flex;flex-direction:column;gap:14px}.donut-svg{flex:none;width:118px;height:118px;margin:0 auto}.donut-segment{transition:stroke-width .15s,opacity .15s}.donut-svg:hover .donut-segment:not(:hover){opacity:.45}.donut-segment:hover{stroke-width:6.4}.donut-total{fill:var(--text);font-size:5px;font-weight:700}.donut-total-label{fill:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:2.8px}.donut-legend{list-style:none;display:grid;flex:1;gap:7px;min-width:0;margin:0;padding:0}.donut-legend li{display:flex;align-items: center;gap:8px;min-width:0;font-size:12px}.donut-dot{border-radius:50%;flex:none;width:8px;height:8px}.donut-label{color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.donut-value{white-space:nowrap;margin-left:auto;font-weight:600}.chart-modal .donut-chart{flex-direction:row;align-items: center;gap:20px}.chart-modal .donut-svg{width:180px;height:180px;margin:0}.stat-icon-purple{color:#c084fc;background:#a855f729}:root[data-theme=light] .stat-icon-purple{color:#9333ea}.stat-delta{display:inline-flex;vertical-align:middle;border-radius:999px;align-items: center;gap:2px;margin-left:8px;padding:2px 7px;font-size:11px;font-weight:600}.stat-delta-up{color:var(--red);background:color-mix(in srgb,var(--red)12%,transparent)}.stat-delta-down{color:var(--green);background:color-mix(in srgb,var(--green)12%,transparent)}.amount-wrap{position:relative}.amount-button{background:var(--surface);border:1px solid var(--border);color:var(--text);cursor:pointer;display:inline-flex;border-radius:10px;align-items: center;gap:7px;padding:9px 14px;transition:color .12s,background .12s,border-color .12s,transform .12s;font-size:.85rem}.amount-button:hover{background:var(--surface-2)}.amount-button-active{border-color:var(--accent);color:var(--accent);font-variant-numeric:tabular-nums}.amount-panel{animation:.16s popIn;position:absolute;z-index:20;background:var(--surface);border:1px solid var(--border);display:flex;border-radius:12px;flex-direction:column;gap:12px;width:280px;padding:14px;top:calc(100% + 8px);left:0;box-shadow:0 12px 32px #00000040}.amount-inputs{display:flex;align-items: center;gap:8px}.amount-inputs label{display:flex;color:var(--muted);flex:1;align-items: center;gap:6px;font-size:.75rem}.amount-inputs input{background:var(--surface-2);border:1px solid var(--border);color:var(--text);font-variant-numeric:tabular-nums;border-radius:8px;width:100%;min-width:0;padding:7px 8px;font-family:inherit;font-size:.8rem}.amount-dash{color:var(--muted)}.filter-chips{display:flex;animation:.18s both fadeUp;flex-wrap:wrap;align-items: center;gap:8px;margin:10px 0 14px}.filter-chips-label{color:var(--muted);font-size:12px}.filter-chip{display:inline-flex;border:1px solid color-mix(in srgb,var(--accent)35%,transparent);background:var(--accent-soft);color:var(--accent);cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border-radius:999px;align-items: center;gap:6px;max-width:260px;padding:4px 10px;transition:background .12s,transform .12s;font-size:12px;font-weight:500}.filter-chip:hover{background:color-mix(in srgb,var(--accent)22%,transparent)}.filter-chips-count{color:var(--muted);font-variant-numeric:tabular-nums;margin-left:auto;font-size:12px}.chart-wrap{position:relative}.chart-tip{position:absolute;background:var(--surface-2);border:1px solid var(--border);color:var(--text);pointer-events:none;white-space:nowrap;z-index:5;animation:.12s popIn;border-radius:8px;padding:5px 9px;font-size:11.5px;font-weight:500;transform:translate(-50%,calc(-100% - 8px));box-shadow:0 8px 20px #00000040}.chart-grid{stroke:var(--border);stroke-width:1;stroke-dasharray:2 4;opacity:.7}.chart-avg{stroke:var(--muted);stroke-width:1;stroke-dasharray:5 4;opacity:.75}.chart-avg-label{fill:var(--muted);letter-spacing:.06em;font-size:8px}.chart-crosshair{stroke:var(--accent);stroke-width:1;opacity:.5}.chart-bar-dim{opacity:.35}.overlay,.overlay-center{backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}.login-backdrop{animation:14s ease-in-out infinite alternate loginGlow}@keyframes loginGlow{0%{opacity:.75;transform:scale(1)translateY(0)}to{opacity:1;transform:scale(1.08)translateY(-12px)}}.login-card{transition:transform .25s,box-shadow .25s}.login-card:hover{transform:translateY(-2px);box-shadow:0 30px 70px #0000004d}.stat-body{flex:1;min-width:0}.stat-label-row{display:flex;flex-wrap:wrap;align-items: center;gap:4px}.stat-select{border:none;border-bottom:1px dashed var(--border);color:var(--muted);font:inherit;cursor:pointer;background:0 0;padding:0 2px 1px;transition:color .12s,border-color .12s;font-size:.8rem}.stat-select:hover{color:var(--accent);border-color:var(--accent)}.stat-custom-range{display:flex;color:var(--muted);align-items: center;gap:6px;margin-top:8px;font-size:.75rem}.stat-custom-range input{background:var(--surface-2);border:1px solid var(--border);color:var(--text);border-radius:7px;flex:1;min-width:0;padding:4px 6px;font-family:inherit;font-size:.75rem}.stat-value-category{display:flex;align-items: center;gap:8px;font-size:1.05rem;line-height:1.3}.stat-cat-dot{border-radius:50%;flex:none;width:10px;height:10px}.period-wrap{position:relative;display:inline-flex}.period-button{display:inline-flex;border:1px solid color-mix(in srgb,var(--accent)35%,transparent);background:var(--accent-soft);color:var(--accent);font:inherit;cursor:pointer;border-radius:999px;align-items: center;gap:6px;padding:4px 10px;transition:background .15s,border-color .15s,transform .15s,box-shadow .15s;font-size:.78rem;font-weight:600}.period-button:hover{background:color-mix(in srgb,var(--accent)22%,transparent);box-shadow:0 2px 10px var(--accent-soft)}.period-caret{transition:transform .18s;font-size:.65rem}.period-caret-open{transform:rotate(180deg)}.period-menu{animation:.16s popIn;position:absolute;z-index:25;background:var(--surface);border:1px solid var(--border);display:flex;border-radius:12px;flex-direction:column;gap:2px;min-width:190px;padding:6px;top:calc(100% + 8px);left:0;box-shadow:0 14px 40px #0000004d}.period-option{display:flex;color:var(--text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:space-between;align-items: center;gap:10px;width:100%;padding:8px 12px;transition:background .12s,color .12s;font-size:.82rem}.period-option:hover{background:var(--surface-2)}.period-option-active{color:var(--accent);background:var(--accent-soft);font-weight:600}.period-check{font-size:.75rem}.period-custom{display:flex;border-top:1px solid var(--border);color:var(--muted);flex-wrap:wrap;align-items: center;gap:6px;margin-top:4px;padding:8px 10px 6px;font-size:.75rem}.period-custom input{background:var(--surface-2);border:1px solid var(--border);color:var(--text);border-radius:7px;flex:1;min-width:108px;padding:5px 7px;font-family:inherit;font-size:.75rem}.period-apply{background:var(--accent);color:#fff;font:inherit;cursor:pointer;border:none;border-radius:8px;width:100%;margin-top:6px;padding:7px 10px;transition:filter .12s,transform .12s;font-size:.78rem;font-weight:600}.period-apply:hover{filter:brightness(1.1)}.stat-card-expense{overflow:visible;position:relative;z-index:6}.donut-svg{transform-origin:50% 50%;animation:.6s both donutIn}@keyframes donutIn{0%{opacity:0;transform:rotate(-70deg)scale(.92)}}.stat-card:nth-child(4),.chart-card:nth-child(4){animation-delay:.18s}.donut-svg{animation:.5s cubic-bezier(.22,1,.36,1) both donutIn}@keyframes donutIn{0%{opacity:0;transform:rotate(-14deg)scale(.92)}}tbody tr.row{position:relative;transition:background-color .12s,box-shadow .12s}tbody tr.row:hover td:first-child{box-shadow:inset 3px 0 0 var(--accent)}.stat-value{font-variant-numeric:tabular-nums}.login-backdrop:before,.login-backdrop:after{content:"";position:absolute;filter:blur(70px);opacity:.5;border-radius:50%}.login-backdrop:before{background:radial-gradient(circle,var(--accent)0%,transparent 70%);animation:16s ease-in-out infinite alternate orbFloatA;width:340px;height:340px;top:12%;left:12%}.login-backdrop:after{animation:20s ease-in-out infinite alternate orbFloatB;background:radial-gradient(circle,#22c55e 0%,#0000 70%);width:280px;height:280px;bottom:12%;right:10%}@keyframes orbFloatA{0%{transform:translate(0)scale(1)}to{transform:translate(60px,40px)scale(1.12)}}@keyframes orbFloatB{0%{transform:translate(0)scale(1.08)}to{transform:translate(-50px,-35px)scale(.95)}}.login-logo{animation:5s ease-in-out infinite alternate levitate}@keyframes levitate{0%{transform:translateY(0)}to{transform:translateY(-6px)}}.stat-card-action{cursor:pointer;user-select:none}.stat-card-action:active{transform:scale(.99)}.stat-card-active{border-color:var(--amber);box-shadow:0 0 0 3px color-mix(in srgb,var(--amber)18%,transparent)}.stat-action-hint{color:color-mix(in srgb,var(--muted)75%,transparent);font-size:.72rem}.stat-card-active .stat-action-hint{color:var(--amber)}body{background:radial-gradient(900px 520px at 12% -5%,#6366f138,transparent 60%),radial-gradient(720px 480px at 88% 10%,#ec489921,transparent 65%),radial-gradient(820px 540px at 50% 108%,#22c55e1f,transparent 60%),var(--bg);background-attachment:fixed}:root[data-theme=light] body{background:radial-gradient(900px 520px at 12% -5%,#6366f129,transparent 60%),radial-gradient(720px 480px at 88% 10%,#ec48991a,transparent 65%),radial-gradient(820px 540px at 50% 108%,#22c55e1a,transparent 60%),var(--bg);background-attachment:fixed}header,.stat-card,.chart-card,.table-wrap,.search-box,.month-select,.range-button,.amount-button,.theme-toggle,.user-chip,.records-expand,.login-card{background:color-mix(in srgb,var(--surface)60%,transparent);backdrop-filter:blur(18px)saturate(1.35);-webkit-backdrop-filter:blur(18px)saturate(1.35);border-color:color-mix(in srgb,var(--border)72%,transparent);box-shadow:inset 0 1px #ffffff12}.range-panel,.amount-panel,.period-menu,.user-menu,.chart-modal,.drawer{background:color-mix(in srgb,var(--surface)82%,transparent);backdrop-filter:blur(22px)saturate(1.35);-webkit-backdrop-filter:blur(22px)saturate(1.35)}thead th{background:color-mix(in srgb,var(--surface-2)72%,transparent);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}.theme-toggle:hover,.range-button:hover,.amount-button:hover{background:color-mix(in srgb,var(--surface-2)70%,transparent)}.chatbot{position:fixed;z-index:60;display:flex;flex-direction:column;align-items: flex-end;gap:12px;bottom:24px;right:24px}.chat-fab{border:1px solid var(--border);background:linear-gradient(135deg,var(--accent),#8b5cf6);color:#fff;display:grid;cursor:pointer;animation:2.4s ease-in-out infinite chat-pulse;border-radius:50%;place-items: center;width:56px;height:56px;transition:transform .15s,box-shadow .15s;box-shadow:0 8px 24px #6366f166}.chat-fab:hover{transform:scale(1.08)}.chat-fab.open{animation:none;font-size:20px}@keyframes chat-pulse{0%,to{box-shadow:0 8px 24px #6366f166}50%{box-shadow:0 8px 32px #6366f1a6}}.chat-panel{display:flex;border:1px solid var(--border);background:color-mix(in srgb,var(--surface)88%,transparent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);overflow:hidden;animation:.18s chat-pop;border-radius:18px;flex-direction:column;width:min(380px,100vw - 32px);height:min(560px,100vh - 120px);box-shadow:0 16px 48px #00000059}@keyframes chat-pop{0%{opacity:0;transform:translateY(12px)scale(.97)}to{opacity:1;transform:none}}.chat-header{display:flex;border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--surface-2)70%,transparent);align-items: center;gap:10px;padding:14px 16px}.chat-avatar{display:grid;flex:none;place-items: center;width:38px;height:38px}.chat-title{font-size:14px;font-weight:600}.chat-status{display:flex;color:var(--muted);align-items: center;gap:6px;font-size:12px}.chat-dot{background:var(--green);box-shadow:0 0 6px var(--green);border-radius:50%;width:8px;height:8px}.chat-messages{overflow-y:auto;display:flex;flex-direction:column;flex:1;gap:10px;padding:14px}.chat-bubble{overflow-wrap:anywhere;border-radius:14px;max-width:85%;padding:9px 13px;font-size:13.5px;line-height:1.5}.chat-bubble.user{background:var(--accent);color:#fff;border-bottom-right-radius:4px;align-self: flex-end}.chat-bubble.bot{background:var(--surface-2);border:1px solid var(--border);border-bottom-left-radius:4px;align-self: flex-start}.chat-md p{margin:0 0 6px}.chat-md p:last-child{margin-bottom:0}.chat-md ul{margin:0 0 6px;padding-left:18px}.chat-md li::marker{color:var(--accent)}.chat-chips{display:flex;flex-wrap:wrap;gap:8px}.chat-chip{border:1px solid var(--border);background:var(--surface-2);color:var(--text);cursor:pointer;border-radius:999px;padding:6px 12px;transition:border-color .12s,background .12s;font-size:12.5px}.chat-chip:hover{border-color:var(--accent);background:var(--accent-soft)}.chat-typing{display:flex;align-items: center;gap:4px}.chat-typing span{background:var(--muted);animation:1.2s infinite chat-blink;border-radius:50%;width:7px;height:7px}.chat-typing span:nth-child(2){animation-delay:.2s}.chat-typing span:nth-child(3){animation-delay:.4s}@keyframes chat-blink{0%,80%,to{opacity:.25}40%{opacity:1}}.chat-error{border-color:var(--red)}.chat-retry{color:var(--accent);cursor:pointer;background:0 0;border:none;padding:0;font-size:13px}.chat-input-row{display:flex;border-top:1px solid var(--border);gap:8px;padding:12px}.chat-input{border:1px solid var(--border);background:var(--surface-2);color:var(--text);outline:none;border-radius:999px;flex:1;padding:9px 14px;font-size:13.5px}.chat-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.chat-send{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:50%;width:40px;height:40px;font-size:15px}.chat-send:disabled{opacity:.45;cursor:default}@media (max-width:560px){.chatbot{bottom:12px;right:12px}}.status-chip{display:inline-block;white-space:nowrap;border-radius:999px;padding:3px 10px;font-size:12px;font-weight:600}.status-not-authorised{color:#64748b;background:#94a3b82e}.status-authorised{color:#2563eb;background:#3b82f629}.status-paid{color:#16a34a;background:#22c55e29}.entry-modal{position:relative;overflow-y:auto;background:var(--surface);border:1px solid var(--border);display:flex;border-radius:14px;flex-direction:column;gap:12px;width:min(480px,92vw);max-height:90vh;padding:22px}.entry-modal h3{margin:0 0 4px}.entry-row{display:flex;gap:12px}.entry-row .entry-field{flex:1}.entry-field{display:flex;flex-direction:column;gap:4px;font-size:13px}.entry-field span{color:var(--muted);font-weight:600}.entry-field input,.entry-field select{background:var(--bg);color:var(--text);border:1px solid var(--border);font:inherit;border-radius:8px;padding:8px 10px}.entry-error{color:#ef4444;font-size:13px}.entry-hint{color:var(--muted);font-size:12px;font-style:normal;font-weight:400}.entry-hint-ok{color:#16a34a}.entry-hint-warn{color:#d97706}.entry-save{cursor:pointer;color:#fff;background:#2563eb;border:none;border-radius:8px;padding:10px;font-weight:600}.entry-save:disabled{opacity:.5;cursor:default}.workflow-card{display:flex;flex-direction:column;gap:10px}.workflow-status-row{display:flex;align-items: center;gap:8px}.workflow-meta{color:var(--muted);margin:0;font-size:13px}.workflow-actions{display:flex;align-items: center;gap:8px}.workflow-actions select{background:var(--bg);color:var(--text);border:1px solid var(--border);font:inherit;border-radius:8px;flex:1;padding:8px 10px}.workflow-btn{cursor:pointer;color:#fff;white-space:nowrap;background:#2563eb;border:none;border-radius:8px;padding:9px 14px;font-weight:600}.workflow-btn:disabled{opacity:.5;cursor:default}.workflow-pay-form{display:flex;flex-direction:column;gap:10px}.workflow-paid,.workflow-share{display:flex;flex-direction:column;gap:8px}.workflow-share-title{color:var(--muted);margin:4px 0 0;font-size:13px}.share-suggestions{display:flex;flex-wrap:wrap;align-items: center;gap:6px}.share-suggestions-label{color:var(--muted);font-size:12px}.chip-suggested{border-style:dashed;border-color:var(--border);color:var(--muted);background:0 0}.chip-suggested:hover{background:var(--accent-soft);border-color:color-mix(in srgb,var(--accent)35%,transparent);color:var(--accent)}.share-chips{display:flex;border:1px solid var(--border);background:var(--bg);border-radius:8px;flex-wrap:wrap;align-items: center;gap:6px;padding:6px}.share-chips input{outline:none;color:var(--text);font:inherit;background:0 0;border:none;flex:1;min-width:160px;padding:4px}.chip{display:inline-flex;border:1px solid color-mix(in srgb,var(--accent)35%,transparent);background:var(--accent-soft);color:var(--accent);cursor:pointer;white-space:nowrap;border-radius:999px;align-items: center;gap:6px;padding:4px 10px;transition:background .12s,transform .12s;font-size:12px;font-weight:500}.chip:hover{background:color-mix(in srgb,var(--accent)22%,transparent)}.health-banner{display:flex;border:1px solid #0000;border-radius:10px;flex-wrap:wrap;align-items:baseline;gap:6px 14px;margin:0 0 16px;padding:12px 16px;font-size:13px;line-height:1.45}.health-banner-blocked{color:#991b1b;background:#fef2f2;border-color:#fecaca}.health-banner-degraded{color:#92400e;background:#fffbeb;border-color:#fde68a}.health-banner-detail{opacity:.9}.health-banner-meta{opacity:.75;margin-left:auto;font-size:12px}:root[data-theme=dark] .health-banner-blocked{color:#fca5a5;background:#2a1113;border-color:#7f1d1d}:root[data-theme=dark] .health-banner-degraded{color:#fcd34d;background:#2a2110;border-color:#78350f}.notif-wrap{position:relative}.notif-button{position:relative;display:grid;cursor:pointer;background:var(--surface);border:1px solid var(--border);color:inherit;border-radius:9px;place-items: center;width:36px;height:36px}.notif-badge{position:absolute;color:#fff;display:grid;background:#dc2626;border-radius:9px;place-items: center;min-width:17px;height:17px;padding:0 4px;font-size:10px;font-weight:700;top:-5px;right:-5px}.notif-panel{position:absolute;overflow-y:auto;z-index:40;background:var(--surface);border:1px solid var(--border);border-radius:12px;width:340px;max-height:420px;padding:6px;top:calc(100% + 8px);right:0;box-shadow:0 12px 32px #0000002e}.notif-empty{text-align:center;opacity:.6;padding:18px;font-size:13px}.notif-item{border-left:3px solid #0000;border-radius:9px;padding:10px 12px}.notif-item+.notif-item{margin-top:2px}.notif-error{border-left-color:#dc2626}.notif-warning{border-left-color:#f59e0b}.notif-info{border-left-color:#3b82f6}.notif-item-title{font-size:13px;font-weight:600}.notif-item-body{opacity:.8;margin-top:3px;font-size:12px}.notif-item-time{opacity:.55;margin-top:4px;font-size:11px}.notif-resolved{color:#16a34a;background:#16a34a22;border-radius:20px;margin-left:6px;padding:1px 6px;font-size:10px;font-weight:600}.amount-edit{display:flex;flex-wrap:wrap;align-items: center;gap:8px}.amount-edit input{border:1px solid var(--border);background:var(--surface);color:inherit;border-radius:8px;width:150px;padding:6px 10px;font-size:18px;font-weight:600}.amount-edit-currency{opacity:.7;font-size:13px}.amount-edit-error{color:#dc2626;flex-basis:100%;font-size:12px}.amount-edit-btn{cursor:pointer;vertical-align:middle;border:1px solid var(--border);color:inherit;opacity:.7;background:0 0;border-radius:20px;margin-left:10px;padding:2px 9px;font-size:11px;font-weight:600}.amount-edit-btn:hover{opacity:1}.range-clear{cursor:pointer;border:1px solid var(--border);color:inherit;opacity:.7;background:0 0;border-radius:7px;width:26px;height:26px;margin-left:-4px;font-size:15px;line-height:1}.range-clear:hover{opacity:1}.review-chip{white-space:nowrap;color:#b45309;cursor:help;background:#f59e0b22;border-radius:20px;margin-left:6px;padding:2px 8px;font-size:11px;font-weight:600}[data-theme=dark] .review-chip{color:#fcd34d}.review-toggle{display:inline-flex;cursor:pointer;align-items: center;gap:6px;font-size:13px}.pm-modal{width:min(560px,94vw)}.pm-intro{color:var(--muted);margin:0;font-size:13px}.pm-card{border:1.5px solid color-mix(in srgb,var(--accent)55%,transparent);background:var(--surface-2);display:flex;border-radius:12px;flex-direction:column;gap:8px;padding:14px}.pm-conf{display:flex;align-items: center;gap:12px}.pm-ring{display:grid;border-radius:50%;flex:none;place-items: center;width:56px;height:56px}.pm-ring i{background:var(--surface);display:grid;border-radius:50%;place-items: center;width:42px;height:42px;font-size:12px;font-style:normal;font-weight:700}.pm-conf-title{font-size:14px;font-weight:700}.pm-sub{display:block;color:var(--muted);font-size:12px;font-weight:400}.pm-recon-row{display:flex;justify-content:space-between;padding:3px 0;font-size:13px}.pm-recon{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:10px 12px}.pm-recon-total{border-top:1px solid var(--border);margin-top:4px;padding-top:8px;font-weight:700}.pm-bal-ok{color:var(--green);font-weight:700}.pm-bal-bad{color:var(--red);font-weight:700}.pm-chips{display:flex;flex-wrap:wrap;gap:6px;margin:4px 0}.pm-chip{border-radius:20px;padding:3px 9px;font-size:11.5px;font-weight:600}.pm-chip-ok{color:var(--green);background:#22c55e26}.pm-chip-warn{color:var(--amber);background:#f59e0b26}.pm-chip-bad{color:var(--red);background:#f8717126}.pm-banner{border-radius:10px;padding:10px 12px;font-size:13px;font-weight:600}.pm-banner-ok{color:var(--green);background:#22c55e1f}.pm-banner-warn{color:var(--amber);background:#f59e0b1f}.pm-actions{display:flex;align-items: center;gap:8px}.pm-actions .workflow-btn{flex:1}.pm-adjust{border:1px solid var(--border);background:var(--surface);display:flex;border-radius:10px;flex-direction:column;gap:8px;padding:12px}.pm-adjust h4{margin:0;font-size:13px}.pm-adjust-row{display:grid;grid-template-columns:1.1fr .9fr auto;align-items: center;gap:8px}.pm-adjust-row select,.pm-adjust-row input{background:var(--bg);color:var(--text);border:1px solid var(--border);font:inherit;border-radius:8px;width:100%;padding:7px 9px;font-size:13px}.pm-del{color:var(--muted);cursor:pointer;background:0 0;border:0;padding:0 2px;font-size:14px}.pm-addline{color:var(--accent);cursor:pointer;background:0 0;border:0;align-self: flex-start;padding:2px 0;font-size:12.5px;font-weight:600}.pm-cand{display:flex;text-align:left;border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;border-radius:9px;align-items: center;gap:10px;width:100%;padding:8px 10px;font-size:12.5px}.pm-cand:hover{border-color:color-mix(in srgb,var(--accent)45%,transparent)}.pm-cand-pc{color:var(--muted);flex:none;width:38px;font-weight:700}.pm-cand-nm{flex:1}.pm-alloc-row{display:flex;border:1px solid var(--border);background:var(--surface);border-radius:10px;align-items: center;gap:10px;padding:9px 10px;font-size:13px}.pm-alloc-name{flex:1;font-weight:600}.pm-alloc-row input{font:inherit;text-align:right;background:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:8px;width:120px;padding:7px 9px;font-size:13px}.settings-modal{width:min(640px,94vw)}.settings-section{border:1px solid var(--border);background:var(--surface-2);display:flex;border-radius:12px;flex-direction:column;gap:10px;padding:14px}.settings-section h4{margin:0;font-size:14px}.settings-help{color:var(--muted);margin:0;font-size:12.5px}.settings-set-badge{color:var(--green);margin-left:4px;font-size:11px;font-style:normal;font-weight:700}.settings-row{align-items: flex-end}.settings-del{align-self: flex-end;padding-bottom:10px}.settings-actions-row{display:flex;flex-wrap:wrap;align-items: center;gap:10px}.settings-test-results{list-style:none;display:flex;flex-direction:column;gap:3px;margin:0;padding:0 0 0 4px;font-size:12.5px}.settings-test-ok{color:var(--green)}.settings-test-bad{color:var(--red)}.entry-field textarea{background:var(--bg);color:var(--text);border:1px solid var(--border);font:inherit;resize:vertical;border-radius:8px;padding:8px 10px}
