/* TechRewa original-blue palette. Load after feature stylesheets.
   This file changes visual tokens and component colours only. It does not change
   layout, media/canvas contents, workflow states, or semantic warning/error badges. */
:root {
  --brand-blue: #49b3e7;
  --brand-blue-hover: #72c8f3;
  --brand-blue-deep: #0577bb;
  --brand-ink: #091923;
  --brand-surface: #122430;
  --brand-surface-hover: #193242;
  --brand-edge: #3b6b86;
  --brand-muted: #a7b4bd;
  --lime: var(--brand-blue);
  --lime-ink: var(--brand-ink);
  --accent: var(--brand-blue);
  --muted: #a1aab2;
}

/* Original wordmark, supplied by the owner. The separate mark is available to
   intentionally compact placements; it must never appear beside the full logo. */
.brand { min-width: 0; }
.brand img.brand-lockup {
  display: block;
  width: 176px;
  height: auto;
  max-width: 100%;
  object-fit: contain;
}
.brand img.brand-compact { display: none; width: 32px; height: 32px; }
.sidebar>.brand { padding-inline: 0; justify-content: flex-start; }
.modal .brand img.brand-lockup { width: 176px; }
.footer-brand img { display: inline-block; width: 112px; height: auto; vertical-align: middle; }
@media (min-width: 701px) and (max-width: 920px) {
  .sidebar>.brand img.brand-lockup { width: 140px; }
}
@media (max-width: 700px) {
  .mobile-brand { min-width: 80px; flex: 0 1 132px; }
  .mobile-brand img.brand-lockup { width: 132px; }
}
@media (max-width: 420px) {
  .mobile-brand { flex-basis: 118px; }
  .mobile-brand img.brand-lockup { width: 118px; }
}
@media (max-width: 390px) {
  .mobile-brand { flex-basis: 110px; }
  .mobile-brand img.brand-lockup { width: 110px; }
}

/* Bright blue keeps the existing dark-ink primary controls comfortably legible. */
.button.primary,
.sidebar-note button,
.hero-float-bottom .arrow {
  background: var(--brand-blue);
  color: var(--brand-ink);
}
.button.primary:hover,
.sidebar-note button:hover { background: var(--brand-blue-hover); }
.button.primary:active { background: var(--brand-blue); }
.brand-dot { color: var(--brand-blue) !important; }
.button.secondary { background: #1b2127; border-color: #46505a; }
.button.secondary:hover { background: #26313a; }
.button.ghost { color: #c1cbd2; }
.nav-item:hover { background: #1a2229; }
.nav-item.active,
.creation-primary .nav-item.active,
.account-nav .active,
.account-nav .active:hover,
.mobile-nav .active {
  background: var(--brand-surface);
  color: var(--brand-blue-hover);
}
.account-nav>button:hover,
.account-nav>a:hover { background: #1a252d; }
.filter-chip.active,
.segmented button.active,
.view-tabs .button.active,
.partner-subtabs button.active {
  color: var(--brand-blue-hover);
  border-color: var(--brand-edge);
  background: var(--brand-surface);
}
.aw-tabs button.active,
.aw-tabs button:hover {
  background: var(--brand-blue);
  color: var(--brand-ink);
}
.admin-provider.active {
  background: var(--brand-surface);
  border-color: var(--brand-edge);
  color: var(--brand-blue-hover);
}
.mobile-nav { background: #10171df7; border-top-color: #33424d; }
.mobile-nav a,
.mobile-nav button { color: #a1b0bc; }
.mobile-nav .studio-nav .icon {
  background: var(--brand-blue);
  color: var(--brand-ink);
  border-color: #10171d;
}
.mobile-nav .studio-nav { color: #b6cfdf; }

/* Consistent blue keyboard focus, including components with hard-coded lime. */
button:focus-visible,
a:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
.aw-tabs button:focus-visible,
.aw-table-wrap:focus-visible,
.motion-studio button:focus-visible,
.motion-studio input:focus-visible,
.motion-studio textarea:focus-visible,
.motion-studio select:focus-visible,
.director-shot:focus-visible,
.director-goal-card:focus-visible,
.director-saved-plan:focus-visible,
.director-media-grid>button:focus-visible { outline-color: var(--brand-blue-hover); }
input:focus,
textarea:focus,
select:focus,
.director-editor input:focus,
.director-editor select:focus,
.director-editor textarea:focus,
.motion-studio label input:focus,
.motion-studio label select:focus,
.motion-studio label textarea:focus { border-color: var(--brand-blue); }
input[type="checkbox"],
input[type="radio"],
input[type="range"] { accent-color: var(--brand-blue); }
input::placeholder,
textarea::placeholder { color: #919ea8; opacity: 1; }
.workspace-label,
.sidebar-foot,
.breadcrumb,
.page-intro p,
.section-heading p,
.field-help,
.scene-edit-label,
.model-details,
.pricing-caption,
.gallery-note,
.tool-card p,
.intro-right { color: #a1aab2; }
.label,
.checkbox,
.director-editor .label,
.motion-studio label { color: #c0cbd3; }
.access-tag { color: #a9b9c4; }
.nav-tag { color: #b7d9ef; border-color: #38576a; }
.sidebar-note {
  background: linear-gradient(140deg, #172b38, #131a20);
  border-color: #31536a;
}
.sidebar-note p { color: #b3c2cd; }

/* Brand-led home sections; photographic artwork and creative samples stay intact. */
.hero-pill { color: #d5eaf6; border-color: #5489a680; background: #132f4266; }
.tool-card:hover { background: #162631; border-color: #48738d; }
.tool-icon { background: #172f40; color: #8acff3; }
.creative-card:hover { border-color: var(--brand-blue); }
.business-start {
  border-color: #49b3e740;
  background: radial-gradient(ellipse at right top, #49b3e71a, transparent 65%), #151a20;
}
.business-start h2 em,
.image-discover h2 em,
.business-planning-guide li:before { color: var(--brand-blue-hover); }
.category-pills button:hover { border-color: var(--brand-blue); color: var(--brand-blue-hover); }
.business-banner {
  background: radial-gradient(ellipse at 80% 20%, #1c415b60, transparent 60%), #141a20;
  border-color: #2e4351;
}
.business-banner p { color: #a8b7c2; }
.language-feature {
  border-color: #34556a;
  background: radial-gradient(ellipse at 80% 10%, #20547745, transparent 60%), #141d24;
}
.language-feature p { color: #b9c9d5; }
.language-feature p.language-fineprint { color: #a1b4c2; }
.language-play { background: #102b3e99; color: #e0f2fc; border-color: #b9ddf480; }
.production-number { color: #a9c9dc; }
.production-grid p,
.demo-field small { color: #aab9c4; }
.demo-flow { color: #d5e3ec; }
.demo-flow .icon { color: #9db8c8; }
.demo-tags span { color: #c8d9e4; }
.preview-stage {
  background: radial-gradient(ellipse at 70% 25%, #3f3852aa, transparent 55%),
    radial-gradient(ellipse at 20% 100%, #20507366, transparent 55%), #12161b;
}
.stage-icon { border-color: #49687c; }
.stage-meta,
.preview-stage p { color: #a9becb; }
.scene-editor { background: #111a22; border-color: #344f61; color: #d0dee8; }
.scene-editor.narration-editor { color: #bdd6e5; }
.model-catalog span { background: #142530; border-color: #304d61; color: #aecadf; }

/* Shared navigation and catalog controls remain the same size and order. */
.creation-model-entry { border-color: #365e76; color: #b5d9ef; }
.creation-advanced,
.creation-workspaces,
.creation-account-links { border-color: #2b3d49; }
.creation-advanced summary,
.creation-workspaces summary { color: #adc0ce; }
.creation-context { background: #131d25; border-color: #334c5c; }
.creation-context-current { color: #bdddee; }
.creation-launch-card { background: #17242e; border-color: #345266; }
.creation-launch-card:hover { background: #1b2f3d; border-color: #527f99; }
.creation-tool-menu .nav-item { border-color: #334957; }
.creation-model-card {
  border-color: #344d5d;
  background: linear-gradient(125deg, #182732, #111a21);
}
.creation-model-card:hover { border-color: var(--brand-blue); background: #1b2f3e; }
.creation-model-card>small { color: #a2b4c0; }
.creation-model-card>span { color: #b7c9d5; }
.creation-model-select { color: var(--brand-blue-hover) !important; }
.creation-catalog-empty { border-color: #37566a; }
.language-toggle[data-interface-open] { border-color: #355063; }
.interface-coverage { background: #15232e; border-color: #344f62; color: #b7cad6; }

/* Creative workflow shells; never recolour generated imagery or canvas content. */
.creator-builder>summary { color: #c7dfef; }
.creator-library-symbol { background: radial-gradient(ellipse at 60% 50%, #234258, #171f24); }
.creator-library-symbol svg { color: #a8d6f1; }
.creator-preview-placeholder { background: linear-gradient(125deg, #193c55, #1e2439); color: #d4e7f5; }
.director-project-bar,
.director-rail,
.director-editor,
.director-saved-plan,
.director-studio-links>a,
.director-coming { background: #151e26; border-color: #334955; }
.director-shot { background: #192731; border-color: #344a59; }
.director-shot.active { background: var(--brand-surface); border-color: var(--brand-blue); }
.director-shot-number,
.director-goal-card div>span { color: #9fd6f4; }
.director-shot small,
.director-rail-heading>span,
.director-saved-plan small,
.director-studio-links span,
.director-coming p { color: #a9bdcb; }
.director-stage-tags>span { color: #c0dbea; border-color: #3a6077; }
.director-editor input,
.director-editor select,
.director-editor textarea { color: #e1edf4; background: #17232c; border-color: #3a5363; }
.director-handoff,
.director-prompt-review { background: #142630; border-color: #355c72; }
.director-prompt-review { color: #cfdfeb; }
.director-goal-card { background: #151f28; border-color: #334856; }
.director-goal-card:hover { border-color: var(--brand-blue); }
.director-goal-card p,
.director-goal-card small { color: #a9becd; }
.director-goal-art { background: radial-gradient(ellipse at 55% 90%, #3789ba35, #1b292000 70%), linear-gradient(140deg, #1c3445, #101820); }
.director-goal-art>.icon { color: #c1e7fc; }
.director-goal-art>i { border-color: #69bced50; }
.director-goal-art>i:before { border-color: #69bced35; }
.director-goal-art>b { color: #a2c6df; }
.director-new-tag { color: #adddf8; border-color: #3f6a82; }
.motion-studio { --motion-edge: #385566; --motion-muted: #adc0cc; }
.motion-chip { border-color: #40677e; }
.motion-preview-panel,
.motion-edit-panel { background: linear-gradient(145deg, #182631, #111b22); }
.motion-template-picker button.active { border-color: var(--brand-blue); background: #193549; color: #d4ebf9; }
.motion-scene-track button { background: #203440; border-color: #3b5666; color: #d4e6f0; }
.motion-scene summary span { background: #1d3a4d; }
.motion-studio label input,
.motion-studio label select,
.motion-studio label textarea { background: #111d26; border-color: #3c5869; color: #edf5fa; }
.motion-saved-item { border-color: #365365; }
.cs-record.selected { background: #49b3e70d; border-color: var(--brand-blue); }
.cs-steps button.active { border-color: var(--brand-blue); }

/* Operations use the same selection language. Success remains visibly green. */
.account-stats article { background: linear-gradient(135deg, #1b2934, #141a1d); border-color: #334b5b; }
.account-stats span,
.account-shortcuts span:last-child { color: #b0c0ca; }
.account-shortcuts>a { background: #172630; border-color: #304d60; }
.account-shortcuts>a:hover { border-color: var(--brand-blue); }
.admin-provider { background: #14202a; border-color: #344e5e; color: #c0d5e4; }
.admin-provider small { color: #a6bdce; }
.admin-stat,
.credential-row { background: #141f28; border-color: #314959; }
.admin-stat strong { color: #d4e9f7; }
.credential-row .credential-key,
.credential-row .credential-meta,
.admin-activity { color: #abc0d0; }
.partner-subtabs button { border-color: #355466; color: #b1cbdc; }
.partner-table-scroll th { color: #a6bdcc; }
.partner-table-scroll small { color: #a1b1be; }
.account-positive { color: #b7e795; }
.status-dot { background: #b7e795; box-shadow: 0 0 9px #b7e79550; }

/* Static editorial/showcase pages share the brand without changing app buttons. */
.guide-page .tag,
.showcase-page .eyebrow,
.showcase-page .crumbs a,
.showcase-page .guide-link { color: var(--brand-blue-hover); }
.guide-page .cta,
.showcase-page .button { background: var(--brand-blue); color: var(--brand-ink); border-color: var(--brand-blue); }
.guide-page .cta:hover,
.showcase-page .button:hover { background: var(--brand-blue-hover); }
.showcase-page .button.secondary { color: var(--brand-blue-hover); border-color: var(--brand-edge); background: #16232c; }
.showcase-page .button.secondary:hover { background: #203747; }
.guide-page .card:hover { border-color: var(--brand-blue); }
.showcase-page video:focus-visible { outline-color: var(--brand-blue-hover); }

/* A tablet keeps the full sidebar, leaving less room for duplicate header links.
   These links remain available in navigation; the primary action stays visible. */
@media (min-width: 701px) and (max-width: 920px) {
  .topbar .breadcrumb, .topbar .aw-top-entry { display: none; }
  .topbar { justify-content: flex-end; }
  .top-actions { min-width: 0; gap: 12px; }
  .hero-float { display: none; }
  .gallery { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .sidebar-bottom .nav-item { justify-content: flex-start; }
  .sidebar-bottom .nav-item>span:not(.icon) { display: inline; min-width: 0; font-size: 11px; }
}

/* Public policy/support links stay readable and reachable without changing app navigation. */
.site-footer { flex-wrap: wrap; }
.site-footer .footer-links { display: flex; flex-wrap: wrap; align-items: center; gap: 2px 18px; }
.site-footer .footer-links a { display: inline-flex; align-items: center; min-height: 44px; margin: 0; font-size: 11px; line-height: 1.5; }
.site-footer .footer-links a:focus-visible { outline: 2px solid #49b3e7; outline-offset: 3px; border-radius: 3px; }
@media (max-width: 700px) {
  .site-footer { font-size: 10px; }
  .site-footer .footer-links { gap: 0 16px; }
}
