:root{
  --bg:#F7F2E8;
  --paper:#FBF8F1;
  --card:#FFFDF8;
  --ink:#25231F;
  --muted:#777166;
  --line:#E8E0D4;
  --olive:#8DA833;
  --olive-dark:#6F8E24;
  --olive-soft:#E8F0C8;
  --yellow:#F5D86F;
  --pink:#EBAFA8;
  --purple:#CFC0E8;
  --mint:#DDE8A7;
  --cream:#ECE1C9;
  --shadow:0 14px 34px rgba(52,43,31,.08), 0 3px 8px rgba(52,43,31,.05);
  --radius:20px;
}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html{color-scheme:only light!important;background:var(--bg)}
html,body{min-height:100%;margin:0}
body{font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;background:var(--bg)!important;color:var(--ink)!important;-webkit-font-smoothing:antialiased}
button,input,textarea{font:inherit;color:inherit}
button{border:0;background:none;cursor:pointer}
input,textarea{outline:none}
.hidden{display:none!important}
.app-shell{width:min(100%,470px);min-height:100dvh;margin:0 auto;background:linear-gradient(180deg,#FAF7EF 0%,#F7F2E8 100%);position:relative;overflow:hidden;box-shadow:0 0 60px rgba(50,40,28,.04)}
.topbar{height:78px;display:flex;align-items:center;justify-content:space-between;padding:20px 24px 12px;position:relative;z-index:20}
.brand{display:flex;align-items:center;gap:10px;padding:0}.brand-dots,.welcome-dots{display:inline-block;background:url("icons/mark-horizontal.svg") center/contain no-repeat;flex:0 0 auto}.brand-dots{width:42px;height:14px}.welcome-dots{width:58px;height:20px;margin-bottom:12px}.brand-dots i,.welcome-dots i{display:none}.brand strong{font-family:"DM Serif Display",Georgia,serif;font-size:1.22rem;font-weight:400;letter-spacing:.01em}.topbar-right{display:flex;align-items:center}.feed-counter{font-size:.94rem;color:#4C4A43}.topbar .more-button{margin-top:0}
.main-stage{height:calc(100dvh - 150px);min-height:560px;position:relative}.app-shell.no-topbar .main-stage{height:calc(100dvh - 72px);padding-top:20px}.view{display:none;height:100%;padding:0 20px 20px}.view.active{display:block}
.bottom-nav{position:absolute;left:0;right:0;bottom:0;height:72px;background:rgba(251,248,241,.97);border-top:1px solid rgba(219,211,197,.8);display:grid;grid-template-columns:repeat(4,1fr);align-items:center;z-index:50;padding:4px 12px max(4px,env(safe-area-inset-bottom));backdrop-filter:blur(12px)}.nav-item{display:grid;place-items:center;gap:3px;color:#56534D;padding:4px 0}.nav-item svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}.nav-item small{font-size:.68rem}.nav-item.active{color:var(--olive-dark)}.nav-item.active svg{stroke-width:2}.nav-item.active small{font-weight:700}
/* Feed */
.feed-view{padding:0 18px}.feed-scroller{height:calc(100% - 48px);overflow-y:auto;scroll-snap-type:y mandatory;scrollbar-width:none;padding:4px 0 10px}.feed-scroller::-webkit-scrollbar{display:none}.feed-slide{scroll-snap-align:start;min-height:100%;display:grid;place-items:center;padding:8px 6px 18px}.feed-card{width:100%;min-height:430px;background:var(--card);border:1px solid rgba(229,220,206,.95);border-radius:24px;box-shadow:var(--shadow);padding:28px 26px 22px;display:flex;flex-direction:column;justify-content:space-between;touch-action:pan-y;transition:transform .16s ease,opacity .16s ease}.feed-card.swiping{transition:none}.feed-card-main{text-align:center;display:grid;justify-items:center;padding-top:8px}.feed-icon{width:82px;height:82px;border-radius:50%;background:radial-gradient(circle at 45% 40%,#F4F6DE,#EAF0CE);display:grid;place-items:center;margin-bottom:28px}.feed-icon svg{width:34px;height:34px;fill:none;stroke:var(--olive-dark);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.feed-title{font-family:"DM Serif Display",Georgia,serif;font-size:clamp(2.15rem,8vw,2.72rem);font-weight:400;line-height:1.04;letter-spacing:-.02em;margin:0 auto 24px;max-width:330px}.feed-priority{font-size:.94rem;color:#56534D;display:flex;align-items:center;gap:6px}.feed-priority b{color:var(--olive);letter-spacing:2px;font-size:1.05rem}.feed-actions{display:grid;grid-template-columns:1fr 1.1fr;gap:14px;margin-top:30px}.feed-actions button{height:54px;border-radius:15px;font-weight:600;font-size:.95rem}.later-button{background:#F3EFE6;border:1px solid #EBE4D8}.done-button{background:linear-gradient(180deg,#B9D15B,#A5C444);border:1px solid #92B035;color:#1C210E}.feed-gesture{text-align:center;color:#868074;font-size:.78rem;height:42px;display:grid;place-items:center;gap:2px}.feed-gesture span{font-size:1.2rem;color:#655F55;line-height:.8}.feed-empty{min-height:430px;background:var(--card);border:1px solid var(--line);border-radius:24px;box-shadow:var(--shadow);display:grid;place-items:center;text-align:center;padding:28px}.feed-empty div{max-width:300px}.feed-empty h2{font-family:"DM Serif Display",Georgia,serif;font-weight:400;font-size:2.1rem;margin:10px 0}.feed-empty p{color:var(--muted);line-height:1.55}.feed-empty button{margin-top:10px;background:var(--olive-soft);color:#4F6719;padding:13px 18px;border-radius:14px;font-weight:700}
/* Livre */
.free-view{padding:0 14px 14px}.free-board{height:100%;position:relative;border-radius:18px;background-color:#FBF8F1;background-image:radial-gradient(circle,rgba(150,137,118,.26) 1px,transparent 1.25px);background-size:20px 20px;background-position:10px 10px;overflow:hidden;border:1px solid rgba(231,223,208,.75)}.free-notes-layer{position:absolute;inset:0}.free-empty{position:absolute;inset:0;display:grid;place-items:center;align-content:center;gap:8px;color:#837B6D;pointer-events:none}.free-empty strong{font-family:"DM Serif Display",Georgia,serif;font-weight:400;font-size:2rem;color:#4A463E}.free-empty span{font-family:Caveat,cursive;font-size:1.2rem}.free-note{position:absolute;width:118px;min-height:112px;padding:18px 12px 12px;box-shadow:0 12px 24px rgba(58,46,34,.13);transform:rotate(var(--rot));border:1px solid rgba(98,77,53,.05);touch-action:none;user-select:none;display:flex;align-items:center;justify-content:center;text-align:center}.free-note p{margin:0;font-family:Caveat,cursive;font-size:1.32rem;line-height:1.05;white-space:pre-wrap;word-break:break-word}.free-note.selected{outline:2px solid var(--olive);outline-offset:3px;z-index:12}.free-note.dragging{z-index:30;box-shadow:0 18px 34px rgba(58,46,34,.2)}.free-note[data-color="yellow"]{background:var(--yellow)}.free-note[data-color="pink"]{background:var(--pink)}.free-note[data-color="purple"]{background:var(--purple)}.free-note[data-color="mint"]{background:var(--mint)}.free-note[data-color="cream"]{background:var(--cream)}.note-context{position:absolute;z-index:40;width:184px;background:#FFFDF9;border:1px solid #E5DCCE;border-radius:12px;box-shadow:0 16px 34px rgba(50,39,27,.16);padding:6px}.note-context button{width:100%;text-align:left;padding:10px 11px;border-radius:8px;font-size:.78rem}.note-context button:hover{background:#F4EFE6}.note-context .danger-text{color:#9A4E4E}.note-editor{position:absolute;z-index:45;width:min(260px,calc(100% - 24px));background:#FFFDF9;border:1px solid #E4DACB;border-radius:16px;box-shadow:0 20px 40px rgba(50,39,27,.16);padding:10px}.note-editor textarea{width:100%;min-height:105px;resize:none;border:0;background:#F7F1E6;border-radius:10px;padding:12px;font-family:Caveat,cursive;font-size:1.35rem}.note-editor-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:8px}.note-editor-actions button{padding:9px 11px;border-radius:9px;background:#F3EEE5;font-size:.78rem}.note-editor-actions button:last-child{background:var(--olive-soft);color:#526A17}
/* Agenda */
.agenda-view{padding:0 20px 16px;overflow-y:auto;scrollbar-width:none}.agenda-view::-webkit-scrollbar{display:none}.agenda-header{display:flex;align-items:flex-start;justify-content:space-between;padding-top:2px}.agenda-header h1,.map-header h1{font-family:"DM Serif Display",Georgia,serif;font-size:2.25rem;font-weight:400;line-height:1;margin:0}.more-button{font-size:1.05rem;letter-spacing:2px;color:#8E7B48;padding:4px 0 8px 12px}.agenda-subtitle{margin:30px 0 14px;font-size:.84rem;font-weight:600}.agenda-list{display:grid;gap:12px}.appointment-card{background:var(--card);border:1px solid var(--line);border-radius:16px;box-shadow:0 6px 20px rgba(50,39,27,.06);display:grid;grid-template-columns:78px 1fr;overflow:hidden;min-height:108px}.appointment-time{display:flex;align-items:flex-start;justify-content:center;padding:20px 8px;border-right:1px solid #EDE5D9;font-size:1.22rem;color:var(--olive-dark);font-weight:600}.appointment-time::after{content:"";width:5px;height:5px;border-radius:50%;background:var(--olive);margin:8px 0 0 8px}.appointment-main{padding:17px 16px;min-width:0}.appointment-main strong{display:block;font-family:"DM Serif Display",Georgia,serif;font-size:1.12rem;font-weight:400;margin-bottom:5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.appointment-main small{display:block;color:#7C766C;font-size:.74rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.reminder-chip{display:inline-flex;align-items:center;gap:6px;background:#EEF2D6;color:#657831;border-radius:7px;padding:6px 9px;margin-top:9px;font-size:.68rem}.reminder-chip::before{content:"♧";font-size:.8rem}.agenda-complete-link{width:100%;margin:14px 0 12px;border:1px solid #E7DED1;border-radius:12px;background:#FAF6EE;padding:13px 16px;display:flex;justify-content:space-between;color:#6D675E;font-size:.8rem}.agenda-empty{padding:34px 18px;text-align:center;border:1px dashed #DDD2C2;border-radius:16px;color:#7D766A}.agenda-empty strong{display:block;font-family:"DM Serif Display",Georgia,serif;font-size:1.4rem;font-weight:400;color:#4D493F;margin-bottom:5px}
/* Mapa */
.map-view{padding:0 18px 18px;overflow-y:auto;scrollbar-width:none}.map-view::-webkit-scrollbar{display:none}.map-header{display:flex;align-items:flex-start;justify-content:space-between;padding-top:2px;margin-bottom:16px}.map-header h1{font-size:2.15rem}.map-header p{margin:7px 0 0;color:#6F695F;font-size:.8rem}.map-header p i{display:inline-block;width:1px;height:12px;background:#D6CCBC;vertical-align:middle;margin:0 8px}.map-header p b{display:inline-grid;place-items:center;width:14px;height:14px;border-radius:50%;background:var(--olive);color:white;font-size:.58rem;margin-left:4px}.map-filters{display:flex;gap:8px;margin-bottom:12px}.map-filters button{min-width:52px;height:36px;border-radius:18px;background:#F1EBE0;border:1px solid #E5DBCC;color:#5E584E;font-weight:600}.map-filters button.active{background:#1E1E1C;border-color:#1E1E1C;color:white}.task-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.grid-task{min-height:116px;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:13px 12px;box-shadow:0 5px 15px rgba(50,39,27,.05);text-align:left;display:flex;flex-direction:column}.grid-task b{color:#6E7F29;letter-spacing:2px;margin-bottom:12px;font-size:.82rem}.grid-task strong{font-size:.92rem;line-height:1.16;font-weight:600;white-space:normal}.grid-task small{margin-top:auto;padding-top:10px;color:#8A8377;font-size:.7rem}.grid-task.done{opacity:.58}.grid-empty{grid-column:1/-1;padding:34px 18px;text-align:center;border:1px dashed #DDD2C2;border-radius:16px;color:#7D766A}
/* menus + dialogs */
.top-menu{position:absolute;z-index:80;right:18px;top:62px;width:190px;background:#FFFDF9;border:1px solid #E5DCCE;border-radius:14px;box-shadow:0 16px 34px rgba(50,39,27,.16);padding:6px}.top-menu button{display:block;width:100%;text-align:left;padding:11px 12px;border-radius:9px;font-size:.8rem}.top-menu button:hover{background:#F4EFE6}.modal,.welcome-modal{border:0;padding:0;background:none}.modal::backdrop,.welcome-modal::backdrop{background:rgba(54,45,35,.22);backdrop-filter:blur(4px)}.sheet{width:min(92vw,430px);background:#FFFDF9;border:1px solid #E4DACB;border-radius:24px;padding:18px;box-shadow:0 30px 60px rgba(50,39,27,.18)}.sheet-head{display:flex;gap:12px;align-items:flex-start;margin-bottom:18px}.sheet-head>button{width:36px;height:36px;border-radius:50%;background:#F2EDE4;font-size:1.25rem}.sheet-head span{display:block;font-family:"DM Serif Display",Georgia,serif;font-size:1.4rem}.sheet-head small{color:#827B70}.field{display:block;margin-top:12px}.field>span{display:block;color:#746E64;font-size:.78rem;margin-bottom:7px}.field em{font-style:normal;color:#AAA195}.field textarea,.field input{width:100%;border:1px solid #E5DCCE;background:#FAF6EF;border-radius:14px;padding:13px 14px;resize:none}.two-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px}.priority-section{margin-top:16px}.priority-caption{display:flex;justify-content:space-between;font-size:.77rem;margin-bottom:8px}.priority-caption small{color:#8C8579}.priority-picker{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.priority-picker button{height:62px;border-radius:13px;background:#F4EFE7;border:1px solid #E8DED0}.priority-picker button.selected{background:#E8F0C8;border-color:#C4D576}.priority-picker b{display:block;color:#677C27;letter-spacing:2px}.priority-picker span{font-size:.7rem;color:#777064}.priority-picker.compact{margin-top:14px}.sheet-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:18px;flex-wrap:wrap}.sheet-actions.spread{justify-content:space-between}.primary-button,.soft-button,.danger-button,.text-button{padding:12px 14px;border-radius:13px;font-weight:600;font-size:.8rem}.primary-button{background:#A9C94E;color:#1E260C}.soft-button{background:#F2EDE4}.danger-button{background:#F5E7E5;color:#95534C}.text-button{color:#657C27;background:#EFF2D9}.reminder-note{font-size:.75rem;line-height:1.45;color:#786F64;background:#F1F3DC;border-radius:12px;padding:10px 12px}.welcome-card{width:min(92vw,390px);background:#FFFDF9;border:1px solid #E4DACB;border-radius:26px;padding:28px;box-shadow:0 30px 60px rgba(50,39,27,.18);text-align:center}.welcome-dots{width:58px;height:20px;margin-bottom:12px}.welcome-card h1{font-family:"DM Serif Display",Georgia,serif;font-size:2.2rem;font-weight:400;margin:0 0 6px}.welcome-card p{color:#756E63;margin:0 0 20px;line-height:1.5}.welcome-card label span{display:block;text-align:left;color:#746E64;font-size:.8rem;margin-bottom:7px}.welcome-card input{width:100%;border:1px solid #E5DCCE;background:#FAF6EF;border-radius:14px;padding:13px 14px}.welcome-card button{width:100%;margin-top:14px;padding:13px 15px;background:#A9C94E;border-radius:14px;font-weight:700}.toast{position:fixed;left:50%;bottom:90px;transform:translateX(-50%) translateY(12px);opacity:0;pointer-events:none;background:#27251F;color:white;padding:11px 15px;border-radius:999px;z-index:120;font-size:.78rem;box-shadow:0 10px 24px rgba(0,0,0,.16);transition:.2s}.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}
@media (min-width:700px){body{padding:24px}.app-shell{min-height:calc(100dvh - 48px);height:calc(100dvh - 48px);border-radius:34px;border:1px solid #E6DDD0}.main-stage{height:calc(100% - 150px)}.app-shell.no-topbar .main-stage{height:calc(100% - 72px);padding-top:20px}.bottom-nav{border-radius:0 0 34px 34px}.feed-card{min-height:450px}}
@media (max-width:370px){.feed-card{min-height:405px;padding:22px 18px}.feed-title{font-size:2rem}.free-note{width:104px;min-height:100px}.task-grid{gap:7px}.nav-item small{font-size:.62rem}}
@media (prefers-color-scheme:dark){html,body,.app-shell{background:var(--bg)!important;color:var(--ink)!important}.card,.sheet,input,textarea,button,dialog{color:var(--ink)!important}}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* CENTRAL 4.0 — VIDA */
:root{--olive:#A9C94E;--olive-dark:#667A2A;--olive-soft:#EAF0C9;--finance-ink:#405C36;--finance-soft:#E7EFDD}
body{color-scheme:only light!important}
.section-header{display:flex;align-items:flex-start;justify-content:space-between;padding-top:2px;margin-bottom:26px}.section-header h1{font-family:"DM Serif Display",Georgia,serif;font-size:2.25rem;font-weight:400;line-height:1;margin:0}.section-header p{margin:7px 0 0;color:#756F65;font-size:.78rem}
.capture-button{position:fixed;right:max(18px,calc((100vw - 520px)/2 + 18px));bottom:82px;z-index:75;background:#1E1E1C;color:#fff;border-radius:999px;display:flex;align-items:center;gap:8px;padding:11px 16px 11px 12px;box-shadow:0 12px 28px rgba(45,37,28,.18);font-size:.78rem}.capture-button span{width:25px;height:25px;border-radius:50%;display:grid;place-items:center;background:var(--olive);color:#28300F;font-size:1.15rem;font-weight:700}.capture-button b{font-weight:600}.capture-button:active{transform:translateY(1px)}
.bottom-nav.five{grid-template-columns:repeat(5,1fr)}.bottom-nav.five .nav-item{min-width:0}.bottom-nav.five .nav-item small{font-size:.61rem}.bottom-nav.five .nav-item svg{width:20px;height:20px}
.capture-sheet{width:min(94vw,470px)}.capture-field textarea{font-size:1rem;line-height:1.45;min-height:112px}.capture-route{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:8px;margin-top:12px;padding:10px 12px;border-radius:13px;background:#F3EFE7;border:1px solid #E7DED1}.capture-route span,.capture-route small{font-size:.72rem;color:#837B70}.capture-route strong{font-family:"DM Serif Display",Georgia,serif;font-size:1.02rem;font-weight:400}.capture-route[data-route="finance"]{background:var(--finance-soft)}.capture-route[data-route="agenda"]{background:#EFF1D7}.capture-route[data-route="free"]{background:#F5E7D8}.capture-options{margin-top:10px}.capture-options:empty{display:none}.route-overrides{display:flex;gap:6px;overflow-x:auto;padding:10px 0 2px;scrollbar-width:none}.route-overrides::-webkit-scrollbar{display:none}.route-overrides button{flex:0 0 auto;padding:8px 10px;border-radius:999px;background:#F2EDE4;border:1px solid #E4DACB;color:#746E64;font-size:.69rem}.route-overrides button.selected{background:#E8F0C8;color:#526A17;border-color:#C4D576;box-shadow:0 0 0 1px rgba(169,201,78,.12) inset}.smart-fields{display:grid;grid-template-columns:1fr 1fr;gap:8px}.smart-fields .field{margin-top:0}.smart-preview{font-size:.75rem;line-height:1.4;color:#786F64;background:#F7F3EA;border-radius:11px;padding:9px 10px}

/* Finance */
.finance-view{padding:0 20px 18px;overflow-y:auto;scrollbar-width:none}.finance-view::-webkit-scrollbar{display:none}.finance-header{margin-bottom:16px}.balance-card{background:#F1F3DD;border:1px solid #DDE4B8;border-radius:18px;padding:19px 18px;margin-bottom:12px;box-shadow:0 6px 18px rgba(50,39,27,.04)}.balance-card>span{display:block;color:#6D7650;font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;margin-bottom:6px}.balance-card strong{display:block;font-family:"DM Serif Display",Georgia,serif;font-size:2.35rem;font-weight:400;color:#394622;line-height:1}.balance-card small{display:block;margin-top:9px;color:#75805A;font-size:.72rem}.finance-summary{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-bottom:12px}.finance-summary article{background:#FFFDF9;border:1px solid #E6DDD0;border-radius:15px;padding:14px}.finance-summary span{display:block;color:#857D71;font-size:.68rem;margin-bottom:7px}.finance-summary strong{font-size:1rem}.finance-summary article:first-child strong{color:#587332}.finance-summary article:last-child strong{color:#946654}.finance-insight{min-height:0}.finance-insight:not(:empty){padding:12px 13px;border-radius:13px;background:#F6F0E5;color:#6A6359;font-size:.75rem;line-height:1.45;margin-bottom:14px}.finance-list-head{display:flex;align-items:center;justify-content:space-between;margin:14px 0 8px}.finance-list-head strong{font-size:.82rem}.finance-list-head button{font-size:.72rem;color:#63762D;padding:7px 9px;border-radius:9px;background:#EEF1D7}.finance-list{display:grid;gap:8px}.finance-row{display:grid;grid-template-columns:1fr auto;align-items:center;gap:10px;background:#FFFDF9;border:1px solid #E7DED2;border-radius:13px;padding:12px 13px;text-align:left}.finance-row strong{display:block;font-size:.82rem;margin-bottom:3px}.finance-row small{color:#8A8379;font-size:.68rem}.finance-row b{font-size:.86rem}.finance-row.expense b{color:#9A6553}.finance-row.income b{color:#5C7732}.finance-empty{padding:28px 16px;border:1px dashed #DDD2C2;border-radius:14px;text-align:center;color:#817A70;font-size:.78rem}.finance-type-picker{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:12px}.finance-type-picker button{padding:11px;border-radius:12px;background:#F2EDE4;border:1px solid #E4DACB;font-weight:600}.finance-type-picker button.selected{background:#E8F0C8;border-color:#C4D576}.full{width:100%;margin-top:12px}

/* Brief */
.brief-settings{display:flex;align-items:center;justify-content:space-between;gap:14px;background:#F5F0E7;border:1px solid #E5DCCE;border-radius:14px;padding:12px;margin-top:14px}.brief-settings strong{display:block;font-size:.82rem}.brief-settings small{display:block;color:#817A70;font-size:.68rem;margin-top:3px;line-height:1.35}.switch{position:relative;width:44px;height:26px;flex:none}.switch input{opacity:0;position:absolute}.switch span{position:absolute;inset:0;background:#D8D2C7;border-radius:999px}.switch span::after{content:"";position:absolute;width:20px;height:20px;left:3px;top:3px;background:white;border-radius:50%;box-shadow:0 2px 5px rgba(0,0,0,.16);transition:.2s}.switch input:checked+span{background:var(--olive)}.switch input:checked+span::after{transform:translateX(18px)}.brief-dialog{border:0;padding:0;background:none}.brief-dialog::backdrop{background:rgba(54,45,35,.28);backdrop-filter:blur(5px)}.brief-card{position:relative;width:min(92vw,390px);background:#FFFDF9;border:1px solid #E4DACB;border-radius:28px;padding:28px;box-shadow:0 30px 60px rgba(50,39,27,.18)}.brief-close{position:absolute;right:16px;top:16px;width:34px;height:34px;border-radius:50%;background:#F2EDE4;font-size:1.2rem}.brief-card>small{display:block;margin:12px 0 3px;color:#837C71;font-size:.74rem;text-transform:uppercase;letter-spacing:.08em}.brief-card h1{font-family:"DM Serif Display",Georgia,serif;font-size:2rem;font-weight:400;margin:0 0 16px}.brief-lines{display:grid;gap:0;border-top:1px solid #E8DFD3}.brief-line{padding:12px 0;border-bottom:1px solid #E8DFD3;display:grid;grid-template-columns:22px 1fr;gap:8px;color:#5E584F;font-size:.8rem;line-height:1.45}.brief-line b{color:#70852C}.brief-card>button:last-child{width:100%;margin-top:18px;padding:13px 14px;border-radius:13px;background:var(--olive);font-weight:700}.feed-brief{background:#F1F3DD!important}.feed-brief .feed-card-main{justify-content:flex-start;align-items:flex-start;text-align:left}.feed-brief .brief-mini-date{font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:#7C8363}.feed-brief .feed-title{text-align:left;margin-top:8px}.feed-brief .brief-mini-lines{display:grid;gap:7px;margin-top:12px;width:100%;color:#646052;font-size:.76rem}.feed-brief .brief-mini-lines span{display:block}.feed-brief .brief-open{align-self:stretch;border:1px solid #CAD886;border-radius:12px;padding:11px;background:#E7EDC4;font-weight:600;color:#50611F}
.context-help{display:block;margin-top:12px;border-top:1px solid #E9E1D5;padding-top:11px;color:#697A2E;font-size:.72rem;text-align:center}.context-help:hover{text-decoration:underline}

@media (max-width:390px){.bottom-nav.five .nav-item small{font-size:.56rem}.bottom-nav.five .nav-item svg{width:18px;height:18px}.capture-button{bottom:78px;padding:9px 12px 9px 9px}.capture-button b{display:none}.capture-button span{width:27px;height:27px}.finance-summary{grid-template-columns:1fr}.smart-fields{grid-template-columns:1fr}}
@media (min-width:700px){.capture-button{right:calc(50% - 235px);bottom:98px}.finance-view{padding-left:24px;padding-right:24px}}
@media (prefers-color-scheme:dark){.finance-view,.balance-card,.finance-row,.finance-summary article,.capture-route,.brief-card,.brief-dialog,.capture-sheet{color:var(--ink)!important}.balance-card{background:#F1F3DD!important}.finance-row,.finance-summary article,.brief-card,.capture-sheet{background:#FFFDF9!important}}
@media (prefers-color-scheme:dark){
  .capture-button{color:#fff!important}
  .map-filters button.active{color:#fff!important}
  .welcome-card button,.brief-card>button:last-child{color:#1E260C!important}
  .danger-button{color:#95534C!important}
  .text-button{color:#657C27!important}
}

/* CENTRAL 4.0.2 — CAPTURA SIMPLES + RESPONSIVIDADE */
:root{
  --topbar-base:76px;
  --nav-base:72px;
}
html,body{width:100%;height:100%;overflow:hidden}
body{overscroll-behavior:none}
.app-shell{width:min(100%,470px);height:100dvh;min-height:100svh;max-height:100dvh}
.topbar{
  height:calc(var(--topbar-base) + env(safe-area-inset-top));
  padding:calc(18px + env(safe-area-inset-top)) clamp(16px,5vw,24px) 10px;
}
.main-stage{
  height:calc(100dvh - var(--topbar-base) - var(--nav-base) - env(safe-area-inset-top) - env(safe-area-inset-bottom));
  min-height:0;
}
.app-shell.no-topbar .main-stage{
  height:calc(100dvh - var(--nav-base) - env(safe-area-inset-bottom));
  min-height:0;
  padding-top:max(18px,env(safe-area-inset-top));
}
.bottom-nav{
  height:calc(var(--nav-base) + env(safe-area-inset-bottom));
  padding:4px clamp(6px,3vw,12px) max(4px,env(safe-area-inset-bottom));
}
.capture-button{
  right:max(14px,calc((100vw - 470px)/2 + 16px));
  bottom:calc(var(--nav-base) + env(safe-area-inset-bottom) + 10px);
}
.toast{bottom:calc(var(--nav-base) + env(safe-area-inset-bottom) + 12px)}
.view{min-width:0;min-height:0}
.feed-title,.grid-task strong,.appointment-main strong{overflow-wrap:anywhere}
.map-filters{overflow-x:auto;scrollbar-width:none;padding-bottom:2px;overscroll-behavior-inline:contain}
.map-filters::-webkit-scrollbar{display:none}
.map-filters button{flex:0 0 auto}
.field input,.field textarea,.field select,.smart-fields input,.smart-fields select{font-size:16px;min-width:0}
.field select,.smart-fields select{width:100%;border:1px solid #E5DCCE;background:#FAF6EF;border-radius:14px;padding:13px 14px;outline:none}

/* Captura: a Central decide; o usuário só corrige se quiser */
.capture-sheet{width:min(94vw,470px);max-height:min(86dvh,720px);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:none}
.capture-sheet::-webkit-scrollbar{display:none}
.capture-head{margin-bottom:12px}
.capture-field{margin-top:0}
.capture-field textarea{min-height:122px;font-size:1rem;line-height:1.5;border-color:#E2D9CB;background:#FCF9F3;transition:border-color .15s ease,box-shadow .15s ease}
.capture-field textarea:focus{border-color:#B8CA72;box-shadow:0 0 0 3px rgba(169,201,78,.12)}
.capture-destination{display:flex;align-items:center;gap:8px;margin-top:11px}
.capture-route{flex:1;min-width:0;margin-top:0;padding:9px 11px;border-radius:12px;grid-template-columns:auto auto 1fr;justify-content:start;background:#F5F1E9;border-color:#E7DED1}
.capture-route span{white-space:nowrap}.capture-route strong{font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:.79rem;font-weight:700}.capture-route small{text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.route-change{flex:none;padding:9px 10px;border-radius:10px;color:#65782A;background:#F0F3DD;border:1px solid #DDE5B8;font-size:.71rem;font-weight:700}
.route-picker{margin-top:9px;padding:12px;border:1px solid #E6DDD0;border-radius:15px;background:#F8F4EC}
.route-picker-copy{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:9px}.route-picker-copy strong{font-size:.76rem}.route-picker-copy small{color:#8A8276;font-size:.65rem;text-align:right}
.route-overrides{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;padding:0;overflow:visible}
.route-overrides button{min-width:0;padding:10px 11px;border-radius:11px;background:#FFFDF9;border:1px solid #E4DACB;color:#5F5A51;text-align:left;font-size:.72rem}
.route-overrides button b{display:block;font-size:.77rem;margin-bottom:2px}.route-overrides button small{display:block;color:#8A8276;font-size:.62rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.route-overrides button.selected{background:#E8F0C8;color:#526A17;border-color:#C4D576;box-shadow:0 0 0 1px rgba(169,201,78,.10) inset}
.route-overrides button.selected small{color:#68783B}
.route-auto-reset{display:block;margin:9px auto 0;padding:7px 9px;color:#6F7E42;font-size:.66rem;text-decoration:underline;text-underline-offset:2px}
.capture-options{margin-top:10px}.capture-options:empty{display:none}
.capture-priority{margin-top:0;padding-top:1px}.capture-priority .priority-caption{margin-bottom:7px}.capture-priority .priority-caption strong{font-size:.74rem}.capture-priority .priority-caption small{font-size:.65rem}
.capture-priority .priority-picker button{height:48px;border-radius:11px}.capture-priority .priority-picker b{font-size:.8rem;line-height:1}.capture-priority .priority-picker span{font-size:.61rem;margin-top:3px;display:block}
.smart-fields{gap:7px}.smart-fields .field>span{font-size:.69rem}.smart-preview{padding:8px 10px;font-size:.69rem}
.capture-actions{margin-top:14px;display:grid;grid-template-columns:auto 1fr}.capture-actions .primary-button{min-height:44px}.capture-actions .soft-button{min-height:44px}

/* Móvel: o diálogo vira uma folha inferior e nunca estoura a tela */
@media (max-width:599px){
  .modal{width:100%;max-width:none;margin:auto 0 0;overflow:visible}
  .modal .sheet{width:100%;max-width:none;border-radius:24px 24px 0 0;border-bottom:0;padding:17px max(16px,env(safe-area-inset-left)) calc(17px + env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-right));max-height:88dvh;overflow-y:auto}
  .welcome-modal{max-width:100vw}.welcome-card{max-height:88dvh;overflow-y:auto}
}

@media (max-width:390px){
  .view{padding-left:14px;padding-right:14px}
  .feed-view{padding-left:12px;padding-right:12px}
  .free-view{padding-left:10px;padding-right:10px}
  .section-header{margin-bottom:18px}.section-header h1,.map-header h1{font-size:2rem}
  .bottom-nav.five .nav-item small{font-size:.55rem}.bottom-nav.five .nav-item svg{width:18px;height:18px}
  .finance-summary{grid-template-columns:1fr 1fr}
  .appointment-card{grid-template-columns:68px minmax(0,1fr)}.appointment-time{font-size:1.02rem;padding-left:5px;padding-right:5px}.appointment-main{padding:15px 12px}
  .task-grid{gap:7px}.grid-task{padding:11px 10px;min-height:108px}.grid-task strong{font-size:.84rem}
  .capture-button{padding:9px}.capture-button b{display:none}.capture-button span{width:28px;height:28px}
}

@media (max-width:350px){
  .topbar{padding-left:14px;padding-right:14px}.brand{gap:7px}.brand strong{font-size:1.12rem}.feed-counter{font-size:.82rem}
  .bottom-nav{padding-left:2px;padding-right:2px}.bottom-nav.five .nav-item small{font-size:.50rem}.bottom-nav.five .nav-item svg{width:17px;height:17px}
  .finance-summary{grid-template-columns:1fr}
  .map-filters{gap:6px}.map-filters button{min-width:46px;height:34px;font-size:.72rem}
  .free-note{width:98px;min-height:94px;padding:14px 9px}.free-note p{font-size:1.15rem}
  .route-picker-copy{display:block}.route-picker-copy small{display:block;text-align:left;margin-top:3px}
  .route-overrides button{padding:9px}.route-overrides button small{font-size:.58rem}
}

@media (max-width:300px){
  .task-grid{grid-template-columns:1fr}
  .route-overrides{grid-template-columns:1fr}
}

@media (max-height:720px) and (max-width:699px){
  :root{--topbar-base:68px;--nav-base:64px}
  .topbar{padding-top:calc(13px + env(safe-area-inset-top));padding-bottom:7px}
  .feed-scroller{height:calc(100% - 34px)}.feed-gesture{height:30px;font-size:.68rem}.feed-gesture span{font-size:.95rem}
  .feed-slide{padding-top:4px;padding-bottom:8px}.feed-card{min-height:350px;padding:20px 19px 17px}.feed-icon{width:58px;height:58px;margin-bottom:14px}.feed-icon svg{width:27px;height:27px}.feed-title{font-size:clamp(1.72rem,8vw,2.1rem);margin-bottom:15px}.feed-actions{margin-top:18px}.feed-actions button{height:46px}
  .feed-empty{min-height:350px}.capture-button{bottom:calc(var(--nav-base) + env(safe-area-inset-bottom) + 8px)}
  .section-header{margin-bottom:16px}.section-header h1,.map-header h1{font-size:1.9rem}.balance-card{padding:15px}.balance-card strong{font-size:2rem}
}

@media (max-height:570px) and (max-width:699px){
  :root{--topbar-base:60px;--nav-base:58px}
  .nav-item{gap:1px}.bottom-nav.five .nav-item small{font-size:.49rem}
  .feed-card{min-height:292px;padding:14px}.feed-icon{width:46px;height:46px;margin-bottom:9px}.feed-title{font-size:1.55rem;margin-bottom:10px}.feed-priority{font-size:.75rem}.feed-actions{margin-top:10px;gap:8px}.feed-actions button{height:40px}.feed-gesture{display:none}.feed-scroller{height:100%}
}

@media (min-width:700px){
  .app-shell{height:calc(100dvh - 48px);min-height:0;max-height:calc(100dvh - 48px)}
  .topbar{height:var(--topbar-base);padding:18px 24px 10px}
  .main-stage{height:calc(100% - var(--topbar-base) - var(--nav-base))}
  .app-shell.no-topbar .main-stage{height:calc(100% - var(--nav-base));padding-top:20px}
  .bottom-nav{height:var(--nav-base);padding-bottom:4px}
  .capture-button{right:calc(50% - 219px);bottom:calc(24px + var(--nav-base) + 10px)}
  .toast{bottom:calc(24px + var(--nav-base) + 12px)}
}

@media (prefers-color-scheme:dark){
  .route-picker,.route-overrides button,.capture-field textarea,.smart-fields input,.smart-fields select{color:var(--ink)!important}
  .route-picker{background:#F8F4EC!important}.route-overrides button{background:#FFFDF9!important}.route-overrides button.selected{background:#E8F0C8!important;color:#526A17!important}
}

/* 4.0.4 — sincronização discreta, sem alterar a interface principal */
.sync-settings{margin-top:14px;padding-top:14px;border-top:1px solid #E8DED0;display:flex;align-items:center;justify-content:space-between;gap:12px}.sync-settings>div{min-width:0}.sync-settings strong,.sync-settings small{display:block}.sync-settings strong{font-size:.82rem}.sync-settings small{margin-top:3px;color:#8A8276;font-size:.7rem;line-height:1.3}.sync-settings .soft-button{flex:0 0 auto;padding:10px 12px}.full{width:100%}.sync-sheet{max-height:min(86vh,640px);overflow:auto}.sync-intro{background:#F6F1E8;border:1px solid #E7DDCF;border-radius:16px;padding:15px;margin-bottom:12px}.sync-intro strong{font-family:"DM Serif Display",Georgia,serif;font-size:1.15rem;font-weight:400}.sync-intro p{margin:5px 0 0;color:#756E63;font-size:.78rem;line-height:1.5}.sync-or{display:flex;align-items:center;gap:10px;color:#9C9488;font-size:.7rem;margin:13px 0}.sync-or::before,.sync-or::after{content:"";height:1px;background:#E6DCCE;flex:1}.sync-connected-card{display:flex;gap:10px;align-items:center;background:#F0F3DC;border:1px solid #D8E2AA;border-radius:16px;padding:14px;margin-bottom:12px}.sync-connected-card strong,.sync-connected-card small{display:block}.sync-connected-card strong{font-size:.82rem}.sync-connected-card small{font-size:.69rem;color:#727765;margin-top:2px;line-height:1.35}.sync-dot{width:10px;height:10px;border-radius:50%;background:#91AF37;box-shadow:0 0 0 5px rgba(145,175,55,.13);flex:0 0 auto}.pair-code-box{margin:12px 0;background:#FCF8F1;border:1px dashed #CFC1AD;border-radius:17px;padding:16px;text-align:center}.pair-code-box small,.pair-code-box span{display:block;color:#8C8377;font-size:.68rem}.pair-code-box strong{display:block;font-family:"DM Serif Display",Georgia,serif;font-weight:400;font-size:2rem;letter-spacing:.12em;margin:7px 0 4px;color:#303326}.pair-code-box .text-button{margin-top:10px}.welcome-connect{background:transparent!important;color:#6E7650!important;font-weight:500!important;font-size:.72rem!important;margin-top:8px!important;padding:7px 10px!important;box-shadow:none!important}.welcome-connect:hover{text-decoration:underline}.hidden{display:none!important}
@media (max-width:340px){.sync-settings{align-items:flex-start;flex-direction:column}.sync-settings .soft-button{width:100%}.pair-code-box strong{font-size:1.7rem}}

/* 4.0.5 — recorrências simples */
.recurrence-field select{width:100%;min-height:46px;border:1px solid #E5DCCE;background:#FAF6EF;border-radius:14px;padding:11px 38px 11px 14px;color:#29271F;font:inherit;appearance:auto}
.repeat-check{display:flex;align-items:center;gap:11px;margin-top:15px;padding:12px 13px;border:1px solid #E5DCCE;background:#FAF6EF;border-radius:14px;cursor:pointer;user-select:none}
.repeat-check input{position:absolute;opacity:0;pointer-events:none}.repeat-check-ui{width:20px;height:20px;border-radius:7px;border:1.5px solid #B9B1A4;background:#FFFDF9;display:grid;place-items:center;flex:0 0 auto;transition:.16s}.repeat-check input:checked+.repeat-check-ui{background:#E8F0C8;border-color:#9EB849}.repeat-check input:checked+.repeat-check-ui::after{content:'↻';font-size:13px;line-height:1;color:#586B22;font-weight:700}.repeat-check-copy{min-width:0;display:flex;flex-direction:column;gap:2px}.repeat-check-copy strong{font-size:.82rem;font-weight:600}.repeat-check-copy small{font-size:.7rem;color:#888074;line-height:1.3}
.recurrence-chip{display:inline-flex;align-items:center;width:max-content;margin-top:5px;padding:3px 7px;border-radius:999px;background:#EFF2D9;color:#657C27;font-size:.65rem;font-weight:600;letter-spacing:.01em}
.finance-row .recurrence-inline{display:inline-flex;align-items:center;gap:3px;color:#657C27;font-weight:600}
@media(max-width:340px){.repeat-check{padding:10px}.repeat-check-copy small{font-size:.66rem}.recurrence-field select{min-height:44px}}

/* 4.0.6 — controles contextuais e pareamento visual */
.settings-button{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;color:#6F744C;background:transparent;border:0;flex:0 0 auto;padding:7px;margin-top:-4px}
.settings-button:hover,.settings-button:focus-visible{background:#F1ECE2;outline:none}
.settings-button svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.capture-button[data-context="free"] span{background:#E9D8E9;color:#4E3E50}
.capture-button[data-context="agenda"] span{background:#E7EDC4;color:#485A1E}
.capture-button[data-context="finance"] span{background:#DDE7C4;color:#42521C}
.capture-button[data-context="map"] span{background:#E8E0D1;color:#4E493E}
.pair-code-box{overflow:hidden}
.pair-qr{width:min(210px,68vw);aspect-ratio:1;margin:0 auto 10px;display:grid;place-items:center;border-radius:18px;background:#F7F2E8;padding:10px;border:1px solid #E6DDCE}
.pair-qr:empty{display:none}
.pair-qr svg{display:block;width:100%;height:100%;border-radius:9px}
.pair-qr-copy{max-width:260px;margin:0 auto!important;line-height:1.45!important;color:#6F695E!important}
.pair-fallback{display:flex;align-items:center;gap:9px;margin:12px 0 4px;color:#9A9185;font-size:.65rem}
.pair-fallback::before,.pair-fallback::after{content:"";height:1px;flex:1;background:#E5DACC}
@media(max-width:340px){.settings-button{width:34px;height:34px;padding:6px}.pair-qr{width:min(185px,66vw)}}

/* 4.0.7 — pareamento simples no modelo dispositivo-fonte → QR do dispositivo novo */
.sync-home,.sync-panel{min-height:0}.sync-choice{width:100%;display:grid;grid-template-columns:42px minmax(0,1fr) 18px;gap:10px;align-items:center;text-align:left;padding:13px 12px;margin:9px 0;border:1px solid #E5DCCE;background:#FCF8F1;border-radius:16px}.sync-choice:hover{border-color:#C9D78A;background:#F7F5E8}.sync-choice:disabled{opacity:.48;cursor:not-allowed}.sync-choice-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:13px;background:#EFF2D9;color:#64752E;font-size:1.35rem}.sync-choice strong,.sync-choice small{display:block}.sync-choice strong{font-size:.8rem;line-height:1.3;color:#2D2C27}.sync-choice small{margin-top:3px;font-size:.68rem;line-height:1.35;color:#817A70}.sync-choice>b{font-size:1.35rem;font-weight:400;color:#9C9589}.sync-back{display:inline-flex;align-items:center;gap:5px;color:#6D7450;font-size:.74rem;margin:-4px 0 14px}.sync-step-copy{margin-bottom:13px}.sync-step-copy strong{display:block;font-family:"DM Serif Display",Georgia,serif;font-size:1.25rem;font-weight:400}.sync-step-copy p{margin:6px 0 0;color:#746D63;font-size:.77rem;line-height:1.5}.pair-scanner{position:relative;width:100%;aspect-ratio:1.3;background:#24251F;border-radius:20px;overflow:hidden;margin:10px 0}.pair-scanner video{width:100%;height:100%;object-fit:cover;display:block}.pair-scan-frame{position:absolute;left:50%;top:50%;width:min(58vw,210px);aspect-ratio:1;transform:translate(-50%,-50%);border:2px solid #EAF5B7;border-radius:22px;box-shadow:0 0 0 999px rgba(0,0,0,.18)}.pair-scanner>span{position:absolute;left:12px;right:12px;bottom:10px;background:rgba(32,33,28,.72);backdrop-filter:blur(8px);color:#F8F4EA;border-radius:10px;padding:8px 10px;text-align:center;font-size:.67rem}.device-summary{margin-top:17px;padding-top:14px;border-top:1px solid #E6DCCF}.device-summary-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}.device-summary-head strong,.device-summary-head small{display:block}.device-summary-head strong{font-size:.8rem}.device-summary-head small{color:#8B8378;font-size:.68rem;margin-top:2px}.device-summary-head>span{font-size:.62rem;padding:5px 8px;border-radius:999px;background:#EEF2D8;color:#61732D}.device-list{display:grid;gap:7px}.device-row{display:grid;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:9px;padding:10px;background:#F9F5EE;border:1px solid #E9DFD1;border-radius:13px}.device-row-icon{width:36px;height:36px;display:grid;place-items:center;background:#EEE9E0;border-radius:11px;font-size:1rem}.device-row strong,.device-row small{display:block}.device-row strong{font-size:.76rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.device-row small{font-size:.64rem;color:#8A8277;margin-top:2px}.device-row .device-primary{font-size:.61rem;color:#667630}.device-row button{font-size:.66rem;color:#92584F;padding:7px 8px;border-radius:9px;background:#F6E9E6}.device-row button:hover{background:#F1DEDA}.pair-code-box.approved{border-color:#B7CB65;background:#F5F7E5}.pair-code-box.failed{border-color:#D7A79F;background:#FAEFED}.sync-limit-note{font-size:.68rem;line-height:1.4;color:#827A6F;background:#F5F0E7;border-radius:11px;padding:9px 10px;margin-top:8px}.sync-sheet .pair-qr{width:min(230px,70vw)}
@media(max-width:340px){.sync-choice{grid-template-columns:38px minmax(0,1fr) 14px;padding:11px 10px}.sync-choice-icon{width:38px;height:38px}.pair-scan-frame{width:180px}.device-row{grid-template-columns:32px minmax(0,1fr) auto}.device-row-icon{width:32px;height:32px}}


/* 4.0.8 — tutorial de primeiro uso
   Não altera a interface normal do mobile; só aparece uma vez por dispositivo. */
.swipe-tutorial{position:fixed;inset:0;z-index:220;display:grid;place-items:center;padding:20px;background:rgba(42,37,30,.34);backdrop-filter:blur(7px)}
.swipe-tutorial-card{width:min(92vw,430px);background:#FFFDF9;border:1px solid #E5DCCE;border-radius:28px;padding:24px 22px 20px;box-shadow:0 30px 80px rgba(40,32,23,.22)}
.swipe-tutorial-copy{text-align:center}.swipe-tutorial-copy>span{display:block;color:#7E765F;font-size:.68rem;text-transform:uppercase;letter-spacing:.09em;margin-bottom:8px}.swipe-tutorial-copy h2{font-family:"DM Serif Display",Georgia,serif;font-size:2rem;line-height:1.02;font-weight:400;margin:0;color:#302E29}.swipe-tutorial-copy p{max-width:310px;margin:9px auto 0;color:#777066;font-size:.78rem;line-height:1.5}
.swipe-demo{height:245px;position:relative;margin:16px 0 12px;overflow:hidden;border-radius:20px;background:radial-gradient(circle at 50% 42%,#F8F5ED,#F2ECE2);border:1px solid #EBE2D5}
.swipe-demo-task{position:absolute;left:50%;top:40px;width:min(285px,76%);min-height:142px;transform:translateX(-50%);background:#FFFDF9;border:1px solid #E3D9CA;border-radius:20px;box-shadow:0 13px 28px rgba(50,39,27,.10);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:20px;animation:centralTutorialCard 3.4s cubic-bezier(.42,0,.23,1) infinite}
.swipe-demo-task small{font-size:.62rem;text-transform:uppercase;letter-spacing:.09em;color:#958C80;margin-bottom:9px}.swipe-demo-task strong{font-family:"DM Serif Display",Georgia,serif;font-size:1.28rem;line-height:1.08;font-weight:400;max-width:205px}.swipe-demo-task i{font-style:normal;color:#81943B;letter-spacing:2px;margin-top:12px;font-size:.76rem}
.swipe-demo-done{position:absolute;right:24px;top:88px;display:flex;align-items:center;gap:7px;color:#627A29;opacity:0;animation:centralTutorialDone 3.4s ease infinite}.swipe-demo-done b{width:34px;height:34px;border-radius:50%;background:#DDEAAB;display:grid;place-items:center;font-size:1rem}.swipe-demo-done span{font-size:.7rem;font-weight:600}
.swipe-demo-hand{position:absolute;left:51%;top:142px;font-size:2.1rem;filter:drop-shadow(0 6px 8px rgba(50,39,27,.14));transform:translateX(-50%) rotate(-18deg);transform-origin:50% 80%;animation:centralTutorialHand 3.4s cubic-bezier(.42,0,.23,1) infinite}
.swipe-demo-arrow{position:absolute;left:50%;bottom:13px;color:#6E7B3B;font-size:1.45rem;animation:centralTutorialArrow 3.4s ease infinite}
.swipe-tutorial-ok{width:100%;height:48px;border-radius:14px;background:#1F201C;color:#FFFDF9;font-size:.82rem;font-weight:600}
@keyframes centralTutorialCard{0%,20%{transform:translateX(-50%) rotate(0);opacity:1}58%{transform:translateX(calc(-50% + 108px)) rotate(3deg);opacity:1}70%{transform:translateX(calc(-50% + 180px)) rotate(5deg);opacity:0}71%{transform:translateX(-50%);opacity:0}82%,100%{transform:translateX(-50%);opacity:1}}
@keyframes centralTutorialHand{0%,18%{transform:translateX(-50%) rotate(-18deg);opacity:0}24%{opacity:1}58%{transform:translateX(calc(-50% + 112px)) rotate(5deg);opacity:1}68%{transform:translateX(calc(-50% + 130px)) rotate(8deg);opacity:0}100%{opacity:0}}
@keyframes centralTutorialDone{0%,52%{opacity:0;transform:translateX(-8px)}66%,80%{opacity:1;transform:translateX(0)}100%{opacity:0}}
@keyframes centralTutorialArrow{0%,20%{opacity:.2;transform:translateX(-10px)}42%{opacity:1;transform:translateX(22px)}68%,100%{opacity:0;transform:translateX(34px)}}

/* 4.0.8 — desktop de verdade.
   Breakpoint isolado: abaixo de 900px, o layout aprovado do celular continua intacto. */
@media (min-width:900px){
  html,body{width:100%;height:100%;overflow:hidden}
  body{padding:0!important;background:#F3EEE5}
  .app-shell,.app-shell.no-topbar{
    width:100vw!important;max-width:none!important;height:100dvh!important;min-height:100dvh!important;
    margin:0!important;border:0!important;border-radius:0!important;box-shadow:none!important;
    display:grid;grid-template-columns:224px minmax(0,1fr);grid-template-rows:86px minmax(0,1fr);
    overflow:hidden
  }
  .topbar,.app-shell.no-topbar .topbar{
    display:flex!important;grid-column:1/-1;grid-row:1;height:86px!important;
    padding:22px 32px 18px!important;border-bottom:1px solid rgba(222,213,199,.82);
    background:rgba(250,247,239,.94);backdrop-filter:blur(12px);z-index:60
  }
  .brand{width:176px;justify-content:flex-start}.brand-dots{width:48px;height:16px}.brand strong{font-size:1.35rem}
  .topbar-right{margin-left:auto}.feed-counter{font-size:.88rem}
  .bottom-nav,.bottom-nav.five{
    position:relative!important;grid-column:1;grid-row:2;left:auto!important;right:auto!important;bottom:auto!important;
    width:224px;height:100%!important;border:0!important;border-right:1px solid rgba(222,213,199,.88)!important;
    border-radius:0!important;background:#F8F4EC!important;backdrop-filter:none!important;
    display:flex!important;flex-direction:column;align-items:stretch;justify-content:flex-start;
    gap:6px;padding:24px 16px!important;z-index:45
  }
  .bottom-nav .nav-item,.bottom-nav.five .nav-item{
    width:100%;min-height:50px;display:flex!important;align-items:center;justify-content:flex-start;
    gap:12px;padding:0 14px!important;border-radius:13px;color:#676158
  }
  .bottom-nav .nav-item:hover{background:#F0EBE2}
  .bottom-nav .nav-item.active{background:#EBF0D4;color:#4E6021}
  .bottom-nav .nav-item svg,.bottom-nav.five .nav-item svg{width:22px!important;height:22px!important;flex:none}
  .bottom-nav .nav-item small,.bottom-nav.five .nav-item small{font-size:.78rem!important;font-weight:500}
  .bottom-nav .nav-item.active small{font-weight:650}
  .main-stage,.app-shell.no-topbar .main-stage{
    grid-column:2;grid-row:2;width:100%;height:auto!important;min-height:0!important;padding:26px 32px 30px!important;
    overflow:hidden
  }
  .view{height:100%;min-height:0;padding:0}
  .capture-button{
    right:32px!important;bottom:28px!important;padding:12px 18px 12px 13px;
    box-shadow:0 14px 34px rgba(45,37,28,.19)
  }

  /* Feed: a mesma experiência, mas em escala de desktop. */
  .feed-view{padding:0!important;width:100%;max-width:none}
  .feed-scroller{height:calc(100% - 38px);padding:0 0 8px}
  .feed-slide{min-height:100%;padding:0 12px 12px}
  .feed-card{
    width:min(900px,calc(100vw - 330px));min-height:min(590px,calc(100dvh - 175px));
    padding:42px 50px 34px;border-radius:30px
  }
  .feed-card-main{padding-top:8px}.feed-icon{width:96px;height:96px;margin-bottom:34px}.feed-icon svg{width:39px;height:39px}
  .feed-title{font-size:clamp(2.8rem,4vw,4rem);max-width:650px;margin-bottom:26px}
  .feed-actions{width:min(570px,100%);margin:36px auto 0;gap:16px}.feed-actions button{height:58px;font-size:.96rem}
  .feed-gesture{font-size:.72rem}

  /* Livre: vira uma mesa ampla em vez de uma coluna de celular. */
  .free-view{padding:0!important}.free-board{height:100%;border-radius:24px;background-size:22px 22px}
  .free-note{width:150px;min-height:140px;padding:22px 16px 16px}.free-note p{font-size:1.5rem}

  /* Agenda */
  .agenda-view{width:100%;max-width:1180px;margin:0 auto;padding:0 8px 28px!important;overflow-y:auto;scrollbar-width:thin}
  .section-header{margin-bottom:22px}.section-header h1{font-size:2.7rem}.section-header p{font-size:.82rem}
  .agenda-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
  .appointment-card{min-height:122px;border-radius:18px}.appointment-main strong{font-size:1.22rem}
  .agenda-complete-link{max-width:580px;margin:16px auto 12px}

  /* Finanças: resumo à esquerda, registros à direita. */
  .finance-view.active{
    display:grid!important;width:100%;max-width:1240px;margin:0 auto;padding:0 8px 24px!important;
    grid-template-columns:minmax(0,1fr);
    grid-template-rows:auto auto auto auto auto minmax(0,1fr);
    grid-template-areas:"fhead" "balance" "summary" "insight" "listhead" "flist";
    row-gap:12px;overflow-y:auto
  }
  .finance-header{grid-area:fhead;margin-bottom:6px}.finance-header h1{font-size:2.7rem}
  .balance-card{grid-area:balance;margin:0;padding:25px 24px;border-radius:22px}.balance-card strong{font-size:3rem}
  .finance-summary{grid-area:summary;margin:0;gap:12px}.finance-summary article{padding:18px;border-radius:17px}
  .finance-insight{grid-area:insight}.finance-insight:not(:empty){margin:0}
  .finance-list-head{grid-area:listhead;margin:0 0 2px}.finance-list{grid-area:flist;align-content:start;overflow-y:auto;padding-right:5px;scrollbar-width:thin}
  .finance-row{padding:15px 16px;border-radius:15px}.finance-row strong{font-size:.86rem}.finance-row b{font-size:.9rem}

  /* Mapa */
  .map-view{width:100%;max-width:1280px;margin:0 auto;padding:0 8px 24px!important;overflow-y:auto}
  .map-header h1{font-size:2.7rem}.map-filters{margin-bottom:18px}
  .task-grid{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px}
  .grid-task{min-height:145px;border-radius:17px;padding:17px 16px}.grid-task strong{font-size:1rem}

  .top-menu{right:32px;top:72px}
  .swipe-tutorial-card{width:min(500px,90vw);padding:28px 28px 22px}.swipe-demo{height:260px}
}

@media (min-width:1180px){
  .finance-view.active{
    grid-template-columns:minmax(330px,410px) minmax(430px,1fr);
    grid-template-rows:auto auto auto minmax(0,1fr);
    grid-template-areas:"fhead fhead" "balance listhead" "summary flist" "insight flist";
    column-gap:28px;row-gap:12px;overflow:hidden
  }
}
@media (min-width:1280px){
  .app-shell,.app-shell.no-topbar{grid-template-columns:250px minmax(0,1fr)}
  .bottom-nav,.bottom-nav.five{width:250px;padding-left:22px!important;padding-right:22px!important}
  .brand{width:202px}
  .main-stage,.app-shell.no-topbar .main-stage{padding-left:42px!important;padding-right:42px!important}
  .feed-card{width:min(980px,calc(100vw - 390px))}
}


/* 4.0.9 — responsividade desktop refinada.
   Todas as regras desta revisão ficam dentro de min-width:900px:
   a interface mobile aprovada permanece sem alterações visuais. */
@media (min-width:900px){
  /* O desktop deixa de tratar cada seção como uma coluna de celular ampliada. */
  .main-stage,.app-shell.no-topbar .main-stage{
    min-width:0;
    padding:24px clamp(24px,3vw,48px) 28px!important;
  }
  .view{width:100%;max-width:none;min-width:0}
  .section-header,.finance-header,.map-header{width:100%}

  /* Livre — campo fluido; as coordenadas são reposicionadas pelo JS sobre
     a área útil, então mudar resolução não empurra notas para fora da mesa. */
  .free-view{width:100%;min-width:0}
  .free-board{
    width:100%;min-width:0;height:100%;
    border-radius:26px;
    background-size:22px 22px;
  }
  .free-note{
    width:clamp(138px,11vw,164px);
    min-height:clamp(128px,10vw,152px);
    padding:21px 16px 16px
  }
  .free-note p{font-size:clamp(1.32rem,1.45vw,1.58rem)}
  .note-editor{width:min(320px,calc(100% - 28px));padding:12px;border-radius:18px}
  .note-editor textarea{min-height:122px;font-size:1.45rem}
  .note-context{max-width:min(230px,calc(100% - 20px))}

  /* Agenda — número de colunas depende do espaço real, não só de "é PC". */
  .agenda-view{
    max-width:1360px;
    padding:0 0 30px!important;
  }
  .agenda-list{
    grid-template-columns:repeat(auto-fit,minmax(min(330px,100%),1fr));
    align-items:stretch;
    gap:14px;
  }
  .appointment-card{height:100%;min-width:0}
  .appointment-main{min-width:0}
  .appointment-main strong,.appointment-main small{overflow-wrap:anywhere}

  /* Finanças — resumo e lista não disputam largura em notebooks menores. */
  .finance-view.active{
    max-width:1360px;
    padding:0 0 26px!important;
    min-width:0;
  }
  .finance-summary{grid-template-columns:repeat(2,minmax(0,1fr))}
  .finance-list{min-width:0}
  .finance-row{min-width:0;grid-template-columns:minmax(0,1fr) auto}
  .finance-row>span{min-width:0}
  .finance-row strong,.finance-row small{overflow-wrap:anywhere}

  /* Mapa — cards crescem e quebram de acordo com a largura disponível. */
  .map-view{max-width:1440px;padding:0 0 28px!important}
  .task-grid{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px}
  .grid-task{min-width:0;min-height:150px}
  .grid-task strong{overflow-wrap:anywhere}

  /* Formulários/modal no PC usam espaço de PC; no mobile continuam sheets. */
  .modal{width:auto;max-width:none;margin:auto;overflow:visible}
  .modal .sheet{
    width:min(680px,calc(100vw - 80px));
    max-width:680px;
    max-height:min(84dvh,780px);
    overflow-y:auto;
    border-radius:26px;
    border:1px solid #E4DACB;
    padding:24px;
  }
  .capture-sheet{width:min(640px,calc(100vw - 80px))!important;max-width:640px!important}
  .sync-sheet{width:min(700px,calc(100vw - 80px))!important;max-width:700px!important}
  .brief-card{width:min(520px,calc(100vw - 80px));padding:32px}
  .field textarea,.field input,.recurrence-field select{font-size:.92rem}
  .field textarea{min-height:112px}
  .sheet-head span{font-size:1.55rem}
  .sheet-actions{gap:10px}

  /* Feed continua sendo Feed; apenas evita largura extrema em monitores grandes. */
  .feed-card{max-width:1020px}
  .feed-title{max-width:720px}
}

@media (min-width:900px) and (max-width:1099px){
  /* Notebook: sidebar um pouco menor para sobrar área útil para conteúdo. */
  .app-shell,.app-shell.no-topbar{grid-template-columns:196px minmax(0,1fr)}
  .bottom-nav,.bottom-nav.five{width:196px;padding-left:12px!important;padding-right:12px!important}
  .brand{width:148px}
  .main-stage,.app-shell.no-topbar .main-stage{padding-left:22px!important;padding-right:22px!important}
  .feed-card{width:min(760px,calc(100vw - 252px))}
  .task-grid{grid-template-columns:repeat(auto-fill,minmax(205px,1fr))}
}

@media (min-width:1100px) and (max-width:1179px){
  .finance-view.active{max-width:1050px}
}

@media (min-width:1180px){
  .finance-view.active{
    grid-template-columns:minmax(340px,420px) minmax(0,1fr);
    column-gap:clamp(24px,3vw,38px);
  }
}

@media (min-width:1500px){
  .app-shell,.app-shell.no-topbar{grid-template-columns:270px minmax(0,1fr)}
  .bottom-nav,.bottom-nav.five{width:270px;padding-left:26px!important;padding-right:26px!important}
  .brand{width:220px}
  .main-stage,.app-shell.no-topbar .main-stage{padding-left:52px!important;padding-right:52px!important}
  .agenda-view,.finance-view.active{max-width:1420px}
  .map-view{max-width:1500px}
  .task-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}
}


/* ==========================================================================
   CENTRAL 4.1.0 — INTERFACE FOCO
   Redesign inspirado no mockup aprovado.
   A lógica do produto permanece: uma tarefa por vez + visão geral expansível.
   ========================================================================== */

:root{
  --bg:#F4EFE4;
  --paper:#F8F4EB;
  --card:#FBF7EF;
  --ink:#28291F;
  --muted:#7C776B;
  --line:#D8D0BF;
  --olive:#81855D;
  --olive-dark:#515638;
  --olive-soft:#ECEBD9;
  --yellow:#E7D59A;
  --pink:#D8B2A8;
  --purple:#C9BED7;
  --mint:#C7D1A0;
  --cream:#E6DCC6;
  --shadow:0 18px 48px rgba(55,48,36,.07),0 3px 10px rgba(55,48,36,.035);
  --radius:24px;
}
html,body{background:var(--bg)!important}
body{letter-spacing:-.005em}
.app-shell{
  width:min(100%,490px);
  background:
    radial-gradient(circle at 50% -15%,rgba(255,255,255,.78),transparent 43%),
    linear-gradient(180deg,#F8F4EB 0%,#F3EEE3 100%);
  box-shadow:none;
}
.topbar{
  height:74px;
  padding:18px 22px 10px;
}
.brand{gap:9px}
.brand strong{
  font-size:1.35rem;
  letter-spacing:-.015em;
  color:#303226;
}
.brand-dots{width:35px;height:12px;opacity:.9}
.topbar-right{gap:9px}
.feed-counter{
  font-size:.68rem;
  color:#8A8579;
  min-width:36px;
  text-align:right;
  font-variant-numeric:tabular-nums;
}
.overview-toggle{
  width:42px;height:42px;border:1px solid #BEB8A6;border-radius:50%;
  display:grid;place-items:center;color:#555A38;background:rgba(250,247,239,.68);
  transition:transform .28s ease,background .28s ease,border-color .28s ease;
}
.overview-toggle svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.6}
.overview-toggle.active{background:#E9E8D5;border-color:#8F9566;transform:rotate(90deg)}
.quiet-menu{font-size:.92rem;letter-spacing:.16em;color:#666455}

/* Navegação — menos "app genérico", mais silenciosa. */
.bottom-nav,.bottom-nav.four{
  height:70px;
  padding:5px 14px max(5px,env(safe-area-inset-bottom));
  background:rgba(248,244,235,.94);
  border-top:1px solid rgba(202,194,178,.65);
  backdrop-filter:blur(18px);
  grid-template-columns:repeat(4,1fr);
}
.nav-item{gap:3px;color:#777267;opacity:.84}
.nav-item svg{width:21px;height:21px;stroke-width:1.45}
.nav-item small{font-size:.59rem;letter-spacing:.01em}
.nav-item.active{color:#515638;opacity:1}
.nav-item.active svg{stroke-width:1.9}
.nav-item.active small{font-weight:600}

/* + contextual */
.capture-button{
  right:17px;bottom:80px;
  padding:0;
  width:48px;height:48px;border-radius:50%;
  display:grid;place-items:center;
  background:#666B46;
  border:1px solid #565B3A;
  box-shadow:0 12px 26px rgba(54,56,34,.19);
}
.capture-button span{
  width:auto;height:auto;background:transparent;color:#F8F4EB;
  font-size:1.45rem;font-weight:300;
}
.capture-button b{display:none}

/* ------------------------------ FEED / FOCO ------------------------------ */
.feed-view{
  position:relative;
  overflow:hidden;
  padding:0 15px!important;
}
.feed-focus{
  position:absolute;inset:0 15px 0;
  display:grid;grid-template-rows:minmax(0,1fr) 34px;
  opacity:1;transform:scale(1);
  transition:opacity .28s ease,transform .34s cubic-bezier(.2,.8,.2,1);
}
.feed-scroller{
  height:100%;
  padding:18px 0 10px;
  overflow-y:auto;
  scroll-snap-type:y mandatory;
}
.feed-slide{
  min-height:100%;
  padding:18px 7px 22px;
  place-items:center;
}
.feed-card,.feed-empty{
  position:relative;
  width:100%;
  min-height:min(590px,calc(100dvh - 205px));
  max-height:660px;
  background:
    linear-gradient(180deg,rgba(255,255,255,.18),transparent 32%),
    #FAF6EE;
  border:1px solid #B8B29F;
  border-radius:30px;
  box-shadow:0 18px 38px rgba(63,55,42,.055);
  padding:52px 28px 25px;
  overflow:visible;
}
.focus-card::before,.focus-card::after{
  content:"";
  position:absolute;
  z-index:-1;
  left:10px;right:10px;bottom:-9px;height:40px;
  background:#F0EBDD;
  border:1px solid #C5BEAA;
  border-radius:0 0 28px 28px;
}
.focus-card::after{
  left:18px;right:18px;bottom:-17px;
  background:#E8E2D3;
  border-color:#D0C7B4;
  z-index:-2;
}
.focus-priority-rail{
  position:absolute;
  top:-22px;left:50%;transform:translateX(-50%);
  display:flex;align-items:center;gap:9px;
  padding:7px 11px;
  background:#F7F2E8;
  border-radius:999px;
  z-index:3;
}
.focus-priority-rail::before,.focus-priority-rail::after{
  content:"";position:absolute;top:50%;height:1px;width:60px;background:#B8B29F;
}
.focus-priority-rail::before{right:100%;margin-right:-1px}
.focus-priority-rail::after{left:100%;margin-left:-1px}
.priority-level{
  width:31px;height:31px;border-radius:50%;
  border:1px solid #BEB7A5;
  display:grid;place-items:center;
  color:#8A8578;background:#F8F4EA;
  font:600 .73rem/1 Inter,sans-serif;
  transition:.2s ease;
}
.priority-level.active{
  color:#F9F5EC;background:#81855D;border-color:#777C54;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.18);
}
.feed-card-main{
  min-height:0;height:100%;
  display:flex;flex-direction:column;align-items:flex-start;justify-content:center;
  text-align:left;padding:28px 4px 20px;
}
.feed-eyebrow{
  font-size:.62rem;text-transform:uppercase;letter-spacing:.16em;
  color:#8D887B;margin-bottom:18px;
}
.feed-title{
  max-width:100%;margin:0;
  font-size:clamp(2.55rem,11vw,3.65rem);
  line-height:.98;letter-spacing:-.035em;
  color:#282A20;
}
.context-help{
  margin-top:24px;padding:8px 0;border-bottom:1px solid #C9C1AF;
  border-radius:0;color:#72755A;background:transparent;font-size:.69rem;
}
.focus-card-bottom{
  border-top:1px solid #D7CFBE;
  padding-top:17px;
}
.focus-task-meta{
  display:flex;align-items:center;justify-content:space-between;
  margin-bottom:13px;
}
.focus-task-meta span{
  font-size:.62rem;text-transform:uppercase;letter-spacing:.12em;color:#969083
}
.focus-task-meta strong{
  font-size:.74rem;font-weight:500;color:#5B6040
}
.feed-actions{
  margin:0;
  display:grid;grid-template-columns:1fr 1fr;gap:9px;
}
.feed-actions button{
  height:44px;border-radius:999px;
  font-size:.72rem;font-weight:500;
}
.later-button{
  border:1px solid #D1C9B8;background:transparent;color:#777166;
}
.done-button{
  border:1px solid #737853;background:#777C54;color:#F9F5ED;
}
.feed-actions.one-action{grid-template-columns:1fr}
.feed-gesture{
  height:34px;
  display:flex;justify-content:center;align-items:center;gap:12px;
  color:#8B8579;font-size:.65rem;
}
.feed-gesture span{font-size:.92rem;color:#767B54}
.feed-empty{display:grid;place-items:center;text-align:left}
.feed-empty>div{max-width:290px}
.feed-empty h2{
  font-family:"DM Serif Display",Georgia,serif;font-weight:400;
  font-size:2.3rem;line-height:1;margin:16px 0 10px
}
.feed-empty p{font-size:.76rem;line-height:1.55;color:#817B70}
.feed-empty button{
  margin-top:14px;padding:10px 0;color:#5B603E;border-bottom:1px solid #9EA078;border-radius:0
}
.end-mark{
  width:38px;height:38px;border-radius:50%;display:grid;place-items:center;
  border:1px solid #8E9368;color:#6E734E;
}
.feed-brief .feed-card-main{justify-content:flex-start;padding-top:38px}
.feed-brief .feed-title{font-size:2.85rem;margin-bottom:22px}
.brief-mini-lines{width:100%;display:grid;gap:10px;text-align:left}
.brief-mini-lines span{padding:10px 0;border-bottom:1px solid #DED6C6;font-size:.72rem;line-height:1.45;color:#6F6B60}
.brief-open{margin-top:16px!important;background:transparent!important;color:#59603C!important;padding:8px 0!important;border-radius:0!important;border-bottom:1px solid #A6A58B!important}
.brief-rail .priority-level{font-size:.62rem}

/* -------------------------- VISÃO GERAL DO FEED -------------------------- */
.feed-overview{
  position:absolute;inset:0 15px 0;
  padding:9px 2px 72px;
  overflow-y:auto;scrollbar-width:none;
  opacity:0;pointer-events:none;
  transform:scale(.965) translateY(10px);
  transform-origin:85% 0;
  transition:opacity .26s ease,transform .34s cubic-bezier(.2,.8,.2,1);
}
.feed-overview::-webkit-scrollbar{display:none}
.feed-view.overview-open .feed-focus{
  opacity:0;pointer-events:none;transform:scale(.96);
}
.feed-view.overview-open .feed-overview{
  opacity:1;pointer-events:auto;transform:scale(1) translateY(0);
}
.overview-header{
  display:flex;align-items:flex-start;justify-content:space-between;
  padding:14px 4px 12px;
}
.overview-kicker,.section-kicker{
  display:block;font-size:.6rem;text-transform:uppercase;letter-spacing:.15em;
  color:#949082;margin-bottom:4px;
}
.overview-header h1{
  margin:0;font-family:"DM Serif Display",Georgia,serif;font-size:2.25rem;font-weight:400;line-height:1
}
.overview-header p{margin:8px 0 0;font-size:.69rem;color:#827D72}
.settings-button{
  width:39px;height:39px;border:1px solid #CFC7B6;background:#F8F4EB;
}
.settings-button svg{width:19px;height:19px}
.overview-filters{
  gap:6px;margin:7px 0 14px;
  overflow-x:auto;scrollbar-width:none;
}
.overview-filters::-webkit-scrollbar{display:none}
.overview-filters button{
  flex:0 0 auto;min-width:44px;height:32px;padding:0 13px;
  border-radius:999px;
  background:transparent;border:1px solid #CEC6B5;
  color:#716C61;font-size:.65rem;font-weight:500;
}
.overview-filters button.active{
  background:#777C54;border-color:#777C54;color:#F8F4EB;
}
.overview-grid{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;
  padding-bottom:20px;
}
.grid-task{
  min-height:142px;
  border-radius:18px;
  padding:15px 13px 13px;
  background:#FAF6EE;
  border:1px solid #D1C9B8;
  box-shadow:none;
  text-align:left;
  display:flex;flex-direction:column;
  transition:transform .18s ease,border-color .18s ease;
}
.grid-task:active{transform:scale(.985)}
.mini-priority-rail{
  display:flex;gap:5px;margin-bottom:18px;
}
.mini-priority-rail .priority-level{
  width:18px;height:18px;font-size:.5rem;
}
.done-mini .priority-level{width:21px;height:21px}
.grid-task strong{
  font-family:"DM Serif Display",Georgia,serif;
  font-size:1.05rem;line-height:1.06;font-weight:400;
  letter-spacing:-.01em;
}
.grid-task-foot{
  margin-top:auto;padding-top:14px;
  display:flex;justify-content:space-between;align-items:end;
  color:#8B8579;
}
.grid-task-foot small{padding:0;margin:0;font-size:.58rem}
.grid-task-foot i{font-style:normal;font-size:1rem;color:#777C54}
.grid-task.done{opacity:.56}
.grid-empty{
  grid-column:1/-1;padding:48px 18px;
  border:1px solid #D6CEBD;border-radius:20px;
  background:rgba(250,246,238,.55)
}
.overview-focus-button{
  position:sticky;bottom:5px;
  margin:10px auto 0;
  width:max-content;
  display:flex;align-items:center;gap:8px;
  padding:10px 16px;border:1px solid #BEB6A4;
  border-radius:999px;background:rgba(248,244,235,.92);
  backdrop-filter:blur(10px);
  color:#5E6242;font-size:.68rem;
}
.overview-focus-button span{font-size:.9rem}

/* ------------------------------- LIVRE ---------------------------------- */
.free-view{
  display:none;
  grid-template-rows:auto minmax(0,1fr);
  gap:12px;
  padding:0 15px 14px!important;
}
.free-view.active{display:grid}
.section-hero{
  display:flex;align-items:end;justify-content:space-between;
  padding:6px 2px 2px;
}
.section-hero h1,.section-header h1,.finance-header h1{
  margin:0;font-family:"DM Serif Display",Georgia,serif;
  font-size:2.2rem;font-weight:400;line-height:1;
  letter-spacing:-.02em
}
.section-hero p,.section-header p{
  margin:6px 0 0;color:#837E72;font-size:.68rem
}
.free-board{
  height:100%;
  border-radius:23px;
  border:1px solid #D5CDBC;
  background-color:#F8F3E9;
  background-image:radial-gradient(circle,rgba(124,119,105,.18) .8px,transparent 1px);
  background-size:22px 22px;
  box-shadow:inset 0 1px rgba(255,255,255,.5);
}
.free-empty strong{font-size:1.8rem;color:#565744}
.free-empty span{font-size:1.05rem;color:#918977}
.free-note{
  box-shadow:0 10px 22px rgba(65,55,41,.09);
  border:1px solid rgba(91,83,66,.08);
  border-radius:3px;
}
.free-note p{color:#3E3C32}

/* ------------------------------ AGENDA ---------------------------------- */
.agenda-view,.finance-view{
  padding:0 17px 18px!important;
  overflow-y:auto;scrollbar-width:none;
}
.agenda-view::-webkit-scrollbar,.finance-view::-webkit-scrollbar{display:none}
.section-header{
  margin:2px 0 21px;
  align-items:flex-start;
}
.section-header h1,.finance-header h1{font-size:2.45rem}
.more-button{
  color:#6E6C5B;font-size:.85rem;letter-spacing:.18em;
}
.appointment-card{
  min-height:96px;
  border-radius:16px;
  background:transparent;
  border:0;
  border-bottom:1px solid #D8D0BF;
  box-shadow:none;
  grid-template-columns:67px minmax(0,1fr);
}
.appointment-time{
  padding:18px 6px 16px 0;
  justify-content:flex-start;
  border-right:0;
  color:#555A39;font-size:.86rem;
}
.appointment-time::after{width:4px;height:4px;margin-top:5px}
.appointment-main{padding:15px 0 15px 4px}
.appointment-main strong{
  font-size:1.05rem;margin-bottom:5px;
}
.appointment-main small{font-size:.64rem}
.reminder-chip{
  background:transparent;padding:5px 0;margin-top:6px;
  color:#8B8578;font-size:.58rem;
}
.reminder-chip::before{content:"○"}
.recurrence-chip{
  margin-top:5px;padding:3px 7px;
  background:#ECEAD8;color:#666A49;
}
.agenda-complete-link{
  border:0;border-bottom:1px solid #C7C0AF;border-radius:0;
  background:transparent;padding:12px 0;margin-top:14px;
  color:#646847;
}

/* ----------------------------- FINANÇAS --------------------------------- */
.finance-header{margin-bottom:18px}
.balance-card{
  position:relative;overflow:hidden;
  background:#ECEBDD;
  border:1px solid #D4D3B9;
  border-radius:21px;
  padding:20px 18px 22px;
  box-shadow:none;margin-bottom:9px;
}
.balance-card::after{
  content:"";
  position:absolute;right:-28px;bottom:-42px;
  width:150px;height:100px;border:1px solid rgba(103,108,69,.18);
  border-radius:50%;
  box-shadow:0 -12px 0 rgba(103,108,69,.03),0 -24px 0 rgba(103,108,69,.025);
}
.balance-card>span{font-size:.6rem;letter-spacing:.12em;color:#747858}
.balance-card strong{font-size:2.65rem;color:#363A28}
.balance-card small{font-size:.62rem;color:#7B7E63}
.finance-summary{gap:8px;margin-bottom:10px}
.finance-summary article{
  background:transparent;border:1px solid #D7CFBE;
  border-radius:14px;padding:12px 13px;
}
.finance-summary span{font-size:.58rem;margin-bottom:6px}
.finance-summary strong{font-size:.9rem;font-weight:600}
.finance-list-head{margin:20px 0 7px}
.finance-list-head strong{font-size:.7rem;text-transform:uppercase;letter-spacing:.09em;color:#817B70}
.finance-list-head button{
  background:transparent;color:#5E6240;padding:6px 0;
  border-bottom:1px solid #A7A487;border-radius:0;font-size:.65rem
}
.finance-list{gap:0}
.finance-row{
  border:0;border-bottom:1px solid #DAD2C2;border-radius:0;
  background:transparent;padding:12px 2px;box-shadow:none
}
.finance-row strong{font-size:.78rem;font-weight:500}
.finance-row small{font-size:.59rem}
.finance-row b{font-size:.76rem;font-weight:600}
.finance-insight:not(:empty){
  background:transparent;border-left:2px solid #9C9D78;
  border-radius:0;padding:7px 0 7px 11px;
  color:#777166;font-size:.67rem
}

/* --------------------------- FORMULÁRIOS ------------------------------- */
.sheet{
  background:#F9F5EC;border:1px solid #D5CDBC;
  box-shadow:0 28px 70px rgba(53,45,34,.15)
}
.sheet-head>button{background:#EEE8DE}
.field textarea,.field input,.recurrence-field select{
  background:#F6F1E8;border-color:#D8CFBE
}
.primary-button{background:#777C54;color:#FAF7EF}
.soft-button{background:#EEE8DE}
.text-button{background:#EDEBD9;color:#5F6441}
.priority-picker button{background:#F1ECE2;border-color:#D8CFBE}
.priority-picker button.selected{background:#E8E8D1;border-color:#AEB17D}
.priority-picker b{color:#686D49}
.top-menu{background:#F9F5EC;border-color:#D5CDBC;box-shadow:0 18px 42px rgba(53,45,34,.13)}

/* Tutoriais seguem o novo idioma visual. */
.swipe-tutorial{background:rgba(48,45,37,.24)}
.swipe-tutorial-card{
  background:#F8F4EB;border-color:#D2C9B7;box-shadow:0 28px 80px rgba(48,43,34,.18)
}
.swipe-tutorial-ok{background:#626743;color:#FAF7EF}

/* Pequenos aparelhos */
@media(max-width:360px){
  .feed-card,.feed-empty{min-height:min(500px,calc(100dvh - 194px));padding-left:22px;padding-right:22px}
  .feed-title{font-size:2.35rem}
  .priority-level{width:28px;height:28px}
  .overview-grid{gap:7px}.grid-task{min-height:125px;padding:12px 10px}
  .grid-task strong{font-size:.92rem}
}
@media(max-height:690px) and (max-width:899px){
  .feed-scroller{padding-top:10px}
  .feed-slide{padding-top:12px;padding-bottom:14px}
  .feed-card,.feed-empty{min-height:calc(100dvh - 190px);padding-top:42px;padding-bottom:19px}
  .feed-title{font-size:clamp(2.05rem,9vw,2.7rem)}
  .feed-card-main{padding-top:16px;padding-bottom:12px}
  .feed-eyebrow{margin-bottom:12px}
  .focus-card-bottom{padding-top:12px}
  .feed-actions button{height:40px}
}

/* ------------------------------ DESKTOP -------------------------------- */
@media(min-width:900px){
  body{background:#EEE8DD!important}
  .app-shell,.app-shell.no-topbar{
    grid-template-columns:210px minmax(0,1fr);
    grid-template-rows:82px minmax(0,1fr);
    background:#F6F1E7;
  }
  .topbar,.app-shell.no-topbar .topbar{
    display:flex!important;height:82px!important;
    padding:20px 28px!important;
    background:rgba(247,242,232,.93);
    border-bottom:1px solid #D8D0BF;
  }
  .brand{width:154px}.brand strong{font-size:1.42rem}
  .bottom-nav,.bottom-nav.four{
    width:210px!important;
    padding:22px 14px!important;
    background:#F3EEE4!important;
    border-right:1px solid #D8D0BF!important;
    gap:4px;
  }
  .bottom-nav .nav-item,.bottom-nav.four .nav-item{
    min-height:48px!important;border-radius:12px;
    padding:0 13px!important;color:#726D63
  }
  .bottom-nav .nav-item.active{background:#E7E6D2;color:#515638}
  .bottom-nav .nav-item:hover{background:#EDE7DD}
  .bottom-nav .nav-item small,.bottom-nav.four .nav-item small{font-size:.72rem!important}
  .main-stage,.app-shell.no-topbar .main-stage{
    padding:26px clamp(28px,4vw,68px) 30px!important;
  }
  .capture-button{
    right:30px!important;bottom:30px!important;
    width:50px;height:50px;padding:0!important;
  }

  .feed-view{max-width:1500px;margin:0 auto}
  .feed-focus,.feed-overview{inset:0}
  .feed-focus{grid-template-rows:minmax(0,1fr) 32px}
  .feed-scroller{padding:22px 0 10px}
  .feed-slide{padding:20px}
  .feed-card,.feed-empty{
    width:min(760px,72vw);
    min-height:min(640px,calc(100dvh - 190px));
    padding:66px 54px 34px;
    border-radius:34px;
  }
  .focus-priority-rail{top:-24px}
  .focus-priority-rail::before,.focus-priority-rail::after{width:90px}
  .priority-level{width:34px;height:34px}
  .feed-card-main{padding-left:12px;padding-right:12px}
  .feed-title{font-size:clamp(3.6rem,5.5vw,5.4rem);max-width:620px}
  .focus-card-bottom{padding-top:20px}
  .feed-actions{width:430px;margin-left:auto}
  .feed-gesture{font-size:.62rem}

  .feed-overview{padding:8px 0 80px}
  .overview-header{padding:8px 3px 18px}
  .overview-header h1{font-size:3rem}
  .overview-filters{margin-bottom:19px}
  .overview-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}
  .grid-task{min-height:165px;padding:18px;border-radius:20px}
  .grid-task strong{font-size:1.2rem}
  .overview-focus-button{bottom:2px}

  .free-view.active{
    display:grid!important;
    max-width:1500px;margin:0 auto;
    grid-template-rows:auto minmax(0,1fr);
    gap:16px;padding:0!important;
  }
  .section-hero h1{font-size:3rem}
  .free-board{border-radius:26px}
  .free-note{border-radius:3px}

  .agenda-view,.finance-view.active{
    max-width:1250px!important;margin:0 auto!important;padding:0 0 30px!important;
  }
  .section-header h1,.finance-header h1{font-size:3.2rem}
  .agenda-list{
    grid-template-columns:repeat(2,minmax(0,1fr));
    column-gap:34px;row-gap:0;
  }
  .appointment-card{min-height:112px}
  .appointment-time{font-size:.95rem}
  .appointment-main strong{font-size:1.2rem}
  .finance-view.active{
    display:grid!important;
    grid-template-columns:minmax(340px,420px) minmax(0,1fr);
    grid-template-areas:
      "fhead fhead"
      "balance listhead"
      "summary flist"
      "insight flist";
    grid-template-rows:auto auto auto minmax(0,1fr);
    gap:12px 34px;overflow:hidden;
  }
  .finance-header{grid-area:fhead}
  .balance-card{grid-area:balance}
  .finance-summary{grid-area:summary}
  .finance-insight{grid-area:insight}
  .finance-list-head{grid-area:listhead;align-self:end}
  .finance-list{grid-area:flist;overflow-y:auto;padding-right:8px}
  .balance-card strong{font-size:3.35rem}
  .modal .sheet{border-radius:26px}
}

@media(min-width:1400px){
  .app-shell,.app-shell.no-topbar{grid-template-columns:230px minmax(0,1fr)}
  .bottom-nav,.bottom-nav.four{width:230px!important;padding-left:18px!important;padding-right:18px!important}
  .feed-card,.feed-empty{width:min(820px,64vw)}
  .overview-grid{grid-template-columns:repeat(auto-fill,minmax(245px,1fr))}
}

/* Remove regras antigas específicas do quinto item do menu. */
.bottom-nav.four .nav-item{min-width:0}


/* tutorial alinhado ao novo cartão */
.tutorial-priorities{display:flex;justify-content:center;gap:5px;margin-bottom:9px}
.tutorial-priorities i{width:19px;height:19px;border-radius:50%;border:1px solid #BEB7A5;display:grid;place-items:center;font:600 .52rem/1 Inter,sans-serif;color:#8A8578;background:#F8F4EA}
.tutorial-priorities i.active{background:#81855D;border-color:#777C54;color:#F9F5EC}
