:root{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;color:#f4fffb;background:#042b26;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--mint:#5ee9bd;--mint-2:#9bf8db;--bg:#03231f;--card:#06352e;--line:#146354;--muted:#b1d5c8;--rose:#ff8298;--yellow:#ffd767;--blue:#80cbff;--purple:#d3a0ff;--shadow:0 10px 35px rgba(0,0,0,.20)}*{box-sizing:border-box}html,body,#app{min-height:100%;margin:0}body{background:radial-gradient(ellipse at 8% 20%,#095d4e 0%,transparent 48%),linear-gradient(140deg,#063f36,#021a19);font-size:14px}button,input,select,textarea{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #95f8d9;outline-offset:2px}button,select{-webkit-tap-highlight-color:transparent}.icon{flex:none;vertical-align:middle}.shell{min-height:100vh;display:flex;justify-content:center;align-items:flex-start;padding:22px 16px}.app-surface{display:flex;flex-direction:column;width:100%;max-width:470px;height:min(920px,calc(100dvh - 44px));min-height:620px;position:relative;overflow:hidden;border-radius:40px;border:1px solid #1d907c;box-shadow:0 0 0 8px rgba(0,0,0,.3),0 35px 90px rgba(0,0,0,.45);background:radial-gradient(circle at 96% 0%,rgba(22,192,152,.3) 0%,rgba(4,71,61,.07) 38%,transparent 60%),linear-gradient(165deg,#043d33 0%,#042b27 30%,#021d1a 100%)}.app-surface:before{content:"";pointer-events:none;position:absolute;z-index:0;top:0;right:-35%;width:100%;height:190px;border-radius:50%;border-top:1px solid rgba(77,244,201,.5);transform:rotate(-24deg)}.header{padding:30px 24px 20px;position:relative;z-index:1;display:flex;justify-content:space-between;align-items:center;gap:14px;flex-shrink:0}.wordmark{font-size:34px;letter-spacing:-2px;font-weight:850;line-height:1;white-space:nowrap}.wordmark span{color:var(--mint);letter-spacing:-2.4px}.brand-agenda{font-size:22px;line-height:1.25;font-weight:760;letter-spacing:-.7px}.subtitle{font-size:12px;color:#cee5dc;margin-top:4px}.header-actions{display:flex;gap:9px}.round-action{position:relative;display:grid;place-items:center;background:rgba(0,35,32,.35);border:1px solid rgba(80,226,178,.21);border-radius:50%;color:#f2fffa;width:42px;height:42px}.round-action:hover{background:rgba(35,188,146,.22)}.notify-dot{position:absolute;width:9px;height:9px;background:#54e693;border-radius:50%;top:6px;right:6px}.demo-banner{color:#aedbc9;font-size:9px;letter-spacing:.8px;padding:5px 20px 10px;display:flex;gap:6px;align-items:center;justify-content:center;opacity:.88;flex-shrink:0;position:relative;z-index:1}.main-content{position:relative;z-index:1;flex:1;overflow-y:auto;overscroll-behavior:contain;padding:2px 17px 26px;scrollbar-width:thin;scrollbar-color:#226959 transparent}.main-content::-webkit-scrollbar{width:4px}.main-content::-webkit-scrollbar-thumb{background:#226959;border-radius:5px}.main-content>*{margin-bottom:13px}.bottom-nav{position:relative;z-index:2;flex-shrink:0;padding:9px 9px calc(10px + env(safe-area-inset-bottom));display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;background:#020a0b;border-top:1px solid #12483f;border-radius:22px 22px 0 0;box-shadow:0 -8px 22px rgba(0,0,0,.18)}.nav-item{color:#e8eeeb;background:transparent;border:0;border-radius:15px;display:flex;flex-direction:column;gap:6px;align-items:center;padding:10px 1px 8px;min-height:62px;font-size:12px}.nav-item.active{color:#61e6a9;background:#04251f;font-weight:760}.nav-item span{white-space:nowrap}.greet-card{border-radius:19px;padding:16px 14px;background:linear-gradient(110deg,#07554a 0%,#07574a 45%,#063d37 100%);border:1px solid #138b73;display:flex;align-items:center;gap:13px;min-height:112px;box-shadow:inset 0 0 35px rgba(36,210,163,.08),var(--shadow)}.greet-icon{color:var(--mint);filter:drop-shadow(0 0 10px rgba(85,255,197,.25));width:48px;display:grid;place-items:center}.greet-content{flex:1;min-width:0}.greet-content h2{margin:0 0 5px;font-size:21px;line-height:1.18;letter-spacing:-.5px}.greet-content p{margin:0;font-size:12px;color:#d6ece5;line-height:1.45}.day-badge{min-width:57px;border-radius:14px;background:rgba(1,52,45,.45);border:1px solid #138b73;display:flex;flex-direction:column;align-items:center;padding:7px;color:#e2fcf3}.day-badge small{font-size:11px}.day-badge strong{font-size:26px;line-height:1.12}.card{background:linear-gradient(140deg,rgba(2,65,54,.91),rgba(3,42,39,.96));border:1px solid rgba(26,146,122,.72);border-radius:18px;padding:14px;box-shadow:inset 0 1px 0 rgba(101,255,198,.025)}.section-title{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 13px;font-size:15px;font-weight:750;letter-spacing:-.3px}.section-title>span{display:flex;gap:9px;align-items:center}.mint{color:var(--mint)}.rose-text{color:var(--rose)}.yellow-text{color:var(--yellow)}.text-link{background:none;border:0;color:var(--mint);display:inline-flex;gap:5px;align-items:center;font-size:11px;padding:3px 0;white-space:nowrap}.stats-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.stat{border:1px solid #167867;background:linear-gradient(160deg,#075344,#03342e);border-radius:13px;padding:11px 8px;display:flex;flex-direction:column;gap:4px;min-width:0}.stat strong{font-size:22px}.stat small{font-size:11px;color:#d8eee6}.stat>span{height:26px}.activity-row{width:100%;display:flex;align-items:center;gap:9px;text-align:left;color:#f6fffa;background:rgba(0,25,24,.23);border:1px solid rgba(63,161,136,.28);border-radius:12px;padding:9px 8px;min-height:64px}.activity-row+.activity-row{margin-top:5px}.activity-row:hover{border-color:#4ad2ab;background:rgba(18,123,100,.2)}.activity-icon{display:grid;place-items:center;width:38px;height:38px;flex:none;border-radius:10px;color:var(--mint);background:rgba(22,139,105,.25)}.activity-icon.rose,.small-circle.rose{color:#ff9bb0;background:rgba(172,62,85,.42)}.activity-icon.blue{color:#83d2ff;background:rgba(41,118,172,.44)}.activity-icon.purple{color:#e0abff;background:rgba(100,55,147,.5)}.activity-icon.amber{color:#ffd56b;background:rgba(135,102,35,.46)}.activity-icon.mint,.small-circle.mint{color:#71e9c5;background:rgba(17,137,100,.4)}.activity-time{display:flex;flex-direction:column;gap:3px;border-right:1px solid #1e6457;padding-right:8px;min-width:43px;color:#d8eee6;font-size:11px}.activity-time strong{font-size:11px;font-weight:550}.activity-time small{font-size:10px}.activity-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.activity-info strong{font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.activity-info small{font-size:10px;color:#bad6cc;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.activity-money{font-size:11px;font-weight:750;color:var(--mint);white-space:nowrap}.row-chevron{color:#a9d6c8}.finance-summary{background:linear-gradient(120deg,rgba(4,78,66,.95),rgba(1,41,37,.98))}.finance-mini-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.mini-fin{padding:9px 6px;border:1px solid #127966;border-radius:11px;min-width:0;background:rgba(0,38,33,.3);display:flex;flex-direction:column;gap:5px}.mini-fin small{color:#c8e7dc;font-size:10px}.mini-fin strong{color:var(--mint);font-size:clamp(11px,3vw,17px);white-space:nowrap;letter-spacing:-.7px}.mini-fin span{color:#b7dccc;font-size:9px;min-height:24px;display:flex;align-items:center;gap:4px}.mini-fin.yellow strong{color:var(--yellow)}.mini-fin.red{background:rgba(131,48,65,.16);border-color:#65454a}.mini-fin.red strong{color:var(--rose)}.assistant-mini{margin-bottom:8px}.ask-preview{width:100%;display:flex;gap:10px;align-items:center;color:#d5e7e1;border:1px solid #1c7463;background:#0c3934;border-radius:13px;padding:12px;text-align:left;font-size:12px}.ask-preview span{margin-left:auto;color:#052d26;background:var(--mint);border-radius:50%;padding:7px;display:grid;place-items:center}.empty-copy{margin:8px 0;padding:14px 3px;color:#bbd7ca;font-size:12px}.segment{display:flex;gap:2px;border-radius:99px;padding:3px;border:1px solid #217b6b;background:rgba(0,37,33,.6)}.segment button{background:transparent;border:0;color:#d2ebe0;padding:7px 12px;border-radius:99px;white-space:nowrap;font-size:12px;flex:1}.segment button.selected,.tx-segment label.selected{background:var(--mint);color:#04261f;font-weight:760}.calendar-top{margin-bottom:10px}.calendar-inner{border-radius:15px;background:rgba(2,38,34,.55);padding:9px 7px 11px;border:1px solid rgba(17,128,105,.28)}.month-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:9px}.month-name{color:#fff;font-size:15px;font-weight:700;text-transform:capitalize;border:0;background:none}.square-icon{width:29px;height:29px;display:grid;place-items:center;background:rgba(23,104,88,.33);border:1px solid #166c5d;border-radius:10px;color:#def8ed}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px}.weekday{text-align:center;color:#c3e2d5;font-size:10px;padding:7px 0}.calday{height:43px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;color:#f6fffa;border-radius:9px;background:rgba(1,26,25,.18);border:1px solid transparent;min-width:0}.calday b{font-size:13px;font-weight:600}.calday.today:not(.selected){border-color:#23a883}.calday.offmonth{opacity:.45}.calday.selected{background:linear-gradient(135deg,#54ecbd,#2bcda9);color:#042c25;box-shadow:0 0 15px rgba(43,212,163,.12)}.dots{height:6px;display:flex;justify-content:center;gap:2px}.dot,.flow-dot{width:5px;height:5px;border-radius:50%;background:var(--mint);display:inline-block}.dot.rose,.flow-dot.rose{background:var(--rose)}.dot.blue{background:var(--blue)}.dot.purple{background:var(--purple)}.dot.amber,.flow-dot.yellow{background:var(--yellow)}.filter-bar{display:flex;justify-content:space-between;align-items:center;color:var(--mint);padding:0 4px;gap:8px;font-size:10px}.filter-bar em{font-style:normal;color:#c5dbd3}.personal-dot{color:var(--purple)}select{background:#073c33;border:1px solid #1b7f6b;border-radius:10px;color:#f4fff9;padding:9px 25px 9px 9px;max-width:100%;min-width:0}.day-title{margin-bottom:12px}.day-title h3{margin:0;font-size:15px;font-weight:700;text-transform:capitalize}.day-title small{color:#bddad0;font-size:11px;display:block;margin-top:4px}.icon-primary{display:grid;place-items:center;border:0;border-radius:10px;background:var(--mint);color:#04382b;width:35px;height:35px}.primary{border:0;background:linear-gradient(120deg,#78f3d0,#2bd9ab);color:#053529;border-radius:12px;min-height:43px;padding:10px 14px;display:inline-flex;gap:7px;align-items:center;justify-content:center;font-weight:750;font-size:13px}.primary:hover{filter:brightness(1.07)}.full{width:100%}.outline{background:rgba(7,75,64,.25);color:#d6f2e5;border:1px solid #1b9b7b;border-radius:10px;min-height:39px;padding:9px 12px;display:inline-flex;align-items:center;justify-content:center;gap:7px;font-size:12px}.assistant-inline>span{display:flex;gap:9px;align-items:center;font-weight:750}.assistant-inline p{color:#c8e4da;line-height:1.5;font-size:12px}.finance-page,.assistant-page{display:flex;flex-direction:column;gap:12px}.page-heading{display:flex;align-items:center;gap:13px;margin:10px 0 4px}.page-heading h2{font-size:24px;margin:0 0 5px}.page-heading p{margin:0;color:#b8dfd0;font-size:12px}.finance-segment{width:100%}.finance-segment button{padding:10px 4px}.month-select{display:flex;justify-content:space-between;align-items:center;font-size:15px;font-weight:700;text-transform:capitalize}.month-select button{border:1px solid #147b67;border-radius:9px;background:#08483d;color:white;width:31px;height:31px;display:grid;place-items:center}.faturamento{display:flex;justify-content:space-between;align-items:center;background:linear-gradient(130deg,#075a4a,#053c35);padding:17px 16px}.faturamento>div{display:flex;flex-direction:column;gap:5px;min-width:0}.faturamento small{font-size:12px;color:#d8f3e8}.faturamento strong{font-size:26px;color:var(--mint);white-space:nowrap;letter-spacing:-.7px}.faturamento span{font-size:10px;color:#afddcb}.finance-two{display:grid;grid-template-columns:1fr 1fr;gap:9px}.metric{display:flex;flex-direction:column;gap:6px;min-width:0}.metric small{color:#d0e8dc;font-size:12px}.metric strong{font-size:20px;color:var(--mint);letter-spacing:-.4px;white-space:nowrap}.metric strong.yellow-text{color:var(--yellow)}.expense-card{display:flex;flex-direction:column;gap:6px;border-color:#6c4955;background:linear-gradient(110deg,#173c38,#382b31)}.expense-card>span{display:flex;align-items:center;gap:8px}.expense-card strong{font-size:24px;color:var(--rose)}.expense-card small{color:#dbb6bd}.flow-card{display:flex;flex-direction:column;gap:3px}.flow-row{display:flex;align-items:center;justify-content:space-between;gap:8px;border-bottom:1px solid #1a5449;padding:8px 0;font-size:12px}.flow-row>span{display:flex;align-items:center;gap:7px;color:#d7ede2}.flow-row strong{font-size:12px;white-space:nowrap}.flow-dot{width:9px;height:9px}.flow-total{display:flex;justify-content:space-between;gap:8px;padding:12px 0 2px;color:#a5e6cd;font-size:11px}.flow-total strong{white-space:nowrap;font-size:13px}.quick-fin-buttons{display:grid;grid-template-columns:1.2fr 1fr;gap:8px}.tx-row{background:transparent;border:0;border-bottom:1px solid #235549;padding:9px 0;width:100%;display:flex;align-items:center;gap:8px;text-align:left;color:white}.tx-row:last-child{border:0}.small-circle{flex:none;width:34px;height:34px;border-radius:9px;display:grid;place-items:center}.tx-row>span:nth-child(2){flex:1;display:flex;flex-direction:column;gap:4px;min-width:0}.tx-row b{font-size:12px;overflow:hidden;text-overflow:ellipsis}.tx-row small{font-size:10px;color:#b3d9c7}.tx-row>strong{font-size:11px;white-space:nowrap}.fineprint{font-size:10px;color:#afd6c5;line-height:1.6}.assistant-page{min-height:100%;position:relative}.assistant-chat{display:flex;flex-direction:column;gap:11px;flex:1}.assistant-bubble{display:flex;gap:9px;align-items:flex-start;padding:13px 11px;background:rgba(5,68,59,.7);border:1px solid #218b74;border-radius:16px}.bubble-icon{display:grid;place-items:center;color:var(--mint);flex:none;width:35px;height:35px;background:#075747;border-radius:50%}.assistant-bubble strong{font-size:13px}.assistant-bubble p{line-height:1.65;color:#d5f0e6;font-size:12px}.chat-question{align-self:flex-end;max-width:87%;border-radius:14px 14px 3px 14px;padding:12px;background:#0c6c55;color:#edfff8;font-size:12px;line-height:1.5}.assistant-suggestions{display:flex;flex-direction:column;gap:7px;margin-top:8px}.assistant-suggestions button{border:1px solid #227e6b;color:#e4faee;background:rgba(4,65,54,.5);border-radius:13px;padding:12px;display:flex;align-items:center;gap:11px;text-align:left}.assistant-suggestions button span{flex:1}.chat-form{display:flex;align-items:center;gap:8px;padding:6px 7px 6px 12px;border-radius:17px;border:1px solid #268d77;background:#123d37}.chat-form input{flex:1;border:0;outline:0!important;background:transparent;color:#fff;min-width:0;padding:10px 0}.chat-form input::placeholder{color:#9ec9b9}.chat-form button{border:0;border-radius:50%;background:var(--mint);color:#053b2f;width:37px;height:37px;display:grid;place-items:center}.assistant-disclaimer{display:flex;align-items:start;gap:7px;color:#b4d2c5;font-size:10px;line-height:1.5}.modal-overlay{z-index:10;position:absolute;inset:0;background:rgba(0,10,11,.76);backdrop-filter:blur(4px);display:flex;align-items:flex-end;justify-content:center}.modal-box{width:100%;max-height:93%;overflow-y:auto;background:linear-gradient(150deg,#075447,#042b25 70%);border:1px solid #2baa8d;border-radius:24px 24px 0 0;padding:20px 19px calc(22px + env(safe-area-inset-bottom));box-shadow:0 -12px 50px #0016}.modal-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.modal-heading h2{font-size:21px;margin:0 0 4px}.modal-heading p{font-size:12px;margin:0;color:#b6ddce}.form-grid{display:flex;flex-direction:column;gap:13px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.field{display:flex;flex-direction:column;gap:6px;color:#d8f5ea;font-size:12px;font-weight:500;min-width:0}.field input,.field select,.field textarea{background:#062c29;border:1px solid #1c7967;border-radius:10px;color:#f1fff9;padding:12px;width:100%;min-height:42px}.field textarea{resize:vertical}.field input::placeholder,.field textarea::placeholder{color:#8aac9f}.type-selector{border:0;padding:0;margin:0}.type-selector legend{font-size:12px;color:#d8f5ea;margin-bottom:8px}.type-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.type-choice{cursor:pointer;min-width:0;border:1px solid #1f6e5d;background:#043b34;border-radius:11px;padding:8px 2px;display:flex;flex-direction:column;align-items:center;gap:6px}.type-choice.checked{border:2px solid var(--mint);background:#09634e}.type-choice input{position:absolute;opacity:0;width:1px;height:1px}.type-choice .activity-icon{width:33px;height:33px}.type-choice small{font-size:10px;white-space:nowrap}.financial-fields{padding:12px;display:flex;flex-direction:column;gap:11px;border:1px solid #238970;border-radius:12px;background:rgba(18,119,90,.13)}.subheading{display:flex;gap:8px;align-items:center;font-size:13px;font-weight:750}.hidden{display:none!important}.error-text{color:#ffc7d2;font-size:12px}.conflict-note{padding:10px;border:1px solid #a57b3d;background:#6249234a;color:#ffe6a7;display:flex;align-items:center;gap:7px;font-size:11px;line-height:1.5;border-radius:10px}.danger-text{color:#ff9dab;background:transparent;border:0;padding:9px;display:flex;justify-content:center;align-items:center;gap:7px}.tx-segment{display:flex}.tx-segment label{flex:1;padding:12px;text-align:center;border-radius:99px;cursor:pointer}.tx-segment input{opacity:0;position:absolute;pointer-events:none}.privacy-note{color:#c4e6d8;line-height:1.6;font-size:11px;display:flex;gap:7px}.notice-list{display:flex;flex-direction:column;gap:13px;line-height:1.6}.notice-list div{display:flex;gap:9px;align-items:start;border:1px solid #1c7864;border-radius:10px;padding:13px}.notice-list p{font-size:11px;color:#b4d4c6}.toast{position:absolute;z-index:9;bottom:95px;left:18px;right:18px;border-radius:13px;padding:14px;background:#2a9c7c;border:1px solid #7ff0c9;color:#fff;box-shadow:0 12px 35px #0017;font-size:12px;display:flex;gap:7px;align-items:center}.small{min-height:29px;font-size:11px;padding:7px 9px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:600px){html,body,#app{height:100%;min-height:100%}.shell{padding:0;min-height:100dvh}.app-surface{max-width:none;height:100dvh;min-height:0;border:0;border-radius:0;box-shadow:none}.header{padding:calc(22px + env(safe-area-inset-top)) 23px 14px}.main-content{padding:3px 14px 25px}.bottom-nav{border-radius:20px 20px 0 0}.toast{bottom:calc(86px + env(safe-area-inset-bottom))}}@media(max-width:360px){.wordmark{font-size:30px}.brand-agenda{font-size:20px}.header{padding-left:16px;padding-right:16px}.header-actions{gap:4px}.round-action{width:36px;height:36px}.main-content{padding-left:9px;padding-right:9px}.greet-card{padding:11px 9px;gap:8px}.greet-content h2{font-size:18px}.greet-icon{width:38px}.greet-icon .icon{width:35px;height:35px}.activity-row{gap:5px;padding:7px 5px}.activity-icon{width:31px;height:33px}.activity-money{font-size:10px}.mini-fin strong{font-size:12px}.type-grid{gap:4px}.type-choice small{font-size:9px}}@media(min-width:650px){.shell{padding-top:35px}}@media(prefers-reduced-motion:no-preference){button{transition:background .15s ease,filter .15s ease,transform .1s ease}button:active{transform:scale(.99)}}

/* v0.1.3 — interface compacta, navegação de dia e privacidade */
.demo-banner,.fineprint,.assistant-disclaimer{display:none!important}
.finance-page.compact-finance{gap:10px}
.finance-compact-heading{display:flex;align-items:center;justify-content:space-between;margin:5px 0 0}
.finance-title{display:flex;align-items:center;gap:10px}
.finance-title h2{font-size:23px;line-height:1;margin:0}
.privacy-toggle{display:grid;place-items:center;border-radius:10px;border:1px solid #1d8e75;background:#07463d;color:var(--mint);width:37px;height:37px}
.finance-page .month-select{font-size:13px;margin:0 2px}
.finance-subtabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;background:#032922;border-radius:13px;border:1px solid #166c5c;padding:4px}
.finance-subtabs button{border:0;border-radius:9px;padding:9px 3px;color:#c3e1d6;background:transparent;display:flex;align-items:center;justify-content:center;gap:5px;font-size:11px;white-space:nowrap}
.finance-subtabs button.active{background:#0e705a;color:#f4fff9;font-weight:720}
.bill-counter{display:grid;place-items:center;min-width:16px;height:16px;background:#ceac55;color:#052d26;border-radius:50%;font-size:9px;padding:0 4px}
.fin-content{border:1px solid #16715f;border-radius:15px;padding:10px;background:linear-gradient(120deg,#053c33,#042b27)}
.finance-kpis{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-bottom:7px}
.fin-kpi{background:rgba(1,35,31,.52);border:1px solid #146653;border-radius:11px;padding:11px 10px;display:flex;flex-direction:column;gap:4px;min-width:0}
.fin-kpi small{font-size:11px;color:#b9dbcc}.fin-kpi strong{font-size:clamp(15px,4.8vw,19px);white-space:nowrap;letter-spacing:-.5px;overflow:hidden;text-overflow:ellipsis;color:#f5fefa}
.fin-strip{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:9px 4px;border-top:1px solid #195447;font-size:11px}
.fin-strip span{display:flex;align-items:center;gap:6px;color:#c6e5d8}.fin-strip strong{font-size:12px;white-space:nowrap}
.fin-details{margin-top:4px}.fin-details summary{border-top:1px solid #195447;list-style:none;cursor:pointer;display:flex;align-items:center;gap:8px;padding:10px 4px 4px;color:#6eebc2;font-size:11px}
.fin-details summary::-webkit-details-marker{display:none}.flow-body{padding:5px 2px}
.fin-section-actions{display:flex;align-items:center;justify-content:space-between;margin-bottom:9px;gap:6px}.fin-section-actions span{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:700}
.small-add{border:1px solid #23876e;border-radius:8px;padding:7px 10px;background:#075643;color:var(--mint);display:flex;gap:3px;align-items:center;font-size:11px}
.bill-row{display:flex;gap:8px;align-items:center;padding:9px 0;border-bottom:1px solid #1b6150}.bill-row:last-of-type{border-bottom:0}
.bill-body{flex:1;min-width:0;text-align:left;border:0;background:none;color:white;padding:3px 0;display:flex;flex-direction:column;gap:4px}
.bill-body strong{font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bill-body small{font-size:10px;color:#b5d3c7}
.bill-value{font-size:11px;white-space:nowrap}.bill-pay{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;border:1px solid #2fac8c;background:#07483a;color:var(--mint)}
.day-sheet-list{display:flex;flex-direction:column;gap:6px;margin-bottom:16px;max-height:43vh;overflow-y:auto}
.day-sheet-empty{color:#b6d9ca;font-size:12px;margin:9px 0}
.month-name{text-transform:none}.month-select span{text-transform:none}
.modal-box .field input:focus,.modal-box .field select:focus{border-color:var(--mint)}
@media(max-width:360px){.finance-kpis .fin-kpi{padding:9px 7px}.fin-kpi strong{font-size:14px}.finance-subtabs button{font-size:10px}}

/* Evita estouro dos campos nativos de data e hora no Safari iOS */
.form-row>.field{min-width:0;max-width:100%}.form-row>.field input,.form-row>.field select{min-width:0;max-width:100%;width:100%}
input[type="date"],input[type="time"]{min-width:0;max-width:100%;-webkit-min-logical-width:0}

/* EvoluiQ Agenda v0.1.4 — ajustes móveis, tablet, extrato inteligente */
.finance-ledger{gap:11px}
.finance-ledger-summary{display:flex;flex-direction:column;gap:0;padding:0 3px}
.finance-summary-line{display:flex;justify-content:space-between;align-items:center;gap:10px;min-height:39px;border-bottom:1px solid #1d6253}
.finance-summary-line span{display:flex;align-items:center;gap:9px;font-size:12.5px;color:#d7eee5}
.finance-summary-line strong{font-size:14px;white-space:nowrap;letter-spacing:-.2px}
.finance-list-top{display:flex;justify-content:space-between;align-items:center;gap:5px;margin-top:5px}
.finance-list-top h3{font-size:15px;display:flex;align-items:center;gap:7px;margin:0;white-space:nowrap}
.finance-list-filters{display:flex;border:1px solid #1a7b61;border-radius:25px;padding:2px;gap:1px;min-width:0}
.finance-list-filters button{border:0;background:none;color:#cfebe0;border-radius:22px;padding:5px 8px;font-size:10px;white-space:nowrap}
.finance-list-filters button.active{background:var(--mint);color:#063229;font-weight:700}
.finance-list{background:transparent;border:0;padding:0}
.finance-list-row{width:100%;min-width:0;display:flex;align-items:center;gap:8px;padding:8px 2px;border:0;border-bottom:1px solid #195d4e;background:none;color:white;text-align:left}
.finance-list-icon{height:29px;width:29px;display:grid;place-items:center;border-radius:7px;background:#0c5a49;flex:none}
.finance-list-icon.rose{background:#473238;color:#ff9db0}.finance-list-icon.mint{color:#70e6c0}
.finance-list-name{display:flex;flex-direction:column;min-width:0;gap:3px;flex:1}
.finance-list-name strong{font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.finance-list-name small{color:#b1d4c6;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.finance-list-status{font-size:12px;font-weight:700;white-space:nowrap}
.finance-list-empty{font-size:12px;color:#aecfc0;margin:3px 0;padding:7px 0}
.finance-actions{display:grid;grid-template-columns:1.2fr 0.8fr 1fr;gap:5px}
.finance-actions button{border:1px solid #238d70;border-radius:9px;background:transparent;color:#e1f9ee;display:flex;align-items:center;justify-content:center;gap:4px;padding:9px 3px;font-size:11px;white-space:nowrap}
.finance-actions button:hover{background:#0e634f}
.finance-list-status.yellow-text{color:#ffd767}
/* Formulários densos, legíveis, sem sobreposição no Safari */
.modal-box{width:min(100%,700px);min-width:0;max-height:min(92dvh,900px);padding:15px 14px calc(14px + env(safe-area-inset-bottom));border-radius:20px 20px 0 0}
.modal-heading{margin-bottom:10px}.modal-heading h2{font-size:19px}
.modal-box .form-grid{gap:9px}.modal-box .field{gap:4px;min-width:0}
.modal-box .field input,.modal-box .field select,.modal-box .field textarea{min-width:0;min-height:38px;max-width:100%;width:100%;padding:8px 9px;font-size:13px;box-sizing:border-box}
.modal-box input[type="date"],.modal-box input[type="time"]{display:block;width:100%;min-width:0;max-width:100%;-webkit-min-logical-width:0;appearance:auto}
.modal-box input::-webkit-date-and-time-value{min-width:0;text-align:center}
.modal-box .form-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;min-width:0}
.modal-box .form-row>*{min-width:0;max-width:100%;overflow:hidden}
.type-grid{gap:5px}.type-choice{padding:5px 2px;gap:4px;border-radius:9px}
.type-choice .activity-icon{width:28px;height:28px;border-radius:7px}
.type-choice small{font-size:9px}.type-selector legend{margin-bottom:5px}
.modal-box .financial-fields{padding:9px;gap:8px}
.time-extras{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:11px;color:#d0ebdf}
.time-extras select{max-width:112px;min-height:34px;border:1px solid #22836a;color:white;background:#073b32;border-radius:8px;padding:5px}
.compact-checkbox{display:flex;align-items:center;gap:7px;color:#bcded0;font-size:11px;min-height:24px}
.compact-checkbox input{accent-color:var(--mint);width:16px;height:16px}
.optional-fields{border-top:1px solid #165b4c;padding-top:7px}
.optional-fields summary{display:flex;justify-content:space-between;align-items:center;list-style:none;cursor:pointer;color:#bce0d2;font-size:11px;padding:4px 0}
.optional-fields summary::-webkit-details-marker{display:none}
.optional-fields[open]{display:flex;flex-direction:column;gap:8px}
.modal-box .error-text{font-size:11px}
.modal-box .primary.full{min-height:41px;padding:10px;font-size:13px}
/* viewport phone and tablet: never lock the app at 470px on iPad */
@media(min-width:601px){
 .shell{padding:15px 20px;align-items:center}
 .app-surface{max-width:1180px;width:100%;min-height:600px;height:calc(100dvh - 30px);border-radius:26px}
 .header{padding:20px 28px 12px}
 .main-content{padding:8px 25px 25px}
 .modal-overlay{position:absolute;align-items:center;padding:15px}
 .modal-box{border-radius:20px;max-height:85dvh;box-shadow:0 15px 70px rgba(0,0,0,.65)}
 .type-grid{grid-template-columns:repeat(7,minmax(0,1fr))}
 .finance-ledger{max-width:970px;margin:0 auto}
 .finance-list-row{padding:11px 5px}
 .finance-list-status{font-size:14px}
 .agenda .greet-card{max-width:970px;margin-inline:auto}
 .agenda-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.8fr);gap:16px;align-items:start}
 .agenda-layout .calendar-card{grid-column:1;grid-row:1 / span 3}
 .agenda-layout .filter-bar{grid-column:2;grid-row:1}
 .agenda-layout .day-list{grid-column:2;grid-row:2}
 .agenda-layout > .primary{grid-column:2;grid-row:3}
 .inicio .stats-section,.inicio .upcoming,.inicio .finance-summary,.inicio .assistant-mini{max-width:none}
}
@media(min-width:930px){.inicio{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-content:start}.inicio>*{margin:0}.inicio>.greet-card{grid-column:1 / -1}.inicio>.stats-section{grid-column:1}.inicio>.upcoming{grid-column:2;grid-row:2 / span 2}.inicio>.finance-summary{grid-column:1}.inicio>.assistant-mini{grid-column:1 / -1}}
@media(max-width:600px){
 .modal-box{max-height:calc(100dvh - 35px)}
 .modal-box .form-row{gap:6px}
 .modal-box .form-row input[type="date"]{font-size:12px;padding-left:5px;padding-right:4px}
 .modal-box .form-row input[type="time"]{font-size:13px}
 .finance-list-filters button{padding:5px 6px;font-size:9px}
}
@media(max-width:355px){.finance-list-top{align-items:flex-start;flex-direction:column}.finance-actions button{font-size:10px}.modal-box .form-row{grid-template-columns:1fr}}
/* Select de previsão ocupa toda a linha enquanto a data personalizada está recolhida. */
.financial-fields .form-row:has(#customPaymentField.hidden){grid-template-columns:minmax(0,1fr)}

/* v0.2.0 — autenticação individual / sincronização, sem alterar os componentes aprovados */
.auth-shell{align-items:center;justify-content:center;min-height:100dvh;padding:20px;overflow:auto}
.auth-card{width:min(100%,410px);padding:28px 21px 22px;border-radius:25px;border:1px solid #2b856b;
  background:linear-gradient(150deg,#0d5648,#073e35 50%,#052a25);box-shadow:0 18px 70px #001e1b80;
  display:flex;flex-direction:column;align-items:center;gap:13px;color:white}
.auth-icon{width:80px;height:80px;object-fit:contain;border-radius:18px;box-shadow:0 8px 22px #011f1d60}
.auth-card h1{font-size:25px;letter-spacing:-.5px;margin:0;color:white}
.auth-card h1 span{color:#6ee5b8}
.auth-subtitle{font-size:14px;color:#d1eade;text-align:center;margin:0 0 5px}
.auth-form{width:100%;display:flex;flex-direction:column;gap:14px}
.auth-form .field{display:flex;flex-direction:column;color:#d6f1e6;font-size:12px;gap:6px}
.auth-form .field input{display:block;width:100%;min-height:44px;padding:11px 12px;border-radius:12px;
  border:1px solid #377d68;background:#06372e;color:#fff;font-size:14px;box-sizing:border-box}
.auth-form .field input:focus{outline:2px solid #54d9a5}
.auth-form .primary{min-height:46px}
.auth-links{display:flex;justify-content:center;gap:14px;flex-wrap:wrap}
.auth-links button{background:none;border:none;color:#78e8c0;font-size:12px;text-decoration:underline;padding:6px;cursor:pointer}
.auth-card>small{font-size:10px;color:#abcabb;text-align:center}
.auth-notice{font-size:12px;line-height:1.5;background:#654c293d;color:#fce3b3;border:1px solid #96703e;padding:12px;border-radius:12px}
.auth-error,.auth-message{padding:11px;border-radius:10px;font-size:12px;line-height:1.4;width:100%;box-sizing:border-box}
.auth-error{color:#ffc0c4;background:#65303680;border:1px solid #a05360}
.auth-message{color:#a4efcb;background:#064e36;border:1px solid #2f986c}
.auth-loading{width:30px;height:30px;border-radius:50%;border:3px solid #4c8a72;border-top-color:#a4ffce;animation:authspin .8s linear infinite}
@keyframes authspin{to{transform:rotate(360deg)}}
.cloud-status{font-size:10px;color:#a7e5c9;display:inline-flex;align-items:center;gap:4px;white-space:nowrap}
.import-panel{padding:13px;border:1px solid #449e7d;border-radius:13px;background:linear-gradient(120deg,#154d40,#164436);color:#e5f7ee;margin:0 0 11px}
.import-title{display:flex;align-items:center;gap:7px;font-size:13px;font-weight:700}
.import-panel p{font-size:11.5px;line-height:1.5;margin:8px 0 11px;color:#c1e2d4}
.import-actions{display:flex;flex-wrap:wrap;gap:8px}.import-actions button{font-size:11px;padding:9px;border-radius:10px}
.cloud-warning{display:flex;align-items:center;flex-wrap:wrap;gap:6px;color:#ffd3a9;border:1px solid #9f6944;
  background:#70452d55;border-radius:9px;padding:8px;margin-bottom:9px;font-size:12px}
.cloud-warning button{border:1px solid #bc8560;background:none;border-radius:7px;color:white;padding:4px 7px;font-size:11px}
@media(max-width:390px){.cloud-status{font-size:9px}.import-actions button{flex:1}}

/* v0.2.1 — melhorias locais sem substituir a identidade aprovada */
.password-wrap{position:relative;display:block;width:100%}
.auth-form .field .password-wrap input{padding-right:52px}
.password-eye{position:absolute;right:5px;top:50%;transform:translateY(-50%);width:39px;height:37px;border-radius:9px;border:1px solid rgba(25,133,101,.55);display:grid;place-items:center;background:#064238;color:#70e6ba;cursor:pointer}
.password-eye:active{background:#095c4d}
.template-open{grid-column:1/-1;display:flex;align-items:center;justify-content:center;gap:8px;padding:10px 13px;background:rgba(7,81,66,.75);border:1px solid #218c70;border-radius:11px;color:#dbfff0;font-size:12px;font-weight:680;min-height:39px}
.template-open .icon:last-child{margin-left:auto;color:#9ed8c7}
.template-save{font-size:11px!important;gap:9px;color:#cbefe1!important}
.template-tools{margin:2px 0 10px}.template-tools input{width:100%;height:40px;border:1px solid #28876e;border-radius:12px;background:#073a33;padding:9px 12px;color:white;font-size:13px}
.template-list{max-height:min(49dvh,440px);overflow-y:auto;display:flex;flex-direction:column;gap:4px;scrollbar-width:thin}
.template-entry{border:1px solid #1b705c;border-radius:11px;display:flex;align-items:center;gap:3px;min-width:0;background:#073e34}
.template-apply{display:flex;align-items:center;gap:10px;text-align:left;min-width:0;flex:1;border:0;background:transparent;color:white;padding:9px}
.template-apply .activity-icon{width:32px;height:32px}
.template-details{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}
.template-details strong{font-size:12px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}
.template-details small{font-size:10px;color:#b1d8c8;line-height:1.2}
.template-delete{background:transparent;border:0;border-left:1px solid #276951;color:#f1a4af;padding:11px;align-self:stretch}
.template-blank{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:12px;min-height:40px}
.finance-forecast-hint{color:#b6dccc;font-size:10px;display:flex;align-items:center;gap:6px;margin:4px 0 3px;line-height:1.25}
.finance-group{border-bottom:1px solid #195d4e;min-width:0}
.finance-group>summary{display:flex;align-items:center;gap:8px;padding:9px 2px;cursor:pointer;list-style:none;min-width:0}
.finance-group>summary::-webkit-details-marker{display:none}
.finance-group>summary>.icon{color:#9ec9b8}
.finance-group[open]>summary>.icon{transform:rotate(180deg)}
.finance-group-detail{margin:0 0 6px 31px;border-left:1px solid #26705c;padding-left:9px;display:flex;flex-direction:column;gap:0}
.finance-group-child{min-height:33px;display:flex;align-items:center;justify-content:space-between;gap:10px;color:#b5d8c9;border-bottom:1px dashed #275d4f;font-size:10px;padding:3px 0}
.finance-group-child:last-child{border-bottom:0}
.finance-group-child button{background:transparent;border:0;color:#e2f9ec;font-weight:600;font-size:10px;white-space:nowrap;display:flex;align-items:center;gap:3px}
.finance-group-child span{overflow:hidden;text-overflow:ellipsis}
@media(max-width:420px){.finance-group>summary{gap:5px}.finance-group .finance-list-status{font-size:11px}.finance-group-child{font-size:9px}}

/* v0.2.2 — recuperação individual com instruções discretas */
.auth-help{margin:-4px 0 0;color:#bddfd3;font-size:12px;line-height:1.5;text-align:left}

/* EvoluiQ Agenda v0.2.3 — Consulta rápida, recebimentos em lote e resumo semanal. */
.password-eye,.auth-form .password-eye{border:0!important;background:transparent!important;box-shadow:none!important;border-radius:0!important;width:36px!important;height:36px!important;display:grid;place-items:center;color:var(--mint)!important;right:8px!important}
.password-eye:hover{background:transparent!important;color:#a4ffdf!important}
.password-eye:focus-visible{outline:2px solid var(--mint);outline-offset:0;border-radius:5px!important}
.week-activities{max-height:calc(100dvh - 330px);min-height:100px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#16755f transparent;padding-right:2px}
.week-day-group{padding:3px 0 9px}
.week-day-heading{display:flex;align-items:center;gap:8px;color:#d8faeb;text-transform:capitalize;font-size:11px;font-weight:750;border-bottom:1px solid #1d594f;margin:2px 0 6px;padding-bottom:6px}
.week-day-heading span{color:var(--mint);font-size:9px;font-weight:500}
.week-day-group .activity-row{min-height:57px;padding:6px}
.day-list .day-title h3{font-size:15px}
.finance-group-detail{gap:4px;padding-top:5px}
.finance-group-child{min-height:40px;gap:6px}
.finance-group-child>span:first-child{flex:1;min-width:0}
.finance-detail-amount{color:#cceadd;font-weight:650;white-space:nowrap;font-size:10px}
.finance-group-child .receipt-mini,.finance-group-child .finance-edit-mini{flex:none;border:1px solid #246f58;border-radius:7px;padding:6px 7px;background:#073c32;color:#8debc8;white-space:nowrap;min-height:30px;font-size:10px}
.finance-group-child .receipt-mini.done{color:#054435;background:#67eabd;border-color:#67eabd}
.finance-group-child .finance-edit-mini{display:grid;place-items:center;width:28px;min-width:28px;padding:4px;border-color:#25564b;background:transparent;color:#b3dace}
.group-bulk-button,.bulk-start{display:flex;align-items:center;justify-content:center;gap:7px;border:1px solid #299b7a;border-radius:9px;background:#0b5b48;color:#d9fff0;padding:9px 11px;font-size:11px;font-weight:650;margin-top:8px;width:100%}
.bulk-start{margin:7px 0 5px;background:#075243}
.bulk-start span{font-size:10px;font-weight:450;color:#b6e5d5;margin-left:auto}
.quick-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:9px 0}
.quick-details>div{background:#07372f;border:1px solid #175d4e;padding:11px;border-radius:11px;display:flex;flex-direction:column;gap:5px;min-width:0}
.quick-details>div.wide{grid-column:1 / -1}
.quick-details small,.quick-finance-value small{font-size:10px;color:#b7d5ca}
.quick-details strong,.quick-finance-value strong{font-size:13px;color:white;line-height:1.4;overflow-wrap:anywhere}
.quick-finance{border:1px solid #277a64;background:rgba(9,76,61,.25);border-radius:11px;padding:10px;display:flex;flex-direction:column;gap:9px;margin:9px 0}
.quick-finance-value{display:flex;justify-content:space-between;align-items:center;gap:9px}
.quick-finance-value strong{color:#c9f9e8;text-align:right}
.quick-toggle{display:flex;justify-content:space-between;align-items:center;gap:10px;border-top:1px solid #1d5b4e;padding:10px 0 0;color:#e5f6ed;font-size:12px}
.receipt-mini{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:34px;border-radius:9px;background:#0a473a;border:1px solid #2b9575;color:#d5f6e8;padding:8px 10px;font-size:11px;white-space:nowrap}
.receipt-mini.done{background:var(--mint);border-color:var(--mint);color:#032b24;font-weight:730}
.quick-receipt-date{color:#a9d4c4;font-size:10px}
.quick-edit{margin-top:12px;min-height:41px}
.bulk-form{display:flex;flex-direction:column;gap:10px}
.bulk-actions{display:flex;gap:7px}
.bulk-actions .outline{flex:1;font-size:11px}
.bulk-options{max-height:min(46dvh,390px);overflow:auto;border:1px solid #1c6b57;border-radius:11px;background:#052d28}
.bulk-option{display:flex;align-items:center;gap:9px;padding:10px;border-bottom:1px solid #164c42;cursor:pointer}
.bulk-option:last-child{border-bottom:0}
.bulk-option input{width:17px;height:17px;accent-color:var(--mint);flex:none}
.bulk-option span{min-width:0;flex:1;display:flex;flex-direction:column;gap:3px}
.bulk-option strong{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bulk-option small{font-size:10px;color:#b1d5c8}
.bulk-option b{font-size:11px;color:#ffe196;white-space:nowrap}
.bulk-receipt-total{display:flex;justify-content:space-between;align-items:center;background:#0b5141;padding:12px;border-radius:9px;color:#ddfff0}
.bulk-receipt-total strong{color:#8fffce}
.bulk-note{margin:0;font-size:10px;line-height:1.5;color:#beddd2}
.bulk-form .primary:disabled{opacity:.5;cursor:not-allowed}
@media(max-width:600px){.week-activities{max-height:42dvh}.finance-group-child{flex-wrap:wrap;gap:4px}.finance-group-child>span:first-child{flex-basis:100%}.finance-group-child .receipt-mini{margin-left:auto}.finance-detail-amount{margin-right:auto}}
@media(min-width:601px){.week-activities{max-height:52dvh}}

/* v0.2.4: calendário alinhado, navegação horizontal e lotes reversíveis. */
.calendar-inner{touch-action:pan-y;overscroll-behavior-x:contain}
.calendar-grid{width:100%;align-items:stretch;justify-items:stretch}
.weekday,.calday{width:100%;min-width:0;margin:0}
.calday{padding:0;line-height:1.15}
.agenda-layout .day-list .filter-bar{margin:0 0 12px;padding:0;min-height:33px}
.bulk-status-tabs{width:100%;margin-bottom:2px}
.bulk-status-tabs button{font-size:11px;min-height:36px}
.bulk-options{padding:5px;display:flex;flex-direction:column;gap:6px}
.bulk-group{border:1px solid #1c6957;border-radius:10px;background:#05382f;overflow:hidden}
.bulk-group>summary{display:flex;align-items:center;gap:9px;padding:11px;list-style:none;cursor:pointer;min-height:57px}
.bulk-group>summary::-webkit-details-marker{display:none}
.bulk-group>summary .bulk-group-title{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}
.bulk-group-title strong{font-size:12px;color:#f3fff8;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bulk-group-title small{font-size:10px;color:#b3d6c8}
.bulk-group>summary b{color:#ffde86;font-size:11px;white-space:nowrap}
.bulk-group[open]>summary>.icon{transform:rotate(180deg)}
.bulk-group-body{border-top:1px solid #195e4d}
.bulk-group-actions{display:flex;gap:5px;padding:8px}
.bulk-group-actions button{flex:1;min-height:30px;border-radius:7px;border:1px solid #25785f;background:#064d3d;color:#d3f0e3;font-size:10px;display:flex;align-items:center;justify-content:center;gap:5px}
.bulk-option{background:#032d28;min-height:48px;padding:8px 10px}
.bulk-option b.mint{color:#70edbb}
.bulk-option b.yellow-text{color:#ffe196}
.bulk-receipt-total small{font-weight:400;color:#b1d5c8;font-size:10px}
.bulk-confirm-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px}
.bulk-confirm-actions button{min-height:43px;padding:9px 6px;font-size:11px}
.bulk-confirm-actions button:disabled{opacity:.45;cursor:not-allowed}
@media(min-width:601px){
 .agenda-layout .calendar-card{grid-column:1;grid-row:1 / span 2}
 .agenda-layout .day-list{grid-column:2;grid-row:1}
 .agenda-layout > .primary{grid-column:2;grid-row:2}
}
@media(max-width:600px){
 .bulk-group>summary{padding:9px 7px}
 .bulk-group>summary b{font-size:10px}
 .bulk-confirm-actions{grid-template-columns:1fr 1fr}
}

/* EvoluiQ Agenda v0.2.5 — mobile-first, rolagem real e foto privada */
html{ -webkit-text-size-adjust:100%; text-size-adjust:100%; }
html,body,#app{width:100%;max-width:100%;overflow-x:hidden}
.app-surface,.main-content,.agenda-layout,.calendar-card,.day-list{min-width:0}
.main-content{min-height:0;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;touch-action:pan-y}
/* Uma única rolagem natural para os compromissos, sem área aninhada bloqueada no Safari. */
.week-activities{max-height:none!important;overflow:visible!important;min-height:0!important}
.week-day-group{scroll-margin-top:12px}
.modal-overlay{padding:8px;align-items:center;overflow:hidden}
.modal-box{overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y;max-height:calc(100dvh - 16px);min-height:0;min-width:0}
/* O lote tem cabeçalho e ações fixos; a lista é o único elemento rolável. */
.modal-box.modal-box-bulk{width:min(100%,700px);height:min(88dvh,800px);max-height:calc(100dvh - 16px);display:flex;flex-direction:column;overflow:hidden;padding:14px 14px 12px;gap:0}
.modal-box-bulk>.modal-heading{flex:none;margin:0 0 11px}
.bulk-form{flex:1;min-height:0;overflow:hidden;display:flex;flex-direction:column;gap:7px}
.bulk-form-top{display:flex;flex-direction:column;gap:8px;flex:none}
.bulk-options{flex:1 1 auto;min-height:80px;max-height:none!important;overflow-y:auto!important;overflow-x:hidden;touch-action:pan-y;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:#329d7f transparent;contain:layout}
.bulk-form-bottom{flex:none;display:flex;flex-direction:column;gap:7px;background:#06342c;border-top:1px solid #1c705b;padding-top:8px;border-radius:0 0 12px 12px}
.bulk-form-bottom .field{gap:3px}
.bulk-form-bottom .field input{min-height:38px}
.bulk-receipt-total{padding:9px 10px}
.bulk-confirm-actions button{min-height:43px}
.bulk-group{overflow:clip}
.bulk-group[open]{overflow:visible}
.bulk-group-body{min-height:0}
.bulk-option{touch-action:manipulation}
/* Notificações com informações de fato, não caixas de contagem vazia. */
.notice-list{gap:12px;overflow:visible;min-width:0}
.notice-section{border:1px solid #186b58;border-radius:12px;background:rgba(1,38,32,.3);padding:10px}
.notice-section h3{display:flex;align-items:center;justify-content:space-between;color:#eafff5;margin:0 0 7px;font-size:13px}
.notice-section h3 small{font-weight:600;color:var(--mint)}
.notice-entry{width:100%;display:flex;align-items:center;gap:9px;padding:10px 3px;background:transparent;color:#e6fff5;border:0;border-top:1px solid #1b5a4b;text-align:left;min-width:0}
.notice-entry:focus-visible{outline:2px solid var(--mint)}
.notice-entry-icon{color:var(--mint);display:grid;place-items:center;width:28px;height:28px;flex:none;border-radius:8px;background:#115443}
.notice-entry-body{min-width:0;flex:1;display:flex;flex-direction:column;gap:4px}
.notice-entry-body strong{font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.notice-entry-body small{font-size:11px;color:#b4d8c8;line-height:1.3}
.notice-empty{display:flex!important;align-items:center;justify-content:center;flex-direction:column;gap:9px;text-align:center;border:1px solid #206956;border-radius:12px;padding:22px;color:#e1fff2}
.notice-empty span{color:#b7d6c8;font-size:12px}
.notice-footnote{font-size:10px;line-height:1.45;color:#b3d0c4;margin:12px 0 0}
/* Foto de perfil compacta; nenhuma alteração no ícone oficial do aplicativo. */
.profile-avatar-btn{overflow:hidden;isolation:isolate}
.profile-avatar-btn [data-avatar-slot]{display:grid;place-items:center;width:100%;height:100%;border-radius:50%;overflow:hidden}
.avatar-img{display:block;width:100%;height:100%;object-fit:cover;border-radius:50%}
.avatar-initials{display:grid;place-items:center;width:100%;height:100%;border-radius:50%;background:#125c49;color:#e7fff2;font-size:13px;font-weight:800;letter-spacing:.3px}
.avatar-profile{display:flex;gap:14px;align-items:center;border:1px solid #1e7762;background:#073f35;padding:12px;border-radius:14px;min-width:0}
.avatar-profile-preview{width:84px;height:84px;flex:none;border:2px solid #40c89b;box-shadow:0 0 0 3px #093e36;border-radius:50%;overflow:hidden;display:grid;place-items:center}
.avatar-profile-preview .avatar-initials{font-size:23px}
.avatar-profile-controls{display:flex;flex-direction:column;gap:7px;min-width:0;flex:1}
.avatar-profile-controls strong{font-size:13px}
.avatar-profile-controls small{color:#b6daca;line-height:1.4;font-size:10px}
.avatar-pick{display:inline-flex;align-items:center;gap:7px;justify-content:center;position:relative;cursor:pointer;min-height:36px;width:max-content;max-width:100%;padding:8px 12px;border:1px solid #38aa8c;border-radius:9px;background:#0b5b49;color:#eafff4;font-size:12px;font-weight:650;overflow:hidden}
.avatar-pick input{position:absolute;inset:0;opacity:0;width:100%;height:100%;cursor:pointer}
.avatar-remove{background:transparent;border:0;color:#ffb6c0;text-align:left;font-size:11px;width:max-content;max-width:100%;padding:4px 0}
/* Formulários sem zoom de foco no Safari iOS: 16px é o limite mínimo do navegador. */
@media(max-width:900px){
 .auth-form .field input,
 .modal-box .field input,.modal-box .field select,.modal-box .field textarea,
 .modal-box input[type=date],.modal-box input[type=time],
 .template-tools input,.chat-form input,.time-extras select,
 .filter-bar select,.finance-page select{font-size:16px!important}
 .modal-box select,.modal-box input,.modal-box textarea{max-width:100%;min-width:0}
}
@media(max-width:600px){
 .shell{overflow:hidden}
 .app-surface{height:100dvh;width:100%;min-height:0;border-radius:0}
 .header{padding:calc(12px + env(safe-area-inset-top)) 13px 10px;gap:6px}
 .wordmark{font-size:29px}
 .brand-agenda{font-size:19px}
 .subtitle{font-size:10px}
 .header-actions{gap:5px;align-items:center}
 .round-action{width:38px;height:38px;flex:none}
 .cloud-status{font-size:0;gap:0}
 .cloud-status .icon{width:16px;height:16px}
 .main-content{padding:2px 9px 18px;overflow-y:auto!important;-webkit-overflow-scrolling:touch}
 .main-content>*{margin-bottom:10px}
 .card{padding:11px;border-radius:14px}
 .section-title{gap:7px;font-size:13px}
 .calendar-inner{padding:7px 4px 9px}
 .calday{height:40px}
 .agenda-layout{display:flex;flex-direction:column;gap:9px;min-width:0}
 .agenda-layout .calendar-card,.agenda-layout .day-list,.agenda-layout>.primary{width:100%;min-width:0}
 .agenda-layout .day-list{order:2}
 .agenda-layout>.primary{order:3}
 .agenda-layout .calendar-card{order:1}
 .week-activities{max-height:none!important;overflow:visible!important}
 .modal-overlay{position:absolute;inset:0;align-items:stretch;justify-content:center;padding:6px 5px calc(6px + env(safe-area-inset-bottom));}
 .modal-box{border-radius:15px;align-self:center;width:100%;max-width:100%;max-height:100%;padding:12px 12px calc(13px + env(safe-area-inset-bottom));overflow-y:auto;min-height:0;-webkit-overflow-scrolling:touch}
 .modal-box.modal-box-bulk{align-self:stretch;height:100%;max-height:100%;border-radius:15px;padding:12px 10px 10px}
 .modal-box-bulk>.modal-heading{margin-bottom:8px}
 .modal-box-bulk .modal-heading h2{font-size:18px}
 .bulk-form{min-height:0;gap:6px}
 .bulk-form-top{gap:6px}
 .bulk-form-top .field{gap:3px}
 .bulk-options{min-height:95px;padding:4px;overflow-y:auto!important}
 .bulk-form-bottom{padding-top:6px;gap:5px}
 .bulk-receipt-total{padding:7px 8px;font-size:12px}
 .bulk-note{font-size:9px;line-height:1.25}
 .bulk-confirm-actions button{font-size:12px;min-height:44px}
 .bulk-actions .outline{min-height:38px}
 .bulk-group>summary{min-height:54px}
 .bulk-option{min-height:56px}
 .avatar-profile{gap:10px;padding:9px}
 .avatar-profile-preview{height:64px;width:64px}
 .avatar-profile-preview .avatar-initials{font-size:18px}
 .bottom-nav{padding:6px 6px calc(5px + env(safe-area-inset-bottom));gap:2px}
 .nav-item{min-height:53px;padding:7px 0 6px;gap:4px;font-size:11px}
 .nav-item .icon{width:22px;height:22px}
 .toast{bottom:calc(78px + env(safe-area-inset-bottom))}
}
@media(max-width:360px){
 .header{padding-left:9px;padding-right:9px}
 .wordmark{font-size:26px}
 .brand-agenda{font-size:18px}
 .bulk-confirm-actions button{font-size:11px}
 .bulk-status-tabs button{padding:8px 3px;font-size:10px}
 .avatar-profile-preview{width:56px;height:56px}
 .avatar-profile-controls small{font-size:9px}
}

/* EvoluiQ Agenda v0.2.7: avatar com proporção rígida, sem ovalamento. */
.header-actions{flex-shrink:0;align-items:center}
.profile-avatar-btn{width:48px!important;height:48px!important;min-width:48px;min-height:48px;flex:0 0 48px;aspect-ratio:1/1;border-radius:50%!important;overflow:hidden;padding:0!important;display:grid;place-items:center}
.profile-avatar-btn [data-avatar-slot]{display:block;width:100%;height:100%;aspect-ratio:1/1;min-width:0;min-height:0;overflow:hidden;border-radius:50%;}
.profile-avatar-btn .avatar-img,.avatar-profile-preview .avatar-img{width:100%!important;height:100%!important;display:block;object-fit:cover!important;object-position:center!important;aspect-ratio:1/1;border-radius:50%!important}
.avatar-profile-preview{width:92px;height:92px;min-width:92px;min-height:92px;flex:0 0 92px;aspect-ratio:1/1;border-radius:50%!important;padding:0}
.avatar-profile-preview>*{width:100%;height:100%;border-radius:50%!important}
.finance-summary-actions{display:inline-flex;align-items:center;gap:9px;flex-shrink:0}
.home-privacy-eye{color:var(--mint);border:0;background:transparent;display:grid;place-items:center;width:32px;height:32px;padding:5px;border-radius:50%;touch-action:manipulation}
.home-privacy-eye:hover,.home-privacy-eye:focus-visible{background:rgba(81,233,186,.12)}
/* Editor compacto de recorte. O quadrado vira avatar circular sem deformação. */
.avatar-crop-editor{display:flex;flex-direction:column;align-items:center;gap:11px;padding:11px;border:1px solid #2c967b;border-radius:13px;background:linear-gradient(160deg,#063d34,#032b25);min-width:0}
.avatar-crop-heading{width:100%;display:flex;flex-direction:column;gap:3px}
.avatar-crop-heading strong{font-size:14px;color:#f1fff8}
.avatar-crop-heading small,.avatar-crop-tip{font-size:11px;line-height:1.45;color:#b8d9cc;margin:0}
.avatar-crop-frame{position:relative;width:min(100%,260px);aspect-ratio:1/1;overflow:hidden;border-radius:13px;border:1px solid #298f75;background:#062e28;touch-action:none;box-shadow:0 3px 15px #0015}
.avatar-crop-frame canvas{display:block;width:100%;height:100%;touch-action:none;cursor:grab;user-select:none;-webkit-user-select:none}
.avatar-crop-frame canvas:active{cursor:grabbing}
.avatar-crop-frame:after{content:"";position:absolute;inset:0;border-radius:50%;box-shadow:0 0 0 45px rgba(2,21,19,.45);border:2px solid #79f4c9;pointer-events:none;z-index:1}
.avatar-crop-zoom{display:flex;align-items:center;gap:12px;width:min(100%,310px);color:#e0fff0;font-size:12px}
.avatar-crop-zoom input{width:100%;accent-color:#60ebbc;flex:1;min-height:35px;touch-action:pan-x}
.avatar-crop-zoom output{min-width:38px;text-align:right;font-variant-numeric:tabular-nums}
@media(max-width:600px){
 .profile-avatar-btn{width:46px!important;height:46px!important;min-width:46px;min-height:46px;flex:0 0 46px}
 .avatar-profile-preview{width:84px;height:84px;min-width:84px;min-height:84px;flex-basis:84px}
 .finance-summary-actions{gap:4px}
 .home-privacy-eye{width:36px;height:36px}
 .avatar-crop-frame{width:min(100%,230px)}
}
@media(max-width:360px){
 .profile-avatar-btn{width:43px!important;height:43px!important;min-width:43px;min-height:43px;flex:0 0 43px}
 .avatar-profile-preview{width:74px;height:74px;min-width:74px;min-height:74px;flex-basis:74px}
 .avatar-crop-frame{width:min(100%,205px)}
}

/* v0.2.8 — ajustes de legibilidade e áreas seguras no iPhone */
.calendar-grid .calday b{font-size:clamp(17px,4.8vw,21px);font-weight:650;font-variant-numeric:tabular-nums}
.calendar-grid .calday{min-height:44px}
@media(max-width:600px){
 .modal-overlay{padding-top:calc(12px + env(safe-area-inset-top, 0px));padding-right:7px;padding-left:7px;padding-bottom:calc(10px + env(safe-area-inset-bottom, 0px));}
 .modal-box,.modal-box.modal-box-bulk{max-height:100%;min-height:0;height:auto;align-self:center;overflow-y:auto;}
 .modal-box.modal-box-bulk{height:100%;}
 .modal-heading{position:static;z-index:auto;background:transparent;padding:6px 51px 9px 0;}
 /* O título rola normalmente; SOMENTE o X permanece acessível no iPhone. */
 .modal-heading .round-action{position:static;right:17px;z-index:30;min-width:44px;min-height:44px;flex-shrink:0;touch-action:manipulation;border-radius:50%;background:#064337;box-shadow:0 2px 8px rgba(0,0,0,.24);}
 .modal-box-long .modal-heading .round-action{position:fixed;top:calc(18px + env(safe-area-inset-top,0px));right:17px;}
 .modal-box-bulk>.modal-heading{position:static;}
}

/* v0.2.11: gerência de contas — integrada ao perfil e com ações autorizadas no backend. */
.admin-manage-button{display:flex;align-items:center;justify-content:center;gap:8px;border-color:#35c89b!important;color:#bdfce2!important}
.admin-manage-button span{font-size:10px;opacity:.8;font-weight:400;margin-left:auto}
.admin-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:10px 0 14px}
.admin-summary>div{display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:13px;padding:12px;background:#06493c;border:1px solid #197b65;gap:2px}
.admin-summary strong{font-size:24px;color:#68edbd}.admin-summary span{font-size:11px;color:#b3d3c6}
.admin-invite-form{display:flex;flex-direction:column;gap:9px;margin:0 0 16px}
.admin-invite-form .field{display:flex;flex-direction:column;gap:5px;color:#c6f2dc;font-size:12px}
.admin-invite-form input{border:1px solid #258873;background:#063529;border-radius:11px;padding:11px 12px;color:#fff;width:100%;font-size:15px;box-sizing:border-box}
.admin-invite-form input:focus{outline:2px solid #67e7bd}
.admin-invite-form .primary{min-height:42px}.admin-list-heading{display:flex;justify-content:space-between;align-items:center;gap:8px;margin:0 0 10px;font-size:13px}
.admin-list-heading button{display:flex;align-items:center;gap:5px;border:1px solid #277e6b;background:#074738;border-radius:10px;color:#d1ebdc;padding:6px 9px;font-size:11px}
.admin-user-list{display:flex;flex-direction:column;gap:8px;max-height:34dvh;overflow-y:auto;overscroll-behavior:contain}
.admin-user-item{display:flex;align-items:center;min-width:0;gap:9px;padding:10px;border-radius:11px;border:1px solid #176b5b;background:#063a31}
.admin-user-avatar{display:grid;place-items:center;flex:none;background:#085d49;border-radius:50%;height:32px;width:32px;color:#68edbd}
.admin-user-info{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1;overflow-wrap:anywhere}
.admin-user-info strong{font-size:12px;color:#f3fff9;font-weight:600}.admin-user-info small{font-size:10px;color:#b1d5c7}
.admin-status{display:inline-flex;border-radius:999px;padding:5px 7px;flex-shrink:0;color:#b9ecd8;background:#176d55;font-size:10px}
.admin-status-pending{color:#ffe7aa;background:#665324}.admin-status-owner{color:#173d32;background:#62ebbb}
.admin-feedback{color:#9ef3cf;font-size:11px;margin:6px 0}.admin-error{color:#ffb8ba}
.admin-privacy{font-size:11px;line-height:1.55;color:#b5d5c7;display:flex;gap:7px;align-items:flex-start;margin:14px 0}
.admin-back{margin-top:5px}.invite-login-note{font-size:11px;color:#adcebf}
@media(max-width:380px){.admin-user-item{padding:8px;gap:6px}.admin-user-info strong{font-size:11px}.admin-status{font-size:9px;padding:4px 5px}}

/* v0.2.14 — permissões administrativas reversíveis e seguras */
.admin-user-item-manage{flex-wrap:wrap;align-items:center}
.admin-user-controls{flex-basis:100%;display:flex;justify-content:flex-end;padding-left:38px}
.admin-user-control{min-height:34px;padding:7px 11px;border:1px solid #377b6a;border-radius:9px;background:#104f41;color:#e3ffef;font-size:11px;display:inline-flex;align-items:center;gap:6px}
.admin-user-danger{border-color:#925d55;background:#4b292b;color:#ffe1dc}
.admin-user-restore{background:#0c5141;color:#91f1cb;border-color:#25886d}
.admin-status-revoked{background:#573c3c;color:#ffccc6}
.admin-user-confirm{flex-basis:100%;display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:8px;padding:10px 0 1px 38px}
.admin-user-confirm p{flex-basis:100%;margin:0;color:#f1dfc7;font-size:11px;line-height:1.4}
.admin-user-confirm button{min-height:36px;border-radius:9px;border:1px solid #2c7a67;color:#f3fff8;background:#104f41;padding:7px 12px;font-size:12px}
.admin-user-confirm .admin-confirm-yes{background:#7e3338;border-color:#ab5d60;color:white}
.admin-user-confirm:has(.admin-user-restore) .admin-confirm-yes{background:#13735a}
@media(max-width:380px){.admin-user-controls,.admin-user-confirm{padding-left:0}}

/* Entrega de e-mail e auditoria da configuração administrativa */
.admin-email-provider{display:flex;align-items:flex-start;gap:6px;font-size:11px;line-height:1.4;padding:9px 11px;border-radius:10px;margin:4px 0 11px}
.admin-email-provider.ready{border:1px solid #258d73;background:#073e31;color:#b3f8d9}
.admin-email-provider.pending{border:1px solid #856434;background:#47391c;color:#fff0bf}

/* v0.2.15 — ações de conta explícitas e utilizáveis no iPhone */
.admin-user-item-manage{display:flex;flex-direction:column;align-items:stretch;gap:9px}
.admin-user-main{display:flex;align-items:center;min-width:0;gap:9px;width:100%}
.admin-user-main .admin-status{max-width:112px;white-space:normal;text-align:center;justify-content:center}
.admin-user-toggle{width:100%;min-height:40px;border:1px solid #309779;border-radius:10px;display:flex;align-items:center;justify-content:center;gap:8px;background:#0b5444;color:#d4ffed;font-size:12px;font-weight:650}
.admin-user-toggle[aria-expanded="true"]{background:#175d4b;border-color:#65d7aa}
.admin-user-toggle[aria-expanded="true"] .icon:last-child{transform:rotate(180deg)}
.admin-user-action-menu{display:grid;grid-template-columns:1fr 1fr;gap:7px;width:100%}
.admin-user-option{border:1px solid #337d68;border-radius:9px;background:#0f5948;color:#dcfff1;min-height:43px;padding:8px 9px;font-weight:500;font-size:11px;display:flex;align-items:center;justify-content:flex-start;gap:7px;text-align:left}
.admin-user-option .icon{flex:none}
.admin-option-block{border-color:#997343;background:#544229;color:#fff2cf}
.admin-option-delete{border-color:#b75d66;background:#682e35;color:#fff4f2;grid-column:1/-1}
.admin-user-confirm{display:flex;flex-direction:column;align-items:stretch;gap:10px;padding:12px;background:#153b35;border:1px solid #8c7660;border-radius:11px;width:100%;box-sizing:border-box}
.admin-user-confirm p{font-size:12px;line-height:1.6;color:#fff1d7;margin:0}
.admin-user-confirm label{font-size:12px;color:#d0e7dc;display:flex;flex-direction:column;gap:6px}
.admin-user-confirm input{width:100%;box-sizing:border-box;background:#073d32;color:#fff;border:1px solid #69ab93;border-radius:9px;padding:12px 10px;font-size:15px;min-height:43px}
.admin-user-confirm input:focus{outline:2px solid #5fe2b5}
.admin-delete-confirm{border-color:#d16a75;background:#3d2529}
.admin-delete-confirm p{color:#ffe1e1}
.admin-confirm-row{display:flex;gap:9px;justify-content:flex-end}
.admin-confirm-row button{min-height:40px;padding:9px 14px;flex:1}
.admin-confirm-row .admin-permanent-button{background:#a42c3d;border-color:#f18591;color:#fff;font-weight:700}
.admin-status-blocked{background:#713b2e;color:#ffe0d6}
.admin-owner-note{display:flex;gap:6px;color:#a5f2d7;align-items:center;font-size:10px;margin:1px 0 0 39px}
.admin-user-list{max-height:none;overflow:visible;scrollbar-gutter:auto;overscroll-behavior:contain}
@media(max-width:355px){.admin-user-action-menu{grid-template-columns:1fr}.admin-option-delete{grid-column:auto}.admin-user-main .admin-status{max-width:92px}}

/* v0.2.16: confirmação concisa da exclusão no iPhone, sem teclado */
.admin-delete-target{background:#4d3034;border:1px solid #99515b;border-radius:9px;padding:10px 12px;color:#ffeded!important;font-size:12px!important;overflow-wrap:anywhere;word-break:break-word}
.admin-delete-target strong{color:#ffffff;font-weight:700}
.admin-delete-confirm .admin-confirm-row{margin-top:2px}


/* v0.2.17 — Planner Financeiro (componente adicional; Finanças atual intocada). */
.planner-heading-actions{display:flex;align-items:center;gap:7px;margin-left:auto}
.planner-entry-btn,.planner-back{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid #278f77;border-radius:10px;background:#0b4b40;color:#c7f7e4;min-height:37px;padding:0 10px;font-size:12px;font-weight:700;white-space:nowrap}
.planner-entry-btn .icon{color:var(--mint)}
.planner-heading .finance-title{gap:9px;min-width:0}
.planner-heading .finance-title h2{font-size:21px;line-height:1.1}
.planner-back{width:38px;min-width:38px;padding:0}
.planner-tip{display:flex;align-items:flex-start;gap:8px;color:#b2dacc;font-size:11px;line-height:1.5;padding:6px 1px}
.planner-tip .icon{color:var(--mint);flex-shrink:0;margin-top:2px}
.planner-totals{display:flex;flex-direction:column;gap:0;border-top:1px solid #225f51}
.planner-totals>div{display:flex;align-items:center;justify-content:space-between;gap:8px;border-bottom:1px solid #225f51;min-height:41px}
.planner-totals span{display:flex;align-items:center;gap:7px;font-size:12px;color:#d0e8dc}
.planner-totals strong{font-size:13px;white-space:nowrap}
.planner-list-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:6px}
.planner-list-heading h3{margin:0;display:flex;align-items:center;gap:7px;font-size:15px}
.planner-add{display:inline-flex;align-items:center;gap:4px;border:1px solid #3bbc98;border-radius:10px;background:#0f604d;color:#d6ffec;font-size:12px;font-weight:700;padding:8px 9px}
.planner-filters{display:flex;align-items:center;gap:5px;flex-wrap:wrap}
.planner-filters button{border:1px solid #1c755f;background:#063d34;color:#c4e2d5;border-radius:20px;padding:7px 10px;font-size:11px}
.planner-filters button.active{border-color:var(--mint);background:var(--mint);color:#063b2f;font-weight:700}
.planner-list{display:flex;flex-direction:column}
.planner-item{border-bottom:1px solid #225b4e}
.planner-item summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:9px;padding:10px 0;min-width:0}
.planner-item summary::-webkit-details-marker{display:none}
.planner-date{display:flex;flex-direction:column;align-items:center;gap:1px;width:37px;min-width:37px;border:1px solid #286c5b;border-radius:8px;padding:4px 2px}
.planner-date small{color:#a1d3bf;font-size:9px;text-transform:uppercase}
.planner-date strong{color:#ecfff7;font-size:15px}
.planner-item-main{display:flex;flex-direction:column;gap:4px;flex:1;min-width:0}
.planner-item-main strong{color:#f3fff9;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.planner-item-main small{color:#a5c7b9;font-size:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.planner-amount{font-size:11px;font-weight:700;white-space:nowrap;font-variant-numeric:tabular-nums}
.planner-item summary>.icon{flex:none;color:#93bbaa}
.planner-item-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px;flex-wrap:wrap;padding:0 0 10px 45px}
.planner-outline,.planner-transfer{display:inline-flex;align-items:center;justify-content:center;gap:4px;border:1px solid #328b74;border-radius:8px;padding:8px 9px;font-size:10.5px;background:#063e34;color:#d5f9eb}
.planner-transfer{background:#38d8a6;border-color:#53e4b9;color:#064233;font-weight:800}
.planner-transfer:disabled{opacity:.55}
.planner-transferred{display:inline-flex;align-items:center;gap:4px;color:#7de9c3;font-size:11px;margin-right:auto}
.planner-muted{font-size:12px;color:#b7d5c7;padding:16px 0;text-align:center}
.planner-refresh{align-self:center;display:inline-flex;align-items:center;gap:7px;background:transparent;border:0;color:#a3d9c3;font-size:11px;padding:9px}
.planner-form-hint{font-size:11px;line-height:1.5;color:#b4d7c9}
@media(max-width:360px){.finance-title h2{font-size:21px}.planner-entry-btn{padding:0 7px;font-size:11px}.planner-heading .finance-title h2{font-size:18px}.planner-item{min-width:0}.planner-amount{font-size:10px}}

/* v0.2.18 — controle de previsões transferidas e lançamentos removidos, tonalidade oficial. */
.planner-removed{display:inline-flex;align-items:center;gap:4px;color:#e8c785;font-size:11px;margin-right:auto}
.planner-delete{border-color:#866454;color:#f3d7cb}

/* v0.2.19 — Central de Alertas Inteligentes. Verde-petróleo / menta oficiais. */
.alerts-heading{gap:9px;align-items:flex-start}
.alerts-heading>div:first-child{min-width:0;flex:1}
.alerts-header-actions{display:flex;align-items:center;gap:8px;flex:none}
.alerts-round{width:36px;height:36px;display:grid;place-items:center;border:1px solid #2a987a;background:#114e42;color:#c7f7e1;border-radius:10px;cursor:pointer}
.alerts-round:focus-visible,.alerts-filters button:focus-visible,.alerts-item-summary:focus-visible,.alerts-item-actions button:focus-visible{outline:2px solid #5deab9;outline-offset:2px}
.alerts-filters{display:flex;gap:6px;margin:0 0 12px;min-width:0}
.alerts-filters button{flex:1;min-width:0;border:1px solid #287e68;border-radius:999px;padding:9px 5px;background:#0d483d;color:#c6e8d8;font-size:11px;cursor:pointer}
.alerts-filters button.active{background:var(--mint);border-color:var(--mint);color:#044133;font-weight:750}
.alerts-tools{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 9px}
.alerts-tools>span{font-size:11px;color:#b9d8c9}
.alerts-tools button{font-size:11px;color:#adf3d4;background:transparent;border:0;padding:6px 0;display:flex;gap:5px;align-items:center;text-align:right;cursor:pointer}
.alerts-tools button:disabled{opacity:.45;cursor:default}
.alerts-items{display:flex;flex-direction:column;gap:0;min-height:50px;max-height:min(54dvh,450px);overflow:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
.alerts-card{border-top:1px solid #1b6150;min-width:0}
.alerts-card.is-read{opacity:.8}
.alerts-item-summary{display:flex;align-items:flex-start;gap:9px;width:100%;padding:12px 3px;background:transparent;color:#f1fff8;border:0;text-align:left;cursor:pointer;min-width:0}
.alerts-item-icon{flex:none;width:32px;height:32px;display:grid;place-items:center;border:1px solid #216b57;border-radius:9px;background:#0f5344;color:#65e6bb}
.alerts-item-copy{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}
.alerts-item-copy strong{font-size:12px;line-height:1.35;overflow-wrap:anywhere}
.alerts-item-copy small{font-size:10.5px;line-height:1.35;color:#adcfbc}
.alerts-unread-dot{display:inline-block;width:6px;height:6px;background:#66eabc;border-radius:50%;vertical-align:middle;margin-left:4px}
.alerts-item-summary>.icon{flex:none;align-self:center;color:#9fcbb5}
.alerts-item-details{background:#0d4e40;border:1px solid #1e725c;border-radius:10px;padding:10px;margin:0 0 10px 42px}
.alerts-item-details p{font-size:11.5px;line-height:1.55;color:#d8eee1;margin:0 0 10px}
.alerts-item-actions{display:flex;align-items:center;justify-content:space-between;gap:7px;flex-wrap:wrap}
.alerts-item-actions button{display:flex;align-items:center;gap:5px;border:1px solid #2e8068;border-radius:9px;padding:8px 10px;background:#115d4b;color:#d6fbe6;font-size:11px;cursor:pointer}
.alerts-item-actions button:first-child{background:transparent;color:#c0d5ca;border-color:#386757}
.alerts-preferences{display:flex;flex-direction:column;gap:10px;max-height:min(73dvh,610px);overflow-y:auto;padding:1px 2px 3px}
.alerts-preferences h3{font-size:13px;margin:7px 0 2px;color:#e6fff3}
.alerts-check{display:flex;align-items:center;gap:11px;min-height:33px;color:#d9f6e7;font-size:12px;cursor:pointer}
.alerts-check input{accent-color:#5ce6b8;width:17px;height:17px;flex:none}
.alerts-select{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:42px;font-size:12px;color:#d5eade}
.alerts-select select{width:55%;min-height:36px;border-radius:9px;background:#0a3e35;border:1px solid #287965;color:#e8fff5;padding:6px;font-size:12px}
.alerts-preferences .notice-footnote{margin:2px 0 0}
.alerts-preferences .primary.full{margin-top:4px}
@media(max-width:380px){.alerts-filters{gap:4px}.alerts-filters button{padding:8px 3px;font-size:10px}.alerts-item-details{margin-left:0}.alerts-item-actions{justify-content:flex-start}.alerts-tools>span{font-size:10px}}


/* v0.2.20 — Assistente EvoluiQ, busca por palavras-chave, sem alterar demais módulos */
.assistant-keyword-page{min-height:0;gap:13px;padding-bottom:16px}
.assistant-welcome{display:flex;gap:11px;padding:14px 13px;border:1px solid #247e66;border-radius:14px;background:linear-gradient(115deg,#0c5645,#073d34);align-items:flex-start}
.assistant-welcome>svg{flex:none}.assistant-welcome strong{font-size:13px;color:#f4fff9}
.assistant-welcome p{font-size:12px;line-height:1.55;color:#c5e7d8;margin:5px 0 0}
.assistant-search-form{display:flex;flex-direction:column;gap:7px}
.assistant-search-form label{font-size:12px;color:#d0efe0;font-weight:650}
.assistant-search-input{background:#0b4036;border:1px solid #258e70;border-radius:13px;display:flex;align-items:center;gap:8px;padding:0 12px;min-height:48px;color:#8fe8be}
.assistant-search-input:focus-within{border-color:#7ff1c9;box-shadow:0 0 0 2px #23936a33}
.assistant-search-input input{background:none;border:0;outline:0!important;min-width:0;flex:1;width:100%;color:#fff;font-size:14px;padding:12px 0}
.assistant-search-input input::placeholder{color:#9dc9b6}
.assistant-search-input button{color:#d5f4e5;background:transparent;border:0;padding:5px;display:grid;place-items:center}
.assistant-search-input button[hidden]{display:none}
.assistant-categories{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
.assistant-category{background:#105044;border:1px solid #226e5c;border-radius:12px;color:#e6fbf1;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;padding:11px 4px;font-size:11px;min-height:69px}
.assistant-category svg{color:#90eac1}.assistant-category span{white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis}
.assistant-category.active{background:#67e8b9;color:#073b30;border-color:#b4f7d9;font-weight:750}.assistant-category.active svg{color:#0d664c}
.assistant-results{border:1px solid #1d6d58;border-radius:13px;background:#052f29;padding:10px}
.assistant-result-heading{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:3px 4px 10px}
.assistant-result-heading strong{font-size:13px}.assistant-result-heading small{font-size:10px;color:#afd7c4}
.assistant-action-list{display:flex;flex-direction:column;gap:5px}.assistant-action-row{display:flex;align-items:center;text-align:left;gap:10px;width:100%;min-width:0;padding:11px 10px;border-radius:10px;border:1px solid #1f705c;background:#0d463b;color:#f0fff6}
.assistant-action-row:hover,.assistant-action-row:focus-visible{background:#155d4c}.assistant-action-row>span{min-width:0;flex:1;display:flex;flex-direction:column;gap:4px}
.assistant-action-row strong{font-size:12px;overflow-wrap:anywhere}.assistant-action-row small{font-size:10px;color:#a3d6bf}
.assistant-action-row>svg:last-child{color:#a4dfc6}
.assistant-no-results{font-size:12px;color:#b9d9ca;line-height:1.5;margin:7px 4px}
.assistant-keyword-note{font-size:10px;line-height:1.5;color:#a8cdbb;margin:0 3px}
.assistant-records{border:1px solid #2b9674;border-radius:13px;padding:11px;background:#0b483a}
.assistant-records-heading{display:flex;align-items:center;justify-content:space-between;font-size:13px;gap:6px}.assistant-records-heading button{background:transparent;border:0;color:#d7f7e9;padding:5px}
.assistant-records>p{font-size:11px;line-height:1.5;color:#b8e3cf}
.assistant-record-row{width:100%;display:flex;align-items:center;gap:9px;text-align:left;padding:10px 4px;border:0;border-top:1px solid #226f58;background:transparent;color:#f2fff7}
.assistant-record-row span{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.assistant-record-row strong{font-size:12px;overflow-wrap:anywhere}.assistant-record-row small{font-size:10px;color:#aed9c4}
@media(max-width:360px){.assistant-categories{gap:5px}.assistant-category{padding:10px 2px;font-size:10px}.assistant-keyword-page .page-heading h2{font-size:21px}}

.assistant-records>input{width:100%;min-height:42px;color:#f5fff9;background:#07362e;border:1px solid #2b9374;padding:10px 12px;border-radius:10px;font-size:12px;margin-bottom:5px}
.assistant-list-limit{font-size:10px;color:#bcdacb;line-height:1.45;padding:6px 2px}

/* v0.2.21: assistente digitado, compacto e sem categorias clicáveis. */
.assistant-keyword-page{min-width:0;gap:12px}
.assistant-keyword-page .page-heading{margin-bottom:7px}
.assistant-search-form{margin-top:2px}
.assistant-search-input{min-height:52px}
.assistant-search-input input{font-size:16px;line-height:1.35;min-height:51px}
.assistant-results[hidden],.assistant-keyword-note[hidden]{display:none!important}
.assistant-results{padding:9px}
.assistant-action-row{min-height:53px;padding:12px 11px}
.assistant-action-row strong{font-size:14px}
.assistant-action-row small{font-size:11px}
.assistant-keyword-note{font-size:12px;line-height:1.6;color:#c0dfce}
.assistant-records>input{font-size:16px}
/* Safari iOS amplia automaticamente a página se um campo editável usar <16px.
   Ajuste de legibilidade sem proibir zoom manual/pinch de acessibilidade. */
@media (pointer:coarse){
 input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):not([type="range"]),select,textarea{
  font-size:16px!important;
 }
}
html{-webkit-text-size-adjust:100%}

/* EvoluiQ Agenda v0.2.22 — barra inferior ancorada à viewport no iPhone/PWA.
   100dvh pode deixar uma faixa vazia na parte inferior do PWA iOS após
   transições do teclado/viewport; fixed bottom:0 elimina esse deslocamento.
   A margem da rolagem é reservada para não cobrir a última linha. */
@media(max-width:600px){
 .bottom-nav{
  position:fixed;
  inset-inline:0;
  bottom:0;
  width:100%;
  z-index:3;
  padding-bottom:calc(6px + env(safe-area-inset-bottom,0px));
  border-radius:20px 20px 0 0;
  transform:none;
 }
 .main-content{
  padding-bottom:calc(92px + env(safe-area-inset-bottom,0px));
  scroll-padding-bottom:calc(80px + env(safe-area-inset-bottom,0px));
 }
}

/* v0.2.23 — iPhone PWA instalado: não usar 100dvh nem fixed bottom:0.
   Em algumas versões do WebKit standalone, o viewport dinâmico é menor
   que a tela por aproximadamente a altura da barra de status.
   100vh representa a tela inteira e a barra em fluxo fecha o layout.
   Não muda Safari em aba, Android ou os formulários. */
@media (max-width:600px){
 html.iq-ios-standalone,
 html.iq-ios-standalone body,
 html.iq-ios-standalone #app{
  height:100vh;
  min-height:100vh;
  overflow:hidden;
 }
 html.iq-ios-standalone .shell{
  height:100vh;
  min-height:100vh;
  padding:0;
  overflow:hidden;
 }
 html.iq-ios-standalone .app-surface{
  height:100vh;
  min-height:0;
 }
 html.iq-ios-standalone .main-content{
  min-height:0;
  flex:1 1 auto;
  padding-bottom:18px;
  scroll-padding-bottom:18px;
 }
 html.iq-ios-standalone .bottom-nav{
  position:relative;
  inset:auto;
  width:100%;
  margin-top:auto;
  flex:0 0 auto;
  transform:none;
 }
}

/* v0.2.27: datas especiais somente com o número discretamente apagado. */
.calendar-grid .calday.occasion-muted:not(.selected) b{color:#8BA99D;font-weight:590}
.calendar-grid .calday.occasion-muted.selected b{color:#104F3F}
.calendar-occasion-name{margin:7px 2px 0;padding-top:6px;border-top:1px solid rgba(117,211,178,.18);text-align:center;font-size:11px;font-weight:600;color:#CFDDD4;line-height:1.35;overflow-wrap:break-word}
.repeat-trigger{width:100%;display:flex;align-items:center;gap:10px;background:#104A3E;border:1px solid #30866E;border-radius:13px;color:#EEFFF8;text-align:left;padding:12px;min-height:57px}
.repeat-trigger span{display:flex;flex-direction:column;gap:4px;flex:1;min-width:0}.repeat-trigger strong{font-size:13px}.repeat-trigger small{font-size:11px;line-height:1.35;color:#BFE0D0}.repeat-existing{display:flex;align-items:center;gap:8px;padding:10px;border-radius:10px;background:#114E42;color:#BFEDDA;font-size:11px}
.repeat-scrim{position:absolute;inset:0;z-index:30;background:rgba(0,17,15,.72);backdrop-filter:blur(2px)}
.repeat-sheet{position:absolute;z-index:31;left:12px;right:12px;bottom:calc(10px + env(safe-area-inset-bottom));background:#0E4035;border:1px solid #4EA886;border-radius:21px;box-shadow:0 20px 55px #0019;padding:17px;display:flex;flex-direction:column;gap:13px;max-height:calc(87% - env(safe-area-inset-top));overflow-y:auto;color:#EFFFF6}
.repeat-sheet .field{font-size:12px}.repeat-sheet .field select,.repeat-sheet .field input{font-size:16px;min-height:42px}
.repeat-top{display:flex;justify-content:space-between;align-items:center;gap:9px}.repeat-top strong{font-size:16px}.repeat-top button{display:grid;place-items:center;width:33px;height:33px;border:1px solid #31775F;border-radius:50%;color:#EAFBF0;background:#175546}
.repeat-inline{display:grid;grid-template-columns:1fr 1.4fr;gap:9px}.repeat-days-label{font-size:12px;color:#DAF6E6;font-weight:600}
.repeat-weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.repeat-weekdays button{border:1px solid #296D58;border-radius:9px;background:#1B5849;color:#D8F6E7;padding:10px 0;min-width:0;font-size:11px}.repeat-weekdays button.active{background:#87E8BF;color:#063C2E;border-color:#87E8BF;font-weight:700}
.repeat-end-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;background:#174D40;border-radius:11px;padding:4px}.repeat-end-tabs button{border:0;background:transparent;border-radius:8px;color:#D7F1E1;min-height:37px;font-size:12px}.repeat-end-tabs button.active{background:#78DEB2;color:#073A2B;font-weight:700}
.repeat-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px}.repeat-actions button{min-height:43px;padding:10px;font-size:13px}.repeat-help{color:#BDDBCB;font-size:11px;line-height:1.5;margin:0}
@media(min-width:600px){.repeat-sheet{left:50%;right:auto;width:min(420px,calc(100% - 24px));transform:translateX(-50%);bottom:20px}}

/* v0.2.28 — autorização push no painel de preferências existente. */
.push-options{border:1px solid #2a765d;border-radius:12px;padding:12px 11px;background:#10463b;margin-top:5px}
.push-options h3{margin:0 0 6px;font-size:13px;color:#eafff3}
.push-options p{margin:0 0 10px;font-size:12px;line-height:1.5;color:#c1ddcc}
.push-actions{display:flex;gap:8px;flex-wrap:wrap}
.push-actions button{min-height:43px;flex:1;font-size:13px;border-radius:10px;padding:10px 13px;white-space:nowrap}
.push-options .push-error{color:#ffacb3;margin-top:9px;margin-bottom:0}
.push-options .push-success{color:#82efbc;margin-top:9px;margin-bottom:0}

/* v0.2.29: estado offline discreto, preservando barra inferior e layout. */
.cloud-warning.iq-offline-notice{display:flex;align-items:center;gap:11px;background:rgba(12,59,51,.78);border-color:rgba(126,218,174,.45);color:#D8F5E3}
.iq-offline-notice svg{flex-shrink:0;color:#8FEAC4}
.iq-offline-notice span{display:flex;flex-direction:column;gap:3px;min-width:0}
.iq-offline-notice strong{font-weight:650;font-size:13px}
.iq-offline-notice small{font-weight:400;font-size:12px;opacity:.83;line-height:1.35}

/* v0.2.32 — transição do calendário acompanhando o gesto horizontal. */
.calendar-swipe-viewport{width:100%;overflow:hidden;position:relative;touch-action:pan-y;overscroll-behavior-x:contain}
.calendar-swipe-track{display:flex;align-items:stretch;width:300%;transform:translate3d(-33.333333%,0,0);will-change:transform}
.calendar-slide-panel{box-sizing:border-box;flex:0 0 33.333333%;width:33.333333%;min-width:0;overflow:hidden}
.calendar-slide-panel:not(.calendar-slide-current){pointer-events:none}
.calendar-slide-panel .month-heading{width:100%}
.calendar-slide-panel .calendar-grid{width:100%}
@media(prefers-reduced-motion:reduce){.calendar-swipe-track{will-change:auto}}

