:root{--ink: #183047;--muted: #60758a;--muted-subtle: #829ab1;--muted-faint: #9fb3c8;--line: #dce5ec;--surface: #fff;--surface-subtle: #eef1f4;--tile-bg: #e8f1f8;--page: #f3f5f7;--page-top: #edf5f9;--page-header-start: #fff;--page-header-end: #f6fbff;--nav-start: #fff;--nav-end: #f8fbfd;--primary: #005b9f;--status-success: #1a7f37;--status-warning: #b25e09;--status-danger: #c0392b;--status-info: #005b9f;--status-success-soft: #e8f7ee;--status-warning-soft: #fff4e0;--status-danger-soft: #fdebec;--status-info-soft: #e8f1f8;--brand-deep: #06456e;--brand-deep-soft: #e8f1f8;--radius-control: 8px;--radius-card: 14px;--radius-panel: 16px;--shadow-1: 0 1px 2px rgba(16, 24, 40, .04);--shadow-2: 0 3px 14px rgba(24, 48, 71, .06);--shadow-3: 0 8px 28px rgba(24, 48, 71, .1);--gap-sm: 8px;--gap-md: 12px;--gap-lg: 16px;--gap-xl: 24px;color-scheme:light;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;color:var(--ink);font-size:14px;-webkit-font-smoothing:antialiased}body{margin:0;color:var(--ink);background:linear-gradient(180deg,var(--page-top) 0,var(--page) 260px,var(--page) 100%)}#root,.app-layout{min-height:100vh}.app-content{padding:20px 24px 40px;max-width:1320px;margin:0 auto;width:100%;box-sizing:border-box;min-width:0}.app-header{display:flex;align-items:center;gap:14px;border-bottom:1px solid var(--line)!important;box-shadow:var(--shadow-1)}.app-header .app-logo{flex-shrink:0}.app-logo{display:flex;align-items:center;gap:10px;color:var(--ink);font-size:15.5px;font-weight:650;letter-spacing:.2px}.app-logo-mark{width:34px;height:34px;flex:0 0 auto;display:grid;place-items:center;border-radius:10px;background:linear-gradient(145deg,#064f7d,#0879b7);box-shadow:inset 0 1px #ffffff3d,0 2px 5px #0041692e}.app-logo-mark svg{display:block;width:26px;height:26px;fill:none;stroke:#ffffffe6;stroke-width:1.55;stroke-linecap:round;stroke-linejoin:round}.app-logo-mark svg path:last-child{stroke:#9de2ff;stroke-width:1.8}.app-logo-badge{display:grid;place-items:center;background:linear-gradient(135deg,#005b9f,#0072c6);color:#fff;font-weight:700}.app-logo-wordmark{white-space:nowrap}.app-logo-descriptor{margin-left:7px;color:var(--muted);font-size:12px;font-weight:450;letter-spacing:0}.app-header-room{display:flex;align-items:center;gap:12px;flex:1;min-width:0}.app-account-trigger{color:var(--ink);cursor:pointer;font-size:13px;white-space:nowrap}.app-room-select{flex:0 1 200px;width:160px;max-width:200px;min-width:0}.app-theme-toggle{flex:0 0 auto;color:var(--muted)}.app-theme-toggle:hover{color:var(--primary)!important}.app-sider{border-right:1px solid var(--line)!important;background:linear-gradient(180deg,var(--nav-start),var(--nav-end))!important}.app-sider .ant-menu{border-inline-end:none!important;padding:8px 0}.app-sider .ant-menu-item-selected{box-shadow:inset 3px 0 0 var(--primary)}.app-mobile-nav{display:none}@media (max-width: 767px){.app-sider{display:none}.app-mobile-nav{display:block}}.page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--gap-lg);flex-wrap:wrap;margin-bottom:20px;padding:22px 24px;border:1px solid var(--line);border-radius:var(--radius-panel);background:linear-gradient(115deg,var(--page-header-start) 0%,var(--page-header-end) 100%);box-shadow:var(--shadow-1);box-sizing:border-box;min-width:0;position:relative;overflow:hidden}.page-header:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:linear-gradient(180deg,var(--brand-deep) 0%,var(--primary) 100%)}.page-header>div:first-child{min-width:0}.page-header-title{font-size:22px;font-weight:650;color:var(--ink);line-height:1.3;display:flex;flex-wrap:wrap;align-items:center;gap:var(--gap-sm);overflow-wrap:anywhere}.page-header-subtitle{margin-top:4px;font-size:13px;color:var(--muted);overflow-wrap:anywhere}.page-header-actions{display:flex;align-items:center;gap:var(--gap-sm);flex-wrap:wrap;min-width:0;max-width:100%}.filter-bar{display:flex;flex-wrap:wrap;align-items:center;gap:var(--gap-md);margin-bottom:var(--gap-lg)}.filter-bar>*{min-width:0}.filter-bar-actions{margin-left:auto;display:flex;flex-wrap:wrap;align-items:center;gap:var(--gap-sm)}.empty-state{padding:var(--gap-xl) var(--gap-lg)}.empty-state .ant-empty-description{color:var(--muted);font-size:13.5px}.muted-hint{color:var(--muted);font-size:13px;line-height:1.6;margin:0}.muted-hint-faint{color:var(--muted-faint);font-size:13px;line-height:1.6}.page-stack{display:flex;flex-direction:column;gap:var(--gap-lg)}.lab-select-card-content{display:flex;align-items:center;gap:12px}.stock-action-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.stock-action-group{min-width:0}.stock-action-group .ant-form-item{margin-bottom:12px}.dashboard-pending-list .ant-list-item{align-items:flex-start}.dashboard-pending-main{display:grid;grid-template-columns:20px minmax(0,1fr) auto;align-items:start;gap:8px;min-width:0;width:100%}.dashboard-pending-icon{padding-top:2px}.dashboard-pending-text{min-width:0;overflow-wrap:anywhere;line-height:1.55}.dashboard-pending-tag{margin-inline-end:0}.dashboard-health-summary{margin-bottom:16px}.dashboard-health-section-title{margin-bottom:10px;color:var(--muted);font-size:13px;font-weight:600}.dashboard-integrity-findings{padding-top:14px;border-top:1px solid var(--line)}.dashboard-integrity-ok{padding:4px 10px;font-size:13px}.location-check-card{margin-bottom:16px;min-width:0}.location-check-card .ant-card-body{min-width:0}.location-check-identity{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.location-check-step{display:grid;gap:4px;min-width:0}.location-check-step>span,.location-check-muted{color:var(--muted);font-size:13px}.location-check-step>strong{overflow-wrap:anywhere}.location-check-owner-value{min-width:0;overflow-wrap:anywhere}.location-check-section{margin-top:16px;min-width:0}.location-check-section-title{margin-bottom:8px;font-weight:600}.location-check-alert{margin:8px 0}.location-photo-upload{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-bottom:12px}.location-photo-upload input{min-width:0;max-width:100%}.location-photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.location-photo-item{min-width:0;margin:0}.location-photo-item img{display:block;width:100%;aspect-ratio:4 / 3;object-fit:cover;border-radius:8px;background:var(--surface-subtle)}.location-photo-item figcaption{margin-top:4px;color:var(--muted);font-size:12px;overflow-wrap:anywhere}.location-check-current{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-bottom:12px}.location-check-current .ant-tag{margin-inline-end:0}.location-check-form{display:grid;gap:10px;min-width:0}.location-check-form .ant-select{width:100%}.location-check-form .ant-input{min-width:0}.dashboard-location-check-list .ant-list-item{gap:8px}.dashboard-location-check-main{display:flex;align-items:center;flex-wrap:wrap;gap:8px;min-width:0}.dashboard-location-check-code{overflow-wrap:anywhere}.table-guidance{display:flex;align-items:center;gap:8px;margin-top:12px;padding:12px 14px;border-top:1px solid var(--line);color:var(--muted);font-size:13px}.app-icon-tile{display:inline-grid;flex:0 0 auto;place-items:center;border:1px solid color-mix(in srgb,var(--primary) 12%,var(--line));border-radius:10px;background:linear-gradient(145deg,var(--tile-bg),var(--surface));color:var(--primary)}.app-icon-tile-small{width:36px;height:36px;font-size:16px}.app-icon-tile-medium{width:42px;height:42px;font-size:19px}.app-card{border:1px solid var(--line);border-radius:var(--radius-card);box-shadow:var(--shadow-2);transition:box-shadow .15s ease,transform .15s ease}.app-card:hover{box-shadow:var(--shadow-3)}.app-card .ant-card-head{border-bottom:1px solid var(--line);min-height:48px;font-weight:600;color:var(--ink);font-size:14.5px}.stat-card{position:relative;overflow:hidden;min-height:128px}.stat-card:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:var(--primary)}.stat-card-warn:before{background:var(--status-warning)}.stat-card-danger:before{background:var(--status-danger)}.stat-card-info:before{background:var(--status-info)}.stat-card:hover{transform:translateY(-2px)}.stat-card .ant-card-body{padding:20px 22px;display:flex;align-items:center;gap:var(--gap-lg)}.stat-card .ant-statistic{min-width:0}.stat-card .ant-statistic-title{color:var(--muted)}.stat-card-icon{width:48px;height:48px;border-radius:12px;display:grid;place-items:center;font-size:22px;flex:0 0 auto}.stat-card-icon.ok{background:var(--status-success-soft);color:var(--status-success)}.stat-card-icon.warn{background:var(--status-warning-soft);color:var(--status-warning)}.stat-card-icon.danger{background:var(--status-danger-soft);color:var(--status-danger)}.stat-card-icon.info{background:var(--status-info-soft);color:var(--status-info)}.app-table .ant-table{border:1px solid var(--line);border-radius:var(--radius-card);overflow:hidden}.app-table .ant-table-thead>tr>th{font-weight:600}.app-content .ant-table-wrapper{max-width:100%;min-width:0;overflow-x:auto}.app-content .ant-table-cell,.app-content .ant-descriptions-item-content{overflow-wrap:anywhere}.app-content .ant-tag{max-width:100%;white-space:normal;overflow-wrap:anywhere}.app-descriptions .ant-descriptions-item-label{color:var(--muted);font-weight:500;width:96px}.notice-bar{border:1px solid var(--line);border-radius:8px;background:var(--nav-end)}.app-empty{padding:36px 0}.login-shell{min-height:100vh;display:grid;place-items:center;background:radial-gradient(1200px 500px at 15% -10%,#e8f1f8 0%,transparent 60%),radial-gradient(900px 420px at 110% 110%,#eef7f2 0%,transparent 55%),var(--page);padding:24px}.login-panel{display:grid;grid-template-columns:1.05fr .95fr;width:100%;max-width:1060px;min-height:620px;border-radius:18px;overflow:hidden;border:1px solid var(--line);box-shadow:0 24px 64px #1018281f;background:var(--surface)}.login-aside{display:flex;flex-direction:column;gap:34px;padding:48px 44px;color:#eaf3fa;background:radial-gradient(620px 360px at 120% -10%,rgba(88,190,255,.28),transparent 60%),linear-gradient(160deg,#06456e,#04344f 55%,#062b42)}.login-aside-top{display:flex;align-items:center;gap:12px}.login-aside-logo{width:50px;height:50px;flex:0 0 auto;display:grid;place-items:center;border-radius:14px;background:#ffffff1f;box-shadow:inset 0 1px #ffffff38}.login-aside-logo svg{width:31px;height:31px;fill:none;stroke:#cfe9fb;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.login-aside-wordmark{display:flex;flex-direction:column;line-height:1.25}.login-aside-clock{margin-left:auto;display:flex;flex-direction:column;align-items:flex-end;gap:2px;line-height:1.25;text-align:right}.login-aside-clock-time{font-size:17px;font-weight:650;letter-spacing:.5px;color:#fff;font-variant-numeric:tabular-nums}.login-aside-clock-date{font-size:12.5px;color:#d6eaf8b3}.login-aside-name{font-size:18px;font-weight:700;letter-spacing:.3px;color:#fff}.login-aside-descriptor{font-size:13px;color:#e2f0fab8}.login-aside-hero{margin-top:4px}.login-aside-title{margin:0;font-size:30px;font-weight:700;letter-spacing:.4px;color:#fff}.login-aside-subtitle{margin:10px 0 0;font-size:14.5px;letter-spacing:3px;color:#d6eaf8d9}.login-aside-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:20px}.login-aside-list li{display:flex;align-items:flex-start;gap:12px}.login-aside-icon{width:38px;height:38px;flex:0 0 auto;display:grid;place-items:center;border-radius:10px;font-size:17px;color:#9fd6fb;background:#ffffff1a;box-shadow:inset 0 1px #ffffff24}.login-aside-item-text{display:flex;flex-direction:column;gap:2px}.login-aside-item-text strong{font-size:15px;font-weight:650;color:#f2f8fd}.login-aside-item-text em{font-style:normal;font-size:13.5px;line-height:1.5;color:#cde4f3c7}.login-aside-foot{margin-top:auto;font-size:13px;color:#c6deee99}.login-card{width:100%;border:none;border-radius:0;box-shadow:none;display:flex;flex-direction:column;justify-content:center;gap:6px;padding:56px 52px;background:var(--surface)}.login-card-head{margin-bottom:10px}.login-card-title{margin:0;font-size:25px;font-weight:700;color:var(--ink)}.login-card-hint{margin:8px 0 0;font-size:14px;color:var(--muted)}.login-card-foot{margin-top:22px;font-size:13px;color:var(--muted-subtle);text-align:center}.login-card .login-field{height:48px;font-size:15.5px;border-radius:10px}.login-card .login-field .ant-input{font-size:15.5px}.login-card .ant-form-item-label>label{font-size:14px;padding-bottom:4px}.login-card .login-submit{height:48px;font-size:16.5px;font-weight:600;border-radius:10px;margin-top:4px}.login-card .ant-form-item{margin-bottom:22px}@media (max-width: 991px){.login-panel{grid-template-columns:1fr;max-width:460px;min-height:0}.login-aside{gap:16px;padding:28px 26px 24px}.login-aside-hero,.login-aside-list{display:none}.login-aside-foot{margin-top:0}.login-card{padding:34px 30px 38px}}@media (max-width: 767px){.app-content{padding:14px 12px 32px}.page-header{margin-bottom:12px;padding:14px 15px}.page-header-title{font-size:18px}}@media (max-width: 575px){.app-header{padding-inline:12px!important;gap:8px}.app-logo{gap:6px}.app-logo-descriptor{display:none}.app-header-room .app-room-select{max-width:96px}.app-header-room .app-room-select{width:96px}.app-account-trigger{max-width:80px;overflow:hidden;text-overflow:ellipsis}.stat-card .ant-card-body{align-items:flex-start;flex-direction:column;gap:7px}.stat-card-icon{width:32px;height:32px;font-size:16px}.app-content .ant-table-wrapper .ant-table{min-width:560px}.filter-bar{gap:var(--gap-sm)}.filter-bar>.ant-input-affix-wrapper,.filter-bar>.ant-input,.filter-bar>.ant-select,.filter-bar>.ant-picker,.filter-bar>.ant-input-number,.filter-bar>.ant-btn{flex:1 1 100%;width:100%}.filter-bar-actions{margin-left:0;width:100%}.filter-bar-actions>.ant-btn{flex:1 1 auto}.page-header{padding:16px;margin-bottom:14px}.page-header-title{font-size:19px}.page-header-actions{width:100%}.page-header-actions>.ant-btn{flex:1 1 auto}.location-header-actions{width:100%}.location-stock-list .ant-list-item{display:grid;grid-template-columns:minmax(0,1fr);gap:8px}.location-stock-list .ant-list-item-meta,.location-stock-list .ant-list-item-meta-content{min-width:0}.location-stock-list .ant-list-item-meta-description{white-space:normal;overflow-wrap:anywhere;line-height:1.6}.location-stock-list .ant-list-item .ant-list-item-action{display:flex;justify-content:flex-end;width:100%;margin-inline-start:0;padding-top:6px;border-top:1px solid var(--line)}.stock-action-grid{grid-template-columns:minmax(0,1fr);gap:8px}.stock-action-group{padding:12px;border:1px solid var(--line);border-radius:10px}.dashboard-pending-main{grid-template-columns:18px minmax(0,1fr)}.dashboard-pending-tag{grid-column:2;justify-self:start}.location-check-identity{grid-template-columns:minmax(0,1fr)}.location-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.location-photo-upload{align-items:stretch}.location-photo-upload input,.location-photo-upload .ant-btn{width:100%}.item-create-form{max-width:100%}.location-header-actions .ant-btn,.page-header-actions .ant-btn{white-space:normal;height:auto;padding-block:6px}.audit-tabs>.ant-tabs-nav,.order-tabs>.ant-tabs-nav{flex-wrap:wrap;gap:8px}.audit-section-title{font-size:15px;font-weight:600;margin:20px 0 0}.audit-task-highlight>td{animation:audit-task-flash 2.4s ease-out 1}@keyframes audit-task-flash{0%{background-color:var(--primary-soft, rgba(24, 144, 255, .18))}to{background-color:transparent}}.audit-tabs .ant-tabs-extra-content,.order-tabs .ant-tabs-extra-content{margin-inline-start:0}.audit-drawer .ant-drawer-content-wrapper{width:100%!important;max-width:100%}.audit-drawer .ant-drawer-header{flex-wrap:wrap;gap:8px}.audit-drawer .ant-drawer-header-title{flex:1 1 100%;min-width:0}.audit-drawer .ant-drawer-extra{margin-inline-start:0;width:100%}.audit-drawer .ant-drawer-extra .ant-btn{width:100%;white-space:normal;height:auto;padding-block:8px}.audit-line-actions{max-width:100%}.ant-modal{max-width:calc(100vw - 24px)!important;margin:12px auto}}.item-create-form{width:100%;max-width:520px}.order-row-actions{display:flex;flex-wrap:wrap;gap:0;max-width:100%}.scene-canvas canvas,.scene-dropzone canvas{touch-action:none;display:block}@media (min-width: 576px) and (max-width: 767px){.stock-action-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.status-normal{color:var(--status-success)}.ant-tag.semantic-status{border-color:transparent;font-weight:550}.ant-tag.semantic-status-success{color:var(--status-success);background:var(--status-success-soft)}.ant-tag.semantic-status-warning{color:var(--status-warning);background:var(--status-warning-soft)}.ant-tag.semantic-status-danger{color:var(--status-danger);background:var(--status-danger-soft)}.ant-tag.semantic-status-info{color:var(--status-info);background:var(--status-info-soft)}.ant-tag.semantic-status-neutral{color:var(--muted);background:var(--surface-subtle)}.status-low,.status-expiring{color:var(--status-warning)}.status-expired{color:var(--status-danger)}.status-unbound{color:var(--muted-faint)}html[data-theme=dark]{--ink: #e4ecf3;--muted: #aab9c7;--line: #2b3946;--surface: #18232e;--page: #101820;--page-top: #14212b;--page-header-start: #18232e;--page-header-end: #1b2a36;--nav-start: #18232e;--nav-end: #151f29;--primary: #70bdf4;--muted-subtle: #91a3b2;--muted-faint: #93a6b5;--surface-subtle: #202c38;--tile-bg: #1c3548;--status-success: #83d99a;--status-warning: #ffd082;--status-danger: #ff9292;--status-info: #8bcafa;--status-success-soft: #173a2b;--status-warning-soft: #45351e;--status-danger-soft: #48272c;--status-info-soft: #1c3548;--brand-deep: #7cc4f5;--brand-deep-soft: #1c3548;--shadow-1: 0 1px 2px rgba(0, 0, 0, .22);--shadow-2: 0 3px 14px rgba(0, 0, 0, .28);--shadow-3: 0 8px 28px rgba(0, 0, 0, .36);color-scheme:dark}html[data-theme=dark] body{background:linear-gradient(180deg,var(--page-top) 0,var(--page) 260px,var(--page) 100%)}html[data-theme=dark] #dashboard-pending .ant-list-empty-text{color:var(--muted)}html[data-theme=dark] .app-header{box-shadow:0 2px 12px #0003}html[data-theme=dark] .page-header,html[data-theme=dark] .app-card{box-shadow:0 2px 8px #00000029}html[data-theme=dark] .login-shell{background:radial-gradient(1000px 420px at 15% -10%,#1d3443 0%,transparent 60%),radial-gradient(800px 380px at 110% 110%,#1a302c 0%,transparent 55%),var(--page)}html[data-theme=dark] .login-panel{border-color:#2b3947;box-shadow:0 18px 48px #0006}html[data-theme=dark] .login-aside{background:radial-gradient(520px 300px at 120% -10%,rgba(38,120,175,.32),transparent 60%),linear-gradient(160deg,#0a2c44,#082438 55%,#071e2f)}html[data-theme=dark] .scene-tooltip{background:#1b2732;border-color:#40505e;border-top-color:#607789;box-shadow:0 5px 18px #0000006b}html[data-theme=dark] .scene-tooltip-qty,html[data-theme=dark] .scene-legend{color:#9ad4ff}html[data-theme=dark] .scene-tooltip-muted{color:#91a3b2}html[data-theme=dark] .admin-tabs>.ant-tabs-nav{background:var(--surface);border-color:var(--line)}html[data-theme=dark] .admin-tabs>.ant-tabs-nav .ant-tabs-tab-active{background:#1d3b52}html[data-theme=dark] .qr-card-name{color:#c0ccd6}html[data-theme=dark] .qr-card-path{color:#98a9b7}html[data-theme=dark] .shape-chip:hover{border-color:#70bdf4;box-shadow:0 1px 6px #5aaee638}html[data-theme=dark] .scene-canvas-tools{background:#18232ef5;border-color:#3a4a58}html[data-theme=dark] .scene-dropzone-active{border-color:#70bdf4;background:#182b38}html[data-theme=dark] .space-row-active>td{background:#1c394c!important}.scene-mode-shortcuts{color:var(--muted);font-size:12px;white-space:nowrap}.scene-space-dot{width:11px;height:11px;border-radius:50%;background:var(--primary);border:1.5px solid rgba(255,255,255,.92);box-shadow:0 1px 4px #08192759;cursor:pointer;pointer-events:auto;transition:transform .12s ease}.scene-space-dot:hover{transform:scale(1.3)}.scene-space-dot-empty{background:transparent;border-color:var(--primary);opacity:.85}html[data-theme=dark] .scene-space-dot{border-color:#0c161ed9}.scene-dot-tip{max-width:240px;font-size:12px;line-height:1.6}.scene-dot-tip-title{font-weight:650;margin-bottom:2px}.scene-dot-tip-line{display:flex;justify-content:space-between;gap:12px}.scene-dot-tip-qty{color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap}.scene-dot-tip-muted{color:var(--muted)}.scene-dot-tip-overlay .ant-tooltip-inner{padding:6px 10px}.scene-owner-label{max-width:86px;padding:3px 6px;border:1px solid rgba(255,255,255,.42);border-radius:6px;background:#112b3ee8;box-shadow:0 2px 7px #0819273d;color:#fff;font-size:11px;font-weight:600;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;pointer-events:none;-webkit-user-select:none;user-select:none}.scene-tooltip{min-width:150px;max-width:min(240px,calc(100vw - 32px));background:var(--surface);border:1px solid var(--line);border-top:3px solid #d9d9d9;border-radius:6px;box-shadow:0 4px 16px #0f172a2e;padding:8px 10px;font-size:12px;line-height:1.6;color:var(--ink);pointer-events:none;-webkit-user-select:none;user-select:none;overflow-wrap:anywhere}.scene-tooltip-title{font-weight:600;font-size:13px;margin-bottom:2px}.scene-tooltip-owner{color:var(--muted)}.scene-tooltip-line{display:flex;justify-content:space-between;gap:12px}.scene-tooltip-part{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.scene-tooltip-qty{color:var(--primary);font-variant-numeric:tabular-nums;flex-shrink:0}.scene-tooltip-kinds{margin-top:2px;color:var(--muted)}.scene-tooltip-muted{color:#9ca3af}.scene-legend{display:flex;flex-wrap:wrap;gap:8px 16px;margin-top:10px;font-size:12px;color:var(--muted)}.scene-legend-item{display:inline-flex;align-items:center;gap:5px}.scene-legend-dot{width:10px;height:10px;border-radius:2px;display:inline-block}.admin-tabs>.ant-tabs-nav{box-sizing:border-box;flex:0 0 168px;width:168px;padding:8px;margin-right:16px;background:var(--surface);border:1px solid var(--line);border-radius:10px}.admin-tabs>.ant-tabs-nav .ant-tabs-tab{padding:10px 12px;margin:2px 0;border-radius:7px;transition:background-color .15s ease,color .15s ease}.admin-tabs>.ant-tabs-nav .ant-tabs-tab-active{background:#e8f1f8}.admin-tabs>.ant-tabs-content-holder{min-width:0}@media (max-width: 575px){.admin-tabs>.ant-tabs-nav{flex:0 1 auto;width:auto;margin:0 0 12px;padding:4px}.admin-tabs>.ant-tabs-nav .ant-tabs-tab{flex:0 0 auto;padding:8px 10px;white-space:nowrap}}.qr-card-body{display:flex;align-items:center;gap:10px}.qr-card-canvas{width:96px;height:96px;flex-shrink:0}.qr-card-meta{min-width:0}.qr-card-code{font-weight:600;font-size:14px;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;word-break:break-all}.qr-card-name{font-size:12px;color:var(--muted);margin-top:2px}.qr-card-path{font-size:11px;color:#9ca3af;margin-top:2px}.qr-card-url{font-size:10px;color:var(--muted);margin-top:4px;word-break:break-all;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace}.qr-furniture-page{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(4,minmax(110px,auto));gap:12px;margin-bottom:16px}.qr-furniture-item{min-width:0;min-height:0}@media screen and (max-width: 600px){.qr-furniture-page{grid-template-columns:minmax(0,1fr);grid-template-rows:none}}@media print{@page{size:A4 portrait;margin:10mm}.app-header,.app-sider,.app-mobile-nav,.no-print{display:none!important}.qr-codes-page>.page-header{display:none!important}.app-content{padding:0!important}.qr-card{break-inside:avoid;box-shadow:none;border:1px solid #d1d5db}.qr-furniture-page{height:277mm;grid-template-rows:repeat(4,minmax(0,1fr));gap:4mm;margin:0;break-after:page;page-break-after:always}.qr-furniture-page:last-child{break-after:auto;page-break-after:auto}.qr-furniture-page .qr-card,.qr-furniture-page .qr-card-body{height:100%}.qr-furniture-page .qr-card-canvas{width:32mm;height:32mm}.qr-furniture-page .qr-card-name,.qr-furniture-page .qr-card-path,.qr-furniture-page .qr-card-url{color:#111}}.scene-builder-workspace{display:grid;grid-template-columns:minmax(190px,220px) minmax(420px,1fr) minmax(320px,370px);gap:14px;align-items:start}.shape-palette{display:flex;flex-direction:column;gap:10px;min-width:0;max-height:min(68vh,720px);padding:12px;overflow:auto;background:var(--surface);border:1px solid var(--line);border-radius:10px;box-shadow:0 1px 2px #10182808}.shape-palette-section-title{display:flex;flex-direction:column;gap:2px}.shape-palette-title{font-size:12px;color:var(--ink);font-weight:650}.shape-palette-hint,.shape-chip-meta,.shape-palette-empty{color:var(--muted-subtle);font-size:11px}.shape-palette-list{display:flex;flex-direction:column;gap:6px}.shape-palette-import-title{margin-top:4px;color:var(--muted)}.shape-chip{display:flex;align-items:center;gap:6px;width:100%;box-sizing:border-box;padding:9px 10px;background:var(--surface);border:1px solid var(--line);border-radius:8px;font-size:12px;color:var(--ink);cursor:grab;-webkit-user-select:none;user-select:none;transition:border-color .15s,box-shadow .15s}.shape-chip>.anticon{flex:0 0 auto;margin-top:2px}.shape-chip-copy{display:flex;flex:1;min-width:0;flex-direction:column;gap:3px}.shape-chip-label{overflow:hidden;color:var(--ink);font-weight:600;text-overflow:ellipsis;white-space:nowrap}.shape-chip-meta{line-height:1.2}.shape-chip-import{cursor:pointer}.shape-chip:hover{border-color:#005b9f;box-shadow:0 1px 4px #005b9f26}.shape-chip:active{cursor:grabbing}.scene-dropzone{position:relative;min-width:0;height:min(68vh,720px);min-height:480px;background:var(--surface);border:1px dashed transparent;border-radius:8px;overflow:hidden;transition:border-color .15s,background .15s}.scene-canvas-tools{position:absolute;z-index:2;left:12px;right:12px;bottom:12px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;padding:8px 10px;border:1px solid var(--line);border-radius:10px;background:color-mix(in srgb,var(--surface) 94%,transparent);box-shadow:0 4px 18px #1830471f;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.scene-canvas-tools-title{min-width:0;flex:0 0 auto;font-weight:600;color:var(--ink);white-space:nowrap}.scene-canvas-tools-actions{display:flex;align-items:center;flex-wrap:wrap;gap:7px;color:var(--muted);font-size:12px}.scene-canvas-tools-actions .ant-btn{font-size:12px}@media (max-width: 1320px){.scene-canvas-tools{align-items:stretch;flex-direction:column}.scene-canvas-tools-actions{justify-content:space-between}}.scene-help{max-width:250px;line-height:1.55}.scene-help p{margin:0 0 7px}.scene-help p:last-of-type{margin-bottom:4px}.scene-binding-note,.scene-panel-hint{color:var(--muted);font-size:12px;line-height:1.5;overflow-wrap:anywhere}.scene-binding-note{margin-top:8px}.scene-panel-hint{margin:0 0 12px}.scene-slots-table .ant-table-cell{overflow-wrap:anywhere}.scene-properties-panel{min-width:0}.scene-dropzone-active{border-color:#005b9f;background:#f0f7ff}.scene-dropzone canvas{cursor:grab}.scene-dropzone canvas:active{cursor:grabbing}.space-row-active>td{background:#e8f3ff!important}.location-tree-card{padding:16px}.location-tree-toolbar{display:flex;align-items:center;gap:12px;margin-bottom:12px}.allocation-result-count{color:var(--muted-subtle);font-size:12px;white-space:nowrap}@media (max-width: 1320px){.scene-builder-workspace{grid-template-columns:minmax(180px,220px) minmax(0,1fr)}.scene-properties-panel{grid-column:1 / -1}.scene-dropzone{height:min(62vh,680px)}}@media (min-width: 576px) and (max-width: 767px){.scene-builder-workspace{grid-template-columns:160px minmax(0,1fr);gap:10px}.shape-palette{padding:9px}}@media (max-width: 575px){.scene-builder-workspace{grid-template-columns:minmax(0,1fr);gap:10px}.shape-palette{max-height:none}.shape-palette-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.scene-dropzone{height:min(70vh,640px);min-height:320px}.location-tree-card{padding:12px}.location-tree-toolbar{align-items:stretch;flex-direction:column}}
