:root{--ink:#15231d;--muted:#6c786f;--paper:#f6f3eb;--card:#fffdf8;--green:#214f3b;--mint:#dfece4;--gold:#d9a441;--red:#a5483c;--line:#deddd5;--shadow:0 14px 36px rgba(26,49,38,.09)}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.45 Inter,Segoe UI,sans-serif}.loading{padding:12vh;text-align:center;color:var(--muted)}
button,input,select,textarea{font:inherit}button{cursor:pointer}.shell{min-height:100vh;display:grid;grid-template-columns:270px minmax(0,1fr)}.sidebar{position:sticky;top:0;height:100vh;overflow-y:auto;background:linear-gradient(180deg,#245b44 0%,#173e2e 100%);color:white;padding:18px 16px 14px;display:flex;flex-direction:column;box-shadow:8px 0 30px #183f3020}.brand{display:flex;align-items:center;gap:10px;padding:0 6px 14px}.brand-mark{display:grid;place-items:center;flex:0 0 38px;height:38px;border:1px solid #ffffff30;border-radius:11px;background:linear-gradient(145deg,#f1c76e,#c9902d);box-shadow:0 8px 18px #0d2e2244;color:#173e2e;font:800 13px Georgia,serif;letter-spacing:.06em}.brand-copy{min-width:0}.brand b{display:block;font:700 16px Georgia,serif;letter-spacing:-.1px;white-space:nowrap}.brand span{display:block;margin-top:1px;overflow:hidden;text-overflow:ellipsis;opacity:.68;font-size:9px;white-space:nowrap}.nav-toggle{display:none;margin-left:auto;border:1px solid #ffffff2b;border-radius:9px;background:#ffffff12;color:white;padding:8px}.nav-toggle svg{display:block;width:19px;height:19px}.nav{display:grid;gap:8px}.nav-group{display:grid;gap:1px}.nav-heading{padding:0 11px 1px;color:#bdd0c6;font-size:8px;font-weight:800;letter-spacing:.15em;text-transform:uppercase}.nav button{display:flex;align-items:center;gap:9px;width:100%;border:1px solid transparent;background:transparent;color:#e0ebe5;text-align:left;padding:6px 10px;border-radius:9px;transition:background .15s ease,border-color .15s ease,transform .15s ease}.nav button svg{flex:0 0 17px;width:17px;height:17px;opacity:.82}.nav button span{font-size:12.5px;font-weight:600}.nav button:hover{background:#ffffff10;border-color:#ffffff12;transform:translateX(2px)}.nav button.active{border-color:#ffffff80;background:#fff;color:var(--green);box-shadow:0 7px 16px #102d2240}.nav button.active svg{opacity:1}.sidebar-foot{display:grid;gap:8px;margin-top:auto;padding:12px 7px 0;border-top:1px solid #ffffff1f}.user-chip{display:flex;align-items:center;gap:8px}.user-chip>span{display:grid;place-items:center;width:29px;height:29px;border-radius:9px;background:#ffffff16;color:#f4d38e;font-size:12px;font-weight:800}.user-chip b,.user-chip small{display:block}.user-chip b{max-width:150px;overflow:hidden;text-overflow:ellipsis;font-size:11px;white-space:nowrap}.user-chip small{color:#bdd0c6;font-size:9px}.sidebar-foot button{display:flex;align-items:center;gap:8px;width:max-content;border:0;background:none;color:#dce8e1;padding:3px 0;font-size:11px}.sidebar-foot button svg{width:14px;height:14px}
main{padding:26px 32px 60px;max-width:1500px;width:100%}.topbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:26px}.topbar h1{font:700 32px Georgia,serif;margin:0}.topbar p{margin:4px 0 0;color:var(--muted)}.title-with-help{display:flex;align-items:center;gap:10px}.info-wrap{position:relative;display:inline-flex;align-items:center;flex:0 0 auto}.info-button{display:grid;place-items:center;width:23px;height:23px;padding:0;border:2px solid #68796f;border-radius:50%;background:#fff;color:var(--green);font:800 13px Georgia,serif;line-height:1}.info-button:hover,.info-button:focus-visible{border-color:var(--gold);background:#fff8e8;outline:3px solid #d9a44130}.info-popover{position:absolute;z-index:30;top:calc(100% + 10px);left:-12px;width:330px;padding:13px 15px;border:1px solid #cfd7d1;border-radius:11px;background:#173e2e;color:#edf5f0;box-shadow:0 16px 38px #10271d3b;font:13px/1.45 Inter,Segoe UI,sans-serif;opacity:0;visibility:hidden;transform:translateY(-4px);transition:opacity .15s ease,transform .15s ease,visibility .15s ease;pointer-events:none}.info-popover:before{content:"";position:absolute;top:-6px;left:17px;width:10px;height:10px;border-left:1px solid #cfd7d1;border-top:1px solid #cfd7d1;background:#173e2e;transform:rotate(45deg)}.info-popover strong,.info-popover>span{display:block}.info-popover strong{margin-bottom:5px;color:#f3cb78;font-size:12px;letter-spacing:.02em}.info-wrap:hover .info-popover,.info-wrap:focus-within .info-popover{opacity:1;visibility:visible;transform:translateY(0)}.actions{display:flex;gap:9px;flex-wrap:wrap}.button{border:1px solid var(--line);background:var(--card);padding:9px 14px;border-radius:9px;color:var(--ink);font-weight:650}.button.primary{background:var(--green);color:white;border-color:var(--green)}.button.gold{background:var(--gold);border-color:var(--gold);color:#241c0e}.button.danger{color:var(--red)}
.metrics{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:14px;margin-bottom:18px}.metric,.panel{background:var(--card);border:1px solid var(--line);border-radius:15px;box-shadow:var(--shadow)}.metric{padding:19px}.metric span{display:block;color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.08em}.metric strong{display:block;font:700 28px Georgia,serif;margin-top:6px}.metric small{color:var(--muted)}.metric-link{color:var(--ink);font:inherit;text-align:left;cursor:pointer;transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease}.metric-link:hover,.metric-link:focus-visible{transform:translateY(-2px);border-color:var(--gold);box-shadow:0 12px 28px #193a2b22;outline:none}.grid{display:grid;grid-template-columns:1.15fr .85fr;gap:18px}.panel{padding:20px;margin-bottom:18px}.panel-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.panel h2{font:700 20px Georgia,serif;margin:0}.panel-head span,.muted{color:var(--muted)}
table{width:100%;border-collapse:collapse}th{text-align:left;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.06em;padding:9px;border-bottom:1px solid var(--line)}td{padding:11px 9px;border-bottom:1px solid #ecebe5;vertical-align:top}.amount{text-align:right;font-variant-numeric:tabular-nums}.negative{color:var(--red)}.positive{color:var(--green)}.pill{display:inline-block;padding:3px 8px;border-radius:99px;background:var(--mint);font-size:12px}.pill.warn{background:#f6e4c0}.empty{padding:28px;text-align:center;color:var(--muted);border:1px dashed var(--line);border-radius:11px}
.account-list{display:grid;gap:10px}.account{display:flex;justify-content:space-between;padding:14px;border-radius:11px;background:#f2f4ef}.account small{display:block;color:var(--muted)}.account strong{font-variant-numeric:tabular-nums}.forecast{display:grid;grid-template-columns:repeat(12,minmax(105px,1fr));gap:8px;overflow:auto;padding-bottom:8px}.week{padding:12px;border:1px solid var(--line);border-radius:10px;background:#faf9f5}.week b,.week small{display:block}.week small{color:var(--muted);margin-top:5px}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.field{display:grid;gap:5px}.field.wide{grid-column:1/-1}.field label{font-size:12px;font-weight:700;color:var(--muted)}input,select,textarea{width:100%;border:1px solid #cfd2ca;border-radius:8px;padding:10px;background:white;color:var(--ink)}textarea{min-height:88px}.modal-backdrop{position:fixed;inset:0;background:#10221999;display:grid;place-items:center;padding:20px;z-index:10}.modal{width:min(620px,100%);max-height:90vh;overflow:auto;background:var(--card);border-radius:16px;padding:23px;box-shadow:0 24px 70px #0005}.modal h2{font:700 25px Georgia,serif;margin:0 0 18px}.modal-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:18px}.modal-record-actions,.modal-save-actions{display:flex;gap:9px;flex-wrap:wrap}.modal-save-actions{justify-content:flex-end}.record-management{padding:11px 13px;border:1px solid #dfd4b6;border-radius:10px;background:#fffaf0}.record-management b,.record-management small{display:block}.record-management b{color:#5b4822}.record-management small{margin-top:3px;color:#74684f;line-height:1.4}.auth{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at 20% 20%,#315f49,var(--green) 45%,#132d22)}.auth-card{width:min(440px,92vw);background:var(--card);border-radius:22px;padding:36px;box-shadow:0 30px 80px #0005}.auth-card h1{font:700 34px Georgia,serif;margin:0}.auth-card>p{color:var(--muted);margin-bottom:25px}.auth-card form{display:grid;gap:14px}.notice{padding:11px;border-radius:8px;background:#f9e5df;color:#7d312a}.toolbar{display:flex;gap:10px;align-items:end;flex-wrap:wrap;margin-bottom:16px}.toolbar .field{min-width:160px}.section-title{font:700 24px Georgia,serif;margin:0 0 16px}.bar{height:9px;background:var(--mint);border-radius:20px;overflow:hidden}.bar i{display:block;height:100%;background:var(--gold)}@media(max-width:900px){.shell{display:block}.sidebar{position:sticky;z-index:9;height:auto;min-height:0;overflow:visible;padding:12px 16px}.brand{padding:0}.brand-mark{flex-basis:36px;height:36px;border-radius:10px}.brand b{font-size:17px}.nav-toggle{display:block}.nav{display:none;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;margin-top:14px;padding:14px 0 4px;border-top:1px solid #ffffff20}.sidebar.menu-open .nav{display:grid}.sidebar-foot{display:none}.sidebar.menu-open .sidebar-foot{display:flex;align-items:center;justify-content:space-between;margin-top:12px}.nav button{padding:8px}.nav button:hover{transform:none}main{padding:20px}.metrics{grid-template-columns:repeat(2,1fr)}.grid{grid-template-columns:1fr}.forecast{grid-template-columns:repeat(12,125px)}}@media(max-width:560px){.metrics{grid-template-columns:1fr}.field.wide{grid-column:auto}.topbar{align-items:flex-start;gap:15px;flex-direction:column}.nav{grid-template-columns:1fr}.brand-copy span{max-width:190px}.modal-actions{align-items:stretch;flex-direction:column-reverse}.modal-record-actions,.modal-save-actions{width:100%}.modal-record-actions .button,.modal-save-actions .button{flex:1}}
.calendar-head,.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(120px,1fr));min-width:840px}.calendar-head{overflow:hidden;border-radius:10px 10px 0 0;background:linear-gradient(135deg,#16263d,#263b59)}.calendar-head b{padding:11px 9px;text-align:center;color:#f5f0e8;font-size:11px;letter-spacing:.1em;text-transform:uppercase}.calendar-grid{border-top:0;border-left:1px solid #d7dce3;box-shadow:0 10px 28px #17223812}.calendar-day{min-height:138px;padding:10px;border-right:1px solid #d7dce3;border-bottom:1px solid #d7dce3;background:linear-gradient(180deg,#fff,#fbfcfe)}.calendar-day>b{display:inline-grid;place-items:center;min-width:27px;height:27px;border-radius:50%;background:#edf1f6;color:#263b59;font-size:12px}.calendar-day.outside{background:#eef1f5}.calendar-event{display:block;width:100%;margin-top:8px;padding:9px 10px;border:1px solid #ffffff22;border-left:4px solid #e2b86b;border-radius:8px;background:linear-gradient(135deg,#5a1830,#7b2945);box-shadow:0 4px 10px #35101c24;color:#fff;font:inherit;font-size:11px;text-align:left;cursor:pointer;transition:transform .16s ease,box-shadow .16s ease,filter .16s ease}.calendar-event.income{border-left-color:#78d6ae;background:linear-gradient(135deg,#075b4c,#087d68);box-shadow:0 4px 10px #064c4024}.calendar-event.bill.status-paid{border-left-color:#9bd7ef;background:linear-gradient(135deg,#1b4a66,#256b8d)}.calendar-event.income.status-received{border-left-color:#b0f2cf;background:linear-gradient(135deg,#06483c,#086b59)}.calendar-event.status-due,.calendar-event.status-partially-paid{border-left-color:#ffcf70;background:linear-gradient(135deg,#7b2d12,#a44819)}.calendar-event.income.status-expected{border-left-color:#98d4bb;background:linear-gradient(135deg,#155445,#247461)}.calendar-event:hover{filter:brightness(1.08);transform:translateY(-1px);box-shadow:0 7px 16px #17223830}.calendar-event:focus-visible{outline:3px solid #d8ad55;outline-offset:2px}.calendar-event span,.calendar-event strong,.calendar-event small{display:block}.calendar-event span{color:#ffffffc7;font-size:8px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.calendar-event strong{margin-top:3px;color:#fff;font-size:11px;line-height:1.25}.calendar-event small{margin-top:4px;color:#fff;font-size:11px;font-weight:700;font-variant-numeric:tabular-nums}.section-title{color:#263b59}@media(max-width:900px){.calendar-head,.calendar-grid{grid-template-columns:repeat(7,120px)}.panel:has(.calendar-grid){overflow:auto}}
.calendar-assets{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:1px;margin-bottom:16px;overflow:hidden;border:1px solid #d3d9e2;border-radius:12px;background:#d3d9e2;box-shadow:0 8px 22px #17223812}.calendar-assets>div{display:flex;min-height:76px;flex-direction:column;align-items:center;justify-content:center;padding:13px 12px;background:linear-gradient(135deg,#fff,#f5f7fa);text-align:center}.calendar-assets span,.calendar-assets strong{display:block;width:100%;text-align:center}.calendar-assets span{color:#647186;font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.calendar-assets strong{margin-top:3px;color:#1c314e;font-size:19px;font-variant-numeric:tabular-nums}.calendar-assets .period-total{position:relative;background:linear-gradient(135deg,#fffaf0,#f4ead4)}.calendar-assets .period-total.paid{background:linear-gradient(135deg,#eef7fb,#dcecf4)}.calendar-assets .period-total.income{background:linear-gradient(135deg,#f2fbf7,#dff2e9)}.calendar-assets .period-total em{display:block;width:100%;margin-top:4px;color:#6f5b35;font-size:10px;font-style:normal;font-weight:750;text-align:center}.calendar-assets .period-total.paid em{color:#315e73}.calendar-assets .period-total.income em{color:#326657}.calendar-assets>small{grid-column:1/-1;padding:8px 14px;background:#1c314e;color:#e9edf3;font-size:10px;text-align:center}.calendar-event em{display:block;margin-top:6px;padding-top:5px;border-top:1px solid #ffffff38;color:#fff;font-size:9px;font-style:normal;font-weight:700}.day-total{display:flex;flex-wrap:wrap;gap:3px 8px;margin-top:9px;padding:7px 8px;border:1px solid #d9dee6;border-radius:7px;background:#f1f4f8;color:#56657a;font-size:9px;font-variant-numeric:tabular-nums}.day-total span,.day-total strong{white-space:nowrap}.day-total strong{margin-left:auto}@media(max-width:1100px) and (min-width:701px){.calendar-assets{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:700px){.calendar-assets{grid-template-columns:1fr}.calendar-assets>small{grid-column:1}.calendar-event em{font-size:8px}}
.calendar-event .actual-value{margin-top:3px;padding:4px 6px;border-radius:5px;background:#ffffff1c;color:#fff7cf}.actual-panel{display:grid;gap:5px;padding:12px;border:1px solid #cad4e0;border-radius:9px;background:#f3f6f9}.actual-panel b{color:#1c314e}.actual-panel small{color:#637187}.actual-panel label{margin-top:3px;color:#29415f;font-weight:700}
.password-control{position:relative}.password-control input{padding-right:68px}.password-toggle{position:absolute;top:50%;right:5px;transform:translateY(-50%);border:0;border-radius:6px;background:#e8eee9;color:var(--green);padding:6px 10px;font-size:11px;font-weight:800}.password-toggle:hover{background:#dce8e1}.password-toggle:focus-visible{outline:3px solid #d9a44155;outline-offset:1px}
.auth{min-height:100dvh;max-width:none;width:100%;padding:clamp(18px,3vw,48px);background:radial-gradient(circle at 12% 12%,#316b52 0,#183f30 34%,#0b281f 100%)}.auth-shell{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(390px,.85fr);width:min(1320px,100%);min-height:min(760px,calc(100dvh - clamp(36px,6vw,96px)));margin:auto;overflow:hidden;border:1px solid #ffffff1c;border-radius:30px;background:#f7f3e9;box-shadow:0 34px 90px #051b145c}.auth-visual{position:relative;display:flex;min-width:0;flex-direction:column;overflow:hidden;padding:clamp(32px,4.2vw,68px);background:linear-gradient(145deg,#245b44 0%,#123a2c 56%,#0b2b21 100%);color:#fff}.auth-visual:after{content:"";position:absolute;right:-130px;bottom:-160px;width:430px;height:430px;border:1px solid #efd08418;border-radius:50%;box-shadow:0 0 0 62px #efd08408,0 0 0 124px #efd08405;pointer-events:none}.auth-brand{position:relative;z-index:1;display:flex;align-items:center;gap:13px}.auth-brand span{display:grid;place-items:center;width:47px;height:47px;border:1px solid #ffe9ad6e;border-radius:14px;background:linear-gradient(145deg,#f2d38c,#c48b2d);box-shadow:0 10px 24px #061b154a;color:#173e2e;font:800 13px Georgia,serif;letter-spacing:.08em}.auth-brand b{font:700 clamp(18px,1.8vw,24px) Georgia,serif;letter-spacing:-.02em}.auth-message{position:relative;z-index:1;max-width:650px;margin-top:clamp(48px,7vh,85px)}.auth-eyebrow,.auth-card-kicker{display:block;margin-bottom:13px;color:#efc96f;font-size:11px;font-weight:850;letter-spacing:.18em;text-transform:uppercase}.auth-message h1{margin:0;font:700 clamp(38px,4.1vw,63px)/1.04 Georgia,serif;letter-spacing:-.035em}.auth-message p{max-width:610px;margin:22px 0 0;color:#d4e2da;font-size:clamp(14px,1.2vw,18px);line-height:1.65}.vault-illustration{position:relative;z-index:1;flex:1;display:flex;align-items:center;min-height:235px;margin:8px -10px 0}.vault-illustration svg{display:block;width:min(100%,650px);height:auto;filter:drop-shadow(0 22px 28px #061c1545)}.auth-benefits{position:relative;z-index:1;display:flex;gap:12px;flex-wrap:wrap}.auth-benefits span{padding:7px 11px;border:1px solid #ffffff24;border-radius:99px;background:#ffffff0d;color:#e5eee9;font-size:10px;font-weight:750;letter-spacing:.04em}.auth-entry{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:clamp(34px,5vw,78px);background:radial-gradient(circle at 100% 0,#fff 0,#faf7ef 45%,#f3eee2 100%)}.auth-card{width:min(430px,100%);padding:0;border-radius:0;background:transparent;box-shadow:none}.auth-card h2{margin:0;font:700 clamp(31px,3vw,43px)/1.08 Georgia,serif;letter-spacing:-.03em}.auth-card>p{margin:14px 0 28px;color:var(--muted);line-height:1.6}.auth-card form{display:grid;gap:17px}.auth-card .field{gap:7px}.auth-card .field label{color:#43544b;font-size:11px;letter-spacing:.03em}.auth-card input{min-height:48px;border-color:#cfd6cf;border-radius:11px;background:#ffffffde;padding:12px 13px;box-shadow:inset 0 1px 1px #193a2b08;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease}.auth-card input:focus{border-color:#2d6c51;background:#fff;box-shadow:0 0 0 4px #2d6c5118;outline:none}.auth-card .password-toggle{right:7px;padding:7px 11px}.auth-submit{display:flex;align-items:center;justify-content:space-between;min-height:50px;margin-top:2px;padding:12px 17px;border-radius:11px;background:linear-gradient(135deg,#245b44,#173e2e);box-shadow:0 10px 22px #173e2e27;transition:transform .15s ease,box-shadow .15s ease}.auth-submit:hover,.auth-submit:focus-visible{transform:translateY(-1px);box-shadow:0 14px 26px #173e2e32}.auth-submit span{font-size:19px;font-weight:400}.auth-security{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:22px;padding-top:18px;border-top:1px solid #deddd5}.auth-security span{color:#bd852b;font-size:9px;transform:rotate(45deg)}.auth-security small{color:#758078;font-size:10px}.auth-support{margin:22px 0 0;color:#8a918c;font-size:10px;text-align:center}.auth .notice{margin-bottom:18px;border:1px solid #edc9bf;background:#fff1ed;color:#7d312a}.auth input[readonly]{background:#efeee9;color:#657168}@media(max-width:900px){.auth{padding:16px}.auth-shell{grid-template-columns:1fr;min-height:0;border-radius:24px}.auth-visual{min-height:330px;padding:30px}.auth-message{margin-top:38px}.auth-message h1{font-size:42px}.auth-message p{font-size:14px}.vault-illustration{position:absolute;right:-32px;bottom:-18px;width:48%;min-height:0;opacity:.74}.auth-benefits{margin-top:28px;padding-right:44%}.auth-entry{padding:48px 30px}}@media(max-width:560px){.auth{padding:0;background:#f7f3e9}.auth-shell{border:0;border-radius:0;box-shadow:none}.auth-visual{min-height:270px;padding:24px}.auth-brand span{width:41px;height:41px}.auth-message{margin-top:32px}.auth-message h1{font-size:34px}.auth-message p{margin-top:14px;max-width:90%;font-size:13px}.vault-illustration{right:-38px;bottom:-4px;width:56%}.auth-benefits{display:none}.auth-entry{padding:38px 24px 48px}.auth-card h2{font-size:34px}.auth-support{margin-top:18px}}
.auth{padding:28px}.auth-shell{grid-template-columns:minmax(0,1.08fr) minmax(430px,.92fr);width:min(1180px,100%);height:min(820px,calc(100dvh - 56px));min-height:680px;border-radius:26px}.auth-visual{display:grid;grid-template-rows:auto auto minmax(225px,1fr) auto;padding:42px 52px}.auth-message{max-width:560px;margin-top:44px}.auth-message h1{font-size:clamp(40px,3.6vw,55px);line-height:1.02}.auth-message p{max-width:540px;margin-top:18px;font-size:15px}.vault-illustration{align-self:center;justify-self:center;width:100%;min-height:0;margin:2px 0 -4px}.vault-illustration svg{width:min(100%,520px);max-height:285px}.auth-benefits{align-items:center;justify-content:center;gap:9px}.auth-benefits span{padding:6px 10px}.auth-entry{padding:44px;background:radial-gradient(circle at 100% 0,#fff 0,#faf7ef 48%,#f1ebde 100%)}.auth-card{width:min(420px,100%);padding:36px;border:1px solid #dddcd4;border-radius:21px;background:#fffdf9;box-shadow:0 18px 48px #173e2e14}.auth-card h2{font-size:38px}.auth-support{width:100%;max-width:420px;margin-top:16px}@media(max-width:900px){.auth{padding:16px}.auth-shell{height:auto;min-height:0;grid-template-columns:1fr}.auth-visual{display:block;min-height:315px;padding:30px}.auth-message{margin-top:34px}.auth-message h1{font-size:40px}.vault-illustration{position:absolute;right:-24px;bottom:-16px;width:44%;max-width:330px}.vault-illustration svg{max-height:none}.auth-benefits{justify-content:flex-start;margin-top:24px;padding-right:40%}.auth-entry{padding:42px 28px}.auth-card{padding:34px}}@media(max-width:560px){.auth{padding:0}.auth-shell{border-radius:0}.auth-visual{min-height:260px;padding:24px}.auth-message{margin-top:28px}.auth-message h1{font-size:32px}.vault-illustration{right:-38px;width:53%}.auth-benefits{display:none}.auth-entry{padding:30px 20px 40px}.auth-card{padding:28px 22px;border-radius:17px}.auth-card h2{font-size:32px}}
.calendar-controls{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap}.view-switch{display:flex;padding:3px;border:1px solid #d1d7df;border-radius:10px;background:#e9edf2}.view-switch button{border:0;border-radius:7px;background:transparent;color:#526177;padding:7px 11px;font-size:12px;font-weight:750}.view-switch button:hover{color:#1c314e}.view-switch button.active{background:#1c314e;color:#fff;box-shadow:0 3px 9px #16263d30}.calendar-panel{overflow:auto}.calendar-grid.week-view{grid-template-columns:repeat(7,minmax(120px,1fr));min-width:840px;border-top:1px solid #d7dce3}.calendar-grid.week-view .calendar-day{min-height:390px}.calendar-grid.week-view .calendar-day>b{width:auto;padding:0 9px;border-radius:8px;font-size:10px;white-space:nowrap}.calendar-grid.day-view{display:block;min-width:0;border-top:1px solid #d7dce3}.calendar-grid.day-view .calendar-day{min-height:420px;padding:18px}.calendar-grid.day-view .calendar-day>b{width:auto;padding:0 11px;border-radius:8px;font-size:13px;white-space:nowrap}.calendar-grid.day-view .calendar-event{max-width:620px;padding:13px 14px;font-size:13px}.calendar-grid.day-view .calendar-event strong,.calendar-grid.day-view .calendar-event small{font-size:13px}.calendar-grid.day-view .calendar-event span{font-size:9px}.calendar-grid.day-view .day-total{max-width:620px;padding:10px 12px;font-size:12px}.calendar-day.today{box-shadow:inset 0 0 0 2px #d4a13f}.calendar-day.today>b{background:#d9a441;color:#241c0e}.calendar-empty{margin-top:18px;padding:28px;border:1px dashed #ccd3dd;border-radius:10px;background:#f7f9fb;color:#6b7788;text-align:center}@media(max-width:700px){.calendar-controls{justify-content:flex-start}.calendar-controls>.button{padding:8px 10px}.view-switch{order:3;width:100%}.view-switch button{flex:1}.calendar-grid.week-view{grid-template-columns:repeat(7,120px);min-width:840px}.calendar-grid.day-view{grid-template-columns:1fr;min-width:0}.calendar-grid.day-view .calendar-day{min-height:330px}}
.insight-list{display:grid;gap:10px;margin-top:15px}.insight-category{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px 14px;width:100%;padding:14px;border:1px solid var(--line);border-radius:11px;background:#faf9f5;color:var(--ink);text-align:left;transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease}.insight-category:hover,.insight-category:focus-visible{transform:translateY(-1px);border-color:var(--gold);box-shadow:0 8px 18px #193a2b16;outline:none}.insight-category div:first-child{min-width:0}.insight-category b,.insight-category span{display:block}.insight-category b{font-size:14px}.insight-category span,.insight-category small{color:var(--muted);font-size:11px}.insight-category strong{font-size:14px;font-variant-numeric:tabular-nums}.insight-category .bar{grid-column:1/-1}.insight-category small{grid-column:1/-1;color:var(--green);font-weight:750}
.insight-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:18px}.insight-summary>div{padding:17px 18px;border:1px solid #cfd8d1;border-radius:13px;background:linear-gradient(135deg,#fffdf8,#f0f5f1);box-shadow:var(--shadow)}.insight-summary span,.insight-summary strong,.insight-summary small{display:block}.insight-summary span{color:#5d6f64;font-size:9px;font-weight:850;letter-spacing:.1em;text-transform:uppercase}.insight-summary strong{margin-top:5px;color:#183f30;font:700 25px Georgia,serif;font-variant-numeric:tabular-nums}.insight-summary small{margin-top:3px;color:var(--muted);font-size:10px}.insight-summary>div.attention{border-color:#e4b3b5;background:linear-gradient(135deg,#fffafa,#f8e8e9)}.insight-summary>div.attention strong{color:#8b252e}
.payment-activity-panel{border-color:#d8c486;background:linear-gradient(135deg,#fffdf8,#fbf4df)}.payment-activity-panel .panel-head{margin-bottom:12px}.payment-activity-total{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;overflow:hidden;border:1px solid #d9cfad;border-radius:11px;background:#d9cfad}.payment-activity-total>div{padding:13px 15px;background:#fff}.payment-activity-total span,.payment-activity-total strong{display:block}.payment-activity-total span{color:#766a45;font-size:9px;font-weight:850;letter-spacing:.08em;text-transform:uppercase}.payment-activity-total strong{margin-top:4px;color:#283d31;font:700 22px Georgia,serif;font-variant-numeric:tabular-nums}
.subcategory-totals{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.subcategory-totals>button{display:block;padding:15px 16px;border:1px solid #ced9d1;border-radius:12px;background:linear-gradient(135deg,#f9fbf8,#eef4ef);color:var(--ink);text-align:left;transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease}.subcategory-totals>button:hover,.subcategory-totals>button:focus-visible{transform:translateY(-1px);border-color:var(--gold);box-shadow:0 9px 20px #193a2b18;outline:none}.subcategory-totals span,.subcategory-totals strong,.subcategory-totals small{display:block}.subcategory-totals span{min-height:30px;color:var(--green);font-size:11px;font-weight:800}.subcategory-totals strong{margin-top:5px;font:700 24px Georgia,serif;font-variant-numeric:tabular-nums}.subcategory-totals small{margin-top:4px;color:var(--muted);font-size:10px;line-height:1.35}
.eyebrow{display:block;color:#8b6a26;font-size:9px;font-weight:850;letter-spacing:.14em;text-transform:uppercase}.text-action{border:0;background:none;color:var(--green);padding:4px 0;font-weight:800;text-align:left}.text-action:hover,.text-action:focus-visible{color:#9b6b13;text-decoration:underline;outline:none}.routine-panel{margin-bottom:18px;padding:17px 19px;border:1px solid #d8d6ca;border-radius:15px;background:linear-gradient(135deg,#fffdf8,#f2f5ef);box-shadow:var(--shadow)}.routine-head{display:flex;align-items:end;justify-content:space-between;gap:18px;margin-bottom:13px}.routine-head h2{margin:2px 0 0;font:700 19px Georgia,serif}.routine-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.routine-grid>button{display:flex;align-items:flex-start;gap:10px;min-width:0;padding:11px;border:1px solid #dde1da;border-radius:10px;background:#fff;color:var(--ink);text-align:left;transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease}.routine-grid>button:hover,.routine-grid>button:focus-visible{transform:translateY(-1px);border-color:var(--gold);box-shadow:0 7px 18px #193a2b15;outline:none}.routine-grid>button>span,.process-number{display:grid;place-items:center;flex:0 0 25px;height:25px;border-radius:8px;background:var(--green);color:#fff;font-size:11px;font-weight:850}.routine-grid b,.routine-grid small{display:block}.routine-grid b{font-size:12px}.routine-grid small{margin-top:2px;color:var(--muted);font-size:10px;line-height:1.35}.guide-hero{display:flex;align-items:center;justify-content:space-between;gap:25px;margin-bottom:18px;padding:25px;border-radius:16px;background:linear-gradient(135deg,#173e2e,#286049);box-shadow:0 16px 36px #193a2b25;color:#fff}.guide-hero .eyebrow{color:#f3ca75}.guide-hero h2{max-width:830px;margin:4px 0 7px;font:700 25px Georgia,serif}.guide-hero p{max-width:850px;margin:0;color:#d9e7df}.workflow-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:18px}.workflow-card{display:flex;gap:13px;padding:17px;border:1px solid var(--line);border-radius:13px;background:var(--card);box-shadow:0 7px 18px #193a2b0c}.workflow-card>span{display:grid;place-items:center;flex:0 0 34px;height:34px;border-radius:10px;background:#e6eee9;color:var(--green);font:800 15px Georgia,serif}.workflow-card small{color:#9a762e;font-size:9px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.workflow-card h3{margin:2px 0 4px;font:700 17px Georgia,serif}.workflow-card p{margin:0;color:var(--muted);font-size:12px}.workflow-card .text-action{margin-top:6px;font-size:11px}.guide-rhythm ol{margin:12px 0 0;padding-left:20px}.guide-rhythm li{margin:7px 0;color:#4e5d54}.help-callout,.process-note{display:flex;align-items:center;justify-content:space-between;gap:20px}.help-callout h2{margin-top:3px}.help-callout p{margin:5px 0 0;color:var(--muted)}.process-note{margin-bottom:18px;padding:15px 17px;border:1px solid #e2c477;border-radius:13px;background:#fff8e8}.process-note .process-number{border-radius:50%;background:#d9a441;color:#2a210f;font:800 14px Georgia,serif}.process-note div{flex:1}.process-note b{display:block}.process-note p{margin:3px 0 0;color:#675b43;font-size:12px}.actual-title{display:flex;align-items:center;gap:8px}.actual-title .info-button{width:20px;height:20px;font-size:11px}.actual-title .info-popover{width:290px}
.group-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:18px}.group-summary>div,.group-summary>button{display:block;padding:16px 18px;border:1px solid var(--line);border-radius:13px;background:var(--card);box-shadow:var(--shadow);color:var(--ink);text-align:left}.group-summary>button{transition:transform .15s ease,border-color .15s ease}.group-summary>button:hover,.group-summary>button:focus-visible{transform:translateY(-1px);border-color:var(--gold);outline:none}.group-summary span,.group-summary strong,.group-summary small{display:block}.group-summary span{color:var(--muted);font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.group-summary strong{margin-top:3px;font:700 25px Georgia,serif}.group-summary small{color:var(--muted)}.group-clean-panel{border-color:#c8d5cc;background:linear-gradient(135deg,#fffdf8,#f1f6f2)}.group-view-control{display:flex;align-items:center;gap:10px;margin-bottom:13px;padding:11px 13px;border:1px solid #d8e1da;border-radius:10px;background:#f5f8f5}.group-view-control label{font-weight:800;color:var(--green)}.group-view-control select{width:auto;min-width:235px;padding:8px}.group-view-control span{color:var(--muted);font-size:12px}.group-member-toolbar{display:flex;align-items:center;justify-content:space-between;gap:13px;margin-bottom:15px}.group-member-toolbar .actions{align-items:center}.group-member-toolbar select{width:min(320px,42vw);padding:9px}.group-member-toolbar+.empty{margin-top:8px}.raw-description-group td{padding:10px 12px;background:linear-gradient(90deg,#e5eee8,#f7f4e9);border-top:2px solid #91a99a;border-bottom:1px solid #cbd8cf}.raw-description-group td>div{display:flex;align-items:center;justify-content:space-between;gap:16px}.raw-description-group small,.raw-description-group b{display:block}.raw-description-group small{color:var(--muted);font-size:9px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.raw-description-group b{margin-top:2px;color:#173d31}.raw-description-actions{display:flex;align-items:center;gap:12px;white-space:nowrap}.raw-description-actions span{color:var(--muted);font-size:12px}
.bulk-group-panel{border-color:#c7d5cb;background:linear-gradient(135deg,#fffdf8,#eff5f0)}.bulk-group-panel .panel-head strong{color:var(--green);font-size:12px}.bulk-group-form{display:grid;grid-template-columns:minmax(180px,1fr) minmax(180px,1fr) auto auto;align-items:end;gap:10px}.bulk-group-form .button{min-height:40px}.bulk-success{margin-bottom:18px;background:#e7f2ea;color:#24563e}
.category-status{display:inline-flex;align-items:center;min-width:112px;padding:5px 9px;border:1px solid transparent;border-radius:99px;font-size:10px;font-weight:850;letter-spacing:.02em;white-space:nowrap}.category-status.needs-category{border-color:#e5a7ab;background:#fbe7e8;color:#8b252e}.category-status.has-category{border-color:#9bc8ab;background:#e3f2e8;color:#1d6739}.needs-category-row td:first-child{box-shadow:inset 3px 0 #b9434d}.has-category-row td:first-child{box-shadow:inset 3px 0 #2d8a50}
.category-summary strong{white-space:nowrap}.inactive-row{opacity:.62;background:#f6f6f4}
@media(max-width:1100px){.routine-grid,.subcategory-totals,.insight-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.info-popover{left:-8px;width:min(310px,calc(100vw - 48px))}.routine-head,.guide-hero,.help-callout,.process-note,.group-member-toolbar,.group-view-control,.raw-description-group td>div{align-items:flex-start;flex-direction:column}.routine-grid,.workflow-grid,.group-summary,.subcategory-totals,.bulk-group-form,.insight-summary,.payment-activity-total{grid-template-columns:1fr}.routine-grid{gap:7px}.guide-hero h2{font-size:21px}.process-note .button{margin-left:38px}.title-with-help{align-items:flex-start}.topbar h1{font-size:29px}.group-member-toolbar .actions{width:100%}.group-member-toolbar select,.group-view-control select{width:100%}.raw-description-actions{width:100%;justify-content:space-between}}
.calculator-launcher{position:fixed;right:22px;bottom:20px;z-index:20;display:flex;align-items:center;gap:8px;padding:9px 13px 9px 9px;border:1px solid #e9c46c;border-radius:13px;background:linear-gradient(135deg,#173e2e,#265c46);box-shadow:0 10px 28px #102a1f42;color:#fff}.calculator-launcher:hover,.calculator-launcher:focus-visible{transform:translateY(-1px);outline:3px solid #e6bd5e52;box-shadow:0 14px 34px #102a1f52}.calculator-launcher>span{display:grid;place-items:center;width:32px;height:28px;border-radius:8px;background:#e6bd5e;color:#243326;font-size:10px;font-weight:900;letter-spacing:-.02em}.calculator-launcher>b{font-size:12px}.calculator-panel{position:fixed;right:22px;bottom:75px;z-index:21;width:min(330px,calc(100vw - 30px));padding:17px;border:1px solid #c9d4cc;border-radius:17px;background:#fdfcf8;box-shadow:0 22px 60px #0e241b42}.calculator-panel[hidden]{display:none}.calculator-panel header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:12px}.calculator-panel header small{display:block;color:#9a742b;font-size:8px;font-weight:850;letter-spacing:.14em;text-transform:uppercase}.calculator-panel h2{margin:2px 0 0;color:#183f30;font:700 21px Georgia,serif}.calculator-panel header button{display:grid;place-items:center;width:30px;height:30px;padding:0;border:1px solid #d3d9d4;border-radius:9px;background:#fff;color:#526057;font-size:20px;line-height:1}.calculator-screen{display:grid;min-height:77px;margin-bottom:11px;padding:11px 13px;border:1px solid #203d32;border-radius:11px;background:linear-gradient(145deg,#132d22,#1d4936);text-align:right}.calculator-screen small{align-self:start;min-height:16px;color:#bdcfc5;font-size:11px}.calculator-screen output{align-self:end;overflow:hidden;color:#fff;font:700 30px/1.05 Georgia,serif;letter-spacing:.01em;text-overflow:ellipsis;white-space:nowrap}.calculator-keys{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.calculator-keys button{min-height:43px;border:1px solid #d4dad5;border-radius:10px;background:#fff;color:#24352c;font-size:15px;font-weight:750;box-shadow:0 2px 5px #193a2b0d}.calculator-keys button:hover,.calculator-keys button:focus-visible{border-color:#c5993f;background:#fff9eb;outline:none}.calculator-keys .utility{background:#edf1ee;color:#405249}.calculator-keys .operator{background:#e3ece6;color:#16432f}.calculator-keys .operator.active{border-color:#d5a342;background:#f5d88e;color:#2d2a1e}.calculator-keys .equals{border-color:#173e2e;background:#173e2e;color:#fff}.calculator-keys .zero{grid-column:span 2}.calculator-copy{width:100%;margin-top:10px;padding:8px;border:1px solid #cbd4ce;border-radius:9px;background:#fff;color:#174632;font-size:11px;font-weight:800}.calculator-copy:hover,.calculator-copy:focus-visible{border-color:#d5a342;outline:none}.calculator-hint{display:block;margin-top:8px;color:#7a857e;font-size:9px;text-align:center}@media(max-width:700px){.calculator-launcher{right:14px;bottom:14px}.calculator-launcher>b{display:none}.calculator-panel{right:14px;bottom:66px}.calculator-keys button{min-height:46px}}

@media(max-width:560px){.form-grid{grid-template-columns:1fr}}

.intake-panel{border-color:#c8d6ce;background:linear-gradient(145deg,#fffdf8,#f3f7f4)}
.intake-panel textarea{min-height:170px;resize:vertical;font:13px/1.55 ui-monospace,SFMono-Regular,Consolas,monospace}
.intake-options{display:grid;gap:9px;padding:13px 15px;border:1px solid #d7dfd9;border-radius:10px;background:#fff}
.intake-options label{display:flex;align-items:flex-start;gap:9px;color:#385047;font-size:12px;line-height:1.4}
.privacy-note{margin-top:14px;padding:11px 13px;border-left:4px solid #d4a13f;border-radius:8px;background:#fff8e8;color:#655a43;font-size:11px;line-height:1.45}
.intake-preview{margin-top:20px;padding-top:18px;border-top:1px solid #ccd7cf}
.intake-table-wrap{overflow:auto;margin-top:14px;border:1px solid #d6ddd8;border-radius:11px;background:#fff}
.intake-table{min-width:1080px}
.intake-table th{position:sticky;top:0;z-index:1;background:#edf3ef}
.intake-table td{vertical-align:top}
.intake-table input:not([type="checkbox"]),.intake-table select{min-width:130px;padding:8px 9px;font-size:11px}
.intake-table [name="rawDescription"]{min-width:260px}
.intake-table [name="cleanPayeeName"]{min-width:175px}
.intake-table [name="amount"]{width:115px;min-width:115px;text-align:right;font-variant-numeric:tabular-nums}
.intake-table td:last-child{min-width:145px}
.intake-table td:last-child small{display:block;margin-top:6px;color:var(--muted);font-size:9px;line-height:1.35}
.intake-duplicate{opacity:.62;background:#f4f4f2}
.intake-review{background:#fffaf0}
@media(max-width:700px){.intake-preview .panel-head{align-items:flex-start;flex-direction:column}.intake-preview .panel-head .button{width:100%}}
