@import url('https://fonts.googleapis.com/css2?family=Nunito:wght@400;600;700;800&display=swap');
:root{--bg:#F1EBE0;--surface:#FBF8F2;--white:#fff;--ink:#22312C;--text:#3E4A45;--muted:#6E7B75;--soft:#98A29D;--line:#EAE3D7;--line2:#F2EDE4;--orange:#EF8B12;--orange-dark:#C86F06;--orange-soft:#FDF0DE;--orange-line:#F3D6A8;--green:#26A560;--green-dark:#1B7A48;--green-soft:#E4F4EB;--green-line:#C9E6D6}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:'Nunito',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;background:radial-gradient(circle at 50% 0%,#FBF8F2 0%,#EFE7D9 100%);color:var(--ink);-webkit-font-smoothing:antialiased}body{min-height:100vh}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}.app{width:100%;max-width:430px;min-height:100vh;margin:0 auto;background:var(--surface);position:relative;box-shadow:0 0 60px rgba(40,30,10,.12)}
@media(min-width:700px){body{padding:22px}.app{min-height:calc(100vh - 44px);border-radius:34px;overflow:hidden;border:1px solid #e6ddd0}}
.statusbar{height:38px;display:flex;align-items:center;justify-content:space-between;padding:0 22px;font-size:12px;font-weight:800;color:var(--ink)}
.topbar{height:56px;display:flex;align-items:center;justify-content:space-between;padding:2px 20px 12px;gap:12px;background:var(--surface);position:sticky;top:0;z-index:20}.topbar img{height:27px;width:auto}.top-actions{display:flex;align-items:center;gap:10px}.pill{font-size:11px;font-weight:800;letter-spacing:.55px;text-transform:uppercase;padding:5px 10px;border-radius:999px}.pill.free{background:var(--bg);color:var(--muted)}.pill.premium{background:var(--green-soft);color:var(--green-dark)}.avatar{width:34px;height:34px;border-radius:50%;background:var(--green-soft);border:1px solid var(--green-line);display:flex;align-items:center;justify-content:center;font-weight:800;color:var(--green);font-size:13px}
.content{padding:4px 20px 104px;min-height:calc(100vh - 94px)}.section{display:flex;flex-direction:column;gap:16px}.screen-title,.hello{font-size:20px;font-weight:800;color:var(--ink);line-height:1.2}.simple-title{font-size:26px;font-weight:800;color:var(--ink)}.subtle{font-size:13px;line-height:1.5;color:var(--muted)}.link,.back{font-size:14px;font-weight:800;color:var(--orange)}.back{color:var(--muted)}
.card,.form-card,.pet-card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:16px}.pet-card{display:flex;align-items:center;gap:14px}.pet-icon{width:56px;height:56px;border-radius:18px;background:var(--orange-soft);display:flex;align-items:center;justify-content:center;font-size:27px;overflow:hidden;flex:0 0 56px}.pet-icon img,.big-pet img,.photo-box img{width:100%;height:100%;object-fit:cover}.pet-name{font-size:19px;font-weight:800;color:var(--ink)}.grow{flex:1;min-width:0}.row{display:flex;align-items:center;gap:12px}.between{justify-content:space-between}.center{text-align:center}
.alert{padding:16px;border-radius:20px;background:var(--orange-soft);border:1px solid var(--orange-line)}.alert-kicker{font-size:12px;font-weight:800;letter-spacing:.6px;text-transform:uppercase;color:var(--orange-dark)}.alert-title{font-size:16px;font-weight:800;color:var(--ink);margin-top:4px}.premium-box{padding:18px;border-radius:20px;background:var(--green-soft);border:1px solid var(--green-line)}
.metrics{display:flex;gap:10px;margin-top:14px}.metric{flex:1;background:#fff;border-radius:14px;padding:10px 12px}.metric .num{font-size:18px;font-weight:800;color:var(--ink);margin-top:2px}.quick-title{font-size:15px;font-weight:800;color:var(--ink);margin-bottom:10px}.grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.quick{padding:16px;border-radius:18px;background:#fff;border:1px solid var(--line);min-height:112px}.quick .icon{font-size:22px}.quick .name{font-size:15px;font-weight:800;margin-top:8px;color:var(--ink)}.quick .note{font-size:12px;color:var(--muted);margin-top:2px}
.btn{width:100%;padding:15px;border-radius:16px;border:0;font-weight:800;font-size:15px}.btn-primary{background:var(--orange);color:#fff}.btn-green{background:var(--green);color:#fff}.btn-outline{border:2px solid var(--green);background:#fff;color:var(--green)}.btn-soft{border:2px solid var(--line);background:#fff;color:var(--muted)}
.field{margin-bottom:14px}.field label{display:block;font-size:13px;font-weight:800;color:var(--text);margin-bottom:6px}.field input,.field select,.field textarea{width:100%;padding:13px 14px;border:1px solid #D9D0C2;border-radius:14px;background:#fff;color:var(--ink);outline:none}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--orange);box-shadow:0 0 0 3px rgba(239,139,18,.10)}
.login{min-height:calc(100vh - 38px);display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:20px 26px 44px}.login-logo{width:230px;max-width:80%;height:auto}.login-copy{font-size:17px;line-height:1.5;color:#5E6A64;max-width:300px;margin:22px auto 26px}.login-actions{width:100%;display:flex;flex-direction:column;gap:12px}.login-note{font-size:12px;color:var(--soft);margin-top:18px}.login-form{width:100%;text-align:left;margin-top:18px}.login-form h1{font-size:24px;text-align:center;margin:0 0 4px}.login-form .lead{text-align:center;color:var(--muted);font-size:14px;margin:0 0 18px}
.bottom-nav{position:fixed;left:50%;transform:translateX(-50%);bottom:0;width:100%;max-width:430px;height:82px;background:#fff;border-top:1px solid var(--line);display:flex;align-items:flex-start;padding:10px 8px 0;z-index:30}.nav-item{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;color:#98A29D;font-size:11px;font-weight:800}.nav-item .nicon{font-size:20px;line-height:24px}.nav-item.active{color:var(--orange)}
.big-pet{width:96px;height:96px;border-radius:50%;background:var(--orange-soft);margin:14px auto 8px;display:flex;align-items:center;justify-content:center;font-size:44px;overflow:hidden}.qr{width:170px;height:170px;margin:18px auto 10px;background:repeating-conic-gradient(var(--ink) 0% 25%,#fff 0% 50%) 0 0/16px 16px;border:8px solid #fff;border-radius:12px;outline:1px solid var(--line)}
.service-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.service{padding:16px;border-radius:18px;background:#fff;border:2px solid var(--line)}.service.selected{background:var(--orange-soft);border-color:var(--orange)}.service .sicon{font-size:22px}.service .sname{font-size:15px;font-weight:800;margin-top:8px}.service .snote{font-size:12px;color:var(--muted)}
.family-person{display:flex;align-items:center;gap:12px}.initials{width:40px;height:40px;border-radius:50%;background:#F6F2EA;display:flex;align-items:center;justify-content:center;font-weight:800;color:var(--muted);font-size:13px}.tag{font-size:12px;font-weight:700;padding:5px 10px;border-radius:999px;background:var(--green-soft);color:var(--green-dark);display:inline-block;margin:8px 4px 0 0}.timeline{display:flex;flex-direction:column;gap:0}.timeline-item{position:relative;margin-left:11px;padding:0 0 20px 24px;border-left:2px solid #D8D2C6}.timeline-item:before{content:'';position:absolute;left:-7px;top:3px;width:12px;height:12px;border-radius:50%;background:#fff;border:2px solid #AEB7B2}.timeline-item:last-child{border-left-color:transparent}.photo-pair{display:grid;grid-template-columns:1fr 1fr;gap:10px}.photo-box{height:120px;border-radius:14px;background:#F6F2EA;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;color:var(--muted);font-weight:700;overflow:hidden}.benefit{border-radius:18px;padding:16px;border:1px solid var(--line);background:#fff}.benefit.orange{background:var(--orange-soft);border-color:var(--orange-line)}.benefit.green{background:var(--green-soft);border-color:var(--green-line)}.benefit.blue{background:#E9F1FB;border-color:#C9DDF5}.quick-large{background:#fff;border:2px solid var(--line);border-radius:20px;padding:22px;display:flex;align-items:center;gap:16px}.quick-large .ico{font-size:34px}.quick-large .txt{font-size:23px;font-weight:800}.flash,.error{padding:13px 14px;border-radius:14px;font-size:13px;font-weight:700;margin-bottom:12px}.flash{background:var(--green-soft);color:var(--green-dark);border:1px solid var(--green-line)}.error{background:#FCE7E7;color:#B72B2B;border:1px solid #F4C6C6}
/* Ajustes de identidade e validação do WebApp */
.brand-stack{display:flex;flex-direction:column;align-items:center;gap:7px}.brand-slogan{font-size:14px;font-weight:800;color:var(--green);letter-spacing:.1px;text-align:center}.top-brand{display:flex;flex-direction:column;align-items:flex-start;gap:1px;min-width:0}.top-brand img{height:27px;width:auto}.top-brand span{font-size:8px;font-weight:800;color:var(--green);white-space:nowrap;letter-spacing:.05px}.topbar{height:64px;padding-top:8px}.login{min-height:100vh}.login-copy strong{font-weight:800;color:var(--ink)}.forgot-link{display:block;text-align:center;margin-top:12px;color:var(--orange);font-size:14px;font-weight:800}.password-rules{font-size:11px;line-height:1.4;color:var(--muted);margin-top:6px}.field-message{min-height:0;font-size:11px;font-weight:700;margin-top:5px;line-height:1.35}.field-message.is-error{color:#B72B2B}.field-message.is-ok{color:var(--green-dark)}.field input.is-invalid{border-color:#D65353;box-shadow:0 0 0 3px rgba(214,83,83,.09)}.field input.is-valid{border-color:var(--green);box-shadow:0 0 0 3px rgba(38,165,96,.08)}
.app-dialog-backdrop{position:fixed;inset:0;background:rgba(34,49,44,.34);display:flex;align-items:flex-end;justify-content:center;padding:18px;z-index:9999;animation:petFade .16s ease}.app-dialog{width:100%;max-width:394px;background:#fff;border:1px solid var(--line);border-radius:24px;padding:20px;box-shadow:0 18px 55px rgba(34,49,44,.22);animation:petUp .2s ease}.app-dialog-icon{width:48px;height:48px;border-radius:16px;background:#FCE7E7;color:#B72B2B;display:flex;align-items:center;justify-content:center;font-size:24px;margin-bottom:12px}.app-dialog-title{font-size:19px;font-weight:800;color:var(--ink);margin-bottom:5px}.app-dialog-message{font-size:14px;line-height:1.5;color:var(--muted);margin-bottom:16px}.app-dialog .btn{padding:13px}@keyframes petFade{from{opacity:0}to{opacity:1}}@keyframes petUp{from{transform:translateY(16px);opacity:.7}to{transform:translateY(0);opacity:1}}

/* v8: onboarding separado do acesso rápido */
.welcome-only{min-height:calc(100vh - 24px);display:flex;flex-direction:column;justify-content:center}
.welcome-card{padding:22px 20px}

/* v9: tela de boas-vindas aprovada */
.welcome-screen{min-height:calc(100vh - 126px);padding:34px 20px 165px;display:flex;flex-direction:column;align-items:center;background:var(--surface)}
.welcome-brand{display:flex;flex-direction:column;align-items:center;gap:5px;margin-bottom:22px}.welcome-brand img{width:176px;height:auto}.welcome-brand .brand-slogan{font-size:13px}
.welcome-panel{width:100%;background:#fff;border:1px solid var(--line);border-radius:25px;padding:23px 20px 20px;box-shadow:0 9px 25px rgba(42,53,48,.06)}
.welcome-kicker{font-size:12px;font-weight:900;letter-spacing:.7px;color:var(--orange);text-transform:uppercase}.welcome-accent{width:38px;height:4px;border-radius:6px;background:var(--orange);margin:9px 0 20px}
.welcome-panel h1{font-size:25px;line-height:1.15;margin:0 0 13px;color:var(--ink);font-weight:900}.welcome-panel p{font-size:14px;line-height:1.65;color:var(--muted);margin:0}.welcome-panel p strong{color:var(--ink);font-weight:900}
.welcome-pet-button{margin-top:20px;width:100%;min-height:58px;border-radius:18px;background:var(--orange);color:#fff;display:flex;align-items:center;justify-content:center;gap:12px;font-size:16px;font-weight:900;box-shadow:0 8px 20px rgba(239,139,18,.18)}.welcome-pet-button:active{transform:translateY(1px)}.paw-button{width:38px;height:38px;border-radius:50%;background:rgba(179,94,0,.22);display:flex;align-items:center;justify-content:center;font-size:19px}
.welcome-security{display:flex;align-items:center;justify-content:center;gap:8px;color:#78827d;font-size:12px;margin-top:18px}.welcome-security span:first-child{color:var(--green);font-size:17px}
.welcome-pet-art{width:100%;max-width:345px;height:205px;margin:20px auto -20px;overflow:hidden;border-radius:22px;display:flex;align-items:center;justify-content:center}.welcome-pet-art img{width:100%;height:100%;object-fit:cover;object-position:center 47%}
.bottom-nav-disabled{height:132px;padding-top:10px;flex-wrap:wrap;pointer-events:none;background:rgba(255,255,255,.98)}.bottom-nav-disabled .nav-item{height:57px;color:#B8BDBA;opacity:.92}.bottom-nav-disabled .nav-item .nicon{filter:grayscale(1);opacity:.55}.nav-lock-note{width:100%;height:54px;border-top:1px solid #F0ECE5;display:flex;align-items:center;justify-content:center;text-align:center;padding:7px 28px 11px;font-size:11px;line-height:1.35;font-weight:700;color:#929995}
@media(max-height:760px){.welcome-screen{padding-top:20px}.welcome-brand{margin-bottom:14px}.welcome-pet-art{height:150px;margin-top:12px}.welcome-panel{padding-top:18px}.welcome-panel h1{font-size:23px}.welcome-panel p{font-size:13px}}

/* v10: fluxo de quantidade e cadastro de pets */
.pet-flow-screen{min-height:calc(100vh - 132px);padding:12px 18px 150px;background:var(--surface)}
.pet-flow-brand{display:flex;flex-direction:column;align-items:center;gap:4px;margin:0 auto 14px}.pet-flow-brand img{width:154px;height:auto}.pet-flow-brand .brand-slogan{font-size:12px}
.flow-steps{display:flex;align-items:flex-start;justify-content:center;margin:3px 4px 22px}.flow-step{width:76px;text-align:center;color:#9ca3a0}.flow-step span{width:23px;height:23px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 5px;background:#c9cdcb;color:#fff;font-size:12px;font-weight:900}.flow-step small{font-size:9px;font-weight:700;white-space:nowrap}.flow-step.active,.flow-step.done{color:var(--green-dark)}.flow-step.active span,.flow-step.done span{background:var(--green)}.flow-line{height:1px;flex:1;max-width:48px;background:#d9d8d3;margin-top:11px}.flow-line.active{background:var(--green)}
.pet-flow-copy{margin:0 4px 18px}.pet-flow-copy h1{font-size:25px;line-height:1.15;margin:0 0 8px;font-weight:900;color:#23513d}.pet-flow-copy h1 em{color:var(--orange);font-style:normal;font-weight:400}.pet-flow-copy p{font-size:13px;line-height:1.55;color:#52645b;margin:0}
.pet-count-form,.pet-data-card{background:#fff;border:1px solid var(--line);border-radius:22px;padding:14px;box-shadow:0 6px 18px rgba(42,53,48,.035)}.pet-count-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.pet-count-option{position:relative;min-height:112px;border:1.5px solid var(--line);border-radius:17px;background:#fff;padding:10px;display:grid;grid-template-columns:1fr auto;grid-template-rows:1fr auto;align-items:center;color:var(--green-dark);text-align:left}.pet-count-option.selected{border-color:var(--green);background:#f2fbf6;box-shadow:0 0 0 2px rgba(38,165,96,.06)}.pet-count-option.selected:after{content:'✓';position:absolute;right:8px;top:8px;width:20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--green);color:#fff;font-size:11px;font-weight:900}.pet-emoji{grid-row:1/3;font-size:29px;letter-spacing:-10px;max-width:80px}.pet-count-option strong{font-size:29px;line-height:1;text-align:center}.pet-count-option small{font-size:12px;font-weight:800;text-align:center;color:#416756}
.pet-more-option{width:100%;margin-top:10px;border:1.5px solid var(--line);border-radius:17px;background:#fff;padding:13px 14px;display:flex;align-items:center;gap:12px;text-align:left;color:var(--green-dark)}.pet-more-option.active{border-color:var(--green);background:#f2fbf6}.more-paw{width:42px;height:42px;border-radius:50%;background:#f5f4ef;display:flex;align-items:center;justify-content:center;font-size:20px;filter:grayscale(1);opacity:.75}.pet-more-option strong{display:block;font-size:15px}.pet-more-option small{display:block;color:var(--muted);font-size:11px;margin-top:2px}.more-chevron{margin-left:auto;font-size:26px;color:#b6bcb8}.more-pets-field{margin-top:10px;padding:13px;border-radius:16px;background:#f8f8f4;border:1px solid var(--line)}.more-pets-field label{display:block;font-size:12px;font-weight:900;color:var(--text);margin-bottom:8px}.quantity-row{display:grid;grid-template-columns:44px 1fr 44px;gap:8px;margin-bottom:7px}.quantity-row input{text-align:center;border:1px solid #d9d0c2;border-radius:12px;font-weight:900;font-size:17px;min-width:0}.qty-btn{border:0;border-radius:12px;background:var(--green-soft);color:var(--green-dark);font-size:23px;font-weight:900}.pet-flow-continue{margin-top:13px}.pet-flow-security{text-align:center;color:#76827b;font-size:11px;font-weight:700;margin:13px 0 1px}
.pet-data-card{padding:14px 14px 16px}.pet-sequence-badge{display:inline-flex;padding:4px 10px;border-radius:999px;background:var(--green-soft);color:var(--green-dark);font-size:11px;font-weight:900;margin-bottom:12px}.pet-data-card .field label b{color:var(--orange)}.pet-data-card .field label span{font-weight:500;color:var(--muted)}.pet-form-two{display:grid;grid-template-columns:1fr 1fr;gap:10px}.sex-options{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.sex-options label{margin:0}.sex-options input{position:absolute;opacity:0;pointer-events:none}.sex-options span{min-height:44px;border:1.5px solid var(--line);border-radius:12px;display:flex;align-items:center;justify-content:center;background:#fff;color:#79817d;font-size:12px;font-weight:800}.sex-options input:checked+span{border-color:var(--green);background:#f1faf5;color:var(--green-dark)}.input-suffix{position:relative}.input-suffix input{padding-right:32px}.input-suffix span{position:absolute;right:12px;top:50%;transform:translateY(-50%);font-size:11px;color:var(--muted);font-weight:800}.pet-photo-upload{min-height:69px;border:1.5px dashed #d9d0c2;border-radius:15px;display:flex!important;align-items:center;justify-content:center;gap:11px;padding:10px;background:#fff;cursor:pointer}.pet-photo-upload input{display:none}.camera-icon{width:40px;height:40px;border-radius:50%;background:var(--green-soft);display:flex;align-items:center;justify-content:center;font-size:20px}.pet-photo-upload strong{display:block;color:var(--muted);font-size:12px}.pet-photo-upload small{display:block;color:#9a9f9c;font-size:9px;margin-top:2px}.pet-form-actions{display:grid;grid-template-columns:.8fr 1.25fr;gap:10px;margin-top:4px}.pet-form-actions .btn{display:flex;align-items:center;justify-content:center}.pet-flow-dots{display:flex;justify-content:center;gap:6px;margin-top:13px;flex-wrap:wrap}.pet-flow-dots span{width:7px;height:7px;border-radius:50%;background:#e6e4df}.pet-flow-dots span.active{background:var(--green)}
@media(max-width:380px){.pet-flow-screen{padding-left:13px;padding-right:13px}.pet-form-two{grid-template-columns:1fr}.pet-count-option{min-height:102px}.pet-flow-copy h1{font-size:22px}.sex-options{grid-template-columns:1fr 1fr 1fr}.sex-options span{font-size:11px}}
