@font-face{font-family:StadtZuerichLight;src:url('/assets/fonts/HelveticaNeueLTW01_41488878.woff2') format('woff2');font-display:swap}
@font-face{font-family:StadtZuerich;src:url('/assets/fonts/HelveticaNeueLTW01_55Roman.woff2') format('woff2');font-display:swap}
@font-face{font-family:StadtZuerichMedium;src:url('/assets/fonts/HelveticaNeueLTW05_65Medium.woff2') format('woff2');font-display:swap}
@font-face{font-family:StadtZuerichBold;src:url('/assets/fonts/HelveticaNeueLTW01_71488914.woff2') format('woff2');font-display:swap}
@font-face{font-family:StadtZuerichHeavy;src:url('/assets/fonts/HelveticaNeueLTW05_85Heavy.woff2') format('woff2');font-display:swap}

:root{--sans:'StadtZuerich',Arial,sans-serif;--mono:'StadtZuerichMedium',Arial,sans-serif;--official-grey:#F4F4F4;--official-grey-border:#E8E8E8;--official-text:#2A2A2A}
body{font-family:var(--sans);color:var(--official-text)}
h1,h2,h3,h4{font-family:'StadtZuerichHeavy',var(--sans);font-weight:400;letter-spacing:-.035em}
.eyebrow,.tag,.tiny-label,.demo-mark,.map-meta{font-family:'StadtZuerichMedium',var(--sans);letter-spacing:.07em}
.site-header{position:relative}.header-inner{max-width:1200px;padding:18px 32px}.city-logo{width:150px}.brand{padding:5px 8px}.prototype-chip{font-family:'StadtZuerichMedium',var(--sans);border:1px solid var(--official-grey-border);background:var(--official-grey)}
.official-search{background:var(--official-grey);border-top:1px solid var(--official-grey-border);border-bottom:1px solid #D9D9D9}.official-search-inner{max-width:1200px;margin:0 auto;padding:28px 32px 24px}.official-search-heading h2{margin:0 0 20px;color:var(--official-text);font-family:'StadtZuerich',var(--sans);font-size:24px;letter-spacing:-.025em;font-weight:400}.official-search-form{display:grid;grid-template-columns:minmax(260px,1fr) minmax(170px,.55fr) auto;gap:16px 20px;align-items:end}.official-search-form .field-group{min-width:0}.official-search-form .field-group input{min-height:48px;border:1px solid #7C7C7C;border-radius:0;padding:0 14px;background:var(--white);font-size:16px}.official-actions{display:flex;gap:10px;align-items:end}.official-actions .button{min-height:48px;border-radius:0;padding-left:22px;padding-right:22px}.collection-options{grid-column:1/-1;border:0;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:10px 16px;align-items:center}.collection-options legend{font-size:13px;font-family:'StadtZuerichMedium',var(--sans);margin:0 8px 0 0}.collection-options label{font-size:13px;display:inline-flex;gap:6px;align-items:center}.collection-options input{accent-color:var(--blue-primary);width:16px;height:16px}.official-search-status{font-size:12px;color:#606060;margin:14px 0 0}.official-search-status .text-button{font-family:var(--sans);margin-left:5px}
.hero{background:var(--blue-hero)}.hero-inner{max-width:1200px;padding:46px 32px 50px}.hero-copy{max-width:780px}.hero h1{font-size:clamp(42px,5vw,68px);line-height:.96}.hero-lead{font-size:20px}.hero-note{font-size:14px;max-width:600px;color:#2A2A2A;margin:14px 0 0}.page-shell{max-width:1200px;padding:0 32px}.service-section{padding:48px 0}.calendar-panel{border-color:#D9D9D9;border-radius:0}.panel{border-radius:0}.button,.filter-pill{border-radius:0}.filter-pill{font-family:var(--sans)}
.map-canvas{height:440px;background:var(--official-grey);border:1px solid #D9D9D9}.map-canvas:before{display:none}#real-map{height:440px;z-index:0}.map-disclaimer{font-size:12px}.google-info-window{display:grid;gap:5px;min-width:190px;max-width:250px;font-family:'StadtZuerich',Arial,sans-serif;color:#2A2A2A;font-size:12px;line-height:1.35}.google-info-window strong{font-family:'StadtZuerichMedium',Arial,sans-serif;color:#0F05A0;font-size:14px}.google-info-window span{display:block}.google-info-window a{color:#0F05A0;font-family:'StadtZuerichMedium',Arial,sans-serif;text-decoration:underline;text-underline-offset:2px}.map-frame .gm-style-iw{padding:5px!important}.map-frame .gm-style-iw-d{overflow:auto!important}.map-frame .gm-ui-hover-effect{top:0!important;right:0!important}
.route-planner{margin-top:12px;border:1px solid #A9D7F5;background:#F4F7F9;padding:12px}.route-planner[hidden]{display:none}.route-planner-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.route-planner h3{margin:0;color:var(--zuerich-primary);font:400 18px 'StadtZuerichMedium',var(--sans)}.route-planner p{margin:6px 0 10px;font-size:12px;color:#606060}.route-controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.route-controls label{font-size:12px;font-family:'StadtZuerichMedium',var(--sans)}.route-controls select{min-height:34px;border:1px solid #7C7C7C;background:#fff;padding:0 8px;font-size:12px}.route-controls .button{min-height:34px;padding:7px 10px;font-size:11px}.directions-panel{max-height:230px;overflow:auto;margin-top:10px;background:#fff}.directions-panel:empty{display:none}.directions-panel .adp{font-family:'StadtZuerich',Arial,sans-serif;font-size:12px}.directions-panel .adp-summary{color:var(--zuerich-primary);font-family:'StadtZuerichMedium',Arial,sans-serif}.google-info-window button{border:0;background:none;padding:0;text-align:left;color:#0F05A0;text-decoration:underline;font:12px 'StadtZuerichMedium',Arial,sans-serif;cursor:pointer}
.site-footer{background:var(--footer);padding:32px max(32px,calc((100% - 1200px)/2));display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:24px;color:var(--white);font-family:var(--sans)}.footer-brand-text{display:grid;gap:3px}.footer-brand-text strong{font-family:'StadtZuerichMedium',var(--sans);font-size:16px;font-weight:400}.footer-brand-text span,.footer-prototype-label{font-size:12px;color:var(--footer-muted)}.footer-links{display:flex;justify-content:center;flex-wrap:wrap;gap:18px}.footer-links a,.site-footer a{color:var(--white);font-size:12px;text-decoration:underline;text-underline-offset:3px}.site-footer>div{display:grid;gap:3px;color:var(--white)}
@media(max-width:760px){.header-inner{padding:13px 17px}.city-logo{width:118px}.official-search-inner{padding:24px 17px 20px}.official-search-form{grid-template-columns:1fr 1fr;gap:12px}.official-search-form .field-group:first-child{grid-column:1/-1}.official-actions{grid-column:1/-1;justify-content:flex-end}.collection-options{gap:9px 12px}.collection-options legend{width:100%;margin:0}.hero-inner{padding:32px 17px 36px}.hero h1{font-size:43px}.hero-lead{font-size:17px}.page-shell{padding:0 17px}.service-section{padding:34px 0}#real-map,.map-canvas{height:340px}.site-footer{padding:26px 17px;grid-template-columns:1fr;gap:15px}.footer-links{justify-content:flex-start;gap:10px 16px}.footer-prototype-label{order:4}}

/* Reference-aligned Zürich shell */
:root{--site-margin:clamp(28px,4.25vw,80px);--zuerich-grey:#F4F7F9;--zuerich-primary:#0F05A0}
.site-header{position:relative;top:auto;z-index:10;border:0;background:var(--white)}
.header-logobar{height:168px;display:grid;grid-template-columns:1fr 1fr;background:var(--white)}
.header-logo-inner{display:flex;align-items:center;justify-content:space-between;padding:0 var(--site-margin);min-width:0}
.header-blue-block{background:var(--zuerich-primary)}
.city-logo{width:15rem;max-width:72%;height:auto}.brand{padding:0;background:transparent}
.prototype-chip{flex:0 0 auto;margin-left:20px;font-size:10px;white-space:nowrap;background:var(--zuerich-grey);border:1px solid #D8DDE2;padding:9px 11px}
.utility-bar{height:80px;background:var(--zuerich-grey);border-top:1px solid #E2E7EB;border-bottom:1px solid #E2E7EB}
.utility-inner{height:100%;display:flex;align-items:center;justify-content:space-between;padding:0 var(--site-margin)}
.utility-left,.utility-right{display:flex;align-items:center}.utility-left{gap:44px}.utility-right{gap:54px}
.utility-menu,.utility-search,.utility-right a{display:inline-flex;align-items:center;gap:17px;color:var(--zuerich-primary);font-family:var(--sans);font-size:20px;text-decoration:none;background:transparent;border:0;padding:0}
.utility-menu strong{font-family:'StadtZuerichMedium',var(--sans);font-weight:400}.utility-search{color:#2A2A2A}.utility-right a{color:#2A2A2A;gap:17px}
.utility-search svg,.utility-right svg{width:30px;height:30px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.utility-right svg{width:29px;height:29px}
.hamburger{width:26px;height:23px;display:grid;align-content:space-between}.hamburger i{height:3px;background:var(--zuerich-primary);display:block}
.breadcrumbs{height:120px;background:var(--white)}.breadcrumbs-inner{height:100%;display:flex;align-items:center;gap:14px;padding:0 var(--site-margin);font-size:19px;line-height:1.25}.breadcrumbs-inner a,.breadcrumbs-inner strong{color:var(--zuerich-primary);text-decoration:none}.breadcrumbs-inner strong{font-family:'StadtZuerichMedium',var(--sans);font-weight:400}.breadcrumbs-inner svg{width:29px;height:29px;fill:none;stroke:var(--zuerich-primary);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;vertical-align:middle}.breadcrumbs-inner>span{font-size:32px;line-height:1;color:var(--zuerich-primary);font-weight:300}
.hero{background:#88CFFF;border:0}.hero-inner{max-width:none;padding:48px var(--site-margin) 78px}.hero-copy{max-width:920px}.read-aloud{display:inline-flex;align-items:center;gap:11px;padding:0;border:0;background:none;color:var(--zuerich-primary);font:400 20px/1.2 'StadtZuerichMedium',var(--sans);margin:0 0 22px}.read-aloud svg{width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.hero h1{font-family:'StadtZuerichHeavy',var(--sans);font-size:clamp(54px,5.3vw,82px);line-height:1.02;letter-spacing:-.045em;color:var(--zuerich-primary);margin:0}.hero h1 em{color:inherit}.hero-lead{font-family:'StadtZuerichMedium',var(--sans);font-size:clamp(22px,2.05vw,31px);line-height:1.55;letter-spacing:-.02em;color:var(--zuerich-primary);max-width:780px;margin:46px 0 0}.hero-note{display:none}
.official-search{border:0;background:var(--zuerich-grey)}.official-search-inner{max-width:none;padding:48px var(--site-margin) 42px}.official-search-heading h2{font-size:29px;color:var(--zuerich-primary);font-family:'StadtZuerichMedium',var(--sans);margin-bottom:28px}.official-search-form{grid-template-columns:minmax(320px,1fr) minmax(220px,.5fr) auto;gap:18px 24px;max-width:1240px}.official-search-form .field-group input{min-height:56px;font-size:18px}.official-actions .button{min-height:56px;font-size:16px}.collection-options{max-width:1200px;gap:12px 22px}.collection-options legend{font-size:15px}.collection-options label{font-size:15px}.official-search-status{font-size:14px;margin-top:18px}.ics-export-options{display:flex;align-items:center;justify-content:space-between;gap:16px;max-width:1240px;margin-top:12px;font-size:13px;color:#606060}.ics-export-options label{display:inline-flex;align-items:center;gap:7px;color:#2A2A2A}.ics-export-options input{accent-color:var(--zuerich-primary);width:16px;height:16px}.ics-period{font-family:'StadtZuerichMedium',var(--sans)}
.page-shell{max-width:none;padding:0 var(--site-margin)}.service-section{padding:72px 0}.section-heading{align-items:end}.section-heading h2{font-size:clamp(38px,3.2vw,54px)}
@media(max-width:900px){.header-logobar{height:132px}.utility-left{gap:24px}.utility-right{gap:22px}.utility-menu,.utility-search,.utility-right a{font-size:17px}.breadcrumbs{height:96px}.breadcrumbs-inner{font-size:16px;gap:10px;overflow:auto;white-space:nowrap}.hero-inner{padding-top:38px;padding-bottom:60px}.hero-lead{margin-top:30px}.official-search-inner{padding-top:36px}.official-search-form{grid-template-columns:1fr 1fr}.official-actions{grid-column:1/-1;justify-content:flex-end}}
@media(max-width:600px){.header-logobar{height:100px;grid-template-columns:1fr 0.45fr}.header-logo-inner{padding:0 17px}.city-logo{width:11rem;max-width:100%}.prototype-chip{position:absolute;top:10px;right:13px;transform:scale(.78);transform-origin:top right}.utility-bar{height:62px}.utility-inner{padding:0 17px}.utility-left{gap:19px}.utility-menu,.utility-search,.utility-right a{font-size:15px;gap:9px}.utility-right{gap:0}.utility-right a:first-child{font-size:0}.utility-right a:first-child svg{width:25px;height:25px}.utility-right a:last-child{display:none}.hamburger{width:22px;height:19px}.hamburger i{height:2px}.utility-search svg{width:25px;height:25px}.breadcrumbs{height:74px}.breadcrumbs-inner{padding:0 17px;font-size:14px}.breadcrumbs-inner>span{font-size:24px}.breadcrumbs-inner svg{width:24px;height:24px}.hero-inner{padding:30px 17px 44px}.read-aloud{font-size:16px;margin-bottom:18px}.read-aloud svg{width:24px;height:24px}.hero h1{font-size:48px}.hero-lead{font-size:21px;line-height:1.4;margin-top:25px}.official-search-inner{padding:30px 17px}.official-search-heading h2{font-size:24px}.official-search-form{grid-template-columns:1fr;gap:14px}.official-search-form .field-group:first-child{grid-column:auto}.official-actions{grid-column:auto;justify-content:flex-start}.collection-options{gap:10px 14px}.collection-options legend{font-size:13px}.collection-options label{font-size:13px}.official-search-status{font-size:12px}.ics-export-options{align-items:flex-start;flex-direction:column;gap:8px;font-size:12px}.page-shell{padding:0 17px}.service-section{padding:42px 0}}

/* Final proportion corrections from supplied reference */
.header-logobar{grid-template-columns:40.6% 59.4%}
.hero-inner{padding-bottom:94px}
.hero h1{font-size:clamp(48px,4vw,64px)}
.hero-lead{font-size:clamp(22px,1.7vw,28px)}

#print-view{display:none}
@media print{
  body{font-family:'StadtZuerich',Arial,sans-serif;color:#000}
  .site-header,.breadcrumbs,.hero,.official-search,.calendar-section,.map-section,.sources-details,.assistant,.site-footer{display:none!important}
  #print-view{display:block!important;padding:18mm 16mm 14mm}
  .print-header{border-bottom:2px solid #0F05A0;padding-bottom:8mm;margin-bottom:7mm}
  .print-header h1{font-family:'StadtZuerichHeavy',Arial,sans-serif;color:#0F05A0;font-size:25pt;margin:0 0 6mm}
  .print-header p{font-size:10pt;margin:2mm 0}.print-meta{color:#555;font-size:8pt!important;overflow-wrap:anywhere}
  .print-event{display:grid;grid-template-columns:31mm 1fr;gap:7mm;border-top:1px solid #bbb;padding:4mm 0;break-inside:avoid;page-break-inside:avoid}
  .print-event time{font-weight:700;color:#0F05A0;font-size:11pt}.print-event h2{font-family:'StadtZuerichMedium',Arial,sans-serif;color:#000;font-size:11pt;margin:0 0 2mm}.print-event p{font-size:9pt;margin:1.5mm 0;line-height:1.35}
}

/* Fixed chat shell: header and composer stay visible while only the conversation scrolls. */
.assistant{width:min(440px,calc(100vw - 28px));max-height:calc(100vh - 28px);display:flex;flex-direction:column}
.assistant-toggle{flex:0 0 auto;min-height:58px}
.assistant-panel{min-height:0;max-height:calc(100vh - 86px);display:flex;flex-direction:column;overflow:hidden;padding:0}
.assistant-intro{flex:0 0 auto;padding:14px 14px 8px}
.assistant-intro p{font-size:13px;line-height:1.4}
.chat-messages{flex:1 1 auto;min-height:0;max-height:none;overflow-y:auto;overflow-x:hidden;padding:12px 14px;scroll-behavior:smooth}
.chat-message{width:fit-content;max-width:92%;overflow-wrap:anywhere;word-break:break-word}
.chat-form{flex:0 0 auto;margin:0;padding:10px 14px 14px;border-top:1px solid #D9D9D9;background:var(--white);align-items:stretch}
.chat-form input{flex:1 1 auto;min-width:0;border:1px solid #C8C8C8;border-radius:999px;padding:0 14px;background:var(--white)}
.chat-form .button{width:auto;min-width:74px;border-radius:999px;padding:0 14px}
.suggestions{margin:8px 0 0}
@media(max-width:600px){.assistant{right:12px;bottom:10px;width:calc(100vw - 24px);max-height:calc(100vh - 20px)}.assistant-panel{max-height:calc(100vh - 78px)}.chat-form{padding:9px 10px 10px}.chat-form .button{min-width:64px;padding:0 10px}.chat-message{max-width:94%}}

/* Deterministic ERZ service assistant refresh */
.assistant{width:min(430px,calc(100vw - 28px));border:1px solid #D7DDE3;background:#fff;filter:drop-shadow(0 12px 24px rgba(15,5,160,.16))}.assistant-toggle{min-height:64px;padding:10px 14px;grid-template-columns:34px 1fr auto;gap:10px}.assistant-toggle strong{font-family:'StadtZuerichMedium',var(--sans);font-size:14px}.assistant-toggle strong::after{content:'Fragen zu Terminen und Entsorgung';display:block;margin-top:2px;color:#C5E7FF;font:11px var(--sans);letter-spacing:0}.assistant-orb{width:30px;height:30px}.assistant-panel{border:0;max-height:calc(100vh - 92px)}.assistant-intro{padding:15px 15px 10px;background:#fff}.assistant-greeting{font-family:'StadtZuerichMedium',var(--sans)!important;color:#2A2A2A!important;font-size:14px!important;line-height:1.4!important}.assistant-subtitle{display:block;margin-top:3px;color:#0F05A0;font-size:11px;letter-spacing:.02em}.chat-context{margin-top:6px;color:#6A6A6A;font-size:10px}.chat-messages{padding:14px 15px;gap:10px;background:#fff}.chat-message{border-radius:0;padding:10px 11px;font-size:13px;line-height:1.45;box-shadow:none}.chat-message.assistant{background:#F4F7F9;border-left:3px solid #88CFFF}.chat-message.user{background:#0F05A0;color:#fff;border-radius:12px 12px 2px 12px}.chat-message.loading{background:#F4F7F9;border-left:3px solid #C5E7FF}.chat-message p{margin:0 0 4px!important}.chat-message a{font-size:11px}.chat-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.chat-action{display:inline-flex;margin:0;border:1px solid #0F05A0;background:#fff;color:#0F05A0;padding:7px 9px;font:11px 'StadtZuerichMedium',var(--sans);cursor:pointer}.chat-action:hover{background:#C5E7FF}.chat-last-question{font-size:11px}.chat-tools{margin-top:9px}.chat-clear{font-size:11px}.suggestions{gap:6px;margin:10px 0 0}.suggestions button{background:#fff;border:1px solid #AAB6C2;padding:7px 9px;color:#0F05A0;font:11px var(--sans);border-radius:999px}.suggestions button:hover{background:#C5E7FF;border-color:#0F05A0}.chat-form{padding:11px 15px 15px;gap:8px}.chat-form input{min-height:42px;font-size:13px}.chat-form .button{min-height:42px;width:46px;border-radius:0;font-size:0}.chat-form .button::before{content:'➤';font-size:16px;color:#fff}.chat-form .button:hover{background:#0B047F}
@media(max-width:600px){.assistant{right:0;bottom:0;width:100vw;max-height:100dvh;border-left:0;border-right:0}.assistant-toggle{min-height:58px}.assistant-panel{max-height:calc(100dvh - 58px)}.chat-messages{min-height:180px}.chat-form{padding-bottom:max(11px,env(safe-area-inset-bottom))}.chat-action{min-height:38px}.suggestions button{min-height:36px}}


/* UX refinement: one contained widget, one conversation surface, no style leakage. */
aside.assistant{position:fixed;right:18px;bottom:17px;z-index:12;width:300px;max-height:none;border:0;background:transparent;filter:drop-shadow(0 10px 24px rgba(7,0,48,.18))}
aside.assistant.open{width:min(410px,calc(100vw - 28px));max-height:min(680px,calc(100vh - 28px));background:#fff;border:1px solid #D7DDE3}
aside.assistant:not(.open) .assistant-toggle{border-radius:4px}
aside.assistant.open .assistant-toggle{border-radius:0}
aside.assistant .assistant-toggle{min-height:56px;padding:10px 14px;grid-template-columns:32px 1fr auto;gap:10px}
aside.assistant .assistant-toggle strong{font-size:13px;line-height:1.2}
aside.assistant .assistant-toggle strong::after{display:none}
aside.assistant .assistant-panel{max-height:min(620px,calc(100vh - 84px));min-height:0;display:flex;flex-direction:column;overflow:hidden;padding:0;border:0}
aside.assistant .assistant-intro{padding:10px 14px 8px;border-bottom:1px solid #E3E7EA}
aside.assistant .assistant-intro .chat-context{margin:0;color:#5d6670;font-size:11px}
aside.assistant .chat-tools{margin-top:7px}
aside.assistant .suggestions{margin:8px 0 0}
aside.assistant .chat-messages{flex:1 1 auto;min-height:170px;max-height:420px;overflow-y:auto;padding:13px 14px;display:flex;flex-direction:column;gap:9px;scroll-behavior:smooth}
aside.assistant .chat-message{position:static;inset:auto;float:none;display:block;width:fit-content;max-width:88%;margin:0;flex:none;border-radius:4px;padding:9px 11px;font-size:13px;line-height:1.42;overflow-wrap:anywhere;word-break:break-word;box-shadow:none}
aside.assistant .chat-message.assistant{align-self:flex-start;background:#F4F7F9;border-left:3px solid #88CFFF;color:#202020}
aside.assistant .chat-message.user{align-self:flex-end;background:#0F05A0;color:#fff;border-radius:12px 12px 2px 12px}
aside.assistant .chat-message.loading{align-self:flex-start}
aside.assistant .chat-empty{display:grid;gap:3px;align-self:stretch;margin:auto 0;padding:14px 2px;color:#5d6670;font-size:12px}
aside.assistant .chat-empty strong{font-family:'StadtZuerichMedium',var(--sans);font-size:13px;color:#2A2A2A}
aside.assistant .chat-form{flex:0 0 auto;display:flex;margin:0;padding:10px 14px 13px;border-top:1px solid #D9D9D9;background:#fff;gap:8px}
aside.assistant .chat-form input{min-height:42px;min-width:0;flex:1 1 auto;font-size:13px}
aside.assistant .chat-form .button{flex:0 0 44px;min-height:42px;width:44px;border-radius:4px}
.official-search-form{grid-template-columns:minmax(130px,.34fr) minmax(260px,1fr) minmax(170px,.55fr) auto}
.kreis-field select{min-height:56px;border:1px solid #7C7C7C;border-radius:0;padding:0 14px;background:#fff;font-size:18px;color:#2A2A2A}
.required-note,.optional-note{font:11px 'StadtZuerich',var(--sans);color:#606060;font-weight:400}
@media(max-width:900px){.official-search-form{grid-template-columns:minmax(130px,.42fr) minmax(220px,1fr) minmax(160px,.55fr)}.official-actions{grid-column:1/-1;justify-content:flex-end}}
@media(max-width:600px){aside.assistant{right:12px;bottom:12px;width:auto;max-width:calc(100vw - 24px)}aside.assistant.open{right:0;bottom:0;width:100vw;max-width:none;max-height:100dvh;border-left:0;border-right:0}aside.assistant.open .assistant-panel{max-height:calc(100dvh - 58px)}aside.assistant .chat-messages{max-height:none;min-height:180px;padding:12px}.official-search-form{grid-template-columns:1fr}.official-search-form .kreis-field,.official-search-form .field-group:first-of-type{grid-column:auto}.kreis-field select{min-height:48px;font-size:16px}.official-actions{grid-column:auto;justify-content:flex-start}.required-note,.optional-note{font-size:10px}}

/* Rechte Arbeitsfläche: Der Assistent erhält geöffnet eine eigene Spalte. */
.workspace-shell{display:grid;grid-template-columns:minmax(0,1fr) 0;column-gap:0;align-items:start;padding-right:var(--site-margin)}
.workspace-shell>main{min-width:0}
.workspace-shell>aside.assistant{grid-column:2;position:fixed;right:24px;bottom:24px;z-index:30;width:56px;height:56px;margin:0;filter:drop-shadow(0 8px 18px rgba(7,0,48,.22))}
.workspace-shell>aside.assistant:not(.open) .assistant-toggle{width:56px;height:56px;min-height:56px;padding:0;border-radius:50%;display:grid;place-items:center;grid-template-columns:1fr;background:var(--zuerich-primary)}
.workspace-shell>aside.assistant:not(.open) .assistant-toggle strong,.workspace-shell>aside.assistant:not(.open) .assistant-chevron{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.workspace-shell>aside.assistant:not(.open) .assistant-orb{width:32px;height:32px;font-size:18px}
.workspace-shell>aside.assistant.open{position:sticky;top:24px;right:auto;bottom:auto;width:100%;height:min(760px,calc(100vh - 48px));max-height:none;margin:24px 0 0;background:#fff;border:1px solid #D7DDE3;filter:drop-shadow(0 8px 18px rgba(7,0,48,.12))}
.workspace-shell>aside.assistant.open .assistant-panel{height:calc(100% - 56px);max-height:none}
body.assistant-expanded .workspace-shell{grid-template-columns:minmax(0,1fr) minmax(340px,410px);column-gap:clamp(24px,3vw,48px)}
body.assistant-expanded .workspace-shell>aside.assistant{grid-column:2}
@media(min-width:961px) and (max-width:1180px){body.assistant-expanded .workspace-shell{grid-template-columns:minmax(0,1fr) minmax(300px,360px);column-gap:24px}.workspace-shell .map-layout{grid-template-columns:1fr}}
@media(max-width:960px){.workspace-shell{display:block;padding-right:0}.workspace-shell>aside.assistant{position:fixed;right:18px;bottom:18px}.workspace-shell>aside.assistant.open{position:fixed;right:0;bottom:0;top:auto;width:min(430px,100vw);height:min(760px,100dvh);max-height:100dvh;margin:0;border-right:0;border-bottom:0}.workspace-shell>aside.assistant.open .assistant-panel{height:calc(100% - 58px);max-height:none}}
@media(max-width:600px){.workspace-shell>aside.assistant{right:12px;bottom:12px}.workspace-shell>aside.assistant.open{width:100vw;height:100dvh}.workspace-shell>aside.assistant:not(.open) .assistant-toggle{width:54px;height:54px;min-height:54px}.workspace-shell>aside.assistant:not(.open){width:54px;height:54px}}
@media(prefers-reduced-motion:reduce){.workspace-shell>aside.assistant,.workspace-shell>aside.assistant .assistant-panel{transition:none}}
