
/* shared-control-theme:v1 */
/* shared-typography:v1 */
:root{--control-bg:#0b1015;--control-panel:#111820;--control-inner:#0e151d;--control-line:#2c3a49;--control-text:#e6edf5;--control-muted:#93a3b7;--control-accent:#2864be;--control-good:#75dfad;--control-warn:#f3c66f;--control-bad:#ff9da4;--control-radius:10px;--control-radius-sm:7px}
html,body{font-family:ui-sans-serif,system-ui,-apple-system,"Segoe UI","Noto Sans TC","Microsoft JhengHei",sans-serif!important;font-size:14px!important;line-height:1.5!important}
html{color-scheme:dark}
body{font-variant-numeric:tabular-nums;background:var(--control-bg);color:var(--control-text)}
.shell,.nas-child-shell{width:min(1480px,100%)!important}
.table-wrap,.topology-scroll,.tabs{scrollbar-width:thin;scrollbar-color:#35475b #0e151d}
button,input,textarea,select{font-family:inherit!important;font-size:inherit!important;line-height:normal!important}
.button,.small-button,.admin-link{white-space:nowrap;transition:background-color .16s,border-color .16s,color .16s}
.button,.admin-link{display:inline-flex;justify-content:center;align-items:center;gap:7px;min-height:40px;border:1px solid #354354;border-radius:var(--control-radius-sm);padding:9px 14px;background:#1a2632;color:var(--control-text);text-decoration:none;font-weight:500}
.small-button{display:inline-flex;justify-content:center;align-items:center;min-height:32px;border:1px solid #354354;border-radius:var(--control-radius-sm);padding:5px 8px;background:#1a2632;color:var(--control-text);font-weight:500}
.button.primary{background:var(--control-accent);border-color:#3e78c8;color:#eaf2ff}
.button:not(:disabled):hover,.small-button:not(:disabled):hover,.admin-link:hover{border-color:#6595d8;background:#223346}
.button.primary:not(:disabled):hover{background:#3076d9}
.button.quiet{background:transparent;color:var(--control-muted)}
.button.danger{background:#281b24!important;border-color:#684049!important;color:#ffb1b7!important}
.button.danger:not(:disabled):hover{background:#3b242e!important;border-color:#aa5965!important}
.section,.feature,.metrics,.login{border-color:var(--control-line);border-radius:var(--control-radius);box-shadow:none}
.section-head h2,.section-head h3{font-size:16px;line-height:1.4}
.section-head p,.section-head .hint{max-width:76ch;line-height:1.6}
.card,.grant,.line-card{border-color:var(--control-line);border-radius:8px}
.section-head,.card-head{border-color:var(--control-line)}
.feature:hover{transform:none;box-shadow:none}
.badge{display:inline-flex;align-items:center;gap:5px;min-height:23px;padding:3px 8px;border:1px solid #3b4858;border-radius:999px;line-height:1.4;font-size:11px;white-space:nowrap;color:var(--control-muted)}
.badge.good,.badge.active{background:#102b23;border-color:#285b46;color:var(--control-good)}
.badge.warn{background:#2b2417;border-color:#685733;color:var(--control-warn)}
.badge.bad{background:#2c1d26;border-color:#69373d;color:var(--control-bad)}
.badge.standby,.badge.disabled{background:var(--control-inner);border-color:#354354;color:var(--control-muted)}
.tabs,.network-tabs{gap:4px;padding:4px;border:1px solid var(--control-line);border-radius:var(--control-radius);background:var(--control-inner);box-shadow:none}
.tab,.network-tabs .button{min-height:38px;padding:8px 13px;border:1px solid transparent;border-radius:var(--control-radius-sm);background:transparent;color:var(--control-muted);box-shadow:none}
.tab.active,.network-tabs .button[aria-selected=true]{background:#1d3551;border-color:#3a5c83;color:var(--control-text)}
button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #75a9f2;outline-offset:3px}
input:not([type=checkbox]):not([type=radio]):read-only,textarea:read-only{color:#aebed0}
.brand h1,.nas-child-title{font-size:24px!important;line-height:1.2!important}
.frpc-shell .section-head h2{font-size:17px!important}
.frpc-shell .metric span{font-size:11px!important;line-height:16.5px!important}
.frpc-shell .field-label{font-size:12px!important;line-height:18px!important}
.frpc-shell .input{font-family:ui-monospace,"SFMono-Regular",Consolas,monospace!important;font-size:13px!important;line-height:normal!important}
.control-runtime,.master-runtime,.nas-child-runtime,.runtime,.runtime-control{
  display:inline-flex!important;align-items:center!important;gap:10px!important;
  min-height:40px!important;padding:0 11px!important;border:1px solid #354354!important;
  border-radius:7px!important;background:#111820!important;color:#d9e3ee!important;
  font-size:12px!important;line-height:1!important;white-space:nowrap!important
}
.control-switch,.toggle-switch,.nas-child-switch,.runtime-switch{
  position:relative!important;display:inline-flex!important;align-items:center!important;
  width:44px!important;height:24px!important;min-width:44px!important;min-height:24px!important;
  flex:none!important;border:1px solid #3b4858!important;border-radius:999px!important;
  padding:0!important;background:#222b36!important;appearance:none!important;
  transition:border-color .16s,background-color .16s,opacity .16s!important;cursor:pointer!important
}
.control-switch:after,.toggle-switch:after,.nas-child-switch:after,.runtime-switch:after{
  content:""!important;position:absolute!important;width:16px!important;height:16px!important;
  left:3px!important;top:3px!important;border-radius:50%!important;background:#8b98a8!important;
  transition:transform .16s,background-color .16s!important
}
.control-switch[aria-checked="true"],.toggle-switch[aria-checked="true"],.nas-child-switch[aria-checked="true"],.runtime-switch[aria-checked="true"]{
  border-color:#238866!important;background:#135443!important
}
.control-switch[aria-checked="true"]:after,.toggle-switch[aria-checked="true"]:after,.nas-child-switch[aria-checked="true"]:after,.runtime-switch[aria-checked="true"]:after{
  transform:translateX(20px)!important;background:#76e0ad!important
}
.control-switch:focus-visible,.toggle-switch:focus-visible,.nas-child-switch:focus-visible,.runtime-switch:focus-visible{
  outline:2px solid #75a9f2!important;outline-offset:2px!important
}
.control-switch:disabled,.toggle-switch:disabled,.nas-child-switch:disabled,.runtime-switch:disabled{
  opacity:.55!important;pointer-events:none!important;cursor:wait!important
}
.frpc-line-title{
  display:flex!important;align-items:center!important;gap:10px!important;flex-wrap:wrap!important
}
.frpc-line-title>h3,.frpc-line-title>strong{margin:0!important;font-size:15px!important}
.frpc-line-status{
  margin:0!important;font-size:11px!important;line-height:1.2!important;white-space:nowrap!important
}
.frpc-shell{width:min(1480px,100%)!important}
.frpc-shell .metrics{grid-template-columns:repeat(3,minmax(0,1fr))!important}
.frpc-shell .section-body{display:block!important}
.frpc-shell .line-card{border:1px solid #2c3a49!important;border-radius:8px!important;background:#0e151d!important;overflow:hidden!important;margin-bottom:14px!important}
.frpc-shell .line-card:last-child{margin-bottom:0!important}
.frpc-shell .line-card-head{display:flex!important;justify-content:space-between!important;align-items:center!important;gap:14px!important;padding:15px!important;border-bottom:1px solid #263341!important}
.frpc-shell details.line-card>summary.line-card-head{display:grid!important;grid-template-columns:12px minmax(0,1fr) auto!important;gap:10px!important;padding:12px 14px!important}
.frpc-shell details.line-card:not([open])>summary.line-card-head{border-bottom:0!important}
.frpc-shell summary.line-card-head:before{transition:transform .18s;transform-origin:center}
.frpc-shell details.line-card>summary .line-actions{justify-content:flex-end}
.frpc-shell .line-actions{display:flex!important;align-items:center!important;gap:7px!important;flex-wrap:wrap!important}
.frpc-shell .line-fields{display:grid!important;grid-template-columns:minmax(140px,.75fr) minmax(220px,1.4fr) 110px!important;gap:12px!important;padding:15px!important}
.frpc-shell .rule-list{display:grid!important;gap:8px!important;padding:0 15px 15px!important}
.frpc-shell .rule{grid-template-columns:minmax(150px,1.1fr) 90px 145px 100px 105px minmax(150px,1fr) auto!important;gap:8px!important;align-items:end!important;padding:11px!important}
.frpc-health-result{margin:0 15px 15px!important;padding:10px 12px!important;border:1px solid #293848!important;border-radius:6px!important;background:#101821!important;color:#9eacbc!important;font-size:12px!important;line-height:1.7!important}
.frpc-health-result.good{border-color:#285b46!important;color:#72d9a5!important}
.frpc-health-result.bad{border-color:#69373d!important;color:#ff9da4!important}
.frpc-protocol-note{margin:0 0 14px!important;padding:11px 14px!important;border-left:3px solid #4b82d0!important;background:#101925!important;color:#a9bad0!important;font-size:12px!important;line-height:1.6!important}
.frpc-footer-actions{display:flex!important;justify-content:flex-end!important;align-items:center!important;gap:9px!important;margin-top:16px!important}
.frpc-footer-actions .message{margin-right:auto!important}
@media(max-width:1050px){.frpc-shell .line-fields{grid-template-columns:1fr 1fr!important}.frpc-shell .rule{grid-template-columns:1fr 1fr 1fr!important}}
@media(max-width:680px){.frpc-shell .line-card-head{align-items:flex-start!important;flex-direction:column!important}.frpc-shell details.line-card>summary.line-card-head{grid-template-columns:12px minmax(0,1fr)!important}.frpc-shell details.line-card>summary .line-actions{grid-column:1/-1;justify-content:flex-start}.frpc-shell .line-fields{grid-template-columns:1fr!important}.frpc-shell .rule{grid-template-columns:repeat(2,minmax(0,1fr))!important}.frpc-shell .rule>:first-child,.frpc-shell .rule>:nth-child(6),.frpc-shell .rule>button{grid-column:1/-1}.frpc-shell .rule>*{min-width:0}.frpc-shell .line-actions .button{flex:0 1 auto!important}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
:root [hidden]{display:none!important}
