body{isolation:isolate}.mountain-background{z-index:-1;pointer-events:none;background-image:linear-gradient(#f6f9f685,#f7faf7c2),url(/backgrounds/forest-original.webp);background-position:50%;background-size:cover;position:fixed;inset:0}.mountain-background-snow{background-image:linear-gradient(#f6f9fa85,#f7fafcc2),url(/backgrounds/winter-original.webp)}.mountain-background-sunset{background-image:linear-gradient(#faf7f285,#faf8f5c2),url(/backgrounds/sunset-original.webp)}.mountain-background-admin:after{content:"";background:#f5f8f54d;position:absolute;inset:0}.admin-shell,.location-explorer-section,.info-section{background:0 0}.banner-zone{background:#f9faf7e0}.section-heading{background:#fffffff2;border:1px solid #fffc;border-radius:20px;padding:24px;box-shadow:0 10px 35px #0d2a270d}.info-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.page-intro{background:0 0;padding:8px 0 32px}.page-intro>.container{box-shadow:var(--shadow);background:#fffffff5;border:1px solid #fffc;border-radius:22px;padding:30px}.detail-header{background:#fffffff7;border-radius:22px;margin-top:8px;margin-bottom:24px;padding:28px}.detail-section{background:#fffffff7;border:1px solid #fffc;border-radius:18px;margin:16px 0;padding:26px}.detail-facts-row{border:0;padding-bottom:10px}.detail-facts-row>div{background:#fffffff7}.results-toolbar,.bus-section-heading{background:#fffffff7;border-radius:15px;padding:20px}.admin-header{background:#fffffff5;border:1px solid #fffc;border-radius:18px;padding:24px}.header-inner{gap:22px}.header-home,.page-home-link,.page-back-button{min-height:44px;color:var(--pine-900);cursor:pointer;background:#fffffff7;border:1px solid #d2dfd9;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;gap:8px;padding:9px 14px;font-size:14px;font-weight:700;display:inline-flex}.header-home{background:#edf4ef;border-color:#0000}.header-home:hover,.page-home-link:hover,.page-back-button:hover{background:#e3eee7}.header-home:focus-visible,.page-home-link:focus-visible,.page-back-button:focus-visible{outline:3px solid var(--brand-blue);outline-offset:3px}.public-page-navigation{padding-block:22px 16px}.weather-module{scroll-margin-top:20px}.admin-page-navigation{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:24px;display:flex}.admin-page-navigation nav{flex-wrap:wrap;gap:8px;display:flex}.admin-login-page{background:0 0}.admin-login-card{background:#fffffff5;border-radius:24px;margin:28px;padding:32px}.admin-login-visual{background:linear-gradient(#081f1d26,#081f1ddb),url(/backgrounds/winter-original.webp) 50%/cover}.admin-login-visual:before,.admin-login-visual:after{display:none}.picker-field{align-content:start;gap:8px;min-width:0;display:grid}.picker-field>span{color:#52605d;font-size:14px;font-weight:800}.time-picker-control,.date-picker-trigger{width:100%;min-height:52px;color:var(--pine-900);background:#fff;border:1px solid #ccd9d2;border-radius:12px;align-items:center;gap:8px;padding:5px 12px;display:flex}.time-picker-control>svg,.date-picker-trigger>svg{color:#658473;flex-shrink:0}.time-picker-control select{width:66px;min-height:40px;color:var(--pine-900);font-variant-numeric:tabular-nums;cursor:pointer;background:#f1f6f3;border:0;border-radius:7px;padding:7px;font-size:18px;font-weight:700}.time-picker-control>small{color:#536b60;white-space:nowrap;background:#edf4f0;border-radius:5px;margin-left:auto;padding:4px 6px;font-size:12px}.date-picker-trigger{cursor:pointer;justify-content:flex-start;font-size:15px;font-weight:700}.date-picker-trigger>span{font-variant-numeric:tabular-nums}.date-picker-trigger>small{color:#72847b;margin-left:auto;font-size:12px;font-weight:400}.time-picker-control:focus-within,.date-picker-trigger:focus-visible{outline-offset:2px;border-color:var(--terracotta);outline:3px solid #59bdf06b}.date-picker-dialog{width:min(390px,100vw - 28px);max-height:calc(100dvh - 32px);color:var(--ink);background:#fff;border:1px solid #dde7e1;border-radius:22px;margin:auto;padding:24px;position:fixed;inset:0;overflow-y:auto;box-shadow:0 28px 90px #081f1d40}.date-picker-dialog::backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#071a1680}.calendar-title{justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px;display:flex}.calendar-title h2{letter-spacing:-.02em;margin:0;font-family:Arial,Helvetica,sans-serif;font-size:19px}.calendar-title button,.calendar-navigation>button{width:36px;height:38px;color:var(--pine-900);cursor:pointer;background:#f4f8f5;border:1px solid #dce6df;border-radius:9px;flex-shrink:0;padding:0;font-size:24px}.calendar-navigation{grid-template-columns:36px minmax(0,1fr) 78px 36px;align-items:center;gap:6px;margin-bottom:18px;display:grid}.calendar-navigation select{min-width:0;min-height:40px;color:var(--pine-900);background:#fff;border:1px solid #dce6df;border-radius:8px;padding:5px;font-size:13px;font-weight:700}.calendar-weekdays,.calendar-days{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;display:grid}.calendar-weekdays{color:#778980;text-align:center;margin-bottom:8px;font-size:12px}.calendar-days button{aspect-ratio:1;min-width:0;min-height:38px;color:var(--pine-900);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:10px;padding:0;font-size:14px;font-weight:700;position:relative}.calendar-days button:hover{background:#eaf3ed}.calendar-days .outside-month{color:#899c92;font-weight:400}.calendar-days .selected-day,.calendar-days .selected-day:hover{background:var(--pine-900);color:#fff}.calendar-days button[aria-current=date]:after{content:"";background:currentColor;border-radius:50%;width:4px;height:4px;position:absolute;bottom:4px;left:calc(50% - 2px)}.date-picker-dialog button:focus-visible,.date-picker-dialog select:focus-visible{outline:3px solid var(--brand-blue);outline-offset:1px}.calendar-actions{border-top:1px solid #e2e9e5;justify-content:space-between;gap:12px;margin-top:18px;padding-top:16px;display:flex}.calendar-actions button{min-height:40px;color:var(--pine-900);cursor:pointer;background:#edf4ef;border:0;border-radius:9px;padding:8px 14px;font-size:12px;font-weight:700}@media (max-width:1180px){.header-cta{display:none}}@media (max-width:980px){.admin-shell{grid-template-rows:auto 1fr}.admin-mobile-menu{align-self:start}}@media (max-width:720px){.header-inner{flex-wrap:wrap;gap:10px;min-height:78px;padding-block:12px}.header-inner .brand{margin-right:auto}.header-inner .brand-wording strong{font-size:16px}.header-inner .brand-wording small{font-size:6px}.header-home{gap:5px;min-height:42px;padding:8px 10px;font-size:12px}.section-heading{padding:20px}.info-grid{grid-template-columns:1fr}.page-intro>.container,.detail-header,.detail-section{padding:22px}.admin-header{padding:20px}.admin-page-navigation{gap:9px;margin-bottom:20px}.page-home-link,.page-back-button{padding-inline:10px;font-size:12px}.admin-login-card{margin:16px;padding:24px}.date-picker-dialog{padding:20px}.calendar-days button{min-height:34px}.date-picker-trigger>small{font-size:12px}}@media (max-width:380px){.header-inner .brand-wording{display:none}.time-picker-control{gap:5px;padding-inline:8px}.time-picker-control select{width:60px}}.admin-login-form{gap:16px;margin-top:26px;display:grid}.admin-login-form label{gap:7px;font-size:14px;font-weight:700;display:grid}.admin-login-form input{border:1px solid var(--line);width:100%;min-height:48px;color:var(--ink);background:#fff;border-radius:10px;padding:10px 12px;font-size:16px}.admin-login-form .button{cursor:pointer;border:0;justify-self:start}.admin-login-error{color:#a5322d;margin:0;font-size:14px}.admin-sidebar-actions form,.admin-mobile-menu form,.admin-login-state form{margin:0}.admin-sidebar-actions button,.admin-mobile-menu form button,.admin-login-secondary{color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:0}.admin-user-permissions{border:1px solid var(--line);border-radius:10px;grid-column:1/-1;gap:8px;padding:14px;display:grid}.admin-user-permissions legend{padding:0 5px;font-size:14px;font-weight:700}.admin-user-permissions label{align-items:center;gap:8px;font-size:14px;display:flex}.admin-user-permissions input{width:18px;height:18px}.audit-section .admin-section-heading{align-items:end}.audit-filter{align-items:end;gap:8px;display:flex}.audit-filter label{font-size:13px;font-weight:700}.audit-filter select,.audit-filter button{border:1px solid var(--line);min-height:40px;color:var(--ink);font:inherit;background:#fff;border-radius:9px;padding:8px 11px}.audit-filter button{background:var(--pine-900);color:#fff;cursor:pointer}.audit-list{gap:12px;display:grid}.audit-row{border:1px solid var(--line);background:#fff;border-radius:13px;padding:17px}.audit-row-main{grid-template-columns:100px minmax(170px,1fr) minmax(170px,1fr) 150px;align-items:center;gap:16px;display:grid}.audit-row-main>div{gap:3px;min-width:0;display:grid}.audit-row-main strong{overflow-wrap:anywhere}.audit-row-main small{color:var(--muted)}.audit-row-main time{color:var(--muted);text-align:right;font-size:13px}.audit-action{color:#344b42;background:#e8f3ed;border-radius:999px;width:fit-content;padding:6px 9px;font-size:12px;font-weight:700}.audit-action-delete{color:#8d4038;background:#fbece8}.audit-action-update{color:#725a20;background:#fff3d3}.audit-details{border-top:1px solid var(--line);margin-top:14px;padding-top:12px}.audit-details summary{color:var(--pine-900);cursor:pointer;font-size:13px;font-weight:700}.audit-field-list{gap:9px;margin-top:14px;display:grid}.audit-field{overflow-wrap:anywhere;grid-template-columns:minmax(130px,1fr) 2fr 2fr;gap:12px;font-size:13px;display:grid}.audit-field span{color:var(--muted)}.audit-pages{justify-content:space-between;align-items:center;gap:12px;margin-top:20px;font-size:13px;display:flex}.audit-pages a{color:var(--pine-900);font-weight:700}.audit-empty{color:var(--muted);padding:30px 0}@media (max-width:800px){.audit-section .admin-section-heading,.audit-filter{flex-direction:column;align-items:stretch}.audit-row-main{grid-template-columns:auto 1fr}.audit-row-main time{text-align:left}.audit-field{border-bottom:1px solid var(--line);grid-template-columns:1fr;gap:3px;padding-bottom:8px}}
