.mobile-nav{display:none}
.week-day{min-width:0}.week-day h3{text-transform:capitalize}.week-day h3 span{display:block;font-weight:400;color:var(--muted)}
.mobile-menu-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.mobile-menu-grid button{display:flex;align-items:center;gap:10px;min-height:64px;text-align:left}.mobile-menu-grid .active{background:var(--teal);color:var(--surface)}
@media(max-width:760px){
 html,body{width:100%;min-height:100%;overflow-x:clip}body{overscroll-behavior-y:none;-webkit-tap-highlight-color:transparent}
 .sidebar{display:none}.main{padding-bottom:calc(84px + env(safe-area-inset-bottom));min-width:0}
 .mobile-nav{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));position:fixed;z-index:8;bottom:0;left:0;right:0;padding:6px max(6px,env(safe-area-inset-right)) calc(6px + env(safe-area-inset-bottom)) max(6px,env(safe-area-inset-left));background:var(--surface);border-top:1px solid var(--line);box-shadow:0 -3px 20px #0000000a}
 .mobile-nav button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-width:0;min-height:56px;padding:7px 2px;border:0;background:transparent;font-size:10px;line-height:1.2;color:var(--muted)}.mobile-nav button.active{background:color-mix(in srgb,var(--teal) 12%,transparent);color:var(--teal)}.mobile-nav svg{width:22px;height:22px}.mobile-nav span{max-width:100%;overflow-wrap:anywhere}
 .topbar{position:sticky;top:0;z-index:5;min-height:60px;height:auto;padding:calc(8px + env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) 8px max(12px,env(safe-area-inset-left));gap:8px;background:var(--surface)}.mobilebrand{font-size:23px;flex-shrink:0}.topactions{gap:4px;min-width:0}.topactions>.avatar,.topactions>[data-action="notifications"]{display:none}.topactions button{min-height:44px;padding:8px;font-size:12px}
 .content{padding:20px max(12px,env(safe-area-inset-right)) 24px max(12px,env(safe-area-inset-left));width:100%;min-width:0}.heading{flex-direction:column;align-items:stretch;gap:14px}.heading h1{font-size:25px;overflow-wrap:anywhere}.heading .actions{width:100%}.heading .actions button{flex:1;min-height:44px;font-size:14px}.heading .actions .secondary{display:inline-flex;justify-content:center;align-items:center}
 button,input,select,textarea{min-height:44px}input,select,textarea{font-size:16px}.filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.filters input{grid-column:1/-1;width:100%;min-width:0}.filters select{width:100%;max-width:none;min-width:0;font-size:14px;padding:10px 6px}.filters:empty{display:none}
 .datebar{display:grid;gap:12px}.datebox{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;gap:4px;width:100%;text-align:center}.datebox strong{font-size:15px}.datebox input{max-width:none;width:100%;grid-column:2/4;font-size:16px}.datebox>[data-action="today"]{grid-column:1;grid-row:2}.tabs{display:flex;width:100%;max-width:100%}.tabs button{flex:1;font-size:14px;min-height:44px;padding:8px}
 .workspace,.workspace>div,.panel,.sidepanel{min-width:0;max-width:100%}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.stat{min-width:0}.stat>div{min-width:0}.stat span{overflow-wrap:anywhere}
 .week{display:flex;flex-direction:column;overflow:visible;padding:12px;gap:16px}.week-day{width:100%;padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}.week-day h3{font-size:16px;margin:0 0 12px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px}.week-day h3 span{font-size:14px}.week .appointment{margin-top:8px}.week .empty{padding:14px;text-align:left;font-size:14px}
 .schedulehead{grid-template-columns:1fr}.schedulehead>b{display:none}.time-row{grid-template-columns:42px minmax(0,1fr)}.slots{grid-template-columns:minmax(0,1fr)}.slots>[data-professional]:empty{display:none}.slots>[data-professional]:not(:empty)::before{content:attr(data-professional);display:block;font-size:12px;font-weight:600;color:var(--muted);padding:6px 0}.appointment{padding:12px}.petname{font-size:16px}.service{font-size:14px}.cardbottom{flex-wrap:wrap}.petmeta{font-size:13px}
 .board{display:flex;flex-direction:column;overflow:visible;gap:16px}.board>div,.board>section{width:100%;min-width:0}.tablewrap{max-width:100%;overscroll-behavior-x:contain}.tablewrap table{font-size:13px}.tablewrap td,.tablewrap th{padding:10px 8px}.tablewrap button{white-space:normal}
 .actions,.tabs,.checks{min-width:0;flex-wrap:wrap}.actions button{max-width:100%;white-space:normal}.panelhead{gap:8px;flex-wrap:wrap}.panelhead h2{min-width:0;overflow-wrap:anywhere}.panelbody{padding:14px}.sidepanel{display:flex;flex-direction:column}.legend{line-height:1.6}.chatlayout,.messages{min-width:0}.conversations{flex-direction:column;max-height:240px;overflow-y:auto}.conversation{min-width:0;width:100%}
 dialog{width:calc(100% - 16px);max-width:560px;max-height:calc(100dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 20px);margin:auto;border-radius:16px;overscroll-behavior:contain}.modalhead{padding:16px;gap:8px}.modalhead h2{font-size:20px;overflow-wrap:anywhere}.modalbody{padding:16px}.modalfoot{display:flex;flex-wrap:wrap;padding:14px;gap:8px}.modalfoot button{flex:1}.formgrid,.detailgrid{grid-template-columns:minmax(0,1fr)}.field{min-width:0}.detailhero{flex-wrap:wrap;gap:10px}.auth{padding:20px 12px calc(20px + env(safe-area-inset-bottom))}.authcard{padding:24px 20px}.authcard .brand{display:flex;padding:0;margin-bottom:24px}
 #toast{bottom:calc(88px + env(safe-area-inset-bottom));max-width:calc(100% - 24px);width:max-content;text-align:center}body.saving::after{bottom:calc(88px + env(safe-area-inset-bottom));right:12px;left:12px;text-align:center}
}
@media(display-mode:standalone){html{background:var(--surface)}.auth{padding-top:max(24px,env(safe-area-inset-top))}}

.flow-card{border:1px solid var(--line);border-radius:12px;padding:16px;margin:16px 0;min-width:0}.flow-card summary{cursor:pointer;font-weight:600;min-height:44px;display:list-item;align-content:center}.flow-preview{white-space:pre-wrap;overflow-wrap:anywhere;font:inherit;font-size:14px;line-height:1.6;background:var(--subtle);border-radius:10px;padding:14px}.flow-card textarea{width:100%;font-family:var(--font-ui);line-height:1.5}.flow-history{overflow-wrap:anywhere}#whatsapp-flows{min-width:0}#whatsapp-flows .checkline input{min-height:24px;width:24px;flex-shrink:0}

#admin-flows{min-width:0}#admin-flows .minirow{flex-wrap:wrap;gap:12px}#admin-flows .minirow>div{min-width:0;overflow-wrap:anywhere}#admin-flows .checkline input{min-height:24px;width:24px;flex-shrink:0}.admin-recipients{min-width:0;border:1px solid var(--line);border-radius:10px;padding:14px}.admin-recipients .checkline{margin:10px 0}@media(max-width:760px){#admin-flows .minirow .actions{width:100%}#admin-flows .minirow .actions button{flex:1}#admin-flows .actions button{min-height:44px}}

.route-tools{min-width:0;display:grid;gap:8px}.route-tools button{white-space:normal;min-height:44px}.route-results{display:grid;gap:8px;min-width:0}.route-results select{width:100%;min-width:0;max-width:100%;font-size:16px}.route-tools .tip{overflow-wrap:anywhere}

/* Keep one native scroll surface in dialogs and avoid repainting a blurred page. */
html{scrollbar-gutter:stable}
body:has(dialog[open]){overflow:hidden}
dialog{overflow-x:hidden;overflow-y:auto;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;scrollbar-gutter:stable;scroll-padding-block:16px}
dialog::backdrop{backdrop-filter:none;-webkit-backdrop-filter:none}
dialog .modalbody,dialog form{overflow:visible}
@media(max-width:760px){body{overscroll-behavior-y:auto}html,dialog{scrollbar-gutter:auto}dialog{touch-action:pan-y pinch-zoom}.appointment:hover{filter:none}}
