/* ============================================================
   StoryBoard SaaS Light Theme
   Late-loaded product polish layer for legacy dark-page styles.
   ============================================================ */

:root {
    --sb-canvas: #f5f8fc;
    --sb-canvas-warm: #fffdf8;
    --sb-surface: #ffffff;
    --sb-surface-soft: #f8fbff;
    --sb-surface-blue: #eef5ff;
    --sb-border: #dbe5f0;
    --sb-border-strong: #c5d4e6;
    --sb-text: #172033;
    --sb-text-soft: #4c5d73;
    --sb-text-muted: #708097;
    --sb-blue: #1f5eff;
    --sb-blue-strong: #1746b8;
    --sb-blue-soft: #e9f1ff;
    --sb-teal: #0f8b8d;
    --sb-green: #047857;
    --sb-amber: #a16207;
    --sb-red: #b42318;
    --sb-shadow-sm: 0 8px 20px rgba(23, 32, 51, 0.06);
    --sb-shadow-md: 0 18px 44px rgba(23, 32, 51, 0.08);
    --sb-shadow-blue: 0 18px 38px rgba(31, 94, 255, 0.14);
    --bg-primary: var(--sb-canvas);
    --bg-secondary: var(--sb-surface);
    --bg-card: var(--sb-surface);
    --bg-card-hover: var(--sb-surface-soft);
    --bg-input: var(--sb-surface-soft);
    --surface-subtle: #f1f6fd;
    --surface-muted: #e7eff9;
    --accent-primary: var(--sb-blue);
    --accent-secondary: var(--sb-blue-strong);
    --accent-tertiary: var(--sb-teal);
    --accent-glow: rgba(31, 94, 255, 0.16);
    --border-subtle: var(--sb-border);
    --border-light: var(--sb-border-strong);
    --border-focus: rgba(31, 94, 255, 0.34);
    --text-primary: var(--sb-text);
    --text-secondary: var(--sb-text-soft);
    --text-muted: var(--sb-text-muted);
    --text-accent: var(--sb-blue);
    --success: var(--sb-green);
    --warning: var(--sb-amber);
    --error: var(--sb-red);
    --gradient-accent: linear-gradient(135deg, #1f5eff 0%, #1954df 58%, #0f8b8d 100%);
    --gradient-card: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
    --shadow-card: var(--sb-shadow-sm);
    --shadow-glow: var(--sb-shadow-blue);
}

html {
    background: var(--sb-canvas);
}

body {
    background:
        radial-gradient(circle at 12% 0%, rgba(31, 94, 255, 0.08), transparent 28rem),
        radial-gradient(circle at 88% 8%, rgba(15, 139, 141, 0.10), transparent 26rem),
        linear-gradient(180deg, var(--sb-canvas-warm) 0%, var(--sb-canvas) 54%, #edf3fb 100%) !important;
    color: var(--sb-text) !important;
}

a {
    color: var(--sb-blue);
}

a:hover {
    color: var(--sb-blue-strong);
}

button,
a,
input,
textarea,
select {
    touch-action: manipulation;
}

button,
.new-btn,
.submit-btn,
.home-nav-btn,
.home-cta,
.nav-link,
.workspace-filter-btn,
.recent-workspace-filter-btn,
.scene-action-btn,
.select-btn,
.review-display-btn,
.review-filter-btn,
.casting-filter-btn,
.cast-action-btn,
.review-ghost-btn,
.shot-btn,
.file-browse-btn {
    min-height: 44px;
}

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

.header,
.home-header {
    background: rgba(255, 255, 255, 0.88) !important;
    border-bottom: 1px solid var(--sb-border) !important;
    box-shadow: 0 10px 28px rgba(23, 32, 51, 0.05) !important;
}

.header-inner {
    gap: 1rem;
}

.logo-text,
.page-title h1,
.card-header h1,
.card-header h2,
.section-header h2,
.active-workspace-title,
.workspace-card h2,
.workspace-card h3,
.home-hero-title,
.home-sidebar-title,
.scene-setting,
.sequence-group-title,
.sequence-shot-title,
.frame-title,
.review-rail-title,
.cast-name,
.cast-display-name,
.project-card-header h3,
.workspace-status-row,
.workspace-status-copy h1,
.an-card h2,
.cp-card h2,
.ws-card h2,
.support-title {
    color: var(--sb-text) !important;
}

.tagline,
.home-brand-subtitle,
.home-hero-subtitle,
.home-sidebar-copy,
.home-feature-copy,
.home-process-copy,
.home-upload-header p,
.card-header p,
.section-header p,
.active-workspace-copy,
.active-workspace-note,
.workspace-intro,
.workspace-card p,
.workspace-note,
.scene-description,
.scene-meta,
.scene-review-nav-header p,
.scene-review-panel-header p,
.sequence-group-copy,
.sequence-shot-caption,
.frame-subtitle,
.frame-description,
.review-display-copy,
.review-kicker,
.cast-meta,
.cast-shot-copy,
.cast-priority-note,
.casting-guidance-card p,
.review-guidance-card p,
.recent-workspace-copy,
.recent-workspace-filter-summary,
.project-card-description,
.ws-copy,
.cp-copy,
.support-copy,
.an-stat-sub,
.loading-note {
    color: var(--sb-text-soft) !important;
}

.home-brand-kicker,
.home-kicker,
.active-workspace-eyebrow,
.workspace-status-eyebrow,
.workspace-filter-label,
.recent-workspace-filter-label,
.scene-filter-label,
.review-filter-label,
.casting-filter-label,
.dna-label,
.stat-label,
.stat-block .stat-label,
.meta-label,
.scene-review-nav-meta,
.scene-review-counts,
.char-count,
.file-hint,
.counter-text,
.upload-counter,
.an-kicker,
.an-stat-label,
.cp-kicker,
.ws-kicker {
    color: var(--sb-text-muted) !important;
    letter-spacing: 0.06em !important;
}

.main,
.results-main,
.projects-container,
.upload-container,
.home-layout {
    width: 100%;
}

.active-workspace-shell {
    display: grid;
    gap: 1rem;
}

.active-workspace-top,
.workspace-status-topline,
.home-sidebar-head,
.recent-workspace-head {
    gap: 1rem;
}

.active-workspace-tabs {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)) !important;
    gap: 0.7rem !important;
}

.active-workspace-tab {
    min-height: 78px !important;
    padding: 0.85rem !important;
    background: var(--sb-surface-soft) !important;
    border: 1px solid var(--sb-border) !important;
    border-radius: 16px !important;
    color: var(--sb-text-soft) !important;
    box-shadow: none !important;
}

.active-workspace-tab.state-active,
.active-workspace-tab.state-ready {
    background: var(--sb-blue-soft) !important;
    border-color: rgba(31, 94, 255, 0.30) !important;
    color: var(--sb-blue-strong) !important;
}

.active-workspace-tab.state-done {
    background: #effcf6 !important;
    border-color: #b7efd3 !important;
    color: var(--sb-green) !important;
}

.active-workspace-tab.state-locked,
.active-workspace-tab.state-upcoming {
    opacity: 1 !important;
    color: var(--sb-text-muted) !important;
}

.active-workspace-tab-step {
    background: #ffffff !important;
    border: 1px solid var(--sb-border) !important;
    color: inherit !important;
}

.active-workspace-tab-label {
    color: var(--sb-text) !important;
}

.active-workspace-tab-note {
    color: var(--sb-text-soft) !important;
}

/* Workspace detail audit pass */
.section {
    padding: 1.25rem !important;
    margin-bottom: 1.15rem !important;
}

.section-header {
    min-height: 44px;
    padding: 0 0 0.95rem !important;
    margin-bottom: 1rem !important;
    border-bottom: 1px solid #edf2f7;
}

.section-header h2,
.section > h2 {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    font-size: clamp(1.08rem, 1.4vw, 1.35rem) !important;
}

.section-header h2::before {
    content: "";
    width: 0.55rem;
    height: 1.55rem;
    border-radius: 999px;
    background: linear-gradient(180deg, var(--sb-blue), var(--sb-teal));
}

.section-content {
    display: grid;
    gap: 1rem;
}

.section.collapsed {
    padding-bottom: 1.25rem !important;
}

.collapse-icon {
    width: 2rem;
    height: 2rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: var(--sb-surface-soft);
    border: 1px solid var(--sb-border);
    color: var(--sb-text-muted) !important;
}

.ghost-btn,
.review-ghost-btn {
    min-height: 44px;
    border-radius: 14px !important;
    font-weight: 700 !important;
}

.workspace-next-step {
    background: var(--sb-blue-soft) !important;
    border: 1px solid rgba(31, 94, 255, 0.18) !important;
    color: var(--sb-text-soft) !important;
}

.upload-card,
.loading-card,
.section,
.summary-banner,
.active-workspace-shell,
.workspace-card,
.workspace-section-nav-card,
.workspace-intro,
.workspace-shell-card,
.home-hero-card,
.home-sidebar-card,
.home-upload-card,
.project-card,
.scene-card,
.guidance-card,
.review-guidance-card,
.casting-guidance-card,
.casting-summary-card,
.cast-ai-planning-panel,
.cast-prompt-suggestion,
.cast-card,
.char-upload-card,
.scene-review-nav,
.scene-review-panel,
.review-focus-card,
.review-rail-card,
.sequence-view-card,
.sequence-shot-card,
.review-frame-card,
.review-rail-item,
.shot-card,
.frame-card,
.mapping-card,
.char-summary-card,
.env-card,
.dna-card,
.stats-bar,
.stat,
.stat-block,
.dna-item,
.scene-panel-stat,
.workspace-filter-toolbar,
.workspace-item,
.ws-card,
.ws-item,
.an-card,
.an-stat,
.cp-card,
.cp-alert,
.support-card,
.support-panel,
.support-stat,
.support-table-wrap {
    background: var(--sb-surface) !important;
    border-color: var(--sb-border) !important;
    color: var(--sb-text) !important;
    box-shadow: var(--sb-shadow-sm) !important;
}

.continuity-summary-card,
.continuity-scene-card,
.continuity-metric-card,
.continuity-inline-card,
.scene-sidebar,
.scene-detail-card,
.scene-nav-item,
.review-empty,
.workspace-empty,
.scene-empty-state,
.scene-catalog-note {
    background: var(--sb-surface) !important;
    border-color: var(--sb-border) !important;
    color: var(--sb-text) !important;
    box-shadow: none !important;
}

.home-feature-card,
.home-process-card,
.home-upload-intro-card,
.recent-workspace-card,
.recent-workspace-stat,
.detail-char-card,
.story-preview,
.workspace-script-preview,
.workspace-script-viewer,
.sequence-shot-thumb,
.project-thumbnail,
.frame-image,
.frame-empty,
.pending-card-body,
.cast-image-zone,
.live-debug-json,
.live-debug-card pre {
    background: var(--sb-surface-soft) !important;
    border-color: var(--sb-border) !important;
    color: var(--sb-text-soft) !important;
    box-shadow: none !important;
}

.continuity-summary-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 1rem !important;
    margin-bottom: 0 !important;
}

.continuity-summary-card {
    display: grid;
    align-content: start;
    min-height: 170px;
    padding: 1.15rem !important;
    border-radius: 20px !important;
    border-left: 4px solid rgba(31, 94, 255, 0.42) !important;
}

.continuity-summary-card span,
.continuity-metric-card span,
.continuity-inline-card span {
    color: var(--sb-text-muted) !important;
    font-size: 0.73rem !important;
    letter-spacing: 0.08em !important;
}

.continuity-summary-card strong {
    color: var(--sb-text) !important;
    font-size: 1.7rem !important;
    line-height: 1.1 !important;
}

.continuity-summary-card p,
.continuity-metric-card p,
.continuity-inline-card p {
    color: var(--sb-text-soft) !important;
    font-size: 0.86rem !important;
    line-height: 1.55 !important;
}

.section-content > .continuity-note {
    margin: 0 !important;
    padding: 0.9rem 1rem;
    border-radius: 16px;
    background: var(--sb-blue-soft);
    border: 1px solid rgba(31, 94, 255, 0.16);
    color: var(--sb-text-soft) !important;
    font-size: 0.92rem !important;
    line-height: 1.65 !important;
}

.continuity-scene-list {
    gap: 1rem !important;
}

.continuity-scene-card {
    gap: 1rem !important;
    padding: 1.25rem !important;
    border-radius: 24px !important;
    box-shadow: var(--sb-shadow-sm) !important;
}

.continuity-scene-head {
    align-items: center !important;
    padding-bottom: 0.85rem;
    border-bottom: 1px solid #edf2f7;
}

.continuity-scene-head h3 {
    color: var(--sb-text) !important;
    font-size: 1.05rem !important;
    letter-spacing: -0.02em;
}

.continuity-scene-head p {
    color: var(--sb-text-soft) !important;
    font-size: 0.9rem !important;
}

.continuity-scene-metrics,
.continuity-inline-grid {
    gap: 0.85rem !important;
}

.continuity-metric-card,
.continuity-inline-card {
    min-height: 128px;
    padding: 0.95rem 1rem !important;
    border-radius: 18px !important;
    background: var(--sb-surface-soft) !important;
    border: 1px solid var(--sb-border) !important;
}

.continuity-metric-card strong,
.continuity-inline-card strong {
    color: var(--sb-text) !important;
    font-size: 0.96rem !important;
    line-height: 1.4 !important;
}

.continuity-scene-actions {
    padding-top: 0.15rem;
}

.continuity-scene-actions .continuity-note {
    flex: 1 1 460px;
    color: var(--sb-text-soft) !important;
    font-size: 0.92rem !important;
    line-height: 1.65 !important;
}

.continuity-flag-list {
    gap: 0.55rem !important;
}

.continuity-flag {
    min-height: 36px;
    background: var(--sb-surface-soft) !important;
    border: 1px solid var(--sb-border) !important;
    color: var(--sb-text-soft) !important;
}

.continuity-flag small {
    opacity: 1 !important;
    color: inherit !important;
}

.continuity-empty,
.workspace-empty,
.scene-empty-state {
    background: #f0fdf4 !important;
    border-color: #bbf7d0 !important;
    color: var(--sb-green) !important;
}

.scene-workspace {
    gap: 1rem !important;
}

.scene-sidebar,
.scene-detail-card {
    border-radius: 22px !important;
    overflow: hidden;
    box-shadow: var(--sb-shadow-sm) !important;
}

.scene-sidebar-header,
.scene-detail-header {
    background: var(--sb-surface-soft);
    border-bottom-color: var(--sb-border) !important;
}

.scene-nav-list {
    gap: 0.65rem !important;
    padding: 0.85rem !important;
}

.scene-nav-item {
    border-radius: 16px !important;
    background: var(--sb-surface) !important;
}

.scene-nav-item:hover,
.scene-nav-item.active {
    background: var(--sb-blue-soft) !important;
    border-color: rgba(31, 94, 255, 0.30) !important;
    box-shadow: none !important;
}

.scene-catalog-note {
    background: #fffbeb !important;
    border-color: #fde68a !important;
    color: var(--sb-amber) !important;
}

.workspace-script-preview::after {
    background: linear-gradient(180deg, rgba(248, 251, 255, 0), var(--sb-surface-soft)) !important;
}

.scene-card:hover,
.scene-card.selected,
.sequence-shot-card:hover,
.sequence-shot-card.active,
.scene-review-item:hover,
.scene-review-item.active,
.shot-card.selected,
.review-rail-item:hover,
.review-rail-item.active,
.project-card:hover,
.cast-card:hover,
.char-upload-card:hover {
    background: var(--sb-surface-blue) !important;
    border-color: rgba(31, 94, 255, 0.34) !important;
    box-shadow: var(--sb-shadow-blue) !important;
    transform: translateY(-1px);
}

.home-nav-btn,
.home-user-chip,
.nav-link,
.workspace-section-btn,
.workspace-filter-btn,
.recent-workspace-filter-btn,
.review-display-btn,
.review-filter-btn,
.casting-filter-btn,
.scene-filter-btn,
.scene-action-btn,
.select-btn,
.btn-secondary,
.new-btn,
.review-ghost-btn,
.shot-btn,
.cast-action-btn,
.file-browse-btn,
.recent-workspace-ghost,
.ws-btn,
.cp-btn,
.support-btn {
    background: var(--sb-surface) !important;
    border: 1px solid var(--sb-border) !important;
    color: var(--sb-text) !important;
    box-shadow: none !important;
}

.home-nav-btn:hover,
.nav-link:hover,
.workspace-section-btn:hover,
.workspace-filter-btn:hover,
.workspace-filter-btn.active,
.recent-workspace-filter-btn:hover,
.recent-workspace-filter-btn.active,
.review-display-btn:hover,
.review-display-btn.active,
.review-filter-btn:hover,
.review-filter-btn.active,
.casting-filter-btn:hover,
.casting-filter-btn.active,
.scene-filter-btn:hover,
.scene-filter-btn.active,
.scene-action-btn:hover,
.select-btn:hover,
.btn-secondary:hover,
.new-btn:hover,
.review-ghost-btn:hover,
.shot-btn:hover,
.cast-action-btn:hover,
.file-browse-btn:hover,
.recent-workspace-ghost:hover,
.ws-btn:hover,
.cp-btn:hover,
.support-btn:hover {
    background: var(--sb-blue-soft) !important;
    border-color: rgba(31, 94, 255, 0.34) !important;
    color: var(--sb-blue-strong) !important;
}

.home-nav-btn.primary,
.home-cta.primary,
.submit-btn,
.review-ghost-btn.primary,
.cast-action-btn.primary,
.shot-btn.primary,
.ws-btn.primary,
.cp-btn.primary,
.support-btn.primary,
.btn-primary {
    background: linear-gradient(135deg, var(--sb-blue), var(--sb-blue-strong)) !important;
    border-color: var(--sb-blue) !important;
    color: #ffffff !important;
    box-shadow: var(--sb-shadow-blue) !important;
}

.home-nav-btn.danger,
.nav-link[style*="f87171"],
.danger,
.danger-link {
    color: var(--sb-red) !important;
}

.feedback-nav-btn {
    appearance: none;
    font: inherit;
    cursor: pointer;
}

.feedback-modal[hidden] {
    display: none !important;
}

.feedback-modal {
    position: fixed;
    inset: 0;
    z-index: 500;
    display: grid;
    place-items: center;
    padding: 1.25rem;
}

.feedback-modal-open {
    overflow: hidden;
}

.feedback-modal-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(15, 23, 42, 0.34);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
}

.feedback-modal-card {
    position: relative;
    width: min(100%, 560px);
    background:
        radial-gradient(circle at 12% 0%, rgba(31, 94, 255, 0.10), transparent 16rem),
        var(--sb-surface);
    border: 1px solid var(--sb-border);
    border-radius: 24px;
    box-shadow: 0 28px 80px rgba(15, 23, 42, 0.22);
    padding: 1.25rem;
}

.feedback-modal-top {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1rem;
}

.feedback-modal-kicker {
    margin: 0 0 0.35rem;
    color: var(--sb-text-muted);
    font-size: 0.74rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.feedback-modal-card h2 {
    margin: 0;
    color: var(--sb-text);
    font-family: var(--font-heading);
    font-size: clamp(1.35rem, 2vw, 1.8rem);
    line-height: 1.1;
}

.feedback-modal-close {
    width: 2.35rem;
    height: 2.35rem;
    border: 1px solid var(--sb-border);
    border-radius: 999px;
    background: var(--sb-surface-soft);
    color: var(--sb-text-muted);
    cursor: pointer;
    font-size: 1.35rem;
    line-height: 1;
}

.feedback-modal-form {
    display: grid;
    gap: 0.95rem;
}

.feedback-modal-field {
    display: grid;
    gap: 0.35rem;
    color: var(--sb-text);
    font-weight: 700;
    font-size: 0.9rem;
}

.feedback-modal-field select,
.feedback-modal-field textarea,
.feedback-modal-field input[type="file"] {
    width: 100%;
    border: 1px solid var(--sb-border);
    border-radius: 14px;
    background: var(--sb-surface-soft);
    color: var(--sb-text);
    font: inherit;
    font-weight: 500;
}

.feedback-modal-field select,
.feedback-modal-field input[type="file"] {
    min-height: 44px;
    padding: 0.65rem 0.8rem;
}

.feedback-modal-field textarea {
    padding: 0.8rem 0.9rem;
    resize: vertical;
    min-height: 132px;
}

.feedback-modal-actions {
    display: flex;
    justify-content: flex-end;
    gap: 0.7rem;
    flex-wrap: wrap;
    padding-top: 0.25rem;
}

.feedback-modal-secondary,
.feedback-modal-primary {
    min-height: 44px;
    border-radius: 999px;
    padding: 0.7rem 1.05rem;
    font-weight: 800;
    cursor: pointer;
}

.feedback-modal-secondary {
    border: 1px solid var(--sb-border);
    background: var(--sb-surface);
    color: var(--sb-text);
}

.feedback-modal-primary {
    border: 1px solid var(--sb-blue);
    background: linear-gradient(135deg, var(--sb-blue), var(--sb-blue-strong));
    color: #ffffff;
    box-shadow: var(--sb-shadow-blue);
}

.active-workspace-chip,
.workspace-pill,
.scene-insight-chip,
.scene-char-tag,
.scene-number,
.review-rail-count,
.scene-review-status,
.shot-approval-badge,
.status-pill,
.workspace-status-chip,
.workspace-status-pill,
.recent-workspace-filter-count,
.workspace-filter-count,
.scene-status-pill {
    background: var(--sb-blue-soft) !important;
    border: 1px solid rgba(31, 94, 255, 0.16) !important;
    color: var(--sb-blue-strong) !important;
}

.pill-success,
.tone-success,
.active-workspace-chip.tone-success,
.workspace-status-chip.tone-success,
.workspace-status-pill.tone-success,
.scene-status-pill.status-generated,
.review-status-chip.approved,
.frame-badge.success,
.frame-badge.generated {
    background: #ecfdf5 !important;
    border-color: #a7f3d0 !important;
    color: var(--sb-green) !important;
}

.pill-warning,
.tone-warning,
.active-workspace-chip.tone-warning,
.workspace-status-chip.tone-warning,
.workspace-status-pill.tone-warning {
    background: #fffbeb !important;
    border-color: #fde68a !important;
    color: var(--sb-amber) !important;
}

.scene-status-pill.status-partial,
.scene-status-pill.status-queued,
.scene-status-pill.status-needs_analysis,
.scene-status-pill.status-not_generated,
.continuity-flag.tone-warning {
    background: #fffbeb !important;
    border-color: #fde68a !important;
    color: var(--sb-amber) !important;
}

.scene-status-pill.status-ready,
.workspace-status-chip.tone-info,
.workspace-status-pill.tone-info,
.continuity-flag.tone-info {
    background: var(--sb-blue-soft) !important;
    border-color: rgba(31, 94, 255, 0.22) !important;
    color: var(--sb-blue-strong) !important;
}

.scene-status-pill.status-generated,
.continuity-flag.tone-success {
    background: #ecfdf5 !important;
    border-color: #a7f3d0 !important;
    color: var(--sb-green) !important;
}

.scene-status-pill.status-not_selected,
.scene-status-pill.status-removed,
.workspace-status-chip.tone-muted,
.workspace-status-pill.tone-muted,
.continuity-flag.tone-muted {
    background: #f8fafc !important;
    border-color: var(--sb-border) !important;
    color: var(--sb-text-muted) !important;
}

.pill-danger,
.tone-danger,
.active-workspace-chip.tone-danger,
.workspace-status-chip.tone-danger,
.workspace-status-pill.tone-danger,
.scene-status-pill.status-failed,
.continuity-flag.tone-danger {
    background: #fef2f2 !important;
    border-color: #fecaca !important;
    color: var(--sb-red) !important;
}

input,
textarea,
select,
.text-input,
.cp-input,
.cp-select,
.ws-input {
    min-height: 44px;
    background: var(--sb-surface) !important;
    border: 1px solid var(--sb-border-strong) !important;
    color: var(--sb-text) !important;
}

textarea {
    min-height: 150px;
}

input::placeholder,
textarea::placeholder {
    color: #8a98aa !important;
}

input:focus,
textarea:focus,
select:focus,
.text-input:focus,
.cp-input:focus,
.cp-select:focus,
.ws-input:focus {
    border-color: rgba(31, 94, 255, 0.55) !important;
    box-shadow: 0 0 0 4px rgba(31, 94, 255, 0.14) !important;
    outline: none !important;
}

.file-upload-area {
    background: var(--sb-surface-soft) !important;
    border-color: var(--sb-border-strong) !important;
    color: var(--sb-text-soft) !important;
}

.file-upload-area:hover,
.file-upload-area.dragover {
    background: var(--sb-blue-soft) !important;
    border-color: rgba(31, 94, 255, 0.45) !important;
}

.loading-overlay {
    background: rgba(15, 23, 42, 0.42) !important;
    backdrop-filter: blur(10px);
}

.loading-card {
    max-width: 440px;
}

.loading-bar {
    background: #e5edf8 !important;
}

.loading-bar-fill,
.progress-fill,
.an-bar {
    background: linear-gradient(90deg, var(--sb-blue), var(--sb-teal)) !important;
}

.alert-error,
.error-banner {
    background: #fef2f2 !important;
    border-color: #fecaca !important;
    color: var(--sb-red) !important;
}

.alert-success,
.success-banner {
    background: #ecfdf5 !important;
    border-color: #a7f3d0 !important;
    color: var(--sb-green) !important;
}

.alert-warning,
.warning-banner {
    background: #fffbeb !important;
    border-color: #fde68a !important;
    color: var(--sb-amber) !important;
}

.an-table th,
.cp-table th,
.support-table th {
    color: var(--sb-text-muted) !important;
    border-bottom-color: var(--sb-border) !important;
}

.an-table td,
.cp-table td,
.support-table td {
    color: var(--sb-text-soft) !important;
    border-bottom-color: #edf2f7 !important;
}

[style*="rgba(255,255,255"],
[style*="rgba(255, 255, 255"],
[style*="#FCA5A5"],
[style*="#6EE7B7"],
[style*="#FCD34D"] {
    color: var(--sb-text-soft) !important;
}

[style*="color:#f87171"],
[style*="color: #f87171"] {
    color: var(--sb-red) !important;
}

@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        scroll-behavior: auto !important;
        transition-duration: 0.01ms !important;
    }
}

@media (max-width: 1180px) {
    .continuity-summary-grid,
    .continuity-scene-metrics,
    .continuity-inline-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 980px) {
    .home-primary-stack,
    .home-layout,
    .workspace-overview,
    .review-shell,
    .shot-review-workspace,
    .casting-guidance,
    .workspace-grid,
    .continuity-summary-grid,
    .continuity-scene-metrics,
    .continuity-inline-grid {
        grid-template-columns: 1fr !important;
    }

    .scene-review-nav-list {
        max-height: none !important;
    }
}

@media (max-width: 640px) {
    .main,
    .home-main {
        padding: 1rem 0.85rem 3rem !important;
    }

    .header-inner,
    .home-header-inner {
        align-items: flex-start !important;
        flex-direction: column;
    }

    .header-nav,
    .home-header-actions {
        width: 100%;
        justify-content: flex-start !important;
    }

    .upload-card,
    .home-hero-card,
    .home-upload-card,
    .home-sidebar-card,
    .active-workspace-shell,
    .section,
    .workspace-card {
        padding: 1rem !important;
        border-radius: 16px !important;
    }
}
