@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@500;600;700;800&display=swap";:root{font-family:DM Sans,sans-serif;color:#17302c;background:#f3f3ee;font-synthesis:none;--ink:#17302c;--muted:#687873;--cream:#f3f3ee;--paper:#fffefa;--sun:#f4bf55;--coral:#ff795b;--mint:#cce5d5;--line:#dfe4dc;--deep:#112c28}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;min-height:100vh;background:var(--cream)}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit}.loading-page,.error-page{min-height:100vh;display:grid;place-content:center;gap:1rem;text-align:center}.loading-page svg{width:44px;height:44px;color:var(--coral);animation:float 1.4s ease-in-out infinite}.primary,.ghost,.icon-button{border:0;display:inline-flex;align-items:center;justify-content:center;gap:.55rem;transition:.2s}.primary{background:var(--ink);color:#fff;border-radius:14px;padding:.82rem 1.1rem;font-weight:700;box-shadow:0 8px 20px #17302c20}.primary:hover{background:#24463f;transform:translateY(-1px)}.primary svg,.ghost svg{width:18px}.ghost{background:transparent;border:1px solid var(--line);color:var(--ink);border-radius:14px;padding:.78rem 1rem;font-weight:700}.ghost:hover{background:#fff}.ghost.compact{padding:.55rem .75rem}.icon-button{width:42px;height:42px;border-radius:50%;background:transparent;color:var(--ink)}.icon-button:hover{background:#17302c0d}.icon-button svg{width:20px}.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:.74rem;font-weight:800;color:#627a72;margin:0 0 .55rem}.location{display:flex;align-items:center;gap:.35rem;color:var(--muted);font-size:.95rem}.location svg{width:17px;height:17px}.app-shell{min-height:100vh}.topbar{height:76px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(1rem,5vw,5rem);max-width:1500px;margin:auto}.brand{display:flex;align-items:center;gap:.7rem;text-decoration:none;font-family:Manrope,sans-serif;font-size:1.05rem}.brand>span{display:grid;place-items:center;width:38px;height:38px;background:var(--ink);color:var(--sun);border-radius:12px}.brand svg{width:22px}.topbar nav{display:flex;gap:2rem}.topbar nav a{text-decoration:none;color:var(--muted);font-weight:600}.topbar nav a:hover{color:var(--ink)}.top-actions{display:flex;align-items:center;gap:.7rem}.demo-badge{font-size:.76rem;padding:.35rem .65rem;background:#f4bf5538;border-radius:99px;font-weight:700}main{max-width:1500px;margin:auto}.weekend-hero{margin:0 clamp(1rem,5vw,5rem);min-height:410px;border-radius:30px;background:var(--deep);color:#fff;display:grid;grid-template-columns:1.35fr .9fr;overflow:hidden;position:relative}.weekend-hero:before{content:"";position:absolute;width:480px;height:480px;border:90px solid #ffffff0c;border-radius:50%;left:-230px;bottom:-290px}.hero-copy{padding:clamp(2rem,5vw,4.5rem);align-self:center;position:relative}.hero-copy .eyebrow{color:#bcd2ca}.hero-title{display:flex;align-items:center;gap:1.2rem;flex-wrap:wrap}.hero-title h1{font-family:Manrope,sans-serif;font-size:clamp(2.3rem,5vw,4.5rem);line-height:.98;letter-spacing:-.055em;margin:.25rem 0 1rem;max-width:760px}.hero-copy .location{color:#bcd2ca}.hero-notes{font-size:1.05rem;line-height:1.6;color:#dce7e3;max-width:630px}.hero-actions{display:flex;gap:.75rem;margin-top:2rem;flex-wrap:wrap}.weekend-hero .primary{background:var(--sun);color:var(--ink)}.weekend-hero .ghost{color:#fff;border-color:#fff3}.weekend-hero .ghost:hover{background:#ffffff12}.hero-side{background:#25463f;padding:clamp(1.5rem,3vw,3rem);display:flex;flex-direction:column;justify-content:center;gap:1.5rem}.weather-state{min-height:155px;border:1px solid #ffffff20;border-radius:20px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:.7rem;color:#cfddd8;text-align:center;padding:1.5rem}.weather-state svg{width:36px;height:36px;color:var(--sun)}.weather-days{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.weather-days>div{background:#ffffff0d;border:1px solid #ffffff18;padding:1.3rem;border-radius:20px;display:grid;gap:.3rem}.weather-days svg{color:var(--sun)}.weather-days strong{font-family:Manrope,sans-serif;font-size:2.4rem}.weather-days span{color:#bad0c8;font-size:.84rem}.quick-stats{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.quick-stats>div{display:flex;align-items:center;gap:.75rem;color:#c5d8d1}.quick-stats svg{color:var(--coral)}.quick-stats strong{display:block;color:#fff;font-size:1.2rem}.agenda-section,.inspiration-section{padding:clamp(4rem,7vw,7rem) clamp(1rem,5vw,5rem)}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:2rem;margin-bottom:2rem}.section-heading h2{font-family:Manrope,sans-serif;font-size:clamp(1.8rem,3vw,2.7rem);letter-spacing:-.04em;margin:0}.section-heading>p{color:var(--muted);max-width:430px;margin:0}.month-toolbar{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:.8rem 0}.month-switcher{display:flex;align-items:center;gap:.5rem}.month-switcher strong{text-transform:capitalize;min-width:150px;text-align:center}.travel-meter{display:flex;align-items:center;gap:.45rem;background:var(--mint);border-radius:99px;padding:.55rem .85rem}.travel-meter svg{width:17px}.travel-meter.over{background:#ffd8ce;color:#8b2d1a}.filters{display:flex;gap:.5rem;padding:1.25rem 0;overflow-x:auto}.filters button{border:1px solid var(--line);border-radius:99px;background:transparent;padding:.55rem .9rem;color:var(--muted);font-weight:700}.filters button.active{background:var(--ink);color:#fff;border-color:var(--ink)}.warning{display:flex;align-items:center;gap:.65rem;background:#fff0c7;color:#725610;padding:.8rem 1rem;border-radius:12px;margin-top:1rem;font-size:.9rem}.warning svg{width:18px;flex:0 0 auto}.agenda-grid{display:grid;grid-template-columns:minmax(350px,.8fr) 1.2fr;gap:2rem}.calendar-card{background:var(--paper);border:1px solid var(--line);border-radius:22px;padding:1rem;align-self:start;box-shadow:0 14px 45px #17302c08}.weekday-row,.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr)}.weekday-row span{font-size:.72rem;text-align:center;color:var(--muted);padding:.5rem}.calendar-grid button{min-height:62px;border:0;background:transparent;border-radius:14px;display:flex;justify-content:center;align-items:center;position:relative;color:var(--ink)}.calendar-grid button:hover{background:#edf2ed}.calendar-grid button.has-event{font-weight:800}.calendar-grid button.has-event>span{background:var(--ink);color:#fff;width:33px;height:33px;border-radius:50%;display:grid;place-items:center}.dot{position:absolute;width:6px;height:6px;border-radius:50%;bottom:6px;background:var(--coral)}.dot:nth-of-type(2){margin-left:14px}.dot-viagem{background:#4589c8}.dot-wakeboard{background:#23a18c}.event-list{display:grid;gap:.75rem}.event-card{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:1rem;background:var(--paper);border:1px solid var(--line);padding:1rem;border-radius:18px;cursor:pointer;transition:.2s}.event-card:hover{transform:translateY(-2px);box-shadow:0 12px 28px #17302c10;border-color:#b9c9c1}.event-card>svg{width:20px;color:#81908c}.date-tile{width:62px;height:68px;background:#edf0ea;border-radius:14px;display:grid;place-content:center;text-align:center}.date-tile strong{font-family:Manrope,sans-serif;font-size:1.55rem;line-height:1}.date-tile span{text-transform:uppercase;font-size:.7rem;color:var(--muted)}.event-info>div{display:flex;gap:.5rem;align-items:center}.event-info h3{font-family:Manrope,sans-serif;margin:.4rem 0 .25rem;font-size:1.05rem}.event-info p{margin:0}.event-info small{color:var(--muted)}.category{font-size:.69rem;text-transform:uppercase;letter-spacing:.1em;font-weight:800;color:#627a72}.status{display:inline-flex;border-radius:99px;padding:.28rem .55rem;font-size:.68rem;font-weight:800;letter-spacing:.02em;background:#e9eeeb;color:#49635b}.status-reservado{background:#fff0bd;color:#765811}.status-confirmado{background:#cdebd8;color:#26603b}.status-plano_b_local{background:#dfe7f5;color:#3e5678}.status-cancelado{background:#eee;color:#777;text-decoration:line-through}.empty{display:grid;place-items:center;text-align:center;min-height:250px;color:var(--muted)}.empty svg{width:40px}.empty h3{margin:.5rem 0 0}.inspiration-section{background:#e8ebe4;max-width:none}.suggestion-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:1rem;max-width:1340px;margin:auto}.suggestion{min-height:260px;background:var(--paper);border:1px solid #d8ded6;border-radius:20px;padding:1.2rem;text-decoration:none;display:flex;flex-direction:column;transition:.2s}.suggestion:hover{transform:translateY(-4px);box-shadow:0 16px 32px #17302c12}.suggestion-icon{font-size:2rem;color:var(--coral);margin-bottom:auto}.suggestion small{color:var(--muted);margin-top:1rem}.suggestion h3{font-family:Manrope,sans-serif;margin:.35rem 0}.suggestion p{font-size:.86rem;line-height:1.5;color:var(--muted)}.open-source{display:flex;align-items:center;gap:.4rem;font-weight:800;font-size:.82rem;margin-top:.5rem}.open-source svg{width:14px}footer{display:flex;justify-content:space-between;padding:2rem clamp(1rem,5vw,5rem);font-size:.8rem;color:var(--muted);max-width:1500px;margin:auto}.modal-backdrop,.drawer-backdrop{position:fixed;inset:0;background:#0b1f1bb8;z-index:50;display:flex;align-items:center;justify-content:center;padding:1rem;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.modal{background:var(--paper);width:min(700px,100%);max-height:92vh;overflow:auto;border-radius:24px;padding:1.4rem;box-shadow:0 30px 80px #0004}.modal>header,.drawer>header{display:flex;justify-content:space-between;align-items:start}.modal h2,.drawer h2{font-family:Manrope,sans-serif;margin:.2rem 0;font-size:1.8rem;letter-spacing:-.03em}.event-form{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:1.3rem}.event-form label,.login-form label,.status-select{display:grid;gap:.4rem;font-weight:700;font-size:.86rem}.event-form input,.event-form select,.event-form textarea,.login-form input,.quick-add input,.status-select select{width:100%;border:1px solid #ccd5ce;background:#fff;border-radius:11px;padding:.75rem;color:var(--ink);outline:none}.event-form input:focus,.event-form select:focus,.event-form textarea:focus,.login-form input:focus,.quick-add input:focus{border-color:#6b8e83;box-shadow:0 0 0 3px #6b8e8320}.span-2{grid-column:1/-1}.toggle{display:flex!important;grid-template-columns:auto 1fr!important;align-items:center}.toggle input{width:18px}.form-actions{display:flex;justify-content:flex-end;gap:.75rem;margin-top:.6rem}.drawer-backdrop{justify-content:flex-end;padding:0}.drawer{width:min(500px,100%);height:100%;overflow:auto;background:var(--paper);padding:1.4rem 1.5rem 3rem;box-shadow:-20px 0 60px #0003}.drawer>header{flex-direction:row-reverse}.detail-status{display:flex;gap:.5rem;align-items:center;margin:1rem 0}.locked{display:inline-flex;align-items:center;gap:.3rem;font-size:.73rem;color:#576b65}.locked svg{width:14px}.status-select{margin:1rem 0;padding:1rem;background:#edf2ed;border-radius:14px}.notes{color:var(--muted);line-height:1.6}.booking{border:1px solid var(--line);border-left:5px solid #76a88d;border-radius:14px;padding:1rem;margin:1.5rem 0}.booking-soon{border-left-color:var(--sun);background:#fffbef}.booking-late{border-left-color:var(--coral);background:#fff5f2}.booking>div{display:flex;justify-content:space-between}.booking p{font-size:.83rem;color:var(--muted)}.booking a{font-size:.83rem;font-weight:800;display:flex;gap:.35rem;align-items:center}.booking a svg{width:14px}.detail-section{border-top:1px solid var(--line);padding-top:1.2rem;margin-top:1.5rem}.detail-section h3{font-family:Manrope,sans-serif;display:flex;align-items:center;gap:.5rem}.detail-section h3 svg{width:19px;color:var(--coral)}.detail-section h3>span{font-family:DM Sans;font-size:.7rem;background:#e4e9e4;padding:.15rem .45rem;border-radius:99px}.todo-list{display:grid;gap:.5rem}.todo-list label{display:grid;grid-template-columns:auto 1fr;align-items:start;gap:.7rem;padding:.65rem;border-radius:10px}.todo-list label:hover{background:#f1f3ef}.todo-list input{margin-top:.28rem}.todo-list label>span{display:grid;grid-template-columns:0 1fr}.todo-list label svg{width:0;opacity:0}.todo-list small{grid-column:2;color:var(--muted)}.todo-list .done>span{text-decoration:line-through;color:#82908c}.todo-list .done svg{width:16px;opacity:1;color:#498364;margin-right:.3rem}.quick-add{display:flex;margin-top:.7rem}.quick-add input{border-radius:11px 0 0 11px}.quick-add button{border:0;background:var(--ink);color:#fff;width:44px;border-radius:0 11px 11px 0}.quick-add svg{width:18px}.activity-list{display:grid;gap:.6rem}.activity-list>div{display:grid;grid-template-columns:auto 1fr;padding:.75rem;border:1px solid var(--line);border-radius:12px}.activity-list span{grid-row:1/3;background:var(--mint);border-radius:8px;padding:.4rem;margin-right:.7rem;font-size:.7rem;font-weight:800;align-self:center}.activity-list small,.empty-small{color:var(--muted)}.toast{position:fixed;bottom:1.5rem;left:50%;transform:translate(-50%);background:var(--ink);color:#fff;padding:.75rem 1rem;border-radius:12px;z-index:90;box-shadow:0 10px 30px #0003}.login-shell{min-height:100vh;display:grid;grid-template-columns:1.05fr .95fr;background:var(--paper)}.login-card{padding:clamp(2rem,8vw,8rem);align-self:center;max-width:760px}.brand-mark{width:64px;height:64px;border-radius:20px;background:var(--deep);color:var(--sun);display:flex;align-items:center;justify-content:center;position:relative;margin-bottom:2rem}.brand-mark svg{width:32px}.brand-mark svg+svg{position:absolute;width:15px;top:9px;right:9px;color:var(--coral)}.login-card h1{font:800 clamp(2.4rem,5vw,4.7rem)/1 Manrope,sans-serif;letter-spacing:-.06em;margin:.3rem 0 1.2rem}.login-copy{font-size:1.1rem;color:var(--muted);max-width:520px;line-height:1.6}.login-form{display:grid;gap:1rem;max-width:430px;margin:2rem 0}.form-message{font-size:.85rem;color:var(--muted)}.setup-note{background:#fff3cf;border-left:4px solid var(--sun);padding:1rem;border-radius:12px;max-width:430px;margin:2rem 0}.setup-note p{margin:.3rem 0 0;color:#6a592a}.login-art{background:var(--deep);position:relative;overflow:hidden;display:grid;place-items:center}.login-art>span{font:800 12rem/1 Manrope;color:#ffffff08;letter-spacing:-.1em}.sun-orbit{position:absolute;width:180px;height:180px;background:var(--coral);border-radius:50%;right:18%;top:15%;box-shadow:0 0 0 90px #ffffff05}.wave-lines{position:absolute;width:130%;height:220px;border:28px solid var(--sun);border-color:var(--sun) transparent transparent transparent;border-radius:50%;left:-15%;bottom:-40px;transform:rotate(-5deg)}.event-meta{display:flex;justify-content:space-between;gap:.7rem;align-items:center;background:#f1f3ef;border-radius:12px;padding:.8rem;font-size:.84rem;margin:1rem 0}.event-meta a{display:flex;align-items:center;gap:.3rem;font-weight:800}.event-meta svg{width:14px}.full{width:100%}.booking-form{display:grid;gap:.7rem;background:#f1f3ef;padding:1rem;border-radius:14px;margin:1rem 0}.booking-form label{display:grid;gap:.3rem;font-size:.8rem;font-weight:700}.booking-form input,.activity-add input,.activity-add select{border:1px solid #ccd5ce;background:#fff;border-radius:9px;padding:.65rem;width:100%}.booking-form>div{display:flex;justify-content:flex-end;gap:.5rem}.booked-check{display:flex;align-items:center;gap:.35rem;color:var(--muted);font-size:.76rem}.activity-add{display:grid;grid-template-columns:120px 1fr 42px;margin-top:.7rem}.activity-add select{border-radius:9px 0 0 9px}.activity-add input{border-radius:0}.activity-add button{border:0;background:var(--ink);color:#fff;border-radius:0 9px 9px 0}.activity-add svg{width:17px}@keyframes float{50%{transform:translateY(-8px)}}@media(max-width:1050px){.suggestion-grid{grid-template-columns:repeat(3,1fr)}.agenda-grid{grid-template-columns:1fr}.calendar-card{display:none}.weekend-hero{grid-template-columns:1fr}.hero-side{display:grid;grid-template-columns:1fr 1fr}.login-shell{grid-template-columns:1fr}.login-art{display:none}}@media(max-width:700px){.topbar{height:64px}.topbar nav{display:none}.weekend-hero{margin:0 .65rem;border-radius:22px}.hero-copy{padding:2rem 1.3rem}.hero-title h1{font-size:2.4rem}.hero-side{grid-template-columns:1fr;padding:1.2rem}.weather-state{min-height:100px}.agenda-section,.inspiration-section{padding:3.5rem 1rem}.section-heading{align-items:start;flex-direction:column;gap:1rem}.section-heading .primary{width:100%}.month-toolbar{align-items:flex-start;gap:.7rem;flex-direction:column}.suggestion-grid{grid-template-columns:1fr}.suggestion{min-height:220px}.event-card{grid-template-columns:auto 1fr;padding:.8rem}.event-card>svg{display:none}.event-info>div{align-items:flex-start;flex-direction:column}.event-form{grid-template-columns:1fr}.span-2{grid-column:1}.modal{padding:1rem;border-radius:18px}.hero-actions>*{width:100%}footer{flex-direction:column;gap:.5rem}.login-card{padding:2rem 1.25rem}.login-card h1{font-size:2.7rem}}.mobile-agenda-alert,.mobile-nav{display:none}.calendar-legend{display:flex;justify-content:flex-end;gap:1rem;color:var(--muted);font-size:.72rem;padding:.1rem .25rem .5rem}.calendar-legend span{display:flex;align-items:center;gap:.35rem}.calendar-legend i{width:7px;height:7px;border-radius:50%}.legend-event{background:var(--ink)}.legend-pending{background:var(--coral)}.calendar-grid button.has-pending{background:#fff5e9}.pending-count{position:absolute;right:3px;top:3px;min-width:18px;height:18px;padding:0 4px;border-radius:99px;background:var(--coral);color:#fff;display:grid;place-items:center;font-size:.65rem;line-height:1;box-shadow:0 2px 8px #ff795b50}.todos-section{padding:clamp(4rem,7vw,7rem) clamp(1rem,5vw,5rem);background:#f8f8f4;scroll-margin-top:1rem}.todo-filters{display:flex;gap:.55rem;margin-bottom:1.25rem}.todo-filters button{border:1px solid var(--line);background:var(--paper);color:var(--muted);border-radius:99px;padding:.6rem 1rem;font-weight:800}.todo-filters button.active{background:var(--ink);border-color:var(--ink);color:#fff}.todo-filters span{display:inline-grid;place-items:center;min-width:20px;height:20px;margin-left:.45rem;padding:0 .3rem;border-radius:99px;background:var(--coral);color:#fff;font-size:.7rem}.todo-hub{display:grid;gap:.7rem;max-width:1050px}.todo-hub-item{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:1rem;background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:.9rem 1rem}.todo-hub-item>label{display:grid;grid-template-columns:auto auto 1fr;align-items:center;gap:.75rem;cursor:pointer}.todo-hub-item input{position:absolute;opacity:0;pointer-events:none}.todo-check{width:26px;height:26px;border:2px solid #b7c3bc;border-radius:8px;display:grid;place-items:center;color:#fff}.todo-check svg{width:16px;opacity:0}.todo-main{display:grid;gap:.22rem}.todo-main small{color:var(--muted)}.todo-date{display:grid;text-align:right}.todo-date span{color:var(--muted);font-size:.7rem;text-transform:uppercase;font-weight:800}.todo-date strong{text-transform:capitalize}.todo-hub-item.done{opacity:.62}.todo-hub-item.done .todo-main strong{text-decoration:line-through}.todo-hub-item.done .todo-check{background:#4d8568;border-color:#4d8568}.todo-hub-item.done .todo-check svg{opacity:1}.todo-empty{min-height:180px}@media(max-width:1050px){.calendar-card{display:block}}@media(max-width:700px){body{padding-bottom:76px}.weekend-hero{min-height:0;grid-template-columns:1.25fr .75fr;border-radius:18px}.weekend-hero:before{display:none}.hero-copy{padding:1.15rem}.hero-copy .eyebrow{margin-bottom:.25rem;font-size:.64rem}.hero-title{gap:.4rem}.hero-title h1{font-size:1.4rem;line-height:1.05;letter-spacing:-.035em;margin:.15rem 0 .55rem}.hero-title .status{display:none}.hero-copy .location{font-size:.78rem;margin:.25rem 0}.hero-notes{display:none}.hero-actions{margin-top:.75rem}.hero-actions .primary{width:auto;padding:.62rem .8rem;border-radius:11px;font-size:.8rem}.hero-actions .ghost{display:none}.hero-side{display:flex;padding:.8rem;gap:.6rem}.hero-side .weather-state{min-height:66px;padding:.55rem;font-size:.72rem;border-radius:12px}.hero-side .weather-state svg{width:24px;height:24px}.weather-days{gap:.35rem}.weather-days>div{padding:.55rem;border-radius:12px}.weather-days svg{width:16px}.weather-days strong{font-size:1.25rem}.weather-days span{font-size:.58rem}.quick-stats{gap:.35rem}.quick-stats>div{gap:.35rem;font-size:.63rem}.quick-stats svg{width:15px}.quick-stats strong{font-size:.85rem}.agenda-section,.todos-section,.inspiration-section{padding:2.25rem .75rem;scroll-margin-top:.25rem}.agenda-section{padding-top:1.6rem}.section-heading{margin-bottom:1.1rem}.mobile-agenda-alert{display:flex;align-items:center;gap:.6rem;background:#fff0df;border:1px solid #ffd3ba;border-radius:13px;padding:.72rem .8rem;margin-bottom:.8rem;color:#6b4935;font-size:.82rem}.mobile-agenda-alert svg{width:18px;color:var(--coral)}.mobile-agenda-alert span{display:grid}.mobile-agenda-alert a{margin-left:auto;font-weight:800}.month-toolbar{align-items:center;gap:.6rem;flex-direction:row}.month-switcher{flex:1;justify-content:space-between}.month-switcher strong{min-width:0}.travel-meter{font-size:.72rem;padding:.48rem .65rem}.filters{padding:.8rem 0}.calendar-card{padding:.55rem;border-radius:16px}.calendar-legend{justify-content:flex-start;padding:.25rem .35rem .35rem}.calendar-grid button{min-height:48px}.calendar-grid button.has-event>span{width:29px;height:29px}.pending-count{right:1px;top:1px;min-width:17px;height:17px}.dot{bottom:3px}.event-list{margin-top:.25rem}.todo-hub-item{grid-template-columns:1fr auto;padding:.8rem}.todo-hub-item .ghost{display:none}.todo-date strong{font-size:.86rem}.todo-main strong{font-size:.9rem}.todo-main small{font-size:.72rem}.todo-filters{overflow:auto}.mobile-nav{position:fixed;display:grid;grid-template-columns:repeat(3,1fr);left:0;right:0;bottom:0;height:68px;background:#fffefaf2;border-top:1px solid var(--line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);z-index:40;padding:5px max(10px,env(safe-area-inset-right)) max(5px,env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left));box-shadow:0 -8px 30px #17302c12}.mobile-nav a{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;text-decoration:none;color:var(--muted);font-size:.68rem;font-weight:800}.mobile-nav svg{width:20px}.mobile-nav b{position:absolute;top:2px;left:calc(50% + 8px);min-width:17px;height:17px;padding:0 4px;border-radius:99px;background:var(--coral);color:#fff;display:grid;place-items:center;font-size:.62rem}}@media(max-width:430px){.weekend-hero{grid-template-columns:1fr}.hero-side{display:grid;grid-template-columns:1fr 1fr}.hero-side .weather-state,.weather-days,.quick-stats{grid-column:1/-1}.calendar-grid button{min-height:44px}}.agenda-grid{grid-template-columns:minmax(640px,1.35fr) minmax(310px,.65fr)}.weekend-calendar{display:grid;gap:.75rem;align-self:start}.week-row{display:grid;grid-template-columns:minmax(82px,.5fr) repeat(2,minmax(0,1fr));grid-template-areas:"work saturday sunday";gap:.65rem}.week-row.has-holiday{grid-template-columns:minmax(82px,.5fr) repeat(3,minmax(0,1fr));grid-template-areas:"work holiday saturday sunday"}.workweek-range{grid-area:work;background:#e9ece6;border:1px solid var(--line);border-radius:16px;padding:.8rem .65rem;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;color:var(--muted)}.workweek-range>span{font-size:.62rem;font-weight:800;letter-spacing:.08em}.workweek-range>strong{font:800 1.2rem Manrope,sans-serif;color:var(--ink);margin:.2rem 0}.workweek-range>small{font-size:.62rem;color:#a84a34;background:#fff2e8;padding:.18rem .3rem;border-radius:6px;margin-top:.2rem;text-transform:capitalize}.free-day-card{min-height:168px;background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:.8rem;display:flex;flex-direction:column;gap:.5rem;transition:.2s;overflow:hidden}.free-day-card:nth-last-child(2){grid-area:saturday}.free-day-card:last-child{grid-area:sunday}.week-row.has-holiday>.holiday-card{grid-area:holiday}.free-day-card.has-plan{cursor:pointer;border-color:#a9c2b5;box-shadow:0 8px 22px #17302c09}.free-day-card.has-plan:hover{transform:translateY(-2px);box-shadow:0 12px 26px #17302c13}.free-day-card header{display:flex;align-items:center;gap:.4rem}.free-day-card header>span{font-size:.65rem;font-weight:900;letter-spacing:.1em;color:#557269}.free-day-card header>strong{font:800 1.35rem Manrope,sans-serif}.free-day-card header>b{margin-left:auto;background:#f6d66e;color:#5d4a0e;padding:.22rem .38rem;border-radius:7px;font-size:.6rem;text-transform:uppercase}.holiday-card{background:#fff8df;border-color:#ead184}.holiday-name{margin:0;font-size:.75rem;font-weight:800;color:#745d1d}.day-weather{display:flex;align-items:center;gap:.25rem;color:#49645b;font-size:.68rem;white-space:nowrap}.day-weather svg{width:14px;height:14px;color:#e6a91f}.day-weather.muted{color:var(--muted)}.day-plan{display:grid;gap:.15rem;margin-top:auto}.day-plan small{font-size:.6rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:800}.day-plan strong{font:800 .82rem/1.2 Manrope,sans-serif}.day-pending{display:flex;align-items:center;gap:.3rem;color:#9e442f;font-size:.67rem;font-weight:800}.day-pending svg{width:13px}.holiday-stack{grid-area:holiday;display:grid;gap:.45rem}.holiday-stack .free-day-card{min-height:168px}.work-plan{border:0;background:#d9e6df;color:#234d42;border-radius:7px;padding:.25rem .35rem;font-size:.6rem;font-weight:800;line-height:1.2;margin-top:.25rem;max-width:100%}.holiday-stack .free-day-card{grid-area:auto!important}.week-row>.free-day-card:nth-last-child(2){grid-area:saturday}.week-row>.free-day-card:last-child{grid-area:sunday}@media(max-width:1200px){.agenda-grid{grid-template-columns:1fr}.event-list{grid-template-columns:repeat(2,1fr)}}@media(max-width:700px){.weekend-calendar{gap:.6rem}.week-row,.week-row.has-holiday{grid-template-columns:62px minmax(0,1fr) minmax(0,1fr);grid-template-areas:"work saturday sunday"}.week-row.has-holiday{grid-template-areas:"work holiday holiday" "work saturday sunday"}.workweek-range{grid-row:1/-1;padding:.55rem .25rem;border-radius:13px}.workweek-range>span{font-size:.52rem}.workweek-range>strong{font-size:.95rem}.workweek-range>small{font-size:.55rem;padding:.14rem .18rem}.free-day-card{min-height:146px;padding:.65rem;border-radius:13px;gap:.35rem}.free-day-card header>strong{font-size:1.15rem}.day-weather{font-size:.6rem;white-space:normal}.day-plan strong{font-size:.74rem}.event-list{grid-template-columns:1fr}}@media(max-width:700px){.week-row,.week-row.has-holiday{grid-template-columns:82px minmax(0,1fr) minmax(0,1fr)}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
