:root{--ink:#14231e;--muted:#718079;--line:#e5ebe7;--paper:#f4f7f5;--white:#fff;--green:#176b51;--mint:#dff5e9;--red:#c84b4b;--amber:#c38124;--blue:#4776a8}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:"DM Sans",sans-serif;font-size:14px}button,input,select,textarea{font:inherit}.shell{display:grid;grid-template-columns:250px 1fr;min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;padding:30px 22px 24px;background:#10251f;color:#dbe9e2;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:10px;color:var(--ink);font:800 22px Manrope;text-decoration:none}.sidebar .brand{color:white;padding:0 12px 35px}.brand span{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:#47c78e;color:#0c2d22}.sidebar nav{display:grid;gap:7px}.sidebar nav a{display:flex;align-items:center;gap:13px;padding:12px 14px;border-radius:10px;color:#aabdb5;text-decoration:none;font-weight:600}.sidebar nav a:hover,.sidebar nav a.active{background:#1d3a31;color:#fff}.sidebar nav i{width:20px;font-style:normal;text-align:center;font-size:18px}.profile{margin-top:auto;padding:17px 10px 0;border-top:1px solid #294139;display:grid;grid-template-columns:38px 1fr auto;gap:10px;align-items:center}.profile .avatar{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:#e1f3e9;color:#176b51;font-weight:800}.profile strong,.profile small{display:block;max-width:120px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.profile small{color:#88a097;font-size:11px;margin-top:3px}.profile form button,.icon-btn{border:0;background:none;color:#8ea39a;font-size:18px;cursor:pointer}main{padding:36px 42px;min-width:0}.topbar{display:flex;justify-content:space-between;align-items:end;margin-bottom:28px}.eyebrow{font-size:10px;font-weight:800;letter-spacing:.14em;color:#829089}.topbar h1{font:800 29px Manrope;margin:5px 0 0}.today{color:var(--muted)}.hero-card{background:linear-gradient(125deg,#184f3f,#0f3028);color:white;border-radius:18px;padding:29px 32px;display:flex;align-items:center;justify-content:space-between;box-shadow:0 16px 30px rgba(20,64,51,.12)}.hero-card span{color:#a9c9bd;font-weight:600}.hero-card h2{font:800 35px Manrope;margin:6px 0}.hero-card p{margin:0;color:#9ebcb1}.btn{border:0;border-radius:10px;padding:12px 17px;font-weight:700;cursor:pointer;text-decoration:none;display:inline-flex;justify-content:center;align-items:center}.btn.primary{background:#176b51;color:#fff}.btn.secondary{background:#e8f1ed;color:#176b51}.btn.light{background:#fff;color:#174a3a}.btn.wide{width:100%}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:20px 0}.stats article{background:white;border:1px solid var(--line);border-radius:15px;padding:20px;display:flex;gap:14px;align-items:center}.stat-icon{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;font-size:20px;font-weight:700}.stat-icon.green{background:#e0f5ea;color:var(--green)}.stat-icon.red{background:#fbeaea;color:var(--red)}.stat-icon.amber{background:#fbf0dd;color:var(--amber)}.stat-icon.blue{background:#e6eff9;color:var(--blue)}.stats span,.stats strong,.stats small{display:block}.stats span{color:var(--muted);font-size:12px}.stats strong{font:800 18px Manrope;margin:4px 0}.stats small{color:#97a29d;font-size:10px}.positive{color:var(--green)!important}.content-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(260px,.75fr);gap:18px}.panel{background:white;border:1px solid var(--line);border-radius:16px;overflow:hidden}.panel-head,.filters{padding:20px 22px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center}.panel-head h3,.summary h3,.modal-head h3{font:800 18px Manrope;margin:5px 0 0}.panel-head a{color:var(--green);font-weight:700;text-decoration:none}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%}th,td{padding:15px 20px;text-align:left;border-bottom:1px solid #edf1ee;white-space:nowrap}th{color:#89958f;font-size:10px;text-transform:uppercase;letter-spacing:.08em}td strong,td small{display:block}td small{margin-top:3px;color:#929d98;font-size:11px}.right{text-align:right}.amount{font-weight:700}.amount.income{color:var(--green)}.amount.expense{color:var(--red)}.pill{display:inline-flex;border:0;border-radius:20px;padding:5px 9px;font-size:10px;font-weight:800;background:#eee;color:#555}.pill.paid,.pill.active{background:#e0f5ea;color:#197154}.pill.pending,.pill.onboarding{background:#fff0d9;color:#9b6516}.pill.paused{background:#edf0ef;color:#68736e}.summary{padding:24px}.ring{--value:0;width:150px;height:150px;border-radius:50%;margin:25px auto;background:conic-gradient(#44bd87 calc(var(--value)*1%),#eaf0ed 0);display:grid;place-items:center;position:relative}.ring:before{content:"";position:absolute;inset:13px;border-radius:50%;background:#fff}.ring div{position:relative;text-align:center}.ring strong,.ring small{display:block}.ring strong{font:800 25px Manrope}.ring small{color:var(--muted)}.summary-row{display:flex;justify-content:space-between;padding:14px 0;border-top:1px solid var(--line)}.summary-row span{color:var(--muted)}.summary .btn{margin-top:12px}.alert{padding:12px 15px;background:#e2f5eb;color:#176b51;border-radius:10px;margin-bottom:16px;font-weight:600}.alert.error{background:#fde9e8;color:#aa3434}.page-actions{display:flex;justify-content:space-between;align-items:center;margin:-8px 0 22px}.page-actions p{color:var(--muted);margin:0}.person{display:flex;align-items:center;gap:11px}.person>span{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:#e5f3ed;color:#176b51;font-weight:800}.filters span{color:var(--muted)}.empty{text-align:center!important;color:var(--muted);padding:35px}dialog{border:0;border-radius:18px;padding:0;width:min(540px,calc(100% - 30px));box-shadow:0 30px 80px rgba(16,37,31,.25)}dialog::backdrop{background:rgba(10,28,22,.62);backdrop-filter:blur(3px)}dialog>form{padding:25px}.modal-head{display:flex;justify-content:space-between;align-items:start;margin-bottom:20px}.modal-head .icon-btn{font-size:25px}label{display:block;font-weight:700;font-size:12px;margin-bottom:15px}input,select,textarea{display:block;width:100%;border:1px solid #dce4df;border-radius:10px;padding:12px 13px;margin-top:7px;background:#fafcfb;color:var(--ink);outline:none}input:focus,select:focus,textarea:focus{border-color:#3a9c78;box-shadow:0 0 0 3px #e1f3eb}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.auth-page{min-height:100vh;display:grid;grid-template-columns:44% 56%;background:white}.auth-aside{padding:42px 55px;color:white;background:radial-gradient(circle at 20% 20%,#2d7d62,#102d25 65%);display:flex;flex-direction:column;justify-content:space-between}.auth-aside .brand{color:white}.auth-aside>div{max-width:510px}.auth-aside h1{font:800 clamp(34px,4vw,58px)/1.08 Manrope;margin:13px 0 20px}.auth-aside p{color:#bad0c7;font-size:17px;line-height:1.6}.auth-aside blockquote{margin:0;color:#9fb8ae}.auth-main{padding:35px;display:grid;place-items:center}.auth-card{width:min(440px,100%)}.auth-card h2{font:800 29px Manrope;margin:0 0 8px}.auth-card>p{color:var(--muted);margin:0 0 28px}.auth-card label{font-size:13px}.check{display:flex;align-items:center;gap:8px;font-weight:500;color:var(--muted)}.check input{width:auto;margin:0}.auth-link{text-align:center!important;margin:20px 0!important;font-size:13px}.auth-link a{color:var(--green);font-weight:700}.mobile-logo{display:none}@media(max-width:1050px){.stats{grid-template-columns:1fr 1fr}.content-grid{grid-template-columns:1fr}.summary{display:none}}@media(max-width:760px){.shell{display:block}.sidebar{position:static;height:auto;padding:15px;flex-direction:row;align-items:center}.sidebar .brand{padding:0;margin-right:auto}.sidebar nav{display:flex}.sidebar nav a{font-size:0;padding:10px}.sidebar nav i{font-size:19px}.profile{display:none}main{padding:24px 16px}.topbar{margin-bottom:20px}.today{display:none}.hero-card{padding:24px}.hero-card .btn{display:none}.stats{grid-template-columns:1fr}.page-actions{align-items:start;gap:12px}.auth-page{display:block;background:#f5f8f6}.auth-aside{display:none}.auth-main{min-height:100vh;padding:24px}.mobile-logo{display:block;color:var(--green);font:800 22px Manrope;margin-bottom:45px}.form-grid{grid-template-columns:1fr}th,td{padding:13px}.transactions-panel{margin-bottom:20px}}
 .couple-overview{background:#fff;border:1px solid var(--line);border-radius:16px;margin:20px 0;overflow:hidden}.couple-overview .panel-head{border-bottom:1px solid var(--line)}.couple-period{color:var(--muted);font-size:12px}.couple-breakdown{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line)}.couple-person{background:#fff;padding:22px;display:flex;gap:13px;align-items:flex-start}.couple-avatar{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:#e4f4ec;color:var(--green);font-weight:800;flex:none}.couple-person.gaby .couple-avatar{background:#f2eafa;color:#8653a8}.couple-person.shared .couple-avatar{background:#fff0d9;color:#a56b19}.couple-person span,.couple-person strong,.couple-person small{display:block}.couple-person span{color:var(--muted);font-size:12px}.couple-person strong{font:800 19px Manrope;margin:5px 0}.couple-person small{color:#8b9791;font-size:11px}.couple-person small b{color:var(--ink)}.couple-person.total{background:#f7faf8;border-left:3px solid #9acdb8}.couple-person.total .couple-avatar{background:#e1f2e9;color:var(--green)}.couple-person.cost-total{background:#faf9f4;border-left:3px solid #d8c58f}.couple-balance{background:#e8f3ee;border:1px solid #b9ddcc;box-shadow:inset 0 0 0 1px rgba(255,255,255,.7)}.couple-balance .couple-avatar{background:#c9e8d9;color:#176b51}.couple-balance strong{color:#176b51}@media(max-width:760px){.couple-breakdown{grid-template-columns:1fr}}
.couple-overview~.content-grid{grid-template-columns:minmax(0,710px)}.couple-overview~.content-grid .transactions-panel{display:none}
.couple-group{padding:18px 22px 0}.couple-group:last-child{padding-bottom:22px}.couple-group-title{display:block;color:#829089;font-size:10px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;margin-bottom:10px}.couple-costs{grid-template-columns:repeat(2,minmax(0,1fr))}.couple-balance-row{grid-template-columns:minmax(0,1fr)}.couple-overview .couple-breakdown{grid-template-columns:repeat(5,minmax(0,1fr));padding:22px;gap:12px;background:#fff}.couple-overview .couple-person{border:1px solid var(--line);border-radius:12px;padding:18px 14px}
.couple-overview .couple-breakdown{grid-template-columns:repeat(5,minmax(0,1fr));padding:22px;gap:12px;background:#fff}.couple-overview .couple-person{border:1px solid var(--line);border-radius:12px;padding:18px 14px}@media(max-width:1100px){.couple-overview .couple-breakdown{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:760px){.couple-overview .couple-breakdown{grid-template-columns:1fr}}
.couple-next-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:20px 0}.couple-next-panel{min-width:0}.couple-next-panel .next-steps{padding:0 22px 14px}.couple-next-panel .next-step{border-top:1px solid var(--line);padding:14px 0}.couple-next-panel .next-step:first-child{border-top:0}@media(max-width:760px){.couple-next-grid{grid-template-columns:1fr}}
body:has(.couple-next-grid) .content-grid{display:none}
.couple-next-grid .couple-next-panel:first-child{order:2}.couple-next-grid .couple-next-panel:last-child{order:1}.couple-next-grid .couple-next-panel h3{font-size:0}.couple-next-grid .couple-next-panel h3:after{font-size:18px}.couple-next-grid .couple-next-panel:first-child h3:after{content:'Próximas saídas'}.couple-next-grid .couple-next-panel:last-child h3:after{content:'Próximas entradas'}
.couple-period-form{margin:0;display:flex;align-items:end;gap:10px}.couple-period-form label{margin:0;color:var(--muted);font-size:11px}.couple-period-form input{margin-top:4px;min-width:145px;padding:9px 10px}.page-actions>div:first-child .btn{margin-top:10px}
.today{display:none!important}
.page-actions .btn.secondary{background:#e1f2e9;color:#176b51}
.period-picker{position:relative;z-index:4}.period-picker summary{list-style:none;cursor:pointer;border:1px solid #dce4df;background:#fff;border-radius:10px;padding:11px 14px;font-weight:700;color:var(--ink);min-width:190px}.period-picker summary::-webkit-details-marker{display:none}.period-picker summary:after{content:'▾';float:right;color:var(--muted);margin-left:14px}.period-picker[open] summary{border-color:#79b89d}.period-picker form{position:absolute;right:0;top:48px;width:310px;padding:16px;background:#fff;border:1px solid var(--line);border-radius:13px;box-shadow:0 18px 40px rgba(16,37,31,.16);display:grid;grid-template-columns:1fr 1fr;gap:10px}.period-picker form label{margin:0;font-size:11px}.period-picker form input{padding:9px 10px}.period-picker form .btn{grid-column:1/-1;padding:10px}.page-actions .period-picker{align-self:center}@media(max-width:760px){.period-picker form{right:auto;left:0;width:min(310px,calc(100vw - 32px))}}
.couple-avatar[href]{text-decoration:none}.dashboard-links{display:flex;gap:12px;margin:0 0 20px}.dashboard-links .btn{background:#e1f2e9;color:#176b51}.couple-next-panel .eyebrow{display:none}
.profile .avatar-button{border:0;cursor:pointer;padding:0;overflow:hidden}.profile .avatar img{width:100%;height:100%;object-fit:cover}
