@font-face{font-family:BrotherHelsinki;src:url(/fonts/ptouch/BRHELRS0.TTF) format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:BrotherHelsinki;src:url(/fonts/ptouch/BRHELBS0.TTF) format("truetype");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:BrotherHelsinki;src:url(/fonts/ptouch/BRHELIS0.TTF) format("truetype");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:BrotherHelsinki;src:url(/fonts/ptouch/BRHELVS0.TTF) format("truetype");font-weight:700;font-style:italic;font-display:swap}@font-face{font-family:BrotherHelsinkiNarrow;src:url(/fonts/ptouch/BRHENRS0.TTF) format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:BrotherHelsinkiNarrow;src:url(/fonts/ptouch/BRHENBS0.TTF) format("truetype");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:BrotherHelsinkiNarrow;src:url(/fonts/ptouch/BRHENIS0.TTF) format("truetype");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:BrotherHelsinkiNarrow;src:url(/fonts/ptouch/BRHENVS0.TTF) format("truetype");font-weight:700;font-style:italic;font-display:swap}@font-face{font-family:BrotherLetterGothic;src:url(/fonts/ptouch/BRLGORC0.TTF) format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:BrotherLetterGothic;src:url(/fonts/ptouch/BRLGOBC0.TTF) format("truetype");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:BrotherLetterGothic;src:url(/fonts/ptouch/BRLGOIC0.TTF) format("truetype");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:BrotherBrussels;src:url(/fonts/ptouch/BRBRURS0.TTF) format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:BrotherBrussels;src:url(/fonts/ptouch/BRBRUBS0.TTF) format("truetype");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:BrotherBrussels;src:url(/fonts/ptouch/BRBRUIS0.TTF) format("truetype");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:BrotherBrussels;src:url(/fonts/ptouch/BRBRUVS0.TTF) format("truetype");font-weight:700;font-style:italic;font-display:swap}@font-face{font-family:BrotherUS;src:url(/fonts/ptouch/BRUS_RT0.TTF) format("truetype");font-weight:400;font-style:normal;font-display:swap}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root,[data-theme=dark]{color-scheme:dark;--bg: #0d1117;--bg2: #161b22;--bg3: #21262d;--bg4: #2d333b;--border: #30363d;--border2: #444c56;--text: #e6edf3;--text2: #8b949e;--text3: #6e7681;--accent: #004080;--accent2: #7090c0;--blue: #388bfd;--blue2: #58a6ff;--orange: #f0883e;--red: #f85149;--yellow: #d29922;--purple: #bc8cff;--teal: #39d353;--cyan: #39c5cf;--green: #3fb950;--cooling: #39c5cf;--conveyance: #7ee787;--status-complete: #2ea043;--status-inprogress: #388bfd;--status-qaqc: #d29922;--status-notstarted: #6e7681;--status-blocked: #f85149;--status-na: #8b949e;--role-gb300: #bc8cff;--role-vr: #f0883e;--role-c3: #56d364;--role-cdu: #39c5cf;--role-vast: #388bfd;--role-infiniband: #d29922;--role-compute: #58a6ff;--role-network: #3fb950;--role-ot: #f85149;--role-future: #6e7681;--shadow: 0 1px 3px rgba(0,0,0,.4);--shadow-lg: 0 8px 24px rgba(0,0,0,.5);--overlay: rgba(1, 4, 9, .72);--on-accent: #ffffff;--chart-bg: #161b22;--chart-axis: #e6edf3;--chart-grid: #30363d;--swatch-ring: #ffffff;--radius: 6px;--radius-lg: 12px;--ctrl-h: 32px;--font: "Inter", sans-serif;--mono: "JetBrains Mono", monospace;--transition: .15s ease;--list-header-font-size: 11px;--list-header-font-weight: 600;--list-header-letter-spacing: .6px;--list-header-transform: uppercase;--list-header-color: var(--text3);--list-header-bg: var(--bg3);--list-header-padding-y: 10px;--list-header-padding-x: 14px;--list-header-line-height: 1.25;--list-header-sub-font-size: 10px;--list-header-sub-font-weight: 600;--list-scroll-pad-bottom: 12px;--catalog-row-h: 34px;--catalog-row-gap: 4px;--catalog-visible-rows: 6;--catalog-body-pad-top: 6px;--catalog-rows-h: calc( (var(--catalog-visible-rows) * var(--catalog-row-h)) + ((var(--catalog-visible-rows) - 1) * var(--catalog-row-gap)) );--catalog-list-max-h: calc( var(--catalog-rows-h) + var(--catalog-body-pad-top) + var(--list-scroll-pad-bottom) );--catalog-table-head-h: 36px;--catalog-table-max-h: calc(var(--catalog-table-head-h) + var(--catalog-list-max-h))}[data-theme=light]{color-scheme:light;--bg: #f0f5fb;--bg2: #ffffff;--bg3: #e4eef8;--bg4: #d4e3f4;--border: #b4c8de;--border2: #7a96b4;--text: #0b1a2e;--text2: #1a2f4a;--text3: #3d5570;--accent: #003d7a;--accent2: #0056a8;--blue: #0b5cab;--blue2: #004c94;--orange: #bc4c00;--red: #cf222e;--yellow: #9a6700;--purple: #8250df;--teal: #1a7f37;--cyan: #087990;--green: #1f883d;--cooling: #087990;--conveyance: #1a7f37;--status-notstarted: #4a5f78;--status-na: #4a5f78;--role-future: #4a5f78;--shadow: 0 1px 3px rgba(0, 48, 96, .1);--shadow-lg: 0 10px 28px rgba(0, 48, 96, .12);--overlay: rgba(8, 24, 48, .48);--on-accent: #ffffff;--chart-bg: #ffffff;--chart-axis: #0b1a2e;--chart-grid: #c2d4e8;--swatch-ring: #0b1a2e;--list-header-font-weight: 700;--list-header-color: var(--text2)}html,body,#root{height:100%;font-family:var(--font);background:var(--bg);color:var(--text);font-size:14px}.page-content:has(.floor-plan-page),.page-content:has(.elevations-page),.page-content:has(.lvc-trunks-page){display:flex;flex-direction:column;min-height:0;overflow:hidden}.floor-plan-page{flex:1;min-height:0}.elevations-page{flex:1;min-height:0;display:flex;flex-direction:column;gap:10px}.elevations-page .page-header{flex-shrink:0;margin-bottom:0}.lvc-trunks-page{flex:1;min-height:0;min-width:0;display:flex;flex-direction:column;gap:12px}.lvc-trunks-page-header,.lvc-trunks-page-filters{flex-shrink:0}.lvc-trunks-page .page-header{margin-bottom:0}.lvc-trunks-page-body{flex:1;min-height:0;min-width:0;display:flex;flex-direction:column}.lvc-trunks-page-split{flex:1;min-height:0;min-width:0;display:grid;grid-template-columns:minmax(180px,240px) 1fr;gap:12px;align-items:stretch}.lvc-trunks-nav{border:1px solid var(--border);border-radius:8px;background:var(--bg3);display:flex;flex-direction:column;min-height:0;overflow:hidden}.lvc-trunks-nav-scroll{overflow:auto;flex:1;min-height:0}.lvc-trunks-nav-item{display:block;width:100%;text-align:left;padding:7px 10px;border:none;border-bottom:1px solid var(--border);background:transparent;color:var(--text);cursor:pointer;font-size:12px}.lvc-trunks-nav-item:hover{background:color-mix(in srgb,var(--blue2) 10%,var(--bg))}.lvc-trunks-nav-item.active{background:color-mix(in srgb,var(--blue2) 24%,var(--bg))}.lvc-trunks-nav-item.rack{padding-left:32px;font-family:var(--mono);font-size:11px;font-weight:700}.lvc-trunks-nav-item.rack.in-pod{padding-left:48px}.lvc-trunks-nav-item.rack .lvc-trunks-nav-count{font-weight:500}.lvc-trunks-nav-room{display:flex;align-items:stretch;border-bottom:1px solid var(--border);background:transparent}.lvc-trunks-nav-room:hover{background:color-mix(in srgb,var(--blue2) 10%,var(--bg))}.lvc-trunks-nav-room.active{background:color-mix(in srgb,var(--blue2) 24%,var(--bg))}.lvc-trunks-nav-room.room-selected:not(.active){background:color-mix(in srgb,var(--blue2) 12%,var(--bg))}.lvc-trunks-nav-pod{display:flex;align-items:stretch;border-bottom:1px solid var(--border);background:transparent;padding-left:16px}.lvc-trunks-nav-pod:hover{background:color-mix(in srgb,var(--blue2) 10%,var(--bg))}.lvc-trunks-nav-pod.pod-selected{background:color-mix(in srgb,var(--blue2) 12%,var(--bg))}.lvc-trunks-nav-item.nav-bulk-selected,.lvc-trunks-nav-pod.nav-bulk-selected{background:color-mix(in srgb,var(--blue2) 18%,var(--bg));outline:1px solid color-mix(in srgb,var(--blue2) 40%,var(--border));outline-offset:-1px}.lvc-trunks-nav-pod>input[type=checkbox]{align-self:center;margin-right:2px}.lvc-trunks-nav-chevron{flex-shrink:0;width:28px;display:inline-flex;align-items:center;justify-content:center;border:none;background:transparent;color:var(--text3);cursor:pointer;padding:0}.lvc-trunks-nav-chevron:hover{color:var(--text)}.lvc-trunks-nav-room-label{flex:1;min-width:0;text-align:left;padding:7px 8px 7px 0;border:none;background:transparent;color:var(--text);cursor:pointer;font-size:12px}.lvc-trunks-nav-count{color:var(--text3);font-weight:500;font-size:10px}.lvc-trunks-nav-not-used{border-top:1px solid var(--border);font-weight:700}.lvc-trunks-main{min-width:0;min-height:0;display:flex;flex-direction:column}button{font-family:inherit;cursor:pointer;border:none;background:none}input,select,textarea{font-family:inherit;font-size:14px}a{color:var(--blue2);text-decoration:none}.app-shell{display:flex;height:100vh;height:100dvh;overflow:hidden}.sidebar{width:240px;background:var(--bg2);border-right:1px solid var(--border);display:flex;flex-direction:column;flex-shrink:0;overflow-y:auto}.main-area{flex:1;display:flex;flex-direction:column;overflow:hidden}.topbar{height:52px;background:var(--bg2);border-bottom:1px solid var(--border);display:flex;align-items:center;padding:0 20px;gap:12px;flex-shrink:0}.page-content{flex:1;overflow-y:auto;padding:24px}.sidebar-header{padding:16px;border-bottom:1px solid var(--border)}.sidebar-logo{font-size:15px;font-weight:700;color:var(--text);display:flex;align-items:center;gap:8px;min-width:0}.sidebar-logo .app-brand-mark{min-width:0;width:100%}.sidebar-logo span{color:var(--accent2)}.sidebar-nav{flex:1;padding:8px;overflow-y:auto}.nav-section{margin-bottom:4px}.nav-section-label-row{display:flex;align-items:center;gap:2px;padding:8px 2px 0}.nav-section-label{display:flex;align-items:center;justify-content:space-between;gap:8px;flex:1;min-width:0;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.9px;color:var(--accent2);padding:4px 6px;cursor:pointer;transition:var(--transition);text-align:left;border-radius:var(--radius);background:transparent;border:none}.nav-section-label:hover{color:var(--accent)}.nav-section-label-future{cursor:default;font-style:italic;font-weight:600}.nav-section-label-future:hover{color:var(--accent)}.nav-section-chevron{flex-shrink:0;transition:transform .18s ease}.nav-section-chevron.collapsed{transform:rotate(-90deg)}.nav-grip{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:18px;height:22px;padding:0;border:none;border-radius:4px;background:transparent;color:var(--text3);cursor:grab;opacity:.35;transition:opacity .15s ease,color .15s ease,background .15s ease}.nav-grip:hover,.nav-section-label-row:hover .nav-grip,.nav-item-with-grip:hover>.nav-grip,.nav-sortable-row:hover>.nav-item-with-grip>.nav-grip{opacity:.9;color:var(--text2);background:var(--bg3)}.nav-grip:active{cursor:grabbing}.nav-dragging{box-shadow:0 4px 14px #0000002e;border-radius:var(--radius);background:var(--bg2)}.nav-item{display:flex;align-items:center;gap:8px;padding:7px 10px;border-radius:var(--radius);color:var(--text2);font-size:13px;cursor:pointer;transition:var(--transition);width:100%;text-align:left;margin-bottom:1px;background:transparent;border:none}.nav-item:hover{background:var(--bg3);color:var(--text)}.nav-item.active{background:var(--bg4);color:var(--text);font-weight:500}[data-theme=light] .nav-item.active{background:color-mix(in srgb,var(--blue2) 14%,var(--bg2));color:var(--blue2)}.nav-item svg{flex-shrink:0}.nav-item-with-grip{gap:4px;padding-left:4px}.nav-item-label{min-width:0}.nav-section>.nav-sortable-row{margin-left:8px}.nav-sub-item{padding-left:18px;font-size:12px}.nav-sub-item svg{width:14px;height:14px;opacity:.85}.nav-subgroup{margin-bottom:1px}.nav-subgroup-toggle{padding-right:6px}.nav-subgroup-toggle-btn{display:flex;align-items:center;gap:8px;flex:1;min-width:0;background:transparent;border:none;color:inherit;font:inherit;cursor:pointer;padding:0;text-align:left}.nav-subgroup-toggle .nav-subgroup-label-text{flex:1;min-width:0;text-align:left}.nav-sub-sub-item{padding-left:30px;font-size:12px}.nav-sub-sub-item svg{width:14px;height:14px;opacity:.85}.nav-item-placeholder{color:var(--text3);font-style:italic;cursor:default}.nav-item-placeholder:hover{background:transparent;color:var(--text3)}.lvc-ports-chart-mpl{background:var(--chart-bg);border:1px solid var(--border);border-radius:4px;padding:12px 8px 4px;color:var(--chart-axis)}.lvc-ports-chart-scroll{overflow-x:auto;overflow-y:hidden;width:100%;padding-bottom:4px}.lvc-ports-chart-scroll--active{padding-bottom:8px}.sidebar-footer{padding:12px;border-top:1px solid var(--border)}.card{background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius-lg)}.card-header{padding:16px 20px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between}.card-title{font-size:15px;font-weight:600;color:var(--text)}.card-body{padding:20px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:var(--ctrl-h);min-height:var(--ctrl-h);padding:0 14px;border-radius:var(--radius);font-size:13px;font-weight:500;line-height:1;box-sizing:border-box;transition:var(--transition);cursor:pointer}.btn-primary{background:var(--accent);color:var(--on-accent)}.btn-primary:hover{background:var(--accent2)}.btn-secondary{background:var(--bg4);color:var(--text);border:1px solid var(--border2)}.btn-secondary:hover{background:var(--bg3);border-color:var(--text3)}.btn-danger{background:color-mix(in srgb,var(--red) 14%,transparent);color:var(--red);border:1px solid color-mix(in srgb,var(--red) 32%,transparent)}.btn-danger:hover{background:color-mix(in srgb,var(--red) 22%,transparent)}.btn-ghost{color:var(--text2);padding:0 10px}.btn-ghost:hover{background:var(--bg3);color:var(--text)}.btn-sm{padding:0 12px;font-size:12px}.btn-icon{width:var(--ctrl-h);min-width:var(--ctrl-h);padding:0;border-radius:var(--radius)}.btn:disabled,.btn[disabled]{opacity:.45;cursor:not-allowed;pointer-events:none}.btn-primary:disabled:hover,.btn-primary[disabled]:hover,.btn-secondary:disabled:hover,.btn-secondary[disabled]:hover{background:inherit}.form-group{margin-bottom:16px}.form-label{display:block;font-size:12px;font-weight:500;color:var(--text2);margin-bottom:6px;text-transform:uppercase;letter-spacing:.5px}.form-input,.input{width:100%;height:var(--ctrl-h);min-height:var(--ctrl-h);background:var(--bg3);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);padding:0 12px;font-size:12px;line-height:calc(var(--ctrl-h) - 2px);box-sizing:border-box;transition:var(--transition)}.form-input:focus,.input:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px color-mix(in srgb,var(--blue) 22%,transparent)}.form-input::placeholder,.input::placeholder{color:var(--text3)}.rack-spec-num-input::-webkit-inner-spin-button,.rack-spec-num-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.form-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%238b949e' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;padding-top:0;padding-bottom:0;padding-right:30px;line-height:1.2}[data-theme=light] .form-select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%231a2f4a' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E")}.form-textarea,textarea.form-input,textarea.input{height:auto;min-height:80px;padding:8px 12px;line-height:1.4;resize:vertical}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-row-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px}.table-wrap,.table-scroll-section,.room-detail-table-wrap,.lvc-pull-landings-scroll,.lvc-pull-landings-body,.lvc-pull-trunks-scroll,.lvc-porting-ru-rows,.lvc-porting-rack-panel{--scroll-sticky-top: 40px;scroll-snap-type:y proximity;scroll-padding-top:var(--scroll-sticky-top);scroll-padding-bottom:max(var(--list-scroll-pad-bottom),env(safe-area-inset-bottom,0px));overscroll-behavior:contain}.table-wrap{overflow:auto;max-height:min(70vh,calc(100dvh - 220px))}.table-scroll-section{max-height:min(70vh,640px);overflow:auto;border:1px solid var(--border);border-radius:8px}.table-scroll-section .table-wrap{overflow:visible;max-height:none;scroll-snap-type:none;scroll-padding-top:0}.table-wrap tbody>tr,.table-scroll-section tbody>tr,.room-detail-table-wrap tbody>tr,.lvc-pull-landings-scroll tbody>tr,.lvc-pull-landings-body tbody>tr,.lvc-pull-trunks-scroll tbody>tr,.lvc-porting-ru-rows tbody>tr{scroll-snap-align:start;scroll-snap-stop:normal}.lvc-porting-rack-panel .lvc-porting-ru-block{scroll-snap-align:start;scroll-snap-stop:normal}.table-col-th-inner{display:inline-flex;align-items:center;justify-content:center;gap:2px;max-width:100%;min-width:0}.table-col-draggable .table-col-th-inner{cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.table-col-draggable.is-dragging .table-col-th-inner,.table-col-drag-overlay{cursor:grabbing}.table-col-th-label{min-width:0;overflow:hidden;text-overflow:ellipsis}.table-col-drag-grip{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:18px;height:18px;padding:0;margin:0;border:none;border-radius:3px;background:transparent;color:var(--text3);opacity:.65;cursor:grab;touch-action:none;pointer-events:auto}.table-col-draggable:hover .table-col-drag-grip{opacity:1;color:var(--text2);background:color-mix(in srgb,var(--bg4) 70%,transparent)}.table-col-draggable.is-dragging{background:color-mix(in srgb,var(--blue2) 12%,var(--bg3))}.table-col-draggable.is-dragging .table-col-drag-grip{cursor:grabbing}.table-col-draggable.is-sorting:not(.is-dragging){transition:none}.table-col-drag-overlay{display:inline-flex;align-items:center;justify-content:center;gap:4px;padding:8px 12px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:var(--text);background:color-mix(in srgb,var(--bg3) 92%,var(--blue2));border:1px solid color-mix(in srgb,var(--blue2) 45%,var(--border));border-radius:6px;box-shadow:0 8px 24px color-mix(in srgb,#000 28%,transparent);white-space:nowrap;pointer-events:none;will-change:transform}.table-col-drag-overlay .table-col-drag-grip{opacity:1;color:var(--text2);cursor:grabbing;pointer-events:none}body.table-col-dnd-active{cursor:grabbing!important;-webkit-user-select:none!important;user-select:none!important}body.table-col-dnd-active *{cursor:grabbing!important}.catalog-table-scroll{--scroll-sticky-top: 0px;display:flex;flex-direction:column;max-height:none;overflow:hidden;border:1px solid var(--border);border-radius:8px;padding:0;background:var(--bg);scroll-snap-type:none;scroll-padding-top:0}.catalog-table-x{flex:1 1 auto;min-height:0;min-width:0;overflow-x:auto;overflow-y:hidden;display:flex;flex-direction:column}.catalog-table-scroll--subgrid>.catalog-table-x>.catalog-table-x-inner,.catalog-table-x-inner.catalog-table-scroll--subgrid{display:grid;grid-template-rows:auto minmax(0,1fr);width:max-content;min-width:100%;flex:1 1 auto;min-height:0;height:100%;column-gap:8px;align-content:stretch;background:var(--bg);overflow:hidden}.catalog-table-scroll--subgrid>.catalog-table-x>.catalog-table-x-inner>.catalog-table-head,.catalog-table-scroll--subgrid>.catalog-table-x>.catalog-table-x-inner>.catalog-table-body,.catalog-table-x-inner.catalog-table-scroll--subgrid>.catalog-table-head,.catalog-table-x-inner.catalog-table-scroll--subgrid>.catalog-table-body{grid-column:1 / -1;display:grid;grid-template-columns:subgrid;min-width:0}.catalog-table-head{flex:0 0 auto;flex-shrink:0;position:relative;z-index:5;background:var(--list-header-bg);border-bottom:1px solid var(--border);padding:0;overflow-x:hidden;overflow-y:hidden;scrollbar-gutter:stable;box-shadow:0 1px 0 var(--border);isolation:isolate}.catalog-table-scroll--subgrid .catalog-table-head,.catalog-table-x-inner.catalog-table-scroll--subgrid>.catalog-table-head{flex:unset}.catalog-grid-header,.catalog-grid-header-sub{font-family:var(--font);font-size:var(--list-header-font-size);font-weight:var(--list-header-font-weight);letter-spacing:var(--list-header-letter-spacing);text-transform:var(--list-header-transform);line-height:var(--list-header-line-height);color:var(--list-header-color);text-align:center;justify-items:center;align-items:center;padding:calc(var(--list-header-padding-y) - 2px) var(--list-header-padding-x);box-sizing:border-box;white-space:nowrap}.catalog-grid-header-sub{font-size:var(--list-header-sub-font-size);font-weight:var(--list-header-sub-font-weight);padding-top:0;padding-bottom:calc(var(--list-header-padding-y) - 4px);white-space:normal}.catalog-table-head .catalog-grid-header,.catalog-table-head .catalog-grid-header-sub{position:static;top:auto;background:transparent;box-shadow:none}.catalog-grid-header>*,.catalog-grid-header-sub>*{text-align:center;justify-self:center;min-width:0}.catalog-table-body{--scroll-sticky-top: 0px;flex:0 1 auto;min-height:0;max-height:var(--catalog-list-max-h);position:relative;z-index:1;overflow:auto;overscroll-behavior:contain;padding:var(--catalog-body-pad-top) 0 var(--list-scroll-pad-bottom);background:var(--bg);scroll-snap-type:y proximity;scroll-padding-top:0;scroll-padding-bottom:max(var(--list-scroll-pad-bottom),env(safe-area-inset-bottom,0px));scrollbar-gutter:stable}.catalog-table-body>.catalog-table-rows,.catalog-table-body>div{display:flex;flex-direction:column;gap:var(--catalog-row-gap);min-width:0}.catalog-table-body .catalog-grid-row,.catalog-table-body>div>.catalog-grid-row,.catalog-table-body>.catalog-grid-row{scroll-snap-align:start;scroll-snap-stop:normal;min-height:var(--catalog-row-h);box-sizing:border-box}.catalog-table-scroll--subgrid .catalog-table-body,.catalog-table-x-inner.catalog-table-scroll--subgrid>.catalog-table-body{flex:unset;min-height:0;max-height:100%;align-self:stretch;align-content:start;row-gap:6px;padding:8px 0 var(--list-scroll-pad-bottom);background:var(--bg);overflow-x:hidden;overflow-y:auto;isolation:isolate}.catalog-grid-center{text-align:center}.catalog-grid-center .catalog-grid-row,.catalog-grid-center .catalog-grid-row>*{text-align:center}.catalog-grid-center .catalog-grid-row{justify-items:center;align-items:center}.catalog-grid-center input.form-input,.catalog-grid-center .form-input,.catalog-grid-center .form-select,.catalog-grid-center select.form-input{text-align:center}.catalog-grid-center .form-select,.catalog-grid-center select.form-input.form-select{padding-left:6px;padding-right:22px;background-position:right 6px center}.catalog-list-scroll{--scroll-sticky-top: 0px;max-height:var(--catalog-list-max-h);overflow:auto;overscroll-behavior:contain;display:flex;flex-direction:column;gap:var(--catalog-row-gap);padding:var(--catalog-body-pad-top) 0 var(--list-scroll-pad-bottom);scroll-snap-type:y proximity;scroll-padding-bottom:max(var(--list-scroll-pad-bottom),env(safe-area-inset-bottom,0px));scrollbar-gutter:stable;border:1px solid var(--border);border-radius:8px;background:var(--bg);box-sizing:border-box}.catalog-list-scroll>*{scroll-snap-align:start;scroll-snap-stop:normal;flex-shrink:0}.facility-settings{max-width:1120px;margin:0 auto;width:100%}.facility-settings .settings-tabs{margin-bottom:18px}.facility-settings-panel{display:flex;flex-direction:column;gap:14px}.facility-settings-grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-items:start}.facility-settings-card{background:var(--bg2);border:1px solid var(--border);border-radius:10px;padding:14px 16px 16px;min-width:0}.facility-settings-card--span{grid-column:1 / -1}.facility-settings-section-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:6px;min-height:28px}.facility-settings-section-title{font-size:13px;font-weight:700;color:var(--text);letter-spacing:.01em;line-height:1.2}.facility-settings-hint{font-size:11px;line-height:1.45;color:var(--text3);margin:0 0 10px}.facility-settings-hint strong{color:var(--text2);font-weight:600}.facility-settings-subhead{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--text3);margin:12px 0 8px}.facility-settings-subhead:first-child{margin-top:0}.facility-settings-fields{display:flex;flex-wrap:wrap;gap:14px 20px;align-items:flex-end}.catalog-item-row{display:flex;align-items:center;gap:8px;min-height:var(--catalog-row-h);padding:5px 10px;background:var(--bg3);border-radius:6px;border:1px solid var(--border);box-sizing:border-box}.catalog-item-row--add{margin-bottom:8px;border-color:var(--blue2)}.catalog-item-row .form-input,.catalog-item-row .form-select{height:28px;min-height:28px;padding-top:3px;padding-bottom:3px;font-size:12px}.facility-settings .catalog-grid-row{min-height:var(--catalog-row-h);padding-top:5px!important;padding-bottom:5px!important}.facility-settings .catalog-list-scroll .catalog-item-row{margin:0 8px}@media(max-width:900px){.facility-settings-grid-2{grid-template-columns:1fr}}.room-detail-table-wrap{overflow-x:auto;overflow-y:auto;max-width:100%}.room-detail-table-wrap table{width:max-content;min-width:100%}.room-detail-table-wrap .room-detail-sticky-col{position:sticky;left:0;z-index:4;background:var(--bg3);box-shadow:1px 0 0 var(--border)}.room-detail-table-wrap tbody .room-detail-sticky-col{background:var(--bg);z-index:2}.room-detail-table-wrap thead .room-detail-sticky-col{z-index:5}table{width:100%;border-collapse:separate;border-spacing:0}th{font-family:var(--font);font-size:var(--list-header-font-size);font-weight:var(--list-header-font-weight);letter-spacing:var(--list-header-letter-spacing);text-transform:var(--list-header-transform);line-height:var(--list-header-line-height);color:var(--list-header-color);background:var(--list-header-bg);padding:var(--list-header-padding-y) var(--list-header-padding-x);text-align:center;border-bottom:1px solid var(--border);white-space:nowrap;position:sticky;top:0;z-index:5;box-shadow:inset 0 -1px 0 var(--border);background-clip:padding-box}thead tr:first-child th{z-index:6}thead tr:nth-child(n+2) th{z-index:5}td{padding:10px 14px;border-bottom:1px solid var(--border);font-size:13px;color:var(--text2);vertical-align:middle;text-align:center}[data-theme=light] td{color:var(--text)}tr:last-child td{border-bottom:none}tr:hover td{background:var(--bg3);color:var(--text)}.lvc-trunks-table-wrap{--scroll-sticky-top: 56px;flex:1;min-height:0;min-width:0;width:100%;max-height:none;overflow:auto;border:1px solid var(--border);border-radius:8px;scroll-padding-top:var(--scroll-sticky-top);scroll-padding-bottom:64px;padding-bottom:12px;contain:layout;backface-visibility:hidden;scrollbar-gutter:stable}.lvc-trunks-table{width:max-content;min-width:100%;table-layout:auto;border-collapse:separate;border-spacing:0}.lvc-trunks-table.lvc-trunks-cols-locked{table-layout:fixed}.lvc-trunks-table tbody tr.lvc-trunks-virt-spacer td{padding:0!important;border:none!important;line-height:0!important;overflow:hidden}.lvc-trunks-table tbody tr:not(.lvc-trunks-virt-spacer){box-sizing:border-box;overflow:hidden}.lvc-trunks-table tbody tr:not(.lvc-trunks-virt-spacer) td{overflow:visible;text-overflow:clip;white-space:nowrap;vertical-align:middle;max-height:inherit}.lvc-trunks-table tbody tr:not(.lvc-trunks-virt-spacer) td.lvc-trunks-td-label{white-space:pre;text-overflow:clip;text-align:center;vertical-align:middle;overflow:visible}.lvc-trunks-table tbody tr:not(.lvc-trunks-virt-spacer) td.lvc-trunks-td-mfr{white-space:nowrap;text-align:center;vertical-align:middle;overflow:visible;text-overflow:clip}.lvc-trunks-table th,.lvc-trunks-table td{text-align:center;white-space:nowrap;vertical-align:middle}.lvc-trunks-table th{font-weight:700;color:var(--text);padding:6px 10px;font-size:10px;position:sticky;background:var(--bg3);z-index:3}.lvc-trunks-table thead tr:first-child th{top:0;z-index:4}.lvc-trunks-table thead tr.lvc-trunks-filter-row th{top:28px;z-index:3;background:var(--bg2)}.lvc-trunks-table td{padding:4px 10px;font-size:11px;line-height:1.25;overflow:visible;text-overflow:clip;max-width:none}.lvc-trunks-table th.lvc-trunks-col-fit,.lvc-trunks-table td.lvc-trunks-col-fit{width:max-content;max-width:none;white-space:nowrap;overflow:visible}.lvc-trunks-table th.lvc-trunks-col-compact,.lvc-trunks-table td.lvc-trunks-col-compact{width:1%;padding-left:4px;padding-right:4px;white-space:nowrap}.lvc-trunks-table.lvc-trunks-cols-locked td.lvc-trunks-col-compact{overflow:hidden;text-overflow:ellipsis}.lvc-trunks-table th.lvc-trunks-col-compact{overflow:visible;text-overflow:clip}.lvc-trunks-col-filter.lvc-trunks-filter-fit{width:100%;min-width:4.5rem;max-width:9rem}.lvc-trunks-col-filter.lvc-trunks-filter-compact{width:100%;min-width:2.5rem;max-width:4rem}.lvc-trunks-updated-filters{display:flex;gap:4px;align-items:center;min-width:0}.lvc-trunks-updated-filters .lvc-trunks-col-filter{min-width:0;flex:1 1 0;width:auto;max-width:none}.lvc-trunks-filter-updated-name{flex:1.1 1 0!important}.lvc-trunks-filter-updated-when{flex:1.4 1 0!important}.lvc-trunks-table tbody tr.lvc-trunks-row-alt td{background:color-mix(in srgb,var(--bg3) 70%,transparent)}.lvc-trunks-table tbody tr:hover td{background:color-mix(in srgb,var(--blue2) 14%,var(--bg))}.lvc-trunks-table tbody tr.lvc-trunks-row-selected td,.lvc-trunks-table tbody tr.lvc-trunks-row-selected:hover td,.lvc-porting-table tbody tr.lvc-trunks-row-selected td,.lvc-porting-table tbody tr.lvc-trunks-row-selected:hover td{background:color-mix(in srgb,var(--blue2) 24%,var(--bg))}.lvc-porting-rack-panel{--lvc-porting-rack-header-h: 52px;--scroll-sticky-top: var(--lvc-porting-rack-header-h);border:1px solid var(--border);border-radius:8px;background:var(--bg);min-height:420px;max-height:calc(100vh - 220px);overflow:auto;scroll-padding-bottom:48px;padding-bottom:16px}.lvc-porting-rack-header{position:sticky;top:0;z-index:5;padding:10px 12px;border-bottom:1px solid var(--border);background:var(--bg3)}.lvc-porting-ru-block{border-bottom:1px solid var(--border)}.lvc-porting-ru-toggle{position:sticky;top:var(--lvc-porting-rack-header-h);z-index:4;display:flex;align-items:center;gap:8px;width:100%;padding:4px 8px 4px 4px;border:none;border-bottom:1px solid transparent;background:var(--bg3);color:var(--text);font-size:12px;font-weight:650;box-sizing:border-box}.lvc-porting-ru-toggle.is-open{background:color-mix(in srgb,var(--blue2) 10%,var(--bg3));border-bottom-color:var(--border)}.lvc-porting-ru-toggle-main{display:flex;align-items:center;gap:8px;flex:1;min-width:0;text-align:left;padding:4px 8px;border:none;background:transparent;color:inherit;cursor:pointer;font:inherit;font-weight:650}.lvc-porting-ru-status{display:inline-flex;align-items:center;gap:6px;flex-shrink:0;margin-left:auto;font-weight:500;cursor:default}.lvc-porting-ru-status-label{font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--text3)}.lvc-porting-ru-rows{--lvc-porting-head-h: 34px;--lvc-porting-row-h: 54px;--scroll-sticky-top: var(--lvc-porting-head-h);max-height:calc(var(--lvc-porting-head-h) + (var(--catalog-visible-rows) * var(--lvc-porting-row-h)));overflow-x:auto;overflow-y:auto;overscroll-behavior:contain;scroll-snap-type:y proximity;scroll-padding-top:var(--scroll-sticky-top);scroll-padding-bottom:8px;padding-bottom:0;margin-right:12px;border:none;border-radius:0;background:var(--bg);position:relative;z-index:1;isolation:isolate}.lvc-porting-ru-rows .lvc-porting-table{width:max-content;min-width:100%;border-collapse:separate;border-spacing:0}.lvc-porting-ru-rows .lvc-porting-table thead th{position:sticky;top:0;z-index:2;height:var(--lvc-porting-head-h);box-sizing:border-box;background:var(--list-header-bg);box-shadow:inset 0 -1px 0 var(--border);font-family:var(--font);font-size:var(--list-header-font-size);font-weight:var(--list-header-font-weight);letter-spacing:var(--list-header-letter-spacing);text-transform:var(--list-header-transform);line-height:var(--list-header-line-height);color:var(--list-header-color);padding:6px 10px;text-align:center;white-space:nowrap}.lvc-porting-ru-rows .lvc-porting-table tbody>tr{scroll-snap-align:start;scroll-snap-stop:normal}.lvc-porting-ru-rows .lvc-porting-table tbody td{min-height:var(--lvc-porting-row-h);padding-top:6px;padding-bottom:6px;box-sizing:border-box;overflow:hidden}.lvc-porting-table tbody td{vertical-align:middle;text-align:center;font-weight:400}.lvc-porting-table th.lvc-porting-mfr-col,.lvc-porting-table td.lvc-porting-mfr-cell{text-align:center;vertical-align:middle}.lvc-porting-table .lvc-porting-mfr-inner{display:flex;flex-direction:column;align-items:center;gap:3px;text-align:center}.lvc-porting-table .lvc-porting-mfr-label{font-family:var(--mono);font-size:11px;font-weight:400;line-height:1.3;text-align:center;white-space:pre-line;display:block}.lvc-porting-table .lvc-porting-share-note{font-size:10px;font-weight:400;line-height:1.35;color:var(--text2);font-family:var(--sans, inherit);text-align:left}.lvc-porting-table .lvc-porting-share-line{display:block;white-space:nowrap;text-align:left}.lvc-porting-table tbody td>span,.lvc-porting-table tbody td>select{margin-left:auto;margin-right:auto}.lvc-porting-table tbody td .form-input{text-align:center;margin-left:auto;margin-right:auto}.lvc-porting-table tbody tr.lvc-porting-row-shared td{box-shadow:inset 3px 0 color-mix(in srgb,var(--amber, #d97706) 75%,transparent)}.lvc-porting-table tbody tr.lvc-porting-row-shared:not(.lvc-trunks-row-selected) td{background:color-mix(in srgb,var(--amber, #d97706) 8%,var(--bg))}.panel-faceplate{--pf-bay-h: 24px}.panel-faceplate .pf-info{background:color-mix(in srgb,var(--blue2) 10%,var(--bg3));border:1px solid var(--border);border-radius:8px;padding:10px 12px}.panel-faceplate .pf-info-top{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}.panel-faceplate .pf-info-title{font-size:12px;font-weight:700;color:var(--text)}.panel-faceplate .pf-info-meta{font-size:11px;color:var(--text3);margin-top:2px}.panel-faceplate .pf-info-occ{font-size:11px;color:var(--text3);text-align:right}.panel-faceplate .pf-status-leg{display:flex;flex-wrap:wrap;gap:10px;margin-top:8px;font-size:10px;color:var(--text3)}.panel-faceplate .pf-status-leg span{display:inline-flex;align-items:center;gap:4px}.panel-faceplate .pf-dot{display:inline-block;width:10px;height:10px;border-radius:2px;border:1px solid var(--border)}.panel-faceplate .pf-faces{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:10px}@media(max-width:900px){.panel-faceplate .pf-faces{grid-template-columns:1fr}}.panel-faceplate .pf-chassis{border-radius:6px;padding:10px 12px 12px;min-width:0}.panel-faceplate .pf-chassis.denali{background:linear-gradient(180deg,#f2f8fc,#e4f1f9 45%,#d6eaf6);border:2px solid #a8d4f0;box-shadow:inset 0 1px #ffffffd9,0 0 0 1px #c5e4f7,0 4px 12px #5a96be1f}.panel-faceplate .pf-chassis.hdx{background:linear-gradient(180deg,#dfe4ea,#c5ccd6 40%,#aeb6c0);border:1px solid #8b949e;box-shadow:inset 0 1px #ffffff8c,0 4px 12px #0000001a}.panel-faceplate .pf-chassis-rail{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;gap:8px}.panel-faceplate .pf-view-badge{font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#4a5560;background:#ffffff8c;border:1px solid rgba(0,0,0,.12);border-radius:3px;padding:1px 8px}.panel-faceplate .pf-screw{width:9px;height:9px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#f0f2f5,#7a838c 55%,#4a525a);border:1px solid #5a636c;flex-shrink:0}.panel-faceplate .pf-chassis.denali .pf-screw{background:radial-gradient(circle at 35% 30%,#f8fcff,#a8d4f0 55%,#6a9ec0);border-color:#8abee0}.panel-faceplate .pf-face{border-radius:4px;padding:8px 10px 10px}.panel-faceplate .pf-chassis.denali .pf-face{background:linear-gradient(180deg,#7da0b8,#6a8eaa);border:1px solid #5a82a0;box-shadow:inset 0 2px 8px #28506e47}.panel-faceplate .pf-chassis.hdx .pf-face{background:linear-gradient(180deg,#4a5460,#3a424c);border:1px solid #1a1f24;box-shadow:inset 0 2px 8px #00000073}.panel-faceplate .pf-grid{display:grid;width:100%;gap:3px}.panel-faceplate .pf-grid.hdx{grid-template-columns:28px repeat(2,minmax(0,1fr)) repeat(2,minmax(34px,42px)) repeat(2,minmax(0,1fr))}.panel-faceplate .pf-col-h,.panel-faceplate .pf-row-h{color:#eaf4fc;font-size:10px;font-weight:700;font-family:var(--mono, Consolas, monospace);display:flex;align-items:center;justify-content:center}.panel-faceplate .pf-ports-h{opacity:.55}.panel-faceplate .pf-corner{min-height:14px}.panel-faceplate .pf-bay{height:var(--pf-bay-h);min-height:var(--pf-bay-h);border-radius:2px;display:flex;align-items:center;justify-content:center;padding:0 4px;overflow:hidden;margin:0;font:inherit;color:inherit;width:100%;box-sizing:border-box;-moz-appearance:none;appearance:none;-webkit-appearance:none}.panel-faceplate .pf-bay.span-2{padding:0 8px}.panel-faceplate button.pf-bay:disabled{cursor:default;opacity:1}.panel-faceplate button.pf-bay.is-clickable{cursor:pointer}.panel-faceplate button.pf-bay.is-clickable:hover{outline:1px solid color-mix(in srgb,var(--blue2) 70%,transparent);outline-offset:0;filter:brightness(1.04)}.panel-faceplate button.pf-bay.is-clickable:focus-visible{outline:2px solid var(--blue2);outline-offset:1px}.pf-cassette-overlay{display:flex;align-items:center;justify-content:center;padding:16px}.pf-cassette-modal{width:max-content;max-width:min(1100px,98vw);min-width:min(420px,98vw);max-height:min(85vh,640px);display:flex;flex-direction:column;overflow:hidden}.pf-cassette-legs-table{width:max-content;max-width:100%;border-collapse:collapse;table-layout:auto}.pf-cassette-legs-table th,.pf-cassette-legs-table td{width:max-content;max-width:none;text-align:center;vertical-align:middle;white-space:nowrap;overflow:visible;text-overflow:clip;padding:5px 4px}.pf-cassette-legs-table th{position:sticky;top:0;z-index:1;background:var(--bg2);font-size:10px;font-weight:700;white-space:nowrap;padding:5px 4px}.pf-cassette-legs-table.lvc-trunks-table th,.pf-cassette-legs-table.lvc-trunks-table td{padding:5px 4px}.panel-faceplate .pf-chassis.denali .pf-bay{background:linear-gradient(180deg,#f8fbfe,#fcfeff);border:1px solid #b5d8ef;box-shadow:inset 0 1px 2px #3c78a014}.panel-faceplate .pf-chassis.hdx .pf-bay{background:#fff;border:1px solid #9aa3ad;box-shadow:inset 0 1px 2px #0000000d}.panel-faceplate .pf-bay-model{font-size:11px;font-weight:800;font-family:var(--mono, Consolas, monospace);letter-spacing:-.02em;line-height:1;white-space:nowrap;overflow:visible;max-width:none;flex-shrink:0}.panel-faceplate .pf-bay.complete{background:color-mix(in srgb,var(--status-complete, var(--green)) 42%,#fff)!important;border-color:color-mix(in srgb,var(--status-complete, var(--green)) 55%,#666)!important}.panel-faceplate .pf-bay.complete .pf-bay-model{color:#0f2818}.panel-faceplate .pf-bay.progress{background:color-mix(in srgb,var(--status-inprogress, var(--blue2)) 40%,#fff)!important;border-color:color-mix(in srgb,var(--status-inprogress, var(--blue2)) 55%,#666)!important}.panel-faceplate .pf-bay.progress .pf-bay-model{color:#0f2438}.panel-faceplate .pf-bay.qaqc{background:color-mix(in srgb,var(--status-qaqc, var(--yellow)) 45%,#fff)!important;border-color:color-mix(in srgb,var(--status-qaqc, var(--yellow)) 55%,#666)!important}.panel-faceplate .pf-bay.qaqc .pf-bay-model{color:#3a2a08}.panel-faceplate .pf-bay.notstarted{background:color-mix(in srgb,var(--status-notstarted, #6e7681) 28%,#fff)!important;border-color:color-mix(in srgb,var(--status-notstarted, #6e7681) 45%,#888)!important}.panel-faceplate .pf-bay.notstarted .pf-bay-model{color:#1a2a34}.panel-faceplate .pf-bay.blocked{background:color-mix(in srgb,var(--status-blocked, var(--red)) 38%,#fff)!important;border-color:color-mix(in srgb,var(--status-blocked, var(--red)) 55%,#666)!important}.panel-faceplate .pf-bay.blocked .pf-bay-model{color:#3a1010}.panel-faceplate .pf-faces-single{grid-template-columns:1fr;max-width:720px}.panel-faceplate .pf-portband{height:var(--pf-bay-h);min-height:var(--pf-bay-h);background:#000;border:1px solid #000;border-radius:2px;color:#fff;font-family:var(--mono, Consolas, monospace);font-size:9px;font-weight:800;letter-spacing:-.02em;display:flex;align-items:center;justify-content:center;white-space:nowrap;overflow:hidden;padding:0 2px}.panel-faceplate .pf-chassis.pf-copper-d48{background:linear-gradient(180deg,#2a2a2a,#111 45%,#0a0a0a);border:1px solid #000;box-shadow:inset 0 1px #ffffff1f,0 4px 12px #00000040;width:100%}.panel-faceplate .pf-copper-d48 .pf-view-badge{color:#e8e8e8;background:#00000059;border-color:#ffffff2e}.panel-faceplate .pf-copper-d48 .pf-screw{background:radial-gradient(circle at 35% 30%,#c8c8c8,#5a5a5a 55%,#2a2a2a);border-color:#1a1a1a}.panel-faceplate .pf-d48-face{background:#0d0d0d;border:1px solid #000;box-shadow:inset 0 2px 8px #0000008c;padding:8px 10px 10px;border-radius:3px}.panel-faceplate .pf-d48-grid{display:flex;flex-direction:column;gap:4px;width:100%}.panel-faceplate .pf-d48-row{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:4px;align-items:stretch}.panel-faceplate .pf-d48-ports{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:2px;min-width:0}.panel-faceplate .pf-d48-bands{display:grid;grid-template-columns:repeat(2,minmax(44px,52px));gap:2px}.panel-faceplate .pf-d48-band{display:flex;align-items:center;justify-content:center;min-height:28px;padding:0 4px;background:#000;border:1px solid #000;border-radius:2px;color:#fff;font-family:var(--mono, Consolas, monospace);font-size:11px;font-weight:800;letter-spacing:.02em;white-space:nowrap;-webkit-user-select:none;user-select:none}.panel-faceplate .pf-d48-port{aspect-ratio:1;min-height:22px;max-height:32px;display:flex;align-items:center;justify-content:center;background:#f4f4f4;border:1px solid #1a1a1a;border-radius:2px;box-shadow:inset 0 1px 2px #0000001f}.panel-faceplate .pf-d48-port-num{font-family:var(--mono, Consolas, monospace);font-size:8px;font-weight:700;color:#222;line-height:1}.panel-faceplate .pf-d48-port.complete{background:color-mix(in srgb,var(--status-complete, var(--green)) 52%,#fff)!important;border-color:color-mix(in srgb,var(--status-complete, var(--green)) 65%,#333)!important}.panel-faceplate .pf-d48-port.progress{background:color-mix(in srgb,var(--status-inprogress, var(--blue2)) 50%,#fff)!important;border-color:color-mix(in srgb,var(--status-inprogress, var(--blue2)) 65%,#333)!important}.panel-faceplate .pf-d48-port.qaqc{background:color-mix(in srgb,var(--status-qaqc, var(--yellow)) 55%,#fff)!important;border-color:color-mix(in srgb,var(--status-qaqc, var(--yellow)) 65%,#333)!important}.panel-faceplate .pf-d48-port.notstarted{background:color-mix(in srgb,var(--status-notstarted, #6e7681) 38%,#fff)!important;border-color:color-mix(in srgb,var(--status-notstarted, #6e7681) 55%,#444)!important}.panel-faceplate .pf-d48-port.blocked{background:color-mix(in srgb,var(--status-blocked, var(--red)) 48%,#fff)!important;border-color:color-mix(in srgb,var(--status-blocked, var(--red)) 65%,#333)!important}.lvc-trunks-table tbody tr.lvc-trunks-row-selected.lvc-trunks-row-alt td{background:color-mix(in srgb,var(--blue2) 28%,var(--bg))}.lvc-trunks-filter-row th{top:28px;z-index:4;background:var(--bg2);box-shadow:inset 0 -1px 0 var(--border);vertical-align:middle}.lvc-trunks-col-filter{width:auto;min-width:3.5rem;max-width:none;height:26px!important;min-height:26px!important;padding:0 6px!important;font-size:10px!important;font-weight:400!important;text-transform:none!important;letter-spacing:0!important;text-align:center!important;line-height:24px!important}select.lvc-trunks-col-filter.form-select{min-width:4.25rem;padding:0 22px 0 6px!important;background-position:right 4px center;background-size:10px 10px;text-align:left!important;text-align-last:left}select.lvc-trunks-status-select.form-select{width:auto;min-width:7.5rem;height:26px!important;min-height:26px!important;padding:0 22px 0 6px!important;font-size:10px!important;line-height:24px!important;background-position:right 4px center;background-size:10px 10px;text-align:left!important;text-align-last:left}.lvc-trunks-label-cell{display:block;white-space:nowrap;overflow:visible;text-overflow:clip;line-height:1.25;text-align:center;max-width:none}.lvc-trunks-label-cell--multi{white-space:pre;text-overflow:clip;line-height:14px;overflow:visible;text-align:center}.lvc-trunks-updated-edit{display:inline-flex;align-items:center;gap:4px;white-space:nowrap}.lvc-trunks-updated-name{width:calc(20ch + 8px)!important;min-width:calc(20ch + 8px);max-width:calc(20ch + 8px);height:26px!important;min-height:26px!important;padding:0 4px!important;font-size:10px!important;line-height:24px!important}.lvc-trunks-updated-at{width:auto!important;min-width:11rem;height:26px!important;min-height:26px!important;padding:0 6px!important;font-size:10px!important;line-height:24px!important}.table-sort-label{position:relative;display:inline-block;vertical-align:middle}.table-sort-icon{position:absolute;left:100%;top:50%;transform:translateY(-50%);margin-left:2px;display:inline-flex;align-items:center;pointer-events:none;line-height:0}.table-name-cell{position:relative;display:inline-block;vertical-align:middle;max-width:100%}.table-name-cell-icon{position:absolute;left:100%;top:50%;transform:translateY(-50%);margin-left:6px;display:inline-flex;align-items:center;justify-content:center;line-height:0}.table-actions-cell{display:inline-flex;align-items:center;justify-content:center;gap:0;vertical-align:middle}.badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:20px;font-size:11px;font-weight:500}.badge-complete{background:color-mix(in srgb,var(--accent2) 16%,transparent);color:var(--accent2);border:1px solid color-mix(in srgb,var(--accent2) 35%,transparent)}.badge-inprogress{background:color-mix(in srgb,var(--blue2) 16%,transparent);color:var(--blue2);border:1px solid color-mix(in srgb,var(--blue2) 35%,transparent)}.badge-notstarted{background:color-mix(in srgb,var(--text3) 16%,transparent);color:var(--text2);border:1px solid color-mix(in srgb,var(--text3) 30%,transparent)}.badge-blocked{background:color-mix(in srgb,var(--red) 16%,transparent);color:var(--red);border:1px solid color-mix(in srgb,var(--red) 35%,transparent)}.badge-clash{background:color-mix(in srgb,var(--orange, #db6d28) 16%,transparent);color:var(--orange, #db6d28);border:1px solid color-mix(in srgb,var(--orange, #db6d28) 35%,transparent)}.badge-na{background:color-mix(in srgb,var(--text3) 12%,transparent);color:var(--text2);border:1px solid color-mix(in srgb,var(--text3) 28%,transparent)}[data-theme=light] .badge-notstarted{background:color-mix(in srgb,var(--status-notstarted) 12%,transparent);color:var(--text2);border-color:color-mix(in srgb,var(--status-notstarted) 32%,transparent)}[data-theme=light] .empty-state{color:var(--text2)}[data-theme=light] .empty-state svg{opacity:.55}[data-theme=light] .input::placeholder,[data-theme=light] .form-input::placeholder{color:#4a5f78;opacity:1}.badge-future{background:color-mix(in srgb,var(--text) 12%,transparent);color:var(--text);border:1px solid color-mix(in srgb,var(--text) 28%,transparent)}.progress-bar{height:6px;background:var(--bg4);border-radius:3px;overflow:hidden}.progress-fill{height:100%;border-radius:3px;transition:width .4s ease}.progress-fill-green{background:var(--accent2)}.progress-fill-blue{background:var(--blue2)}.progress-fill-orange{background:var(--orange)}.stats-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px}.stat-card{background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius-lg);padding:16px}.stat-value{font-size:28px;font-weight:700;color:var(--text);line-height:1;margin-bottom:4px;font-variant-numeric:tabular-nums}.stat-label{font-size:12px;color:var(--text3);font-weight:500;text-transform:uppercase;letter-spacing:.5px}.stat-sub{font-size:12px;color:var(--text2);margin-top:6px}.lvc-pull-schedule-table th,.lvc-pull-schedule-table td{white-space:nowrap;vertical-align:middle}.lvc-pull-schedule-table th{padding:8px 6px;font-size:11px}.lvc-pull-schedule-table td{padding:6px;font-size:11px}.lvc-pull-schedule-table tbody td{font-weight:400}.lvc-pull-schedule-table .lvc-pull-mono{font-family:var(--mono)}.lvc-pull-rowslot-cell{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;width:100%;min-width:7.5rem}.lvc-pull-rowslot-spacer{min-width:0}.lvc-pull-rowslot-value{text-align:center;font-family:var(--mono);white-space:nowrap;justify-self:center}.lvc-pull-rowslot-share{display:flex;align-items:center;justify-content:flex-start;padding-left:6px;min-width:0}.lvc-pull-landings-table th.lvc-pull-a-group,.lvc-pull-landings-table td.lvc-pull-a-group,.lvc-pull-landings-table th.lvc-pull-z-group,.lvc-pull-landings-table td.lvc-pull-z-group{padding-left:4px;padding-right:4px}.lvc-pull-landings-table th.lvc-pull-az-gap,.lvc-pull-landings-table td.lvc-pull-az-gap{padding-left:22px;border-left:1px solid color-mix(in srgb,var(--border) 80%,transparent)}.lvc-pull-ports-share-cell{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.lvc-pull-trunks-table th,.lvc-pull-trunks-table td{overflow:hidden;text-overflow:ellipsis}.lvc-pull-trunks-table td.lvc-pull-label-cell{white-space:pre-line;overflow:visible;text-overflow:clip;vertical-align:top}.lvc-pull-trunks-table td.lvc-pull-mfr-label-cell{white-space:pre-line;overflow:visible;text-overflow:clip;vertical-align:middle}.lvc-pull-trunks-table thead th{position:sticky;top:0;z-index:3;background:var(--bg3)}.lvc-pull-trunks-table thead tr:first-child th{top:0;z-index:4;overflow:visible}.lvc-pull-trunks-table thead tr:first-child th .table-col-th-label{overflow:visible;text-overflow:clip;white-space:nowrap}.lvc-pull-trunks-table thead tr:first-child th .table-col-th-inner{max-width:none;overflow:visible}.lvc-pull-trunks-table thead tr.lvc-trunks-filter-row th{top:36px;z-index:3;background:var(--bg2);box-shadow:inset 0 -1px 0 var(--border);vertical-align:middle;padding:3px 6px!important;font-weight:400!important;text-transform:none!important;letter-spacing:0!important;text-align:center;overflow:hidden}.lvc-pull-trunks-table thead tr.lvc-trunks-filter-row th.lvc-pull-filter-actions{padding:3px 4px!important}.lvc-pull-trunks-table .lvc-trunks-col-filter,.lvc-pull-trunks-table select.lvc-trunks-col-filter.form-select{width:100%;min-width:0!important;max-width:100%;box-sizing:border-box;display:block;margin:0 auto}.lvc-pull-th-resizable{position:relative;padding-right:10px!important}.lvc-pull-trunks-table td.lvc-pull-type-cell{overflow:visible;text-overflow:clip}.lvc-pull-th-label{display:block;overflow:visible;text-overflow:clip;white-space:nowrap}.lvc-pull-col-resize{position:absolute;top:0;right:0;width:7px;height:100%;cursor:col-resize;-webkit-user-select:none;user-select:none;touch-action:none;z-index:2}.lvc-pull-col-resize:after{content:"";position:absolute;top:20%;bottom:20%;left:3px;width:1px;background:transparent}.lvc-pull-col-resize:hover:after,.lvc-pull-col-resize.is-active:after{background:var(--blue2)}.lvc-pull-col-resizing{cursor:col-resize!important;-webkit-user-select:none!important;user-select:none!important}.lvc-pull-col-resizing .lvc-pull-trunks-table tbody tr{cursor:col-resize!important}.lvc-pull-landings-panel--open{height:auto;flex:0 0 auto}.lvc-pull-landings-panel--closed{height:48px;flex:0 0 48px}.lvc-pull-landings-label{font-weight:400;font-family:var(--mono);font-size:13px;white-space:pre-wrap;line-height:1.25;word-break:break-word}.lvc-pull-landings-scroll{--lvc-land-head-h: 36px;--lvc-land-row-h: 48px;--scroll-sticky-top: var(--lvc-land-head-h);height:fit-content;max-height:calc(var(--lvc-land-head-h) + 6 * var(--lvc-land-row-h) + 16px);overflow:auto;flex:none;scroll-snap-type:none;scroll-padding-top:var(--lvc-land-head-h);scroll-padding-bottom:24px;padding-bottom:12px;box-sizing:border-box}.lvc-pull-landings-scroll tbody>tr{scroll-snap-align:none}.lvc-pull-landings-scroll .lvc-pull-schedule-table thead th{height:var(--lvc-land-head-h);box-sizing:border-box;padding-top:8px;padding-bottom:8px;position:sticky;top:0;z-index:5;background:var(--bg2);background-clip:padding-box;box-shadow:inset 0 -1px 0 var(--border)}.lvc-pull-landings-scroll .lvc-pull-schedule-table tbody td{min-height:var(--lvc-land-row-h);height:auto;box-sizing:border-box;padding-top:6px;padding-bottom:6px}.lvc-pull-landings-scroll .lvc-pull-schedule-table .btn{height:28px;min-height:28px;width:28px;min-width:28px;padding:0}.lvc-pull-landings-body{height:fit-content;max-height:340px;flex:none;overflow:auto;scroll-snap-type:none;scroll-padding-bottom:24px;padding-bottom:12px;box-sizing:border-box}.lvc-pull-trunks-scroll{--scroll-sticky-top: 72px;scroll-snap-type:none;scroll-padding-top:var(--scroll-sticky-top);scroll-padding-bottom:72px;padding-bottom:16px;box-sizing:border-box}.lvc-pull-trunks-scroll tbody>tr{scroll-snap-align:none}.lvc-pull-trunks-table thead th{background-clip:padding-box;box-shadow:inset 0 -1px 0 var(--border)}.lvc-pull-trunks-table thead tr:first-child th{background:var(--bg3);background-clip:padding-box}.lvc-pull-trunks-table thead tr.lvc-trunks-filter-row th{background:var(--bg2);background-clip:padding-box}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--overlay);display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal{background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius-lg);width:100%;max-height:90vh;overflow:hidden;box-shadow:var(--shadow-lg);display:flex;flex-direction:column}.modal-sm{max-width:440px}.modal-md{max-width:600px}.modal-lg{max-width:960px}.modal-user{max-width:780px}.modal-facility{max-width:820px}.modal>form{display:flex;flex-direction:column;flex:1 1 auto;min-height:0;overflow:hidden}.facility-form-addresses{display:grid;grid-template-columns:1fr 1fr;gap:12px 16px}.facility-form-map{border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;background:var(--bg3)}.facility-form-map iframe{display:block;width:100%;height:200px;border:0}.facility-form-contacts{display:flex;flex-direction:column;gap:10px}@media(max-width:700px){.facility-form-addresses{grid-template-columns:1fr}.facility-form-map iframe{height:160px}}.modal-header{padding:20px 24px 16px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;flex-shrink:0;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.modal-header.modal-header-dragging,body.modal-is-dragging .modal-header{cursor:grabbing}.modal.modal-dragging{will-change:transform;transition:none}body.modal-is-dragging{cursor:grabbing;-webkit-user-select:none;user-select:none}.modal-title{font-size:16px;font-weight:600}.modal-close,.modal-header>button[aria-label=Close],.modal-header>button.btn-ghost.btn-icon,.modal-header>button.btn-ghost.btn-icon.btn-sm{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;width:44px;height:44px;font-size:32px;line-height:1;padding:0;margin:-6px -4px -6px 8px;border:none;background:transparent;color:var(--text2);cursor:pointer;border-radius:var(--radius);flex-shrink:0}.modal-close:hover,.modal-header>button[aria-label=Close]:hover,.modal-header>button.btn-ghost.btn-icon:hover,.modal-header>button.btn-ghost.btn-icon.btn-sm:hover{color:var(--text);background:var(--bg3)}.modal-close svg,.modal-header>button[aria-label=Close] svg,.modal-header>button.btn-ghost.btn-icon svg,.modal-header>button.btn-ghost.btn-icon.btn-sm svg{width:28px;height:28px;flex-shrink:0}.modal-body{padding:24px;flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain}.modal-footer{padding:16px 24px;border-top:1px solid var(--border);display:flex;justify-content:flex-end;gap:10px;flex-shrink:0;background:var(--bg2)}.user-form-sections{display:flex;flex-direction:column;gap:20px}.user-form-section-label{font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text3);margin-bottom:10px}.user-form-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:12px 16px}.user-form-grid-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px 16px}.facility-transfer{display:grid;grid-template-columns:1fr auto 1fr;gap:12px;align-items:stretch}.facility-transfer.is-disabled{opacity:.45;filter:grayscale(.3);pointer-events:none}.facility-transfer-col{display:flex;flex-direction:column;min-width:0;gap:6px}.facility-transfer-col-label{font-size:12px;font-weight:500;color:var(--text2);display:flex;align-items:baseline;justify-content:space-between;gap:8px}.facility-transfer-col-label span{color:var(--text3);font-weight:400;font-size:11px}.facility-transfer-list{width:100%;min-height:200px;height:220px;padding:6px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg3);color:var(--text);font-size:13px;line-height:1.45}.facility-transfer-list:focus{outline:none;border-color:color-mix(in srgb,var(--accent2) 55%,var(--border));box-shadow:0 0 0 2px color-mix(in srgb,var(--accent2) 18%,transparent)}.facility-transfer-list option{padding:5px 8px;border-radius:4px}.facility-transfer-list option:checked{background:color-mix(in srgb,var(--accent2) 28%,var(--bg3));color:var(--text)}.facility-transfer-list option:disabled{color:var(--text3);font-style:italic}.facility-transfer-actions{display:flex;flex-direction:column;justify-content:center;gap:8px;padding-top:22px}.facility-transfer-actions .btn{min-width:40px;padding-left:10px;padding-right:10px}.facility-transfer-hint{font-size:11px;color:var(--text3);margin-top:8px}.user-form-flags{display:flex;flex-wrap:wrap;gap:16px 24px;align-items:center}@media(max-width:700px){.user-form-grid-2,.user-form-grid-3,.facility-transfer{grid-template-columns:1fr}.facility-transfer-actions{flex-direction:row;justify-content:center;padding-top:0}.facility-transfer-list{height:160px;min-height:140px}}.modal-overlay.app-dialog-overlay{z-index:6000;align-items:center;justify-content:center}.modal-overlay.app-dialog-overlay>.modal.app-dialog{overflow:hidden}.modal-overlay.rack-elevation-overlay{padding:8px;align-items:center}.modal-overlay>.modal.rack-elevation-modal{max-width:428px;width:min(428px,96vw);max-height:calc(100dvh - 16px);height:auto;overflow:hidden;display:flex;flex-direction:column}.modal-overlay>.modal.rack-elevation-modal .modal-header{padding:4px 8px 0;border-bottom:none;min-height:0}.modal-overlay>.modal.rack-elevation-modal .modal-header .modal-close{margin:0}.modal-overlay>.modal.rack-elevation-modal .modal-body,.modal-overlay>.modal.rack-elevation-modal .rack-elevation-body{overflow-x:hidden!important;overflow-y:auto!important;min-height:0!important;flex:1 1 auto!important;display:flex;flex-direction:column;align-items:center;padding-top:4px;padding-bottom:8px}.rack-elevation-modal-face{width:380px;max-width:100%;box-sizing:border-box}.rack-elevation-stack{box-sizing:border-box}.rack-elevation-stack .rack-elevation-table{width:100%!important;max-width:100%}.elevations-controls{flex-shrink:0;padding:10px 14px;overflow:visible}.elevations-filters{display:flex;flex-wrap:wrap;gap:12px 16px;align-items:flex-start;overflow:visible}.elevations-field{display:flex;flex-direction:column;gap:4px;min-width:160px}.elevations-field>span{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text3);line-height:1.2}.elevations-field-check{min-width:200px}.elevations-pod-field{position:relative;flex:1 1 100%;min-width:160px;max-width:280px}.elevations-pod-trigger{text-align:left;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;display:flex;align-items:center;width:100%;min-width:160px}.elevations-pod-trigger:disabled{cursor:not-allowed;opacity:.65}.elevations-pod-menu{position:static;z-index:1;width:100%;min-width:0;margin-top:4px;max-height:140px;overflow-x:hidden;overflow-y:auto;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 8px 24px color-mix(in srgb,var(--text) 12%,transparent);padding:6px;display:flex;flex-direction:column;gap:2px;box-sizing:border-box}.elevations-pod-menu-item{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:var(--radius);font-size:12px;color:var(--text2);cursor:pointer;margin:0;flex-shrink:0;min-height:32px;box-sizing:border-box}.elevations-pod-menu-item:hover{background:var(--bg2)}.elevations-pod-menu-name{flex:1;min-width:0;font-family:var(--mono);font-weight:600;color:var(--text)}.elevations-pod-menu-count{font-size:11px;color:var(--text3)}.elevations-mode-control{display:flex;align-items:center;flex-wrap:wrap;gap:14px 18px;min-height:var(--ctrl-h);box-sizing:border-box}.elevations-mode-check{display:inline-flex;align-items:center;gap:8px;font-size:13px;color:var(--text2);cursor:pointer;margin:0;white-space:nowrap}.elevations-rack-picker{margin-top:10px;padding-top:10px;border-top:1px solid var(--border)}.elevations-rack-picker-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:6px;flex-wrap:wrap}.elevations-pod-groups{display:flex;flex-direction:column;gap:6px;max-height:none;overflow:visible}.elevations-pod-group{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg2)}.elevations-pod-group-header{display:flex;align-items:center;gap:8px;padding:5px 8px 5px 10px;background:var(--bg3)}.elevations-pod-group-check{display:inline-flex;align-items:center;gap:8px;min-width:0;cursor:pointer;font-size:12px;color:var(--text2)}.elevations-pod-group-name{font-weight:700;font-family:var(--mono);color:var(--text);letter-spacing:.02em}.elevations-pod-group-count{font-size:11px;color:var(--text3)}.elevations-row-bands{display:flex;flex-direction:column;gap:6px;padding:6px 8px 8px}.elevations-row-bands-solo{padding:0}.elevations-row-band{display:flex;flex-direction:column;gap:4px}.elevations-row-band-label{font-size:11px;font-weight:700;font-family:var(--mono);color:var(--text3);letter-spacing:.03em}.elevations-rack-chips{display:flex;flex-wrap:wrap;gap:4px;max-height:none;overflow:visible;padding:2px 0}.elevations-rack-chip{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--border);background:var(--bg);color:var(--text2);font-family:var(--mono);font-size:11px;font-weight:600;line-height:1;padding:5px 7px;border-radius:4px;cursor:pointer;transition:background .12s ease,border-color .12s ease,color .12s ease}.elevations-rack-chip:hover{border-color:var(--text3);color:var(--text)}.elevations-rack-chip.selected{background:color-mix(in srgb,var(--blue2) 22%,var(--bg));border-color:var(--blue2);color:var(--text)}.elevations-sheets{flex:1;min-height:0;overflow:auto;display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:16px;align-items:start;align-content:start;padding-bottom:4px}.elevations-group-header{grid-column:1 / -1;margin:4px 0 0;padding:8px 12px;font-size:13px;font-weight:700;color:var(--text);background:var(--bg3);border:1px solid var(--border);border-radius:var(--radius);letter-spacing:.01em}.elevations-group-header:first-child{margin-top:0}.elevations-sheet{padding:10px 12px 12px;background:var(--bg)}.elevations-sheet-header{display:none}.elevations-sheet-title{font-size:15px;font-weight:600;color:var(--text)}.elevations-sheet-sub{font-size:11px;color:var(--text3);margin-top:2px}.elevations-sheet-legend{display:flex;flex-wrap:wrap;gap:12px;margin-top:12px;font-size:11px;color:var(--text3);align-items:center}.elevations-sheet-legend-label{font-weight:700;color:var(--text2);margin-right:2px}.elevations-sheet-legend-item{display:inline-flex;align-items:center;gap:6px}.elevations-sheet-legend-swatch{width:12px;height:12px;border-radius:3px;border:1px solid;flex-shrink:0;box-sizing:border-box}.rack-elevation-rack-title{text-align:center;font-size:18px;font-weight:700;color:var(--text);margin:0 0 8px;letter-spacing:.02em}.rack-elevation-section-bar{text-align:center;font-size:11px;font-weight:700;letter-spacing:.04em;color:#fff;padding:5px 8px;border:1px solid var(--text);border-bottom:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rack-elevation-section-bar-opr{background:#4a5568}.rack-elevation-section-bar-main{background:#1e3a5f}.rack-elevation-section-msg{font-size:12px;color:var(--text3);margin:0;padding:6px 8px;border:1px solid var(--text);border-bottom:none}.rack-elevation-gap{width:100%;background:transparent}.rack-elevation-table{background:var(--bg)}.rack-elevation-table td{box-sizing:border-box}.folder-tabs,.tabs,.modal-tabs,.settings-tabs{display:flex;flex-wrap:wrap;align-items:flex-end;gap:0;padding:0 4px;margin:0 0 16px;border-bottom:1px solid var(--border);background:transparent;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch}.modal-tabs{padding:10px 16px 0;margin-bottom:0;background:var(--bg3)}.settings-tabs{margin-bottom:24px;padding:0 2px;gap:0}.folder-tab,.tab,.modal-tab,.settings-tab{position:relative;z-index:0;display:inline-flex;align-items:center;justify-content:center;gap:4px;margin:0 2px -1px 0;padding:9px 16px 10px;font-size:13px;font-weight:600;line-height:1.2;color:var(--text3);background:color-mix(in srgb,var(--bg3) 88%,var(--border));border:1px solid var(--border);border-bottom-color:transparent;border-radius:10px 10px 0 0;cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;flex-shrink:0;font-family:inherit;-moz-appearance:none;appearance:none;-webkit-appearance:none;transition:color .15s,background .15s,border-color .15s,box-shadow .15s;box-shadow:inset 0 1px color-mix(in srgb,#fff 6%,transparent)}.modal-tab{font-size:15px;padding:10px 18px 11px}.settings-tab{text-transform:uppercase;letter-spacing:.4px;font-size:12px;font-weight:700;padding:9px 14px 10px}.folder-tab:hover,.tab:hover,.modal-tab:hover,.settings-tab:hover{color:var(--text);background:var(--bg2);border-color:var(--border)}.folder-tab.active,.tab.active,.modal-tab.active,.settings-tab.active{z-index:1;color:var(--text);background:var(--bg2);border-color:var(--border);border-bottom-color:var(--bg2);box-shadow:inset 0 1px color-mix(in srgb,#fff 8%,transparent),0 1px 0 var(--bg2)}.folder-tab.active:after,.tab.active:after,.modal-tab.active:after,.settings-tab.active:after{content:"";position:absolute;left:10px;right:10px;bottom:-1px;height:2px;border-radius:2px 2px 0 0;background:var(--blue2)}.alert{padding:12px 16px;border-radius:var(--radius);font-size:13px;margin-bottom:16px}.alert-info{background:color-mix(in srgb,var(--blue2) 12%,transparent);border:1px solid color-mix(in srgb,var(--blue2) 32%,transparent);color:var(--blue2)}.alert-success{background:color-mix(in srgb,var(--accent2) 12%,transparent);border:1px solid color-mix(in srgb,var(--accent2) 32%,transparent);color:var(--accent2)}.alert-warning{background:color-mix(in srgb,var(--yellow) 12%,transparent);border:1px solid color-mix(in srgb,var(--yellow) 32%,transparent);color:var(--yellow)}.alert-danger{background:color-mix(in srgb,var(--red) 12%,transparent);border:1px solid color-mix(in srgb,var(--red) 32%,transparent);color:var(--red)}.floor-canvas-wrap{position:relative;overflow:hidden;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-lg)}.floor-grid{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background-image:linear-gradient(var(--border) 1px,transparent 1px),linear-gradient(90deg,var(--border) 1px,transparent 1px);background-size:40px 40px;opacity:.4}.floor-rack{position:absolute;cursor:grab;-webkit-user-select:none;user-select:none;display:flex;align-items:center;justify-content:center;border-radius:4px;border:2px solid;font-size:10px;font-weight:600;transition:box-shadow var(--transition);overflow:hidden}.floor-rack:active{cursor:grabbing}.floor-rack.selected{box-shadow:0 0 0 3px var(--blue2)}.floor-rack.future{opacity:.5;border-style:solid}.floor-rack-label{text-align:center;line-height:1.2;padding:2px;pointer-events:none}.cable-tray-piece{position:absolute;cursor:pointer;border-radius:3px;display:flex;align-items:center;justify-content:center;font-size:8px;font-weight:600;transition:opacity var(--transition)}.cable-tray-piece:hover{opacity:.85}.toolbar{display:flex;align-items:center;gap:6px;padding:8px;background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius-lg);flex-wrap:wrap}.toolbar-divider{width:1px;height:24px;background:var(--border);margin:0 4px}.checkbox-row{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:13px;color:var(--text2);margin-bottom:8px}.checkbox-row input[type=checkbox]{width:16px;height:16px;accent-color:var(--accent);cursor:pointer}.toggle{position:relative;width:36px;height:20px}.toggle input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--bg4);border-radius:20px;cursor:pointer;transition:var(--transition);border:1px solid var(--border2)}.toggle-slider:before{content:"";position:absolute;width:14px;height:14px;left:2px;bottom:2px;background:var(--text3);border-radius:50%;transition:var(--transition)}.toggle input:checked+.toggle-slider{background:var(--accent);border-color:var(--accent)}.toggle input:checked+.toggle-slider:before{transform:translate(16px);background:var(--on-accent)}.theme-toggle{display:inline-flex;align-items:center;gap:6px;color:var(--text3);flex-shrink:0;cursor:pointer;-webkit-user-select:none;user-select:none}.theme-toggle .toggle{flex-shrink:0}.theme-toggle-sun,.theme-toggle-moon{color:var(--text3)}[data-theme=light] .theme-toggle-sun{color:var(--yellow)}[data-theme=dark] .theme-toggle-moon{color:var(--blue2)}.user-menu{position:relative;flex-shrink:0;margin-left:2px}.user-menu-avatar{position:relative;width:32px;height:32px;border-radius:50%;border:1px solid var(--border2);background:color-mix(in srgb,var(--blue2) 18%,var(--bg3));color:var(--text);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;padding:0;transition:border-color var(--transition),background var(--transition),box-shadow var(--transition)}.user-menu-avatar:hover,.user-menu-avatar.is-open{border-color:var(--blue2);background:color-mix(in srgb,var(--blue2) 28%,var(--bg3));box-shadow:0 0 0 2px color-mix(in srgb,var(--blue2) 22%,transparent)}.user-menu-initials{font-size:11px;font-weight:700;letter-spacing:.02em;line-height:1;font-family:var(--mono)}.user-menu-tooltip{position:absolute;top:calc(100% + 8px);right:0;min-width:180px;max-width:260px;padding:10px 12px;border-radius:var(--radius);background:var(--bg2);border:1px solid var(--border);box-shadow:var(--shadow-lg);text-align:left;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-4px);transition:opacity .12s ease,transform .12s ease,visibility .12s;z-index:1200;white-space:normal}.user-menu-avatar:hover .user-menu-tooltip,.user-menu-avatar:focus-visible .user-menu-tooltip{opacity:1;visibility:visible;transform:translateY(0)}.user-menu-avatar.is-open .user-menu-tooltip{opacity:0;visibility:hidden}.user-menu-tooltip-name{display:block;font-size:13px;font-weight:600;color:var(--text);line-height:1.3}.user-menu-tooltip-email{display:block;font-size:11px;color:var(--text3);margin-top:4px;word-break:break-all;line-height:1.35}.user-menu-tooltip-role{display:block;font-size:11px;color:var(--text2);margin-top:6px;font-weight:500}.user-menu-dropdown{position:absolute;top:calc(100% + 8px);right:0;min-width:180px;padding:6px;border-radius:var(--radius);background:var(--bg2);border:1px solid var(--border);box-shadow:var(--shadow-lg);z-index:1300;display:flex;flex-direction:column;gap:2px}.user-menu-item{display:flex;align-items:center;gap:8px;width:100%;border:none;background:transparent;color:var(--text);font-size:13px;font-weight:500;text-align:left;padding:8px 10px;border-radius:calc(var(--radius) - 2px);cursor:pointer;transition:background var(--transition)}.user-menu-item:hover{background:var(--bg3)}.user-menu-item-danger{color:var(--red)}.user-menu-item-danger:hover{background:color-mix(in srgb,var(--red) 12%,transparent)}.fp-vis-toggle{padding:3px 9px;border-radius:4px;border:1px solid var(--border);background:none;color:var(--text3);font-size:10px;font-weight:700;cursor:pointer;font-family:inherit}.fp-vis-toggle.on{border-color:var(--blue2);background:color-mix(in srgb,var(--blue2) 12%,transparent);color:var(--blue2)}.icon-well{background:color-mix(in srgb,var(--blue2) 16%,transparent);color:var(--blue2)}.flex{display:flex}.flex-col{display:flex;flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-2{gap:8px}.gap-3{gap:12px}.gap-4{gap:16px}.mt-1{margin-top:4px}.mt-2{margin-top:8px}.mt-3{margin-top:12px}.mt-4{margin-top:16px}.mb-4{margin-bottom:16px}.mb-3{margin-bottom:12px}.text-muted{color:var(--text2)}.text-sm{font-size:12px}.text-xs{font-size:11px}.font-mono{font-family:var(--mono)}.w-full{width:100%}.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.page-title{font-size:20px;font-weight:700;color:var(--text)}.page-subtitle{font-size:13px;color:var(--text2);margin-top:2px}.empty-state{text-align:center;padding:60px 20px;color:var(--text3)}.empty-state svg{margin:0 auto 16px;opacity:.4}.spinner{width:20px;height:20px;border:2px solid var(--border);border-top-color:var(--blue2);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.spin{animation:spin .8s linear infinite}.loading-center{display:flex;align-items:center;justify-content:center;height:200px}.divider{height:1px;background:var(--border);margin:20px 0}.role-chip{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:4px;font-size:11px;font-weight:600;letter-spacing:.3px}.topbar-menu-btn,.sidebar-close-btn,.topbar-brand,.sidebar-backdrop{display:none}.topbar-spacer{flex:1}.sidebar-header-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.sidebar-context{margin-top:10px;text-align:center;line-height:1.25;color:var(--text)}.sidebar-context-facility{font-size:18px;font-weight:700;color:var(--text)}.sidebar-context-room{font-size:12px;font-weight:600;color:var(--blue2)}.topbar-brand{display:none;align-items:center;gap:6px;font-size:14px;font-weight:700;color:var(--text);flex-shrink:0;min-width:0}.topbar-brand .app-brand-mark{min-width:0}.topbar-context{display:none;font-size:12px;color:var(--text3);max-width:36%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex-shrink:1;min-width:0}.rack-list-cards{display:none}.rack-list-table .rack-list-table-wrap{max-height:min(70vh,calc(100dvh - 220px))}.rack-card{background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius-lg);padding:12px 14px;cursor:pointer;transition:border-color var(--transition),background var(--transition)}.rack-card-selected{border-color:var(--blue);background:color-mix(in srgb,var(--blue2) 10%,transparent)}.rack-card-top{display:flex;align-items:flex-start;gap:10px}.rack-card-check{padding-top:2px;flex-shrink:0}.rack-card-check input[type=checkbox]{width:18px;height:18px;accent-color:var(--blue2);cursor:pointer}.rack-card-main{flex:1;min-width:0}.rack-card-label{font-weight:600;font-family:var(--mono);color:var(--text);display:flex;align-items:center;gap:6px;flex-wrap:wrap}.rack-card-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 12px;margin-top:8px;font-size:12px;color:var(--text2)}.rack-card-meta dt{color:var(--text3);font-size:10px;text-transform:uppercase;letter-spacing:.4px;margin-bottom:2px}.rack-card-meta dd{margin:0}.rack-card-actions{display:flex;gap:6px;margin-top:10px;padding-top:10px;border-top:1px solid var(--border)}.rack-card-actions .btn{flex:1;justify-content:center;min-height:40px}.page-header-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.rack-filters{display:flex;gap:8px;margin-bottom:16px;flex-wrap:wrap;align-items:center}.header-count-row{display:grid;column-gap:16px;align-items:baseline;font-size:14px;color:var(--text2);font-weight:500}.room-count-rows{display:flex;flex-direction:column;gap:8px;margin-top:12px;padding-left:28px;max-width:560px}.room-count-group{display:grid;grid-template-columns:3.75rem minmax(0,1fr);align-items:center;gap:10px 12px;min-width:0;width:100%;padding:6px 14px 6px 12px;border-radius:999px;border:1px solid var(--border);background:var(--bg3);box-sizing:border-box}.room-count-group--success{border-color:color-mix(in srgb,var(--green, #3fb950) 28%,var(--border));background:color-mix(in srgb,var(--green, #3fb950) 8%,var(--bg3))}.room-count-group--info{border-color:color-mix(in srgb,var(--blue2, #58a6ff) 28%,var(--border));background:color-mix(in srgb,var(--blue2, #58a6ff) 8%,var(--bg3))}.room-count-group-kind{font-size:10px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--text2);white-space:nowrap}.room-count-group--success .room-count-group-kind{color:var(--green, #3fb950)}.room-count-group--info .room-count-group-kind{color:var(--blue2, #58a6ff)}.room-count-group-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px 8px;align-items:baseline;min-width:0}.header-count{display:inline-flex;align-items:baseline;gap:4px;min-width:0;line-height:1.3}.header-count-num{font-variant-numeric:tabular-nums;font-weight:800;font-size:13px;color:var(--text);flex-shrink:0}.header-count-label{white-space:nowrap;font-size:11px;font-weight:600;color:var(--text3);overflow:hidden;text-overflow:ellipsis}.room-count-group--success .header-count-num{color:var(--green, #3fb950)}.room-count-group--info .header-count-num{color:var(--blue2, #58a6ff)}.header-count:last-child .header-count-num{color:var(--text);font-weight:800}.header-count:last-child .header-count-label{color:var(--text2)}.header-count--zero{opacity:.5}.header-count--zero .header-count-num{color:var(--text3)}.status-count-chips{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;width:100%;align-items:stretch}.status-count-chips--inline{gap:4px}.status-count-chips-title{grid-column:1 / -1;font-size:10px;font-weight:700;color:var(--text3);text-transform:uppercase;letter-spacing:.04em}.status-count-chip{--chip-color: var(--text3);display:inline-flex;align-items:center;gap:5px;min-width:0;width:100%;box-sizing:border-box;padding:3px 8px 3px 7px;border-radius:999px;border:1px solid color-mix(in srgb,var(--chip-color) 38%,var(--border));background:color-mix(in srgb,var(--chip-color) 14%,var(--bg2));line-height:1.3;white-space:nowrap}.status-count-chip-dot{width:6px;height:6px;border-radius:50%;background:var(--chip-color);flex-shrink:0;box-shadow:0 0 0 2px color-mix(in srgb,var(--chip-color) 22%,transparent)}.status-count-chip-label{flex:0 0 2.75rem;width:2.75rem;font-weight:600;color:var(--chip-color);overflow:hidden;text-overflow:ellipsis}.status-count-chip-num{margin-left:auto;min-width:3.25ch;text-align:right;font-weight:800;font-variant-numeric:tabular-nums;color:var(--chip-color)}.status-count-chips>.status-count-chip:only-child,.status-count-chips--inline>.status-count-chip:only-of-type{grid-column:1 / -1}.progress-stack-detail-rows{display:flex;flex-direction:column;gap:4px;width:100%;min-height:22px}.progress-stack-detail-row{display:grid;grid-template-columns:3.2em 1fr 1fr;align-items:baseline;column-gap:8px;font-size:12px;line-height:1.35;color:var(--text2);font-variant-numeric:tabular-nums}.progress-stack-detail-row--total{margin-top:2px;padding-top:5px;border-top:1px solid var(--border);color:var(--text);font-weight:700}.progress-stack-detail-label{font-weight:600;color:var(--text);text-align:left}.progress-stack-detail-row--total .progress-stack-detail-label{letter-spacing:.02em}.progress-stack-detail-peak{text-align:right;color:var(--text3)}.progress-stack-detail-hours{text-align:right;color:var(--text2);font-weight:600}.progress-stack-detail-row--total .progress-stack-detail-hours{color:var(--text)}.progress-percent-legend{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;font-size:11px;color:var(--text3);line-height:1.3}.progress-percent-legend-caption{font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text3);margin-right:2px}.progress-percent-legend-item{display:inline-flex;align-items:center;gap:5px;font-weight:600;color:var(--text2)}.progress-percent-legend-swatch{width:10px;height:10px;border-radius:50%;flex-shrink:0;border:1px solid color-mix(in srgb,currentColor 15%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,#000 8%,transparent)}.room-breakdown-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:start}.room-breakdown-section--expanded{grid-column:1 / -1}.room-breakdown-title-row{display:flex;align-items:center;gap:12px}.room-breakdown-name{flex:1;min-width:0;font-weight:700;font-size:16px;color:var(--text)}.room-breakdown-pct{flex:0 1 160px;min-width:100px;max-width:220px}.room-breakdown-section--expanded .room-breakdown-pct{flex:0 1 220px;min-width:140px}.room-cards-grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.facility-section-row{display:flex;align-items:center;gap:12px}.facility-section-label{font-size:15px;font-weight:500;color:var(--text);width:160px;flex-shrink:0}.facility-section-bar{flex:1;min-width:0}.facility-cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(430px,1fr));gap:16px}body.mobile-nav-open{overflow:hidden}@media(min-width:1024px){.topbar-context{display:none}}@media(max-width:1023px){.sidebar{position:fixed;top:0;left:0;bottom:0;z-index:300;width:min(280px,88vw);transform:translate(-105%);transition:transform .22s ease;box-shadow:var(--shadow-lg);padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom);padding-left:env(safe-area-inset-left)}.sidebar.sidebar-open{transform:translate(0)}.sidebar-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:250;background:var(--overlay);border:none;cursor:pointer;padding:0}.sidebar-close-btn,.topbar-menu-btn{display:inline-flex}.topbar-brand{display:flex}.main-area{width:100%;min-width:0}.topbar{height:auto;min-height:48px;padding:8px 12px;padding-top:max(8px,env(safe-area-inset-top));padding-left:max(12px,env(safe-area-inset-left));padding-right:max(12px,env(safe-area-inset-right));flex-wrap:nowrap;gap:8px}.page-content{padding:16px;padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right));padding-bottom:max(16px,env(safe-area-inset-bottom))}.nav-item{min-height:44px;padding:10px 12px;font-size:14px}.nav-item svg{width:18px;height:18px}}@media(max-width:1023px)and (orientation:portrait){.topbar-context{display:block}}@media(max-width:1023px)and (orientation:landscape){.topbar{min-height:44px;padding-top:max(6px,env(safe-area-inset-top));padding-bottom:6px}.topbar-context{display:block;max-width:32%}.page-content{padding-top:12px;padding-bottom:max(12px,env(safe-area-inset-bottom))}.page-header{flex-direction:row;align-items:flex-start;gap:12px;margin-bottom:12px}.page-header-actions{flex-shrink:0}.rack-filters select,.rack-filters input.form-input{flex:1 1 auto;width:auto!important;min-width:120px;min-height:40px}}@media(max-width:1023px)and (orientation:landscape)and (max-height:520px){.sidebar{width:min(240px,42vw)}.rack-list-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;align-items:start}.rack-list-table{display:none}.rack-card{padding:10px 12px}.rack-card-meta{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px 8px}.rack-card-actions{margin-top:8px;padding-top:8px}.rack-card-actions .btn{min-height:36px;padding:6px 10px;font-size:12px}}@media(max-width:639px)and (orientation:portrait){.page-header{flex-direction:column;align-items:stretch;gap:12px;margin-bottom:16px}.page-header-actions{width:100%}.page-header-actions>.btn,.page-header-actions>a.btn{flex:1 1 calc(50% - 4px);justify-content:center;min-height:44px}.rack-filters select,.rack-filters input.form-input{flex:1 1 100%;width:100%!important;min-height:44px}.rack-list-cards{display:flex;flex-direction:column;gap:8px}.rack-list-table{display:none}.rack-card-meta{grid-template-columns:repeat(2,minmax(0,1fr))}.form-row,.form-row-3{grid-template-columns:1fr}}@media(max-width:380px)and (orientation:portrait){.page-header-actions>.btn,.page-header-actions>a.btn{flex:1 1 100%}.rack-card-meta{grid-template-columns:1fr}}@media(max-width:1023px)and (orientation:portrait){.modal-overlay{padding:0;align-items:stretch}.modal-overlay>.modal{max-width:none;width:100%;height:100%;max-height:none;border-radius:0;border-left:none;border-right:none;display:flex;flex-direction:column}.modal-overlay>.modal .modal-header{padding-top:max(16px,env(safe-area-inset-top));padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right));flex-shrink:0}.modal-overlay>.modal .modal-tabs{flex-shrink:0;flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;padding-left:max(12px,env(safe-area-inset-left));padding-right:max(12px,env(safe-area-inset-right))}.modal-overlay>.modal .modal-tab{flex-shrink:0;min-height:44px;display:inline-flex;align-items:center;font-size:13px;padding:8px 14px}.modal-overlay>.modal .modal-body{flex:1;overflow-y:auto;overscroll-behavior:contain;min-height:0!important;max-height:none!important;padding:16px;padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right));padding-bottom:max(16px,env(safe-area-inset-bottom))}.modal-overlay>.modal .modal-footer{flex-shrink:0;padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right));padding-bottom:max(16px,env(safe-area-inset-bottom));flex-wrap:wrap}.modal-overlay>.modal .modal-footer .btn{min-height:44px;flex:1 1 auto}.modal-overlay.rack-elevation-overlay{padding:0}.modal-overlay.rack-elevation-overlay>.modal.rack-elevation-modal{width:100%;max-width:none;height:auto;max-height:100dvh;border-radius:0}}@media(max-width:1023px)and (orientation:landscape){.modal-overlay{padding:max(8px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));align-items:center;justify-content:center}.modal-overlay>.modal{width:min(820px,94vw);height:auto;max-height:calc(100dvh - 16px - env(safe-area-inset-top) - env(safe-area-inset-bottom));border-radius:var(--radius-lg);display:flex;flex-direction:column}.modal-overlay>.modal .modal-header{flex-shrink:0;padding:14px 18px 12px}.modal-overlay>.modal .modal-tabs{flex-shrink:0;flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;padding:8px 14px 0}.modal-overlay>.modal .modal-tab{flex-shrink:0;min-height:40px;font-size:13px;padding:8px 12px}.modal-overlay>.modal .modal-body{flex:1;overflow-y:auto;overscroll-behavior:contain;min-height:120px!important;max-height:none!important;padding:16px 18px}.modal-overlay>.modal .modal-footer{flex-shrink:0;padding:12px 18px;padding-bottom:max(12px,env(safe-area-inset-bottom))}.modal-overlay.rack-elevation-overlay>.modal.rack-elevation-modal{width:min(428px,94vw);height:auto;max-height:calc(100dvh - 16px - env(safe-area-inset-top) - env(safe-area-inset-bottom))}.modal-overlay.rack-elevation-overlay>.modal.rack-elevation-modal .modal-body,.modal-overlay.rack-elevation-overlay>.modal.rack-elevation-modal .rack-elevation-body{overflow-x:hidden!important;overflow-y:auto!important;min-height:0!important;flex:1 1 auto!important}.form-row,.form-row-3{grid-template-columns:1fr 1fr;gap:12px}}@media(max-width:1023px)and (orientation:landscape)and (max-height:520px){.modal-overlay>.modal{width:min(720px,96vw);max-height:calc(100dvh - 12px - env(safe-area-inset-top) - env(safe-area-inset-bottom))}.modal-overlay>.modal .modal-body{padding:12px 16px}.form-row,.form-row-3{grid-template-columns:1fr 1fr}}@media(max-width:1023px)and (orientation:portrait){.btn:not(.btn-sm):not(.btn-ghost){min-height:44px}.btn-ghost.btn-sm{min-height:40px;padding:8px 12px}}@media(min-width:640px)and (max-width:1023px)and (orientation:portrait){.rack-filters select,.rack-filters input.form-input{width:auto!important;min-width:140px}.rack-list-cards{display:none}.rack-list-table{display:block}}@media(max-width:639px)and (orientation:portrait){.rack-list-cards{display:flex;flex-direction:column;gap:8px}.rack-list-table{display:none}}@media(max-width:520px){.rack-list-cards{display:flex;flex-direction:column;gap:8px}.rack-list-table{display:none}}@media(max-width:520px)and (orientation:landscape)and (min-width:400px){.rack-list-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:1023px){.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.stat-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.header-count-row{grid-template-columns:repeat(2,minmax(0,1fr))!important;row-gap:6px}.room-count-rows{padding-left:22px;max-width:none}.room-count-group{grid-template-columns:3.25rem minmax(0,1fr);padding:6px 10px}.room-count-group-metrics{gap:2px 6px}.room-breakdown-grid{grid-template-columns:1fr}.room-breakdown-section--expanded{grid-column:auto}.room-cards-grid,.facility-cards-grid{grid-template-columns:1fr}.table-wrap{-webkit-overflow-scrolling:touch}td{white-space:nowrap}.toolbar{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch}.page-header-actions .form-input,.page-header-actions .form-select{max-width:100%;min-width:0}}@media(max-width:639px){.stat-card{padding:12px}.stat-value{font-size:22px}.stat-label{font-size:11px;letter-spacing:.3px}.header-count-row{column-gap:12px}.room-breakdown-title-row{flex-wrap:wrap}.room-breakdown-name{flex:1 1 calc(100% - 28px)}.room-breakdown-pct{flex:1 1 100%;min-width:0;max-width:none;margin-left:28px}.metric-row{grid-template-columns:1fr!important;gap:6px!important}.facility-section-row{flex-wrap:wrap;align-items:flex-start}.facility-section-label{width:100%}.facility-section-bar{flex:1 1 100%}.page-header-actions>.form-input,.page-header-actions>.form-select,.page-header-actions>select{flex:1 1 100%;width:100%!important}.modal-title,.card-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}.room-detail-section-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px;padding-top:10px!important;padding-bottom:12px!important}.room-detail-group-card{padding:8px 10px;border-radius:8px;border:1px solid var(--border);background:color-mix(in srgb,var(--bg3) 55%,transparent);min-width:0}.room-detail-group-card--span{grid-column:1 / -1}.room-detail-group-title{font-size:11px;font-weight:700;color:var(--text);letter-spacing:.04em;text-transform:uppercase;margin-bottom:6px}.room-detail-group-cols{display:grid;grid-template-columns:repeat(var(--rd-group-cols, 1),minmax(0,1fr));gap:6px 14px;align-items:start}.room-detail-group-col{min-width:0}.room-detail-group-col-label{font-size:10px;font-weight:700;color:var(--text3);letter-spacing:.05em;text-transform:uppercase;margin-bottom:4px}.room-detail-group-fields{display:flex;flex-direction:column;gap:3px}.room-detail-group-field{display:flex;flex-wrap:wrap;align-items:center;gap:2px 6px;min-width:0}.room-detail-group-field-label{font-size:10px;font-weight:600;color:var(--text3);flex:0 0 auto;min-width:52px}.room-detail-group-field-value{flex:1 1 auto;min-width:0}.room-detail-search{width:280px;max-width:100%;margin-left:auto}.progress-stack-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px}.progress-stack-grid--sm{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.status-kpi-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(104px,1fr));gap:10px;width:100%;min-width:0}.status-kpi-cards--compact{grid-template-columns:repeat(auto-fit,minmax(88px,1fr));gap:8px}.status-kpi-cards--fit-row{display:flex;flex-wrap:nowrap;gap:6px}.status-kpi-card{padding:10px;border-radius:8px;min-width:0;display:flex;flex-direction:column;align-items:center;gap:4px}.status-kpi-cards--compact .status-kpi-card{padding:8px}.status-kpi-cards--fit-row .status-kpi-card{padding:8px 6px;border-radius:6px;flex:1 1 0;overflow:hidden}.status-kpi-card-label{font-size:11px;font-weight:600;color:var(--text3);text-transform:uppercase;letter-spacing:.4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:center;width:100%}.status-kpi-cards--compact .status-kpi-card-label{font-size:10px}.status-kpi-cards--fit-row .status-kpi-card-label{font-size:9px;letter-spacing:.2px}.status-kpi-card-value{font-size:18px;font-weight:800;font-variant-numeric:tabular-nums;line-height:1.15;text-align:center;white-space:nowrap}.status-kpi-cards--compact .status-kpi-card-value{font-size:15px}.status-kpi-cards--fit-row .status-kpi-card-value{font-size:13px}.status-kpi-card-pct{font-size:12px;font-weight:700;color:var(--text3);font-variant-numeric:tabular-nums;line-height:1}.status-kpi-cards--fit-row .status-kpi-card-pct{font-size:11px}.trunk-status-breakdown{display:grid;grid-template-columns:repeat(var(--trunk-status-cols, 5),minmax(5.5rem,1fr));column-gap:12px;row-gap:4px;font-size:12px;align-items:center;width:100%;max-width:560px;flex:1 1 auto;min-width:0}.trunk-status-chips{display:flex;flex-wrap:wrap;justify-content:center;align-items:stretch;gap:6px;width:100%}.trunk-status-chip{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-width:4.75rem;flex:1 1 4.5rem;padding:6px 8px;border-radius:6px;border:1px solid var(--border);text-align:center}.trunk-status-chip-swatch{width:8px;height:8px;border-radius:2px;flex-shrink:0}.trunk-status-chip-label{font-size:10px;font-weight:600;color:var(--text3);text-transform:uppercase;letter-spacing:.03em;line-height:1.2;text-align:center;width:100%}.trunk-status-chip-count{font-size:13px;font-weight:800;font-variant-numeric:tabular-nums;color:var(--text);line-height:1.15;text-align:center}.progress-stack-drawer{width:min(420px,100vw);height:100%;max-height:100dvh;background:var(--bg);border-left:1px solid var(--border);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px);padding-right:env(safe-area-inset-right,0px)}.progress-metric-tile-grid{display:grid;grid-template-columns:repeat(var(--progress-metric-cols, 2),minmax(0,1fr));gap:5px}.progress-metric-pair-rows{display:flex;flex-direction:column;gap:5px}.progress-metric-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}@media(max-width:1023px){.room-detail-section-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,180px),1fr))}.room-detail-group-cols{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.progress-stack-grid,.progress-stack-grid--sm{grid-template-columns:repeat(auto-fill,minmax(min(100%,200px),1fr))}.status-kpi-cards--fit-row{flex-wrap:wrap}.status-kpi-cards--fit-row .status-kpi-card{flex:1 1 calc(33.333% - 6px);min-width:96px}.trunk-status-breakdown{grid-template-columns:repeat(auto-fit,minmax(6.5rem,1fr));max-width:none}.room-detail-table-wrap{-webkit-overflow-scrolling:touch}input.form-input,select.form-select,textarea.form-textarea,.form-input,.form-select{font-size:16px}.btn,.nav-item,.modal-tab{touch-action:manipulation}}@media(max-width:1023px)and (orientation:landscape){.room-detail-group-cols{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.status-kpi-cards--fit-row .status-kpi-card{flex:1 1 calc(20% - 6px);min-width:88px}.progress-stack-drawer{width:min(380px,46vw)}}@media(max-width:639px){.room-detail-section-grid,.room-detail-group-cols{grid-template-columns:1fr}.room-detail-search{width:100%;margin-left:0}.progress-stack-grid,.progress-stack-grid--sm{grid-template-columns:1fr}.status-kpi-cards,.status-kpi-cards--compact{grid-template-columns:repeat(2,minmax(0,1fr))}.status-kpi-cards--fit-row .status-kpi-card{flex:1 1 calc(50% - 6px)}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.progress-stack-drawer{width:100%;border-left:none}.catalog-table-scroll,.table-wrap,.lvc-trunks-table-wrap{-webkit-overflow-scrolling:touch}}@media(max-width:380px){.status-kpi-cards--fit-row .status-kpi-card{flex:1 1 100%}.stats-grid,.progress-metric-tile-grid,.progress-metric-pair{grid-template-columns:1fr}}@media(max-width:639px)and (orientation:portrait){.page-header-actions{width:100%}.page-header-actions .form-select,.page-header-actions select{flex:1 1 100%;width:100%;max-width:none}}
