:root{--ink:#172d58;--muted:#687895;--line:#e7edf6;--bg:#f3f8fe;--blue:#1474de;--red:#e75c63;--green:#20a277;--orange:#ef9c39;--card:#fff}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}.topbar{height:78px;padding:12px max(28px,calc((100vw - 1420px)/2));background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}.brand img{width:126px;height:52px;object-fit:contain;object-position:left center}.topbar-actions{display:flex;gap:20px;align-items:center;color:var(--muted);font-size:14px}.page{max-width:1420px;margin:auto;padding:38px 28px 64px}.page-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:16px}.eyebrow{letter-spacing:.13em;font-weight:800;font-size:11px;color:#6380aa;margin:0 0 7px}h1{font-size:30px;margin:0}h2{font-size:18px;margin:0}p{color:var(--muted)}.sync-message{margin:0 0 18px;font-size:13px}.card{background:var(--card);border:1px solid var(--line);border-radius:16px;box-shadow:0 5px 20px rgba(35,78,130,.035)}.period{display:flex;align-items:center;gap:25px;padding:12px 18px;margin-bottom:20px}.period label,.section-title label{color:var(--muted);font-size:13px;font-weight:700}.period select,.section-title select{margin-left:7px;padding:7px 25px 7px 10px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink)}.month-picker{display:flex;align-items:center;gap:16px;font-size:16px}.month-picker button{border:0;background:#eef5ff;border-radius:8px;color:var(--blue);font-size:25px;line-height:30px;width:30px}.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.kpi{min-height:140px;text-align:left;border:1px solid var(--line);border-radius:16px;background:#fff;padding:22px;display:flex;gap:15px;align-items:flex-start;color:var(--ink)}.kpi .icon{width:38px;height:38px;flex:0 0 38px;border-radius:11px;display:grid;place-items:center;font-size:20px;font-weight:800}.kpi span,.kpi small{display:block;color:var(--muted);font-size:13px}.kpi strong{display:block;font-size:25px;margin:7px 0}.goal .icon{background:#fff0f1;color:var(--red)}.paid .icon{background:#ebfaf4;color:var(--green)}.remaining .icon{background:#fff5e7;color:var(--orange)}.invoices .icon{background:#eaf3ff;color:var(--blue)}.invoices:hover{border-color:#9cc6f7}.inline-button,.quiet{background:transparent;border:0;color:var(--blue);padding:0;font-size:12px;font-weight:700}.progress-card{padding:21px;margin:20px 0}.progress-label{display:flex;justify-content:space-between}.progress-label strong:last-child{color:var(--blue)}.progress-track{height:10px;background:#eaf0f8;border-radius:999px;overflow:hidden;margin:13px 0 8px}.progress-track div{height:100%;width:0;background:linear-gradient(90deg,#2385ea,#43b7e5);border-radius:999px;transition:width .2s}.progress-card p{font-size:13px;margin:0}.invoices{padding:24px}.section-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}.section-title p{font-size:13px;margin:5px 0 0}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;min-width:970px}th{text-align:left;text-transform:uppercase;letter-spacing:.05em;color:#7a8aa4;font-size:10px;padding:0 12px 11px;border-bottom:1px solid var(--line)}td{padding:15px 12px;color:#344664;font-size:13px;border-bottom:1px solid var(--line);vertical-align:middle}td:first-child{font-weight:800;color:var(--ink)}.address{display:block;color:var(--muted);font-weight:400;font-size:12px;margin-top:4px}.amount{font-weight:800;color:var(--ink)}.note{max-width:190px}.status{border:0;border-radius:100px;padding:6px 9px;font-size:11px;font-weight:800}.status.pending{color:#b16c13;background:#fff4dc}.status.paid{color:#147d5e;background:#e7f8ef}.actions{position:relative}.menu-button{border:0;background:#f1f5fa;color:var(--ink);width:31px;height:31px;border-radius:8px;font-weight:900}.menu{position:absolute;right:8px;top:49px;z-index:2;background:#fff;min-width:180px;padding:6px;border:1px solid var(--line);box-shadow:0 12px 30px #20457321;border-radius:10px}.menu button{display:block;width:100%;text-align:left;background:#fff;border:0;border-radius:6px;padding:9px;font-size:12px;color:var(--ink)}.menu button:hover{background:#f1f7ff}.menu .delete{color:#c43c43}.primary,.secondary,.button-link{border-radius:9px;padding:10px 14px;font-weight:800;font-size:13px;text-decoration:none}.primary{background:var(--blue);color:#fff;border:1px solid var(--blue)}.secondary{background:#fff;color:var(--blue);border:1px solid #b7d6f7}.login-screen{min-height:100vh;display:grid;place-items:center;padding:24px;background:linear-gradient(130deg,#eff7ff,#fbfdff)}.login-card{width:min(100%,430px);background:#fff;border-radius:20px;padding:40px;border:1px solid var(--line);box-shadow:0 15px 50px #1f54841a}.login-logo{height:72px;width:170px;object-fit:contain;object-position:left}.login-card h1{font-size:27px}.login-card>p:not(.eyebrow){font-size:14px;margin:10px 0 25px}.login-card form,label{display:grid;gap:7px}.login-card form{gap:17px}.login-card input,.form-grid input,.form-grid textarea,#goal-input{width:100%;border:1px solid #d8e3f0;border-radius:9px;padding:11px;color:var(--ink);background:#fff}.login-card label,.form-grid label,#goal-form label{font-size:13px;font-weight:800;color:#40526f}.login-card .primary{width:100%;padding:12px}.form-error{min-height:16px;color:#bf3f47!important;font-size:12px;margin:-7px 0 0}dialog{width:min(600px,calc(100% - 30px));border:0;border-radius:16px;padding:0;box-shadow:0 25px 80px #14284d50}dialog::backdrop{background:#182e4b80}dialog form{padding:25px}.dialog-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}.close{font-size:25px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.full{grid-column:1/-1}.dialog-actions{display:flex;justify-content:flex-end;align-items:center;gap:14px;margin-top:24px}.empty{text-align:center;padding:26px;color:var(--muted)}@media(max-width:900px){.kpis{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.topbar{padding:10px 16px}.topbar-actions #welcome{display:none}.page{padding:25px 16px}.page-heading{flex-direction:column}.period{justify-content:space-between;gap:8px;padding:12px}.kpis{grid-template-columns:1fr}.invoices{padding:16px}.form-grid{grid-template-columns:1fr}.full{grid-column:auto}}
 .login-screen{position:relative;isolation:isolate;overflow:hidden;background:radial-gradient(100% 80% at -10% -16%,#087ee2 0 26%,#5dbaf1 41%,transparent 63%),radial-gradient(95% 75% at 112% 116%,#0657b8 0 23%,#43a9e6 43%,transparent 67%),linear-gradient(135deg,#eef8ff 0%,#fff 47%,#e9f7ff 100%)}.login-screen:before,.login-screen:after{content:"";position:fixed;z-index:-1;border-radius:50%;pointer-events:none}.login-screen:before{width:115vw;height:70vw;left:-55vw;top:7vh;border:42px solid rgba(255,255,255,.78);transform:rotate(-15deg)}.login-screen:after{width:105vw;height:68vw;right:-58vw;bottom:-28vh;border:34px solid rgba(255,255,255,.68);transform:rotate(24deg)}.login-card{text-align:center}.login-logo{display:block;margin:0 auto 18px;object-position:center}.login-card h1{margin-bottom:32px}.login-card form{text-align:left}
