/* Shared typography: system font, no external font download. */
:root{--font-ui:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;--font-code:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-family:var(--font-ui);font-size:14px}
body,input,select,textarea,button{font-family:var(--font-ui)!important;font-size:14px;line-height:1.55}body{font-weight:400;-webkit-text-size-adjust:100%;text-size-adjust:100%}
h1,h2,h3{font-family:var(--font-ui);font-weight:650;line-height:1.3;letter-spacing:-.025em}h1{font-size:30px}h2{font-size:20px}h3{font-size:16px}
p{line-height:1.7}p.muted,.muted{font-size:13px!important;color:#64788b;line-height:1.65}small{font-size:12px;line-height:1.6}
label{font-size:13px!important;font-weight:500;line-height:1.5}button,.button{font-size:13px!important;line-height:1.4;font-weight:600;min-height:40px}input,select,textarea{font-size:14px!important;font-weight:400}input[type=checkbox]{min-height:0;vertical-align:middle;flex-shrink:0}input[type=number]{font-variant-numeric:tabular-nums}.row label{display:inline-flex;align-items:center;gap:7px;flex-wrap:wrap}
.eyebrow,.page-heading .eyebrow{font-size:11px!important;letter-spacing:.1em;font-weight:600}.page-heading h1{font-size:28px}.page-heading p{font-size:14px;line-height:1.6}.page-heading button{font-size:13px!important}.breadcrumb,.breadcrumb strong{font-size:13px}.breadcrumb{line-height:1.5}#sessionIdentity{font-size:13px!important}.pill,.tag{font-size:12px!important;font-weight:600;line-height:1.4}.avatar{font-size:13px}.nav-caption{font-size:11px;letter-spacing:.1em}.app-sidebar nav a{font-size:14px;font-weight:500;line-height:1.4}.side-sub{font-size:10px;letter-spacing:.12em}.side-bottom a,.side-site{font-size:13px}.side-site small,.side-version{font-size:11px}.side-site small{color:#99aabd}.side-version{color:#99aabd}.nav-caption{color:#97aabb}.side-bottom a{color:#aebecd}.side-brand{font-size:25px}.side-mark{font-size:32px}
.metric{min-width:0}.metric strong{font-size:28px;line-height:1.25;font-weight:650;font-variant-numeric:tabular-nums;letter-spacing:-.025em}.metric .muted{font-size:13px!important}.overview-values span,.overview-power span{font-size:13px;color:#64788b}.overview-values strong{font-size:18px;line-height:1.4}.overview-power strong{font-size:24px;line-height:1.35;font-variant-numeric:tabular-nums}.overview-shortcuts span{font-size:11px;letter-spacing:.08em}.overview-shortcuts h3{font-size:18px}.overview-shortcuts p{font-size:13px;line-height:1.65;color:#64788b}.overview-shortcuts b{font-size:13px}
#controlProfile,#controlStatus{font-size:18px!important;letter-spacing:0}#controlWeather,#liveClock{font-size:16px!important;letter-spacing:0}.notice,.note{font-size:13px;line-height:1.7}.chart-legend{font-size:13px;line-height:1.5}summary,.json-panel summary{font-size:14px;font-weight:600;line-height:1.5}.research-panel>summary{font-size:18px}pre{font-family:var(--font-code)!important;font-size:12px!important;line-height:1.65;letter-spacing:0;font-weight:400}textarea{line-height:1.6}svg text{font-family:var(--font-ui)}
table{font-family:var(--font-ui);font-size:13px!important;line-height:1.5;border-collapse:collapse}th{font-size:12px!important;letter-spacing:0;text-transform:none;font-weight:600;line-height:1.5;white-space:nowrap;background:#f2f5f8;color:#506579}td{font-size:13px;line-height:1.6;word-break:normal;overflow-wrap:normal;vertical-align:top;padding:13px 12px;font-variant-numeric:tabular-nums}th{padding:12px}td button{font-size:12px!important}.scroll{overflow-x:auto;max-width:100%;overscroll-behavior-x:contain}.scroll table{min-width:680px}#weatherBackfill,#weatherProviders{overflow-x:auto;max-width:100%;margin-top:16px;border:1px solid #e5ebf1;border-radius:10px}#weatherBackfill table{min-width:1350px;table-layout:auto}#weatherProviders table{min-width:1160px;table-layout:auto}#weatherBackfill td:not(:last-child),#weatherProviders td:not(:last-child){white-space:nowrap}#weatherBackfill td:last-child,#weatherProviders td:last-child{min-width:260px;max-width:380px;overflow-wrap:anywhere}#weatherBackfill td:first-child,#weatherProviders td:first-child{min-width:160px;font-weight:500}#weatherBackfill td:nth-child(2),#weatherBackfill td:nth-child(3){min-width:112px}#weatherBackfill td:nth-child(8){min-width:235px}#weatherProviders td:nth-child(4){min-width:175px}#weatherProviders td:nth-child(6){min-width:220px}#status{font-size:13px!important;line-height:1.6}.auth-card label{font-size:13px!important}.auth-card p{font-size:13px}.auth-card h2{font-size:24px}.auth-aside p{font-size:15px}.auth-aside h1{font-size:42px;line-height:1.2}.hero h1{font-size:clamp(36px,4vw,58px);letter-spacing:-.04em}.hero p{font-size:16px;line-height:1.75}.hero small{font-size:12px}#platform h2{font-size:20px}#platform p{font-size:14px;line-height:1.7;color:#64788b}.visual-caption{font-size:11px;letter-spacing:.08em}.visual-footer{font-size:12px}.footer{font-size:12px}.auth-card input{font-size:14px}.checks label{font-weight:400}.message{font-size:14px}
@media(max-width:760px){.page-heading h1{font-size:25px}.page-heading p{font-size:13px}.page-heading{flex-wrap:wrap}.topbar-right .pill{font-size:11px!important}.breadcrumb{font-size:12px}.overview-values strong{font-size:16px}.metric strong{font-size:25px}.auth-aside h1{font-size:32px}.hero h1{font-size:36px}.app-topbar{gap:8px}.metric .muted{font-size:12px!important}}

/* Consistent text metrics and data grid controls. */
.metric strong:not(#liveClock){overflow-wrap:normal;word-break:normal}.metric>strong{font-size:24px}.metric #controlModeLabel{font-size:22px}.metric #controlProfile,.metric #controlStatus,.metric #controlWeather{font-size:16px!important;line-height:1.5;letter-spacing:0;white-space:normal}.overview-values strong{font-size:16px;overflow-wrap:normal;word-break:normal}.metric{padding:20px}.metric>span,.metric>label{font-size:13px}.metric #liveBess{font-size:22px}.metric #liveClock{font-size:14px!important}h2{font-size:19px!important}h3{font-size:16px!important}.side-sub{line-height:1.5}.json-panel pre{font-size:12px!important}.table-host{overflow:visible!important;max-width:100%}.data-grid{min-width:0}.table-toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;padding:14px;background:#fff;border-bottom:1px solid #e5ebf1}.table-toolbar label{margin:0;display:flex;flex-direction:column;gap:6px;color:#64788b;font-size:12px!important}.table-search input{width:260px;max-width:100%;font-size:13px!important;min-height:36px}.table-size select{width:90px;min-height:36px;font-size:13px!important}.table-viewport{overflow-x:auto;max-width:100%;overscroll-behavior-x:contain}.table-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border-top:1px solid #e5ebf1;background:#fff}.table-info,.table-page{font-size:12px;color:#64788b;font-variant-numeric:tabular-nums}.table-pagination{display:flex;gap:10px;align-items:center}.table-pagination button{font-size:12px!important;min-height:32px;padding:7px 10px}.table-sort{font-size:12px!important;font-weight:600;line-height:1.5;min-height:30px;padding:0;background:transparent!important;box-shadow:none;color:#506579;white-space:nowrap;border-radius:3px}.sort-arrow{margin-left:8px;color:#96a8b9;font-size:12px}.table-empty{text-align:center;padding:24px;color:#7c8fa1}th[aria-sort=ascending] .sort-arrow,th[aria-sort=descending] .sort-arrow{color:#098c83}#weatherBackfill,#weatherProviders{overflow:visible}.data-grid .table-viewport table{min-width:680px}@media(max-width:760px){.table-toolbar,.table-footer{flex-wrap:wrap}.table-search{flex:1}.table-search input{width:100%}.table-pagination{margin-left:auto}.metric #controlStatus,.metric #controlProfile{font-size:15px!important}}

.app-sidebar nav{align-items:stretch!important;justify-content:flex-start!important;flex-wrap:nowrap!important;width:100%;gap:6px}.app-sidebar nav a{width:100%;justify-content:flex-start;text-align:left;flex-shrink:0}.app-sidebar nav svg{flex:0 0 18px;width:18px;height:18px}.side-bottom a.active{background:#153e45;color:#75e1ca;border-radius:7px;padding-left:10px}.app-sidebar{overflow-y:auto}.side-brand{flex-shrink:0}.side-bottom{flex-shrink:0}main>h1{font-size:28px;line-height:1.3}#accountPermissions{font-size:14px;line-height:1.8;padding-left:20px}.app-sidebar nav a:focus:not(:focus-visible){outline:none}

/* Action spacing shared by dashboard, administration and authentication pages. */
:root{--action-gap:12px}
.row,.actions,.tabbar,.detail-tools{column-gap:var(--action-gap);row-gap:var(--action-gap)}
.row,.actions{margin-block:14px;align-items:center}
.row>label{margin:0;max-width:100%;gap:8px}
.row>button,.actions>button,.row>.button,.actions>.button{max-width:100%;white-space:normal;overflow-wrap:anywhere;flex-shrink:0}
.row>input,.row>select,.row label>input,.row label>select{max-width:100%;min-width:0}
main textarea{display:block;margin-block:12px}
main form>button,main section>button,main details>button:not(.json-close),dialog form>button{margin-block:14px}
main details>input+input{margin-inline-start:12px}
main details>input{margin-block:8px;max-width:100%}
.row-title,.heading{gap:16px;flex-wrap:wrap}
.table-pagination{flex-wrap:wrap;gap:12px}
.response-test-actions{align-items:center}
@media(max-width:600px){
 .row,.actions{row-gap:14px}
 .row>label{flex-basis:100%;justify-content:flex-start}
 .row>input,.row>select{width:100%;min-width:0!important}
 main details>input{display:block;width:100%;min-width:0!important}
 main details>input+input{margin-inline-start:0}
 .table-footer,.table-toolbar{gap:14px}
}

/* Shared navigation across dashboard and management pages. */
.app-sidebar{display:flex!important;flex-direction:column!important;gap:0!important;overflow:hidden!important;padding:18px 14px!important;height:100dvh!important;top:0!important}.side-brand{margin:0 0 14px!important;min-height:44px;align-items:center!important;flex-shrink:0}.sidebar-scroll{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:#395264 transparent}.app-sidebar nav{display:flex!important;flex-direction:column!important;gap:4px!important;margin:0!important;align-items:stretch!important}.app-sidebar nav .nav-caption{margin:14px 10px 5px;padding:0;font-size:10px;line-height:1.5;letter-spacing:.1em;color:#93a9ba}.app-sidebar nav .nav-caption:first-child{margin-top:0}.app-sidebar nav a{display:flex!important;align-items:center!important;gap:11px!important;min-height:38px;padding:9px 11px!important;margin:0!important;border-radius:8px;font-size:13px!important;line-height:1.4!important;color:#b7c8d5;text-decoration:none;box-sizing:border-box}.app-sidebar nav a span{min-width:0;overflow-wrap:normal}.app-sidebar nav svg{width:18px!important;height:18px!important;flex:0 0 18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.app-sidebar nav a:hover{background:#173144;color:#edf7fb}.app-sidebar nav a.active{background:#153e45;color:#75e1ca;box-shadow:inset 3px 0 #34c7b0}.app-sidebar .side-bottom{margin-top:12px!important;padding-top:12px!important;border-top:1px solid #294050;flex:0 0 auto}.side-site{font-size:11px!important;line-height:1.5}.side-version{display:block;margin-top:6px;font-size:10px!important}@media(max-height:740px){.app-sidebar{padding-top:12px!important;padding-bottom:12px!important}.side-brand{margin-bottom:8px!important}.app-sidebar nav a{min-height:34px;padding-top:7px!important;padding-bottom:7px!important}.app-sidebar nav .nav-caption{margin-top:10px}}
