/* Authoritative shared components. Legacy CSS is isolated in eo-legacy. */
html, body { background: var(--page-bg); color: var(--text-primary); }
body { font-family: var(--font-ui); font-size: var(--type-body); line-height: 1.6; font-variant-numeric: tabular-nums; }
button, input, select, textarea { font-family: inherit; }
h1, h2, h3, h4 { font-weight: var(--weight-strong); text-wrap: balance; }
p { text-wrap: pretty; }
/* One quiet focus treatment; text fields never acquire a second rectangular frame. */
:is(button,a,input,textarea,select):focus { outline: none; }
:is(button,a,select):focus-visible { outline: 1px solid var(--focus-ring); outline-offset: 2px; }
:is(input,textarea):focus-visible { outline: none; }
::selection { color: var(--text-primary); background: var(--accent-soft); }

/* One typography ladder, regardless of module or theme. */
:is(.panel, .modal, .login-card, .password-change-panel) h1,
.topbar .topbar-title-line h1 { font-size: var(--type-title); line-height: 1.35; letter-spacing: -.5px; }
:is(.panel, .modal, .backend-workspace) h2,
.panel-heading h2 { font-size: var(--type-section); line-height: 1.5; letter-spacing: 0; }
:is(.panel, .modal) h3 { font-size: var(--type-reading); line-height: 1.5; }
:is(.panel-subtitle, .chart-summary, .form-hint, .topbar-context, .topbar-greeting-line, .activity-strip, .empty-state, .chart-empty) {
  font-size: var(--type-label); color: var(--text-secondary); line-height: 1.65;
}
:is(.eyebrow, .aurora-kpi small, .aurora-kpi-label, .top-user-copy small, .brand span) {
  font-size: var(--type-caption); color: var(--text-secondary); font-weight: var(--weight-medium);
}
.eyebrow { letter-spacing: .1em; }
.panel small, .modal small { font-size: var(--type-caption); line-height: 1.6; }
.panel label > span, .modal label > span { font-size: var(--type-label); }
.aurora-kpi strong { color: var(--text-primary); font-size: 32px; font-weight: var(--weight-strong); line-height: 1.2; letter-spacing: -.8px; }
:is(.panel, .modal) :is(th, td) { font-size: var(--type-label); line-height: 1.6; }

/* Surfaces use boundaries and spacing; shadows are reserved for overlays. */
:is(.panel, .aurora-kpi, .brand-asset-album, .brand-asset-card, .brand-asset-card-shell,
  .knowledge-source-card, .knowledge-gap-card, .knowledge-candidate-card, .acceptance-item,
  .image-chat-panel, .image-start-panel, .image-start-card, .image-project-card,
  .backend-workspace, .board-library-intro, .board-knowledge-dashboard) {
  color: var(--text-primary); background: var(--surface-1); border: 1px solid var(--border-subtle);
  border-radius: var(--radius-panel); box-shadow: var(--shadow-card); backdrop-filter: none;
}
.panel { padding: var(--panel-padding); }
:is(.panel, .aurora-kpi, .brand-asset-album, .brand-asset-card):hover { box-shadow: var(--shadow-card); }
:is(.modal, .login-card, .password-change-panel, .account-popover, .image-settings-panel, .image-prompt-dock) {
  color: var(--text-primary); background: var(--surface-raised); border: 1px solid var(--border-subtle);
  border-radius: var(--radius-dialog); box-shadow: var(--shadow-raised); backdrop-filter: none;
}
:is(.login-screen, .password-change-screen) { background: var(--page-bg); }
.login-screen.login-open, body.guest-mode.login-open .login-screen { background: color-mix(in srgb, var(--page-bg) 85%, transparent); }
body.guest-mode.login-open .login-card { border-radius: var(--radius-dialog); box-shadow: var(--shadow-raised); }
:is(.modal, .calendar-editor)::backdrop { background: #10162566; backdrop-filter: blur(4px); }
:is(.knowledge-ops-hero, .aurora-command, .board-library-intro) { background: var(--surface-1); color: var(--text-primary); }
:is(.knowledge-ops-hero, .aurora-command) .panel-subtitle { color: var(--text-secondary); }
:is(.panel-heading, .brand-assets-heading) { margin-bottom: 20px; gap: 16px; }

/* Primary, secondary, quiet and destructive are the only action treatments. */
:is(.primary-button, .text-button, .icon-button, .image-toolbar-button, .compact-button,
  .guest-login-button, .guest-theme-button, .guest-language-button, .guest-workbench-button,
  .north-asia-nav) {
  min-height: var(--control-height); border-radius: var(--radius-control); font-size: var(--type-label);
  font-weight: var(--weight-medium); letter-spacing: 0; box-shadow: none;
  transition: background-color var(--motion-fast), border-color var(--motion-fast), color var(--motion-fast);
}
:is(.primary-button, .guest-auth-cluster .guest-login-button, .guest-workbench-button) {
  color: var(--on-accent); background: var(--accent-blue); border: 1px solid var(--accent-blue); box-shadow: none;
}
:is(.primary-button, .guest-auth-cluster .guest-login-button, .guest-workbench-button):hover {
  color: var(--on-accent); background: var(--accent-hover); border-color: var(--accent-hover); transform: none; box-shadow: none; filter: none;
}
:is(.text-button, .icon-button, .image-toolbar-button, .guest-theme-button, .north-asia-nav) {
  background: var(--surface-1); border: 1px solid var(--border-subtle); color: var(--text-secondary);
}
:is(.text-button, .icon-button, .image-toolbar-button, .guest-theme-button, .north-asia-nav):hover {
  color: var(--text-primary); border-color: var(--border-strong); background: var(--surface-hover); transform: none; box-shadow: none;
}
:is(.icon-button, .guest-theme-button) { width: var(--control-height); height: var(--control-height); padding: 0; }
button:disabled { cursor: not-allowed; opacity: .5; box-shadow: none; }
:is(.danger, .destructive, .form-error, .user-form-status.is-error) { color: var(--status-danger); }
.primary-button.destructive { color: var(--surface-1); background: var(--status-danger); border-color: var(--status-danger); }
.primary-button.destructive:hover { background: var(--status-danger); filter: brightness(.95); }
:is(input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="file"]):not([type="hidden"]), select, textarea) {
  border-color: var(--border-subtle); border-radius: var(--radius-control);
  background-color: var(--surface-1); color: var(--text-primary); font-size: var(--type-body);
  box-shadow: none; line-height: 1.5;
}
:is(input, select) { accent-color: var(--accent-blue); }
:is(input, textarea)::placeholder { color: var(--text-muted); }
:is(input, select, textarea):focus { border-color: var(--border-strong); }
.login-form input { min-height: 44px; }
:is(.pill, .tag, .badge) { border-radius: 6px; font-size: var(--type-caption); font-weight: var(--weight-medium); }

/* Lucide outline icons: no rotation, glow or unrelated per-card colors. */
.lucide { stroke-width: 1.75; filter: none; }
:is(.nav-icon, .aurora-kpi-icon) { color: var(--accent-blue); background: var(--accent-soft); border: 0; border-radius: var(--radius-control); box-shadow: none; transform: none; }
:is(.nav-icon, .aurora-kpi-icon) svg { width: 20px; height: 20px; transform: none; filter: none; }
:is(.primary-button, .text-button, .icon-button, .image-toolbar-button, .guest-quick-prompts) .lucide { width: 18px; height: 18px; flex-shrink: 0; }
:is(.aurora-kpi, .nav-item, .topbar, .panel)::before,
:is(.aurora-kpi, .topbar)::after { background: none; box-shadow: none; }

/* Workspace rhythm. Let content scroll instead of shrinking into one screen. */
.sidebar { background: var(--sidebar-bg); border-right: 1px solid var(--border-subtle); box-shadow: none; }
.sidebar .brand { margin-bottom: 28px; }
.nav-list { gap: 6px; }
.nav-item { min-height: 44px; border: 1px solid transparent; border-radius: var(--radius-control); background: transparent; color: var(--text-secondary); font-size: var(--type-body); font-weight: var(--weight-medium); box-shadow: none; }
.nav-item .nav-icon { background: transparent; color: inherit; }
.nav-item:hover { background: var(--surface-hover); color: var(--text-primary); transform: none; }
.nav-item.active { color: var(--accent-blue); background: var(--accent-soft); border-color: transparent; box-shadow: none; }
.nav-item.active::before { display: none; }
.topbar { min-height: 88px; background: var(--topbar-bg); border-bottom: 1px solid var(--border-subtle); box-shadow: none; backdrop-filter: none; }
.topbar-greeting-mark { background: var(--accent-blue); box-shadow: none; }
.brand-mark { filter: none; }
.assistant-launcher { width: 48px; height: 48px; border: 1px solid var(--accent-blue); border-radius: var(--radius-dialog); color: var(--on-accent); background: var(--accent-blue); box-shadow: var(--shadow-raised); }
.assistant-launcher:hover { transform: none; background: var(--accent-hover); box-shadow: var(--shadow-raised); }
.assistant-launcher::before, .assistant-launcher-orbit, .assistant-launcher-badge { display: none; }
.assistant-launcher > svg { width: 24px; height: 24px; }
.global-search { background: var(--surface-2); border: 1px solid var(--border-subtle); border-radius: var(--radius-control); }
.global-search input { background: transparent; }
.top-user-badge { background: transparent; border-color: var(--border-subtle); border-radius: var(--radius-control); box-shadow: none; }
:is(.top-user-avatar, .account-popover-avatar) { background: var(--accent-soft); color: var(--accent-blue); border-radius: var(--radius-control); box-shadow: none; }
.aurora-kpi { min-height: 120px; padding: 20px; }
.aurora-kpi-icon { top: 18px; right: 18px; width: 36px; height: 36px; }
.aurora-kpi-icon::before, .aurora-kpi-icon::after { display: none; }
.aurora-kpi-grid { gap: 16px; }
:is(.aurora-dashboard-grid, .dashboard-bottom, .library-command-grid, .knowledge-ops-layout, .generator-layout) { gap: var(--section-gap); }
.chart-canvas { min-height: 240px; }
.chart-summary { margin-top: 12px; }
.health-grid article { background: var(--surface-2); border: 0; border-radius: var(--radius-control); }
:is(.health-grid article span, .health-grid article strong) { font-size: var(--type-label); }
.quick-grid button, .todo-item { background: var(--surface-2); border-color: var(--border-subtle); border-radius: var(--radius-control); box-shadow: none; font-size: var(--type-label); }
:is(.filter-button, .backend-tab, .image-category, .brand-asset-category) { font-size: var(--type-label); border-radius: var(--radius-control); box-shadow: none; }
:is(.filter-button, .backend-tab).active { background: var(--accent-soft); color: var(--accent-blue); border-color: var(--border-subtle); }
.upload-zone { background: var(--surface-2); border-color: var(--border-strong); border-radius: var(--radius-panel); }
.image-chat-composer { background: var(--surface-1); border-color: var(--border-subtle); box-shadow: none; border-radius: var(--radius-panel); }
.image-studio-toolbar { background: var(--surface-1); border-color: var(--border-subtle); }
.image-artboard-area { background-color: var(--page-bg); }
.image-toolbar-button > .lucide, .image-chat-attach > .lucide,
[data-close-dialog] > .lucide, [data-close-account-dialog] > .lucide,
#imageReferenceRemoveBtn > .lucide { width: 18px; height: 18px; vertical-align: middle; }
.template-card, .generation-visual-prompt, .backend-tabs, .brand-asset-filters, .brand-asset-toolbar { background: var(--surface-1); border-color: var(--border-subtle); border-radius: var(--radius-control); box-shadow: none; }
.template-card { padding: 16px; }
.template-card strong { font-size: var(--type-body); font-weight: var(--weight-strong); }
.template-card span { font-size: var(--type-label); line-height: 1.65; color: var(--text-secondary); }
.template-card.active { background: var(--accent-soft); border-color: var(--accent-blue); }
.template-card.active strong { color: var(--accent-blue); }
.review-workspace-tabs { background: var(--surface-2); border-color: var(--border-subtle); border-radius: var(--radius-panel); box-shadow: none; }
.review-workspace-tab { border-radius: var(--radius-control); }
.review-workspace-tab.active { color: var(--accent-blue); background: var(--surface-1); border-color: var(--border-subtle); box-shadow: none; }
.review-workspace-tab.active .lucide { color: var(--accent-blue); }
.review-workspace-tab span { font-size: var(--type-body); font-weight: var(--weight-strong); }
.review-workspace-tab small { font-size: var(--type-caption); }
.account-editor-dialog { color: var(--text-primary); background: var(--surface-1); border: 1px solid var(--border-subtle); border-radius: var(--radius-dialog); box-shadow: var(--shadow-raised); }
.account-dialog-header { background: var(--surface-1); border-color: var(--border-subtle); }
.account-dialog-header h2 { font-size: 24px; font-weight: var(--weight-strong); }
.account-dialog-header p, .account-editor-dialog small { font-size: var(--type-caption); color: var(--text-secondary); }
.account-editor-dialog label { font-size: var(--type-label); }
.account-editor-dialog::backdrop { background: #10162566; backdrop-filter: blur(4px); }
#ask.assistant-drawer { background: var(--surface-1); border-color: var(--border-subtle); border-radius: var(--radius-dialog); box-shadow: var(--shadow-raised); backdrop-filter: none; }
#ask.assistant-drawer .ask-panel { background: var(--surface-1); padding: 0; border: 0; border-radius: inherit; box-shadow: none; }
#ask.assistant-drawer .assistant-drawer-heading { background: var(--surface-1); backdrop-filter: none; }

/* Public entry: one continuous group, with the composer directly under the introduction. */
body.guest-mode #ask.assistant-drawer { background: var(--page-bg); }
body.guest-mode #ask.assistant-drawer::before { content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at 80% 12%,#fa653c16,transparent 46%),radial-gradient(ellipse at 20% 85%,#3d46f21a,transparent 48%),radial-gradient(ellipse at 32% 80%,#ff346e09,transparent 40%); }
body.guest-mode #ask.assistant-drawer .guest-chat-header { min-height:88px;padding:18px 40px;background:transparent;border:0;backdrop-filter:none; }
.guest-chat-brand strong { font-size:18px;font-weight:500; }
.guest-chat-brand small { font-size:12px; }
:is(.guest-auth-cluster,.guest-session-cluster,.guest-user-pill) {border:0;border-radius:999px;box-shadow:none;background:transparent;padding:0;gap:12px;}
.guest-auth-divider{display:none}.guest-quota-badge{display:none;}
.guest-auth-cluster .guest-login-button{min-height:44px;padding:0 24px;border-radius:999px;font-weight:500;letter-spacing:0;background:var(--text-primary);border-color:var(--text-primary);}
.guest-auth-cluster .guest-language-button{height:44px;border-radius:999px;font-size:14px;}
.guest-user-avatar{background:var(--accent-soft);color:var(--accent-blue);box-shadow:none;}
body.guest-mode #ask.assistant-drawer .ask-panel{padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;}
body.guest-mode:not(.guest-chat-started) #ask.assistant-drawer .ask-panel{display:grid;grid-template-rows:auto;grid-auto-rows:auto;align-content:start;align-content:safe center;justify-items:center;row-gap:12px;padding:36px 24px 100px;overflow-y:auto;}
body.guest-mode:not(.guest-chat-started) .guest-chat-welcome{position:static;display:contents;width:auto;transform:none;}
body.guest-mode:not(.guest-chat-started) .guest-welcome-logo{order:1;width:136.8px;height:136.8px;margin:0 0 8px;filter:none;transform:none;}
body.guest-mode:not(.guest-chat-started) .guest-chat-welcome h1{order:3;font-size:var(--type-display);font-weight:400;line-height:1.3;letter-spacing:-2px;margin:0;text-wrap:balance;}
body.guest-mode:not(.guest-chat-started) .guest-chat-welcome>p:not(.eyebrow){order:4;font-size:16px;line-height:1.8;max-width:560px;color:var(--text-secondary);margin:4px 0 8px;}
body.guest-mode:not(.guest-chat-started) #ask.assistant-drawer .ask-form{order:5;position:relative;width:min(800px,100%);min-height:64px;margin:12px auto 0;padding:9px 10px 9px 14px;border-radius:999px;border:1px solid #0c0c310a;background:var(--surface-1);box-shadow:0 4px 24px #0c0c3106;backdrop-filter:none;}
body #ask.assistant-drawer .ask-form.unified-chat-composer:focus-within{border-color:var(--border-strong);box-shadow:none;}
body #ask.assistant-drawer .ask-form.unified-chat-composer textarea{font-size:16px;background:transparent;}
body #ask.assistant-drawer .ask-form.unified-chat-composer>.primary-button{background:var(--accent-blue);color:var(--on-accent);border-radius:50%;width:44px;height:44px;min-height:44px;box-shadow:inset 0 1px 1px #ffffff40;}
body.guest-mode:not(.guest-chat-started) .guest-quick-prompts{order:6;display:flex;flex-wrap:wrap;justify-content:center;width:min(760px,100%);gap:8px;margin:12px auto 0;}
:is(.guest-quick-prompts button,.guest-quick-prompts .north-asia-entry){transition:none;width:auto;min-height:44px;padding:10px 16px;border:1px solid var(--border-subtle);border-radius:999px;background:var(--surface-1);color:var(--text-secondary);font-size:13px;font-weight:400;box-shadow:none;}
:is(.guest-quick-prompts button,.guest-quick-prompts .north-asia-entry):hover{color:var(--accent-blue);background:var(--accent-soft);border-color:var(--accent-blue);transform:none;box-shadow:none;}
.north-asia-entry small{display:none;}
body.guest-mode #ask .message{font-size:16px;line-height:1.85;}
body.guest-mode #ask .message.user{color:var(--text-primary);background:var(--accent-soft);border-radius:20px;}
body.guest-mode #ask .message.assistant::before{color:var(--accent-blue);background:var(--accent-soft);border-radius:50%;}

@media (min-width: 1280px) {
  #dashboard .dashboard-kpis { grid-template-columns: repeat(5, minmax(0, 1fr)); }
  #dashboard .dashboard-kpis > .aurora-kpi { grid-column: auto; }
  #dashboard .dashboard-activity-panel { grid-column: span 8; }
  #dashboard :is(.dashboard-health-panel, .dashboard-review-panel, .dashboard-quality-panel, .dashboard-todo-panel) { grid-column: span 4; }
}
@media (min-width: 1480px) and (min-height: 680px) {
  body.authenticated:has(#dashboard.view.active) { overflow: auto; }
  body.authenticated:has(#dashboard.view.active) .app-shell { height: auto; min-height: 100dvh; overflow: visible; }
  body.authenticated:has(#dashboard.view.active) .workspace { height: auto; display: block; overflow: visible; padding: var(--content-gutter) var(--content-gutter) 32px; }
  body.authenticated:has(#dashboard.view.active) .topbar { min-height: 88px; margin: calc(var(--content-gutter) * -1) calc(var(--content-gutter) * -1) var(--section-gap); padding: 16px var(--content-gutter); }
  #dashboard.view.active { height: auto; display: block; overflow: visible; }
  #dashboard .dashboard-kpis { height: auto; margin: 0 0 var(--section-gap); gap: 16px; }
  #dashboard .dashboard-kpis .aurora-kpi { min-height: 120px; padding: 20px; }
  #dashboard .dashboard-kpis :is(.aurora-kpi-label, small) { font-size: var(--type-caption); line-height: 1.5; }
  #dashboard .dashboard-kpis .aurora-kpi strong { font-size: 32px; line-height: 1.3; }
  #dashboard .dashboard-kpis .aurora-kpi-icon { width: 36px; height: 36px; top: 18px; right: 18px; transform: none; }
  #dashboard .aurora-dashboard-grid { grid-template-rows: auto auto; gap: var(--section-gap); overflow: visible; }
  #dashboard .aurora-dashboard-grid > .panel { padding: var(--panel-padding); height: auto; overflow: visible; }
  #dashboard .chart-canvas { min-height: 220px; height: 240px; }
  #dashboard .dashboard-activity-panel { grid-template-rows: auto minmax(240px, 1fr) auto; }
  #dashboard .dashboard-bottom { height: auto; margin-top: var(--section-gap); gap: var(--section-gap); }
  #dashboard .dashboard-bottom > .panel { padding: var(--panel-padding); overflow: visible; }
}
@media (max-width: 1100px) {
  :root { --panel-padding: 20px; --section-gap: 16px; }
  .topbar .topbar-title-line h1 { font-size: 24px; }
}
@media (max-width: 780px) {
  :root { --panel-padding: 16px; --content-gutter: 16px; --section-gap: 16px; --type-title: 24px; --type-display: 30px; }
  body.guest-mode #ask.assistant-drawer .guest-chat-header{min-height:72px;padding:12px 20px;}
  .guest-chat-brand strong{font-size:16px}.guest-chat-actions{gap:6px}.guest-auth-cluster{gap:6px}.guest-auth-cluster .guest-login-button{padding-inline:18px;}
  body.guest-mode:not(.guest-chat-started) #ask.assistant-drawer .ask-panel{padding:24px 20px 64px;row-gap:12px;}
  body.guest-mode:not(.guest-chat-started) .guest-chat-welcome h1{font-size:36px;letter-spacing:-1px;}
  body.guest-mode:not(.guest-chat-started) .guest-chat-welcome>p:not(.eyebrow){max-width:340px;font-size:15px;}
  body.guest-mode:not(.guest-chat-started) .guest-welcome-logo{width:108px;height:108px;}
  body.guest-mode:not(.guest-chat-started) .guest-quick-prompts{gap:8px;}
  :is(.guest-quick-prompts button,.guest-quick-prompts .north-asia-entry){font-size:12px;padding:8px 12px;}
  .aurora-kpi { min-height: 112px; padding: 16px; }
  .aurora-kpi strong { font-size: 28px; }
  .aurora-kpi-icon { top: 14px; right: 14px; width: 30px; height: 30px; }
  .aurora-kpi-grid { gap: 12px; }
  .panel-heading { margin-bottom: 16px; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: 0s !important; scroll-behavior: auto !important; }
}

/* Logo artboards are independent of the surrounding app theme. */
.brand-asset-card img.brand-asset-preview-logo,
.brand-asset-detail-preview.brand-asset-preview-logo {
  object-fit: contain;
  padding: 28px;
  background: #fff;
}
.brand-asset-card img.brand-asset-preview-logo-dark,
.brand-asset-detail-preview.brand-asset-preview-logo-dark { background: #0c0c31; }
.brand-asset-card.selected { border-color: var(--accent-blue); box-shadow: 0 0 0 1px var(--accent-blue); }
.brand-asset-card .asset-status { color: var(--text-secondary); background: var(--surface-1); border: 1px solid var(--border-subtle); }
.brand-asset-card .asset-status.approved { color: var(--status-success); background: var(--surface-1); }

/* Shared composition for all business modules. */
.primary-button,.text-button,.compact-button,.guest-theme-button{border-radius:999px;}
.primary-button{padding-inline:22px;box-shadow:inset 0 1px 1px #ffffff40;}
.workspace{padding:32px;}.topbar{background:transparent;min-height:96px;border-bottom:0;box-shadow:none;}
.sidebar{padding:28px 18px;}.sidebar .brand{padding:0 12px;margin-bottom:40px;}.nav-list{gap:8px;}.nav-item{padding:12px 16px;border-radius:999px;}.nav-item.active{font-weight:500;}
.panel-heading h2{font-weight:500}.panel-heading{align-items:center}.panel-subtitle{max-width:680px;}
.aurora-kpi{border-radius:24px;padding:24px;min-height:132px}.aurora-kpi strong{font-size:36px;font-weight:500;}.aurora-kpi-icon{border-radius:14px;}
:is(.template-card,.image-start-card,.image-project-card,.knowledge-source-card,.brand-asset-album){border-radius:20px;}
:is(.backend-tabs,.review-workspace-tabs,.brand-asset-filters){padding:6px;border-radius:24px;background:var(--surface-2);}
:is(.filter-button,.backend-tab,.review-workspace-tab,.brand-asset-category,.image-category){min-height:44px;border-radius:999px;font-weight:500;}
:is(.backend-tab,.filter-button,.review-workspace-tab).active{background:var(--surface-1);color:var(--accent-blue);border-color:transparent;box-shadow:0 2px 6px #0c0c3106;}
:is(.generation-output,.image-chat-panel,.image-start-panel,.knowledge-ops-hero,.review-panel,.backend-workspace){background:var(--surface-1);color:var(--text-primary);border-color:var(--border-subtle);box-shadow:var(--shadow-card);}
:is(.image-studio-toolbar,.brand-asset-toolbar){padding:16px 20px;background:var(--surface-1);border-color:var(--border-subtle);border-radius:20px;}
.image-start-panel{border-radius:24px;}.image-artboard-area{background-image:none;}
:is(.panel,.backend-workspace,.modal) input:not([type=checkbox]):not([type=radio]):not([type=range]),:is(.panel,.backend-workspace,.modal) select{min-height:44px;}
:is(.panel,.backend-workspace,.modal) textarea{padding:14px 16px;}
:is(.panel,.backend-workspace) table{border-collapse:collapse;}.panel th{background:var(--surface-2);font-weight:500;color:var(--text-secondary);}
:is(.pill,.tag,.badge){border-radius:999px;padding:5px 10px;}
:is(.scope-list button,.knowledge-ops-action,.quick-grid button){border-radius:16px;box-shadow:none;}
:is(.brand-asset-album,.brand-asset-card,.knowledge-source-card):hover{border-color:var(--border-strong);box-shadow:0 6px 20px #0c0c3106;}
html[data-theme=dark] body.guest-mode #ask.assistant-drawer::before{opacity:.4;}
@media(max-width:1100px){.workspace{padding:24px;}.sidebar{padding:20px 12px;}}
@media(max-width:780px){.workspace{padding:16px;}.topbar{min-height:80px;}.nav-item{font-size:13px;}.panel{padding:20px;}.panel-heading{flex-wrap:wrap;}.aurora-kpi{padding:20px;min-height:120px;}.aurora-kpi strong{font-size:30px;}:is(.panel,.view,.workspace,.backend-workspace){min-width:0;} .panel-heading .heading-actions{flex-wrap:wrap;} }
/* Intrinsic SVG sizing must survive the send button's inherited flex layout. */
body #ask.assistant-drawer .ask-form.unified-chat-composer>.primary-button{padding:0;min-width:44px;display:grid;grid-template-columns:1fr;}
body #ask.assistant-drawer .ask-form.unified-chat-composer>.primary-button svg{width:22px;height:22px;min-width:22px;max-width:none;display:block;justify-self:center;flex:none;}
.workspace,.image-studio-shell,.image-studio-workspace{background:var(--page-bg);background-image:none;}
.image-canvas-empty{background:var(--surface-1);border-color:var(--border-strong);color:var(--text-secondary);border-radius:24px;}
.image-canvas-empty strong{color:var(--text-primary);font-weight:500;}
.image-canvas-empty>span{color:var(--accent-blue);background:var(--accent-soft);border:0;}
:is(.image-chat-title,.image-chat-eyebrow){color:var(--accent-blue);}
body.guest-mode #ask.assistant-drawer{border-radius:0;box-shadow:none;}
@media(max-width:780px){body.guest-mode:not(.guest-chat-started) .guest-chat-welcome>p:not(.eyebrow){max-width:300px;text-wrap:pretty;}}
/* Empty analytics retain readable proportions instead of stretching blank canvases. */
.acceptance-workspace-grid{min-height:300px;grid-template-rows:auto;align-items:stretch;}
.acceptance-history-block,.acceptance-detail-pane{min-height:280px;height:auto;border-radius:16px;padding:20px;}
.acceptance-detail-scroll,.acceptance-history{min-height:180px;}
#reviewWorkspaceAcceptance{height:auto;min-height:0;}
.acceptance-panel{height:auto;}
#dashboard .chart-canvas{height:260px;min-height:220px;}
.library-command-grid>.panel{height:auto;min-height:0;}
.library-category-grid,.library-folder-grid{background:var(--surface-2);border-color:var(--border-subtle);}
@media(max-width:780px){.acceptance-workspace-grid{grid-template-columns:1fr;}.acceptance-history-block,.acceptance-detail-pane{min-height:220px;}}
.acceptance-history-block,.acceptance-detail-pane{background:var(--surface-1);}
.acceptance-workspace-grid{margin-top:24px;gap:24px;}
@media(min-width:781px){#reviewWorkspaceAcceptance:not([hidden]){display:block;}}
@media(max-width:780px){#dashboard .dashboard-kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}#dashboard .dashboard-kpis>.aurora-kpi:last-child{grid-column:1/-1}.sidebar .nav-list{overflow-x:auto;max-width:100%;}.sidebar{max-width:100vw;}}
.brand-assets-heading::after,.brand-assets-heading::before{display:none;}
#dashboard .aurora-dashboard-grid{grid-template-rows:auto auto;align-items:stretch;}
#dashboard .dashboard-activity-panel{grid-template-rows:auto 240px auto;align-content:start;gap:16px;}
#dashboard .dashboard-health-panel .chart-canvas{min-height:180px;height:200px;}
#dashboard :is(.dashboard-review-panel,.dashboard-quality-panel) .chart-canvas{min-height:160px;height:180px;}
@media(max-width:780px){#dashboard .dashboard-activity-panel{grid-template-rows:auto 200px auto;}}

/* Header controls share one baseline and do not inherit form-button padding. */
body.guest-mode .guest-chat-actions{display:flex;align-items:center;gap:16px;}
body.guest-mode .guest-auth-cluster{display:flex;align-items:center;gap:16px;}
body.guest-mode :is(.north-asia-nav,.guest-theme-button,.guest-language-button,.guest-login-button){box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;vertical-align:middle;height:44px;min-height:44px;line-height:1;font-size:14px;font-weight:500;letter-spacing:0;margin:0;border:0;box-shadow:none;}
body.guest-mode .north-asia-nav{padding:0 20px;gap:6px;border-radius:999px;background:var(--surface-1);color:var(--text-primary);white-space:nowrap;}
body.guest-mode .north-asia-nav svg{width:16px;height:16px;flex:none;}
body.guest-mode .guest-theme-button{width:44px;min-width:44px;max-width:44px;flex:0 0 44px;aspect-ratio:1;padding:0;border-radius:50%;background:var(--surface-1);color:var(--text-primary);}
body.guest-mode .guest-theme-button svg{width:20px;height:20px;flex:none;}
body.guest-mode .guest-language-button{width:44px;min-width:44px;max-width:44px;height:44px;flex:0 0 44px;padding:0;gap:0;border-radius:50%;background:var(--surface-1);color:var(--text-primary);}
body.guest-mode .guest-language-button svg{display:none;}
body.guest-mode .guest-login-button{padding:0 24px;border-radius:999px;}
body.guest-mode .guest-quick-prompts :is(button,.north-asia-entry){border-color:transparent;}
body #ask.assistant-drawer .ask-form.unified-chat-composer{grid-template-columns:44px minmax(0,1fr) 44px;grid-template-rows:auto auto;align-items:center;column-gap:10px;}
body #ask.assistant-drawer .ask-form.unified-chat-composer textarea{padding:0;min-height:28px;line-height:28px;font-size:18px;border-radius:0;box-shadow:none;}
body #ask.assistant-drawer .ask-form.unified-chat-composer>.primary-button{align-self:center;}
body.guest-mode:not(.guest-chat-started) #ask.assistant-drawer .ask-form:focus-within{border-color:var(--border-strong);box-shadow:0 4px 24px #0c0c3106;}
body.guest-mode:not(.guest-chat-started) #ask.assistant-drawer .ask-form:has(.chat-context-image:not([hidden])){border-radius:24px;}
@media(max-width:780px){body.guest-mode .guest-chat-actions,body.guest-mode .guest-auth-cluster{gap:8px;}body.guest-mode .guest-chat-header .north-asia-nav{display:none;}body.guest-mode:not(.guest-chat-started) #ask.assistant-drawer .ask-form{min-height:60px;padding:7px 8px;}body #ask.assistant-drawer .ask-form.unified-chat-composer textarea{font-size:16px;}body.guest-mode .guest-login-button{padding-inline:20px;}}

/* The empty prompt is a quiet hint; entered text keeps the normal reading colour. */
body #ask.assistant-drawer .ask-form.unified-chat-composer textarea::placeholder{color:#929298;opacity:1;font-weight:400;}
html[data-theme="dark"] body #ask.assistant-drawer .ask-form.unified-chat-composer textarea::placeholder{color:#a4a4ae;}

/* Preserve native select behaviour, with a shared inset arrow. */
select:not([multiple]):not([size]),select:not([multiple])[size="1"]{appearance:none;-webkit-appearance:none;background-image:var(--select-arrow);background-repeat:no-repeat;background-position:right var(--select-arrow-inset) center;background-size:var(--select-arrow-size);padding-inline-end:var(--select-text-reserve);text-overflow:ellipsis;}

/* Shared page switch: centred in the viewport, independent of side controls. */
header.site-header{position:relative;}
.site-section-switch,.site-header .site-section-switch{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:inline-flex;align-items:center;gap:0;padding:0;margin:0;width:224px;background:var(--section-switch-track,#f0f0f1);border:0;border-radius:999px;box-shadow:none;white-space:nowrap;}
.site-section-switch a{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;width:50%;min-width:0;min-height:40px;padding:0 24px;border:1px solid transparent;border-radius:999px;background:transparent;color:var(--text-secondary);font-size:14px;font-weight:500;line-height:1;text-decoration:none;transition:none;}
.site-section-switch a:hover{color:var(--text-primary);}
.site-section-switch a[aria-current=page]{color:var(--text-primary);background:var(--surface-1);border-color:color-mix(in srgb,var(--text-primary) 8%,transparent);box-shadow:0 2px 8px #0c0c3108;}
@media(max-width:1100px){
  header.site-header,body.guest-mode #ask.assistant-drawer header.guest-chat-header{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto;height:auto;min-height:132px;gap:12px 16px;padding:16px 20px;}
  .site-header>.brand,.guest-chat-header>.guest-chat-brand{grid-column:1;grid-row:1;}
  .site-header>nav:not(.site-section-switch),.guest-chat-header>.guest-chat-actions{grid-column:2;grid-row:1;}
  .site-header>.site-section-switch,.guest-chat-header>.site-section-switch{position:static;left:auto;top:auto;transform:none;grid-column:1/-1;grid-row:2;justify-self:center;margin:0;gap:0;padding:0;}
}

html[data-theme="dark"] .site-section-switch{--section-switch-track:var(--surface-2);}

/* Q&A and events share one persistent public header and background. */
.public-events-frame{display:none;}
body.guest-mode.guest-events-mode #ask.assistant-drawer>.ask-layout{display:none;}
body.guest-mode.guest-events-mode #ask.assistant-drawer>.public-events-frame{display:block;grid-row:2;width:100%;height:100%;min-height:0;border:0;background:transparent;}
body.guest-mode #ask.assistant-drawer{isolation:isolate;}
body.guest-mode #ask.assistant-drawer::before{z-index:-1;}
