/* 入口与控制中心共用一套深色材质；最后加载以覆盖历史业务页的浅色样式。 */
@font-face { font-family: "Outfit"; src: url("/assets/fonts/outfit-latin-variable.woff2") format("woff2"); font-style: normal; font-weight: 100 900; font-display: swap; }
@font-face { font-family: "Noto Sans SC"; src: url("/assets/fonts/noto-sans-sc-ui.woff2") format("woff2"); font-style: normal; font-weight: 100 900; font-display: swap; }
:root {
  color-scheme: dark;
  --ink: #f5f8ff;
  --muted: #98a3b8;
  --line: #ffffff14;
  --soft: #ffffff04;
  --nav: #080c16;
  --blue: #6f8cff;
  --blue-dark: #b0c2ff;
  --blue-soft: #6f8cff18;
  --accent: #6f8cff;
  --green: #8fddc2;
  --green-soft: #55c49b14;
  --amber: #e5c78c;
  --amber-soft: #e1b76a14;
  --red: #ffadb8;
  --red-soft: #f4788a12;
}
html { min-height: 100%; background: #05070d; }
body { margin: 0; background: #05070d; color: var(--ink); font-family: "Outfit", "Noto Sans SC", "Microsoft YaHei UI", sans-serif; }
*, *::before, *::after { box-sizing: border-box; }
[hidden] { display: none !important; }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
button:disabled { cursor: wait; opacity: .55; }
button:focus-visible, a:focus-visible, summary:focus-visible { outline: 2px solid #a8bdff; outline-offset: 5px; }
::selection { color: #fff; background: #6f8cff70; }
::-webkit-scrollbar { width: 6px; height: 6px; }
::-webkit-scrollbar-thumb { background: #98a3b838; border-radius: 10px; }
::-webkit-scrollbar-track { background: transparent; }

.ambient-scene { position: fixed; inset: 0; overflow: hidden; pointer-events: none; background: #05070d; animation: scene-arrive 1.8s ease-out both; transition: opacity 1.2s ease; }
.fluid-scene { width: 100%; height: 100%; transform: translate3d(var(--scene-x, 0px), var(--scene-y, 0px), 0) scale(1.035); transition: transform 1.8s ease-out; }
.fluid-canvas { position: absolute; inset: 0; width: 100%; height: 100%; transform: translate3d(var(--scene-x, 0px), var(--scene-y, 0px), 0) scale(1.035); transition: transform 1.8s ease-out; }
.has-volume .fluid-scene { visibility: hidden; }
.fluid-arch { transform-origin: 60% 20%; animation: arch-breathe 24s ease-in-out infinite alternate; }
.fluid-fold { transform-origin: 0% 90%; animation: fold-breathe 21s ease-in-out infinite alternate; }
.fluid-orbit { transform-origin: 90% 90%; animation: orbit-breathe 28s ease-in-out infinite alternate; }
.scene-shade { position: absolute; inset: 0; background: radial-gradient(ellipse 36% 51% at 50% 47%, #05070d7a, #05070d00 100%), linear-gradient(0deg, #05070d88, transparent 32%, transparent 78%, #05070d24); }
.gateway { position: relative; isolation: isolate; display: grid; place-items: center; min-height: 100vh; min-height: 100svh; padding: 100px 24px; overflow: hidden; transition: opacity .65s ease, filter .65s ease; }
.gateway-corner { position: absolute; top: 32px; left: 40px; right: 40px; display: flex; justify-content: space-between; align-items: center; color: #ccd4e2; font-size: 13px; animation: corner-arrive 1.2s .3s both; }
.gateway-corner > span { font-weight: 600; letter-spacing: -.3px; }
.gateway-corner small { color: #7a849a; font-size: 11px; letter-spacing: 2px; }
.gateway-center { position: relative; display: flex; flex-direction: column; align-items: center; width: 100%; margin-top: -20px; }
.gateway-brand { text-align: center; animation: brand-arrive 1.5s .2s both; transition: opacity .65s, transform .65s; }
.gateway-logo { display: block; width: 66px; height: 66px; margin: 0 auto 24px; color: #f5f8ff; filter: drop-shadow(0 0 20px #a3b7ff35); }
.gateway-brand h1 { margin: 0; font-family: "Outfit", sans-serif; font-size: clamp(42px, 4.8vw, 72px); font-weight: 450; line-height: 1.15; letter-spacing: -2px; color: #f5f8ff; }
.gateway-brand p { margin: 19px 0 0; padding-left: 7px; color: #a8b2c8; font-size: 13px; font-weight: 300; letter-spacing: 7px; line-height: 1.7; }
.gateway-surface { position: relative; width: 216px; height: 52px; margin-top: 40px; overflow: hidden; border: 1px solid #c9d9ff40; border-radius: 28px; background: linear-gradient(135deg, #d4e0ff0d, #5d77b006); box-shadow: inset 0 1px 0 #ffffff09, 0 8px 40px #0000001a; backdrop-filter: blur(24px); transition: width .75s cubic-bezier(.22, 1, .36, 1), height .75s cubic-bezier(.22, 1, .36, 1), border-radius .75s, border-color .5s, background .5s, box-shadow .5s; animation: surface-arrive 1.3s .55s both; }
.gateway-enter { position: absolute; inset: 0; display: flex; gap: 22px; align-items: center; justify-content: center; width: 100%; height: 52px; padding: 0 24px; border: 0; background: transparent; color: #f5f8ff; font-size: 13px; letter-spacing: 1px; transition: opacity .2s, transform .4s; }
.gateway-enter svg, .gateway-submit svg, .gateway-form-head svg, .gateway-password svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; flex-shrink: 0; }
.gateway-surface:has(.gateway-enter:hover) { border-color: #b6c9ff85; background: #7d98f51a; box-shadow: 0 0 35px #6f8cff12; }
.gateway-enter:hover svg { transform: translateX(3px); transition: transform .25s; }
.gateway-surface:has(.gateway-enter:focus-visible) { outline: 2px solid #a8bdff; outline-offset: 5px; }
.gateway[data-stage="form"] .gateway-surface, .gateway[data-stage="success"] .gateway-surface { width: min(384px, calc(100vw - 40px)); height: var(--form-height, 382px); border-radius: 22px; border-color: #b4c8ff2b; background: #080e1e70; box-shadow: inset 0 1px 0 #ffffff06, 0 25px 100px #00000029; }
.gateway[data-stage="form"] .gateway-surface:has(.form-error:not([hidden])) { height: auto; }
.gateway[data-stage="form"] .gateway-enter, .gateway[data-stage="success"] .gateway-enter { opacity: 0; transform: translateY(-10px); pointer-events: none; }
.gateway-form { width: min(382px, calc(100vw - 42px)); padding: 26px 28px 22px; text-align: left; opacity: 0; transform: translateY(12px); transition: opacity .4s .18s, transform .6s .16s; }
.gateway[data-stage="form"] .gateway-form { opacity: 1; transform: translateY(0); }
.gateway-form-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 25px; }
.gateway-form h2 { margin: 0; font-size: 16px; line-height: 1.5; font-weight: 500; letter-spacing: .5px; }
.gateway-form-head button { display: grid; place-items: center; width: 30px; height: 30px; border: 1px solid #ffffff10; border-radius: 50%; background: transparent; color: #98a3b8; }
.gateway-form-head button:hover { color: #fff; background: #ffffff08; }
.gateway-form > label { display: block; margin: 0 0 9px; color: #aeb9cd; font-size: 12px; }
.gateway-form input { width: 100%; height: 46px; margin: 0 0 20px; padding: 0 13px; outline: none; border: 1px solid #ffffff16; border-radius: 9px; background: #050a1566; color: #f5f8ff; font-size: 14px; transition: border-color .2s, box-shadow .2s; }
.gateway-form input::placeholder { color: #69768f; font-size: 12px; }
.gateway-form input:focus { border-color: #91a8ff90; box-shadow: 0 0 0 3px #6f8cff10; }
.gateway-form input:-webkit-autofill { -webkit-text-fill-color: #f5f8ff; box-shadow: 0 0 0 100px #10182b inset; caret-color: #f5f8ff; }
.gateway-password { position: relative; }
.gateway-password input { padding-right: 48px; }
.gateway-password button { position: absolute; right: 5px; top: 5px; display: grid; place-items: center; width: 36px; height: 36px; border: 0; background: transparent; color: #8390a9; }
.gateway-password button:hover, .gateway-password button[aria-pressed="true"] { color: #c7d5ff; }
.gateway-submit { display: flex; width: 100%; height: 46px; align-items: center; justify-content: center; gap: 12px; padding: 0 16px; border: 1px solid #b3c5ff4d; border-radius: 9px; background: linear-gradient(120deg, #6f8cff35, #8c7cff24); color: #ecf2ff; font-size: 13px; letter-spacing: 2px; transition: background .2s, border-color .2s; }
.gateway-submit:hover { border-color: #b3c5ff90; background: #6f8cff40; }
.gateway-submit:disabled { opacity: .75; }
.gateway-security { display: block; margin-top: 17px; color: #79869e; font-size: 10px; text-align: center; letter-spacing: 1px; }
.gateway-form .form-error { margin: -4px 0 16px; padding: 10px 12px; color: #ffb4c0; border: 1px solid #ff9cac20; border-radius: 8px; background: #a82c4512; font-size: 12px; line-height: 1.6; overflow-wrap: anywhere; }
.submit-spinner { display: none; width: 14px; height: 14px; border: 1.5px solid #ffffff30; border-top-color: #d8e4ff; border-radius: 50%; animation: submit-spin .8s linear infinite; }
.gateway-form[aria-busy="true"] .submit-spinner { display: inline-block; }
.gateway-form[aria-busy="true"] .gateway-submit svg { display: none; }
.gateway-status { position: absolute; top: calc(100% + 18px); margin: 0; color: #c2d1f2; font-size: 12px; letter-spacing: 1px; }
.gateway-footer { position: absolute; bottom: 28px; left: 40px; right: 40px; display: flex; justify-content: space-between; color: #64718a; font-size: 10px; letter-spacing: 1.5px; animation: corner-arrive 1.5s .6s both; }
.gateway-noscript { color: #c4cee1; font-size: 13px; }
.gateway[data-stage="success"] .gateway-form { opacity: 0; transform: translateY(-8px); transition-delay: 0s; }
.gateway[data-stage="success"] .gateway-surface { height: 4px !important; width: 64px; border-color: #91b8ff; background: #91b8ff; box-shadow: 0 0 30px #6f8cff80; }
.gateway.is-leaving { opacity: 0; filter: blur(8px); pointer-events: none; }

/* 控制中心：曲面只保留环境光，信息层使用稳定的深色表面。 */
body.is-workspace .ambient-scene { animation: none; opacity: .16; }
body.is-workspace .fluid-scene * { animation-play-state: paused; }
body.is-workspace .fluid-canvas { animation-play-state: paused; }
.app { position: relative; z-index: 1; grid-template-columns: 248px minmax(0, 1fr); background: transparent; }
.app.workspace-arrive { animation: workspace-arrive .7s ease-out both; }
.sidebar { width: 248px; padding: 28px 16px 20px; background: #080c16e8; border-right: 1px solid #ffffff0b; box-shadow: none; backdrop-filter: blur(28px); }
.sidebar .brand { gap: 12px; }
.sidebar .brand > span { width: 36px; height: 36px; background: #6f8cff10; color: #cfdaff; border: 1px solid #8fa8ff30; border-radius: 11px; font-size: 19px; box-shadow: none; }
.brand strong { color: #e7edfc; font-size: 17px; font-weight: 500; }
.brand small { color: #76849d; font-size: 10px; }
.sidebar nav { gap: 4px; margin-top: 30px; padding-right: 3px; }
.sidebar nav > span { margin: 20px 12px 8px; color: #697791; font-size: 10px; font-weight: 400; letter-spacing: 1px; }
.sidebar nav button { position: relative; height: 40px; padding: 0 13px; border-radius: 8px; color: #98a5bc; font-size: 13px; }
.sidebar nav button i { color: #72819d; }
.sidebar nav button:hover { color: #e7eeff; background: #8aabff0a; }
.sidebar nav button.active { background: linear-gradient(100deg, #6f8cff22, #6f8cff08); color: #dce5ff; box-shadow: inset 0 0 0 1px #7e9dff12; }
.sidebar nav button.active::before { content: ""; position: absolute; left: 0; top: 12px; bottom: 12px; width: 2px; border-radius: 3px; background: #9aaeff; }
.sidebar nav button.active i { color: #aabaff; }
.side-foot { margin: 18px 12px 0; padding-top: 17px; border-top: 1px solid #ffffff0a; color: #61718d; font-size: 10px; }
.topbar { gap: 20px; min-height: 94px; padding: 20px 38px; background: #080d18a8; border-color: #ffffff0a; backdrop-filter: blur(26px); }
.topbar strong { font-size: 23px; font-weight: 450; letter-spacing: -.5px; }
#page-title:focus { outline: none; }
.topbar span { color: #7f8da7; font-size: 11px; }
.topbar button, .secondary-button { height: 36px; padding: 0 13px; color: #b2bfd8; background: #ffffff04; border: 1px solid #ffffff16; border-radius: 7px; font-size: 12px; }
.topbar button:hover, .secondary-button:hover { color: #e5edff; border-color: #8ca9ff55; background: #6f8cff0a; }
.font-size-control { background: #050a1570; border-color: #ffffff10; padding: 3px; }
.font-size-control button { color: #8795af !important; }
.font-size-control button:hover, .font-size-control button.active { color: #c4d3ff !important; background: #6f8cff20 !important; box-shadow: none; }
html[data-font-size] { zoom: 1; }
html[data-font-size="small"] #app { zoom: .92; }
html[data-font-size="large"] #app { zoom: 1.12; }
.content { width: min(100%, 1680px); padding: 34px 38px; }
.metrics { gap: 18px; margin-bottom: 28px; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.metric { min-height: 142px; gap: 20px; padding: 24px; background: linear-gradient(135deg, #151f3399, #0b112080); border: 1px solid #9cb5ff18; border-radius: 12px; box-shadow: inset 0 1px 0 #ffffff03; }
.metric small { color: #8f9db7; font-size: 12px; }
.metric strong { align-self: end; color: #e8eeff; font-family: "Outfit", sans-serif; font-size: 38px; font-weight: 350; letter-spacing: -1.5px; }
.section, .updates-panel, .plugins-panel { margin-bottom: 24px; padding: 26px; border: 1px solid #9cb5ff16; border-radius: 12px; background: #0b1220c7; box-shadow: inset 0 1px 0 #ffffff03; }
.section h2, .updates-panel h2, .plugins-panel h2 { color: #e0e8fa; font-size: 18px; font-weight: 500; }
.section-head { margin-bottom: 20px; }
.section-head p, .commerce p, .plugins-help { color: #8e9bb4; font-size: 12px; }
.health-row { min-height: 64px; border-color: #ffffff09; font-size: 13px; }
.health-row strong { color: #bfcae0; font-weight: 450; }
.health-row b { font-size: 11px; font-weight: 450; }
.table { min-width: 800px; font-size: 12px; }
.table th { padding-inline: 15px; height: 44px; color: #8a9ab7; background: #ffffff03; border-color: #ffffff0c; font-size: 11px; font-weight: 450; white-space: nowrap; }
.table td { padding: 17px 15px; color: #a3b1ca; border-color: #ffffff09; }
.table td strong { color: #d7e1f8; font-size: 12px; font-weight: 500; }
.table tbody tr:hover { background: #8aa5ff04; }
.table button { color: #c3d0eb; background: #ffffff05; border-color: #ffffff16; font-size: 11px; }
.table button:hover { background: #6f8cff16; border-color: #8fa7ff50; }
.status { color: #a4b4ce; background: #94a8d010; font-size: 11px; font-weight: 400; }
.status.approved, .status.active, .status.completed, .status.printing { color: var(--green); background: var(--green-soft); }
.status.pending, .status.queued, .status.uploading, .status.leased, .status.submitted { color: var(--amber); background: var(--amber-soft); }
.status.revoked, .status.failed, .status.cancelled, .status.expired { color: var(--red); background: var(--red-soft); }
.muted, .table details, .table summary, .timeline time, .updates-table small, .plugins-table small { color: #7d8daa; font-size: 11px; }
.timeline { border-color: #6f8cff30; }.timeline span { color: #a2b2cf; }
.empty, .loading { min-height: 200px; color: #91a1bf; background: #0b1220a0; border: 1px dashed #8daaff25; border-radius: 12px; font-size: 13px; }
.notice { color: #aec4ec; background: #6f8cff09; border-color: #8daaff29; font-size: 13px; }.notice strong { color: #d6e3ff; }
.commerce label, .commerce legend, .plugins-panel label, .updates-panel label { color: #becbe2; font-size: 13px; font-weight: 450; }
.commerce fieldset, .credit-admin-grid fieldset { border-color: #9cb5ff20; border-radius: 10px; }
.commerce input, .commerce select, .commerce textarea, .plugins-panel input[data-search], .plugins-panel select, .updates-panel input, .updates-panel select, .updates-panel textarea { color: #dce6fa; border: 1px solid #9cb5ff28; border-radius: 7px; background: #070d18; padding: 10px 12px; }
.commerce input:focus, .commerce select:focus, .commerce textarea:focus, .plugins-panel input:focus-visible, .plugins-panel select:focus-visible, .updates-panel input:focus-visible, .updates-panel select:focus-visible, .updates-panel textarea:focus-visible { outline: 2px solid #6f8cff90; outline-offset: 1px; }
input[type="checkbox"] { accent-color: #849dff; }
.commerce .primary-submit, .plugins-panel form > button { color: #e8efff; border: 1px solid #9db4ff40; background: #6f8cff26; font-weight: 450; }
.plan-tile { color: #b9c9e4; border-color: #9cb5ff20; background: #10192b; border-radius: 10px; }
.plan-tile:hover { border-color: #9cb5ff60; background: #18233b; }.plan-tile small { color: #879bbd; }
.member-chip { color: #d3c5ec; border-color: #b9a0e63d; background: #8c7cff14; }
.commerce #user-editor, .commerce #plan-editor { border-color: #ffffff12; }
.form-result { color: #d9c08e !important; }
.plugins-panel button { color: #b8c7e2; background: #ffffff05; border-color: #9cb5ff30; }
.plugins-panel button:hover { border-color: #9cb5ff70; }
.plugins-panel .plugins-actions [data-action="publish"], .plugins-panel .plugins-tabs .active { color: #b3cbff; background: #6f8cff15; border-color: #9dbaff40; }
.plugins-panel .plugins-actions [data-action="recycle"], .danger-button { color: var(--red); background: var(--red-soft); border-color: #f4788a30; }
.plugins-panel input[type="file"] { color: #a9bada; border-color: #9cb5ff35; background: #070d18; }
.plugins-panel input::file-selector-button, .updates-panel input::file-selector-button { color: #c9d7f3; border: 1px solid #9cb5ff30; background: #172139; border-radius: 6px; padding: 7px 10px; }
.plugins-table pre, .plugins-badge { color: #a8badc; background: #8ca9ff0a; }
.plugins-native { color: var(--amber); }.plugins-warning, .updates-warning, .commerce [role="alert"] { color: var(--red); }
dialog, .plugins-history { color: #d9e3f7; background: #0e1728; border-color: #9cb5ff30; border-radius: 14px; box-shadow: 0 30px 120px #0008; }
dialog::backdrop, .plugins-history::backdrop { background: #02050dbb; backdrop-filter: blur(8px); }
dialog p { color: #94a7c5; font-size: 13px; }dialog button { color: #c4d3ee; background: #172139; border-color: #9cb5ff30; }dialog .secondary { color: #b7c7e5; background: #ffffff05; }dialog .danger { color: #ffb9c4; background: #a5314a30; border-color: #f4788a40; }
.plugins-history article { border-color: #ffffff10; }.plugins-history small, .plugins-history code { color: #93a6c6; }

/* 浅色仅在控制台生效；登录场景维持独立的深色材质。 */
#console-theme-toggle { display: inline-flex; align-items: center; justify-content: center; gap: 7px; }
#console-theme-toggle svg { width: 15px; height: 15px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
#console-theme-toggle span { color: inherit; font-size: inherit; }
html[data-console-theme="light"] .theme-sun, html[data-console-theme="dark"] .theme-moon { display: none; }
.topbar-actions { flex-wrap: wrap; }
html[data-console-theme="light"] body.is-workspace {
  color-scheme: light;
  --ink: #1c2942;
  --muted: #56657d;
  --line: #dce4f0;
  --soft: #f3f6fc;
  --nav: #ffffff;
  --blue: #425dcc;
  --blue-dark: #3049ad;
  --blue-soft: #eaf0ff;
  --accent: #4964d9;
  --green: #16704f;
  --green-soft: #e8f5ee;
  --amber: #855b0b;
  --amber-soft: #fff4d9;
  --red: #b3334e;
  --red-soft: #fff0f3;
  color: var(--ink);
  background: #f3f6fc;
}
html[data-console-theme="light"] body.is-workspace .ambient-scene { opacity: 0; }
html[data-console-theme="light"] .app { color: var(--ink); background: radial-gradient(ellipse at 90% 0%, #e8edff70, transparent 45%), #f3f6fc; }
html[data-console-theme="light"] .sidebar { background: #ffffffeb; border-color: var(--line); }
html[data-console-theme="light"] .sidebar .brand > span { color: #3d55bf; background: #edf1ff; border-color: #d9e1ff; }
html[data-console-theme="light"] .brand strong { color: #253654; }
html[data-console-theme="light"] .brand small,
html[data-console-theme="light"] .side-foot,
html[data-console-theme="light"] .sidebar nav > span { color: #5f6d83; }
html[data-console-theme="light"] .side-foot { border-color: var(--line); }
html[data-console-theme="light"] .sidebar nav button { color: #4d5e78; font-size: 14px; }
html[data-console-theme="light"] .sidebar nav button i { color: #5d6e8b; }
html[data-console-theme="light"] .sidebar nav button:hover { color: #253c83; background: #f1f4fc; }
html[data-console-theme="light"] .sidebar nav button.active { color: #334bb0; background: linear-gradient(100deg, #e9efff, #f2f5ff); box-shadow: inset 0 0 0 1px #dce4fb; }
html[data-console-theme="light"] .sidebar nav button.active::before { background: #526bd3; }
html[data-console-theme="light"] .sidebar nav button.active i { color: #3c54bc; }
html[data-console-theme="light"] .topbar { background: #ffffffde; border-color: var(--line); }
html[data-console-theme="light"] .topbar strong { color: #1c2942; font-weight: 500; }
html[data-console-theme="light"] .topbar span { color: #56657d; }
html[data-console-theme="light"] .topbar button,
html[data-console-theme="light"] .secondary-button,
html[data-console-theme="light"] .table button,
html[data-console-theme="light"] .plugins-panel button { color: #3e5072; background: #fff; border-color: #c9d4e6; }
html[data-console-theme="light"] .topbar button:hover,
html[data-console-theme="light"] .secondary-button:hover,
html[data-console-theme="light"] .table button:hover,
html[data-console-theme="light"] .plugins-panel button:hover { color: #3049ad; background: #eef3ff; border-color: #93a7dc; }
html[data-console-theme="light"] .font-size-control { background: #edf1f8; border-color: #dce4f0; }
html[data-console-theme="light"] .font-size-control button { color: #56657d !important; }
html[data-console-theme="light"] .font-size-control button:hover,
html[data-console-theme="light"] .font-size-control button.active { color: #3049ad !important; background: #fff !important; box-shadow: 0 1px 4px #273c6410; }
html[data-console-theme="light"] .metric { color: #1c2942; background: linear-gradient(135deg, #fff, #f9fbff); border-color: #dce4f0; box-shadow: 0 4px 20px #203a6804; }
html[data-console-theme="light"] .metric small { color: #56657d; font-size: 13px; }
html[data-console-theme="light"] .metric strong { color: #253b70; font-weight: 450; }
html[data-console-theme="light"] .section,
html[data-console-theme="light"] .updates-panel,
html[data-console-theme="light"] .plugins-panel { background: #fff; border-color: #dce4f0; box-shadow: 0 4px 24px #203a6804; }
html[data-console-theme="light"] .section h2,
html[data-console-theme="light"] .updates-panel h2,
html[data-console-theme="light"] .plugins-panel h2 { color: #253654; }
html[data-console-theme="light"] .section-head p,
html[data-console-theme="light"] .commerce p,
html[data-console-theme="light"] .plugins-help { color: #56657d; font-size: 13px; }
html[data-console-theme="light"] .health-row { border-color: #e7edf5; }
html[data-console-theme="light"] .health-row strong { color: #3c4e6b; font-weight: 500; }
html[data-console-theme="light"] .table { font-size: 13px; }
html[data-console-theme="light"] .table th { color: #56657d; background: #f4f7fc; border-color: #e1e8f2; font-size: 12px; font-weight: 500; }
html[data-console-theme="light"] .table td { color: #475872; border-color: #e7edf5; }
html[data-console-theme="light"] .table td strong { color: #253654; font-size: 13px; }
html[data-console-theme="light"] .table tbody tr:hover { background: #f8faff; }
html[data-console-theme="light"] .status { color: #4d5e78; background: #eef2f8; }
html[data-console-theme="light"] .status:is(.approved,.active,.completed,.printing) { color: var(--green); background: var(--green-soft); }
html[data-console-theme="light"] .status:is(.pending,.queued,.uploading,.leased,.submitted) { color: var(--amber); background: var(--amber-soft); }
html[data-console-theme="light"] .status:is(.revoked,.failed,.cancelled,.expired) { color: var(--red); background: var(--red-soft); }
html[data-console-theme="light"] .muted,
html[data-console-theme="light"] .table details,
html[data-console-theme="light"] .table summary,
html[data-console-theme="light"] .timeline time,
html[data-console-theme="light"] .updates-table small,
html[data-console-theme="light"] .plugins-table small { color: #5d6c83; font-size: 12px; }
html[data-console-theme="light"] .timeline { border-color: #c8d4ee; }
html[data-console-theme="light"] .timeline span { color: #475872; }
html[data-console-theme="light"] .empty,
html[data-console-theme="light"] .loading { color: #56657d; background: #fff; border-color: #c8d4e7; }
html[data-console-theme="light"] .notice { color: #3d5688; background: #eff4ff; border-color: #cfdbf5; }
html[data-console-theme="light"] .notice strong { color: #304983; }
html[data-console-theme="light"] .commerce label,
html[data-console-theme="light"] .commerce legend,
html[data-console-theme="light"] .plugins-panel label,
html[data-console-theme="light"] .updates-panel label { color: #3c4e6b; }
html[data-console-theme="light"] .commerce fieldset,
html[data-console-theme="light"] .credit-admin-grid fieldset,
html[data-console-theme="light"] .commerce #user-editor,
html[data-console-theme="light"] .commerce #plan-editor { border-color: #dce4f0; }
html[data-console-theme="light"] .commerce :is(input,select,textarea),
html[data-console-theme="light"] .plugins-panel :is(input[data-search],select,input[type=file]),
html[data-console-theme="light"] .updates-panel :is(input,select,textarea) { color: #253654; border-color: #8291aa; background: #fff; }
html[data-console-theme="light"] #app :is(input,textarea)::placeholder { color: #61718a; opacity: 1; }
html[data-console-theme="light"] #app :is(input,select,textarea):focus,
html[data-console-theme="light"] #app :is(button,a,summary):focus-visible { outline: 2px solid #4964d9; outline-offset: 3px; }
html[data-console-theme="light"] #app input[type=checkbox] { accent-color: #4964d9; }
html[data-console-theme="light"] .commerce .primary-submit,
html[data-console-theme="light"] .plugins-panel form > button { color: #fff; background: #4964d9; border-color: #4964d9; }
html[data-console-theme="light"] .commerce .primary-submit:hover,
html[data-console-theme="light"] .plugins-panel form > button:hover { color: #fff; background: #3d56c2; }
html[data-console-theme="light"] .plan-tile { color: #3c4e6b; background: #f8faff; border-color: #d9e2f3; }
html[data-console-theme="light"] .plan-tile:hover { background: #f0f4ff; border-color: #9cafe3; }
html[data-console-theme="light"] .plan-tile small { color: #56657d; }
html[data-console-theme="light"] .member-chip { color: #61469b; background: #f2edfb; border-color: #ded1f4; }
html[data-console-theme="light"] .form-result { color: #855b0b !important; }
html[data-console-theme="light"] .plugins-panel .plugins-actions [data-action=publish],
html[data-console-theme="light"] .plugins-panel .plugins-tabs .active { color: #3049ad; background: #edf2ff; border-color: #b8c8f1; }
html[data-console-theme="light"] .plugins-panel .plugins-actions [data-action=recycle],
html[data-console-theme="light"] .danger-button { color: var(--red); background: var(--red-soft); border-color: #efc9d2; }
html[data-console-theme="light"] .plugins-panel input::file-selector-button,
html[data-console-theme="light"] .updates-panel input::file-selector-button { color: #3e5072; background: #f1f5fd; border-color: #c9d4e6; }
html[data-console-theme="light"] .plugins-table pre,
html[data-console-theme="light"] .plugins-badge { color: #475872; background: #f2f5fa; }
html[data-console-theme="light"] :is(dialog,.plugins-history) { color: #253654; background: #fff; border-color: #dce4f0; box-shadow: 0 24px 100px #243b642e; color-scheme: light; }
html[data-console-theme="light"] :is(dialog,.plugins-history)::backdrop { background: #24334b66; backdrop-filter: blur(6px); }
html[data-console-theme="light"] dialog p,
html[data-console-theme="light"] .plugins-history small,
html[data-console-theme="light"] .plugins-history code { color: #56657d; }
html[data-console-theme="light"] dialog button,
html[data-console-theme="light"] dialog .secondary { color: #3e5072; background: #fff; border-color: #c9d4e6; }
html[data-console-theme="light"] dialog .danger { color: #b3334e; background: #fff0f3; border-color: #efc9d2; }
html[data-console-theme="light"] .plugins-history article { border-color: #e1e8f2; }

@keyframes scene-arrive { from { opacity: 0; transform: scale(1.03); } to { opacity: 1; transform: scale(1); } }
@keyframes brand-arrive { from { opacity: 0; transform: translateY(14px); filter: blur(8px); } to { opacity: 1; transform: translateY(0); filter: blur(0); } }
@keyframes surface-arrive { from { opacity: 0; translate: 0 8px; } to { opacity: 1; translate: 0 0; } }
@keyframes corner-arrive { from { opacity: 0; } to { opacity: 1; } }
@keyframes arch-breathe { to { transform: translate(8px, 11px) rotate(.7deg); } }
@keyframes fold-breathe { to { transform: translate(-9px, 7px) rotate(-.6deg); } }
@keyframes orbit-breathe { to { transform: translate(6px, -8px) scale(1.015); } }
@keyframes submit-spin { to { transform: rotate(360deg); } }
@keyframes workspace-arrive { from { opacity: 0; transform: translateY(7px); } to { opacity: 1; transform: translateY(0); } }
@media (max-width: 1100px) {
  .app { grid-template-columns: 210px minmax(0, 1fr); }.sidebar { width: 210px; }.content { padding: 24px; }.topbar { padding-inline: 24px; }.metrics { gap: 12px; }.metric { padding: 18px; }
}
@media (max-width: 800px) {
  .app { display: block; }.sidebar { position: relative; width: 100%; height: auto; padding: 18px 20px 10px; border-right: 0; border-bottom: 1px solid #ffffff0b; }.sidebar .brand { display: flex; padding: 0; }.sidebar .brand div { font-size: inherit; }.sidebar nav { display: flex; gap: 6px; margin-top: 18px; overflow-x: auto; padding-bottom: 6px; }.sidebar nav > span { display: none; }.sidebar nav button, .sidebar nav button.active, .sidebar nav button:not(.active) { flex: 0 0 auto; justify-content: flex-start; width: auto; height: 38px; font-size: 12px; }.sidebar nav button i { width: 16px; font-size: 14px; }.side-foot { display: none; }.topbar { min-height: 86px; position: relative; }.topbar strong { font-size: 21px; }.metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }.metric { min-height: 120px; }.credit-admin-grid { grid-template-columns: 1fr; }.credit-admin-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 480px) {
  .gateway { padding: 88px 20px; }.gateway-corner { top: 24px; left: 24px; right: 24px; }.gateway-corner small { font-size: 10px; letter-spacing: 1px; }.gateway-footer { bottom: 23px; left: 24px; right: 24px; font-size: 9px; }.gateway-footer span:last-child { display: none; }.gateway-center { margin-top: -15px; }.gateway-logo { width: 54px; height: 54px; margin-bottom: 20px; }.gateway-brand h1 { font-size: 40px; letter-spacing: -1.8px; }.gateway-brand p { margin-top: 16px; font-size: 11px; letter-spacing: 2px; }.gateway-surface { margin-top: 32px; }.gateway-form { padding: 24px; }.gateway-form-head { margin-bottom: 21px; }.fluid-scene { width: 170%; max-width: none; margin-left: -35%; }.scene-shade { background: radial-gradient(ellipse at center, #05070d50, #05070d05); }.topbar { flex-wrap: wrap; gap: 14px; padding: 22px 20px; }.topbar > div:first-child span { display: block !important; }.topbar-actions { justify-content: space-between; width: 100%; }.content { padding: 20px 16px; }.section, .updates-panel, .plugins-panel { padding: 20px 16px; }.metric { padding: 17px; }.metric strong { font-size: 32px; }.health-row { gap: 10px; }.form-grid { grid-template-columns: 1fr; }.section-head { flex-wrap: wrap; }.credit-admin-grid { grid-template-columns: 1fr; }
}
@media (max-height: 740px) {
  .gateway { padding-top: 76px; padding-bottom: 70px; }.gateway-logo { width: 44px; height: 44px; margin-bottom: 14px; }.gateway-brand h1 { font-size: 40px; }.gateway-brand p { margin-top: 12px; }.gateway-surface { margin-top: 24px; }.gateway-center { margin-top: 0; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }.fluid-scene, .fluid-canvas { transform: none; }.submit-spinner { border-color: #c6d4ff; border-style: dotted; }
}
