/* ==========================================================================
   SMART CV MAKER ENTERPRISE — 15+1 TEMPLATES, ANIMATIONS & MULTI-PAGE SYSTEM
   ========================================================================== */
.scv-builder-wrapper {
    font-family: 'Segoe UI', -apple-system, BlinkMacSystemFont, Roboto, sans-serif;
    color: #2b2b2b;
    background-color: #f4f5f7;
    padding: 16px;
    border-radius: 12px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.06);
    position: relative;
    box-sizing: border-box;
    transition: background-color 0.3s ease, color 0.3s ease;
}

/* ================= MOVE & COLOR-SHIFT KEYFRAME ANIMATIONS ================= */
@keyframes scvMoveUpDown {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-7px); }
}

@keyframes scvMoveLeftRight {
    0%, 100% { transform: translateX(0); }
    50% { transform: translateX(6px); }
}

@keyframes scvColorShift {
    0% { filter: hue-rotate(0deg); }
    50% { filter: hue-rotate(45deg); }
    100% { filter: hue-rotate(0deg); }
}

@keyframes scvGlowPulse {
    0%, 100% { box-shadow: 0 4px 15px rgba(16, 185, 129, 0.35); }
    50% { box-shadow: 0 8px 25px rgba(245, 158, 11, 0.55); }
}

@keyframes scvFadeIn {
    from { opacity: 0; transform: translateY(-8px); }
    to { opacity: 1; transform: translateY(0); }
}

/* Header bar with color shift animation */
.scv-top-navbar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    background: linear-gradient(135deg, #10b981 0%, #059669 50%, #2563eb 100%);
    background-size: 200% 200%;
    animation: scvColorShift 10s ease-in-out infinite, scvGlowPulse 4s ease-in-out infinite;
    color: #fff;
    padding: 12px 20px;
    border-radius: 10px;
    margin-bottom: 14px;
    gap: 14px;
    flex-wrap: wrap;
}

/* Buttons with Move & Shift animations */
.scv-head-btn.scv-btn-gold {
    background: linear-gradient(135deg, #f59e0b, #ea580c);
    animation: scvMoveUpDown 3s ease-in-out infinite;
}

.scv-head-btn.scv-btn-earn {
    background: #0284c7;
    animation: scvMoveLeftRight 4s ease-in-out infinite;
}

.scv-head-btn.scv-btn-download {
    background: #ea580c;
    animation: scvColorShift 6s ease infinite;
}

/* Preview Sheet floating animation */
.scv-preview-panel {
    flex: 1;
    background: #cbd5e1;
    padding: 24px;
    border-radius: 8px;
    display: flex;
    justify-content: center;
    max-height: 85vh;
    overflow-y: auto;
}

.scv-paper-sheet { 
    background: #fff;
    box-shadow: 0 10px 30px rgba(0,0,0,0.18);
    font-family: 'Segoe UI', Arial, sans-serif;
    color: #222;
    box-sizing: border-box;
    position: relative;
    transition: min-height .3s ease, transform .3s ease;
    animation: scvMoveUpDown 5s ease-in-out infinite;
}

/* ================= DARK MODE SYSTEM ================= */
.scv-builder-wrapper.scv-dark-mode {
    background-color: #0b1120;
    color: #cbd5e1;
}
.scv-dark-mode .scv-editor-panel {
    background: #1e293b;
    color: #f8fafc;
    border: 1px solid #334155;
}
.scv-dark-mode .scv-accordion {
    border-color: #334155;
    background: #1e293b;
}
.scv-dark-mode .scv-accordion-head {
    background: #1e293b;
    color: #f1f5f9;
}
.scv-dark-mode .scv-input {
    background: #0f172a;
    border-color: #334155;
    color: #f8fafc;
}
.scv-dark-mode .scv-dynamic-group {
    background: #0f172a;
    border-color: #334155;
}
.scv-dark-mode .scv-tpl-card {
    background: #0f172a;
    color: #f1f5f9;
    border-color: #334155;
}
.scv-dark-mode .scv-opt-btn {
    background: #0f172a;
    border-color: #334155;
    color: #cbd5e1;
}
.scv-dark-mode .scv-preview-panel {
    background: #111827;
}

/* Brand Box */
.scv-brand-box { display: flex; align-items: center; gap: 12px; }
.scv-brand-logo { width: 38px; height: 38px; background: rgba(255,255,255,0.2); display: flex; align-items: center; justify-content: center; border-radius: 8px; font-size: 20px; }
.scv-brand-text h2 { margin: 0; font-size: 18px; font-weight: 800; color: #fff; line-height: 1.2; }
.scv-brand-text span { font-size: 11px; opacity: 0.85; text-transform: uppercase; letter-spacing: .5px; }
.scv-nav-controls { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.scv-profile-capsule { display: flex; align-items: center; gap: 6px; background: rgba(0,0,0,0.22); border: 1px solid rgba(255,255,255,0.25); padding: 5px 12px; border-radius: 30px; }
.scv-user-tag, .scv-balance-tag { font-size: 12px; font-weight: 700; }
.scv-balance-tag { color: #fef08a; border-left: 1px solid rgba(255,255,255,0.3); padding-left: 8px; margin-left: 4px; }
.scv-btn-cluster, .scv-action-cluster { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }

/* Buttons */
.scv-head-btn, .scv-btn { border: none; padding: 8px 14px; border-radius: 6px; font-weight: 700; font-size: 12px; cursor: pointer; transition: all .2s ease; display: inline-flex; align-items: center; justify-content: center; gap: 6px; white-space: nowrap; text-decoration: none; box-sizing: border-box; }
.scv-head-btn:hover, .scv-btn:hover { transform: translateY(-2px) scale(1.02); }
.scv-btn-primary { background: var(--scv-primary); color: #fff; }
.scv-btn-outline { background: rgba(255,255,255,0.15); color: #fff; border: 1px solid rgba(255,255,255,0.35); }
.scv-btn-save { background: #111827; color: #fff; }
.scv-btn-icon { background: rgba(255,255,255,0.18); color: #fff; border: 1px solid rgba(255,255,255,0.3); width: 32px; height: 32px; border-radius: 50%; cursor: pointer; display: flex; align-items: center; justify-content: center; font-size: 13px; }
.scv-logout-icon { color: #fca5a5; }
.scv-btn-secondary-light { background: #e2e8f0; color: #334155; }
.scv-btn-secondary-light:hover { background: #cbd5e1; }
.scv-btn-sm { padding: 5px 10px; font-size: 11px; }

/* Floating Auto-Save & Alert Messages */
.scv-alert {
    position: fixed;
    top: 25px;
    right: 25px;
    z-index: 100000;
    padding: 12px 18px;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 700;
    box-shadow: 0 10px 25px rgba(0,0,0,0.18);
    animation: scvFadeIn 0.3s ease;
    max-width: 360px;
}
.scv-alert.success { background: #10b981; color: #fff; border-left: 5px solid #047857; }
.scv-alert.error { background: #ef4444; color: #fff; border-left: 5px solid #b91c1c; }

.scv-autosave-note {
    display: none;
    background: #ecfdf5;
    color: #065f46;
    border: 1px solid #a7f3d0;
    font-size: 11.5px;
    font-weight: 700;
    padding: 4px 10px;
    border-radius: 20px;
    margin-bottom: 10px;
    transition: opacity 0.3s ease;
}

/* Notice Ticker Animation */
.scv-ticker-wrap { display: flex; align-items: center; background: #111827; color: #facc15; border-radius: 6px; padding: 8px 12px; margin-bottom: 12px; overflow: hidden; font-size: 13px; font-weight: 700; }
.scv-ticker-heading { flex-shrink: 0; background: #ef4444; color: #fff; padding: 4px 10px; border-radius: 4px; margin-right: 12px; font-size: 11px; }
.scv-ticker { display: inline-block; white-space: nowrap; animation: scvTicker 22s linear infinite; }
@keyframes scvTicker { 0% { transform: translate3d(100%, 0, 0); } 100% { transform: translate3d(-100%, 0, 0); } }

/* Document & Image OCR Scan Banner */
.scv-import-banner { display: flex; justify-content: space-between; align-items: center; background: #eef2ff; border: 1px dashed #6366f1; padding: 10px 16px; border-radius: 8px; margin-bottom: 14px; font-size: 13px; color: #3730a3; flex-wrap: wrap; gap: 10px; }

.scv-container { display: flex; gap: 20px; align-items: flex-start; }
.scv-editor-panel { flex: 0 0 460px; max-width: 460px; background: #fff; padding: 16px; border-radius: 8px; box-shadow: 0 4px 6px rgba(0,0,0,0.05); max-height: 85vh; overflow-y: auto; }

/* Accordion */
.scv-accordion { border: 1px solid #e5e7eb; border-radius: 8px; margin-bottom: 10px; overflow: hidden; }
.scv-accordion-head { padding: 12px 14px; background: #f9fafb; font-weight: 800; font-size: 13px; display: flex; align-items: center; gap: 8px; cursor: pointer; justify-content: space-between; }
.scv-accordion-head .scv-chev { margin-left: auto; transition: transform .25s ease; font-size: 11px; }
.scv-accordion.open .scv-chev { transform: rotate(180deg); }
.scv-accordion-body { padding: 14px; display: none; }
.scv-accordion.open .scv-accordion-body { display: block; }

.scv-mini-label { display: block; font-size: 11px; font-weight: 800; text-transform: uppercase; color: #6b7280; margin: 12px 0 6px; }
.scv-req { color: #e11d48; }

.scv-btn-group { display: flex; gap: 6px; flex-wrap: wrap; }
.scv-opt-btn { flex: 1; min-width: 70px; padding: 8px 10px; font-size: 11px; font-weight: 700; background: #f3f4f6; border: 1px solid #e5e7eb; border-radius: 6px; cursor: pointer; color: #374151; transition: all .2s ease; }
.scv-opt-btn.active { background: var(--scv-primary); color: #fff; border-color: var(--scv-primary); }

.scv-template-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.scv-tpl-card { border: 2px solid #e5e7eb; border-radius: 8px; padding: 8px; background: #fff; cursor: pointer; font-size: 11px; font-weight: 700; color: #374151; text-align: center; }
.scv-tpl-card.active { border-color: var(--scv-primary); background: rgba(45,196,106,0.06); }
.scv-tpl-swatch { display: block; width: 100%; height: 38px; border-radius: 4px; margin-bottom: 6px; background: #eee; }

/* 15 Pro Templates + Custom Studio Swatches */
.tpl-european-swatch { background: linear-gradient(180deg,#fff 0 40%, #f3f4f6 40%); border-top: 5px solid var(--scv-primary); }
.tpl-minimal-swatch { background: #fff; border: 1px solid #ddd; }
.tpl-executive-swatch { background: linear-gradient(90deg, #171922 0 32%, #fff 32%); }
.tpl-tech-swatch { background: linear-gradient(90deg, #0f172a 0 32%, #fff 32%); }
.tpl-sidebar-swatch { background: linear-gradient(90deg, var(--scv-primary) 0 32%, #fff 32%); }
.tpl-creative-swatch { background: linear-gradient(135deg, var(--scv-primary), #111827); }
.tpl-nordic-swatch { background: #f8fafc; border-left: 6px solid #0284c7; }
.tpl-metro-swatch { background: linear-gradient(90deg, #334155 0 28%, #f1f5f9 28%); }
.tpl-harvard-swatch { background: #fff; border-top: 6px solid #881337; }
.tpl-timeline-swatch { background: #fdfdfd; border-left: 4px dashed #6366f1; }
.tpl-rosegold-swatch { background: linear-gradient(135deg, #fb7185, #fda4af); }
.tpl-cyber-swatch { background: #09090b; border: 1px solid #22c55e; }
.tpl-swiss-swatch { background: #fafafa; border-top: 5px solid #dc2626; }
.tpl-coral-swatch { background: linear-gradient(135deg, #f97316, #ea580c); }
.tpl-emerald-swatch { background: linear-gradient(90deg, #065f46 0 30%, #fff 30%); }
.tpl-custom-swatch { background: linear-gradient(135deg, #6366f1, #a855f7); color: #fff; display: flex; align-items: center; justify-content: center; font-size: 16px; }

.scv-custom-studio-card.active { border-color: #6366f1; background: #eef2ff; }

/* Color Swatches Line */
.scv-color-row { display: flex; align-items: center; gap: 8px; margin-top: 4px; }
.scv-color-swatch { width: 28px; height: 28px; border-radius: 50%; border: 2px solid #e2e8f0; cursor: pointer; transition: transform .2s ease, border-color .2s ease; }
.scv-color-swatch:hover { transform: scale(1.15); }
.scv-color-swatch.active { border-color: #111827; box-shadow: 0 0 0 2px rgba(0,0,0,0.15); }

.scv-form-group { margin-bottom: 12px; }
.scv-form-row { display: flex; gap: 8px; }
.scv-form-row .scv-input, .scv-form-row .scv-form-group { flex: 1; }
.scv-form-group label { font-size: 11px; font-weight: 700; color: #4b5563; display: block; margin-bottom: 4px; }
.scv-input { width: 100%; padding: 8px 10px; border: 1px solid #d1d5db; border-radius: 6px; font-size: 12.5px; box-sizing: border-box; font-family: inherit; margin-bottom: 8px; }
.scv-color-input { width: 40px; height: 35px; border: none; padding: 0; background: none; cursor: pointer; }
.scv-checkbox-line { display: flex; align-items: center; gap: 6px; font-size: 12px; font-weight: 600; color: #4b5563; margin-bottom: 8px; cursor: pointer; }

/* Dynamic Groups & Skills Bar */
.scv-skill-selector-bar { display: flex; gap: 8px; margin-bottom: 6px; align-items: center; }
.scv-skill-selector-bar select { margin-bottom: 0; }
.scv-dynamic-group { background: #f9fafb; border: 1px solid #e5e7eb; border-radius: 8px; padding: 12px; margin-bottom: 10px; display: flex; flex-direction: column; gap: 2px; }
.scv-btn-add { width: 100%; padding: 10px; border: 2px dashed #d1d5db; background: #fff; border-radius: 8px; font-weight: 700; font-size: 12px; color: var(--scv-primary); cursor: pointer; margin-top: 4px; }
.scv-btn-remove { align-self: flex-end; background: rgba(225,29,72,0.08); color: #be123c; border: none; padding: 5px 9px; border-radius: 5px; font-size: 11px; font-weight: 700; cursor: pointer; margin-top: 4px; }
.scv-ai-btn { background: linear-gradient(135deg,#7c3aed,#6366f1); color: #fff; border: none; padding: 7px 12px; border-radius: 6px; font-size: 11px; font-weight: 700; cursor: pointer; align-self: flex-start; margin: 2px 0 8px; }

/* Modals */
.scv-modal-backdrop { position: fixed; inset: 0; background: rgba(0,0,0,0.65); display: flex; align-items: center; justify-content: center; z-index: 99999; padding: 16px; }
.scv-modal-box { background: #fff; border-radius: 12px; padding: 22px; max-width: 520px; width: 100%; box-sizing: border-box; position: relative; }
.scv-close-btn { background: none; border: none; font-size: 24px; line-height: 1; color: #64748b; cursor: pointer; transition: color .2s ease; }
.scv-close-btn:hover { color: #0f172a; }

.scv-auth-tabs { display: flex; gap: 8px; margin: 12px 0 16px; border-bottom: 1px solid #e2e8f0; padding-bottom: 8px; }
.scv-tab-btn { flex: 1; padding: 8px; background: none; border: none; font-size: 13px; font-weight: 700; color: #64748b; cursor: pointer; border-radius: 6px; }
.scv-tab-btn.active { background: #f1f5f9; color: var(--scv-primary); }

.scv-dep-tabs { display: flex; gap: 8px; margin: 14px 0 12px; }
.scv-dep-tab-btn { flex: 1; padding: 10px; border-radius: 6px; font-weight: 700; font-size: 12.5px; border: 1px solid #d1d5db; background: #f9fafb; cursor: pointer; }
.scv-dep-tab-btn.active { background: var(--scv-primary); color: #fff; border-color: var(--scv-primary); }
.scv-sub-selector { display: flex; flex-wrap: wrap; gap: 10px; background: #f3f4f6; padding: 10px; border-radius: 6px; margin-bottom: 12px; font-size: 12.5px; font-weight: 600; }
.scv-gateway-copycard { display: flex; justify-content: space-between; align-items: center; background: #fffbeb; border: 1px solid #fef3c7; border-left: 5px solid #f59e0b; padding: 10px 14px; border-radius: 6px; margin-bottom: 14px; }
.scv-copy-tag { font-size: 11px; font-weight: 700; color: #b45309; display: block; }
.scv-active-acc { font-size: 13.5px; color: #111; word-break: break-all; }

/* Slide-out Drawer for Resumes */
.scv-drawer {
    position: fixed;
    top: 0;
    right: 0;
    width: 360px;
    height: 100vh;
    background: #fff;
    box-shadow: -10px 0 30px rgba(0,0,0,0.18);
    z-index: 999999;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    animation: scvFadeIn 0.25s ease;
}
.scv-drawer-head { display: flex; justify-content: space-between; align-items: center; padding: 16px; background: #f8fafc; border-bottom: 1px solid #e2e8f0; }
.scv-drawer-body { flex: 1; overflow-y: auto; padding: 16px; }

/* User Side Lifetime Saved Resumes List Styling */
.scv-saved-section-title {
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    color: #64748b;
    margin: 14px 0 8px;
    letter-spacing: .5px;
    display: flex;
    align-items: center;
    gap: 6px;
}
.scv-saved-cv-item {
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    padding: 12px;
    margin-bottom: 10px;
    transition: all 0.2s ease;
}
.scv-saved-cv-item:hover {
    border-color: var(--scv-primary);
    box-shadow: 0 4px 12px rgba(0,0,0,0.05);
}
.scv-saved-cv-title {
    font-size: 13.5px;
    font-weight: 700;
    color: #0f172a;
    margin-bottom: 4px;
}
.scv-saved-cv-meta {
    font-size: 11px;
    color: #64748b;
    margin-bottom: 8px;
    display: flex;
    gap: 8px;
    align-items: center;
    flex-wrap: wrap;
}
.scv-saved-cv-badge {
    background: #dcfce7;
    color: #166534;
    font-size: 10px;
    font-weight: 700;
    padding: 2px 6px;
    border-radius: 4px;
}
.scv-saved-cv-actions {
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
}

/* History Modal Tables */
.scv-history-table { width: 100%; border-collapse: collapse; font-size: 12px; margin-bottom: 12px; }
.scv-history-table th, .scv-history-table td { padding: 8px 10px; border: 1px solid #e2e8f0; text-align: left; }
.scv-history-table th { background: #f8fafc; font-weight: 700; }

/* ================= 15+1 TEMPLATES DESIGNS ================= */
.tpl-european { border-top: 6px solid var(--scv-primary); }
.tpl-european .cv-name { color: #111827; }

.tpl-minimal .cv-name { font-weight: 700; }
.tpl-minimal .cv-divider { background: #333 !important; height: 1px !important; }

.tpl-executive.col-mode-two .cv-sidebar { background: #171922; color: #fff; padding: 30px 20px; flex: 0 0 250px; }
.tpl-executive.col-mode-two .cv-sidebar .cv-section h4 { color: #facc15; border-color: #333; }
.tpl-executive.col-mode-two .cv-sidebar .cv-skill-line { background: #262935; color: #fff; }

.tpl-tech .cv-top-row { background: #0f172a; color: #fff; padding: 32px 34px; }
.tpl-tech .cv-name { color: #fff; }

.tpl-sidebar.col-mode-two .cv-sidebar { background: var(--scv-primary); color: #fff; padding: 30px 20px; flex: 0 0 250px; }
.tpl-sidebar.col-mode-two .cv-sidebar .cv-section h4 { color: #fff; border-color: rgba(255,255,255,0.3); }
.tpl-sidebar.col-mode-two .cv-sidebar .cv-skill-line { background: rgba(255,255,255,0.2); color: #fff; }

.tpl-creative .cv-top-row { background: linear-gradient(135deg, var(--scv-primary), #111827); color: #fff; padding: 36px; }
.tpl-creative .cv-name { color: #fff; }

.tpl-nordic { border-left: 8px solid #0284c7; }
.tpl-nordic .cv-section h4 { color: #0284c7; border-color: #e0f2fe; }

.tpl-metro.col-mode-two .cv-sidebar { background: #334155; color: #fff; padding: 25px; flex: 0 0 240px; }
.tpl-metro.col-mode-two .cv-sidebar .cv-section h4 { color: #38bdf8; border-color: #475569; }
.tpl-metro.col-mode-two .cv-sidebar .cv-skill-line { background: #1e293b; color: #fff; }

.tpl-harvard .cv-name { font-family: 'Georgia', serif; font-size: 30px; color: #881337; }
.tpl-harvard .cv-section h4 { font-family: 'Georgia', serif; color: #881337; border-bottom: 2px solid #881337; }

.tpl-timeline .cv-item { border-left: 2px solid var(--scv-primary); padding-left: 12px; margin-left: 4px; position: relative; }

.tpl-rosegold .cv-name { color: #e11d48; }
.tpl-rosegold .cv-divider { background: linear-gradient(90deg, #fb7185, #fda4af); }

.tpl-cyber { background: #09090b !important; color: #e4e4e7 !important; }
.tpl-cyber .cv-name { color: #22c55e !important; }
.tpl-cyber .cv-section h4 { color: #22c55e !important; border-color: #27272a !important; }
.tpl-cyber .cv-item-title, .tpl-cyber .cv-sub-institute { color: #fafafa !important; }
.tpl-cyber .cv-item-desc { color: #a1a1aa !important; }
.tpl-cyber .cv-skill-line { background: #18181b !important; color: #22c55e !important; border: 1px solid #27272a; }

.tpl-swiss { border-top: 6px solid #dc2626; }
.tpl-swiss .cv-name { font-weight: 900; letter-spacing: -1px; text-transform: uppercase; }
.tpl-swiss .cv-section h4 { color: #dc2626; border-color: #dc2626; }

.tpl-coral .cv-top-row { background: linear-gradient(135deg, #f97316, #ea580c); color: #fff; }
.tpl-coral .cv-name { color: #fff; }

.tpl-emerald.col-mode-two .cv-sidebar { background: #065f46; color: #fff; padding: 25px; flex: 0 0 240px; }
.tpl-emerald.col-mode-two .cv-sidebar .cv-section h4 { color: #a7f3d0; border-color: rgba(255,255,255,0.2); }
.tpl-emerald.col-mode-two .cv-sidebar .cv-skill-line { background: #047857; color: #fff; }

/* 16th Custom Studio Dynamics */
.tpl-custom[data-custom-font="georgia"] { font-family: 'Georgia', serif; }
.tpl-custom[data-custom-font="roboto"] { font-family: 'Roboto', sans-serif; }
.tpl-custom[data-custom-font="mono"] { font-family: monospace; }

.tpl-custom[data-custom-header="solid"] .cv-top-row { background: var(--scv-primary); color: #fff; }
.tpl-custom[data-custom-header="solid"] .cv-name { color: #fff; }
.tpl-custom[data-custom-header="gradient"] .cv-top-row { background: linear-gradient(135deg, var(--scv-primary), #1e293b); color: #fff; }
.tpl-custom[data-custom-header="gradient"] .cv-name { color: #fff; }
.tpl-custom[data-custom-header="dark"] .cv-top-row { background: #0f172a; color: #fff; }
.tpl-custom[data-custom-header="dark"] .cv-name { color: #38bdf8; }

.tpl-custom[data-custom-heading="leftborder"] .cv-section h4 { border-bottom: none; border-left: 4px solid var(--scv-primary); padding-left: 8px; }
.tpl-custom[data-custom-heading="pill"] .cv-section h4 { display: inline-block; background: var(--scv-primary); color: #fff; padding: 4px 12px; border-radius: 20px; border-bottom: none; }
.tpl-custom[data-custom-heading="boxed"] .cv-section h4 { background: #f3f4f6; padding: 6px 10px; border-bottom: 2px solid var(--scv-primary); }

/* Strict ATS High-Contrast Mode */
.ats-mode {
    background: #ffffff !important;
    color: #000000 !important;
    box-shadow: none !important;
    font-family: Arial, Helvetica, sans-serif !important;
}
.ats-mode .cv-top-row { background: none !important; color: #000 !important; padding: 20px 20px 0 !important; }
.ats-mode .cv-photo-slot, .ats-mode .cv-photo-wrapper { display: none !important; }
.ats-mode .cv-name { color: #000 !important; font-size: 24px !important; }
.ats-mode .cv-jobtitle { color: #222 !important; font-weight: 700 !important; }
.ats-mode .cv-divider { background: #000 !important; height: 1.5px !important; margin: 10px 20px 0 !important; }
.ats-mode .cv-section h4 { color: #000 !important; border-bottom: 1.5px solid #000 !important; }
.ats-mode .cv-sidebar { background: none !important; color: #000 !important; }
.ats-mode .cv-skill-line { background: #f1f5f9 !important; color: #000 !important; border: 1px solid #ccc !important; }

/* ================= PAPER FORMATS & 2-PAGE AUTO MARGINS ================= */
.scv-paper-sheet.format-a4 { width: 794px; }
.scv-paper-sheet.format-letter { width: 816px; }
.scv-paper-sheet.format-legal { width: 816px; }

.scv-paper-sheet.single-page-mode.format-a4 { min-height: 1123px; }
.scv-paper-sheet.two-page-mode.format-a4 { min-height: 2246px; }

.scv-paper-sheet.single-page-mode.format-letter { min-height: 1056px; }
.scv-paper-sheet.two-page-mode.format-letter { min-height: 2112px; }

.scv-paper-sheet.single-page-mode.format-legal { min-height: 1344px; }
.scv-paper-sheet.two-page-mode.format-legal { min-height: 2688px; }

.scv-page-break-indicator {
    position: absolute;
    top: 1123px;
    left: 0;
    right: 0;
    border-top: 2px dashed #94a3b8;
    text-align: center;
    height: 0;
    z-index: 20;
}
.scv-page-break-indicator span {
    position: relative;
    top: -11px;
    background: #475569;
    color: #fff;
    font-size: 10px;
    padding: 3px 10px;
    border-radius: 12px;
    text-transform: uppercase;
    font-weight: 700;
}

.two-page-mode .cv-page-split {
    margin-top: 60px !important;
    padding-top: 40px !important;
    border-top: 1px dotted #cbd5e1;
    page-break-before: always;
}

/* ================= HARMONIZED PROFILE PHOTO POSITION SYSTEM ================= */
.cv-top-row, .cv-header { 
    display: flex; 
    align-items: center; 
    gap: 20px; 
    padding: 34px 40px 0; 
    transition: all 0.3s ease;
}

.cv-photo-slot, .cv-photo-wrapper {
    flex-shrink: 0;
    width: 105px;
    height: 105px;
    border-radius: 50%;
    overflow: hidden;
    background: #eee;
}

.cv-photo-img, .cv-photo-wrapper img { 
    width: 100%; 
    height: 100%; 
    object-fit: cover; 
    border: 3px solid var(--scv-primary); 
    display: block;
}

.shape-rounded .cv-photo-img, .shape-rounded .cv-photo-wrapper { border-radius: 50%; }
.shape-sharp .cv-photo-img, .shape-sharp .cv-photo-wrapper { border-radius: 8px; }
.shape-wave .cv-photo-img, .shape-wave .cv-photo-wrapper { border-radius: 30% 70% 70% 30% / 30% 30% 70% 70%; }

.cv-header-block, .cv-header-info { flex: 1; }

/* 1. Left Position */
.cv-top-row.ph-left, .cv-header.pos-left {
    flex-direction: row !important;
    text-align: left !important;
    align-items: center !important;
}
.cv-top-row.ph-left .cv-header-block, .cv-header.pos-left .cv-header-info { text-align: left !important; }
.cv-top-row.ph-left .cv-contact-line, .cv-header.pos-left .cv-contact-line { justify-content: flex-start !important; }

/* 2. Center Position */
.cv-top-row.ph-center, .cv-header.pos-center {
    flex-direction: column !important;
    text-align: center !important;
    align-items: center !important;
    justify-content: center !important;
}
.cv-top-row.ph-center .cv-header-block, .cv-header.pos-center .cv-header-info { text-align: center !important; width: 100% !important; }
.cv-top-row.ph-center .cv-contact-line, .cv-header.pos-center .cv-contact-line { justify-content: center !important; }

/* 3. Right Position */
.cv-top-row.ph-right, .cv-header.pos-right {
    flex-direction: row-reverse !important;
    text-align: left !important;
    align-items: center !important;
    justify-content: space-between !important;
}
.cv-top-row.ph-right .cv-header-block, .cv-header.pos-right .cv-header-info { text-align: left !important; }
.cv-top-row.ph-right .cv-contact-line, .cv-header.pos-right .cv-contact-line { justify-content: flex-start !important; }

/* 4. Top Position */
.cv-top-row.ph-top, .cv-header.pos-top {
    flex-direction: column !important;
    text-align: center !important;
    align-items: center !important;
}
.cv-top-row.ph-top .cv-photo-slot, .cv-header.pos-top .cv-photo-wrapper { margin-bottom: 12px !important; }
.cv-top-row.ph-top .cv-header-block, .cv-header.pos-top .cv-header-info { text-align: center !important; width: 100% !important; }
.cv-top-row.ph-top .cv-contact-line, .cv-header.pos-top .cv-contact-line { justify-content: center !important; }

/* 5. Hide Position */
.cv-top-row.ph-none .cv-photo-slot,
.cv-header.pos-hide .cv-photo-wrapper,
.cv-header.pos-hide #preview-photo-box {
    display: none !important;
}
.cv-top-row.ph-none, .cv-header.pos-hide { flex-direction: row !important; }
.cv-top-row.ph-none .cv-header-block, .cv-header.pos-hide .cv-header-info { text-align: left !important; width: 100% !important; }

/* Typography & Layout Elements */
.cv-name { font-size: 28px; font-weight: 800; margin: 0; color: #111; }
.cv-jobtitle { font-size: 14px; font-weight: 600; color: var(--scv-primary); margin-top: 2px; }
.cv-contact-line { margin-top: 8px; font-size: 11.5px; color: #555; display: flex; gap: 14px; flex-wrap: wrap; }
.cv-divider { height: 4px; margin: 16px 40px 0; background: var(--scv-primary); }

.cv-flex-wrap { display: flex; padding: 22px 40px 40px; }
.col-mode-one .cv-flex-wrap { flex-direction: column; }
.col-mode-two .cv-flex-wrap { flex-direction: row; gap: 26px; }
.cv-main { flex: 1; min-width: 0; }
.cv-sidebar { flex: 0 0 230px; }

.cv-section { margin-bottom: 16px; }
.cv-section h4 { font-size: 13px; text-transform: uppercase; letter-spacing: .5px; font-weight: 800; color: var(--scv-primary); border-bottom: 1.5px solid #e5e7eb; padding-bottom: 5px; margin: 0 0 10px; }
.cv-item { margin-bottom: 11px; }
.cv-item-title { font-weight: 700; font-size: 13px; color: #111; }
.cv-sub-institute { font-size: 12px; font-weight: 600; color: #555; }
.cv-item-duration { font-size: 11px; color: #888; }
.cv-item-desc { font-size: 12px; color: #444; margin-top: 4px; line-height: 1.5; }
.cv-summary-text { line-height: 1.6; text-align: justify; }

.cv-personal-table { width: 100%; border-collapse: collapse; margin-top: 6px; }
.cv-personal-table td { padding: 4px 6px; font-size: 11.5px; border-bottom: 1px dashed #eee; vertical-align: top; }
.cv-personal-table td.lbl { font-weight: 700; color: #333; width: 28%; }

.cv-footer-sign { display: flex; justify-content: space-between; margin-top: 25px; padding-top: 15px; }
.cv-footer-box { width: 180px; text-align: center; }
.cv-footer-line { border-top: 1px solid #444; margin-bottom: 4px; }
.cv-footer-box p { margin: 0; font-size: 11.5px; font-weight: 600; color: #333; }

.cv-skills-flow { display: flex; flex-wrap: wrap; gap: 6px; }
.cv-skill-line { font-size: 11.5px; font-weight: 600; color: #222; background: #f3f4f6; padding: 4px 8px; border-radius: 4px; }
.cv-skill-level-tag { font-size: 10px; font-weight: 700; color: var(--scv-primary); margin-left: 4px; }

.cv-lang-grid { display: flex; flex-direction: column; gap: 6px; }
.cv-lang-item { background: #f9fafb; padding: 6px 10px; border-radius: 6px; font-size: 11.5px; }
.cv-references-grid { display: flex; flex-direction: column; gap: 8px; }
.cv-ref-card { background: #fdfdfd; border: 1px solid #eee; border-left: 3px solid var(--scv-primary); padding: 8px 12px; border-radius: 4px; font-size: 11.5px; }

/* Reset & Action Buttons */
.cv-actions-bar { margin-top: 20px; display: flex; gap: 10px; flex-wrap: wrap; }
.btn-new-reset {
    background-color: #ef4444;
    color: #ffffff;
    border: none;
    padding: 9px 16px;
    border-radius: 6px;
    cursor: pointer;
    font-weight: 700;
    transition: background-color 0.2s ease;
}
.btn-new-reset:hover { background-color: #dc2626; }

/* ================= FLOATING LIVE CHAT ================= */
.scv-floating-chat { position: fixed; bottom: 25px; right: 25px; z-index: 9999; }
.scv-chat-toggle-btn { display: flex; align-items: center; gap: 8px; background: #111827; color: #fff; padding: 12px 18px; border-radius: 30px; cursor: pointer; box-shadow: 0 10px 25px rgba(0,0,0,0.25); font-weight: 700; font-size: 13px; transition: transform .2s ease; }
.scv-chat-toggle-btn:hover { transform: scale(1.05); }
.scv-online-dot { width: 9px; height: 9px; background: #22c55e; border-radius: 50%; box-shadow: 0 0 8px #22c55e; }
.scv-chat-window { position: absolute; bottom: 55px; right: 0; width: 320px; background: #fff; border-radius: 12px; box-shadow: 0 15px 40px rgba(0,0,0,0.2); display: flex; flex-direction: column; overflow: hidden; border: 1px solid #e5e7eb; }
.scv-chat-window-head { background: var(--scv-primary); color: #fff; padding: 12px 14px; display: flex; justify-content: space-between; align-items: center; }
.scv-chat-window-head strong { font-size: 13px; }
.scv-sub-status { font-size: 10px; opacity: 0.9; display: flex; align-items: center; gap: 4px; margin-top: 2px; }
.scv-dot-pulse { width: 6px; height: 6px; background: #fff; border-radius: 50%; display: inline-block; }
.scv-chat-close { background: none; border: none; color: #fff; font-size: 20px; cursor: pointer; }
.scv-chat-messages { height: 220px; overflow-y: auto; padding: 12px; background: #f9fafb; display: flex; flex-direction: column; gap: 8px; }
.scv-chat-bubble { max-width: 82%; padding: 8px 12px; border-radius: 10px; font-size: 12px; line-height: 1.4; }
.scv-chat-bubble.admin { background: #e5e7eb; color: #111; align-self: flex-start; }
.scv-chat-bubble.user { background: var(--scv-primary); color: #fff; align-self: flex-end; }
.scv-chat-img-thumb { max-width: 140px; max-height: 100px; border-radius: 6px; margin-top: 6px; border: 1px solid rgba(255,255,255,0.4); }
.scv-chat-input-bar { display: flex; align-items: center; padding: 8px 10px; background: #fff; border-top: 1px solid #eee; gap: 6px; }
.scv-chat-file-btn { color: #6b7280; cursor: pointer; font-size: 16px; padding: 4px 6px; }
.scv-chat-text-input { flex: 1; border: 1px solid #d1d5db; border-radius: 20px; padding: 6px 12px; font-size: 12px; outline: none; }
.scv-chat-send-btn { background: var(--scv-primary); color: #fff; border: none; width: 32px; height: 32px; border-radius: 50%; cursor: pointer; display: flex; align-items: center; justify-content: center; }
.scv-chat-file-indicator { background: #fef3c7; color: #92400e; font-size: 11px; padding: 4px 10px; display: flex; justify-content: space-between; align-items: center; }
.scv-remove-shot { cursor: pointer; color: #dc2626; }

@media screen and (max-width: 980px) {
    .scv-container { flex-direction: column; }
    .scv-editor-panel { flex: 1 1 auto; max-width: 100%; max-height: none; }
    .scv-preview-panel { max-height: none; }
    .scv-top-navbar { flex-direction: column; align-items: flex-start; }
    .scv-floating-chat { bottom: 15px; right: 15px; }
}

@media print {
    body * { visibility: hidden !important; }
    #cv-preview-area.scv-authorized-print,
    #cv-preview-area.scv-authorized-print * { visibility: visible !important; }
    #cv-preview-area.scv-authorized-print { position: absolute !important; left: 0 !important; top: 0 !important; width: 100% !important; box-shadow: none !important; }
    .scv-page-break-indicator { display: none !important; }
}