:root{--bb-red:#c8102e;--bb-red-soft:#c8102e24;--bb-dark:#1a1a1a;--bb-darker:#111;--bb-card:#222;--bb-card-elevated:#282828;--bb-border:#333;--bb-border-strong:#444;--bb-text:#e0e0e0;--bb-text-dim:#999;--bb-text-muted:#aaa;--bb-text-disabled:#ccc;--bb-green:#22c55e;--bb-green-bright:#4ade80;--bb-success:#2e7d32;--bb-yellow:#eab308;--bb-amber:#f59e0b;--bb-amber-dark:#92400e;--bb-amber-text:#fef3c7;--bb-blue:#3b82f6;--bb-orange:#f97316;--bb-danger:#ef4444;--bb-danger-bright:#ff6b6b;--bb-danger-tint:#3a1a1a;--bb-danger-border:#5a2a2a;--bb-bg-dark:#1e1e1e;--bb-bg-error-tint:#3a0d10;--bb-bg-warn-tint:#3a2a0a;--bb-bg-stale-tint:#2a2207;--bb-warning-bg:#f7d774;--bb-danger-bg:#ff9aa8;--bb-info-bg:#92c5ff;--bb-white:#fff;--bb-body-bg-start:#171717;--bb-body-bg-end:#0f0f0f;--bb-sidebar-width:290px;--bb-shadow:0 12px 36px #00000059}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{min-height:100%}body{background:radial-gradient(circle at top, #c8102e1a, transparent 28%), linear-gradient(180deg, var(--bb-body-bg-start) 0%, var(--bb-body-bg-end) 100%);color:var(--bb-text);font-family:Segoe UI,system-ui,sans-serif}button,input,select,textarea{font:inherit}.app-layout{min-height:100dvh;display:flex}.sidebar{width:var(--bb-sidebar-width);border-right:1px solid var(--bb-border);z-index:100;background:linear-gradient(#1a1a1afa,#111111fa);flex-direction:column;height:100dvh;display:flex;position:fixed;top:0;left:0;overflow-y:auto}.sidebar-resizer{top:0;left:calc(var(--bb-sidebar-width) - 3px);cursor:col-resize;z-index:101;background:0 0;width:6px;height:100dvh;transition:background .15s;position:fixed}.sidebar-resizer:hover,.sidebar-resizer:active{background:var(--bb-red-soft)}.sidebar-header{border-bottom:1px solid var(--bb-border);text-align:center;padding:18px 16px}.sidebar-summary{border-bottom:1px solid #ffffff0a;padding:14px 16px}.sidebar-summary-title{color:var(--bb-text);text-transform:uppercase;letter-spacing:.5px;font-size:11px;font-weight:700}.sidebar-summary-copy{color:var(--bb-text-dim);margin-top:4px;font-size:12px}.sidebar-title{color:var(--bb-red);letter-spacing:1px;text-transform:uppercase;font-size:14px;font-weight:700}.sidebar-version{color:var(--bb-text-dim);font-size:11px}.sidebar-section{padding:12px 0}.sidebar-section-title{color:var(--bb-text-dim);text-transform:uppercase;letter-spacing:1px;padding:0 16px 8px;font-size:10px;font-weight:600}.nav-btn{width:100%;color:var(--bb-text);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:10px;padding:10px 16px;font-size:13px;transition:background .15s,color .15s;display:flex}.nav-btn:hover{background:#ffffff0d}.nav-btn.active{background:var(--bb-red);color:var(--bb-white);font-weight:600}.nav-icon{text-align:center;width:20px;font-size:16px}.nav-btn.nested{padding-left:20px;font-size:12px}.nav-item-left{align-items:center;gap:10px;display:flex}.sidebar-group{border-bottom:1px solid #ffffff0a}.sidebar-group.active{background:#ffffff04}.sidebar-group-toggle{width:100%;color:var(--bb-text);cursor:pointer;text-align:left;background:0 0;border:none;justify-content:space-between;align-items:center;gap:8px;padding:12px 16px;display:flex}.sidebar-group-toggle:hover{background:#ffffff0a}.sidebar-group-left,.sidebar-group-right{align-items:center;gap:10px;display:flex}.sidebar-group-icon{text-align:center;width:18px}.sidebar-group-label{font-size:13px;font-weight:700}.sidebar-group-chevron{color:var(--bb-text-dim);font-size:12px}.sidebar-group-items{padding:0 8px 10px}.status-light{border-radius:50%;width:10px;height:10px;display:inline-block;box-shadow:0 0 0 3px #ffffff08}.status-light.healthy{background:var(--bb-green)}.status-light.attention{background:var(--bb-yellow)}.status-light.warning,.status-light.offline{background:var(--bb-red)}.status-light.planned{background:var(--bb-blue)}.main-content{margin-left:var(--bb-sidebar-width);flex:1;min-width:0;min-height:100dvh;padding:24px}.page-header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px;display:flex}.page-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.page-title{font-size:22px;font-weight:700}.page-subtitle{color:var(--bb-text-dim);margin-top:4px;font-size:12px}.card{border:1px solid var(--bb-border);box-shadow:var(--bb-shadow);background:linear-gradient(#222222fa,#191919fa);border-radius:10px;margin-bottom:16px;padding:16px}.card-title{color:var(--bb-text-dim);text-transform:uppercase;letter-spacing:.5px;margin-bottom:12px;font-size:13px;font-weight:600}.stats-grid,.tile-grid,.panel-grid{gap:12px;margin-bottom:20px;display:grid}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.tile-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.panel-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.split-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.stat-card{border:1px solid var(--bb-border);background:#222222e6;border-radius:8px;padding:14px}.stat-label{color:var(--bb-text-dim);text-transform:uppercase;letter-spacing:.5px;font-size:11px}.stat-value{margin-top:4px;font-size:24px;font-weight:700}.stat-value.green{color:var(--bb-green)}.stat-value.yellow{color:var(--bb-yellow)}.stat-value.red{color:var(--bb-red)}.stat-value.blue{color:var(--bb-blue)}.data-table{border-collapse:collapse;width:100%;font-size:13px}.data-table th{text-align:left;background:var(--bb-dark);color:var(--bb-text-dim);text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--bb-border);padding:8px 12px;font-size:11px;position:sticky;top:0}.data-table td{border-bottom:1px solid var(--bb-border);vertical-align:top;padding:8px 12px}.data-table tr:hover td{background:#ffffff05}.md-skel-row td{padding:10px 12px}.md-skel-row:hover td{cursor:default;background:0 0}.md-skel-cell{opacity:.7;background:linear-gradient(90deg,#ffffff0a 0%,#ffffff1a 50%,#ffffff0a 100%) 0 0/200% 100%;border-radius:6px;height:12px;animation:1.4s ease-in-out infinite md-skel-shimmer;display:block}@keyframes md-skel-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}@media (prefers-reduced-motion:reduce){.md-skel-cell{animation:none}}.badge{text-transform:uppercase;border-radius:999px;padding:2px 8px;font-size:11px;font-weight:600;display:inline-block}.badge.green{color:var(--bb-green);background:#22c55e26}.badge.yellow{color:var(--bb-yellow);background:#eab30826}.badge.red{color:var(--bb-red);background:#c8102e26}.badge.blue{color:var(--bb-blue);background:#3b82f626}.badge.gray{color:var(--bb-text-dim);background:#88888826}.btn,.refresh-btn,.select-input,.text-input,.text-area{border:1px solid var(--bb-border);border-radius:6px}.btn,.refresh-btn{cursor:pointer;transition:opacity .15s,border-color .15s,color .15s,background .15s}.btn:focus-visible,.refresh-btn:focus-visible,.nav-btn:focus-visible,.tab-btn:focus-visible,.icon-btn:focus-visible,.pin-key:focus-visible,.sidebar-group-toggle:focus-visible{outline:2px solid var(--bb-red);outline-offset:2px}.btn{padding:8px 16px;font-size:13px;font-weight:600}.btn:hover,.refresh-btn:hover{opacity:.9}.btn:disabled,.refresh-btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:var(--bb-red);color:var(--bb-white);border-color:var(--bb-red)}.btn-secondary{background:var(--bb-border);color:var(--bb-text)}.btn-sm{padding:5px 10px;font-size:11px}.refresh-btn{color:var(--bb-text-dim);background:0 0;padding:6px 12px;font-size:12px}.refresh-btn:hover{border-color:var(--bb-border-strong);color:var(--bb-text)}.tab-bar{border-bottom:1px solid var(--bb-border);flex-wrap:wrap;gap:6px;margin-bottom:16px;padding-bottom:8px;display:flex}.tab-btn{color:var(--bb-text-dim);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:999px;padding:6px 14px;font-size:13px}.tab-btn:hover{color:var(--bb-text);border-color:var(--bb-border)}.tab-btn.active{color:var(--bb-white);background:var(--bb-red);border-color:var(--bb-red)}.json-pre{background:var(--bb-dark);max-height:300px;color:var(--bb-text-dim);border-radius:6px;padding:12px;font-family:monospace;font-size:12px;overflow:auto}.detail-row{border-bottom:1px solid #ffffff08;grid-template-columns:minmax(140px,220px) minmax(0,1fr);align-items:start;gap:12px;padding:6px 0;font-size:13px;display:grid}.detail-label{width:auto;min-width:0;color:var(--bb-text-dim);overflow-wrap:anywhere;flex-shrink:0}.detail-value{word-break:normal;overflow-wrap:break-word;white-space:normal;min-width:0}.detail-row>.detail-value:only-child{grid-column:1/-1}.loading,.empty-state{color:var(--bb-text-dim);text-align:center;padding:20px}.loading{font-style:italic}.empty-state{border:1px dashed var(--bb-border);border-radius:8px}.ts{color:var(--bb-text-dim);font-family:monospace;font-size:12px}.inline-notice{border:1px solid var(--bb-border);background:#ffffff0a;border-radius:8px;margin-bottom:12px;padding:10px 12px;font-size:12px}.inline-notice.success{color:var(--bb-green);background:#22c55e14;border-color:#22c55e73}.inline-notice.error{color:var(--bb-danger-bg);background:#c8102e14;border-color:#c8102e73}.inline-notice.warning{color:var(--bb-warning-bg);background:#eab30814;border-color:#eab30873}.inline-notice.info{color:var(--bb-info-bg);background:#3b82f614;border-color:#3b82f673}.field{flex-direction:column;gap:6px;margin-bottom:12px;display:flex}.field-label{color:var(--bb-text-dim);font-size:12px}.field-hint{color:var(--bb-text-dim);font-size:11px}.text-input,.select-input,.text-area{background:var(--bb-dark);width:100%;color:var(--bb-text);padding:8px 10px}.text-area{resize:vertical;min-height:100px}.modal-backdrop{z-index:1000;background:#000000b8;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.modal-card{background:var(--bb-card-elevated);border:1px solid var(--bb-border-strong);box-shadow:var(--bb-shadow);border-radius:12px;max-width:100%}.modal-header,.modal-actions{justify-content:space-between;align-items:center;gap:12px;padding:16px 18px;display:flex}.modal-header{border-bottom:1px solid var(--bb-border)}.modal-actions{border-top:1px solid var(--bb-border);justify-content:flex-end}.modal-title{font-size:16px;font-weight:700}.modal-body{padding:18px}.icon-btn{color:var(--bb-text-dim);cursor:pointer;background:0 0;border:none;font-size:24px;line-height:1}.launch-tile{color:inherit;background:var(--bb-dark);border:1px solid var(--bb-border);border-radius:10px;padding:16px;text-decoration:none;transition:transform .15s,border-color .15s;display:block}.launch-tile:hover{border-color:var(--bb-red);transform:translateY(-1px)}.launch-tile.disabled{opacity:.7}.launch-tile-title{margin-bottom:4px;font-size:14px;font-weight:700}.launch-tile-copy,.launch-tile-note{color:var(--bb-text-dim);font-size:12px}.launch-tile-note{margin-top:10px}.pin-screen{background:radial-gradient(circle at top, #c8102e29, transparent 26%), var(--bb-darker);flex-direction:column;justify-content:center;align-items:center;min-height:100dvh;display:flex}.pin-title{color:var(--bb-red);margin-bottom:8px;font-size:18px;font-weight:700}.pin-subtitle,.pin-footnote{color:var(--bb-text-dim);font-size:13px}.pin-subtitle{margin-bottom:24px}.pin-footnote{margin-top:16px}.pin-dots{gap:12px;margin-bottom:24px;display:flex}.pin-dot{border:2px solid var(--bb-border);border-radius:50%;width:14px;height:14px}.pin-dot.filled{background:var(--bb-red);border-color:var(--bb-red)}.pin-grid{grid-template-columns:repeat(3,64px);gap:10px;display:grid}.pin-key{border:1px solid var(--bb-border);background:var(--bb-card);width:64px;height:56px;color:var(--bb-text);cursor:pointer;border-radius:8px;font-size:20px;font-weight:600}.pin-key:hover{background:var(--bb-border)}.pin-error{color:var(--bb-danger-bg);margin-top:16px;font-size:13px}.bbscan-page{flex-direction:column;gap:16px;display:flex;overflow-x:hidden}.bbscan-feed{flex-direction:column;gap:14px;min-width:0;display:flex}.bbscan-attempt{min-width:0;padding:14px}.bbscan-attempt-header{grid-template-columns:minmax(280px,1.6fr) minmax(220px,1fr) auto;align-items:start;gap:14px;display:grid}.bbscan-attempt-summary{align-items:flex-start;gap:12px;display:flex}.bbscan-attempt-rank{min-width:42px;height:42px;color:var(--bb-white);background:#c8102e29;border:1px solid #c8102e73;border-radius:12px;place-items:center;font-weight:800;display:grid}.bbscan-attempt-title-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.bbscan-attempt-title{color:var(--bb-text);font-size:14px;font-weight:700}.bbscan-attempt-subtitle{color:var(--bb-text-dim);margin-top:4px;font-size:12px}.bbscan-attempt-meta{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 12px;font-size:12px;display:grid}.bbscan-attempt-meta span{color:var(--bb-text-dim);text-transform:uppercase;letter-spacing:.4px;margin-bottom:2px;font-size:10px;display:block}.bbscan-attempt-meta b{color:var(--bb-text);font-weight:600}.bbscan-attempt-actions{justify-content:flex-end;display:flex}.bbscan-attempt-body{flex-direction:column;gap:14px;margin-top:14px;display:flex}.bbscan-thumb-panel{grid-template-columns:120px minmax(0,1fr);align-items:start;gap:14px;display:grid}.bbscan-thumb{object-fit:cover;border:1px solid var(--bb-border);background:var(--bb-dark);border-radius:12px;width:120px;height:120px}.bbscan-thumb-empty{color:var(--bb-text-dim);place-items:center;font-size:11px;display:grid}.bbscan-thumb-copy{min-width:0}.bbscan-thumb-title{text-transform:uppercase;letter-spacing:.5px;color:var(--bb-text-dim);margin-bottom:4px;font-size:11px}.bbscan-thumb-text{color:var(--bb-text);font-size:13px;line-height:1.4}.bbscan-thumb-chips{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.bbscan-lane-stack{flex-direction:column;gap:10px;display:flex}.bbscan-lane-wrap{border:1px solid var(--bb-border);background:#00000014;border-radius:12px;padding:10px 12px 12px}.bbscan-lane-title{text-transform:uppercase;letter-spacing:.5px;color:var(--bb-text-dim);margin-bottom:8px;font-size:11px}.bbscan-lane{min-height:56px;position:relative;overflow:hidden}.bbscan-lane-track{background:linear-gradient(90deg,#ffffff1a,#c8102e73,#ffffff1a);height:2px;position:absolute;top:27px;left:2%;right:2%}.bbscan-lane-empty{z-index:1;color:var(--bb-text-dim);padding-top:14px;font-size:12px;position:relative}.bbscan-marker{z-index:2;text-align:center;flex-direction:column;align-items:center;max-width:120px;display:flex;position:absolute;top:6px;transform:translate(-50%)}.bbscan-marker-dot{background:var(--bb-border-strong);border:2px solid #ffffff59;border-radius:999px;width:12px;height:12px;box-shadow:0 0 0 4px #ffffff08}.bbscan-marker-label{color:var(--bb-text);margin-top:4px;font-size:10px;line-height:1.2}.bbscan-marker.good .bbscan-marker-dot{background:var(--bb-green)}.bbscan-marker.warn .bbscan-marker-dot{background:var(--bb-yellow)}.bbscan-marker.bad .bbscan-marker-dot{background:var(--bb-red)}.bbscan-expanded{flex-direction:column;gap:14px;display:flex}.bbscan-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.bbscan-detail-card{margin-bottom:0}.bbscan-junctures{flex-direction:column;gap:8px;display:flex}.bbscan-juncture{border:1px solid var(--bb-border);background:#ffffff05;border-radius:10px;padding:8px 10px}.bbscan-juncture.good{border-color:#22c55e59}.bbscan-juncture.warn{border-color:#eab30859}.bbscan-juncture.bad{border-color:#c8102e59}.bbscan-juncture-label{text-transform:uppercase;letter-spacing:.4px;color:var(--bb-text-dim);margin-bottom:2px;font-size:11px;display:block}.bbscan-juncture-title{color:var(--bb-text);word-break:break-word;font-size:12px;display:block}.bbscan-debug-strip{margin-bottom:0}.bbscan-debug-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;display:grid}.bbscan-debug-slot{min-height:100px}.bbscan-debug-image{object-fit:cover;border:1px solid var(--bb-border);background:var(--bb-dark);border-radius:10px;width:100%;height:100px}.bbscan-debug-empty{border:1px dashed var(--bb-border);min-height:100px;color:var(--bb-text-dim);border-radius:10px;place-items:center;font-size:11px;display:grid}@media (width<=980px){.sidebar{height:100dvh;position:sticky}.main-content{padding:18px}.split-grid,.bbscan-attempt-header,.bbscan-detail-grid{grid-template-columns:1fr}.bbscan-debug-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=800px){.app-layout{flex-direction:column}.sidebar{width:100%;height:auto;max-height:none;position:static}.sidebar-resizer{display:none}.main-content{margin-left:0}.page-header{flex-direction:column}.page-actions{width:100%}.bbscan-thumb-panel{grid-template-columns:1fr}.bbscan-thumb{width:100%;height:180px}.bbscan-debug-grid{grid-template-columns:1fr}}.credential-detail-panel{flex-wrap:wrap;align-items:start;gap:16px;width:100%;min-width:0;display:flex}.credential-detail-panel .detail-section{flex:280px;min-width:0}.credential-detail-panel .detail-field{grid-template-columns:minmax(140px,160px) minmax(0,1fr);align-items:start;gap:12px;margin-bottom:10px;display:grid}.credential-detail-panel .detail-label{white-space:normal;overflow-wrap:anywhere;flex-shrink:0;width:auto;min-width:0}.credential-detail-panel .detail-value{overflow-wrap:break-word;word-break:normal;white-space:normal;min-width:0;line-height:1.35}.credential-detail-panel .page-subtitle{overflow-wrap:anywhere}@media (width<=1100px){.credential-detail-panel{grid-template-columns:1fr}.credential-detail-panel .detail-field{grid-template-columns:130px minmax(0,1fr)}}
