
@import url('https://fonts.googleapis.com/css2?family=Nunito+Sans:wght@400;500;600;700;800;900&family=Fraunces:opsz,wght,SOFT,WONK@9..144,600,30,1;9..144,700,30,1&display=swap');
:root{--ink:#302840;--muted:#877c98;--violet:#7961c9;--violet-dark:#5c479e;--rose:#ffc9b9;--gold:#f7d383;--mint:#caf0d9;--sky:#d9eeff;--paper:#faf8ff;--line:#eee8f4;--surface:#fff;--radius:22px;--shadow:0 15px 45px rgba(67,42,103,.07)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:500 14px/1.55 'Nunito Sans',system-ui,-apple-system,sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.5;cursor:not-allowed}input,select,textarea{color:var(--ink)}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #baa5f5;outline-offset:2px}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin-top:0}h1,h2,.serif{font-family:Fraunces,Georgia,serif;letter-spacing:-.04em;line-height:1.14}h1{font-size:clamp(30px,4vw,48px)}h2{font-size:clamp(24px,3vw,33px)}h3{font-size:17px;letter-spacing:-.3px}small{font-size:12px}.muted{color:var(--muted)}.hide{display:none!important}.app-shell{min-height:100dvh;display:grid;grid-template-columns:238px minmax(0,1fr)}.sidebar{position:sticky;top:0;height:100dvh;background:#fff;border-right:1px solid var(--line);padding:27px 16px;display:flex;flex-direction:column;z-index:11}.brand{display:flex;align-items:center;gap:10px;padding:5px 8px 28px}.brand-mark{height:48px;width:48px;border-radius:17px;background:linear-gradient(150deg,#eae4ff,#fff1f1);display:grid;place-items:center;box-shadow:inset 0 0 0 1px #fff;font-size:29px}.brand-name{font:700 26px/1 Fraunces,Georgia,serif;color:#6953b7;letter-spacing:-1px}.brand-caption{font-size:9px;letter-spacing:1.3px;color:#b0a4ba;font-weight:800;text-transform:uppercase;margin-top:4px}.navlabel{font-size:10px;letter-spacing:2px;text-transform:uppercase;color:#ad9eb7;font-weight:800;margin:8px 14px 9px}.navbtn{display:flex;gap:12px;align-items:center;width:100%;border:0;background:transparent;color:#8d8498;border-radius:14px;margin:2px 0;padding:13px 15px;text-align:left;font-weight:800}.navbtn.active{background:#f0ebff;color:#7258c0}.navbtn:hover{background:#f7f3ff;color:#7258c0}.navbtn .ico{font-size:19px;width:22px;text-align:center}.side-bonus{margin-top:auto;background:linear-gradient(135deg,#f0e9ff,#fff1e6);border-radius:20px;padding:17px}.side-bonus .emoji{font-size:31px}.side-bonus strong{font:600 18px Fraunces,Georgia,serif;color:#6855a4;display:block;line-height:1.25;margin:9px 0}.side-bonus p{color:#867ca4;font-size:11px;margin:0}.main{padding:28px clamp(18px,3vw,45px) 100px;max-width:1480px;width:100%;margin:auto}.topbar{display:flex;gap:12px;justify-content:space-between;align-items:center;margin-bottom:24px}.eyebrow{color:#a497b1;text-transform:uppercase;letter-spacing:1.8px;font-size:10px;font-weight:800}.topbar h1{font-size:clamp(26px,3vw,35px);margin:4px 0}.toptools{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.selectbox{background:#fff;border:1px solid var(--line);padding:10px 13px;border-radius:13px;font-size:12px;font-weight:800;max-width:185px;height:43px}.selectbox select{background:transparent;border:0;max-width:142px;outline:none}.language{border:1px solid var(--line);border-radius:13px;background:#fff;padding:10px 11px;min-height:43px;display:flex;align-items:center;gap:7px;font-size:12px;font-weight:800;color:#615478}.language select{border:0;outline:0;background:transparent;color:#615478;font-weight:800;cursor:pointer;max-width:90px}.badge{background:#f2edff;border-radius:100px;color:#7760ad;padding:7px 11px;font-size:11px;font-weight:800;white-space:nowrap}.card{background:#fff;border:1px solid #eee9f5;border-radius:23px;box-shadow:var(--shadow);padding:24px}.card.flat{box-shadow:none}.cardhead{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:18px}.cardhead h3{margin:0}.cardhead p{font-size:12px;color:var(--muted);margin:5px 0 0}.grid{display:grid;gap:18px}.grid.two{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr)}.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.stack{display:flex;flex-direction:column;gap:19px}.row{display:flex;gap:12px;align-items:center}.spread{justify-content:space-between}.wrap{flex-wrap:wrap}.btn{min-height:43px;border:0;border-radius:13px;padding:11px 17px;font-size:12px;font-weight:800;background:var(--violet);color:white;display:inline-flex;align-items:center;justify-content:center;gap:9px;box-shadow:0 7px 18px #7961c92b}.btn:hover{background:var(--violet-dark)}.btn.outline{background:#fff;border:1px solid #e8dff4;color:#725cb1;box-shadow:none}.btn.outline:hover{background:#f5f0ff}.btn.soft{background:#f1eaff;color:#755dbb;box-shadow:none}.btn.soft:hover{background:#e9e0fc}.btn.danger{background:#b9547c}.btn.small{min-height:36px;padding:8px 12px;font-size:11px}.btn.full{width:100%}.circle-btn{border:0;background:#f5f1fb;color:#7567a0;border-radius:12px;width:34px;height:34px;display:grid;place-items:center;font-size:16px}.circle-btn:hover{background:#ebe3f8}.hero{position:relative;border-radius:27px;min-height:228px;background:linear-gradient(108deg,#6f56b4,#987bda 65%,#b0a1ed);color:#fff;padding:29px 34px;overflow:hidden;isolation:isolate;display:flex;align-items:center}.hero:before{content:"";position:absolute;inset:auto -80px -220px auto;width:400px;height:400px;border-radius:50%;background:#ffffff1d;z-index:-1}.hero:after{content:"✦  ✧  ✦";position:absolute;top:23px;right:110px;color:#fdefba;font-size:27px;letter-spacing:35px}.hero-content{max-width:560px;z-index:2}.hero h2{font-size:clamp(26px,3.3vw,39px);max-width:510px;margin:8px 0 10px}.hero p{font-size:13px;color:#f4eaff;line-height:1.7;max-width:400px}.hero .btn{background:#fff;color:#7056ae;box-shadow:none}.hero .eyebrow{color:#efdefd}.mascot{position:absolute;right:6%;bottom:28px;width:175px;height:130px;filter:drop-shadow(0 14px 15px #3e2d7160);z-index:1}.cloud-body{width:150px;height:93px;background:#fff;border-radius:55px;position:absolute;bottom:4px;left:13px}.cloud-body:before{content:"";width:95px;height:90px;border-radius:50%;background:#fff;position:absolute;top:-39px;left:22px}.cloud-body:after{content:"";width:82px;height:77px;border-radius:50%;background:#fff;position:absolute;top:-24px;right:0}.cloud-face{position:absolute;top:37px;left:48px;color:#7c68b4;letter-spacing:24px;font-size:13px;z-index:3}.cloud-face:after{content:"ᴗ";position:absolute;left:18px;top:8px;font-size:23px;letter-spacing:0}.blush{position:absolute;z-index:4;top:56px;left:27px;border-radius:50%;width:20px;height:9px;background:#ffd6dd;box-shadow:77px 0 0 #ffd6dd}.hero-star{position:absolute;right:11px;top:5px;font-size:38px;color:#ffe69d}.metric{display:flex;align-items:center;gap:12px;padding:19px;border:1px solid #eee8f4;background:#fff;border-radius:21px;min-width:0}.metric-icon{width:48px;height:48px;border-radius:16px;display:grid;place-items:center;flex:none;font-size:24px}.metric small{color:#9c90a8;font-size:11px;display:block}.metric strong{font-size:21px;letter-spacing:-.5px}.progress{height:9px;background:#f0eaf6;border-radius:99px;overflow:hidden}.progress span{height:100%;display:block;background:linear-gradient(90deg,#b6a3f0,#7961c9);border-radius:99px;transition:width .3s}.task{display:flex;align-items:center;gap:10px;border-bottom:1px solid #f3eff8;padding:13px 1px}.task:last-child{border:0}.task-emoji{height:44px;width:44px;background:#f6f0ff;border-radius:13px;display:grid;place-items:center;font-size:22px;flex:none}.task-text{min-width:0;flex:1}.task-text b{font-size:13px;display:block;overflow-wrap:anywhere}.task-text small{color:#a39aae}.task-text .done{text-decoration:line-through;color:#aba4b8}.task-complete{width:34px;height:34px;background:#fff;border:2px solid #e7e2f0;border-radius:12px;color:#fff;display:grid;place-items:center;font-weight:800;flex:none}.task-complete.yes{background:#68b99b;border-color:#68b99b}.tag{background:#f5f0ff;color:#7a64ad;font-size:10px;font-weight:800;padding:5px 9px;border-radius:100px;white-space:nowrap}.datestrip{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.datestrip input,.field input,.field select,.field textarea{background:#fff;border:1px solid #e8e0f0;min-height:45px;border-radius:12px;padding:10px 12px;width:100%;font-size:13px}.datestrip input{max-width:180px}.tabs{background:#f0ebfa;padding:5px;border-radius:14px;display:flex;gap:4px;flex-wrap:wrap}.tabs button{border:0;background:none;color:#a098b0;font-size:12px;font-weight:800;padding:9px 14px;border-radius:11px}.tabs button.active{background:#fff;color:#7057b7;box-shadow:0 2px 8px #4f39791a}.empty{text-align:center;color:#a396ae;padding:32px 10px}.empty .e{font-size:43px}.empty b{color:#574863;display:block;margin:7px}.empty p{font-size:12px;max-width:330px;margin:9px auto 16px}.profile-card{border:1px solid #eee8f4;background:white;border-radius:21px;padding:22px}.avatar{height:65px;width:65px;background:#efe8ff;border-radius:19px;display:grid;place-items:center;font-size:34px}.profile-card h3{margin:12px 0 3px}.profile-card p{font-size:12px;color:var(--muted)}.sleep-row{display:flex;gap:12px;align-items:center;padding:15px 0;border-bottom:1px solid var(--line)}.sleep-row:last-child{border:0}.sleep-row .value{font-weight:800;color:#735abe;margin-left:auto;white-space:nowrap}.sleep-graph{display:flex;gap:9px;align-items:end;height:104px;padding-top:14px}.sleep-graph div{flex:1;background:linear-gradient(0deg,#aa93eb,#dcccf9);border-radius:10px 10px 3px 3px;min-height:6px}.sleep-labels{display:flex;gap:9px;margin:8px 0 0;color:#aa9cb6;font-size:10px}.sleep-labels span{flex:1;text-align:center}.fieldset{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.field{display:flex;flex-direction:column;gap:6px}.field.full{grid-column:1/-1}.field label{font-size:12px;font-weight:800;color:#716881}.field input:focus,.field select:focus,.field textarea:focus{border-color:#9d85dc;background:#fff}.week{display:flex;gap:7px;flex-wrap:wrap}.week label{cursor:pointer}.week input{position:absolute;opacity:0;pointer-events:none}.week label span{display:grid;place-items:center;width:36px;height:36px;background:white;border:1px solid #e6dff0;border-radius:11px;color:#9d94a9;font-size:11px;font-weight:800}.week input:checked+span{background:#8066c5;color:#fff;border-color:#8066c5}.week input:focus-visible+span{outline:3px solid #baa5f5}.modal-backdrop{position:fixed;inset:0;background:#2b214c88;z-index:100;display:grid;place-items:center;padding:15px;backdrop-filter:blur(6px)}.modal{background:#fff;width:min(100%,550px);border-radius:25px;padding:25px;max-height:92dvh;overflow:auto;box-shadow:0 20px 70px #24183d47}.modal-head{display:flex;align-items:start;justify-content:space-between;gap:15px;margin-bottom:17px}.modal-head h2{font-size:26px;margin:0}.modal-head p{font-size:12px;color:var(--muted);margin:6px 0 0}.modal-foot{margin-top:20px;display:flex;justify-content:flex-end;gap:9px;flex-wrap:wrap}.toast{position:fixed;bottom:27px;left:50%;transform:translateX(-50%);z-index:110;background:#372947;color:white;border-radius:16px;box-shadow:0 10px 35px #241e3a44;font-size:12px;font-weight:800;max-width:90%;text-align:center;padding:12px 20px}.auth-shell{min-height:100dvh;display:grid;grid-template-columns:1.05fr .95fr;background:#fff}.auth-art{min-height:100dvh;background:radial-gradient(circle at 14% 12%,#fdf0fda8 0,transparent 30%),linear-gradient(152deg,#7860ba,#a88ad2 64%,#e9afca);color:white;position:relative;overflow:hidden;padding:52px clamp(28px,5vw,90px);display:flex;flex-direction:column}.auth-art .brand-name{color:#fff}.auth-art .brand-caption{color:#f4e7ff}.auth-copy{margin:auto 0;max-width:540px}.auth-copy h1{font-size:clamp(43px,6vw,77px);margin:13px 0}.auth-copy p{max-width:400px;line-height:1.8;color:#f5e9ff;font-size:15px}.auth-art .mascot{width:235px;height:170px;right:9%;bottom:12%;transform:scale(1.25)}.auth-art .blob{position:absolute;border-radius:50%;height:450px;width:450px;right:-220px;bottom:-160px;background:#ffffff20}.auth-right{display:grid;place-items:center;padding:40px 26px;position:relative}.auth-form{width:min(100%,422px);background:#fff}.auth-form h2{font-size:40px;margin:9px 0}.auth-form p{font-size:13px;color:var(--muted);line-height:1.7}.auth-form .field{margin-bottom:15px}.auth-form .field input{min-height:49px;background:#fcfaff}.auth-form .btn{min-height:49px}.auth-language{position:absolute;top:30px;right:30px}.auth-bottom{margin-top:24px;color:#8c829c;font-size:12px}.auth-bottom button{color:#7458b7;background:transparent;border:0;font-weight:800;padding:0}.notice{background:#f5f1fc;color:#746886;border:1px solid #eae3f6;border-radius:15px;padding:13px 16px;font-size:12px;line-height:1.6}.notice.warning{background:#fff7e6;border-color:#fae8ba;color:#8b6c33}.kid-shell{min-height:100dvh;background:radial-gradient(circle at 10% 0,#f9e5f4 0,transparent 28%),radial-gradient(circle at 100% 10%,#e4f4ff 0,transparent 30%),#faf7ff;padding:20px 16px 70px}.kid-frame{max-width:860px;margin:auto}.kid-top{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:21px}.kid-hero{padding:29px;border-radius:27px;background:linear-gradient(110deg,#e6d7fb,#f9e4ee);display:flex;align-items:center;justify-content:space-between;gap:10px}.kid-hero h1{color:#6c52a7;margin:4px 0}.kid-hero p{color:#8b75ab;margin:0}.kid-hero .kid-avatar{font-size:72px}.kid-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;margin-top:17px}.kid-card{background:white;min-height:158px;border-radius:22px;border:2px solid #ece5f6;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;padding:15px;color:#615270;font-weight:800;box-shadow:0 7px 18px #5b3a8c0c}.kid-card.checked{background:#edfbf3;border-color:#a5d6bc}.kid-card .big{font-size:45px}.kid-card small{font-size:11px;color:#988ba5}.starbox{background:#fff8e7;border:1px solid #f8e5ae;border-radius:18px;padding:15px;text-align:center;color:#9b7927;margin-top:16px;font-weight:800}.medal{border:1px solid #ede4f5;border-radius:20px;background:#fff;padding:20px;text-align:center}.medal .emoji{font-size:38px}.medal b{display:block;margin:9px 0 2px}.medal p{font-size:11px;color:var(--muted)}.footer-mobile{display:none}.languageselect select{border:1px solid #e8e0f0;border-radius:12px;padding:10px 12px;background:#fff}.hint{font-size:11px;color:#988ea7}.error-text{background:#fff0f0;color:#a04757;border-radius:12px;padding:12px;font-size:12px;line-height:1.6;margin:10px 0}.spin{display:inline-block;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
@media(max-width:1180px){.grid.four{grid-template-columns:repeat(2,minmax(0,1fr))}.hero .mascot{right:2%}.hero-content{max-width:75%}}
@media(max-width:920px){.app-shell{grid-template-columns:1fr}.sidebar{display:none}.main{padding:22px 17px 104px}.footer-mobile{display:grid;grid-template-columns:repeat(6,1fr);position:fixed;bottom:0;left:0;right:0;padding:8px 4px calc(8px + env(safe-area-inset-bottom));background:#fff;border-top:1px solid #f0e9fa;box-shadow:0 -6px 26px #4e31800e;z-index:25}.footer-mobile .navbtn{display:flex;flex-direction:column;align-items:center;text-align:center;padding:4px;gap:1px;font-size:9px;margin:0;min-height:48px}.footer-mobile .navbtn .ico{font-size:20px;width:auto}.auth-shell{grid-template-columns:1fr}.auth-art{min-height:300px;padding:26px 28px}.auth-copy{margin:35px 0}.auth-copy h1{font-size:41px;max-width:370px}.auth-copy p{font-size:12px}.auth-art .mascot{transform:scale(.85);right:9%;bottom:0}.auth-right{min-height:470px;padding:35px 23px}.auth-language{top:17px;right:16px}}
@media(max-width:650px){.grid.two,.grid.three{grid-template-columns:1fr}.hero{padding:25px 23px;min-height:225px}.hero .mascot{opacity:.28;right:-65px;transform:scale(.95)}.hero-content{max-width:100%}.hero h2{font-size:30px}.topbar{align-items:flex-start}.toptools{justify-content:end}.toptools .selectbox{max-width:148px}.topbar h1{font-size:29px}.card{padding:19px}.metric{padding:13px;gap:8px}.metric-icon{width:39px;height:39px;font-size:19px}.metric strong{font-size:18px}.metric small{font-size:10px}.grid.four{gap:10px}.fieldset{grid-template-columns:1fr}.field.full{grid-column:1}.modal{padding:20px}.kid-grid{gap:9px}.kid-card{min-height:138px}.kid-hero{padding:21px}.kid-hero .kid-avatar{font-size:45px}.auth-art{min-height:260px}.auth-copy h1{font-size:35px}.auth-art .mascot{right:-35px;bottom:-19px;opacity:.5;transform:scale(.66)}.auth-form h2{font-size:34px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}

/* Nuvilá 4.0 — rotinas ilustradas em um clique */
.starter{display:flex;align-items:center;gap:18px;background:linear-gradient(100deg,#fff7ec 0%,#fff 42%,#f5f0ff 100%);border:1px solid #eee2ff;box-shadow:0 9px 30px rgba(84,54,130,.045)}
.starter-emoji{display:grid;place-items:center;background:linear-gradient(135deg,#fee9c7,#e3d7ff);width:70px;height:70px;border-radius:24px;font-size:36px;flex-shrink:0}
.starter-copy{flex:1;min-width:0}
.starter-copy h3{font:700 22px/1.2 Fraunces,Georgia,serif;color:#564382;margin:5px 0 7px}
.starter-copy p{font-size:13px;line-height:1.45;color:#6e607e;margin:0}
.btn.starter-action{background:#644caa;color:white;border:0;white-space:nowrap}
.btn.starter-action:hover{background:#4f3a8e}
.modal:has(.kit-panel){width:min(100%,825px)}
.kit-panel{display:grid;grid-template-columns:minmax(0,0.87fr) minmax(0,1.13fr);gap:18px;align-items:start}
.kit-choice{display:grid;gap:11px}
.kit-option{display:flex;align-items:center;text-align:left;width:100%;gap:11px;background:#fff;border:1.5px solid #eee5f7;border-radius:17px;padding:14px;color:#423451;min-height:86px}
.kit-option.chosen,.kit-option:hover{border-color:#9579d7;background:#f8f5ff;box-shadow:0 3px 11px rgba(84,54,130,.08)}
.kit-option-icon{font-size:26px;background:#f1ebfb;border-radius:15px;width:47px;height:47px;display:grid;place-items:center;flex-shrink:0}
.kit-option span:nth-child(2){flex:1;min-width:0}
.kit-option strong,.kit-option small{display:block}
.kit-option strong{font-weight:800;font-size:14px}
.kit-option small{color:#857991;line-height:1.4;font-size:11px;margin-top:3px}
.kit-preview{background:#fdfbff;border:1px solid #efe8f9;border-radius:18px;padding:17px}
.kit-preview-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}
.kit-preview-head h3{font:700 21px/1.25 Fraunces,Georgia,serif;margin:5px 0 0;color:#483b60}
.kit-steps{list-style:none;padding:0;margin:11px 0;max-height:340px;overflow:auto}
.kit-steps li{display:flex;align-items:center;gap:9px;padding:10px 3px;border-bottom:1px dashed #ece6f4}
.kit-steps li:last-child{border:0}
.kit-picto{font-size:21px;width:34px;flex-shrink:0}
.kit-detail{flex:1;min-width:0}
.kit-detail strong{display:block;font-size:12px;color:#493d61;line-height:1.3}
.kit-detail small{display:block;font-size:10px;color:#91859d;margin-top:3px}
.kit-time{font-weight:800;color:#6f5bac;font-size:12px;font-variant-numeric:tabular-nums}
.kit-note{background:#f2edfe;color:#675380;border-radius:12px;padding:11px;font-size:11px;line-height:1.5}
.kid-next{background:linear-gradient(110deg,#f7efff,#fff4df);border:1px solid #e8d7fa;border-radius:23px;padding:20px;margin-top:20px}
.kid-next-button{display:flex;align-items:center;gap:14px;width:100%;border:0;border-radius:17px;padding:12px 15px;text-align:left;background:#fff;color:#493957;margin-top:11px}
.kid-next-button:hover{background:#fffdfa}
.kid-next-emoji{font-size:41px;width:65px;height:66px;border-radius:17px;background:#eee6fa;display:grid;place-items:center;flex-shrink:0}
.kid-next-button span:nth-child(2){flex:1;min-width:0}
.kid-next-button strong{display:block;font:700 20px Fraunces,Georgia,serif}
.kid-next-button small{display:block;color:#867891;margin-top:4px}
.kid-next-check{background:#7255be;color:white;border-radius:50%;width:36px;height:36px;display:grid;place-items:center}
.kid-next-done{color:#5c458c;font-weight:800;text-align:center}
.kid-all-heading{margin-top:24px;font-size:15px;color:#6a5683}
@media(max-width:720px){
 .starter{align-items:flex-start;flex-wrap:wrap;gap:12px;padding:16px}
 .starter-emoji{width:56px;height:56px;border-radius:19px;font-size:29px}
 .starter-copy h3{font-size:19px}
 .starter .starter-action{width:100%;text-align:center;justify-content:center}
 .kit-panel{grid-template-columns:1fr}
 .kit-choice{grid-template-columns:1fr}
 .kit-option{min-height:69px;padding:10px}
 .kit-preview{padding:13px}
 .kit-steps{max-height:230px}
 .modal:has(.kit-panel){padding:17px}
 .kid-next-button strong{font-size:17px}
 .kid-next-button{gap:10px;padding:9px}
}


/* ══ NUVILÁ SIGNATURE · Visual system 5.0 ══ */
:root{
  --ink:#2e2945;--muted:#756c88;--violet:#6846b7;--violet-dark:#50328f;
  --rose:#f8cbdc;--gold:#f8dd98;--mint:#d0efe5;--sky:#dfe9ff;
  --paper:#f8f7fc;--line:#e9e5f1;--surface:#ffffff;
  --shadow:0 16px 50px rgba(53,37,101,.075)
}
body{background:radial-gradient(ellipse at 91% 2%,#efebff 0,transparent 26%),var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased}
h1,h2,h3{font-weight:700;letter-spacing:-.035em}
h3{font-size:18px}
.app-shell{grid-template-columns:244px minmax(0,1fr)}
.sidebar{background:#fff;border-right-color:#efecf5;padding:29px 16px 20px}
.sidebar:before{content:"";position:absolute;top:0;left:0;width:100%;height:5px;background:linear-gradient(90deg,#c4a9ef,#ffcecc,#f8dea0)}
.brand{gap:12px}
.brand-mark{width:54px;height:54px;background:#eee7ff url('./assets/nuvila-cloud.svg') center/cover no-repeat;font-size:0;border-radius:18px;box-shadow:0 8px 18px #7456b01a}
.brand-name{color:#5c419b;font-size:28px}
.brand-caption{font-size:9px;letter-spacing:.7px;color:#8f819d}
.navbtn{font-size:13px;min-height:47px;border-radius:15px}
.navbtn.active{background:#eee8fa;color:#583d9c;box-shadow:inset 3px 0 0 #8b6ad0}
.navbtn:hover{background:#f6f2fe}
.main{padding-top:35px}
.topbar{margin-bottom:26px}
.topbar h1{color:#33294e}
.card{border:1px solid #ece8f4;box-shadow:0 9px 30px rgba(68,45,103,.048);border-radius:24px}
.btn{background:#6445ae;color:#fff;border-radius:14px;min-height:45px;font-size:13px;padding:11px 17px;font-weight:900;box-shadow:0 6px 18px #6846b71e;transition:transform .18s ease,box-shadow .18s ease,background .18s ease}
.btn:hover{background:#533491;transform:translateY(-1px);box-shadow:0 10px 25px #6846b72a}
.btn:active{transform:translateY(0)}
.btn.outline{color:#6044a3;border:1.5px solid #ded4ed}
.btn.soft{background:#ede7fc;color:#5b3d9a}
.selectbox,.language{border-radius:14px;border-color:#e7dff1}
.metric{border:1px solid #eeebf4;box-shadow:0 7px 18px #4d387308;min-height:93px}
.metric small{color:#756a88;font-size:12px}
.metric strong{font-weight:900;color:#342a4f}
.hero{background:linear-gradient(113deg,#4d367f 0%,#7559b7 58%,#9a82d5 100%);border:1px solid #6f5aad;border-radius:29px;box-shadow:0 18px 37px #6048992b;min-height:244px}
.hero:before{background:#ffffff1a}
.hero:after{top:22px;right:117px;opacity:.8}
.hero h2{font-size:clamp(28px,3.4vw,43px);max-width:560px}
.hero p{font-size:14px;line-height:1.7}
.hero .btn{color:#5a418e;font-weight:900}
.hero .btn:hover{background:#fbf4ff}
.starter{background:linear-gradient(110deg,#fff8ef,#fffdfb 42%,#f2ecff)}
.starter-copy h3{font-size:24px;color:#40305f}
.starter-emoji{background:linear-gradient(140deg,#fff0cf,#e9dafa)}
.kit-option.chosen,.kit-option:hover{border-color:#7656b5}
.kit-preview{background:#fdfcff}
.badge{color:#654799;background:#eee9fa}
.tag{background:#f4eefe;color:#63499d}
.task-complete{height:42px;width:42px;border-radius:13px}
.task-complete.yes{background:#448d76;border-color:#448d76}
.task-emoji{height:48px;width:48px;border-radius:16px}
.task{padding:14px 1px}
.task-text b{font-size:14px;color:#403455}
.notice{color:#665875;background:#f5f1fc}
.language select{min-width:45px}
.kid-card{border-radius:25px;min-height:170px}
.kid-card.checked{border-color:#78c8a8}
.kid-card:active{transform:scale(.985)}
.kid-card:focus-visible{outline:3px solid #7859c8;outline-offset:3px}
.auth-art{background:radial-gradient(circle at 90% 86%,#dfb0d66e 0,transparent 30%),radial-gradient(circle at 15% 10%,#d7c6f68a 0,transparent 30%),linear-gradient(147deg,#503b84,#8766b7 70%,#ab86c7)}
.auth-copy h1{letter-spacing:-.055em}
.auth-right{background:#fdfbff}
.auth-form{padding:22px;border-radius:22px}
.auth-form h2{color:#33274e}
input,select{accent-color:#7351b6}
::selection{background:#d9caf6;color:#342553}

/* One-touch start — quick guide */
.journey{background:linear-gradient(135deg,#fff,#faf6ff);overflow:hidden;border:1.5px solid #e6def2;position:relative}
.journey:after{content:"✦";position:absolute;top:-48px;right:22px;font-size:150px;color:#f4ebff;pointer-events:none}
.journey-top{position:relative;z-index:1;display:flex;justify-content:space-between;align-items:center;gap:18px}
.journey-top h3{font-size:24px;font-family:Fraunces,Georgia,serif;margin:6px 0 4px}
.journey-top p{color:var(--muted);font-size:13px;margin:0}
.journey-count{font-weight:900;font-size:30px;color:#664bad;background:#f1ecfc;border-radius:17px;width:73px;height:65px;display:flex;align-items:center;justify-content:center}
.journey-count small{font-size:12px;color:#917eaf}
.journey-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:23px 0 18px;position:relative;z-index:1}
.journey-step{display:flex;align-items:center;gap:9px;padding:12px;border-radius:14px;border:1px solid #eee7f6;background:#fff;color:#8f839a;font-size:12px;font-weight:800;line-height:1.35}
.journey-step.current{color:#5b4393;border-color:#c3afe5;background:#f8f4ff}
.journey-step.finished{color:#357c67;border-color:#d0eadd;background:#f0fbf5}
.journey-number{display:grid;place-items:center;flex:none;width:29px;height:29px;border-radius:10px;background:#f5f1fa;color:#9583aa;font-size:13px}
.current .journey-number{background:#7455b4;color:#fff}
.finished .journey-number{background:#57a388;color:#fff}

/* Next meaningful step */
.next-moment{display:flex;align-items:center;gap:17px;background:#fff;border:1.5px solid #ebe5f4;border-radius:23px;padding:20px 23px;box-shadow:0 8px 20px #49346808}
.next-moment .next-symbol{display:grid;place-items:center;flex:none;width:69px;height:69px;background:linear-gradient(130deg,#f4e6ff,#e8eeff);border-radius:22px;font-size:35px}
.next-moment h3{font:700 22px/1.23 Fraunces,Georgia,serif;color:#463267;margin:5px 0 3px}
.next-moment p{color:#80738e;font-size:12px;margin:0}
.next-moment .next-text,.next-moment>div{flex:1}
.next-moment.complete{background:linear-gradient(100deg,#f6fff9,#fff)}
.next-action{white-space:nowrap}

/* Print-ready visual poster for home */
.modal:has(.poster-modal){width:min(100%,740px)}
.poster-modal{display:flex;flex-direction:column;gap:15px}
.printable-poster{background:linear-gradient(145deg,#f9f5ff,#fffefa);border:7px solid #fff;outline:1px solid #e9ddf9;border-radius:24px;padding:27px 30px;color:#47395c;position:relative;overflow:hidden}
.poster-stars{text-align:right;color:#c1a6de;font-size:18px;letter-spacing:10px}
.poster-brand{text-align:center;color:#7656a9;font:700 20px Fraunces,Georgia,serif}
.printable-poster h3{font:700 35px/1.12 Fraunces,Georgia,serif;text-align:center;color:#513582;margin:8px 0}
.printable-poster>p{text-align:center;color:#756883;font-weight:800;margin:0 0 25px;font-size:13px}
.printable-poster>p span{margin:0 8px}
.poster-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}
.poster-item{background:#fff;border:1px solid #eee6f6;border-radius:15px;display:flex;align-items:center;gap:10px;padding:11px;min-height:73px}
.poster-emoji{width:48px;height:48px;border-radius:13px;background:#f3ecfb;display:grid;place-items:center;font-size:24px;flex:none}
.poster-activity{display:flex;flex:1;flex-direction:column;min-width:0}
.poster-activity strong{font-size:12px;line-height:1.25;overflow-wrap:anywhere}
.poster-activity small{font-size:11px;color:#9385a3;font-weight:800;margin-top:3px}
.poster-check{font-size:20px;color:#63aa8a}
.printable-poster footer{margin-top:25px;text-align:center;font:700 12px Fraunces,Georgia,serif;color:#8f7bae}
.poster-empty{text-align:center;padding:50px 12px;color:#846e9f}
.poster-actions{display:flex;gap:15px;align-items:center;justify-content:space-between}
.poster-actions .hint{max-width:300px}

@media(max-width:920px){
.app-shell{grid-template-columns:1fr}
.footer-mobile .navbtn.active{box-shadow:none}
.main{padding-top:23px}
}
@media(max-width:650px){
.topbar{flex-direction:column;align-items:stretch;gap:12px}
.toptools{justify-content:flex-start}
.topbar .eyebrow{max-width:330px}
.journey-steps{grid-template-columns:1fr}
.journey-top h3{font-size:21px}
.journey{padding:19px}
.next-moment{flex-wrap:wrap;padding:17px}
.next-moment .next-symbol{width:58px;height:58px;font-size:29px}
.next-moment h3{font-size:19px}
.next-moment .next-action{width:100%}
.poster-list{grid-template-columns:1fr}
.printable-poster{padding:20px 15px}
.printable-poster h3{font-size:28px}
.poster-actions{flex-direction:column;align-items:stretch}
.poster-actions .btn{width:100%}
.footer-mobile{grid-template-columns:repeat(6,minmax(0,1fr));gap:0}
.footer-mobile .navbtn{min-width:0;font-size:9px;line-height:1.25;word-break:normal}
.footer-mobile .navbtn .ico{font-size:18px}
}
@media (prefers-reduced-motion: reduce){.btn{transition:none!important}}
@media print{
 @page{size:A4 portrait;margin:12mm}
 body{background:#fff!important}
 body *{visibility:hidden!important;box-shadow:none!important}
 .printable-poster,.printable-poster *{visibility:visible!important}
 .printable-poster{position:absolute!important;left:0!important;top:0!important;width:100%!important;
  border:4px solid #ded0ed!important;outline:none!important;box-shadow:none!important;
  background:#fff!important;padding:16mm!important;border-radius:15px!important}
 .poster-list{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 .poster-item{break-inside:avoid;border:1px solid #ded6e5!important}
 .modal,.modal-backdrop,.app-shell{position:static!important;display:block!important;overflow:visible!important;height:auto!important;max-height:none!important}
 .poster-actions{display:none!important}
}


/* NUVILA PATCH 5.1 — Mascote ocupa espaço próprio, nunca por cima do texto */
.auth-art {
  isolation: isolate;
  gap: 18px;
}
.auth-art .brand { position: relative; z-index: 2; }
.auth-art .auth-copy {
  position: relative;
  z-index: 2;
  margin: auto 0 0;
  max-width: 100%;
}
.auth-art .auth-copy h1 {
  line-height: 1.12;
  overflow-wrap: break-word;
  font-size: clamp(37px, 4.5vw, 65px);
}
.auth-art .auth-copy p {
  color: #fbf5ff;
  max-width: 490px;
  line-height: 1.65;
  font-size: 15px;
}
.auth-art .mascot {
  position: relative;
  inset: auto;
  align-self: flex-end;
  flex: 0 0 165px;
  width: 205px;
  height: 165px;
  margin: 0 3% 0 0;
  transform: none;
  transform-origin: bottom right;
  z-index: 1;
  pointer-events: none;
  opacity: .94;
}
@media (max-width: 920px) {
  .auth-art { min-height: 0; gap: 0; padding-bottom: 35px; }
  .auth-art .auth-copy { margin: 30px 0 0; }
  .auth-art .auth-copy h1 { font-size: clamp(33px, 5vw, 46px); }
  .auth-art .mascot { display: none; }
}
@media (max-width: 650px) {
  .auth-art { padding: 25px 27px 30px; }
  .auth-art .auth-copy { margin: 24px 0 0; }
  .auth-art .auth-copy h1 { font-size: clamp(32px, 8.3vw, 40px); line-height: 1.13; }
  .auth-art .auth-copy p { font-size: 14px; line-height: 1.6; }
}
/* Tela estreita: titulo e subtitulo possuem prioridade total sobre decoracoes */
@media (max-width: 360px) {
  .auth-art .auth-copy h1 { font-size: 30px; letter-spacing: -.035em; }
}
