/* Shared components. This file is generated into both apps after their adapters.
   Native handlers, display/hidden state and specialized remote controls stay intact. */
body:is(.app-page,.nd-central-shell){font-family:var(--nd-font);font-size:var(--nd-font-size);color:var(--nd-ink);font-variant-numeric:tabular-nums}
body:is(.app-page,.nd-central-shell) :is(button,input,select,textarea){font-family:var(--nd-font);box-sizing:border-box}
body:is(.app-page,.nd-central-shell) :is(button,a,input,select,textarea,summary,[tabindex]):focus-visible{outline:3px solid var(--nd-focus)!important;outline-offset:3px!important}
body:is(.app-page,.nd-central-shell) :is(button,input[type=button],input[type=submit],.button,.btn){transition:background-color .15s,border-color .15s,color .15s}
body:is(.app-page,.nd-central-shell) :is(button,input,select,textarea):disabled{opacity:.55!important;cursor:not-allowed!important}
body:is(.app-page,.nd-central-shell) :is(input,textarea)[readonly]{background:#f4f7fb!important;color:var(--nd-muted)!important}
/* Keep the two markers together, independent of the length of the device name. */
.nd-quality-scores{display:flex;align-items:center;justify-content:flex-start;flex-wrap:nowrap;gap:8px;width:max-content;max-width:100%;margin:8px 0}
.nd-quality-scores .network-score{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;white-space:nowrap;margin:0!important;padding:4px 8px;border-radius:var(--nd-control-radius);font:500 12px/20px var(--nd-font);text-decoration:none}
.app-page td:has(>.nd-quality-scores){min-width:220px}
.app-page td>.nd-quality-scores+small{margin-top:8px}
body#body.nd-central-shell .nd-thumbnail .nd-quality-scores{justify-content:center;width:100%}
/* Forms: a shared field rhythm, with no changes to values or submit behavior. */
.app-page main form:not(.filters){display:grid;gap:16px;justify-items:start;margin:0 0 20px}
.app-page main form>label{width:100%;margin:0}
.app-page main form>select{width:100%;margin:0}
.app-page main form>input[type=hidden]{display:none}
.app-page main :is(input:not([type=checkbox]):not([type=radio]):not([type=hidden]):not([type=range]):not([type=file]):not([type=color]),select,textarea){min-height:var(--nd-control-height);border-radius:var(--nd-control-radius);border-color:var(--nd-control-border);font:400 14px/20px var(--nd-font)}
.app-page main :is(input,select,textarea):not(:disabled):not([readonly]):hover{border-color:#93a9c4}
.app-page main label{font:500 var(--nd-label-size)/1.6 var(--nd-font);color:#4b6482}
.app-page main label:has(>input:is([type=checkbox],[type=radio])){display:flex;align-items:flex-start;gap:10px;min-height:32px;padding:5px 0;cursor:pointer;font-size:13px;color:var(--nd-ink)}
body.app-page main input:is([type=checkbox],[type=radio]),body#body.nd-central-shell input:is([type=checkbox],[type=radio]):not([role=switch]){appearance:auto!important;display:inline-block!important;width:18px!important;height:18px!important;min-width:18px!important;min-height:18px!important;padding:0!important;margin:2px 0 0!important;flex:0 0 18px;vertical-align:middle;accent-color:var(--nd-navy);cursor:pointer}
body#body.nd-central-shell .form-check:has(>input:not([role=switch])){display:flex;align-items:center;gap:8px;padding-left:0!important;min-height:32px}
body#body.nd-central-shell .form-check input:not([role=switch]){float:none!important}
body#body.nd-central-shell .form-check label{margin:0!important;cursor:pointer}
/* Switches keep their native custom appearance, separate from checkboxes. */
body#body.nd-central-shell #nd-device-extras input[role=switch]{margin:0!important;outline-offset:3px}
.app-page main fieldset{width:100%;min-width:0;margin:0;padding:18px;border:1px solid var(--nd-border);border-radius:var(--nd-panel-radius);display:grid;gap:16px}
.app-page main legend{padding:0 8px;font-size:13px;font-weight:600;color:var(--nd-ink)}
.app-page main section>form+h2,.app-page main section>form+h3{margin-top:24px}
.app-page main section>h2{line-height:1.4}
.app-page main>p{max-width:100ch}
.app-page main .actions{display:flex;gap:8px;flex-wrap:wrap;width:100%}
.app-page main form.nd-policy-form{display:grid;grid-template-columns:minmax(170px,1fr) auto;gap:12px;align-items:end;width:100%;max-width:560px}
.app-page main form.nd-policy-form select{margin:0}
.app-page main .columns form>label,.app-page main .columns form>select{margin-bottom:0}
.app-page main pre{max-width:100%;max-height:360px;overflow:auto;padding:16px;border:1px solid var(--nd-border);border-radius:6px;background:#f5f7fb;font-size:12px;line-height:1.65;white-space:pre-wrap;overflow-wrap:anywhere}
.app-page main details{margin:16px 0}
.app-page main summary{cursor:pointer;font-size:13px;font-weight:600;color:var(--nd-control-ink);padding:10px 0}
.app-page main article:has(>p){padding:16px 0;border-top:1px solid var(--nd-border)}
.app-page main article:has(>p)>p{margin:0 0 8px}
/* Standard remote controls; compact desktop, thumbnail and view controls are excluded. */
body#body.nd-central-shell #column_l :where(button,input[type=button],input[type=submit],.btn):not(:where(.btn-close)):not(:where(#nd-remote-toolbar,#nd-device-extras,.nd-thumbnail-actions,#devListToolbarViewIcons) *){min-height:var(--nd-control-height)!important;padding:9px 15px!important;border-radius:var(--nd-control-radius)!important;border:1px solid var(--nd-control-border)!important;font:600 14px/20px var(--nd-font)!important;background:#fff!important;color:var(--nd-control-ink)!important;box-shadow:none!important;text-shadow:none!important}
body#body.nd-central-shell #column_l :where(button,input[type=button],input[type=submit],.btn):not(:where(.btn-close)):not(:where(#nd-remote-toolbar,#nd-device-extras,.nd-thumbnail-actions,#devListToolbarViewIcons) *):hover{background:var(--nd-control-hover)!important}
body#body.nd-central-shell #column_l #nd-create-group{background:var(--nd-yellow)!important;border-color:var(--nd-yellow)!important;color:#102c53!important}
body#body.nd-central-shell #column_l #nd-create-group:hover{background:var(--nd-yellow-hover)!important}
body#body.nd-central-shell #column_l .btn-danger{color:var(--nd-danger)!important;border-color:#e4bec5!important;background:#fff!important}
body#body.nd-central-shell #column_l .btn-success{color:var(--nd-success)!important;border-color:#bbd7c9!important;background:#e8f3ee!important}
/* Consistent panel, filter and dialog surfaces on every native section. */
body#body.nd-central-shell #column_l :is(#devListToolbarSpan,#p3 td.auto-style1){background:#fff!important;border:1px solid var(--nd-border)!important;border-radius:var(--nd-panel-radius)!important;padding:12px!important;margin:0 0 16px!important;height:auto!important}
body#body.nd-central-shell #devListToolbarSpan :is(#devListToolbar,#kvmListToolbar,#devListToolbarSize,#devListToolbarSort){gap:8px!important;align-items:center!important;flex-wrap:wrap}
body#body.nd-central-shell #devListToolbarSpan :is(input[type=text],input[type=search]){max-width:100%!important;min-width:150px}
body#body.nd-central-shell #p3 td.auto-style1>.d-flex{gap:8px;flex-wrap:wrap}
body#body.nd-central-shell #column_l :is(h1,h2,.fs-4){color:var(--nd-ink)!important;letter-spacing:-.5px}
body#body.nd-central-shell #column_l :is(.table,.table-hover){font:400 13px/1.6 var(--nd-font)!important;color:var(--nd-ink)!important}
body#body.nd-central-shell :is(.modal,dialog) :is(button:not(.btn-close),input[type=button],input[type=submit]){min-height:40px!important;padding:9px 15px!important;font:600 14px/20px var(--nd-font)!important;border-radius:var(--nd-control-radius)!important}
body#body.nd-central-shell .modal-footer{gap:8px!important}
body#body.nd-central-shell .modal-footer>button{margin:0!important}
body#body.nd-central-shell .modal-footer .btn-primary{background:var(--nd-yellow)!important;border-color:var(--nd-yellow)!important;color:#102c53!important}
body#body.nd-central-shell .modal-body :is(input:not([type=checkbox]):not([type=radio]):not([type=hidden]):not([type=range]):not([type=file]):not([type=color]),select,textarea):not(.form-floating>*){min-height:40px!important;font:400 14px/20px var(--nd-font)!important;border:1px solid var(--nd-control-border)!important;border-radius:var(--nd-control-radius)!important;color:var(--nd-ink)!important;background-color:#fff!important;padding:9px 11px!important}
body#body.nd-central-shell .modal-body :is(label,.form-label){font:500 12px/1.6 var(--nd-font)!important;color:var(--nd-muted)!important}
body#body.nd-central-shell .modal-body fieldset{min-width:0;border:1px solid var(--nd-border);border-radius:8px;padding:16px;margin:0 0 16px}
@media(max-width:700px){
 .app-page main form.nd-policy-form{grid-template-columns:minmax(0,1fr);max-width:none}
 .app-page main form.nd-policy-form button{justify-self:start}
 .app-page main .actions{row-gap:12px}
 .app-page main fieldset{padding:14px}
 body#body.nd-central-shell #devListToolbarSpan{display:flex;flex-wrap:wrap;gap:12px}
 body#body.nd-central-shell #devListToolbarSpan :is(#devListToolbar,#kvmListToolbar){width:100%;height:auto!important}
}
@media(prefers-reduced-motion:reduce){body:is(.app-page,.nd-central-shell) *{transition:none!important;scroll-behavior:auto!important}}
/* Compact controls have an explicit scope so the standard control rule cannot enlarge them. */
body#body.nd-central-shell #column_l #nd-remote-toolbar :is(button,input[type=button],select,summary){min-height:var(--nd-compact-height)!important;padding:6px 10px!important;font:500 12px/20px var(--nd-font)!important;border-radius:var(--nd-control-radius)!important}
body#body.nd-central-shell #column_l #nd-remote-toolbar .btn-group>button:first-child{border-radius:6px 0 0 6px!important}
body#body.nd-central-shell #column_l #nd-remote-toolbar .btn-group>.dropdown-toggle-split{border-radius:0 6px 6px 0!important}
body#body.nd-central-shell #column_l #nd-remote-toolbar :is(#connectbutton1,#autoconnectbutton1){background:var(--nd-yellow)!important;color:#102c53!important;border-color:var(--nd-yellow)!important}
body#body.nd-central-shell #column_l #nd-remote-toolbar #disconnectbutton1{background:#fff5f5!important;color:var(--nd-danger)!important;border-color:#e4bec5!important}
body#body.nd-central-shell #column_l #nd-device-extras>button{min-height:24px!important;padding:0!important}
body#body.nd-central-shell #column_l #devListToolbarViewIcons button{min-height:34px!important;min-width:34px!important;padding:5px!important;border-radius:6px!important}
body#body.nd-central-shell #column_l #devListToolbarViewIcons button:focus-visible{outline-offset:2px!important}
/* Native generic button selectors include :not(.btn-close); semantic states must outrank them. */
body#body.nd-central-shell #container #column_l #nd-create-group{background:var(--nd-yellow)!important;border-color:var(--nd-yellow)!important;color:#102c53!important}
body#body.nd-central-shell #container #column_l #nd-create-group:hover{background:var(--nd-yellow-hover)!important}
body#body.nd-central-shell #container #column_l .btn-danger{background:#fff!important;color:var(--nd-danger)!important;border-color:#e4bec5!important}
/* Device context: small return link, section label, readable name and quiet group. */
body#body.nd-central-shell #column_l .nd-device-heading{display:flex!important;gap:16px!important;align-items:center!important;flex-wrap:wrap!important;margin:0 0 18px!important;min-height:40px}
body#body.nd-central-shell #column_l .nd-device-heading>.fs-4{display:flex!important;align-items:baseline;flex-wrap:wrap;gap:6px 12px;min-width:0;font:600 18px/1.5 var(--nd-font)!important;letter-spacing:-.2px!important;color:var(--nd-ink)!important}
body#body.nd-central-shell #column_l .nd-device-heading>.fs-4>svg{display:none!important}
body#body.nd-central-shell #column_l .nd-device-section{font:500 12px/1.5 var(--nd-font);color:var(--nd-muted)}
body#body.nd-central-shell #column_l .nd-device-heading [id$=deviceName]{display:inline-flex;align-items:baseline;flex-wrap:wrap;gap:8px;min-width:0;white-space:normal;overflow-wrap:anywhere}
body#body.nd-central-shell #column_l .nd-device-heading .deviceGroupName{font:400 12px/1.5 var(--nd-font)!important;color:var(--nd-muted)!important}
body#body.nd-central-shell #column_l .nd-device-heading [id$=BackButton]>.nd-native-back{display:none!important}
body#body.nd-central-shell #container #column_l .nd-device-heading .nd-device-back{display:inline-flex;align-items:center;gap:5px;min-height:34px!important;padding:6px 8px!important;background:transparent!important;border-color:transparent!important;font:500 12px/20px var(--nd-font)!important;white-space:nowrap}
body#body.nd-central-shell #container #column_l .nd-device-heading .nd-device-back:hover{background:var(--nd-control-hover)!important}
body#body.nd-central-shell #column_l .nd-device-back>svg{width:16px;height:16px;flex:none}
body#body.nd-central-shell #column_l .nd-desktop-heading [id$=deviceName]>[role=button]{font-size:0!important;cursor:pointer}
body#body.nd-central-shell #column_l .nd-desktop-heading [id$=deviceName]>[role=button]>svg{font-size:13px!important;width:13px;height:13px}
/* Native details, terminal and files keep their information and use the same surfaces. */
body#body.nd-central-shell #p10info>table:first-child{background:#fff!important;border:1px solid var(--nd-border)!important;border-radius:8px;border-collapse:separate;border-spacing:0;padding:16px;font:400 13px/1.6 var(--nd-font)}
body#body.nd-central-shell #p10info>table:first-child td{padding:5px 8px;vertical-align:top}
body#body.nd-central-shell #p10info>table:first-child td:first-child{font-weight:500;color:var(--nd-muted)}
body#body.nd-central-shell #column_l :is(#p12toolbar,#p13toolbar){background:#fff!important;border:1px solid var(--nd-border)!important;border-radius:8px 8px 0 0!important;border-collapse:separate;border-spacing:0;padding:10px}
body#body.nd-central-shell #column_l :is(#p12toolbar,#p13toolbar) .btn-group> :is(button,input){border-radius:6px 0 0 6px!important}
body#body.nd-central-shell #column_l :is(#p12toolbar,#p13toolbar) .btn-group>.dropdown-toggle-split{border-radius:0 6px 6px 0!important;padding-left:8px!important;padding-right:8px!important}

body#body.nd-central-shell #p13toolbar #nd-file-command-row{white-space:normal!important;flex-wrap:wrap!important;overflow:visible!important;gap:12px!important;padding:12px 0 0!important}
body#body.nd-central-shell #p13toolbar #nd-file-command-row>div{flex-wrap:wrap!important;flex:1 1 auto!important;gap:6px!important;min-width:0}
body#body.nd-central-shell #p13toolbar #nd-file-command-row :is(input,button,select){min-height:34px!important;padding:6px 10px!important;font-size:12px!important}
body#body.nd-central-shell #p13toolbar #nd-file-command-row .btn-primary{background:#fff!important;border-color:var(--nd-control-border)!important;color:var(--nd-control-ink)!important}
body#body.nd-central-shell #p13toolbar #nd-file-command-row #p13DeleteFileButton{color:var(--nd-danger)!important;border-color:#e4bec5!important}
@media(max-width:700px){body#body.nd-central-shell #column_l .nd-device-heading{gap:8px!important}body#body.nd-central-shell #column_l .nd-device-heading>.fs-4{font-size:16px!important}body#body.nd-central-shell #p10info>table:first-child{padding:10px}body#body.nd-central-shell #p10info>table:first-child td{overflow-wrap:anywhere}}

body#body.nd-central-shell #column_l .nd-device-heading .deviceGroupName::before{content:"/";display:inline-block;margin-right:8px;color:#93a9c4}

/* Only connection and confirmation are primary; native Bootstrap primary is also used for secondary tools. */
body#body.nd-central-shell #column_l :is(#connectbutton2,#connectbutton2d,#autoconnectbutton2,#p13Connect,#p13Connectdrop,#p13AutoConnect,#p13Connects,#p13Connectsdrop){background:var(--nd-yellow)!important;border-color:var(--nd-yellow)!important;color:#102c53!important}
body#body.nd-central-shell #p12 .areaHead{background:#fff!important;border:1px solid var(--nd-border)!important;border-radius:8px 8px 0 0!important;padding:12px!important;gap:8px}
body#body.nd-central-shell #p12 .areaHead .btn-group>button:first-child{border-radius:6px 0 0 6px!important}
body#body.nd-central-shell #p12 .areaHead .btn-group>.dropdown-toggle-split{border-radius:0 6px 6px 0!important;padding:9px 8px!important}
body#body.nd-central-shell #devListToolbarSpan :is(#kvmListToolbar,#devListToolbar){background:transparent!important}
body#body.nd-central-shell #devListToolbarSpan #KvmDesktopButtons:not(.visually-hidden):not([hidden]){display:inline-flex;align-items:center;flex-wrap:wrap;gap:8px;width:auto}
body#body.nd-central-shell #devListToolbarSpan #KvmDesktopButtons .form-check{margin:0!important}
body#body.nd-central-shell #devListToolbarSpan #kvmListToolbar{row-gap:12px!important}
/* Technical details use the same card rhythm and keep labels close to their values. */
body#body.nd-central-shell #p17info2>table{width:100%!important;max-width:100%;table-layout:fixed;background:#fff!important;border:1px solid var(--nd-border)!important;border-radius:8px;border-collapse:separate;border-spacing:0;padding:18px;margin:0 0 16px!important;font:400 13px/1.6 var(--nd-font)}
body#body.nd-central-shell #p17info2>table>tbody>tr>td:first-child{width:44px!important;vertical-align:top}
body#body.nd-central-shell #p17info2>table>tbody>tr>td:first-child>img{max-width:40px;height:auto}
body#body.nd-central-shell #p17info2 .DevSt{font-size:14px!important;color:var(--nd-ink)!important;background:transparent!important;border:0!important;margin-bottom:12px!important}
body#body.nd-central-shell #p17info2 .row{display:grid!important;grid-template-columns:minmax(150px,210px) minmax(0,1fr);gap:12px;margin:0 0 8px!important}
body#body.nd-central-shell #p17info2 .row>div{width:auto!important;max-width:100%;padding:0!important;overflow-wrap:anywhere;text-align:left!important}
body#body.nd-central-shell #p17info2 .row>div:first-child{color:var(--nd-muted)}
body#body.nd-central-shell #masthead #userDropdownButton{background:transparent!important;border:1px solid var(--nd-border)!important;border-radius:6px!important;font:400 12px/20px var(--nd-font)!important;padding:6px 10px!important}
@media(max-width:700px){body#body.nd-central-shell #p17info2>table{padding:12px}body#body.nd-central-shell #p17info2 .row{grid-template-columns:minmax(0,1fr);gap:3px;margin-bottom:12px!important}}
/* Compact first panel on Internet, Health and Audio: global options and groups side by side. */
.app-page main section.nd-settings-summary{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px 28px;padding:16px 18px;align-items:start}
.app-page .nd-settings-summary>div{min-width:0}
.app-page main .nd-settings-summary :is(h2,h3){font-size:14px;line-height:1.4;margin:0 0 10px}
.app-page main .nd-settings-summary .nd-settings-global form{gap:6px;margin:0;justify-items:start}
.app-page main .nd-settings-summary .nd-settings-global form>label{min-height:28px;padding:3px 0;font-size:12px;line-height:20px}
.app-page main .nd-settings-summary .nd-settings-global form>button{margin-top:4px}
.app-page main .nd-settings-summary .nd-settings-global>p{font-size:12px;line-height:1.5;margin:10px 0 0;max-width:64ch}
.app-page main .nd-settings-group-row{display:grid;grid-template-columns:minmax(100px,160px) minmax(0,1fr);gap:12px;align-items:center;padding:0 0 10px}
.app-page main .nd-settings-group-row>p{margin:0;font-size:13px;line-height:1.5;overflow-wrap:anywhere}
.app-page main .nd-settings-group-row form.nd-policy-form{margin:0;gap:8px;max-width:420px;grid-template-columns:minmax(130px,1fr) auto}
@media(max-width:1000px){.app-page main section.nd-settings-summary{grid-template-columns:minmax(0,1fr);gap:16px}.app-page main .nd-settings-groups{border-top:1px solid var(--nd-border);padding-top:14px}}
@media(max-width:480px){.app-page main .nd-settings-group-row{grid-template-columns:minmax(0,1fr);gap:6px}.app-page main .nd-settings-group-row form.nd-policy-form{grid-template-columns:minmax(0,1fr) auto}.app-page main section.nd-settings-summary{padding:16px}}
/* Monitoring dashboards: current measured quality, coverage and group comparisons. */
.nd-monitor-toolbar{display:flex;align-items:end;justify-content:space-between;gap:16px;flex-wrap:wrap;margin:18px 0 20px}
.app-page main form.nd-monitor-scope,.app-page main form.nd-monitor-table-filter{display:flex;align-items:end;flex-wrap:wrap;gap:8px;margin:0}
.app-page main .nd-monitor-scope>label{width:240px;max-width:100%}
.app-page main .nd-monitor-table-filter>label{width:210px;max-width:100%}
.nd-monitor-toolbar>p{font-size:11px;margin:0;max-width:32ch;line-height:1.5;color:var(--nd-muted)}
.nd-monitor-context{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:12px;margin-bottom:12px;color:var(--nd-muted)}
.nd-monitor-context>span:first-child{font-weight:600;color:var(--nd-ink)}
.nd-monitor-widgets{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:0 0 18px}
.nd-monitor-widget{background:#fff;border:1px solid var(--nd-border);border-radius:8px;padding:18px;min-width:0}
.app-page main .nd-monitor-widget h2{font-size:13px;line-height:1.5;font-weight:500;color:var(--nd-muted);margin:0 0 12px}
.nd-monitor-value{display:block;font-size:34px;font-weight:650;letter-spacing:-1px;line-height:1.2;color:var(--nd-ink)}
.nd-monitor-value small,.nd-monitor-group-score strong small{display:inline;font-size:14px;font-weight:400;letter-spacing:0;color:var(--nd-muted);margin-left:4px}
.app-page main .nd-monitor-widget p{font-size:11px;line-height:1.6;margin:10px 0 0;color:var(--nd-muted)}
.nd-monitor-widget.nd-quality-good{border-top:3px solid #367f57}
.nd-monitor-widget.nd-quality-fair{border-top:3px solid #c89416}
.nd-monitor-widget.nd-quality-poor{border-top:3px solid #ba4d4d}
.nd-monitor-widget.nd-quality-missing{border-top:3px solid #9aa9bb}
.app-page main section.nd-monitor-overview{padding:16px 18px;margin-bottom:22px}
.nd-monitor-section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:0 0 12px}
.app-page main .nd-monitor-section-heading :is(h2,h3){margin:0;font-size:14px;line-height:1.5;font-weight:600}
.nd-monitor-section-heading p,.nd-monitor-section-heading>a{margin:0;font-size:12px;color:var(--nd-muted)}
.nd-monitor-distribution{height:12px;display:flex;gap:3px;overflow:hidden;border-radius:4px;background:#f3f6fa;width:100%}
.nd-monitor-distribution>span{display:block;min-width:3px;flex-basis:0}
.nd-monitor-distribution .nd-quality-good,.nd-quality-dot.nd-quality-good{background:#367f57}
.nd-monitor-distribution .nd-quality-fair,.nd-quality-dot.nd-quality-fair{background:#e1b44a}
.nd-monitor-distribution .nd-quality-poor,.nd-quality-dot.nd-quality-poor{background:#ba4d4d}
.nd-monitor-distribution .nd-quality-missing,.nd-quality-dot.nd-quality-missing{background:#9aa9bb}
.nd-monitor-distribution .nd-quality-disabled,.nd-quality-dot.nd-quality-disabled{background:repeating-linear-gradient(135deg,#cfd7e2 0 3px,#f1f4f8 3px 6px)}
.nd-monitor-legend{list-style:none;padding:0;margin:12px 0 0;display:flex;flex-wrap:wrap;gap:8px 22px;font-size:12px;color:var(--nd-muted)}
.nd-monitor-legend li{display:flex;align-items:center;gap:6px}
.nd-monitor-legend strong{font-weight:600;color:var(--nd-ink);margin-left:3px}
.nd-quality-dot{display:inline-block;width:9px;height:9px;border-radius:2px;flex:none}
.nd-monitor-groups{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:16px;margin-bottom:22px}
.nd-monitor-group{min-width:0;background:#fff;border:1px solid var(--nd-border);border-radius:8px;padding:18px}
.nd-monitor-group.is-selected{border-color:#547da7;box-shadow:inset 0 0 0 1px #547da7}
.nd-monitor-group .nd-monitor-legend{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;font-size:11px}
.nd-monitor-group .nd-monitor-legend li{flex-wrap:wrap}
.nd-monitor-group-score{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:16px 0}
.nd-monitor-group-score>strong{font-size:28px;line-height:1.2;font-weight:650;letter-spacing:-.6px}
.nd-monitor-group-score>span{font-size:11px;line-height:1.6;color:var(--nd-muted);text-align:right}
.nd-monitor-state{font-size:11px;padding:3px 7px;border-radius:4px;background:#eef2f7;color:var(--nd-muted);white-space:nowrap}
.nd-monitor-state.nd-quality-good{background:#e8f3ee;color:#27634d}
.nd-monitor-state.nd-quality-fair{background:#fff3cd;color:#715000}
.nd-monitor-state.nd-quality-poor{background:#fbeaea;color:#9e2f40}
.app-page main .nd-monitor-group>p{font-size:11px;margin:12px 0 0}
.nd-monitor-group-link{display:inline-block;margin-top:16px;font-size:12px;font-weight:600;text-decoration:none}
.app-page main .nd-monitor-method{margin:0 0 22px}
.app-page main .nd-monitor-method p{font-size:12px;max-width:100ch;margin:8px 0}
.app-page main .nd-monitor-settings{margin:20px 0}
.app-page main .nd-monitor-settings>summary{border:1px solid var(--nd-border);border-radius:6px;background:white;padding:12px 16px;font-size:12px}
.app-page main .nd-monitor-settings[open]>summary{margin-bottom:12px}
.app-page main .nd-monitor-table-note{font-size:11px;margin:0 0 14px;color:var(--nd-muted)}
#nd-monitor-devices{scroll-margin-top:20px}
@media(max-width:1100px){.nd-monitor-widgets{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.nd-monitor-widgets{grid-template-columns:minmax(0,1fr);gap:10px}.nd-monitor-widget{padding:16px}.nd-monitor-toolbar{align-items:start}.app-page main .nd-monitor-scope>label{width:100%}.nd-monitor-toolbar>p{max-width:none}.nd-monitor-context{display:grid;gap:4px}.nd-monitor-group-score>span{text-align:left}.nd-monitor-legend{gap:8px 14px}}
/* Monitoring cards must not inherit the equipment-comment article padding. */
.app-page main article:is(.nd-monitor-widget,.nd-monitor-group){padding:18px}
.app-page main .nd-monitor-widget{display:grid;grid-template-rows:minmax(40px,auto) 48px minmax(36px,auto);align-content:start;gap:0}
.app-page main .nd-monitor-widget h2{margin:0;align-self:start}
.app-page main .nd-monitor-widget .nd-monitor-value{display:flex;align-items:baseline;gap:4px;align-self:start;margin:0;min-width:0;line-height:1.2;font-variant-numeric:tabular-nums}
.app-page main .nd-monitor-value small{margin:0;line-height:1.2}
.app-page main .nd-monitor-widget>p{margin:6px 0 0;align-self:start}
.app-page main .nd-monitor-group-score>strong{display:flex;align-items:baseline;gap:4px;line-height:1.2;font-variant-numeric:tabular-nums}
.app-page main .nd-monitor-group-score>strong small{margin:0;line-height:1.2}
@media(max-width:600px){.app-page main article:is(.nd-monitor-widget,.nd-monitor-group){padding:16px}.app-page main .nd-monitor-widget{grid-template-rows:auto 44px auto;gap:8px}.app-page main .nd-monitor-widget>p{margin:0}}
.app-page main article.nd-monitor-widget{border-top-width:3px}
.nd-monitor-group>.nd-monitor-section-heading{min-height:36px;align-items:flex-start}
/* One dropdown arrow with an explicit inset; retain the native picker and keyboard behavior. */
body.app-page select:not([multiple]):not([size]),body.app-page select[size="1"]:not([multiple]),body#body.nd-central-shell :is(#column_l,.modal,#nd-device-extras) select:not([multiple]):not([size]),body#body.nd-central-shell :is(#column_l,.modal,#nd-device-extras) select[size="1"]:not([multiple]){appearance:none!important;-webkit-appearance:none!important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23526780' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E")!important;background-repeat:no-repeat!important;background-position:right 12px center!important;background-size:16px 16px!important;padding-right:38px!important}
@media(forced-colors:active){body.app-page select:not([multiple]):not([size]),body.app-page select[size="1"]:not([multiple]),body#body.nd-central-shell :is(#column_l,.modal,#nd-device-extras) select:not([multiple]):not([size]),body#body.nd-central-shell :is(#column_l,.modal,#nd-device-extras) select[size="1"]:not([multiple]){appearance:auto!important;-webkit-appearance:auto!important;background-image:none!important}}
