:root{color:#173436;font-synthesis:none;text-rendering:optimizelegibility;--ink:#082f30;--ink-soft:#17494a;--mint:#bdf7d5;--mint-bright:#71e9ad;--paper:#fbfcf8;--line:#cfdbd4;--danger:#a33f38;background:#f3f6f2;font-family:Avenir Next,Avenir,Segoe UI,system-ui,-apple-system,BlinkMacSystemFont,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100dvh;margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}.skip-link{z-index:100;color:#f7fff9;background:var(--ink);border-radius:.65rem;padding:.8rem 1rem;font-weight:750;text-decoration:none;transition:transform .12s;position:fixed;top:.65rem;left:.65rem;transform:translateY(calc(-100% - 1rem))}.skip-link:focus{outline:3px solid var(--mint-bright);outline-offset:2px;transform:translateY(0)}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:3px;outline:3px solid #21815f}button,a,input,select,textarea{-webkit-tap-highlight-color:#71e9ad38}main:focus{outline:none}.login-shell{grid-template-columns:minmax(0,1.03fr) minmax(28rem,.97fr);min-height:100vh;display:grid}.login-story{color:#f4fff8;background:linear-gradient(#71e9ad14 1px, transparent 1px), linear-gradient(90deg, #71e9ad14 1px, transparent 1px), var(--ink);background-size:3rem 3rem;flex-direction:column;justify-content:space-between;min-height:100vh;padding:clamp(2rem,5vw,5rem);display:flex;position:relative;overflow:hidden}.login-story:after{content:"€";color:#bdf7d50f;pointer-events:none;font-family:Georgia,serif;font-size:clamp(18rem,45vw,42rem);line-height:1;position:absolute;bottom:-.3em;right:-.06em}.brand-lockup,.privacy-note{z-index:1;align-items:center;gap:.8rem;display:flex;position:relative}.brand-lockup{letter-spacing:.01em;font-size:1rem;font-weight:650}.brand-mark{width:2.75rem;height:2.75rem;color:var(--mint-bright);border:1px solid #bdf7d56b;border-radius:.9rem;place-items:center;display:grid}.brand-mark svg{width:1.45rem}.story-copy{z-index:1;max-width:38rem;position:relative}.eyebrow{color:#40706b;letter-spacing:.13em;text-transform:uppercase;margin:0 0 .9rem;font-size:.78rem;font-weight:750}.story-copy .eyebrow{color:var(--mint-bright)}.story-copy h1{letter-spacing:-.055em;max-width:11ch;margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(3.2rem,6.6vw,7.6rem);font-weight:500;line-height:.92}.story-copy>p:last-child{color:#cde4d7;max-width:31rem;margin:2rem 0 0;font-size:clamp(1rem,1.5vw,1.2rem);line-height:1.65}.privacy-note{color:#cde4d7;font-size:.9rem}.privacy-note svg{width:1.1rem}.login-panel{background:var(--paper);place-items:center;min-height:100vh;padding:clamp(2rem,7vw,7rem);display:grid}.login-card{width:min(100%,28rem)}.login-card h2{color:var(--ink);letter-spacing:-.045em;margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(2.3rem,4vw,3.35rem);font-weight:500}.form-intro{color:#60706b;margin:1rem 0 2.6rem;font-size:1rem;line-height:1.5}form{gap:.65rem;display:grid}label{color:var(--ink);margin-top:.65rem;font-size:.9rem;font-weight:700}input{width:100%;min-height:3.45rem;color:var(--ink);border:1px solid var(--line);background:#fff;border-radius:.85rem;outline:none;padding:0 1rem;transition:border-color .15s,box-shadow .15s}input::placeholder{color:#899691}input:focus-visible{border-color:#21815f;box-shadow:0 0 0 4px #71e9ad3d}.password-field{position:relative}.password-field input{padding-right:3.5rem}.reveal-button{color:#58706a;background:0 0;border:0;border-radius:.65rem;place-items:center;width:2.7rem;height:2.7rem;padding:0;display:grid;position:absolute;top:50%;right:.4rem;transform:translateY(-50%)}.reveal-button:hover,.reveal-button:focus-visible{color:var(--ink);background:#ecf5ef}.reveal-button svg{width:1.25rem}.form-message{color:var(--danger);background:#fff2f0;border-left:3px solid #d4655c;border-radius:.5rem;margin:.5rem 0 0;padding:.85rem 1rem;font-size:.9rem;line-height:1.45}.submit-button{color:#f7fff9;background:var(--ink);border:0;border-radius:.9rem;justify-content:space-between;align-items:center;min-height:3.6rem;margin-top:1rem;padding:0 1.15rem 0 1.35rem;font-weight:750;transition:transform .15s,background .15s;display:flex}.submit-button:hover:not(:disabled){background:var(--ink-soft);transform:translateY(-1px)}.submit-button:focus-visible,.reveal-button:focus-visible{outline:3px solid var(--mint-bright);outline-offset:2px}.submit-button:disabled{cursor:wait;opacity:.7}.submit-button svg{width:1.25rem}.access-help{color:#6e7d78;text-align:center;margin:2rem 0 0;font-size:.88rem;line-height:1.5}.loading-view{min-height:100vh;color:var(--ink);background:var(--paper);place-content:center;gap:1rem;display:grid}.dashboard-shell{min-height:100vh;color:var(--ink);background:#edf2ed}.dashboard-header{z-index:10;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fbfcf8f0;border-bottom:1px solid #9bb1a66b;justify-content:space-between;align-items:center;gap:2rem;min-height:5.4rem;padding:1rem clamp(1.2rem,4vw,4rem);display:flex;position:sticky;top:0}.dashboard-brand{color:inherit;align-items:center;gap:.85rem;text-decoration:none;display:flex}.dashboard-brand-mark{width:2.85rem;height:2.85rem;color:var(--mint);background:var(--ink);border-radius:.9rem;place-items:center;display:grid}.dashboard-brand-mark svg{width:1.45rem}.dashboard-brand>span:last-child,.member-copy,.movement-copy,.movement-amount{gap:.16rem;display:grid}.dashboard-brand strong{font-size:.98rem}.dashboard-brand small,.member-copy small,.movement-copy small,.movement-amount small{color:#667974;font-size:.78rem}.member-menu{align-items:center;gap:.75rem;display:flex}.member-avatar{width:2.5rem;height:2.5rem;color:var(--ink);background:var(--mint);letter-spacing:.04em;border-radius:50%;place-items:center;font-size:.78rem;font-weight:800;display:grid}.member-copy{margin-right:.7rem}.member-copy strong{font-size:.88rem}.logout-button{color:#355653;border:1px solid var(--line);background:0 0;border-radius:.8rem;align-items:center;gap:.5rem;min-height:2.75rem;padding:0 .95rem;font-size:.84rem;font-weight:700;display:flex}.logout-button:hover,.logout-button:focus-visible{color:var(--ink);background:#eef5ef}.logout-button:focus-visible,.state-card button:focus-visible{outline:3px solid var(--mint-bright);outline-offset:2px}.logout-button svg{width:1rem}.dashboard-main{width:min(100% - 2.4rem,86rem);margin:0 auto;padding:clamp(2.4rem,5vw,4.8rem) 0 5rem}.dashboard-alert,.currency-note{border-radius:.7rem;margin:0 0 1rem;padding:.8rem 1rem;font-size:.88rem}.dashboard-alert{color:var(--danger);background:#fff2f0;border-left:3px solid #d4655c}.dashboard-intro{justify-content:space-between;align-items:end;gap:1rem;margin-bottom:2.2rem;display:flex}.dashboard-intro h1{letter-spacing:-.052em;margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(2.5rem,5vw,4.8rem);font-weight:500;line-height:1}.dashboard-intro>div>p:last-child{color:#60726d;margin:.9rem 0 0}.refresh-note{color:#60726d;font-size:.82rem}.summary-grid{grid-template-columns:1.35fr repeat(3,1fr);gap:1rem;display:grid}.summary-card{background:var(--paper);border:1px solid #a9bcb194;border-radius:1.15rem;flex-direction:column;justify-content:space-between;min-height:10.2rem;padding:1.3rem;display:flex;box-shadow:0 12px 35px #1137320b}.summary-card>strong{letter-spacing:-.035em;font-family:Georgia,Times New Roman,serif;font-size:clamp(1.65rem,2.6vw,2.4rem);font-weight:500}.summary-label{color:#5b706a;align-items:center;gap:.5rem;font-size:.82rem;font-weight:700;display:flex}.summary-label svg{width:1rem}.summary-context{color:#778781;font-size:.78rem}.balance-card{color:#f5fff8;background:var(--ink);border-color:var(--ink)}.balance-card .summary-label,.balance-card .summary-context{color:#b9d9c7}.pending-card{background:#e4faec;border-color:#bbe6cb}.pending-button{color:inherit;text-align:left}.pending-button:hover,.pending-button:focus-visible{outline:3px solid var(--mint-bright);outline-offset:2px;background:#d5f5e1;border-color:#68bd8b}.pending-value{font-size:3.1rem!important}.currency-note{color:#50645e;border:1px solid var(--line);background:#fbfcf8c7;margin-top:1rem}.dashboard-columns{grid-template-columns:minmax(0,.9fr) minmax(28rem,1.1fr);gap:1rem;margin-top:1rem;display:grid}.panel{background:var(--paper);border:1px solid #a9bcb194;border-radius:1.15rem;min-height:25rem;padding:clamp(1.25rem,2vw,1.7rem);box-shadow:0 12px 35px #1137320b}.panel-heading{justify-content:space-between;align-items:start;gap:1rem;min-height:3.7rem;display:flex}.panel-heading h2{letter-spacing:-.035em;margin:0;font-family:Georgia,Times New Roman,serif;font-size:1.7rem;font-weight:500}.panel-heading>span{color:#56716a;background:#edf5ef;border-radius:.45rem;padding:.35rem .55rem;font-size:.72rem;font-weight:800}.category-chart{height:18rem;margin-top:1rem}.movement-list{margin:1.15rem 0 0;padding:0;list-style:none}.movement-list li{border-bottom:1px solid #e0e8e2;min-height:4.65rem}.movement-button{width:100%;min-height:4.65rem;color:inherit;text-align:left;background:0 0;border:0;border-radius:.7rem;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.85rem;padding:0;display:grid}.movement-list li:last-child{border-bottom:0}.movement-button:hover,.movement-button:focus-visible{background:#f0f6f1;outline:0}.movement-icon{color:#7d5543;background:#faece3;border-radius:.8rem;place-items:center;width:2.45rem;height:2.45rem;display:grid}.movement-icon.income,.movement-icon.refund{color:#126548;background:#ddf5e7}.movement-icon.transfer{color:#3b6383;background:#e5eff7}.movement-icon svg{width:1.1rem}.movement-copy{min-width:0}.movement-copy strong{text-overflow:ellipsis;white-space:nowrap;font-size:.9rem;overflow:hidden}.movement-amount{justify-items:end}.movement-amount strong{font-size:.9rem}.empty-panel{color:#657873;text-align:center;place-content:center;justify-items:center;min-height:17rem;display:grid}.empty-panel>span{color:#24795e;background:#e1f6e8;border-radius:1rem;place-items:center;width:3.2rem;height:3.2rem;margin-bottom:1rem;display:grid}.empty-panel svg{width:1.45rem}.empty-panel strong{color:var(--ink)}.empty-panel p{max-width:24rem;margin:.45rem 0 0;font-size:.88rem;line-height:1.5}.dashboard-state{min-height:100vh;color:var(--ink);background:#edf2ed;place-items:center;padding:1.5rem;display:grid}.state-card{background:var(--paper);border:1px solid var(--line);border-radius:1.2rem;justify-items:start;width:min(100%,28rem);padding:2.2rem;display:grid}.state-card>svg{color:#24795e;width:1.7rem}.state-card h1{margin:1.2rem 0 .5rem;font-family:Georgia,Times New Roman,serif;font-size:2rem;font-weight:500}.state-card p{color:#60726d;margin:0;line-height:1.5}.state-card button{color:#fff;background:var(--ink);border:0;border-radius:.75rem;min-height:2.9rem;margin-top:1.5rem;padding:0 1rem;font-weight:700}.loading-dashboard{text-align:center;justify-items:center}.loading-mark{border:3px solid var(--line);border-top-color:#21815f;border-radius:50%;width:2rem;height:2rem;margin-inline:auto;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.panel-link,.back-link,.brand-button{color:inherit;background:0 0;border:0}.panel-link{color:#176c52;border-radius:.55rem;padding:.42rem .65rem;font-size:.8rem;font-weight:750}.panel-link:hover,.panel-link:focus-visible,.back-link:hover,.back-link:focus-visible{color:var(--ink);background:#e7f1e9;outline:0}.brand-button{text-align:left;padding:0}.operations-user{max-width:17rem}.operations-user small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.operations-header-alert{color:var(--danger);text-align:center;background:#fff2f0;margin:0;padding:.75rem 1.2rem}.operations-main{width:min(100% - 2.4rem,78rem);margin:0 auto;padding:2.4rem 0 5rem}.back-link{border-radius:.65rem;align-items:center;gap:.45rem;min-height:2.7rem;margin-bottom:1.1rem;padding:0 .7rem;font-size:.86rem;font-weight:750;display:inline-flex}.back-link svg{width:1rem}.operations-intro,.detail-heading{justify-content:space-between;align-items:end;gap:1.5rem;margin-bottom:1.8rem;display:flex}.operations-intro h1,.detail-heading h1{letter-spacing:-.052em;margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(2.6rem,5vw,4.6rem);font-weight:500;line-height:1}.operations-intro p:last-child,.detail-heading p:last-child{color:#60726d;margin:.75rem 0 0}.operations-intro>strong{color:#315c54;font-size:.9rem}.operation-filters{background:var(--paper);border:1px solid var(--line);border-radius:1rem;grid-template-columns:minmax(14rem,2fr) repeat(4,minmax(8.5rem,1fr)) auto;align-items:end;gap:.8rem;margin-bottom:1rem;padding:1rem;display:grid}.review-filters{background:var(--paper);border:1px solid var(--line);border-radius:1rem;grid-template-columns:repeat(2,minmax(10rem,1fr)) auto;align-items:end;gap:.8rem;width:min(100%,42rem);margin-bottom:1rem;padding:1rem;display:grid}.review-filters label{gap:.42rem;margin:0;display:grid}.review-filters label>span{color:#47645d;font-size:.76rem;font-weight:750}.review-filters select{width:100%;min-height:2.8rem;color:var(--ink);border:1px solid var(--line);background:#fff;border-radius:.7rem;padding:0 .75rem}.operation-filters label,.detail-form label{gap:.42rem;margin:0;display:grid}.operation-filters label>span:first-child,.detail-form label>span:first-child{color:#47645d;font-size:.76rem;font-weight:750}.operation-filters input,.operation-filters select,.detail-form input,.detail-form select,.detail-form textarea{width:100%;min-height:2.8rem;color:var(--ink);border:1px solid var(--line);background:#fff;border-radius:.7rem;outline:0;padding:0 .75rem}.operation-filters input:focus-visible,.operation-filters select:focus-visible,.detail-form input:focus-visible,.detail-form select:focus-visible,.detail-form textarea:focus-visible{border-color:#21815f;box-shadow:0 0 0 3px #71e9ad38}.field-with-icon{position:relative}.field-with-icon svg{z-index:1;color:#688078;width:1rem;position:absolute;top:50%;left:.78rem;transform:translateY(-50%)}.field-with-icon input{padding-left:2.35rem}.filter-button,.save-button,.pagination button,.inline-state button,.detail-error button{color:#f7fff9;background:var(--ink);border:0;border-radius:.7rem;justify-content:center;align-items:center;gap:.42rem;min-height:2.8rem;padding:0 .9rem;font-size:.82rem;font-weight:750;display:inline-flex}.filter-button svg,.save-button svg,.pagination svg,.inline-state svg,.detail-error button svg{width:1rem}.filter-button:hover,.filter-button:focus-visible,.save-button:hover:not(:disabled),.save-button:focus-visible,.pagination button:hover:not(:disabled),.pagination button:focus-visible,.inline-state button:hover,.inline-state button:focus-visible,.detail-error button:hover,.detail-error button:focus-visible{background:var(--ink-soft);outline:3px solid var(--mint-bright);outline-offset:2px}.inline-state{color:var(--danger);background:#fff2f0;border-left:3px solid #d4655c;border-radius:.65rem;align-items:center;gap:.65rem;margin-bottom:1rem;padding:.8rem .9rem;font-size:.84rem;display:flex}.inline-state>svg{flex:none}.inline-state span{flex:1}.operations-panel,.detail-form{background:var(--paper);border:1px solid var(--line);border-radius:1.1rem;overflow:hidden;box-shadow:0 12px 35px #1137320b}.operation-rows,.review-rows{margin:0;padding:0;list-style:none;transition:opacity .12s}.review-rows.is-refreshing{opacity:.55}.review-rows li+li{border-top:1px solid #e0e8e2}.review-rows li>button{width:100%;min-height:5.6rem;color:inherit;text-align:left;background:0 0;border:0;grid-template-columns:auto minmax(0,1fr) minmax(9rem,auto) minmax(8.5rem,auto) auto;align-items:center;gap:1rem;padding:.85rem 1rem;display:grid}.review-rows li>button:hover,.review-rows li>button:focus-visible{background:#f0f6f1;outline:0}.review-rows li>button>svg{color:#6c7d77;width:1rem}.review-icon{color:#7c5d23;background:#fff1cc;border-radius:.8rem;place-items:center;width:2.45rem;height:2.45rem;display:grid}.review-icon svg,.review-document-state svg{width:1.05rem}.review-document-state{color:#526b64;align-items:center;gap:.4rem;font-size:.76rem;font-weight:700;display:flex}.operation-rows.is-refreshing{opacity:.55}.operation-rows li+li{border-top:1px solid #e0e8e2}.operation-rows li>button{width:100%;min-height:5.2rem;color:inherit;text-align:left;background:0 0;border:0;grid-template-columns:6.7rem minmax(0,1fr) auto minmax(8.5rem,auto) auto;align-items:center;gap:1rem;padding:.8rem 1rem;display:grid}.operation-rows li>button:hover,.operation-rows li>button:focus-visible{background:#f0f6f1;outline:0}.operation-rows li>button>svg{color:#6c7d77;width:1rem}.operation-date{color:#516862;font-size:.8rem}.operation-row-copy,.operation-row-amount{gap:.2rem;min-width:0;display:grid}.operation-row-copy strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.operation-row-copy small,.operation-row-amount small{color:#6a7d77;font-size:.75rem}.operation-row-amount{justify-items:end}.status-pill{color:#4f625d;white-space:nowrap;background:#edf1ee;border-radius:999px;padding:.36rem .56rem;font-size:.7rem;font-weight:800}.status-needs_review{color:#875b1c;background:#fff2cc}.status-user_confirmed,.status-auto_confirmed{color:#116047;background:#ddf5e7}.status-discarded{color:#84504b;background:#f5e5e3}.operation-empty{min-height:20rem}.pagination{justify-content:flex-end;align-items:center;gap:1rem;margin-top:1rem;display:flex}.pagination span{color:#586d67;font-size:.82rem}.pagination button:disabled,.save-button:disabled{cursor:wait;opacity:.45}.detail-main{max-width:62rem}.detail-heading{align-items:center}.detail-heading h1{overflow-wrap:anywhere;max-width:16ch}.detail-notice,.read-only-note{border-radius:.7rem;margin:0 0 1rem;padding:.85rem 1rem;font-size:.87rem}.detail-notice.success{color:#115f46;background:#ddf5e7;border-left:3px solid #45ad81}.detail-notice.error{color:var(--danger);background:#fff2f0;border-left:3px solid #d4655c}.read-only-note{color:#6d5728;background:#fff5d9;border-left:3px solid #dfb44b;align-items:center;gap:.55rem;display:flex}.read-only-note svg{flex:none;width:1rem}.detail-section-heading{border-bottom:1px solid var(--line);padding:1.2rem 1.3rem}.detail-section-heading>div,.detail-section-heading span{align-items:center;gap:.65rem;display:flex}.detail-section-heading>div>svg{color:#24795e;width:1.2rem}.detail-section-heading span{flex-direction:column;align-items:start;gap:.15rem}.detail-section-heading small{color:#6b7c77;font-size:.76rem}.detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;padding:1.3rem;display:grid}.detail-form textarea{resize:vertical;min-height:6rem;padding-block:.75rem}.detail-form :disabled{color:#52645f;cursor:not-allowed;opacity:1;background:#f0f3f0}.wide-field{grid-column:1/-1}.detail-actions{border-top:1px solid var(--line);justify-content:flex-end;padding:1.1rem 1.3rem;display:flex}.review-panel{background:var(--paper);border:1px solid var(--line);border-radius:1.1rem;margin-bottom:1rem;overflow:hidden;box-shadow:0 12px 35px #1137320b}.review-panel-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:1rem;padding:1.1rem 1.3rem;display:flex}.review-panel-heading>div,.review-panel-heading>div>span{align-items:flex-start;gap:.65rem;display:flex}.review-panel-heading>div>span{flex-direction:column;gap:.15rem}.review-panel-heading svg{color:#24795e;width:1.2rem}.review-panel-heading small,.document-card small{color:#667a74;font-size:.76rem}.review-readiness{white-space:nowrap;border-radius:999px;padding:.38rem .58rem;font-size:.72rem;font-weight:800}.review-readiness.ready{color:#116047;background:#ddf5e7}.review-readiness.incomplete{color:#875b1c;background:#fff2cc}.document-list{padding:.45rem 1.3rem}.document-empty{color:#667a74;margin:.8rem 0;font-size:.86rem}.document-card{justify-content:space-between;align-items:center;gap:1rem;min-height:4.4rem;display:flex}.document-card+.document-card{border-top:1px solid #e0e8e2}.document-card>div{gap:.2rem;display:grid}.document-card button,.document-card a,.confirm-button,.discard-button,.undo-button{min-height:2.7rem;color:var(--ink);background:#edf5ef;border:1px solid #c6d9cd;border-radius:.7rem;justify-content:center;align-items:center;gap:.4rem;padding:0 .85rem;font-size:.78rem;font-weight:750;text-decoration:none;display:inline-flex}.document-card a{flex-wrap:wrap}.document-card a small{text-align:center;width:100%}.document-card svg,.review-actions svg{width:1rem}.document-card button:disabled,.review-actions button:disabled{cursor:not-allowed;opacity:.55}.review-actions{border-top:1px solid var(--line);justify-content:flex-end;align-items:center;gap:.7rem;padding:1rem 1.3rem;display:flex}.review-actions>span{color:#725a27;margin-right:auto;font-size:.8rem}.confirm-button,.undo-button{color:#f7fff9;background:var(--ink);border-color:var(--ink)}.discard-button{color:#8b3e37;background:#fff2f0;border-color:#eac9c5}.save-button{min-width:11rem}.detail-loading,.detail-error{color:#60726d;text-align:center;background:var(--paper);border:1px solid var(--line);border-radius:1rem;place-content:center;justify-items:center;gap:1rem;min-height:22rem;display:grid}.detail-error>svg{color:#a65a4f;width:2rem}.detail-error h1,.detail-error p{margin:0}.detail-error h1{color:var(--ink);font-family:Georgia,Times New Roman,serif;font-size:2rem;font-weight:500}.detail-error p{max-width:30rem}.dashboard-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.65rem;display:flex}.dashboard-actions button{color:#245d50;background:var(--paper);border:1px solid var(--line);border-radius:.75rem;align-items:center;gap:.45rem;min-height:2.8rem;padding:0 .85rem;font-size:.82rem;font-weight:750;display:inline-flex}.dashboard-actions button:hover,.dashboard-actions button:focus-visible{color:var(--ink);outline:3px solid var(--mint-bright);outline-offset:2px;background:#e2f4e8}.dashboard-actions svg{width:1rem}.catalog-columns,.report-columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.catalog-panel{min-height:30rem}.catalog-list,.report-category-list{margin:1rem 0 0;padding:0;list-style:none}.catalog-list li{border-bottom:1px solid #e0e8e2;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.8rem;min-height:4.8rem;display:grid}.catalog-list li:last-child,.report-category-list li:last-child{border-bottom:0}.catalog-inactive{opacity:.58}.catalog-icon{color:#2d6658;background:#e2f4e8;border-radius:.8rem;place-items:center;width:2.5rem;height:2.5rem;display:grid}.category-catalog-icon{color:#735d2d;background:#f8f0d9}.catalog-icon svg{width:1.15rem}.catalog-copy,.catalog-meta,.report-category-list span{gap:.22rem;display:grid}.catalog-copy{min-width:0}.catalog-copy strong,.catalog-copy small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.catalog-copy strong,.catalog-meta strong{font-size:.9rem}.catalog-copy small,.catalog-meta small,.report-category-list small{color:#667974;font-size:.76rem}.catalog-meta{justify-items:end}.catalog-empty{color:#667974;margin:2rem 0 0;line-height:1.5}.report-filters{background:var(--paper);border:1px solid var(--line);border-radius:1rem;grid-template-columns:repeat(2,minmax(9rem,1fr)) minmax(7rem,.7fr) minmax(12rem,1.3fr) auto;align-items:end;gap:.8rem;margin-bottom:1rem;padding:1rem;display:grid}.report-filters label{gap:.42rem;margin:0;display:grid}.report-filters label>span{color:#47645d;font-size:.76rem;font-weight:750}.report-filters input,.report-filters select{width:100%;min-height:2.8rem;color:var(--ink);border:1px solid var(--line);background:#fff;border-radius:.7rem;padding:0 .75rem}.report-filters input:focus-visible,.report-filters select:focus-visible{border-color:#21815f;outline:3px solid #71e9ad3d}.report-download{justify-content:center;gap:.55rem;width:auto;min-width:10.8rem;margin:0}.report-download svg{width:1.05rem}.report-summary{margin-top:1rem}.report-columns{grid-template-columns:minmax(0,1.35fr) minmax(20rem,.65fr);margin-top:1rem}.report-chart-panel,.report-category-panel{min-height:28rem}.report-chart{height:21rem;margin-top:1.2rem}.report-category-list li{border-bottom:1px solid #e0e8e2;justify-content:space-between;align-items:center;gap:1rem;min-height:4.2rem;display:flex}.report-category-list li>strong{white-space:nowrap;font-size:.88rem}.report-empty{text-align:center;place-content:center;justify-items:center;min-height:22rem;margin-top:1rem;display:grid}.report-empty svg{color:#24795e;width:2rem}.report-empty h2{margin:1rem 0 .4rem;font-family:Georgia,Times New Roman,serif;font-size:1.8rem;font-weight:500}.report-empty p,.export-privacy-note{color:#60726d;line-height:1.5}.report-empty p{margin:0}.export-message{color:#245d50;background:#e2f4e8;border-left:3px solid #58a77e;border-radius:.7rem;margin:0 0 1rem;padding:.8rem 1rem}.export-privacy-note{margin:1rem 0 0;font-size:.82rem}.bank-main{max-width:78rem}.bank-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem;margin-bottom:1rem;display:grid}.bank-summary>div{color:#45625b;background:#edf4ee;border:1px solid #d5e1d8;border-radius:.9rem;justify-content:space-between;align-items:center;padding:1rem 1.15rem;display:flex}.bank-summary span{font-size:.82rem;font-weight:700}.bank-summary strong{color:var(--ink);font-family:Georgia,Times New Roman,serif;font-size:1.7rem;font-weight:500}.bank-message{border-left:3px solid;border-radius:.7rem;margin:0 0 1rem;padding:.85rem 1rem;line-height:1.45}.bank-message-success{color:#245d50;background:#e2f4e8;border-color:#58a77e}.bank-message-error{color:var(--danger);background:#fff2f0;border-color:#c95a50}.bank-upload-panel,.bank-readonly,.bank-imports-panel{margin-bottom:1rem}.bank-upload-panel .panel-heading>svg{color:#25775e;width:1.25rem}.bank-upload-form{grid-template-columns:minmax(12rem,1fr) minmax(11rem,.8fr) minmax(15rem,1.4fr) auto;align-items:end;gap:.8rem;display:grid}.bank-upload-form label{gap:.42rem;margin:0;display:grid}.bank-upload-form label>span{color:#47645d;font-size:.76rem;font-weight:700}.bank-upload-form select,.bank-upload-form input{background:#fbfdfa;border:1px solid #cbd9d0;border-radius:.65rem;min-height:2.75rem;padding:.7rem .75rem}.bank-upload-form input[type=file]{padding:.55rem;font-size:.78rem}.bank-upload-form .save-button{white-space:nowrap;min-height:2.75rem;margin:0}.bank-readonly{align-items:center;gap:1rem;display:flex}.bank-readonly>svg{color:#24795e;width:2rem}.bank-readonly h2,.bank-readonly p{margin:0}.bank-readonly h2{font-family:Georgia,Times New Roman,serif;font-weight:500}.bank-readonly p{color:#60726d;margin-top:.25rem}.bank-columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-bottom:1rem;display:grid}.bank-list-panel{min-width:0}.bank-movement-list,.bank-import-list{margin:0;padding:0;list-style:none}.bank-movement-list>li,.bank-import-list>li{border-top:1px solid #e0e8e2;padding:1rem 0}.bank-movement-list>li:first-child,.bank-import-list>li:first-child{border-top:0}.movement-summary{justify-content:space-between;align-items:start;gap:1rem;display:flex}.movement-summary>span,.proposal-match{gap:.2rem;min-width:0;display:grid}.movement-summary span>strong,.proposal-match strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.movement-summary small,.proposal-match small,.bank-import-list small{color:#667a74;line-height:1.4}.money-out{color:#9d433a;white-space:nowrap}.money-in{color:#176c52;white-space:nowrap}.proposal-match{background:#f1f6f2;border-radius:.7rem;margin-top:.75rem;padding:.7rem .8rem}.proposal-match>span,.review-only-note{color:#31685a;letter-spacing:.035em;text-transform:uppercase;font-size:.72rem;font-weight:800}.proposal-actions{flex-wrap:wrap;gap:.45rem;margin-top:.7rem;display:flex}.proposal-actions button,.bank-import-list button{color:#245d50;background:#fff;border:1px solid #c7d8ce;border-radius:.55rem;align-items:center;gap:.35rem;min-height:2.25rem;padding:.45rem .65rem;font-size:.75rem;font-weight:750;display:inline-flex}.proposal-actions svg,.bank-import-list button svg{width:.9rem}.proposal-actions button:hover:not(:disabled),.bank-import-list button:hover:not(:disabled){background:#e8f3eb}.proposal-actions button:disabled,.bank-import-list button:disabled{opacity:.55}.review-only-note{margin-top:.55rem;display:inline-block}.bank-import-list>li{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.8rem;display:grid}.bank-import-list>li>svg{color:#29785f;width:1.25rem}.bank-import-list>li>span:nth-child(2){gap:.2rem;min-width:0;display:grid}.bank-empty{color:#60726d;text-align:center;place-content:center;justify-items:center;min-height:9rem;display:grid}.bank-empty svg{color:#78a28e;width:1.7rem}.bank-empty p{max-width:28rem;margin:.65rem 0 0}@media (width<=780px){.login-shell{grid-template-columns:1fr}.login-story{gap:3.5rem;min-height:18rem;padding:1.5rem}.story-copy h1{max-width:13ch;font-size:clamp(2.6rem,12vw,4.2rem)}.story-copy>p:last-child,.privacy-note{display:none}.login-panel{place-items:start center;min-height:auto;padding:2.5rem 1.5rem 3rem}.dashboard-header{min-height:4.8rem;padding:.8rem 1rem}.dashboard-brand small,.member-copy,.logout-button span{display:none}.logout-button{justify-content:center;width:2.75rem;padding:0}.dashboard-main{width:min(100% - 2rem,42rem);padding-top:2.2rem}.dashboard-intro{flex-direction:column;align-items:start}.dashboard-actions{justify-content:flex-start}.summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.summary-card{min-height:9.3rem}.balance-card{grid-column:1/-1}.dashboard-columns,.catalog-columns,.report-columns,.bank-columns{grid-template-columns:1fr}.bank-upload-form{grid-template-columns:repeat(2,minmax(0,1fr))}.bank-file-field{grid-column:1/-1}.report-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.operations-main{width:min(100% - 2rem,42rem);padding-top:1.6rem}.operation-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.review-rows li>button{grid-template-columns:auto minmax(0,1fr) auto}.review-document-state{grid-column:2}.review-rows .operation-row-amount{grid-area:1/3/span 2}.search-field{grid-column:1/-1}.filter-button{align-self:end}.operation-rows li>button{grid-template-columns:minmax(0,1fr) auto}.operation-date,.operation-rows li>button>svg{display:none}.status-pill{grid-column:1;justify-self:start}.operation-row-amount{grid-area:1/2/span 2}}@media (width<=430px){.dashboard-intro h1{font-size:2.65rem}.summary-card>strong{font-size:1.45rem}.movement-button{grid-template-columns:auto minmax(0,1fr);padding:.7rem 0}.movement-amount{grid-column:2;justify-items:start}.operation-filters,.detail-grid,.review-filters,.report-filters,.bank-upload-form,.bank-summary{grid-template-columns:1fr}.bank-file-field{grid-column:auto}.bank-upload-form .save-button{justify-content:center;width:100%}.bank-import-list>li{grid-template-columns:auto minmax(0,1fr)}.bank-import-list>li>button,.bank-import-list>li>.status-pill{grid-column:2;justify-self:start}.dashboard-actions{width:100%;display:grid}.dashboard-actions button{justify-content:center}.review-panel-heading,.document-card,.review-actions{flex-direction:column;align-items:stretch}.review-readiness{align-self:flex-start}.review-actions button,.document-card button,.document-card a{width:100%}.search-field,.wide-field{grid-column:auto}.operations-intro,.detail-heading{flex-direction:column;align-items:start}.operation-rows li>button{gap:.55rem}.operation-row-amount strong{font-size:.82rem}.pagination{justify-content:space-between;gap:.5rem}.pagination button{padding:0 .6rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.location-panel{color:#203d32;background:#fff;border:1px solid #dce3df;border-radius:18px;margin:1.5rem 0;padding:1.5rem}.location-panel h2{margin:.3rem 0 .8rem;font-size:1.3rem}.location-heading,.location-actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.location-panel p{overflow-wrap:anywhere;line-height:1.55}.location-panel button{color:#193e2e;min-height:44px;font:inherit;cursor:pointer;background:#f1f6f3;border:1px solid #a5bcb0;border-radius:9px;padding:.7rem 1rem}.location-panel button:disabled{opacity:.55;cursor:default}.location-panel button:focus-visible,.location-panel input:focus-visible{outline-offset:3px;outline:3px solid #2c7355}.location-panel label{gap:.5rem;font-weight:600;display:grid}.location-panel input{width:100%;min-width:0;min-height:44px;font:inherit;border:1px solid #a5bcb0;border-radius:8px;padding:.7rem}.location-panel form,.location-device,.location-evidence{border-top:1px solid #e0e8e2;margin-top:1.25rem;padding-top:1.25rem}.location-preview,.location-current{background:#f3f6f2;border-radius:12px;margin:1rem 0;padding:1rem}.location-preview button+button{margin:.5rem}.location-footnote{color:#50695d;font-size:.85rem}.location-notice{background:#f1f6ef;border-left:3px solid #456b52;padding:.8rem}@media (width<=480px){.location-panel{padding:1rem}.location-panel button{width:100%}.location-preview button+button{margin:.5rem 0 0}}.classification-consent{border:1px solid var(--border,#d8dce5);overflow-wrap:anywhere;border-radius:1rem;margin-block:1rem;padding:1rem}.classification-consent fieldset{border:0;gap:.75rem;padding:.5rem 0;display:grid}.classification-consent label{align-items:center;gap:.5rem;min-height:44px;display:flex}.classification-consent button{max-width:100%;min-height:44px;padding:.65rem 1rem}.classification-consent input[type=radio]{accent-color:#204ad4;width:1.1rem;min-height:1.1rem}.rules-page{overflow-wrap:anywhere;max-width:1000px;margin:0 auto;padding:24px 16px 64px}.rules-actions{flex-wrap:wrap;gap:10px;margin:16px 0;display:flex}.rules-page button,.rules-page input,.rules-page select{max-width:100%;min-height:44px}.rules-page button{white-space:normal;padding:10px 14px}.rules-page button[aria-pressed=true]{outline-offset:2px;outline:2px solid}.rules-list{gap:16px;padding:0;list-style:none;display:grid}.rule-card{background:var(--surface,#fff);border:1px solid var(--border,#d9dfdc);border-radius:16px;min-width:0;padding:20px}.rule-card h2{font-size:1.25rem}.rule-card dl{grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:10px;display:grid}.rule-card dd{margin:0}.rules-editor{gap:16px;min-width:0;margin:20px 0;display:grid}.rules-editor label{gap:6px;display:grid}.rules-editor input,.rules-editor select{width:100%}.rules-consent{align-items:center;gap:12px;margin:20px 0;display:flex}.rules-consent input{flex:0 0 22px}@media (width<=480px){.rule-card{padding:16px}.rule-card dl{grid-template-columns:minmax(0,1fr)}.rule-card dd{margin-bottom:10px}}.classification-explanation{overflow-wrap:anywhere}.rules-page button{color:#173d37;font:inherit;cursor:pointer;background:#fff;border:1px solid #cdd8d2;border-radius:10px;font-weight:600}.rules-page button:hover:not(:disabled),.rules-page button[aria-pressed=true]{background:#e8f0eb}.rules-page button:disabled{opacity:.55;cursor:default}.rules-page button:focus-visible,.rules-page input:focus-visible,.rules-page select:focus-visible{outline-offset:3px;outline:3px solid #346d61}.rules-editor input,.rules-editor select{font:inherit;border:1px solid #cdd8d2;border-radius:8px;padding:8px}
