:root{--ink:#202124;--muted:#5f6674;--blue:#2455ff;--line:#d7dce5;--paper:#eef2ff}*{box-sizing:border-box}html{min-width:320px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,system-ui,sans-serif}a{color:inherit;text-decoration:none}button,input,select{font:inherit}.container{width:min(1120px,calc(100% - 40px));margin:auto}.topbar{height:72px;border-bottom:1px solid var(--line);display:flex;align-items:center}.brand{font-family:Inter,system-ui,sans-serif;font-size:22px;letter-spacing:-.8px;gap:9px}.brand-mark{width:34px;height:34px;background:var(--blue);color:white;border-radius:11px;font-size:17px}.nav{gap:22px;color:#5f6674;font-size:13px;font-weight:600}.muted-link:hover,.nav a:hover{color:var(--blue)}.account-link{font-size:13px;color:#5f6674;font-weight:600}.page{padding:38px 0 70px}.eyebrow{color:var(--blue);text-transform:uppercase;letter-spacing:1.4px;font-size:11px;font-weight:600}.hero{text-align:center;padding:46px 0 30px}.hero h1{font:800 clamp(32px,5vw,48px)/1.12 Inter,system-ui,sans-serif;letter-spacing:-1.5px;margin:12px 0 11px}.hero p{color:var(--muted-foreground);margin:0 auto;max-width:580px;line-height:1.6}.ask{display:flex;max-width:760px;margin:26px auto 0;padding:7px;border:1px solid #d7dce5;border-radius:17px;background:#fff;box-shadow:0 12px 38px #20212412;text-align:left}.ask input{flex:1;min-width:0;border:0;outline:0;padding:0 14px;color:var(--ink)}.ask input::placeholder{color:#5f6674}.icon-button,.send-button{border:0;cursor:pointer;border-radius:12px;display:grid;place-items:center}.icon-button{width:42px;height:42px;background:transparent;color:#5f6674}.icon-button:hover{background:#eef2ff}.send-button{width:44px;height:42px;background:var(--blue);color:white}.quick-grid{display:grid;grid-template-columns:repeat(8,1fr);gap:11px;margin:15px 0 31px}.quick-card{background:#fff;border:1px solid var(--line);border-radius:15px;padding:15px 9px;display:flex;flex-direction:column;align-items:center;gap:9px;text-align:center;font-weight:600;font-size:12px;transition:.15s}.quick-card:hover{border-color:#eef2ff;transform:translateY(-2px)}.quick-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:12px;background:#eef2ff;color:var(--blue)}.section-head{display:flex;align-items:flex-end;justify-content:space-between;margin:30px 0 14px}.page-title,.section-head h2{font-family:Inter,system-ui,sans-serif;letter-spacing:-.6px;margin:0;font-size:22px}.section-head p{color:var(--muted-foreground);font-size:13px;margin:4px 0 0}.fixture{font-size:10px;font-weight:600;letter-spacing:.65px;text-transform:uppercase;color:#936315;background:#fff6df;border:1px solid #f4e2ad;border-radius:20px;padding:6px 9px}.dashboard{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.card{background:white;border:1px solid var(--line);border-radius:17px;padding:18px;min-width:0}.card-top{justify-content:space-between;gap:10px}.card-title,.card-top{display:flex;align-items:center}.card-title{font-weight:600;font-size:14px;gap:9px}.card-title svg{color:var(--blue)}.card-value{font:800 30px Inter,system-ui,sans-serif;letter-spacing:-1px;margin:17px 0 2px}.card-sub{font-size:13px;color:var(--muted-foreground);line-height:1.5}.status-pill{font-size:10px;font-weight:600;border-radius:20px;padding:5px 8px;color:#18794e;background:#eaf8f0}.divider{height:1px;background:var(--line);margin:15px 0}.source-line{font-size:11px;color:#5f6674;display:flex;justify-content:space-between;gap:10px}.notice{background:#eef2ff;border-left:3px solid #94b4f7;padding:10px 11px;border-radius:0 9px 9px 0;font-size:12px;line-height:1.5;margin-top:13px}.wide{grid-column:span 2}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:15px}.list-row{display:flex;justify-content:space-between;gap:15px;padding:12px 0;border-bottom:1px solid #d7dce5;font-size:13px}.list-row:last-child{border:0}.list-row small{display:block;color:var(--muted-foreground);margin-top:4px}.page-heading{display:flex;justify-content:space-between;align-items:flex-start;margin:8px 0 24px}.page-heading p{color:var(--muted-foreground);max-width:640px;line-height:1.6}.source-badge{background:#eef2ff;color:#2455ff;border-radius:20px;padding:5px 9px;font-size:11px;font-weight:600}.empty-state{padding:26px;text-align:center;color:var(--muted-foreground);font-size:13px}.admin-layout{display:grid;grid-template-columns:205px minmax(0,1fr);gap:22px}.admin-side{display:flex;flex-direction:column;gap:5px}.admin-side a{padding:10px 12px;border-radius:10px;font-weight:600;font-size:13px;color:#5f6674}.admin-side a:hover{background:#fff;color:var(--blue)}.admin-content{min-width:0}.table-wrap{overflow:auto;background:#fff;border:1px solid var(--line);border-radius:15px}.data-table{border-collapse:collapse;width:100%;font-size:12px}.data-table td,.data-table th{text-align:left;padding:13px 14px;border-bottom:1px solid #d7dce5;white-space:nowrap}.data-table th{color:#5f6674;font-size:10px;text-transform:uppercase;letter-spacing:.6px}.button,.data-table tr:last-child td{border:0}.button{background:var(--blue);color:white;padding:10px 14px;border-radius:10px;font-weight:600;cursor:pointer}.button.secondary{background:#d7dce5;color:#5f6674}.form-card{max-width:560px;background:white;border:1px solid var(--line);border-radius:17px;padding:22px}.field{display:flex;flex-direction:column;gap:6px;margin:12px 0}.field label{font-size:12px;font-weight:600}.field input,.field select{border:1px solid #d7dce5;border-radius:10px;padding:11px 12px;background:white;outline-color:#86a9fc}.helper{font-size:11px;color:var(--muted-foreground)}.footer{border-top:1px solid var(--line);padding:22px 0;color:#5f6674;font-size:11px}@media(max-width:900px){.nav{gap:12px}.quick-grid{grid-template-columns:repeat(4,1fr)}.dashboard{grid-template-columns:repeat(2,1fr)}}@media(max-width:620px){.container{width:min(100% - 28px,520px)}.topbar{height:62px}.account-link,.nav{display:none}.page{padding-top:20px;padding-bottom:90px}.hero{padding:35px 4px 23px}.hero p{font-size:14px}.ask{margin-top:21px}.ask input{font-size:13px;padding:0 8px}.quick-grid{gap:8px;margin-bottom:26px}.quick-card{padding:12px 5px;font-size:11px}.quick-icon{width:34px;height:34px}.dashboard{grid-template-columns:1fr}.wide{grid-column:span 1}.two-col{grid-template-columns:1fr}.page-title,.section-head h2{font-size:20px}.admin-layout{grid-template-columns:1fr}.admin-side{flex-direction:row;overflow:auto}.admin-side a{white-space:nowrap}.mobile-nav{position:fixed;z-index:5;bottom:0;left:0;right:0;display:flex;justify-content:space-around;background:#fff;border-top:1px solid var(--line);padding:9px 6px calc(9px + env(safe-area-inset-bottom));font-size:10px;color:#5f6674}.mobile-nav a{display:flex;flex-direction:column;align-items:center;gap:3px}.mobile-nav svg{width:18px;height:18px}}.epr-procedure{margin:16px 0;padding:18px;border:1px solid var(--border,#d7dce5);border-radius:12px;background:var(--surface,#fff)}.epr-heading{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.epr-heading h2{font-size:1.13rem;margin:4px 0 10px}.epr-fee{white-space:nowrap;color:var(--primary,#2455ff);font-size:1.25rem}.epr-procedure h3{font-size:.98rem;margin:18px 0 8px}.epr-procedure li,.epr-procedure p{font-size:.9rem;line-height:1.6}.epr-procedure ol{padding-left:22px;display:grid;gap:8px}.epr-payment{margin:16px 0;padding:12px;background:var(--surface-soft,#eef2ff);border-radius:8px}.epr-payment summary{cursor:pointer;font-weight:600}.epr-payment dl{margin:14px 0;display:grid;grid-template-columns:1fr 1fr;gap:12px}.epr-payment dt{font-size:.78rem;color:var(--muted,#5f6674)}.epr-payment dd{margin:3px 0 0;font-size:.9rem;font-weight:600;overflow-wrap:anywhere}.epr-links{display:flex;flex-wrap:wrap;gap:10px 16px;margin:12px 0}.epr-links a{display:inline-flex;align-items:center;gap:5px;font-size:.82rem}.epr-procedure .helper{font-size:.77rem}.epr-procedure a{overflow-wrap:anywhere}@media(max-width:480px){.epr-procedure{padding:13px}.epr-payment dl{grid-template-columns:1fr}.epr-heading h2{font-size:1rem}}.official-form-list .epr-procedure ol{display:block;list-style:decimal;padding-left:22px}.official-form-list .epr-procedure ol>li{display:list-item;list-style:decimal;border:0;background:transparent;padding:0;margin:8px 0;border-radius:0}.transit-planner{background:#fff;border:1px solid var(--line);border-radius:18px;padding:20px;margin-top:18px;box-shadow:0 10px 28px #20212408}.transit-tabs{display:flex;gap:7px;border-bottom:1px solid var(--line);padding-bottom:14px;margin-bottom:21px}.transit-tabs button{border:0;border-radius:10px;background:#eef2ff;padding:10px 15px;color:#5f6674;font-weight:600;cursor:pointer}.transit-tabs button.active{background:#eef2ff;color:#2455ff}.planner-head{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:18px}.planner-head h2{font:800 22px Inter,system-ui,sans-serif;letter-spacing:-.5px;margin:7px 0}.planner-head p{font-size:13px;color:var(--muted-foreground);line-height:1.55;margin:0;max-width:620px}.planner-fields{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) minmax(190px,.8fr);align-items:end;gap:12px;margin:20px 0}.planner-fields .field{margin:0}.planner-fields .field span{font-size:12px;font-weight:600}.planner-fields input,.planner-fields select{border:1px solid #d7dce5;border-radius:10px;padding:11px 12px;background:#fff;outline-color:#86a9fc;min-height:44px}.swap-stations{border:1px solid var(--line);border-radius:10px;width:42px;height:44px;background:#eef2ff;color:#5f6674;font-size:20px;cursor:pointer}.train-results{display:flex;flex-direction:column;gap:10px;margin-top:18px}.train-result{display:grid;grid-template-columns:120px minmax(0,1fr) auto;align-items:center;gap:18px;padding:15px;border:1px solid #d7dce5;border-radius:13px;background:#eef2ff}.train-time{display:flex;flex-direction:column;align-items:center;gap:6px}.train-time strong{font:800 18px Inter,system-ui,sans-serif}.train-time span{font-size:11px;color:var(--muted-foreground)}.train-route{display:flex;align-items:center;gap:13px;min-width:0}.train-route>div{display:flex;flex-direction:column;gap:4px;min-width:0}.train-route b{font-size:13px}.train-route small{font-size:11px;color:var(--muted-foreground);line-height:1.4}.route-line{height:2px;flex:1;min-width:22px;background:#eef2ff}.train-number{font-size:11px;color:#2455ff;background:#eef2ff;border-radius:16px;padding:6px 9px;white-space:nowrap}.jsp-planner .planner-head{padding:18px 18px 0}.jsp-planner iframe{width:100%;height:760px;display:block;border:0;background:#eef2ff}.planner-foot{margin:0;padding:12px 18px}.transit-planner>.notice{margin-top:15px}@media(max-width:620px){.transit-planner{padding:14px;margin-top:14px}.planner-head{align-items:flex-start;flex-direction:column}.planner-head h2{font-size:19px}.planner-fields{grid-template-columns:minmax(0,1fr) 42px minmax(0,1fr);gap:8px}.planner-fields .field:last-child{grid-column:1/-1}.swap-stations{align-self:end}.train-result{grid-template-columns:70px minmax(0,1fr);gap:12px;padding:12px}.train-number{grid-column:2;justify-self:start}.train-time strong{font-size:16px}.train-route{gap:8px}.train-route small{font-size:10px}.jsp-planner .planner-head{padding:14px 14px 0}.jsp-planner iframe{height:680px}}.jsp-planner{border:1px solid #d7dce5;border-radius:14px;overflow:hidden;padding-bottom:15px}.jsp-planner .planner-head{padding:20px 20px 0}.jsp-planner .planner-head p{max-width:670px}.live-pill{display:inline-flex;align-items:center;gap:7px;flex:none;padding:8px 11px;background:#ecfdf5;color:#167447;border-radius:22px;font-size:11px;font-weight:600}.live-pill i{width:7px;height:7px;background:#22a66a;border-radius:50%;box-shadow:0 0 0 3px #22a66a24}.bus-search{display:grid;grid-template-columns:minmax(0,1fr) 42px minmax(0,1fr) minmax(130px,.55fr) minmax(130px,.55fr) auto;align-items:end;gap:10px;padding:18px 20px;background:#eef2ff;border-top:1px solid #d7dce5;border-bottom:1px solid #d7dce5}.bus-search .field{margin:0;min-width:0}.bus-search .field>span{display:block;margin-bottom:6px;font-size:11px;color:#5f6674;font-weight:600}.bus-search input,.bus-search select{box-sizing:border-box;width:100%;height:44px;border:1px solid #d7dce5;border-radius:10px;padding:0 10px;background:#fff;min-width:0;color:#202124;outline-color:#86a9fc}.bus-search .swap-stations{margin-bottom:0}.bus-submit{height:44px;white-space:nowrap}.bus-submit:disabled{opacity:.65;cursor:wait}.bus-results{padding:18px 20px 0}.bus-results h3{font:800 15px Inter,system-ui,sans-serif;margin:0 0 11px}.bus-result{display:flex;align-items:flex-start;gap:14px;padding:14px 0;border-top:1px solid #d7dce5}.bus-line-badge{min-width:48px;padding:9px 8px;text-align:center;border-radius:11px;background:#eef2ff;color:#2455ff;font:800 14px Inter,system-ui,sans-serif}.bus-result>div:nth-child(2){min-width:0}.bus-result strong{font-size:13px}.bus-result p{font-size:12px;color:#5f6674;margin:6px 0}.bus-result small{display:block;font-size:11px;line-height:1.45;color:#5f6674}.journey-result{display:grid;grid-template-columns:110px minmax(0,1fr);align-items:center}.journey-clock{display:flex;flex-direction:column;align-items:center;gap:5px}.journey-clock strong{font:800 17px Inter,system-ui,sans-serif}.journey-clock span{font-size:10px;color:#5f6674}.journey-legs{flex-direction:column}.journey-leg,.journey-legs{display:flex;gap:11px}.leg-dot{flex:none;width:9px;height:9px;margin-top:4px;border-radius:50%;background:#2455ff;box-shadow:0 0 0 3px #eef2ff}.journey-leg>div{display:flex;flex-direction:column;gap:4px}.transfer-note{color:#b46b08!important}.planner-foot{margin:14px 20px 0;padding:10px 12px;background:#eef2ff;border-radius:9px;color:var(--muted-foreground);font-size:11px;line-height:1.5}@media(max-width:900px){.bus-search{grid-template-columns:minmax(0,1fr) 42px minmax(0,1fr) minmax(130px,.6fr)}.bus-search .field:nth-of-type(4){grid-column:1/3}.bus-search .field:nth-of-type(5){grid-column:3/5}.bus-submit{grid-column:1/-1}}@media(max-width:620px){.jsp-planner .planner-head{padding:14px 14px 0}.live-pill{font-size:10px}.bus-search{grid-template-columns:minmax(0,1fr) 38px minmax(0,1fr);padding:14px;gap:8px}.bus-search .field:nth-of-type(4),.bus-search .field:nth-of-type(5){grid-column:auto}.bus-submit{grid-column:1/-1}.bus-results{padding:16px 14px 0}.journey-result{grid-template-columns:70px minmax(0,1fr);gap:9px}.journey-clock strong{font-size:15px}.bus-result{gap:10px}.planner-foot{margin:14px 14px 0}}.road-icon{display:grid;place-items:center;width:44px;height:44px;flex:none;border-radius:12px;background:#d8f3e3;color:#167447}.bus-location-bar{display:flex;align-items:center;gap:14px;margin-bottom:14px;padding:12px;border:1px solid #d7dce5;border-radius:10px;background:#eef2ff}.bus-location-bar>button{display:inline-flex;align-items:center;justify-content:center;gap:7px;flex:none;min-height:40px;padding:9px 13px;border:1px solid #eef2ff;border-radius:8px;background:#eef2ff;color:#2455ff;font-size:11px;font-weight:600;cursor:pointer}.bus-location-bar>button:disabled{opacity:.65;cursor:wait}.bus-location-bar>p{margin:0;font-size:11px;line-height:1.6;color:#5f6674}.bus-nearby-stops{margin-bottom:15px}.bus-nearby-stops>h4{display:flex;flex-wrap:wrap;align-items:center;gap:9px;margin:0 0 9px;color:#202124;font-size:12px}.bus-nearby-stops>h4 small{color:#5f6674;font-size:10px;font-weight:400}.bus-nearby-stops>div{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:7px}.bus-nearby-stops button{display:grid;gap:5px;padding:10px;border:1px solid #d7dce5;border-radius:8px;background:#fff;text-align:left;cursor:pointer}.bus-nearby-stops button.selected{border-color:#2455ff;background:#eef2ff}.bus-nearby-stops button b{color:#202124;font-size:10px;line-height:1.5}.bus-nearby-stops button small{color:#5f6674;font-size:10px}.bus-user-location-dot{background:transparent;border:0}.bus-user-location-dot>span{display:block;box-sizing:border-box;width:20px;height:20px;border:3px solid #fff;border-radius:50%;background:#2455ff;box-shadow:0 0 0 5px #2455ff2b,0 2px 8px #20212440}.bus-map-surface .bus-user-location-label{font-size:11px;font-weight:600;color:#2455ff;padding:6px 9px;border-color:#eef2ff;border-radius:7px}.bus-map-surface .bus-user-location-label:before{border-top-color:#eef2ff}@media(max-width:620px){.bus-location-bar{align-items:stretch;flex-direction:column;gap:9px}.bus-nearby-stops>div{grid-template-columns:repeat(2,minmax(0,1fr))}.bus-nearby-stops button{min-width:0}.bus-nearby-stops button b{overflow-wrap:anywhere}}.bus-map-stop-tooltip{width:220px;max-width:55vw}.bus-stop-services{margin:11px 0 0;padding:10px 0 0;border-top:1px solid #d7dce5}.bus-stop-services h4{margin:0 0 8px;font-size:11px;color:#202124}.bus-stop-services ul{max-height:220px;overflow:auto;list-style:none;margin:0;padding:0 5px 0 0;overscroll-behavior:contain}.bus-stop-services li{display:flex;align-items:flex-start;gap:8px;padding:7px 0;border-bottom:1px solid #d7dce5}.bus-service-number{min-width:31px;padding:5px 6px;border-radius:6px;background:#eef2ff;color:#2455ff;text-align:center;font-size:11px;font-weight:600;flex:none}.bus-stop-services li>div{display:grid;gap:4px;min-width:0}.bus-stop-services li b{font-size:10px;line-height:1.5;color:#202124;overflow-wrap:anywhere}.bus-stop-services li small,.bus-stop-services>p{font-size:9px;line-height:1.5;color:#5f6674}.bus-stop-services>p{margin:0}.bus-map-stop-tooltip>b{display:block;margin-bottom:7px;font-size:11px}.bus-map-stop-tooltip>div{padding:4px 0;border-top:1px solid #d7dce5;font-size:10px;line-height:1.45}.bus-map-stop-tooltip>small{display:block;margin-top:5px;font-size:9px;color:#5f6674}.bus-picker-lines{color:#2455ff!important}.bus-map-layout{align-items:start}.jsp-planner{overflow:visible}.bus-search{border-radius:0}.bus-stop-picker{position:relative}.bus-stop-picker>label{display:block;margin-bottom:6px;font-size:11px;color:#5f6674;font-weight:600}.bus-stop-input{position:relative}.bus-stop-input input{padding-right:34px}.bus-stop-toggle{position:absolute;right:2px;top:2px;width:30px;height:40px;border:0;border-radius:8px;background:#fff;color:#5f6674;font-size:20px;cursor:pointer}.bus-stop-picker>small{display:block;min-height:16px;margin-top:5px;font-size:10px;line-height:16px}.bus-stop-confirmed{color:#13855b}.bus-stop-hint{color:#5f6674}.bus-search>.bus-date,.bus-search>.bus-submit,.bus-search>.bus-time,.bus-search>.swap-stations{margin-bottom:21px}.bus-search button:disabled{cursor:default}.bus-stop-menu{position:absolute;top:calc(100% - 20px);left:0;width:max(100%,290px);max-width:min(420px,80vw);z-index:1100;border:1px solid #d7dce5;border-radius:11px;background:#fff;box-shadow:0 12px 32px #20212426;overflow:hidden}.bus-stop-menu ul{max-height:260px;overflow:auto;margin:0;padding:5px;list-style:none}.bus-stop-menu li{padding:10px;border-radius:7px;cursor:pointer}.bus-stop-menu li.active,.bus-stop-menu li:hover,.bus-stop-menu li[aria-selected=true]{background:#eef2ff}.bus-stop-menu b{display:block;font-size:11px;line-height:1.5;color:#202124}.bus-stop-menu small{display:block;font-size:10px;color:#5f6674;margin-top:3px}.bus-stop-menu>p{margin:0;padding:9px 12px;background:#eef2ff;border-top:1px solid #d7dce5;font-size:10px;line-height:1.5;color:#5f6674}.bus-map-section{padding:18px 20px 0}.bus-map-heading h3{display:flex;align-items:center;gap:7px;margin:0;font-size:14px;color:#202124}.bus-map-heading p{margin:7px 0 13px;color:#5f6674;font-size:11px;line-height:1.6}.bus-map-layout{display:grid;grid-template-columns:minmax(220px,.7fr) minmax(0,1.5fr);gap:14px}.bus-map-stops{padding:10px;border:1px solid #d7dce5;border-radius:11px;background:#fff;display:flex;flex-direction:column;gap:14px}.bus-map-choice{display:flex;align-items:center;gap:10px;width:100%;padding:12px 9px;text-align:left;border:1px solid transparent;border-radius:9px;background:#eef2ff;cursor:pointer}.bus-map-choice.selected{border-color:#2455ff;background:#eef2ff}.bus-map-choice.to.selected{border-color:#13855b;background:#effaf5}.bus-map-choice>span:first-child{display:grid;place-items:center;flex:none;width:27px;height:27px;border-radius:50%;background:#2455ff;color:white;font-weight:600}.bus-map-choice.to>span:first-child{background:#13855b}.bus-map-choice>span:nth-child(2){display:grid;gap:5px;flex:1;min-width:0}.bus-map-choice b{font-size:11px;color:#202124;line-height:1.5;overflow-wrap:anywhere}.bus-map-choice small{font-size:10px;color:#5f6674}.bus-map-choice>svg{color:#2455ff;flex:none}.bus-map-external{display:inline-flex;align-items:center;gap:5px;margin:7px 0 0 10px;color:#2455ff;font-size:10px}.bus-map-stops>p{margin:auto 4px 4px;font-size:11px;color:#5f6674;line-height:1.6}.bus-map-surface{position:relative;min-width:0;overflow:hidden;border:1px solid #d7dce5;border-radius:11px;background:#d7dce5}.bus-leaflet-map,.bus-map-placeholder{height:360px;isolation:isolate}.bus-map-placeholder{display:grid;place-items:center;background:#d7dce5;border-radius:11px;color:#5f6674;font-size:12px}.bus-map-loading{position:absolute;inset:0;display:grid;place-items:center;background:#d7dce5;font-size:12px;color:#5f6674}.bus-map-pin{background:none;border:0}.bus-map-pin>span{position:relative;display:grid;place-items:center;width:30px;height:30px;border:2px solid white;border-radius:50% 50% 50% 0;transform:rotate(-45deg);box-shadow:0 3px 10px #20212450;color:white;font:700 14px sans-serif}.bus-map-pin>span:first-letter{transform:rotate(45deg)}.bus-map-surface .leaflet-tooltip{max-width:240px;white-space:normal;font-size:11px}.bus-map-surface .leaflet-control-attribution{font-size:9px}@media(max-width:1100px){.bus-search{grid-template-columns:minmax(0,1fr) 42px minmax(0,1fr)}.bus-search>.bus-date{grid-column:1;grid-row:2}.bus-search>.bus-time{grid-column:3;grid-row:2}.bus-search>.bus-submit{grid-column:1/-1;margin-bottom:0}.bus-search>.bus-date,.bus-search>.bus-time{margin-bottom:0}}@media(max-width:620px){.bus-search{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.bus-stop-picker{grid-column:1/-1}.bus-search>.swap-stations{grid-column:1/-1;grid-row:2;justify-self:center;transform:rotate(90deg);margin-bottom:0;height:36px;width:36px}.bus-search>.bus-date{grid-column:1;grid-row:4}.bus-search>.bus-time{grid-column:2;grid-row:4}.bus-stop-menu{width:100%;max-width:100%}.bus-map-section{padding:16px 14px 0}.bus-map-layout{grid-template-columns:1fr}.bus-leaflet-map,.bus-map-placeholder{height:320px}.bus-map-stops>p{margin-top:4px}}.bus-map-surface .leaflet-tooltip.bus-user-location-label{width:max-content;max-width:none;white-space:nowrap}.transport-map-status{position:relative;margin:0;padding:8px 11px;border-top:1px solid var(--line);font-size:10px;line-height:1.5;background:#eef2ff;color:#5f6674}.bus-map-surface .maplibregl-map{font-family:Inter,system-ui,sans-serif}.bus-map-loading{pointer-events:none}.city-train-stops{grid-column:1/-1;border-top:1px solid var(--line);padding-top:12px;min-width:0}.city-train-stops h3{font-size:12px;margin:0 0 10px;color:var(--muted-foreground)}.city-train-stops ol{list-style:none;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px;padding:0;margin:0}.city-train-stops li{display:flex;flex-direction:column;gap:4px;padding:9px 8px;border-radius:9px;background:#eef2ff;min-width:0;color:#5f6674;border:1px solid transparent}.city-train-stops li.in-journey{background:#eef2ff;border-color:#eef2ff;color:#2455ff}.city-train-stops time{font-size:15px;font-weight:600;font-variant-numeric:tabular-nums}.city-train-stops b{font-size:11px;line-height:1.4;overflow-wrap:anywhere}.city-train-stops small{font-size:10px;font-weight:600;color:#2455ff}@media(max-width:850px){.city-train-stops ol{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:620px){.city-train-stops ol{grid-template-columns:repeat(2,minmax(0,1fr))}.city-train-stops li{padding:10px}.train-route{flex-wrap:wrap}.train-route>div{flex:1;min-width:85px}.train-route{flex-direction:column;align-items:flex-start;gap:8px}.train-route>div{flex:initial;width:100%;min-width:0}.train-route>.route-line{display:none}}.jsp-departures{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.jsp-departures>div{padding:10px 12px;border:1px solid #eef2ff;border-radius:10px;background:#eef2ff}.jsp-board time,.jsp-departures time{color:#2455ff;font-size:20px}.jsp-board{line-height:1.5}.journey-clock{min-width:0}.journey-clock span{text-align:center}.airport-transport-entry{display:flex;align-items:center;gap:14px;margin-bottom:var(--section-gap);padding:16px;border:1px solid var(--line);border-radius:var(--card-radius);background:#fff;color:var(--ink)}.airport-transport-entry>span{display:grid;place-items:center;width:44px;height:44px;border-radius:9px;background:#eef2ff;color:var(--blue);flex:none}.airport-transport-entry div{display:grid;gap:4px;flex:1}.airport-transport-entry b{font-size:14px}.airport-transport-entry small{font-size:12px;color:var(--muted-foreground)}.airport-transport-entry>svg{color:var(--blue)}.airport-transfer-page{display:grid;gap:var(--section-gap);min-width:0}.airport-transfer-hero{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:var(--card-space);border:1px solid var(--line);border-radius:var(--card-radius);background:#fff}.airport-transfer-kicker{display:flex;align-items:center;gap:8px;color:var(--blue);font-size:12px;font-weight:600}.airport-transfer-hero h2{font-size:24px;margin:10px 0 8px;color:var(--ink)}.airport-transfer-hero p{margin:0;max-width:640px;color:var(--muted-foreground);font-size:14px;line-height:1.65}.airport-transfer-fare{display:flex;align-items:center;gap:12px;flex-shrink:0;padding:16px;border-radius:9px;background:#eef2ff;color:var(--blue)}.airport-transfer-fare>div{display:grid;gap:4px}.airport-transfer-fare span{font-size:12px;color:var(--muted-foreground)}.airport-transfer-fare strong{font-size:20px;color:var(--ink)}.airport-transfer-section{min-width:0;padding:var(--card-space);border:1px solid var(--line);border-radius:var(--card-radius);background:#fff}.airport-transfer-section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:20px}.airport-transfer-section-heading h2{font-size:20px;color:var(--ink);margin:4px 0 0}.airport-transfer-section-heading>svg{color:var(--blue);flex:none}.airport-transfer-eyebrow{font-size:12px;font-weight:600;color:var(--blue)}.airport-transfer-source-status{font-size:12px;line-height:1.5;color:var(--muted-foreground)}.airport-direction-switch{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.airport-day-switch button,.airport-direction-switch button{min-height:44px;padding:10px 14px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--ink);font-size:14px;font-weight:600;cursor:pointer}.airport-direction-switch button{display:flex;align-items:center;justify-content:center;gap:8px}.airport-day-switch button.active,.airport-direction-switch button.active{background:var(--blue);border-color:var(--blue);color:#fff}.airport-day-switch button:hover:not(.active),.airport-direction-switch button:hover:not(.active){background:#eef2ff}.airport-day-switch button:focus-visible,.airport-direction-switch button:focus-visible,.airport-stop-report-item button:focus-visible{outline:3px solid #97b5fc;outline-offset:3px}.airport-day-switch{display:flex;flex-wrap:wrap;gap:8px}.airport-day-switch button{min-width:48px}.airport-timetable-results{display:grid;grid-template-columns:minmax(180px,.45fr) minmax(0,1fr);gap:16px;align-items:start;margin-top:20px;padding:16px;border:1px solid var(--line);border-radius:9px;background:#eef2ff}.airport-timetable-results>div:first-child{display:grid;gap:6px}.airport-timetable-results b{font-size:16px;color:var(--ink)}.airport-timetable-results>div:first-child span{font-size:12px;color:var(--muted-foreground)}.airport-time-list{display:flex;flex-wrap:wrap;gap:8px}.airport-time-list span{padding:9px 12px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--ink);font-size:16px;font-weight:600;font-variant-numeric:tabular-nums}.airport-route-note{margin:12px 0 0;color:var(--muted-foreground);font-size:13px;line-height:1.65}.airport-map-layout{display:grid;grid-template-columns:minmax(260px,.85fr) minmax(0,1.4fr);gap:var(--section-gap);margin-top:20px}.airport-stop-list{min-width:0;padding:16px;border:1px solid var(--line);border-radius:9px}.airport-stop-list h3{margin:0 0 12px;color:var(--ink);font-size:16px}.airport-stop-report-item>button{display:grid;grid-template-columns:28px minmax(0,1fr) 18px;align-items:center;gap:10px;min-height:60px;padding:12px 8px;border:0;border-bottom:1px solid var(--line);background:#fff;color:var(--blue);text-align:left;cursor:pointer}.airport-stop-report-item>button.selected{background:#eef2ff;border-radius:9px}.airport-stop-report-item>button>span:nth-child(2){display:grid;gap:4px}.airport-stop-list b{color:var(--ink);font-size:14px;overflow-wrap:anywhere}.airport-stop-list small{color:var(--muted-foreground);font-size:12px;line-height:1.5}.airport-stop-number{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#eef2ff;color:var(--blue);font-size:12px;font-weight:600}.airport-stop-report-item>button.selected .airport-stop-number{background:var(--blue);color:#fff}.airport-map-frame{position:relative;min-height:380px;overflow:hidden;align-self:start;border:1px solid var(--line);border-radius:9px;background:#eef2ff}.airport-leaflet-map{height:340px;isolation:isolate}.airport-map-frame .airport-map-caption{position:absolute;left:12px;bottom:70px;z-index:500;display:flex;align-items:center;gap:6px;max-width:calc(100% - 24px);padding:8px 10px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--ink);font-size:12px;font-weight:600;pointer-events:none}.airport-map-caption svg{flex:none;color:var(--blue)}.airport-stop-map-pin>span{display:grid;place-items:center;width:28px;height:28px;background:var(--blue);color:#fff;border:2px solid #fff;border-radius:50%;box-shadow:0 2px 8px #20212440;font-weight:600;font-size:12px}.airport-stop-map-pin.selected>span{background:#13855b}.airport-own-map .leaflet-control-attribution{font-size:9px}.airport-own-map .transport-map-status{min-height:48px;margin:0;padding:10px 12px;font-size:12px;line-height:1.5;color:var(--muted-foreground)}.airport-external-link,.airport-source-line a,.airport-taxi-disclaimer a{display:inline-flex;align-items:center;gap:6px;color:var(--blue);font-weight:600}.airport-external-link{margin-top:14px;font-size:13px}.airport-source-line{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin:16px 0 0;font-size:12px;line-height:1.6;color:var(--muted-foreground)}.airport-taxi-origin{display:flex;align-items:center;gap:12px;padding:16px;border:1px solid var(--line);border-radius:9px;background:#eef2ff;color:var(--blue)}.airport-taxi-origin>div{display:grid;gap:4px}.airport-taxi-origin span{font-size:12px;color:var(--muted-foreground)}.airport-taxi-origin strong{font-size:16px;color:var(--ink)}.airport-taxi-price{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:24px;margin-top:20px}.airport-taxi-price>label{display:grid;gap:8px;font-size:14px;font-weight:600;color:var(--ink)}.airport-taxi-price select{width:100%}.airport-taxi-amount{display:flex;align-items:center;gap:12px;min-height:44px}.airport-taxi-amount>strong{color:var(--ink);font-size:28px;white-space:nowrap}.airport-taxi-amount small{font-size:14px}.airport-taxi-amount>span{padding:8px 12px;border-radius:9px;background:#eef2ff;color:var(--blue);font-size:16px;font-weight:600}.airport-taxi-route{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:16px 0;color:var(--ink);font-size:14px}.airport-taxi-route svg{color:var(--blue);flex:none}.airport-taxi-details{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-top:16px}.airport-taxi-details p{margin:0;max-width:760px;color:var(--muted-foreground);font-size:14px;line-height:1.65}.airport-taxi-details b{color:var(--ink)}.airport-call-link{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;flex-shrink:0;padding:10px 14px;border-radius:9px;background:#eef2ff;color:var(--blue);font-size:14px;font-weight:600}.airport-taxi-disclaimer{margin-top:20px;padding:14px 16px;border-left:3px solid #e2b12e;border-radius:0 9px 9px 0;background:#fff9e9;color:#675732;font-size:13px;line-height:1.65}.airport-taxi-disclaimer a{margin-left:8px}@media(max-width:760px){.airport-transfer-hero{align-items:flex-start;flex-direction:column;gap:16px}.airport-transfer-fare{align-self:stretch}.airport-map-layout,.airport-timetable-results{grid-template-columns:1fr}.airport-direction-switch button{flex:1;padding:10px;font-size:14px}.airport-day-switch{gap:6px}.airport-day-switch button{flex:1;min-width:38px;padding:10px 7px;font-size:13px}.airport-taxi-price{grid-template-columns:1fr;gap:12px}.airport-taxi-details{flex-direction:column;gap:14px}.airport-leaflet-map{height:300px}.airport-map-frame{min-height:348px}.airport-transfer-section-heading h2{font-size:20px}.airport-taxi-route{align-items:flex-start}.airport-transport-entry{padding:14px}}.airport-transfer-section-heading>div{flex:1;min-width:0}.airport-taxi-section .airport-transfer-section-heading{flex-wrap:nowrap}@media(max-width:760px){.airport-transfer-source-status{flex-basis:100%}}.airport-choice-form{display:flex;align-items:flex-end;gap:12px;margin:24px 0}.airport-choice-form label{display:grid;flex:1;gap:8px;min-width:0;font-weight:600}.airport-choice-form select{min-width:0;width:100%;font:inherit;min-height:44px}.airport-flight-section,.airport-season-timetable{margin:20px 0}.airport-flight-section h2{display:flex;align-items:center;gap:8px}.airport-flight-filters{display:grid;grid-template-columns:1fr 2fr;gap:16px;margin:18px 0}.airport-flight-filters label{display:grid;gap:8px;min-width:0;font-weight:600}.airport-flight-filters :is(input,select){min-height:44px;width:100%;min-width:0;font:inherit;padding:10px 12px;border:1px solid var(--line);border-radius:9px;background:white;color:var(--ink)}.airport-flight-list{display:grid;gap:12px;margin:20px 0}.airport-flight-card{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:20px;min-width:0;align-items:start;padding:16px;border:1px solid var(--line);border-radius:10px;background:#eef2ff}.airport-flight-card h3{font-size:1.1rem;margin:10px 0 8px}.airport-flight-card h3 small{font-size:.8rem;font-weight:500}.airport-flight-card p{font-size:.85rem;line-height:1.6;margin:8px 0}.airport-flight-card dl{margin:0;display:grid;gap:12px}.airport-flight-card dt{font-size:.8rem;color:var(--muted-foreground)}.airport-flight-card dd{margin:6px 0 0;font-size:1rem;font-weight:600;font-variant-numeric:tabular-nums}.airport-flight-number{display:inline-block;padding:6px 10px;background:#eef2ff;border-radius:7px;color:var(--blue)}.airport-season-pdf{width:100%;height:650px;border:1px solid var(--line);border-radius:10px;margin-top:18px}@media(max-width:640px){.airport-choice-form{flex-direction:column;align-items:stretch}.airport-flight-card,.airport-flight-filters{grid-template-columns:1fr}.airport-flight-card{gap:14px}.airport-flight-card dl{grid-template-columns:1fr 1fr}.airport-season-pdf{height:450px}}html:not([data-text-size="100"]) .airport-flight-card{grid-template-columns:1fr}.transport-payments{margin-top:16px;padding:16px;border:1px solid var(--line);border-radius:9px;background:#eef2ff;min-width:0;color:var(--ink)}.transport-payments h3{margin:0 0 10px;font-size:14px;color:var(--ink)}.transport-payment-badges{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0;margin:0}.transport-payment-badges li{display:inline-flex;align-items:center;gap:7px;padding:8px 10px;background:#fff;border:1px solid var(--line);border-radius:8px;font-size:13px;font-weight:600}.transport-payment-badges svg{color:var(--blue);flex:none}.transport-payments p{margin:10px 0 0;color:var(--muted-foreground);font-size:13px;line-height:1.65}.transport-payments small{display:block;margin-top:10px;font-size:12px;line-height:1.6;color:var(--muted-foreground)}.transport-payments a{color:var(--blue)}.transport-contact-link{display:inline-flex;align-items:center;gap:8px;min-height:44px;margin-top:14px;padding:10px 14px;border-radius:9px;background:#eef2ff;color:var(--blue);font-size:14px;font-weight:600}.taxi-directory-card>h2{font-size:20px}.taxi-directory-card>p{font-size:14px;line-height:1.65}.taxi-directory-card>.button{display:inline-flex;align-items:center;gap:8px;min-height:44px;margin-top:8px}.portal-home{background:#eef2ff;color:#202124;padding-bottom:20px}.portal-container{width:min(1200px,calc(100% - 40px));margin-inline:auto}.topbar{height:70px;background:#fff;border-bottom:1px solid #d7dce5;position:relative;z-index:5}.topbar-inner{width:min(1200px,calc(100% - 40px));height:100%;margin:auto;justify-content:space-between;gap:24px}.brand,.topbar-inner{display:flex;align-items:center}.brand{gap:8px;color:#202124;font-weight:600;font-size:20px;white-space:nowrap}.brand-mark{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:#2455ff;color:#fff;font:italic 700 25px Georgia}.brand-caption{display:block;font-size:10px;font-weight:400;color:#5f6674;margin-top:-4px}.brand-name{display:flex;flex-direction:column}.nav{display:flex;align-items:center;gap:30px}.nav a{color:#202124;font-size:13px}.nav a.active,.nav a:hover{color:#2455ff}.account-link{border-radius:50%;width:38px;height:38px;background:#d7dce5;display:grid;place-items:center;color:#202124}.portal-hero{position:relative;min-height:365px;background:#202124 var(--asset-skopje-hero) center 48%/cover no-repeat;color:#fff}.portal-hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,20,42,.75),rgba(10,25,46,.36) 58%,rgba(10,22,39,.28)),linear-gradient(0deg,rgba(7,18,35,.36),transparent 70%)}.portal-hero-inner{position:relative;display:flex;justify-content:space-between;align-items:center;gap:36px;min-height:365px;padding:40px 6px}.portal-hero-copy{max-width:640px}.portal-kicker{font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:#eef2ff}.portal-hero h1{font-size:clamp(34px,4vw,46px);line-height:1.05;margin:14px 0 9px;letter-spacing:-.03em}.portal-hero-copy>p{font-size:15px;line-height:1.5;margin:0 0 16px;color:#eef2ff}.portal-hero .ask-bar{max-width:535px}.popular-links{display:flex;align-items:center;gap:9px;margin-top:12px;font-size:11px;flex-wrap:wrap}.popular-links b{font-weight:600}.popular-links a{padding:4px 7px;border-radius:4px;background:#202124a8;color:#fff}.hero-quick-panel{width:270px;flex:none;border:1px solid #ffffff40;border-radius:15px;background:#202124c9;padding:18px 17px;box-shadow:0 16px 38px #20212440}.hero-quick-panel h2{font-size:15px;margin:0 0 9px}.hero-quick-panel>a:not(.hero-all-services){display:flex;align-items:center;gap:11px;padding:8px 3px;color:#eef2ff;font-size:12px}.hero-quick-panel>a svg{width:18px;height:18px}.hero-all-services{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:11px;border-radius:7px;padding:10px;background:#2455ff;color:#fff;font-weight:600;font-size:12px}.portal-quick-strip{display:grid;grid-template-columns:repeat(5,1fr);position:relative;margin-top:-25px;z-index:2;padding:8px 10px;background:#fff;border:1px solid #d7dce5;border-radius:14px;box-shadow:0 8px 24px #20212413}.portal-quick-item{display:flex;align-items:center;gap:13px;padding:12px 15px;min-width:0}.portal-quick-item+.portal-quick-item{border-left:1px solid #d7dce5}.portal-quick-icon{display:grid;place-items:center;width:40px;height:40px;flex:none;color:#2455ff}.portal-quick-icon.sky{color:#55b7eb}.portal-quick-icon.green{color:#49a381}.portal-quick-icon.amber{color:#efaa1c}.portal-quick-copy{display:flex;flex-direction:column;gap:3px;min-width:0}.portal-quick-copy b{font-size:12px}.portal-quick-copy small{font-size:10px;color:#5f6674;white-space:nowrap}.portal-quick-copy em{display:flex;align-items:center;gap:4px;color:#2455ff;font-size:10px;font-style:normal;margin-top:2px}.portal-feature-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:18px}.portal-feature-card{background:#fff;border:1px solid #d7dce5;border-radius:13px;padding:16px;min-height:282px;box-shadow:0 2px 8px #20212405;display:flex;flex-direction:column}.portal-feature-card h2{font-size:14px;margin:0 0 13px}.feature-visual{height:105px;border-radius:9px;overflow:hidden;padding:14px;display:flex;align-items:flex-end;gap:12px;color:white;position:relative;background:linear-gradient(135deg,#2455ffa8,#202124bb),var(--asset-skopje-hero) center/cover}.feature-visual>svg{flex:none}.feature-visual>div{display:flex;flex-direction:column;gap:3px}.feature-visual b{font-size:12px}.feature-visual span{font-size:10px;line-height:1.35}.portal-feature-card>p{font-size:11px;color:#5f6674;line-height:1.45;margin:12px 0}.feature-action{justify-content:center;gap:7px;margin-top:auto;border-radius:7px;background:#2455ff;color:white;padding:10px 12px;font-size:11px;font-weight:600}.bus-preview,.feature-action{display:flex;align-items:center}.bus-preview{height:85px;border-radius:9px;gap:12px;padding:12px;background:linear-gradient(90deg,#202124d4,#20212455),var(--asset-jsp-bus) center 54%/cover;color:#fff}.bus-preview-icon{display:grid;place-items:center;border-radius:9px;background:#fff2;width:42px;height:42px}.bus-preview>div{display:flex;flex-direction:column;gap:5px;text-shadow:0 1px 3px #000}.bus-preview b{font-size:12px}.bus-preview small{font-size:10px}.bus-preview-line{display:flex;justify-content:space-between;color:#5f6674;font-size:10px;margin-top:13px}.bus-preview-line span{padding:6px 8px;border:1px solid #d7dce5;border-radius:5px;flex:1}.bus-preview-line span+span{margin-left:7px}.feature-heading,.weather-current{display:flex;align-items:center;justify-content:space-between}.feature-heading h2{margin:0}.feature-heading svg,.weather-current svg{color:#f5ad22}.weather-current{margin:14px 0 3px}.weather-current strong{font-size:43px;line-height:1;letter-spacing:-.05em}.weather-condition{font-size:11px;font-weight:500}.weather-stats{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #d7dce5;margin-top:13px;padding:11px 0;gap:5px}.weather-stats span{display:flex;flex-direction:column;gap:5px}.feature-source,.weather-stats small{font-size:9px;color:#5f6674}.weather-stats b{font-size:10px}.feature-source{display:flex;justify-content:space-between;gap:4px;margin-bottom:10px}.contacts-feature>p{margin-top:0}.emergency-number{display:flex;align-items:center;gap:10px;padding:13px 10px;border-radius:9px;background:#eef2ff}.emergency-number>span{display:grid;place-items:center;background:#eef2ff;color:#2455ff;width:37px;height:37px;border-radius:50%}.emergency-number div{display:flex;flex-direction:column;gap:2px;flex:1}.emergency-number small{font-size:9px;color:#5f6674}.emergency-number b{font-size:21px}.emergency-number a{color:#2455ff;font-size:10px;font-weight:600}.contact-note{font-size:10px;color:#5f6674;line-height:1.4;padding:10px 1px}.portal-section{margin-top:14px;padding:16px;background:#fff;border:1px solid #d7dce5;border-radius:13px}.portal-section-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:13px}.portal-section-heading h2{font-size:15px;margin:0 0 4px}.portal-section-heading p{font-size:10px;color:#5f6674;margin:0}.portal-section-heading>a{display:flex;align-items:center;gap:5px;font-size:10px;color:#2455ff;white-space:nowrap}.portal-empty-news{display:flex;align-items:center;gap:12px;padding:12px;border-radius:9px;background:#eef2ff}.portal-empty-news>span{display:grid;place-items:center;width:38px;height:38px;border-radius:9px;background:#eef2ff;color:#2455ff}.portal-empty-news b{font-size:11px}.portal-empty-news p{font-size:10px;color:#5f6674;margin:4px 0 0}.portal-empty-news>div{flex:1}.portal-empty-news>a{color:#2455ff}.institution-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:9px}.institution-link{min-height:64px;display:flex;align-items:center;gap:9px;padding:9px;border:1px solid #d7dce5;border-radius:8px;color:#202124}.institution-link>span{display:grid;place-items:center;width:34px;height:34px;flex:none;color:#2455ff;background:#eef2ff;border-radius:7px}.institution-link div{display:flex;flex-direction:column;gap:4px;min-width:0}.institution-link b{font-size:10px}.institution-link small{font-size:9px;color:#5f6674;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.institution-arrow{margin-left:auto;color:#9ba4b2;flex:none}.travel-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:11px}.travel-card{position:relative;min-height:120px;overflow:hidden;border-radius:9px;padding:13px;justify-content:space-between;color:white;background:linear-gradient(0deg,#202124dd,#20212430 90%),var(--asset-skopje-hero) center/cover}.travel-card,.travel-card>span{display:flex;flex-direction:column}.travel-card>span{gap:4px;text-shadow:0 1px 3px #000}.travel-card b{font-size:12px}.travel-card small{font-size:10px}.travel-card>svg:last-child{position:absolute;right:12px;top:12px}.travel-events,.travel-food,.travel-map,.travel-place{background-image:linear-gradient(0deg,#202124df,#20212430 90%),var(--asset-skopje-hero)}.support-band{display:flex;align-items:center;gap:24px;padding:19px 22px;margin-top:14px;background:linear-gradient(110deg,#202124,#202124);border-radius:13px;color:#fff}.support-band>div:first-child{max-width:290px}.support-band h2{font-size:16px;margin:0 0 6px}.support-band p{font-size:10px;line-height:1.5;color:#eef2ff;margin:0}.support-points{display:flex;align-items:center;gap:24px;flex:1}.support-points span{display:flex;align-items:center;gap:7px;color:#eef2ff;font-size:10px}.support-points svg{width:25px;height:25px;padding:5px;background:#ffffff1a;border-radius:50%;flex:none}.support-button{padding:10px 14px;background:#ffce3d;color:#202124;border-radius:6px;font-size:10px;font-weight:600;white-space:nowrap}.portal-footer{background:#202124;color:#fff;padding:28px 0 75px}.portal-footer-inner{display:grid;grid-template-columns:1.2fr .8fr .9fr 1.1fr;gap:40px}.portal-footer h3{font-size:12px;margin:0 0 10px}.portal-footer a,.portal-footer p{font-size:10px;line-height:1.7;color:#d7dce5}.portal-footer-links{display:flex;flex-direction:column;gap:2px}.portal-footer-brand{display:flex;align-items:center;gap:8px;font-size:16px;font-weight:600}.portal-footer-brand .brand-mark{width:28px;height:28px;font-size:19px}.portal-footer-bottom{font-size:9px;color:#c8d4e9;margin-top:25px}.footer,.mobile-nav{display:none}@media(max-width:1000px){.nav{gap:15px}.portal-quick-item{padding:10px 8px;gap:8px}.portal-quick-copy small{white-space:normal}.portal-feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.institution-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.support-band{flex-wrap:wrap}.support-points{justify-content:space-between}.portal-footer-inner{gap:22px}}@media(max-width:680px){.portal-container{width:calc(100% - 24px)}.topbar{height:58px}.topbar-inner{width:calc(100% - 24px)}.nav{display:none}.brand{font-size:18px}.brand-mark{width:34px;height:34px}.portal-hero{min-height:570px;background-position:57%}.portal-hero-inner{min-height:570px;align-items:flex-start;justify-content:flex-end;flex-direction:column;padding:38px 0 42px;gap:22px}.portal-hero h1{font-size:37px}.portal-hero-copy>p{font-size:13px}.desktop-break{display:none}.hero-quick-panel{width:100%;padding:12px 14px;display:grid;grid-template-columns:1fr 1fr;gap:0 9px}.hero-all-services,.hero-quick-panel h2{grid-column:1/-1}.hero-quick-panel h2{margin-bottom:4px}.hero-quick-panel>a:not(.hero-all-services){font-size:10px;padding:7px 2px}.portal-quick-strip{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:-20px;padding:5px}.portal-quick-item{padding:9px 5px}.portal-quick-item+.portal-quick-item{border-left:0}.portal-quick-item:nth-child(2n){border-left:1px solid #d7dce5}.portal-quick-item:last-child{grid-column:1/-1;border-top:1px solid #d7dce5}.portal-quick-icon{width:32px}.portal-quick-copy b{font-size:10px}.portal-quick-copy small{font-size:9px}.portal-feature-grid{grid-template-columns:1fr;margin-top:12px;gap:9px}.portal-feature-card{min-height:0;padding:14px}.feature-visual{height:115px}.portal-section{padding:13px;margin-top:10px}.portal-section-heading h2{font-size:13px}.portal-section-heading p{font-size:9px}.institution-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.institution-link{padding:7px;gap:6px}.institution-link>span{width:30px;height:30px}.institution-link b{font-size:9px}.institution-link small{font-size:8px}.institution-arrow{display:none}.travel-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.travel-card{min-height:115px;padding:11px}.travel-card:last-child{grid-column:1/-1;min-height:95px}.support-band{padding:16px;gap:14px}.support-band>div:first-child{max-width:none}.support-points{width:100%;gap:9px}.support-points span{font-size:9px;flex-direction:column;align-items:flex-start}.support-button{margin-left:auto}.portal-footer{padding:24px 0 80px}.portal-footer-inner{grid-template-columns:1fr 1fr;gap:20px}.portal-footer-inner>div:first-child{grid-column:1/-1}.portal-footer-bottom{margin-top:18px}.mobile-nav{display:flex;position:fixed;z-index:15;bottom:0;left:0;right:0;justify-content:space-around;background:#fff;border-top:1px solid #d7dce5;padding:7px 4px calc(7px + env(safe-area-inset-bottom));box-shadow:0 -3px 16px #20212412}.mobile-nav a{display:flex;align-items:center;flex-direction:column;gap:2px;color:#5f6674;font-size:9px}.mobile-nav svg{width:18px;height:18px}.footer{display:none}}.train-visual{background-image:linear-gradient(90deg,#20212490,#20212490),var(--asset-skopje-train)}.travel-place{background-image:linear-gradient(0deg,#202124df,#20212430 90%),var(--asset-ohrid-lake)}.travel-stay{background-image:linear-gradient(0deg,#202124df,#20212430 90%),var(--asset-jsp-bus)}.travel-events,.travel-map{background-image:linear-gradient(0deg,#202124df,#20212430 90%),var(--asset-skopje-vodno)}.travel-stay{background-image:linear-gradient(0deg,#202124df,#20212430 90%),var(--asset-ohrid-hotel)}.travel-events{background-image:linear-gradient(0deg,#202124df,#20212430 90%),var(--asset-macedonian-festival)}.travel-food{background-image:linear-gradient(0deg,#202124df,#20212430 90%),var(--asset-macedonian-food)}.coming-soon-trigger{position:relative;display:flex;width:100%;border:0;border-radius:0;background-color:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}.coming-soon-trigger:focus-visible{outline:3px solid #76a4ff;outline-offset:2px}.coming-soon-badge{position:absolute;right:8px;top:8px;border-radius:20px;background:#fff;color:#2455ff;padding:4px 7px;font-size:9px;font-weight:600;line-height:1;box-shadow:0 2px 8px #2021241c}.hero-quick-coming{align-items:center;gap:11px;padding:8px 3px;color:#eef2ff;font-size:12px}.hero-quick-coming>svg{width:18px;height:18px;flex:none}.hero-quick-coming .coming-soon-badge{position:static;margin-left:auto;flex:none;background:#ffffff20;color:#eef2ff;box-shadow:none}.portal-quick-item.coming-soon-trigger{background:#fff;border-radius:0}.portal-quick-item.coming-soon-trigger .coming-soon-badge{top:4px;right:4px;font-size:8px;background:#eef2ff;box-shadow:none}.contacts-feature.coming-soon-trigger{background:#fff;border:1px solid #d7dce5;border-radius:13px}.contacts-feature .coming-soon-badge{top:13px;right:13px}.taxi-preview{display:flex;align-items:center;gap:11px;margin:9px 0 14px;padding:16px 12px;border-radius:9px;background:#eef2ff;color:#2455ff}.taxi-preview>span{display:grid;place-items:center;width:43px;height:43px;border-radius:50%;background:#eef2ff;flex:none}.taxi-preview>div{display:flex;flex-direction:column;gap:4px;flex:1}.taxi-preview b{font-size:12px;color:#202124}.taxi-preview small{font-size:10px;color:#5f6674}.taxi-preview>svg{margin-left:auto}.coming-soon-backdrop{position:fixed;z-index:100;inset:0;display:grid;place-items:center;padding:20px;background:#202124a8;backdrop-filter:blur(3px)}.coming-soon-dialog{position:relative;width:min(420px,100%);padding:30px;border:1px solid #d7dce5;border-radius:16px;background:#fff;color:#202124;box-shadow:0 24px 90px #20212460;text-align:center}.coming-soon-close{position:absolute;right:12px;top:12px;display:grid;place-items:center;width:34px;height:34px;border:0;border-radius:50%;background:#eef2ff;color:#5f6674;cursor:pointer}.coming-soon-icon{display:grid;place-items:center;width:54px;height:54px;margin:0 auto 14px;border-radius:50%;background:#eef2ff;color:#2455ff}.coming-soon-eyebrow{color:#2455ff;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.07em}.coming-soon-dialog h2{margin:8px 0;font-size:22px}.coming-soon-dialog p{margin:0 auto;color:#5f6674;font-size:14px;line-height:1.55;max-width:330px}.coming-soon-dismiss{margin-top:22px;padding:10px 24px;border:0;border-radius:7px;background:#2455ff;color:#fff;font-weight:600;cursor:pointer}.road-status-card{padding:23px 25px;background:linear-gradient(120deg,#ecfdf4,#fff);border:1px solid #b9e8cf;border-radius:16px;box-shadow:0 8px 24px #20212408}.road-status-card.is-stale{background:linear-gradient(120deg,#fff8e9,#fff);border-color:#f1d99a}.road-status-heading{display:flex;align-items:flex-start;gap:15px}.road-status-heading h2{font-size:18px;line-height:1.5;margin:3px 0 0}.road-label{font-size:10px;font-weight:600;letter-spacing:.7px;color:#167447}.road-meta{display:flex;justify-content:space-between;gap:12px;border-top:1px solid #d9eee1;margin-top:17px;padding-top:12px;color:#5f6674;font-size:11px}.road-meta span{display:flex;align-items:center;gap:6px}.road-stale-note{display:flex;align-items:center;gap:7px;color:#9a6100;font-size:12px;font-weight:600}.road-info-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:13px}.road-info-card{padding:17px}.road-info-card h2{display:flex;align-items:center;gap:7px;font-size:13px;margin:0 0 9px}.road-info-card h2 svg{color:#bd8215}.road-info-card p,.roadworks-list{font-size:12px;line-height:1.65;color:#5f6674;margin:0}.roadworks-card{margin-top:13px}.roadworks-list{padding-left:19px;margin-top:12px}.roadworks-list li{padding:9px 0;border-top:1px solid #d7dce5}.road-empty{display:flex;align-items:center;gap:14px;padding:22px}.road-empty h2{font-size:15px;margin:0 0 5px}.road-empty p{font-size:12px;color:var(--muted-foreground);margin:0}.road-help{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:14px;padding:18px 20px;border-radius:14px;background:#202124;color:white}.road-help h2{font-size:15px;margin:0 0 5px}.road-help p{font-size:11px;line-height:1.5;color:#d7dce5;margin:0}.road-help a{display:flex;align-items:center;gap:8px;padding:10px 14px;border-radius:9px;background:#fff;color:#2455ff;font-weight:600;white-space:nowrap}.road-attribution{margin-top:12px;color:#5f6674;font-size:10px;line-height:1.6}.road-attribution a{color:#2455ff;font-weight:600}.border-limit{max-width:760px;margin-top:14px}.border-limit h2{font-size:14px;margin:0 0 7px}.border-limit p{font-size:12px;line-height:1.65;color:#5f6674;margin:0}@media(max-width:620px){.road-status-card{padding:18px}.road-status-heading h2{font-size:15px}.road-meta{flex-direction:column}.road-info-grid{grid-template-columns:1fr}.road-help{align-items:flex-start;flex-direction:column}.road-help a{align-self:stretch;justify-content:center}}.travel-card.coming-soon-trigger{color:#fff}.travel-card.coming-soon-trigger .coming-soon-badge{text-shadow:none}.currency-languages{display:flex;gap:5px}.currency-languages button{border:1px solid #d7dce5;border-radius:7px;background:#fff;color:#5f6674;padding:8px 10px;font-size:11px;font-weight:600;cursor:pointer}.currency-languages button[aria-pressed=true]{background:#2455ff;border-color:#2455ff;color:#fff}.currency-page{padding-bottom:48px}.currency-converter{display:grid;grid-template-columns:minmax(130px,.8fr) minmax(200px,1.4fr) minmax(200px,1fr);align-items:end;gap:14px;margin:20px 0;padding:20px;border:1px solid #d7dce5;border-radius:14px;background:#fff;box-shadow:0 6px 20px #20212408}.currency-converter label{display:flex;flex-direction:column;gap:7px;color:#5f6674;font-size:12px;font-weight:600}.currency-converter input,.currency-converter select{width:100%;height:43px;border:1px solid #d7dce5;border-radius:8px;background:#fff;padding:0 12px;color:#202124;font:inherit}.currency-conversion{display:flex;flex-direction:column;gap:6px;padding:0 5px}.currency-conversion small{font-size:11px;color:#5f6674}.currency-conversion strong{font-size:24px;color:#2455ff}.currency-table-card{overflow:hidden;border:1px solid #d7dce5;border-radius:14px;background:#fff}.currency-meta{display:flex;justify-content:space-between;gap:12px;padding:16px 18px;border-bottom:1px solid #d7dce5;font-size:12px;color:#5f6674}.currency-meta b{color:#202124}.currency-table-wrap{overflow:auto}.currency-table{width:100%;border-collapse:collapse;font-size:13px}.currency-table td,.currency-table th{text-align:left;padding:12px 18px;border-bottom:1px solid #d7dce5;white-space:nowrap}.currency-table th{background:#eef2ff;color:#5f6674;font-size:11px}.currency-table td:first-child small{display:block;color:#5f6674;font-size:10px;margin-top:3px}.currency-note{max-width:800px;color:#5f6674;font-size:11px;line-height:1.6;margin:14px 2px}.currency-empty{border:1px solid #d7dce5;border-radius:12px;background:#fff;padding:24px;color:#5f6674;font-size:13px}@media(max-width:680px){.currency-converter{grid-template-columns:1fr 1fr;padding:14px}.currency-conversion{grid-column:1/-1;padding:10px 0}.currency-meta{flex-direction:column}.currency-table td,.currency-table th{padding:11px 12px}}.national-rail-section{margin-top:24px;padding:22px;border:1px solid #d7dce5;border-radius:14px;background:#fff}.national-rail-controls{display:grid;grid-template-columns:minmax(260px,1.3fr) minmax(150px,.7fr) minmax(150px,.6fr);align-items:end;gap:14px;margin:18px 0 12px}.national-rail-controls .transit-tabs{margin:0}.national-rail-table-wrap{overflow:auto;border:1px solid #d7dce5;border-radius:10px}.national-rail-table{width:100%;border-collapse:collapse;white-space:nowrap;font-size:12px}.national-rail-table td,.national-rail-table th{padding:11px 13px;text-align:left;border-bottom:1px solid #d7dce5}.national-rail-table th{background:#eef2ff;color:#5f6674;font-size:10px}.platform-pill{display:inline-grid;place-items:center;min-width:26px;height:26px;border-radius:7px;background:#eef2ff;color:#2455ff;font-weight:600}.national-rail-section .planner-head{margin-bottom:8px}.national-rail-section .page-heading{margin-bottom:0}@media(max-width:720px){.national-rail-section{padding:14px;margin-inline:-2px}.national-rail-controls{grid-template-columns:1fr 1fr}.national-rail-controls .transit-tabs{grid-column:1/-1;overflow:auto}.national-rail-controls .transit-tabs button{white-space:nowrap}}@media(min-width:1101px){.portal-quick-strip{grid-template-columns:repeat(6,minmax(0,1fr))}.portal-quick-item{padding-inline:9px}}@media(min-width:681px) and (max-width:1100px){.portal-quick-strip{grid-template-columns:repeat(3,minmax(0,1fr))}.portal-quick-item:nth-child(n){border-left:0}.portal-quick-item:nth-child(3n),.portal-quick-item:nth-child(3n+2){border-left:1px solid #d7dce5}.portal-quick-item:nth-child(n+4){border-top:1px solid #d7dce5}}@media(max-width:680px){.portal-quick-item:last-child{grid-column:auto;border-top:0}}.nav{gap:17px}.nav a{white-space:nowrap}.language-selector{display:flex;align-items:center;gap:3px;padding:3px;border:1px solid #d7dce5;border-radius:18px;background:#eef2ff;flex:none}.language-selector button{min-width:30px;height:25px;padding:0 5px;border:0;border-radius:13px;background:transparent;color:#5f6674;font-size:10px;font-weight:600;cursor:pointer}.language-selector button[aria-pressed=true]{background:#2455ff;color:#fff;box-shadow:0 2px 5px #2455ff38}@media(max-width:1100px){.nav{gap:8px}.nav a{font-size:10px}.brand{font-size:18px}.city-locate{width:34px;justify-content:center;padding:0;font-size:0}.city-locate svg{width:16px;height:16px}.language-selector button{min-width:27px}}@media(max-width:680px){.topbar-inner{gap:7px}.language-selector{margin-left:auto}.city-selector{margin-left:0}}.city-selector{position:relative;display:flex;align-items:center;gap:7px;margin-left:auto}.city-select-wrap{display:flex;align-items:center;gap:4px;height:34px;padding:0 8px;border:1px solid #d7dce5;border-radius:18px;background:#fff;color:#2455ff}.city-select-wrap select{max-width:112px;border:0;outline:0;background:transparent;color:#202124;font-size:12px}.city-locate,.city-select-wrap select{font-family:inherit;font-weight:600;cursor:pointer}.city-locate{display:flex;align-items:center;gap:5px;height:34px;padding:0 9px;border:1px solid #d7dce5;border-radius:18px;background:#eef2ff;color:#2455ff;font-size:11px}.city-locate:disabled{opacity:.65;cursor:wait}.city-location-message{position:absolute;right:0;top:40px;z-index:30;width:max-content;max-width:260px;padding:8px 10px;border:1px solid #d7dce5;border-radius:8px;background:#fff;color:#5f6674;font-size:11px;box-shadow:0 6px 20px #20212419}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:680px){.city-selector{gap:4px}.city-select-wrap{height:32px;padding:0 6px}.city-select-wrap select{max-width:94px;font-size:11px}.city-locate{height:32px;width:34px;justify-content:center;padding:0;font-size:0}.city-locate svg{width:16px;height:16px}}.hero-quick-panel .hero-quick-coming{display:flex;align-items:center;gap:11px;padding:8px 3px;color:#eef2ff;font-size:12px}.public-info-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.public-info-card{min-width:0;min-height:130px;display:flex;flex-direction:column;align-items:flex-start;padding:12px;border:1px solid #d7dce5;border-radius:9px;color:#202124;background:#fff}.public-info-card:hover,.public-info-row:hover{border-color:#eef2ff;box-shadow:0 6px 16px #2021240d}.public-info-audience{font-size:8px;font-weight:600;letter-spacing:.06em;color:#2455ff;background:#eef2ff;border-radius:20px;padding:4px 7px}.public-info-card>b{font-size:11px;margin-top:9px}.public-info-card>small{font-size:10px;line-height:1.4;color:#5f6674;margin-top:5px}.public-info-card>em{display:flex;align-items:center;gap:5px;margin-top:auto;padding-top:9px;color:#5f6674;font-size:8px;font-style:normal}.public-info-note{font-size:9px;color:#5f6674;margin:10px 1px 0}.forms-page,.offices-page,.public-updates-page{max-width:1060px}.forms-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(260px,.65fr);gap:15px;align-items:start}.form-request-card{padding:22px}.form-request-form,.request-form{display:flex;flex-direction:column;gap:12px}.request-field{display:flex;flex-direction:column;gap:6px;min-width:0}.request-field>span{font-size:12px;font-weight:600;color:#202124}.request-field>span b{color:#d23a3a}.request-field>span small{font-size:10px;color:#5f6674;font-weight:400}.request-field input,.request-field select,.request-field textarea{width:100%;min-height:42px;padding:10px 11px;border:1px solid #d7dce5;border-radius:9px;background:#fff;color:#202124;outline-color:#86a9fc;font-size:13px}.request-field textarea{min-height:105px;resize:vertical;line-height:1.45}.request-field-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.request-honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.request-consent{display:flex;align-items:flex-start;gap:8px;color:#5f6674;font-size:11px;line-height:1.45}.request-consent input{margin-top:2px;accent-color:#2455ff}.request-privacy{margin:0;color:#5f6674;font-size:10px;line-height:1.5}.request-form .button{align-self:flex-start}.request-form .button:disabled{opacity:.65;cursor:wait}.request-error{margin:0;color:#b42318;font-size:12px}.request-success{padding:18px;border:1px solid #b7e2c6;border-radius:11px;background:#f0fbf4;color:#175c36}.request-success>b{font-size:16px}.request-success p{font-size:13px;line-height:1.5}.request-success small{color:#4a6f5a;font-size:11px;line-height:1.5}.forms-aside{display:flex;flex-direction:column;gap:12px}.forms-aside .card{padding:18px}.official-form-list{padding:14px;border:1px solid var(--line,#d7dce5);border-radius:12px;background:#eef2ff}.official-form-list-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px;font-size:13px}.official-form-list-heading>span{display:grid;place-items:center;min-width:24px;height:24px;padding:0 6px;border-radius:999px;background:#eef2ff;color:#2455ff;font-size:12px;font-weight:600}.official-form-list ul{display:grid;gap:8px;margin:0;padding:0;list-style:none}.official-form-list li{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:11px 12px;border:1px solid #d7dce5;border-radius:9px;background:white}.official-form-list li>div{display:grid;gap:4px;min-width:0}.official-form-list li strong{font-size:12px;line-height:1.45}.official-form-list li small{color:#5f6674;font-size:10px;line-height:1.5}.official-form-list li small a{color:#2455ff;text-decoration:underline;text-underline-offset:2px}.official-form-download{display:inline-flex;align-items:center;justify-content:center;gap:6px;flex:none;padding:8px 10px;border-radius:8px;background:#2455ff;color:white;font-size:11px;font-weight:600;text-decoration:none}.official-form-download:hover{background:#2455ff}.official-form-actions{display:grid;justify-items:stretch;gap:6px;flex:none}.official-form-original{color:#2455ff;font-size:10px;font-weight:600;text-align:center;text-decoration:underline;text-underline-offset:2px}.official-form-note{margin:10px 2px 0;color:#5f6674;font-size:11px;line-height:1.55}.official-form-download:focus-visible,.official-form-list a:focus-visible{outline:3px solid #86a7ff;outline-offset:2px}.official-form-empty{margin:0;color:#5f6674;font-size:12px;line-height:1.6}.forms-external{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:14px}.forms-explainer>b{font-size:13px}.forms-explainer p{font-size:12px;color:#5f6674;line-height:1.55}.forms-explainer>a{font-size:12px;color:#2455ff;font-weight:600}.office-current-time{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:12px 15px;border:1px solid #d7dce5;border-radius:11px;background:#fff;font-size:12px;color:#5f6674;margin-bottom:14px}.office-current-time>span{display:flex;align-items:center;gap:7px}.office-current-time svg{color:#2455ff}.office-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.office-card{padding:20px}.office-card .card-top{align-items:flex-start}.office-status{max-width:48%;line-height:1.4;text-align:center;border-radius:20px;padding:5px 8px;font-size:10px;font-weight:600}.office-status.open{color:#175c36;background:#eef8f1}.office-status.closed{color:#984b12;background:#fff5e8}.office-status.holiday{color:#84540e;background:#fff6df}.office-status.unknown{color:#5f6674;background:#d7dce5}.office-hours{font:800 28px/1.15 Inter,system-ui,sans-serif;letter-spacing:-.6px;margin:22px 0 7px;color:#202124}.office-hours small{display:block;font:500 11px/1.5 Inter,system-ui,sans-serif;letter-spacing:0;color:#5f6674;margin-top:5px}.office-card .card-sub{min-height:42px}.office-source{display:flex;align-items:center;gap:5px;margin-top:12px;padding-top:12px;border-top:1px solid #d7dce5;color:#2455ff;font-size:10px;line-height:1.4}.office-notice{margin-top:14px}.office-links,.official-actions{display:flex;align-items:center;gap:18px;margin-top:15px;font-size:12px;font-weight:600;color:#2455ff}.public-info-list{display:flex;flex-direction:column;gap:10px}.public-info-row{display:block;color:inherit;padding:15px 17px;transition:.15s}.public-info-list-bottom,.public-info-list-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.public-info-row h2{font-size:15px;margin:9px 0 4px}.public-info-row p{font-size:12px;color:#5f6674;margin:0;line-height:1.5}.public-info-list-bottom{font-size:10px;color:#5f6674;margin-top:12px;padding-top:10px;border-top:1px solid #d7dce5}.public-info-list-bottom>span:last-child{display:flex;align-items:center;gap:4px;color:#2455ff;font-weight:600;white-space:nowrap}.official-actions{margin-top:18px}.official-actions .button{display:flex;align-items:center;gap:6px}.admin-request-card{margin-bottom:12px}.admin-request-details{font-size:13px;line-height:1.5;white-space:pre-wrap}.admin-request-edit{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:15px;padding-top:14px;border-top:1px solid #d7dce5}.admin-request-edit>.request-field:nth-child(2),.admin-request-edit>.request-field:nth-child(3){grid-column:1/-1}.admin-request-edit textarea{min-height:65px}.admin-request-edit .button{justify-self:start}@media(max-width:900px){.public-info-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.forms-layout{grid-template-columns:1fr}.forms-aside{display:grid;grid-template-columns:1fr 1fr}}@media(max-width:620px){.office-grid{grid-template-columns:1fr}.office-current-time{align-items:flex-start;flex-direction:column;font-size:11px}.office-card{padding:16px}.office-card .card-top{flex-direction:column}.office-status{max-width:100%}.forms-aside,.request-field-row{grid-template-columns:1fr}.form-request-card{padding:16px}.official-form-list li{align-items:flex-start;flex-direction:column}.official-form-actions{width:100%;align-items:center}.official-form-actions,.public-info-grid{grid-template-columns:1fr 1fr}.public-info-card{min-height:145px;padding:10px}.public-info-card>em{font-size:7.5px}.office-links,.official-actions,.public-info-list-bottom{align-items:flex-start;flex-direction:column}.office-links,.official-actions{gap:12px}.admin-request-edit{grid-template-columns:1fr}.admin-request-edit>.request-field,.admin-request-edit>.request-field:nth-child(2),.admin-request-edit>.request-field:nth-child(3){grid-column:auto}}.deadline-page{max-width:900px}.deadline-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin:18px 0}.deadline-filters,.deadline-languages{display:flex;gap:6px;flex-wrap:wrap}.deadline-filters button,.deadline-languages button{border:1px solid #d7dce5;border-radius:8px;background:#fff;color:#5f6674;padding:8px 10px;font-size:11px;font-weight:600;cursor:pointer}.deadline-filters button[aria-pressed=true],.deadline-languages button[aria-pressed=true]{background:#2455ff;border-color:#2455ff;color:white}.deadline-month-label{margin:20px 0 10px;font-size:12px;color:var(--muted-foreground)}.deadline-month-label strong{color:var(--ink)}.deadline-list{overflow:hidden;border:1px solid var(--line);border-radius:15px;background:white}.deadline-item{display:grid;grid-template-columns:155px minmax(0,1fr);gap:18px;padding:18px 20px;border-bottom:1px solid #d7dce5}.deadline-item:last-child{border:0}.deadline-date{display:flex;flex-direction:column;gap:5px}.deadline-date span{font-weight:600;font-size:14px;color:#2455ff}.deadline-date small{font-size:10px;color:#5f6674}.deadline-detail p{margin:7px 0;color:#5f6674;font-size:12px;line-height:1.55}.deadline-detail>small{color:#5f6674;font-size:10px}.deadline-title{display:flex;align-items:center;gap:9px}.deadline-title strong{padding:4px 7px;border-radius:6px;background:#eef2ff;color:#2455ff;font-size:11px}.deadline-title span{font-size:12px;font-weight:600}.deadline-source{display:flex;gap:18px;flex-wrap:wrap;align-items:center;margin:13px 2px;color:#5f6674;font-size:10px}.deadline-source a{color:var(--blue);font-weight:600}.deadline-disclaimer,.deadline-rule{max-width:780px;color:#5f6674;font-size:11px;line-height:1.65}.deadline-rule{margin:0 2px}.deadline-disclaimer{margin:16px 2px}.deadline-page .button{display:inline-block;margin:8px 0}.deadline-page .card{margin-top:16px}@media(max-width:620px){.deadline-item{grid-template-columns:1fr;gap:8px;padding:15px}.deadline-toolbar{align-items:flex-start;flex-direction:column}.deadline-source{gap:9px 14px}}.employment-deadlines{margin-top:22px!important}.employment-deadlines h2{margin:0 0 12px;font:800 16px Inter,system-ui,sans-serif}.employment-rule{padding:11px 0;border-bottom:1px solid #d7dce5}.employment-rule strong{font-size:12px}.employment-rule p{margin:6px 0 0;color:#5f6674;font-size:12px;line-height:1.55}.employment-deadlines .deadline-source{margin-bottom:0}.directory-page{max-width:980px}.directory-languages{display:flex;gap:5px}.directory-languages button{border:1px solid #d7dce5;border-radius:8px;background:#fff;color:#5f6674;padding:8px 10px;font-size:11px;font-weight:600;cursor:pointer}.directory-languages button[aria-pressed=true]{background:#2455ff;border-color:#2455ff;color:#fff}.directory-section{margin-top:30px}.directory-section .section-head{margin:0 0 12px}.directory-section .section-head h2{font-size:17px}.directory-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.directory-card{display:flex;align-items:flex-start;gap:12px;min-width:0;padding:15px;border:1px solid var(--line);border-radius:13px;background:#fff}.directory-icon{display:grid;place-items:center;flex:none;width:36px;height:36px;border-radius:10px;background:#eef2ff;color:var(--blue)}.directory-card-content{min-width:0;flex:1}.directory-card strong{display:block;font-size:12px}.directory-card p{margin:6px 0 0;color:#5f6674;font-size:12px;line-height:1.45}.directory-card a,.directory-card p a{color:#2455ff;font-weight:600}.directory-card a{font-size:11px}.directory-card .directory-call{display:grid;place-items:center;flex:none;width:32px;height:32px;border-radius:9px;background:#eef2ff;color:var(--blue)}.emergency-card{align-items:center;border-color:#eef2ff}.emergency-card>div{flex:1}.emergency-card>div>strong{font:800 24px Inter,system-ui,sans-serif;color:#2455ff}.emergency-card>div>p{margin:2px 0 6px}.directory-source{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:10px 2px 0;color:#5f6674;font-size:10px}.directory-source a{color:var(--blue);font-weight:600}.duty-card small{display:block;margin-top:9px;color:#5f6674;font-size:10px;line-height:1.45}.directory-note{align-items:center;background:#fff}.directory-note p{margin:0 0 8px;line-height:1.6}.directory-note a{display:inline-block}.directory-clinics{display:flex;flex-wrap:wrap;gap:7px 15px;margin-top:8px}.directory-clinics span{font-size:11px;color:#5f6674}.directory-clinics a{margin-left:4px;font-weight:600;color:#2455ff}@media(max-width:620px){.directory-page .page-heading{flex-direction:column;gap:10px}.directory-grid{grid-template-columns:1fr}.directory-source{gap:8px 12px}}.info-reportable{position:relative;padding-right:calc(var(--info-report-original-padding,12px) + 32px)!important}.info-report-slot{position:absolute;top:7px;right:7px;z-index:3;display:inline-flex;line-height:1;padding:0!important;margin:0!important;border:0!important;background:transparent!important;box-shadow:none!important;width:auto!important;min-width:0!important;height:auto!important}.info-report-button{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:1px solid #d7dce5;border-radius:8px;background:#fff;color:#5f6674;cursor:pointer;box-shadow:0 1px 3px #2021240a}.info-report-button:hover{color:#bf3e35;border-color:#df9c97;background:#fff5f4}.info-report-button:focus-visible{outline:3px solid #2455ff;outline-offset:2px}.info-report-button.reported{color:#16804f;border-color:#b5ddc9;background:#f1fbf6;cursor:default}.info-report-button:disabled:not(.reported){opacity:.7;cursor:wait}.info-report-toast{position:fixed;z-index:10000;bottom:80px;left:50%;transform:translateX(-50%);width:max-content;max-width:calc(100vw - 32px);padding:13px 18px;border-radius:12px;background:#202124;color:#fff;font-size:14px;line-height:1.5;box-shadow:0 8px 30px #20212433}.info-report-spin{animation:info-report-spin 1s linear infinite}@keyframes info-report-spin{to{transform:rotate(1turn)}}.info-reportable .info-reportable{padding-right:calc(var(--info-report-original-padding,12px) + 32px)!important}.report-link-card{position:relative}.report-link-card.info-reportable{padding-right:0!important}.report-link-card>a{display:block;height:100%}.report-link-card>.public-info-card{display:flex;height:100%;box-sizing:border-box}.report-link-card>.info-report-slot{top:7px;right:7px}.report-link-card>a{padding-right:42px}.airport-stop-report-item>button{width:100%}.airport-time-list>[data-report-id]{min-height:36px;padding-top:9px;padding-bottom:9px}.airport-time-list .info-report-slot{top:3px;right:3px}.information-report-admin{display:grid;gap:16px}.information-report-admin .report-snapshot{white-space:pre-wrap;overflow-wrap:anywhere;background:#eef2ff;border-radius:8px;padding:12px;font-size:13px;max-height:240px;overflow:auto}.information-report-admin .report-meta{display:flex;gap:14px;flex-wrap:wrap;margin:12px 0;font-size:13px}.information-report-admin .report-edit{display:grid;grid-template-columns:180px 1fr auto;gap:12px;align-items:end;margin-top:16px}@media(max-width:640px){.information-report-admin .report-edit{grid-template-columns:1fr}.info-report-button{width:30px;height:30px}}@media(prefers-reduced-motion:reduce){.info-report-spin{animation:none}}.today-overview{margin-top:22px;margin-bottom:22px;padding:20px;background:#fff;border:1px solid #d7dce5;border-radius:15px}.today-overview .section-head{margin:0 0 16px}.today-overview h2{font-size:22px}.today-overview h3{font-size:15px}.today-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.today-grid .card{margin:0}.today-grid p{font-size:14px;line-height:1.6}.today-value{font-size:36px}.today-grid a{display:inline-flex;margin:5px 10px 5px 0;color:#2455ff}.today-grid a.button{color:white}.today-grid small.helper{display:block}.daily-page{max-width:1080px}.daily-page h1{font-size:32px}.daily-page h2{font-size:21px}.daily-filters,.daily-shortcuts,.search-page-form{display:flex;flex-wrap:wrap;gap:14px;align-items:center;margin:18px 0}.daily-filters select,.search-page-form input{padding:12px;border:1px solid #d7dce5;border-radius:8px;background:#fff;color:#202124}.search-page-form input{flex:1;min-width:180px}.daily-shortcuts a{padding:10px 12px;background:#eef2ff;border-radius:8px;color:#2455ff;font-size:14px;font-weight:600}.notice-list{display:grid;gap:12px;margin:16px 0}.notice-card{padding:17px;border:1px solid #d7dce5;border-left:4px solid #2455ff;border-radius:9px;background:#eef2ff}.notice-card h3{font-size:16px;margin:10px 0}.notice-card p{font-size:14px;line-height:1.6;white-space:pre-line}.notice-card a{margin-right:16px;color:#2455ff;font-size:13px}.notice-earthquake,.notice-fire,.notice-flood{border-left-color:#df8a21}.notice-meta{display:flex;flex-wrap:wrap;gap:8px 18px;font-size:12px;color:#5f6674;margin-bottom:12px}.notice-disclaimer,.notice-empty{padding:14px;background:#eef2ff;border-radius:8px;color:#5f6674;font-size:13px;line-height:1.7}.notice-disclaimer a{font-weight:600;color:#b32b30}.coverage-list{background:white;border:1px solid #d7dce5;border-radius:12px;padding:10px 16px 10px 35px}.coverage-list li{padding:12px 0;border-bottom:1px solid #d7dce5;font-size:14px}.coverage-list li:last-child{border-bottom:0}.coverage-status{display:block;margin-top:5px;font-size:12px;color:#5f6674}.coverage-status.ready{color:#197b51}.coverage-status.partial{color:#9b6914}.preferences-form{margin:20px 0}.preferences-form fieldset{border:1px solid #d7dce5;border-radius:8px;margin:14px 0;padding:12px}.preference-check{display:inline-flex;align-items:center;gap:8px;margin:6px 18px 6px 0;font-size:14px}.preference-check input{width:17px;height:17px}.favorite-button{display:inline-flex;align-items:center;gap:6px;padding:9px 12px;border:1px solid #d7dce5;border-radius:8px;background:#fff;color:#2455ff;font-size:13px;font-weight:600;cursor:pointer}.favorite-button[aria-pressed=true]{background:#eef2ff}.favorite-control{display:inline-flex;flex-wrap:wrap;gap:8px;align-items:center}.favorite-control small{font-size:12px}.save-page-bar{max-width:1080px;margin:0 auto 20px;padding:0 20px}.favorite-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid #d7dce5}.favorite-row button{background:#eef2ff;border:1px solid #d7dce5;padding:7px;cursor:pointer;border-radius:6px;margin-left:5px}.favorite-row button:disabled{opacity:.4;cursor:default}.today-favorites{padding:15px;background:#eef2ff;border:1px solid #eef2ff;border-radius:10px;margin-bottom:18px}.today-favorites .favorites-list{display:flex;flex-wrap:wrap;gap:10px}.today-favorites .favorite-row{border:0;padding:8px 12px;background:#fff;border-radius:7px;font-size:14px}.place-detail-photo{height:300px;background-size:cover;background-position:50%;display:flex;flex-direction:column;justify-content:flex-end;padding:28px;border-radius:14px;color:#fff;background-color:#202124}.place-detail-photo h1{color:#fff;margin:8px 0}.review-notice{margin:14px 0}.authority-connection{border-left:4px solid #d99828}.search-results{display:grid;gap:12px}.search-results h2{font-size:19px}.search-results p{font-size:14px;color:#5f6674}.analytics-choice{margin-top:20px;padding-top:16px;border-top:1px solid #ffffff24}.analytics-choice button{color:#fff;background:none;border:1px solid #ffffff60;border-radius:6px;padding:7px 10px;font-size:12px;cursor:pointer}.analytics-choice small{display:block;max-width:620px;margin-top:8px;color:#bfcee5;font-size:11px;line-height:1.6}.topbar-inner .account-link{flex-shrink:0}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #80a8fa;outline-offset:3px}@media(max-width:760px){.today-grid{grid-template-columns:1fr}.today-overview{padding:15px}.today-overview h2{font-size:20px}.today-overview .section-head{align-items:flex-start;gap:8px}.today-favorites .favorites-list{display:block}.daily-page h1{font-size:27px}.place-detail-photo{height:230px;padding:20px}.daily-filters select{max-width:100%}.topbar-inner{gap:8px}.notice-meta{flex-direction:column}.favorites-list a{overflow-wrap:anywhere}}@media(max-width:1350px){.topbar{height:auto;min-height:70px}.topbar-inner{flex-wrap:wrap;gap:12px;padding:12px 0}.topbar-inner .nav{order:10;flex-basis:100%;justify-content:center;flex-wrap:wrap;gap:8px 18px}.topbar-inner .city-selector{margin-left:auto}.topbar-inner .language-selector{flex-shrink:0}.topbar-inner .account-link{display:grid}}@media(max-width:680px){.topbar-inner{gap:8px}.topbar-inner .brand{margin-right:auto}.topbar-inner .city-selector,.topbar-inner .language-selector{margin-left:0}.topbar-inner .nav{display:none}.topbar-inner .account-link{width:32px;height:32px}.topbar-inner .city-select-wrap select{max-width:85px}}.home-streamlined .portal-hero,.home-streamlined .portal-hero-inner{min-height:260px}.home-streamlined .portal-hero-inner{padding:30px 0}.home-streamlined .portal-hero-copy{max-width:740px;width:100%}.home-streamlined .portal-hero h1{font-size:38px;margin-top:10px}.home-streamlined .portal-hero .ask-bar{max-width:620px}.home-today{margin-top:18px;padding:17px}.home-today .section-head{margin-bottom:12px}.home-today .today-grid .card{display:flex;flex-direction:column;padding:14px;position:relative}.home-today h3{margin:0 0 9px}.home-today .today-grid p{font-size:12px;line-height:1.5;margin:6px 0 9px}.home-today .today-grid b{font-size:13px;line-height:1.5}.home-today-weather{display:flex;align-items:center;gap:12px}.home-today-weather strong{font-size:30px}.home-today .today-grid .home-today-action{margin-top:auto;padding-top:9px;font-size:12px;font-weight:600}.home-today-action:after{content:"";position:absolute;inset:0;border-radius:17px}.home-today .card:has(.home-today-action:hover){border-color:#aac4f6}.home-directory{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:18px}.home-directory-group{border:1px solid #d7dce5;border-radius:14px;padding:18px;background:#fff;scroll-margin-top:20px}.home-directory-group h2{font-size:19px;margin:0 0 14px}.home-service-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.home-service-link{display:flex;align-items:center;gap:10px;padding:12px 10px;border:1px solid #d7dce5;border-radius:9px;background:#fff;color:#202124;min-width:0;text-align:left;text-shadow:none;cursor:pointer}.home-service-link:hover{background:#eef2ff;border-color:#b4ccf8}.home-service-icon{color:#2455ff;display:grid;place-items:center;flex-shrink:0}.home-service-copy{display:flex;flex-direction:column;gap:4px;min-width:0;flex:1}.home-service-copy b{font-size:13px}.home-service-copy small{font-size:10px;line-height:1.4;color:#5f6674}.home-service-link>svg{color:#2455ff;flex-shrink:0}.home-service-link .coming-soon-badge{font-size:8px;padding:2px 4px}.home-service-link.coming-soon-trigger{position:relative;padding-bottom:20px}.home-service-link>.coming-soon-badge{position:absolute;bottom:4px;right:10px;top:auto}.home-official-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.footer-summary{display:flex;align-items:center;justify-content:space-between;gap:28px}.footer-summary p{max-width:560px;font-size:12px;color:#c4d2e8;line-height:1.6;margin-bottom:0}.footer-utility-links{display:flex;gap:20px;flex-wrap:wrap;font-size:12px}.footer-streamlined{padding:26px 0}.footer-streamlined .analytics-choice{margin-top:18px}.home-streamlined #today,.home-streamlined #tourism{scroll-margin-top:20px}@media(min-width:1150px){.topbar{height:70px}.topbar-inner{flex-wrap:nowrap;padding:0;gap:18px}.topbar-inner .nav{order:0;flex-basis:auto;gap:22px;flex-wrap:nowrap}.topbar-inner .nav a{font-size:13px}}@media(max-width:1000px){.home-directory{grid-template-columns:1fr}.home-service-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:680px){.home-streamlined .portal-hero,.home-streamlined .portal-hero-inner{min-height:260px}.home-streamlined .portal-hero-inner{padding:28px 0;justify-content:center;gap:0}.home-streamlined .portal-hero h1{font-size:31px}.home-today{padding:12px}.home-today .today-grid{gap:9px}.home-today .today-grid .card{padding:12px}.home-service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.home-directory{gap:12px;margin-top:12px}.home-directory-group{padding:13px}.home-service-link{gap:7px;padding:11px 8px}.home-service-copy b{font-size:12px}.home-official-grid{grid-template-columns:1fr}.footer-summary{align-items:flex-start;flex-direction:column;gap:18px}.footer-streamlined{padding-bottom:80px}.home-service-icon svg{width:21px}.home-service-link>svg{width:12px}}:root{--site-width:1200px;--page-gutter:24px;--page-space:32px;--card-space:20px;--section-gap:16px;--card-radius:14px;--site-font:"Inter",system-ui,sans-serif}body{font-family:var(--site-font);line-height:1.5}body :is(h1,h2,h3,h4,h5,h6,input,button,textarea,select,.brand,.card-value,.train-time strong,.bus-line-badge,.journey-clock strong,.holiday-overview-card>strong,.holiday-year){font-family:var(--site-font)}body h1{font-weight:600;line-height:1.18}body :is(h2,h3,h4){font-weight:600;line-height:1.35}body .brand-mark{font-family:Georgia,serif}body :is(.container,.portal-container,.topbar-inner){width:min(var(--site-width),calc(100% - var(--page-gutter)*2));margin-inline:auto}body main.page,body main.visit-page{padding:var(--page-space) 0 56px}body main.page>.container{max-width:var(--site-width)}body main.page :is(.forms-page,.offices-page,.public-updates-page,.events-page,.calendar-page,.daily-page){max-width:var(--site-width)}body .page-heading{margin:0 0 24px;gap:16px}body .page-heading h1{font-size:clamp(27px,3vw,36px);margin:0 0 10px}body .page-heading p{margin:0;line-height:1.65}body .page-heading>.source-badge{flex-shrink:0}body main.page :is(.card,.form-card,.form-request-card,.transit-planner,.road-status-card,.holiday-overview-card,.events-filter){padding:var(--card-space);border-radius:var(--card-radius)}body :is(.dashboard,.two-col,.forms-layout,.events-grid,.visit-grid,.road-info-grid,.today-grid){gap:var(--section-gap)}body main.page :is(input:not([type=checkbox]):not([type=radio]),select,textarea){border:1px solid #d7dce5;border-radius:9px;padding:10px 12px;min-height:44px;font-size:14px;color:var(--ink);background:#fff;max-width:100%}body main.page textarea{resize:vertical}body .button{min-height:44px;padding:10px 16px;border-radius:9px;font-size:14px}body main.page .section-head{gap:16px;flex-wrap:wrap}body .save-page-bar{width:min(var(--site-width),calc(100% - var(--page-gutter)*2));max-width:none;padding:0;margin:0 auto 24px}body .admin-layout{gap:24px}body .admin-side{align-self:start}body .admin-content .data-table td{white-space:normal;overflow-wrap:anywhere;min-width:110px}body .admin-content .data-table th{white-space:nowrap}body .admin-content .table-wrap{margin-bottom:24px}body .admin-content h3{margin:24px 0 12px}.footer-report{margin-top:20px;border-top:1px solid #ffffff24;padding-top:16px}.footer-report summary{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:14px;font-weight:500;list-style:none}.footer-report summary::-webkit-details-marker{display:none}.footer-report summary:after{content:"+";margin-left:auto;font-size:20px}.footer-report details[open] summary:after{content:"−"}.footer-report p{font-size:13px;color:#d7dce5;max-width:700px}.footer-report form{display:grid;gap:12px;max-width:700px}.footer-report label{display:grid;gap:6px;font-size:13px}.footer-report :is(input,textarea){width:100%;font-family:var(--site-font);padding:10px 12px;border:1px solid #d7dce5;border-radius:9px;min-height:44px;background:#fff;color:#202124;font-size:14px}.footer-report button{justify-self:start}.earthquake-yellow{border-left:5px solid #e5b500;background:#fffbed}.earthquake-red{border-left:5px solid #d93d35;background:#fff1ef}.quake-marker{display:inline-flex;align-items:center;gap:8px;font-weight:600}.quake-marker:before{content:"";width:12px;height:12px;flex-shrink:0;border-radius:50%;background:#e5b500}.earthquake-red .quake-marker:before{background:#d93d35}.earthquake-list{display:grid;gap:16px;margin:16px 0}.quake-legend{display:flex;gap:18px;flex-wrap:wrap;font-size:13px}.quake-red-key:before{background:#d93d35}.quake-metadata{display:flex;gap:12px 24px;flex-wrap:wrap;font-size:13px;color:#5f6674}.earthquake-card h3{margin:10px 0}.earthquake-card a{display:inline-flex;gap:6px;color:#2455ff;margin:12px 18px 0 0;font-size:14px}.admin-access-note{padding:20px;background:#fff8e6;border:1px solid #ead494;border-radius:14px;margin-bottom:24px}.admin-access-note a{margin:8px 12px 0 0;display:inline-flex}.admin-preview-disabled{opacity:.65}@media(max-width:680px){:root{--page-gutter:14px;--page-space:24px;--card-space:16px;--section-gap:12px}body main.page,body main.visit-page{padding-bottom:40px}body .page-heading{flex-direction:column;gap:12px;margin-bottom:20px}body .admin-layout{grid-template-columns:1fr}body .admin-side{flex-direction:row;overflow:auto}body .admin-side a{white-space:nowrap}body .page-heading h1{font-size:28px}.quake-metadata{flex-direction:column;gap:6px}}.submission-layout{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:var(--section-gap);align-items:start}.submission-fields{border:0;padding:0;margin:0;display:grid;gap:14px;min-width:0}.submission-fields:disabled{opacity:.65}.submission-consent{display:flex;align-items:flex-start;gap:10px;font-size:14px}.submission-consent input{flex:none;margin-top:5px}.submission-access{margin-bottom:20px}.submission-access a{margin-right:16px}.submission-history{display:grid;gap:16px}.submission-history article{padding-bottom:16px;border-bottom:1px solid #d7dce5}.submission-meta{display:flex;align-items:center;flex-wrap:wrap;gap:7px 12px;font-size:13px;color:#5f6674;margin:10px 0}.submission-description{white-space:pre-wrap;overflow-wrap:anywhere}.submission-review-note{background:#eef2ff;padding:12px;border-radius:9px;overflow-wrap:anywhere}.submission-kind{display:inline-block;border-radius:16px;background:#eef2ff;color:#2455ff;font-size:12px;padding:4px 10px}.submission-public-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--section-gap)}.submission-public-card{min-width:0}.submission-history h3,.submission-public-card h3{overflow-wrap:anywhere}.submission-public-card a{display:inline-flex;align-items:center;gap:5px;overflow-wrap:anywhere}.approved-submissions{margin:28px 0}.submission-filters{display:flex;flex-wrap:wrap;gap:16px;margin:16px 0}.submission-filters label{display:grid;gap:6px}.submission-admin-list{display:grid;gap:20px}.submission-admin-form{margin-top:20px}.submission-layout>.card{min-width:0}.submission-history p{overflow-wrap:anywhere}@media(max-width:680px){.submission-layout,.submission-public-grid{grid-template-columns:1fr}.submission-filters label{width:100%}.submission-access a{margin-top:10px}.submission-admin-form .two-col,.submission-layout .two-col{grid-template-columns:1fr}}.footer-report-fields{display:grid;gap:12px;border:0;padding:0;margin:0;min-width:0}.footer-report-choices{display:grid;grid-template-columns:1fr 1fr;gap:12px}.footer-report-choices label{min-width:0}.footer-report select{width:100%;max-width:100%;font-family:var(--site-font);padding:10px 12px;border:1px solid #d7dce5;border-radius:9px;min-height:44px;background:#fff;color:#202124;font-size:14px}.footer-report-fields:disabled{opacity:.65}.footer-report :is(select,textarea):focus-visible{outline:3px solid #86a7ff;outline-offset:2px}@media(max-width:680px){.footer-report-choices{grid-template-columns:1fr}}.city-request-prompt{margin:24px 0;background:#eef2ff;border-color:#eef2ff}.city-request-heading{display:flex;align-items:center;gap:10px;color:#202124}.city-request-heading svg{flex-shrink:0}.city-request-heading h2{margin:0}.city-request-prompt p{max-width:820px}.city-request-prompt .button{display:inline-flex;max-width:100%;white-space:normal;text-align:left}.city-request-prompt small{display:block;color:var(--muted-foreground)}.coverage-replies{display:grid;gap:12px;margin:18px 0}.coverage-replies article{padding:16px;border:1px solid var(--line);border-radius:12px}.coverage-replies h3{margin:10px 0}.coverage-replies .submission-review-note{white-space:pre-wrap;overflow-wrap:anywhere}.coverage-request-inbox>.button{margin-top:12px;white-space:normal}@media(max-width:640px){.city-request-prompt .button,.coverage-request-inbox>.button{width:100%;justify-content:center}.city-request-heading{align-items:flex-start}}