.elabel-admin{background:var(--color-bg);min-height:100vh;font-family:var(--bb-font-sans);font-size:var(--text-body,15px);line-height:var(--leading-body,1.55);color:var(--color-text);-webkit-font-smoothing:antialiased;--bb-mobile-pad:var(--space-page-x)}.elabel-admin *,.elabel-admin :before,.elabel-admin :after{box-sizing:border-box}.elabel-admin button,.elabel-admin input,.elabel-admin select{font:inherit;color:inherit}.elabel-admin a{color:var(--color-primary-ink);text-decoration:none}.elabel-admin :focus:not(:focus-visible){outline:none}.elabel-admin :is(button,a,input,select):focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.tn{font-variant-numeric:tabular-nums}.app{background:var(--color-bg);grid-template-columns:248px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{z-index:25;background:var(--bb-slate-900);min-width:0;height:100vh;color:var(--bb-slate-200);flex-direction:column;padding:24px 16px;display:flex;position:sticky;top:0;box-shadow:1px 0 #00000059}.brand{align-items:center;gap:12px;padding:0 8px;display:flex}.brand-mark{background:var(--bb-sky-700);color:#fff;border-radius:12px;flex:none;place-items:center;width:40px;height:40px;display:grid}.brand-name{font-size:var(--text-title);font-weight:var(--weight-title);line-height:var(--leading-title);color:#fff;margin:0}.brand-sub{font-size:var(--text-caption);font-weight:var(--bb-fw-regular);color:var(--bb-slate-400);margin:0;line-height:1.3}.nav{flex-direction:column;flex:1;gap:4px;min-height:0;margin-top:28px;display:flex}.nav-item{width:100%;height:44px;color:var(--bb-slate-300);font-size:var(--text-body);text-align:left;cursor:default;background:0 0;border:0;border-radius:12px;align-items:center;gap:12px;padding:0 14px;display:flex}.nav-item svg{color:var(--bb-slate-400);flex:none}.nav-item:hover{color:var(--bb-slate-200);background:#ffffff0f}.nav-item:hover svg{color:var(--bb-slate-200)}.nav-item.is-active{background:var(--bb-sky-700);color:#fff;font-weight:var(--weight-strong)}.nav-item.is-active svg{color:#fff}.elabel-admin .sidebar a.nav-item{color:var(--bb-slate-300);text-decoration:none}.elabel-admin .sidebar a.nav-item:hover{color:var(--bb-slate-200)}.elabel-admin .sidebar a.nav-item.is-active,.elabel-admin .sidebar a.nav-item.is-active svg{color:#fff}.nav-item.is-disabled{color:var(--bb-slate-500);cursor:not-allowed}.nav-item.is-disabled svg{color:var(--bb-slate-500)}.nav-item.is-disabled:hover{color:var(--bb-slate-500);background:0 0}.nav-item .label{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.nav-badge{background:var(--color-badge);color:#fff;min-width:20px;height:20px;font-size:var(--text-caption);font-weight:var(--weight-strong);border-radius:999px;place-items:center;padding:0 6px;line-height:1;display:grid}.nav-group{font-size:var(--text-caption);color:var(--bb-slate-500);margin:16px 14px 6px}.sidebar-foot{border-top:1px solid #ffffff14;margin-top:auto;padding:16px 8px 0}.user-row{align-items:center;gap:12px;display:flex}.user-avatar{background:var(--bb-slate-700);width:36px;height:36px;color:var(--bb-slate-200);font-size:var(--text-caption);font-weight:var(--weight-strong);border-radius:999px;flex:none;place-items:center;display:grid}.user-name{font-size:var(--text-body);font-weight:var(--weight-strong);color:#fff;margin:0}.user-role{font-size:var(--text-caption);color:var(--bb-slate-400);margin:0}.user-links{font-size:var(--text-caption);color:var(--bb-slate-400);gap:16px;margin-top:16px;display:flex}.user-links span,.user-links button{align-items:center;gap:6px;display:inline-flex}.user-links button{color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;padding:0}.main{background:var(--color-bg);flex-direction:column;min-width:0;display:flex}.topbar{z-index:20;background:var(--color-surface);border-bottom:1px solid var(--color-line);align-items:center;gap:12px;height:64px;padding:0 40px;display:flex;position:sticky;top:0}.ent-switch{background:var(--color-primary-soft);height:30px;color:var(--color-primary-ink);cursor:default;border:0;border-radius:999px;align-items:center;gap:6px;padding:0 12px;font-size:13px;font-weight:600;display:inline-flex}.ent-code{color:var(--color-text-subtle);font-size:13px}.topbar-spacer{flex:1}.topbar-right{align-items:center;gap:12px;display:flex}.btn-quiet{background:var(--color-surface);height:36px;color:var(--color-primary-ink);box-shadow:inset 0 0 0 1px var(--color-border-outline);cursor:default;border:0;border-radius:999px;align-items:center;gap:6px;padding:0 16px;font-size:15px;font-weight:600;display:inline-flex}.role-chip{background:var(--color-status-draft-bg);height:22px;color:var(--color-status-draft-text);border-radius:999px;align-items:center;padding:0 8px;font-size:13px;font-weight:600;display:inline-flex}.content{flex:1;width:100%;max-width:1680px;margin:0 auto;padding:28px 40px 48px}.page-head{justify-content:space-between;align-items:flex-end;gap:24px;padding-bottom:24px;display:flex}.crumbs{font-size:var(--text-caption);color:var(--color-text-muted)}.crumbs .sep{color:var(--color-text-subtle);margin:0 6px}.crumbs .cur{color:var(--color-text-body)}.page-title-row{flex-wrap:wrap;align-items:center;gap:12px;margin-top:6px;display:flex}.page-title{font-size:var(--text-page-title);font-weight:var(--weight-title);line-height:var(--leading-title);color:var(--color-text);margin:0}.tag-mini{background:var(--color-tag-bg);height:22px;color:var(--color-tag-text);border-radius:6px;align-items:center;gap:4px;padding:0 8px;font-size:13px;display:inline-flex}.page-desc{max-width:720px;font-size:var(--text-caption);font-weight:var(--bb-fw-regular);color:var(--color-text-muted);line-height:var(--leading-body);margin:8px 0 0}.page-actions{flex:none;align-items:center;gap:10px;display:flex}.btn{white-space:nowrap;cursor:default;border:0;border-radius:999px;justify-content:center;align-items:center;gap:6px;height:40px;padding:0 20px;font-size:15px;font-weight:600;transition:background-color .16s;display:inline-flex}.btn-primary{background:var(--color-primary);color:var(--color-on-primary)}.btn-primary:hover{background:var(--color-primary-hover)}.btn-secondary{background:var(--color-primary-soft);color:var(--color-primary-ink)}.btn-secondary:hover{background:var(--color-primary-tray)}.btn-outline{background:var(--color-surface);color:var(--color-primary-ink);box-shadow:inset 0 0 0 1px var(--color-border-outline)}.btn-sm{height:32px;padding:0 14px;font-size:13px}.toolbar{flex-wrap:wrap;align-items:center;gap:12px 16px;margin-bottom:16px;display:flex}.filter-chips{flex-wrap:wrap;flex:1;align-items:center;gap:8px;min-width:0;display:flex}.chip{background:var(--color-tab-off);height:32px;color:var(--color-text-body);cursor:default;border:0;border-radius:999px;align-items:center;gap:4px;padding:0 12px;font-size:13px;font-weight:600;display:inline-flex}.chip .count{opacity:.8;font-variant-numeric:tabular-nums;font-style:normal}.chip.is-on{background:var(--color-primary);color:var(--color-on-primary)}.chip.is-on .count{opacity:.9}.toolbar-end{align-items:center;gap:10px;margin-left:auto;display:flex}.field-search{width:280px;position:relative}.field-search svg{color:var(--color-text-placeholder);pointer-events:none;position:absolute;top:50%;left:14px;transform:translateY(-50%)}.field-search input{background:var(--color-surface);width:100%;height:40px;color:var(--color-text);box-shadow:inset 0 0 0 1px var(--color-border-control);border:0;border-radius:999px;outline:none;padding:0 14px 0 40px;font-size:13px}.field-search input::placeholder{color:var(--color-text-subtle)}.field-select select{background-color:var(--color-surface);height:40px;color:var(--color-text-soft);box-shadow:inset 0 0 0 1px var(--color-border-control);appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='%2386868b' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;background-size:14px;border:0;border-radius:999px;padding:0 36px 0 14px;font-size:13px}.card{background:var(--color-surface);box-shadow:var(--shadow-card);border-radius:20px;overflow:hidden}.table-wrap{overflow-x:auto}table.list{border-collapse:collapse;text-align:left;width:100%;min-width:960px;font-size:15px}table.list thead th{height:44px;font-size:var(--text-caption);font-weight:var(--weight-strong);color:var(--color-text-muted);background:var(--color-surface);border-bottom:1px solid var(--color-line);white-space:nowrap;padding:0 16px}table.list tbody td{vertical-align:middle;border-bottom:1px solid var(--color-line);height:56px;color:var(--color-text);padding:10px 16px}table.list tbody tr:last-child td{border-bottom:none}table.list tbody tr:hover td{background:var(--color-surface-hover)}.col-name{min-width:260px}.col-specs{min-width:140px}.col-status{width:100px}.col-missing{width:72px}.col-time{width:120px}.col-act{text-align:right;width:56px;padding-right:12px!important}.name-cell{flex-direction:column;gap:2px;min-width:0;display:flex}.name-cell .name{font-size:var(--text-body);font-weight:var(--weight-title);color:var(--color-text);line-height:var(--leading-title,1.35);white-space:nowrap;text-overflow:ellipsis;max-width:360px;overflow:hidden}.name-cell .meta{font-size:var(--text-caption);font-weight:var(--bb-fw-regular);color:var(--color-text-muted);line-height:var(--leading-body,1.5);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.specs{font-size:var(--text-caption);color:var(--color-text-body)}.time{font-size:var(--text-caption);color:var(--color-text-muted)}.missing{color:var(--color-danger);font-size:15px;font-weight:600}.missing.is-zero{color:var(--color-text-subtle);font-weight:400}.status{white-space:nowrap;border-radius:999px;align-items:center;height:22px;padding:0 8px;font-size:13px;font-weight:600;line-height:1;display:inline-flex}.status-draft{background:var(--color-status-draft-bg);color:var(--color-status-draft-text)}.status-pending{background:var(--color-warning-soft);color:var(--color-warning)}.status-published{background:var(--color-success-soft);color:var(--color-success)}.status-rejected{background:var(--color-danger-soft);color:var(--color-danger)}.status-superseded{background:var(--color-notice-bg);color:var(--color-notice-text)}.status-revoked{background:var(--color-status-disabled-bg);color:var(--color-status-disabled-text,var(--color-danger))}.kebab-wrap{justify-content:flex-end;display:inline-flex;position:relative}.kebab{width:32px;height:32px;color:var(--color-text-body);cursor:pointer;background:0 0;border:0;border-radius:12px;place-items:center;display:grid}.kebab:hover,.kebab[aria-expanded=true]{background:var(--color-fill);color:var(--color-primary-ink)}.menu{z-index:30;background:var(--color-surface);min-width:148px;box-shadow:var(--shadow-float);border-radius:12px;padding:6px;display:none;position:absolute;top:calc(100% + 4px);right:0}.kebab-wrap.is-open .menu{display:block}.menu button,.menu a{width:100%;height:36px;color:var(--color-text-soft);text-align:left;cursor:default;background:0 0;border:0;border-radius:8px;align-items:center;padding:0 12px;font-size:14px;text-decoration:none;display:flex}.menu button:hover,.menu a:hover{background:var(--color-bg);color:var(--color-primary-ink)}.menu button.is-danger{color:var(--color-danger)}.menu button.is-danger:hover{background:var(--color-danger-soft)}.footer-bar{border-top:1px solid var(--color-line);color:var(--color-text-muted);justify-content:space-between;align-items:center;gap:16px;padding:12px 20px;font-size:13px;display:flex}.pager{align-items:center;gap:6px;display:flex}.pager .btn.is-current{background:var(--color-primary-soft);color:var(--color-primary-ink)}.topbar-icon{width:36px;height:36px;color:var(--color-text-body);cursor:pointer;background:0 0;border:0;border-radius:999px;place-items:center;padding:0;display:inline-grid;position:relative}.topbar-icon:hover{background:var(--color-fill);color:var(--color-primary-ink)}.topbar-icon .topbar-dot{background:var(--color-danger,#c45c5c);width:6px;height:6px;box-shadow:0 0 0 2px var(--color-surface);border-radius:999px;position:absolute;top:8px;right:8px}svg.i{vertical-align:middle;stroke-width:var(--icon-stroke);flex:none;display:inline-block}.theme-toggle{background:var(--color-fill);height:36px;color:var(--color-text-body);cursor:pointer;border:0;border-radius:999px;align-items:center;gap:6px;padding:0 14px;font-size:13px;font-weight:600;display:inline-flex}.theme-toggle:hover{background:var(--color-wash);color:var(--color-primary-ink)}.theme-toggle svg.i{flex:none}.theme-switching *,.theme-switching :before,.theme-switching :after{transition:none!important}.state-panel{text-align:center;flex-direction:column;align-items:center;gap:12px;padding:64px 24px;display:flex}.state-panel.is-compact{gap:10px;padding:48px 24px}.state-icon{background:var(--color-fill);width:56px;height:56px;color:var(--color-text-muted);border-radius:16px;place-items:center;display:grid}.state-icon.is-primary{background:var(--color-primary-soft);color:var(--color-primary-ink)}.state-icon.is-danger{background:var(--color-danger-soft);color:var(--color-danger)}.state-panel h2{font-size:15px;font-weight:var(--weight-title);color:var(--color-text);line-height:var(--leading-title,1.35);margin:0}.state-panel p{max-width:420px;color:var(--color-text-muted);margin:0;font-size:13px;line-height:1.55}.state-actions{flex-wrap:wrap;justify-content:center;gap:10px;margin-top:4px;display:flex}@keyframes skel-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.skel{background:linear-gradient(90deg, var(--color-fill) 0%, var(--color-wash,var(--color-surface-hover)) 40%, var(--color-fill) 80%);vertical-align:middle;background-size:200% 100%;border-radius:6px;height:14px;animation:1.2s ease-in-out infinite skel-shimmer;display:inline-block}.skel-block{display:block}.skel-name{width:72%;height:15px}.skel-meta{width:48%;height:12px;margin-top:6px}.skel-specs{width:70%}.skel-status{border-radius:999px;width:64px;height:22px}.skel-num{width:20px}.skel-time{width:72%}.skel-act{border-radius:10px;width:28px;height:28px;margin-left:auto}table.list tbody tr.is-skel td{pointer-events:none}table.list tbody tr.is-skel:hover td{background:0 0}.min-w-0{min-width:0}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.btn-ghost{color:var(--color-primary-ink);box-shadow:inset 0 0 0 1px var(--color-border-outline);background:0 0}.btn-ghost:hover{background:var(--color-fill)}.skel-field{height:var(--bb-space-11,44px);border-radius:var(--bb-radius-sm,8px);width:100%}.skel-label{height:var(--bb-space-3,12px);width:28%;margin-bottom:var(--bb-space-2,8px)}.skel-banner{height:calc(var(--bb-space-16,64px) + var(--bb-space-4,16px));border-radius:var(--radius-card,16px);width:100%;margin-bottom:var(--bb-space-4,16px)}.skel-title{height:var(--bb-space-7,28px);width:42%}.skel-queue{height:calc(var(--bb-space-12,48px) + var(--bb-space-2,8px));border-radius:var(--bb-radius-sm,8px);width:100%;margin-bottom:var(--bb-space-2,8px)}.more-trigger,.mobile-tabbar,.more-layer{display:none}html.admin-more-lock,html.admin-more-lock body{overscroll-behavior:none;height:100%;overflow:hidden}.more-mask{z-index:40;background:var(--color-mask);opacity:0;pointer-events:none;transition:opacity var(--motion-drawer);border:0;padding:0;position:fixed;inset:0}.elabel-admin.is-more-open .more-mask{opacity:1;pointer-events:auto}.more-panel{z-index:41;width:min(320px,100vw - 48px);padding:max(12px, env(safe-area-inset-top,0px)) 16px max(16px, env(safe-area-inset-bottom,0px)) max(16px, env(safe-area-inset-left,0px));background:var(--color-surface);color:var(--color-text);box-shadow:var(--shadow-float);transition:transform var(--motion-drawer);overscroll-behavior:contain;-webkit-overflow-scrolling:touch;pointer-events:none;flex-direction:column;display:flex;position:fixed;top:0;bottom:0;left:0;overflow:auto;transform:translate(calc(-100% - 40px))}.elabel-admin.is-more-open .more-panel{pointer-events:auto;transform:translate(0)}.more-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.more-head h2{font-size:var(--text-title);font-weight:var(--weight-title);line-height:var(--leading-title);margin:0}.more-close{background:var(--color-fill);width:44px;min-width:44px;height:44px;min-height:44px;color:var(--color-text);border:0;border-radius:999px;place-items:center;display:grid}.more-user{align-items:center;gap:12px;margin-top:16px;display:flex}.more-avatar{background:var(--color-fill);width:36px;height:36px;color:var(--color-text);font-size:var(--text-caption);font-weight:var(--weight-strong);border-radius:999px;flex:none;place-items:center;display:grid}.more-user-name{font-size:var(--text-body);font-weight:var(--weight-strong);color:var(--color-text);margin:0}.more-user-role{font-size:var(--text-caption);color:var(--color-text-muted);margin:0}.more-group{font-size:var(--text-caption);color:var(--color-text-muted);margin:20px 12px 6px}.more-nav{flex-direction:column;gap:4px;display:flex}.more-nav button,.more-nav a,.more-actions button{width:100%;height:46px;min-height:46px;color:var(--color-text);font-size:var(--text-body);text-align:left;background:0 0;border:0;border-radius:12px;align-items:center;gap:12px;padding:0 12px;display:flex}.more-nav button:hover:not(:disabled),.more-nav a:hover,.more-actions button:hover{background:var(--color-fill)}.more-note{background:var(--color-notice-bg);color:var(--color-notice-text);border-radius:12px;margin-top:16px;padding:12px 14px}.more-note h3{font-size:var(--text-caption);font-weight:var(--weight-strong);margin:0 0 6px}.more-note p{font-size:var(--text-caption);margin:0;line-height:1.55}.more-actions{flex-direction:column;gap:4px;margin-top:auto;padding-top:16px;display:flex}.mobile-tabbar button,.mobile-tabbar a{min-width:0;height:100%;min-height:48px;color:var(--color-text-muted);font-size:var(--bb-fs-12);background:0 0;border:0;flex-direction:column;justify-content:center;align-items:center;gap:4px;margin:0;padding:4px 2px;font-weight:500;line-height:1.2;display:flex;position:relative}.mobile-tabbar button svg,.mobile-tabbar a svg{width:22px;height:22px}.mobile-tabbar button.is-active,.mobile-tabbar a.is-active{color:var(--color-primary);font-weight:600}.mobile-tabbar button span,.mobile-tabbar a span{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.tab-badge{background:var(--color-badge);color:#fff;border-radius:999px;place-items:center;min-width:16px;height:16px;padding:0 4px;font-size:10px;font-style:normal;font-weight:600;line-height:1;display:grid;position:absolute;top:4px;left:calc(50% + 8px)}@media (max-width:760px){.elabel-admin{--tabbar-h:64px}.elabel-admin .app{grid-template-columns:minmax(0,1fr)}.elabel-admin .sidebar{display:none}.elabel-admin,.elabel-admin .app,.elabel-admin .main,.elabel-admin .content{max-width:100%;overflow-x:clip}.elabel-admin .topbar{height:auto;min-height:60px;padding:8px var(--bb-mobile-pad);gap:8px}.elabel-admin .topbar .theme-toggle,.elabel-admin .topbar-spacer{display:none}.elabel-admin .topbar-right{flex:none;gap:4px}.elabel-admin .more-trigger{background:var(--color-fill);height:44px;min-height:44px;color:var(--color-primary-ink);font-size:var(--text-body);border:0;border-radius:999px;flex:none;align-items:center;gap:6px;padding:0 14px 0 12px;font-weight:600;display:inline-flex}.elabel-admin .topbar-icon{width:44px;min-width:44px;height:44px;min-height:44px}.elabel-admin .btn{height:46px;min-height:46px}.elabel-admin .btn-sm{height:44px;min-height:44px;font-size:var(--text-body);padding:0 16px}.elabel-admin .chip{height:44px;min-height:44px;font-size:var(--text-body);padding:0 14px}.elabel-admin .kebab{width:44px;min-width:44px;height:44px;min-height:44px}.elabel-admin .menu button,.elabel-admin .menu a{height:44px;min-height:44px;font-size:var(--text-body)}.elabel-admin .field-search input,.elabel-admin .field-select select{height:46px;min-height:46px}.elabel-admin .ent-switch{flex:auto;min-width:0;max-width:none}.elabel-admin .ent-switch-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.elabel-admin .content{padding:20px var(--bb-mobile-pad) calc(24px + env(safe-area-inset-bottom,0px))}.elabel-admin.has-tabbar .content{padding-bottom:calc(var(--tabbar-h) + env(safe-area-inset-bottom,0px) + 24px)}.elabel-admin .page-head{flex-direction:column;align-items:flex-start;gap:16px}.elabel-admin .page-actions,.elabel-admin .footer-bar,.elabel-admin .pager{flex-wrap:wrap}.elabel-admin .toolbar-end{flex-wrap:wrap;width:100%;margin-left:0}.elabel-admin .field-search{flex:180px;width:auto;min-width:0}.elabel-admin .field-select{flex:120px;min-width:0}.elabel-admin .field-select select{width:100%}.elabel-admin .card:has(.product-cards) .table-wrap{display:none}.elabel-admin .more-layer{pointer-events:none;display:block}.elabel-admin .mobile-tabbar{z-index:28;grid-template-columns:repeat(var(--mobile-tabs,4), minmax(0, 1fr));height:calc(var(--tabbar-h) + env(safe-area-inset-bottom,0px));padding:0 0 env(safe-area-inset-bottom,0px);background:var(--color-surface);box-shadow:var(--shadow-bar);border:0;margin:0;display:grid;position:fixed;bottom:0;left:0;right:0}}
