/* Fonte de verdade: site/index.html (preservada).
   ink/paper: texto e superfícies; plum: ações/seleção; mint: realce sobre ameixa;
   green: origem Liz; orange: foco. Raios 22/16/999 e controles 44/48px da landing.
   Nativos mantêm teclado e semântica; popup do select depende do navegador/OS. */
:root{--ink:#2E1830;--plum:#6A3A66;--paper:#F5F0F3;--mint:#9CC9AE;--green:#2E6E4E;--orange:#F4A261;--line:#E6DEE4;--soft:#EDE4EC;--muted:#6B5E68;--control:48px;--radius:22px;--fundo:var(--ink);--roxo:var(--plum);--papel:var(--paper);--menta:var(--mint);--verde:var(--green);color-scheme:light}
*,*::before,*::after{box-sizing:border-box}html{scroll-padding-top:24px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.5 'Instrument Sans','Helvetica Neue',sans-serif}img,svg{max-width:100%}[hidden]{display:none!important}a{color:var(--plum)}a:hover{color:var(--ink)}h1,h2,h3,.big,.hour,.when,.time{font-family:'Bricolage Grotesque',sans-serif}h1{font-size:clamp(30px,3vw,48px);line-height:1.05;letter-spacing:-.03em;margin:12px 0 20px}h2{font-size:24px;line-height:1.15;margin:24px 0 12px}h3{font-size:20px}p{margin:10px 0}main,section,aside,article,form,div,span{min-width:0}main{overflow-wrap:anywhere}button,input,select,textarea{font:inherit;max-width:100%;min-width:0;color:var(--ink)}button,input:not([type=checkbox]):not([type=radio]):not([type=hidden]),select,textarea{min-height:var(--control)}input:not([type=checkbox]):not([type=radio]):not([type=hidden]),select,textarea{width:100%;border:1.5px solid #B3A6B1;border-radius:12px;background:#fff;padding:10px 12px}select{overflow:hidden;text-overflow:ellipsis}input[type=checkbox],input[type=radio]{accent-color:var(--plum);width:20px;height:20px;flex:none}input:disabled,button:disabled,select:disabled{opacity:.6;cursor:not-allowed}input[aria-invalid=true],select[aria-invalid=true]{border-color:#A23126}button,.button{min-height:44px;display:inline-flex;align-items:center;justify-content:center;padding:10px 20px;border-radius:999px;border:0;background:var(--plum);color:#fff;font-weight:600;text-decoration:none;cursor:pointer;white-space:normal;overflow-wrap:anywhere}button:hover,.button:hover{background:var(--ink);color:#fff}button.ghost{background:#fff;color:var(--plum);border:1.5px solid #B3A6B1}:is(a,button,input,select,textarea,summary):focus-visible{outline:3px solid var(--orange);outline-offset:3px}[aria-busy=true]{cursor:progress}label,.label{display:block;font-weight:600;font-size:14px;margin:12px 0 6px}summary{cursor:pointer;min-height:44px;padding:8px 0}form{max-width:100%}.card,.panel{background:#fff;border:1.5px solid var(--line);border-radius:var(--radius);padding:20px;margin:12px 0}.panel{padding:0;overflow:visible}.dark,.hero{background:var(--ink);color:var(--paper)}.dark a{color:var(--mint)}.muted,.empty,.hint,.date,.disclaimer{color:var(--muted)}.dark .muted{color:#DACED9}.big{font-size:40px;font-weight:800;color:var(--green)}.dark .big{color:var(--mint)}.row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.row>*{min-width:0}.tag{font-size:12px;background:var(--soft);color:var(--ink);border-radius:6px;padding:3px 8px;display:inline-block}.liz-tag{font-size:12px;font-weight:600;background:var(--green);color:#fff;border-radius:6px;padding:2px 8px}.liz-card{border:2px solid var(--green)}dl{display:grid;grid-template-columns:minmax(0,auto) minmax(0,1fr);gap:6px 16px;margin:0}dt{color:var(--muted)}dd{margin:0}.err,#feedback{color:#A23126;min-height:24px}.empty{padding:24px 16px;font-size:14px}.modes,.filter{display:flex;flex-wrap:wrap;gap:6px}.modes{background:var(--soft);padding:4px;border-radius:22px;max-width:100%;width:fit-content;margin:14px 0}.modes a,.filter a{display:inline-flex;align-items:center;min-height:44px;padding:8px 16px;border-radius:999px;text-decoration:none;color:var(--ink);font-weight:600}.filter a{border:1px solid var(--line);background:#fff}.modes a[aria-current],.filter a[aria-current]{background:var(--plum);color:#fff}.modes a[aria-current]::before,.filter a[aria-current]::before{content:'✓';margin-right:6px}
/* Shell idêntico em todas as rotas autenticadas. Navegação extra nunca some no celular. */
body.ginga-app{padding:0}.app-sidebar{position:fixed;inset:0 auto 0 0;width:236px;background:var(--ink);color:var(--paper);padding:24px 18px;overflow:auto;z-index:5}.app-logo{display:flex;align-items:center;gap:12px;color:var(--paper)!important;text-decoration:none;margin-bottom:14px}.app-role{font-size:13px;color:#DACED9;margin:16px 8px}.app-sidebar nav{display:flex;flex-direction:column;gap:6px}.app-sidebar nav a{display:flex;align-items:center;min-height:44px;border-radius:999px;padding:10px 16px;text-decoration:none;color:var(--paper)}.app-sidebar nav a:hover{background:#422341}.app-sidebar nav a[aria-current]{background:var(--paper);color:var(--ink);font-weight:600}.app-sidebar nav a[aria-current]::before{content:'●';color:var(--plum);margin-right:8px}.skip-link{position:fixed;top:-100px;left:16px;z-index:30;background:var(--paper);padding:12px}.skip-link:focus{top:10px}.shell{display:contents}.ginga-app main.app-main{width:calc(100% - 236px);max-width:1600px;margin:0 0 0 236px;min-height:100dvh;padding:32px clamp(20px,3vw,48px) 80px;border:0;border-radius:0}.app-mobile-nav{display:none}.app-context{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;font-size:13px;color:var(--muted);padding-bottom:16px;margin-bottom:16px;border-bottom:1.5px solid var(--line)}.app-context .modes{margin:0}.app-more{margin-top:24px}.app-more nav{display:flex;gap:8px;flex-wrap:wrap}.app-more nav a{min-height:44px;display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:999px;padding:8px 16px;text-decoration:none;background:#fff}.actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:20px}.actions a{display:inline-flex;align-items:center;min-height:44px;padding:8px 16px;border:1px solid #B3A6B1;border-radius:999px;text-decoration:none}.ginga-app footer{margin-left:236px;padding:16px 32px;color:var(--muted);font-size:13px}
/* Hoje: painel operacional, não moldura de celular no desktop. */
.top{display:flex;justify-content:space-between;align-items:center;gap:16px}.top h1{margin:4px 0 8px}.date{font-size:14px}.hint{font-size:14px}.hero{border-radius:24px;padding:24px;display:flex;flex-direction:column;gap:14px;margin:20px 0}.hero .eyebrow{color:#DACED9}.hero .hour{font-weight:800;font-size:56px;line-height:1;letter-spacing:-.04em;color:var(--mint)}.hero .length{margin-left:12px;color:#DACED9}.hero strong{font-size:22px}.hero .services{color:#E7DCE6}.hero .prof{color:#DCEFE3;font-size:14px}.hero .note{border-radius:16px;background:#422341;padding:12px 16px;font-size:14px}.hero .note::before{content:'●';color:var(--orange);margin-right:8px}.hero a{display:flex;align-items:center;justify-content:center;min-height:48px;background:var(--paper);color:var(--ink);border-radius:999px;padding:8px 20px;text-decoration:none;font-weight:600}.group{margin:24px 0}.group .row{background:var(--soft);padding:16px;border-radius:16px;margin:8px 0;text-decoration:none;color:var(--ink);justify-content:flex-start}.group .row.done{background:#fff}.when{font-size:22px;font-weight:700;min-width:60px}.row small{display:block;font-size:14px;color:#4A3B47}.row .check{margin-left:auto;color:var(--plum);font-weight:700}.liz-note{color:var(--green)!important}
/* Agenda, formulários, busca e procedimentos compartilhados. */
.intro{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;flex-wrap:wrap;margin-bottom:24px}.intro p{color:var(--muted)}.datebox{max-width:100%}#day-filter{padding:0;display:flex;gap:8px;flex-wrap:wrap;align-items:center}#day-filter input{width:auto;flex:1}.columns{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:24px}.heading{padding:22px;border-bottom:1px solid var(--line)}.heading h2{margin:0 0 8px}.heading p{font-size:14px;color:var(--muted);margin:0}.filter{padding:16px 20px}.event{display:flex;align-items:flex-start;gap:14px;flex-wrap:wrap;padding:16px;margin:12px 20px;border-radius:16px;background:var(--paper);border-left:5px solid var(--plum);text-decoration:none;color:var(--ink)}.event .time{font-size:22px;font-weight:700;min-width:76px;color:var(--green)}.event small{display:block;font:14px 'Instrument Sans',sans-serif;color:var(--muted)}.event strong,.event span{display:block}.event .person{margin-left:auto;border-radius:999px;background:var(--soft);color:var(--plum);padding:4px 12px;font-size:13px;white-space:normal}.event.liz{border-left-color:var(--green);background:#E3F0E8}.event.liz .person::after{content:' · Liz';color:var(--green);font-weight:600}#booking{padding:20px}.service-list{max-height:240px;overflow:auto;overscroll-behavior:contain;margin:12px 0 18px;padding:3px}.service{display:flex;align-items:center;gap:12px;min-height:48px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--ink);margin:6px 0;text-align:left;width:100%;overflow-wrap:anywhere}.service:has(input:checked){background:var(--soft);border-color:var(--plum)}.service small{display:block;font-weight:400;color:var(--muted)}.disclaimer{font-size:13px}#booking button[type=submit]{width:100%}.login-page{display:grid;place-items:center;min-height:100dvh;padding:24px}.login-page main{width:min(100%,440px)}.login-page form{background:#fff;border:1.5px solid var(--line);border-radius:24px;padding:24px;display:grid;gap:10px}.login-page .app-logo{background:var(--ink);border-radius:22px;padding:18px}.login-page h1{font-size:38px}.login-page p{color:var(--muted)}
@media(min-width:1100px){.page-home main.app-main{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);column-gap:28px;align-content:start}.page-home .app-context,.page-home .top,.page-home .hint,.page-home .actions,.page-home .app-more{grid-column:1/-1}.page-home .hero{grid-row:4/7;align-self:start}.page-home .group{margin:20px 0}.page-home .group h2{margin-top:0}}
@media(max-width:1000px){.columns{grid-template-columns:minmax(0,1fr)}}
@media(max-width:820px){.app-sidebar{position:relative;width:100%;inset:auto;padding:16px 20px;display:flex;align-items:center;justify-content:space-between;gap:12px}.app-sidebar .app-logo{margin:0}.app-sidebar nav{display:none}.app-sidebar .app-role{margin:0;max-width:45%;text-align:right}.ginga-app main.app-main{margin:0;width:100%;padding:24px 20px 110px}.app-mobile-nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));position:fixed;bottom:0;left:0;right:0;z-index:10;background:#fff;border-top:1.5px solid var(--line);padding:8px 8px calc(8px + env(safe-area-inset-bottom,0px));min-height:68px}.app-mobile-nav a{min-height:48px;display:flex;align-items:center;justify-content:center;text-decoration:none;border-radius:999px;font-size:14px;color:var(--muted);font-weight:600}.app-mobile-nav a[aria-current]{color:#fff;background:var(--plum)}.app-more{background:#fff;border:1px solid var(--line);padding:12px 16px;border-radius:22px}.ginga-app footer{margin:0;padding:16px 20px 100px}.app-context{font-size:12px}.columns{gap:12px}.card{padding:16px}.heading{padding:18px}.event{margin:10px 14px;padding:14px}.filter{padding:14px}.event .person{margin-left:0}.hero{padding:22px}.actions{gap:8px}.modes a{padding:8px 12px}.big{font-size:clamp(28px,8vw,40px)}dl{grid-template-columns:minmax(0,1fr)}dt{margin-top:8px}.top svg{flex:none}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

/* Menus e marca oficiais: mesmas funções em desktop e menu expandido mobile. */
.official-brand{display:flex;align-items:center;gap:10px;max-width:100%}.official-brand svg{width:36px;height:36px;flex:none}.menu-group{border-top:1px solid #B3A6B144}.menu-group>summary{font-weight:600;padding:10px 14px}.menu-group nav{padding:0 0 8px 10px}.app-more .menu-group{width:100%;border-color:var(--line)}.app-more .menu-group nav{display:flex;flex-wrap:wrap}.app-more .menu-group summary{color:var(--ink)}
