:root{--green:#78c69a;--dark:#285e46;--bg:#f1fcf5;--red:#ef8389;--border:#c5dfce}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:#263f34;font-family:Segoe UI,Arial,sans-serif}button,input,select{font:inherit}button{cursor:pointer;border:1px solid var(--border);background:transparent;border-radius:9px;padding:10px 14px;color:inherit}button:hover{background:#dff3e7}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #247957;outline-offset:2px}header{background:var(--green);padding:22px max(24px,calc((100vw - 1200px)/2));display:flex;justify-content:space-between;align-items:center;color:white}.brand{font-family:Georgia,serif;font-size:30px;font-style:italic;font-weight:bold}header small{display:block;margin-top:5px;color:#eefbf3}nav{display:flex;gap:10px}nav button{color:white;border-color:#b3e1c4;font-size:20px}main{max-width:1200px;margin:auto;padding:24px}.filters{display:flex;gap:14px;flex-wrap:wrap;border-bottom:1px solid var(--border);padding-bottom:22px}label{display:flex;flex-direction:column;gap:7px;font-size:13px;color:#527060}input,select{background:#fbfffc;border:1px solid #a9cdb7;border-radius:7px;padding:11px;color:#263f34;min-width:0}label select{min-width:160px}.layout{display:grid;grid-template-columns:1.15fr 1fr;gap:40px;margin-top:24px}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:12px}h1,h2{font-size:20px;margin:0}h3{font-size:16px}.section-heading span{font-size:13px;color:#6c8979}#orbit{position:relative;aspect-ratio:1;max-width:510px;margin:8px auto}#chart{position:absolute;width:57%;height:57%;left:21.5%;top:21.5%;transform:rotate(-90deg)}.chart-center{position:absolute;inset:35% 28%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px}.chart-center small{font-size:11px;color:#6b8276}.chart-center strong{font-size:21px;white-space:nowrap}#income{color:#399c6b}#expense{color:#d56b73}.category-orbit{position:absolute;transform:translate(-50%,-50%);border:0;padding:5px;width:88px;text-align:center;background:transparent}.category-orbit svg{width:37px;height:37px;display:block;margin:auto}.category-orbit span{display:block;font-size:10px;color:#61756a;margin-top:5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.balance{margin:auto;background:var(--green);border:1px solid #62b383;border-radius:7px;color:white;padding:14px 20px;max-width:390px;display:flex;align-items:center;justify-content:space-between;box-shadow:0 3px 8px #2a68451a}.balance strong{font-size:25px}.actions{display:flex;justify-content:space-evenly;margin-top:22px}.circle{border:6px solid;font-size:62px;line-height:1;width:112px;height:112px;border-radius:50%;background:#fff}.expense{color:var(--red)}.income{color:var(--green)}.action-labels{display:flex;justify-content:space-evenly;margin-top:8px;font-size:13px}.hint{font-size:12px;color:#708579;line-height:1.6}.overview>.hint{text-align:center}.history{background:#ffffff85;border:1px solid #d7e9dd;border-radius:14px;padding:22px;align-self:start}.history>input{width:100%;margin:20px 0 10px}.movement{display:flex;gap:12px;align-items:center;padding:16px 0;border-bottom:1px solid #e0eee5}.movement-icon{width:36px;flex-shrink:0}.movement-icon svg{width:30px;height:30px}.movement-info{flex:1;min-width:0}.movement-info strong{font-size:14px}.movement-info small{display:block;font-size:11px;color:#728378;margin-top:4px;overflow-wrap:anywhere}.movement-value{text-align:right;font-weight:600;white-space:nowrap}.movement button{padding:4px 7px;font-size:12px;margin-top:6px}.empty{text-align:center;padding:50px 10px;color:#7d9084;font-size:14px;line-height:1.8}.account-summary{margin-top:26px}.account-row{display:flex;justify-content:space-between;gap:12px;padding:10px 0;font-size:14px}footer{border-top:1px solid var(--border);padding:20px 0;margin-top:26px;display:flex;gap:10px;align-items:center;flex-wrap:wrap;font-size:12px;color:#688272}footer button{padding:7px 10px}dialog{background:var(--bg);color:#263f34;border:1px solid var(--border);border-radius:16px;max-width:540px;width:calc(100% - 24px);padding:24px;max-height:92dvh;overflow:auto}dialog::backdrop{background:#1c352c88}.dialog-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.dialog-heading button{border:0}#amount{background:var(--green);color:white;font-size:32px;text-align:right;width:100%;border-color:#5fad7d}.calculator{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin:12px 0 20px}.calculator button{font-size:20px;padding:10px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:16px}.form-grid select{min-width:0;width:100%}.primary{background:var(--green);border-color:#66b686;color:#123e28;font-weight:600}#entryForm>.primary{width:100%;margin-top:12px}.error{color:#b54350;font-size:13px;min-height:16px}#manageDialog form{display:flex;gap:8px;flex-wrap:wrap;padding:12px 0}#manageDialog form input{max-width:200px;flex:1}#manageDialog input[type=color]{max-width:48px;min-height:43px}.manage-row{display:flex;gap:8px;align-items:center;padding:8px 0;border-bottom:1px solid var(--border)}.manage-row span{flex:1}.manage-row button{font-size:12px;padding:6px}#toast{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);background:#285e46;color:white;padding:12px 20px;border-radius:9px;display:none;z-index:10}[hidden]{display:none!important}@media(max-width:760px){header{padding:18px 16px}.brand{font-size:24px}header small{font-size:11px}nav button{padding:7px 10px}nav span{display:none}main{padding:16px}.layout{grid-template-columns:1fr;gap:24px;margin-top:20px}.filters{gap:10px}.filters label{flex:1;min-width:130px}.filters select,.filters input{width:100%;min-width:0}.history{padding:18px}#orbit{max-width:440px}.section-heading span{font-size:11px}.category-orbit{width:76px}.category-orbit svg{width:31px;height:31px}.category-orbit span{font-size:9px}.chart-center strong{font-size:19px}.circle{width:100px;height:100px}.form-grid{gap:10px}dialog{padding:18px}}

/* Conta online: mesmas cores e proporções da aplicação. */
.auth-card{max-width:440px;margin:44px auto;padding:30px;border:1px solid var(--border);border-radius:18px;background:#ffffff95;text-align:center;box-shadow:0 12px 40px #2a68450c}.auth-symbol{width:72px;height:72px;border:4px solid var(--green);color:var(--green);border-radius:50%;font:44px Georgia,serif;margin:0 auto 22px;display:grid;place-items:center}.eyebrow{font-size:10px;letter-spacing:2px;color:#609374}.auth-card h1{font-size:25px}.auth-card p{font-size:14px;line-height:1.6;color:#647e6e}.auth-card form{display:grid;gap:18px;margin:26px 0 12px;text-align:left}.auth-card form input{width:100%}.auth-card .auth-message{color:#9b454d;min-height:24px;overflow-wrap:anywhere}.local-migration{border-top:1px solid var(--border);margin-top:28px;padding-top:12px}.local-migration p{font-size:12px}.local-migration button{font-size:12px}.sync-panel{display:flex;justify-content:space-between;align-items:center;gap:12px;border-bottom:1px solid var(--border);margin-bottom:22px;padding-bottom:16px}.sync-panel strong{font-size:13px;overflow-wrap:anywhere}.sync-panel p{font-size:12px;margin:5px 0 0;color:#6a8475}.sync-panel .error{color:#b54350}.sync-panel button{flex-shrink:0}button:disabled{opacity:.55;cursor:wait}#application[inert]{opacity:.7}@media(max-width:760px){.auth-card{margin:20px auto;padding:24px 18px}.sync-panel{align-items:flex-start}.sync-panel button{font-size:12px;padding:9px}.movement-value{font-size:14px}}

/* Ecrãs estreitos: cabeçalho flexível e campos sem zoom automático no iPhone. */
@media(max-width:760px){header{flex-wrap:wrap;gap:12px}header>div{flex:1 1 180px;min-width:0}nav{flex-shrink:0}nav button{min-width:44px;min-height:44px}input,select{font-size:16px;max-width:100%}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid label{min-width:0}.form-grid input{width:100%}.category-orbit{width:clamp(44px,14%,62px)}.movement-info strong,.account-row span,.manage-row span{overflow-wrap:anywhere}.section-heading{flex-wrap:wrap}.chart-center strong{font-size:clamp(15px,4.8vw,19px)}}
.category-orbit{left:var(--orbit-x);top:var(--orbit-y)}@media(max-width:760px){.category-orbit{left:clamp(22px,var(--orbit-x),calc(100% - 22px));top:clamp(28px,var(--orbit-y),calc(100% - 28px))}#toast{max-width:calc(100vw - 32px);width:max-content;text-align:center}}
