/*
 * 万商引擎统一视觉层
 * 只统一颜色、间距、圆角、边框、状态与浮层；不改变已定稿业务结构和交互。
 */
:root {
  --ws-mint: #02f5c2;
  --ws-cyan: #09c3ff;
  --ws-blue: #0370ff;
  --ws-deep: #014fbc;
  --ws-ink: #231816;
  --ws-paper: #ffffff;
  --ws-canvas: #f6f9fc;
  --ws-soft: #f2f8ff;
  --ws-line: #e2eaf2;
  --ws-line-strong: #b8d9ff;
  --ws-muted: #718096;
  --ws-danger: #d84f57;
  --ws-warning: #b86f16;
  --ws-shadow: 0 16px 46px rgba(1, 79, 188, .07);
  --ink: var(--ws-ink);
  --paper: var(--ws-canvas);
  --white: var(--ws-paper);
  --muted: var(--ws-muted);
  --line: var(--ws-line);
  --acid: var(--ws-mint);
  --green: var(--ws-deep);
  --blue: var(--ws-blue);
  --product-surface: var(--ws-paper);
  --product-surface-soft: #f8fbfe;
  --product-line: var(--ws-line);
  --product-line-strong: var(--ws-line-strong);
  --product-text: var(--ws-ink);
  --product-muted: var(--ws-muted);
  --product-blue: var(--ws-blue);
  --product-blue-soft: #eef7ff;
  --product-green: #0aa982;
}

html,
body {
  color: var(--ws-ink);
  background: var(--ws-canvas);
  color-scheme: light;
}

button,
input,
textarea,
select {
  font-family: Manrope, "Noto Sans SC", sans-serif;
}

button,
a,
input,
textarea,
select {
  -webkit-tap-highlight-color: transparent;
}

button:focus-visible,
a:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible,
[tabindex]:focus-visible {
  outline: 3px solid rgba(3, 112, 255, .2) !important;
  outline-offset: 2px;
}

/* 用户端：保留主页球体与布局，仅统一顶部品牌信号。 */
.owner-app.intent-home .approved-home-presence i {
  background: var(--ws-cyan);
  box-shadow: 0 0 0 4px rgba(9, 195, 255, .1);
}

.owner-app.intent-home .approved-home-space,
.owner-app.intent-home .approved-command-shell {
  border-color: var(--ws-line);
}

.owner-app.intent-home .approved-command-shell:focus-within {
  border-color: var(--ws-blue);
  box-shadow: 0 0 0 4px rgba(3, 112, 255, .08), 0 18px 46px rgba(1, 79, 188, .08);
}

.owner-app.intent-home .approved-command-shell button[type="submit"] {
  background: var(--ws-blue);
  color: #fff;
}

/* 用户端正式页面骨架。 */
.owner-app:not(.intent-home) {
  color: var(--ws-ink);
  background: var(--ws-paper);
}

.owner-app:not(.intent-home) > .app-frame > .stage {
  background:
    radial-gradient(circle at 82% 0, rgba(9, 195, 255, .055), transparent 28%),
    linear-gradient(180deg, #fff 0, #fff 72%, #fbfdff 100%);
}

.owner-app:not(.intent-home) h1,
.owner-app:not(.intent-home) h2,
.owner-app:not(.intent-home) h3,
.owner-app:not(.intent-home) h4,
.owner-app:not(.intent-home) strong {
  color: var(--ws-ink);
}

.owner-app:not(.intent-home) p,
.owner-app:not(.intent-home) small,
.owner-app:not(.intent-home) em {
  color: var(--ws-muted);
}

.owner-app:not(.intent-home) .section-label,
.owner-app:not(.intent-home) .eyebrow,
.owner-app:not(.intent-home) .mini-label,
.owner-app:not(.intent-home) .kicker {
  color: var(--ws-deep);
  font-weight: 700;
  letter-spacing: .05em;
}

.approved-pagebar {
  min-height: 68px;
  border-color: var(--ws-line);
  background: rgba(255, 255, 255, .96);
  box-shadow: 0 1px 0 rgba(1, 79, 188, .025);
}

.approved-pagebar-home {
  color: var(--ws-ink);
}

.approved-pagebar-home > span {
  overflow: hidden;
  border-radius: 9px;
  background:
    radial-gradient(circle at 35% 31%, rgba(255, 255, 255, .9) 0 8%, transparent 9%),
    linear-gradient(145deg, var(--ws-cyan), var(--ws-blue) 62%, var(--ws-deep));
  box-shadow: 0 6px 17px rgba(3, 112, 255, .22);
}

.approved-pagebar-home > span::before,
.approved-pagebar-home > span::after {
  content: "";
  position: absolute;
  width: 10px;
  height: 16px;
  border: 1px solid rgba(255, 255, 255, .82);
  border-radius: 60% 40% 55% 45%;
  transform-origin: 50% 100%;
}

.approved-pagebar-home > span::before {
  left: 4px;
  bottom: 3px;
  transform: rotate(-31deg);
}

.approved-pagebar-home > span::after {
  inset: auto 4px 3px auto;
  transform: rotate(31deg);
}

.approved-pagebar-crumb strong {
  color: var(--ws-ink);
}

.approved-pagebar-crumb i {
  color: #c2ccd6;
}

.approved-pagebar-presence i {
  background: var(--ws-cyan);
  box-shadow: 0 0 0 4px rgba(9, 195, 255, .09);
}

.approved-pagebar-space {
  border-color: var(--ws-line);
  border-radius: 10px;
  color: #425064;
  background: #fff;
}

.approved-pagebar-space:hover,
.approved-pagebar-space[aria-expanded="true"] {
  border-color: var(--ws-line-strong);
  color: var(--ws-deep);
  background: var(--ws-soft);
}

.approved-page-space-panel {
  border: 1px solid var(--ws-line);
  border-radius: 14px;
  background: #fff;
  box-shadow: var(--ws-shadow);
}

.approved-page-space-panel button:hover,
.approved-page-space-panel button.active {
  color: var(--ws-deep);
  background: #edf7ff;
}

/* 通用承载面：少阴影、低灰底、细边。 */
.owner-app:not(.intent-home) .section-block,
.owner-app:not(.intent-home) .panel,
.owner-app:not(.intent-home) .product-delivery .delivery-topbar,
.owner-app:not(.intent-home) .product-delivery .delivery-hero,
.owner-app:not(.intent-home) .stage-workflow,
.owner-app:not(.intent-home) .delivery-result,
.owner-app:not(.intent-home) .delivery-control,
.owner-app:not(.intent-home) .delivery-result-shell,
.owner-app:not(.intent-home) .video-route-banner,
.owner-app:not(.intent-home) .dh-head,
.owner-app:not(.intent-home) .dh-step,
.owner-app:not(.intent-home) .dh-history,
.owner-app:not(.intent-home) .dh-loading,
.owner-app:not(.intent-home) .dh-gate,
.owner-app:not(.intent-home) .dh-authorization,
.owner-app:not(.intent-home) .product-library-shell,
.owner-app:not(.intent-home) .product-task-shell {
  border-color: var(--ws-line) !important;
  color: var(--ws-ink);
  background: var(--ws-paper) !important;
  box-shadow: 0 12px 34px rgba(1, 79, 188, .045);
}

.owner-app:not(.intent-home) .section-block {
  border-radius: 18px;
}

.owner-app:not(.intent-home) input,
.owner-app:not(.intent-home) textarea,
.owner-app:not(.intent-home) select {
  color: #263445 !important;
  -webkit-text-fill-color: #263445;
  border: 1px solid var(--ws-line) !important;
  border-radius: 12px;
  background: #fff !important;
}

.owner-app:not(.intent-home) input:hover,
.owner-app:not(.intent-home) textarea:hover,
.owner-app:not(.intent-home) select:hover {
  border-color: #c7d8e8 !important;
}

.owner-app:not(.intent-home) input:focus,
.owner-app:not(.intent-home) textarea:focus,
.owner-app:not(.intent-home) select:focus {
  border-color: var(--ws-blue) !important;
  box-shadow: 0 0 0 4px rgba(3, 112, 255, .08);
}

/* 所有主要动作统一为品牌亮蓝，去除旧黑色主按钮。 */
.owner-app:not(.intent-home) .delivery-primary,
.owner-app:not(.intent-home) .dh-submit button,
.owner-app:not(.intent-home) .comic-task form button,
.owner-app:not(.intent-home) .video-direct-start button,
.owner-app:not(.intent-home) .detail-edit,
.owner-app:not(.intent-home) .intake-edit-modal form > button,
.owner-app:not(.intent-home) .knowledge-assistant button,
.owner-app:not(.intent-home) .material-proposal-review footer button,
.owner-app:not(.intent-home) .action-button,
.owner-app:not(.intent-home) button[type="submit"]:not(.approved-pagebar-space):not(.modal-close) {
  border: 1px solid var(--ws-blue);
  border-radius: 10px;
  color: #fff;
  background: var(--ws-blue);
  box-shadow: 0 8px 20px rgba(3, 112, 255, .16);
}

.owner-app:not(.intent-home) .delivery-primary:hover,
.owner-app:not(.intent-home) .dh-submit button:hover,
.owner-app:not(.intent-home) .comic-task form button:hover,
.owner-app:not(.intent-home) .video-direct-start button:hover,
.owner-app:not(.intent-home) .detail-edit:hover,
.owner-app:not(.intent-home) .knowledge-assistant button:hover,
.owner-app:not(.intent-home) .material-proposal-review footer button:hover,
.owner-app:not(.intent-home) .action-button:hover,
.owner-app:not(.intent-home) button[type="submit"]:not(.approved-pagebar-space):not(.modal-close):hover {
  border-color: var(--ws-deep);
  background: var(--ws-deep);
  transform: translateY(-1px);
}

.owner-app:not(.intent-home) button:disabled {
  box-shadow: none !important;
  transform: none !important;
}

.owner-app:not(.intent-home) .outline-button,
.owner-app:not(.intent-home) .text-link,
.owner-app:not(.intent-home) .delivery-video-open,
.owner-app:not(.intent-home) .dh-task-actions button,
.owner-app:not(.intent-home) .dh-variant-form button {
  border-color: #d5e7f8;
  color: var(--ws-deep);
  background: #f5faff;
  box-shadow: none;
}

.owner-app:not(.intent-home) .outline-button:hover,
.owner-app:not(.intent-home) .text-link:hover,
.owner-app:not(.intent-home) .delivery-video-open:hover,
.owner-app:not(.intent-home) .dh-task-actions button:hover,
.owner-app:not(.intent-home) .dh-variant-form button:hover {
  border-color: var(--ws-line-strong);
  color: var(--ws-blue);
  background: #edf7ff;
}

.owner-app:not(.intent-home) button[data-action="new-client"],
.owner-app:not(.intent-home) button[data-action="edit-intake"] {
  border: 1px solid var(--ws-blue);
  border-radius: 10px;
  color: #fff;
  background: var(--ws-blue);
  box-shadow: 0 8px 20px rgba(3, 112, 255, .15);
}

.owner-app:not(.intent-home) button[data-action="new-client"]:hover,
.owner-app:not(.intent-home) button[data-action="edit-intake"]:hover {
  border-color: var(--ws-deep);
  background: var(--ws-deep);
}

.owner-app:not(.intent-home) .intake-v2-actions .intake-primary {
  color: #fff !important;
  border-color: var(--ws-blue) !important;
  background: var(--ws-blue) !important;
  box-shadow: 0 8px 20px rgba(3, 112, 255, .15) !important;
}

.owner-app:not(.intent-home) .intake-v2-actions .intake-primary:hover {
  border-color: var(--ws-deep) !important;
  background: var(--ws-deep) !important;
}

/* 选中态：浅蓝底 + 1px 亮蓝边 + 深蓝字，禁止整块高饱和蓝。 */
.owner-app:not(.intent-home) .delivery-tabs,
.owner-app:not(.intent-home) .video-mode-tabs,
.owner-app:not(.intent-home) .library-mode-tabs,
.owner-app:not(.intent-home) .video-category-tabs {
  gap: 6px;
  border-color: var(--ws-line);
  background: #f7f9fb;
}

.owner-app:not(.intent-home) .delivery-tabs button,
.owner-app:not(.intent-home) .video-mode-tabs button,
.owner-app:not(.intent-home) .library-mode-tabs button,
.owner-app:not(.intent-home) .video-category-tabs button {
  border: 1px solid transparent;
  color: #6f7b89;
  background: transparent;
  box-shadow: none;
}

.owner-app:not(.intent-home) .delivery-tabs button.active,
.owner-app:not(.intent-home) .delivery-tabs button[aria-selected="true"],
.owner-app:not(.intent-home) .video-mode-tabs button.active,
.owner-app:not(.intent-home) .video-mode-tabs button[aria-selected="true"],
.owner-app:not(.intent-home) .library-mode-tabs button.active,
.owner-app:not(.intent-home) .video-category-tabs button.active {
  border-color: var(--ws-blue);
  color: var(--ws-deep);
  background: #edf7ff;
  box-shadow: 0 5px 14px rgba(3, 112, 255, .08);
}

.owner-app:not(.intent-home) .delivery-tabs button.active small,
.owner-app:not(.intent-home) .delivery-tabs button[aria-selected="true"] small {
  color: #4384ca;
}

.owner-app:not(.intent-home) .approved-intake-journey span.active {
  border: 1px solid var(--ws-blue);
  color: var(--ws-deep);
  background: #edf7ff;
  box-shadow: 0 6px 16px rgba(3, 112, 255, .08);
}

.owner-app:not(.intent-home) .approved-intake-journey span.active b {
  color: var(--ws-blue);
}

.owner-app:not(.intent-home) .delivery-choice-panel {
  border-color: #d7e9fa;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 14px 36px rgba(1, 79, 188, .05);
}

.owner-app:not(.intent-home) .delivery-option,
.owner-app:not(.intent-home) .positioning-schemes article,
.owner-app:not(.intent-home) .content-type-grid article,
.owner-app:not(.intent-home) .script-production-grid article,
.owner-app:not(.intent-home) .audience-split article,
.owner-app:not(.intent-home) .dh-template,
.owner-app:not(.intent-home) .comic-style,
.owner-app:not(.intent-home) .dh-locked-script,
.owner-app:not(.intent-home) .dh-task,
.owner-app:not(.intent-home) .comic-task,
.owner-app:not(.intent-home) .asset-tile,
.owner-app:not(.intent-home) .knowledge-row,
.owner-app:not(.intent-home) .task-stream-row,
.owner-app:not(.intent-home) .task-summary .metric {
  border-color: var(--ws-line);
  color: var(--ws-ink);
  background: #fff;
  box-shadow: none;
}

.owner-app:not(.intent-home) .delivery-option.selected,
.owner-app:not(.intent-home) .positioning-schemes article.selected,
.owner-app:not(.intent-home) .dh-template:has(input:checked),
.owner-app:not(.intent-home) .comic-style:has(input:checked),
.owner-app:not(.intent-home) .dh-variant-template-grid label:has(input:checked) {
  border-color: var(--ws-blue);
  color: var(--ws-deep);
  background: #eef7ff;
  box-shadow: 0 0 0 3px rgba(3, 112, 255, .07);
}

.owner-app:not(.intent-home) input[type="checkbox"],
.owner-app:not(.intent-home) input[type="radio"] {
  accent-color: var(--ws-blue);
}

/* Workflow 与状态色。 */
.owner-app:not(.intent-home) .stage-workflow {
  background: linear-gradient(180deg, #fff, #fbfdff) !important;
}

.owner-app:not(.intent-home) .stage-workflow-line::before {
  background: linear-gradient(90deg, transparent, rgba(9, 195, 255, .72), transparent);
}

.owner-app:not(.intent-home) .stage-node i {
  border-color: #cbd7e2;
  color: #7b8a99;
  background: #fff;
}

.owner-app:not(.intent-home) .stage-node.done i {
  border-color: var(--ws-mint);
  color: #046b55;
  background: #e9fff9;
}

.owner-app:not(.intent-home) .stage-node.running i {
  border-color: var(--ws-blue);
  color: var(--ws-deep);
  background: #fff;
  box-shadow: 0 0 0 6px rgba(3, 112, 255, .08), 0 0 18px rgba(9, 195, 255, .2);
}

.owner-app:not(.intent-home) .delivery-status,
.owner-app:not(.intent-home) .knowledge-status {
  border-color: var(--ws-line);
  background: #f8fbfd;
}

.owner-app:not(.intent-home) .delivery-status.running {
  border-color: var(--ws-line-strong);
  background: #eef8ff;
}

.owner-app:not(.intent-home) .delivery-status.done i,
.owner-app:not(.intent-home) .dh-task.done .dh-task-main > i,
.owner-app:not(.intent-home) .comic-task.done > header > i {
  background: var(--ws-mint);
  box-shadow: 0 0 0 5px rgba(2, 245, 194, .1);
}

.owner-app:not(.intent-home) .delivery-status.running i,
.owner-app:not(.intent-home) .dh-task.running .dh-task-main > i,
.owner-app:not(.intent-home) .comic-task.running > header > i {
  background: var(--ws-cyan);
  box-shadow: 0 0 0 5px rgba(9, 195, 255, .1);
}

.owner-app:not(.intent-home) .delivery-status.blocked i,
.owner-app:not(.intent-home) .dh-task.blocked .dh-task-main > i,
.owner-app:not(.intent-home) .comic-task.blocked > header > i {
  background: var(--ws-danger);
}

.owner-app:not(.intent-home) .bar {
  background: #e8eef4;
}

.owner-app:not(.intent-home) .bar i {
  background: linear-gradient(90deg, var(--ws-cyan), var(--ws-blue));
}

/* 视频与资料页。 */
.owner-app:not(.intent-home) .video-route-banner {
  border-color: #dbeaf7 !important;
  background: #f6fbff !important;
}

.owner-app:not(.intent-home) .video-route-banner > i,
.owner-app:not(.intent-home) .dh-step-title > b {
  border-color: #b9ddff;
  color: var(--ws-deep);
  background: #ebf7ff;
}

.owner-app:not(.intent-home) .dh-template-cover,
.owner-app:not(.intent-home) .asset-preview.media-load-failed {
  color: var(--ws-deep);
  background:
    radial-gradient(circle at 50% 35%, rgba(9, 195, 255, .11), transparent 32%),
    #edf7ff;
}

.owner-app:not(.intent-home) .dh-auth-phrase {
  border-left-color: var(--ws-cyan);
  background: #f1faff;
}

.owner-app:not(.intent-home) .dh-auth-drop {
  border-color: #91c7ff;
  background: linear-gradient(145deg, #fff, #edf8ff);
}

.owner-app:not(.intent-home) .dh-auth-drop > i {
  color: var(--ws-blue);
}

.owner-app:not(.intent-home) .dh-blocker-list span {
  border-color: #f1d5ad;
  color: #91550f;
  background: #fff7ea;
}

.owner-app:not(.intent-home) .dh-variant-form {
  border-color: var(--ws-line);
  background: #f8fbfe;
}

.owner-app:not(.intent-home) .delivery-video-list,
.owner-app:not(.intent-home) .knowledge-list,
.owner-app:not(.intent-home) .task-stream {
  border-color: var(--ws-line);
  background: #fff;
}

.owner-app:not(.intent-home) .asset-category-strip span {
  border-color: var(--ws-line);
  color: #667587;
  background: #f7f9fb;
}

.owner-app:not(.intent-home) .asset-tile {
  border-radius: 14px;
}

.owner-app:not(.intent-home) .asset-tile button {
  border-color: #d2e7f8;
  color: var(--ws-deep);
  background: #f3faff;
}

/* 弹窗与旧动态注入组件全部回到浅色品牌层。 */
.owner-app .modal-backdrop,
.admin-app .modal-backdrop {
  background: rgba(20, 36, 52, .38);
  backdrop-filter: blur(4px);
}

.owner-app .modal,
.admin-app .modal,
.owner-app .intake-edit-modal section {
  border: 1px solid var(--ws-line) !important;
  border-radius: 18px;
  color: var(--ws-ink) !important;
  background: #fff !important;
  box-shadow: 0 28px 80px rgba(1, 45, 91, .16) !important;
}

.owner-app .modal-close,
.admin-app .modal-close {
  display: grid;
  width: 34px;
  height: 34px;
  place-items: center;
  border: 1px solid var(--ws-line);
  border-radius: 50%;
  color: #637184;
  background: #f4f7fa;
  font-size: 20px;
  line-height: 1;
}

.owner-app .modal-close:hover,
.admin-app .modal-close:hover {
  border-color: var(--ws-line-strong);
  color: var(--ws-deep);
  background: #edf7ff;
}

.owner-app .toast,
.admin-app .toast {
  border: 1px solid rgba(3, 112, 255, .18);
  color: #fff;
  background: var(--ws-deep);
  box-shadow: 0 14px 34px rgba(1, 79, 188, .2);
}

.owner-app:not(.intent-home) .account-profile-card,
.owner-app:not(.intent-home) .approval-gates,
.owner-app:not(.intent-home) .usage-row,
.owner-app:not(.intent-home) .resume-cover,
.owner-app:not(.intent-home) .resume-block,
.owner-app:not(.intent-home) .resume-upload,
.owner-app:not(.intent-home) .rag-search-panel {
  border-color: var(--ws-line) !important;
  color: var(--ws-ink) !important;
  background: #fff !important;
  box-shadow: none !important;
}

.owner-app:not(.intent-home) .account-profile-card strong,
.owner-app:not(.intent-home) .approval-gates strong,
.owner-app:not(.intent-home) .usage-row strong,
.owner-app:not(.intent-home) .intake-edit-modal strong {
  color: var(--ws-ink) !important;
}

.owner-app:not(.intent-home) .material-summary,
.owner-app:not(.intent-home) .approval-gates small,
.owner-app:not(.intent-home) .usage-row span,
.owner-app:not(.intent-home) .usage-row em {
  color: var(--ws-muted) !important;
}

.owner-app:not(.intent-home) .material-summary span {
  border-color: var(--ws-line);
  color: #5e6f82;
  background: #f6f9fc;
}

/* 管理后台：内部控制室同样使用万商引擎浅色体系，不再保留紫色/深色主题。 */
.admin-app {
  min-height: 100vh;
  color: var(--ws-ink);
  background: var(--ws-canvas);
}

.admin-app::before,
.admin-app::after {
  display: none !important;
}

.admin-app .app-frame {
  display: block;
  min-height: 100vh;
}

.admin-app .rail {
  position: sticky;
  z-index: 50;
  top: 0;
  left: auto;
  display: grid;
  width: 100%;
  height: 70px;
  grid-template-columns: 210px minmax(0, 1fr) 170px;
  align-items: center;
  padding: 0 28px;
  border-bottom: 1px solid var(--ws-line);
  color: var(--ws-ink);
  background: rgba(255, 255, 255, .97);
  box-shadow: 0 1px 0 rgba(1, 79, 188, .025);
  backdrop-filter: blur(16px);
}

.admin-app .wordmark {
  gap: 10px;
  padding: 0;
  border: 0;
}

.admin-app .wordmark > span {
  width: 34px;
  height: 34px;
  border: 1px solid rgba(3, 112, 255, .18);
  border-radius: 10px;
  color: #fff;
  background: linear-gradient(145deg, var(--ws-cyan), var(--ws-blue) 62%, var(--ws-deep));
  box-shadow: 0 7px 18px rgba(3, 112, 255, .18);
}

.admin-app .wordmark strong {
  color: #233347;
}

.admin-app .rail-nav {
  position: static;
  display: flex;
  justify-self: center;
  gap: 5px;
  margin: 0;
  padding: 4px;
  border: 1px solid var(--ws-line);
  border-radius: 14px;
  background: #f6f9fc;
  transform: none;
}

.admin-app .rail-link {
  min-height: 36px;
  padding: 0 13px;
  border: 1px solid transparent;
  border-radius: 10px;
  color: #697789;
  background: transparent;
}

.admin-app .rail-link b {
  display: none;
}

.admin-app .rail-link:hover {
  color: var(--ws-deep);
  background: #edf7ff;
}

.admin-app .rail-link.active {
  border-color: var(--ws-blue);
  color: var(--ws-deep);
  background: #eaf6ff;
  box-shadow: 0 5px 14px rgba(3, 112, 255, .08);
}

.admin-app .rail-bottom {
  position: static;
  inset: auto;
  justify-self: end;
  margin: 0;
  padding: 8px 10px;
  border: 1px solid var(--ws-line);
  border-radius: 10px;
  color: #435368;
  background: #fff;
}

.admin-app .rail-bottom i {
  background: var(--ws-mint);
  box-shadow: 0 0 0 4px rgba(2, 245, 194, .1);
}

.admin-app .rail-bottom small {
  color: var(--ws-muted);
}

.admin-app .stage {
  min-height: calc(100vh - 70px);
  margin: 0;
  padding: 0;
  background:
    radial-gradient(circle at 86% 0, rgba(9, 195, 255, .055), transparent 28%),
    var(--ws-canvas);
}

.admin-app .masthead {
  align-items: center;
  padding: 34px max(40px, calc((100vw - 1180px) / 2)) 28px;
  border-color: var(--ws-line);
  background: rgba(255, 255, 255, .74);
}

.admin-app .masthead h1 {
  color: var(--ws-ink);
  font-size: 36px;
}

.admin-app .masthead p,
.admin-app .today {
  color: var(--ws-muted);
}

.admin-app .kicker,
.admin-app .section-label {
  color: var(--ws-deep);
}

.admin-app .page-canvas {
  width: min(1180px, calc(100% - 48px));
  max-width: none;
  margin: 0 auto;
  padding: 30px 0 70px;
}

.admin-app .outline-button {
  border-color: var(--ws-line);
  color: #425166;
  background: #fff;
}

.admin-app .outline-button:hover {
  border-color: var(--ws-line-strong);
  color: var(--ws-deep);
  background: #eef8ff;
}

.admin-app .metric,
.admin-app .panel,
.admin-app .auth-card,
.admin-app .production-authorization-card {
  border: 1px solid var(--ws-line);
  color: var(--ws-ink);
  background: #fff;
  box-shadow: 0 12px 34px rgba(1, 79, 188, .04);
}

.admin-app .metric {
  border-radius: 14px;
}

.admin-app .metric strong {
  color: var(--ws-deep);
}

.admin-app .metric em,
.admin-app .text-link {
  color: var(--ws-blue);
}

.admin-app .panel {
  border-radius: 16px;
}

.admin-app .panel-head,
.admin-app .list-row {
  border-color: var(--ws-line);
}

.admin-app .panel-head h3,
.admin-app .list-row strong,
.admin-app .auth-card h4,
.admin-app .section-head h2 {
  color: var(--ws-ink);
}

.admin-app .panel-head p,
.admin-app .list-row small,
.admin-app .list-row em,
.admin-app .auth-card dt,
.admin-app .section-head p {
  color: var(--ws-muted);
}

.admin-app .list-row i {
  background: var(--ws-cyan);
}

.admin-app .list-row.warn i {
  background: #e59a38;
}

.admin-app .auth-card {
  border-radius: 13px;
}

.admin-app .auth-card dd,
.admin-app .lock-facts dd,
.admin-app .authorization-facts,
.admin-app .production-authorization-card details,
.admin-app .production-authorization-card pre {
  color: #34465a !important;
}

.admin-app .pill {
  color: #667485;
  background: #f0f4f7;
}

.admin-app .pill.green {
  color: #087a60;
  background: #e8fff8;
}

.admin-app .admin-form input,
.admin-app .admin-form textarea,
.admin-app .admin-form select {
  border: 1px solid var(--ws-line);
  border-radius: 12px;
  color: #263445;
  background: #fff;
}

.admin-app .admin-form input:focus,
.admin-app .admin-form textarea:focus,
.admin-app .admin-form select:focus {
  border-color: var(--ws-blue);
  box-shadow: 0 0 0 4px rgba(3, 112, 255, .08);
}

.admin-app .action-button {
  border: 1px solid var(--ws-blue);
  border-radius: 10px;
  color: #fff;
  background: var(--ws-blue);
  box-shadow: 0 8px 20px rgba(3, 112, 255, .15);
}

.admin-app .action-button:hover {
  border-color: var(--ws-deep);
  background: var(--ws-deep);
}

.admin-app .auth-guide {
  border-color: var(--ws-line);
  color: var(--ws-ink);
  background: #fff;
}

.admin-app .auth-guide-command {
  border-color: #d7e8f7;
  color: #29435d;
  background: #f3f9ff;
}

.admin-app .empty {
  border-color: #d7e5f1;
  color: var(--ws-muted);
  background: #f8fbfd;
}

/* 登录页与身份切换页也使用同一品牌体系，避免进入系统前仍出现黑色旧主题。 */
.auth-shell {
  color: var(--ws-ink);
  background:
    radial-gradient(circle at 76% 18%, rgba(9, 195, 255, .09), transparent 28%),
    var(--ws-canvas);
}

.auth-shell .auth-card {
  border: 1px solid var(--ws-line);
  border-radius: 18px;
  color: var(--ws-ink);
  background: #fff;
  box-shadow: 0 24px 70px rgba(1, 79, 188, .11);
}

.auth-shell .auth-brand {
  color: var(--ws-deep);
}

.auth-shell .auth-brand span,
.auth-shell .auth-card p,
.auth-shell .auth-card label {
  color: var(--ws-muted);
}

.auth-shell .auth-card input {
  border: 1px solid var(--ws-line);
  border-radius: 12px;
  color: #263445;
  background: #fff;
}

.auth-shell .auth-card input:focus {
  border-color: var(--ws-blue);
  box-shadow: 0 0 0 4px rgba(3, 112, 255, .08);
}

.auth-shell .auth-card form button {
  border: 1px solid var(--ws-blue);
  border-radius: 10px;
  color: #fff;
  background: var(--ws-blue);
  box-shadow: 0 8px 20px rgba(3, 112, 255, .15);
}

.auth-shell .auth-switch {
  color: var(--ws-deep);
}

@media (max-width: 980px) {
  .admin-app .rail {
    height: auto;
    grid-template-columns: 1fr auto;
    gap: 12px;
    padding: 13px 18px;
  }

  .admin-app .rail-nav {
    grid-column: 1 / -1;
    width: 100%;
    justify-content: flex-start;
    overflow-x: auto;
  }

  .admin-app .rail-bottom {
    grid-column: 2;
    grid-row: 1;
  }

  .admin-app .masthead {
    padding: 28px 24px 24px;
  }
}

@media (max-width: 700px) {
  .approved-pagebar {
    grid-template-columns: 1fr auto;
    padding: 0 14px;
  }

  .approved-pagebar-crumb {
    display: none;
  }

  .owner-app:not(.intent-home) .page-canvas {
    width: min(100% - 24px, 1240px);
  }

  .admin-app .rail-bottom {
    display: none;
  }

  .admin-app .rail {
    grid-template-columns: 1fr;
  }

  .admin-app .masthead {
    display: grid;
    gap: 18px;
  }

  .admin-app .masthead h1 {
    font-size: 30px;
  }

  .admin-app .page-canvas {
    width: min(100% - 28px, 1180px);
  }
}

@media (prefers-reduced-motion: reduce) {
  .owner-app:not(.intent-home) button,
  .admin-app button {
    transition: none !important;
    transform: none !important;
  }
}
.view-digital-employees .stage{padding-bottom:0}.view-digital-employees .page-canvas{max-width:none}.view-digital-employees .approved-formal-page{max-width:none;padding:0}.digital-employee-host{height:calc(100vh - 188px);min-height:680px;margin:0 -34px -40px;overflow:hidden;border-top:1px solid #e5edf3;background:#f7fafc}.digital-employee-host iframe{display:block;width:100%;height:100%;border:0;background:#f7fafc}.digital-employee-gate{display:grid;place-items:center;align-content:center;gap:10px;min-height:620px;border:1px solid #e4ecf2;border-radius:22px;background:linear-gradient(145deg,#fbfdff,#f4f9fc);text-align:center}.digital-employee-gate>i{width:34px;height:34px;border:2px solid #dbeaf5;border-top-color:#58a9e4;border-radius:50%;animation:digital-employee-spin .85s linear infinite}.digital-employee-gate h2{margin:5px 0 0;color:#142533}.digital-employee-gate p{max-width:620px;margin:0 0 8px;color:#788897;font-size:12px;line-height:1.75}@keyframes digital-employee-spin{to{transform:rotate(360deg)}}@media(max-width:760px){.digital-employee-host{height:calc(100vh - 160px);min-height:620px;margin:0 -16px -28px}.digital-employee-gate{min-height:540px;border-radius:16px}}
.view-digital-employees{overflow-x:hidden}.view-digital-employees .digital-employee-host{margin-left:0!important;margin-right:0!important}

/* 平台总后台：独立 OSS 授权。保持信息密度低，只突出空间、授权和安全门禁。 */
.admin-app .oss-admin-panel {
  overflow: hidden;
  background:
    radial-gradient(circle at 92% 5%, rgba(9, 195, 255, .09), transparent 28%),
    #fff;
}

.admin-app .developer-panel {
  overflow: hidden;
}

.admin-app .developer-switch {
  display: grid;
  grid-template-columns: 18px minmax(0, 1fr);
  align-items: start;
  gap: 10px;
  padding: 13px 14px;
  border: 1px solid rgba(116, 153, 213, 0.2);
  border-radius: 14px;
  background: linear-gradient(145deg, rgba(245, 250, 255, 0.95), rgba(255, 255, 255, 0.98));
}

.admin-app .developer-switch input {
  width: 16px;
  height: 16px;
  margin-top: 2px;
  accent-color: #2f8df7;
}

.admin-app .developer-switch span,
.admin-app .developer-switch small {
  display: block;
}

.admin-app .developer-switch strong {
  color: var(--ink);
  font-size: 12px;
}

.admin-app .developer-switch small {
  margin-top: 4px;
  color: var(--muted);
  line-height: 1.5;
}

.admin-app .worker-config-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.admin-app .panel-head-actions {
  display: flex;
  align-items: center;
  gap: 10px;
}

.admin-app .outline-button.compact {
  min-height: 32px;
  padding: 0 13px;
  font-size: 11px;
}

.admin-app .readiness-verification {
  margin-bottom: 14px;
  padding: 0 18px 14px;
  border-bottom: 1px solid var(--ws-line);
}

.admin-app .verification-time {
  display: block;
  padding-top: 10px;
  color: var(--ws-muted);
  font-size: 10px;
  text-align: right;
}

.admin-app .developer-summary {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  padding: 18px;
  color: var(--muted);
  font-size: 11px;
}

.admin-app .developer-summary strong {
  color: var(--ink);
}

@media (max-width: 700px) {
  .admin-app .worker-config-grid,
  .admin-app .developer-summary {
    grid-template-columns: 1fr;
  }
}

.admin-app .oss-status-strip {
  display: grid;
  grid-template-columns: 1.5fr .8fr .9fr 1fr;
  gap: 1px;
  margin: 0 18px;
  overflow: hidden;
  border: 1px solid var(--ws-line);
  border-radius: 14px;
  background: var(--ws-line);
}

.admin-app .oss-status-strip > div {
  min-width: 0;
  padding: 15px 16px;
  background: rgba(247, 251, 254, .96);
}

.admin-app .oss-status-strip span,
.admin-app .oss-status-strip strong {
  display: block;
}

.admin-app .oss-status-strip span {
  margin-bottom: 6px;
  color: var(--ws-muted);
  font-size: 11px;
}

.admin-app .oss-status-strip strong {
  overflow: hidden;
  color: var(--ws-ink);
  font-size: 13px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.admin-app .oss-security-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 10px;
  margin-top: 15px;
}

.admin-app .oss-security-check {
  grid-template-columns: 20px 1fr;
  align-items: start;
  gap: 9px;
  min-height: 68px;
  padding: 12px;
  border: 1px solid var(--ws-line);
  border-radius: 12px;
  background: #f8fbfe;
  cursor: pointer;
}

.admin-app .oss-security-check input {
  width: 17px;
  height: 17px;
  margin: 1px 0 0;
  accent-color: var(--ws-blue);
}

.admin-app .oss-security-check span,
.admin-app .oss-security-check strong,
.admin-app .oss-security-check small {
  display: block;
}

.admin-app .oss-security-check strong {
  margin-bottom: 4px;
  color: var(--ws-ink);
  font-size: 12px;
}

.admin-app .oss-security-check small {
  color: var(--ws-muted);
  font-size: 10px;
  line-height: 1.5;
}

.admin-app .oss-actions {
  flex-wrap: wrap;
}

.admin-app .oss-actions small {
  flex: 1 1 320px;
}

.admin-app .oss-static-credentials[hidden] {
  display: none !important;
}

.admin-app .full-span {
  grid-column: 1 / -1;
}

@media (max-width: 900px) {
  .admin-app .oss-status-strip,
  .admin-app .oss-security-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 560px) {
  .admin-app .oss-status-strip,
  .admin-app .oss-security-grid {
    grid-template-columns: 1fr;
  }
}
