:root{--ui-font: "Segoe UI", Arial, sans-serif;--ui-font-mono: Consolas, monospace;--ui-text: #142235;--ui-muted: #6e7d8d;--ui-text-subtle: #718090;--ui-text-on-brand: #fff;--ui-canvas: #f2f5f8;--ui-surface: #fff;--ui-surface-muted: #f8fafb;--ui-surface-hover: #f5f8fa;--ui-surface-selected: #effbfc;--ui-selected-border: #19b7c7;--ui-shadow-selected: 0 0 0 2px rgba(25, 183, 199, .1);--ui-disabled-surface: #f4f6f8;--ui-danger-surface: #fff0f1;--ui-error-text: #a52b3b;--ui-error-border: #ffcdd3;--ui-border: #dce4eb;--ui-field-border: #cfd9e2;--ui-brand: #0c536b;--ui-brand-hover: #083e52;--ui-action-secondary-text: #334a60;--ui-action-secondary-border: #d2dce5;--ui-action-danger: #bc4352;--ui-focus: #148da1;--ui-focus-ring: rgba(25, 196, 215, .14);--ui-sidebar: #071827;--ui-sidebar-raised: #0d273b;--ui-accent: #19c4d7;--ui-link: #1569e8;--ui-sidebar-text: #e5f0f5;--ui-sidebar-muted: #89a2b4;--ui-sidebar-border: #24475b;--ui-sidebar-hover: #0d293c;--ui-sidebar-active: #124058;--ui-hero: #0a2638;--ui-hero-raised: #123f54;--ui-hero-muted: #aac0ce;--ui-login-background: radial-gradient(circle at 75% 25%, #14435c 0, transparent 36%), linear-gradient(145deg, #061624, #0a2b40);--ui-hero-background: linear-gradient(125deg, #09293b, #104c5f);--ui-decoration-amber: #eea832;--ui-decoration-violet: #7b6df0;--ui-decoration-rose: #ed5a76;--ui-warning-surface: #fff6df;--ui-warning-text: #795315;--ui-warning-border: #ecd6a5;--ui-success-surface: #e6f6ee;--ui-success-text: #196e49;--ui-success-solid: #238151;--ui-error-solid: #b63d4d;--ui-swatch-border: #afbec7;--ui-shadow-popover: 0 8px 24px rgba(24,61,83,.15);--ui-space-1: 4px;--ui-space-2: 8px;--ui-space-3: 12px;--ui-space-4: 16px;--ui-space-6: 24px;--ui-space-8: 32px;--ui-radius-control: 9px;--ui-radius-card: 12px;--ui-radius-dialog: 14px;--ui-control-height: 42px;--ui-control-height-compact: 36px;--ui-content-padding-y: 28px;--ui-content-padding-x: 34px;--ui-shadow-primary: 0 8px 18px rgba(12, 83, 107, .16);--ui-shadow-notice: 0 12px 30px rgba(0, 0, 0, .22);--ui-shadow-brand-mark: 0 14px 40px rgba(25, 196, 215, .25);--ui-shadow-login-decoration: 0 0 0 70px rgba(32, 101, 132, .12), 0 0 0 140px rgba(32, 101, 132, .08);--ui-shadow-dialog: 0 30px 80px rgba(0, 0, 0, .3);--ui-dialog-backdrop: rgba(3, 15, 24, .62);--ui-layer-dialog: 20;--ui-layer-notice: 30;--ui-layer-color-editor: 1600;--ui-layer-color-image: 1700}:root{font-family:var(--ui-font);color:var(--ui-text);background:var(--ui-canvas);font-synthesis:none;--navy:var(--ui-sidebar);--navy-2:var(--ui-sidebar-raised);--cyan:var(--ui-accent);--blue:var(--ui-link);--line:var(--ui-border);--muted:var(--ui-muted)}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button{font:inherit}button{cursor:pointer}.full{width:100%}.center-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;gap:12px;color:var(--ui-muted)}.icon-button{width:34px;height:34px;border:0;border-radius:8px;display:grid;place-items:center;background:transparent;color:var(--ui-muted)}.icon-button:hover{background:var(--ui-border)}.icon-button.dark{color:var(--ui-sidebar-muted)}.icon-button.dark:hover{background:var(--ui-sidebar-hover);color:var(--ui-text-on-brand)}.muted{color:var(--ui-muted);max-width:210px}.row-actions{display:flex;justify-content:flex-end;gap:4px}.row-actions button{width:32px;height:32px;border:0;border-radius:7px;background:var(--ui-surface-muted);color:var(--ui-muted);display:grid;place-items:center}.row-actions button:hover{background:var(--ui-surface-hover)}.row-actions button.danger{color:var(--ui-action-danger)}.row-actions button.danger:hover{background:var(--ui-danger-surface)}.table-empty{padding:55px;display:flex;flex-direction:column;align-items:center;gap:7px;color:var(--ui-muted)}.table-empty b{color:var(--ui-text)}.empty-state{min-height:calc(100vh - 110px);display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--ui-muted);text-align:center}.empty-state h2{color:var(--ui-text);margin:14px 0 3px}.empty-state p{margin:0 0 18px}.compact-empty{min-height:220px;background:var(--ui-surface);border:1px dashed var(--ui-border);border-radius:12px;grid-column:1/-1}.loading{padding:60px;display:flex;justify-content:center;align-items:center;gap:10px;color:var(--ui-muted)}.modal-backdrop{position:fixed;inset:0;background:var(--ui-dialog-backdrop);display:grid;place-items:center;padding:20px;z-index:var(--ui-layer-dialog);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.modal{width:min(610px,100%);background:var(--ui-surface);border-radius:var(--ui-radius-dialog);box-shadow:var(--ui-shadow-dialog);overflow:hidden}.span-2{grid-column:1/3}.notice{position:fixed;right:24px;bottom:24px;z-index:var(--ui-layer-notice);border-radius:9px;padding:13px 17px;color:var(--ui-text-on-brand);font-weight:700;font-size:.8rem;box-shadow:var(--ui-shadow-notice)}.notice.success{background:var(--ui-success-solid)}.notice.error{background:var(--ui-error-solid)}@media(max-width:760px){.span-2{grid-column:1}}.form-error{font-size:.85rem}.modal{max-height:calc(100dvh - 40px);overflow:auto}.modal-header{gap:var(--ui-space-3)}.modal-header h2{overflow-wrap:anywhere}.modal-header button{flex:none}@media(max-width:620px){.modal-backdrop{padding:12px}.modal{max-height:calc(100dvh - 24px)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.ui-page{padding:var(--ui-content-padding-y) var(--ui-content-padding-x);min-width:0}.ui-page-header,.list-header{display:flex;justify-content:space-between;align-items:center;gap:var(--ui-space-3);flex-wrap:wrap;margin-bottom:18px}.ui-page-header h2,.list-header h2{margin:0 0 5px;font-size:1.2rem}.ui-page-header p,.list-header p{margin:0;color:var(--ui-muted);font-size:.8rem}.ui-button,.primary,.secondary{display:inline-flex;align-items:center;justify-content:center;gap:var(--ui-space-2);border:1px solid transparent;border-radius:var(--ui-radius-control);min-height:var(--ui-control-height);padding:0 17px;font:inherit;font-weight:700;line-height:1.25;cursor:pointer}.ui-button--primary,.primary{background:var(--ui-brand);color:var(--ui-text-on-brand);box-shadow:var(--ui-shadow-primary)}.ui-button--primary:hover:not(:disabled),.primary:hover:not(:disabled){background:var(--ui-brand-hover)}.ui-button--secondary,.secondary{background:var(--ui-surface);color:var(--ui-action-secondary-text);border-color:var(--ui-action-secondary-border)}.ui-button--secondary:hover:not(:disabled),.secondary:hover:not(:disabled),.ui-button--ghost:hover:not(:disabled){background:var(--ui-surface-hover)}.ui-button--danger{background:transparent;color:var(--ui-action-danger)}.ui-button--danger:hover:not(:disabled){background:var(--ui-danger-surface)}.ui-button--ghost{background:transparent;color:var(--ui-muted)}.ui-button--link{background:transparent;color:var(--ui-brand);min-height:0;padding:0;text-align:left;justify-content:flex-start}.ui-button--link:hover:not(:disabled){text-decoration:underline}.ui-button--compact,.compact{min-height:var(--ui-control-height-compact);padding:0 var(--ui-space-3);font-size:.82rem}.ui-button--icon{width:var(--ui-control-height-compact);min-height:var(--ui-control-height-compact);padding:0;flex:none}.ui-button:disabled,.primary:disabled,.secondary:disabled{opacity:.6;cursor:not-allowed}.ui-button[aria-pressed=true]{background:var(--ui-surface-selected);border-color:var(--ui-selected-border);color:var(--ui-brand)}.ui-button:focus-visible,button:focus-visible,summary:focus-visible,a:focus-visible,.ui-table-scroll:focus-visible{outline:2px solid var(--ui-focus);outline-offset:3px}.ui-button svg{flex-shrink:0}.ui-surface{background:var(--ui-surface);border:1px solid var(--ui-border);border-radius:var(--ui-radius-card)}.ui-table-scroll{max-width:100%;overflow:auto}.ui-table{width:100%;min-width:640px;border-collapse:collapse}.ui-table th,th{background:var(--ui-surface-muted);color:var(--ui-text-subtle);border-bottom:1px solid var(--ui-border);padding:12px 15px;text-align:left;font-size:.68rem;text-transform:uppercase;letter-spacing:.06em}.ui-table td,td{color:var(--ui-text);border-bottom:1px solid var(--ui-border);padding:14px 15px;font-size:.78rem}.ui-table tr:last-child td,tbody tr:last-child td{border-bottom:0}.ui-table [data-selected=true]{background:var(--ui-surface-selected)}.ui-table [data-selected=true] td:first-child{box-shadow:inset 3px 0 var(--ui-selected-border)}.ui-empty{display:flex;flex-direction:column;align-items:center;gap:var(--ui-space-2);padding:40px 20px;text-align:center;color:var(--ui-muted)}.ui-empty h3{color:var(--ui-text);margin:var(--ui-space-3) 0 0}.ui-empty p{margin:0 0 var(--ui-space-3)}.ui-dialog{width:min(610px,calc(100vw - 40px));max-width:none;max-height:calc(100dvh - 40px);margin:auto;padding:0;border:0;border-radius:var(--ui-radius-dialog);background:var(--ui-surface);color:var(--ui-text);box-shadow:var(--ui-shadow-dialog);overflow:auto}.ui-dialog::backdrop{background:var(--ui-dialog-backdrop);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.ui-dialog-header,.modal-header{display:flex;align-items:center;justify-content:space-between;gap:var(--ui-space-3);padding:18px 21px;border-bottom:1px solid var(--ui-border)}.ui-dialog-header h2,.modal-header h2{font-size:1.05rem;margin:0}.ui-form-grid,.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px;min-width:0;border:0;margin:0;padding:22px}.ui-field,label{display:flex;flex-direction:column;min-width:0;gap:var(--ui-space-2);color:var(--ui-text);font-size:.86rem;font-weight:700}.ui-span-full{grid-column:1/-1}.ui-control,input,textarea,select{width:100%;min-width:0;border:1px solid var(--ui-field-border);border-radius:var(--ui-radius-control);padding:11px 12px;color:var(--ui-text);background:var(--ui-surface);font:inherit}.ui-control:focus,input:focus,textarea:focus,select:focus{outline:2px solid var(--ui-focus);outline-offset:1px;border-color:var(--ui-focus);box-shadow:0 0 0 3px var(--ui-focus-ring)}.ui-control:disabled,input:disabled,textarea:disabled,select:disabled{background:var(--ui-disabled-surface);color:var(--ui-muted)}.ui-control:is(textarea){resize:vertical}.ui-form-actions,.form-actions{display:flex;justify-content:flex-end;gap:var(--ui-space-2);padding-top:5px}.ui-alert,.form-error{background:var(--ui-danger-surface);color:var(--ui-error-text);border:1px solid var(--ui-error-border);padding:var(--ui-space-3);border-radius:var(--ui-radius-control);margin:0;overflow-wrap:anywhere}.ui-success{background:var(--ui-success-surface);color:var(--ui-success-text);border:1px solid var(--ui-success-solid);padding:var(--ui-space-3);border-radius:var(--ui-radius-control);margin:0;overflow-wrap:anywhere}@media(max-width:620px){.ui-page{padding:var(--ui-space-4)}.ui-form-grid{grid-template-columns:minmax(0,1fr);padding:var(--ui-space-4)}.ui-dialog{width:calc(100vw - 24px);max-height:calc(100dvh - 24px)}}@media(max-width:760px){.form-grid{grid-template-columns:minmax(0,1fr)}}.login-page{min-height:100vh;display:grid;grid-template-columns:minmax(380px,1.08fr) minmax(420px,.92fr);background:var(--ui-surface)}.login-brand{position:relative;overflow:hidden;padding:10vh 9vw;display:flex;flex-direction:column;justify-content:center;color:var(--ui-text-on-brand);background:var(--ui-login-background)}.login-brand:after{content:"";position:absolute;width:420px;height:420px;border:1px solid var(--ui-sidebar-border);border-radius:50%;right:-180px;bottom:-120px;box-shadow:var(--ui-shadow-login-decoration)}.brand-mark{width:58px;height:58px;border-radius:16px;display:grid;place-items:center;color:var(--ui-sidebar);background:var(--cyan);box-shadow:var(--ui-shadow-brand-mark);margin-bottom:44px}.brand-mark.small{width:40px;height:40px;margin:0;border-radius:11px}.eyebrow{font:600 .75rem/1.2 var(--ui-font-mono);letter-spacing:.13em;color:var(--ui-muted);margin:0 0 14px}.login-brand .eyebrow{color:var(--ui-accent)}.login-brand h1{font-size:clamp(2.7rem,5vw,5rem);line-height:1.02;letter-spacing:-.055em;margin:0 0 28px;max-width:760px}.login-copy{font-size:1.05rem;line-height:1.7;color:var(--ui-hero-muted);max-width:520px}.fiber-lines{display:flex;gap:8px;margin-top:48px;position:relative;z-index:1}.fiber-lines i{display:block;width:84px;height:4px;border-radius:8px;background:var(--ui-accent)}.fiber-lines i:nth-child(2){background:var(--ui-decoration-amber);width:54px}.fiber-lines i:nth-child(3){background:var(--ui-decoration-violet);width:114px}.fiber-lines i:nth-child(4){background:var(--ui-decoration-rose);width:38px}.login-panel{display:grid;place-items:center;padding:48px}.login-card{width:min(420px,100%);display:flex;flex-direction:column;gap:20px}.login-icon{width:52px;height:52px;display:grid;place-items:center;border-radius:14px;background:var(--ui-surface-selected);color:var(--ui-brand)}.login-card h2{margin:4px 0 -12px;font-size:1.85rem;letter-spacing:-.035em}.login-card>p{margin:0 0 8px;color:var(--muted)}.login-card small{color:var(--ui-muted);text-align:center}.app-shell{min-height:100vh;display:grid;grid-template-columns:258px 1fr}.sidebar{position:sticky;top:0;height:100vh;background:var(--navy);color:var(--ui-sidebar-text);padding:22px 14px 16px;display:flex;flex-direction:column}.sidebar-navigation{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;scrollbar-color:var(--ui-sidebar-border) transparent}.sidebar-brand{display:flex;align-items:center;gap:11px;padding:0 8px 26px;border-bottom:1px solid var(--ui-sidebar-border)}.sidebar-brand b{display:block;font-size:.95rem;letter-spacing:.04em}.sidebar-brand span{display:block;color:var(--ui-sidebar-muted);font-size:.68rem;margin-top:3px}.site-label{display:flex;justify-content:space-between;align-items:center;padding:24px 9px 8px;color:var(--ui-sidebar-muted);font:600 .68rem var(--ui-font-mono);letter-spacing:.14em}.site-list{display:flex;flex-direction:column;gap:4px;overflow:auto}.site-list>button{border:0;background:transparent;color:var(--ui-sidebar-muted);display:grid;grid-template-columns:38px 1fr 16px;align-items:center;text-align:left;gap:10px;padding:9px;border-radius:10px}.site-list>button:hover{background:var(--ui-sidebar-hover);color:var(--ui-text-on-brand)}.site-list>button.active{background:var(--ui-sidebar-active);color:var(--ui-text-on-brand)}.site-list b{display:block;font-size:.83rem}.site-list small{display:block;color:var(--ui-sidebar-muted);font:500 .68rem var(--ui-font-mono);margin-top:3px}.site-avatar{width:36px;height:36px;border-radius:9px;background:var(--ui-sidebar-hover);display:grid;place-items:center;font:600 .72rem var(--ui-font-mono);color:var(--ui-accent)}.active .site-avatar{background:var(--ui-accent);color:var(--ui-sidebar)}.empty-sidebar{padding:18px 9px;color:var(--ui-sidebar-muted);font-size:.8rem}.user-card{flex:0 0 auto;background:var(--ui-sidebar);border-top:1px solid var(--ui-sidebar-border);padding:16px 8px 0;display:grid;grid-template-columns:minmax(0,1fr) 34px;align-items:center;gap:9px;min-width:0}.user-card b{display:block;font-size:.78rem}.user-card span{display:block;color:var(--ui-sidebar-muted);font-size:.68rem;margin-top:2px}.current-site-selector{padding:18px 8px 12px}.current-site-selector>span,.menu-section-label{display:block;color:var(--ui-sidebar-muted);font:600 .67rem var(--ui-font-mono);letter-spacing:.12em;margin-bottom:8px}.current-site-selector select{border-color:var(--ui-sidebar-border);background:var(--ui-sidebar-hover);color:var(--ui-sidebar-text);padding:9px;font-size:.78rem}.menu-section-label{padding:11px 10px 4px;margin:0}.sidebar-menu{display:flex;flex-direction:column;gap:3px}.sidebar-menu button{width:100%;min-height:40px;border:0;border-radius:8px;background:transparent;color:var(--ui-sidebar-muted);padding:0 11px;display:grid;grid-template-columns:20px 1fr auto;align-items:center;gap:10px;text-align:left;font-size:.78rem;font-weight:650}.sidebar-menu button svg{width:17px}.sidebar-menu button:hover{background:var(--ui-sidebar-hover);color:var(--ui-text-on-brand)}.sidebar-menu button.active{background:var(--ui-sidebar-active);color:var(--ui-text-on-brand);box-shadow:inset 3px 0 var(--ui-accent)}.sidebar-menu button.active svg{color:var(--ui-accent)}.sidebar-menu button:disabled{opacity:.35;cursor:not-allowed}.sidebar-menu em{font-style:normal;font:600 .65rem var(--ui-font-mono);background:var(--ui-sidebar-hover);color:var(--ui-sidebar-muted);border-radius:20px;padding:2px 7px}.global-label{border-top:1px solid var(--ui-sidebar-border);margin-top:18px;padding-top:18px}.global-menu button{min-height:36px}.sidebar-menu-group{border-radius:9px}.sidebar-menu-group.active{background:var(--ui-sidebar-hover)}.sidebar-menu-group>.sidebar-group-toggle{border-radius:8px}.sidebar-menu-group.active>.sidebar-group-toggle{color:var(--ui-sidebar-text)}.submenu-chevron{transition:transform .18s ease;color:var(--ui-sidebar-muted)}.submenu-chevron.open{transform:rotate(90deg)}.sidebar-submenu{display:flex;flex-direction:column;gap:2px;margin:0 0 5px 20px;padding:2px 0 2px 10px;border-left:1px solid var(--ui-sidebar-border)}.sidebar-submenu button{min-height:34px;padding:0 9px;grid-template-columns:17px 1fr;font-size:.72rem;border-radius:7px}.sidebar-submenu button svg{width:14px}.sidebar-submenu button.active{background:var(--ui-sidebar-active);box-shadow:inset 2px 0 var(--ui-accent)}.workspace{min-width:0;background:var(--ui-canvas)}.topbar{height:110px;background:var(--ui-surface);border-bottom:1px solid var(--line);padding:24px 34px;display:flex;justify-content:space-between;align-items:center}.topbar h1{margin:4px 0 0;font-size:1.55rem;letter-spacing:-.035em}.breadcrumb{margin:0;display:flex;align-items:center;gap:5px;color:var(--ui-muted);font-size:.72rem;font-family:var(--ui-font-mono)}.tabs{background:var(--ui-surface);border-bottom:1px solid var(--line);padding:0 34px;display:flex;gap:26px}.tabs button{height:51px;border:0;background:transparent;color:var(--ui-muted);font-weight:700;font-size:.84rem;position:relative}.tabs button.active{color:var(--ui-brand)}.tabs button.active:after{content:"";position:absolute;bottom:-1px;left:0;right:0;height:3px;background:var(--ui-selected-border);border-radius:4px 4px 0 0}.tabs span{padding:2px 7px;background:var(--ui-surface-muted);border-radius:20px;font-size:.68rem;margin-left:5px}.content{padding:var(--ui-content-padding-y) var(--ui-content-padding-x)}@media(max-width:760px){.login-page{grid-template-columns:1fr}}@media(max-width:760px){.login-brand{display:none}}@media(max-width:760px){.login-panel{padding:28px;min-height:100vh}}@media(max-width:760px){.app-shell{grid-template-columns:1fr}}@media(max-width:760px){.sidebar{position:static;height:auto;min-height:0;padding:12px}.sidebar-navigation{overflow:visible}}@media(max-width:760px){.site-list{flex-direction:row}}@media(max-width:760px){.site-list>button{min-width:180px}}@media(max-width:760px){.user-card{position:static;width:auto;margin-top:12px}}@media(max-width:760px){.workspace{min-height:calc(100vh - 150px)}}@media(max-width:760px){.topbar{height:90px;padding:18px}}@media(max-width:760px){.tabs,.content{padding-left:18px;padding-right:18px}}.global-menu+.global-label{margin-top:8px}.global-menu>button:focus-visible{outline:2px solid var(--ui-accent);outline-offset:2px}.sidebar-submenu button.node-submenu-item{grid-template-columns:17px 1fr auto}.passive-components-submenu{display:grid;gap:2px;margin-left:16px;padding-left:8px;border-left:1px solid var(--ui-sidebar-border)}.sidebar-submenu .passive-components-submenu button{width:100%;display:grid;grid-template-columns:17px 1fr;text-align:left;gap:10px}.sidebar-submenu .passive-components-submenu svg{width:17px;height:17px}.sidebar-submenu .passive-components-toggle{grid-template-columns:17px 1fr 13px}.data-table{background:var(--ui-surface);border:1px solid var(--line);border-radius:var(--ui-radius-card);overflow:auto}table{border-collapse:collapse;width:100%;min-width:950px}td b,td span{display:block}td span{color:var(--ui-muted);font-size:.7rem;margin-top:4px}td strong{font-family:var(--ui-font-mono)}.endpoint-face-tabs{display:flex;gap:4px;padding:4px;background:var(--ui-surface);border:1px solid var(--ui-border);border-radius:10px}.endpoint-face-tab{border:1px solid transparent;border-radius:7px;padding:9px 14px;background:transparent;color:var(--ui-text);font:inherit;font-size:.78rem;font-weight:700;white-space:nowrap;cursor:pointer}.endpoint-face-tab.all[aria-pressed=true]{background:var(--ui-surface-muted);border-color:var(--ui-selected-border);color:var(--ui-brand)}.endpoint-face-tab:focus-visible{outline:2px solid var(--ui-focus);outline-offset:2px}.endpoint-face-label{display:inline-block;border-left:3px solid transparent;padding:4px 7px;border-radius:4px}.endpoint-columns{position:relative;flex-shrink:0;font-size:.78rem}.endpoint-columns summary{list-style:none;display:flex;align-items:center;gap:10px;padding:11px 14px;background:var(--ui-surface);border:1px solid var(--ui-field-border);border-radius:8px;cursor:pointer;font-weight:700;color:var(--ui-text)}.endpoint-columns summary::-webkit-details-marker{display:none}.endpoint-columns[open] summary{background:var(--ui-surface-selected);border-color:var(--ui-brand)}.endpoint-columns fieldset{position:absolute;right:0;top:calc(100% + 6px);z-index:6;width:270px;max-width:calc(100vw - 36px);margin:0;padding:14px;background:var(--ui-surface);border:1px solid var(--ui-field-border);border-radius:10px;box-shadow:var(--ui-shadow-popover)}.endpoint-columns legend{font-weight:700;font-size:.75rem;color:var(--ui-text);background:var(--ui-surface);padding:0 5px}.endpoint-columns label{display:flex;flex-direction:row;align-items:center;gap:9px;padding:8px 0;font-size:.78rem;font-weight:500}.endpoint-columns input[type=checkbox]{width:16px;height:16px;margin:0;accent-color:var(--ui-brand);flex:none}.endpoint-columns small{margin-left:auto;font-size:.65rem;color:var(--ui-muted)}.endpoint-columns button{width:100%;margin-top:9px;font-size:.75rem;min-height:36px}.endpoint-columns summary:focus-visible,.endpoint-pages button:focus-visible{outline:2px solid var(--ui-focus);outline-offset:3px}.endpoint-pager{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;margin:14px 0;padding:12px 14px;background:var(--ui-surface);border:1px solid var(--ui-border);border-radius:10px;color:var(--ui-muted);font-size:.75rem}.endpoint-range{font-variant-numeric:tabular-nums}.endpoint-pages{display:flex;align-items:center;justify-content:center;gap:5px}.endpoint-pages button{min-width:34px;height:34px;padding:0 7px;border:1px solid var(--ui-border);border-radius:6px;background:var(--ui-surface);color:var(--ui-text);font:inherit;font-weight:600;cursor:pointer}.endpoint-pages button:hover:not(:disabled){background:var(--ui-surface-selected);border-color:var(--ui-focus)}.endpoint-pages button[aria-current=page]{background:var(--ui-brand);border-color:var(--ui-brand);color:var(--ui-text-on-brand)}.endpoint-pages button:disabled{opacity:.4;cursor:default}.endpoint-pager label{display:flex;flex-direction:row;align-items:center;gap:8px;white-space:nowrap;font-size:inherit;font-weight:500}.endpoint-pager select{padding:8px 10px;border:1px solid var(--ui-field-border);border-radius:8px;background:var(--ui-surface);color:var(--ui-text);font:inherit}.endpoint-pager label select{width:72px}@media(max-width:1050px){.endpoint-pager{gap:12px}}@media(max-width:1050px){.endpoint-pages{order:3;flex-basis:100%}}@media(max-width:420px){.endpoint-pages{gap:2px}}@media(max-width:420px){.endpoint-pages button{min-width:25px;padding:0 3px}}@media(max-width:420px){.endpoint-pager{padding:10px 8px;gap:8px}}@media(max-width:650px){.endpoint-face-tabs{max-width:100%}}@media(max-width:650px){.endpoint-face-tab{padding:9px 11px}}select.node-status{font-weight:700;min-width:130px}select.node-status.active{color:#15803d;background:#f0fdf4;border-color:#86c99d}select.node-status.not-active{color:#b91c1c;background:#fef2f2;border-color:#e8a3a3}:root{--port-rear:#dfa03e;--port-front:#18b8c8}.endpoint-face-tab.rear{color:#850;border-bottom-color:var(--port-rear)}.endpoint-face-tab.front{color:#076575;border-bottom-color:var(--port-front)}.endpoint-face-tab.rear[aria-pressed=true]{background:#fff3df;border-color:var(--port-rear);box-shadow:inset 0 -2px var(--port-rear)}.endpoint-face-tab.front[aria-pressed=true]{background:#e8fafc;border-color:var(--port-front);box-shadow:inset 0 -2px var(--port-front)}.endpoint-face-label.rear{border-color:var(--port-rear);background:#fff3df;color:#850}.endpoint-face-label.front{border-color:var(--port-front);background:#e8fafc;color:#076575}.connection-count{display:flex;align-items:center;gap:7px;background:var(--ui-surface);border:1px solid var(--line);padding:8px 12px;border-radius:8px;color:var(--ui-text);font-size:.75rem;font-weight:700}.connection-builder{background:var(--ui-surface);border:1px solid var(--line);border-radius:12px;margin-bottom:18px;overflow:hidden}.builder-head{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;border-bottom:1px solid var(--line);background:var(--ui-surface-muted)}.builder-head>div{display:flex;align-items:center;gap:11px}.builder-head b,.builder-head small{display:block}.builder-head b{font-size:.82rem}.builder-head small{font-size:.68rem;color:var(--ui-muted);margin-top:3px}.builder-head select{width:230px}.step-number{width:34px;height:34px;display:grid;place-items:center;border-radius:8px;background:var(--ui-brand);color:var(--ui-text-on-brand);font:700 .7rem var(--ui-font-mono)}.endpoint-row{display:grid;grid-template-columns:1fr 120px 1fr;align-items:center;padding:18px}.endpoint-row fieldset{border:1px solid var(--ui-border);border-radius:10px;padding:16px;display:grid;grid-template-columns:1fr 130px;gap:12px}.endpoint-row legend{padding:0 7px;font:700 .68rem var(--ui-font-mono);color:var(--ui-brand)}.face-chip{grid-column:1/3;background:#e8f8fa;color:#087b88;border-radius:7px;padding:7px;text-align:center;font:700 .7rem Consolas,monospace}.connection-line{display:flex;align-items:center;color:#1593a4}.connection-line span{height:2px;flex:1;background:#87d5dd}.builder-meta{border-top:1px solid var(--line);padding:15px 18px;display:grid;grid-template-columns:1fr 1fr auto;align-items:end;gap:12px}.connection-table .mini-link{display:flex;align-items:center;color:#1693a3}.mini-link span{width:18px;height:1px;background:#8fcfd5;margin:0}.connection-table table{min-width:980px}.spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.status-pill{font-size:.76rem;background:#e9f8ef;color:#21804a;padding:7px 11px;border-radius:30px;font-weight:700}.status-pill i,.admin-card span i{display:inline-block;width:7px;height:7px;border-radius:50%;background:#32b566;margin-right:6px}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.metric-grid article{background:var(--ui-surface);border:1px solid var(--line);border-radius:12px;padding:20px;display:grid;grid-template-columns:45px 1fr;column-gap:14px}.metric-icon{grid-row:1/4;width:43px;height:43px;border-radius:11px;display:grid;place-items:center}.metric-icon svg{width:20px}.metric-icon.blue{background:#e8f1ff;color:#1765d3}.metric-icon.cyan{background:var(--ui-surface-selected);color:var(--ui-brand)}.metric-icon.amber{background:var(--ui-warning-surface);color:#c57b10}.metric-icon.violet{background:#f0ecff;color:#6d55d8}.metric-grid span{font-size:.75rem;color:var(--ui-muted);font-weight:700}.metric-grid strong{font-size:1.75rem;line-height:1.15;margin:5px 0}.metric-grid small{font-size:.68rem;color:var(--ui-muted)}.section-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:16px;margin-top:18px}.panel{background:var(--ui-surface);border:1px solid var(--line);border-radius:var(--ui-radius-card);padding:22px}.panel header{display:flex;align-items:center;justify-content:space-between}.panel h2{font-size:1.05rem;margin:0 0 18px}.panel dl{display:grid;grid-template-columns:1fr 1fr;margin:4px 0 0}.panel dl>div{padding:16px 0;border-top:1px solid var(--ui-border)}.panel dl .wide{grid-column:1/3}.panel dt{font-size:.7rem;color:var(--ui-muted);text-transform:uppercase;letter-spacing:.06em}.panel dd{margin:6px 0 0;font-size:.88rem;font-weight:700}.topology-flow{display:flex;align-items:center;justify-content:center;gap:8px;background:#071b2b;border-radius:10px;padding:28px 12px;color:#9cb0bd;margin-bottom:16px}.topology-flow span{font-size:.68rem}.topology-flow b{font:600 .68rem var(--ui-font-mono);color:#61dbe6;border:1px solid #266174;padding:7px;border-radius:6px}.topology-flow i{font-style:normal;font-weight:800;color:var(--ui-text-on-brand);background:#145e77;padding:12px 9px;border-radius:50%}.topology>p:last-child{font-size:.78rem;color:var(--ui-muted);line-height:1.55;margin:0}.type{display:inline-block;font-style:normal;border-radius:6px;padding:5px 8px;background:#edf3f7;color:#435c70;font:600 .67rem Roboto Mono,monospace}.type.odf_indoor{background:#e5f7f8;color:#087885}.type.odf_outdoor{background:#e9f1ff;color:#1c5cad}.type.splice_inline{background:#fff2df;color:#a5660b}.type.splice_branch{background:#f3eaff;color:#7245a3}.admin-grid{display:grid;grid-template-columns:repeat(3,minmax(260px,1fr));gap:14px}.admin-card{position:relative;background:var(--ui-surface);border:1px solid var(--line);border-radius:12px;padding:18px;display:grid;grid-template-columns:48px 1fr auto;align-items:start;gap:12px}.admin-avatar{width:46px;height:46px;border-radius:12px;background:var(--ui-hero);color:#58d8e3;display:grid;place-items:center;font:700 .76rem var(--ui-font-mono)}.admin-card h3{margin:2px 0 5px;font-size:.9rem}.admin-card p{margin:0;color:var(--ui-muted);font-size:.72rem}.admin-card span{display:block;color:#3c8758;font-size:.68rem;margin-top:9px}.admin-card .row-actions{opacity:.5}.admin-card:hover .row-actions{opacity:1}.face-hint{display:flex;align-items:center;justify-content:center;gap:10px;border:1px dashed #b9ced8;background:var(--ui-surface-selected);border-radius:9px;padding:13px;color:var(--ui-muted);font-size:.75rem}.face-hint div{display:flex;align-items:center;gap:7px}.face-hint span{font:700 .66rem var(--ui-font-mono);color:var(--ui-brand);background:#dff5f6;padding:4px 6px;border-radius:4px}@media(max-width:1050px){.metric-grid{grid-template-columns:repeat(2,1fr)}.section-grid{grid-template-columns:1fr}.admin-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:760px){.metric-grid,.admin-grid{grid-template-columns:1fr}.face-hint{flex-wrap:wrap}.section-grid{grid-template-columns:1fr}}.mesh-legend{display:flex;gap:14px;color:#697b8b;font-size:.72rem}.mesh-legend span{display:flex;align-items:center;gap:6px}.mesh-legend i{width:24px;height:3px;border-radius:3px}.mesh-legend .patch{background:#19b9c9}.mesh-legend .splice{background:#e29c32}.mesh-layout{display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:16px}.mesh-canvas{min-height:510px;border-radius:13px;overflow:hidden;border:1px solid #1b3b4e;background-color:#081d2c;background-image:linear-gradient(rgba(75,129,153,.12) 1px,transparent 1px),linear-gradient(90deg,rgba(75,129,153,.12) 1px,transparent 1px);background-size:28px 28px}.mesh-canvas svg{display:block;width:100%;height:510px}.mesh-edge line{stroke-width:4;stroke:#20bdcc}.mesh-edge.fiber_splice line{stroke:#e3a13d;stroke-dasharray:8 5}.mesh-edge rect{fill:#102e40;stroke:#2a566b}.mesh-edge text{fill:#a9c1ce;font:600 10px Consolas,monospace;text-anchor:middle}.mesh-node rect{fill:#fff;stroke:#d7e3e9}.mesh-node text{fill:#173147}.mesh-node .node-code{font:700 13px Consolas,monospace}.mesh-node .node-type{font:500 9px Segoe UI,sans-serif;fill:#6d8290}.mesh-node .node-count{font:500 8px Consolas,monospace;text-anchor:end;fill:#79909d}.mesh-empty{height:510px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#6e8a9b;gap:10px}.mesh-summary{background:#fff;border:1px solid var(--line);border-radius:12px;padding:20px}.mesh-summary h3{font:800 1.5rem Consolas,monospace;margin:0 0 18px}.mesh-summary>div{display:flex;justify-content:space-between;padding:13px 0;border-top:1px solid #e7edf1}.mesh-summary span{font-size:.74rem;color:#758594}.mesh-summary strong{font:700 .86rem Consolas,monospace}.mesh-summary>p:last-child{font-size:.72rem;line-height:1.55;color:#80909c;border-top:1px solid #e7edf1;padding-top:15px}.geo-layout{display:grid;grid-template-columns:minmax(0,1fr) 370px;gap:16px}.geo-canvas{height:500px;position:relative;overflow:hidden;border-radius:13px;background:#0b2536;border:1px solid #234558}.geo-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(90,150,171,.12) 1px,transparent 1px),linear-gradient(90deg,rgba(90,150,171,.12) 1px,transparent 1px);background-size:36px 36px}.geo-marker{position:absolute;border:0;background:transparent;color:#32c9d7;display:flex;flex-direction:column;align-items:center}.geo-marker b{background:#fff;color:#173447;border-radius:6px;padding:4px 7px;font:700 .68rem Consolas,monospace;box-shadow:0 6px 18px #00000040}.geo-marker span{background:#12394d;color:#9db9c7;border-radius:5px;padding:3px 6px;font-size:.6rem;margin-top:3px}.marker-0{left:17%;top:22%}.marker-1{left:62%;top:16%}.marker-2{left:34%;top:60%}.marker-3{left:72%;top:67%}.geo-list{background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden}.geo-list article{display:grid;grid-template-columns:40px 1fr auto;gap:10px;align-items:center;padding:14px;border-bottom:1px solid #e8edf1}.geo-list article:last-child{border:0}.geo-list b,.geo-list span{display:block}.geo-list b{font-size:.8rem}.geo-list span{font-size:.68rem;color:#7b8b98;margin-top:4px}.geo-empty{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#7f9aaa;gap:7px}.geo-empty b{color:#c2d5de}.geo-empty span{font-size:.72rem}.mesh-toolbar{display:flex;align-items:center;gap:18px;margin-bottom:12px;padding:10px 12px;background:#fff;border:1px solid var(--line);border-radius:11px;min-width:0}.mesh-totals{display:flex;align-items:center;gap:10px;margin-right:auto}.mesh-totals b{font:800 .78rem Consolas,monospace;color:#0d6375;background:#e4f8fa;padding:7px 10px;border-radius:7px}.mesh-tote{font-size:.72rem;color:#718392}.mesh-label-controls,.mesh-zoom-controls{display:flex;align-items:center;gap:5px}.mesh-label-controls>span{font-size:.68rem;color:#7a8b98;margin-right:3px;text-transform:uppercase;letter-spacing:.06em}.mesh-label-controls button,.mesh-zoom-controls button{border:1px solid #d4dfe6;background:#fff;color:#617789;min-height:32px;border-radius:7px;padding:0 10px;font-size:.7rem;font-weight:700}.mesh-label-controls button.active{border-color:#1bb8c8;background:#e8f9fa;color:#087a88}.mesh-zoom-controls button{width:34px;padding:0;display:grid;place-items:center}.mesh-zoom-controls output{width:50px;text-align:center;font:700 .7rem Consolas,monospace;color:#365268}.mesh-canvas.interactive{min-height:610px;touch-action:none;-webkit-user-select:none;user-select:none}.mesh-canvas.interactive svg{height:610px;cursor:default}.mesh-edge line{stroke-linecap:round}.mesh-edge rect{fill:#102e40;stroke:#376579}.mesh-node.draggable{cursor:grab}.mesh-node.draggable.dragging{cursor:grabbing}.mesh-node.draggable.dragging rect{stroke:#1bc3d2;stroke-width:3}.mesh-node .node-name{font:650 11px Segoe UI,sans-serif;fill:#2a4558}.mesh-node .node-type{font:500 10px Segoe UI,sans-serif;fill:#718795}.mesh-node .node-divider{stroke:#e0e8ed;stroke-width:1}.mesh-node .node-port-stat{font:600 10px Consolas,monospace}.mesh-node .node-port-stat.rear{fill:#a46512}.mesh-node .node-port-stat.front{fill:#087d89}.mesh-node .node-move-icon{color:#9aabb5;width:15px;height:15px}.mesh-node circle{fill:#20becd}.mesh-node .node-code{font:700 14px Consolas,monospace}.mesh-node .node-count{font:600 9px Consolas,monospace;text-anchor:end;fill:#718996}.node-detail-page{max-width:1220px}.node-detail-hero{display:flex;align-items:center;gap:16px;background:var(--ui-hero);color:var(--ui-text-on-brand);border-radius:14px;padding:22px;margin-bottom:18px}.node-detail-icon{width:54px;height:54px;display:grid;place-items:center;background:var(--ui-hero-raised);color:#48d5e0;border-radius:13px}.node-detail-hero h2{margin:2px 0 5px;font-size:1.4rem}.node-detail-hero p{margin:0;color:var(--ui-hero-muted);font-size:.76rem}.node-detail-hero .type{margin-left:auto}.port-capacity-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.port-capacity-card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:20px}.port-capacity-card header{display:flex;justify-content:space-between;align-items:center}.port-capacity-card h3{margin:0;font-size:.95rem}.port-capacity-card header span{font:700 .72rem Consolas,monospace;color:#667b8b}.port-capacity-card strong{display:block;font:800 1.5rem Consolas,monospace;margin:18px 0 10px}.capacity-track{height:9px;background:#edf1f4;border-radius:20px;overflow:hidden}.capacity-track i{display:block;height:100%;background:#18b8c8;border-radius:20px}.port-capacity-card.rear .capacity-track i{background:#dfa03e}.capacity-legend{display:flex;justify-content:space-between;margin-top:9px;color:#7c8c98;font-size:.7rem}.node-profile-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;background:var(--ui-surface);border:1px solid var(--line);border-radius:12px;margin-top:16px;overflow:hidden}.node-profile-grid>div{padding:17px;border-right:1px solid var(--ui-border)}.node-profile-grid>div:last-child{border:0}.node-profile-grid dt{font-size:.66rem;color:var(--ui-muted);text-transform:uppercase;letter-spacing:.06em}.node-profile-grid dd{margin:6px 0 0;font-size:.82rem;font-weight:700}.node-detail-hint{display:flex;align-items:center;gap:12px;background:var(--ui-surface-selected);border:1px solid #c9e9ed;color:var(--ui-brand);border-radius:10px;padding:14px 16px;margin-top:16px}.node-detail-hint b,.node-detail-hint span{display:block}.node-detail-hint b{font-size:.78rem}.node-detail-hint span{font-size:.7rem;margin-top:3px;color:var(--ui-muted)}@media(max-width:900px){.mesh-toolbar{align-items:flex-start;flex-wrap:wrap}.mesh-totals{width:100%}.port-capacity-grid,.node-profile-grid{grid-template-columns:1fr}.node-profile-grid>div{border-right:0;border-bottom:1px solid var(--ui-border)}}.mesh-totals span{font-size:.72rem;color:#718392}.node-detail-hint b{display:block}.cable-page{max-width:1580px}.cable-list-tools{display:grid;grid-template-columns:minmax(280px,1fr) 180px 180px 165px;gap:9px;margin-bottom:12px}.cable-list-tools>select,.fiber-tools>select{background:var(--ui-surface);border:1px solid var(--line);border-radius:9px;padding:0 11px;color:var(--ui-text);font-size:.73rem}.cable-table table{min-width:1180px}.alias-note{display:block;color:#9a6e24;font:600 .63rem Consolas,monospace;margin-top:5px}.record-state,.cable-lifecycle{display:inline-flex;font-style:normal;border-radius:6px;padding:5px 8px;font:700 .64rem Consolas,monospace}.record-state.draft{background:#eef2f5;color:#647684}.record-state.submitted{background:#e5f7ed;color:#277247}.cable-lifecycle{background:#edf4f7;color:#3b6274}.cable-lifecycle.in_service{background:#dff6e8;color:#247245}.cable-lifecycle.out_of_service,.cable-lifecycle.decommissioned{background:#f6e7e9;color:#9c4752}.pagination{display:flex;align-items:center;justify-content:flex-end;gap:12px;margin-top:12px}.pagination span{font:700 .7rem var(--ui-font-mono);color:var(--ui-muted)}.pagination button{display:flex;align-items:center;gap:4px}.cable-modal.wide{width:min(1180px,96vw);max-height:94vh;overflow:auto}.cable-form{padding:21px}.cable-form-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.cable-form-grid .span-2{grid-column:span 2}.cable-actions{padding-top:16px}.cable-detail{padding:20px;background:var(--ui-surface-hover)}.cable-detail-hero{display:flex;align-items:center;gap:14px;background:var(--ui-hero);color:var(--ui-text-on-brand);border-radius:12px;padding:18px}.cable-hero-icon{width:52px;height:52px;display:grid;place-items:center;border-radius:12px;background:var(--ui-hero-raised);color:#46d3df}.cable-detail-hero p,.cable-detail-hero h2,.cable-detail-hero span{margin:0}.cable-detail-hero p{color:var(--ui-hero-muted);font:600 .66rem var(--ui-font-mono);text-transform:uppercase}.cable-detail-hero h2{font-size:1.15rem;margin-top:4px}.cable-detail-hero span{display:block;color:var(--ui-hero-muted);font-size:.7rem;margin-top:4px}.cable-detail-actions{margin-left:auto}.cable-capacity-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:12px 0}.cable-capacity-grid article{background:var(--ui-surface);border:1px solid var(--line);border-radius:10px;padding:14px}.cable-capacity-grid span,.cable-capacity-grid small{display:block;color:var(--ui-muted);font-size:.67rem}.cable-capacity-grid strong{display:block;font:800 1.45rem var(--ui-font-mono);color:var(--ui-text);margin:6px 0 3px}.cable-capacity-grid .reserved strong{color:#2b8252}.cable-capacity-grid .used strong{color:#088b98}.cable-capacity-grid .fault strong{color:#b04957}.cable-section-card,.structure-builder,.subunit-strip,.fiber-explorer{background:var(--ui-surface);border:1px solid var(--line);border-radius:11px;padding:16px;margin-top:12px}.cable-section-card>header,.structure-builder>header,.subunit-strip>header,.fiber-explorer>header{display:flex;align-items:center;justify-content:space-between;gap:12px}.cable-section-card h3,.structure-builder h3,.subunit-strip h3,.fiber-explorer h3{margin:2px 0 0;font-size:.93rem}.section-endpoints{display:grid;grid-template-columns:1fr 38px 1fr;align-items:center;margin-top:13px}.section-endpoints>svg{color:#28acba;justify-self:center}.section-endpoints>div{border:1px solid var(--ui-border);border-radius:8px;padding:11px}.section-endpoints span,.section-endpoints small{display:block;color:var(--ui-muted);font-size:.63rem}.section-endpoints b{display:block;color:var(--ui-text);font-size:.76rem;margin:4px 0}.structure-builder>header>div>span{display:block;color:var(--ui-muted);font-size:.68rem;margin-top:4px}.structure-total{display:flex;align-items:baseline;gap:4px;border-radius:8px;padding:8px 11px}.structure-total.valid{background:#e5f7ed;color:#277448}.structure-total.invalid{background:#fff0e2;color:#a65e16}.structure-total b{font:800 1.1rem Consolas,monospace}.structure-total span{font-size:.65rem}.structure-groups{display:flex;flex-direction:column;gap:7px;margin-top:14px}.structure-group{display:grid;grid-template-columns:34px minmax(150px,1fr) 145px 95px minmax(150px,1fr) 32px;align-items:center;gap:7px}.structure-group input,.structure-group select{padding:8px 9px}.group-number{width:28px;height:28px;display:grid;place-items:center;background:var(--ui-surface-selected);color:var(--ui-brand);border-radius:7px;font:700 .68rem var(--ui-font-mono)}.pending-color{display:flex;align-items:center;gap:6px;color:var(--ui-muted);font-size:.67rem}.structure-actions{display:flex;align-items:center;gap:9px;margin-top:14px}.structure-actions>span{flex:1}.structure-actions button{display:flex;align-items:center;gap:6px}.structure-preview-note{display:flex;align-items:center;gap:10px;margin-top:12px;background:var(--ui-surface-selected);border:1px solid #c8e9ed;color:var(--ui-brand);border-radius:8px;padding:10px 12px}.structure-preview-note b,.structure-preview-note span{display:block}.structure-preview-note b{font-size:.72rem}.structure-preview-note span{font-size:.65rem;color:var(--ui-muted);margin-top:3px}.fiber-color{display:flex;align-items:center;gap:6px}.fiber-color>i{width:15px;height:15px;flex:0 0 15px;border:1px solid rgba(0,0,0,.16);border-radius:50%}.fiber-color b{font-size:.69rem}.fiber-color small{color:var(--ui-muted);font-size:.61rem}.subunit-strip>header{margin-bottom:12px}.subunit-strip>div{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px}.subunit-strip article{border:1px solid var(--ui-border);border-radius:8px;padding:10px}.subunit-strip article>b,.subunit-strip article>span{display:block}.subunit-strip article>b{font-size:.72rem;margin-top:8px}.subunit-strip article>span{font-size:.63rem;color:var(--ui-muted);margin-top:3px}.structure-warning{display:flex;align-items:center;gap:5px;color:#ad641c;background:#fff1df;padding:6px 9px;border-radius:7px;font-size:.67rem}.fiber-explorer>header>span{color:var(--ui-muted);font:700 .68rem var(--ui-font-mono)}.fiber-tools{display:grid;grid-template-columns:minmax(260px,1fr) 190px 170px;gap:8px;margin:12px 0}.fiber-table table{min-width:960px}.fiber-state{display:inline-block;font-style:normal;border-radius:6px;padding:5px 8px;font:700 .62rem Consolas,monospace;background:#eef2f5;color:#647684}.fiber-state.reserved_available{background:#e8f6ed;color:#2e7b4e}.fiber-state.in_use{background:#e3f6f8;color:#087b88}.fiber-state.faulty,.fiber-state.cut{background:#f9e6e8;color:#a9404f}.fiber-state.under_maintenance{background:#fff1df;color:#a76418}.fiber-state.unknown{background:#eeeaf6;color:#70568e}@media(max-width:1100px){.cable-list-tools{grid-template-columns:1fr 1fr}.cable-list-tools .connection-search{grid-column:1/3}.cable-form-grid,.cable-capacity-grid{grid-template-columns:1fr 1fr}.structure-group{grid-template-columns:34px 1fr 130px 85px}.structure-group .fiber-color,.structure-group .pending-color{grid-column:2/5}.fiber-tools{grid-template-columns:1fr 1fr}.fiber-tools .connection-search{grid-column:1/3}}@media(max-width:700px){.cable-list-tools,.cable-form-grid,.fiber-tools{grid-template-columns:1fr}.cable-list-tools .connection-search,.fiber-tools .connection-search,.cable-form-grid .span-2{grid-column:1}.cable-capacity-grid{grid-template-columns:1fr 1fr}.section-endpoints{grid-template-columns:1fr}.section-endpoints>svg{transform:rotate(90deg);margin:5px}.structure-group{grid-template-columns:30px 1fr}.structure-group>*{grid-column:2}.structure-group .group-number{grid-column:1;grid-row:1}.structure-group .icon-button{grid-column:1;grid-row:2}.structure-group .fiber-color,.structure-group .pending-color{grid-column:2}.cable-detail-hero{align-items:flex-start;flex-wrap:wrap}.cable-detail-actions{margin-left:0;width:100%}}.connection-modal.wide{width:min(1050px,96vw)}.mesh-edge.fiber_core line{stroke:#e3a13d;stroke-dasharray:8 5}.mesh-canvas.interactive{background:#081d2c;background-image:none}.mesh-canvas.interactive svg{cursor:grab;outline:none}.mesh-canvas.interactive svg.is-panning{cursor:grabbing}.mesh-canvas.interactive svg:focus-visible{box-shadow:inset 0 0 0 2px #28c8d6}.mesh-pan-surface{fill:#081d2c}.mesh-canvas #mesh-grid path{fill:none;stroke:#4b819933;stroke-width:1}.mesh-auto-align{display:flex;align-items:center;gap:7px;min-height:32px;padding:0 11px;border:1px solid #20aebd;border-radius:7px;background:#edfafa;color:#087987;font-size:.7rem;font-weight:750;white-space:nowrap}.mesh-auto-align:hover:not(:disabled){background:#dff7f8;border-color:#098b99}.mesh-auto-align:disabled{cursor:not-allowed;opacity:.55}.asset-option{display:flex;align-items:center;gap:8px}.physical-modal .asset-option label{flex-direction:row;display:flex;align-items:center;gap:8px}.asset-option input[type=checkbox]{width:18px;height:18px}.field-hint{position:relative;display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border:1px solid #607d8b;border-radius:50%;cursor:help;color:#315364}.field-hint [role=tooltip]{display:none;position:absolute;bottom:28px;left:-90px;width:min(300px,70vw);padding:12px;background:#123746;color:var(--ui-text-on-brand);border-radius:8px;z-index:20;font-size:12px;line-height:1.6;font-weight:400}.field-hint:hover [role=tooltip],.field-hint:focus [role=tooltip]{display:block}.patch-cord-page{max-width:1580px}.patch-cord-tools{display:grid;grid-template-columns:minmax(260px,1fr) 140px 140px 160px 160px;gap:9px;margin-bottom:12px}.patch-cord-tools>select{background:var(--ui-surface);border:1px solid var(--line);border-radius:9px;padding:0 11px;color:var(--ui-text);font-size:.73rem}.patch-cord-table table{min-width:1240px}.lane-summary{display:flex;flex-direction:column;gap:4px;min-width:310px}.lane-summary span{margin:0;font:600 .64rem var(--ui-font-mono);color:var(--ui-muted)}.lane-summary b{display:inline;color:var(--ui-brand)}.patch-status{display:inline-flex;font-style:normal;border-radius:6px;padding:5px 8px;font:700 .63rem Consolas,monospace;background:#edf2f5;color:#627684}.patch-status.in_service{background:#def6e8;color:#267448}.patch-status.installed{background:#e4f5f8;color:#087986}.patch-status.faulty{background:#f9e5e8;color:#a84050}.patch-status.removed{background:#edeff1;color:#6c747a;text-decoration:line-through}.patch-cord-modal.wide{width:min(1180px,96vw);max-height:94vh;overflow:auto}.patch-cord-form{padding:20px}.patch-cord-form-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}.patch-cord-form-grid .span-2{grid-column:span 2}.lane-builder{background:var(--ui-surface-hover);border:1px solid var(--ui-border);border-radius:11px;padding:15px;margin-top:16px}.lane-builder>header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.lane-builder h3{margin:2px 0 0;font-size:.92rem}.lane-builder>header>span{font-size:.68rem;color:var(--ui-muted)}.lane-row{display:grid;grid-template-columns:34px 120px minmax(300px,1fr) 26px minmax(300px,1fr);align-items:end;gap:9px;background:var(--ui-surface);border:1px solid var(--ui-border);border-radius:9px;padding:11px;margin-top:8px}.lane-row>strong{width:30px;height:30px;display:grid;place-items:center;align-self:center;border-radius:7px;background:#e2f6f8;color:var(--ui-brand);font:800 .7rem var(--ui-font-mono)}.lane-row>svg{align-self:center;color:#22a8b6}.lane-row fieldset{display:grid;grid-template-columns:minmax(130px,1fr) 75px 85px;gap:6px;border:1px solid var(--ui-border);border-radius:8px;padding:8px}.lane-row legend{padding:0 5px;color:var(--ui-muted);font:700 .63rem var(--ui-font-mono)}.lane-row input,.lane-row select{padding:8px}.patch-cord-actions{padding-top:16px}.patch-cord-detail{padding:20px;background:var(--ui-surface-hover)}.patch-cord-hero{display:flex;align-items:center;gap:13px;padding:17px;background:var(--ui-hero);color:var(--ui-text-on-brand);border-radius:11px}.patch-cord-hero>div{width:49px;height:49px;display:grid;place-items:center;background:var(--ui-hero-raised);color:#43d0dc;border-radius:10px}.patch-cord-hero section{flex:1}.patch-cord-hero p,.patch-cord-hero h2,.patch-cord-hero span{margin:0}.patch-cord-hero p{color:var(--ui-hero-muted);font:600 .65rem var(--ui-font-mono)}.patch-cord-hero h2{font-size:1.12rem;margin:4px 0}.patch-cord-hero span{display:block;color:var(--ui-hero-muted);font-size:.7rem}.patch-meta{display:grid;grid-template-columns:repeat(4,1fr);background:var(--ui-surface);border:1px solid var(--line);border-radius:10px;margin-top:11px}.patch-meta>div{padding:13px;border-right:1px solid var(--ui-border)}.patch-meta>div:last-child{border:0}.patch-meta span,.patch-meta b{display:block}.patch-meta span{font-size:.63rem;color:var(--ui-muted);text-transform:uppercase}.patch-meta b{font-size:.72rem;margin-top:5px}.patch-lanes,.patch-history{background:var(--ui-surface);border:1px solid var(--line);border-radius:10px;padding:15px;margin-top:11px}.patch-lanes>header{display:flex;justify-content:space-between;align-items:center}.patch-lanes h3,.patch-history h3{margin:0;font-size:.9rem}.patch-lanes>header span{font:700 .67rem var(--ui-font-mono);color:var(--ui-muted)}.patch-lanes article{display:grid;grid-template-columns:34px 1fr 25px 1fr 100px;gap:9px;align-items:center;border-top:1px solid var(--ui-border);padding:11px 0}.patch-lanes article:first-of-type{margin-top:10px}.patch-lanes article>strong{color:var(--ui-brand);font:800 .7rem var(--ui-font-mono)}.patch-lanes article span,.patch-lanes article b{display:block}.patch-lanes article span{font-size:.61rem;color:var(--ui-muted)}.patch-lanes article b{font:700 .68rem var(--ui-font-mono);margin-top:3px}.patch-lanes article>svg{color:#1babb9}.patch-lanes article>small{color:var(--ui-muted)}.patch-history article{display:flex;align-items:flex-start;gap:9px;margin-top:11px}.patch-history article i{width:8px;height:8px;border-radius:50%;background:#1bb4c3;margin-top:4px}.patch-history article b,.patch-history article span{display:block}.patch-history article b{font-size:.71rem}.patch-history article span{font-size:.65rem;color:var(--ui-muted);margin-top:3px}.patch-history>p{font-size:.7rem;color:var(--ui-muted)}.patch-detail-actions{padding-top:14px}.patch-detail-actions button{display:flex;align-items:center;gap:6px}.danger-button{border:1px solid var(--ui-error-border);background:var(--ui-danger-surface);color:var(--ui-error-text);border-radius:8px;padding:9px 13px;font-weight:700}@media(max-width:1100px){.patch-cord-tools{grid-template-columns:1fr 1fr}.patch-cord-tools .connection-search{grid-column:1/3}.patch-cord-form-grid{grid-template-columns:1fr 1fr}.lane-row{grid-template-columns:34px 1fr}.lane-row>*{grid-column:2}.lane-row>strong{grid-column:1;grid-row:1}.lane-row>svg{transform:rotate(90deg);justify-self:center}.patch-meta{grid-template-columns:1fr 1fr}}@media(max-width:700px){.patch-cord-tools,.patch-cord-form-grid{grid-template-columns:1fr}.patch-cord-tools .connection-search,.patch-cord-form-grid .span-2{grid-column:1}.lane-row fieldset,.patch-meta{grid-template-columns:1fr}.patch-meta>div{border-right:0;border-bottom:1px solid var(--ui-border)}.patch-lanes article{grid-template-columns:30px 1fr}.patch-lanes article>*{grid-column:2}.patch-lanes article>strong{grid-column:1;grid-row:1}.patch-lanes article>svg{transform:rotate(90deg)}}.node-detail-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:16px}.node-detail-grid .panel{margin:0}.node-capacity .capacity-row{padding:14px 0;border-top:1px solid #e7edf1}.node-capacity .capacity-row header{display:flex;justify-content:space-between;gap:12px}.node-capacity .capacity-row header span{font:700 .72rem Consolas,monospace;color:#425b6d}.node-capacity .capacity-row small{display:block;margin-top:8px;color:#8796a2}.node-capacity .capacity-row:first-of-type .capacity-track i{background:#dfa03e}@media(max-width:900px){.node-detail-grid{grid-template-columns:1fr}}.connection-tools{display:flex;gap:9px;margin-bottom:12px}.connection-search{flex:1;display:flex;align-items:center;gap:9px;background:var(--ui-surface);border:1px solid var(--line);border-radius:9px;padding:0 12px}.connection-search input{border:0;box-shadow:none;padding-left:0}.connection-tools .secondary.active{background:var(--ui-surface-selected);border-color:var(--ui-selected-border);color:var(--ui-brand)}.connection-filters{display:grid;grid-template-columns:repeat(5,minmax(135px,1fr)) auto;gap:10px;align-items:end;background:var(--ui-surface);border:1px solid var(--line);border-radius:10px;padding:13px;margin-bottom:12px}.column-config{display:flex;flex-wrap:wrap;gap:7px;background:var(--ui-hero);border-radius:10px;padding:11px;margin-bottom:12px}.column-config>div{display:flex;align-items:center;background:var(--ui-hero-raised);border-radius:7px;padding:5px 6px 5px 9px}.column-config label{flex-direction:row;align-items:center;color:var(--ui-hero-muted);font-size:.69rem}.column-config input{width:auto}.column-config button{border:0;background:transparent;color:var(--ui-hero-muted);padding:4px}.sort-header{border:0;background:transparent;color:inherit;font:inherit;text-transform:inherit;letter-spacing:inherit;display:flex;align-items:center;gap:5px;padding:0}.connection-detail-link{border:0;background:transparent;text-align:left;padding:0;color:var(--ui-text)}.connection-detail-link:hover b{color:#0794a4;text-decoration:underline}.connection-modal.le glace{width:min(1050px,96vw)}.connection-form{padding:20px}.connection-form-grid{display:grid;grid-template-columns:1fr 80px 1fr;align-items:center;gap:10px}.connection-form-grid fieldset{border:1px solid var(--ui-border);border-radius:11px;padding:16px;display:grid;grid-template-columns:1fr 155px;gap:12px}.connection-form-grid legend{padding:0 7px;font:700 .7rem var(--ui-font-mono);color:var(--ui-brand)}.connection-form-grid fieldset label:last-child{grid-column:1/3}.connection-form-grid small{font-weight:400;color:var(--ui-muted)}.connection-direction{display:flex;align-items:center;color:#15a7b7}.connection-direction span{height:2px;flex:1;background:#89d7df}.connection-form-meta{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px;margin-top:14px}.connection-form-meta .span-2{grid-column:1/4}.locked-hint{font-size:.72rem;color:var(--ui-warning-text);background:var(--ui-warning-surface);border:1px solid var(--ui-warning-border);padding:10px 12px;border-radius:8px}.connection-actions{padding-top:15px}.connection-detail-head{display:grid;grid-template-columns:1fr 40px 1fr auto;align-items:center;gap:12px;padding:20px;background:var(--ui-surface-selected)}.connection-detail-head>div{background:var(--ui-surface);border:1px solid var(--ui-border);border-radius:8px;padding:12px}.connection-detail-head b,.connection-detail-head span{display:block}.connection-detail-head span{font-size:.69rem;color:var(--ui-muted);margin-top:4px}.history-list{padding:20px;max-height:55vh;overflow:auto}.history-list h3{display:flex;align-items:center;gap:8px;margin:0 0 14px}.history-list article{display:grid;grid-template-columns:13px 1fr;gap:10px;padding:0 0 18px}.history-list article>i{width:9px;height:9px;border-radius:50%;background:#1cb7c7;margin-top:5px}.history-list article b,.history-list article span{display:block}.history-list article span{font-size:.7rem;color:var(--ui-muted);margin-top:3px}.history-list details{margin-top:8px;font-size:.7rem;color:var(--ui-text)}.history-diff{display:grid;grid-template-columns:1fr 28px 1fr;gap:8px;align-items:center;margin-top:8px}.history-diff pre{margin:0;background:#0b2232;color:#bcd0da;padding:10px;border-radius:7px;overflow:auto;max-height:180px;font-size:.63rem}.history-diff strong{text-align:center}@media(max-width:1000px){.connection-filters{grid-template-columns:repeat(2,1fr)}.connection-form-grid{grid-template-columns:1fr}.connection-direction{display:none}.connection-form-meta{grid-template-columns:1fr}.connection-form-meta .span-2{grid-column:1}.connection-detail-head{grid-template-columns:1fr}.connection-tools{flex-wrap:wrap}.connection-search{min-width:100%}}.cable-capacity-grid{grid-template-columns:repeat(5,1fr)}.cable-capacity-grid .connected strong{color:#3866a8}.fiber-tools{grid-template-columns:minmax(260px,1fr) 180px 170px 160px}.fiber-table table{min-width:1220px}.fiber-link-button{border:1px dashed #9ecbd1;background:#f3fbfc;color:#087985;border-radius:7px;padding:7px 9px;display:flex;align-items:center;gap:7px;font-size:.67rem;font-weight:700;white-space:nowrap}.fiber-link-button.connected{border-style:solid;border-color:#cae1e5;background:#fff;color:#38576b;text-align:left}.fiber-link-button span,.fiber-link-button b,.fiber-link-button small{display:inline;margin:0}.fiber-link-button small{display:block;color:#81919d;font:600 .59rem Consolas,monospace;margin-top:3px}.fiber-connection-form{padding:20px}.fiber-link-ends{display:grid;grid-template-columns:1fr 130px 1fr;gap:12px;align-items:center}.fiber-link-ends fieldset{border:1px solid #d7e2e9;border-radius:10px;padding:15px;display:grid;grid-template-columns:1fr 110px 100px;gap:10px}.fiber-link-ends legend{padding:0 7px;color:#0b8290;font:700 .68rem Consolas,monospace}.fiber-link-medium{display:flex;flex-direction:column;align-items:center;color:#159aa8;gap:6px}.fiber-link-medium span{width:100%;height:1px;background:#9ed4da}.fiber-link-medium b{font:700 .65rem Consolas,monospace}.fiber-link-meta{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:13px}.fiber-state-rule{background:#eaf7f9;border:1px solid #c8e8eb;color:#44717c;border-radius:8px;padding:10px 12px;font-size:.69rem}.connection-warning{display:flex;gap:9px;align-items:center;background:var(--ui-warning-surface);border:1px solid var(--ui-warning-border);color:var(--ui-warning-text);border-radius:8px;padding:10px 12px;margin-bottom:12px}.connection-warning b,.connection-warning span{display:block}.connection-warning b{font-size:.73rem}.connection-warning span{font-size:.66rem;margin-top:3px}.fiber-link-actions{padding-top:13px}.fiber-link-actions button{display:flex;align-items:center;gap:6px}@media(max-width:1100px){.cable-capacity-grid,.fiber-tools{grid-template-columns:1fr 1fr}.fiber-tools .connection-search{grid-column:1/3}.fiber-link-ends{grid-template-columns:1fr}.fiber-link-medium{flex-direction:row}.fiber-link-medium span{height:1px;flex:1}}@media(max-width:700px){.fiber-tools{grid-template-columns:1fr}.fiber-tools .connection-search{grid-column:1}.fiber-link-ends fieldset,.fiber-link-meta{grid-template-columns:1fr}}.section-selector{display:flex;gap:8px;overflow:auto;padding:12px 1px 2px}.section-selector button{min-width:155px;display:grid;grid-template-columns:28px 1fr;gap:2px 7px;text-align:left;border:1px solid var(--ui-field-border);background:var(--ui-surface);border-radius:9px;padding:9px;color:var(--ui-text)}.section-selector button>span{grid-row:1/3;width:27px;height:27px;display:grid;place-items:center;border-radius:6px;background:var(--ui-surface-selected);color:var(--ui-brand);font:800 .65rem var(--ui-font-mono)}.section-selector button>b{font-size:.69rem}.section-selector button>small{color:var(--ui-muted);font:600 .58rem var(--ui-font-mono)}.section-selector button.active{border-color:var(--ui-selected-border);box-shadow:0 0 0 2px #dff6f8}.section-selector button.retired{opacity:.58}.section-selector button.retired b{text-decoration:line-through}.section-actions{display:flex;gap:7px;flex-wrap:wrap}.splice-page{max-width:1580px}.splice-tools{display:grid;grid-template-columns:minmax(300px,1fr) 210px 170px;gap:9px;margin-bottom:12px}.splice-tools>select{background:var(--ui-surface);border:1px solid var(--line);border-radius:9px;padding:0 11px;color:var(--ui-text);font-size:.73rem}.splice-table table{min-width:1120px}.splice-table td>svg{color:#19a6b4}.splice-purpose{display:inline-flex;font-style:normal;border-radius:6px;padding:5px 8px;background:#e7f5f7;color:#087c89;font:700 .61rem Consolas,monospace}.splice-purpose.branch{background:#fff0dd;color:#a46016}.splice-purpose.repair{background:#f2eafa;color:#745393}.splice-modal.wide{width:min(1180px,96vw);max-height:94vh;overflow:auto}.splice-form{padding:20px}.splice-form-meta{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.splice-form-meta.lower{margin-top:12px}.splice-end-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px}.splice-candidate-picker{border:1px solid var(--ui-border);border-radius:10px;padding:12px;min-width:0}.splice-candidate-picker legend{padding:0 7px;color:var(--ui-brand);font:700 .69rem var(--ui-font-mono)}.selected-fiber-end{display:flex;align-items:center;gap:8px;background:var(--ui-surface-selected);border:1px solid #c5e7ea;color:var(--ui-brand);border-radius:7px;padding:9px;margin-top:9px;font-size:.68rem}.candidate-results{height:220px;overflow:auto;margin-top:8px;border-top:1px solid var(--ui-border)}.candidate-results>span{display:flex;align-items:center;gap:7px;color:var(--ui-muted);font-size:.68rem;padding:12px}.candidate-results button{width:100%;display:flex;gap:8px;align-items:center;text-align:left;border:0;border-bottom:1px solid var(--ui-border);background:var(--ui-surface);padding:8px}.candidate-results button:hover,.candidate-results button.active{background:var(--ui-surface-selected)}.candidate-results button>i{width:13px;height:13px;border-radius:50%;border:1px solid rgba(0,0,0,.16)}.candidate-results b,.candidate-results small{display:block}.candidate-results b{font-size:.67rem;color:var(--ui-text)}.candidate-results small{font-size:.59rem;color:var(--ui-muted);margin-top:2px}.trace-view{padding:20px;background:var(--ui-surface-hover)}.trace-view>section{background:var(--ui-surface);border:1px solid var(--ui-border);border-radius:10px;padding:14px;margin-top:10px}.trace-view>section>header{display:flex;justify-content:space-between;gap:10px}.trace-view>section>header b{font-size:.76rem}.trace-view>section>header span{font:700 .63rem var(--ui-font-mono);color:var(--ui-muted)}.trace-view>section>div{display:flex;align-items:stretch;gap:7px;overflow:auto;margin-top:12px}.trace-view article{min-width:185px;border-radius:8px;padding:10px}.trace-view article span,.trace-view article b,.trace-view article small{display:block}.trace-view article span{font:700 .57rem var(--ui-font-mono)}.trace-view article b{font-size:.67rem;margin:4px 0}.trace-view article small{font-size:.59rem}.trace-fiber{background:var(--ui-surface-selected);color:var(--ui-brand);border:1px solid #c6e7ea}.trace-splice{background:#fff2df;color:#79531f;border:1px solid #edd5ad}@media(max-width:1000px){.splice-tools,.splice-form-meta,.splice-end-grid{grid-template-columns:1fr 1fr}.splice-tools .connection-search,.splice-form-meta label:first-child{grid-column:1/3}}@media(max-width:700px){.splice-tools,.splice-form-meta,.splice-end-grid{grid-template-columns:1fr}.splice-tools .connection-search,.splice-form-meta label:first-child{grid-column:1}.section-actions{margin-top:8px}.cable-section-card>header{align-items:flex-start;flex-direction:column}}.managed-medium{display:inline-flex;background:var(--ui-surface-selected);color:var(--ui-brand);border-radius:7px;padding:8px 10px;font-size:.66rem;font-weight:700}.global-catalog{max-width:1480px}.catalog-hero{display:flex;align-items:center;justify-content:space-between;background:var(--ui-hero-background);color:var(--ui-text-on-brand);border-radius:15px;padding:22px 25px;margin-bottom:14px}.catalog-hero h2{margin:3px 0 5px;font-size:1.28rem}.catalog-hero p{margin:0;color:var(--ui-hero-muted);font-size:.75rem}.catalog-hero svg{color:#49d2dc}.catalog-tabs{display:flex;gap:5px;overflow:auto;background:var(--ui-surface);border:1px solid var(--line);border-radius:11px;padding:5px;margin-bottom:12px}.catalog-tabs button{white-space:nowrap;border:0;background:transparent;border-radius:7px;color:#627686;padding:9px 12px;font-size:.7rem;font-weight:700}.catalog-tabs button.active{background:var(--ui-surface-selected);color:var(--ui-brand)}.catalog-toolbar{display:flex;align-items:center;justify-content:space-between;margin:0 0 12px;color:var(--ui-muted);font-size:.68rem}.catalog-search{display:flex;align-items:center;gap:7px;background:var(--ui-surface);border:1px solid var(--line);border-radius:8px;padding:0 10px;width:min(420px,60vw)}.catalog-search input{border:0;outline:0;width:100%;padding:9px 0;font-size:.72rem}.catalog-metrics{display:grid;grid-template-columns:repeat(6,1fr);gap:10px}.catalog-metrics article{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:6px 10px;background:var(--ui-surface);border:1px solid var(--line);border-radius:11px;padding:15px}.catalog-metrics svg{grid-row:1/3;color:var(--ui-brand)}.catalog-metrics span{color:var(--ui-muted);font-size:.68rem}.catalog-metrics strong{font:800 1.25rem var(--ui-font-mono);color:var(--ui-text)}.catalog-principle{display:flex;align-items:flex-start;gap:14px;background:var(--ui-surface-selected);border:1px solid #caeaed;border-radius:11px;padding:16px;margin-top:13px;color:var(--ui-brand)}.catalog-principle p{margin:5px 0 0;color:var(--ui-muted);font-size:.72rem;line-height:1.5}.catalog-stack{display:grid;gap:13px}.catalog-mini-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.catalog-panel{background:var(--ui-surface);border:1px solid var(--line);border-radius:12px;overflow:hidden}.catalog-panel>header{display:flex;align-items:center;justify-content:space-between;padding:13px 15px;border-bottom:1px solid var(--ui-border)}.catalog-panel h3{margin:0;font-size:.84rem}.catalog-caption{margin:13px 15px;color:var(--ui-muted);font-size:.7rem}.catalog-table{overflow:auto}.catalog-table table{min-width:720px}.catalog-table td{padding:11px 14px}.catalog-table td strong{font-family:inherit}.catalog-status{display:inline-flex!important;align-items:center;gap:5px;font-size:.65rem!important;margin:0!important;color:#607685!important}.catalog-status i{width:7px;height:7px;border-radius:50%;background:#95a4ad}.catalog-status.active i{background:#26aa7a}.catalog-icon-button{width:30px;height:30px;border:0;border-radius:7px;background:#edf3f5;color:var(--ui-muted);display:grid;place-items:center}.catalog-row-actions{display:flex;justify-content:flex-end;gap:5px}.catalog-icon-button.danger{background:var(--ui-danger-surface);color:var(--ui-action-danger)}.catalog-icon-button:hover{background:var(--ui-surface-hover)}.catalog-icon-button.danger:hover{background:var(--ui-danger-surface)}.catalog-empty{display:flex;align-items:center;justify-content:center;gap:9px;color:var(--ui-muted);min-height:110px;font-size:.72rem}.catalog-modal{max-width:760px}.catalog-modal select[multiple]{min-height:100px}.check-field{display:flex;align-items:center;gap:8px;min-height:39px}.check-field input{width:auto}.paired-input{display:grid;grid-template-columns:1fr 1fr;gap:7px}@media(max-width:1100px){.catalog-metrics{grid-template-columns:repeat(3,1fr)}}@media(max-width:720px){.catalog-hero{align-items:flex-start;padding:17px}.catalog-hero svg{display:none}.catalog-toolbar{align-items:flex-start;gap:8px;flex-direction:column}.catalog-search{width:100%}.catalog-metrics{grid-template-columns:repeat(2,1fr)}.catalog-mini-grid,.paired-input{grid-template-columns:1fr}}.node-status option[value=true]{color:#15803d;background:#fff}.node-status option[value=false]{color:#b91c1c;background:#fff}.node-profile dd>small{display:block;margin-top:6px}.node-capacity-total{font-size:1.4rem;font-weight:800;color:#0e7490;letter-spacing:0}.node-detail-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.node-detail-grid[hidden]{display:none}.node-capacity .capacity-row:first-of-type .capacity-track i{background:var(--port-rear)}.node-capacity .capacity-row.front .capacity-track i{background:var(--port-front)}.patch-status.used{background:#def6e8;color:#267448}.patch-status.ready{background:#fff0d9;color:#a65a00}.patch-status.fault{background:#fbe3e7;color:#ae263a}.patch-cord-table .row-actions{flex-wrap:nowrap}.patch-cord-table .row-actions button:disabled{opacity:.4;cursor:not-allowed}.table-columns-toolbar{justify-content:flex-end}.column-config button:disabled{opacity:.35;cursor:default}.content.device-workspace{max-width:none;width:100%;min-width:0}.device-actions,.device-filters,.device-pager{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.device-actions button{font-size:.7rem;padding:8px 10px}.device-filters{margin:16px 0}.device-filters>input{flex:1;min-width:220px}.device-filters input,.device-filters select{padding:10px 12px;font-size:.8rem}.device-filters .check-field{font-size:.75rem;color:var(--ui-muted)}.device-pager{justify-content:flex-end;margin:14px 0;font-size:.75rem;color:var(--ui-muted)}.device-pager span{margin-right:auto}.device-summary{margin:16px 0;padding:20px;border-radius:12px;background:var(--ui-hero);color:var(--ui-text-on-brand);display:flex;align-items:center;justify-content:space-between;gap:15px}.device-summary h2{margin:0 0 8px;font-size:1.15rem}.device-summary p{margin:5px 0;font-size:.8rem;color:var(--ui-hero-muted)}.device-summary small{font-size:.65rem;overflow-wrap:anywhere;color:var(--ui-hero-muted)}.device-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));background:var(--ui-surface);border:1px solid var(--ui-border);border-radius:12px;padding:16px;gap:18px}.device-facts dt{color:var(--ui-muted);font-size:.67rem;margin-bottom:6px}.device-facts dd{margin:0;font-size:.8rem;overflow-wrap:anywhere;color:var(--ui-text)}.device-note{color:var(--ui-muted);font-size:.76rem;line-height:1.6}.device-modal{max-width:760px;max-height:90vh;overflow-y:auto}.physical-modal{width:min(1050px,94vw);max-width:1050px;max-height:90vh;overflow-y:auto}.physical-modal pre{max-height:240px;overflow:auto;font-size:.7rem}.physical-modal li{margin:12px 0;font-size:.85rem}.physical-modal label,.layout-fields label{display:flex;flex-direction:column;gap:6px;font-size:.78rem}.physical-modal input,.physical-modal select,.physical-modal textarea,.layout-fields input,.layout-fields select{width:100%;min-width:0;padding:9px}.layout-fields{border:1px solid var(--ui-border);border-radius:8px;margin:14px 0;padding:14px}.layout-group{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:14px 0;border-bottom:1px solid var(--ui-border);margin-bottom:14px}.layout-group small{grid-column:1 / -1;color:var(--ui-muted)}.model-preview{background:var(--ui-surface-selected);padding:12px;border-radius:8px;color:var(--ui-text);font-size:.78rem}.model-preview p{margin:8px 0}.endpoint-pair{display:grid;grid-template-columns:1fr 1fr;gap:14px}.endpoint-picker{display:grid;gap:12px;border:1px solid var(--ui-border);border-radius:8px;padding:15px;min-width:0}.node-connectivity{margin-top:22px}.node-connectivity table{width:100%;min-width:750px}.content.node-detail-page{max-width:none;width:100%;min-width:0}.node-detail-page .list-header{gap:14px;flex-wrap:wrap}.node-detail-page .list-header>div,.node-detail-page .panel{min-width:0;overflow-wrap:anywhere}.node-connectivity{min-width:0}.node-connectivity .endpoint-table{width:100%;table-layout:auto}.endpoint-table th,.endpoint-table td{padding:12px 10px}.endpoint-table .endpoint-cell-cable,.endpoint-table .endpoint-cell-endpoint{overflow-wrap:anywhere;max-width:320px}.endpoint-table .endpoint-cell-actions{width:190px}.endpoint-table .device-actions{gap:6px}.endpoint-table .device-actions button{min-height:36px}.endpoint-table td{vertical-align:middle}.endpoint-sort{display:flex;align-items:center;gap:5px;width:100%;border:0;padding:0;background:transparent;color:inherit;font:inherit;text-align:left;text-transform:inherit;cursor:pointer}.endpoint-sort small{font-size:.6rem;white-space:nowrap;color:var(--ui-muted)}.endpoint-sort:focus-visible{outline:2px solid var(--ui-focus);outline-offset:5px}.binding-status-bound{display:inline-block;padding:4px 9px;border-radius:6px;background:#e5f7ed;color:#148045}.binding-status-empty{font-weight:400;color:inherit;background:none}.node-connectivity td .endpoint-tube{display:inline-flex;align-items:center;gap:6px;margin:0;white-space:nowrap;font-size:inherit}.endpoint-tube i{width:14px;height:14px;border:1px solid var(--ui-swatch-border);border-radius:50%;flex-shrink:0}.endpoint-table .fiber-color-fact{margin:0;white-space:nowrap}.node-connectivity .data-table{overflow-x:auto}.node-connectivity td span{display:block;margin-top:5px;font-size:.75rem}.binding-modal .layout-fields>label{margin-bottom:12px}.binding-modal .layout-fields p{font-size:.78rem;color:var(--ui-muted)}.binding-fiber-summary{display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:10px;background:var(--ui-surface-selected);border-radius:8px;font-size:.8rem}.binding-fiber-summary i{width:14px;height:14px;border:1px solid var(--ui-swatch-border);border-radius:50%}.binding-picker{position:relative;margin-bottom:12px;min-width:0}.binding-picker>label{margin-bottom:6px}.binding-picker-control{position:relative}.physical-modal .binding-picker-control input{padding-right:38px}.binding-picker-arrow{position:absolute;right:1px;top:1px;bottom:1px;width:34px;border:0;border-left:1px solid var(--ui-border);border-radius:0 5px 5px 0;background:var(--ui-surface-muted);color:var(--ui-text);cursor:pointer}.binding-picker-popup{position:absolute;top:100%;left:0;right:0;z-index:5;background:var(--ui-surface);border:1px solid var(--ui-field-border);border-radius:7px;box-shadow:var(--ui-shadow-popover);overflow:hidden}.binding-picker-options{max-height:220px;overflow-y:auto;overscroll-behavior:contain}.binding-picker-options [role=option]{padding:10px 12px;font-size:.8rem;cursor:pointer;overflow-wrap:anywhere;border-bottom:1px solid var(--ui-border)}.binding-picker-options [role=option]:hover,.binding-picker-options .is-highlighted{background:var(--ui-surface-selected)}.binding-picker-options [aria-selected=true]{font-weight:700;color:var(--ui-brand)}.binding-picker-status{padding:8px 12px;font-size:.72rem;color:var(--ui-muted);background:var(--ui-surface-hover);display:flex;align-items:center;justify-content:space-between;gap:8px}.endpoint-toolbar{gap:12px}.endpoint-table-wrap:focus-visible{outline:2px solid var(--ui-focus);outline-offset:3px}.endpoint-mobile-sort{display:none}@media(max-width:1050px){.node-connectivity .endpoint-toolbar>input{min-width:160px}.node-connectivity .endpoint-table{min-width:0!important;display:block}.endpoint-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.endpoint-table thead button{visibility:hidden}.endpoint-table tbody{display:grid;gap:12px}.endpoint-table tbody tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border:1px solid var(--ui-border);border-radius:10px;background:var(--ui-surface);overflow:hidden}.node-connectivity .endpoint-table-wrap{border:0;background:transparent;overflow:visible}.endpoint-table td{display:block;border:0;padding:10px 12px;min-width:0;max-width:none!important;overflow-wrap:anywhere}.endpoint-table td:before{content:attr(data-label);display:block;margin-bottom:6px;font-size:.65rem;letter-spacing:.03em;color:var(--ui-muted);text-transform:uppercase}.endpoint-table .endpoint-cell-port{grid-column:1/-1;background:var(--ui-surface-muted);border-bottom:1px solid var(--ui-border)}.endpoint-table .endpoint-cell-actions{grid-column:1/-1;width:auto;border-top:1px solid var(--ui-border)}.endpoint-table td[colspan]{grid-column:1/-1}.endpoint-table .device-actions button{min-height:42px}.endpoint-table .fiber-color-fact{white-space:normal}.endpoint-mobile-sort{display:flex;align-items:flex-end;gap:8px;margin-bottom:14px}.endpoint-mobile-sort label{flex:1;min-width:0;font-size:.75rem}.endpoint-mobile-sort select{font:inherit;padding:10px}.endpoint-mobile-sort button{white-space:nowrap}}@media(max-width:420px){.endpoint-toolbar .endpoint-columns{margin-left:auto}}@media(max-width:650px){.endpoint-toolbar>input{flex-basis:100%}}@media(max-width:700px){.endpoint-pair,.layout-group{grid-template-columns:1fr}}.device-modal select[multiple]{min-height:115px}.device-workspace .data-table{overflow-x:auto}.device-workspace table{min-width:850px}.device-workspace td small{display:block;font-size:.63rem;color:var(--ui-muted);margin-top:4px}.device-workspace .data-table td{vertical-align:top}.device-history-line{border-top:1px solid var(--ui-border);padding-top:12px;color:var(--ui-muted);font-size:.68rem!important}.device-history details{border:1px solid var(--ui-border);border-radius:8px;background:var(--ui-surface);margin-bottom:9px}.device-history summary{padding:13px;cursor:pointer;font-size:.75rem;color:var(--ui-text)}.device-history>small{color:var(--ui-muted)}.device-audit{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:12px}.device-audit>div{min-width:0}.device-audit pre{overflow:auto;max-height:300px;font-size:.7rem}@media(max-width:1000px){.device-facts{grid-template-columns:repeat(2,1fr)}.device-summary{align-items:flex-start;flex-direction:column}}@media(max-width:600px){.device-facts,.device-audit{grid-template-columns:1fr}}.modal.physical-editor{display:flex;flex-direction:column;width:min(1050px,100%);max-height:calc(100dvh - 40px);overflow:hidden}.physical-editor>.modal-header{flex:0 0 auto;gap:12px}.physical-editor>form{display:flex;flex-direction:column;min-height:0;overflow:hidden}.physical-editor-body{min-height:0;overflow-y:auto;overflow-x:hidden;padding:0 18px 16px}.physical-editor-body fieldset{min-width:0}.physical-editor-body .form-grid{padding:14px 0;grid-template-columns:repeat(2,minmax(0,1fr))}.physical-editor>form>.form-actions{flex:0 0 auto;border-top:1px solid var(--ui-border);padding:12px 18px;background:var(--ui-surface)}@media(max-width:700px){.physical-editor-body .form-grid,.physical-editor .endpoint-pair{grid-template-columns:minmax(0,1fr)}.physical-editor .modal-header{padding:14px}}.physical-editor .binding-picker-popup{position:relative;top:auto;margin-top:4px}.device-workspace .list-header,.device-detail-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.device-workspace .device-summary>div{min-width:0;overflow-wrap:anywhere}.device-workspace .catalog-tabs{display:flex;flex-wrap:wrap;gap:4px}.device-detail-toolbar{margin:12px 0}.device-collapsed-name{margin:10px 0;color:var(--ui-text)}.device-workspace .data-table{max-width:100%;overflow-x:auto}.device-list-table td,.device-port-table td{overflow-wrap:anywhere}@media(max-width:750px){.device-workspace .device-filters>input{min-width:0;flex-basis:100%}.device-list-table table,.device-port-table table{min-width:0;width:100%}.device-list-table thead,.device-port-table thead{display:block}.device-list-table thead tr,.device-port-table thead tr{display:flex;flex-wrap:wrap;gap:6px;padding:10px}.device-list-table th,.device-port-table th{border:0;padding:6px;font-size:.65rem}.device-list-table tbody,.device-port-table tbody{display:block}.device-list-table tbody tr,.device-port-table tbody tr{display:block;border-top:1px solid var(--ui-border);padding:8px 0}.device-list-table td,.device-port-table td{display:block;border:0;padding:8px 12px;min-width:0}.device-list-table td[data-label]:before,.device-port-table td[data-label]:before{content:attr(data-label);display:block;color:var(--ui-muted);font-size:.65rem;font-weight:700;margin-bottom:5px}.device-list-table .row-actions{justify-content:flex-start}.device-port-table .device-actions{flex-wrap:wrap}.device-workspace .device-facts{padding:12px;gap:14px}}.content.global-catalog{width:100%;max-width:none;min-width:0}.global-catalog .catalog-panel,.global-catalog .catalog-stack,.catalog-table-section{min-width:0}.global-catalog .catalog-mini-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.global-catalog .catalog-toolbar{gap:12px;flex-wrap:wrap}.global-catalog .catalog-search{flex:1;width:auto;max-width:650px;min-width:200px}.catalog-toolbar-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.catalog-toolbar-actions button,.catalog-table-tools button{display:inline-flex;align-items:center;gap:6px}.catalog-table-tools{padding:10px 15px;display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--muted);font-size:.75rem}.catalog-table-section .column-config{margin:0 12px 12px;align-items:center}.catalog-columns-reset{color:var(--ui-text-on-brand);background:transparent;border:1px solid var(--ui-sidebar-muted);border-radius:6px;padding:7px}.global-catalog .catalog-table table{min-width:0;width:100%;table-layout:auto}.global-catalog .catalog-table th,.global-catalog .catalog-table td{overflow-wrap:anywhere;max-width:420px}.global-catalog .catalog-table th{white-space:nowrap}.catalog-row-actions{display:flex;justify-content:flex-end;gap:6px;flex-wrap:nowrap}.catalog-row-actions .catalog-icon-button{width:34px;height:34px;flex:none}.catalog-vendor-logo{max-width:110px;max-height:40px;object-fit:contain;display:block}.global-catalog .catalog-model-filters{grid-template-columns:repeat(2,minmax(0,1fr)) auto;margin:12px 15px}.catalog-backdrop{padding:clamp(8px,2vw,24px);overflow:hidden}.modal.catalog-dialog{width:min(820px,100%);max-width:100%;max-height:calc(100dvh - 32px);display:flex;flex-direction:column;overflow:hidden;outline:none}.modal.catalog-dialog-wide{width:min(1160px,100%)}.catalog-dialog .modal-header{flex:none;gap:14px;padding:18px 22px}.catalog-dialog .modal-header h2{overflow-wrap:anywhere;font-size:1.05rem}.catalog-dialog .modal-header button{flex:none}.catalog-dialog-form,.catalog-layout-form{display:flex;flex-direction:column;min-height:0;overflow:hidden;flex:1 1 auto;margin:0}.catalog-dialog-body,.catalog-layout-body{min-height:0;overflow:auto;overscroll-behavior:contain;flex:1 1 auto;scrollbar-gutter:stable}.catalog-dialog .catalog-dialog-body{align-content:start;flex-shrink:1}.catalog-dialog .form-actions>button{white-space:normal;overflow-wrap:anywhere;min-width:0}.catalog-dialog input,.catalog-dialog select,.catalog-dialog textarea{box-sizing:border-box}.catalog-dialog textarea{resize:vertical}.catalog-dialog .check-field{min-height:42px;align-items:center}.catalog-dialog-form .catalog-dialog-body{margin:0}.catalog-dialog .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.catalog-dialog label,.catalog-dialog fieldset,.catalog-dialog input,.catalog-dialog select,.catalog-dialog textarea{min-width:0;max-width:100%}.catalog-dialog .form-actions{grid-column:1/-1;position:static;flex:0 0 auto;background:var(--ui-surface);border-top:1px solid var(--line);padding:14px 22px;margin:0;flex-wrap:wrap;align-items:center;z-index:1}.catalog-dialog .form-error{overflow-wrap:anywhere;margin:0}.catalog-dialog .device-note{flex:none;font-size:.8rem;line-height:1.5;padding:14px 22px;margin:0;color:var(--muted);background:var(--ui-surface-selected)}.catalog-conversion-note{margin:14px 22px;padding:12px;border:1px solid var(--ui-warning-border);background:var(--ui-warning-surface);border-radius:8px;font-size:.8rem;line-height:1.5}.catalog-layout-form .layout-fields{margin:16px 22px;padding:16px;min-width:0}.catalog-layout-form .layout-group{grid-template-columns:repeat(3,minmax(0,1fr))}.catalog-layout-form .layout-group small{overflow-wrap:anywhere}.catalog-layout-form .form-actions span{margin-right:auto;font-size:.8rem;color:var(--muted)}.catalog-logo-editor{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.catalog-logo-editor>img{width:100px;height:70px;object-fit:contain;border:1px solid var(--line);border-radius:8px;padding:5px}.catalog-logo-editor>label{flex:1;min-width:180px}.catalog-logo-editor small{font-weight:400;color:var(--muted)}.global-catalog .catalog-table-models table{min-width:640px}.global-catalog .catalog-table-types table{min-width:320px}.global-catalog .catalog-table-vendors table{min-width:460px}@media(max-width:600px){.global-catalog .catalog-search{width:100%}.global-catalog .catalog-table.catalog-table-models table{min-width:640px}.global-catalog .catalog-table.catalog-table-types table{min-width:320px}.global-catalog .catalog-table.catalog-table-vendors table{min-width:460px}}@media(max-width:1000px){.global-catalog .catalog-mini-grid{grid-template-columns:minmax(0,1fr)}.global-catalog .catalog-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.catalog-layout-form .layout-group{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.content.global-catalog{padding:14px 10px}.global-catalog .catalog-hero{padding:18px;gap:12px}.global-catalog .catalog-hero h2{font-size:1.1rem}.global-catalog .catalog-hero>svg{display:none}.global-catalog .catalog-search{max-width:none;flex-basis:100%}.catalog-toolbar-actions{width:100%;justify-content:space-between}.global-catalog .catalog-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.global-catalog .catalog-panel>header{gap:10px;flex-wrap:wrap}.global-catalog .catalog-model-filters{grid-template-columns:minmax(0,1fr)}.global-catalog .catalog-table table{min-width:420px}.global-catalog .catalog-table td{padding:10px}.modal.catalog-dialog{max-height:calc(100dvh - 16px)}.catalog-dialog .form-grid{grid-template-columns:minmax(0,1fr);padding:16px}.catalog-dialog .span-2{grid-column:1/-1}.catalog-dialog .modal-header{padding:14px 16px}.catalog-dialog .form-actions{padding:12px 16px}.catalog-layout-form .layout-fields{margin:12px}.catalog-layout-form .layout-group{grid-template-columns:minmax(0,1fr)}.catalog-dialog .device-note{padding:12px 16px}.catalog-dialog .form-actions>button{flex:1}}.catalog-type-picker{min-width:0}.catalog-type-input{display:flex;align-items:stretch;margin-top:7px}.catalog-type-input input{min-width:0;flex:1;border-radius:6px 0 0 6px}.catalog-type-input button{flex:0 0 36px;border:1px solid var(--ui-field-border);border-left:0;background:var(--ui-surface-selected);border-radius:0 6px 6px 0;color:var(--ui-brand);cursor:pointer}.catalog-type-options{display:grid;padding:4px;border:1px solid var(--ui-field-border);border-radius:6px;background:var(--ui-surface);margin-top:4px}.catalog-type-options button{text-align:left;padding:9px;border:0;background:var(--ui-surface);color:var(--ui-text);cursor:pointer;border-radius:4px}.catalog-type-options button.highlighted,.catalog-type-options button:hover{background:var(--ui-surface-selected)}.catalog-reference-count{border:0;background:var(--ui-surface-selected);color:var(--ui-brand);border-radius:6px;padding:6px 12px;font-weight:700;cursor:pointer;min-width:36px}.catalog-usage-body{min-width:0;padding:16px}.catalog-dialog .catalog-usage-table{min-width:0;width:100%;border-collapse:collapse;table-layout:fixed}.catalog-usage-table th,.catalog-usage-table td{text-align:left;padding:12px;border-bottom:1px solid var(--ui-border);vertical-align:top;overflow-wrap:anywhere}.catalog-usage-table th:first-child{width:60px}.catalog-usage-table th:nth-child(2){width:32%}.catalog-usage-table small{display:block;margin-top:5px;color:var(--ui-muted)}.catalog-port-list{display:flex;flex-wrap:wrap;gap:6px}.catalog-port-list span{background:var(--ui-surface-muted);padding:4px 8px;border-radius:4px;overflow-wrap:anywhere;max-width:100%}@media(max-width:600px){.catalog-usage-table,.catalog-usage-table tbody,.catalog-usage-table tr,.catalog-usage-table td{display:block;width:100%}.catalog-usage-table thead{display:none}.catalog-usage-table tr{border:1px solid var(--ui-border);border-radius:8px;margin-bottom:12px}.catalog-usage-table td{box-sizing:border-box}.catalog-usage-table td:before{content:attr(data-label);display:block;font-weight:600;font-size:12px;color:var(--ui-muted);margin-bottom:6px}}.copper-workspace{display:grid;gap:16px}.copper-workspace .list-header{margin-bottom:0}.copper-toolbar,.copper-actions{display:flex;align-items:end;gap:9px;flex-wrap:wrap}.copper-toolbar label{min-width:175px;max-width:320px;flex:1}.copper-toolbar input,.copper-toolbar select{width:100%}.copper-table table{min-width:760px}.copper-table tr.selected{background:var(--ui-surface-selected)}.copper-link{border:0;background:none;color:var(--ui-brand);font-weight:800;cursor:pointer;padding:0;text-align:left}.copper-link:hover{text-decoration:underline}.copper-cell{display:grid;gap:5px}.copper-cell small,.copper-table small{display:block;color:var(--ui-muted);font-size:.7rem;overflow-wrap:anywhere}.copper-cell .copper-actions{align-items:center}.copper-cell .copper-actions button,.copper-table .copper-actions button{padding:5px 7px;font-size:.68rem}.copper-detail,.copper-topology{background:var(--ui-surface);border:1px solid var(--line);border-radius:12px;padding:18px;display:grid;gap:15px}.copper-detail>header,.copper-topology>header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap}.copper-detail h2,.copper-topology h2{margin:0;font-size:1.1rem}.copper-detail header p,.copper-topology header p{margin:5px 0 0;color:var(--ui-muted);font-size:.76rem}.copper-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.copper-metrics span{background:var(--ui-surface-muted);border-radius:9px;padding:12px;color:var(--ui-muted);font-size:.7rem}.copper-metrics b{display:block;color:var(--ui-text);font-size:1rem;margin-top:4px;overflow-wrap:anywhere}.copper-history{border-top:1px solid var(--line);padding-top:13px}.copper-history summary{cursor:pointer;font-weight:700;font-size:.8rem}.copper-history details{margin:9px 0;padding:9px;background:var(--ui-surface-hover);border-radius:7px}.copper-history pre{white-space:pre-wrap;overflow-wrap:anywhere;max-height:300px;overflow:auto;font-size:.68rem}.copper-dialog{max-width:780px;max-height:min(90vh,950px);overflow:auto}.copper-dialog-body{padding:20px;display:grid;gap:15px}.copper-dialog-body h3{font-size:.88rem}.copper-form label{display:grid;gap:6px}.copper-endpoint-choice{display:grid;gap:10px}.copper-binding-end{border:1px solid var(--line);border-radius:9px;padding:13px;min-width:0}.copper-binding-end legend{font-weight:800;color:var(--ui-brand)}.copper-note{color:var(--ui-muted);font-size:.76rem}.copper-warnings{padding:9px;border-radius:7px;background:var(--ui-warning-surface);color:var(--ui-warning-text)}.copper-trace-list{display:grid;gap:7px;padding-left:25px}.copper-trace-list li{padding:8px;background:var(--ui-surface-muted);border-radius:6px;font-size:.77rem}.copper-trace-list span{display:block;color:var(--ui-muted)}.copper-ends{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.copper-ends article{border:1px solid var(--line);border-radius:9px;padding:13px;overflow-wrap:anywhere}.copper-ends h3{margin:0 0 7px;font-size:.9rem}.copper-ends p{font-size:.76rem}.copper-topology{margin:0 0 18px}.copper-topology table{min-width:700px}@media(max-width:760px){.copper-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.copper-ends{grid-template-columns:1fr}.copper-toolbar label{min-width:100%}.copper-workspace .list-header{align-items:flex-start;gap:10px;flex-wrap:wrap}.copper-dialog-body{padding:15px}}.mesh-edge.utp_fixed_cable line{stroke:#d29222;stroke-width:3.5}.copper-row-actions{justify-content:flex-start;flex-wrap:nowrap}.copper-row-actions button{flex:none}.copper-row-actions button:disabled{opacity:.4;cursor:not-allowed}.copper-bulk-preview{display:grid;gap:8px;min-width:0;padding:12px;border:1px solid var(--line);border-radius:9px;background:var(--ui-surface-muted);font-size:.78rem}.copper-bulk-preview p{margin:0;overflow-wrap:anywhere}.copper-bulk-preview .copper-warnings{max-height:120px;overflow:auto}.copper-choice-group{display:flex;align-items:center;gap:8px 18px;flex-wrap:wrap;padding:9px 12px;border:1px solid var(--line);border-radius:9px}.copper-choice-group legend{padding:0 5px;font-weight:700}.copper-choice-group .check-field{flex-direction:row;align-items:center;gap:6px;min-height:0;margin:0;font-size:.8rem}.copper-panel-header-actions{display:flex;align-items:end;justify-content:flex-end;gap:var(--ui-space-3);flex-wrap:wrap;margin-left:auto}.copper-panel-add{display:grid;grid-template-columns:90px minmax(150px,220px) auto;align-items:end;gap:var(--ui-space-2)}.copper-panel-add label{min-width:0;max-width:none}@media(max-width:980px){.copper-panel-header-actions{width:100%;justify-content:space-between}.copper-panel-add{flex:1}}@media(max-width:560px){.copper-panel-add{grid-template-columns:repeat(2,minmax(0,1fr));flex-basis:100%}.copper-panel-add button{grid-column:1/-1;justify-self:end}}.profile-trigger{display:flex;align-items:center;gap:10px;border:0;background:none;color:inherit;min-width:0;flex:1;text-align:left;padding:0;cursor:pointer}.profile-trigger>svg{flex-shrink:0}.profile-trigger img{width:36px;height:36px;object-fit:cover;border-radius:50%;flex-shrink:0}.profile-trigger>span{min-width:0;flex:1}.user-card>.profile-trigger{width:100%;min-height:36px;color:var(--ui-sidebar-text)}.user-card>.icon-button{width:34px;height:34px}.user-card .profile-trigger b{color:var(--ui-sidebar-text)}.profile-trigger b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-trigger small{display:block;color:var(--ui-sidebar-muted);font-size:11px;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.modal-backdrop.profile-backdrop{padding:16px;overflow:hidden}.modal.profile-dialog{width:min(680px,100%);max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px);display:flex;flex-direction:column;overflow:hidden}.profile-dialog>.modal-header,.profile-dialog>.profile-tabs{flex-shrink:0}.profile-dialog:focus{outline:none}.profile-body{padding:22px;display:grid;gap:16px;align-content:start;flex:1 1 auto;min-height:0;min-width:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scrollbar-gutter:stable}.profile-tabs{display:flex;padding:12px 18px;gap:6px;border-bottom:1px solid var(--ui-border);flex-wrap:wrap}.profile-tabs button{display:flex;align-items:center;gap:6px;border:0;border-radius:8px;background:var(--ui-surface-muted);padding:10px 12px;cursor:pointer;color:var(--ui-text)}.profile-tabs button.active{background:var(--ui-brand);color:var(--ui-text-on-brand)}.profile-fields{display:grid;gap:16px;border:0;padding:0;margin:0;min-width:0}.profile-fields label,.profile-proof label{display:grid;gap:6px;min-width:0}.profile-proof>label:only-child{grid-column:1/-1}.profile-fields input,.profile-fields textarea{width:100%;box-sizing:border-box;min-width:0}.profile-fields small{color:var(--ui-muted);font-size:12px;line-height:1.6}.profile-proof{display:grid;grid-template-columns:1fr 1fr;gap:12px;border-top:1px solid var(--ui-border);padding-top:16px}.profile-avatar-row{display:flex;align-items:center;gap:18px}.profile-avatar-row>div{display:grid;gap:8px;min-width:0}.profile-avatar{width:88px;height:88px;border-radius:50%;object-fit:cover;flex-shrink:0}.profile-avatar.placeholder{display:grid;place-items:center;background:var(--ui-surface-selected);color:var(--ui-brand)}.profile-security-status{display:flex;gap:12px;align-items:flex-start;background:var(--ui-surface-selected);padding:16px;border-radius:12px}.profile-security-status svg{flex-shrink:0}.profile-security-status p{margin:8px 0 0;font-size:13px;line-height:1.6}.profile-warning{padding:14px;background:var(--ui-warning-surface);color:var(--ui-warning-text);border:1px solid var(--ui-warning-border);border-radius:8px;line-height:1.6}.profile-warning p{margin:6px 0}.profile-success{padding:12px;border-radius:8px;background:var(--ui-success-surface);color:var(--ui-success-text)}.profile-enrollment,.profile-recovery,.profile-password{display:grid;gap:14px;border-top:1px solid var(--ui-border);padding-top:16px}.profile-enrollment{grid-template-columns:minmax(160px,200px) minmax(0,1fr);align-items:center}.profile-enrollment-fields{display:grid;gap:14px;min-width:0}.profile-enrollment img{display:block;width:clamp(160px,26dvh,200px);max-width:100%;height:auto;justify-self:center}.profile-enrollment code{overflow-wrap:anywhere;-webkit-user-select:all;user-select:all;background:var(--ui-surface-muted);padding:12px}.recovery-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.recovery-grid code{font-size:13px;-webkit-user-select:all;user-select:all;padding:8px;background:var(--ui-surface-muted);border-radius:6px;overflow-wrap:anywhere}.profile-check{display:flex!important;align-items:center;gap:10px}.profile-check input{width:auto}.profile-session-list{display:grid;gap:10px;max-height:300px;overflow:auto}.profile-session-list article{border:1px solid var(--ui-border);padding:12px;border-radius:8px;overflow-wrap:anywhere}.profile-session-list p{font-size:12px;line-height:1.5}.profile-dialog button:disabled{opacity:.55;cursor:not-allowed}@media(max-width:520px){.modal-backdrop.profile-backdrop{padding:8px}.modal.profile-dialog{max-height:calc(100vh - 16px);max-height:calc(100dvh - 16px)}.profile-body{padding:16px}.profile-enrollment{grid-template-columns:minmax(0,1fr)}.profile-proof{grid-template-columns:1fr}.profile-tabs button{font-size:12px;padding:8px}.profile-tabs{padding:10px}.profile-avatar-row{align-items:flex-start;gap:12px}.profile-avatar{width:60px;height:60px}.recovery-grid{grid-template-columns:1fr}}@media(max-height:600px){.profile-dialog>.modal-header{padding:10px 16px}.profile-tabs{padding:8px 12px}.profile-body{padding:14px;gap:12px}.profile-fields{gap:12px}.profile-security-status{padding:12px}.profile-enrollment{gap:12px;padding-top:12px}}.fiber-color-fact{display:inline-flex!important;align-items:center;gap:6px;font-size:inherit}.fiber-color-fact>i{display:inline-block;width:14px;height:14px;flex-shrink:0;border:1px solid var(--ui-swatch-border);border-radius:50%}.color-image-link{border:0;background:none;padding:0;color:var(--ui-brand);text-decoration:underline;cursor:pointer;font:inherit;font-weight:600}.color-image-backdrop,.color-editor-backdrop{position:fixed;inset:0;background:var(--ui-dialog-backdrop);display:flex;align-items:center;justify-content:center;padding:20px;z-index:var(--ui-layer-color-editor)}.color-image-backdrop{z-index:var(--ui-layer-color-image)}.color-image-dialog,.color-editor-dialog{width:min(650px,96vw);max-height:90vh;overflow:auto;background:var(--ui-surface);border-radius:var(--ui-radius-dialog);padding:20px;box-shadow:var(--ui-shadow-dialog);color:var(--ui-text)}.color-image-dialog{width:auto;min-width:280px;max-width:96vw}.color-image-dialog header,.color-editor-dialog header{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:14px}.color-image-dialog img{display:block;max-width:90vw;max-height:76vh;object-fit:contain}.color-editor-dialog h3{margin:0}.color-current{margin:12px 0}.color-editor-fields{border:0;padding:0;display:grid;gap:14px;min-width:0}.color-editor-fields label{display:flex;flex-direction:column;gap:7px;font-size:.8rem}.color-editor-fields input,.color-editor-fields select{width:100%;min-width:0;padding:9px}.color-editor-fields input[type=color]{height:42px;padding:4px}.color-photo-preview{max-width:100%;max-height:220px;object-fit:contain}.color-editor-dialog small,.color-save-note{font-size:.76rem;color:var(--ui-muted)}.color-conflict-warning{margin-top:14px;background:var(--ui-warning-surface);border:1px solid var(--ui-warning-border);border-radius:8px;padding:12px;font-size:.8rem}.color-conflict-warning ul{max-height:130px;overflow:auto;margin-bottom:0}.color-editor-dialog .form-actions{margin-top:16px}.sites-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:var(--ui-space-3)}.sites-search{display:flex;align-items:center;gap:var(--ui-space-2);flex:1;min-width:220px;background:var(--ui-surface);border:1px solid var(--ui-border);border-radius:var(--ui-radius-control);padding:0 var(--ui-space-3);color:var(--ui-muted)}.sites-search:focus-within{border-color:var(--ui-focus);box-shadow:0 0 0 3px var(--ui-focus-ring)}.sites-search .ui-control{border:0;box-shadow:none;padding-left:0;background:transparent}.sites-search .ui-control:focus{outline:none;box-shadow:none}.sites-count{display:flex;align-items:center;gap:var(--ui-space-2);border:1px solid var(--ui-border);border-radius:var(--ui-radius-control);padding:var(--ui-space-2) var(--ui-space-3);background:var(--ui-surface);color:var(--ui-muted);font-size:.75rem;font-weight:700}.sites-view-toggle{display:flex;gap:var(--ui-space-1)}.sites-hint{color:var(--ui-muted);font-size:.75rem;margin:9px 0 18px}.sites-actions{display:flex;align-items:center;gap:var(--ui-space-2);white-space:nowrap}.sites-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:var(--ui-space-4)}.sites-card{padding:var(--ui-space-4);min-width:0}.sites-card[data-selected=true]{border-color:var(--ui-selected-border);box-shadow:var(--ui-shadow-selected)}.sites-card-main{border:0;background:transparent;width:100%;display:flex;align-items:center;gap:var(--ui-space-3);text-align:left;padding:0 0 15px;color:var(--ui-text)}.sites-card-main:focus-visible{outline:2px solid var(--ui-focus);outline-offset:3px}.sites-card-main b,.sites-card-main small{display:block;overflow-wrap:anywhere}.sites-card-main small{color:var(--ui-muted);font:600 .68rem var(--ui-font-mono);margin-top:var(--ui-space-1)}.sites-avatar{width:46px;height:46px;flex:none;display:grid;place-items:center;border-radius:var(--ui-radius-control);background:var(--ui-surface-selected);color:var(--ui-brand);font-weight:700}.sites-card dl{display:grid;grid-template-columns:repeat(3,1fr);margin:0;border-top:1px solid var(--ui-border);border-bottom:1px solid var(--ui-border)}.sites-card dl div{padding:var(--ui-space-3) 0}.sites-card dt{color:var(--ui-text-subtle);font-size:.65rem;text-transform:uppercase}.sites-card dd{margin:var(--ui-space-1) 0 0;font:700 .85rem var(--ui-font-mono)}.sites-card footer{padding-top:var(--ui-space-3)}.sites-card footer .sites-actions{justify-content:space-between}@media(max-width:760px){.sites-toolbar .sites-search{flex-basis:100%;min-width:0}}.global-dashboard .ui-page-header{margin-bottom:22px}.dashboard-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.dashboard-metrics article{padding:20px;display:grid;gap:9px;min-width:0}.dashboard-metrics svg{color:var(--ui-brand);width:22px;height:22px}.dashboard-metrics span{color:var(--ui-muted);font-size:.78rem}.dashboard-metrics strong{font-size:1.8rem;line-height:1.1}.dashboard-section-heading{display:flex;align-items:end;justify-content:space-between;gap:16px;margin:32px 0 16px}.dashboard-section-heading h2{margin:0 0 5px;font-size:1.15rem}.dashboard-section-heading p{margin:0;color:var(--ui-muted);font-size:.8rem}.dashboard-section-heading>span{color:var(--ui-muted);font-size:.78rem;white-space:nowrap}.dashboard-sites{display:grid;grid-template-columns:repeat(auto-fill,minmax(235px,1fr));gap:16px}.dashboard-site{padding:18px;min-width:0}.dashboard-site-heading,.dashboard-site-footer{display:flex;align-items:center;justify-content:space-between;gap:12px}.dashboard-site-avatar{width:38px;height:38px;border-radius:10px;background:var(--ui-surface-selected);color:var(--ui-brand);display:grid;place-items:center;font-weight:750;font-size:.72rem}.dashboard-site-status{color:var(--ui-muted);font-size:.72rem}.dashboard-site-status[data-active=true]{color:var(--ui-success-text)}.dashboard-site h3{margin:18px 0 4px;font-size:1rem;overflow-wrap:anywhere}.dashboard-site-code{margin:0;color:var(--ui-muted);font:600 .72rem var(--ui-font-mono);overflow-wrap:anywhere}.dashboard-site-footer{margin-top:20px;border-top:1px solid var(--ui-border);padding-top:12px;font-size:.76rem}@media(max-width:900px){.dashboard-metrics{grid-template-columns:1fr}}@media(max-width:520px){.dashboard-section-heading{align-items:start;flex-direction:column}.dashboard-sites{grid-template-columns:1fr}}
