@font-face{font-family:Proxima Nova;src:url(/assets/ProximaNova-Regular-6iL5fLYO.otf) format("opentype");font-style:normal;font-weight:400;font-display:swap}@font-face{font-family:Proxima Nova;src:url(/assets/ProximaNova-Semibold_3872794340-BI3UiExG.otf) format("opentype");font-style:normal;font-weight:600;font-display:swap}@font-face{font-family:Proxima Nova;src:url(/assets/ProximaNova-Bold-5rWCmH0T.otf) format("opentype");font-style:normal;font-weight:700;font-display:swap}:root{color-scheme:light;--bg: #fafafa;--surface: #ffffff;--surface-soft: #fafafa;--table-header-bg: #fafafa;--table-header-hover: #f5f5f5;--line: #ebebeb;--line-strong: #d4d4d4;--text: #525252;--text-strong: #171717;--muted: #737373;--blue: #0070f3;--blue-soft: rgba(0, 112, 243, .1);--green: #0f973d;--rail: #fcfcfc;--topbar-icon-bg: transparent;--topbar-icon-color: #737373;--card-shadow: 0 1px 2px rgba(0, 0, 0, .03);--control-bg: #ffffff;--control-bg-hover: #fafafa;--control-border: #e5e5e5;--control-border-strong: #a3a3a3;--control-text: #171717;--control-shadow: rgba(0, 112, 243, .16);--tag-bg: #fafafa;--tag-border: #e5e5e5;--table-hover: #fafafa;--radius-sm: 8px;--radius-md: 10px;--radius-lg: 14px;--radius-xl: 18px}:root[data-theme=dark]{color-scheme:dark;--bg: #000000;--surface: #0a0a0a;--surface-soft: #111111;--table-header-bg: #111111;--table-header-hover: #151515;--line: #1f1f1f;--line-strong: #2a2a2a;--text: #a3a3a3;--text-strong: #fafafa;--muted: #737373;--blue: #3291ff;--blue-soft: rgba(50, 145, 255, .16);--green: #30a46c;--rail: #050505;--topbar-icon-bg: #0f0f0f;--topbar-icon-color: #a3a3a3;--card-shadow: 0 0 0 1px rgba(255, 255, 255, .03), 0 8px 30px rgba(0, 0, 0, .32);--control-bg: #0a0a0a;--control-bg-hover: #111111;--control-border: #1f1f1f;--control-border-strong: #404040;--control-text: #fafafa;--control-shadow: rgba(50, 145, 255, .2);--tag-bg: #111111;--tag-border: #262626;--table-hover: rgba(255, 255, 255, .04);--radius-sm: 8px;--radius-md: 10px;--radius-lg: 14px;--radius-xl: 18px}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;background:var(--bg);font-family:Proxima Nova,-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;color:var(--text);font-size:14px}button,input,select,textarea{font:inherit}#root,#root *{font-family:inherit}.site-manager-shell{min-height:100vh}.app-sider{border-right:1px solid var(--line);background:var(--surface)!important;position:sticky!important;top:0;height:100vh;overflow:hidden;z-index:20}.app-sider.is-collapsed{min-width:88px!important;max-width:88px!important;width:88px!important}.app-sider .ant-layout-sider-children{display:flex;flex-direction:column;height:100%}.app-sider__brand{display:flex;align-items:center;gap:12px;height:72px;width:100%;padding:0 24px;border-bottom:1px solid var(--line);background:var(--surface);border-left:0;border-right:0;border-top:0;cursor:pointer;text-align:left}.app-sider.is-collapsed .app-sider__brand{justify-content:center;padding:0}.app-sider__brand:hover{background:var(--surface-soft)}.app-sider__brand-copy{display:flex;flex-direction:column;gap:2px}.app-rail__brand-logo{width:30px;height:30px;object-fit:contain}.app-sider__title.ant-typography{margin:0!important;font-family:Proxima Nova,-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif!important;font-size:16px!important;font-weight:600!important;line-height:1.2!important;letter-spacing:0!important}.app-sider__subtitle.ant-typography{font-size:11px;line-height:1.3;color:var(--muted)!important}.app-sider__menu{border-inline-end:0!important;flex:1;padding:18px 16px;overflow-y:auto;background:transparent!important}.app-sider.is-collapsed .app-sider__menu{padding:18px 0}.app-sider.is-collapsed .app-sider__menu .ant-menu{width:100%}.app-sider__menu .ant-menu-item,.app-sider__menu .ant-menu-submenu-title,.app-sider__menu .ant-menu-sub.ant-menu-inline>.ant-menu-item{border-radius:var(--radius-md);height:48px;min-height:48px;line-height:48px;margin-block:6px;padding-inline:18px!important;width:100%;box-sizing:border-box;font-size:14px;color:var(--text)!important;transition:background-color .16s ease,color .16s ease,box-shadow .16s ease}.app-sider__menu .ant-menu-item-group{margin-top:8px}.app-sider__menu .ant-menu-item-group-title{padding:18px 18px 10px!important;color:var(--muted)!important;font-size:14px!important;font-weight:600}.app-sider__menu .ant-menu-item-group-list{margin:0!important}.app-sider__menu .ant-menu-sub.ant-menu-inline{background:transparent!important;padding-inline-start:0!important}.app-sider__menu .ant-menu-sub.ant-menu-inline>.ant-menu-item{padding-inline:18px!important}.app-sider__menu .ant-menu-item-selected,.app-sider__menu .ant-menu-submenu-selected>.ant-menu-submenu-title{background:var(--surface-soft)!important;color:var(--text-strong)!important;font-weight:600;box-shadow:inset 0 0 0 1px var(--line)}.app-sider__menu .ant-menu-item-selected:hover,.app-sider__menu .ant-menu-item-selected:active,.app-sider__menu .ant-menu-submenu-selected>.ant-menu-submenu-title:hover,.app-sider__menu .ant-menu-submenu-selected>.ant-menu-submenu-title:active{background:var(--surface-soft)!important;color:var(--text-strong)!important;box-shadow:inset 0 0 0 1px var(--line)}.app-sider__menu .ant-menu-item:hover,.app-sider__menu .ant-menu-submenu-title:hover,.app-sider__menu .ant-menu-sub.ant-menu-inline>.ant-menu-item:hover{background:var(--surface-soft)!important;box-shadow:inset 0 0 0 1px var(--line)}.app-sider__menu .ant-menu-item:after{display:none}.app-sider__menu .ant-menu-submenu-title:after{display:none}.app-sider.is-collapsed .app-sider__menu .ant-menu-item,.app-sider.is-collapsed .app-sider__menu .ant-menu-submenu-title{display:grid;place-items:center;width:100%!important;min-width:100%;margin-inline:0;padding-inline:0!important;text-align:center}.app-sider.is-collapsed .app-sider__menu .ant-menu-title-content{display:none}.app-sider.is-collapsed .app-sider__menu .ant-menu-item .ant-menu-item-icon,.app-sider.is-collapsed .app-sider__menu .ant-menu-submenu-title .ant-menu-item-icon{display:flex;align-items:center;justify-content:center;width:48px;min-width:48px;height:48px;margin:0!important;font-size:18px;line-height:1}.app-sider.is-collapsed .app-sider__menu .ant-menu-submenu-arrow{display:none}.app-sider__footer{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px 24px 24px;border-top:1px solid var(--line)}.app-sider__footer-button{min-width:0}.app-sider__footer-toggle{margin-left:auto}.app-sider.is-collapsed .app-sider__footer{justify-content:center;padding-inline:0}.app-sider.is-collapsed .app-sider__footer-button{display:inline-flex;align-items:center;justify-content:center;font-size:12px;padding-inline:8px;width:48px;min-width:48px}.app-sider.is-collapsed .app-sider__footer-button .ant-btn-icon{margin-inline-end:0;font-size:18px}.app-sider.is-collapsed .app-sider__footer-button:not(.app-sider__footer-toggle) .ant-btn-icon+span{display:none}.app-sider.is-collapsed .app-sider__footer-toggle{margin-left:0}.manager-shell{display:flex;flex-direction:column}.manager-topbar{height:72px;display:flex;align-items:center;gap:20px;padding:0 24px;background:var(--surface)!important;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:30}.manager-topbar__left{flex:1;min-width:0;display:flex;align-items:center;gap:16px}.manager-topbar__center{flex:0 1 560px;min-width:240px;display:flex;align-items:center;align-self:center;height:40px;padding-left:28px;border-left:1px solid var(--line)}.manager-topbar__center .ant-select{width:100%;height:40px}.manager-topbar__center .ant-select-selector{height:40px!important;padding:0!important;border:none!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}.manager-topbar__center .ant-select-selection-search{inset-inline-start:0!important;inset-inline-end:0!important;top:0!important;bottom:0!important}.manager-topbar__center .ant-select-selection-search-input{height:40px!important}.manager-topbar__center .ant-select-arrow,.manager-topbar__center .ant-select-clear{display:none!important}.manager-topbar__search.ant-input-affix-wrapper{display:flex;align-items:center;height:40px;min-height:40px;padding:0!important;border:none!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}.manager-topbar__search.ant-input-affix-wrapper:hover,.manager-topbar__search.ant-input-affix-wrapper:focus,.manager-topbar__search.ant-input-affix-wrapper:focus-within{border:none!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}.manager-topbar__search .ant-input-prefix{display:inline-flex;align-items:center;justify-content:center;margin-inline-end:10px;color:var(--muted);font-size:16px;height:100%}.manager-topbar__search .ant-input-suffix{display:inline-flex;align-items:center;height:100%}.manager-topbar__search .ant-input{height:100%;min-height:0;padding:0!important;line-height:1;font-size:15px;background:transparent!important;box-shadow:none!important;border:none!important}.manager-topbar__search .ant-input::placeholder{color:var(--muted)}.manager-topbar__search-dropdown .ant-select-item-group{padding:8px 10px 4px!important}.manager-topbar__search-group-label{color:var(--muted);font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.manager-topbar__search-dropdown .ant-select-item-option{padding:8px 10px!important;border-radius:10px;margin:2px 6px}.manager-topbar__search-dropdown .ant-select-item-option-active:not(.ant-select-item-option-disabled),.manager-topbar__search-dropdown .ant-select-item-option-selected:not(.ant-select-item-option-disabled){background:var(--surface-soft)!important}.manager-topbar__search-result{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.manager-topbar__search-result-main{min-width:0}.manager-topbar__search-result-title{color:var(--text-strong);font-size:13px;font-weight:600;line-height:1.35}.manager-topbar__search-result-subtitle{margin-top:2px;color:var(--muted);font-size:12px;line-height:1.45;white-space:normal}.manager-topbar__search-result-badge{flex-shrink:0;padding:2px 8px;border:1px solid var(--control-border);border-radius:999px;background:var(--surface-soft);color:var(--muted);font-size:11px;font-weight:600}.manager-topbar__search-empty{padding:16px 14px;color:var(--muted);font-size:13px;text-align:center}.manager-topbar__search-shortcut{display:inline-flex;align-items:center;justify-content:center;min-width:58px;height:28px;padding:0 10px;border:1px solid var(--control-border);border-radius:10px;background:transparent;color:var(--muted);font-size:12px;font-weight:600;letter-spacing:.02em}.manager-topbar__back.ant-btn{padding:0;font-size:14px;color:var(--text)!important}.manager-topbar__add.ant-btn{border-radius:var(--radius-md)!important;border-color:var(--blue)!important;color:var(--blue)!important;background:transparent!important}.inventory-panel__header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px}.inventory-panel__title.ant-typography{margin:0!important}.manager-topbar__device-nav{height:100%;display:flex;align-items:stretch;gap:6px;margin-left:auto;padding-right:24px;overflow-x:auto}.manager-topbar__device-nav-item.ant-btn{height:100%;padding:0 18px;border-radius:0;color:var(--text-strong);font-size:14px;font-weight:600;white-space:nowrap}.manager-topbar__device-nav-item.ant-btn.is-active{color:var(--blue);box-shadow:inset 0 -3px 0 var(--blue)}.manager-topbar__action{width:36px!important;height:36px!important;color:var(--topbar-icon-color)!important;background:var(--topbar-icon-bg)!important;border:1px solid var(--control-border)!important;box-shadow:none!important;border-radius:var(--radius-md)!important}.manager-topbar__action:hover,.manager-topbar__action:focus,.manager-topbar__action:active{color:var(--text-strong)!important;background:var(--control-bg-hover)!important;border-color:var(--control-border-strong)!important;box-shadow:0 0 0 3px var(--control-shadow)!important}.manager-topbar__theme-toggle.is-active{color:var(--text-strong)!important;background:var(--surface-soft)!important;border-color:var(--line-strong)!important}.manager-topbar>.ant-space{flex-shrink:0;margin-left:auto}.manager-topbar__user-tooltip{min-width:160px}.manager-topbar__user-tooltip-overlay .ant-tooltip-inner{color:var(--text-strong);background:var(--surface)!important;border:1px solid var(--line);box-shadow:var(--card-shadow)}.manager-topbar__user-tooltip-overlay .ant-tooltip-arrow:before,.manager-topbar__user-tooltip-overlay .ant-tooltip-arrow:after{background:var(--surface)!important}.manager-topbar__user-tooltip-name{color:var(--text-strong);font-size:13px;font-weight:700}.manager-topbar__user-tooltip-meta{margin-top:4px;color:var(--muted);font-size:12px;line-height:1.4}.login-shell{position:relative;min-height:100vh;display:grid;place-items:center;padding:32px 20px;background:radial-gradient(circle at top,rgba(0,112,243,.08),transparent 34%),var(--bg)}.login-shell__backdrop{position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.02),transparent 22%),transparent;pointer-events:none}.login-card.ant-card{position:relative;z-index:1;width:min(100%,440px);border:1px solid var(--line)!important;border-radius:20px!important;background:var(--surface)!important;box-shadow:var(--card-shadow)}.login-card__brand{display:flex;align-items:center;gap:16px;margin-bottom:24px}.login-card__logo{width:52px;height:52px;object-fit:contain}.login-card__eyebrow{color:var(--blue);font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.login-card__title.ant-typography{margin:4px 0 2px!important;color:var(--text-strong);font-size:28px;font-weight:700}.login-card__subtitle{color:var(--muted);font-size:13px}.login-form .ant-form-item{margin-bottom:18px}.login-card__loading{display:grid;place-items:center;min-height:180px}.manager-content{padding:24px clamp(24px,2.8vw,48px) 32px;min-height:calc(100vh - 72px);background:var(--bg)}.filter-card.ant-card,.rack-detail__card.ant-card,.rack-visual.ant-card,.rack-panel{border-radius:var(--radius-lg);border:1px solid var(--line);box-shadow:var(--card-shadow)}.workspace-panel{display:flex;flex-direction:column;overflow:hidden;width:100%;max-width:none;margin:0}.workspace-shell{min-height:100%;background:transparent!important;border:0!important;box-shadow:none!important}.workspace-shell>.ant-card-body{padding:0!important}.rack-detail__card.ant-card>.ant-card-body,.rack-visual.ant-card>.ant-card-body{padding:30px!important}.device-visual.ant-card>.ant-card-body{padding:30px!important}.rack-detail__card.ant-card>.ant-card-head,.rack-visual.ant-card>.ant-card-head{min-height:auto;padding:0 30px!important}.device-visual.ant-card>.ant-card-head{padding:0 30px!important}.rack-detail__card.ant-card>.ant-card-head .ant-card-head-title,.rack-detail__card.ant-card>.ant-card-head .ant-card-extra,.rack-visual.ant-card>.ant-card-head .ant-card-head-title,.rack-visual.ant-card>.ant-card-head .ant-card-extra{padding:30px 0!important}.workspace-shell__header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px;padding:4px 2px 20px;border-bottom:1px solid var(--line)}.workspace-shell__title.ant-typography{margin:0 0 8px!important;font-size:16px!important;line-height:1.4!important}.site-canvas{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:16px;align-items:stretch}.site-canvas__loading{width:100%;min-height:180px;display:grid;place-items:center}.site-tile{width:100%;min-width:0}.site-tile .ant-card-body{padding:30px}.site-tile__content{width:100%}.site-tile__header{width:100%;justify-content:space-between}.site-tile__heading{min-width:0}.site-tile__title.ant-typography{margin:0!important;font-size:16px!important;line-height:1.4!important}.site-tile__actions{margin-left:auto}.site-tile__edit{padding-inline:0!important;color:var(--blue)!important}.site-tile__delete{color:#ff4d4f!important}.site-delete-modal{width:100%}.site-tile--new{display:flex;align-items:center;justify-content:center;border:1px dashed var(--line-strong)!important;background:var(--surface-soft)!important}.site-tile--new .ant-card-body{width:100%}.site-tile--new__content{width:100%;justify-content:center}.rack-panel{padding:0;background:var(--surface)}.rack-panel__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.rack-panel__title{color:var(--text-strong);font-size:16px;font-weight:700}.rack-panel__subtitle{display:flex;flex-wrap:wrap;gap:10px;margin-top:6px;color:var(--muted)}.rack-panel__back{padding:0!important}.rack-panel__add{border-radius:10px!important;border-color:var(--blue)!important;color:var(--blue)!important;background:transparent!important;box-shadow:none!important}.rack-panel__add:hover,.rack-panel__add:focus,.rack-panel__add:active,.manager-topbar__add.ant-btn:hover,.manager-topbar__add.ant-btn:focus,.manager-topbar__add.ant-btn:active{background:var(--blue-soft)!important;border-color:var(--blue)!important;color:var(--blue)!important}.rack-page__list-header{display:flex;align-items:center;justify-content:space-between;gap:16px}.rack-page__list-header .rack-page__title{margin-bottom:0!important}.overview-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:20px}.dashboard-shell{display:flex;flex-direction:column;gap:20px}.dashboard-metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.dashboard-metric-card{display:flex;gap:14px;padding:18px;min-height:122px;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--card-shadow)}.dashboard-metric-card__icon{width:40px;height:40px;display:grid;place-items:center;border-radius:12px;background:var(--surface-soft);color:var(--blue);font-size:18px;flex-shrink:0}.dashboard-metric-card__body{min-width:0}.dashboard-metric-card__label{color:var(--muted);font-size:12px}.dashboard-metric-card__value{margin-top:4px;color:var(--text-strong);font-size:28px;line-height:1.1;font-weight:700;font-variant-numeric:tabular-nums}.dashboard-metric-card__detail{margin-top:6px;color:var(--muted);font-size:12px}.dashboard-grid{display:grid;gap:16px}.dashboard-grid--top{grid-template-columns:minmax(0,1fr)}.dashboard-grid--trend{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-panel{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--card-shadow);padding:20px}.dashboard-panel--map{padding:22px}.dashboard-panel__header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px}.dashboard-panel__eyebrow{color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.08em}.dashboard-panel__title{color:var(--text-strong);font-size:18px;line-height:1.25;font-weight:700;margin-top:4px}.dashboard-panel__subtitle{color:var(--muted);font-size:13px;margin-top:6px}.dashboard-panel__icon,.dashboard-panel__arrow{color:var(--muted);font-size:18px;flex-shrink:0}.dashboard-panel__metric{margin-top:8px;color:var(--text-strong);font-size:28px;line-height:1.05;font-weight:700}.dashboard-panel__chart{height:220px}.dashboard-panel__axis{display:flex;justify-content:space-between;margin-top:8px;color:var(--muted);font-size:12px}.dashboard-map{position:relative;height:clamp(560px,44vw,720px);overflow:hidden;border-radius:0;background:radial-gradient(circle at 50% -10%,rgba(37,199,255,.1),transparent 30%),linear-gradient(180deg,#161616,#111);box-shadow:inset 0 1px #ffffff0a,0 18px 48px #01090d38}.dashboard-map__layer-panel{position:absolute;left:14px;top:14px;z-index:4;width:184px;padding:12px;border-radius:12px;background:color-mix(in srgb,var(--surface) 92%,transparent);border:1px solid color-mix(in srgb,var(--border) 88%,transparent);box-shadow:0 12px 30px color-mix(in srgb,#000000 14%,transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.dashboard-map__layer-title{margin-bottom:10px;color:var(--text-strong);font-size:12px;font-weight:600}.dashboard-map__layer-item{display:flex;align-items:center;gap:10px;padding:8px 0;color:var(--text-strong);cursor:pointer}.dashboard-map__layer-item input{position:absolute;opacity:0;pointer-events:none}.dashboard-map__layer-check{width:18px;height:18px;border-radius:5px;border:1px solid color-mix(in srgb,var(--border) 92%,transparent);background:color-mix(in srgb,var(--surface-soft) 88%,transparent);flex-shrink:0;position:relative}.dashboard-map__layer-item input:checked+.dashboard-map__layer-check{background:#2fe870;border-color:#2fe870}.dashboard-map__layer-item input:checked+.dashboard-map__layer-check:after{content:"✓";position:absolute;inset:0;display:grid;place-items:center;color:#061109;font-size:12px;font-weight:700}.dashboard-map__layer-name{font-size:12px}:root[data-theme=dark] .dashboard-map__layer-panel{background:#0a0a0ae0;border-color:#ffffff14;box-shadow:0 12px 30px #00000047}:root[data-theme=dark] .dashboard-map__layer-check{border-color:#ffffff2e;background:#ffffff08}.dashboard-map__canvas{position:absolute;inset:0;width:100%;height:100%}.dashboard-map__fallback{position:absolute;inset:0;z-index:2;display:grid;place-content:center;gap:8px;padding:24px;text-align:center;background:color-mix(in srgb,var(--surface) 86%,transparent)}.dashboard-map__fallback-title{color:var(--text-strong);font-size:16px;font-weight:700}.dashboard-map__fallback-copy{color:var(--muted);font-size:13px}.dashboard-map .maplibregl-canvas-container,.dashboard-map .maplibregl-canvas,.dashboard-map .maplibregl-map{width:100%;height:100%}.dashboard-map .maplibregl-ctrl-bottom-right,.dashboard-map .maplibregl-ctrl-bottom-left,.dashboard-map .maplibregl-ctrl-top-left,.dashboard-map .maplibregl-ctrl-top-right{display:none!important}.dashboard-map__popup .maplibregl-popup-content{padding:12px 14px;border-radius:14px;border:1px solid color-mix(in srgb,var(--border) 84%,transparent);background:color-mix(in srgb,var(--surface) 96%,transparent);color:var(--text-strong);box-shadow:0 18px 34px color-mix(in srgb,#000000 14%,transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.dashboard-map__popup .maplibregl-popup-tip{border-top-color:color-mix(in srgb,var(--surface) 96%,transparent)!important}.dashboard-map__popup-title{font-size:14px;font-weight:600;letter-spacing:-.01em}.dashboard-map__popup-copy{margin-top:4px;color:var(--muted);font-size:12px;line-height:1.4}.dashboard-map__popup-meta{margin-top:8px;color:var(--accent);font-size:11px;letter-spacing:.02em}.dashboard-map__legend{position:absolute;bottom:16px;left:50%;transform:translate(-50%);z-index:3;display:inline-flex;align-items:center;gap:14px;padding:8px 14px;border-radius:10px;background:color-mix(in srgb,var(--surface) 96%,transparent);border:1px solid color-mix(in srgb,var(--border) 84%,transparent);box-shadow:0 10px 24px color-mix(in srgb,#000000 12%,transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.dashboard-map__legend-title{color:var(--muted);font-size:11px}.dashboard-map__legend-item{display:inline-flex;align-items:center;gap:6px;color:var(--text-strong);font-size:11px}.dashboard-map__legend-swatch{width:10px;height:10px;border-radius:999px;display:inline-block}.dashboard-map__legend-swatch--dc{background:#9258ff}.dashboard-map__legend-swatch--cable{background:#00c8ff}:root[data-theme=dark] .dashboard-map__popup .maplibregl-popup-content{border-color:#74c7ff38;background:linear-gradient(180deg,#152835fa,#0b1924fa);color:#f3fbff;box-shadow:0 18px 34px #020a0f52}:root[data-theme=dark] .dashboard-map__popup .maplibregl-popup-tip{border-top-color:#0b1924fa!important}:root[data-theme=dark] .dashboard-map__popup-copy{color:#e9f7ffc7}:root[data-theme=dark] .dashboard-map__popup-meta{color:#7dd3fc}:root[data-theme=dark] .dashboard-map__legend{background:#0a0a0aeb;border-color:#ffffff14;box-shadow:0 10px 24px #00000047}:root[data-theme=dark] .dashboard-map__legend-title{color:#ffffff94}:root[data-theme=dark] .dashboard-map__legend-item{color:#ffffffd1}.dashboard-hotspot-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:14px}.dashboard-hotspot-list__item{display:flex;align-items:center;gap:10px;padding:12px;border-radius:12px;background:var(--surface-soft);border:1px solid var(--line)}.dashboard-hotspot-list__rank{color:var(--blue);font-size:12px;font-weight:700}.dashboard-hotspot-list__name{color:var(--text-strong);font-size:13px;font-weight:600}.dashboard-hotspot-list__meta{color:var(--muted);font-size:12px;margin-top:2px}.dashboard-distribution{display:flex;flex-direction:column;gap:14px}.dashboard-distribution__row{display:flex;flex-direction:column;gap:8px}.dashboard-distribution__meta{display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--text-strong);font-size:13px}.dashboard-distribution__meta strong{font-size:12px;font-variant-numeric:tabular-nums}.dashboard-distribution__bar{height:8px;border-radius:999px;background:var(--surface-soft);overflow:hidden}.dashboard-distribution__fill{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#0070f373,#0070f3f2)}.customer-table-panel{margin-top:28px;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);overflow:hidden}.customer-table-panel--detail{margin-top:20px}.customer-table-panel--plain{margin-top:0}.customer-detail-table-header{margin-top:20px;margin-bottom:16px}.customer-table-panel__header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 20px;border-bottom:1px solid var(--line);background:var(--surface)}.customer-table-panel__title{color:var(--text-strong);font-size:14px;font-weight:700}.customer-table-panel__meta{color:var(--muted);font-size:12px;font-weight:500}.overview-card.ant-card{border-radius:var(--radius-lg);border:1px solid var(--line)!important;background:var(--surface)!important}.overview-card .ant-card-body{padding:20px!important}.overview-card__head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.overview-card__title{color:var(--text-strong);font-size:14px;font-weight:700}.overview-card__subtitle{margin-top:10px;color:var(--muted);font-size:12px}.overview-card__value{margin-top:4px;color:var(--text-strong);font-size:16px;font-weight:700}.overview-card__arrow{color:var(--muted);font-size:14px}.overview-card__sparkline{width:100%;height:192px}.overview-card__sparkline-frame{position:relative;margin-top:18px;padding:0 0 10px}.overview-card__sparkline-labels{display:flex;justify-content:space-between;gap:12px;margin-top:2px;color:var(--muted);font-size:12px}.overview-card__tooltip{min-width:140px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--surface);box-shadow:var(--shadow-sm)}.overview-card__tooltip-title{color:var(--text-strong);font-size:12px;font-weight:700}.overview-card__tooltip-row{display:flex;align-items:center;gap:8px;margin-top:8px;color:var(--muted);font-size:12px}.overview-card__tooltip-dot{width:8px;height:8px;border-radius:999px;background:var(--blue)}.overview-card__tooltip-name{flex:1}.overview-card__tooltip-value{color:var(--text-strong);font-weight:600}.rack-loading{min-height:220px;display:grid;place-items:center}.rack-table .ant-table{font-size:14px}.rack-table .ant-table-tbody>tr>td{transition:background-color .18s ease,border-color .18s ease}.rack-table .ant-table-tbody>tr.ant-table-row:hover>td,.rack-table .ant-table-tbody>tr:hover>td{background:var(--table-hover)!important}.rack-table__row{cursor:pointer}.rack-table__link,.rack-table__action{padding:0!important;color:var(--blue)!important}.rack-table .ant-table-thead>tr>th{background:var(--table-header-bg);color:var(--text-strong);font-size:13px;font-weight:600;border-bottom:1px solid var(--line)!important;padding-top:13px!important;padding-bottom:13px!important}.rack-table .ant-table-thead>tr>th:before,.rack-detail-table__table .ant-table-thead>tr>th:before,.ant-table-thead>tr>th:before{display:none!important;content:none!important}.rack-table__multi>div:last-child{color:var(--muted)}.rack-detail,.device-detail{display:flex;flex-direction:column;gap:16px}.rack-detail__top{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:16px;align-items:start}.rack-detail__info-column{display:flex;flex-direction:column;gap:16px}.device-detail__top{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.device-detail__top--triple{grid-template-columns:repeat(3,minmax(0,1fr))}.rack-detail__card--full{grid-column:1 / -1}.rack-detail__card,.rack-visual{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface)}.rack-detail__card-head,.rack-visual__head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:18px}.rack-detail__card-title{margin:0;color:var(--text-strong);font-size:16px;font-weight:700}.port-topology{position:relative;display:grid;grid-template-columns:minmax(320px,1fr) minmax(320px,1fr);gap:26px;align-items:start;min-height:220px}.port-topology__svg{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:8}.port-topology__line{fill:none;stroke:url(#portTopologyLineGradient);stroke-width:2;stroke-linecap:round;opacity:.95;filter:drop-shadow(0 0 2px rgba(56,189,248,.45))}.port-topology__line--cross-connect{stroke:url(#crossConnectTopologyLineGradient);stroke-width:2.5;opacity:1;filter:drop-shadow(0 0 4px rgba(34,211,238,.28))}.port-topology__left,.port-topology__right{position:relative;z-index:1}.port-topology__right{display:flex;flex-direction:column;gap:12px}.port-topology__node{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface-soft);padding:14px}.port-topology__node--cross-connect{position:relative;overflow:hidden;padding:18px;background:linear-gradient(180deg,color-mix(in srgb,var(--surface) 84%,transparent),color-mix(in srgb,var(--surface-soft) 92%,transparent)),var(--surface-soft);box-shadow:0 12px 28px color-mix(in srgb,var(--text) 6%,transparent)}.port-topology__node--cross-connect:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 8%,transparent),transparent 58%);pointer-events:none}.port-topology__node--empty{display:grid;place-items:center;min-height:120px;color:var(--muted)}.port-topology__node-title{font-size:15px;font-weight:700;color:var(--text-strong)}.port-topology__node-header{position:relative;z-index:1;display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.port-topology__node-eyebrow{margin-bottom:4px;color:var(--muted);font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.port-topology__node-badge{display:inline-flex;align-items:center;justify-content:center;min-height:28px;padding:0 10px;border:1px solid color-mix(in srgb,var(--accent) 22%,var(--line));border-radius:999px;background:color-mix(in srgb,var(--accent) 10%,var(--surface));color:var(--text-strong);font-size:11px;font-weight:700;white-space:nowrap}.port-topology__node-badge--secondary{border-color:color-mix(in srgb,var(--line) 88%,var(--accent));background:color-mix(in srgb,var(--surface) 88%,var(--surface-soft));color:var(--muted)}.port-topology__node-meta{margin-top:4px;margin-bottom:12px;font-size:12px;color:var(--muted)}.port-topology__meta-grid{position:relative;z-index:1;display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}.port-topology__meta-pill{display:inline-flex;align-items:center;min-height:28px;padding:0 10px;border:1px solid var(--line);border-radius:999px;background:color-mix(in srgb,var(--surface) 92%,var(--surface-soft));color:var(--muted);font-size:12px;line-height:1}.port-topology__section{position:relative;z-index:1;border-top:1px solid color-mix(in srgb,var(--line) 88%,transparent);padding-top:14px}.port-topology__section-label{margin-bottom:10px;color:var(--muted);font-size:12px;font-weight:600}.port-topology__ports{display:flex;flex-wrap:wrap;gap:8px}.port-topology__port{min-width:40px;padding:4px 10px;text-align:center;border-radius:999px;border:1px solid var(--line-strong);color:var(--muted);background:var(--surface);font-size:12px;line-height:1.2}.port-topology__port.is-active{color:#fff;border-color:var(--green);background:var(--green);box-shadow:0 0 0 1px color-mix(in srgb,var(--green) 56%,transparent),0 8px 22px color-mix(in srgb,var(--green) 18%,transparent);transform:translateY(-1px)}.rack-detail__edit{border-radius:var(--radius-sm)!important}.rack-detail__facts{display:grid;gap:20px}.rack-detail__fact{display:grid;grid-template-columns:88px 1fr;gap:18px;align-items:start}.rack-detail__fact span{color:var(--muted)}.rack-detail__fact strong{color:var(--text-strong);font-weight:500;text-align:right}.rack-detail__fact strong.is-link,a,.ant-typography a{color:var(--blue)}a:hover,.ant-typography a:hover{color:var(--blue);opacity:.88}.rack-detail-table__table .ant-table{font-size:14px}.rack-detail__elevation-card.ant-card>.ant-card-body{padding-top:16px}.rack-detail-table__table .ant-table-thead>tr>th{background:var(--table-header-bg);color:var(--text-strong);font-size:13px;font-weight:600;border-bottom:1px solid var(--line)!important;padding-top:13px!important;padding-bottom:13px!important}.rack-detail-table__table .ant-table-tbody>tr>td{vertical-align:middle}.rack-elevation{display:flex;align-items:stretch;gap:12px;min-width:0}.rack-elevation__labels{display:grid;align-items:stretch;box-sizing:border-box}.rack-elevation__label{display:flex;align-items:center;justify-content:flex-end;color:color-mix(in srgb,var(--text) 72%,white);font-size:13px;line-height:1}.rack-elevation__frame{box-sizing:border-box;position:relative;display:grid;flex:1;border:3px solid #101318;background:#edf1f5;box-shadow:inset 0 0 0 1px #ffffff6b}.rack-elevation__frame:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(to bottom,rgba(123,137,158,.6) 0,rgba(123,137,158,.6) 1px,transparent 1px,transparent calc(100% / var(--rack-unit-count, 46)));pointer-events:none}.rack-elevation__slot,.rack-elevation__asset{position:relative;z-index:1}.rack-elevation__slot{display:flex;align-items:center;justify-content:center;width:100%;padding:0;border:0;border-top:1px solid rgba(134,145,160,.38);background:transparent;cursor:pointer}.rack-elevation__slot-action{opacity:0;padding:2px 10px;border-radius:999px;background:#1874cde6;color:#fff;font-size:11px;line-height:1.2;transition:opacity .15s ease}.rack-elevation__slot:hover,.rack-elevation__slot:focus{background:#1874cd14;outline:none}.rack-elevation__slot:hover .rack-elevation__slot-action,.rack-elevation__slot:focus .rack-elevation__slot-action{opacity:1}.rack-elevation__asset{display:flex;justify-content:center;align-items:center;width:100%;padding:0 10px;border:1px solid rgba(24,116,205,.2);background:linear-gradient(180deg,#c4e4ffeb,#a0ccfffa);color:#12304f;text-align:center;cursor:pointer;overflow:hidden}.rack-elevation__asset:hover,.rack-elevation__asset:focus{background:linear-gradient(180deg,#b6dcfffa,#8cc0ff);outline:none}.rack-elevation__asset-label{font-size:12px;line-height:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.device-panel{display:flex;flex-direction:column;gap:20px}.device-visual{padding:0}.device-visual__frame{overflow-x:auto;padding-bottom:0;--port-cell-width: 44px;--port-cell-height: 30px;--port-cell-gap: 8px;--port-group-padding: 12px;--power-block-width: 74px;--power-block-height: 98px}.device-visual__frame.is-tight{--port-cell-width: 34px;--port-cell-height: 26px;--port-cell-gap: 6px;--port-group-padding: 10px;--power-block-width: 62px;--power-block-height: 88px}.device-visual__frame.is-compact{--port-cell-width: 28px;--port-cell-height: 22px;--port-cell-gap: 5px;--port-group-padding: 8px;--power-block-width: 54px;--power-block-height: 78px}.device-visual__router{display:flex;align-items:stretch;justify-content:flex-start;gap:24px;min-height:150px;min-width:max-content;padding:30px;border:1px solid var(--line-strong);border-radius:4px;background:var(--surface)}.device-visual__router--no-power{justify-content:flex-start}.device-visual__router--pdu{min-height:0}.device-visual__ports{display:flex;align-items:center;gap:14px;flex-wrap:nowrap;min-width:max-content}.device-visual__port-group{display:flex;flex-direction:column;gap:10px;flex:0 0 auto;min-width:max-content}.device-visual__port-title{color:var(--text-strong);font-weight:600;font-size:13px}.device-visual__port-grid{display:grid;gap:var(--port-cell-gap);padding:var(--port-group-padding);border:1px solid var(--line-strong);background:color-mix(in srgb,var(--surface-soft) 82%,#4c7b53 18%);min-width:max-content}.device-visual__port-grid--pdu{background:var(--surface);gap:12px 10px}.device-visual__port{width:var(--port-cell-width);min-width:var(--port-cell-width);height:var(--port-cell-height);min-height:var(--port-cell-height);display:grid;place-items:center;background:#667385;color:#f5f7fb;font-size:11px;font-weight:600;line-height:1;border-radius:2px}.device-visual__port.is-filled{background:#259d07;color:#fff}.device-visual__pdu-kind{color:var(--text-strong);font-size:14px;font-weight:600}.device-visual__pdu-port-wrap{display:flex;flex-direction:column;align-items:center;gap:4px;width:25px}.device-visual__pdu-port{width:25px;height:18px;display:block;object-fit:contain}.device-visual__pdu-port-label{color:var(--text-strong);font-size:10px;font-weight:600;line-height:1}.device-visual__power{display:flex;align-items:center;gap:12px;padding-left:8px;flex:0 0 auto}.device-visual__power-block{width:var(--power-block-width);height:var(--power-block-height);border:1px solid var(--line-strong);background:#111}.device-visual__power-block.is-online{background:#259d07}.device-visual__legend{display:flex;align-items:center;gap:28px;margin-top:30px}.device-visual__legend-item{display:flex;align-items:center;gap:10px;color:var(--text-strong);font-size:14px}.device-visual__legend-swatch{width:34px;height:22px;border:2px solid var(--line-strong);background:#667385;border-radius:2px}.device-visual__topology{position:relative;grid-template-columns:minmax(420px,1.2fr) minmax(320px,1fr);gap:22px}.device-visual__topology .port-topology__left,.device-visual__topology .port-topology__right{z-index:2}.device-visual__topology-node{background:var(--surface)}.device-visual__frame--topology{margin-top:14px}.device-visual__topology-line{stroke:url(#deviceVisualTopologyLineGradient)}.device-visual__legend-swatch.is-filled{background:#259d07}.device-visual__tooltip{display:flex;flex-direction:column;gap:6px;min-width:180px}.device-visual__tooltip-row{display:flex;justify-content:space-between;gap:16px}.device-visual__tooltip-label{color:#ffffffb3}.device-table .ant-table{font-size:14px}.drawer-section-title{margin-bottom:26px;color:var(--text-strong);font-size:16px;font-weight:700}.drawer-section-title--spaced{margin-top:36px}.site-form .ant-form-item,.rack-form .ant-form-item{margin-bottom:24px}.drawer-site{display:flex;align-items:center;gap:14px;margin-bottom:20px;padding:16px;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface-soft)}.ant-btn{border-radius:var(--radius-sm)!important;box-shadow:none!important;transition:background-color .16s ease,border-color .16s ease,color .16s ease,box-shadow .16s ease!important}.ant-btn-default,.ant-btn-text{color:var(--text)!important}.ant-btn-link,.ant-btn-link.ant-btn{color:var(--blue)!important}.ant-btn-default{border-color:var(--control-border)!important;background:var(--control-bg)!important}.ant-btn-default:hover,.ant-btn-default:focus,.ant-btn-default:active{border-color:var(--control-border-strong)!important;background:var(--control-bg-hover)!important;color:var(--text-strong)!important;box-shadow:0 0 0 3px var(--control-shadow)!important}.ant-btn-text:hover,.ant-btn-text:focus,.ant-btn-link:hover,.ant-btn-link:focus{background:var(--control-bg-hover)!important}.ant-btn-link:hover,.ant-btn-link:focus,.rack-table__link:hover,.rack-table__link:focus,.rack-table__action:hover,.rack-table__action:focus,.manager-topbar__back.ant-btn:hover,.manager-topbar__back.ant-btn:focus,.rack-panel__back:hover,.rack-panel__back:focus{color:var(--blue)!important}.ant-tag{border-radius:999px!important;border-color:var(--tag-border)!important;background:var(--tag-bg)!important;color:var(--text)!important;font-weight:500;padding-inline:10px!important}.ant-input,.ant-input-number,.ant-input-number-affix-wrapper,.ant-select-selector,.ant-picker,.ant-input-affix-wrapper{border-radius:var(--radius-sm)!important;border-color:var(--control-border)!important;background:var(--control-bg)!important;box-shadow:none!important;color:var(--control-text)!important;transition:background-color .16s ease,border-color .16s ease,box-shadow .16s ease!important}.ant-input:hover,.ant-input:focus,.ant-input-number:hover,.ant-input-number-focused,.ant-input-number-affix-wrapper:hover,.ant-input-number-affix-wrapper-focused,.ant-select:not(.ant-select-disabled):hover .ant-select-selector,.ant-select-focused .ant-select-selector,.ant-picker:hover,.ant-picker-focused,.ant-input-affix-wrapper:hover,.ant-input-affix-wrapper-focused{border-radius:0!important;border-color:var(--control-border-strong)!important;background:var(--control-bg-hover)!important;box-shadow:0 0 0 3px var(--control-shadow)!important}.ant-select-dropdown,.ant-picker-dropdown .ant-picker-panel-container{border:1px solid var(--control-border)!important;background:var(--surface)!important;box-shadow:var(--card-shadow)!important;border-radius:var(--radius-lg)!important}.ant-select-item{border-radius:6px}.ant-select-item-option-active:not(.ant-select-item-option-disabled),.ant-select-item-option-selected:not(.ant-select-item-option-disabled),.ant-picker-cell-in-view.ant-picker-cell-selected .ant-picker-cell-inner,.ant-picker-cell-in-view.ant-picker-cell-range-start .ant-picker-cell-inner,.ant-picker-cell-in-view.ant-picker-cell-range-end .ant-picker-cell-inner{background:var(--blue-soft)!important;color:var(--text-strong)!important}.ant-select-arrow,.ant-picker-suffix,.ant-input-password-icon,.ant-input-number-handler-wrap{color:var(--muted)!important}.ant-input::placeholder,.ant-input-number-input::placeholder{color:var(--muted)!important}.ant-table-filter-trigger,.ant-table-column-sorter,.ant-pagination-item a,.ant-pagination-prev .ant-pagination-item-link,.ant-pagination-next .ant-pagination-item-link{color:var(--muted)!important}.ant-pagination .ant-pagination-item,.ant-pagination .ant-pagination-prev .ant-pagination-item-link,.ant-pagination .ant-pagination-next .ant-pagination-item-link{border-color:var(--control-border)!important;background:var(--control-bg)!important;border-radius:var(--radius-sm)!important}.ant-pagination .ant-pagination-item:hover,.ant-pagination .ant-pagination-prev:hover .ant-pagination-item-link,.ant-pagination .ant-pagination-next:hover .ant-pagination-item-link{border-color:var(--control-border-strong)!important;background:var(--control-bg-hover)!important}[data-theme=dark] .app-sider__menu .ant-menu-item,[data-theme=dark] .app-sider__menu .ant-menu-submenu-title,[data-theme=dark] .app-sider__footer-button,[data-theme=dark] .manager-topbar__back.ant-btn,[data-theme=dark] .rack-table__link,[data-theme=dark] .rack-table__action,[data-theme=dark] .ant-breadcrumb,[data-theme=dark] .ant-breadcrumb a,[data-theme=dark] .ant-breadcrumb-link,[data-theme=dark] .ant-empty-description,[data-theme=dark] .ant-typography,[data-theme=dark] .ant-descriptions-item-label,[data-theme=dark] .ant-descriptions-item-content,[data-theme=dark] .ant-tag,[data-theme=dark] .ant-btn-text{color:var(--text)!important}[data-theme=dark] .ant-card,[data-theme=dark] .ant-table-wrapper,[data-theme=dark] .ant-table,[data-theme=dark] .ant-table-container,[data-theme=dark] .ant-table-cell,[data-theme=dark] .ant-table-tbody>tr>td,[data-theme=dark] .ant-drawer-content,[data-theme=dark] .ant-drawer-header,[data-theme=dark] .ant-select-selector,[data-theme=dark] .ant-input,[data-theme=dark] .ant-input-number,[data-theme=dark] .ant-input-number-input,[data-theme=dark] .ant-picker,[data-theme=dark] .ant-modal-content,[data-theme=dark] .ant-modal-header{background:var(--surface)!important;border-color:var(--line)!important;color:var(--text)!important}[data-theme=dark] .ant-table-thead>tr>th{background:var(--table-header-bg)!important;border-color:var(--line)!important;color:var(--text-strong)!important}[data-theme=dark] .ant-table-tbody>tr.ant-table-row:hover>td,[data-theme=dark] .ant-table-tbody>tr:hover>td{background:var(--table-hover)!important}[data-theme=dark] .ant-layout,[data-theme=dark] .ant-layout-content,[data-theme=dark] .workspace-shell.ant-card,[data-theme=dark] .site-tile.ant-card,[data-theme=dark] .rack-detail__card.ant-card,[data-theme=dark] .rack-panel,[data-theme=dark] .manager-topbar,[data-theme=dark] .app-sider{background:var(--surface)!important}[data-theme=dark] .manager-content,[data-theme=dark] body{background:var(--bg)!important}.drawer-site__icon{width:34px;height:34px;object-fit:contain}.drawer-site__title{color:var(--text-strong);font-size:14px;font-weight:700}.drawer-site__code{color:#8d97a8;font-size:13px}.ant-card,.ant-table-wrapper,.ant-table-container,.ant-drawer-content,.ant-modal-content{border-radius:var(--radius-lg)!important}.ant-card,.ant-table-wrapper,.ant-table,.ant-table-container,.ant-drawer-content,.ant-modal-content,.ant-modal-header,.ant-drawer-header{border-color:var(--line)!important}.ant-card .ant-card-head,.ant-modal-header,.ant-drawer-header{border-bottom:1px solid var(--line)!important}.ant-table-container{overflow:hidden}.ant-table-thead>tr>th{background:var(--table-header-bg)!important;color:var(--text-strong)!important;font-size:13px!important;font-weight:600!important;line-height:1.35;letter-spacing:.01em;border-bottom:1px solid var(--line)!important;transition:background-color .18s ease,border-color .18s ease,color .18s ease}.ant-table-thead>tr:hover>th{background:var(--table-header-hover)!important}.ant-table-tbody>tr>td{border-bottom:1px solid var(--line)!important;transition:background-color .18s ease,border-color .18s ease,color .18s ease}.ant-table-tbody>tr.ant-table-row:hover>td,.ant-table-tbody>tr:hover>td{background:var(--table-hover)!important;border-bottom-color:var(--line-strong)!important}.ant-table-tbody>tr.ant-table-row:hover>td:first-child,.ant-table-tbody>tr:hover>td:first-child{box-shadow:inset 2px 0 0 var(--blue-soft)}.ant-table-tbody>tr.ant-table-placeholder:hover>td,.ant-table-tbody>tr.ant-table-placeholder>td{box-shadow:none!important}.ant-table-thead>tr>th:first-child{border-top-left-radius:var(--radius-lg)}.ant-table-thead>tr>th:last-child{border-top-right-radius:var(--radius-lg)}.app-sider,.manager-topbar,.ant-drawer-content,.ant-modal-content,.workspace-shell.ant-card,.rack-detail__card.ant-card,.rack-panel,.site-tile.ant-card{box-shadow:none!important}.ant-drawer-right .ant-drawer-content-wrapper,.ant-drawer-right .ant-drawer-content,.ant-drawer-right .ant-drawer-header{border-radius:0!important}.rack-form__grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.rack-form__grid--price{grid-template-columns:1.2fr .8fr 1fr}.rack-form__grid--three{grid-template-columns:repeat(3,minmax(0,1fr))}.rack-form__number,.rack-form__date{width:100%}@media(max-width:960px){.site-manager-shell{grid-template-columns:1fr}.app-sider{display:none}.rack-form__grid,.rack-form__grid--price,.rack-form__grid--three,.rack-detail__top{grid-template-columns:1fr}.rack-elevation{justify-content:center}.rack-elevation__frame{min-height:calc(var(--rack-unit-count, 46) * var(--rack-unit-height, 20px))}.device-detail__top,.device-detail__top--triple,.overview-card-grid,.site-canvas{grid-template-columns:1fr}.manager-topbar__device-nav{padding-right:12px}.manager-topbar{flex-wrap:wrap;height:auto;padding-top:12px;padding-bottom:12px}.manager-topbar__left,.manager-topbar__center{flex:1 1 100%;max-width:none}.manager-topbar__center{height:44px;padding-left:0;border-left:0}.manager-topbar>.ant-space{width:100%;justify-content:flex-end}.device-visual__router{padding:30px}.device-visual__power{padding-left:0}}@media(min-width:1600px){.dashboard-shell{gap:24px}.dashboard-metric-grid{gap:18px}.dashboard-metric-card{gap:18px;padding:22px 24px;min-height:138px}.dashboard-metric-card__icon{width:46px;height:46px;border-radius:14px;font-size:20px}.dashboard-metric-card__value{font-size:34px}.dashboard-metric-card__detail{font-size:13px}.dashboard-panel--map{padding:24px 26px 26px}.dashboard-map{height:clamp(620px,42vw,820px)}}@media(min-width:1920px){.dashboard-metric-grid{grid-template-columns:repeat(4,minmax(280px,1fr))}.dashboard-panel--map{padding:28px 30px 30px}.dashboard-map{height:clamp(680px,40vw,900px)}}@media(max-width:1280px){.port-topology{grid-template-columns:minmax(0,1fr);gap:12px}.port-topology__svg{display:none}}.signature-pad{border:1px solid rgba(15,23,42,.14);border-radius:14px;overflow:hidden;background:linear-gradient(180deg,#fff,#f8fafc)}.signature-pad__canvas{display:block;width:100%;height:160px;background:linear-gradient(transparent 31px,#94a3b82e 32px),linear-gradient(90deg,rgba(148,163,184,.1) 0,rgba(148,163,184,.1) 1px,transparent 1px,transparent 24px);background-size:100% 32px,24px 100%;touch-action:none;cursor:crosshair}.signature-pad__actions{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border-top:1px solid rgba(15,23,42,.08)}
