/* allystep local application theme. Load after each page's existing stylesheet.
   This file changes presentation only; account and report storage identifiers stay intact. */
:root {
  --ally-paper: #F7F6F2;
  --ally-surface: #FFFFFF;
  --ally-ink: #27252D;
  --ally-muted: #6A6671;
  --ally-primary: #6B4CC5;
  --ally-primary-hover: #5639AA;
  --ally-soft: #EEE9F8;
  --ally-line: #E4E1E7;
  --ally-side: #282130;
  --ally-side-muted: #C4BDCE;
  --ally-side-selected: #44384F;
  --ally-lime: #C9DB78;
  --ink: var(--ally-ink);
  --muted: var(--ally-muted);
  --blue: var(--ally-primary);
  --blue-dark: var(--ally-primary-hover);
  --line: var(--ally-line);
  --surface: var(--ally-paper);
  --pale: var(--ally-soft);
  --green: #236447;
  --amber: #79561B;
  --red: #A52F35;
  color-scheme: light;
}

html { background: var(--ally-paper); }
body.allystep-page { color: var(--ally-ink); background: var(--ally-paper); font-size: 15px; line-height: 1.7; }
.allystep-page :is(button, input, select, textarea) { font-family: inherit; }
.allystep-page :is(a, button, input, textarea, select, summary):focus-visible {
  outline: 3px solid var(--ally-primary); outline-offset: 3px;
}
.allystep-page :is(p, li, dd, h1, h2, h3) { overflow-wrap: anywhere; }
.allystep-page :is(input:not([type=checkbox]):not([type=radio]), select, textarea) {
  border-color: #B7AFBF; border-radius: 8px; background-color: var(--ally-surface); font-size: 15px;
}
.allystep-page :is(input, textarea)::placeholder { color: var(--ally-muted); opacity: 1; }
.allystep-page :is(input, textarea)[readonly] { background: #F1EFF3; color: var(--ally-muted); }
.allystep-page input:is([type=checkbox], [type=radio]) { accent-color: var(--ally-primary); }
.allystep-page label { color: var(--ally-ink); font-size: 13px; }
.allystep-page .button { font-size: 13px; border-radius: 8px; color: var(--ally-ink); border-color: #C5BECD; background: #FFF; }
.allystep-page .button:hover:not(:disabled) { background: var(--ally-soft); border-color: #B5A7CE; text-decoration: none; }
.allystep-page :is(.button.primary, .primary) { background: var(--ally-primary); border-color: var(--ally-primary); color: #FFF; }
.allystep-page :is(.button.primary, .primary):hover:not(:disabled) { background: var(--ally-primary-hover); border-color: var(--ally-primary-hover); }
.allystep-page :is(.button.secondary, .button.subtle) { color: var(--ally-primary); }
.allystep-page :is(.quiet, .button.quiet, .text-button) { background: transparent; color: var(--ally-primary); }
.allystep-page .button.small { font-size: 12px; }
.allystep-page .button:disabled { cursor: not-allowed; }
.allystep-page .icon-button { background: #F0EDF4; color: #63596F; }
.allystep-page :is(.field-note, .small-note, .context-note, .model-note, .panel-save-hint, .read-only-badge, .tiny-label) {
  font-size: 12px; line-height: 1.8; color: var(--ally-muted);
}
.allystep-page .eyebrow { font-size: 12px; color: var(--ally-muted); letter-spacing: .09em; }
.allystep-page :is(.topbar, .auth-topbar) { border-color: var(--ally-line); }
.allystep-page .topbar { background: var(--ally-surface); gap: 20px; flex-wrap: wrap; }
.allystep-page :is(.top-actions, .workspace-navigation) { min-width: 0; flex-wrap: wrap; }
.allystep-page .top-actions a { font-size: 13px; }
.allystep-page select.language-switch { width: auto; min-width: 88px; max-width: 130px; margin: 0; padding: 8px 10px; font-size: 13px; color: var(--ally-ink); }
.allystep-page [data-user-content] { overflow-wrap: anywhere; }
.allystep-page :is(.test-badge, .local-badge, .demo-badge) { color: var(--ally-muted); font-size: 12px; }
.allystep-page .test-badge { background: #F5F2F8; border-color: var(--ally-line); }
.allystep-page :is(.local-badge i, .demo-badge i) { background: #8B652D; }
.allystep-page .brand.brand-lockup { gap: 18px; align-items: center; min-width: 0; flex-wrap: wrap; }
.allystep-page .brand-divider { background: var(--ally-line); }
.allystep-page .allystep-wordmark {
  --wordmark-h: 32px;
  display: block; position: relative; flex: none;
  width: calc(var(--wordmark-h) * 946 / 312); height: var(--wordmark-h);
  overflow: visible;
}
.allystep-page .allystep-wordmark img,
.allystep-page .brand.brand-lockup .allystep-wordmark img {
  display: block; position: static; width: 100%; height: 100%; max-width: none;
  object-fit: contain; object-position: left center;
}
.allystep-page .brand-parent { display: block; color: var(--ally-muted); font-size: 12px; line-height: 1.5; font-weight: 400; letter-spacing: 0; }
.allystep-page .brand-parent :is(a, small) { color: inherit; font-size: 12px; }
.allystep-page .brand-parent a:hover { color: var(--ally-primary); }
.allystep-page .brand .brand-endorsement { display: block; margin: 0; color: var(--ally-muted); font-size: 12px; line-height: 1.6; font-weight: 400; letter-spacing: 0; }
.allystep-page .auth-header-actions { display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: 12px 20px; }
.allystep-page .company-home-link { font-size: 13px; color: var(--ally-muted); }
.allystep-page .company-home-link:hover { color: var(--ally-primary); }
.allystep-page .brand-symbol {
  background: url('/allystep-light.svg') no-repeat center; background-size: contain;
  width: 85px; height: 28px;
}
.allystep-page .message-meta .brand-symbol { width: 63px; height: 21px; }
.allystep-page .session-guard { background: var(--ally-paper); color: var(--ally-muted); }
.allystep-page .session-guard .allystep-wordmark { --wordmark-h: 42px; }

/* Dark navigation is shared by the home, report and chat work areas. */
.allystep-page :is(.sidebar, .task-sidebar) { background: var(--ally-side); color: var(--ally-paper); border-color: #493D54; }
.allystep-page :is(.space-label, .sidebar-title, .sidebar-bottom, .side-bottom, .side-project, .sidebar-foot) {
  color: var(--ally-side-muted); font-size: 12px;
}
.allystep-page :is(.sidebar nav a, .nav-button, .task-item) { color: var(--ally-side-muted); font-size: 13px; }
.allystep-page :is(.sidebar nav a, .nav-button, .task-item):hover { background: #352C40; color: var(--ally-paper); text-decoration: none; }
.allystep-page :is(.sidebar nav a.active, .nav-button.active, .task-item.active) {
  background: var(--ally-side-selected); border-color: #655575; color: var(--ally-paper);
}
.allystep-page :is(.sidebar nav a.active .nav-icon, .nav-button.active > span, .shield) { color: var(--ally-lime); }
.allystep-page .nav-button > span { color: var(--ally-side-muted); }
.allystep-page :is(.nav-count, .nav-button b) { background: #493C56; color: var(--ally-paper); font-size: 12px; }
.allystep-page .sidebar nav a.active .nav-count { background: #5E4B72; color: #FFF; }
.allystep-page :is(.side-project, .account-block, .sidebar-foot) { border-color: #51465B; }
.allystep-page :is(.account-block strong, .side-bottom strong, .side-project strong, .sidebar-foot strong) { color: var(--ally-paper); font-size: 13px; }
.allystep-page :is(.side-project span, .side-project small, .side-bottom p, .account-block small, .task-item small) {
  color: var(--ally-side-muted); font-size: 12px;
}
.allystep-page .account-block > span { background: #453650; color: var(--ally-lime); }
.allystep-page .sidebar-bottom .text-button { color: var(--ally-lime); font-size: 13px; }
.allystep-page .task-sidebar :is(.button.secondary, .text-button) { color: var(--ally-paper); background: #44384F; border-color: #756486; }
.allystep-page .task-sidebar .button.primary { background: #7252CA; border-color: #7252CA; }
.allystep-page .task-sidebar .button:hover:not(:disabled) { background: #584269; }
.allystep-page .task-sidebar :is(.empty-hint, .panel-heading h2) { color: var(--ally-paper); }
.allystep-page :is(.workspace-navigation a, .mobile-navigation button) { color: var(--ally-muted); }
.allystep-page :is(.workspace-navigation a:hover, .workspace-navigation a[aria-current=page], .mobile-navigation button[aria-pressed=true]) {
  background: var(--ally-soft); color: var(--ally-primary);
}
.allystep-page .mobile-navigation { background: var(--ally-paper); border-color: var(--ally-line); }

/* Workspace: real project records remain the focus. */
.allystep-workspace .welcome { background: var(--ally-soft); border-color: #D9CFEA; }
.allystep-workspace .welcome p { color: #5B5269; font-size: 14px; }
.allystep-workspace :is(.description, .entry-card p, .empty p, .feature-list .panel p) { font-size: 14px; }
.allystep-workspace :is(.stat span, .section-heading p, .meta, .next-action, .record-links button, .activity-row p, .capability-row p,
 .filter-bar label, .filter-bar span, .context-panel dl, .source-link, .report-meta p, .association-form p, .context-note) {
  font-size: 13px; color: var(--ally-muted);
}
.allystep-workspace :is(.section-link, .entry-card a, .entry-card .text-button, .panel-top a, .record-links button, .source-link, .back-link) {
  color: var(--ally-primary); font-size: 13px;
}
.allystep-workspace .record h3 button { color: var(--ally-ink); }
.allystep-workspace :is(.stat, .panel, .record, .entry-card, .report-card) { border-color: var(--ally-line); border-radius: 12px; }
.allystep-workspace .entry-card { min-height: 190px; }
.allystep-workspace .entry-card h3 { font-size: 16px; }
.allystep-workspace .entry-icon { background: var(--ally-soft); color: var(--ally-primary); }
.allystep-workspace .stat strong { color: var(--ally-ink); font-size: 28px; }
.allystep-workspace .stat small { color: var(--ally-muted); font-size: 12px; }
.allystep-workspace .stat .stat-mark { color: #9A86B8; }
.allystep-workspace :is(.stat, .page-heading, .panel-top, .record-top, .context-top) > div { min-width: 0; }
.allystep-workspace .empty { background: #FAF9FC; color: var(--ally-muted); border-color: #C8BED5; }
.allystep-workspace .empty h3 { color: var(--ally-ink); font-size: 15px; }
.allystep-workspace .next-action b { color: var(--ally-muted); }
.allystep-workspace :is(.activity-row strong, .capability-row strong) { font-size: 14px; }
.allystep-workspace .badge { font-size: 12px; white-space: normal; color: #5D4C78; background: #F0EBF7; }
.allystep-workspace .badge.available { color: #236447; background: #EAF4ED; }
.allystep-workspace .badge.pending { color: #625D6C; background: #F0EDF3; }
.allystep-workspace .badge.conditional { color: #79561B; background: #FFF5E2; }
.allystep-workspace .badge.neutral { color: #625D6C; background: #F0EDF3; }
.allystep-workspace .record-top .badge { max-width: 45%; flex-shrink: 0; }
.allystep-workspace .context-panel { border-color: #DBD0EA; border-top-color: var(--ally-primary); }
.allystep-workspace .context-panel dt { color: var(--ally-muted); }
.allystep-workspace .context-panel dd { color: var(--ally-ink); }
.allystep-workspace .report-card .report-meta { background: #F5F2F9; border-color: var(--ally-line); }
.allystep-workspace .report-meta strong { font-size: 15px; }
.allystep-workspace .filter-bar select { font-size: 14px; }
.allystep-workspace .loading { color: var(--ally-muted); }
.allystep-workspace .dialog-actions > span { font-size: 12px; color: var(--ally-muted); }

/* Authentication: the introduction is the bridge from the company to the product. */
.auth-page.allystep-page .auth-topbar { max-width: 1240px; padding-top: 30px; }
.auth-page.allystep-page .auth-layout { gap: 54px; grid-template-columns: minmax(0,1fr) 430px; margin-top: 35px; }
.auth-page.allystep-page .auth-intro { background: var(--ally-side); color: var(--ally-paper); border-radius: 16px; padding: 34px 32px; }
.auth-page.allystep-page .auth-intro .eyebrow { color: var(--ally-lime); }
.auth-page.allystep-page .auth-intro h1 { color: var(--ally-paper); font-size: 32px; }
.auth-page.allystep-page .auth-intro > p { color: var(--ally-side-muted); font-size: 15px; }
.auth-page.allystep-page .auth-intro-note { border-color: #51465B; margin-top: 28px; }
.auth-page.allystep-page .auth-intro-note strong { color: var(--ally-paper); }
.auth-page.allystep-page .auth-intro-note p { color: var(--ally-side-muted); font-size: 14px; }
.auth-page.allystep-page .auth-intro .auth-local-note { color: var(--ally-side-muted); font-size: 12px; }
.auth-page.allystep-page .auth-card { border-color: var(--ally-line); border-radius: 16px; box-shadow: 0 12px 32px #28213008; }
.auth-page.allystep-page :is(.auth-description, .auth-switch) { color: var(--ally-muted); font-size: 14px; }
.auth-page.allystep-page :is(.auth-help, .auth-security-note, .auth-provider-note, .auth-social-note, .auth-method-divider, .auth-provider-status) {
  color: var(--ally-muted); font-size: 12px;
}
.auth-page.allystep-page .auth-card .checkbox-label { color: var(--ally-muted); font-size: 13px; }
.auth-page.allystep-page .auth-help summary { color: var(--ally-primary); }
.auth-page.allystep-page .password-row { border-color: #B7AFBF; }
.auth-page.allystep-page .password-row:focus-within { outline-color: var(--ally-primary); }
.auth-page.allystep-page .password-row input { border: 0; }
.auth-page.allystep-page .password-toggle { color: var(--ally-primary); background: #F4EFFA; }
.auth-page.allystep-page .auth-google-button:disabled { opacity: 1; color: #66616D; border-color: #CFC8D8; background: #F9F8FA; }
.auth-page.allystep-page .auth-provider-status { background: #EAE6EF; color: #62596E; }
.auth-page.allystep-page .auth-method-divider::before,
.auth-page.allystep-page .auth-method-divider::after { background: var(--ally-line); }
.auth-page.allystep-page .account-details > div { font-size: 14px; border-color: var(--ally-line); }
.auth-page.allystep-page .account-details dt { color: var(--ally-muted); }
.auth-page.allystep-page .account-details dd { color: var(--ally-ink); }

/* Reports keep their existing coordinates and all editor controls. */
.allystep-reports :is(.main, .board-shell) { background-color: var(--ally-paper); }
.allystep-reports .inspector { background: #FFF; }
.allystep-reports :is(.project-heading p, .view-toolbar p, .board-legend, .board-foot, .workflow-strip, .inspector .description,
 .section-caption, .ref-link, .ref-link small, .soft-box, .notice span, .chip, .batch-card p, .batch-card ul, .check-item,
 .plan-state, .file-row, .file-row button, .file-row span, .drag-note, .output-meta, .link-preview, .status-hint) { font-size: 12px; }
.allystep-reports :is(.project-heading p, .view-toolbar p, .board-legend, .board-foot, .workflow-strip, .inspector .description,
 .section-caption, .ref-link small, .batch-card p, .plan-step p, .file-row span, .drag-note, .read-only-badge) { color: var(--ally-muted); }
.allystep-reports :is(.inspector label, .view-toolbar h2) { font-size: 14px; }
.allystep-reports :is(.inspector input, .inspector select, .inspector textarea) { font-size: 15px; }
.allystep-reports :is(.chapter-card p, .revision-card p, .generated-text, .modal-body p, #modal-body > p, #modal-body .help-step p, pre) {
  color: var(--ally-ink); font-size: 15px; line-height: 1.9;
}
.allystep-reports .board-scroll { background-image: radial-gradient(#D8D1E0 .8px, transparent .8px); }
.allystep-reports .node { border-color: #D8D0E3; box-shadow: 0 3px 8px #28213005; }
.allystep-reports .node:hover { border-color: #A78DCB; box-shadow: 0 3px 14px #2821300D; }
.allystep-reports .node.selected { border-color: var(--ally-primary); box-shadow: 0 0 0 2px #6B4CC51A; }
.allystep-reports .node-top { color: var(--ally-muted); }
.allystep-reports :is(.node-top, .node-top b, .node small, .node .node-tag, .node-status) { font-size: 12px; }
.allystep-reports .node strong { font-size: 14px; }
.allystep-reports .edge-label text { font-size: 11px; }
.allystep-reports :is(.node-top b, .node .node-tag, .chip, .step-num, .plan-num, .eyebrow span) { color: #65448D; background: var(--ally-soft); }
.allystep-reports .node.result { background: #F1F7F2; border-color: #C6DDCD; }
.allystep-reports .node.result .node-top b { color: #236447; background: #E1EEE4; }
.allystep-reports .dot.source { background: var(--ally-primary); }
.allystep-reports .dot.chapter { background: #93839F; }
.allystep-reports .dot.result { background: #397F60; }
.allystep-reports .edge-line { stroke: #C9BDD9; }
.allystep-reports .edge-line.active { stroke: var(--ally-primary); }
.allystep-reports .edge-label text { fill: #665773; }
.allystep-reports .edge-label rect { fill: #FBF9FE; stroke: #E0D6EC; }
.allystep-reports :is(.ref-link, .soft-box, .impact-panel, .generation-note, .link-preview > span, .report-project-context) {
  background: #F1EDF8; border-color: #DCD3EB; color: var(--ally-ink);
}
.allystep-reports :is(.soft-box b, .report-project-context a, .file-row button) { color: var(--ally-primary); }
.allystep-reports .report-project-context small { color: var(--ally-muted); font-size: 12px; }
.allystep-reports .generated-text { background: #FFF; }
.allystep-reports :is(.preview-image, pre) { background: #F5F2F8; }
.allystep-reports .busy-overlay { background: #F7F6F2EB; color: var(--ally-ink); }

/* Chat and its source/voice panels. */
.allystep-chat .chat-panel { background: var(--ally-paper); }
.allystep-chat .context-sidebar { background: #F0EDF4; }
.allystep-chat .suggestion { color: #564966; font-size: 14px; background: #FFF; }
.allystep-chat .suggestion:hover { background: var(--ally-soft); border-color: #BCA7D8; }
.allystep-chat :is(.welcome p, .message-content, .report-preview, .document-text) { font-size: 15px; line-height: 1.9; }
.allystep-chat .message.user .message-content { background: var(--ally-soft); color: var(--ally-ink); }
.allystep-chat .message.system .message-content { background: #F0EDF4; border-left-color: #A58ABB; color: #5F536A; font-size: 14px; }
.allystep-chat .message-mode { background: #EAE5F0; color: #62556E; font-size: 12px; }
.allystep-chat .composer { background: #FFF; border-color: #C3B7CE; box-shadow: 0 4px 15px #28213005; }
.allystep-chat .composer:focus-within { border-color: var(--ally-primary); box-shadow: 0 0 0 2px #6B4CC518; }
.allystep-chat .composer textarea { background: transparent; font-size: 16px; }
.allystep-chat :is(.composer-bottom > span, .chat-foot, .boundary-note, .pome-field label span, .count-badge, .welcome-foot) { font-size: 12px; color: var(--ally-muted); }
.allystep-chat .count-badge { background: #EEE8F4; color: #695579; }
.allystep-chat :is(.trial-access, .voice-preview-panel, .voice-meter-panel, .customer-example, .customer-profile-card) {
  background: #F2EEF7; border-color: #DDD2E8; color: var(--ally-muted);
}
.allystep-chat :is(.metric-row dt, .customer-example p, .voice-file-label) { color: var(--ally-muted); }
.allystep-chat .upload-box input::file-selector-button { background: #F3EEF9; color: var(--ally-primary); border-color: #CBBBDC; }
.allystep-chat .customer-policy { background: #F0EAF6; }
.allystep-chat .access-ladder li::before { background: #DED3ED; color: var(--ally-primary); }
.allystep-chat .customer-demo-messages article { background: #F2EDF7; }
.allystep-chat .customer-demo-messages strong { color: #6C5183; }

/* Notices retain distinct meanings; brand colour is never a success state. */
.allystep-page :is(.notice, .retry-bar, .preview-disclaimer, .customer-account-status) { color: #79561B; border-color: #E5D1A7; background: #FFF7E8; }
.allystep-chat .notice:not(.error) { background: #F2EDF8; border-color: #D9CDE9; color: #62487D; }
.allystep-page :is(.notice.error, .inline-error, .form-error) { background: #FFF0EF; border-color: #E3B7B4; color: #A52F35; }
.allystep-page :is(.save-dirty, .save-warning, .source-warning, .plan-state, .node-status) { color: #79561B; }
.allystep-page .danger { color: #A52F35; }
.allystep-page :is(#toast, .app-status) { background: #3A2D46; color: #FFF; font-size: 13px; box-shadow: 0 7px 28px #28213026; }
.allystep-page .app-status.error { background: #A52F35; }
.allystep-page dialog { background: #FFF; border-color: #D3C8DE; box-shadow: 0 24px 75px #28213033; color: var(--ally-ink); }
.allystep-page dialog::backdrop { background: #28213070; backdrop-filter: blur(3px); }

@media (max-width: 1100px) {
  .allystep-workspace .entry-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .allystep-workspace .report-card { grid-template-columns: minmax(0, 1fr); }
  .allystep-workspace .association-form { border-left: 0; border-top: 1px solid var(--ally-line); padding: 20px 0 0; }
  .auth-page.allystep-page .auth-layout { gap: 30px; grid-template-columns: minmax(0, 1fr) 390px; }
  .auth-page.allystep-page .auth-intro { padding: 28px 24px; }
  .auth-page.allystep-page .auth-intro h1 { font-size: 29px; }
}
@media (max-width: 850px) {
  .allystep-page .sidebar nav { max-width: 100%; scrollbar-width: thin; }
  .allystep-page .sidebar { min-width: 0; }
  .allystep-reports .top-actions { width: 100%; gap: 10px 14px; }
  .allystep-reports :is(.project-heading, .view-toolbar) { flex-wrap: wrap; }
  .allystep-reports .toolbar-actions { flex-wrap: wrap; }
  .allystep-reports .board-legend { flex-wrap: wrap; font-size: 12px; }
  .allystep-reports .board-foot { flex-wrap: wrap; }
  .allystep-reports .workflow-strip { flex-wrap: wrap; font-size: 12px; }
  .auth-page.allystep-page .auth-layout { grid-template-columns: minmax(0, 1fr) 360px; padding-inline: 22px; }
}
@media (max-width: 700px) {
  .allystep-page .allystep-wordmark { --wordmark-h: 28px; }
  .allystep-page .brand.brand-lockup { gap: 13px; }
  .allystep-page .brand-parent { max-width: 160px; }
  .allystep-page .topbar { padding-inline: 16px; gap: 12px; }
  .allystep-page :is(input:not([type=checkbox]):not([type=radio]), select, textarea) { font-size: 16px; }
  .auth-page.allystep-page .auth-topbar { padding: 22px 20px; }
  .auth-page.allystep-page .auth-layout { display: flex; padding-inline: 20px; margin-top: 8px; gap: 22px; }
  .auth-page.allystep-page .auth-intro { padding: 22px; border-radius: 12px; width: 100%; }
  .auth-page.allystep-page .auth-intro h1 { font-size: 25px; }
  .auth-page.allystep-page .auth-card { padding: 24px; }
  .allystep-chat .context-sidebar { background: #F0EDF4; }
}
@media (max-width: 600px) {
  .allystep-workspace .entry-grid { grid-template-columns: minmax(0, 1fr); }
  .allystep-workspace .entry-card { min-height: 0; }
  .allystep-workspace .stats { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .allystep-workspace .stat { padding: 13px 10px; }
  .allystep-workspace .stat span { font-size: 12px; }
  .allystep-workspace .stat strong { font-size: 24px; }
  .allystep-workspace .stat small { font-size: 12px; }
  .allystep-workspace .activity-row { flex-wrap: wrap; }
  .allystep-workspace .capability-row { grid-template-columns: minmax(0, 1fr); }
  .allystep-workspace .capability-row .badge { width: fit-content; }
  .allystep-workspace .context-panel dl { font-size: 14px; }
  .allystep-workspace .context-top { flex-wrap: wrap; }
  .allystep-workspace .filter-bar select { width: 100%; min-width: 0; }
  .allystep-page .fields-grid,
  .allystep-page .two-fields { grid-template-columns: minmax(0, 1fr); }
  .allystep-page :is(.dialog-actions, .form-actions, .revision-actions) { flex-wrap: wrap; }
  .allystep-reports .plan-step { flex-wrap: wrap; }
  .allystep-reports .plan-step > div { min-width: 0; flex: 1; }
  .allystep-reports .plan-state { margin-left: 42px; }
  .allystep-chat .chat-heading { flex-wrap: wrap; }
  .allystep-chat .chat-heading h1 { font-size: 19px; }
  .allystep-chat .chat-heading > .button { max-width: none; font-size: 12px; }
  .allystep-chat .voice-device-row { flex-wrap: wrap; }
  .allystep-chat .voice-device-row select { flex-basis: 100%; }
  .allystep-chat .form-two { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 380px) {
  .allystep-page .brand.brand-lockup { gap: 10px; }
  .allystep-page .brand-parent { max-width: 135px; }
  .allystep-page .allystep-wordmark { --wordmark-h: 26px; }
  .allystep-workspace main { padding-inline: 14px; }
  .allystep-workspace :is(.panel, .record, .welcome, .context-panel, .report-card) { padding: 16px; }
  .allystep-workspace .stats { gap: 7px; }
  .allystep-workspace .stat { padding: 12px 8px; }
  .allystep-workspace .record-top { flex-wrap: wrap; }
  .allystep-workspace .record-top .badge { max-width: 100%; }
  .auth-page.allystep-page .auth-layout { padding-inline: 14px; }
  .auth-page.allystep-page .auth-topbar { padding-inline: 14px; }
  .auth-page.allystep-page .auth-card { padding: 20px; }
  .auth-page.allystep-page .auth-intro { padding: 20px; }
  .allystep-page .top-actions .button { white-space: normal; }
  .allystep-page .button { max-width: 100%; }
}
@media (pointer: coarse) {
  .allystep-page :is(.button, .nav-button, .sidebar nav a, .password-toggle, .auth-google-button) { min-height: 44px; }
}
@media print {
  body.allystep-page { background: #FFF; color: #111; }
  .allystep-page .print-report { color: #111; }
}

/* Shared company/product signature. Preserve the approved original artwork;
   both complete logos share one height, including the company tagline. */
.brand.brand-lockup.zt-lockup {
  --zt-logo-height: 55.033px;
  --zt-product-height: var(--zt-logo-height);
  display: inline-flex; flex-direction: row; align-items: center; justify-content: flex-start;
  gap: 18px; flex: 0 0 auto; flex-wrap: nowrap; min-width: 0;
  color: var(--ally-ink); text-decoration: none; line-height: 1;
  font-family: Inter, "Segoe UI", "Microsoft YaHei", sans-serif;
}
.brand.brand-lockup.zt-lockup:hover { text-decoration: none; }
.brand.brand-lockup.zt-lockup span { border: 0; padding: 0; margin: 0; }
.brand.brand-lockup.zt-lockup .zt-company-logo {
  display: block; width: auto; height: var(--zt-logo-height); max-width: none;
  flex: 0 0 auto; object-fit: contain; filter: none;
}
.brand.brand-lockup.zt-lockup .zt-divider {
  display: block; width: 1px; height: var(--zt-logo-height); background: #d4d0da; flex: 0 0 1px;
}
.brand.brand-lockup.zt-lockup .zt-product {
  position: relative; display: flex; align-items: flex-end; gap: 12px; flex: 0 0 auto;
  width: auto; height: auto; background: none;
}
.brand.brand-lockup.zt-lockup .zt-product-logo {
  display: block; width: auto; height: var(--zt-product-height); max-width: none;
  flex: 0 0 auto; object-fit: contain; filter: none;
}
.brand.brand-lockup.zt-lockup .zt-workspace {
  display: block; font-size: 20px; font-weight: 500; line-height: 1; height: auto; width: auto; background: none;
  /* Keep the existing Workspace baseline aligned with the wordmark body. */
  margin-bottom: calc(var(--zt-product-height) * 54 / 312 - .15em);
  letter-spacing: -.01em; white-space: nowrap; color: var(--ally-ink);
}
.brand.brand-lockup.zt-lockup.is-stacked { padding-bottom: 22px; }
.brand.brand-lockup.zt-lockup.is-stacked .zt-workspace { position: absolute; top: calc(100% + 6px); left: 0; margin-bottom: 0; font-size: 13px; letter-spacing: .03em; color: var(--ally-muted); }
:is(.site-header, body > header:not(.topbar), .auth-completion-card) .brand.brand-lockup.zt-lockup { --zt-logo-height: 44px; gap: 17px; }
.brand.brand-lockup.zt-lockup.zt-lockup-sidebar {
  --zt-logo-height: 39px; --zt-product-height: var(--zt-logo-height);
  flex-direction: column; align-items: flex-start; gap: 14px; padding: 0 13px; margin-bottom: 30px;
}
.brand.brand-lockup.zt-lockup.zt-lockup-sidebar .zt-divider { width: 155px; height: 1px; flex: 0 0 1px; }
.allystep-page .topbar:has(> .zt-lockup) { height: auto; min-height: 96px; }
.allystep-page .auth-topbar:has(> .zt-lockup) { min-height: 96px; }
@media (max-width: 1100px) {
  :is(.topbar, .auth-topbar):has(> .zt-lockup) { flex-wrap: wrap; gap: 18px; }
  .topbar:has(> .zt-lockup) > .top-actions,
  .auth-topbar:has(> .zt-lockup) > .auth-header-actions { width: 100%; justify-content: flex-start; }
}
@media (max-width: 850px) {
  .brand.brand-lockup.zt-lockup.zt-lockup-sidebar { --zt-logo-height: 38px; --zt-product-height: var(--zt-logo-height); flex-direction: row; align-items: center; padding: 0; gap: 17px; margin-bottom: 20px; }
  .brand.brand-lockup.zt-lockup.zt-lockup-sidebar .zt-divider { width: 1px; height: var(--zt-logo-height); flex: 0 0 1px; }
}
@media (max-width: 560px) {
  .brand.brand-lockup.zt-lockup,
  :is(.site-header, body > header:not(.topbar), .auth-completion-card) .brand.brand-lockup.zt-lockup,
  .brand.brand-lockup.zt-lockup.zt-lockup-sidebar { --zt-logo-height: 32px; --zt-product-height: var(--zt-logo-height); gap: 12px; }
  .brand.brand-lockup.zt-lockup:has(.zt-workspace) { padding-bottom: 22px; }
  .brand.brand-lockup.zt-lockup .zt-workspace,
  .brand.brand-lockup.zt-lockup.is-stacked .zt-workspace { position: absolute; top: calc(100% + 6px); left: 0; margin-bottom: 0; font-size: 12px; letter-spacing: .02em; }
}
@media (max-width: 360px) {
  .brand.brand-lockup.zt-lockup,
  :is(.site-header, body > header:not(.topbar), .auth-completion-card) .brand.brand-lockup.zt-lockup,
  .brand.brand-lockup.zt-lockup.zt-lockup-sidebar { --zt-logo-height: 28px; --zt-product-height: var(--zt-logo-height); }
}
/* One global navigation across home, advisor and report editor. */
.allystep-page.allystep-reports .report-editor-nav .nav-button{color:#6b6076;background:transparent}
.allystep-page.allystep-reports .report-editor-nav .nav-button.active{color:#513586;background:#eee7f7}
.allystep-page.allystep-reports .report-editor-nav .nav-button span{color:inherit}
.allystep-page #global-workspace-navigation .global-workspace-nav{display:flex;flex-direction:column;gap:6px;padding:0;margin:0}
.allystep-page #global-workspace-navigation .global-workspace-nav a{display:flex;align-items:center;gap:12px;padding:13px 14px;margin:0;min-height:46px;border:1px solid transparent;border-radius:9px;color:#e2dce9;text-decoration:none;font-size:14px;font-weight:500;line-height:1.45;background:transparent;white-space:normal}
.allystep-page #global-workspace-navigation .global-workspace-nav a:hover{background:#ffffff0c;color:#fff}
.allystep-page #global-workspace-navigation .global-workspace-nav a.active{background:#594c72;color:#fff;border-color:#716382}
.allystep-page #global-workspace-navigation .global-workspace-nav a:focus-visible{outline:2px solid #d3e779;outline-offset:2px}
.global-nav-icon{width:22px;flex:none;text-align:center;font-size:20px;color:#cddf80}
.allystep-workspace .goal-section{margin:20px 0 28px}.allystep-workspace .goal-intro{color:#71687a;font-size:13px;margin-bottom:12px}
.allystep-workspace .goal-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.allystep-workspace .goal-choice{display:flex;flex-direction:column;gap:8px;text-align:left;padding:19px;background:#fff;border:1px solid #ded6e5;border-radius:10px;color:#30283b;line-height:1.7}
.allystep-workspace .goal-choice strong{font-size:15px}.allystep-workspace .goal-choice span{font-size:12px;color:#71687a;font-weight:400}.allystep-workspace .goal-choice:hover{border-color:#88749e;background:#fcfaff}
.allystep-workspace .home-shortcuts{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:20px 0}.allystep-workspace .home-shortcuts a{display:flex;flex-direction:column;gap:8px;padding:19px 22px;border:1px solid #ded6e5;border-radius:10px;text-decoration:none;color:#45364e;background:#fff}.home-shortcuts span{font-size:12px;color:#71687a}
.allystep-workspace .project-record-tabs{display:flex;flex-wrap:wrap;gap:8px;border-bottom:1px solid #ded6e5;padding-bottom:14px;margin-bottom:24px}.project-record-tabs a{display:flex;gap:10px;align-items:center;padding:9px 14px;border-radius:8px;font-size:14px;text-decoration:none;color:#756b7e}.project-record-tabs a[aria-current="page"]{background:#eee7f6;color:#49365e;font-weight:600}.project-record-tabs span{font-size:12px;font-variant-numeric:tabular-nums}
.allystep-workspace .project-report-preparation{margin-top:26px;background:#fff;border:1px solid #ded6e5;border-radius:10px;padding:19px 22px}.project-report-preparation summary{cursor:pointer;font-size:15px;font-weight:500;color:#49365e}.project-report-preparation>p{font-size:13px;color:#71687a;line-height:1.8;margin:14px 0}.allystep-workspace .project-report-preparation .association-form{border:0;padding:0;display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:16px}.project-report-preparation .association-form label{margin:0}.allystep-workspace .project-report-preparation select{flex:1;min-width:180px}.allystep-workspace .project-report-preparation .button{width:auto}
.allystep-workspace .conversation-output-link{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:22px 0;border-top:1px solid #ded6e5;margin-top:26px}.conversation-output-link strong{font-size:14px}.conversation-output-link p{font-size:12px;line-height:1.8;color:#71687a;margin-top:6px}.conversation-output-link .button{flex:none}
@media(max-width:1100px){.allystep-workspace .goal-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:850px){.allystep-page #global-workspace-navigation .global-workspace-nav{flex-direction:row;gap:5px;overflow-x:auto}.allystep-page #global-workspace-navigation .global-workspace-nav a{flex:none;padding:10px 12px;min-height:42px;font-size:13px;gap:8px}.global-nav-icon{font-size:17px;width:18px}}
@media(max-width:600px){.allystep-workspace .goal-grid,.allystep-workspace .home-shortcuts{grid-template-columns:1fr}.allystep-workspace .conversation-output-link{align-items:flex-start;flex-direction:column;gap:12px}.allystep-workspace .project-report-preparation .association-form{align-items:stretch;flex-direction:column}}
