/* Local search rows: one visual contract, loaded after vertical styles.
   Explicit page-toolbar selectors keep global search, editors and dialogs intact. */
#main :is(.qvh-search,.fbs-toolbar,.tb-toolbar:where(:has(.search)),.sh-feed-toolbar,.se-filterbar,.rv-toolbar,.rs-toolbar:where(:has(.search)),.vis-pages-tools){
 display:flex;align-items:center;gap:8px;flex-shrink:0;flex-wrap:wrap;
 box-sizing:border-box;height:auto;min-height:52px;min-width:0;
 margin:0;padding:4px 20px;border:0;border-bottom:1px solid var(--line);
 background:var(--base);color:var(--ink);box-shadow:none;
}
#main :is(.qvh-search,.fbs-toolbar)[hidden]{display:none!important}
#main :is(.qvh-search,.fbs-toolbar){flex-wrap:nowrap}
#main :is(.qvh-search,.fbs-toolbar,.tb-toolbar,.sh-feed-toolbar,.se-filterbar,.rv-toolbar,.rs-toolbar:where(:has(.search)),.vis-pages-tools) :is(.search,.vis-search){
 box-sizing:border-box;align-items:center;gap:8px;flex:1 1 240px;
 width:auto;min-width:0;max-width:640px;height:36px;min-height:36px;
 margin:0;padding:0 12px;border:1px solid var(--line);border-radius:8px;
 background:var(--surface);color:var(--muted);box-shadow:none;
}
#main :is(.qvh-search,.fbs-toolbar,.tb-toolbar,.sh-feed-toolbar,.se-filterbar,.rv-toolbar,.rs-toolbar:where(:has(.search)),.vis-pages-tools) :is(.search,.vis-search):focus-within{
 border-color:var(--ink);outline:2px solid var(--line);outline-offset:2px;
 background:var(--surface);
}
#main :is(.qvh-search,.fbs-toolbar,.tb-toolbar,.sh-feed-toolbar,.se-filterbar,.rv-toolbar,.rs-toolbar:where(:has(.search)),.vis-pages-tools) :is(.search,.vis-search)>svg{
 width:16px;height:16px;flex:0 0 16px;color:var(--muted);
}
#main :is(.qvh-search,.fbs-toolbar,.tb-toolbar,.sh-feed-toolbar,.se-filterbar,.rv-toolbar,.rs-toolbar:where(:has(.search)),.vis-pages-tools) :is(.search,.vis-search)>input{
 box-sizing:border-box;flex:1;width:100%;min-width:0;max-width:none;
 height:100%;min-height:0;margin:0;padding:0;border:0;border-radius:0;
 background:transparent;color:var(--ink);font:inherit;font-size:13px;
 font-weight:400;line-height:1.5;outline:none;box-shadow:none;
}
#main :is(.qvh-search,.fbs-toolbar,.tb-toolbar,.sh-feed-toolbar,.se-filterbar,.rv-toolbar,.rs-toolbar:where(:has(.search)),.vis-pages-tools) :is(.search,.vis-search)>input::placeholder{color:var(--muted);opacity:1}
#main :is(.qvh-search,.fbs-toolbar,.tb-toolbar,.sh-feed-toolbar,.se-filterbar,.rv-toolbar,.rs-toolbar:where(:has(.search)),.vis-pages-tools)>:where(.btn,.icon-btn,select),
#main :is(.tb-context,.rv-date-control,.sh-layout,.rv-toggle,.vis-pages-tools .vis-toolbar-actions)>:where(.btn,.icon-btn,select){
 box-sizing:border-box;height:36px;min-height:36px;border-radius:8px;
 font-size:13px;font-weight:400;
}
#main :is(.qvh-search,.fbs-toolbar,.tb-toolbar,.sh-feed-toolbar,.se-filterbar,.rv-toolbar,.rs-toolbar:where(:has(.search)),.vis-pages-tools)>select{
 flex:0 1 auto;width:auto;min-width:0;max-width:200px;margin:0;padding:0 28px 0 12px;
 border:1px solid var(--line);background-color:var(--base);color:var(--ink);font-family:inherit;
}
#main :is(.qvh-search,.fbs-toolbar)>.icon-btn{display:inline-flex;flex:0 0 36px;width:36px;min-width:36px;margin-left:auto;padding:8px}
#main :is(.qvh-search,.fbs-toolbar,.tb-toolbar,.sh-feed-toolbar,.se-filterbar,.rv-toolbar,.rs-toolbar:where(:has(.search)),.vis-pages-tools)>.icon-btn>svg{width:16px;height:16px}
#main :is(.qvh-applied,.fbs-applied,.trks-applied){
 box-sizing:border-box;display:flex;align-items:center;gap:8px;min-height:40px;
 padding:4px 20px;border-bottom:1px solid var(--line);background:var(--base);
 color:var(--muted);font-size:12px;line-height:1.5;
}
#main :is(.qvh-applied,.fbs-applied,.trks-applied)>span{min-width:0;overflow-wrap:anywhere}
#main :is(.qvh-applied,.fbs-applied,.trks-applied)>.btn{margin-left:auto;flex-shrink:0}
@media(max-width:768px){
 #main :is(.qvh-search,.fbs-toolbar,.tb-toolbar:where(:has(.search)),.sh-feed-toolbar,.se-filterbar,.rv-toolbar,.rs-toolbar:where(:has(.search)),.vis-pages-tools){min-height:53px;padding:4px 16px;gap:8px}
 #main :is(.qvh-search,.fbs-toolbar,.tb-toolbar,.sh-feed-toolbar,.se-filterbar,.rv-toolbar,.rs-toolbar:where(:has(.search)),.vis-pages-tools) :is(.search,.vis-search){height:44px;min-height:44px;max-width:none;flex-basis:100%}
 #main :is(.qvh-search,.fbs-toolbar,.tb-toolbar,.sh-feed-toolbar,.se-filterbar,.rv-toolbar,.rs-toolbar:where(:has(.search)),.vis-pages-tools) :is(.search,.vis-search)>input{font-size:16px}
 #main :is(.qvh-search,.fbs-toolbar){flex-wrap:wrap}
 #main :is(.qvh-search,.fbs-toolbar)>.search{flex:1 1 calc(100% - 52px);order:0}
 #main :is(.qvh-search,.fbs-toolbar)>.icon-btn{order:1;flex:0 0 44px;width:44px;min-width:44px;height:44px;min-height:44px;margin-left:0}
 #main :is(.qvh-search,.fbs-toolbar)>select{display:block!important;order:2;flex:1 1 100%;width:100%;max-width:none;min-height:44px;font-size:16px}
 #main :is(.tb-toolbar,.sh-feed-toolbar,.se-filterbar,.rv-toolbar,.rs-toolbar:where(:has(.search)),.vis-pages-tools)>:where(.btn,.icon-btn,select),
 #main :is(.tb-context,.rv-date-control,.sh-layout,.rv-toggle,.vis-pages-tools .vis-toolbar-actions)>:where(.btn,.icon-btn,select){height:44px;min-height:44px}
 #main :is(.tb-toolbar,.sh-feed-toolbar,.se-filterbar,.rv-toolbar,.rs-toolbar:where(:has(.search)),.vis-pages-tools)>select{font-size:16px;max-width:none}
 #main .tb-compact-toolbar{flex-wrap:nowrap}
 #main .tb-compact-toolbar .search{flex:1 1 0;min-width:0}
 #main .tb-compact-toolbar .icon-btn{flex-shrink:0}
 #main :is(.qvh-applied,.fbs-applied,.trks-applied){padding:4px 16px;min-height:52px}
 #main :is(.qvh-applied,.fbs-applied,.trks-applied)>.btn{min-height:44px}
}

/* Restaurant service keeps its labelled date/status controls; plan-editor tools are excluded. */
#main .rs-toolbar:where(:has(.search)){align-items:flex-end;padding-block:8px}
#main .rs-toolbar:where(:has(.search))>.field{flex:0 1 180px;min-width:0;margin:0;gap:4px}
#main .rs-toolbar:where(:has(.search))>.field>span{font-size:12px;color:var(--muted)}
#main .rs-toolbar:where(:has(.search))>.field>:is(input,select){width:100%;min-width:0;box-sizing:border-box;height:36px;min-height:36px;border-radius:8px;font-size:13px}
@media(max-width:768px){
 #main .rs-toolbar:where(:has(.search))>.field{flex:1 1 calc(50% - 8px)}
 #main .rs-toolbar:where(:has(.search))>.field>:is(input,select){height:44px;min-height:44px;font-size:16px}
}

/* Date navigation stays within the phone width with a shrinkable native date field. */
@media(max-width:768px){
 #main .rv-toolbar .rv-date-control{gap:4px;min-width:0}
 #main .rv-toolbar .rv-date-control>input{flex:1 1 100px;width:100px;min-width:0;max-width:150px;height:44px;font-size:16px;padding-inline:0}
 #main .rv-toolbar .rv-date-control>.icon-btn{flex:0 0 44px;width:44px;padding-inline:8px}
 #main .rv-toolbar .rv-date-control>.btn{flex:0 0 auto;padding-inline:8px;font-size:12px}
}
