*{box-sizing:border-box}html,body{background:var(--color-bg);color:var(--color-text);font-family:var(--font-sans);font-size:var(--font-size-base);line-height:var(--line-height-base);margin:0;padding:0}a{color:inherit;text-decoration:none}button{font-family:inherit}p{margin-block:var(--space-3)}.shell{height:100vh;display:flex;overflow:hidden}.gnb{width:var(--layout-gnb-width);background:var(--color-gnb-bg);color:var(--color-gnb-text);border-right:var(--border-width) solid var(--color-border);height:100vh;transition:width var(--transition-fast) ease;flex-direction:column;flex-shrink:0;display:flex;position:sticky;top:0}.shell.collapsed .gnb{width:var(--layout-gnb-width-collapsed);z-index:var(--z-gnb)}.gnb .brand{align-items:center;gap:var(--gnb-logo-gap);padding:var(--gnb-pad-top) var(--gnb-pad-x) 0;color:var(--color-text-strong);flex-shrink:0;display:flex}.gnb .brand-mark{width:var(--gnb-logo-size);height:var(--gnb-logo-size);object-fit:contain;flex-shrink:0}.gnb .brand-text{font-size:var(--font-size-base);font-weight:var(--font-weight-bold);white-space:nowrap}.gnb .brand-name{flex-direction:column;min-width:0;display:flex}.gnb .brand-version{font-size:var(--font-size-xs);font-weight:var(--font-weight-regular);color:var(--color-text-muted)}.shell.collapsed .gnb .brand-name{display:none}.gnb nav{padding:var(--gnb-pad-top) var(--gnb-pad-x) var(--space-2);gap:var(--gnb-item-gap);flex-direction:column;flex:1;display:flex;overflow:hidden auto}.gnb nav>div{gap:var(--gnb-item-gap);flex-direction:column;display:flex}.gnb .item{align-items:center;gap:var(--space-2);height:var(--gnb-item-height);padding:0 var(--gnb-icon-inset);border-radius:var(--radius-control);color:var(--color-gnb-text);font-size:var(--font-size-base);white-space:nowrap;display:flex}.gnb .item-icon{width:var(--gnb-icon-size);height:var(--gnb-icon-size);flex-shrink:0}.gnb .item-text{text-overflow:ellipsis;flex:1;overflow:hidden}.gnb .item.sub{height:var(--gnb-subitem-height);padding-left:var(--gnb-subitem-inset);color:var(--color-gnb-group-text)}.gnb .item:hover,.gnb .item[aria-expanded=true]{background:var(--color-gnb-hover-bg);color:var(--color-primary)}.gnb .item.active{background:var(--color-gnb-active-bg);color:var(--color-gnb-text-active);font-weight:var(--font-weight-bold)}.gnb .item.sub.active,.gnb .item.sub.active:hover{color:var(--color-primary);font-weight:var(--font-weight-bold);background:0 0}.gnb .item-count{min-width:var(--gnb-count-width);height:var(--gnb-count-height);border-radius:var(--radius-pill);background:var(--tone-danger-bg);color:var(--tone-danger-fg);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.gnb .item.active .item-count{background:var(--color-panel)}.shell.collapsed .gnb .item-text,.shell.collapsed .gnb .item-count{display:none}.shell.collapsed .gnb .item{padding:0 var(--space-3);justify-content:center}.gnb button.item{cursor:pointer;background:0 0;border:0;font-family:inherit}.gnb-tip{left:calc(100% + var(--border-width) + var(--space-2));height:var(--gnb-subitem-height);padding:0 var(--space-3);background:var(--color-gnb-bg);color:var(--color-gnb-text);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-control);box-shadow:var(--shadow-md);font-size:var(--font-size-base);font-weight:var(--font-weight-regular);white-space:nowrap;pointer-events:none;align-items:center;display:none;position:absolute}.shell.collapsed .gnb .item:hover>.gnb-tip,.shell.collapsed .gnb .item:focus-visible>.gnb-tip{display:flex}.shell.collapsed .gnb .item[aria-expanded=true]>.gnb-tip{display:none}.gnb-flyout{left:calc(100% + var(--border-width) + var(--space-2));width:var(--layout-gnb-width);gap:var(--gnb-item-gap);padding:var(--space-1);background:var(--color-gnb-bg);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-control);box-shadow:var(--shadow-md);flex-direction:column;display:flex;position:absolute}.gnb-flyout[hidden]{display:none}.gnb-flyout:before{content:"";width:calc(var(--gnb-pad-x) + var(--border-width) * 2 + var(--space-2));position:absolute;top:0;bottom:0;right:100%}.gnb-flyout-title,.gnb-flyout-item{height:var(--gnb-subitem-height);padding:0 var(--space-3);border-radius:var(--radius-control);font-size:var(--font-size-base);white-space:nowrap;align-items:center;display:flex}.gnb-flyout-title{color:var(--color-gnb-text)}.gnb-flyout-item{color:var(--color-gnb-group-text)}.gnb-flyout-item:hover{background:var(--color-gnb-hover-bg);color:var(--color-primary)}.gnb-flyout-item.active,.gnb-flyout-item.active:hover{color:var(--color-primary);font-weight:var(--font-weight-bold);background:0 0}.gnb .collapse-btn{color:var(--color-gnb-text);font-size:var(--font-size-md);cursor:pointer;height:var(--gnb-item-height);padding:0 var(--gnb-icon-inset);align-items:center;gap:var(--space-2);text-align:left;white-space:nowrap;margin-bottom:var(--gnb-collapse-gap-bottom);background:0 0;border:0;flex-shrink:0;display:flex}.gnb .collapse-icon{width:var(--gnb-collapse-icon-size);height:var(--gnb-collapse-icon-size);flex-shrink:0}.shell.collapsed .gnb .collapse-icon{transform:scaleX(-1)}.shell.collapsed .gnb .collapse-btn{justify-content:center}.gnb .collapse-btn:hover{color:var(--color-primary)}.main{background:var(--color-bg);min-width:0;padding:var(--layout-content-padding-y) var(--layout-content-padding-x);flex-direction:column;flex:1;display:flex;overflow:auto hidden}.main>.topbar,.main>.content{min-width:calc(var(--layout-min-width) - var(--layout-gnb-width) - 2 * var(--layout-content-padding-x))}.shell.collapsed .main>.topbar,.shell.collapsed .main>.content{min-width:calc(var(--layout-min-width) - var(--layout-gnb-width-collapsed) - 2 * var(--layout-content-padding-x))}.topbar{min-height:var(--layout-header-height);align-items:center;gap:var(--space-4);flex-shrink:0;display:flex}.title-col{gap:var(--space-1);flex-direction:column;min-width:0;display:flex}.breadcrumb{font-size:var(--font-size-md);align-items:center;display:flex}.breadcrumb .sep{color:var(--color-text-muted);padding:0 var(--space-1)}.breadcrumb .anc{color:var(--color-text-muted)}.page-title{font-size:var(--font-size-page-title);font-weight:var(--font-weight-bold);color:var(--color-text-strong);line-height:var(--line-height-page-title);white-space:nowrap;margin:0}.topbar .sp{flex:1}.topbar-slot{align-items:center;gap:var(--space-2);display:flex}.topbar-slot:empty{display:none}.alarm-chip{align-items:center;gap:var(--space-2);height:var(--control-height);padding:0 var(--space-2);border-radius:var(--radius-pill);background:var(--tone-danger-row);font-size:var(--font-size-md);font-weight:var(--font-weight-bold);color:var(--tone-danger-fg);white-space:nowrap;display:inline-flex}.alarm-chip svg{width:var(--font-size-base);height:var(--font-size-base);flex-shrink:0}.alarm-chip:hover{background:var(--color-row-hover)}.user-chip{align-items:center;gap:var(--space-2);height:var(--topbar-avatar-size);cursor:pointer;font-size:var(--font-size-md);color:var(--color-text-muted);white-space:nowrap;background:0 0;border:0;padding:0;display:inline-flex}.user-chip .avatar{width:var(--topbar-avatar-size);height:var(--topbar-avatar-size);border-radius:var(--radius-pill);background:var(--color-surface-subtle-2);color:var(--color-text-strong);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.user-chip:hover .user-chip-name{color:var(--color-text)}.who{font-size:var(--font-size-md);color:var(--color-text-muted)}.content{min-width:0;min-height:0;padding-top:var(--layout-header-gap);flex:1;overflow:auto}.content>*+*{margin-top:var(--layout-section-gap)}:is(.content:has(>.list-card),.content:has(>.arm-mid)){flex-direction:column;display:flex}:is(.content:has(>.list-card)>:not(.list-card),.content:has(>.arm-mid)>:not(.arm-mid)){flex-shrink:0}.app-footer{height:var(--layout-footer-height);justify-content:center;align-items:center;gap:var(--space-4);font-size:var(--font-size-xs);color:var(--color-text-muted);flex-shrink:0;display:flex}.content>.app-footer{padding-top:var(--space-2);margin-top:0}.col-grid{grid-template-columns:repeat(var(--layout-columns), minmax(0, 1fr));gap:var(--layout-column-gap);display:grid}.col-1{grid-column:span 1}.col-2{grid-column:span 2}.col-3{grid-column:span 3}.col-4{grid-column:span 4}.col-5{grid-column:span 5}.col-6{grid-column:span 6}.col-7{grid-column:span 7}.col-8{grid-column:span 8}.col-9{grid-column:span 9}.col-10{grid-column:span 10}.col-11{grid-column:span 11}.col-12{grid-column:span 12}.panel{background:var(--color-panel);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);padding:var(--pad-card)}.panel>h3{margin:0 0 var(--space-3);font-size:var(--font-size-card-title);font-weight:var(--font-weight-bold);color:var(--color-text-strong)}.badge-status{padding:var(--badge-padding);border-radius:var(--radius-pill);font-size:var(--badge-font-size);line-height:var(--line-height-base);font-weight:var(--font-weight-bold);white-space:nowrap;background:var(--tone-neutral-bg);color:var(--tone-neutral-fg);display:inline-block}.badge-status[data-tone=ok]{background:var(--tone-ok-bg);color:var(--tone-ok-fg)}.badge-status[data-tone=warn]{background:var(--tone-warn-bg);color:var(--tone-warn-fg)}.badge-status[data-tone=danger]{background:var(--tone-danger-bg);color:var(--tone-danger-fg)}.badge-status[data-tone=offline]{background:var(--tone-offline-bg);color:var(--tone-offline-fg)}.badge-status[data-tone=neutral]{background:var(--tone-neutral-bg);color:var(--tone-neutral-fg)}.badge-status[data-tone=muted]{background:var(--tone-muted-bg);color:var(--tone-muted-fg)}.badge-status[data-tone=info]{background:var(--tone-info-bg);color:var(--color-primary-hover)}.badge-status .status-marker{margin-right:var(--space-2)}.name-with-badge{align-items:center;gap:var(--space-2);display:inline-flex}.status-marker{width:var(--marker-size);height:var(--marker-size);border-radius:var(--marker-radius);background:var(--tone-neutral-fg);vertical-align:middle;flex-shrink:0;display:inline-block}.status-marker[data-shape=dot]{border-radius:var(--radius-pill)}.status-marker[data-tone=ok]{background:var(--tone-ok-icon)}.status-marker[data-tone=warn]{background:var(--tone-warn-icon)}.status-marker[data-tone=danger]{background:var(--tone-danger-icon)}.status-marker[data-tone=offline]{background:var(--tone-offline-fg)}.status-marker[data-tone=neutral]{background:var(--tone-neutral-fg)}.status-marker[data-tone=muted]{background:var(--color-panel);box-shadow:inset 0 0 0 var(--border-width-strong) var(--tone-muted-fg)}.status-marker[data-tone=info]{background:var(--tone-info-fg)}.switch{vertical-align:middle;flex-shrink:0;display:inline-flex;position:relative}input[type=checkbox].switch-input{z-index:1;opacity:0;cursor:pointer;border:0;width:100%;height:100%;min-height:0;margin:0;padding:0;position:absolute;inset:0}input[type=checkbox].switch-input:disabled{cursor:default}.switch-track{width:calc(var(--space-5) * 2);height:var(--space-5);padding:calc(var(--space-1) / 2);border-radius:var(--radius-pill);background:var(--color-border-strong);transition:background var(--transition-fast);align-items:center;display:inline-flex}.switch-knob{width:calc(var(--space-5) - var(--space-1));height:calc(var(--space-5) - var(--space-1));border-radius:var(--radius-pill);background:var(--color-panel);box-shadow:var(--shadow-sm);transition:transform var(--transition-fast)}.switch-input:checked~.switch-track{background:var(--color-primary)}.switch-input:checked~.switch-track .switch-knob{transform:translateX(var(--space-5))}.switch-input:disabled~.switch-track{background:var(--color-border)}.switch-input:disabled~.switch-track .switch-knob{box-shadow:none}.switch-input:focus{outline:none}.switch-input:focus-visible~.switch-track{outline:var(--focus-ring-width) solid var(--color-primary);outline-offset:var(--focus-ring-width)}.btn{background:var(--color-primary);color:var(--color-text-invert);border:var(--border-width) solid var(--color-primary);border-radius:var(--radius-control);height:var(--control-height);padding:0 var(--space-4);justify-content:center;align-items:center;gap:var(--space-2);font-size:var(--font-size-md);font-weight:var(--font-weight-bold);cursor:pointer;white-space:nowrap;font-family:inherit;display:inline-flex}.btn:hover:not(:disabled){background:var(--color-primary-hover);border-color:var(--color-primary-hover)}.btn:active:not(:disabled){background:color-mix(in srgb, var(--color-primary-hover) 85%, var(--color-text-strong));border-color:color-mix(in srgb, var(--color-primary-hover) 85%, var(--color-text-strong))}.btn:disabled{opacity:.5;cursor:default}.btn-ghost{background:var(--color-surface-subtle-2);color:var(--color-text);border-radius:var(--radius-control);height:var(--control-height);padding:0 var(--space-4);font-size:var(--font-size-md);font-weight:var(--font-weight-regular);cursor:pointer;justify-content:center;align-items:center;gap:var(--space-2);white-space:nowrap;border:0;display:inline-flex}.btn-ghost:hover:not(:disabled){background:var(--color-border)}.btn-ghost:active:not(:disabled){background:color-mix(in srgb, var(--color-border) 85%, var(--color-text-strong))}.btn-ghost:disabled{opacity:.5;cursor:default}.btn-ghost.danger{background:var(--tone-danger-bg);color:var(--tone-danger-fg);border:0}.btn-ghost.danger:hover:not(:disabled){background:color-mix(in srgb, var(--tone-danger-bg) 85%, var(--tone-danger-fg))}.btn-ghost.danger:active:not(:disabled){background:color-mix(in srgb, var(--tone-danger-bg) 70%, var(--tone-danger-fg))}.btn-mini{height:var(--control-height-sm);padding:0 var(--space-3);font-size:var(--font-size-md);font-weight:var(--font-weight-regular)}.btn-xs{height:var(--control-height-sm);padding:0 var(--space-3)}.link-more{align-items:center;gap:var(--space-2);font-size:var(--font-size-md);font-weight:var(--font-weight-bold);color:var(--color-primary);background:0 0;border:0;padding:0;display:inline-flex}.link-more:hover{color:var(--color-primary-hover)}.icon-btns{align-items:center;gap:var(--space-2);display:inline-flex}.icon-btn{width:var(--icon-btn-size);height:var(--icon-btn-size);border-radius:var(--radius-control);min-height:0;color:var(--color-text-muted);cursor:pointer;font-family:inherit;font-size:var(--font-size-md);background:0 0;border:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.icon-btn:hover:not(:disabled){background:var(--color-border);color:var(--color-text)}.icon-btn:active:not(:disabled){background:color-mix(in srgb, var(--color-border) 85%, var(--color-text-strong))}.icon-btn:disabled{opacity:.5;cursor:default}.icon-btn.danger{color:var(--tone-danger-fg)}.icon-btn.danger:hover:not(:disabled){background:var(--tone-danger-bg)}.row-btn{height:var(--control-height-sm);padding:0 var(--space-3);background:var(--color-panel);color:var(--color-text);border:var(--border-width) solid var(--color-border-input);border-radius:var(--radius-control);font-family:inherit;font-size:var(--font-size-md);font-weight:var(--font-weight-regular);white-space:nowrap;cursor:pointer;justify-content:center;align-items:center;display:inline-flex}.row-btn:hover:not(:disabled){background:var(--color-surface-subtle-2)}.row-btn:active:not(:disabled){background:var(--color-border)}.row-btn:disabled{opacity:.5;cursor:default}.row-btn-fit{justify-items:center;display:inline-grid}.row-btn-fit>*{grid-area:1/1}.row-btn-fit>[aria-hidden=true],.row-slot-hidden{visibility:hidden}.panel-head{justify-content:space-between;align-items:center;gap:var(--space-4);margin-bottom:var(--space-3);flex-wrap:wrap;display:flex}.panel-head .ph-title{font-size:var(--font-size-card-title);font-weight:var(--font-weight-bold);color:var(--color-text-strong)}.panel-head .ph-count{margin-left:var(--space-2);font-size:var(--font-size-md);font-weight:var(--font-weight-regular);color:var(--color-text-muted)}.panel-head .ph-tools{align-items:center;gap:var(--space-2);display:flex}.fb-check{align-items:center;gap:var(--space-2);cursor:pointer;display:inline-flex}.panel.settings-card{width:var(--settings-card-width);max-width:100%}.settings-card>.form-stack>.btn{align-self:flex-start}.setting-item{gap:var(--space-2);flex-direction:column;display:flex}.setting-row{justify-content:space-between;align-items:center;gap:var(--space-4);min-height:var(--control-height);display:flex}.setting-label{font-size:var(--font-size-md);font-weight:var(--font-weight-medium);color:var(--color-text-strong)}.setting-row>.range-pair{flex:none}.setting-row>.range-pair input{width:var(--setting-input-width)}.check-group{gap:var(--space-3);border:0;flex-wrap:wrap;margin:0;padding:0;display:flex}.check-group legend{margin-bottom:var(--space-2);padding:0}.check-group label{align-items:center;gap:var(--space-2);font-size:var(--font-size-md);display:inline-flex}.multi-select{display:inline-block;position:relative}.ms-btn{align-items:center;gap:var(--space-2);border:var(--border-width) solid var(--color-border-input);border-radius:var(--radius-control);padding:var(--pad-input);height:var(--control-height);background:var(--color-surface-subtle);color:var(--color-text-strong);font-size:var(--font-size-base);cursor:pointer;font-family:inherit;display:inline-flex}.ms-caret{width:calc(var(--select-arrow-size) * 2);height:var(--select-arrow-size);background:linear-gradient(45deg, transparent 50%, currentColor 50%) left center / var(--select-arrow-size) var(--select-arrow-size) no-repeat, linear-gradient(135deg, currentColor 50%, transparent 50%) right center / var(--select-arrow-size) var(--select-arrow-size) no-repeat;flex:none}.ms-pop{top:calc(100% + var(--space-1));z-index:var(--z-popover);min-width:100%;max-height:var(--popover-max-height);gap:var(--space-2);background:var(--color-panel);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-control);box-shadow:var(--shadow-md);padding:var(--space-3);flex-direction:column;display:flex;position:absolute;left:0;overflow-y:auto}.ms-all{align-self:flex-start}.ms-opt{align-items:center;gap:var(--space-2);font-size:var(--font-size-md);white-space:nowrap;cursor:pointer;display:flex}.ms-opt:has(>input:disabled){color:var(--color-text-muted);cursor:default}.range-pair{align-items:center;gap:var(--space-2);display:flex}.range-pair input{width:100%}.range-pair>span{font-size:var(--font-size-md);color:var(--color-text-muted);flex:none}input,select,textarea{border:var(--border-width) solid var(--color-border-input);border-radius:var(--radius-control);padding:var(--pad-input);height:var(--control-height);font-size:var(--font-size-base);background:var(--color-surface-subtle);color:var(--color-text-strong);font-family:inherit}textarea{height:auto;min-height:var(--control-height);padding-block:var(--space-2);line-height:calc(var(--control-height) - 2 * var(--space-2) - 2 * var(--border-width));max-height:calc(var(--control-height) * 2);resize:none;overflow-y:auto}select{--select-arrow-color:var(--color-text-strong);appearance:none;padding-right:var(--select-pad-right);background-image:linear-gradient(45deg, transparent 50%, var(--select-arrow-color) 50%), linear-gradient(135deg, var(--select-arrow-color) 50%, transparent 50%);background-position:right calc(var(--select-arrow-right) + var(--select-arrow-size)) center, right var(--select-arrow-right) center;background-size:var(--select-arrow-size) var(--select-arrow-size);background-repeat:no-repeat}.modal select{--select-arrow-color:var(--color-text-placeholder)}::placeholder{color:var(--color-text-placeholder)}input:where(:not([type=checkbox]):not([type=radio]))[readonly],input:where(:not([type=checkbox]):not([type=radio])):disabled,textarea[readonly],textarea:disabled,select:disabled,.ms-btn:disabled{--select-arrow-color:var(--color-text-muted);background-color:var(--color-surface-subtle-2);color:var(--color-text-muted);cursor:default}input[type=checkbox]:where(:not(.switch-input)),input[type=radio]{appearance:none;width:var(--checkbox-size);height:var(--checkbox-size);border-width:var(--border-width-checkbox);border-radius:var(--radius-sm);border-color:var(--color-border);background:var(--color-panel);cursor:pointer;flex:none;place-content:center;min-height:0;margin:0;padding:0;display:inline-grid}input[type=radio]{border-radius:var(--radius-pill)}input[type=checkbox]:where(:not(.switch-input)):checked,input[type=radio]:checked{background:var(--color-primary);border-color:var(--color-primary)}input[type=checkbox]:where(:not(.switch-input)):checked:after{content:"";width:var(--checkmark-width);height:var(--checkmark-height);border-left:var(--checkmark-stroke) solid var(--color-text-invert);border-bottom:var(--checkmark-stroke) solid var(--color-text-invert);transform:rotate(-45deg)translateY(-1px)}input[type=radio]:checked:after{content:"";width:var(--radio-dot-size);height:var(--radio-dot-size);border-radius:var(--radius-pill);background:var(--color-text-invert)}input[type=checkbox]:where(:not(.switch-input)):disabled,input[type=radio]:disabled{opacity:.5;cursor:default}input:focus,select:focus,textarea:focus,.ms-btn:focus{outline:var(--focus-ring-width) solid var(--color-focus-ring);border-color:var(--color-primary)}:focus-visible{outline:var(--focus-ring-width) solid var(--color-primary);outline-offset:var(--focus-ring-width)}.field{gap:var(--space-2);flex-direction:column;display:flex}.field-label{font-size:var(--font-size-md);color:var(--color-text)}.field>.field-label em,.setting-label em{color:var(--tone-danger-fg);font-style:normal;font-weight:var(--font-weight-bold);margin-left:var(--required-mark-gap)}.field input,.field select,.field textarea{width:100%}.field-error{color:var(--tone-danger-fg);font-size:var(--font-size-md)}.field .multi-select{display:block}.field .ms-btn{justify-content:space-between;width:100%}.field .ms-opt>input{width:var(--checkbox-size)}.form-stack{gap:var(--space-4);flex-direction:column;display:flex}.form-stack>p{margin:0}.filterbar{min-height:var(--filterbar-height);background:var(--color-panel);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);align-items:center;gap:var(--space-4);padding:var(--space-3) var(--space-4);flex-wrap:wrap;display:flex}.filterbar .fb-fields{align-items:center;gap:var(--space-4);flex-wrap:wrap;flex:1;display:flex}.filterbar .fb-actions,.filterbar .fb-inline{align-items:center;gap:var(--space-2);display:flex}.filterbar .fb-inline>span{font-size:var(--font-size-md);color:var(--color-text-muted)}.filterbar .fb-buttons{align-items:center;gap:var(--space-2);display:flex}.preset-group{gap:var(--chip-gap);background:var(--color-surface-subtle-2);border-radius:var(--radius-pill);padding:var(--chip-gap);display:inline-flex}.preset-group button{color:var(--color-text);height:var(--chip-height);padding:var(--pad-chip);font-size:var(--font-size-md);cursor:pointer;border-radius:var(--radius-pill);white-space:nowrap;background:0 0;border:0;font-family:inherit}.preset-group button:not([aria-pressed=true]):not([aria-selected=true]){background:var(--color-surface-subtle-2)}.filterbar .preset-group button:not([aria-pressed=true]):not([aria-selected=true]){background:var(--color-surface-subtle)}.preset-group button:hover:not(:disabled):not([aria-pressed=true]):not([aria-selected=true]){background:var(--color-border)}.preset-group button:disabled{opacity:.5;cursor:default}.panel .preset-group button{font-size:var(--font-size-xs)}.preset-group button[aria-pressed=true],.preset-group button[aria-selected=true]{background:var(--color-primary);color:var(--color-text-invert);font-weight:var(--font-weight-bold);position:relative}.grid-wrap{overflow-x:auto}table.data-grid{border-collapse:separate;border-spacing:0 var(--grid-row-gap);width:100%;font-size:var(--font-size-md)}.data-grid th{height:var(--grid-header-height);text-align:left;color:var(--color-text-muted);font-weight:var(--font-weight-regular);font-size:var(--font-size-xs);padding:0 var(--grid-cell-pad-x);white-space:nowrap}.data-grid th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.data-grid th.sortable:hover{color:var(--color-text)}.data-grid th .sort-mark{margin-left:var(--space-1);color:var(--color-primary)}.data-grid td{height:var(--grid-row-height);padding:0 var(--grid-cell-pad-x);background:var(--tone-row-base);white-space:nowrap;color:var(--color-text-strong)}.data-grid td.strong{font-weight:var(--font-weight-bold)}.data-grid tbody tr[data-tone=warn] td.strong{color:var(--tone-warn-fg)}.data-grid tbody tr[data-tone=danger] td.strong{color:var(--tone-danger-fg)}.data-grid td.muted{color:var(--color-text-muted);font-size:var(--font-size-md)}.dt-break{white-space:normal}.dt-break>span{white-space:nowrap}.at-break{white-space:normal}.at-break>span{white-space:nowrap}.data-grid td.text-ok{color:var(--tone-ok-fg)}.data-grid td.text-warn{color:var(--tone-warn-fg)}.data-grid td.text-danger{color:var(--tone-danger-fg)}.use-flag{font-weight:var(--font-weight-bold);color:var(--color-text-muted)}.use-flag[data-on=true]{color:var(--color-primary)}.data-grid td:first-child{border-radius:var(--radius-control) 0 0 var(--radius-control)}.data-grid td:last-child{border-radius:0 var(--radius-control) var(--radius-control) 0}.data-grid tbody tr[data-tone=warn] td{background:var(--tone-warn-row)}.data-grid tbody tr[data-tone=danger] td{background:var(--tone-danger-row)}.alert-rows tbody tr[data-tone=ok] td{background:var(--tone-ok-row)}.data-grid tbody tr[data-tone=ok] td.tone-fg{color:var(--tone-ok-fg)}.data-grid tbody tr[data-tone=warn] td.tone-fg{color:var(--tone-warn-fg)}.data-grid tbody tr[data-tone=danger] td.tone-fg{color:var(--tone-danger-fg)}.alert-rows tbody tr[data-tone] td.strong{color:var(--color-text-strong)}.data-grid tr.clickable{cursor:pointer}.data-grid tbody tr:hover td{background:var(--color-row-hover)}.data-grid tbody tr.selected td,.data-grid tbody tr.selected:hover td{background:var(--color-row-selected)}.data-grid td.num,.data-grid th.num{text-align:right;font-variant-numeric:tabular-nums}.data-grid td.empty{text-align:center;color:var(--color-text-muted);padding:var(--space-12) var(--space-3)}.grid-count{margin-bottom:var(--space-2);text-align:right;font-size:var(--font-size-xs);color:var(--color-text-muted)}.grid-foot[hidden]{display:none}.grid-foot{justify-content:space-between;align-items:center;gap:var(--space-4);margin-top:var(--space-3);font-size:var(--font-size-xs);color:var(--color-text-muted);display:flex}.grid-foot .pages{align-items:center;gap:var(--space-2);display:flex}.grid-foot .pages select{height:var(--control-height-sm);padding-block:0}.grid-foot .pages .cur{background:var(--color-primary);color:var(--color-text-invert);border-radius:var(--radius-control);padding:var(--space-1) var(--space-2);font-weight:var(--font-weight-bold);font-size:var(--font-size-md)}.modal-back{background:var(--color-overlay);z-index:var(--z-modal);padding:var(--space-5);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{background:var(--color-panel);border-radius:var(--radius-xl);box-shadow:var(--shadow-modal);flex-direction:column;max-width:100%;max-height:88vh;display:flex}.modal[data-size=xl]{width:var(--modal-width-xl)}.role-perms{gap:var(--space-2);flex-direction:column;display:flex}.modal[data-size=lg]{width:var(--modal-width-lg)}.modal[data-size=md]{width:var(--modal-width-md)}.modal[data-size=sm]{width:var(--modal-width-sm)}.modal-head{padding:var(--space-4) var(--space-5);justify-content:space-between;align-items:center;display:flex}.modal-head b{font-size:var(--font-size-2xl);color:var(--color-text-strong)}.modal-body{padding:var(--space-4) var(--space-5);overflow-y:auto}.modal-body>p:first-child,.panel>p:first-child{margin-top:0}.modal-body>p:last-child,.panel>p:last-child{margin-bottom:0}.modal-foot{gap:var(--space-2);padding:var(--space-4) var(--space-5);grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;display:grid}.modal-head .btn-ghost.btn-mini{color:var(--color-text-placeholder);font-weight:var(--font-weight-regular);background:0 0}.modal-head .btn-ghost.btn-mini:hover{color:var(--color-text-muted);background:0 0}.info-row{align-items:baseline;gap:var(--space-4);padding:var(--space-2) 0;display:flex}.info-row>.field-label{flex:0 0 var(--form-label-width)}.info-row>.info-val{font-size:var(--font-size-base);color:var(--color-text-strong)}.switch-row{align-items:center;gap:var(--space-2);min-height:var(--control-height);display:flex}.modal .ms-caret{color:var(--color-text-placeholder)}.preview-box{margin:var(--space-4) 0 0;padding:var(--space-3);border-radius:var(--radius-control);background:var(--color-primary-soft);color:var(--color-primary-hover);font-size:var(--font-size-xs)}.tab-cards{gap:var(--space-1);width:fit-content;padding:var(--space-2);background:var(--color-panel);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);display:flex}.tab-card{height:var(--control-height);padding:0 var(--space-5);border-radius:var(--radius-control);background:var(--color-panel);font-family:inherit;font-size:var(--font-size-md);font-weight:var(--font-weight-regular);color:var(--color-text);white-space:nowrap;cursor:pointer;border:0;flex-direction:column;justify-content:center;align-items:center;display:inline-flex}.tab-card .t-title{align-items:center;gap:var(--space-2);display:inline-flex}.tab-card:hover:not([aria-selected=true]){background:var(--color-gnb-hover-bg)}.tab-card[aria-selected=true]{background:var(--color-primary);color:var(--color-text-invert);font-weight:var(--font-weight-bold)}.tab-card:after,.text-tab:after{content:attr(data-label) / "";visibility:hidden;height:0;font-weight:var(--font-weight-bold);overflow:hidden}.text-tabs{gap:var(--space-4);display:flex}.text-tab{height:var(--control-height);cursor:pointer;font-family:inherit;font-size:var(--font-size-md);font-weight:var(--font-weight-regular);color:var(--color-text-muted);white-space:nowrap;background:0 0;border:0;flex-direction:column;justify-content:center;align-items:center;padding:0;display:inline-flex}.text-tab:hover:not([aria-selected=true]){color:var(--color-text)}.text-tab[aria-selected=true]{color:var(--color-primary);font-weight:var(--font-weight-bold)}.kpi-row{gap:var(--kpi-gap);grid-auto-columns:1fr;grid-auto-flow:column;display:grid}.kpi-card{height:var(--kpi-row-height);background:var(--color-panel);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);padding:var(--pad-card);text-align:left;color:inherit;flex-direction:column;justify-content:center;font-family:inherit;display:flex}button.kpi-card{cursor:pointer}button.kpi-card:hover{background:var(--color-primary-soft)}.kpi-card.filled[data-tone=ok]{background:var(--tone-ok-row)}.kpi-card.filled[data-tone=warn]{background:var(--tone-warn-row)}.kpi-card.filled[data-tone=danger]{background:var(--tone-danger-row)}.kpi-card .k-label{font-size:var(--font-size-md);color:var(--color-text-muted);gap:var(--space-1);align-items:center;display:flex}.kpi-card .k-value{font-size:var(--font-size-kpi-value);font-weight:var(--font-weight-bold);margin-top:var(--space-1);font-variant-numeric:tabular-nums;color:var(--color-text-strong)}.kpi-card[data-tone=ok] .k-value{color:var(--tone-ok-fg)}.kpi-card[data-tone=warn] .k-value{color:var(--tone-warn-icon)}.kpi-card[data-tone=danger] .k-value{color:var(--tone-danger-icon)}.kpi-card[data-tone=offline] .k-value{color:var(--tone-offline-fg)}.kpi-card[data-tone=muted] .k-value{color:var(--tone-muted-fg)}.kpi-card.filled[data-tone=danger] .k-label,.kpi-card.filled[data-tone=danger] .k-value{color:var(--tone-danger-fg)}.kpi-card .k-value .k-unit{font-size:var(--font-size-md);font-weight:var(--font-weight-regular);color:var(--color-text-muted);margin-left:var(--space-1)}.kpi-card .k-label .k-note{font-size:var(--font-size-md);color:var(--color-text-muted);white-space:nowrap}.state-view{justify-content:center;align-items:center;gap:var(--space-3);padding:var(--space-12) var(--space-4);color:var(--color-text-muted);text-align:center;flex-direction:column;display:flex}.state-view .s-icon{display:inline-flex}.state-view .s-icon svg{width:var(--font-size-3xl);height:var(--font-size-3xl)}.state-view .s-msg{font-size:var(--font-size-md)}.state-view .s-hint{font-size:var(--font-size-xs)}.not-found-view{background:var(--color-bg);justify-content:center;align-items:center;min-height:100vh;display:flex}.skeleton{background:linear-gradient(90deg, var(--color-border) 25%, var(--color-bg) 50%, var(--color-border) 75%);animation:skeleton-shimmer var(--skeleton-shimmer-duration) ease-in-out infinite;border-radius:var(--radius-control);background-size:400% 100%}@keyframes skeleton-shimmer{0%{background-position:100% 0}to{background-position:0 0}}@media (prefers-reduced-motion:reduce){.skeleton{animation:none}}.skeleton-stack{gap:var(--space-2);flex-direction:column;display:flex}.toast-area{top:var(--space-5);right:var(--space-5);z-index:var(--z-toast);gap:var(--space-2);flex-direction:column;display:flex;position:fixed}.toast{background:var(--color-panel);border:var(--border-width) solid var(--color-border);border-left:var(--space-1) solid var(--color-primary);border-radius:var(--radius-control);box-shadow:var(--shadow-md);padding:var(--space-3) var(--space-4);align-items:center;gap:var(--space-3);font-size:var(--font-size-md);display:flex}.toast[data-tone=warn]{border-left-color:var(--tone-warn-fg)}.chart-box{height:var(--chart-height);width:100%;position:relative}.chart-box .chart-caption{top:var(--chart-margin-top);right:var(--chart-margin-right);z-index:1;font-size:var(--font-size-md);line-height:var(--line-height-base);color:var(--chart-axis-text);white-space:nowrap;pointer-events:none;position:absolute}.chart-box .recharts-line-curve{stroke:var(--chart-line);stroke-width:var(--chart-line-width);fill:none}.chart-box .chart-ref-warn line,.chart-box .chart-ref-danger line{stroke-dasharray:var(--chart-threshold-dash)}.chart-box .chart-ref-warn line{stroke:var(--chart-threshold-warn)}.chart-box .chart-ref-danger line{stroke:var(--chart-threshold-danger)}.chart-box .recharts-rectangle.recharts-tooltip-cursor{fill:var(--color-border)}.chart-box .recharts-curve.recharts-tooltip-cursor{stroke:var(--color-border);fill:none}.chart-box .recharts-active-dot .recharts-dot{fill:var(--chart-line);stroke:var(--color-panel)}.chart-box .chart-band path,.chart-box .chart-band rect{fill-opacity:1;stroke:none}.chart-box .chart-band.tone-ok path,.chart-box .chart-band.tone-ok rect{fill:var(--tone-ok-row)}.chart-box .chart-band.tone-warn path,.chart-box .chart-band.tone-warn rect{fill:var(--tone-warn-row)}.chart-box .chart-band.tone-danger path,.chart-box .chart-band.tone-danger rect{fill:var(--tone-danger-bg)}.chart-box .chart-dot{r:var(--chart-dot-radius);fill:var(--chart-line);stroke:var(--color-panel);stroke-width:var(--chart-dot-stroke-width)}.chart-box .chart-dot.tone-ok{fill:var(--tone-ok-icon)}.chart-box .chart-dot.tone-warn{fill:var(--tone-warn-icon)}.chart-box .chart-dot.tone-danger{fill:var(--tone-danger-icon)}.chart-box .chart-dot.tone-offline{fill:var(--tone-offline-fg)}.chart-box .chart-dot.tone-neutral{fill:var(--tone-neutral-fg)}.chart-box .chart-dot.tone-muted{fill:var(--tone-muted-fg)}.chart-box .chart-dot.tone-info{fill:var(--tone-info-fg)}.chart-box .chart-series.series-1 .recharts-line-curve{stroke:var(--chart-series-1)}.chart-box .chart-series.series-2 .recharts-line-curve{stroke:var(--chart-series-2)}.chart-box .chart-series.series-3 .recharts-line-curve{stroke:var(--chart-series-3)}.chart-box .chart-series.series-4 .recharts-line-curve{stroke:var(--chart-series-4)}.chart-box .chart-series.series-5 .recharts-line-curve{stroke:var(--chart-series-5)}.chart-box .chart-dot.tone-default[data-series="1"]{fill:var(--chart-series-1)}.chart-box .chart-dot.tone-default[data-series="2"]{fill:var(--chart-series-2)}.chart-box .chart-dot.tone-default[data-series="3"]{fill:var(--chart-series-3)}.chart-box .chart-dot.tone-default[data-series="4"]{fill:var(--chart-series-4)}.chart-box .chart-dot.tone-default[data-series="5"]{fill:var(--chart-series-5)}.chart-tip{background:var(--color-panel);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-control);box-shadow:var(--shadow-sm);padding:var(--space-2) var(--space-3);font-size:var(--font-size-md);color:var(--color-text);white-space:nowrap}.chart-tip .ct-head{color:var(--color-text-muted);margin-bottom:var(--space-1)}.chart-tip .ct-line+.ct-line{margin-top:var(--space-1)}.chart-tip .ct-cols{gap:var(--space-3);display:flex}.chart-tip .ct-col+.ct-col{border-left:var(--border-width) solid var(--color-border);padding-left:var(--space-3)}.chart-box path.chart-bar-track,.chart-box rect.chart-bar-track{fill:var(--chart-bar-track)}.chart-box .chart-bar-ok path,.chart-box .chart-bar-ok rect{fill:var(--tone-ok-icon)}.chart-box .chart-bar-warn path,.chart-box .chart-bar-warn rect{fill:var(--tone-warn-icon)}.chart-box .chart-bar-danger path,.chart-box .chart-bar-danger rect{fill:var(--tone-danger-icon)}.chart-box .chart-no-data{fill:var(--color-text-muted);font-size:var(--font-size-md)}.chart-box .chart-bar-count{fill:var(--color-text-invert);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);pointer-events:none}.tone-legend{align-items:center;gap:var(--space-3);font-size:var(--font-size-xs);color:var(--color-text-muted);flex-wrap:wrap;display:flex}.tone-legend .tl-item{align-items:center;gap:var(--space-2);display:inline-flex}.series-legend .series-dot{width:var(--chart-legend-dot-size);height:var(--chart-legend-dot-size);border-radius:var(--radius-pill);background:var(--chart-series-1);flex-shrink:0;display:inline-block}.series-legend .series-dot[data-series="2"]{background:var(--chart-series-2)}.series-legend .series-dot[data-series="3"]{background:var(--chart-series-3)}.series-legend .series-dot[data-series="4"]{background:var(--chart-series-4)}.series-legend .series-dot[data-series="5"]{background:var(--chart-series-5)}.ph-tools .series-legend:not(:last-child){margin-right:var(--space-2)}.site-map{gap:var(--space-2);flex-direction:column;display:flex}.map-chips{flex-wrap:wrap}.map-frame{isolation:isolate;position:relative}.map-canvas{height:var(--map-height);min-height:var(--map-min-height);border-radius:var(--radius-xl);overflow:hidden}.map-canvas.leaflet-container{background:var(--map-water-fill);font-family:var(--font-sans);font-size:var(--font-size-md)}.map-canvas.leaflet-container:focus-visible{outline-offset:var(--focus-ring-width)}.map-region{fill:var(--map-region-fill);fill-opacity:1;stroke:var(--map-region-stroke);stroke-width:var(--map-region-stroke-width)}.map-marker{fill-opacity:1;cursor:pointer;stroke:var(--color-panel);stroke-width:var(--map-marker-stroke-width)}.map-marker.tone-ok{fill:var(--tone-ok-icon)}.map-marker.tone-warn{fill:var(--tone-warn-icon)}.map-marker.tone-danger{fill:var(--tone-danger-icon)}.map-marker.tone-offline{fill:var(--tone-offline-fg)}.map-marker.tone-neutral{fill:var(--tone-neutral-fg)}.map-marker.tone-muted{fill:var(--tone-muted-fg)}.map-marker.tone-info{fill:var(--tone-info-fg)}.map-marker.tone-muted{fill:var(--color-panel);stroke:var(--tone-muted-fg);stroke-width:var(--border-width-strong)}.map-marker.is-selected{stroke:var(--color-primary)}.leaflet-tooltip.map-label{border-radius:var(--radius-pill);box-shadow:var(--shadow-pin);background:var(--color-panel);color:var(--color-text);font-size:var(--font-size-xs);font-weight:var(--font-weight-regular);padding:var(--pad-chip);white-space:nowrap;border:0}.leaflet-tooltip.map-label .ml-pill{align-items:center;gap:var(--space-2);display:flex}.leaflet-tooltip.map-label[data-tone=warn]{color:var(--tone-warn-fg);font-weight:var(--font-weight-bold)}.leaflet-tooltip.map-label[data-tone=danger]{color:var(--tone-danger-fg);font-weight:var(--font-weight-bold)}.leaflet-tooltip.map-label:before{display:none}.leaflet-tooltip.map-label{outline:var(--border-width-strong) solid var(--color-panel)}.leaflet-tooltip.map-label.is-selected{z-index:var(--z-popover);outline-color:var(--color-primary)}.leaflet-tooltip.map-label[data-tone=warn]{background:var(--tone-warn-bg)}.leaflet-tooltip.map-label[data-tone=danger]{background:var(--tone-danger-bg)}.leaflet-tooltip.map-label{display:none}.leaflet-tooltip.map-label.is-selected,.leaflet-tooltip.map-label.is-hover{display:block}.map-canvas:has(.leaflet-tooltip.map-label.is-hover) .leaflet-tooltip.map-label.is-selected:not(.is-hover){display:none}.leaflet-tooltip.map-region-label{box-shadow:none;color:var(--map-region-label);font-size:var(--font-size-md);font-weight:var(--font-weight-bold);background:0 0;border:0;padding:0}.leaflet-tooltip.map-region-label:before,.leaflet-tooltip.map-region-label.is-hidden{display:none}.map-leader{fill:none;stroke:var(--map-leader-stroke);stroke-width:var(--map-leader-width);stroke-opacity:var(--map-leader-opacity);pointer-events:none}.map-cover{z-index:var(--z-map-overlay);background:var(--color-panel);border-radius:var(--radius-xl);justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.map-fit{top:var(--space-2);right:var(--space-2);z-index:var(--z-map-overlay);position:absolute}.map-canvas.leaflet-container .leaflet-control-zoom{margin:var(--space-2) 0 0 var(--space-2);gap:var(--space-1);box-shadow:none;background:0 0;border:0;border-radius:0;flex-direction:column;display:flex}.map-canvas.leaflet-container .leaflet-control-zoom.leaflet-bar a{width:var(--control-height-sm);height:var(--control-height-sm);line-height:var(--control-height-sm);font-family:inherit;font-size:var(--font-size-2xl);font-weight:var(--font-weight-regular);text-indent:0;justify-content:center;align-items:center;display:flex}.map-ctl,.map-canvas.leaflet-container .leaflet-control-zoom.leaflet-bar a{background:var(--color-panel);color:var(--color-text);border:var(--border-width) solid var(--color-border-input);border-radius:var(--radius-control);box-shadow:var(--shadow-sm);cursor:pointer}.map-ctl{white-space:nowrap;justify-content:center;align-items:center;display:inline-flex}.map-ctl:hover:not(:disabled),.map-canvas.leaflet-container .leaflet-control-zoom.leaflet-bar a:hover:not(.leaflet-disabled){background:var(--color-surface-subtle-2)}.map-ctl:active:not(:disabled),.map-canvas.leaflet-container .leaflet-control-zoom.leaflet-bar a:active:not(.leaflet-disabled){background:var(--color-border)}.map-ctl:disabled,.map-canvas.leaflet-container .leaflet-control-zoom.leaflet-bar a.leaflet-disabled{opacity:.5;cursor:default}.map-foot{justify-content:space-between;align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.dsh-body,.mnt-top,.mnt-bottom,.dgw-mid{gap:var(--layout-section-gap);align-items:stretch;display:grid}.dsh-body{grid-template-columns:var(--dsh-body-cols)}.mnt-top{grid-template-columns:var(--mnt-top-cols)}.mnt-bottom{grid-template-columns:var(--mnt-bottom-cols)}.dgw-mid{grid-template-columns:var(--dgw-mid-cols)}.dsh-body>*,.mnt-top>*,.mnt-bottom>*,.dgw-mid>*{min-width:0}.dsh-body{height:var(--dsh-mid-height)}.mnt-top{height:var(--mnt-top-height)}.mnt-bottom{height:var(--mnt-bottom-height)}.dgw-mid{height:var(--dgw-mid-height)}.dsh-body>.panel,.mnt-top>.panel,.mnt-bottom>.panel,.dgw-mid>.panel{grid-template-rows:auto minmax(0,1fr);display:grid;overflow:hidden}.dsh-body>.panel>:last-child,.mnt-top>.panel>:last-child,.mnt-bottom>.panel>:last-child,.dgw-mid>.panel>:last-child{min-height:0;overflow:auto}.dsh-body>.panel>.chart-box,.mnt-top>.panel>.chart-box,.mnt-bottom>.panel>.chart-box,.dgw-mid>.panel>.chart-box{overflow:hidden}.arm-mid{grid-template-columns:var(--arm-mid-cols);gap:var(--layout-section-gap);align-items:start;display:grid}.arm-mid>*{min-width:0}.content>.arm-mid{flex:1 0 auto}.arm-mid>.arm-list{flex-direction:column;align-self:stretch;display:flex}.arm-mid>.arm-list>.grid-box{flex-direction:column;flex:1;min-height:0;display:flex}.arm-mid>.arm-list>.grid-box>.grid-wrap{flex:1;min-height:0}.arm-side{gap:var(--layout-section-gap);flex-direction:column;display:flex}.panel.arm-action{gap:var(--space-2);flex-direction:column;display:flex}.panel.arm-action>p{margin:0}.arm-acts{gap:var(--space-2);grid-auto-columns:1fr;grid-auto-flow:column;display:grid}.kv-list.arm-detail{gap:var(--space-3);grid-template-columns:1fr 1fr;align-content:start;display:grid}.kv-list.arm-detail .kv-row{align-items:stretch;gap:var(--space-1);min-height:0;padding:var(--arm-detail-pad);border-radius:var(--radius-control);flex-direction:column}.kv-list.arm-detail .kv-row.wide{grid-column:1/-1}.kv-list.arm-detail .kv-name{font-size:var(--font-size-xs);color:var(--color-text-muted);flex:none}.kv-list.arm-detail .kv-row[data-tone=danger] .kv-name,.kv-list.arm-detail .kv-row[data-tone=danger] .kv-val{color:var(--tone-danger-fg)}.kv-list.arm-detail .kv-row[data-tone=warn] .kv-name,.kv-list.arm-detail .kv-row[data-tone=warn] .kv-val{color:var(--tone-warn-fg)}.content>.list-card,.content>.list-card>.grid-box{flex-direction:column;flex:1;min-height:0;display:flex}.content>.list-card>.grid-box>.grid-wrap{flex:1;min-height:0;overflow:auto}.form-2col{gap:var(--space-4);grid-template-columns:1fr 1fr;display:grid}.form-2col>.wide{grid-column:1/-1}.field-pair{gap:var(--space-2);flex-direction:column;display:flex}.field-note{word-break:keep-all}.check-group.items-grid{grid-template-columns:repeat(auto-fill, minmax(var(--check-item-min-width), 1fr));display:grid}.check-group.items-grid legend{grid-column:1/-1}.check-group.items-grid label{min-width:0}.check-group.items-grid .ci-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.panel.dgw-anomaly{height:var(--dgw-table-height);grid-template-rows:auto minmax(0,1fr);display:grid;overflow:hidden}.panel.dgw-anomaly>:last-child{min-height:0;overflow:auto}.panel.sdt-trend{height:var(--sdt-trend-height);grid-template-rows:auto minmax(0,1fr);overflow:hidden}.panel.sdt-trend>:last-child{min-height:0}.asof-bar{justify-content:flex-end;align-items:center;display:flex}.asof-bar .ab-time{font-size:var(--font-size-md);color:var(--color-text-muted);font-variant-numeric:tabular-nums}.asof-bar .ab-tools{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.asof-bar .ab-busy{font-size:var(--font-size-md);color:var(--color-text-muted)}.cell-inline{align-items:center;gap:var(--space-2);display:inline-flex}.cell-stack{gap:var(--space-1);flex-direction:column;line-height:1.2;display:inline-flex}.cell-stack .cell-sub{font-size:var(--font-size-xs);font-weight:var(--font-weight-regular);color:var(--color-text-muted)}.visually-hidden{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.data-grid thead.visually-hidden th{height:0;min-height:0;padding:0;font-size:0;line-height:0}.mnt-top .data-grid td{color:var(--color-text-muted)}.mnt-top .data-grid td.strong{font-weight:var(--font-weight-medium);color:var(--color-text-strong)}.mnt-top .data-grid tr.selected td.strong{font-weight:var(--font-weight-bold)}.mnt-top .data-grid tbody tr[data-tone=danger] td{color:var(--tone-danger-fg)}.mnt-top .data-grid tbody tr[data-tone=warn] td.strong,.mnt-top .data-grid tbody tr[data-tone=danger] td.strong{color:var(--color-text-strong)}.panel-warning{margin-bottom:var(--space-2);font-size:var(--font-size-md);color:var(--tone-warn-fg)}.kv-list{gap:var(--space-2);flex-direction:column;display:flex}.kv-list.two-col{column-gap:var(--space-2);row-gap:var(--space-2);grid-template-columns:1fr 1fr;align-content:start;display:grid}.kv-row{align-items:center;gap:var(--space-3);min-height:var(--kv-row-height);padding:0 var(--grid-cell-pad-x);border-radius:var(--radius-control);background:var(--tone-row-base);font-size:var(--font-size-md);display:flex}.kv-list.two-col .kv-row{min-height:var(--kv-row-height-lg)}.kv-row[data-tone=warn]{background:var(--tone-warn-row)}.kv-row[data-tone=danger]{background:var(--tone-danger-row)}.kv-row .kv-name{color:var(--color-text-strong);flex:1}.kv-row .kv-val{font-weight:var(--font-weight-bold);font-variant-numeric:tabular-nums;color:var(--color-text-strong)}.kv-row .kv-unit{margin-left:var(--space-1);font-size:var(--font-size-md);font-weight:var(--font-weight-regular);color:var(--color-text-muted)}.dsh-body .kv-row{gap:var(--dsh-kv-gap);min-height:var(--dsh-kv-row-height)}.dsh-body .kv-row .kv-name,.dsh-body .kv-row .kv-val{white-space:nowrap}.kv-row[data-empty] .kv-name,.kv-row[data-empty] .kv-val,.kv-row[data-stale] .kv-name,.kv-row[data-stale] .kv-val{color:var(--color-text-muted)}.kv-list.two-col .kv-row .kv-name{font-size:var(--font-size-md);color:var(--color-text-muted)}.kv-list.two-col .kv-row[data-tone=warn] .kv-name{color:var(--tone-warn-fg)}.kv-list.two-col .kv-row .kv-val{font-size:var(--font-size-2xl)}.kv-list.avg-list .kv-row{min-height:var(--kv-row-height-avg)}.avg-group-head{margin:var(--space-3) 0 var(--space-1);font-size:var(--font-size-xs);font-weight:var(--font-weight-regular);line-height:var(--line-height-base);color:var(--color-text-muted)}.alert-group+.alert-group{margin-top:var(--space-4)}.alert-group .ag-head{align-items:center;gap:var(--space-2);font-size:var(--font-size-md);margin-bottom:var(--space-1);display:flex}.alert-group .ag-count{color:var(--color-text-muted);font-variant-numeric:tabular-nums;margin-left:auto}.alert-line{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--grid-cell-pad-x);border-radius:var(--radius-control);background:var(--tone-row-base);font-size:var(--font-size-md);display:flex}.alert-line[data-tone=ok]{background:var(--tone-ok-row)}.alert-line[data-tone=warn]{background:var(--tone-warn-row)}.alert-line[data-tone=danger]{background:var(--tone-danger-row)}.alert-line .al-site{font-size:var(--font-size-md);font-weight:var(--font-weight-bold);color:var(--color-text-strong)}.alert-line .al-time{font-size:var(--font-size-md);color:var(--color-text-muted);font-variant-numeric:tabular-nums;margin-left:auto}.alert-line[data-tone=ok] .al-time{color:var(--tone-ok-fg)}.alert-line[data-tone=warn] .al-time{color:var(--tone-warn-fg)}.alert-line[data-tone=danger] .al-time{color:var(--tone-danger-fg)}.dsh-body .alert-line{align-content:center;row-gap:var(--space-1);min-height:var(--alert-line-height);grid-template-columns:minmax(0,1fr) auto;display:grid}.dsh-body .alert-line .al-site{grid-area:1/1}.dsh-body .alert-line .badge-status{grid-area:1/2;justify-self:end}.dsh-body .alert-line .kv-name{grid-area:2/1}.dsh-body .alert-line .al-time{grid-area:2/2;justify-self:end;margin-left:0}.panel-head .ph-note{margin-left:var(--space-2);font-size:var(--font-size-md);color:var(--color-text-muted);font-weight:var(--font-weight-regular)}.panel-head .ph-note.strong{font-size:var(--font-size-md);font-weight:var(--font-weight-medium);color:var(--color-text)}.tab-rows{gap:var(--space-2);margin-bottom:var(--space-3);flex-direction:column;display:flex}.tab-rows .preset-group{flex-wrap:wrap}:is(.panel:has(>.site-map),.panel:has(>.tab-rows)){grid-template-columns:minmax(0,1fr) auto;align-items:center;display:grid}:is(.panel:has(>.site-map)>.panel-head,.panel:has(>.tab-rows)>.panel-head){margin-bottom:0}.panel>.site-map{display:contents}.site-map>.map-chips,.panel>.tab-rows{justify-self:end}.panel>.tab-rows{flex-direction:row;margin-bottom:0}.site-map>.map-frame{margin-top:var(--space-3);grid-column:1/-1;align-self:stretch}.panel:has(>.site-map) .map-canvas{height:100%;min-height:0}.panel>.site-map>.map-foot{margin-top:var(--space-2)}.panel:has(>.tab-rows){row-gap:var(--space-3)}.panel>.tab-rows~*{grid-column:1/-1;align-self:stretch}.mnt-bottom>.panel:has(>.tab-rows){grid-template-columns:var(--mnt-series-cols);grid-template-rows:var(--mnt-series-rows)}.mnt-bottom>.panel>.tab-rows{justify-self:var(--mnt-series-tabs-justify);flex-wrap:wrap}.page-shell{gap:var(--space-2);flex-direction:column;display:flex}.page-shell .p-id{font-size:var(--font-size-md);color:var(--color-text-muted)}.page-shell .p-title{font-size:var(--font-size-base);margin:0}.page-shell .p-note{font-size:var(--font-size-md);color:var(--color-text-muted)}.muted{color:var(--color-text-muted);font-size:var(--font-size-xs)}.login-wrap{background:var(--color-bg);justify-content:center;align-items:center;min-height:100vh;display:flex}.login-card{grid-template-columns:var(--login-brand-width) var(--login-form-width);width:var(--login-card-width);min-height:var(--login-card-height);background:var(--color-panel);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);display:grid;overflow:hidden}.login-hero{background:var(--color-brand-nav);color:var(--color-text-invert);justify-content:center;align-items:center;gap:var(--space-4);padding:var(--pad-panel);text-align:center;flex-direction:column;display:flex}.login-hero .login-logo{width:var(--login-logo-width);object-fit:contain;height:auto}.login-hero h1{font-size:var(--font-size-2xl);margin:0}.login-hero .login-version{font-size:var(--font-size-xs);color:var(--color-text-invert);margin:0}.login-hero .muted{color:var(--color-text-invert);font-size:var(--font-size-base);font-weight:var(--font-weight-bold)}.login-form{background:var(--color-panel);justify-content:center;align-items:center;display:flex}.login-box{width:100%;padding:0 var(--space-12)}.login-box h2{margin:0 0 var(--space-1);font-size:var(--font-size-2xl);color:var(--color-text-strong)}.login-box .field{margin:var(--space-4) 0}.login-box .btn{width:100%;margin-top:var(--space-2)}.login-box .save-id{align-items:center;gap:var(--space-2);font-size:var(--font-size-md);display:flex}@media (max-width:900px){.login-card{grid-template-columns:1fr;width:100%}.login-hero{display:none}}@media print{html,body{background:var(--color-panel)}.gnb,.topbar,.app-footer,.filterbar,.toast-area,.modal-back,button,.btn,.btn-ghost,.preset-group,.grid-foot .pages{display:none!important}.shell{height:auto;display:block;overflow:visible}.main{background:0 0;padding:0;display:block;overflow:visible}.content{padding:0;overflow:visible}.main>.content,.shell.collapsed .main>.content{min-width:0}.panel{border:var(--border-width) solid var(--color-border);box-shadow:none;break-inside:avoid}.data-grid th{background:var(--color-panel)}.grid-wrap{overflow:visible}.skeleton{animation:none}}
