/* Zelai Web visual release. Presentation only. */
:root[data-theme]{--accent:var(--primary);--surface-2:#f2f6fa;--text-main:var(--text);--shadow:0 4px 24px #19354b05;--shadow-lg:0 16px 48px #18344f12;--font:Inter,-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;--dark-bg:#0b1423;--dark-panel:#122237;--dark-panel-solid:#122237;--dark-panel-deep:#193149;--dark-line:#294159;--dark-line-solid:#294159;--dark-green:#5ad5ec;--dark-green-bright:#99e6f3;--dark-text:#e1ebf5;--dark-sub:#b1c2d5}
:root[data-theme=dark]{--surface-2:#192d43;--shadow:0 4px 24px #00000012;--shadow-lg:0 16px 48px #0004}
html[data-theme] body{font-family:var(--font);font-size:14px;line-height:1.6}
[data-theme] :is(.topbar,.wb-header,.fm-topbar){box-shadow:none;border-bottom:1px solid var(--border)}
[data-theme] .brand .logo{background:var(--green-bg);border:1px solid var(--border);border-radius:12px}
[data-theme] .brand .logo svg{stroke:var(--primary)}
[data-theme] .brand-text .title{font-size:18px;letter-spacing:.02em;font-weight:700}
[data-theme] .brand-text .subtitle{font-size:11px;letter-spacing:.1em;margin-top:4px}
[data-theme] .navbar{padding-top:12px;scrollbar-width:thin;scrollbar-color:var(--border) transparent}
[data-theme] .nav-group-title{background:transparent;border-left:0;padding:12px 20px 5px;margin-top:8px;font-size:11px;color:var(--text-muted);font-weight:600}
[data-theme] .nav-item{transition:background .16s,color .16s;line-height:1.5}
[data-theme] .nav-item.active{box-shadow:none;border:1px solid color-mix(in srgb,var(--primary) 24%,transparent);padding:9px 11px}
[data-theme] .container{padding:28px 28px 88px}
[data-theme] .card-title{font-size:16px;letter-spacing:.01em;font-weight:650}
[data-theme] .card{padding:22px;border-radius:14px}
[data-theme] .metric-card{border:1px solid var(--border);position:relative;overflow:hidden}
[data-theme] .metric-card .value{font-size:32px;font-weight:650;letter-spacing:-1px;font-variant-numeric:tabular-nums;line-height:1.2}
[data-theme] .metric-card .label{font-size:12px;color:var(--text-sub)}
[data-theme] .metric-card .icon{border:1px solid var(--border);background:var(--surface-2)!important;border-radius:10px}
[data-theme] .metric-card .icon svg{stroke:var(--primary)}
[data-theme] :is(.side-feature-card,.chart-card,.stat-card,.chart-box,.fm-stat,.fm-topbar,.fm-side,.fm-user-menu){background:var(--surface);border-color:var(--border);color:var(--text)}
[data-theme] .btn-new{background:var(--action);color:white;border:1px solid var(--action);font-size:13px;white-space:nowrap;min-height:36px}
[data-theme] :is(.btn-primary,.submit-btn):hover:not(:disabled){background:#086b83;color:#fff}
[data-theme] .btn-danger{background:var(--surface);color:var(--red);border-color:var(--red)}
[data-theme] :is(.table-wrap,.ui-table-scroll){border-color:var(--border)}
[data-theme] :is(th,td){font-size:13px;line-height:1.6}
[data-theme] th{background:var(--surface-2);color:var(--text-sub);padding-block:12px}
[data-theme] td{padding-block:14px}
[data-theme] .search-box{border-radius:9px;border-color:var(--border);background:var(--surface-2)}
[data-theme] :is(.tabs,.tab-bar){border-color:var(--border)}
[data-theme] :is(.empty-state,.wb-empty){padding:40px 20px;color:var(--text-sub)}
[data-theme] :is(.chip.ghost,.wb-link-farm){background:var(--surface-2);color:var(--text-sub);border-color:var(--border)}
[data-theme] .wb-group h2{border-left-color:var(--primary);font-size:14px}
[data-theme] .wb-card:hover{border-color:var(--primary);box-shadow:var(--shadow-lg);transform:translateY(-2px)}
[data-theme] .appearance-control{font-size:11px;min-height:36px;padding:5px 9px;gap:4px;bottom:14px;left:14px;border-radius:9px;box-shadow:var(--shadow);z-index:90}
[data-theme] .appearance-control select{font-size:12px;min-height:24px;outline-offset:0;cursor:pointer}
[data-theme] .leaflet-control-layers,[data-theme] .leaflet-bar a,[data-theme] .leaflet-popup-content-wrapper,[data-theme] .leaflet-popup-tip{background:var(--surface);color:var(--text);border-color:var(--border)}
[data-theme] .leaflet-control-attribution{background:var(--surface);color:var(--text-sub)}
[data-theme] .leaflet-control-attribution a{color:var(--primary)}
[data-theme] .fm-main{min-width:0}
/* Authentication: editorial brand panel and restrained working form. */
[data-web-page=login] .auth-split{min-height:100dvh;--green:var(--primary);--green-dark:var(--text);--cream-1:var(--surface);--cream-2:var(--surface-2)}
[data-web-page=login] .brand-panel{flex:0 0 54%;align-items:stretch;justify-content:stretch;background:#0d2434!important;min-height:100dvh}
[data-web-page=login] .brand-panel::after{display:none}
[data-web-page=login] .brand-inner{width:100%;max-width:none!important;padding:48px 9% 36px!important;text-align:left;display:flex;flex-direction:column;justify-content:space-between;gap:48px}
.auth-identity{display:flex;align-items:center;gap:13px;color:#f1f8ff;font-size:18px;font-weight:600;letter-spacing:1px}
.auth-mark{width:42px;height:42px;display:grid;place-items:center;border:1px solid #46717e;border-radius:12px;background:#173b4b;color:#90dce6;flex:none}
.auth-mark svg{width:27px;height:27px}
.auth-identity small{display:block;color:#9bb8c8;font-size:9px;letter-spacing:2.6px;margin-top:3px;font-weight:400}
.auth-story{max-width:520px}
.auth-eyebrow{font-size:11px;letter-spacing:3px;color:#83c7d3;margin-bottom:20px}
.auth-story h1{font-size:clamp(32px,3.6vw,54px);font-weight:550;line-height:1.4;letter-spacing:1px;color:#f2f8ff;margin:0 0 22px}
.auth-story h1 span{color:#8ad5df}
.auth-story p{color:#b2c7d4;font-size:14px;line-height:1.9;max-width:370px}
.auth-landscape{width:100%;max-height:230px;margin-top:32px;opacity:.9}
.auth-bottom{border-top:1px solid #ffffff21;padding-top:22px;display:flex;gap:24px;flex-wrap:wrap;color:#acc4d2;font-size:12px}
.auth-bottom span{display:flex;align-items:center;gap:8px}
.auth-bottom i{width:5px;height:5px;background:#84d4df;border-radius:50%;display:inline-block}
[data-web-page=login] .form-panel{background:var(--page-bg);padding:64px 7%!important}
[data-web-page=login] .form-card{max-width:390px}
.auth-welcome{margin-bottom:32px}
.auth-welcome .auth-kicker{font-size:10px;letter-spacing:2.5px;color:var(--primary);margin-bottom:10px}
.auth-welcome h2{font-size:28px;line-height:1.4;letter-spacing:0;font-weight:650;margin:0 0 10px;color:var(--text)}
.auth-welcome p{font-size:13px;color:var(--text-sub);line-height:1.8}
[data-web-page=login] .tabs{gap:0;margin-bottom:26px;border-bottom:1px solid var(--border)}
[data-web-page=login] .tab{font-size:14px;font-weight:500;border-radius:0;padding:13px 0;min-height:45px;color:var(--text-sub)}
[data-web-page=login] .tab.active{color:var(--primary);border-bottom-color:var(--primary);font-weight:650}
[data-web-page=login] .form-group{margin-bottom:20px}
[data-web-page=login] .form-group label{font-size:12px;margin-bottom:8px}
[data-web-page=login] .form-group input,[data-web-page=login] .form-group select{min-height:46px;border:1px solid var(--border);border-radius:9px;background:var(--surface);font-size:14px;padding:11px 13px}
[data-web-page=login] .form-group input:focus{border-color:var(--primary);box-shadow:var(--ring)}
[data-web-page=login] .captcha-row{align-items:center;gap:12px}
[data-web-page=login] .captcha-canvas{border-color:var(--border);border-radius:9px;align-self:center;margin-top:5px;background:#f1f5f9}
[data-web-page=login] .login-util{font-size:12px;margin-bottom:20px}
[data-web-page=login] .submit-btn{font-size:14px;min-height:46px;border-radius:9px;letter-spacing:2px}
.auth-footer{margin-top:26px;padding-top:20px;border-top:1px solid var(--border);font-size:11px;line-height:1.8;color:var(--text-muted)}
[data-web-page=login] .switchbar{background:var(--surface-2);border-color:var(--border)}
[data-web-page=login] .switchbar .sb-text{color:var(--text)}
[data-web-page=login] .switchbar .sb-hint{color:var(--text-sub)}
[data-web-page=login] .appearance-control{left:auto;right:20px;top:18px;bottom:auto}
@media(min-width:981px) and (max-width:1500px){[data-theme] .topbar .actions{gap:6px}[data-theme] .topbar .feedback-btn{padding-inline:8px}[data-theme] .topbar .user-meta{max-width:90px}[data-theme] .topbar .user-meta .name{max-width:90px;overflow:hidden;text-overflow:ellipsis}[data-theme] .topbar .search-box{max-width:180px}[data-theme] .topbar .brand-text .title{font-size:16px}}
@media(max-width:980px){[data-web-page=login] .brand-panel{flex-basis:48%}[data-web-page=login] .brand-inner{padding:36px 28px!important}[data-web-page=login] .form-panel{padding:60px 32px 44px!important}.auth-story h1{font-size:34px}.auth-bottom{gap:16px}.auth-landscape{max-height:180px}}
@media(max-width:860px){[data-web-page=login] .auth-split{flex-direction:column}[data-web-page=login] .brand-panel{min-height:auto;padding:0}[data-web-page=login] .brand-inner{padding:28px 26px!important;gap:28px}.auth-story h1{font-size:30px;margin-bottom:12px}.auth-story h1 br{display:none}.auth-story p{font-size:12px}.auth-landscape,.auth-bottom,.auth-eyebrow{display:none}[data-web-page=login] .form-panel{padding:32px 24px 50px!important}.auth-welcome{margin-bottom:18px}.auth-welcome h2{font-size:24px}.auth-identity{font-size:16px}[data-web-page=login] .appearance-control{position:absolute;top:26px;right:20px;background:#173b4b;color:#ecf6ff;border-color:#46717e}[data-web-page=login] .appearance-control select{background:#173b4b;color:#ecf6ff}[data-web-page=login] .appearance-control>span{display:none}}
@media(max-width:600px){[data-theme] .container{padding:18px 12px 76px;margin-left:0}[data-theme] .metrics-row{grid-template-columns:repeat(2,minmax(0,1fr))}[data-theme] .card{padding:16px}[data-theme] .metric-card .value{font-size:26px}[data-theme] .topbar .user-meta,[data-theme] .topbar .chevron{display:none}[data-theme] .topbar .btn-new{font-size:12px;padding:6px 10px}[data-theme] .topbar .search-box{display:none}.auth-story h1{font-size:28px}.auth-identity small{font-size:8px;letter-spacing:1.6px}}

[data-theme] .metrics-row .metric-card .value.warn,[data-theme] .lj-stat-row .metric-card .value.warn{color:var(--warn)}
[data-theme] .lj-stat-row .metric-card .value.info{color:var(--text)}
[data-theme] .metrics-row .metric-card .value.danger,[data-theme] .lj-stat-row .metric-card .value.danger{color:var(--red)}
[data-theme] .access-stat-card{background:var(--surface);border-radius:12px;padding:18px;text-align:left;min-width:0}
[data-theme] .access-stat-card .num{font-size:27px;font-weight:650;color:var(--text);font-variant-numeric:tabular-nums}
[data-theme] .access-stat-card .lbl{margin-top:8px;font-size:12px}
[data-theme] .access-stat-row{gap:12px}
[data-theme] #pk-cards{grid-template-columns:repeat(3,minmax(0,1fr))}
[data-theme] #pk-missing{color:var(--warn)!important;background:var(--surface-2);padding:12px 14px;border:1px solid var(--border);border-radius:8px;margin:12px 0!important}
[data-theme] :is(.v2-tabs,.v2-tab){border-color:var(--border);color:var(--text-sub)}
[data-theme] .v2-tab.active{color:var(--primary);border-bottom-color:var(--primary)}
.visual-page-header{margin-bottom:22px;display:flex;flex-direction:column;gap:6px}
.visual-page-header .visual-eyebrow{color:var(--primary);font-size:10px;letter-spacing:2px;font-weight:600}
.visual-page-header h1{font-size:25px;line-height:1.4;font-weight:650;color:var(--text);margin:0}
.visual-page-header p{color:var(--text-sub);font-size:12px;margin:0}
[data-theme] #regionSwitcher :is(.region-badge,.region-locked){background:var(--surface-2);border-color:var(--border);color:var(--text-sub)}
@media(min-width:861px) and (max-height:760px){[data-web-page=login] .form-panel{padding:28px 7%!important}[data-web-page=login] .brand-inner{padding-top:32px!important;padding-bottom:24px!important;gap:24px}.auth-landscape{max-height:150px;margin-top:16px}.auth-story h1{font-size:38px}.auth-eyebrow{margin-bottom:14px}.auth-welcome{margin-bottom:20px}.auth-welcome h2{font-size:26px}.auth-welcome .auth-kicker{margin-bottom:6px}[data-web-page=login] .tabs{margin-bottom:20px}[data-web-page=login] .form-group{margin-bottom:14px}[data-web-page=login] .form-group input{min-height:42px}.auth-bottom{padding-top:16px}}
@media(max-width:600px){[data-theme] #pk-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.visual-page-header{margin-bottom:18px}.visual-page-header h1{font-size:22px}[data-theme] .access-stat-card{padding:14px}.ui-table-scroll{width:100%}}

[data-web-page=login] .appearance-control{left:auto!important;bottom:auto!important;right:20px!important;top:18px;width:auto;height:auto}
@media(max-width:600px){
 [data-theme] .metrics-row .metric-card,[data-theme] .lj-stat-row .metric-card{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:8px;padding:16px;min-height:112px;min-width:0}
 [data-theme] .metrics-row .metric-card .icon,[data-theme] .lj-stat-row .metric-card .icon{display:none}
 [data-theme] .metrics-row .metric-card .value,[data-theme] .lj-stat-row .metric-card .value{font-size:26px;line-height:1.2;width:100%;overflow:visible;text-overflow:clip;white-space:normal;overflow-wrap:anywhere;align-self:auto}
 [data-theme] .metrics-row .metric-card .label,[data-theme] .lj-stat-row .metric-card .label{font-size:11px;line-height:1.6;white-space:normal;overflow:visible;text-overflow:clip}
 [data-theme] .lj-stat-row{grid-template-columns:repeat(2,minmax(0,1fr))}
 [data-theme] .dashboard-charts{grid-template-columns:minmax(0,1fr)!important}
 [data-theme] #view-dashboard [style*="grid-template-columns"],[data-theme] #view-v2park [style*="grid-template-columns"]{grid-template-columns:minmax(0,1fr)!important}
 [data-theme] #view-dashboard [style*="min-width:60px"]{min-width:0!important}
 [data-web-page=login] .appearance-control{top:26px}
}

[data-theme] .ui-table-scroll table{min-width:720px}
[data-theme] #view-users .ui-table-scroll table{min-width:980px}
[data-theme] .ui-table-scroll :is(button,.status-tag,.role-tag){white-space:nowrap}
[data-theme] button[style*="color:#e53935"]{color:var(--red)!important}
[data-theme] .nav-item.active{background:var(--green-bg)!important;color:var(--primary)!important}

/* Long real jurisdiction names and large metric values. */
[data-theme] .topbar #regionSwitcher{min-width:0;flex-shrink:1}
[data-theme] .topbar .rs-locked{max-width:240px;min-width:0;background:var(--surface-2);color:var(--text-sub);border-color:var(--border)}
[data-theme] .topbar .rs-locked span{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
[data-theme] .topbar .rs-locked svg{flex-shrink:0}
[data-theme] .metrics-row .metric-card .value{white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere}
@media(min-width:601px) and (max-width:1200px){
 [data-theme] .metrics-row{grid-template-columns:repeat(2,minmax(0,1fr))}
 [data-theme] .topbar .actions .feedback-btn{display:none}
 [data-theme] .topbar .user-meta{display:none}
 [data-theme] .topbar .search-box{max-width:140px;min-width:70px}
 [data-theme] .topbar .rs-locked{max-width:180px}
 [data-theme] .topbar .actions{gap:6px}
 [data-theme] .topbar{gap:10px}
 [data-theme] .topbar .brand-text .title{font-size:16px}
}
@media(min-width:1201px) and (max-width:1550px){[data-theme] .topbar .actions a[href="/apidoc.html"]{display:none}[data-theme] .topbar .rs-locked{max-width:200px}}
