*,:after,:before{margin:0;padding:0;box-sizing:border-box}:root{--ground:#1A2E2A;--ground-mid:#223630;--ground-high:#2D4742;--text:#F0EAE0;--text-muted:#7D9490;--accent:#E8A44A;--accent-2:#6BA882;--danger:#D97662;--border:rgba(240,234,224,0.08);--border-h:rgba(232,164,74,0.30);--nav-h:calc(64px + env(safe-area-inset-bottom))}html{-webkit-text-size-adjust:100%}body{background:var(--ground);color:var(--text);font-family:Avenir Next,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased;overscroll-behavior-y:none}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;background:none;border:none}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.app{max-width:640px;margin:0 auto;min-height:100dvh;padding:0 1rem var(--nav-h)}.page{padding-top:1.25rem;padding-bottom:2rem}.page-title{font-family:Avenir Next Condensed,Avenir Next,sans-serif;font-size:2rem;font-weight:800;letter-spacing:.02em;line-height:1.1}.page-sub{font-size:.85rem;color:var(--text-muted);margin-top:.25rem}.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1.25rem}.back-btn{font-size:.8rem;font-weight:600;color:var(--text-muted);letter-spacing:.06em;text-transform:uppercase;padding:.4rem 0;margin-bottom:.25rem}.back-btn:hover{color:var(--text)}.section-label{font-size:.7rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--accent-2);margin:1.75rem 0 .75rem}.nav{position:fixed;bottom:0;left:0;right:0;background:var(--ground-mid);border-top:1px solid var(--border);padding-bottom:env(safe-area-inset-bottom);z-index:40}.nav-inner{max-width:640px;margin:0 auto;display:grid;grid-template-columns:repeat(5,1fr);height:64px}.nav-item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font-size:.62rem;font-weight:600;letter-spacing:.04em;color:var(--text-muted)}.nav-item.active{color:var(--accent)}.nav-item svg{width:22px;height:22px}.nav-add,.nav-add-btn{display:flex;align-items:center;justify-content:center}.nav-add-btn{width:46px;height:46px;border-radius:50%;background:var(--accent);color:var(--ground);box-shadow:0 4px 14px rgba(232,164,74,.35);transition:transform .15s ease}.nav-add-btn:active{transform:scale(.92)}.nav-add-btn svg{width:24px;height:24px}.card{background:var(--ground-mid);border:1px solid var(--border);border-radius:10px;padding:1rem 1.1rem}.list{display:flex;flex-direction:column;gap:.6rem;list-style:none}.item{background:var(--ground-mid);border:1px solid var(--border);border-radius:10px;overflow:hidden}.item-head{width:100%;display:flex;align-items:center;gap:.85rem;padding:.9rem 1.1rem;text-align:left}.item-head:hover{background:var(--ground-high)}.item-title{font-weight:600;font-size:.95rem}.item-sub{font-size:.78rem;margin-top:1px}.item-sub,.item-when{color:var(--text-muted)}.item-when{margin-left:auto;font-size:.72rem;white-space:nowrap;flex-shrink:0}.item-body{border-top:1px solid var(--border);padding:.9rem 1.1rem 1rem;display:flex;flex-direction:column;gap:.55rem}.field-row{display:flex;gap:.5rem;font-size:.85rem}.field-row dt{color:var(--text-muted);flex-shrink:0;min-width:92px}.field-row dd{color:var(--text);white-space:pre-wrap}.item-actions{display:flex;gap:.5rem;margin-top:.4rem}.badge{display:inline-flex;align-items:center;font-size:.66rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:.2em .65em;border-radius:100px;white-space:nowrap}.badge.ok{background:rgba(107,168,130,.15);color:var(--accent-2)}.badge.warn{background:rgba(232,164,74,.15);color:var(--accent)}.badge.overdue{background:rgba(217,118,98,.15);color:var(--danger)}.dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.dot.exam{background:var(--accent-2)}.dot.vaccine{background:var(--accent)}.dot.medication{background:#8BB8D9}.dot.appointment{background:#C9A0DC}.chip{display:inline-flex;align-items:center;font-size:.8rem;font-weight:600;background:rgba(232,164,74,.1);border:1px solid rgba(232,164,74,.22);color:var(--accent);padding:.25em .7em;border-radius:100px}.chips{display:flex;flex-wrap:wrap;gap:.4rem}.empty{text-align:center;padding:2.5rem 1.5rem;color:var(--text-muted);font-size:.9rem;line-height:1.7}.empty strong{color:var(--text);display:block;font-size:1rem;margin-bottom:.25rem}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;font-size:.85rem;font-weight:600;padding:.55em 1.1em;border-radius:8px;transition:opacity .15s ease}.btn:active{opacity:.75}.btn-primary{background:var(--accent);color:var(--ground)}.btn-ghost{background:var(--ground-high);color:var(--text)}.btn-danger{background:rgba(217,118,98,.12);color:var(--danger)}.btn-sm{font-size:.76rem;padding:.45em .9em}.btn-full{width:100%}.filters{display:flex;gap:.4rem;overflow-x:auto;padding-bottom:.25rem;margin-bottom:1rem;scrollbar-width:none}.filters::-webkit-scrollbar{display:none}.filter-btn{font-size:.78rem;font-weight:600;color:var(--text-muted);background:var(--ground-mid);border:1px solid var(--border);padding:.4em .95em;border-radius:100px;white-space:nowrap}.filter-btn.active{color:var(--ground);background:var(--accent);border-color:var(--accent)}.search-input{width:100%;background:var(--ground-mid);border:1px solid var(--border);border-radius:10px;padding:.7rem 1rem;color:var(--text);margin-bottom:.9rem}.search-input::placeholder{color:var(--text-muted)}.search-input:focus{outline:none;border-color:var(--border-h)}.overlay{position:fixed;inset:0;background:rgba(10,18,16,.7);z-index:50;display:flex;align-items:flex-end;justify-content:center}.sheet{background:var(--ground-mid);border-radius:16px 16px 0 0;width:100%;max-width:640px;max-height:88dvh;overflow-y:auto;padding:1.4rem 1.4rem calc(1.4rem + env(safe-area-inset-bottom));animation:sheetUp .22s ease}@keyframes sheetUp{0%{transform:translateY(30px);opacity:0}to{transform:translateY(0);opacity:1}}@media (prefers-reduced-motion:reduce){.sheet{animation:none}.nav-add-btn{transition:none}}.sheet-title{font-family:Avenir Next Condensed,Avenir Next,sans-serif;font-size:1.45rem;font-weight:700;margin-bottom:1.1rem}.form{gap:.9rem}.form,.form-field{display:flex;flex-direction:column}.form-field{gap:.3rem}.form-field label{font-size:.75rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted)}.form-field input,.form-field select,.form-field textarea{background:var(--ground);border:1px solid var(--border);border-radius:8px;padding:.65rem .85rem;color:var(--text);width:100%}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{outline:none;border-color:var(--border-h)}.form-field textarea{resize:vertical;min-height:80px}.form-field input::-webkit-calendar-picker-indicator{filter:invert(.8)}.form-row{display:grid;grid-template-columns:1fr 1fr;grid-gap:.75rem;gap:.75rem}.form-actions{display:flex;gap:.6rem;margin-top:.5rem}.form-actions .btn{flex:1 1}.time-row{display:flex;gap:.5rem;align-items:center}.time-row input{flex:1 1}.hero-card{gap:1rem;padding:1.2rem;background:var(--ground-mid);border:1px solid var(--border);border-radius:14px;margin-bottom:.5rem}.avatar,.hero-card{display:flex;align-items:center}.avatar{width:64px;height:64px;border-radius:50%;background:var(--ground-high);object-fit:cover;flex-shrink:0;justify-content:center;font-size:1.7rem;border:2px solid var(--border-h)}.hero-name{font-family:Avenir Next Condensed,Avenir Next,sans-serif;font-size:1.7rem;font-weight:800;letter-spacing:.03em;line-height:1.1}.hero-meta{font-size:.8rem;color:var(--text-muted)}.med-today,.med-today .card{display:flex;flex-direction:column;gap:.5rem}.med-name{font-weight:700;font-size:.95rem}.med-dose{font-size:.8rem;color:var(--text-muted);font-weight:400;margin-left:.4rem}.saude-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:.75rem;gap:.75rem}.saude-card{background:var(--ground-mid);border:1px solid var(--border);border-radius:12px;padding:1.15rem 1.1rem;text-align:left;display:flex;flex-direction:column;gap:.35rem;transition:border-color .15s ease}.saude-card:hover{border-color:var(--border-h)}.saude-card .count{font-family:Avenir Next Condensed,Avenir Next,sans-serif;font-size:1.9rem;font-weight:800;line-height:1}.saude-card .label{font-size:.82rem;font-weight:600}.saude-card .hint{font-size:.72rem;color:var(--text-muted)}.attach-list{display:flex;flex-direction:column;gap:.4rem}.attach-item{display:flex;align-items:center;gap:.6rem;background:var(--ground);border:1px solid var(--border);border-radius:8px;padding:.5rem .75rem;font-size:.82rem}.attach-item .name{flex:1 1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left;color:var(--text)}.attach-item .name:hover{color:var(--accent)}.viewer{position:fixed;inset:0;background:rgba(10,18,16,.95);z-index:60;display:flex;flex-direction:column}.viewer-bar{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:calc(.9rem + env(safe-area-inset-top)) 1.2rem .9rem}.viewer-bar .name{font-size:.85rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.viewer-content{flex:1 1;display:flex;align-items:center;justify-content:center;overflow:auto}.viewer-content img{max-width:100%;max-height:100%;object-fit:contain}.viewer-content iframe{width:100%;height:100%;border:none;background:#fff}.weight-list{display:flex;flex-direction:column;gap:.35rem}.weight-row{display:flex;justify-content:space-between;align-items:center;font-size:.85rem;padding:.45rem .2rem;border-bottom:1px solid var(--border)}.weight-row .kg{font-weight:700;color:var(--accent-2)}.add-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:.75rem;gap:.75rem}.add-option{background:var(--ground);border:1px solid var(--border);border-radius:12px;padding:1.1rem 1rem;display:flex;flex-direction:column;align-items:flex-start;gap:.5rem;font-weight:600;font-size:.9rem;color:var(--text);transition:border-color .15s ease}.add-option:hover{border-color:var(--border-h)}.login-page{min-height:100dvh;align-items:center;justify-content:center;padding:2rem 1.5rem}.login-box,.login-page{display:flex;flex-direction:column}.login-box{width:100%;max-width:380px;gap:1.5rem}.login-title{font-family:Avenir Next Condensed,Avenir Next,sans-serif;font-size:3.5rem;font-weight:800;letter-spacing:.05em;line-height:1;text-align:center}.login-sub{font-size:.85rem;color:var(--text-muted);text-align:center;margin-top:.4rem}.login-error{background:rgba(217,118,98,.12);color:var(--danger);border-radius:8px;padding:.7rem 1rem;font-size:.85rem}.offline-banner{position:-webkit-sticky;position:sticky;top:0;z-index:45;background:rgba(232,164,74,.14);border-bottom:1px solid rgba(232,164,74,.3);color:var(--accent);font-size:.78rem;font-weight:600;text-align:center;padding:.5rem 1rem}.loading-page{min-height:60dvh;align-items:center;color:var(--text-muted);font-size:.9rem}.loading-page,.pet-switcher{display:flex;justify-content:center}.pet-switcher{position:-webkit-sticky;position:sticky;top:0;z-index:44;background:var(--ground-mid);border-bottom:1px solid var(--border);padding:.5rem 1rem}.pet-switcher select{background:var(--ground);border:1px solid var(--border);border-radius:100px;color:var(--text);font-weight:600;font-size:.85rem;padding:.35rem 1rem;max-width:320px;width:100%;text-align:center}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}body{padding-top:env(safe-area-inset-top)}body:before{content:"";position:fixed;top:0;left:0;right:0;height:env(safe-area-inset-top);background:var(--ground);z-index:55}.offline-banner,.pet-switcher{top:env(safe-area-inset-top)}