/* Identidade visual de nhvacinas.com.br: logo original, Quicksand/Inter,
   paleta marfim, verde-lima, oliva e detalhes pêssego. */
.admin-list{display:grid;gap:16px}.admin-row{display:flex;align-items:center;justify-content:space-between;gap:20px}.admin-row h2{margin:12px 0 6px}.admin-row p{margin-bottom:4px;overflow-wrap:anywhere}.admin-permissions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.admin-permissions .check{margin:0}select{display:block;width:100%;margin-top:8px;padding:13px;border:1px solid #dfe4d4;border-radius:12px;background:white;color:inherit}@media(max-width:760px){.admin-row{align-items:flex-start;flex-direction:column}.admin-permissions{grid-template-columns:1fr}}
 .admin-list{display:grid;gap:16px}.admin-row{display:flex;align-items:center;justify-content:space-between;gap:20px}.admin-row h2{margin:12px 0 6px}.admin-row p{margin-bottom:4px;overflow-wrap:anywhere}.admin-permissions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.admin-permissions .check{margin:0}select{display:block;width:100%;margin-top:8px;padding:13px;border:1px solid #dfe4d4;border-radius:12px;background:white;color:inherit}.professional-admin-row{align-items:stretch}.professional-admin-avatar{width:104px;min-width:104px;min-height:104px;border:1px solid #d9ddd2;border-radius:16px;background:#f7f9f3;display:flex;align-items:center;justify-content:center;overflow:hidden}.professional-admin-avatar img{display:block;width:100%;height:100%;object-fit:contain}.professional-admin-avatar span{font-size:34px;color:#8b9380;font-weight:700}.admin-row-content{flex:1;min-width:0}@media(max-width:760px){.admin-row{align-items:flex-start;flex-direction:column}.professional-admin-row{display:grid;grid-template-columns:88px minmax(0,1fr);gap:14px}.professional-admin-avatar{width:88px;min-width:88px;min-height:88px;grid-row:1 / span 2}.professional-admin-row .admin-row-content{grid-column:2}.professional-admin-row .actions{grid-column:1 / -1}.admin-permissions{grid-template-columns:1fr}}
 .professional-crop-dialog{width:min(520px,calc(100vw - 24px));border:0;border-radius:16px;padding:20px}.professional-crop-dialog::backdrop{background:#16372b99}.professional-crop-frame{width:min(300px,80vw);aspect-ratio:3/4;margin:16px auto;background:#eef2e8;overflow:hidden}.professional-crop-frame canvas{display:block;width:100%;height:100%;object-fit:contain}
.professional-admin-row{align-items:center;min-height:112px}.professional-admin-avatar{width:76px;height:96px;min-width:76px;min-height:96px;max-width:76px;max-height:96px;border-radius:12px}.professional-admin-avatar img{width:100%;height:100%;object-fit:contain}.professional-admin-row .actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.professional-admin-row .actions .primary,.professional-admin-row .actions .secondary,.professional-admin-row .actions .danger{padding:9px 14px;min-height:38px;font-size:12px;white-space:nowrap}
.guest-shell{min-height:100vh;display:flex;flex-direction:column}.guest-shell>header{gap:20px}.guest-content{width:100%;max-width:1000px;padding:40px 35px 60px;margin:0 auto;flex:1}.guest-content .booking-panel{max-width:none}.guest-shell>footer{margin-top:auto}@media(max-width:760px){.guest-shell>header{height:auto;min-height:90px;gap:10px;padding:18px}.guest-shell>header .secondary{padding:10px 14px;min-height:40px;font-size:10px}.guest-shell .brand img{width:145px}.guest-content{padding:28px 18px 40px}}
@font-face{font-family:Inter;src:url('brand/inter-latin-400-normal-C38fXH4l.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:Inter;src:url('brand/inter-latin-600-normal-LgqL8muc.woff2') format('woff2');font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:Quicksand;src:url('brand/quicksand-latin-600-normal-DTBPeRoM.woff2') format('woff2');font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:Quicksand;src:url('brand/quicksand-latin-700-normal-Dpk7G9Y6.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap}
:root{--lime:oklch(76.08% .1557 123.49);--olive:oklch(47.82% .0998 123.54);--ink:oklch(17.44% .0346 251.91);--cream:oklch(99.56% .0106 100.82);--peach:oklch(90.77% .0435 40.15);--green:var(--olive);--muted:#686b60;--line:#e7e7dc;font-family:Inter,'Segoe UI',sans-serif;color:var(--ink);background:var(--cream)}
h1,h2,h3{font-family:Quicksand,Inter,sans-serif;font-weight:700;letter-spacing:-.035em}h1{font-size:36px}p{color:var(--muted)}
aside,header{background:var(--cream)}aside{padding-top:30px}.brand{display:inline-flex;letter-spacing:normal;max-width:100%}.brand img{display:block;width:190px;height:auto;max-width:100%;object-fit:contain}.workspace{color:#6f775d;font-size:10px;margin-top:42px}.nav-item{border-radius:999px;color:#62695a;min-height:46px}.nav-item.active{background:#edf1e2;color:var(--olive)}.nav-item:hover{background:#f0f3e8}.sidebar-bottom{border-top:1px solid var(--line);margin-top:auto}.care-icon{color:var(--olive)}.sidebar-bottom strong{font-family:Quicksand,sans-serif;font-size:15px}.breadcrumb,.profile small,.logout{color:#707566}.avatar{background:#e9efdc;color:var(--olive)}
.primary,.secondary,.light,.danger{border-radius:999px;padding:14px 24px;min-height:46px;font-size:13px;transition:background .15s,box-shadow .15s}.primary,.light{background:var(--lime);color:var(--ink);box-shadow:0 5px 16px #71863812}.primary:hover,.light:hover{background:#b0ce58;box-shadow:0 6px 20px #71863825}.secondary{color:var(--olive);border-color:#d9dfcb;background:var(--cream)}.secondary:hover{background:#eef2e3}.text-button{color:var(--olive);font-weight:600;font-size:12px}.eyebrow{color:var(--olive);font-size:10px;letter-spacing:1.6px}.page-heading p{font-size:14px}.live{color:var(--olive)}
.hero{background:#f0f3e7;border:1px solid #e5ead8;border-radius:30px;color:var(--ink);padding:36px 38px;min-height:310px;gap:20px;isolation:isolate}.hero-label{display:inline-block;background:#e7edda;border:1px solid #dfe7d0;border-radius:999px;color:var(--olive);padding:9px 13px;font-size:9px;letter-spacing:1px}.hero h2{font-size:34px;font-weight:700;line-height:1.2;margin:22px 0 16px}.hero h2 em,.auth-story h1 em{color:var(--olive);font-style:normal}.hero p{color:#626956;font-size:13px}.hero-art{width:31%;min-width:205px}.orbit{border:0;background:var(--peach);width:96px;height:96px;top:-6px;right:-12px}.orbit-two{width:195px;height:195px;top:auto;bottom:-65px;left:-30px;background:#dce6bf}.care-card{position:relative;z-index:1;background:var(--cream);border:1px solid #e3e7d8;border-radius:28px;box-shadow:0 14px 32px #526a2710;padding:25px 22px;transform:rotate(-3deg);width:220px}.care-heart{display:grid;place-items:center;background:#e9efdc;color:var(--olive);width:52px;height:52px;border-radius:18px;font-size:36px;margin-bottom:14px}.care-card strong{display:block;font-family:Quicksand,sans-serif;font-size:24px;line-height:1.2;color:var(--ink)}.care-card>span:not(.care-heart){display:block;font-size:11px;color:#717a60;margin-top:12px}.care-check{margin-top:18px;border-top:1px solid var(--line);padding-top:13px;font-size:10px;color:var(--olive)}
.stats>div,.visit-card,.panel,.service-tile,.empty,.summary{border-radius:20px;border-color:var(--line)}.stats>div{background:#fffefb;padding:23px}.stats strong{font-family:Quicksand,sans-serif;font-weight:700}.stats span{color:var(--olive)}.stats small,.visit-meta{color:#717865}.section-heading h2{font-size:21px}.section-heading>span{color:#737967}.service-icon{color:var(--olive);background:#eef2e4;border-radius:14px}.service-tile{padding:23px;transition:border-color .15s,background .15s}.service-tile:hover,.service-tile.selected{background:#f3f6eb;border-color:#a5bb6a}.service-tile h3{font-size:17px}.service-tile p{font-size:12px}.visit-card h3{font-size:19px}.visit-card p{font-size:12px}.badge{border-radius:999px;padding:7px 11px}.badge.scheduled{color:var(--olive);background:#edf2e2}.empty{background:#fafbf4;padding:36px}.empty>span{color:var(--olive)}.empty h3{font-size:18px}.empty p{font-size:13px}.notice{border-radius:14px;background:#f1f4e9;color:#576345}.panel h2{font-size:24px}.steps .current{color:var(--olive)}.steps .current span{background:var(--lime);color:var(--ink);border-color:var(--lime)}.slot{border-radius:999px;color:var(--olive);background:#f1f5e6}.slot:hover{background:var(--lime);color:var(--ink)}
label{color:#505e43;font-size:13px}input:not([type=radio]):not([type=checkbox]),textarea{border-radius:12px;border-color:#dfe4d4;color:var(--ink);padding:13px}input:focus,textarea:focus{outline-color:#8ba84d}input[type=radio],input[type=checkbox]{accent-color:var(--olive)}fieldset{padding-bottom:17px}legend{font-size:14px}.timeline li:before{background:var(--lime)}.vitals strong{color:var(--olive)}.documents a{border-radius:14px;color:var(--olive)}footer{color:#747a69}#toast{background:#39472c;border-radius:18px}
.auth{background:var(--cream);grid-template-columns:1.05fr 1fr}.auth-story{background:#f0f3e7;color:var(--ink);padding:48px 60px;position:relative;overflow:hidden;isolation:isolate}.auth-story:after{content:'';position:absolute;width:250px;height:250px;border-radius:50%;background:var(--peach);right:-155px;bottom:15%;z-index:-1}.auth-story:before{content:'';position:absolute;width:330px;height:330px;border-radius:50%;background:#e1e9cd;left:-190px;top:26%;z-index:-1}.auth-story .brand img{width:224px}.auth-story .eyebrow{color:var(--olive);letter-spacing:1.2px;line-height:1.8}.auth-story h1{font-family:Quicksand,sans-serif;font-size:54px;line-height:1.14;font-weight:700;color:var(--ink)}.auth-story p{color:#626a58;max-width:390px;font-size:16px}.auth-features{color:var(--olive);gap:18px}.auth-story small{color:#747c65}.auth-form{background:var(--cream);padding:48px}.auth-form form{max-width:390px}.auth-form h2{font-size:34px}.auth-form small{color:#737967;font-size:11px}.auth-form label{margin-bottom:22px}.auth-form .primary{margin-top:8px}.setup-brand{margin-bottom:32px}.setup{padding:45px 35px}
@media(min-width:1500px){.hero h2{font-size:39px}}
@media(max-width:1100px){.hero{padding:28px;gap:12px}.hero h2{font-size:28px}.hero-label{font-size:8px}.hero-art{min-width:170px}.care-card{width:175px;padding:20px 16px}.care-card strong{font-size:21px}.care-check{font-size:9px}.auth-story{padding:38px}.auth-story h1{font-size:43px}.auth-form{padding:35px}}
@media(max-width:760px){aside{padding:20px}.brand img{width:155px}.sidebar-bottom{border:0;top:16px}.nav-item{min-height:44px}.workspace{display:none}h1{font-size:29px}.hero{padding:25px 22px;border-radius:24px;min-height:0}.hero h2{font-size:29px;line-height:1.2}.hero-label{font-size:8px;line-height:1.6;max-width:100%}.hero-art{display:none}.hero p br{display:none}.stats>div{padding:16px 12px;border-radius:16px}.stats small{font-size:10px}.section-heading h2{font-size:19px}.panel{padding:22px}.auth{grid-template-columns:1fr}.auth-story{padding:28px}.auth-story .brand img{width:180px}.auth-story h1{font-size:37px}.auth-story p{font-size:14px}.auth-form{padding:32px 25px}.auth-form h2{font-size:29px}.setup{padding:30px 20px}.page-heading>.primary{width:100%}.hero .light{padding:13px 22px}.primary,.secondary{font-size:12px}}

.preserve-lines{white-space:pre-wrap;overflow-wrap:anywhere}.admin-list{margin-top:24px}fieldset{border:1px solid #d9ddd2;border-radius:16px;padding:18px;margin:16px 0} select{max-width:100%}

@media(min-width:761px){aside{overflow-y:auto}aside .brand,aside .workspace,aside .sidebar-bottom{flex-shrink:0}aside nav{gap:3px}.nav-item{padding-top:10px;padding-bottom:10px}}

.vaccine-selection{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;align-items:start;margin:20px 0}.vaccine-info{min-width:0;padding:22px;border:1px solid var(--line);border-radius:18px;background:#f3f6eb;overflow-wrap:anywhere}.vaccine-info h3{margin-top:0}.vaccine-info .vaccine-price{font-size:20px;font-weight:700;color:var(--olive)}.vaccine-info dt{font-weight:700;margin-top:14px}.vaccine-info dd{margin:4px 0 0;white-space:pre-wrap;font-size:13px;line-height:1.6}.vaccine-info a{color:var(--olive)}
@media(max-width:760px){.vaccine-selection{grid-template-columns:minmax(0,1fr);gap:16px}.vaccine-info{padding:18px}}

.vaccine-person-fields{min-width:0}.vaccine-person-fields .form-grid{grid-template-columns:minmax(0,1fr)}.vaccine-person-fields .actions{display:flex;flex-wrap:wrap;gap:10px}.vaccine-person-fields select{width:100%}

.anamnesis-question{min-width:0}.anamnesis-question legend{max-width:100%;line-height:1.5}.anamnesis-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:12px}.anamnesis-options label{display:flex;flex-direction:row;align-items:center;justify-content:center;gap:6px;margin:0;padding:10px 4px;min-height:44px;border:1px solid var(--line);border-radius:10px;cursor:pointer;white-space:nowrap}.anamnesis-options input[type=radio]{width:auto;margin:0;flex-shrink:0}.anamnesis-options label:has(input:checked){background:#edf2e2;border-color:var(--olive)}

.anamnesis-question{position:relative}.anamnesis-accessible-label{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.anamnesis-inline{display:flex;align-items:center;gap:20px}.anamnesis-prompt{flex:1;min-width:0;line-height:1.5;font-size:14px}.anamnesis-inline .anamnesis-options{display:flex;flex-shrink:0;gap:16px;margin:0}.anamnesis-inline .anamnesis-options label{border:0;padding:4px 0;min-height:44px;background:transparent}.anamnesis-inline .anamnesis-options label:has(input:checked){color:var(--olive);font-weight:700}
@media(max-width:760px){.anamnesis-inline{gap:10px}.anamnesis-inline .anamnesis-options{gap:8px}.anamnesis-inline .anamnesis-options label{font-size:12px;gap:4px}.anamnesis-prompt{font-size:13px}}

.family-visit-card summary{cursor:pointer;color:var(--olive);font-weight:600;padding:12px 0}.family-visit-items{list-style:none;padding:0;margin:0}.family-visit-items li{border-top:1px solid var(--line);padding:16px 0}.family-visit-items .text-button{display:block;margin-top:10px}

.visit-card.triage-alert{background:#fff0f0;border:2px solid #c83a3a;box-shadow:0 0 16px #c83a3a22}.visit-card.triage-clear{background:#effaf1;border:2px solid #35864c;box-shadow:0 0 16px #35864c22}.triage-alert .triage-signal{color:#942424}.triage-clear .triage-signal{color:#256437}.visit-card .triage-signal{font-weight:600;font-size:12px;line-height:1.5}

.schedule-week{overflow-x:auto;margin:16px 0 24px}.schedule-day{display:grid;grid-template-columns:minmax(120px,1.2fr) 110px 120px minmax(115px,1fr) minmax(115px,1fr);gap:14px;align-items:center;min-width:650px;padding:10px 0;border-bottom:1px solid var(--line)}.schedule-day label,.schedule-day .check{margin:0}.schedule-day input[type=time]{padding:8px;margin-top:4px}.schedule-day strong{font-size:14px}

.service-inventory{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 24px;margin:16px 0 0}.service-inventory dt{font-size:12px;color:#626956}.service-inventory dd{margin:4px 0 0;font-weight:600;overflow-wrap:anywhere}.admin-row:has(.service-inventory)>div:first-child{flex:1;min-width:0}@media(max-width:760px){.service-inventory{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}}

.service-market{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;border-top:1px solid #ddd;padding-top:12px}.market-offer{margin-top:10px;font-size:.88rem}.market-offer span{font-weight:600}.market-offer details p{font-size:.85rem}.admin-row>div:first-child{flex:1;min-width:0}@media(max-width:600px){.service-market{grid-template-columns:1fr}}

.service-table-scroll{max-width:100%;overflow-x:auto}.service-table{width:100%;border-collapse:collapse;background:white;font-size:13px}.service-table th,.service-table td{white-space:nowrap;text-align:left;padding:12px;border-bottom:1px solid #e2e6dc}.service-table th{background:#f3f6eb}.service-table button{padding:7px 10px;font-size:12px}.price-difference{font-weight:700}.price-difference.higher{color:#167336}.price-difference.lower{color:#bc2525}.price-difference.equal{color:#626956}.service-table .service-inactive{background:#f3f3f3;color:#626956}

.competitor-value{display:inline-flex;align-items:flex-start;gap:6px}.competitor-percentages{display:inline-flex;flex-direction:column;gap:3px}.competitor-markup{font-size:11px;color:#626956;font-weight:400}

.leaflet-dialog{width:min(1100px,94vw);max-width:94vw;max-height:94vh;border:0;border-radius:14px;padding:20px}.leaflet-dialog::backdrop{background:#0009}.leaflet-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px}.leaflet-toolbar h2{margin:0}.leaflet-dialog iframe{width:100%;height:62vh;border:1px solid #ddd}.leaflet-dialog select{margin-top:4px}
.leaflet-import-tools{margin:18px 0;padding:18px;background:#f4f7ed;border-radius:10px}.leaflet-import-tools .actions{display:flex;gap:10px;flex-wrap:wrap}.leaflet-import-tools [data-leaflet-status]{font-size:13px;overflow-wrap:anywhere}.leaflet-summary{white-space:pre-wrap;line-height:1.6;margin:22px 0}.leaflet-field-source{display:block;margin:5px 0 12px;color:#467134;font-size:12px}textarea[data-leaflet-imported]{border-color:#83a54a;background:#fcfef8}
.vaccine-age-warning{padding:14px 16px;margin:12px 0;border-left:4px solid #bc6216;background:#fff4dc;color:#704012;border-radius:6px}.vaccine-age-warning p{margin:8px 0}.vaccine-age-note{font-size:13px;color:#616747;padding:8px 0}.vaccine-age-row{padding:16px 0;margin-bottom:12px;border-bottom:1px solid var(--line)}.vaccine-age-row input:not([type=checkbox]),.vaccine-age-row select{width:100%}

/* Perguntas da anamnese em linhas simples, preservando o agrupamento acessível. */
fieldset.anamnesis-question{border:0;border-radius:0;background:transparent;box-shadow:none;margin:0;padding:4px 0;min-width:0}

.application-filter{display:flex;gap:16px;align-items:end;flex-wrap:wrap;margin:20px 0}.application-filter label{margin:0}.application-person{margin-top:20px}.application-item{border-top:1px solid var(--line);padding:16px 0}.application-item details{margin:12px 0}.application-item summary{cursor:pointer;font-weight:600;padding:10px 0}.application-alert{border-left:4px solid #c83a3a;padding:10px 16px;background:#fff0f0}.application-clear{border-left:4px solid #35864c;padding:10px 16px;background:#effaf1}

.application-heading{display:flex;align-items:center;gap:12px}.application-avatar{width:46px;height:46px;flex:0 0 46px;display:inline-flex;align-items:center;justify-content:center;color:var(--olive);background:#eef2e4;border-radius:50%}.application-avatar svg{width:34px;height:34px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
 .service-leaflet{font-size:.8em;color:var(--olive);text-decoration:none;margin-left:5px}.service-leaflet:hover{color:var(--ink)}
.avatar{cursor:pointer}.profile{position:relative}.avatar-menu{position:absolute;right:0;top:52px;z-index:20;min-width:190px;padding:10px;background:white;border:1px solid var(--line);border-radius:14px;box-shadow:0 12px 30px #26351f22}.avatar-menu .text-button{display:block;width:100%;text-align:left;padding:10px}
.person-avatar-crop{width:58px;height:58px;display:block;overflow:hidden;border-radius:14px;flex:0 0 58px}.person-avatar-pair{height:100%;width:200%;max-width:none;object-fit:cover;object-position:left center}.person-avatar-crop.female .person-avatar-pair{transform:translateX(-50%)}.person-avatar-crop.unknown .person-avatar-pair{transform:translateX(-25%)}.family-person-review{display:flex;align-items:flex-start;gap:15px;border:1px solid var(--line);border-radius:10px;padding:14px;margin:12px 0}.family-person-review h3{margin-bottom:4px}.family-person-review p{margin-bottom:8px;font-size:11px}
.visit-card .service-icon,.application-heading>.person-avatar-crop{overflow:hidden;flex-shrink:0}
.service-icon .person-avatar,.application-heading>.person-avatar{display:block;width:100%;height:100%;max-width:100%;object-fit:contain}
.application-heading>.person-avatar{width:46px;height:46px;flex:0 0 46px}
.service-icon .person-avatar-crop{width:100%;height:100%;flex-basis:auto;border-radius:inherit}
#booking-person-dialog{width:min(560px,94vw);max-height:90vh;overflow:auto;border:1px solid var(--line);border-radius:18px;padding:24px}#booking-person-dialog::backdrop{background:#0006}
.person-avatar-unknown svg{display:block;width:100%;height:100%}
.visit-card .service-icon,.application-avatar,.person-avatar-crop,.person-avatar{background:transparent}
.person-avatar-crop .person-avatar-pair{object-fit:fill;object-position:center;width:200%;height:100%;display:block}
.application-heading .card-city{display:block;font-size:13px;font-weight:400;color:var(--muted);margin-top:6px}
.person-avatar-crop .patient-avatar-image{display:block;width:100%;height:100%;max-width:100%;object-fit:contain;transform:none;background:transparent}
.visit-card{--card-title-size:19px}.panel:has(.application-heading){--card-title-size:24px}
.visit-card h3,.visit-card p.card-city{font-size:var(--card-title-size);line-height:1.35}
.panel h2.application-heading,.panel h2.application-heading>span,.panel h2.application-heading .card-city{font-size:24px;line-height:1.35}
