html[data-front-theme]{--city-ink:var(--front-ink);--city-muted:var(--front-muted);--city-paper:var(--front-bg);--city-line:var(--front-line);--city-accent:var(--front-accent);--city-soft:color-mix(in srgb,var(--front-bg) 65%,var(--front-line));--front-on-accent:#fff;color-scheme:light}
html[data-front-mode="dark"]{color-scheme:dark;--front-on-accent:var(--front-bg)}
.frontend-beta{background:var(--front-bg);color:var(--front-ink)}
.frontend-beta .beta-header-v2 .beta-nav-bar{background:#062d43}
.frontend-beta .beta-header,.frontend-beta .beta-nav-panel,.frontend-beta .beta-service-card,.frontend-beta .beta-news-card{background:var(--front-surface);color:var(--front-ink);border-color:var(--front-line)}
.frontend-beta .beta-header-v2 .beta-header-tools,.frontend-beta .beta-header-v2 .beta-brand small{color:var(--front-muted)}
.frontend-beta .beta-account-area .beta-account-panel{background:var(--front-surface);color:var(--front-ink)}
.frontend-beta .beta-account-area .beta-account>summary,.frontend-beta .beta-account-identity,.frontend-beta .beta-account-panel .beta-account-work a{background:var(--city-soft);color:var(--front-ink);border-color:var(--front-line)}
.frontend-beta .beta-account-panel .beta-account-links a:hover,.frontend-beta .beta-nav-panel a:hover{background:var(--city-soft);color:inherit}
.frontend-beta .beta-account-avatar{background:var(--front-accent);color:var(--front-on-accent)}
.frontend-beta .beta-nav-panel .badge{background:var(--front-accent);color:var(--front-on-accent)}
.frontend-beta .beta-nav-panel .bg-danger{background:#a43736;color:#fff}
.frontend-beta .beta-button,.frontend-beta .beta-settings .settings-save-button{background:var(--front-accent);color:var(--front-on-accent)}
.frontend-beta .beta-button:hover,.frontend-beta .beta-settings .settings-save-button:hover{filter:brightness(.92)}
.frontend-beta .beta-carousel-copy .beta-button{background:#fff;color:#062d43;filter:none}
.frontend-beta .beta-notice,.frontend-beta .beta-news-section,.frontend-beta .beta-government-section{background:var(--city-soft);border-color:var(--front-line)}
.frontend-beta .beta-news-bottom,.frontend-beta .beta-account-footer,.frontend-beta .beta-account-work,.frontend-beta .beta-account-identity{border-color:var(--front-line)}
.frontend-beta .beta-settings-panel{background:var(--front-surface);border-color:var(--front-line)}
.frontend-beta .beta-settings-profile,.frontend-beta .beta-settings .settings-notification,.frontend-beta .beta-settings .settings-save{background:var(--city-soft);border-color:var(--front-line)}
.frontend-beta .beta-settings .settings-avatar{background:var(--front-accent);color:var(--front-on-accent)}
.frontend-beta .beta-settings-character,.frontend-beta .beta-settings-profile nav a:hover{background:var(--front-bg);color:var(--front-accent)}
.frontend-beta .beta-settings .form-control,.frontend-beta .beta-settings .form-select,.frontend-beta .beta-settings .select2-container--default .select2-selection--single{background:var(--front-bg);color:var(--front-ink);border-color:var(--front-line)}
.frontend-beta .beta-settings .select2-container--default .select2-selection--single .select2-selection__rendered{color:var(--front-ink)}
.frontend-beta .select2-dropdown,.frontend-beta .select2-container--default .select2-search--dropdown .select2-search__field{background:var(--front-surface);color:var(--front-ink);border-color:var(--front-line)}
.frontend-beta .select2-container--default .select2-results__option[aria-selected="true"]{background:var(--city-soft)}
.frontend-beta .select2-container--default .select2-results__option--highlighted[aria-selected]{background:var(--front-accent);color:var(--front-on-accent)}
.frontend-beta .beta-settings .form-control:focus,.frontend-beta .beta-settings .form-select:focus{outline-color:var(--front-accent)}
.frontend-beta .beta-settings .form-check-input:checked{background:var(--front-accent);border-color:var(--front-accent)}
.front-theme-preview{display:flex;align-items:center;gap:18px;margin-top:18px;flex-wrap:wrap}.front-theme-preview>div{display:flex;gap:5px}.front-theme-preview>div>span{width:27px;height:27px;border:1px solid var(--front-line);border-radius:7px}.front-theme-preview p{margin:0}
@media(max-width:1100px){.frontend-beta .beta-header-v2 .beta-nav-bar,.frontend-beta .beta-header-v2 .beta-navigation{background:var(--front-surface)}.frontend-beta .beta-header-v2 .beta-navigation>a,.frontend-beta .beta-header-v2 .beta-mega-menu>summary{color:var(--front-ink)}.frontend-beta .beta-header-v2 .beta-mega-panel{background:transparent}.frontend-beta .beta-header-v2 .beta-mega-panel a:hover{background:var(--city-soft)}}
html[data-front-mode="dark"] .beta-settings .alert-success{background:#18382a;color:#c4ead2;border-color:#3a7252}
html[data-front-mode="dark"] .beta-settings .alert-danger{background:#3d2027;color:#f7c6cf;border-color:#7c3f4b}

/* Theme the shared navigation and footer as well as page surfaces. */
html[data-front-theme]{--front-chrome:color-mix(in srgb,var(--front-accent) 28%,#101820);--front-chrome-ink:#f2f5f8;--front-chrome-muted:#d0dce5}
html[data-front-mode="dark"]{--front-chrome:var(--front-surface);--front-chrome-ink:var(--front-ink);--front-chrome-muted:var(--front-muted)}
html[data-front-theme="default"]{--front-chrome:#062d43}
.frontend-beta .beta-header-v2 .beta-nav-bar,.frontend-beta .beta-footer{background:var(--front-chrome);color:var(--front-chrome-ink)}
.frontend-beta .beta-header-v2 .beta-navigation>a,.frontend-beta .beta-header-v2 .beta-mega-menu>summary{color:var(--front-chrome-ink)}
.frontend-beta .beta-header-v2 .beta-nav-help{color:var(--front-chrome-muted)!important}
.frontend-beta .beta-footer-grid>div>p,.frontend-beta .beta-footer-grid>div>a:not(.beta-brand),.frontend-beta .beta-footer-bottom{color:var(--front-chrome-muted)}
.frontend-beta .beta-footer h2{color:var(--front-chrome-ink)}
.frontend-beta .beta-footer-bottom{border-color:color-mix(in srgb,var(--front-chrome-ink) 18%,transparent)}
html[data-front-theme="christmas"]{--front-chrome:#174c37;--front-chrome-ink:#fff7e7;--front-chrome-muted:#e0e9dd}
html[data-front-theme="halloween"] .frontend-beta :is(.beta-button,.settings-save-button){background:linear-gradient(135deg,#ffb35c,#f28a35);color:#241322;border-color:#ffb35c;box-shadow:0 3px 14px #f28a3526}
html[data-front-theme="halloween"] .frontend-beta :is(.beta-button,.settings-save-button)::before{content:"";display:inline-block;width:1.3em;height:1.3em;margin-inline-end:.45em;vertical-align:-.25em;background:url('../images/beta-pumpkin.svg') center/contain no-repeat;flex-shrink:0}
html[data-front-theme="christmas"] .frontend-beta :is(.beta-button,.settings-save-button){border:3px solid transparent;background:linear-gradient(#a52136,#a52136) padding-box,repeating-linear-gradient(135deg,#fffefa 0 6px,#a52136 6px 12px) border-box;color:#fffefa;border-radius:9px}
@media(max-width:1100px){.frontend-beta .beta-header-v2 .beta-nav-bar,.frontend-beta .beta-header-v2 .beta-navigation{background:var(--front-surface)}.frontend-beta .beta-header-v2 .beta-navigation>a,.frontend-beta .beta-header-v2 .beta-mega-menu>summary{color:var(--front-ink)}.frontend-beta .beta-header-v2 .beta-nav-help{color:var(--front-muted)!important}}

html[data-front-theme="halloween"] .frontend-beta .beta-button{gap:10px}.frontend-beta .beta-header-v2 .beta-home-link{box-shadow:inset 0 -3px 0 var(--front-accent)}

/* Reuse the backend's galaxy starfields and Christmas snowfall. */
html[data-front-theme="galaxy"] .frontend-beta{background-image:radial-gradient(1px 1px at 24px 38px,#e2e6ff99 95%,transparent),radial-gradient(1px 1px at 108px 92px,#accfff66 95%,transparent),radial-gradient(1.5px 1.5px at 190px 164px,#e8d7ff88 95%,transparent),radial-gradient(ellipse at 12% 14%,#773abf38,transparent 48%),radial-gradient(ellipse at 92% 52%,#226ba52e,transparent 50%);background-size:233px 211px,347px 307px,487px 419px,100% 100%,100% 100%}
html[data-front-theme="galaxy"] .frontend-beta .beta-header{background-image:radial-gradient(1px 1px at 42px 24px,#e8dcff99 95%,transparent),radial-gradient(ellipse at 78% 0%,#58378180,transparent 60%),linear-gradient(115deg,#11162d,#202144 65%,#16283d);background-size:173px 89px,100% 100%,100% 100%;box-shadow:inset 0 1px #a6c9ff20}
html[data-front-theme="galaxy"] .frontend-beta .beta-header-v2 .beta-nav-bar{background-image:linear-gradient(100deg,#141b34,#292046 65%,#17263b);border-bottom:1px solid #897acb66}
html[data-front-theme="galaxy"] .frontend-beta :is(.beta-settings-panel,.beta-service-card,.beta-news-card){background-image:linear-gradient(125deg,#202441,#171d34);box-shadow:0 10px 30px #03071830,inset 0 1px #d5c6ff0c}
html[data-front-theme="galaxy"] .frontend-beta :is(.beta-button,.settings-save-button){background:linear-gradient(110deg,#c6adff,#a8dfff);border-color:#c6b9fa;color:#151a30;box-shadow:0 3px 14px #ac91ff26}
html[data-front-theme="galaxy"] .frontend-beta .beta-footer{background-image:radial-gradient(1px 1px at 32px 20px,#c3ceff77 95%,transparent),linear-gradient(110deg,#141b32,#292040);background-size:193px 71px,100% 100%;border-top:1px solid #635686}
.front-snow,.front-snow-toggle{display:none}
html[data-front-theme="christmas"] .front-snow{display:block;position:fixed;inset:0;pointer-events:none;overflow:hidden;z-index:100}
html[data-front-theme="christmas"] .front-snow-toggle{display:inline-block}
.front-snow span{position:absolute;top:-12px;left:var(--snow-x);width:var(--snow-size);height:var(--snow-size);border-radius:50%;background:#fff;box-shadow:0 0 2px #5b897966;opacity:.75;animation:front-snowfall var(--snow-duration) linear infinite;animation-delay:var(--snow-delay);animation-play-state:paused}
html[data-front-theme="christmas"]:not([data-front-snow-paused="true"]) .front-snow span{animation-play-state:running}
.front-snow-toggle{border:1px solid #d4bd86;background:transparent;color:#fff5df;border-radius:6px;padding:5px 10px;font:inherit;cursor:pointer;white-space:nowrap}.front-snow-toggle:hover{background:#28634a}
@keyframes front-snowfall{from{transform:translate3d(0,-10px,0)}to{transform:translate3d(28px,calc(100vh + 24px),0)}}
@media(prefers-reduced-motion:reduce){html[data-front-theme="christmas"] .front-snow,html[data-front-theme="christmas"] .front-snow-toggle{display:none}.front-snow span{animation:none}}

.frontend-beta .beta-carousel{background:var(--front-chrome)}
.frontend-beta .beta-carousel-slide:before{background:linear-gradient(90deg,color-mix(in srgb,var(--front-chrome) 95%,transparent) 0%,color-mix(in srgb,var(--front-chrome) 81%,transparent) 42%,color-mix(in srgb,var(--front-chrome) 34%,transparent) 100%)}
.frontend-beta .beta-carousel-controls button{background:color-mix(in srgb,var(--front-chrome) 65%,transparent)}
.frontend-beta .beta-carousel-dots button{background:transparent}
@media(max-width:700px){.frontend-beta .beta-carousel-slide:before{background:linear-gradient(90deg,color-mix(in srgb,var(--front-chrome) 94%,transparent),color-mix(in srgb,var(--front-chrome) 72%,transparent))}}

@media(min-width:1101px){
 .frontend-beta .beta-mega-panel ul{gap:10px 14px;align-content:start}
 .frontend-beta .beta-mega-panel a{border:1px solid var(--front-line);background:color-mix(in srgb,var(--front-surface) 82%,var(--front-bg));border-radius:9px;padding:14px 16px;min-height:50px;align-items:center;font-weight:500;line-height:1.5}
 .frontend-beta .beta-mega-panel a:hover{background:var(--city-soft);border-color:var(--front-accent);color:var(--front-accent)}
 .frontend-beta .beta-mega-panel a>span{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--city-soft);color:var(--front-accent);font-size:13px;flex-shrink:0}
 .frontend-beta .beta-mega-panel a:focus-visible{outline:2px solid var(--front-accent);outline-offset:2px}
}

/* SweetAlert renders under body, outside page cards: keep the full popup on the active palette. */
html[data-front-theme] .frontend-beta .swal2-popup{--notice-surface:var(--front-surface);--notice-ink:var(--front-ink);--notice-muted:var(--front-muted);--notice-line:var(--front-line);--notice-bg:var(--front-bg);--notice-accent:var(--front-accent);--notice-on-accent:#fff;background:var(--notice-surface)!important;color:var(--notice-ink)!important;border:1px solid var(--notice-line);border-radius:14px;box-shadow:0 16px 55px #0003}
html[data-front-mode="dark"] .frontend-beta .swal2-popup{--notice-on-accent:var(--notice-bg)}
html[data-front-theme] .frontend-beta .swal2-popup .swal2-title{color:var(--notice-ink)!important}
html[data-front-theme] .frontend-beta .swal2-popup .swal2-html-container{color:var(--notice-ink)!important}
html[data-front-theme] .frontend-beta .swal2-popup .swal2-input-label{color:var(--notice-ink)!important}
html[data-front-theme] .frontend-beta .swal2-popup .swal2-footer{color:var(--notice-muted)!important;border-color:var(--notice-line)}
html[data-front-theme] .frontend-beta .swal2-popup .swal2-close{color:var(--notice-muted)!important}html[data-front-theme] .frontend-beta .swal2-popup .swal2-close:hover{color:var(--notice-ink)!important}
html[data-front-theme] .frontend-beta .swal2-popup :is(.swal2-input,.swal2-textarea,.swal2-select){background:var(--notice-bg)!important;color:var(--notice-ink)!important;border:1px solid var(--notice-line)!important;box-shadow:none}
html[data-front-theme] .frontend-beta .swal2-popup :is(.swal2-input,.swal2-textarea)::placeholder{color:var(--notice-muted)}
html[data-front-theme] .frontend-beta .swal2-popup .swal2-validation-message{background:var(--notice-bg)!important;color:var(--notice-ink)!important}
html[data-front-theme] .frontend-beta .swal2-popup .swal2-styled.swal2-confirm{background:var(--notice-accent)!important;color:var(--notice-on-accent)!important;border:1px solid var(--notice-accent);box-shadow:none}
html[data-front-theme] .frontend-beta .swal2-popup .swal2-styled.swal2-cancel{background:var(--notice-bg)!important;color:var(--notice-ink)!important;border:1px solid var(--notice-line);box-shadow:none}
html[data-front-theme] .frontend-beta .swal2-popup :is(.swal2-confirm,.swal2-cancel,.swal2-close):focus-visible{outline:2px solid var(--notice-accent);outline-offset:3px}
html[data-front-theme] .frontend-beta .swal2-popup .swal2-timer-progress-bar{background:var(--notice-accent)!important}
html[data-front-theme] .frontend-beta .swal2-popup :is(.swal2-success-circular-line-left,.swal2-success-circular-line-right,.swal2-success-fix){background:var(--notice-surface)!important}
html[data-front-theme] .frontend-beta .swal2-popup.swal2-toast{box-shadow:0 8px 30px #0003}
