.family-setup{min-height:100vh;background:radial-gradient(circle at 80% 5%,#fff 0,transparent 34%),var(--bg);display:grid;place-items:center;padding:24px}.family-setup>section{width:min(520px,100%);background:var(--surface);border:1px solid var(--line);border-radius:26px;padding:clamp(25px,5vw,42px);box-shadow:0 24px 70px #22302714}.family-setup>section>em{display:block;margin-top:38px;color:#87936d;font-size:9px;font-style:normal;font-weight:850;letter-spacing:.15em}.family-setup h1{font-size:38px;letter-spacing:-.045em;margin:10px 0}.family-setup p{color:var(--muted);line-height:1.6}.family-setup form{display:grid;gap:14px}.family-setup label{display:grid;gap:7px;font-size:11px;font-weight:750}.family-setup input{border:1px solid var(--line);border-radius:12px;padding:12px;text-transform:none}.family-setup form+ a{display:block;text-align:center;margin-top:20px;color:var(--muted);font-size:10px}.invite-card{background:var(--ink);color:#fff;border-radius:22px;padding:24px;display:grid;grid-template-columns:1fr auto;gap:20px;align-items:center}.invite-card em{font-style:normal;color:var(--lime);font-size:9px;font-weight:850;letter-spacing:.14em}.invite-card h3{font-size:22px;margin:8px 0}.invite-card p{color:#bdc6bf;max-width:560px;font-size:11px;line-height:1.55;margin:0}.invite-code{background:#ffffff12;border:1px solid #ffffff1f;border-radius:15px;padding:13px 18px;text-align:center}.invite-code small,.invite-code strong{display:block}.invite-code small{color:#bfc8c1;font-size:8px;margin-bottom:6px}.invite-code strong{letter-spacing:.18em}.invite-card footer{grid-column:1/-1;display:flex;gap:9px}.invite-card footer button{border:1px solid #ffffff2b;background:transparent;color:#fff;border-radius:11px;padding:10px 14px;font-weight:750}.invite-card footer .solid{background:var(--lime);color:var(--ink);border-color:var(--lime)}
.auth-page{min-height:100vh;display:grid;grid-template-columns:minmax(340px,1fr) minmax(430px,1fr);background:#f7f4ee}.auth-intro{background:var(--ink);color:#fff;padding:clamp(30px,5vw,74px);display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}.auth-intro:after{content:"";position:absolute;width:360px;height:360px;border-radius:50%;right:-120px;bottom:-130px;background:var(--lime);opacity:.12}.auth-brand{display:flex;align-items:center;gap:12px;font-size:18px;font-weight:850}.auth-brand span{width:40px;height:40px;border-radius:14px;background:var(--lime);color:var(--ink);display:grid;place-items:center;font-size:23px}.auth-intro em{font-style:normal;color:var(--lime);font-size:10px;letter-spacing:.16em;font-weight:850}.auth-intro h1{font-size:clamp(40px,5vw,66px);line-height:.98;letter-spacing:-.055em;max-width:680px;margin:18px 0 24px}.auth-intro p{max-width:540px;color:#c6cec8;line-height:1.7}.auth-intro>small{color:#a9b4ac}.auth-panel{display:grid;place-items:center;padding:34px}.auth-card{width:min(440px,100%);background:#fffefa;border:1px solid var(--line);border-radius:26px;padding:clamp(24px,4vw,38px);box-shadow:0 22px 60px #22302712}.auth-card header>span{font-size:9px;font-weight:850;letter-spacing:.15em;color:#87936d}.auth-card h2{font-size:28px;letter-spacing:-.035em;margin:9px 0}.auth-card header p{color:var(--muted);font-size:12px;line-height:1.55;margin:0}.auth-tabs{display:grid;grid-template-columns:1fr 1fr;background:#eeede7;border-radius:13px;padding:4px;margin:25px 0 20px}.auth-tabs button{border:0;background:transparent;border-radius:10px;padding:10px;color:var(--muted);font-weight:750}.auth-tabs button.active{background:#fff;color:var(--ink);box-shadow:0 3px 11px #22302712}.auth-card form{display:grid;gap:15px}.auth-card label{display:grid;gap:7px;font-size:11px;font-weight:750;color:#59635b}.auth-card input{border:1px solid #dcddd5;background:#fff;border-radius:12px;padding:12px;outline:none}.auth-card input:focus{border-color:#9ca96d;box-shadow:0 0 0 3px #cad98c45}.auth-submit{border:0;background:var(--ink);color:#fff;border-radius:12px;padding:13px;font-weight:800;margin-top:3px}.auth-submit:disabled{opacity:.65}.auth-error{background:#fae9e6;color:#8a3e34;border-radius:10px;padding:10px;margin:0;font-size:11px}.auth-card footer{border-top:1px solid var(--line);margin-top:22px;padding-top:16px;text-align:center;color:var(--muted);font-size:9px}
.profile a.person{text-decoration:none;border:1px solid var(--line);background:#fff}.profile .person>b{max-width:190px;overflow:hidden;text-overflow:ellipsis;text-align:left}.profile .person small{display:block;color:var(--muted);font-size:8px;font-weight:500;overflow:hidden;text-overflow:ellipsis}.family-grid header p{overflow-wrap:anywhere}

:root{--bg:#f7f4ee;--surface:#fffefa;--ink:#223027;--muted:#778078;--line:#e4e1d7;--lime:#dce99a;--sidebar:#eef0e7}
@media(max-width:800px){.auth-page{display:block}.auth-intro{min-height:300px;padding:26px 24px 38px;gap:50px}.auth-intro h1{font-size:39px;margin:13px 0 18px}.auth-intro>small{display:none}.auth-panel{padding:0 14px 30px;margin-top:-18px;position:relative}.auth-card{border-radius:22px;padding:23px}.auth-card h2{font-size:24px}}
@media(max-width:800px){.family-setup{padding:14px}.family-setup>section{padding:24px}.family-setup h1{font-size:32px}.invite-card{grid-template-columns:1fr}.invite-card footer{display:grid}.invite-card .invite-code{text-align:left}}
*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at 76% 0,#fff 0,transparent 30%),var(--bg);color:var(--ink);font-family:Inter,"Segoe UI",sans-serif}.app-shell{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:235px;background:var(--sidebar);border-right:1px solid #e0e2d8;padding:26px 20px;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:11px;font-weight:800;font-size:18px;margin:0 7px 28px}.brand>span,.mobile-brand>span{width:36px;height:36px;border-radius:13px;background:var(--ink);color:var(--lime);display:grid;place-items:center;font-size:22px}.sidebar nav{display:grid;gap:5px}.sidebar nav button{border:0;background:transparent;border-radius:13px;padding:12px;text-align:left;color:#6e796f;font-weight:650;display:flex;gap:12px}.sidebar nav button.active{background:#fff;color:var(--ink);box-shadow:0 4px 15px #2636290d}.house-status{margin-top:auto;padding-top:17px;border-top:1px solid #dcded4;display:flex;gap:10px;align-items:center}.house-status b,.house-status small{display:block;font-size:12px}.house-status small{color:var(--muted);margin-top:3px;font-size:10px}.avatars{display:flex}.avatars i{font-style:normal;width:29px;height:29px;border-radius:50%;display:grid;place-items:center;background:#f3d5be;border:2px solid var(--sidebar);font-size:9px;font-weight:800}.avatars i+i{margin-left:-9px;background:#d7e7ef}.content{margin-left:235px}.topbar{height:80px;padding:0 clamp(24px,5vw,70px);display:flex;justify-content:flex-end;align-items:center}.mobile-brand{display:none}.profile{display:flex;align-items:center;gap:9px}.profile button{width:40px;height:40px;border-radius:13px;border:1px solid var(--line);background:#fff}.profile>span{width:39px;height:39px;border-radius:50%;background:#f3d5be;display:grid;place-items:center;font-size:11px;font-weight:800}.page{width:min(1050px,calc(100% - 48px));margin:0 auto;padding:30px 0 110px}.page-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:28px}.page-heading em{font-style:normal;font-size:10px;font-weight:800;letter-spacing:.13em;color:#85936b}.page-heading h1{font-size:43px;letter-spacing:-.04em;line-height:1;margin:8px 0}.page-heading p{margin:0;color:var(--muted)}.page-heading>time{background:#fff;border:1px solid var(--line);padding:9px 14px;border-radius:99px;font-size:11px;font-weight:700}.summary-row{display:grid;grid-template-columns:1.45fr .8fr;gap:18px}.progress-card{background:var(--ink);color:#fff;border-radius:23px;padding:25px;display:grid;grid-template-columns:1fr auto;align-items:center;min-height:154px;overflow:hidden}.progress-card small{color:#bac3bb}.progress-card strong{display:block;font-size:23px;margin:7px 0 16px}.track{height:7px;background:#4a564d;border-radius:9px;overflow:hidden;max-width:340px}.track i{display:block;width:33%;height:100%;background:var(--lime)}.ring{width:86px;height:86px;border-radius:50%;background:conic-gradient(var(--lime) 33%,#455248 0);display:grid;place-items:center;position:relative}.ring:before{content:"";position:absolute;inset:8px;background:var(--ink);border-radius:50%}.ring b{position:relative}.balance-card{background:#ffffffb8;border:1px solid var(--line);border-radius:23px;padding:22px}.balance-card header{display:flex;justify-content:space-between;font-size:12px;margin-bottom:17px}.balance-card header small{color:var(--muted)}.balance-card>div{display:grid;grid-template-columns:28px 1fr 36px;gap:9px;align-items:center;margin-top:10px}.balance-card>div>span{width:28px;height:28px;border-radius:50%;background:#f3d5be;display:grid;place-items:center;font-size:8px}.balance-card>div:nth-child(3)>span{background:#d7e7ef}.balance-card>div>i{height:6px;background:#e7e7e0;border-radius:10px;overflow:hidden}.balance-card>div>i>b{display:block;height:100%;background:#a6b16f}.balance-card>div>small{font-size:9px;color:var(--muted)}.section-title{display:flex;justify-content:space-between;align-items:center;margin:27px 0 13px}.section-title h2{font-size:17px}.section-title>div{background:#ecebe4;border-radius:12px;padding:3px}.section-title button{border:0;background:transparent;border-radius:9px;padding:7px 12px;font-size:10px}.section-title button.active{background:#fff;box-shadow:0 2px 8px #22302712}.tasks{display:grid;gap:10px}.task{background:var(--surface);border:1px solid var(--line);border-radius:17px;padding:15px 14px 15px 18px;display:grid;grid-template-columns:70px 1fr auto auto;gap:17px;align-items:center}.task>time{font-weight:750}.task h3{font-size:14px;margin:0 0 6px}.task p{margin:0;color:var(--muted);font-size:10px;display:flex;gap:7px;align-items:center}.task p>i{width:7px;height:7px;border-radius:50%;background:#9baa68}.task p>b{background:#f0efe9;border-radius:99px;padding:3px 8px}.complete,.done{border-radius:11px;padding:8px 11px;font-size:10px;font-weight:800}.complete{border:1px solid #cfd8ac;background:#f4f8e3;color:#54672c}.done{border:1px solid #cadecf;background:#e5efe7;color:#42654a}.more{border:0;background:transparent;color:var(--muted)}.new-task{position:fixed;right:29px;bottom:27px;border:0;background:var(--ink);color:#fff;border-radius:99px;padding:13px 18px;font-weight:800;box-shadow:0 15px 30px #22302736}.mobile-nav{display:none}
@media(max-width:800px){.sidebar{display:none}.content{margin-left:0}.topbar{height:68px;padding:0 15px;justify-content:space-between}.mobile-brand{display:flex;align-items:center;gap:9px}.mobile-brand>span{width:32px;height:32px;border-radius:11px}.profile b{display:none}.page{width:calc(100% - 28px);padding-top:17px}.page-heading h1{font-size:32px}.page-heading>time{display:none}.summary-row{grid-template-columns:1fr}.balance-card{display:none}.progress-card{min-height:140px;padding:20px}.progress-card strong{font-size:20px}.ring{width:74px;height:74px}.task{grid-template-columns:52px 1fr 37px 28px;gap:9px;padding:13px 9px 13px 13px}.task .complete,.task .done{width:37px;height:37px;padding:0}.task .complete span,.task .done span{display:none}.new-task{right:15px;bottom:82px;width:51px;height:51px;padding:0}.new-task span{display:none}.mobile-nav{position:fixed;inset:auto 0 0;height:68px;background:#fffefaf2;border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(5,1fr);z-index:10}.mobile-nav button{border:0;background:transparent;font-size:8px;color:var(--muted);padding:7px 2px}}

button,input,select,textarea{font:inherit}button{cursor:pointer}.profile .person{width:auto;min-width:116px;padding:4px 10px 4px 5px;display:flex;align-items:center;gap:8px;color:var(--ink);font-weight:750}.profile .person>span{width:30px;height:30px;border-radius:50%;background:#f3d5be;display:grid;place-items:center;font-size:9px}.loading,.error,.empty{min-height:260px;display:grid;place-items:center;align-content:center;text-align:center;color:var(--muted)}.error h2,.empty h3{color:var(--ink);margin:8px 0}.error p,.empty p{margin:0 0 18px}.error button,.empty button,.solid{border:0;background:var(--ink);color:#fff;border-radius:11px;padding:10px 14px;font-weight:750}.empty>span{width:48px;height:48px;display:grid;place-items:center;border-radius:50%;background:#eaf2c6;color:#53642f;font-size:22px}.is-complete h3{text-decoration:line-through;color:#869087}.is-complete{opacity:.76}.blue{background:#d7e7ef!important}
.week{display:grid;grid-template-columns:repeat(7,1fr);gap:9px;background:#ffffff9c;border:1px solid var(--line);padding:12px;border-radius:20px}.week button{border:1px solid transparent;background:transparent;border-radius:14px;padding:13px 6px;color:var(--muted);display:grid;gap:5px;place-items:center}.week button b{font-size:18px;color:var(--ink)}.week button i{width:5px;height:5px;border-radius:50%;background:transparent}.week button.has i{background:#9aaa67}.week button.active{background:var(--ink);color:#cdd6ce}.week button.active b{color:#fff}.calendar-caption{margin:20px 3px 12px;color:var(--muted);font-size:12px;font-weight:700}.library{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}.library article,.family-grid article,.stats article{background:var(--surface);border:1px solid var(--line);border-radius:19px;padding:19px}.library article>span{width:39px;height:39px;border-radius:13px;background:#edf2d1;display:grid;place-items:center}.library h3{margin:16px 0 6px;font-size:15px}.library p{margin:0;color:var(--muted);font-size:11px}.library footer{margin-top:23px;display:flex;justify-content:space-between;align-items:center}.library footer small{background:#f0efe9;border-radius:20px;padding:6px 9px}.library footer button{border:0;background:transparent}.family-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:15px}.family-grid article header{display:flex;gap:12px;align-items:center}.family-grid article header>span{width:48px;height:48px;border-radius:50%;background:#f3d5be;display:grid;place-items:center;font-size:11px;font-weight:850}.family-grid h3{margin:0 0 4px}.family-grid header p{margin:0;color:var(--muted);font-size:11px}.family-grid article>div{display:grid;grid-template-columns:1fr 1fr;margin-top:24px;border-top:1px solid var(--line);padding-top:17px}.family-grid article>div p{margin:0}.family-grid article>div b,.family-grid article>div small{display:block}.family-grid article>div b{font-size:23px}.family-grid article>div small{color:var(--muted);margin-top:5px}.stats{display:grid;grid-template-columns:1fr 1fr;gap:14px}.stats article small,.stats article p{color:var(--muted)}.stats article strong{display:block;font-size:38px;margin:10px 0}.stats article p{margin:0;font-size:11px}.stats .chart{grid-column:1/-1}.chart>div{height:130px;display:flex;align-items:end;gap:10px;padding-top:17px}.chart i{flex:1;min-height:8px;background:#bcca79;border-radius:8px 8px 3px 3px}
.overlay{position:fixed;inset:0;background:#1c281f80;backdrop-filter:blur(5px);z-index:50;display:grid;place-items:center;padding:18px}.modal,.action-sheet{width:min(580px,100%);max-height:calc(100vh - 36px);overflow:auto;background:var(--surface);border-radius:24px;padding:25px;box-shadow:0 28px 80px #1520194d}.modal>header,.action-sheet>header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px}.modal header em,.action-sheet header em{font-size:9px;font-style:normal;font-weight:850;letter-spacing:.13em;color:#87946d}.modal h2,.action-sheet h2{margin:6px 0 0}.modal header button,.action-sheet header button{border:0;background:#eeeee7;border-radius:50%;width:34px;height:34px;font-size:20px}.modal label{display:grid;gap:7px;font-size:11px;font-weight:750;color:#566158}.modal input,.modal select,.modal textarea{width:100%;border:1px solid #dcded4;border-radius:11px;background:#fff;padding:11px;color:var(--ink);outline:none}.modal input:focus,.modal select:focus,.modal textarea:focus{border-color:#9aa969;box-shadow:0 0 0 3px #cbd99045}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:13px;margin:14px 0}.modal fieldset{border:0;padding:0;margin:15px 0}.modal legend{font-size:11px;font-weight:750;margin-bottom:8px}.modal fieldset label{display:inline-flex;margin-right:7px}.modal fieldset input{position:absolute;opacity:0;width:1px}.modal fieldset span{border:1px solid var(--line);border-radius:10px;padding:8px 12px}.modal fieldset input:checked+span{background:#edf2d2;border-color:#bccb7b}.modal footer{display:flex;justify-content:flex-end;gap:9px;border-top:1px solid var(--line);padding-top:17px}.modal footer button{border:0;border-radius:11px;padding:10px 15px}.action-sheet{width:min(430px,100%)}.action-sheet>button{width:100%;border:0;border-top:1px solid var(--line);background:transparent;text-align:left;padding:15px 3px;color:var(--ink);font-weight:750}.action-sheet>button small{display:block;color:var(--muted);font-weight:400;margin-top:4px}.toast{position:fixed;left:50%;bottom:25px;transform:translateX(-50%);z-index:80;background:var(--ink);color:#fff;padding:12px 17px;border-radius:12px;box-shadow:0 10px 30px #16241b4d;font-size:12px;font-weight:700}
@media(max-width:800px){.profile .person{min-width:0;width:42px;padding:4px}.profile .person>span{width:32px;height:32px}.page-heading{margin-bottom:22px}.library{grid-template-columns:1fr 1fr}.family-grid,.stats{grid-template-columns:1fr}.stats .chart{grid-column:auto}.week{gap:2px;padding:8px}.week button{padding:10px 2px}.modal{padding:20px}.form-grid{grid-template-columns:1fr}.toast{bottom:78px;width:calc(100% - 30px);text-align:center}}@media(max-width:480px){.library{grid-template-columns:1fr}.task p span:last-child{display:none}}

.nav-badge{margin-left:auto;background:#c95344;color:#fff;min-width:20px;height:20px;border-radius:99px;display:grid;place-items:center;font-size:9px}.finance-heading input{border:1px solid var(--line);background:#fff;border-radius:12px;padding:10px 12px;color:var(--ink)}.period-picker{display:flex;align-items:center;gap:10px}.period-toggle{display:flex;background:#efeee8;border-radius:11px;padding:3px;gap:2px}.period-toggle button{border:0;background:transparent;border-radius:8px;padding:7px 12px;font-size:10px;font-weight:750;color:var(--muted)}.period-toggle button.active{background:#fff;color:var(--ink);box-shadow:0 2px 8px #22302712}.month-nav{display:flex;align-items:center;gap:6px}.month-nav button{border:1px solid var(--line);background:#fff;border-radius:10px;width:34px;height:34px;font-size:16px;color:var(--ink);flex-shrink:0}.custom-period{display:flex;align-items:center;gap:8px;font-size:11px;color:var(--muted)}.custom-period input{border:1px solid var(--line);background:#fff;border-radius:10px;padding:8px 10px;color:var(--ink)}.finance-filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}.finance-filters select{border:1px solid var(--line);background:#fff;border-radius:10px;padding:8px 10px;font-size:11px;color:var(--ink)}.finance-filters button{border:1px solid var(--line);background:#fff;border-radius:10px;padding:8px 12px;font-size:11px;color:#a24d40}.finance-actions{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.finance-actions>div{display:flex;gap:8px}.finance-actions button:not(.solid){border:1px solid var(--line);background:#fff;border-radius:11px;padding:10px 14px;font-weight:750}.finance-actions>b{font-size:12px}.finance-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}.finance-summary article{border:1px solid var(--line);border-radius:20px;padding:20px;background:var(--surface);position:relative;overflow:hidden}.finance-summary article:before{content:"";position:absolute;inset:0 auto 0 0;width:5px;background:#93a767}.finance-summary article.expense:before{background:#d77d6f}.finance-summary article.balance-negative:before{background:#c95344}.finance-summary article.balance-positive{background:var(--ink);color:#fff}.finance-summary article.balance-positive:before{background:var(--lime)}.finance-summary small,.finance-summary span{display:block;font-size:10px;color:var(--muted)}.finance-summary .balance-positive small,.finance-summary .balance-positive span{color:#c3ccc5}.finance-summary strong{display:block;font-size:25px;margin:9px 0 7px;letter-spacing:-.03em}.finance-layout{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:15px;margin-top:18px}.finance-list,.annual-card,.access-section{background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:19px}.finance-list .section-title,.access-section .section-title{margin:0 0 13px}.finance-list>article{display:grid;grid-template-columns:18px 38px minmax(0,1fr) 65px 105px 24px 24px;gap:11px;align-items:center;border-top:1px solid var(--line);padding:13px 0}.finance-list>article>input[type=checkbox]{width:16px;height:16px}.finance-list>article.selected{background:#f5f8ea}.select-all{margin:4px 0 10px}.bulk-bar{display:flex;align-items:center;gap:12px;background:var(--ink);color:#fff;border-radius:14px;padding:10px 14px;margin-bottom:12px;flex-wrap:wrap}.bulk-bar b{font-size:12px}.bulk-bar label{display:flex;align-items:center;gap:8px;font-size:11px;color:#dfe4d8}.bulk-bar input[type=date],.bulk-bar select{border:0;border-radius:9px;padding:7px 9px;color:var(--ink);background:#fff}.bulk-bar button{border:1px solid #ffffff3d;background:transparent;color:#fff;border-radius:9px;padding:8px 12px;font-size:11px;font-weight:750}.bulk-bar button.solid{background:var(--lime);color:var(--ink);border-color:var(--lime)}.finance-list>article>span{width:34px;height:34px;border-radius:11px;display:grid;place-items:center;font-weight:900}.finance-list>article>span.income{background:#e7f0d0;color:#4f6a2d}.finance-list>article>span.expense{background:#f7e4df;color:#984a3e}.finance-list h3,.access-list h3{margin:0 0 4px;font-size:13px}.finance-list p,.access-list p{margin:0;color:var(--muted);font-size:9px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.finance-list time{font-size:10px;color:var(--muted)}.finance-list strong{font-size:12px;text-align:right}.finance-list strong.income{color:#587336}.finance-list strong.expense{color:#a24d40}.finance-list article>button{border:0;background:transparent;color:#a8aaa4;font-size:18px}.finance-empty{min-height:240px!important}.annual-card>small{font-size:8px;color:#87936d;font-weight:850;letter-spacing:.13em}.annual-card h3{margin:8px 0 18px}.annual-card>div{display:grid;grid-template-columns:30px 1fr 77px;gap:8px;align-items:center;margin:9px 0}.annual-card span,.annual-card small{font-size:9px;color:var(--muted)}.annual-card>div>i{height:6px;background:#efeee8;border-radius:9px;overflow:hidden}.annual-card>div>i>b{display:block;height:100%;background:#a5b66a;border-radius:9px}.annual-card>div>i>b.negative{background:#d77d6f}.annual-card>div>small{text-align:right}.form-hint{background:#f1f3e7;color:#68725e;padding:10px;border-radius:10px;font-size:10px}.checkbox-inline{display:flex;align-items:center;gap:8px;font-size:11px;color:var(--muted);margin:-6px 0 12px}.checkbox-inline input{width:16px;height:16px}.finance-tracking{display:grid;grid-template-columns:repeat(2,1fr);gap:13px;margin-top:13px}.finance-tracking article{border:1px solid var(--line);border-radius:20px;padding:18px 20px;background:var(--surface)}.finance-tracking small{display:block;font-size:10px;color:var(--muted)}.finance-tracking strong{display:block;font-size:21px;margin:8px 0 4px;letter-spacing:-.03em}.finance-tracking span{font-size:10px;color:var(--muted)}.cards-panel{margin-top:8px}.cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:13px}.card-tile{display:block;width:100%;text-align:left;border:1px solid var(--line);border-radius:18px;padding:16px 18px;background:var(--surface);cursor:pointer;font-family:inherit}.card-tile:hover{border-color:#c7cbb9}.cards-grid h3{margin:0 0 4px;font-size:13px}.card-tile-hint{margin:0 0 10px;color:var(--muted);font-size:9px}.cards-grid .bar{height:7px;background:#efeee8;border-radius:9px;overflow:hidden;margin-bottom:12px}.cards-grid .bar>b{display:block;height:100%;background:#a5b66a}.cards-grid .bar>b.over{background:#d77d6f}.cards-numbers{display:flex;justify-content:space-between;gap:8px}.cards-numbers span{font-size:9px;color:var(--muted)}.cards-numbers b{display:block;font-size:12px;color:var(--ink);margin-top:3px;font-weight:750}.cards-numbers b.negative{color:#a24d40}.card-statement{width:min(700px,100%)}.card-statement header p{margin:7px 0 0;color:var(--muted);font-size:11px}.card-statement-summary{border:1px solid var(--line);border-radius:14px;padding:14px 18px;margin-top:16px}.statement-consolidated{display:flex;justify-content:space-between;align-items:center;margin-top:10px;padding:12px 16px;background:var(--ink);color:#fff;border-radius:12px}.statement-consolidated small{color:#c3ccc5}.statement-consolidate-footer{display:flex;align-items:center;gap:12px;justify-content:space-between;margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}.statement-consolidate-footer p{margin:0;color:var(--muted);font-size:10px;flex:1}.statement-consolidate-footer button{white-space:nowrap}.statement-total{display:flex;justify-content:space-between;align-items:center;margin-top:16px;padding:14px 18px;background:#f5f5ef;border-radius:14px}.statement-total small{color:var(--muted);font-size:10px}.statement-total strong{font-size:18px}.statement-rows{display:grid;gap:8px;max-height:50vh;overflow-y:auto;margin-top:14px}.statement-rows article{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:14px;align-items:center;border-top:1px solid var(--line);padding:12px 2px}.statement-rows h4{margin:0 0 4px;font-size:13px}.statement-rows p{margin:0;color:var(--muted);font-size:9px}.statement-dates{display:flex;gap:14px}.statement-dates span{font-size:9px;color:var(--muted);text-align:center}.statement-dates b{display:block;font-size:11px;color:var(--ink);margin-top:2px;font-weight:750}.statement-rows strong{font-size:12px;text-align:right}.statement-rows strong.income{color:#587336}.statement-rows strong.expense{color:#a24d40}.family-name-form{display:flex;gap:10px;margin-top:14px}.family-name-form input{flex:1;border:1px solid var(--line);background:#fff;border-radius:11px;padding:10px 12px;color:var(--ink);font-size:13px}.family-name-form button{white-space:nowrap}.access-section{margin-top:16px}.access-list{display:grid;gap:9px}.access-list article{display:grid;grid-template-columns:42px minmax(0,1fr) auto auto;gap:10px;align-items:center;border:1px solid var(--line);border-radius:14px;padding:11px}.access-list article>span{width:38px;height:38px;border-radius:50%;background:#edf2d1;display:grid;place-items:center;font-size:10px;font-weight:850}.access-list article>button{border:1px solid var(--line);background:#fff;border-radius:9px;padding:8px 11px;font-size:10px;font-weight:750}.access-list article>button.solid{background:var(--ink);border-color:var(--ink)}.access-list article>strong{font-size:10px;background:#eff2e5;padding:7px 9px;border-radius:99px}.compact{min-height:190px}.pending-access .auth-submit{width:100%;margin-top:15px}.danger-zone{margin-top:16px}.danger-zone .invite-card{background:#fdf1ef;color:var(--ink);border:1px solid #f0d3cc}.danger-zone .invite-card em{color:#a24d40}.danger-zone .invite-card p{color:#8a5a52}.danger-zone .invite-card b{color:#a24d40}.clear-confirm{display:flex;gap:10px;align-items:center}.clear-confirm input{border:1px solid #f0d3cc;background:#fff;border-radius:11px;padding:10px 12px;color:var(--ink);width:160px}.clear-confirm button.danger{background:#a24d40;color:#fff;border:0;border-radius:11px;padding:10px 16px;font-weight:750;white-space:nowrap}.clear-confirm button.danger:disabled{background:#d9beb9;cursor:not-allowed}.cards-grid>article{border:1px solid var(--line);border-radius:18px;padding:16px 18px;background:var(--surface)}.reports-modal{width:min(920px,100%);max-height:88vh;overflow-y:auto}.reports-modal header p{margin:7px 0 0;color:var(--muted);font-size:11px}.reports-header-actions{display:flex;align-items:center;gap:10px}.pdf-button{border:1px solid var(--line);background:#fff;border-radius:11px;padding:9px 14px;font-weight:750;font-size:11px;white-space:nowrap}.reports-year{display:flex;align-items:center;gap:10px}.reports-year button{border:1px solid var(--line);background:#fff;border-radius:9px;width:28px;height:28px;font-size:14px}.reports-year b{font-size:14px;min-width:40px;text-align:center}.reports-body{margin-top:6px}.report-table{border:1px solid var(--line);border-radius:16px;overflow:hidden;margin-top:6px}.report-table-head,.report-table-row{display:grid;grid-template-columns:70px 1fr 1fr 1fr;gap:8px;padding:9px 16px;font-size:11px}.report-table-head{background:#f5f5ef;font-weight:750;color:var(--muted);font-size:9px;text-transform:uppercase;letter-spacing:.05em}.report-table-row{border-top:1px solid var(--line)}.report-table-row span.negative{color:#a24d40}.reports-columns{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:6px}.category-bars{display:grid;gap:9px}.category-bars>div{display:grid;grid-template-columns:120px 1fr 80px;gap:9px;align-items:center;font-size:10px}.category-bars span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted)}.category-bars i{height:7px;background:#efeee8;border-radius:9px;overflow:hidden}.category-bars i>b{display:block;height:100%;background:#d77d6f}.category-bars.income i>b{background:#a5b66a}.category-bars small{text-align:right}.clear-modal{width:min(560px,100%)}.clear-modal header p{margin:7px 0 0;color:var(--muted);font-size:11px}.clear-section{margin-top:18px}.clear-section h3{font-size:13px;margin:0 0 10px}.clear-section-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.clear-section-heading button{border:1px solid var(--line);background:#fff;border-radius:9px;padding:6px 10px;font-size:10px}.clear-accounts{display:grid;gap:8px}.clear-modal label:not(.checkbox-inline){display:grid;gap:7px;font-size:11px;font-weight:750;color:#566158;margin-top:18px}.clear-modal label:not(.checkbox-inline) input{border:1px solid #dcded4;border-radius:11px;background:#fff;padding:11px;color:var(--ink);width:100%}.paid-summary{width:min(760px,100%);max-height:88vh;overflow-y:auto}.paid-summary header p{margin:7px 0 0;color:var(--muted);font-size:11px}.paid-summary-body{margin-top:6px}.balances-list{display:grid;gap:8px;margin-top:6px}.balances-list article{display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:11px;align-items:center;border:1px solid var(--line);border-radius:14px;padding:11px 14px;background:var(--surface)}.balances-list article.inactive{opacity:.5}.balances-list span{width:34px;height:34px;border-radius:11px;display:grid;place-items:center;font-weight:900;background:#edf2d1}.balances-list h4{margin:0 0 3px;font-size:13px}.balances-list p{margin:0;color:var(--muted);font-size:9px}.balances-list strong{font-size:13px}.balances-list strong.positive{color:#587336}.balances-list strong.negative{color:#a24d40}@media print{body *{visibility:hidden}.reports-modal,.reports-modal *{visibility:visible}.reports-modal{position:absolute;left:0;top:0;width:100%;max-height:none;overflow:visible;box-shadow:none;border:0;padding:0}.no-print{display:none!important}}
.config-manager{width:min(760px,100%)}.config-manager header p{margin:7px 0 0;color:var(--muted);font-size:11px}.config-tabs{display:grid;grid-template-columns:1fr 1fr;background:#efeee8;border-radius:13px;padding:4px;margin-bottom:16px}.config-tabs button{border:0;background:transparent;padding:10px;border-radius:10px;color:var(--muted);font-weight:750}.config-tabs button.active{background:#fff;color:var(--ink);box-shadow:0 3px 10px #22302712}.config-tabs b{display:inline-grid;place-items:center;background:#e2e3da;border-radius:99px;min-width:21px;height:21px;margin-left:5px;font-size:9px}.config-form{background:#f5f5ef;border:1px solid var(--line);border-radius:15px;padding:14px}.config-form>div{display:grid;grid-template-columns:1fr 180px;gap:10px}.config-form label{display:grid;gap:6px;font-size:10px;font-weight:750}.config-form input,.config-form select{border:1px solid #dcded4;border-radius:10px;background:#fff;padding:10px}.config-form footer{border:0;padding:10px 0 0;display:flex;justify-content:flex-end;gap:8px}.config-form footer button{border:1px solid var(--line);background:#fff;border-radius:10px;padding:9px 12px;font-weight:750}.config-form footer .solid{background:var(--ink);border-color:var(--ink)}.config-list{margin-top:19px}.config-list-heading{display:flex;align-items:end;justify-content:space-between;margin-bottom:9px}.config-list-heading h3{margin:0;font-size:14px}.config-list-heading small{color:var(--muted);font-size:9px}.config-list article{display:grid;grid-template-columns:38px minmax(0,1fr) auto auto auto;gap:7px;align-items:center;border-top:1px solid var(--line);padding:10px 2px}.config-list article>span{width:33px;height:33px;border-radius:10px;background:#edf2d1;display:grid;place-items:center;font-size:10px;font-weight:850}.config-list h4{margin:0 0 3px;font-size:12px}.config-list p{margin:0;color:var(--muted);font-size:9px}.config-list article>button{border:1px solid var(--line);background:#fff;border-radius:8px;padding:7px 9px;font-size:9px;font-weight:750}.config-list article>button.danger{color:#9a493e;border-color:#ebd2ce}.config-list article.inactive{opacity:.58}.config-list article.inactive>span{filter:grayscale(1)}.config-note{background:#f1f3e7;color:#68725e;border-radius:10px;padding:10px;margin:13px 0 0;font-size:9px;line-height:1.5}
.import-modal{width:min(920px,100%)}.import-modal header p{margin:7px 0 0;color:var(--muted);font-size:11px}.import-mode-tabs{display:grid;grid-template-columns:1fr 1fr;background:#efeee8;border-radius:13px;padding:4px;margin-bottom:14px}.import-mode-tabs button{border:0;background:transparent;padding:10px;border-radius:10px;color:var(--muted);font-weight:750}.import-mode-tabs button.active{background:#fff;color:var(--ink);box-shadow:0 3px 10px #22302712}.import-modal textarea{min-height:150px;font-family:ui-monospace,Consolas,monospace;font-size:12px;resize:vertical}.import-rows{display:grid;gap:8px;max-height:52vh;overflow-y:auto;margin-top:6px}.import-rows article{display:grid;grid-template-columns:20px minmax(0,1.6fr) 100px 130px 100px minmax(0,1fr) minmax(0,1fr) minmax(0,.8fr);gap:8px;align-items:center;border:1px solid var(--line);border-radius:12px;padding:9px}.import-rows article.excluded{opacity:.45}.import-rows input,.import-rows select{border:1px solid #dcded4;border-radius:9px;background:#fff;padding:8px;font-size:11px;min-width:0}.import-rows input[type=checkbox]{width:16px;height:16px;padding:0}.import-desc-cell{display:grid;gap:5px;min-width:0}.import-tags{display:flex;gap:5px;flex-wrap:wrap}.tag-installment,.tag-duplicate{font-size:9px;padding:2px 8px;border-radius:99px;white-space:nowrap;font-weight:750}.tag-installment{background:#eef1e2;color:#5a6b4a}.tag-duplicate{background:#f7e4df;color:#984a3e}.import-history-modal{width:min(760px,100%)}.import-history-modal header p{margin:7px 0 0;color:var(--muted);font-size:11px}.import-history-list{display:grid;gap:9px;max-height:60vh;overflow-y:auto}.import-history-list article{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;border:1px solid var(--line);border-radius:14px;padding:14px}.import-history-list time{font-size:9px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.import-history-list h4{margin:4px 0 3px;font-size:14px}.import-history-list p{margin:0 0 4px;color:var(--muted);font-size:11px}.import-history-list small{color:#9aa397;font-size:9px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block}
.market-actions{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.market-actions>div{display:flex;gap:8px}.market-actions button:not(.solid){border:1px solid var(--line);background:#fff;border-radius:11px;padding:10px 14px;font-weight:750}.market-lists{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px}.market-list-card{background:var(--surface);border:1px solid var(--line);border-radius:19px;padding:17px}.market-list-card.done{opacity:.65}.market-list-card>header{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:10px}.market-list-card h3{margin:0 0 3px;font-size:14px}.market-list-card header small{color:var(--muted);font-size:10px}.market-list-card header button{border:0;background:#eeeee7;border-radius:50%;width:26px;height:26px;font-size:14px;flex-shrink:0}.market-list-card>footer{display:flex;justify-content:space-between;align-items:center;margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}.market-list-card>footer small{color:var(--muted);font-size:10px}.market-list-card>footer button{border:1px solid var(--line);background:#fff;border-radius:9px;padding:7px 11px;font-size:10px;font-weight:750}.market-items{display:grid;gap:6px}.market-item{display:grid;grid-template-columns:16px minmax(0,1fr) auto auto auto;gap:8px;align-items:center;font-size:12px;padding:4px 0}.market-item input[type=checkbox]{width:15px;height:15px}.market-item small{color:var(--muted);font-size:9px;white-space:nowrap}.market-item b{font-size:11px;white-space:nowrap}.market-item button{border:0;background:transparent;color:#a8aaa4;font-size:14px}.market-item.checked span{text-decoration:line-through;color:var(--muted)}.market-item-row{grid-template-columns:1fr 70px 60px 24px;margin-bottom:8px}.market-scan-tabs{display:grid;grid-template-columns:1fr 1fr 1fr;background:#efeee8;border-radius:13px;padding:4px;margin-bottom:14px}.market-scan-tabs button{border:0;background:transparent;padding:9px;border-radius:10px;color:var(--muted);font-weight:750;font-size:11px}.market-scan-tabs button.active{background:#fff;color:var(--ink);box-shadow:0 3px 10px #22302712}.market-scan-preview{position:relative;border-radius:16px;overflow:hidden;background:#000;margin-bottom:12px}.market-scan-preview video{width:100%;display:block}.market-scan-draft{background:#f5f5ef;border-radius:14px;padding:14px;display:grid;gap:10px;margin-top:10px}.market-recipe-results{display:grid;gap:8px;margin-top:12px}.market-recipe-row{display:grid;grid-template-columns:16px minmax(0,1fr) auto;gap:10px;align-items:center;border-top:1px solid var(--line);padding:10px 0;font-size:12px}.market-recipe-badge{display:inline-block;font-size:8px;font-weight:800;padding:3px 9px;border-radius:99px;margin-bottom:10px}.market-recipe-badge.real{background:#e7f0d0;color:#4f6a2d}.market-recipe-badge.estimate{background:#f1e8c8;color:#8a6d1f}
.nature-badge{display:inline-block;font-size:8px;font-weight:800;padding:2px 7px;border-radius:99px;vertical-align:middle;letter-spacing:.02em;white-space:nowrap}.nature-badge.nature-fixa{background:#dbe7f5;color:#2f5f8a}.nature-badge.nature-variavel{background:#eef1e2;color:#5a6b4a}.nature-badge.nature-extra{background:#f7e4df;color:#984a3e}.finance-nature-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:13px;margin-top:13px}.finance-nature-summary article{border:1px solid var(--line);border-radius:20px;padding:16px 18px;background:var(--surface)}.finance-nature-summary small{display:block;font-size:10px;color:var(--muted)}.finance-nature-summary strong{display:block;font-size:19px;margin:7px 0 4px;letter-spacing:-.03em}.finance-nature-summary span{font-size:10px;color:var(--muted)}.finance-nature-summary article.nature-fixa strong{color:#2f5f8a}.finance-nature-summary article.nature-extra strong{color:#a24d40}
@media(max-width:800px){.mobile-nav{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:minmax(72px,1fr);overflow-x:auto}.finance-heading{display:block}.finance-heading .period-picker{margin-top:16px;flex-wrap:wrap}.custom-period{flex-wrap:wrap}.finance-actions{align-items:flex-start;gap:12px}.finance-actions>div{display:grid}.finance-summary{grid-template-columns:1fr}.finance-layout{grid-template-columns:1fr}.finance-list>article{grid-template-columns:16px 36px minmax(0,1fr) auto 22px 22px}.bulk-bar{flex-direction:column;align-items:stretch}.bulk-bar label{justify-content:space-between}.bulk-bar select,.bulk-bar input[type=date]{flex:1;min-width:0}.bulk-bar button{width:100%}.finance-list>article>time{display:none}.finance-list>article>strong{font-size:11px}.annual-card{display:none}.access-list article{grid-template-columns:40px minmax(0,1fr) auto}.access-list article>button:first-of-type{grid-column:2}.invite-card{padding:20px}.config-manager{padding:18px}.config-form>div{grid-template-columns:1fr}.config-list article{grid-template-columns:36px minmax(0,1fr) auto auto}.config-list article>button:first-of-type{grid-column:2}.config-list article>button.danger{grid-column:4}.config-list-heading{display:block}.config-list-heading small{display:block;margin-top:4px}.import-rows article{display:flex;flex-wrap:wrap;align-items:flex-start;gap:8px}.import-rows article>input[type=checkbox]{flex:0 0 auto;margin-top:11px}.import-rows article>.import-desc-cell{flex:1 1 0;min-width:0}.import-rows article>input[type=number],.import-rows article>input[type=date],.import-rows article>select{flex:1 1 100%;width:100%}.finance-tracking{grid-template-columns:1fr}.finance-nature-summary{grid-template-columns:1fr}.cards-grid{grid-template-columns:1fr}.market-lists{grid-template-columns:1fr}.market-actions{flex-direction:column;align-items:stretch;gap:8px}.market-actions>div{display:grid}.market-item{grid-template-columns:16px minmax(0,1fr) auto auto}.market-item small{display:none}.market-item-row{grid-template-columns:1fr 55px 45px 24px}.statement-rows article{grid-template-columns:1fr auto}.statement-dates{grid-column:1/-1;justify-content:flex-start}.reports-columns{grid-template-columns:1fr}.category-bars>div{grid-template-columns:80px 1fr 60px}}
