@font-face {
	font-family: "Instrument Sans";
	src: url("/assets/fonts/InstrumentSans-Regular.woff2") format("woff2");
	font-display: swap;
	font-style: normal;
	font-weight: 400;
}
@font-face {
	font-family: "Instrument Sans";
	src: url("/assets/fonts/InstrumentSans-Medium.woff2") format("woff2");
	font-display: swap;
	font-style: normal;
	font-weight: 500;
}
@font-face {
	font-family: "Instrument Sans";
	src: url("/assets/fonts/InstrumentSans-Semibold.woff2") format("woff2");
	font-display: swap;
	font-style: normal;
	font-weight: 600 900;
}

:root {
	--hub-ink: #211e3e;
	--hub-muted: #666978;
	--hub-line: rgba(33, 30, 62, .14);
	--hub-canvas: #f7f8fa;
	--hub-panel: #ffffff;
	--hub-brand: #211e3e;
	--hub-brand-dark: #17162d;
	--hub-brand-soft: #eef0f3;
	--hub-accent: #4a93be;
	--hub-accent-dark: #30337c;
	--hub-lime: #acc915;
	--hub-navy: #211e3e;
	--hub-cyan: #4a93be;
	--hub-success: #16866f;
	--hub-warning: #b86d17;
	--hub-danger: #c54455;
	--hub-shadow: 0 18px 52px rgba(33, 30, 62, .10);
	--hub-radius: 14px;
}

:root[data-theme="light"] { color-scheme: light; }
:root[data-theme="dark"] { --hub-canvas: #252746; color-scheme: dark; }
html { min-height: 100%; background: var(--hub-canvas); scroll-behavior: smooth; }
body { min-width: 320px; min-height: 100vh; min-height: 100dvh; background: var(--hub-canvas); color: var(--hub-ink); font-family: "Instrument Sans", system-ui, sans-serif; font-weight: 400; -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
button, input, select, textarea { font-family: inherit; }
button, a, input, select, textarea { transition: border-color .16s ease, background-color .16s ease, color .16s ease, box-shadow .16s ease, transform .16s ease; }
#hub-container { min-height: 100vh; min-height: 100dvh; background: var(--hub-canvas); color: var(--hub-ink); }
#hub-container::before { position: fixed; top: env(safe-area-inset-top, 0px); right: 0; left: 0; z-index: 80; height: 4px; background: var(--hub-lime); content: ''; }
.hub-app-shell { display: grid; grid-template-columns: 248px minmax(0, 1fr); min-height: 100vh; min-height: 100dvh; }
.hub-workspace { min-width: 0; }
.hub-sidebar { position: sticky; top: 0; z-index: 40; height: 100vh; height: 100dvh; display: flex; flex-direction: column; padding: 26px 18px calc(18px + env(safe-area-inset-bottom, 0px)); background: var(--hub-navy); color: #fff; overflow-y: auto; }
.hub-brand { display: flex; align-items: flex-start; flex-direction: column; gap: 7px; margin: 0 8px 34px; color: #fff !important; text-decoration: none; }
.hub-brand img { display: block; width: 190px; max-width: 100%; height: auto; }
.hub-brand > small { color: #b7babe; font-size: 9px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }
.hub-sidebar__label { margin: 0 12px 10px; color: #797d9d; font-size: 10px; font-weight: 750; letter-spacing: .13em; text-transform: uppercase; }
.hub-sidebar__nav { display: grid; gap: 5px; }
.hub-nav-link { display: flex; align-items: center; gap: 12px; min-height: 44px; padding: 10px 12px; border-radius: 11px; color: #aaadc7 !important; font-size: 14px; font-weight: 620; text-decoration: none; }
.hub-nav-link svg { width: 19px; height: 19px; fill: none; stroke: currentColor; stroke-width: 1.65; stroke-linecap: round; stroke-linejoin: round; }
.hub-nav-link:hover { background: rgba(255,255,255,.06); color: #fff !important; transform: translateX(2px); }
.hub-nav-link.is-active { background: linear-gradient(100deg, rgba(74,147,190,.25), rgba(74,147,190,.07)); color: #fff !important; box-shadow: inset 3px 0 var(--hub-accent); }
.hub-sidebar__foot { display: flex; align-items: center; gap: 10px; margin-top: auto; padding: 14px 12px; border: 1px solid rgba(255,255,255,.08); border-radius: 13px; background: rgba(255,255,255,.035); }
.hub-sidebar__foot strong,.hub-sidebar__foot small { display: block; }.hub-sidebar__foot strong { font-size: 11px; }.hub-sidebar__foot small { margin-top: 3px; color: #8589a8; font-size: 10px; }
.hub-system-pulse { width: 8px; height: 8px; flex: 0 0 auto; border-radius: 50%; background: var(--hub-lime); box-shadow: 0 0 0 5px rgba(172,201,21,.12); }
.hub-topbar { position: sticky; top: 0; z-index: 30; display: flex; align-items: center; justify-content: space-between; gap: 18px; height: 72px; padding: 0 34px; border-bottom: 1px solid rgba(224,228,239,.88); background: rgba(255,255,255,.87); backdrop-filter: blur(16px); }
.hub-command-trigger { display: flex; align-items: center; gap: 10px; width: min(390px, 48vw); padding: 9px 12px; border: 1px solid var(--hub-line); border-radius: 11px; background: #f8f9fc; color: var(--hub-muted); text-align: left; cursor: pointer; }
.hub-command-trigger:hover { border-color: #cbc5fa; background: #fff; box-shadow: 0 6px 22px rgba(34,40,72,.07); }.hub-command-trigger svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 1.8; }.hub-command-trigger span { flex: 1; }.hub-command-trigger kbd { padding: 2px 7px; border: 1px solid #dadee8; border-radius: 6px; background: #fff; color: #8790a1; font-size: 11px; box-shadow: 0 1px 1px rgba(0,0,0,.04); }
.hub-topbar__actions { display: flex; align-items: center; gap: 10px; }.hub-topbar .hub-theme-small { width: 86px !important; padding: 7px 8px !important; border: 1px solid var(--hub-line) !important; border-radius: 9px !important; color: var(--hub-muted); font-size: 12px !important; }.hub-avatar { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 10px; background: var(--hub-brand-soft); color: var(--hub-brand-dark) !important; font-size: 11px; font-weight: 800; text-decoration: none; }
.hub-mobile-menu { display: none; }.hub-icon-button { width: 44px; height: 44px; padding: 0; border: 1px solid var(--hub-line); border-radius: 11px; background: var(--hub-panel); color: var(--hub-ink); appearance: none; cursor: pointer; }.hub-icon-button:hover { border-color: var(--hub-accent); background: var(--hub-brand-soft); }.hub-icon-button:focus-visible { outline: 3px solid rgba(74,147,190,.42); outline-offset: 2px; }.hub-mobile-menu span { display: block; width: 18px; height: 2px; margin: 3px auto; border-radius: 999px; background: currentColor; }
.content { width: 100%; max-width: 1540px; margin: 0 auto; padding: 34px clamp(22px, 3.2vw, 54px) 70px; }
.hub-skip-link { position: fixed; top: 8px; left: 8px; z-index: 999; padding: 9px 12px; border-radius: 8px; background: #fff; color: var(--hub-ink); transform: translateY(-150%); }.hub-skip-link:focus { transform: translateY(0); }
.hub-nav-overlay { display: none; }
.hub-command[hidden] { display: none; }.hub-command { position: fixed; inset: 0; z-index: 100; display: grid; align-items: start; justify-items: center; padding: 12vh 18px; background: rgba(18,20,38,.58); backdrop-filter: blur(7px); }.hub-command__dialog { width: min(620px, 100%); overflow: hidden; border: 1px solid rgba(255,255,255,.5); border-radius: 18px; background: #fff; box-shadow: 0 30px 90px rgba(16,18,34,.3); }.hub-command__dialog > label { display: flex; align-items: center; gap: 12px; padding: 16px 18px; border-bottom: 1px solid var(--hub-line); }.hub-command__dialog svg { width: 20px; height: 20px; fill: none; stroke: var(--hub-muted); stroke-width: 1.8; }.hub-command__dialog input { width: 100%; margin: 0; padding: 0; border: 0; outline: 0; font-size: 16px; }.hub-command__results { display: grid; gap: 3px; max-height: 380px; padding: 9px; overflow: auto; }.hub-command__results a { display: flex; justify-content: space-between; padding: 11px 12px; border-radius: 9px; color: var(--hub-ink) !important; text-decoration: none; }.hub-command__results [hidden] { display: none; }.hub-command__results a:hover { background: var(--hub-brand-soft); }.hub-command__results small { color: var(--hub-muted); }.hub-command__dialog > p { display: flex; gap: 18px; padding: 10px 18px; border-top: 1px solid var(--hub-line); color: var(--hub-muted); font-size: 10px; }

.hub-page-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; margin-bottom: 28px; }.hub-page-head h1 { margin: 4px 0 6px; font-size: clamp(27px, 3vw, 38px); line-height: 1.1; letter-spacing: -.04em; }.hub-page-head p { max-width: 680px; color: var(--hub-muted); }.hub-eyebrow { color: var(--hub-accent-dark); font-size: 11px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.hub-panel { border: 1px solid var(--hub-line); border-radius: var(--hub-radius); background: var(--hub-panel); box-shadow: 0 8px 32px rgba(34,40,72,.045); }.hub-panel__head { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 20px 22px; border-bottom: 1px solid var(--hub-line); }.hub-panel__head h2 { font-size: 16px; letter-spacing: -.015em; }.hub-panel__body { padding: 22px; }
.hub-btn { display: inline-flex; align-items: center; justify-content: center; min-height: 40px; padding: 9px 14px; border-radius: 8px; font-weight: 700; cursor: pointer; }.hub-btn-primary { border-color: var(--hub-brand); background: var(--hub-brand); color: #fff !important; box-shadow: 0 7px 18px rgba(33,30,62,.16); }.hub-btn-primary:hover { border-color: var(--hub-brand-dark); background: var(--hub-brand-dark); transform: translateY(-1px); }.hub-btn-secondary { border-color: #d7dee8; background: #eef2f7; color: var(--hub-ink) !important; }.hub-btn-secondary:hover { border-color: #c9d3e0; background: #e5ebf3; }.hub-btn:focus-visible,.hub-nav-link:focus-visible,.hub-command-trigger:focus-visible { outline: 3px solid rgba(74,147,190,.42); outline-offset: 2px; }
.hub-status { display: inline-flex; align-items: center; gap: 6px; min-height: 25px; padding: 4px 9px; border-radius: 999px; background: #eef0f3; color: #666978; font-size: 10px; font-weight: 800; letter-spacing: .035em; text-transform: uppercase; white-space: nowrap; }.hub-status::before { width: 6px; height: 6px; border-radius: 50%; background: currentColor; content: ''; }.hub-status--success { background: #e8f8f2; color: var(--hub-success); }.hub-status--warning { background: #fff4e5; color: var(--hub-warning); }.hub-status--danger { background: #ffedf0; color: var(--hub-danger); }.hub-status--brand { background: #eef7fc; color: var(--hub-accent-dark); }
.hub-empty { padding: 42px 22px; color: var(--hub-muted); text-align: center; }.hub-notice { margin-bottom: 20px; padding: 13px 16px; border: 1px solid #cbeade; border-radius: 11px; background: #edf9f5; color: #11634f; }.hub-notice--danger { border-color: #f4cad1; background: #fff1f3; color: #a33143; }

.hub-auth-body { min-height: 100vh; margin: 0; background: var(--hub-canvas); }
.hub-auth-body #hub-container { display: grid; min-height: 100vh; padding: clamp(18px, 4vw, 54px); place-items: center; }
.hub-auth-shell { display: grid; width: min(1040px, 100%); min-height: 620px; grid-template-columns: minmax(0, 1.05fr) minmax(380px, .95fr); overflow: hidden; border: 1px solid var(--hub-line); border-radius: 20px; background: var(--hub-panel); box-shadow: 0 30px 90px rgba(33,30,62,.15); }
.hub-auth-brand { position: relative; display: flex; min-width: 0; flex-direction: column; justify-content: space-between; padding: clamp(34px, 5vw, 58px); overflow: hidden; background: var(--hub-navy); color: #fff; }
.hub-auth-brand::before { position: absolute; right: -110px; top: -110px; width: 430px; height: 430px; border-radius: 50%; background: radial-gradient(circle, rgba(74,147,190,.42), rgba(74,147,190,0) 69%); content: ''; }
.hub-auth-brand::after { position: absolute; right: 17%; bottom: -170px; width: 370px; height: 370px; border: 1px solid rgba(255,255,255,.09); border-radius: 50%; content: ''; }
.hub-auth-brand > * { position: relative; z-index: 1; }
.hub-auth-brand > img { width: min(270px, 76%); height: auto; }
.hub-auth-eyebrow { margin-bottom: 12px; color: var(--hub-lime); font-size: 10px; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
.hub-auth-brand h1 { max-width: 500px; margin-bottom: 16px; font-size: clamp(38px, 5vw, 62px); line-height: .98; letter-spacing: -.055em; }
.hub-auth-brand div > p:last-child { max-width: 500px; color: #b7babe; font-size: 14px; line-height: 1.7; }
.hub-auth-brand ul { display: flex; flex-wrap: wrap; gap: 9px; margin: 0; padding: 0; list-style: none; }
.hub-auth-brand li { padding: 7px 10px; border: 1px solid rgba(183,186,190,.2); border-radius: 8px; background: rgba(255,255,255,.045); color: #d8dae0; font-size: 9px; font-weight: 700; letter-spacing: .03em; }
.hub-auth-brand li::before { margin-right: 6px; color: var(--hub-lime); content: '✓'; }
.hub-auth-card { display: flex; min-width: 0; flex-direction: column; justify-content: center; padding: clamp(34px, 5vw, 62px); background: var(--hub-panel); }
.hub-auth-card__top { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: clamp(48px, 8vh, 76px); }
.hub-auth-card__top img { width: 150px; height: auto; }
.hub-auth-card__top select { width: 86px; margin: 0; padding: 7px 8px; border: 1px solid var(--hub-line); border-radius: 8px; background: var(--hub-panel); color: var(--hub-muted); font-size: 11px; }
.hub-auth-heading h2 { margin: 6px 0 9px; font-size: clamp(29px, 3vw, 38px); line-height: 1; letter-spacing: -.04em; }
.hub-auth-heading > p:last-child { margin-bottom: 28px; color: var(--hub-muted); font-size: 13px; }
.hub-auth-card form label { margin: 0 0 6px; color: var(--hub-ink); font-size: 11px; font-weight: 750; }
.hub-auth-card form input { height: 44px; margin: 0 0 18px; border: 1px solid var(--hub-line); border-radius: 9px; background: var(--hub-panel); color: var(--hub-ink); }
.hub-auth-card form input:focus { border-color: var(--hub-accent); box-shadow: 0 0 0 3px rgba(74,147,190,.18); }
.hub-auth-card form .hub-btn { width: 100%; min-height: 44px; margin-top: 4px; }
.hub-auth-foot { margin-top: 23px; color: var(--hub-muted); font-size: 9px; text-align: center; }
.hub-theme-dark .hub-auth-card__top img { filter: brightness(0) invert(1); }

.hub-theme-dark { --hub-ink:#f7f8fa; --hub-muted:#b7babe; --hub-line:rgba(183,186,190,.22); --hub-canvas:#211e3e; --hub-panel:#29284b; --hub-brand:#acc915; --hub-brand-dark:#badb16; --hub-brand-soft:#303056; }.hub-theme-dark .hub-eyebrow { color: var(--hub-lime); }.hub-theme-dark .hub-topbar { border-color: var(--hub-line); background: rgba(41,40,75,.9); }.hub-theme-dark .hub-command-trigger,.hub-theme-dark .hub-theme-small,.hub-theme-dark .hub-avatar,.hub-theme-dark .hub-panel,.hub-theme-dark .hub-btn-secondary,.hub-theme-dark .hub-command__dialog { background: #29284b !important; color: var(--hub-ink) !important; }.hub-theme-dark .hub-command__results a { color: var(--hub-ink) !important; }.hub-theme-dark .hub-command__results a:hover { background: #303056; }.hub-theme-dark input,.hub-theme-dark select,.hub-theme-dark textarea { border-color: var(--hub-line); background: #303056; color: var(--hub-ink); }
.hub-theme-dark table { background: var(--hub-panel); color: var(--hub-ink); }.hub-theme-dark table th { border-color: var(--hub-line); background: #303056; color: var(--hub-muted); }.hub-theme-dark table td { border-color: var(--hub-line); color: var(--hub-ink); }.hub-theme-dark tr:hover td { background: rgba(48,48,86,.72); }

@media (max-width: 940px) {
	.hub-app-shell { grid-template-columns: 1fr; }.hub-sidebar { position: fixed; left: 0; top: 0; width: min(290px, 86vw); transform: translateX(-105%); transition: transform .22s ease; box-shadow: 25px 0 60px rgba(15,16,30,.3); }.hub-nav-open .hub-sidebar { transform: translateX(0); }.hub-nav-overlay { position: fixed; inset: 0; z-index: 35; display: block; pointer-events: none; background: rgba(16,18,32,.52); opacity: 0; transition: opacity .2s ease; }.hub-nav-open .hub-nav-overlay { pointer-events: auto; opacity: 1; }.hub-mobile-menu { display: flex; flex: 0 0 auto; flex-direction: column; align-items: center; justify-content: center; }.hub-topbar { padding: 0 20px; }.hub-command-trigger { margin-right: auto; }.content { padding: 28px 22px calc(60px + env(safe-area-inset-bottom, 0px)); }
}
@media (max-width: 620px) {
	.hub-topbar { height: 62px; padding: 0 14px; gap: 10px; }.hub-command-trigger { width: 42px; height: 39px; padding: 9px 11px; }.hub-command-trigger span,.hub-command-trigger kbd { display: none; }.hub-topbar .hub-theme-small { width: 72px !important; }.hub-avatar { display: none; }.content { padding: 22px 14px 48px; }.hub-page-head { align-items: stretch; flex-direction: column; gap: 16px; }.hub-page-head .hub-btn { width: 100%; }.hub-panel__head,.hub-panel__body { padding: 17px; }.hub-command { padding-top: 8vh; }
}
@media (max-width: 820px) { .hub-auth-body #hub-container { padding: 0; }.hub-auth-shell { min-height: 100vh; grid-template-columns: 1fr; border: 0; border-radius: 0; }.hub-auth-brand { min-height: 310px; padding: 32px; }.hub-auth-brand h1 { font-size: clamp(36px, 10vw, 52px); }.hub-auth-brand ul { display: none; }.hub-auth-card { padding: 34px 32px 48px; }.hub-auth-card__top { margin-bottom: 42px; } }
@media (max-width: 420px) { .hub-auth-brand { min-height: 270px; padding: 26px 22px; }.hub-auth-card { padding: 29px 22px 42px; }.hub-auth-card__top img { width: 132px; }.hub-auth-card__top select { width: 78px; } }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; } }

/* 2026 control-plane refresh: clear, light-first, and readable at 100% zoom. */
body { font-size: 17px; line-height: 1.6; }
.hub-workspace { font-size: 16px; }
.hub-workspace small { font-size: 13px !important; line-height: 1.5; }
.hub-sidebar { border-right: 1px solid var(--hub-line); background: #fff; color: var(--hub-ink); box-shadow: 10px 0 36px rgba(33,30,62,.04); }
.hub-brand { color: var(--hub-ink) !important; }
.hub-brand-logo--dark { display: block !important; }
.hub-brand-logo--light { display: none !important; }
.hub-brand > small { color: var(--hub-muted); font-size: 12px; letter-spacing: .14em; }
.hub-sidebar__label { color: #777b8d; font-size: 12px; }
.hub-nav-link { min-height: 48px; color: #565a6c !important; font-size: 15px; font-weight: 700; }
.hub-nav-link:hover { background: #f1f6fa; color: var(--hub-navy) !important; }
.hub-nav-link.is-active { background: #eaf4f9; color: var(--hub-navy) !important; box-shadow: inset 4px 0 var(--hub-cyan); }
.hub-sidebar__foot { border-color: var(--hub-line); background: #f8fafb; }
.hub-sidebar__foot strong { color: var(--hub-ink); font-size: 14px; }
.hub-sidebar__foot small { color: var(--hub-muted); font-size: 12px; }
.hub-topbar { height: 78px; background: rgba(255,255,255,.94); }
.hub-command-trigger { min-height: 44px; font-size: 14px; }
.hub-topbar__actions { gap: 12px; }

.hub-theme-switcher { display: inline-flex; align-items: center; gap: 3px; padding: 4px; border: 1px solid var(--hub-line); border-radius: 14px; background: #fff; box-shadow: 0 5px 18px rgba(33,30,62,.06); }
.hub-theme-switcher button { display: inline-flex; align-items: center; justify-content: center; gap: 6px; min-width: 42px; min-height: 38px; padding: 7px 10px; border: 0; border-radius: 10px; background: transparent; color: var(--hub-muted); font-size: 13px; font-weight: 750; line-height: 1; cursor: pointer; }
.hub-theme-switcher button:hover { background: #eef4f7; color: var(--hub-ink); }
.hub-theme-switcher button[aria-pressed="true"] { background: var(--hub-navy); color: #fff; box-shadow: 0 4px 12px rgba(33,30,62,.2); }
.hub-theme-switcher svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.hub-theme-switcher--compact button { min-width: 36px; padding: 7px 9px; }
.hub-theme-switcher--compact button span { display: none; }
.hub-logout-btn { display: inline-flex; align-items: center; justify-content: center; gap: 7px; min-height: 46px; padding: 8px 13px; border: 1px solid var(--hub-line); border-radius: 12px; background: #fff; color: var(--hub-ink) !important; font-size: 14px; font-weight: 750; text-decoration: none; }
.hub-logout-btn:hover { border-color: rgba(197,68,85,.35); background: #fff2f4; color: #a83245 !important; }
.hub-logout-btn svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.9; stroke-linecap: round; stroke-linejoin: round; }

.content { padding-top: 42px; }
.hub-page-head { align-items: center; margin-bottom: 30px; }
.hub-page-head h1 { margin-top: 5px; font-size: clamp(32px, 3vw, 44px); }
.hub-page-head p { font-size: 16px; line-height: 1.65; }
.hub-eyebrow { font-size: 12px !important; }
.hub-panel__head { padding: 22px 24px; }
.hub-panel__head h2 { margin-top: 3px; font-size: 21px; }
.hub-count { display: inline-flex; align-items: center; min-height: 32px; padding: 5px 11px; border-radius: 999px; background: #eef4f7; color: var(--hub-accent-dark); font-size: 13px; font-weight: 750; }
.hub-box { border: 1px solid var(--hub-line) !important; border-radius: var(--hub-radius) !important; background: var(--hub-panel) !important; color: var(--hub-ink) !important; box-shadow: 0 8px 32px rgba(33,30,62,.05); }
.hub-btn { gap: 7px; min-height: 44px; padding: 10px 15px; border: 1px solid transparent; border-radius: 10px; font-size: 15px; line-height: 1.2; text-decoration: none; }
.hub-btn svg { width: 18px; height: 18px; flex: 0 0 auto; fill: none; stroke: currentColor; stroke-width: 1.9; stroke-linecap: round; stroke-linejoin: round; }
.hub-btn-primary { border-color: var(--hub-lime); background: var(--hub-lime); color: var(--hub-navy) !important; box-shadow: 0 7px 18px rgba(172,201,21,.22); }
.hub-btn-primary:hover { border-color: #9bb710; background: #9fbd12; color: var(--hub-navy) !important; }
.hub-btn-secondary { border-color: rgba(74,147,190,.35); background: #edf6fa; color: #245d7e !important; }
.hub-btn-secondary:hover { border-color: var(--hub-cyan); background: #e1f0f7; }
.hub-btn-ghost { border-color: var(--hub-line); background: transparent; color: var(--hub-ink) !important; }
.hub-btn-ghost:hover { border-color: #b7c0cb; background: #f4f6f8; }
.hub-btn-xs { min-height: 38px; padding: 8px 11px; border-radius: 9px; font-size: 14px; }

.hub-table-panel { overflow: hidden; }
.hub-table-scroll { width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; }
.hub-table { width: 100%; margin: 0; border: 0; border-collapse: collapse; border-radius: 0; background: var(--hub-panel); color: var(--hub-ink); table-layout: auto; }
.hub-table th { padding: 14px 18px; border: 0; border-bottom: 1px solid var(--hub-line); background: #f4f6f9; color: #65697a; font-size: 13px; font-weight: 800; letter-spacing: .055em; line-height: 1.3; text-align: left; text-transform: uppercase; vertical-align: middle; }
.hub-table td { padding: 18px; border: 0; border-bottom: 1px solid var(--hub-line); color: var(--hub-ink); font-size: 16px; line-height: 1.45; text-align: left; vertical-align: middle; }
.hub-table tbody tr:last-child td { border-bottom: 0; }
.hub-table tbody tr:hover td { background: #f9fbfc; }
.hub-domain-table th:nth-child(1),.hub-domain-table td:nth-child(1) { width: 40%; }
.hub-domain-table th:nth-child(2),.hub-domain-table td:nth-child(2) { width: 15%; }
.hub-domain-table th:nth-child(3),.hub-domain-table td:nth-child(3) { width: 25%; }
.hub-domain-table th:nth-child(4),.hub-domain-table td:nth-child(4) { width: 20%; text-align: right; }
.hub-domain-name { color: var(--hub-navy) !important; font-size: 16px; font-weight: 750; text-decoration: none; }
.hub-domain-name:hover { color: #245d7e !important; text-decoration: underline; text-underline-offset: 3px; }
.hub-row-actions { display: inline-flex; align-items: center; justify-content: flex-end; gap: 8px; white-space: nowrap; }
.domain-row { cursor: pointer; }
.hub-status { min-height: 28px; padding: 5px 10px; font-size: 12px; }
.hub-muted-text,.hub-table time { color: var(--hub-muted); font-size: 15px; white-space: nowrap; }
.hub-empty strong { display: block; margin-bottom: 5px; color: var(--hub-ink); font-size: 18px; }

/* Prevent page packs from shrinking operational data below a readable size. */
.command-hero p,.command-link small,.attention-list small,.activity-list small,.artifact-row small,.platform-list small,
.catalog-summary small,.catalog-card small,.catalog-drawer small,.target-row small,.deployment-panel small,.promotion-card small { font-size: 13px !important; line-height: 1.5 !important; }
.command-stats span,.command-stats small,.artifact-metrics span,.target-summary span,.deploy-eyebrow,.deploy-kicker { font-size: 12px !important; }
.command-link strong,.artifact-row strong,.platform-list strong,.catalog-card strong,.target-row strong { font-size: 15px !important; }
.catalog-filter,.catalog-action,.deploy-link,.hub-disclosure,.hub-help { font-size: 14px !important; }

.hub-theme-dark { --hub-ink:#f7f8fa; --hub-muted:#c3c6cf; --hub-line:rgba(183,186,190,.24); --hub-canvas:#252746; --hub-panel:#303257; --hub-brand:#acc915; --hub-brand-dark:#badb16; --hub-brand-soft:#393b61; }
.hub-theme-dark .hub-sidebar { border-color: var(--hub-line); background: var(--hub-navy); color: #fff; box-shadow: none; }
.hub-theme-dark .hub-brand-logo--dark { display: none !important; }
.hub-theme-dark .hub-brand-logo--light { display: block !important; }
.hub-theme-dark .hub-brand > small { color: #b7babe; }
.hub-theme-dark .hub-sidebar__label { color: #9599b5; }
.hub-theme-dark .hub-nav-link { color: #c5c8da !important; }
.hub-theme-dark .hub-nav-link:hover { background: rgba(255,255,255,.08); color: #fff !important; }
.hub-theme-dark .hub-nav-link.is-active { background: rgba(74,147,190,.23); color: #fff !important; }
.hub-theme-dark .hub-sidebar__foot { border-color: rgba(255,255,255,.12); background: rgba(255,255,255,.055); }
.hub-theme-dark .hub-sidebar__foot strong { color: #fff; }
.hub-theme-dark .hub-sidebar__foot small { color: #b7babe; }
.hub-theme-dark .hub-topbar { background: rgba(44,46,80,.95); }
.hub-theme-dark .hub-icon-button { border-color: var(--hub-line); background: #36385d; color: #f7f8fa; }
.hub-theme-dark .hub-icon-button:hover { border-color: rgba(139,197,229,.55); background: #41446b; color: #fff; }
.hub-theme-dark .hub-theme-switcher,.hub-theme-dark .hub-logout-btn { border-color: var(--hub-line); background: #36385d; color: var(--hub-ink) !important; }
.hub-theme-dark .hub-theme-switcher button { color: #c5c8d4; }
.hub-theme-dark .hub-theme-switcher button:hover { background: #41446b; color: #fff; }
.hub-theme-dark .hub-theme-switcher button[aria-pressed="true"] { background: var(--hub-lime); color: var(--hub-navy); }
.hub-theme-dark .hub-logout-btn:hover { border-color: rgba(255,150,166,.5); background: #49344f; color: #ffd9df !important; }
.hub-theme-dark .hub-panel,.hub-theme-dark .hub-box { background: var(--hub-panel) !important; }
.hub-theme-dark .hub-count { background: #3a3d64; color: #d7e8f2; }
.hub-theme-dark .hub-table { background: var(--hub-panel); }
.hub-theme-dark .hub-table th { background: #393b61; color: #d2d4dc; }
.hub-theme-dark .hub-table td { color: var(--hub-ink); }
.hub-theme-dark .hub-table tbody tr:hover td { background: #383a60; }
.hub-theme-dark .hub-domain-name { color: #8bc5e5 !important; }
.hub-theme-dark .hub-btn-secondary { border-color: rgba(139,197,229,.35); background: #35465f !important; color: #cfeafa !important; }
.hub-theme-dark .hub-btn-ghost { border-color: var(--hub-line); background: transparent; color: var(--hub-ink) !important; }
.hub-theme-dark .hub-btn-ghost:hover { background: #3b3d63; }
.hub-theme-dark .hub-muted-text,.hub-theme-dark .hub-table time { color: #c3c6cf; }

@media (max-width: 760px) {
	.hub-domain-table,.hub-domain-table tbody { display: block; }
	.hub-domain-table thead { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
	.hub-domain-table tbody { display: grid; gap: 12px; padding: 14px; background: var(--hub-canvas); }
	.hub-domain-table tbody tr { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 13px 18px; padding: 17px; border: 1px solid var(--hub-line); border-radius: 13px; background: var(--hub-panel); }
	.hub-domain-table td,.hub-domain-table td:nth-child(n) { display: grid; width: auto; padding: 0; border: 0; text-align: left; }
	.hub-domain-table td::before { margin-bottom: 3px; color: var(--hub-muted); content: attr(data-label); font-size: 11px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
	.hub-domain-table td:first-child,.hub-domain-table td:last-child { grid-column: 1 / -1; }
	.hub-domain-table .hub-row-actions { justify-content: flex-start; }
	.hub-domain-table tbody tr:hover td { background: transparent; }
}
@media (max-width: 620px) {
	.hub-topbar__actions { gap: 7px; }
	.hub-theme-switcher { padding: 3px; }
	.hub-theme-switcher button { min-width: 34px; min-height: 36px; padding: 7px 8px; }
	.hub-theme-switcher button span { display: none; }
	.hub-logout-btn { min-height: 42px; padding: 7px 10px; }
	.hub-panel__head { align-items: flex-start; padding: 18px; }
	.hub-panel__head h2 { font-size: 19px; }
}
@media (max-width: 420px) {
	.hub-topbar { padding-inline: 10px; }
	.hub-logout-btn { padding-inline: 9px; }
	.hub-domain-table tbody tr { grid-template-columns: 1fr; }
	.hub-domain-table td:first-child,.hub-domain-table td:last-child { grid-column: auto; }
	.hub-row-actions { width: 100%; }
	.hub-row-actions .hub-btn { flex: 1; }
}

/* Readability floor: operational labels must remain legible at 100% zoom.
   Page packs may arrange text differently, but none may shrink it into an
   8–11px dashboard label. Decorative dots and icons keep explicit geometry. */
.hub-brand > small,
.hub-sidebar__foot small,
.hub-sidebar__label,
.hub-command-trigger kbd,
.hub-eyebrow,
.hub-status { font-size: 13px !important; }

.command-page span:not(.artifact-activity-dot):not(.command-attention__icon),
.command-page small,
.command-page a:not(.hub-btn),
.command-page button,
.command-page label { font-size: 13px !important; }
.command-attention strong,
.command-activity strong,
.command-artifact strong,
.command-platforms strong { font-size: 14px !important; }
.command-attention__icon { font-size: 13px !important; }

.catalog-page span,
.catalog-page small,
.catalog-page button,
.catalog-page label,
.catalog-page code,
.catalog-page .hub-btn,
.catalog-page .artifact-card__add { font-size: 13px !important; }

.artifact-page span:not(.artifact-activity-dot),
.artifact-page small,
.artifact-page a,
.artifact-page button,
.artifact-page label,
.artifact-page th,
.artifact-page td,
.artifact-page code,
.artifact-page em { font-size: 13px !important; }
.artifact-target-row strong,
.artifact-release-list strong,
.artifact-activity-list strong,
.artifact-step strong,
.artifact-drawer strong { font-size: 14px !important; }

.deploy-page span:not(.deploy-safety-dot),
.deploy-page small,
.deploy-page a,
.deploy-page button,
.deploy-page label,
.deploy-page th,
.deploy-page td,
.deploy-page code,
.deploy-page summary,
.deploy-page .deploy-eyebrow,
.deploy-page .deploy-kicker,
.deploy-page .deploy-help,
.deploy-page .deploy-promotion header p { font-size: 13px !important; }

.hub-auth-eyebrow,
.hub-auth-card form label,
.hub-auth-foot,
.hub-auth-brand li { font-size: 13px !important; }
