:root{--font-sans:"Source Sans 3", system-ui, -apple-system, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, monospace;--beb-teal:#428c87;--beb-teal-dark:#356f6b;--beb-teal-bright:#29c4a9;--beb-slate:#2d3940;--bg:#f5f7f8;--surface:#fff;--surface-2:#f0f4f4;--border:#dde4e6;--border-strong:#c5d0d3;--text:#2d3940;--text-muted:#6d6f72;--text-faint:#8a8d90;--sidebar-bg:#2d3940;--sidebar-text:#b8c5c8;--sidebar-text-active:#fff;--sidebar-accent:#44ceb0;--sidebar-hover:#ffffff0f;--accent:#428c87;--accent-hover:#356f6b;--accent-soft:#e8f4f3;--success-bg:#ecfdf5;--success-text:#047857;--success-border:#a7f3d0;--error-bg:#fef2f2;--error-text:#b91c1c;--error-border:#fecaca;--warn-bg:#fffbeb;--warn-text:#b45309;--warn-border:#fde68a;--info-bg:#eff6ff;--info-text:#1d4ed8;--info-border:#bfdbfe;--radius:12px;--radius-sm:8px;--shadow:0 1px 3px #0f172a0f, 0 8px 24px #0f172a0a;--shadow-lg:0 4px 24px #0f172a14}*{box-sizing:border-box}body{min-height:100vh;font-family:var(--font-sans);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;margin:0;font-size:15px;line-height:1.55}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.app-shell{min-height:100vh;display:flex}.sidebar{background:var(--sidebar-bg);width:240px;color:var(--sidebar-text);flex-direction:column;flex-shrink:0;height:100vh;padding:1.25rem .875rem;display:flex;position:sticky;top:0}.sidebar-brand{padding:.25rem .5rem 1.25rem;text-decoration:none;display:block}.sidebar-brand:hover{opacity:.92;text-decoration:none}.sidebar-brand :global(.beb-logo){max-width:120px;max-height:36px}.sidebar-nav{flex-direction:column;flex:1;gap:.25rem;display:flex}.sidebar-link{border-radius:var(--radius-sm);color:var(--sidebar-text);align-items:center;gap:.625rem;padding:.625rem .75rem;font-size:.9375rem;font-weight:500;text-decoration:none;transition:background .15s,color .15s;display:flex}.sidebar-link:hover{background:var(--sidebar-hover);color:var(--sidebar-text-active);text-decoration:none}.sidebar-link.active{color:#fff;border-left:2px solid var(--sidebar-accent);background:#44ceb029;padding-left:calc(.75rem - 2px)}.sidebar-link.admin-link{border-top:1px solid #ffffff14;margin-top:.5rem;padding-top:1rem}.sidebar-footer{border-top:1px solid #ffffff14;margin-top:auto;padding:.75rem}.tpv-powered{opacity:.92;border-top:1px solid #ffffff14;flex-direction:column;align-items:flex-start;gap:.35rem;margin-top:1rem;padding-top:.875rem;text-decoration:none;transition:opacity .15s;display:flex}.tpv-powered:hover{opacity:1;text-decoration:none}.tpv-powered-label{text-transform:uppercase;letter-spacing:.06em;color:var(--text-faint);font-size:.6875rem;font-weight:600}.tpv-powered.dark .tpv-powered-label{color:var(--text-muted)}.tpv-powered img{object-fit:contain;object-position:left center;width:auto;max-width:100%;height:22px;display:block}.tpv-powered.light .tpv-powered-label{color:#8aa3a8}.tpv-powered.light img{filter:brightness(0)invert();opacity:.88}.tpv-powered.centered{text-align:center;align-items:center}.tpv-powered.centered img{object-position:center}.login-powered{border-top:none;align-items:center;margin-top:1.25rem;padding-top:0}.sidebar-user{color:var(--sidebar-text);text-overflow:ellipsis;white-space:nowrap;margin-bottom:.75rem;font-size:.8125rem;overflow:hidden}.sidebar-notice{border-radius:var(--radius-sm);margin-bottom:.75rem;padding:.5rem .625rem;font-size:.75rem;line-height:1.4}.sidebar-notice.success{color:#bbf7d0;background:#22c55e26}.sidebar-notice.error{color:#fecaca;background:#ef444426}.main-col{flex-direction:column;flex:1;min-width:0;display:flex}main.page{flex:1;max-width:920px;padding:2rem 2.5rem}main.page:has(.docs-card){max-width:960px}@media (width<=768px){.app-shell{flex-direction:column}.sidebar{width:100%;height:auto;padding:1rem;position:relative}.sidebar-nav{flex-flow:wrap}main.page{padding:1.25rem}}.page-header{margin-bottom:1.75rem}.page-header h1{letter-spacing:-.03em;margin:0 0 .35rem;font-size:1.75rem;font-weight:700;line-height:1.2}.page-header p{color:var(--text-muted);margin:0;font-size:.9375rem}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:1.25rem;padding:1.5rem}.card h2{letter-spacing:-.02em;margin:0 0 1rem;font-size:1.125rem;font-weight:600}.card h3{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;margin:0 0 .75rem;font-size:.9375rem;font-weight:600}.form-grid{gap:1.125rem;display:grid}.form-grid .tabs,.form-grid .alert{margin-bottom:0}.form-grid>.form-actions{margin-top:0}.form-intro{color:var(--text-muted);margin:0;font-size:.9375rem;line-height:1.5}.form-note{color:var(--text-muted);margin:0;font-size:.9375rem;line-height:1.45}.form-note strong{color:var(--text)}.form-fieldset{border:none;min-width:0;margin:0;padding:0}.form-legend{color:var(--text);letter-spacing:.01em;margin:0 0 .4rem;padding:0;font-size:.8125rem;font-weight:600;display:block}.label-optional{color:var(--text-muted);font-weight:400}.form-fieldset .tabs{margin-bottom:0}.form-row label{color:var(--text);letter-spacing:.01em;margin-bottom:.4rem;font-size:.8125rem;font-weight:600;display:block}.form-row .hint{color:var(--text-muted);margin:.35rem 0 0;font-size:.8125rem;line-height:1.45}.form-row input[type=text],.form-row input[type=email],.form-row input[type=password],.form-row input[type=number],.form-row input[type=url],.form-row input[type=file],.form-row select,.form-row textarea{border:1px solid var(--border-strong);border-radius:var(--radius-sm);width:100%;max-width:100%;font:inherit;background:var(--surface);color:var(--text);padding:.625rem .75rem;transition:border-color .15s,box-shadow .15s}.form-row input:focus,.form-row select:focus,.form-row textarea:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px #428c872e}.form-row textarea{font-family:var(--font-mono);resize:vertical;font-size:.8125rem;line-height:1.5}.form-actions{flex-wrap:wrap;gap:.625rem;margin-top:1.25rem;display:flex}.btn{border-radius:var(--radius-sm);font:inherit;cursor:pointer;background:var(--accent);color:#fff;border:none;justify-content:center;align-items:center;gap:.375rem;padding:.625rem 1.125rem;font-size:.9375rem;font-weight:600;transition:background .15s,transform .1s;display:inline-flex}.btn:hover:not(:disabled){background:var(--accent-hover)}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.secondary{background:var(--surface);color:var(--text);border:1px solid var(--border-strong)}.btn.secondary:hover:not(:disabled){background:var(--surface-2)}.btn.ghost{color:var(--sidebar-text);background:0 0;border:1px solid #ffffff26;padding:.5rem .875rem;font-size:.875rem}.btn.ghost:hover:not(:disabled){background:var(--sidebar-hover);color:#fff}.btn.danger{background:#dc2626}.btn.sm{padding:.375rem .625rem;font-size:.8125rem}.tabs{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);gap:0;margin-bottom:1.25rem;padding:.25rem;display:inline-flex}.tab{font:inherit;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:.5rem 1rem;font-size:.875rem;font-weight:500;transition:background .15s,color .15s,box-shadow .15s}.tab:hover{color:var(--text)}.tab.active{background:var(--surface);color:var(--accent);box-shadow:0 1px 2px #0f172a0f}.alert{border-radius:var(--radius-sm);margin-bottom:1.25rem;padding:.875rem 1rem;font-size:.9375rem;line-height:1.5}.alert.error{background:var(--error-bg);color:var(--error-text);border:1px solid var(--error-border)}.alert.success{background:var(--success-bg);color:var(--success-text);border:1px solid var(--success-border)}.alert.warn{background:var(--warn-bg);color:var(--warn-text);border:1px solid var(--warn-border)}.alert.info{background:var(--info-bg);color:var(--info-text);border:1px solid var(--info-border)}.table-wrap{border:1px solid var(--border);border-radius:var(--radius-sm);overflow-x:auto}table.data{border-collapse:collapse;width:100%;font-size:.875rem}table.data th{text-align:left;background:var(--surface-2);text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);border-bottom:1px solid var(--border);padding:.75rem 1rem;font-size:.75rem;font-weight:600}table.data td{border-bottom:1px solid var(--border);padding:.75rem 1rem}table.data tr:last-child td{border-bottom:none}table.data tbody tr:hover{background:var(--surface-2)}.queue-panel{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-lg);overflow:hidden}.queue-panel-header{border-bottom:1px solid var(--border);background:linear-gradient(180deg, var(--surface) 0%, var(--surface-2) 100%);padding:1.25rem 1.5rem}.queue-panel-header h2{margin:0 0 .25rem;font-size:1.125rem;font-weight:600}.queue-panel-header p{color:var(--text-muted);margin:0;font-size:.8125rem}.stat-grid{border-bottom:1px solid var(--border);grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:.75rem;padding:1.25rem 1.5rem;display:grid}.queue-panel-body{padding:1.25rem 1.5rem}.stat-chip{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:.75rem .875rem}.stat-chip .label{text-transform:uppercase;letter-spacing:.06em;color:var(--text-faint);margin-bottom:.25rem;font-size:.6875rem;font-weight:600;display:block}.stat-chip .value{letter-spacing:-.02em;font-size:1.125rem;font-weight:700}.stat-chip.success .value{color:var(--success-text)}.stat-chip.warn .value{color:#b45309}.stat-chip.error .value{color:var(--error-text)}.current-item{background:var(--accent-soft);border-bottom:1px solid #b8ddd9;padding:.875rem 1.5rem;font-size:.875rem}.current-item strong{color:var(--accent)}.log-list{max-height:360px;font-family:var(--font-mono);background:#0f172a;padding:.75rem 1rem;font-size:.75rem;line-height:1.6;overflow-y:auto}.log-line{color:#cbd5e1;margin:0;padding:.2rem 0}.log-line .status-success{color:#6ee7b7}.log-line .status-skipped{color:#fcd34d}.log-line .status-failed{color:#fca5a5}.log-line .status-deferred{color:#93c5fd}.log-line .status-processing{color:#c4b5fd}.login-page{background:radial-gradient(ellipse 80% 60% at 50% -10%, #428c871f, transparent), var(--bg);flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:1.5rem;display:flex}.login-brand :global(.beb-logo){max-width:min(280px,100%);max-height:72px;margin:0 auto}.login-card{width:100%;max-width:420px;box-shadow:var(--shadow-lg)}.login-brand{text-align:center;flex-direction:column;align-items:center;gap:.5rem;margin-bottom:1.5rem;display:flex}.login-tagline{color:var(--text-muted);margin:0;font-size:.875rem}.badge{text-transform:uppercase;letter-spacing:.04em;border-radius:999px;padding:.2rem .5rem;font-size:.6875rem;font-weight:600;display:inline-block}.badge.admin{background:var(--accent-soft);color:var(--accent)}.badge.user{background:var(--surface-2);color:var(--text-muted)}code{font-family:var(--font-mono);background:var(--surface-2);border-radius:4px;padding:.1em .35em;font-size:.85em}pre.docs-pre code,.docs-pre code{color:inherit;font-size:inherit;background:0 0;border-radius:0;padding:0}
