/* UKWF main-site visual tokens, matched to rw-modern-theme on 28 October 2026. */
@font-face{font-family:'Open Sans';font-style:normal;font-weight:400;font-display:swap;src:url('fonts/open-sans-400.ttf') format('truetype')}
@font-face{font-family:'Open Sans';font-style:normal;font-weight:600;font-display:swap;src:url('fonts/open-sans-600.ttf') format('truetype')}
@font-face{font-family:'Open Sans';font-style:normal;font-weight:700;font-display:swap;src:url('fonts/open-sans-700.ttf') format('truetype')}
:root{--green:#1675b7;--green-dark:#105b8f;--navy:#132235;--muted:#637487;--border:#d9e4ee;--bg:#f7fbff}
body{font-family:'Open Sans',Arial,sans-serif;font-size:15px;line-height:1.5;color:#132235;background:#f7fbff}
button,input,select,textarea,label,th,td,.btn{font-family:'Open Sans',Arial,sans-serif}
h1,h2,h3,h4{font-family:'Open Sans',Arial,sans-serif;font-weight:600;letter-spacing:normal;color:#132235;line-height:1.3}
h1{font-size:30px}h2{font-size:22px}h3{font-size:18px}
p{line-height:1.5}.muted,small{color:#637487}.small,small{font-size:12px}
.card,.metric{border:1px solid #d9e4ee;border-radius:12px;background:#fff;box-shadow:0 3px 12px #133c6410}
.card{padding:20px 22px}.card-head{gap:12px;flex-wrap:wrap}.card-head h2{font-size:22px;font-weight:600}
.btn{font-size:14px;font-weight:600;line-height:1.4;min-height:42px;padding:10px 16px;border-radius:8px;border:1px solid #d9e4ee;background:#eef6fc;color:#105b8f;box-shadow:none;white-space:normal;text-align:center}
.btn.primary{background:linear-gradient(180deg,#27a0ef,#1675b7);border-color:#1680c8;color:#fff}
.btn.primary:hover{background:linear-gradient(180deg,#168bd8,#105b8f)}
.btn:hover{border-color:#1680c8;background-color:#e4f1fb}.btn.danger{color:#b42318;background:#fff1f0;border-color:#f2c2be}
.link,.nav-extra summary{color:#1675b7;font-weight:600;font-size:14px}
input,select,textarea{font-size:15px;line-height:1.5;border:1px solid #d4dfe9;border-radius:8px;color:#132235;background:#fff;min-width:0}
input:not([type=checkbox]):not([type=radio]):not([type=range]),select{min-height:42px}
label{font-size:14px;font-weight:600}input:focus,select:focus,textarea:focus{outline:2px solid #27a0ef;outline-offset:1px;border-color:#1680c8}
a:focus-visible,button:focus-visible{outline:3px solid #eaaa27;outline-offset:3px}
.nav a{font-size:14px;font-weight:600;border-radius:8px;margin:2px 8px;padding:11px 12px;color:#20364c}
.nav a.active,.nav a:hover{background:#eef6fc;color:#105b8f;border-color:#1675b7}
.brand strong{font-size:21px;font-weight:600;letter-spacing:normal}.brand small{font-size:11px}.brand img{object-fit:contain}
.topbar,.sidebar{background:#fff;border-color:#d9e4ee}.badge{background:#eef6fc;color:#105b8f}.bubble{background:#eef6fc;color:#1675b7}
.table-wrap{max-width:100%;overflow:auto}th{font-size:13px;font-weight:600;background:#f4f8fc}td{font-size:14px}.attention strong{font-weight:600;font-size:15px}.attention small{font-size:12px}
.login-page .login-card h1{font-size:28px;letter-spacing:normal}.login-page .login-card .btn{font-size:15px}.login-page .login-card label{font-size:14px}
.real-map{position:relative;z-index:0;min-height:320px;isolation:isolate}.real-map .leaflet-container,.leaflet-container{font-family:'Open Sans',Arial,sans-serif;font-size:13px}.real-map .maplibregl-canvas{max-width:none!important}.map-status{position:absolute;bottom:28px;left:12px;right:12px;z-index:800;background:#fff;padding:8px 12px;border:1px solid #d9e4ee;border-radius:8px;font-size:12px;pointer-events:none}
.leaflet-control-zoom a{min-height:30px}.leaflet-control-attribution{font-size:10px!important}.leaflet-control-layers input{min-height:0}
@media(max-width:1000px){.content{padding:20px}.card{padding:18px}h1{font-size:26px}}
@media(max-width:760px){body{font-size:15px}.content{padding:16px}.card{padding:16px}input,select,textarea{font-size:16px}.btn{min-height:44px}.heading{align-items:flex-start;gap:12px;flex-wrap:wrap}.heading .actions{flex-wrap:wrap}.form-grid{grid-template-columns:1fr}h2,.card-head h2{font-size:20px}.login-page .login-layout{padding:18px}}
@media print{.map-status{display:none}body{background:white}.card{box-shadow:none}}
.gm-site-weather{margin-bottom:24px;padding:26px;background:linear-gradient(125deg,#eef8ff 0%,#fff 65%);border-top:4px solid #1675b7}.gm-weather-heading,.gm-weather-overview{display:flex;justify-content:space-between;align-items:center;gap:20px}.gm-weather-kicker{color:#1675b7;font-size:11px;font-weight:700;letter-spacing:1.5px}.gm-weather-heading h2{font-size:28px;margin:5px 0}.gm-weather-heading p{margin:5px 0 18px}.gm-weather-select{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap}.gm-weather-select .site-picker{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px;flex:1}.gm-weather-select .site-picker label{flex:1;min-width:180px}.gm-weather-select .search-hint{flex-basis:100%}.gm-weather-select>label{min-width:170px}.gm-weather-overview{margin-top:20px}.gm-weather-overview h3{font-size:25px;margin:0}.gm-weather-temperature{font-size:64px;font-weight:600;line-height:1.1;color:#1675b7}.gm-weather-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:18px 0}.gm-weather-metrics>div{background:#fff;border:1px solid #d9e4ee;border-radius:10px;padding:14px}.gm-weather-metrics span{display:block;color:#637487;font-size:12px}.gm-weather-metrics strong{display:block;font-size:22px;margin-top:5px}.gm-weather-window{padding:14px 16px;background:#eef6fc;border-radius:8px;color:#105b8f;font-weight:600}.gm-weather-hours{display:flex;gap:8px;overflow:auto;margin:18px 0;padding-bottom:8px}.gm-weather-hour{min-width:112px;display:flex;flex-direction:column;gap:8px;padding:14px 10px;border:1px solid #d9e4ee;border-radius:10px;background:#fff;text-align:center}.gm-weather-hour b{font-size:24px}.gm-weather-hour span{font-size:12px}.gm-weather-hour small{font-size:10px}.gm-window-good{color:#087442}.gm-window-review{color:#9b5d00}@media(max-width:760px){.gm-site-weather{padding:16px}.gm-weather-heading{align-items:flex-start;flex-direction:column;gap:5px}.gm-weather-heading h2{font-size:24px}.gm-weather-select{margin-top:16px}.gm-weather-select .site-picker{flex-basis:100%}.gm-weather-metrics{gap:7px}.gm-weather-metrics>div{padding:10px}.gm-weather-metrics strong{font-size:17px}.gm-weather-temperature{font-size:48px}}

/* Supplied facilities logo: preserve its full aspect ratio. */
.login-card .login-logo{width:min(330px,100%);max-width:100%;height:auto;object-fit:contain}
