/* =========================================================
   CareerPilot Global Theme System v2
   Shared light/dark theme overrides
   Load this file AFTER all page-specific CSS files.
========================================================= */

:root {
    color-scheme: light;
    --cp-bg: #f5f7fb;
    --cp-surface: #ffffff;
    --cp-surface-soft: #eef3f9;
    --cp-surface-raised: #ffffff;
    --cp-border: #dce4ef;
    --cp-border-strong: #c8d3e1;
    --cp-text: #111827;
    --cp-text-soft: #475569;
    --cp-muted: #718096;
    --cp-primary: #2563eb;
    --cp-primary-hover: #1d4ed8;
    --cp-primary-soft: #eaf1ff;
    --cp-danger: #be123c;
    --cp-danger-soft: #fff1f2;
    --cp-success: #15803d;
    --cp-input-bg: #ffffff;
    --cp-shadow: 0 12px 30px rgba(15, 23, 42, 0.08);
    --cp-overlay: rgba(15, 23, 42, 0.55);
}

html[data-theme="dark"],
body.dark-mode {
    color-scheme: dark;
    --cp-bg: #0b1220;
    --cp-surface: #111a2b;
    --cp-surface-soft: #162135;
    --cp-surface-raised: #18243a;
    --cp-border: #2b3950;
    --cp-border-strong: #3a4b66;
    --cp-text: #f8fafc;
    --cp-text-soft: #cbd5e1;
    --cp-muted: #94a3b8;
    --cp-primary: #60a5fa;
    --cp-primary-hover: #93c5fd;
    --cp-primary-soft: rgba(59, 130, 246, 0.16);
    --cp-danger: #fb7185;
    --cp-danger-soft: rgba(244, 63, 94, 0.12);
    --cp-success: #4ade80;
    --cp-input-bg: #0f172a;
    --cp-shadow: 0 16px 38px rgba(0, 0, 0, 0.34);
    --cp-overlay: rgba(2, 6, 23, 0.76);
}

/* Global page foundations */
html,
body {
    background: var(--cp-bg);
    color: var(--cp-text);
}

body,
button,
input,
textarea,
select {
    font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

a,
button,
input,
textarea,
select,
nav,
section,
article,
aside,
div {
    transition:
        background-color 160ms ease,
        border-color 160ms ease,
        color 160ms ease,
        box-shadow 160ms ease;
}

input,
textarea,
select {
    background: var(--cp-input-bg);
    color: var(--cp-text);
    border-color: var(--cp-border);
}

input::placeholder,
textarea::placeholder {
    color: var(--cp-muted);
}

input:focus,
textarea:focus,
select:focus {
    border-color: var(--cp-primary);
    outline: 3px solid color-mix(in srgb, var(--cp-primary) 18%, transparent);
}

/* Resume Builder navigation */
.resume-nav {
    background: var(--cp-surface);
    border-bottom-color: var(--cp-border);
    color: var(--cp-text);
}

.resume-logo,
.resume-nav-links a,
.resume-logout {
    color: var(--cp-text);
}

.resume-nav-links a:hover,
.resume-nav-links a.active {
    color: var(--cp-primary);
}

.resume-theme-button,
.resume-template-button,
.resume-export-button {
    background: var(--cp-surface-soft);
    color: var(--cp-primary);
    border-color: var(--cp-border);
}

.resume-theme-button:hover,
.resume-template-button:hover,
.resume-export-button:hover {
    background: var(--cp-primary-soft);
    border-color: var(--cp-primary);
}

.resume-save-button,
.resume-photo-upload-button,
.resume-ai-button,
.resume-add-button {
    background: var(--cp-primary);
    color: #ffffff;
    border-color: var(--cp-primary);
}

.resume-save-button:hover,
.resume-photo-upload-button:hover,
.resume-ai-button:hover,
.resume-add-button:hover {
    background: var(--cp-primary-hover);
    border-color: var(--cp-primary-hover);
}

.resume-clear-button {
    background: var(--cp-danger-soft);
    color: var(--cp-danger);
    border-color: color-mix(in srgb, var(--cp-danger) 30%, var(--cp-border));
}

/* Resume Builder page */
.resume-builder,
.resume-builder-header {
    color: var(--cp-text);
}

.resume-builder-header > div > p:not(.resume-label),
.resume-editor-heading p,
.resume-form-section-heading p,
.resume-photo-editor-controls p,
.resume-intelligence-header > p:not(.resume-label),
.resume-score-note,
.resume-auto-save-status {
    color: var(--cp-text-soft);
}

.resume-label {
    color: var(--cp-primary);
}

.resume-editor-panel,
.resume-intelligence-panel,
.resume-entry-card,
.resume-photo-editor,
.resume-suggestions-card,
.ai-modal-content {
    background: var(--cp-surface);
    border-color: var(--cp-border);
    color: var(--cp-text);
    box-shadow: var(--cp-shadow);
}

.resume-preview-panel {
    background: var(--cp-surface-soft);
    border-color: var(--cp-border);
    color: var(--cp-text);
}

.resume-form-section {
    border-color: var(--cp-border);
}

.resume-form-group label,
.resume-score-row,
.resume-score-category,
.resume-editor-heading h2,
.resume-form-section-heading h3,
.resume-preview-toolbar h2,
.resume-intelligence-header h2,
.resume-suggestions-card h3 {
    color: var(--cp-text);
}

.resume-section-number {
    background: var(--cp-primary-soft);
    color: var(--cp-primary);
}

.resume-photo-editor-preview,
.preview-placeholder {
    background: var(--cp-surface-soft);
    border-color: var(--cp-border-strong);
    color: var(--cp-muted);
}

.resume-photo-remove-button,
.resume-photo-reset-button,
.ai-cancel-button,
.ai-modal-close {
    background: var(--cp-surface-soft);
    color: var(--cp-text);
    border-color: var(--cp-border);
}

.resume-score-track {
    background: var(--cp-border);
}

.resume-score-track span {
    background: var(--cp-primary);
}

.resume-score-ring {
    background:
        conic-gradient(
            var(--cp-primary) var(--resume-score, 0deg),
            var(--cp-border) 0deg
        );
}

.resume-score-ring-inner {
    background: var(--cp-surface);
    color: var(--cp-text);
}

.ai-modal-overlay {
    background: var(--cp-overlay);
}

.ai-option-button {
    background: var(--cp-surface-soft);
    border-color: var(--cp-border);
    color: var(--cp-text);
}

.ai-option-button:hover {
    background: var(--cp-primary-soft);
    border-color: var(--cp-primary);
}

/* Keep the actual CV document white for printing and PDF */
.resume-preview-page {
    background: #ffffff;
    color: #111827;
    box-shadow: var(--cp-shadow);
}

.resume-preview-page h1,
.resume-preview-page h2,
.resume-preview-page h3,
.resume-preview-page p,
.resume-preview-page span,
.resume-preview-page strong {
    color: inherit;
}

.resume-preview-page .preview-placeholder {
    background: #f8fafc;
    border-color: #cbd5e1;
    color: #64748b;
}

/* Better dark-mode scrollbars */
body.dark-mode {
    scrollbar-color: var(--cp-border-strong) var(--cp-bg);
}

body.dark-mode ::selection {
    background: rgba(96, 165, 250, 0.35);
}

/* Mobile navigation remains readable */
@media (max-width: 1100px) {
    .resume-nav {
        background: var(--cp-surface);
    }

    .resume-nav-links {
        background: var(--cp-surface);
    }
}

/* Printing must remain clean and white */
@media print {
    html,
    body,
    body.dark-mode {
        background: #ffffff !important;
        color: #111827 !important;
    }

    .resume-preview-page {
        background: #ffffff !important;
        color: #111827 !important;
        box-shadow: none !important;
    }
}


/* CareerPilot Theme v2 — RC1 global polish */
html {
    scroll-behavior: smooth;
}

body {
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
}

::selection {
    background: rgba(37, 99, 235, .22);
    color: inherit;
}
