:root{font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#233a35;background:#f8f5ed;line-height:1.5;font-synthesis:none;--green:#20584e;--ink:#233a35;--muted:#586962;--line:#dfdfd3;--paper:#fffefa;--accent:#ffdd72}
*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:3px}button{cursor:pointer;color:var(--ink);background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:9px 14px;font-weight:650}button:hover{border-color:#7a978a}button:disabled{opacity:.65;cursor:wait}a{color:var(--green)}.primary{background:var(--green);color:white;border-color:var(--green)}.primary:hover{background:#17473e;border-color:#17473e}p{margin:.3rem 0 .85rem}h1,h2,h3{line-height:1.16;margin:0 0 .5rem;letter-spacing:-.025em}h1{font-size:clamp(2.1rem,5vw,3rem)}h2{font-size:1.55rem}h3{font-size:1.03rem}label{display:grid;gap:5px;font-weight:650}input,textarea,select{width:100%;border:1px solid #cbd5cb;border-radius:9px;background:#fffefa;color:var(--ink);padding:10px 12px}textarea{resize:vertical}input:focus,textarea:focus,select:focus,button:focus-visible,a:focus-visible{outline:2px solid #2b7668}small,.muted{color:var(--muted)}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.kicker{font-size:.72rem;letter-spacing:.15em;font-weight:800;color:var(--green);margin:0 0 .55rem}.brand-dot{display:grid;place-items:center;background:var(--accent);width:39px;height:39px;border-radius:13px;font-size:1.25rem;flex:none}.login{width:min(430px,calc(100% - 34px));margin:12vh auto;background:var(--paper);border:1px solid var(--line);border-radius:22px;padding:32px;box-shadow:0 15px 55px #243a3510}.login .brand-dot{margin-bottom:20px}.login h1{font-size:2.25rem}.login form{display:grid;gap:14px;margin-top:22px}.error{color:#a23931;margin:0;font-size:.94rem}.error:empty{display:none}
#workspace{display:grid;grid-template-columns:235px 1fr;min-height:100vh}.sidebar{background:#fffefa;border-right:1px solid var(--line);padding:26px 16px;position:sticky;top:0;height:100dvh;display:flex;flex-direction:column;gap:24px}.brand{display:flex;align-items:center;gap:10px;padding:0 5px}.brand strong,.brand small{display:block}.brand small{font-size:.76rem}nav{display:grid;gap:5px}nav button{display:flex;justify-content:space-between;text-align:left;background:transparent;border-color:transparent;font-weight:650;padding:11px 12px}nav button[aria-current]{background:#e4eee4;color:#17483d}#inbox-badge:not(:empty){background:#fff0bd;padding:0 7px;border-radius:999px;font-size:.8rem}.account{margin-top:auto;display:grid;gap:10px;font-size:.83rem;padding:0 5px}.account button{text-align:left}.content{width:min(100%,1080px);padding:37px clamp(17px,5vw,58px) 64px;margin:auto;margin-top:0}.top{margin-bottom:22px}.top p:last-child{color:var(--muted)}
.capture{background:#ecf3e9;border:1px solid #d2dfd0;padding:21px;border-radius:19px;margin-bottom:20px}.capture-header{display:flex;justify-content:space-between;gap:16px;align-items:center}.capture-header p:last-child{color:var(--muted)}.capture iframe{flex:none;width:98px;height:58px;border:1px solid #d8ddd0;border-radius:13px;pointer-events:none}.capture textarea{background:#fffefa}.capture-actions{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:10px}.samples{display:flex;flex-wrap:wrap;gap:7px}.samples button{background:transparent;font-size:.8rem;padding:5px 8px}.notice{background:#e6eee4;border-left:3px solid var(--green);padding:10px 13px;border-radius:6px}.notice.error{background:#fff0e9;border-color:#a23931}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:12px;margin:15px 0 24px}.card,.list,.empty{border:1px solid var(--line);background:var(--paper);border-radius:14px}.card{padding:15px;min-height:86px;display:grid;gap:5px}.card strong{font-size:1.38rem;line-height:1.2;overflow-wrap:anywhere}.card small{font-size:.85rem}.list{margin-bottom:18px}.row{display:flex;justify-content:space-between;align-items:flex-start;gap:15px;padding:14px 16px;border-bottom:1px solid var(--line)}.row:last-child{border:0}.row h3{overflow-wrap:anywhere}.row p{white-space:pre-wrap;overflow-wrap:anywhere;margin:.2rem 0;font-size:.91rem;color:var(--muted)}.row-actions{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end;flex:none}.row-actions button{font-size:.8rem;padding:6px 9px}.row small{display:block;margin-top:3px}.chip{display:inline-block;background:#f0eedf;border-radius:20px;padding:2px 9px;font-size:.75rem;font-weight:700;color:#46544d}.empty{padding:22px;color:var(--muted);margin-bottom:18px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:23px 0 10px}.section-heading h2{margin:0}.month-picker{max-width:190px;font-size:.86rem}.finance-context{color:var(--muted);font-size:.9rem}.finance-amount{font-weight:780;white-space:nowrap}.expense{color:#a23931}.income{color:var(--green)}
dialog{color:var(--ink);background:var(--paper);border:1px solid var(--line);border-radius:17px;width:min(560px,calc(100% - 24px));max-height:90dvh;padding:24px;box-shadow:0 20px 90px #253a3450}dialog::backdrop{background:#1b332c80}dialog form{display:grid;gap:13px}.dialog-heading,.dialog-actions{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.dialog-heading h2{margin-bottom:0}.dialog-actions{justify-content:flex-end;margin-top:4px}.icon{font-size:1.2rem;padding:2px 9px}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.preview{background:#edf3ea;padding:12px 14px;border-radius:10px}.preview ul{list-style:none;padding:0;margin:8px 0 0;max-height:160px;overflow:auto}.preview li{display:flex;justify-content:space-between;gap:12px;border-top:1px solid #cedbd0;padding:5px 0;font-size:.88rem}
@media(max-width:740px){#workspace{grid-template-columns:1fr}.sidebar{position:static;height:auto;border-right:0;border-bottom:1px solid var(--line);padding:13px 16px;gap:11px}.brand .brand-dot{width:33px;height:33px}nav{display:flex;overflow:auto;gap:4px;padding:2px}nav button{white-space:nowrap;font-size:.82rem;padding:8px}.account{display:flex;justify-content:space-between;align-items:center}.account button{padding:4px 9px}.content{padding-top:23px}.row{flex-direction:column;gap:8px}.row-actions{justify-content:flex-start}.section-heading{align-items:flex-start;flex-wrap:wrap}.capture{padding:15px}.capture iframe{width:74px;height:44px}.capture-actions{align-items:flex-start}.samples button{font-size:.74rem}.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.field-grid{grid-template-columns:1fr 1fr}}
.filter-bar{display:flex;flex-wrap:wrap;align-items:end;gap:10px;margin:12px 0 16px}.filter-bar label{min-width:0;max-width:100%;font-size:.85rem}.filter-bar select{max-width:100%;text-overflow:ellipsis}.filter-bar small{align-self:center}.module-details{padding:12px 14px;background:var(--paper);border:1px solid var(--line);border-radius:12px}.module-details summary{cursor:pointer;font-weight:650}.module-details .list{margin:12px 0 0}.mail-row>div:first-child{min-width:0;overflow-wrap:anywhere}.mail-row .row-actions{max-width:48%}.mail-row .row-actions a{font-size:.8rem;padding:5px 4px;align-self:center}@media(max-width:740px){.mail-row .row-actions{max-width:100%}} 
.gmail-connect{padding:1rem;margin:1rem 0;border:1px solid var(--line);border-radius:12px;background:var(--paper)}
.gmail-connect p{margin:.65rem 0 0}.gmail-connect p:first-child{margin:0}.gmail-feedback{font-weight:650}.gmail-feedback:empty{display:none}
