.zeri-page { color:#243c31; }
.zeri-page .zr-main { font-size:18px; }
.zeri-page .zr-hint,.zeri-page .zr-metadata,.zeri-page .zr-participants legend { font-size:16px; }
.zeri-page .form-control { font-size:18px; }
.zeri-page .zr-main { max-width:none; margin:0; }
.zeri-page .zr-header { padding:0 0 1.5rem; margin-bottom:1.5rem; flex-wrap:wrap; }
.zeri-page .sidebar-toggle { min-width:44px; min-height:44px; }
.zeri-page .zr-results { padding:0; }
.zeri-page .zr-history { padding:1rem 0 0; }
.zeri-page .zr-main p { color:#536355; }
.zeri-page .zr-main .zr-eyebrow { color:#756023; }
.zeri-page .zr-main .zr-history h2 { font-size:1.35rem; }
.zeri-page #zeriAccessStatus { padding:1rem; border:1px solid #d5dacf; border-radius:.5rem; }
@media(min-width:1025px) and (max-width:1200px) { .zeri-page .zr-layout { grid-template-columns:1fr; } }
@media(max-width:1024px) { .zeri-page .app-sidebar:not(.is-open) { visibility:hidden; } }
.zr-skip { position:absolute; top:-6rem; left:1rem; padding:1rem; background:#fffdf8; color:#14573f; z-index:10; }
.zr-skip:focus { top:1rem; }
.zr-history { border-top:1px solid #d5dacf; margin-top:1.5rem; padding-top:1rem; }
.zr-history h2 { font-size:1.35rem; }
.zr-history ul { list-style:none; padding:0; }
.zr-history-item { padding:1rem 0; border-top:1px solid #d5dacf; overflow-wrap:anywhere; }
.zr-history-item p { margin:.4rem 0; line-height:1.5; }
.zr-history button { min-height:2.75rem; margin:.25rem .25rem .25rem 0; white-space:normal; }
.zr-header { max-width:88rem; margin:auto; padding:1.5rem 2rem; display:flex; align-items:center; justify-content:space-between; gap:1rem; border-bottom:1px solid #d3d9cf; }
.zr-header nav { display:flex; gap:1.25rem; flex-wrap:wrap; }
.zr-header a { color:#14573f; min-height:2.75rem; display:inline-flex; align-items:center; }
.zr-brand { font:600 1.5rem Georgia,serif; text-decoration:none; }
.zr-main { max-width:88rem; margin:auto; padding:2.5rem 2rem 5rem; }
.zr-main h1 { font-size:clamp(2rem,4vw,3.5rem); max-width:55rem; }
.zr-main h2 { font-size:1.8rem; }
.zr-eyebrow { color:#756023; letter-spacing:.2em; margin:0 0 .75rem; }
.zr-intro { font-size:1.1rem; max-width:48rem; line-height:1.7; }
.zr-notice { padding:1rem 1.25rem; background:#eee8d5; border-left:3px solid #a78734; line-height:1.6; border-radius:.4rem; }
.zr-layout { display:grid; grid-template-columns:minmax(18rem,24rem) minmax(0,1fr); gap:2rem; align-items:start; margin-top:2rem; }
.zr-card,.zr-date { background:#fffdf8; border:1px solid #d5dacf; border-radius:1rem; padding:1.5rem; }
.zr-card fieldset { border:0; margin:0; padding:0; min-width:0; }
.zr-card .form-label { margin-top:1rem; }
.zr-card .form-label:first-child { margin-top:0; }
.zr-pair { display:grid; grid-template-columns:1fr 1fr; gap:.75rem; margin-top:1rem; }
.zr-card input,.zr-card select { min-width:0; min-height:2.75rem; }
.zr-card .zr-participants { border-top:1px solid #d5dacf; margin-top:1.5rem; padding-top:.75rem; }
.zr-participants legend { font-weight:600; font-size:.9rem; }
.zr-participants label { display:flex; align-items:center; gap:.6rem; min-height:2.75rem; overflow-wrap:anywhere; }
.zr-participants input { width:1.2rem; height:1.2rem; min-height:0; accent-color:#14573f; }
.zr-hint { color:#536355; line-height:1.6; font-size:.85rem; }
#selectDates { width:100%; margin-top:1.3rem; white-space:normal; min-height:3rem; }
#formStatus { line-height:1.6; color:#6d4d14; overflow-wrap:anywhere; }
.zr-method { border-top:1px solid #d5dacf; padding-top:.75rem; line-height:1.7; }
summary { cursor:pointer; padding:.75rem 0; min-height:2.75rem; font-weight:600; color:#14573f; }
.zr-result-head,.zr-date-head { display:flex; align-items:center; justify-content:space-between; gap:1rem; flex-wrap:wrap; }
.zr-date { margin:1rem 0; }
.zr-date h3 { font-size:1.55rem; margin:0; }
.zr-score { background:#e5f0e7; border-radius:2rem; padding:.6rem 1rem; font-weight:700; }
.zr-date ul { padding-left:1.25rem; line-height:1.65; }
.zr-date p { line-height:1.6; }
.zr-date h4 { font-family:inherit; font-size:1.1rem; margin:1.5rem 0 .6rem; }
.zr-date .zr-timing { font-size:1.25rem; font-weight:600; color:#14573f; }
.zr-date p,.zr-guide p { max-width:70ch; }
.zr-date p + p,.zr-guide p + p { margin-top:.75rem; }
.zr-guide { padding:1.5rem; border:1px solid #b8cbbd; border-radius:1rem; background:#edf3eb; margin:1.5rem 0; }
.zr-guide h3 { margin:0 0 1rem; font-size:1.5rem; }
.zr-guide p { line-height:1.7; }
.zr-caution { background:#f5eedf; border-left:3px solid #a78734; padding:1rem 1.2rem; margin:1.2rem 0; border-radius:.4rem; line-height:1.7; }
.zr-caution h4 { margin-top:0; }
.zr-technical { border-top:1px solid #d5dacf; margin-top:1rem; }
.zr-solar { display:flex; align-items:center; gap:.6rem; min-height:44px; }
.zr-solar input { width:20px; min-height:20px; flex:none; }
.zeri-page input[readonly] { background:#f0f3ec; color:#385344; }
.zeri-page .city-select { position:relative; }
.zeri-page .city-select__dropdown { position:absolute; z-index:20; left:0; right:0; max-height:300px; overflow:auto; list-style:none; padding:0; margin:4px 0; border:1px solid #8aa18e; border-radius:.5rem; background:#fffdf8; box-shadow:0 8px 24px #243c3120; }
.zeri-page .city-select__item { cursor:pointer; padding:12px; min-height:44px; border-bottom:1px solid #e0e4d9; }
.zeri-page .city-select__item:hover,.zeri-page .city-select__item.is-active { background:#e5f0e7; }
.zeri-page .city-select__name,.zeri-page .city-select__meta { display:block; }
.zeri-page .city-select__meta { font-size:16px; color:#536355; }
.zeri-page .city-select__empty { padding:1rem; }
.zeri-page .city-select mark { background:#eee8d5; color:inherit; }
.zr-hour { border-top:1px solid #e0e4d9; padding:.75rem 0; overflow-wrap:anywhere; }
.zr-hour strong { display:block; line-height:1.5; }
.zr-hour[data-status="rejected"] { color:#794c2e; }
.zr-empty { background:#efece1; padding:2rem; border-radius:1rem; line-height:1.7; }
.zr-metadata { color:#526253; font-size:.8rem; line-height:1.7; overflow-wrap:anywhere; }
:focus-visible { outline:3px solid #936f15!important; outline-offset:3px; }
[hidden] { display:none!important; }
@media(max-width:850px) { .zr-layout { grid-template-columns:1fr; } .zr-header,.zr-main { padding-left:1rem; padding-right:1rem; } .zr-card,.zr-date { padding:1.2rem; } }
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { transition:none!important; scroll-behavior:auto!important; } }
