/* Common shell 1.1.0-rc.1. Retain service-specific cards, data/source and branding styles. */
html:has(body[data-gzm-shell]){height:100%;overflow:hidden}
body[data-gzm-shell]{display:grid!important;grid-template-columns:minmax(0,1fr);grid-template-rows:var(--gzm-top-rows,auto) minmax(0,1fr) auto;height:var(--gzm-height,100dvh)!important;block-size:var(--gzm-height,100dvh);min-height:0!important;min-block-size:0!important;margin:0;overflow:hidden!important}
body[data-gzm-shell]>[data-gzm-chrome]{position:relative;min-width:0;min-height:0;z-index:8;transition:margin .18s ease-out,transform .18s ease-out,opacity .18s ease-out,visibility 0s}
body[data-gzm-shell]>[data-gzm-chrome="header"]{grid-row:1;padding:.375rem .65rem}
body[data-gzm-shell]>[data-gzm-chrome="footer"]{grid-row:var(--gzm-footer-row,3);z-index:7;padding:.15rem .6rem max(.15rem,env(safe-area-inset-bottom))}
body[data-gzm-shell]>[data-gzm-main]{grid-row:var(--gzm-main-row,2);min-width:0!important;min-height:0!important;margin:0;max-height:none;height:auto;block-size:auto;overflow:hidden!important}
body[data-gzm-shell] [data-gzm-pane]{min-width:0!important;min-height:0!important;overflow:auto!important;overscroll-behavior:contain;scrollbar-gutter:stable;overflow-anchor:none;scroll-padding-block:.75rem;max-width:none;width:100%}
body[data-gzm-shell] [data-gzm-main] [data-gzm-pane]{height:100%}
body[data-gzm-shell].gzm-hidden>[data-gzm-chrome]{pointer-events:none;opacity:0;visibility:hidden;transition:margin .18s ease-out,transform .18s ease-out,opacity .18s ease-out,visibility 0s .18s}
body[data-gzm-shell].gzm-hidden>[data-gzm-chrome="header"]{margin-bottom:calc(-1 * var(--gzm-header));transform:translateY(-100%)}
body[data-gzm-shell].gzm-hidden>[data-gzm-chrome="footer"]{margin-top:calc(-1 * var(--gzm-footer));transform:translateY(100%)}
body[data-gzm-shell].gzm-immediate>[data-gzm-chrome]{transition:none!important}
body[data-gzm-shell] [data-gzm-chrome] .header-inner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem;min-width:0;min-height:0;padding:0;width:100%}
body[data-gzm-shell] [data-gzm-chrome] .brand{flex:1 1 6rem;min-width:0;white-space:normal;overflow-wrap:anywhere;font-size:1rem}
body[data-gzm-shell] [data-gzm-trigger]{display:flex;align-items:center;justify-content:center;min-height:44px;min-width:44px;max-width:100%;font-size:1rem;font-weight:750;line-height:1.35;padding:.5rem .75rem;white-space:normal;overflow-wrap:anywhere;cursor:pointer}
body[data-gzm-shell] [data-gzm-trigger]>small{display:none}
body[data-gzm-shell] [data-gzm-panel]{position:fixed!important;inset:auto!important;top:calc(var(--gzm-top,0px) + .5rem)!important;left:.5rem!important;right:.5rem!important;max-width:58rem!important;width:auto!important;margin:0 auto!important;max-height:calc(var(--gzm-height,100dvh) - 1rem)!important;height:auto!important;overflow:auto!important;overscroll-behavior:contain;padding:1rem!important;border:2px solid #47694e!important;border-radius:.7rem;background:#fffef9!important;color:#173e36;box-shadow:0 14px 50px #142b364d;z-index:50;scroll-padding-block:1rem}
body[data-gzm-shell] [data-gzm-menu]:not([open])>[data-gzm-panel],body[data-gzm-shell] [data-gzm-panel-self]:not([open]){display:none!important}
body[data-gzm-shell] [data-gzm-panel-self][open]{display:block!important}
body[data-gzm-shell] [data-gzm-panel] :is(label,button,input,select,summary,a){font-size:1rem;line-height:1.4;max-width:100%;min-width:0;white-space:normal;overflow-wrap:anywhere}
body[data-gzm-shell] :is([data-gzm-close],[data-gzm-panel] button,[data-gzm-panel] input,[data-gzm-panel] select,[data-gzm-panel] summary){min-height:44px;height:auto}
body[data-gzm-shell] [data-gzm-panel] :is(input:not([type="checkbox"]),select){width:100%}
body[data-gzm-shell] [data-gzm-close]{padding:.5rem .75rem;font-size:1rem}
body[data-gzm-shell] .gzm-dismiss{display:block;width:100%;margin-top:1rem;background:#173e36;color:#fff;border:0;border-radius:.5rem}
body[data-gzm-shell] .gzm-selected-value{display:block;font-size:.875rem;line-height:1.5;overflow-wrap:anywhere;margin-top:.25rem}
body[data-gzm-shell] :is(button,a,input,select,summary):focus-visible{outline:3px solid #a47822;outline-offset:2px}
body[data-gzm-shell] [data-gzm-pane]:focus-visible{outline:3px solid #a47822;outline-offset:-3px}
body[data-gzm-shell] [data-gzm-chrome="footer"]>nav{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,4.25rem),1fr));align-items:stretch;gap:4px;width:100%;max-width:1200px;margin-inline:auto}
body[data-gzm-shell] [data-gzm-chrome="footer"]>nav>:is(a,button),body[data-gzm-shell] [data-gzm-chrome="footer"]>nav>details>summary{display:flex;align-items:center;justify-content:center;min-height:44px;min-width:0;max-width:none;margin:0;padding:6px 2px;border:0;border-radius:4px;background:transparent;color:inherit;font-size:.875rem;line-height:1.4;text-align:center;white-space:normal;overflow-wrap:anywhere;text-decoration:none}
body[data-gzm-shell] [data-gzm-dialog][open]{position:fixed!important;inset:auto!important;top:calc(var(--gzm-top,0px) + .5rem)!important;left:.5rem!important;right:.5rem!important;margin:0 auto!important;box-sizing:border-box;width:calc(100% - 1rem)!important;max-width:60rem!important;max-height:calc(var(--gzm-height,100dvh) - 1rem)!important;max-block-size:calc(var(--gzm-height,100dvh) - 1rem)!important;height:auto!important;min-height:0!important;overflow:auto!important;overscroll-behavior:contain}
body[data-gzm-shell] [data-gzm-dialog]::backdrop{background:#10251f88!important;inset:0!important}
body[data-gzm-shell] [data-gzm-dialog] :is(.close-button,#close-dialog,#detail-close){min-height:44px;min-width:44px;max-width:100%;font-size:1rem}
body[data-gzm-shell] [data-gzm-dialog] :is(h1,h2,h3,p,li,dt,dd,a){overflow-wrap:anywhere;white-space:normal}
body[data-gzm-shell] [hidden]{display:none!important}
@media(max-width:640px){body[data-gzm-shell] [data-gzm-panel] :is(.search-row,#filters,#advanced,.compact-search){display:grid;grid-template-columns:minmax(0,1fr)!important;gap:.75rem}body[data-gzm-shell] [data-gzm-panel] #filters>*{grid-column:1!important}}
@media(prefers-reduced-motion:reduce){body[data-gzm-shell]>[data-gzm-chrome]{transition:none!important}}
@media print{html:has(body[data-gzm-shell]){height:auto;overflow:visible}body[data-gzm-shell]{display:block!important;height:auto!important;overflow:visible!important}body[data-gzm-shell] [data-gzm-pane],body[data-gzm-shell]>[data-gzm-main]{height:auto!important;overflow:visible!important}body[data-gzm-shell]>[data-gzm-chrome]{display:none!important}}
/* Family's existing rem-aware short-viewport escape hatch, selected by adapter. */
html:has(body[data-gzm-shell].gzm-natural){height:auto;overflow:auto}
body[data-gzm-shell].gzm-natural{display:block!important;height:auto!important;block-size:auto;min-height:100dvh!important;overflow:visible!important}
body[data-gzm-shell].gzm-natural>[data-gzm-main],body[data-gzm-shell].gzm-natural [data-gzm-pane]{height:auto!important;overflow:visible!important;min-height:8rem!important}

/* One definite inner track for services whose main contains a separate reader.
   The legacy auto/minmax two-row main must not size its sole reader by content. */
body[data-gzm-shell]>[data-gzm-main]:not([data-gzm-pane]){display:grid!important;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr)!important;padding:0;align-self:stretch}
body[data-gzm-shell]>[data-gzm-main]:not([data-gzm-pane])>[data-gzm-pane]{grid-area:1/1;block-size:100%;max-block-size:100%;min-block-size:0}
/* Explicit per-service fixed viewport contract. Never falls back by phone height. */
html:has(body[data-gzm-shell][data-gzm-fixed]){height:100%;overflow:hidden;overscroll-behavior:none}
body[data-gzm-shell][data-gzm-fixed]{position:fixed;inset:0;width:100%;max-width:100%;overscroll-behavior:none}

@media print{html:has(body[data-gzm-shell][data-gzm-fixed]){height:auto;overflow:visible}body[data-gzm-shell][data-gzm-fixed]{position:static;inset:auto;width:auto}body[data-gzm-shell]>[data-gzm-main]:not([data-gzm-pane]){display:block!important}body[data-gzm-shell]>[data-gzm-main]:not([data-gzm-pane])>[data-gzm-pane]{block-size:auto;max-block-size:none}}

/* Any number of adapter-declared top rows share the same measured controller. */
body[data-gzm-shell]>[data-gzm-top-index]{grid-row:var(--gzm-row);min-height:0;min-width:0}
body[data-gzm-shell].gzm-hidden>[data-gzm-top-index]{margin-bottom:calc(-1 * var(--gzm-space));transform:translateY(-100%)}
body[data-gzm-shell] [data-gzm-panel][data-gzm-closed]{display:none!important}
