:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;color:#102d27;background:#f4f7f2;font-synthesis:none;--green:#123c32;--mint:#0f8a70;--soft:#e6f1ed;--gold:#e0a02b;--danger:#b84235;--line:#d4e1dc}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(circle at top right,#dff1e7,transparent 35%),#f4f7f2}header{height:76px;padding:12px max(18px,env(safe-area-inset-left));display:flex;align-items:center;justify-content:space-between;background:rgba(244,247,242,.92);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:10;backdrop-filter:blur(15px)}.brand{display:flex;align-items:center;gap:10px}.brand img{width:46px;height:46px;border-radius:13px}.brand strong,.brand small{display:block}.brand strong{font-size:1.2rem}.brand small{color:#5f756e}main{width:min(100%,1120px);margin:auto;padding:22px 18px 100px}.hidden{display:none!important}.card{background:#fff;border:1px solid var(--line);border-radius:24px;padding:22px;box-shadow:0 12px 40px rgba(18,60,50,.06);margin-bottom:18px}.auth{width:min(100%,480px);margin:6vh auto}.eyebrow{text-transform:uppercase;letter-spacing:.12em;color:var(--mint);font-weight:800;font-size:.75rem}h1{font-size:clamp(2rem,8vw,3.5rem);line-height:1;margin:.35em 0}h2{margin:0 0 16px;font-size:1.2rem}p{line-height:1.55;color:#536b64}label{display:block;font-weight:700;margin:14px 0 6px}input,select,button{font:inherit;min-height:52px;border-radius:14px}input,select{width:100%;border:1px solid #bfd1ca;background:#fbfdfc;padding:0 14px;color:#102d27}input:focus,select:focus{outline:3px solid rgba(15,138,112,.18);border-color:var(--mint)}button{border:0;background:var(--mint);color:#fff;padding:0 18px;font-weight:800;cursor:pointer}button.secondary{background:var(--soft);color:var(--green);width:100%;margin-top:10px}.ghost{background:transparent;color:var(--green);border:1px solid var(--line)}
#nav{position:fixed;z-index:12;bottom:0;left:0;right:0;background:#fff;border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(5,1fr);padding:8px 8px calc(8px + env(safe-area-inset-bottom))}#nav button{background:transparent;color:#667a74;padding:5px;font-size:.7rem;min-height:54px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px}#nav button b{font-size:1.12rem}#nav button.active{color:var(--mint);background:var(--soft)}
.welcome-line{display:flex;justify-content:space-between;align-items:center;margin:8px 2px 18px}.welcome-line h1,.page-heading h1{font-size:clamp(2rem,6vw,3.4rem);margin:.15em 0}.chip{background:#fff3d4;color:#7f5700;border:1px solid #f0d798;padding:10px 14px;border-radius:999px;font-weight:800}.hero{position:relative;overflow:hidden;background:linear-gradient(135deg,var(--green),#205f51);color:#fff;border-radius:28px;padding:28px;margin-bottom:16px}.hero:after{content:'';position:absolute;width:230px;height:230px;border-radius:50%;right:-80px;top:-100px;background:#ffffff0c;border:35px solid #ffffff0a}.hero span,.hero small,.hero strong{display:block}.hero>strong{font-size:clamp(2.4rem,10vw,4.5rem);margin:8px 0}.hero small{color:#cfe7df}.hero-actions{position:relative;z-index:1;display:flex;gap:10px;margin-top:22px}.hero-actions button{background:#fff;color:var(--green);min-height:44px}.hero-actions button+button{background:#ffffff14;color:#fff;border:1px solid #ffffff35}
.coach{display:grid;grid-template-columns:56px 1fr;gap:16px;align-items:start;background:linear-gradient(135deg,#fff8e6,#fff);border:1px solid #efdca9;border-radius:24px;padding:20px;margin:16px 0}.coach-face{width:54px;height:54px;border-radius:18px;background:var(--gold);color:#fff;display:grid;place-items:center;font-weight:900}.coach h2{margin:3px 0 2px}.coach p{margin:0}.coach strong{display:block;margin-top:8px;color:var(--green)}.metrics{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:18px}.metrics.three{grid-template-columns:repeat(3,1fr)}.metrics article{background:#fff;border:1px solid var(--line);border-radius:20px;padding:18px}.metrics span,.metrics strong{display:block}.metrics span{color:#60756f;font-size:.85rem}.metrics strong{font-size:1.25rem;margin-top:7px}.dashboard-grid,.pay-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:18px}.page-heading{padding:8px 4px 20px}
.title-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.title-row input{max-width:190px}.link{background:transparent;color:var(--mint);padding:0;min-height:auto}.movement{display:grid;grid-template-columns:44px 1fr auto;align-items:center;gap:12px;padding:13px 0;border-bottom:1px solid #edf1ef}.movement:last-child{border:0}.movement i{width:42px;height:42px;border-radius:13px;background:var(--soft);display:grid;place-items:center;font-style:normal}.movement strong,.movement small{display:block}.movement small{color:#71827d}.movement .expense{color:var(--danger)}.movement .income{color:var(--mint)}.empty{text-align:center;padding:25px;color:#70827d}.segmented{display:grid;grid-template-columns:1fr 1fr;background:var(--soft);border-radius:15px;padding:4px}.segmented label{margin:0;padding:14px;text-align:center;border-radius:12px}.segmented label:has(input:checked){background:#fff;box-shadow:0 2px 10px #cad8d3}.segmented input{width:auto;min-height:auto;margin-right:7px}
.plan-card{background:linear-gradient(160deg,#123c32,#1c5c4d);color:#fff}.plan-card small{color:#cfe7df}.days{background:#ffffff1c;padding:8px 11px;border-radius:12px;font-weight:800}.allocation-row{display:grid;grid-template-columns:1fr auto;gap:10px;padding:12px 0;border-bottom:1px solid #ffffff20}.allocation-row:last-child{border:0}.allocation-row span,.allocation-row strong{display:block}.allocation-row small{grid-column:1/-1}.allocation-row.free{margin-top:8px;padding:15px;background:#ffffff12;border:0;border-radius:15px}.allocation-row.negative strong{color:#ffc0b7}.purchase-check{display:grid;grid-template-columns:1fr auto;align-items:end;gap:12px}.decision-icon{width:50px;height:50px;border-radius:16px;background:var(--soft);color:var(--mint);font-size:1.7rem;display:grid;place-items:center;font-weight:900}.advice{padding:17px;border-radius:16px;margin-top:16px;font-weight:700}.advice.ok{background:#e6f4ec;color:#17613e}.advice.caution{background:#fff3d4;color:#7b5700}.advice.stop{background:#fde7e4;color:#9b2e22}.advice.setup{background:#e7eef8;color:#254d7b}
.obligation-form{display:grid;grid-template-columns:1.5fr 1fr 1fr .7fr auto;gap:10px;align-items:end}.obligation-form label{margin:0}.obligation{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:12px;padding:14px 0;border-bottom:1px solid var(--line)}.obligation small,.obligation strong{display:block}.paid-toggle{min-height:38px;font-size:.8rem;background:var(--soft);color:var(--green)}.paid-toggle.paid{background:#d6f0e5;color:#17613e}.compact{display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:10px;align-items:end}.compact label{margin:0}.progress{height:9px;background:#e9efec;border-radius:9px;overflow:hidden}.progress span{display:block;height:100%;background:var(--mint);max-width:100%}.plan{padding:13px 0;border-bottom:1px solid #edf1ef}.plan header{position:static;height:auto;padding:0;border:0;background:none}.grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.pill{background:var(--soft);border-radius:17px;padding:14px;margin:9px 0}.pill strong,.pill small{display:block}.privacy{line-height:2;color:#536b64}output{display:inline-block;margin-left:12px;color:var(--mint);font-weight:900}.two{display:grid;grid-template-columns:1fr 1fr;gap:12px}#notice{position:fixed;top:85px;left:50%;transform:translateX(-50%);z-index:30;background:var(--green);color:#fff;border-radius:14px;padding:12px 18px;box-shadow:0 10px 30px #123c3255}.notice-error{background:var(--danger)!important}hr{border:0;border-top:1px solid var(--line);margin:24px 0}
.obligation-form{display:grid;grid-template-columns:1.5fr 1fr 1fr .7fr auto;gap:10px;align-items:end}.obligation-form label{margin:0}.obligation{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:12px;padding:14px 0;border-bottom:1px solid var(--line)}.obligation small,.obligation strong{display:block}.paid-toggle{min-height:38px;font-size:.8rem;background:var(--soft);color:var(--green)}.paid-toggle.paid{background:#d6f0e5;color:#17613e}.compact{display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:10px;align-items:end}.compact label{margin:0}.progress{height:9px;background:#e9efec;border-radius:9px;overflow:hidden}.progress span{display:block;height:100%;background:var(--mint);max-width:100%}.plan{padding:13px 0;border-bottom:1px solid #edf1ef}.plan header{position:static;height:auto;padding:0;border:0;background:none}.grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.pill{background:var(--soft);border-radius:17px;padding:14px;margin:9px 0}.pill strong,.pill small{display:block}.privacy{line-height:2;color:#536b64}.safety{background:#edf7f2;border:1px solid #c9e5d8;border-radius:16px;padding:15px;margin:12px 0}.safety.warning{background:#fff3d4;border-color:#efdca9}.safety strong,.safety small{display:block}.risk-note{background:#fdeee9;border-left:4px solid var(--danger);padding:13px;border-radius:8px}output{display:inline-block;margin-left:12px;color:var(--mint);font-weight:900}.two{display:grid;grid-template-columns:1fr 1fr;gap:12px}#notice{position:fixed;top:85px;left:50%;transform:translateX(-50%);z-index:30;background:var(--green);color:#fff;border-radius:14px;padding:12px 18px;box-shadow:0 10px 30px #123c3255}.notice-error{background:var(--danger)!important}hr{border:0;border-top:1px solid var(--line);margin:24px 0}
@media(max-width:780px){main{padding-inline:12px}.card{border-radius:20px;padding:18px}.compact,.grid,.dashboard-grid,.pay-grid,.obligation-form,.purchase-check{grid-template-columns:1fr}.metrics.three{grid-template-columns:1fr 1fr}.metrics.three article:last-child{grid-column:1/-1}.title-row{align-items:flex-start}.title-row input{max-width:150px}.hero{padding:24px 20px}.hero-actions{flex-direction:column}.hero-actions button{width:100%}.welcome-line{align-items:flex-start}.chip{font-size:.72rem}.obligation{grid-template-columns:1fr auto}.obligation .paid-toggle{grid-column:1/-1;width:100%}}@media(max-width:420px){#nav button{font-size:.62rem;padding-inline:1px}.brand small{display:none}.hero>strong{font-size:2.35rem}}@media(min-width:900px){#nav{position:sticky;top:88px;left:auto;right:auto;border:1px solid var(--line);border-radius:18px;margin-bottom:18px;padding:7px}.view{animation:in .2s ease}@keyframes in{from{opacity:.5;transform:translateY(4px)}}}
.movement{grid-template-columns:44px 1fr auto auto}.obligation{grid-template-columns:1fr auto auto auto}.icon-button{min-height:36px;width:36px;padding:0;border-radius:50%;background:#fdeee9;color:var(--danger);font-size:1.25rem}.field-help{display:block;color:#657972;font-size:.86rem;line-height:1.45;margin:-4px 0 14px}
@media(max-width:780px){.movement{grid-template-columns:42px 1fr auto}.movement>.icon-button{grid-column:3}.obligation{grid-template-columns:1fr auto}.obligation>.icon-button{grid-column:2;grid-row:2}.obligation .paid-toggle{grid-column:1;width:100%}}
.header-actions{display:flex;align-items:center;gap:10px}.sync-badge{padding:8px 11px;border-radius:999px;background:#d9f4e7;color:#17613e;font-size:.76rem;font-weight:900}.sync-badge.waiting{background:#fff1c9;color:#735300}.sync-badge.warning{background:#fde0d8;color:#8d2f22}
@media(max-width:520px){.sync-badge{position:fixed;top:78px;right:10px;z-index:25;box-shadow:0 5px 18px #123c3230}}
