@import url('https://fonts.googleapis.com/css2?family=Bodoni+Moda:ital,wght@0,400;0,600;0,700;1,400&family=Cinzel:wght@400;600;700&family=DM+Sans:ital,wght@0,400;0,500;0,700;1,400&family=EB+Garamond:ital,wght@0,400;0,600;0,700;1,400&family=Inter:wght@300;400;500;600;700;800&family=JetBrains+Mono:wght@400;500;600&family=Jost:wght@400;500;600;700&family=Lato:wght@300;400;700;900&family=Lora:ital,wght@0,400;0,600;0,700;1,400&family=Merriweather:ital,wght@0,300;0,400;0,700;1,300&family=Montserrat:wght@400;500;600;700;800&family=Nunito+Sans:ital,wght@0,400;0,600;0,700;1,400&family=Open+Sans:wght@300;400;600;700;800&family=Outfit:wght@300;400;500;600;700;800&family=Playfair+Display:ital,wght@0,400;0,600;0,700;1,400&family=Plus+Jakarta+Sans:wght@300;400;500;600;700;800&family=Poppins:wght@300;400;500;600;700;800&family=Raleway:wght@400;500;600;700&family=Roboto:wght@300;400;500;700;900&display=swap');

:root {
    --bg-page: #f0f4f8;
    --bg-surface: #ffffff;
    --bg-subtle: #f1f5f9;
    --bg-hover: #e2e8f0;
    --border-light: #e2e8f0;
    --border-medium: #cbd5e1;
    --border-dark: #94a3b8;
    --text-main: #0f172a;
    --text-muted: #475569;
    --text-subtle: #64748b;

    /* Studio Pink brand palette */
    --brand-blue: #ff0ad3;
    --brand-blue-dark: #bd009c;
    --brand-blue-mid: #e500bd;
    --brand-blue-light: #ffe0f7;
    --brand-blue-border: #ff91e7;
    --brand-orange: #F57C00;        /* Orange — accent / CTA */
    --brand-orange-dark: #E65100;   /* Deep orange for hover */
    --brand-orange-light: #FFF3E0;  /* Light orange for badges/chips */
    --brand-orange-border: #FFCC80; /* Light orange for borders */

    /* Legacy accent vars mapped to new brand palette */
    --accent-teal: #ff0ad3;
    --accent-teal-dark: #bd009c;
    --accent-teal-light: #ffe0f7;
    --accent-teal-border: #ff91e7;
    --accent-blue: #ff0ad3;
    --accent-blue-hover: #bd009c;
    --accent-blue-light: #ffe0f7;
    --accent-purple: #5E35B1;
    --accent-purple-hover: #4527A0;
    --accent-purple-light: #EDE7F6;
    --accent-purple-border: #CE93D8;
    --accent-green: #2E7D32;
    --accent-green-hover: #1B5E20;
    --accent-green-light: #E8F5E9;
    --accent-green-border: #A5D6A7;
    --accent-amber: #F57C00;
    --accent-red: #C62828;
    --accent-red-light: #FFEBEE;

    --font-outfit: 'Outfit', sans-serif;
    --font-mono: 'JetBrains Mono', monospace;
    --shadow-panel: 0 1px 3px rgba(0, 0, 0, 0.07), 0 1px 2px rgba(0, 0, 0, 0.04);
    --shadow-sheet: 0 4px 20px -2px rgba(0, 0, 0, 0.08), 0 2px 6px -1px rgba(0, 0, 0, 0.04);
    --shadow-drawer: -4px 0 25px rgba(0, 0, 0, 0.12);
}

/* Global Reset & Strict Zero Radius (Except Round Initials Avatar Badge) */
* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    border-radius: 0;
}

body {
    background-color: var(--bg-page);
    color: var(--text-main);
    font-family: var(--font-outfit);
    line-height: 1.15;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    padding-top: var(--nav-offset, 64px);
}

button, input, select, textarea, optgroup, option {
    font-family: var(--font-outfit);
}

/* ======================================================== */
/* MODERN SANS-SERIF & EXECUTIVE FONT CLASSES (LIVE SWITCH) */
/* ======================================================== */
/* Modern Sans-Serif */
.font-outfit { font-family: 'Outfit', -apple-system, BlinkMacSystemFont, sans-serif !important; }
.font-poppins { font-family: 'Poppins', -apple-system, BlinkMacSystemFont, sans-serif !important; }
.font-helvetica { font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", Helvetica, Arial, sans-serif !important; }
.font-futura { font-family: 'Futura', 'Jost', 'Century Gothic', -apple-system, sans-serif !important; }
.font-avenir { font-family: 'Avenir Next', 'Avenir', 'Nunito Sans', -apple-system, sans-serif !important; }
.font-plus-jakarta-sans { font-family: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, sans-serif !important; }
.font-inter { font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif !important; }
.font-montserrat { font-family: 'Montserrat', -apple-system, BlinkMacSystemFont, sans-serif !important; }
.font-raleway { font-family: 'Raleway', -apple-system, BlinkMacSystemFont, sans-serif !important; }
.font-dm-sans { font-family: 'DM Sans', -apple-system, BlinkMacSystemFont, sans-serif !important; }
.font-jost { font-family: 'Jost', 'Futura', -apple-system, BlinkMacSystemFont, sans-serif !important; }
.font-nunito-sans { font-family: 'Nunito Sans', 'Avenir', -apple-system, BlinkMacSystemFont, sans-serif !important; }
.font-roboto { font-family: 'Roboto', -apple-system, BlinkMacSystemFont, sans-serif !important; }
.font-open-sans { font-family: 'Open Sans', -apple-system, BlinkMacSystemFont, sans-serif !important; }
.font-lato { font-family: 'Lato', -apple-system, BlinkMacSystemFont, sans-serif !important; }
.font-calibri { font-family: Calibri, Candara, Segoe, -apple-system, sans-serif !important; }
.font-arial { font-family: Arial, "Helvetica Neue", Helvetica, sans-serif !important; }
.font-abadi { font-family: 'Abadi', 'Abadi MT Condensed Light', 'Outfit', sans-serif !important; }

/* Executive & Luxury Serif */
.font-bodoni,
.font-bodoni-moda { font-family: 'Bodoni Moda', 'Libre Bodoni', 'Didot', 'Bodoni MT', Georgia, serif !important; }
.font-playfair-display,
.font-playfair { font-family: 'Playfair Display', Georgia, serif !important; }
.font-merriweather { font-family: 'Merriweather', Georgia, serif !important; }
.font-lora { font-family: 'Lora', Georgia, serif !important; }
.font-eb-garamond,
.font-garamond { font-family: 'EB Garamond', 'Garamond', Georgia, serif !important; }
.font-georgia { font-family: Georgia, 'Times New Roman', serif !important; }
.font-cinzel { font-family: 'Cinzel', Georgia, serif !important; }

/* Technical Monospace */
.font-jetbrains-mono { font-family: 'JetBrains Mono', Consolas, monospace !important; }

/* ======================================================== */
/* ======================================================== */
/* NAVBAR — Glassmorphic, Modern & Uncluttered              */
/* ======================================================== */
.navbar {
    background: rgba(255, 255, 255, 0.9);
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
    border-bottom: 1px solid rgba(255, 10, 211, 0.08);
    padding: 0.55rem 1.5rem;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 400;
    box-shadow: 0 1px 0 rgba(255, 255, 255, 0.8);
    width: 100%;
    max-width: 100%;
    min-height: 64px;
    transition: box-shadow 0.25s ease, background 0.25s ease;
}

.navbar.is-scrolled {
    background: rgba(255, 255, 255, 0.96);
    box-shadow: 0 8px 24px rgba(15, 23, 42, 0.06);
}

.nav-container {
    max-width: 1740px;
    width: 100%;
    min-width: 0;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
}

/* Left: Brand & Contextual Document Title */
.nav-brand-group {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    flex: 0 1 auto;
    min-width: 0;
}

.nav-brand {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    text-decoration: none;
    cursor: pointer;
}

.brand-icon {
    width: 29px;
    height: 29px;
    background: var(--brand-blue, #ff0ad3);
    border-radius: 6px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #0f172a;
    font-size: 0.72rem;
    font-weight: 900;
    letter-spacing: 0;
    line-height: 1;
    flex-shrink: 0;
    transition: transform 0.15s ease;
    overflow: hidden;
}

.nav-brand:hover .brand-icon {
    transform: scale(1.04);
}

.brand-title {
    font-family: 'Outfit', sans-serif;
    font-size: 1.15rem;
    font-weight: 800;
    letter-spacing: -0.025em;
    color: #0f172a;
}

.nav-doc-title-wrap {
    display: flex;
    align-items: center;
    gap: 0.45rem;
}

.nav-doc-sep {
    color: #cbd5e1;
    font-size: 1.1rem;
    font-weight: 300;
    user-select: none;
}

.nav-doc-title-field {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 6px;
    padding: 0.22rem 0.5rem;
    color: #64748b;
    transition: border-color 0.15s ease, background 0.15s ease;
}

.nav-doc-title-field:focus-within {
    border-color: #1565C0;
    background: #ffffff;
    box-shadow: 0 0 0 2px rgba(37, 99, 235, 0.1);
}

.nav-doc-title-input {
    border: none;
    background: transparent;
    font-family: 'Outfit', sans-serif;
    font-size: 0.8rem;
    font-weight: 600;
    color: #0f172a;
    width: 140px;
    outline: none;
}

/* Center: 4-Stage Stepper Bar */
.nav-steps-bar {
    display: flex;
    align-items: center;
    gap: 0.2rem;
    background: #f1f5f9;
    padding: 3px 6px;
    border-radius: 9999px;
    border: 1px solid #e2e8f0;
    flex: 0 1 auto;
    min-width: 0;
}

.nav-step-item {
    background: transparent;
    border: none;
    border-radius: 9999px;
    padding: 4px 9px;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-family: 'Outfit', sans-serif;
    font-size: 0.76rem;
    font-weight: 600;
    color: #64748b;
    cursor: pointer;
    transition: all 0.15s ease;
}

.nav-step-item:disabled {
    opacity: 0.45;
    cursor: not-allowed;
}

.nav-step-item:not(:disabled):hover {
    color: #0f172a;
}

.nav-step-item.active {
    background: #ffffff;
    color: #0f172a;
    font-weight: 700;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
}

.nav-step-num {
    width: 15px;
    height: 15px;
    border-radius: 50%;
    background: #e2e8f0;
    color: #475569;
    font-size: 0.65rem;
    font-weight: 800;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.nav-step-item.active .nav-step-num {
    background: var(--brand-blue);
    color: #ffffff;
}

.nav-step-separator {
    color: #cbd5e1;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 1px;
}

/* Right: Navigation Actions Cluster */
.nav-actions {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    flex: 0 1 auto;
    min-width: 0;
}

.nav-links-cluster {
    display: flex;
    align-items: center;
    gap: 0.2rem;
}

.nav-link-btn {
    background: transparent;
    border: 1px solid transparent;
    border-radius: 6px;
    padding: 0.32rem 0.65rem;
    font-family: 'Outfit', sans-serif;
    font-size: 0.8rem;
    font-weight: 600;
    color: #475569;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    transition: all 0.15s ease;
}

.nav-link-btn:hover {
    background: #f1f5f9;
    color: #0f172a;
}

.nav-counter-pill {
    background: #1565C0;
    color: #ffffff;
    font-size: 0.65rem;
    font-weight: 700;
    padding: 1px 5px;
    border-radius: 9999px;
    margin-left: 2px;
}

.btn-ai-nav {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    border: 0;
    background: transparent;
    color: #475569;
    cursor: pointer;
    font: inherit;
    font-size: 0.8rem;
    font-weight: 600;
    padding: 0.35rem 0.5rem;
    transition: all 0.15s ease;
}

.btn-ai-nav:hover,
.btn-ai-nav.active {
    background: #f1f5f9;
    color: #0f172a;
}

/* Top Navbar Contact Us Button */
.btn-nav-contact {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-size: 0.8rem;
    font-weight: 700;
    font-family: 'Outfit', sans-serif !important;
    text-decoration: none;
    background-color: #0f172a;
    color: #ffffff !important;
    border: 1px solid #0f172a;
    border-radius: 6px;
    padding: 0.38rem 0.85rem;
    cursor: pointer;
    transition: all 0.15s ease;
    white-space: nowrap;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
}

.btn-nav-contact:hover {
    background-color: #1e293b;
    border-color: #1e293b;
    transform: translateY(-1px);
    box-shadow: 0 3px 6px rgba(0, 0, 0, 0.08);
}

.btn-nav-contact svg {
    flex-shrink: 0;
}


/* Studio Ribbon Row 1 Contact Button */
.tb-btn-contact-ribbon {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    font-size: 0.8rem;
    font-weight: 600;
    font-family: 'Outfit', sans-serif !important;
    text-decoration: none;
    background-color: #ffffff;
    color: #475569;
    border: 1px solid #cbd5e1;
    border-radius: 0;
    padding: 0.32rem 0.65rem;
    cursor: pointer;
    transition: all 0.15s ease;
    white-space: nowrap;
}

.tb-btn-contact-ribbon:hover {
    background-color: #0f172a;
    color: #ffffff;
    border-color: #0f172a;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
}

.tb-btn-contact-ribbon svg {
    flex-shrink: 0;
}

/* Navbar Document Title Input */
.nav-doc-title-wrap {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    background-color: var(--bg-surface-alt);
    border: 1px solid var(--border-medium);
    border-radius: var(--radius-sm);
    padding: 0.2rem 0.55rem;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.nav-doc-title-wrap:focus-within {
    border-color: var(--accent-blue);
    box-shadow: 0 0 0 2px rgba(29, 78, 216, 0.15);
}

.doc-title-icon {
    color: var(--accent-blue);
    display: flex;
    align-items: center;
}

.nav-doc-title-input {
    border: none;
    background: transparent;
    font-size: 0.8rem;
    font-weight: 700;
    color: var(--text-main);
    outline: none;
    width: 158px;
    font-family: inherit;
}

/* ======================================================== */
/* STEP 1: INPUT & INGESTION STUDIO */
/* ======================================================== */
.view-stage {
    flex: 1;
    width: 100%;
}

.input-studio-container {
    max-width: 1280px;
    margin: 0 auto;
    padding: 3.6rem 1.5rem 4.5rem;
    display: flex;
    flex-direction: column;
    gap: 2rem;
}

.input-hero {
    text-align: left;
    max-width: 980px;
    margin: 0 auto;
    width: 100%;
    padding: 1.25rem 0 0.5rem;
}

.input-hero-title {
    max-width: 840px;
    font-size: clamp(2.7rem, 5vw, 4.6rem);
    line-height: 0.98;
    font-weight: 800;
    color: var(--text-main);
    letter-spacing: 0;
    margin: 0 0 1.1rem;
}

.input-hero-sub {
    max-width: 680px;
    font-size: 1.04rem;
    color: var(--text-muted);
    line-height: 1.6;
}

.input-card-box {
    background-color: #ffffff;
    border: 1px solid #d5dfdc;
    box-shadow: 0 20px 55px rgba(15, 59, 55, 0.08);
    display: flex;
    flex-direction: column;
}

.input-card-header {
    padding: 1.3rem 1.65rem;
    border-bottom: 1px solid #e2e9e7;
    display: flex;
    justify-content: space-between;
    align-items: center;
    background-color: #fbfdfc;
}

.input-card-title-row {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.step-badge {
    background-color: var(--accent-teal);
    color: #ffffff;
    font-size: 0.72rem;
    font-weight: 800;
    padding: 3px 8px;
    text-transform: uppercase;
}

.input-card-title {
    font-size: 1.05rem;
    font-weight: 800;
    color: var(--text-main);
}

.input-form-grid {
    padding: 1.5rem;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1.5rem;
}

@media (max-width: 860px) {
    .input-form-grid {
        grid-template-columns: 1fr;
    }
}

.input-col {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.form-textarea-large {
    height: 250px !important;
}

/* Modern Appealing Job Description Card (Clean Squared Executive Styling) */
.modern-jd-card {
    border: 1px solid var(--border-medium);
    border-radius: 0 !important;
    background-color: #ffffff;
    box-shadow: var(--shadow-sm);
    overflow: hidden;
    display: flex;
    flex-direction: column;
    height: 100%;
    transition: box-shadow 0.2s ease, border-color 0.2s ease;
}

.modern-jd-card:hover {
    box-shadow: var(--shadow-panel);
    border-color: #0f172a;
}

.modern-jd-header {
    padding: 0.65rem 0.95rem;
    background: #f8fafc;
    border-bottom: 1px solid var(--border-medium);
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.modern-jd-title-row {
    display: flex;
    align-items: center;
    gap: 0.55rem;
}

.jd-header-icon {
    color: var(--accent-blue);
    display: flex;
    align-items: center;
}

.modern-jd-title {
    font-size: 0.86rem;
    font-weight: 800;
    color: var(--text-main);
    display: block;
}

.modern-jd-sub {
    font-size: 0.72rem;
    color: var(--text-muted);
    display: block;
}

.modern-jd-actions {
    display: flex;
    align-items: center;
    gap: 0.4rem;
}

.jd-stat-badge {
    font-size: 0.72rem;
    font-weight: 700;
    color: #475569;
    background-color: #e2e8f0;
    padding: 0.2rem 0.55rem;
    border-radius: 0 !important;
}

.modern-jd-body {
    padding: 0.75rem;
    flex: 1;
    display: flex;
}

.modern-jd-textarea {
    width: 100%;
    min-height: 220px;
    border: 1px solid var(--border-medium);
    border-radius: 0 !important;
    padding: 0.75rem 0.9rem;
    font-size: 0.84rem;
    line-height: 1.5;
    color: var(--text-main);
    font-family: inherit;
    resize: vertical;
    outline: none;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.modern-jd-textarea:focus {
    border-color: var(--accent-blue);
    box-shadow: 0 0 0 3px rgba(29, 78, 216, 0.15);
}

.input-footer-row {
    grid-column: 1 / -1;
    display: flex;
    justify-content: center;
    align-items: center;
    padding-top: 1rem;
    border-top: 1px solid var(--border-light);
}

.btn-cta {
    padding: 0.85rem 3rem !important;
    font-size: 1rem !important;
}

/* Feature Highlights */
.feature-highlights-row {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 1.25rem;
}

@media (max-width: 860px) {
    .feature-highlights-row {
        grid-template-columns: 1fr;
    }
}

.feature-card {
    background-color: #ffffff;
    border: 1px solid var(--border-medium);
    padding: 1.15rem;
    display: flex;
    align-items: flex-start;
    gap: 0.85rem;
    box-shadow: var(--shadow-panel);
}

.feature-icon {
    color: var(--accent-teal);
    flex-shrink: 0;
    margin-top: 2px;
}

.feature-title {
    font-size: 0.88rem;
    font-weight: 800;
    color: var(--text-main);
    margin-bottom: 0.25rem;
}

.feature-desc {
    font-size: 0.78rem;
    color: var(--text-muted);
    line-height: 1.4;
}

/* ======================================================== */
/* STEP 2: FULLSCREEN RESUME STUDIO & EDITOR (UNCLUTTERED) */
/* ======================================================== */
.editor-workspace {
    max-width: 100%;
    margin: 0 auto;
    padding: 0.5rem 0.85rem;
    display: flex;
    flex-direction: column;
    gap: 0.65rem;
    width: 100%;
    box-sizing: border-box;
}

/* ======================================================== */
/* ULTRA-CLEAN MODERN STUDIO TOP TOOLBAR                    */
/* ======================================================== */
/* ======================================================== */
/* MODERN STUDIO TOP TOOLBAR (Single Primary Row + Contextual Formatting) */
/* ======================================================== */
.studio-top-bar {
    background-color: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.04), 0 6px 20px -4px rgba(0, 0, 0, 0.03);
    position: sticky;
    top: 58px;
    z-index: 1000 !important;
    margin-bottom: 0.5rem;
    width: 100%;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    overflow: visible !important;
}

/* Primary Bar: Navigation, Switcher, Save & Export */
.studio-main-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.45rem 0.75rem;
    min-height: 48px;
    gap: 0.5rem;
    box-sizing: border-box;
    width: 100%;
    overflow: visible !important;
}

.studio-bar-left {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    flex-shrink: 0;
}

.studio-bar-center {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 1;
    overflow: visible !important;
}

.studio-bar-right {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    flex-shrink: 0;
}

/* Subtle Modern Button */
.tb-btn-subtle {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    font-family: 'Outfit', sans-serif;
    font-size: 0.8rem;
    font-weight: 600;
    color: #475569;
    background-color: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 6px;
    padding: 0.35rem 0.65rem;
    cursor: pointer;
    transition: all 0.15s ease;
}

.tb-btn-subtle:hover {
    background-color: #f1f5f9;
    border-color: #cbd5e1;
    color: #0f172a;
}

/* Mode Switcher Segmented Pills */
.doc-mode-group {
    display: inline-flex;
    align-items: center;
    background: #f1f5f9;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    padding: 2px;
    gap: 2px;
}

.tb-seg-pill {
    background: transparent;
    border: none;
    border-radius: 6px;
    padding: 5px 12px;
    font-family: 'Outfit', sans-serif;
    font-size: 0.78rem;
    font-weight: 600;
    color: #64748b;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    cursor: pointer;
    transition: all 0.15s ease;
    white-space: nowrap;
}

.tb-seg-pill:hover:not(.active) {
    color: #0f172a;
}

.tb-seg-pill.active {
    background: #ffffff;
    color: #0f172a;
    font-weight: 700;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.07);
}

/* Save Application Button */
.tb-btn-save-app {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    font-family: 'Outfit', sans-serif;
    font-size: 0.8rem;
    font-weight: 700;
    color: #1565C0;
    background-color: #E3F2FD;
    border: 1px solid #bfdbfe;
    border-radius: 6px;
    padding: 0.35rem 0.75rem;
    cursor: pointer;
    transition: all 0.15s ease;
}

.tb-btn-save-app:hover {
    background-color: #dbeafe;
    color: #0D47A1;
}

/* Export Cluster */
.export-btn-cluster {
    display: flex;
    align-items: center;
    gap: 0.25rem;
}

.tb-btn-pdf {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    font-family: 'Outfit', sans-serif;
    font-size: 0.8rem;
    font-weight: 700;
    color: #ffffff;
    background-color: #0f172a;
    border: 1px solid #0f172a;
    border-radius: 6px;
    padding: 0.35rem 0.75rem;
    cursor: pointer;
    transition: all 0.15s ease;
    box-shadow: 0 1px 2px rgba(0,0,0,0.05);
}

.tb-btn-pdf:hover {
    background-color: #1e293b;
    border-color: #1e293b;
}

.tb-btn-docx {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    font-family: 'Outfit', sans-serif;
    font-size: 0.8rem;
    font-weight: 700;
    color: #334155;
    background-color: #ffffff;
    border: 1px solid #cbd5e1;
    border-radius: 6px;
    padding: 0.35rem 0.75rem;
    cursor: pointer;
    transition: all 0.15s ease;
}

.tb-btn-docx:hover {
    background-color: #f8fafc;
    border-color: #94a3b8;
    color: #0f172a;
}

/* Contextual Formatting Bar (Row 2) */
.studio-formatting-bar {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    background-color: #f8fafc;
    border-top: 1px solid #edf2f7;
    border-radius: 0 0 10px 10px;
    padding: 0.3rem 0.65rem;
    overflow: visible !important;
    position: relative;
    z-index: 1001 !important;
    transition: all 0.2s ease;
    flex-wrap: nowrap;
}


.ribbon-cluster {
    display: flex;
    align-items: center;
    gap: 0.25rem;
    flex-shrink: 0;
    position: relative;
    overflow: visible !important;
}

.ribbon-cluster-right {
    margin-left: auto;
    display: flex;
    align-items: center;
    gap: 0.25rem;
    flex-shrink: 0;
}

.tb-divider {
    width: 1px;
    height: 20px;
    background-color: #e2e8f0;
    margin: 0 0.08rem;
    flex-shrink: 0;
}

/* Inputs Button */
.tb-btn-inputs {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    font-size: 0.82rem;
    font-weight: 600;
    color: #4b5563;
    background-color: #ffffff;
    border: 1px solid #e5e7eb;
    border-radius: 6px;
    padding: 0.35rem 0.75rem;
    cursor: pointer;
    transition: all 0.15s ease;
}

.tb-btn-inputs:hover {
    background-color: #f9fafb;
    border-color: #d1d5db;
    color: #111827;
}

/* Templates Button */
.tb-btn-templates {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    font-size: 0.82rem;
    font-weight: 600;
    color: #1565C0;
    background-color: transparent;
    border: none;
    border-radius: 6px;
    padding: 0.35rem 0.65rem;
    cursor: pointer;
    transition: all 0.15s ease;
}

.tb-btn-templates:hover {
    background-color: #E3F2FD;
    color: #1565C0;
}

/* Segmented Pill Group (Doc Mode & Layout) */
.tb-segmented-pills {
    display: flex;
    align-items: center;
    background-color: #f1f5f9;
    padding: 2px;
    border-radius: 8px;
    border: 1px solid #e2e8f0;
    gap: 2px;
}

.tb-seg-pill {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.32rem 0.75rem;
    font-size: 0.8rem;
    font-weight: 600;
    color: #64748b;
    background: transparent;
    border: none;
    border-radius: 6px;
    cursor: pointer;
    transition: all 0.15s ease;
    white-space: nowrap;
}

.tb-seg-pill:hover {
    color: #334155;
    background-color: rgba(226, 232, 240, 0.6);
}

.tb-seg-pill.active {
    background-color: #ffffff;
    color: #1565C0;
    font-weight: 700;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.08);
}

.tb-seg-pill.active svg {
    color: var(--brand-blue);
}

/* Compact Labeled Selects */
.tb-select-wrap {
    display: flex;
    align-items: center;
    gap: 0.3rem;
    flex-shrink: 0;
}

.tb-select-label {
    font-size: 10px;
    font-weight: 700;
    font-family: 'Outfit', -apple-system, BlinkMacSystemFont, sans-serif !important;
    color: #94a3b8;
    text-transform: uppercase;
    letter-spacing: 0.06em;
}

.tb-select-inner {
    position: relative;
    display: inline-flex;
    align-items: center;
    font-family: 'Outfit', -apple-system, BlinkMacSystemFont, sans-serif !important;
}

.tb-select,
.tb-select option,
.tb-select optgroup,
#fontSizeSelect,
#fontSizeSelect option,
#clTemplateSelect,
#clTemplateSelect option,
#templateSelect,
#templateSelect option,
#listStyleSelect,
#listStyleSelect option,
.modal-tabs-bar button,
.modal-tab-btn,
.tpl-card-name,
.tpl-card-desc,
.btn-select-tpl {
    font-family: 'Outfit', -apple-system, BlinkMacSystemFont, sans-serif !important;
}

.tb-select {
    appearance: none;
    -webkit-appearance: none;
    border: 1px solid #d1d5db;
    border-radius: 6px;
    padding: 0.3rem 1.65rem 0.3rem 0.55rem;
    font-size: 0.8rem;
    font-weight: 600;
    color: #374151;
    background: #ffffff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%236b7280'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M19 9l-7 7-7-7'%3E%3C/path%3E%3C/svg%3E") no-repeat right 0.4rem center / 13px;
    cursor: pointer;
    outline: none;
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.tb-select option,
.tb-select optgroup {
    font-family: 'Outfit', -apple-system, BlinkMacSystemFont, sans-serif !important;
    font-weight: 500;
    font-size: 0.85rem;
    color: #1e293b;
    background-color: #ffffff;
    padding: 6px 10px;
}

.tb-select:hover {
    border-color: #9ca3af;
}

.tb-select:focus {
    border-color: var(--brand-blue);
    box-shadow: 0 0 0 2px color-mix(in srgb, var(--brand-blue) 18%, transparent);
}

/* ======================================================== */
/* MICROSOFT WORD STYLE INTERACTIVE FONT PICKER DROPDOWN   */
/* ======================================================== */
.font-picker-custom-wrapper {
    position: relative;
    z-index: 10005;
}

.font-picker-custom-wrapper.is-open {
    z-index: 999999 !important;
}

.font-picker-trigger {
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: 6px;
    background: #ffffff;
    border: 1px solid #d1d5db;
    border-radius: 6px;
    padding: 0.28rem 0.6rem;
    font-size: 0.82rem;
    font-weight: 600;
    color: #1e293b;
    cursor: pointer;
    min-width: 140px;
    max-width: 175px;
    height: 30px;
    transition: all 0.15s ease;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
}

.font-picker-trigger:hover {
    border-color: #94a3b8;
    background: #f8fafc;
}

.font-picker-trigger:focus-visible,
.font-picker-trigger.active {
    border-color: #0284c7;
    box-shadow: 0 0 0 2px rgba(2, 132, 199, 0.18);
    background: #ffffff;
}

.font-picker-active-name {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 0.86rem;
    font-weight: 600;
    line-height: 1;
}

.font-picker-chevron {
    color: #64748b;
    flex-shrink: 0;
    transition: transform 0.2s ease;
}

.font-picker-trigger.active .font-picker-chevron {
    transform: rotate(180deg);
}

.font-dropdown-menu {
    position: absolute;
    top: calc(100% + 6px);
    left: 0;
    width: 375px;
    max-width: 90vw;
    background: #ffffff;
    border: 1px solid #cbd5e1;
    border-radius: 10px;
    box-shadow: 0 16px 40px rgba(15, 23, 42, 0.22), 0 4px 12px rgba(15, 23, 42, 0.1);
    z-index: 999999 !important;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    animation: fontDropIn 0.18s cubic-bezier(0.16, 1, 0.3, 1);
}

.font-dropdown-menu.hidden {
    display: none !important;
}

@keyframes fontDropIn {
    from { opacity: 0; transform: translateY(-6px) scale(0.98); }
    to { opacity: 1; transform: translateY(0) scale(1); }
}

.font-dropdown-search-box {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 12px;
    border-bottom: 1px solid #f1f5f9;
    background: #f8fafc;
}

.font-dropdown-search-box svg {
    color: #94a3b8;
    flex-shrink: 0;
}

.font-search-input {
    border: none;
    background: transparent;
    font-size: 0.82rem;
    color: #1e293b;
    width: 100%;
    outline: none;
}

.font-dropdown-list {
    max-height: 380px;
    overflow-y: auto;
    padding: 6px;
    scroll-behavior: smooth;
}

.font-group-header {
    font-size: 0.68rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: #94a3b8;
    padding: 8px 10px 4px 10px;
}

.font-picker-option {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 6px 10px;
    border-radius: 6px;
    cursor: pointer;
    transition: background-color 0.12s ease;
    gap: 12px;
}

.font-picker-option:hover {
    background-color: #f1f5f9;
}

.font-picker-option.selected {
    background-color: #E3F2FD;
}

.font-option-left {
    display: flex;
    flex-direction: column;
    min-width: 115px;
    flex-shrink: 0;
}

.font-option-name {
    font-size: 0.94rem;
    font-weight: 600;
    color: #0f172a;
    line-height: 1.2;
}

.font-option-tag {
    font-size: 0.67rem;
    color: #64748b;
    font-weight: 500;
    margin-top: 1px;
}

.font-option-preview {
    font-size: 0.84rem;
    color: #475569;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    flex: 1;
    text-align: right;
    padding-right: 4px;
}

.font-option-check {
    width: 16px;
    height: 16px;
    color: #0284c7;
    opacity: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.font-picker-option.selected .font-option-check {
    opacity: 1;
}


/* Joined Alignment Segmented Control */
.tb-segmented-joined {
    display: inline-flex;
    align-items: center;
    border: 1px solid #e2e8f0;
    background-color: #ffffff;
    border-radius: 6px;
    overflow: hidden;
}

.tb-icon-btn {
    border: none;
    background: transparent;
    padding: 0.32rem 0.45rem;
    color: #64748b;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.15s ease;
    border-radius: 4px;
    outline: none;
}

.tb-segmented-joined .tb-icon-btn {
    border-radius: 0;
    border-right: 1px solid #e2e8f0;
    padding: 0.32rem 0.5rem;
}

.tb-segmented-joined .tb-icon-btn:last-child {
    border-right: none;
}

.tb-segmented-joined .tb-icon-btn:hover,
.tb-icon-btn:hover {
    background-color: #e2e8f0;
    color: #1e293b;
}

.tb-segmented-joined .tb-icon-btn.active,
.tb-format-btn.active {
    background-color: #ffffff;
    color: #1565C0;
    font-weight: 700;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.08);
}

.tb-inline-icons {
    display: flex;
    align-items: center;
    gap: 2px;
}

.tb-format-btn {
    min-width: 26px;
    height: 26px;
    font-size: 0.8rem;
    font-weight: 700;
}

/* Color Tool Buttons */
.tb-color-btn {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 2px;
    padding: 0.25rem 0.4rem;
    border-radius: 6px;
    border: 1px solid transparent;
    background: transparent;
    cursor: pointer;
    color: #4b5563;
    transition: all 0.15s ease;
    position: relative;
}

.tb-color-btn:hover {
    background-color: #f3f4f6;
    color: #111827;
}

.tb-color-indicator {
    width: 14px;
    height: 2.5px;
    border-radius: 999px;
}

.tb-hl-bar {
    background-color: #facc15;
}

.tb-text-bar {
    background-color: #1e293b;
}

.tb-heading-bar {
    background-color: var(--brand-blue);
}

.tb-color-letter {
    font-size: 0.8rem;
    font-weight: 800;
    line-height: 1;
    color: #1e293b;
}

.tb-color-letter.heading-char {
    color: var(--brand-blue);
}

.color-picker-input {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    cursor: pointer;
}

/* Action Buttons */
.tb-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    font-size: 0.8rem;
    font-weight: 600;
    border-radius: 6px;
    padding: 0.32rem 0.65rem;
    cursor: pointer;
    transition: all 0.15s ease;
    border: none;
    white-space: nowrap;
    line-height: 1.2;
    flex-shrink: 0;
}

.tb-btn-cl {
    background-color: #7c3aed;
    color: #ffffff;
    box-shadow: 0 1px 3px rgba(124, 58, 237, 0.25);
    padding: 0.32rem 0.75rem;
}

.tb-btn-cl:hover {
    background-color: #6d28d9;
    box-shadow: 0 2px 5px rgba(109, 40, 217, 0.35);
}

.tb-btn-pdf {
    background-color: #ffffff;
    color: #374151;
    border: 1px solid #cbd5e1;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
    padding: 0.32rem 0.65rem;
}

.tb-btn-pdf:hover {
    background-color: #f8fafc;
    border-color: #94a3b8;
    color: #0f172a;
}

.tb-btn-docx {
    background-color: var(--brand-blue);
    color: #ffffff;
    box-shadow: 0 1px 3px color-mix(in srgb, var(--brand-blue) 28%, transparent);
    padding: 0.32rem 0.65rem;
}

.tb-btn-docx:hover {
    background-color: var(--brand-blue-dark);
    box-shadow: 0 2px 5px color-mix(in srgb, var(--brand-blue-dark) 35%, transparent);
}

.export-btn-group {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    flex-shrink: 0;
}

.resume-design-cluster.hidden,
.cl-design-cluster.hidden {
    display: none !important;
}

/* ======================================================== */
/* AI MATCH DETECTOR & VISUAL REVIEW HIGHLIGHTS             */
/* ======================================================== */
mark {
    background-color: transparent !important;
    background: transparent !important;
    color: inherit !important;
    padding: 0 !important;
    border: none !important;
}

#resumePreviewCanvas:not(.visual-review-hidden) .cv-match-highlight {
    background-color: #dcfce7 !important; /* Soft Pastel Green */
    color: #166534 !important;
    padding: 1px 4px;
    border-radius: 3px;
    font-weight: 600;
    border-bottom: 1.5px solid #86efac;
    display: inline;
    transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

#resumePreviewCanvas:not(.visual-review-hidden) .cv-match-highlight.cv-edu-match {
    background-color: #fef08a !important; /* Soft Yellow */
    color: #854d0e !important;
    border-bottom: 1.5px solid #fde047;
}

#resumePreviewCanvas:not(.visual-review-hidden) .cv-gap-highlight {
    background-color: #fee2e2 !important; /* Soft Red */
    color: #991b1b !important;
    padding: 1px 4px;
    border-radius: 3px;
    font-weight: 600;
    border-bottom: 1.5px solid #fca5a5;
    display: inline;
    transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.cv-gap-badge {
    background-color: #fff1f2;
    color: #dc2626;
    font-size: 0.72rem;
    font-weight: 700;
    padding: 1px 6px;
    border-radius: 4px;
    border: 1px solid #fecdd3;
    margin-left: 4px;
    display: inline-block;
    vertical-align: middle;
    letter-spacing: 0.01em;
    user-select: none;
    box-shadow: 0 1px 2px rgba(220, 38, 38, 0.08);
}

.cv-gap-suggestions {
    display: grid;
    gap: 6px;
    margin-top: 8px;
    padding: 8px 10px;
    border: 1px solid #fecaca;
    background: #fff7f7;
}

.cv-gap-suggestions-title {
    color: #991b1b;
    font-size: 0.72rem;
    font-weight: 700;
}

.cv-gap-suggestion {
    display: grid;
    grid-template-columns: minmax(70px, 1fr) minmax(110px, 1.2fr) auto;
    align-items: center;
    gap: 6px;
}

.cv-gap-keyword {
    color: #7f1d1d;
    font-size: 0.74rem;
    font-weight: 600;
    overflow-wrap: anywhere;
}

.cv-gap-group-select {
    min-width: 0;
    max-width: 100%;
    padding: 3px 5px;
    border: 1px solid #fecaca;
    background: #ffffff;
    color: #334155;
    font-size: 0.7rem;
}

.btn-add-gap-skill {
    padding: 3px 7px;
    border: 1px solid #86efac;
    background: #f0fdf4;
    color: #166534;
    font-size: 0.7rem;
    font-weight: 700;
    cursor: pointer;
}

.btn-add-gap-skill:hover {
    background: #dcfce7;
}

/* When Visual Review is Hidden (Default) */
.visual-review-hidden mark,
.visual-review-hidden .cv-match-highlight,
.visual-review-hidden .cv-match-highlight.cv-edu-match,
.visual-review-hidden .cv-gap-highlight,
.visual-review-hidden .highlight-span {
    background-color: transparent !important;
    background: transparent !important;
    color: inherit !important;
    padding: 0 !important;
    border: none !important;
    border-bottom: none !important;
    font-weight: inherit !important;
}

.visual-review-hidden .cv-gap-badge,
.visual-review-hidden .cv-gap-badge-wrap,
.visual-review-hidden .cv-gap-suggestions {
    display: none !important;
}

.visual-review-hidden .ai-diff-del {
    display: none !important;
}

.visual-review-hidden .ai-diff-ins {
    background-color: transparent !important;
    color: inherit !important;
    font-weight: inherit !important;
    padding: 0 !important;
}

/* AI Track Changes & Diff Highlighting */
.ai-diff-del {
    background-color: #fee2e2 !important; /* Soft Red */
    color: #dc2626 !important;
    text-decoration: line-through !important;
    padding: 1px 4px !important;
    border-radius: 3px !important;
    margin-right: 2px !important;
    font-weight: 500 !important;
    display: inline !important;
    cursor: pointer;
    transition: background-color 0.15s ease;
}

.ai-diff-del:hover {
    background-color: #fecdd3 !important;
}

.ai-diff-ins {
    background-color: #dcfce7 !important; /* Soft Green */
    color: #166534 !important;
    text-decoration: none !important;
    padding: 1px 4px !important;
    border-radius: 3px !important;
    font-weight: 600 !important;
    display: inline !important;
    cursor: pointer;
    transition: background-color 0.15s ease;
}

.ai-diff-ins:hover {
    background-color: #bbf7d0 !important;
}

.cv-exp-bullet-row.has-ai-suggestion,
.cv-achievement-item.has-ai-suggestion,
.cv-academic-item.has-ai-suggestion {
    position: relative !important;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* Pinned Top-Right Diff Review Action Bar ONLY on Rephrased Cover Letter Paragraphs (No Text Squeezing) */
.cl-paragraph.has-ai-suggestion {
    position: relative !important;
    background-color: rgba(240, 253, 244, 0.55) !important;
    border-left: 3px solid #16a34a !important;
    border-radius: 4px !important;
    padding: 3px 6px !important;
    margin-bottom: 8px !important;
    transition: all 0.15s ease;
}

.para-diff-action-bar {
    position: absolute;
    top: -12px;
    right: -4px;
    display: inline-flex;
    align-items: center;
    gap: 4px;
    background: #ffffff;
    border: 1px solid #cbd5e1;
    border-radius: 18px;
    padding: 2px 4px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12), 0 1px 3px rgba(0, 0, 0, 0.06);
    z-index: 50;
    user-select: none;
}

.btn-diff-accept {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    background-color: #16a34a;
    color: #ffffff;
    border: none;
    border-radius: 12px;
    padding: 3px 8px;
    font-size: 0.72rem;
    font-weight: 700;
    cursor: pointer;
    line-height: 1;
    transition: all 0.15s ease;
}

.btn-diff-accept:hover {
    background-color: #15803d;
    box-shadow: 0 2px 6px rgba(22, 163, 74, 0.35);
    transform: translateY(-1px);
}

.btn-diff-decline {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    background-color: #fee2e2;
    color: #dc2626;
    border: 1px solid #fecaca;
    border-radius: 12px;
    padding: 3px 8px;
    font-size: 0.72rem;
    font-weight: 700;
    cursor: pointer;
    line-height: 1;
    transition: all 0.15s ease;
}

.btn-diff-decline:hover {
    background-color: #fecdd3;
    color: #b91c1c;
    border-color: #fda4af;
    transform: translateY(-1px);
}

.rewrite-highlight-flash {
    animation: flashGreenSuccess 1.5s ease-out;
}

@keyframes flashGreenSuccess {
    0% { background-color: #bbf7d0; }
    50% { background-color: #dcfce7; }
    100% { background-color: transparent; }
}

/* AI Suggestion Popover (Sharp Architectural Design) */
.ai-suggestion-popover {
    position: absolute;
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 14px !important;
    box-shadow: 0 18px 40px rgba(15, 23, 42, 0.16);
    padding: 12px 14px;
    width: 400px;
    max-width: 92vw;
    z-index: 1000;
    display: flex;
    flex-direction: column;
    gap: 10px;
    font-family: 'Outfit', sans-serif;
    animation: popoverFadeIn 0.15s cubic-bezier(0.16, 1, 0.3, 1);
}

@keyframes popoverFadeIn {
    from { opacity: 0; transform: translateY(-4px) scale(0.98); }
    to { opacity: 1; transform: translateY(0) scale(1); }
}

.ai-popover-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-bottom: 1px solid #f1f5f9;
    padding-bottom: 6px;
}

.ai-popover-title-row {
    display: flex;
    align-items: center;
    gap: 6px;
}

.ai-popover-heading {
    font-size: 0.78rem;
    font-weight: 700;
    color: #1e293b;
    display: flex;
    align-items: center;
    gap: 5px;
    font-family: 'Outfit', sans-serif;
}

.ai-rephrase-badge {
    background-color: #dbeafe;
    color: #0D47A1;
    font-size: 0.65rem;
    font-weight: 800;
    padding: 2px 6px;
    border-radius: 0 !important;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    font-family: 'Outfit', sans-serif;
}

.ai-popover-close-btn {
    border: none;
    background: transparent;
    color: #94a3b8;
    font-size: 1.2rem;
    cursor: pointer;
    padding: 0 4px;
    line-height: 1;
}

.ai-popover-close-btn:hover {
    color: #0f172a;
}

.ai-popover-body {
    font-size: 13px !important;
    line-height: 1.45 !important;
    max-height: 320px;
    overflow-y: auto;
}

.ai-popover-diff-preview {
    background-color: transparent;
    border: none;
    border-radius: 0 !important;
    padding: 0;
    font-size: 13px !important;
    line-height: 1.42 !important;
    color: #334155;
    font-family: 'Outfit', sans-serif;
}

.popover-diff-content {
    font-size: 13px !important;
    line-height: 1.42 !important;
    color: #1e293b;
    font-family: 'Outfit', sans-serif;
}

.popover-diff-content ins,
.popover-diff-content .ai-diff-ins {
    background-color: #dcfce7 !important;
    color: #15803d !important;
    text-decoration: none !important;
    border-radius: 0 !important;
    padding: 0 2px !important;
    font-weight: 600 !important;
}

.popover-diff-content del,
.popover-diff-content .ai-diff-del {
    background-color: #fee2e2 !important;
    color: #b91c1c !important;
    text-decoration: line-through !important;
    border-radius: 0 !important;
    padding: 0 2px !important;
}

.ai-popover-footer {
    display: flex;
    align-items: center;
    gap: 8px;
    padding-top: 4px;
}

.btn-popover-accept {
    background-color: #1565C0;
    color: #ffffff;
    border: 1px solid #1565C0;
    border-radius: 0 !important;
    padding: 6px 18px;
    font-size: 0.82rem;
    font-weight: 700;
    font-family: 'Outfit', sans-serif;
    cursor: pointer;
    transition: all 0.15s ease;
    box-shadow: 0 1px 3px rgba(37, 99, 235, 0.3);
}

.btn-popover-accept:hover {
    background-color: #1565C0;
    box-shadow: 0 2px 6px rgba(29, 78, 216, 0.4);
}

.btn-popover-reject {
    background-color: #ffffff;
    color: #475569;
    border: 1px solid #cbd5e1;
    border-radius: 0 !important;
    padding: 6px 16px;
    font-size: 0.82rem;
    font-weight: 600;
    font-family: 'Outfit', sans-serif;
    cursor: pointer;
    transition: all 0.15s ease;
}

.btn-popover-reject:hover {
    background-color: #f1f5f9;
    color: #1e293b;
    border-color: #94a3b8;
}

/* Print Cleanliness Guaranteed */
@media print {
    /* Production-ready print styling for seamless PDF/Word exports */
    
    /* Hide all UI elements */
    .no-print, .ai-diff-del, .ai-suggestion-popover, .para-diff-action-bar,
    .btn-bullet-del, .btn-bullet-move, .btn-bullet-up, .btn-bullet-down, .btn-add-bullet, .btn-add-achievement,
    .exp-bullet-controls, .ach-controls, .section-actions, .btn-sec-drag,
    .section-insert-divider, .cv-gap-badge-wrap, .avatar-upload-overlay,
    .avatar-reset-btn, .btn-edu-del, .btn-edu-sub-del, .btn-academic-del,
    .btn-lang-del, .btn-skill-cat-del, .btn-skill-tag-del, .btn-add-skill-pill,
    .edu-item-controls, .academic-controls, .lang-controls, .skills-controls,
    .btn-col-add-sec, .section-ai-corner-badge, .floating-ai-toolbar {
        display: none !important;
    }
    
    /* Clean text styling */
    .ai-diff-ins {
        background-color: transparent !important;
        color: inherit !important;
        font-weight: inherit !important;
        padding: 0 !important;
    }
    
    /* Strip all highlights */
    mark, .cv-match-highlight, .cv-edu-match, .cv-gap-highlight,
    .highlight-span, .rewrite-highlight-flash, .tag-keyword-highlight,
    .keyword-matched {
        background-color: transparent !important;
        color: inherit !important;
        padding: 0 !important;
        border: none !important;
    }
    
    /* Page break optimization for all document sheets */
    .document-sheet, .cover-letter-sheet {
        box-shadow: none !important;
        border: none !important;
        width: 100% !important;
        overflow: visible !important;
    }
    
    /* Prevent splitting within items */
    .cv-exp-item, .cv-exp-bullet-row, .cv-achievement-item,
    .cv-edu-item, .cv-skill-cat, .cv-ach-item, .cv-lang-item,
    .cv-cert-item, .cv-academic-item, .cv-contact-item-bullet,
    .contact-item, .cl-paragraph, .cl-recipient-box,
    .cl-signature-block, li {
        break-inside: avoid !important;
        page-break-inside: avoid !important;
    }
    
    /* Allow long experience sections to flow. Keep a short achievements block together. */
    .cv-section, .cv-column, .cv-left-col, .cv-right-col,
    .cv-body, .cv-exp-bullets {
        break-inside: auto !important;
        page-break-inside: auto !important;
    }

    #secAchievements,
    .cv-achievements-list {
        break-inside: avoid !important;
        page-break-inside: avoid !important;
    }
    
    /* Reduce orphaning of section headers but allow natural page breaks */
    .cv-section-heading {
        break-after: avoid !important;
        page-break-after: avoid !important;
        break-inside: avoid !important;
        page-break-inside: avoid !important;
        orphans: 3 !important;
        widows: 3 !important;
    }
    
    /* Prevent splitting section headings from content */
    .cv-section-header-row {
        break-after: avoid !important;
        page-break-after: avoid !important;
        break-inside: avoid !important;
        page-break-inside: avoid !important;
    }
    
    /* Allow sections to flow naturally - DON'T force them to new pages */
    .cv-section {
        break-inside: auto !important;
        page-break-inside: auto !important;
    }
    
    /* Ensure color preservation */
    * {
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
        color-adjust: exact !important;
    }
    
    /* Preserve circular avatar badges without distortion or edge clipping */
    .cv-avatar-dark-circle, .cv-initials-badge,
    .cv-sidebar-circle-badge, .cv-avatar-col-tpl5,
    .cl-avatar-dark-circle, .cl-av-col {
        display: flex !important;
        visibility: visible !important;
        border-radius: 50% !important;
        -webkit-border-radius: 50% !important;
        overflow: hidden !important;
        flex-shrink: 0 !important;
    }
    
    /* Ensure document wrapper doesn't clip edge elements */
    .document-sheet, .cv-header-tpl2, .cv-header-tpl5, .cv-header-tpl6 {
        overflow: visible !important;
    }
    
    /* Handle column layouts properly for print - allow natural flow */
    .cv-column, .cv-left-col, .cv-right-col {
        break-inside: auto !important;
        page-break-inside: auto !important;
        column-break-inside: auto !important;
        gap: 4pt !important;
    }
    
    /* Ensure body content respects natural flow */
    .cv-body, .cv-exp-bullets, .cv-achievements-list {
        break-inside: auto !important;
        page-break-inside: auto !important;
    }
    
    /* Clean whitespace */
    html, body {
        margin: 0 !important;
        padding: 0 !important;
        background: #ffffff !important;
    }
}

/* Ribbon Review Toggle Button */
.tb-btn-review {
    background-color: #f0fdf4;
    color: #15803d;
    border: 1px solid #bbf7d0;
    font-weight: 600;
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    white-space: nowrap;
    padding: 0.35rem 0.75rem;
    border-radius: 6px;
    cursor: pointer;
    transition: all 0.15s ease;
}

.tb-btn-review:hover {
    background-color: #dcfce7;
    border-color: #86efac;
    color: #166534;
}

.tb-btn-review.is-hidden-mode {
    background-color: #f8fafc;
    color: #64748b;
    border-color: #e2e8f0;
}

.tb-btn-review.is-hidden-mode:hover {
    background-color: #f1f5f9;
    color: #334155;
    border-color: #cbd5e1;
}

/* Sidebar Toggle Switch */
.btn-toggle-visual-review {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    background-color: #f0fdf4;
    border: 1px solid #bbf7d0;
    border-radius: 999px;
    padding: 2px 8px;
    font-size: 0.72rem;
    font-weight: 700;
    color: #166534;
    cursor: pointer;
    transition: all 0.15s ease;
}

.btn-toggle-visual-review:hover {
    background-color: #dcfce7;
}

.btn-toggle-visual-review.is-hidden-mode {
    background-color: #f1f5f9;
    border-color: #cbd5e1;
    color: #64748b;
}

.btn-toggle-visual-review.is-hidden-mode:hover {
    background-color: #e2e8f0;
    color: #1e293b;
}

.visual-review-summary-row {
    display: flex;
    gap: 6px;
    margin-top: 8px;
}

.vr-stat-pill {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 0.72rem;
    font-weight: 600;
    padding: 3px 8px;
    border-radius: 4px;
    flex: 1;
    justify-content: center;
}

.vr-match-pill {
    background-color: #f0fdf4;
    color: #166534;
    border: 1px solid #bbf7d0;
}

.vr-gap-pill {
    background-color: #fef2f2;
    color: #991b1b;
    border: 1px solid #fecdd3;
}

.vr-dot {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    display: inline-block;
}

.vr-dot.green {
    background-color: var(--brand-blue);
}

.vr-dot.red {
    background-color: #ef4444;
}



/* ======================================================== */
/* ENHANCED REFEREES SECTION DESIGN (SEAMLESS TYPOGRAPHY)   */
/* ======================================================== */
.cv-referees-container {
    margin-top: 4px;
}

.cv-referees-statement-card {
    display: flex;
    align-items: center;
    gap: 8px;
    background-color: transparent;
    border: none;
    padding: 3px 0;
    font-size: 0.84rem;
    color: #334155;
    font-style: italic;
}

.ref-statement-icon {
    display: none;
}

.ref-statement-text {
    flex: 1;
    line-height: 1.4;
    font-weight: 500;
    outline: none;
}

.cv-referees-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 12px 18px;
    margin-top: 4px;
}

.cv-referee-card {
    background: #ffffff;
    border: 1px solid #dbe3eb;
    border-radius: 4px;
    padding: 10px 12px;
    display: flex;
    flex-direction: column;
    gap: 8px;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
    position: relative;
}

.cv-referee-card-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.cv-referee-name {
    font-weight: 700;
    font-size: 0.86rem;
    color: #0f172a;
    outline: none;
    min-width: 0;
    flex: 1;
}

.cv-referee-name:empty::before,
.cv-referee-role:empty::before,
.ref-contact-pill:empty::before,
.cv-referee-rel:empty::before {
    content: attr(data-placeholder);
    color: #94a3b8;
    font-weight: 400;
}

.btn-referee-del {
    background: none;
    border: none;
    color: #94a3b8;
    font-size: 1.1rem;
    cursor: pointer;
    padding: 0 4px;
    line-height: 1;
    opacity: 0;
    transition: opacity 0.15s ease, color 0.15s ease;
}

.cv-referee-card:hover .btn-referee-del {
    opacity: 1;
}

.cv-referee-card:focus-within .btn-referee-del {
    opacity: 1;
}

.btn-referee-del:hover {
    color: #dc2626;
}

.cv-referee-role {
    font-size: 0.8rem;
    color: #475569;
    font-weight: 600;
    outline: none;
}

.referee-field {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
}

.ref-field-label {
    color: #64748b;
    font-size: 0.62rem;
    font-weight: 700;
    text-transform: uppercase;
}

.cv-referee-contacts {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
}

.ref-contact-pill {
    background: transparent;
    color: #334155;
    font-size: 0.76rem;
    font-weight: 500;
    padding: 0;
    border: none;
    outline: none;
    overflow-wrap: anywhere;
}

.cv-referee-rel {
    font-size: 0.74rem;
    color: #64748b;
    font-style: italic;
    margin-top: 1px;
    outline: none;
}

.cv-referees-empty {
    grid-column: 1 / -1;
    padding: 10px 12px;
    border: 1px dashed #cbd5e1;
    color: #64748b;
    font-size: 0.78rem;
}

.section-status-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.75rem;
    margin: 0 0 1rem;
}

.section-status-pane {
    min-width: 0;
    border: 1px solid #dbe3eb;
    background: #ffffff;
}

.section-status-pane h4 {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    padding: 8px 10px;
    border-bottom: 1px solid #e2e8f0;
    color: #334155;
    font-size: 0.76rem;
    font-weight: 700;
}

.section-status-pane h4 span {
    color: #64748b;
}

.section-status-list {
    display: flex;
    flex-direction: column;
    max-height: 190px;
    overflow-y: auto;
}

.section-status-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    min-height: 30px;
    padding: 4px 9px;
    border-bottom: 1px solid #f1f5f9;
    color: #475569;
    font-size: 0.72rem;
}

.section-status-dot {
    width: 7px;
    height: 7px;
    flex: 0 0 7px;
    border-radius: 50%;
    background: #16a34a;
}

.section-status-item > span:nth-child(2) {
    flex: 1;
}

.btn-status-add {
    padding: 3px 8px;
    border: 1px solid #cbd5e1;
    background: #f8fafc;
    color: #334155;
    font-size: 0.68rem;
    font-weight: 700;
    cursor: pointer;
}

.btn-status-add:hover {
    border-color: var(--brand-blue);
    color: var(--brand-blue);
}

.section-status-empty {
    padding: 10px;
    color: #64748b;
    font-size: 0.72rem;
}

.cl-body[contenteditable="true"] {
    display: block;
    gap: 0;
    padding: 3px 0;
    border-left: 0;
}

.cl-body[contenteditable="true"] > .cl-paragraph {
    display: block;
    margin: 0 0 0.85rem !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    cursor: text;
}

.cl-body[contenteditable="true"] > .cl-paragraph:hover,
.cl-body[contenteditable="true"] > .cl-paragraph:focus {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}

@media (max-width: 600px) {
    .section-status-grid {
        grid-template-columns: 1fr;
    }
}

.btn-add-ref-card {
    background-color: #f0fdf4 !important;
    color: #166534 !important;
    border-color: #bbf7d0 !important;
    font-weight: 700;
}

/* ======================================================== */
/* COVER LETTER REPHRASER FLOATING WIDGET (SHARP DESIGN)   */
/* ======================================================== */
.cl-rephrase-bar {
    position: absolute;
    background: #ffffff;
    border: 1.5px solid #1565C0;
    border-top: 3px solid #1565C0;
    border-radius: 0 !important;
    box-shadow: 0 16px 36px rgba(15, 23, 42, 0.18), 0 4px 10px rgba(37, 99, 235, 0.08);
    padding: 10px 14px;
    z-index: 1000;
    display: flex;
    flex-direction: column;
    gap: 8px;
    min-width: 320px;
    font-family: 'Outfit', sans-serif;
    animation: popoverFadeIn 0.15s ease-out;
}

.cl-rephrase-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-size: 0.78rem;
    font-weight: 700;
    color: #1e293b;
    border-bottom: 1px solid #f1f5f9;
    padding-bottom: 6px;
    font-family: 'Outfit', sans-serif;
}

.cl-rephrase-title-wrap {
    display: flex;
    align-items: center;
    gap: 6px;
}

.cl-rephrase-title {
    font-size: 0.8rem;
    font-weight: 700;
    color: #1e3a8a;
    letter-spacing: 0.01em;
    font-family: 'Outfit', sans-serif;
}

.cl-rephrase-close {
    background: none;
    border: none;
    color: #94a3b8;
    cursor: pointer;
    font-size: 1.15rem;
    line-height: 1;
    padding: 0 2px;
}

.cl-rephrase-close:hover {
    color: #0f172a;
}

.cl-rephrase-pills {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 6px;
}

.btn-cl-rephrase-opt {
    background-color: #f8fafc;
    color: #334155;
    border: 1px solid #e2e8f0;
    border-radius: 0 !important;
    padding: 6px 10px;
    font-size: 0.76rem;
    font-weight: 600;
    font-family: 'Outfit', sans-serif;
    cursor: pointer;
    text-align: center;
    transition: all 0.15s ease;
}

.btn-cl-rephrase-opt:hover {
    background-color: #E3F2FD;
    border-color: #42A5F5;
    color: #1565C0;
    box-shadow: 0 2px 5px rgba(37, 99, 235, 0.1);
}

.tb-btn-rephrase-cl {
    background-color: #E3F2FD;
    color: #1565C0;
    border: 1px solid #bfdbfe;
    font-weight: 600;
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.35rem 0.75rem;
    border-radius: 0 !important;
    font-family: 'Outfit', sans-serif;
    cursor: pointer;
    transition: all 0.15s ease;
}

.tb-btn-rephrase-cl:hover {
    background-color: #dbeafe;
    border-color: #93c5fd;
    color: #0D47A1;
}

/* Add Section Dropdown */
.dropdown-wrap {
    position: relative;
    display: inline-block;
}

.btn-primary-accent {
    background-color: #0f172a;
    color: #ffffff;
    border: 1px solid #0f172a;
    font-weight: 600;
}

.btn-primary-accent:hover {
    background-color: #1e293b;
    border-color: #1e293b;
}

.dropdown-menu {
    position: absolute;
    top: calc(100% + 4px);
    left: 0;
    z-index: 100;
    background-color: #ffffff;
    border: 1px solid var(--border-medium);
    border-radius: var(--radius-md);
    box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.15), 0 8px 10px -6px rgba(0, 0, 0, 0.1);
    min-width: 250px;
    padding: 0.4rem;
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
    animation: dropFadeIn 0.15s cubic-bezier(0.16, 1, 0.3, 1);
}

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

.dropdown-header {
    font-size: 0.68rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--text-subtle);
    padding: 0.35rem 0.6rem 0.2rem 0.6rem;
}

.dropdown-item {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    width: 100%;
    padding: 0.45rem 0.6rem;
    border: none;
    background: transparent;
    border-radius: var(--radius-sm);
    cursor: pointer;
    text-align: left;
    transition: background-color 0.15s ease;
}

.dropdown-item:hover {
    background-color: #f1f5f9;
}

.sec-item-icon {
    font-size: 1.05rem;
    line-height: 1;
}

.sec-item-txt {
    display: flex;
    flex-direction: column;
    line-height: 1.25;
}

.sec-item-txt strong {
    font-size: 0.8rem;
    font-weight: 700;
    color: var(--text-main);
}

.sec-item-txt small {
    font-size: 0.68rem;
    color: var(--text-muted);
}

.dropdown-divider {
    height: 1px;
    background-color: var(--border-medium);
    margin: 0.25rem 0;
}

.item-paste-clipboard {
    background-color: #E3F2FD !important;
    border: 1px solid #bfdbfe !important;
}

.item-paste-clipboard:hover {
    background-color: #dbeafe !important;
}

.btn-purple {
    background-color: var(--accent-purple);
    color: #ffffff;
    border: 1px solid var(--accent-purple);
}

.btn-purple:hover {
    background-color: var(--accent-purple-hover);
    border-color: var(--accent-purple-hover);
}

/* ======================================================== */
/* ATS METRICS LEFT SIDE PANEL                              */
/* ======================================================== */
.ats-metrics-panel {
    width: 225px;
    min-width: 225px;
    background-color: #ffffff;
    border: 1px solid var(--border-medium);
    border-radius: var(--radius-sm);
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.04);
    display: flex;
    flex-direction: column;
    margin-right: 0.65rem;
    height: calc(100vh - 110px);
    max-height: 880px;
    position: sticky;
    top: 60px;
    flex-shrink: 0;
    overflow: hidden;
    transition: width 0.25s ease, min-width 0.25s ease, opacity 0.2s ease;
    z-index: 80;
    box-sizing: border-box;
}

.ats-metrics-panel.collapsed {
    width: 44px;
    min-width: 44px;
}

.ats-metrics-panel.collapsed .ats-panel-title,
.ats-metrics-panel.collapsed .ats-panel-body {
    display: none !important;
}

.ats-panel-header {
    padding: 0.75rem 0.95rem;
    border-bottom: 1px solid var(--border-light);
    display: flex;
    justify-content: space-between;
    align-items: center;
    background: linear-gradient(180deg, #f8fafc 0%, #f1f5f9 100%);
    flex-shrink: 0;
}

.ats-panel-title-wrap {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    font-size: 0.82rem;
    font-weight: 800;
    color: #0f172a;
    letter-spacing: -0.01em;
}

.ats-panel-title-wrap svg {
    color: var(--cv-accent, var(--brand-blue));
}

.btn-panel-collapse {
    width: 24px;
    height: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 4px;
    border: 1px solid var(--border-medium);
    background: #ffffff;
    color: #64748b;
    cursor: pointer;
    transition: all 0.15s ease;
}

.btn-panel-collapse:hover {
    background: #f1f5f9;
    color: #0f172a;
    border-color: #94a3b8;
}

.ats-panel-body {
    padding: 0.85rem;
    overflow-y: auto;
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    flex: 1;
}

.ats-side-card {
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    padding: 0.75rem 0.85rem;
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
}

.ats-side-card-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.ats-side-label {
    font-size: 0.7rem;
    font-weight: 800;
    text-transform: uppercase;
    color: #475569;
    letter-spacing: 0.04em;
}

.ats-side-score-row {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    margin: 0.2rem 0;
}

.ats-score-badge {
    font-size: 0.7rem;
    font-weight: 700;
    color: var(--brand-blue-dark);
    background: var(--brand-blue-light);
    padding: 2px 6px;
    border-radius: 4px;
}

.ats-val-big {
    font-size: 1.45rem;
    font-weight: 800;
    color: var(--text-main);
    font-family: var(--font-mono);
}

.ats-val-sub {
    font-size: 0.72rem;
    color: var(--text-muted);
    font-weight: 600;
}

.metric-bar-bg {
    height: 6px;
    background-color: #e2e8f0;
    border-radius: 999px;
    overflow: hidden;
    margin-top: 4px;
}

.metric-bar-fill {
    height: 100%;
    width: 0%;
    background: linear-gradient(90deg, var(--brand-blue) 0%, var(--brand-blue-dark) 100%);
    border-radius: 999px;
    transition: width 0.6s ease-out;
}

.audit-status {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    font-size: 0.82rem;
    font-weight: 800;
    color: var(--brand-blue);
}

.audit-sub {
    font-size: 0.7rem;
    color: var(--text-subtle);
    margin: 0;
    line-height: 1.35;
}

.ats-keywords-card {
    flex: 1;
}

.ats-keywords-tip {
    font-size: 0.68rem;
    color: #64748b;
    margin: 0;
    line-height: 1.3;
}

.ats-keywords-count {
    font-size: 0.68rem;
    font-weight: 700;
    color: var(--cv-accent, var(--brand-blue));
}

.keywords-wrap {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
    margin-top: 0.35rem;
}

.keyword-pill {
    font-size: 0.68rem;
    font-weight: 700;
    padding: 3px 7px;
    border-radius: 6px;
    border: 1px solid transparent;
    display: inline-flex;
    align-items: center;
    gap: 3px;
    line-height: 1.2;
}

.keyword-matched {
    background-color: var(--brand-blue-light);
    color: var(--brand-blue-dark);
    border: 1px solid var(--brand-blue-border);
}

.keyword-missing {
    background-color: #f1f5f9;
    color: #475569;
    border: 1px solid #cbd5e1;
}

/* Main Editor Layout */
.editor-main-layout {
    display: flex;
    align-items: stretch;
    width: 100%;
    position: relative;
    gap: 0;
    min-height: 0;
    flex: 1;
}

/* ======================================================== */
/* TEMPLATE 2 EXACT CANVAS (ENHANCV STYLE WITH INITIALS) */
/* COMPACT 1.0 LINE HEIGHT ENFORCED */
/* ======================================================== */
.document-sheet-wrapper {
    background-color: #e2e8f0;
    padding: 1.25rem 1rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    overflow-x: auto;
    border: 1px solid var(--border-medium);
    border-radius: var(--radius-sm);
    flex: 1;
    min-width: 0;
    transition: flex 0.25s ease;
    box-sizing: border-box;
}

.document-sheet {
    --cv-accent: var(--brand-blue);
    background-color: #ffffff;
    width: 100%;
    max-width: 840px;
    min-height: 1100px;
    padding: 0.75rem 1.85rem 2.25rem 1.85rem;
    box-shadow: var(--shadow-sheet);
    color: #5f6e7d;
    line-height: 1em;
    display: flex;
    flex-direction: column;
    gap: 0.85rem;
    box-sizing: border-box;
}

/* Premium CV design system: layouts share semantic content and swap only composition. */
.document-sheet.template-template_12_atlas,
.document-sheet.template-template_13_editorial,
.document-sheet.template-template_14_academic {
    --cv-accent: #ff0ad3;
    --cv-ink: #4a5968;
    --cv-muted: #607080;
    --cv-rule: color-mix(in srgb, var(--cv-accent) 28%, #d9e0e7);
    gap: 1.05rem;
    padding: 1.3rem 1.75rem 2.4rem;
}

.template-template_12_atlas .cv-header-tpl2 {
    border-bottom: 3px solid var(--cv-accent) !important;
    padding: 0.25rem 0 0.9rem;
}
.template-template_12_atlas .cv-name {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 2rem;
    letter-spacing: -0.045em;
    color: var(--cv-ink);
}
.template-template_12_atlas .cv-title-teal,
.template-template_12_atlas .cv-exp-company,
.template-template_12_atlas .cv-edu-inst,
.template-template_12_atlas .cv-skill-cat-name {
    color: var(--cv-accent) !important;
}
.template-template_12_atlas .cv-section-header-row {
    border-bottom: 1px solid var(--cv-rule) !important;
}
.template-template_12_atlas .cv-section-heading {
    color: var(--cv-accent) !important;
    letter-spacing: 0.13em !important;
    font-size: 11px !important;
}
.template-template_12_atlas .cv-right-col {
    border-left: 1px solid var(--cv-rule);
    padding-left: 1.15rem;
}

.template-template_13_editorial .cv-header-tpl2 {
    display: block;
    text-align: center;
    border-top: 1px solid var(--cv-accent) !important;
    border-bottom: 1px solid var(--cv-accent) !important;
    padding: 0.8rem 0 0.95rem;
}
.template-template_13_editorial .cv-header-left { align-items: center; }
.template-template_13_editorial .cv-header-right { display: none !important; }
.template-template_13_editorial .cv-name {
    font-family: 'Playfair Display', Georgia, serif;
    font-size: 2.25rem;
    font-weight: 600;
    letter-spacing: -0.025em;
    text-transform: none;
}
.template-template_13_editorial .cv-title-teal {
    color: var(--cv-accent) !important;
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 0.73rem;
    font-weight: 700;
    letter-spacing: 0.16em;
    text-transform: uppercase;
}
.template-template_13_editorial .cv-contact-row { justify-content: center; }
.template-template_13_editorial .cv-section-header-row {
    border-bottom: 0 !important;
    margin-bottom: 0.15rem;
}
.template-template_13_editorial .cv-section-heading {
    color: var(--cv-accent) !important;
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 10px !important;
    letter-spacing: 0.2em !important;
}
.template-template_13_editorial .cv-section-header-row::after {
    content: '';
    height: 1px;
    background: var(--cv-rule);
    flex: 1;
    margin-left: 0.7rem;
}
.template-template_13_editorial .cv-body { gap: 0.7rem; }
.template-template_13_editorial .cv-column { gap: 0.7rem; }

.template-template_14_academic .cv-header-tpl2 {
    border-bottom: 1px solid var(--cv-accent) !important;
    padding-bottom: 0.7rem;
}
.template-template_14_academic .cv-name {
    font-family: 'Merriweather', Georgia, serif;
    font-size: 1.72rem;
    letter-spacing: -0.02em;
    text-transform: none;
}
.template-template_14_academic .cv-title-teal,
.template-template_14_academic .cv-exp-company,
.template-template_14_academic .cv-edu-inst,
.template-template_14_academic .cv-skill-cat-name {
    color: var(--cv-accent) !important;
}
.template-template_14_academic .cv-section-header-row {
    border-bottom: 1px solid var(--cv-rule) !important;
}
.template-template_14_academic .cv-section-heading {
    color: var(--cv-accent) !important;
    font-family: 'Merriweather', Georgia, serif;
    font-size: 12px !important;
    letter-spacing: 0.02em !important;
    text-transform: none;
}
.template-template_14_academic .cv-left-col {
    border-right: 1px solid var(--cv-rule);
    padding-right: 1.15rem;
}
.template-template_14_academic .cv-exp-bullet-row::before,
.template-template_14_academic .cv-achievement-item::before { color: var(--cv-accent); }

/* Gallery thumbnails for the three new compositions. */
.tpl-thumb-atlas, .tpl-thumb-editorial, .tpl-thumb-academic { background: #fff; padding: 14px; }
.tpl-thumb-atlas { border-top: 8px solid #18324a; }
.thumb-atlas-rule { height: 2px; background: #18324a; width: 38%; margin-bottom: 10px; }
.thumb-atlas-name { height: 9px; width: 64%; background: #14202b; margin-bottom: 5px; }
.thumb-atlas-title { height: 4px; width: 42%; background: #8da0b1; margin-bottom: 15px; }
.thumb-atlas-body { display: grid; grid-template-columns: 1.7fr 1fr; gap: 10px; }
.thumb-atlas-body div { height: 82px; border-top: 3px solid #18324a; background: #eef2f5; }
.tpl-thumb-editorial { border-top: 1px solid #5b3a82; text-align: center; }
.thumb-editorial-kicker { height: 4px; width: 28%; background: #9a86b7; margin: 3px auto 9px; }
.thumb-editorial-name { height: 13px; width: 54%; background: #222; margin: 0 auto 7px; }
.thumb-editorial-columns { display: grid; gap: 9px; margin-top: 18px; }
.thumb-editorial-columns div { height: 73px; border-top: 2px solid #5b3a82; background: #f0edf4; }
.tpl-thumb-academic { border-left: 7px solid #285943; }
.thumb-academic-head { height: 13px; width: 64%; background: #14202b; margin-bottom: 14px; }
.thumb-academic-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.thumb-academic-grid > div { border-top: 2px solid #285943; padding-top: 8px; }
.thumb-academic-grid i { display: block; height: 4px; background: #c9d4ce; margin: 7px 0; }
.cv-theme-picker {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    min-width: 0;
}

.cv-theme-swatches {
    display: flex;
    align-items: center;
    gap: 4px;
    flex: 0 0 auto;
    flex-wrap: nowrap;
    overflow: hidden;
    padding: 3px 2px;
}

.cv-theme-swatch {
    width: 22px;
    height: 22px;
    flex: 0 0 22px;
    padding: 0;
    border: 2px solid #ffffff;
    outline: 1px solid #cbd5e1;
    border-radius: 3px;
    background-color: var(--swatch-color);
    cursor: pointer;
    transition: transform 0.12s ease, outline-color 0.12s ease;
}

.cv-theme-swatch[data-color] {
    background-color: var(--swatch-color, transparent);
}

.cv-theme-swatch:hover {
    transform: translateY(-2px);
    outline-color: #475569;
}

.cv-theme-swatch.active {
    outline: 2px solid #111827;
    outline-offset: 1px;
}

.cv-theme-swatch:focus-visible {
    outline: 2px solid var(--brand-blue);
    outline-offset: 2px;
}

.cv-theme-add {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    flex: 0 0 22px;
    border: 1px dashed #94a3b8;
    color: #475569;
    font-size: 18px;
    font-weight: 400;
    line-height: 1;
    cursor: pointer;
}

.cv-theme-add:hover,
.cv-theme-add:focus-within {
    border-color: var(--brand-blue);
    color: var(--brand-blue);
}

.cv-theme-add input[type="color"] {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    padding: 0;
    border: 0;
    opacity: 0;
    cursor: pointer;
}

.cv-theme-swatch[data-color="#18324a"] { --swatch-color: #18324a; }
.cv-theme-swatch[data-color="#ff0ad3"] { --swatch-color: #ff0ad3; }
.cv-theme-swatch[data-color="#245b8f"] { --swatch-color: #245b8f; }
.cv-theme-swatch[data-color="#285943"] { --swatch-color: #285943; }
.cv-theme-swatch[data-color="#7a2638"] { --swatch-color: #7a2638; }
.cv-theme-swatch[data-color="#374151"] { --swatch-color: #374151; }
.cv-theme-swatch[data-color="#176b73"] { --swatch-color: #176b73; }
.cv-theme-swatch[data-color="#5b3a82"] { --swatch-color: #5b3a82; }
.cv-theme-swatch[data-color="#526273"] { --swatch-color: #526273; }
.cv-theme-swatch[data-color="#795548"] { --swatch-color: #795548; }
.cv-theme-swatch[data-color="#111827"] { --swatch-color: #111827; }

/* Clean, readable typography across sentences, paragraphs, and list items (Reduced by 10% to 1.25) */
.document-sheet p,
.document-sheet li,
.cv-body p,
.cv-body li,
.cv-text,
.cv-summary-text,
.cv-exp-bullet,
.cv-ach-text,
.ach-desc,
.ach-text-block,
.cv-award-item,
.cv-skill-item,
.cv-lang-item,
.cv-ref-item,
.contact-item span,
.meta-item span {
    font-size: 13px !important;
    line-height: 1em !important;
}

.cl-paragraph,
.cl-body-para,
.cl-subject {
    font-size: 12pt !important;
    line-height: 1 !important;
}

.cl-subject {
    font-weight: 700;
    color: #4a5968;
    margin: 0.7rem 0 0.35rem;
}

.cl-contact-stack {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.12rem;
}

.cl-signature-script {
    display: none;
}

.cl-signature-contacts {
    font-size: 12pt;
    color: #5f6e7d;
    line-height: 1.2;
    text-align: left;
}

.cl-signature-contacts .cl-contact-line {
    justify-content: flex-start;
}

.cv-editable-list {
    margin: 0;
    padding-left: 1.1rem;
    list-style-position: outside;
    outline: none;
}

.cv-editable-list > li {
    margin: 0 0 0.22rem;
    padding: 0;
    line-height: 1em;
}

.cv-editable-list:focus {
    outline: 1px solid rgba(21, 101, 192, 0.35);
    outline-offset: 2px;
}

#clBody[contenteditable="true"] {
    outline: none;
}

#clBody[contenteditable="true"]:focus {
    outline: 1px solid rgba(21, 101, 192, 0.35);
    outline-offset: 3px;
}

#clBody > p {
    margin: 0 0 0.9rem;
}

.cv-exp-role,
.cv-edu-degree {
    font-size: 14.5px !important;
    font-weight: 700 !important;
    line-height: 1em !important;
    color: #4a5968 !important;
}

.cv-exp-company,
.cv-edu-school,
.cv-edu-inst {
    font-size: 12.5px !important;
    font-weight: 600 !important;
    line-height: 1em !important;
    color: var(--cv-accent, var(--brand-blue)) !important;
}

.cv-meta-row,
.cv-edu-dates,
.meta-item {
    font-size: 12px !important;
    line-height: 1em !important;
}

.cv-section-heading {
    font-size: 0.74rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase;
}

/* Editable States - Clean, Natural Word Document Experience */
[contenteditable="true"] {
    outline: none !important;
}

[contenteditable="true"]:hover {
    outline: none !important;
    cursor: text;
}

[contenteditable="true"]:focus {
    outline: 1px solid color-mix(in srgb, var(--brand-blue) 45%, transparent) !important;
    background-color: transparent !important;
}

/* The CV canvas has one selection boundary: the transform frame.
   Nested bullet fields must not draw a second focus box. */
#resumePreviewCanvas [contenteditable="true"],
#resumePreviewCanvas [contenteditable="true"]:hover,
#resumePreviewCanvas [contenteditable="true"]:focus,
#resumePreviewCanvas [contenteditable="true"]:focus-visible {
    outline: none !important;
    box-shadow: none !important;
}

/* Template Header Defaults */
.cv-header-tpl2 {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    padding-bottom: 0.85rem;
    border-bottom: 2px solid var(--cv-accent, var(--brand-blue));
    gap: 1.5rem;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
}

/* Template 1: Modern Executive (Executive Blue) Overrides */
.template-template_1_blue .cv-header-tpl2 {
    border-bottom: 2px solid var(--cv-accent, #1565C0);
}

.template-template_1_blue .cv-title-teal {
    color: var(--cv-accent, #1565C0) !important;
}

.template-template_1_blue .cv-header-right {
    display: none !important;
}

.template-template_1_blue .cv-section-header-row {
    border-bottom: 1.5px solid var(--cv-accent, #1565C0) !important;
}

.template-template_1_blue .cv-section-heading {
    color: var(--cv-accent, #1565C0) !important;
}

.template-template_1_blue .cv-exp-company,
.template-template_1_blue .cv-edu-inst,
.template-template_1_blue .cv-skill-cat-name {
    color: var(--cv-accent, #1565C0) !important;
}

/* Template 2: Modern Executive (Teal & Initials Badge) Overrides */
.template-template_2_teal .cv-header-tpl2,
.template-modern_two_column .cv-header-tpl2 {
    border-bottom: 2px solid var(--cv-accent, var(--brand-blue));
}

.template-template_2_teal .cv-title-teal,
.template-modern_two_column .cv-title-teal {
    color: var(--cv-accent, var(--brand-blue)) !important;
}

.template-template_2_teal .cv-header-right,
.template-modern_two_column .cv-header-right {
    display: flex !important;
}

.template-template_2_teal .cv-section-header-row,
.template-modern_two_column .cv-section-header-row {
    border-bottom: 1.5px solid color-mix(in srgb, var(--cv-accent, var(--brand-blue)) 55%, #e2e8f0) !important;
}

.template-template_2_teal .cv-section-heading,
.template-modern_two_column .cv-section-heading {
    color: var(--cv-accent, var(--brand-blue)) !important;
}

.template-template_2_teal .cv-exp-company,
.template-template_2_teal .cv-edu-inst,
.template-template_2_teal .cv-skill-cat-name,
.template-modern_two_column .cv-exp-company,
.template-modern_two_column .cv-edu-inst,
.template-modern_two_column .cv-skill-cat-name {
    color: var(--cv-accent, var(--brand-blue)) !important;
}

.cv-header-left {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}

.cv-name {
    font-size: 1.75rem;
    font-weight: 800;
    color: #0f172a;
    letter-spacing: -0.01em;
    text-transform: uppercase;
}

.cv-title-teal {
    font-size: 0.88rem;
    font-weight: 700;
    color: var(--cv-accent, var(--brand-blue));
    letter-spacing: 0.01em;
}

.cv-contact-row {
    display: flex;
    gap: 1rem;
    align-items: center;
    font-size: 0.76rem;
    color: #475569;
    flex-wrap: wrap;
    margin-top: 0.15rem;
}

.contact-item {
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

.contact-item svg {
    color: #64748b;
    flex-shrink: 0;
}

.cv-header-right {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-right: 6px;
    flex-shrink: 0;
}

/* Initials badge uses the same primary color as the studio logo */
.cv-initials-badge {
    width: 60px;
    height: 60px;
    background-color: var(--cv-accent, var(--brand-blue));
    color: #ffffff;
    border-radius: 50% !important;
    -webkit-border-radius: 50% !important;
    overflow: hidden !important;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.4rem;
    font-weight: 800;
    letter-spacing: 0.05em;
    flex-shrink: 0;
    box-shadow: 0 2px 8px color-mix(in srgb, var(--cv-accent, var(--brand-blue)) 28%, transparent);
}

/* Full-Width Summary Banner (Used by Template 1) */
.cv-fullwidth-summary:empty,
#cvFullWidthSummaryTop:empty {
    display: none !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    height: 0 !important;
}

.cv-fullwidth-summary {
    margin-bottom: 0.85rem;
    padding-bottom: 0.65rem;
}

.template-template_1_blue .cv-fullwidth-summary:not(:empty) {
    display: block;
    border-bottom: 1.5px solid var(--cv-accent, #1565C0);
}

.template-template_2_teal .cv-fullwidth-summary,
.template-modern_two_column .cv-fullwidth-summary {
    display: none !important;
}

/* Distinct Column Layout Grids */
.cv-body {
    display: grid;
    gap: 1.25rem;
    width: 100%;
    box-sizing: border-box;
}

/* Template 1: Asymmetric 65% Main / 35% Sidebar */
.template-template_1_blue.layout-2col .cv-body {
    grid-template-columns: minmax(0, 1.85fr) minmax(0, 1fr);
    gap: 1.35rem;
}

/* Template 2: Balanced 58% Left / 42% Right */
.template-template_2_teal.layout-2col .cv-body,
.template-modern_two_column.layout-2col .cv-body {
    grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr);
    gap: 1.25rem;
}

.layout-1col .cv-body {
    grid-template-columns: minmax(0, 1fr);
}

.cv-column {
    display: flex;
    flex-direction: column;
    gap: 0.85rem;
    min-width: 0;
    overflow: visible;
    word-break: break-word;
    overflow-wrap: break-word;
}

/* ======================================================== */
/* CRISP SINGLE SECTION BORDER (ZERO DOUBLE LINES) */
/* ======================================================== */
.cv-section {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    position: relative;
    overflow: visible;
}

.cv-section-header-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-bottom: 1px solid #cbd5e1 !important;
    padding-bottom: 3px;
    margin-bottom: 0.35rem;
    position: relative;
    width: 100%;
    overflow: visible;
    min-height: 22px;
}

.sec-heading-group {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    flex: 1;
    width: 100%;
    min-width: 0;
}

.btn-sec-drag {
    color: #94a3b8;
    cursor: grab;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 2px;
    border-radius: 2px;
    opacity: 0;
    flex-shrink: 0;
    transition: opacity 0.15s ease, color 0.15s ease;
}

.btn-sec-drag:hover {
    color: var(--accent-blue);
    background-color: #f1f5f9;
}

.btn-sec-drag:active {
    cursor: grabbing;
}

.cv-section:hover .btn-sec-drag {
    opacity: 1;
}

.cv-section-heading {
    font-size: 0.84rem;
    font-weight: 800;
    color: #334155 !important;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    border-bottom: none !important;
    flex: 1;
    min-width: 0;
    line-height: 1.35;
    word-break: break-word;
}

/* Section move controls sit in the heading row so the selection frame cannot cover them. */
.section-actions {
    position: absolute;
    right: 0;
    top: 50%;
    background: #ffffff;
    border: 1px solid #cbd5e1;
    border-radius: 6px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08), 0 1px 3px rgba(0, 0, 0, 0.04);
    padding: 2px 4px;
    display: flex;
    align-items: center;
    gap: 2px;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.15s ease;
    transform: translateY(-50%);
    z-index: 80;
}

.cv-section:hover .section-actions,
.cv-section:focus-within .section-actions {
    opacity: 1;
    pointer-events: auto;
    transform: translateY(-50%);
}

.btn-sec-action {
    background-color: #f8fafc;
    border: 1px solid #e2e8f0;
    color: #475569;
    font-size: 0.68rem;
    font-weight: 700;
    padding: 2px 5px;
    border-radius: 4px;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 20px;
    transition: all 0.15s ease;
}

.btn-sec-action:hover {
    background-color: #ffffff;
    color: var(--accent-blue);
    border-color: var(--accent-blue);
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
}

.btn-sec-move-col:hover {
    color: var(--accent-teal);
    border-color: var(--accent-teal);
}

.btn-sec-copy:hover {
    color: #0284c7;
    border-color: #0284c7;
}

.btn-sec-cut:hover {
    color: #d97706;
    border-color: #d97706;
}

.btn-sec-dup:hover {
    color: #7c3aed;
    border-color: #7c3aed;
}

.btn-rephrase-ach {
    background-color: #E3F2FD !important;
    color: #1565C0 !important;
    border-color: #bfdbfe !important;
    font-weight: 700;
}

.btn-rephrase-ach:hover {
    background-color: #dbeafe !important;
    color: #0D47A1 !important;
}

.btn-remove-sec:hover {
    color: var(--accent-red) !important;
    border-color: var(--accent-red) !important;
    background-color: var(--accent-red-light) !important;
}

/* Drag and Drop States */
.cv-section {
    position: relative;
    transition: transform 0.15s ease, opacity 0.15s ease, box-shadow 0.15s ease;
}

.cv-section.dragging {
    opacity: 0.45;
    background-color: #f8fafc;
    border: 1px dashed #42A5F5 !important;
}

.cv-section.drag-over-above {
    border-top: 3px solid #42A5F5 !important;
}

.cv-section.drag-over-below {
    border-bottom: 3px solid #42A5F5 !important;
}

/* Column Footer Add Section Button */
.col-footer-add {
    margin-top: 0.85rem;
    padding-top: 0.5rem;
    border-top: 1px dashed #cbd5e1;
    display: flex;
    justify-content: center;
}

.btn-col-add-sec {
    background-color: #f8fafc;
    border: 1px dashed #94a3b8;
    color: #64748b;
    font-size: 0.72rem;
    font-weight: 700;
    padding: 0.35rem 0.8rem;
    border-radius: var(--radius-sm);
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    transition: all 0.15s ease;
    width: 100%;
    justify-content: center;
}

.btn-col-add-sec:hover {
    background-color: #ffffff;
    border-color: var(--accent-blue);
    color: var(--accent-blue);
    border-style: solid;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
}

/* In-Between Section Insertion Dividers */
.section-insert-divider {
    position: relative;
    height: 18px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0.2rem 0;
    opacity: 0.2;
    transition: opacity 0.15s ease, height 0.15s ease;
    z-index: 25;
}

.section-insert-divider:hover,
.section-insert-divider.active {
    opacity: 1;
    height: 26px;
}

.divider-line {
    position: absolute;
    left: 4%;
    right: 4%;
    height: 1px;
    background: repeating-linear-gradient(to right, #94a3b8 0, #94a3b8 5px, transparent 5px, transparent 10px);
    z-index: 1;
}

.btn-insert-divider {
    position: relative;
    z-index: 2;
    background-color: #ffffff;
    border: 1px dashed #94a3b8;
    color: #475569;
    font-size: 0.68rem;
    font-weight: 700;
    padding: 2px 9px;
    border-radius: 12px;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    transition: all 0.15s ease;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
}

.section-insert-divider:hover .btn-insert-divider,
.section-insert-divider.active .btn-insert-divider {
    background-color: #0f172a;
    color: #ffffff;
    border: 1px solid #0f172a;
    box-shadow: 0 2px 8px rgba(15, 23, 42, 0.25);
    transform: scale(1.05);
}

/* In-Between Insertion Popover Menu */
.divider-popover-menu {
    position: absolute;
    top: calc(100% + 4px);
    left: 50%;
    transform: translateX(-50%);
    z-index: 300;
    background-color: #ffffff;
    border: 1px solid var(--border-medium);
    border-radius: var(--radius-md);
    box-shadow: 0 12px 30px -4px rgba(0, 0, 0, 0.2), 0 8px 16px -4px rgba(0, 0, 0, 0.1);
    min-width: 300px;
    padding: 0.55rem;
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    animation: popoverFadeIn 0.15s cubic-bezier(0.16, 1, 0.3, 1);
}

@keyframes popoverFadeIn {
    from { opacity: 0; transform: translate(-50%, -6px); }
    to { opacity: 1; transform: translate(-50%, 0); }
}

.divider-popover-header {
    font-size: 0.68rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--text-subtle);
    padding: 0.15rem 0.35rem;
}

.divider-popover-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.3rem;
}

.btn-popover-item {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.4rem 0.5rem;
    border: 1px solid var(--border-light);
    border-radius: var(--radius-sm);
    background-color: #f8fafc;
    color: var(--text-main);
    font-size: 0.73rem;
    font-weight: 700;
    cursor: pointer;
    text-align: left;
    transition: all 0.15s ease;
}

.btn-popover-item:hover {
    background-color: #E3F2FD;
    border-color: #93c5fd;
    color: var(--accent-blue);
}

.btn-popover-item.popover-paste-item {
    grid-column: 1 / -1;
    background-color: #f0fdf4;
    border-color: #86efac;
    color: #166534;
}

.btn-popover-item.popover-paste-item:hover {
    background-color: #dcfce7;
    border-color: #4ade80;
}

.btn-popover-item.popover-custom-item {
    grid-column: 1 / -1;
    background-color: #faf5ff;
    border-color: #e9d5ff;
    color: #6b21a8;
}

.btn-popover-item.popover-custom-item:hover {
    background-color: #f3e8ff;
    border-color: #c084fc;
}

.popover-icon {
    font-size: 0.95rem;
    line-height: 1;
}

/* Global Studio Toast */
.studio-toast {
    position: fixed;
    bottom: 1.5rem;
    right: 1.5rem;
    z-index: 9999;
    background-color: #0f172a;
    color: #ffffff;
    padding: 0.6rem 1.1rem;
    border-radius: 0 !important;
    border: 1px solid #334155;
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.25);
    display: flex;
    align-items: center;
    gap: 0.55rem;
    font-size: 0.82rem;
    font-weight: 600;
    opacity: 0;
    transform: translateY(12px);
    transition: opacity 0.25s cubic-bezier(0.16, 1, 0.3, 1), transform 0.25s cubic-bezier(0.16, 1, 0.3, 1);
    pointer-events: none;
}

.studio-toast.show {
    opacity: 1;
    transform: translateY(0);
}

.contact-consistency-banner {
    position: fixed;
    top: 72px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 9800;
    width: min(720px, calc(100vw - 24px));
    pointer-events: none;
}

.contact-consistency-banner.hidden {
    display: none;
}

.contact-consistency-banner-inner {
    pointer-events: auto;
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 12px 14px;
    border-radius: 10px;
    background: #fff8eb;
    border: 1px solid #f0d9a8;
    color: #5c4814;
    box-shadow: 0 8px 28px rgba(92, 72, 20, 0.12);
    font-size: 13px;
    line-height: 1.45;
}

.contact-consistency-banner-inner svg {
    flex-shrink: 0;
    margin-top: 1px;
    color: #b45309;
}

.contact-consistency-dismiss {
    margin-left: auto;
    border: 0;
    background: transparent;
    color: inherit;
    font-size: 18px;
    line-height: 1;
    cursor: pointer;
    padding: 0 2px;
    opacity: 0.7;
}

.contact-consistency-dismiss:hover {
    opacity: 1;
}

.toast-icon {
    font-size: 1rem;
}

.toast-msg {
    line-height: 1.2;
}

.cv-text {
    font-size: 11px !important;
    color: #5f6e7d;
    line-height: 1em !important;
}

/* Experience List */
.cv-experience-list, .cv-education-list {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.cv-exp-item, .cv-edu-item {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
    position: relative;
}

.cv-edu-item {
    position: relative;
    padding: 3px 6px;
    margin: 0 -6px 6px -6px;
    border-radius: 4px;
    transition: background-color 0.15s ease;
}

.cv-edu-item:hover {
    background-color: #f8fafc;
}

.cv-edu-header-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    position: relative;
}

.cv-edu-item .btn-edu-del {
    opacity: 0;
    visibility: hidden;
    position: absolute;
    right: 0;
    top: 2px;
    background: #fee2e2;
    color: #ef4444;
    border: 1px solid #fca5a5;
    border-radius: 3px;
    width: 20px;
    height: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    line-height: 1;
    cursor: pointer;
    transition: all 0.15s ease;
}

.cv-edu-item:hover .btn-edu-del {
    opacity: 1;
    visibility: visible;
}

.cv-edu-item .btn-edu-del:hover {
    background: #ef4444;
    color: #ffffff;
}

.cv-edu-subdetails {
    margin-top: 3px;
}

.cv-edu-sub-list {
    list-style: disc;
    padding-left: 1.2rem;
    margin: 2px 0 0 0;
}

.cv-edu-sub-row {
    position: relative;
    font-size: 0.84rem;
    color: #334155;
    line-height: 1.35;
    padding: 1px 0;
}

.cv-edu-sub-row .btn-edu-sub-del {
    opacity: 0;
    visibility: hidden;
    background: transparent;
    border: none;
    color: #94a3b8;
    cursor: pointer;
    font-size: 13px;
    margin-left: 6px;
    transition: color 0.15s ease, opacity 0.15s ease;
}

.cv-edu-sub-row:hover .btn-edu-sub-del {
    opacity: 1;
    visibility: visible;
}

.cv-edu-sub-row .btn-edu-sub-del:hover {
    color: #ef4444;
}

.edu-item-controls {
    display: flex;
    align-items: center;
    gap: 6px;
    margin-top: 3px;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.15s ease, visibility 0.15s ease;
}

.cv-edu-item:hover .edu-item-controls {
    opacity: 1;
    visibility: visible;
}

.btn-add-edu-sub {
    font-size: 0.72rem;
    color: #0284c7;
    background: #f0f9ff;
    border: 1px dashed #bae6fd;
    border-radius: 3px;
    padding: 2px 8px;
    cursor: pointer;
    font-weight: 600;
    font-family: 'Outfit', sans-serif;
    transition: all 0.15s ease;
}

.btn-add-edu-sub:hover {
    background: #e0f2fe;
    border-color: #7dd3fc;
    color: #0369a1;
}

.cv-exp-role {
    font-size: 0.95rem;
    font-weight: 700;
    color: #0f172a;
}

.cv-exp-company, .cv-edu-inst {
    font-size: 0.9rem;
    font-weight: 700;
    color: var(--cv-accent, var(--brand-blue));
}

.cv-meta-row {
    display: flex;
    gap: 0.85rem;
    font-size: 0.82rem;
    color: #64748b;
    align-items: flex-start;
    flex-wrap: wrap;
    margin-top: 1px;
    margin-bottom: 2px;
}

.cv-exp-role,
.cv-timeline-role-title,
.cv-exp-title {
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
    text-overflow: clip !important;
    white-space: normal !important;
}

#cvSummary,
#secSummary,
.cv-summary-text,
#secSummary .cv-text {
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
}

.meta-item {
    display: inline-flex;
    align-items: center;
    gap: 3px;
}

.meta-item svg {
    color: #94a3b8;
    flex-shrink: 0;
}

/* Simple Indented Bullet Lists (Experience & Achievements) */
/* Simple Indented Bullet Lists (Experience & Achievements) - Clean, Simple, No Cards */
.cv-exp-bullets,
.cv-achievements-list {
    margin: 0.15rem 0 0.2rem 1.15rem !important;
    padding: 0 !important;
    list-style: none !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 0 !important;
}

.cv-exp-bullet-row,
.cv-achievement-item {
    display: flex !important;
    align-items: flex-start !important;
    position: relative !important;
    padding: 0 !important;
    margin: 0 !important;
    font-size: 13px !important;
    line-height: 1.25 !important;
    color: #334155;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    border-radius: 0 !important;
}

.cv-exp-bullet,
.cv-ach-text,
.ach-text-block {
    flex: 1 !important;
    min-width: 0;
    word-break: break-word;
    color: inherit;
    font-size: 13px !important;
    line-height: 1.25 !important;
    outline: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Default Solid Dot Bullet Marker */
.cv-exp-bullet-row::before,
.cv-achievement-item::before {
    content: "•";
    display: inline-block;
    color: #475569;
    font-weight: 700;
    margin-right: 0.35rem;
    flex-shrink: 0;
    line-height: 1.25 !important;
    font-size: 13px !important;
    user-select: none;
}

/* Delete Bullet Button */
.btn-bullet-del {
    opacity: 0;
    background: #fee2e2;
    border: 1px solid #fecaca;
    color: #dc2626;
    font-size: 0.72rem;
    font-weight: 700;
    width: 17px;
    height: 17px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    margin-left: 0.35rem;
    flex-shrink: 0;
    transition: all 0.15s ease;
    line-height: 1;
    padding: 0;
    user-select: none;
}

.btn-bullet-move {
    opacity: 0;
    background: #f8fafc;
    border: 1px solid #cbd5e1;
    color: #334155;
    font-size: 0.68rem;
    font-weight: 700;
    width: 17px;
    height: 17px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    margin-left: 0.2rem;
    flex-shrink: 0;
    line-height: 1;
    padding: 0;
    user-select: none;
}

.cv-exp-bullet-row,
.cv-edu-sub-row {
    padding-right: 58px !important;
}

.cv-exp-bullet-row .btn-bullet-del,
.cv-edu-sub-row .btn-bullet-del,
.cv-exp-bullet-row .btn-bullet-move,
.cv-edu-sub-row .btn-bullet-move {
    position: absolute;
    top: 0;
    margin-left: 0;
}

.cv-exp-bullet-row .btn-bullet-up,
.cv-edu-sub-row .btn-bullet-up { right: 36px; }
.cv-exp-bullet-row .btn-bullet-down,
.cv-edu-sub-row .btn-bullet-down { right: 18px; }
.cv-exp-bullet-row .btn-bullet-del,
.cv-edu-sub-row .btn-bullet-del { right: 0; }

.cv-exp-bullet-row.is-empty-bullet,
.cv-achievement-item.is-empty-bullet,
.cv-edu-sub-row.is-empty-bullet {
    min-height: 22px;
}

.cv-exp-bullet-row.is-empty-bullet .btn-bullet-del,
.cv-achievement-item.is-empty-bullet .btn-bullet-del,
.cv-edu-sub-row.is-empty-bullet .btn-bullet-del {
    opacity: 1;
    left: -22px;
    right: auto;
    z-index: 6;
    pointer-events: auto;
}

.cv-exp-bullet-row:hover .btn-bullet-del,
.cv-achievement-item:hover .btn-bullet-del,
.cv-exp-bullet-row:focus-within .btn-bullet-del,
.cv-achievement-item:focus-within .btn-bullet-del,
.cv-exp-bullet-row:hover .btn-bullet-move,
.cv-edu-sub-row:hover .btn-bullet-move,
.cv-exp-bullet-row:focus-within .btn-bullet-move,
.cv-edu-sub-row:focus-within .btn-bullet-move {
    opacity: 1;
}

.btn-bullet-del:hover {
    background: #dc2626;
    color: #ffffff;
    border-color: #b91c1c;
    transform: scale(1.1);
}

/* Add Responsibility / Bullet Button */
.exp-bullet-controls,
.ach-controls {
    margin-top: 0.15rem;
    margin-left: 1.15rem;
    margin-bottom: 0.35rem;
}

.btn-add-bullet {
    background: transparent;
    border: 1px dashed #cbd5e1;
    color: #64748b;
    border-radius: 4px;
    padding: 0.15rem 0.5rem;
    font-size: 0.72rem;
    font-weight: 600;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    transition: all 0.15s ease;
}

.btn-add-bullet:hover {
    background: #f1f5f9;
    border-color: #94a3b8;
    color: #1e293b;
}

/* Skills (Horizontal Tag Pills matching Template 2) */
.cv-skills-block {
    display: flex;
    flex-direction: column;
    gap: 0.6rem;
}

.cv-skill-cat {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    position: relative;
    padding: 2px 0;
    margin-bottom: 0.4rem;
}

.cv-skill-cat-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: relative;
}

.cv-skill-cat-name {
    font-size: 0.8rem;
    font-weight: 700;
    color: var(--cv-accent, var(--brand-blue));
    flex: 1;
}

.btn-skill-cat-del {
    opacity: 0;
    visibility: hidden;
    background: #fee2e2;
    color: #ef4444;
    border: 1px solid #fca5a5;
    border-radius: 3px;
    width: 18px;
    height: 18px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    font-weight: 700;
    cursor: pointer;
    transition: opacity 0.15s ease, background-color 0.15s ease;
}

.cv-skill-cat:hover .btn-skill-cat-del,
.cv-skill-cat:focus-within .btn-skill-cat-del {
    opacity: 1;
    visibility: visible;
}

.btn-skill-cat-del:hover {
    background: #ef4444;
    color: #ffffff;
}

.skill-pill-tags-wrap {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 5px;
}

.skill-pill-tag {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 2px 8px;
    background-color: #ffffff;
    border: 1px solid #cbd5e1;
    font-size: 0.76rem;
    color: #334155;
    font-weight: 500;
    position: relative;
    transition: border-color 0.15s ease, background-color 0.15s ease;
}

.skill-pill-tag:hover {
    border-color: #94a3b8;
}

.skill-pill-text {
    outline: none;
}

.btn-skill-tag-del {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 13px;
    height: 13px;
    font-size: 11px;
    line-height: 1;
    font-weight: 700;
    color: #94a3b8;
    background: transparent;
    border: none;
    cursor: pointer;
    padding: 0;
    margin-left: 2px;
    border-radius: 50%;
    opacity: 0;
    transition: opacity 0.15s ease, color 0.15s ease;
}

.skill-pill-tag:hover .btn-skill-tag-del,
.skill-pill-tag:focus-within .btn-skill-tag-del {
    opacity: 1;
}

.btn-skill-tag-del:hover {
    color: #ef4444;
}

.btn-add-skill-pill {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    padding: 2px 8px;
    background: #f1f5f9;
    border: 1px dashed #94a3b8;
    font-size: 0.72rem;
    color: #475569;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

.btn-add-skill-pill:hover {
    background: #e2e8f0;
    border-color: var(--cv-accent, var(--brand-blue));
    color: var(--cv-accent, var(--brand-blue));
}

.skills-controls {
    margin-top: 0.4rem;
}

/* Academic Work, Awards, Languages & Referees (Strict Uniform Scaling) */
.cv-academic-list, .cv-awards-list {
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
}

.cv-academic-item {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
    position: relative;
    padding: 3px 0;
    margin-bottom: 0.45rem;
}

.cv-academic-header-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: relative;
}

.cv-academic-title {
    font-size: 0.85rem !important;
    font-weight: 700;
    color: #0f172a;
    line-height: 1.25;
    flex: 1;
}

.cv-academic-meta {
    font-size: 0.74rem !important;
    color: #64748b;
    margin-top: 1px;
    margin-bottom: 3px;
    font-weight: 500;
}

.cv-academic-item .cv-text {
    font-size: 0.78rem !important;
    color: #334155;
    line-height: 1.35;
}

.btn-academic-del {
    opacity: 0;
    visibility: hidden;
    position: absolute;
    right: 0;
    top: 0;
    background: #fee2e2;
    color: #ef4444;
    border: 1px solid #fca5a5;
    border-radius: 3px;
    width: 20px;
    height: 20px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 13px;
    font-weight: 700;
    cursor: pointer;
    transition: opacity 0.15s ease, background-color 0.15s ease;
    z-index: 5;
}

.cv-academic-item:hover .btn-academic-del,
.cv-academic-item:focus-within .btn-academic-del {
    opacity: 1;
    visibility: visible;
}

.btn-academic-del:hover {
    background: #ef4444;
    color: #ffffff;
}

.academic-controls,
.lang-controls {
    margin-top: 0.35rem;
}

.cv-award-item {
    font-size: 0.78rem !important;
    color: #334155;
    line-height: 1.3;
}

.cv-languages-row {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
}

.cv-lang-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 0.78rem !important;
    color: #334155;
    line-height: 1.3;
    position: relative;
    padding: 2px 0;
}

.cv-lang-info {
    display: flex;
    gap: 0.6rem;
    align-items: baseline;
    flex: 1;
}

.cv-lang-name {
    font-weight: 600;
    color: #0f172a;
    font-size: 0.78rem !important;
}

.cv-lang-level {
    color: #64748b;
    font-size: 0.75rem !important;
}

.btn-lang-del {
    opacity: 0;
    visibility: hidden;
    background: #fee2e2;
    color: #ef4444;
    border: 1px solid #fca5a5;
    border-radius: 3px;
    width: 18px;
    height: 18px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    font-weight: 700;
    cursor: pointer;
    transition: opacity 0.15s ease, background-color 0.15s ease;
    margin-left: 8px;
}

.cv-lang-item:hover .btn-lang-del,
.cv-lang-item:focus-within .btn-lang-del {
    opacity: 1;
    visibility: visible;
}

.btn-lang-del:hover {
    background: #ef4444;
    color: #ffffff;
}

.cv-text-muted {
    font-size: 0.78rem !important;
    color: #64748b;
}
.ai-assistant-panel {
    width: 288px;
    min-width: 288px;
    background-color: #ffffff;
    border: 1px solid var(--border-medium);
    border-left: 3px solid var(--accent-purple);
    display: flex;
    flex-direction: column;
    z-index: 10;
    box-shadow: -4px 0 16px rgba(0, 0, 0, 0.08);
    margin-left: 0.65rem;
    height: calc(100vh - 110px);
    max-height: 880px;
    position: sticky;
    top: 60px;
    flex-shrink: 0;
    transition: all 0.25s ease;
    border-radius: var(--radius-sm);
    overflow: hidden;
    box-sizing: border-box;
}

.ai-assistant-panel.hidden {
    display: none !important;
}

/* ======================================================== */
/* CL TEMPLATES LEFT PANEL                                  */
/* ======================================================== */
.cl-templates-panel {
    width: 207px;
    min-width: 207px;
    background-color: #ffffff;
    border: 1px solid var(--border-medium);
    display: flex;
    flex-direction: column;
    margin-right: 0.85rem;
    height: calc(100vh - 120px);
    max-height: 900px;
    position: sticky;
    top: 75px;
    flex-shrink: 0;
    transition: all 0.25s ease;
    border-radius: var(--radius-sm);
    overflow: hidden;
}

.cl-templates-panel.hidden {
    display: none !important;
}

.cl-tpl-panel-header {
    padding: 0.75rem 1rem;
    border-bottom: 1px solid var(--border-light);
    display: flex;
    justify-content: space-between;
    align-items: center;
    background-color: #f8fafc;
    flex-shrink: 0;
}

.cl-tpl-panel-title {
    font-size: 0.8rem;
    font-weight: 800;
    color: var(--text-main);
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.cl-tpl-panel-body {
    padding: 0.75rem 0.65rem;
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    overflow-y: auto;
    flex: 1;
}

.cl-template-card {
    background: transparent;
    border: 2px solid var(--border-light);
    padding: 0;
    cursor: pointer;
    text-align: left;
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
    display: flex;
    flex-direction: column;
}

.cl-template-card:hover {
    border-color: var(--accent-blue);
    box-shadow: 0 2px 8px rgba(29, 78, 216, 0.12);
}

.cl-template-card.active {
    border-color: var(--accent-teal);
    box-shadow: 0 0 0 2px var(--accent-teal-light);
}

/* Mini preview thumbnails */
.cl-tpl-preview {
    height: 90px;
    background-color: #f8fafc;
    padding: 8px 10px;
    display: flex;
    flex-direction: column;
    gap: 4px;
    border-bottom: 1px solid var(--border-light);
    overflow: hidden;
}

.cl-tpl-preview-centered {
    align-items: center;
}

.cl-tpl-preview-minimalist {
    flex-direction: row;
    flex-wrap: wrap;
    gap: 4px;
}

.cl-tpl-preview-navy {
    padding: 0;
}

.cl-tpl-prev-navy-bar {
    background-color: #1e3a5f;
    padding: 6px 10px;
    display: flex;
    flex-direction: column;
    gap: 3px;
}

.cl-tpl-prev-name {
    height: 7px;
    width: 70%;
    background-color: #334155;
    border-radius: 2px;
}

.cl-tpl-prev-name.left { align-self: flex-start; }
.cl-tpl-prev-name.white { background-color: rgba(255,255,255,0.9); width: 80%; }

.cl-tpl-prev-line {
    height: 4px;
    width: 50%;
    background-color: #94a3b8;
    border-radius: 2px;
}

.cl-tpl-prev-line.short { width: 35%; }
.cl-tpl-prev-line.left { align-self: flex-start; }
.cl-tpl-prev-line.white { background-color: rgba(255,255,255,0.5); }

.cl-tpl-prev-body {
    flex: 1;
    background-color: #e2e8f0;
    border-radius: 2px;
    margin-top: 4px;
    width: 100%;
}

.cl-tpl-prev-avatar {
    width: 24px;
    height: 24px;
    background-color: #475569;
    border-radius: 50%;
    flex-shrink: 0;
}

.cl-tpl-prev-info {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 3px;
    justify-content: center;
}

.cl-tpl-label {
    font-size: 0.74rem;
    font-weight: 700;
    color: var(--text-muted);
    padding: 0.45rem 0.65rem;
    background-color: #ffffff;
}

.cl-template-card.active .cl-tpl-label {
    color: var(--accent-teal);
}

/* ======================================================== */
/* CL DESIGN CLUSTER (shown only in CL mode)                */
/* ======================================================== */
.cl-design-cluster {
    display: flex;
    align-items: center;
    gap: 0.65rem;
}

.cl-design-cluster.hidden {
    display: none !important;
}


.ai-panel-header {
    padding: 0.85rem 1.15rem;
    border-bottom: 1px solid var(--border-medium);
    display: flex;
    justify-content: space-between;
    align-items: center;
    background-color: #ffffff;
}

.ai-brand-row {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.ai-icon-box {
    color: var(--accent-purple);
    display: flex;
    align-items: center;
}

.ai-panel-title {
    font-size: 0.95rem;
    font-weight: 800;
    color: var(--text-main);
}

.ai-drawer-body {
    flex: 1;
    overflow-y: auto;
    padding: 1.25rem 1rem;
    display: flex;
    flex-direction: column;
}

/* Welcome View */
.ai-welcome-view {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 1rem;
    margin: auto 0;
}

.ai-illustration-box {
    margin-bottom: 0.25rem;
}

.ai-greeting {
    text-align: left;
    width: 100%;
}

.ai-greet-title {
    font-size: 1.05rem;
    font-weight: 700;
    color: var(--text-main);
    margin-bottom: 0.35rem;
}

.ai-greet-sub {
    font-size: 0.85rem;
    color: var(--text-muted);
    line-height: 1.4;
}

/* 4 Prompt Action Chips */
.ai-prompt-chips {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    width: 100%;
    margin-top: 0.5rem;
}

.ai-prompt-chip {
    background-color: #ffffff;
    border: 1px solid var(--border-medium);
    padding: 0.65rem 0.85rem;
    text-align: left;
    font-size: 0.82rem;
    font-weight: 600;
    color: var(--text-main);
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    transition: all 0.15s ease;
}

.ai-prompt-chip:hover {
    background-color: var(--bg-subtle);
    border-color: var(--accent-purple);
    color: var(--accent-purple);
}

.chip-arrow {
    display: flex;
    align-items: center;
    color: var(--text-subtle);
}

.ai-prompt-chip:hover .chip-arrow {
    color: var(--accent-purple);
}

/* Conversation Thread */
.ai-messages-thread {
    display: flex;
    flex-direction: column;
    gap: 0.85rem;
    width: 100%;
}

.ai-msg {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    max-width: 92%;
    font-size: 0.82rem;
    line-height: 1.45;
}

.ai-msg-user {
    align-self: flex-end;
    background-color: var(--accent-purple-light);
    color: #4c1d95;
    border: 1px solid var(--accent-purple-border);
    padding: 0.6rem 0.85rem;
}

.ai-msg-assistant {
    align-self: flex-start;
    background-color: #ffffff;
    color: var(--text-main);
    border: 1px solid var(--border-medium);
    padding: 0.75rem 0.9rem;
}

.ai-msg-assistant p {
    margin-bottom: 0.4rem;
}

.ai-msg-assistant p:last-child {
    margin-bottom: 0;
}

.ai-msg-assistant ul, .ai-msg-assistant ol {
    margin-left: 1.1rem;
    margin-bottom: 0.4rem;
}

.ai-msg-assistant li {
    margin-bottom: 0.2rem;
}

.ai-msg-assistant strong {
    color: var(--accent-purple);
}

/* Typing Indicator */
.ai-typing-indicator {
    display: flex;
    align-items: center;
    gap: 4px;
    padding: 0.5rem 0.75rem;
    background-color: var(--bg-subtle);
    border: 1px solid var(--border-medium);
    align-self: flex-start;
    font-size: 0.75rem;
    color: var(--text-subtle);
}

.dot-pulse {
    width: 5px;
    height: 5px;
    background-color: var(--accent-purple);
    display: inline-block;
    animation: dot-jump 1.2s infinite ease-in-out;
}

.dot-pulse:nth-child(2) { animation-delay: 0.2s; }
.dot-pulse:nth-child(3) { animation-delay: 0.4s; }

@keyframes dot-jump {
    0%, 80%, 100% { transform: translateY(0); }
    40% { transform: translateY(-4px); }
}

/* Chat Input Footer */
.ai-input-wrapper {
    padding: 0.75rem 0.85rem;
    border-top: 1px solid var(--border-medium);
    background-color: #ffffff;
}

.ai-input-card {
    border: 1px solid var(--border-medium);
    background-color: #ffffff;
    padding: 0.5rem 0.65rem;
    display: flex;
    align-items: flex-end;
    gap: 0.5rem;
    transition: border-color 0.15s ease;
}

.ai-input-card:focus-within {
    border-color: var(--accent-purple);
    box-shadow: 0 0 0 1px var(--accent-purple);
}

.ai-textarea {
    flex: 1;
    border: none;
    outline: none;
    resize: none;
    font-family: inherit;
    font-size: 0.82rem;
    line-height: 1.35;
    color: var(--text-main);
    background: transparent;
    max-height: 90px;
}

.btn-ai-send {
    width: 28px;
    height: 28px;
    background-color: var(--accent-purple);
    color: #ffffff;
    border: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    transition: background-color 0.15s ease;
}

.btn-ai-send:hover {
    background-color: #6b21a8;
}

.btn-ai-send:disabled {
    background-color: var(--border-medium);
    cursor: not-allowed;
}

/* ======================================================== */
/* ULTRA-MODERN GLOWING ORBITAL LOADER */
/* ======================================================== */
.editor-loading-overlay {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(15, 23, 42, 0.7);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    z-index: 9999;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1.5rem;
    animation: fadeInOverlay 0.25s cubic-bezier(0.16, 1, 0.3, 1);
}

@keyframes fadeInOverlay {
    from { opacity: 0; transform: scale(0.98); }
    to { opacity: 1; transform: scale(1); }
}

.modern-loading-card {
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.96) 0%, rgba(248, 250, 252, 0.98) 100%);
    border: 1px solid rgba(255, 255, 255, 0.9);
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.3), 0 0 0 1px rgba(226, 232, 240, 0.8);
    border-radius: 24px;
    padding: 2.25rem 2.5rem;
    max-width: 460px;
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 1.15rem;
    position: relative;
    overflow: hidden;
}

.modern-loading-card::before {
    content: '';
    position: absolute;
    top: -50%;
    left: -50%;
    width: 200%;
    height: 200%;
    background: radial-gradient(circle at center, rgba(37, 99, 235, 0.08) 0%, transparent 60%);
    pointer-events: none;
    animation: rotateGlow 10s linear infinite;
}

@keyframes rotateGlow {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}

.orbital-loader-wrap {
    position: relative;
    width: 76px;
    height: 76px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.orbital-ring {
    position: absolute;
    border-radius: 50%;
    border: 3px solid transparent;
}

.orbital-ring-outer {
    width: 74px;
    height: 74px;
    border-top-color: #1565C0;
    border-right-color: #7c3aed;
    animation: orbitSpin 1.4s cubic-bezier(0.5, 0, 0.5, 1) infinite;
    filter: drop-shadow(0 0 6px rgba(37, 99, 235, 0.4));
}

.orbital-ring-inner {
    width: 52px;
    height: 52px;
    border-bottom-color: #06b6d4;
    border-left-color: #42A5F5;
    animation: orbitSpinReverse 1.1s cubic-bezier(0.5, 0, 0.5, 1) infinite;
}

.orbital-core {
    width: 36px;
    height: 36px;
    background: linear-gradient(135deg, #1565C0 0%, #7c3aed 100%);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #ffffff;
    box-shadow: 0 0 16px rgba(124, 58, 237, 0.5);
    animation: corePulse 1.8s ease-in-out infinite;
}

@keyframes orbitSpin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

@keyframes orbitSpinReverse {
    0% { transform: rotate(360deg); }
    100% { transform: rotate(0deg); }
}

@keyframes corePulse {
    0%, 100% { transform: scale(1); opacity: 0.95; }
    50% { transform: scale(1.1); opacity: 1; box-shadow: 0 0 24px rgba(37, 99, 235, 0.8); }
}

.loading-text-wrap .state-title {
    font-size: 1.15rem;
    font-weight: 800;
    color: #0f172a;
    letter-spacing: -0.01em;
    margin: 0 0 0.25rem 0;
}

.loading-text-wrap .state-desc {
    font-size: 0.82rem;
    color: #64748b;
    line-height: 1.4;
    margin: 0;
}

.loading-timer-badge-row {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    margin-top: 0.45rem;
}

.loading-time-chip {
    font-size: 0.78rem;
    font-weight: 700;
    color: #1565C0;
    background: var(--brand-blue-light);
    border: 1px solid var(--brand-blue-border);
    padding: 0.2rem 0.65rem;
    border-radius: 999px;
    letter-spacing: -0.01em;
}

.loading-pct-chip {
    font-size: 0.78rem;
    font-weight: 800;
    color: #1565C0;
    background: #E3F2FD;
    border: 1px solid #bfdbfe;
    padding: 0.2rem 0.55rem;
    border-radius: 999px;
}

.loading-steps-track {
    display: flex;
    flex-direction: column;
    gap: 0.45rem;
    width: 100%;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    padding: 0.75rem 0.9rem;
    text-align: left;
}

.load-step-item {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    font-size: 0.76rem;
    font-weight: 600;
    color: #94a3b8;
    transition: all 0.25s ease;
}

.load-step-item .step-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #cbd5e1;
    transition: all 0.25s ease;
}

.load-step-item.active {
    color: #1565C0;
}

.load-step-item.active .step-dot {
    background: #1565C0;
    box-shadow: 0 0 8px rgba(37, 99, 235, 0.6);
    transform: scale(1.3);
}

.load-step-item.done {
    color: #059669;
}

.load-step-item.done .step-dot {
    background: #10b981;
}

.modern-progress-track {
    width: 100%;
    height: 6px;
    background: #e2e8f0;
    border-radius: 8px;
    overflow: hidden;
}

.glowing-fill {
    height: 100%;
    width: 30%;
    background: linear-gradient(90deg, #1565C0 0%, #7c3aed 50%, #06b6d4 100%);
    border-radius: 8px;
    transition: width 0.35s ease;
    box-shadow: 0 0 10px rgba(124, 58, 237, 0.5);
    animation: pulse-progress 2s infinite ease-in-out;
}

.hidden {
    display: none !important;
}

/* ======================================================== */
/* FORM CONTROLS & BUTTONS */
/* ======================================================== */
.form-group {
    display: flex;
    flex-direction: column;
    gap: 0.45rem;
}

.field-label-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.field-label {
    font-size: 0.84rem;
    font-weight: 700;
    color: var(--text-main);
}

.tab-group {
    display: inline-flex;
    background-color: var(--bg-subtle);
    padding: 2px;
    border: 1px solid var(--border-medium);
}

.tab-btn {
    background: transparent;
    border: 1px solid transparent;
    color: var(--text-subtle);
    font-size: 0.75rem;
    font-weight: 600;
    padding: 4px 10px;
    cursor: pointer;
    transition: background-color 0.15s ease, color 0.15s ease;
}

.tab-btn.active {
    background-color: #ffffff;
    color: #0f172a;
    font-weight: 700;
    border: 1px solid var(--border-medium);
}

.tab-content {
    display: none;
}

.tab-content.active {
    display: block;
}

.form-textarea {
    width: 100%;
    height: 105px;
    background-color: #ffffff;
    border: 1px solid var(--border-medium);
    color: var(--text-main);
    padding: 0.75rem;
    font-family: inherit;
    font-size: 0.85rem;
    line-height: 1.35;
    resize: vertical;
}

.form-textarea:focus, .form-input:focus, .form-select:focus {
    outline: none;
    border-color: var(--accent-teal);
    box-shadow: 0 0 0 1px var(--accent-teal);
}

.form-select {
    background-color: #ffffff;
    border: 1px solid var(--border-medium);
    color: var(--text-main);
    padding: 0.4rem 0.6rem;
    font-size: 0.8rem;
    font-family: inherit;
    cursor: pointer;
}

.select-compact {
    padding: 0.3rem 0.55rem;
    font-size: 0.78rem;
    font-weight: 600;
}

.dropzone {
    display: block;
    border: 2px dashed var(--border-medium);
    padding: 2.25rem 1.5rem;
    text-align: center;
    background-color: #ffffff;
    cursor: pointer;
    transition: border-color 0.15s ease, background-color 0.15s ease;
    position: relative;
    user-select: none;
}

.dropzone:hover, .dropzone.dragover {
    border-color: #0f172a;
    background-color: #f8fafc;
}

.file-input-hidden {
    position: absolute;
    width: 0.1px;
    height: 0.1px;
    opacity: 0;
    overflow: hidden;
    z-index: -1;
    pointer-events: none;
}

.dropzone-icon {
    color: var(--text-subtle);
    margin-bottom: 0.35rem;
}

.dropzone:hover .dropzone-icon {
    color: var(--accent-teal);
}

.dropzone-title {
    font-size: 0.9rem;
    font-weight: 700;
    color: var(--text-main);
}

.dropzone-sub {
    font-size: 0.74rem;
    color: var(--text-subtle);
    margin: 0.2rem 0 0.75rem 0;
}

.file-preview-card {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    background-color: var(--bg-subtle);
    padding: 0.75rem 1rem;
    border: 1px solid var(--border-medium);
    border-radius: 4px;
}

.file-icon-box {
    width: 36px;
    height: 36px;
    background-color: var(--accent-teal-light);
    color: var(--accent-teal);
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--accent-teal-border);
    flex-shrink: 0;
    border-radius: 4px;
}

.file-info {
    flex: 1;
    text-align: left;
    overflow: hidden;
}

.file-name-row {
    display: flex;
    align-items: center;
    gap: 6px;
}

.file-name {
    display: block;
    font-size: 0.84rem;
    font-weight: 700;
    color: var(--text-main);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.file-ready-badge {
    display: inline-block;
    font-size: 0.68rem;
    font-weight: 700;
    color: #059669;
    background: #d1fae5;
    padding: 1px 6px;
    border-radius: 10px;
    white-space: nowrap;
}

.file-size {
    font-size: 0.72rem;
    color: var(--text-subtle);
}

.file-card-actions {
    display: flex;
    align-items: center;
    gap: 0.4rem;
}

.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    font-family: inherit;
    font-size: 0.84rem;
    font-weight: 700;
    line-height: 1.2;
    padding: 0.6rem 1.1rem;
    cursor: pointer;
    border: 1px solid transparent;
    text-decoration: none;
    white-space: nowrap;
    overflow: visible;
    flex-shrink: 0;
    transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

.btn-primary {
    background-color: var(--accent-teal);
    color: #ffffff;
    border: 1px solid var(--accent-teal);
}

.btn-primary:hover {
    background-color: var(--accent-teal-dark);
    border-color: var(--accent-teal-dark);
}

.btn-success {
    background-color: var(--accent-green);
    color: #ffffff;
    border: 1px solid var(--accent-green);
}

.btn-success:hover {
    background-color: var(--accent-green-hover);
    border-color: var(--accent-green-hover);
}

.btn-outline {
    background-color: #ffffff;
    border: 1px solid var(--border-medium);
    color: var(--text-main);
}

.btn-outline:hover {
    background-color: var(--bg-subtle);
    border-color: var(--border-dark);
}

.btn-ghost {
    background-color: #ffffff;
    border: 1px solid var(--border-medium);
    color: var(--text-muted);
    padding: 0.35rem 0.7rem;
    font-size: 0.76rem;
}

.btn-ghost:hover {
    color: var(--text-main);
    background-color: var(--bg-subtle);
    border-color: var(--border-dark);
}

.btn-xs { padding: 0.3rem 0.6rem; font-size: 0.74rem; }
.btn-sm { padding: 0.4rem 0.8rem; font-size: 0.78rem; }

.btn-icon {
    background: transparent;
    border: 1px solid transparent;
    color: var(--text-subtle);
    cursor: pointer;
    padding: 4px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.btn-icon:hover {
    color: var(--accent-red);
    background-color: var(--accent-red-light);
}

/* ======================================================== */
/* MODERN MODAL & POPUP DESIGN SYSTEM                       */
/* ======================================================== */
.modal-backdrop,
.editor-loading-overlay:has(.modal-card),
.editor-loading-overlay:has(.template-modal-card) {
    position: fixed;
    inset: 0;
    background-color: rgba(15, 23, 42, 0.55) !important;
    z-index: 12000 !important;
    display: flex !important;
    align-items: center;
    justify-content: center;
    backdrop-filter: blur(8px) !important;
    -webkit-backdrop-filter: blur(8px) !important;
    padding: 1.25rem;
    animation: modalBackdropFade 0.2s cubic-bezier(0.16, 1, 0.3, 1);
    box-sizing: border-box;
}

.modal-backdrop.hidden,
.editor-loading-overlay.hidden {
    display: none !important;
}

@keyframes modalBackdropFade {
    from { opacity: 0; }
    to { opacity: 1; }
}

@keyframes modalCardPop {
    from {
        opacity: 0;
        transform: scale(0.95) translateY(10px);
    }
    to {
        opacity: 1;
        transform: scale(1) translateY(0);
    }
}

.modal-card,
.template-modal-card {
    background-color: #ffffff;
    border: 1px solid rgba(226, 232, 240, 0.9);
    border-radius: 14px;
    box-shadow: 0 25px 60px -12px rgba(15, 23, 42, 0.25), 0 0 0 1px rgba(0, 0, 0, 0.04);
    display: flex;
    flex-direction: column;
    overflow: hidden;
    animation: modalCardPop 0.22s cubic-bezier(0.16, 1, 0.3, 1);
    transition: all 0.2s ease;
    max-height: 88vh;
    box-sizing: border-box;
}

.template-modal-card {
    width: 1020px;
    max-width: 95vw;
}

.modal-header {
    padding: 1.15rem 1.4rem;
    border-bottom: 1px solid #f1f5f9;
    display: flex;
    justify-content: space-between;
    align-items: center;
    background: #ffffff;
    flex-shrink: 0;
}

.modal-title-row {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    color: var(--text-main);
}

.modal-title,
.modal-header h3 {
    font-family: 'Outfit', sans-serif !important;
    font-size: 1.15rem !important;
    font-weight: 800 !important;
    letter-spacing: -0.02em;
    color: #0f172a !important;
    margin: 0 !important;
}

.modal-subtitle,
.modal-header p {
    font-size: 0.8rem;
    color: #64748b;
    margin-top: 2px;
}

.modal-body {
    padding: 1.35rem 1.4rem;
    overflow-y: auto;
    flex: 1;
    scrollbar-width: thin;
}

.modal-footer {
    padding: 0.85rem 1.4rem;
    border-top: 1px solid #f1f5f9;
    background: #f8fafc;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    flex-shrink: 0;
}

/* Final PDF review modal */
.pdf-preview-modal-card {
    width: min(1100px, 94vw);
    max-width: 1100px;
    height: min(88vh, 900px);
    display: flex;
    flex-direction: column;
}

.pdf-preview-title-icon {
    width: 32px;
    height: 32px;
    border-radius: 8px !important;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #e7f4f1;
    color: #1565C0;
    flex-shrink: 0;
}

.pdf-preview-subtitle {
    margin-top: 0.15rem;
    color: #64748b;
    font-size: 0.76rem;
}

.pdf-preview-body {
    flex: 1;
    min-height: 0;
    padding: 0.85rem;
    background: #e2e8e6;
}

#pdfPreviewFrame {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 420px;
    border: 1px solid #cbd5d2;
    background: #ffffff;
}

.pdf-preview-footer {
    justify-content: flex-end;
    gap: 0.65rem;
}

.pdf-preview-advice {
    margin-right: auto;
    max-width: 54%;
    color: #52635f;
    font-size: 0.74rem;
    line-height: 1.35;
}

.pdf-preview-advice strong {
    color: #173b37;
}

.cv-certification-review-note {
    display: flex;
    align-items: flex-start;
    gap: 0.45rem;
    margin: 0.2rem 0 0.65rem;
    padding: 0.5rem 0.65rem;
    border-left: 3px solid #d97706;
    background: #fffbeb;
    color: #78520b;
    font-size: 0.72rem;
    line-height: 1.4;
}

.cv-certification-review-note svg {
    flex: 0 0 auto;
    color: #b45309;
    margin-top: 1px;
}

@media (max-width: 640px) {
    .pdf-preview-modal-card {
        width: 96vw;
        height: 92vh;
    }

    .pdf-preview-body {
        padding: 0.45rem;
    }

    .pdf-preview-footer {
        flex-direction: column-reverse;
        align-items: stretch;
    }

    .pdf-preview-advice {
        max-width: none;
        margin: 0;
        order: 3;
    }

    .pdf-preview-footer .btn {
        justify-content: center;
        width: 100%;
    }
}

/* Modern Modal Close Button */
.modal-header .btn-icon,
.btn-close-modal,
.btn-modal-close {
    width: 32px;
    height: 32px;
    border-radius: 8px;
    border: 1px solid transparent;
    background: transparent;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #64748b;
    cursor: pointer;
    transition: all 0.15s ease;
    flex-shrink: 0;
}

.modal-header .btn-icon:hover,
.btn-close-modal:hover,
.btn-modal-close:hover {
    background-color: #f1f5f9;
    border-color: #e2e8f0;
    color: #0f172a;
}

.template-grid-cards {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
}

@media (max-width: 900px) {
    .template-grid-cards {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 550px) {
    .template-grid-cards {
        grid-template-columns: 1fr;
    }
}

.tpl-card {
    border: 2px solid var(--border-medium);
    background-color: #ffffff;
    cursor: pointer;
    transition: border-color 0.2s ease, transform 0.15s ease;
    display: flex;
    flex-direction: column;
}

.tpl-card:hover {
    border-color: var(--accent-blue);
    transform: translateY(-2px);
}

.tpl-card.active {
    border-color: var(--accent-blue) !important;
    box-shadow: 0 0 0 2px var(--accent-blue);
}

.tpl-card-thumb {
    height: 184px;
    background-color: #e9edf3;
    border-bottom: 1px solid var(--border-medium);
    padding: 14px 18px;
    display: flex;
    flex-direction: column;
    gap: 7px;
    box-sizing: border-box;
    overflow: hidden;
}

.tpl-card-thumb.tpl-card-photo,
.lp-template-card-preview.lp-template-photo {
    padding: 0;
    background: #efeae3;
}

.tpl-card-thumb.tpl-card-photo img,
.lp-template-card-preview.lp-template-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 48%;
    display: block;
}

.tpl-card-thumb.tpl-card-photo.tpl-card-photo-letter,
.lp-template-card-preview.lp-template-photo.lp-template-photo-letter {
    background: #f7f8fb;
}

.tpl-card-thumb.tpl-card-photo.tpl-card-photo-letter img,
.lp-template-card-preview.lp-template-photo.lp-template-photo-letter img {
    object-position: top center;
}

.lp-template-card-preview.lp-template-photo-letter {
    height: 248px;
}

.lp-letter-gallery-head {
    margin-top: 3.5rem;
}

.thumb-header-row {
    display: flex;
    flex-direction: column;
    gap: 4px;
    border-bottom: 1.5px solid var(--brand-blue, #ff0ad3);
    padding-bottom: 7px;
}

.thumb-header-row.split {
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    border-bottom-color: var(--brand-blue);
}

.thumb-name-bar {
    height: 8px;
    width: 65%;
    border-radius: 1px;
}

.thumb-blue-bar { background-color: #1565C0; }
.thumb-teal-bar { background-color: #0f172a; }

.thumb-title-bar {
    height: 4px;
    width: 45%;
    background-color: #64748b;
}

.thumb-title-bar.teal {
    background-color: var(--brand-blue);
}

.thumb-circle-badge {
    width: 24px;
    height: 24px;
    border-radius: 50% !important;
    background-color: var(--brand-blue);
    color: #ffffff;
    font-size: 9px;
    font-weight: 800;
    display: flex;
    align-items: center;
    justify-content: center;
}

.thumb-body-grid {
    display: grid;
    grid-template-columns: 1.15fr 1fr;
    gap: 10px;
    flex: 1;
    min-height: 0;
}

.thumb-sec-hdr {
    height: 5px;
    width: 58%;
    margin: 2px 0 4px;
    border-radius: 1px;
}

.thumb-blue-hdr { background-color: #1565C0; }
.thumb-slate-hdr { background-color: #64748b; }

.thumb-block {
    height: 24px;
    background: repeating-linear-gradient(to bottom, #aab5c2 0 1px, transparent 1px 5px);
    margin: 0 0 6px;
    opacity: 0.78;
}

.thumb-block.tall {
    height: 42px;
    background: repeating-linear-gradient(to bottom, #aab5c2 0 1px, transparent 1px 5px);
}

.thumb-pills-row {
    display: flex;
    gap: 3px;
}

.thumb-pill {
    height: 6px;
    width: 16px;
    background-color: #cbd5e1;
}

.tpl-card-info {
    padding: 0.85rem 1rem;
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
}

.tpl-card-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.tpl-card-name {
    font-size: 0.88rem;
    font-weight: 800;
    color: var(--text-main);
}

.badge-active-tpl {
    background-color: var(--brand-blue);
    color: #ffffff;
    font-size: 0.65rem;
    font-weight: 800;
    padding: 2px 6px;
}

.tpl-card-desc {
    font-size: 0.74rem;
    color: var(--text-muted);
    line-height: 1.35;
    margin-bottom: 0.35rem;
}

/* ======================================================== */
/* COMPACT SKILLS SECTION STYLES (SPACE SAVING) */
/* ======================================================== */
.template-template_2_teal .cv-skills-block,
.template-modern_two_column .cv-skills-block {
    gap: 0.35rem;
}

.template-template_2_teal .cv-skill-cat,
.template-modern_two_column .cv-skill-cat {
    gap: 0.12rem;
}

.template-template_2_teal .cv-skill-cat-name,
.template-modern_two_column .cv-skill-cat-name {
    font-size: 0.78rem;
    font-weight: 700;
    color: var(--cv-accent, var(--brand-blue));
    margin-top: 0.15rem;
    margin-bottom: 0.1rem;
}

.template-template_2_teal .skill-pill-tags-wrap,
.template-modern_two_column .skill-pill-tags-wrap {
    display: flex;
    flex-wrap: wrap;
    gap: 3px 4px;
    line-height: 1.0;
}

.template-template_2_teal .skill-pill-tag,
.template-modern_two_column .skill-pill-tag {
    display: inline-block;
    padding: 1.5px 6px;
    background-color: #ffffff;
    border: 1px solid #cbd5e1;
    font-size: 0.74rem;
    color: #334155;
    font-weight: 500;
    line-height: 1.1;
    margin: 1px 0;
}

/* Template 1 Skills: Classic Grouped Text */
.template-template_1_blue .cv-skills-block {
    gap: 0.45rem;
}

.template-template_1_blue .cv-skill-cat-name {
    font-size: 0.78rem;
    font-weight: 700;
    color: #1565C0;
    margin-bottom: 0.1rem;
}

.template-template_1_blue .skill-classic-text {
    font-size: 0.78rem;
    color: #334155;
    line-height: 1.35;
}

/* ======================================================== */
/* TEMPLATE 3: NAVY SIDEBAR EXECUTIVE (ISABEL MERCADO STYLE) */
/* ======================================================== */

.template-template_3_navy {
    padding: 0 !important;
    background-color: #ffffff;
    display: flex !important;
    flex-direction: row !important;
    min-height: 297mm;
    border: none !important;
}

/* Hide Template 1/2 top header in Template 3 */
.template-template_3_navy .cv-header-tpl2,
.template-template_3_navy .cv-fullwidth-summary {
    display: none !important;
}

/* Template 3 Sidebar (Left ~33% width) */
.template-template_3_navy .cv-body {
    display: flex !important;
    flex-direction: row !important;
    width: 100% !important;
    gap: 0 !important;
}

.template-template_3_navy .cv-left-col {
    width: 34% !important;
    background-color: #16324f !important;
    color: #ffffff !important;
    padding: 2.25rem 1.35rem !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 1.5rem !important;
    box-sizing: border-box;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
}

/* White Circle Initials Avatar Badge at Top of Navy Sidebar */
.template-template_3_navy .cv-sidebar-avatar-wrap {
    display: flex;
    justify-content: flex-start;
    margin-bottom: 0.25rem;
}

.template-template_3_navy .cv-sidebar-circle-badge {
    width: 68px;
    height: 68px;
    border-radius: 50% !important;
    background-color: #ffffff !important;
    color: #16324f !important;
    font-size: 1.75rem;
    font-weight: 800;
    display: flex;
    align-items: center;
    justify-content: center;
    letter-spacing: 0.04em;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
}

.template-template_3_navy .cv-sidebar-circle-badge .avatar-initials-text {
    color: #16324f !important;
    font-size: 1.35rem;
}

/* Sidebar Section Headings (White Bold) */
.template-template_3_navy .cv-left-col .cv-section-heading {
    color: #ffffff !important;
    font-size: 1.05rem !important;
    font-weight: 800 !important;
    text-transform: capitalize !important;
    letter-spacing: 0.01em;
    border-bottom: none !important;
}

.template-template_3_navy .cv-left-col .cv-section-header-row {
    border-bottom: none !important;
    margin-bottom: 0.35rem;
}

/* Contact List in Sidebar */
.template-template_3_navy .cv-contact-sidebar-list {
    display: flex;
    flex-direction: column;
    gap: 0.65rem;
}

.template-template_3_navy .contact-field-group {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 0.45rem;
}

.template-template_3_navy .contact-field-copy {
    min-width: 0;
}

.template-template_3_navy .contact-field-label {
    font-size: 0.78rem;
    font-weight: 700;
    color: #ffffff;
}

.template-template_3_navy .contact-field-val {
    font-size: 0.78rem;
    color: #e7eef6;
    word-break: break-word;
    line-height: 1.4;
}

/* Skills in Navy Sidebar (Clean Vertical List) */
.template-template_3_navy .cv-left-col .cv-skills-block {
    display: flex;
    flex-direction: column;
    gap: 0.45rem;
}

.template-template_3_navy .cv-left-col .cv-skill-cat {
    gap: 0.2rem;
}

.template-template_3_navy .cv-left-col .cv-skill-cat-name {
    color: #e2e8f0 !important;
    font-size: 0.78rem;
    font-weight: 700;
    margin-bottom: 0.1rem;
}

.template-template_3_navy .cv-left-col .cv-skill-item {
    font-size: 0.78rem;
    color: #e7eef6;
    line-height: 1.4;
}

/* Soft chips on the dark rail. White boxes against navy are too harsh to read. */
.template-template_3_navy .cv-left-col .skill-pill-tag {
    background-color: #1e4468 !important;
    color: #f4f8fc !important;
    border: 1px solid #3e6488 !important;
    box-shadow: none !important;
}

.template-template_3_navy .cv-left-col .skill-pill-text {
    color: #f4f8fc !important;
}

/* Languages in Navy Sidebar (Vertical List) */
.template-template_3_navy .cv-left-col .cv-languages-row {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
}

.template-template_3_navy .cv-left-col .cv-lang-item {
    display: flex;
    flex-direction: column;
    gap: 0.05rem;
}

.template-template_3_navy .cv-left-col .cv-lang-name {
    color: #ffffff !important;
    font-size: 0.78rem !important;
    font-weight: 600;
}

.template-template_3_navy .cv-left-col .cv-lang-level {
    color: #d5e2ef !important;
    font-size: 0.72rem !important;
}

/* Awards in Navy Sidebar */
.template-template_3_navy .cv-left-col .cv-awards-list {
    display: flex;
    flex-direction: column;
    gap: 0.55rem;
}

.template-template_3_navy .cv-left-col .cv-award-item {
    display: flex;
    flex-direction: column;
    gap: 0.1rem;
    color: #ffffff !important;
}

.template-template_3_navy .cv-left-col .award-date-org {
    font-size: 0.72rem;
    color: #d5e2ef;
}

.template-template_3_navy .cv-left-col .award-title-text {
    font-size: 0.78rem;
    font-weight: 700;
    color: #ffffff;
}

/* Template 3 Right Column (~66% width) */
.template-template_3_navy .cv-right-col {
    width: 66% !important;
    padding: 2.4rem 2.1rem 2.2rem !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 1.35rem !important;
    background-color: #f7f5f2;
    box-sizing: border-box;
}

/* Large Navy Candidate Header at top of Right Column */
.template-template_3_navy .cv-right-header {
    display: flex;
    flex-direction: column;
    gap: 0.3rem;
    margin-bottom: 0.4rem;
}

.template-template_3_navy .cv-right-name {
    font-size: 2.1rem;
    font-weight: 800;
    color: #16324f;
    letter-spacing: -0.02em;
    line-height: 1.1;
}

.template-template_3_navy .cv-right-title {
    font-size: 1.02rem;
    font-weight: 500;
    color: #3d5570;
    letter-spacing: 0.01em;
}

.template-template_3_navy .cv-right-contact {
    display: flex;
    flex-wrap: wrap;
    gap: 0.22rem 0.85rem;
    margin-top: 0.55rem;
}

.template-template_3_navy .cv-right-contact-item {
    color: #3d5570;
    font-size: 0.78rem;
    font-weight: 500;
    line-height: 1.35;
    display: inline-flex;
    align-items: center;
    gap: 0.28rem;
}

.template-template_3_navy .cv-left-col .cv-section-heading {
    letter-spacing: 0.04em;
    padding-bottom: 0.28rem;
    border-bottom: 2px solid #c4a574 !important;
}

.template-template_3_navy .cv-right-col .cv-section-header-row {
    border-bottom: 1.5px solid #d7c4a3 !important;
}

.template-template_3_navy .cv-right-col .cv-exp-company,
.template-template_3_navy .cv-right-col .cv-edu-inst {
    color: #1d4e89 !important;
}

/* Template 15: Editorial Sidebar CV */
.template-template_15_editorial_sidebar {
    --tpl15-sidebar-background: #1e3a5f;
    --tpl15-sidebar-text: #f7f9fc;
    --tpl15-sidebar-muted: #d5dee8;
    padding: 0 !important;
    background: #ffffff;
    display: flex !important;
    flex-direction: row !important;
    min-height: 297mm;
    border: none !important;
}

.template-template_15_editorial_sidebar .cv-header-tpl2,
.template-template_15_editorial_sidebar .cv-fullwidth-summary {
    display: none !important;
}

.template-template_15_editorial_sidebar .cv-body {
    display: flex !important;
    flex-direction: row !important;
    width: 100% !important;
    gap: 0 !important;
}

.template-template_15_editorial_sidebar .cv-left-col {
    width: 36% !important;
    flex: 0 0 36% !important;
    box-sizing: border-box;
    padding: 2.1rem 1.35rem 2rem !important;
    background: var(--tpl15-sidebar-background, #343434) !important;
    color: #ffffff !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 1.15rem !important;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
}

.template-template_15_editorial_sidebar .cv-right-col {
    width: 64% !important;
    flex: 1 1 64% !important;
    padding: 1.35rem 1.55rem 1.6rem !important;
    background: #ffffff !important;
    box-sizing: border-box;
}

.template-template_15_editorial_sidebar .cv-sidebar-avatar-wrap {
    justify-content: center;
    margin: 0 0 0.55rem;
}

.template-template_15_editorial_sidebar .cv-sidebar-circle-badge {
    width: 92px !important;
    height: 92px !important;
    border-radius: 50% !important;
    background: #eceaf0 !important;
    color: #343434 !important;
    border: 5px solid rgba(255, 255, 255, 0.22) !important;
    font-size: 2rem !important;
    letter-spacing: 0.04em;
    display: flex !important;
    align-items: center;
    justify-content: center;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
}

.template-template_15_editorial_sidebar .cv-sidebar-circle-badge .avatar-initials-text {
    color: #1e3a5f !important;
    font-size: 1.45rem;
}

.template-template_15_editorial_sidebar .cv-left-col .cv-section-header-row {
    border-bottom: 1px solid var(--tpl15-sidebar-text, #ffffff) !important;
    padding-bottom: 0.55rem;
    margin-bottom: 0.7rem;
}

.template-template_15_editorial_sidebar .cv-left-col .cv-section-heading {
    color: var(--tpl15-sidebar-text, #f7f9fc) !important;
    font-size: 0.72rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
}

.template-template_15_editorial_sidebar .cv-left-col .cv-section {
    color: #ffffff !important;
}

.template-template_15_editorial_sidebar .cv-left-col [contenteditable="true"],
.template-template_15_editorial_sidebar .cv-left-col .cv-contact-item-bullet,
.template-template_15_editorial_sidebar .cv-left-col .cv-skill-item,
.template-template_15_editorial_sidebar .cv-left-col .cv-language-item {
    color: #ffffff !important;
}

.template-template_15_editorial_sidebar .cv-left-col .cv-edu-inst,
.template-template_15_editorial_sidebar .cv-left-col .cv-edu-sub-row,
.template-template_15_editorial_sidebar .cv-left-col .meta-item {
    color: #e7e7e7 !important;
}

.template-template_15_editorial_sidebar .cv-left-col .cv-contact-sidebar-list,
.template-template_15_editorial_sidebar .cv-left-col .cv-skill-cat,
.template-template_15_editorial_sidebar .cv-left-col .cv-edu-item,
.template-template_15_editorial_sidebar .cv-left-col .cv-language-item {
    color: #ffffff !important;
}

.template-template_15_editorial_sidebar .cv-left-col .contact-field-label,
.template-template_15_editorial_sidebar .cv-left-col .cv-skill-cat-name {
    color: var(--tpl15-sidebar-text, #f7f9fc) !important;
    font-size: 0.68rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.04em;
}

.template-template_15_editorial_sidebar .cv-left-col .contact-field-val,
.template-template_15_editorial_sidebar .cv-left-col .cv-language-name,
.template-template_15_editorial_sidebar .cv-left-col .cv-language-level,
.template-template_15_editorial_sidebar .cv-left-col .cv-edu-degree,
.template-template_15_editorial_sidebar .cv-left-col .cv-edu-inst,
.template-template_15_editorial_sidebar .cv-left-col .cv-meta-row {
    color: var(--tpl15-sidebar-muted, #d5dee8) !important;
    font-size: 0.74rem !important;
    line-height: 1.35 !important;
}

.template-template_15_editorial_sidebar .cv-left-col .contact-field-val,
.template-template_15_editorial_sidebar .cv-left-col .skill-classic-text,
.template-template_15_editorial_sidebar .cv-left-col .cv-edu-sub-row,
.template-template_15_editorial_sidebar .cv-left-col .cv-text {
    color: #e7e7e7 !important;
}

.template-template_15_editorial_sidebar .cv-right-header {
    margin: 0 0 1.15rem;
    padding: 0.15rem 0 0.95rem;
    background: transparent;
    border-bottom: 1px solid #d5dee8;
}

.template-template_15_editorial_sidebar .cv-right-contact {
    display: flex;
    flex-wrap: wrap;
    gap: 0.28rem 0.85rem;
    margin-top: 0.7rem;
}

.template-template_15_editorial_sidebar .cv-right-contact-item {
    color: #243140;
    font-size: 0.78rem;
    line-height: 1.35;
    font-weight: 500;
}

.template-template_15_editorial_sidebar .cv-right-name {
    margin: 0;
    color: #1a2330;
    font-size: 1.72rem !important;
    line-height: 1.05 !important;
    font-weight: 600;
    letter-spacing: 0.02em;
    text-transform: uppercase;
}

.template-template_15_editorial_sidebar .cv-right-title {
    margin-top: 0.4rem;
    color: #3e4c5c;
    font-size: 0.92rem !important;
    font-weight: 500;
    line-height: 1.35 !important;
}

.template-template_15_editorial_sidebar .cv-right-col .cv-section-header-row {
    border-bottom: 1.5px solid color-mix(in srgb, var(--tpl15-sidebar-background, #1e3a5f) 55%, #d5dde6) !important;
    padding-bottom: 0.28rem;
    margin-bottom: 0.55rem;
}

.template-template_15_editorial_sidebar .cv-right-col .cv-section-heading {
    color: var(--tpl15-sidebar-background, #1e3a5f) !important;
    font-size: 0.74rem !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.08em !important;
}

.template-template_15_editorial_sidebar .cv-right-col .cv-exp-item,
.template-template_15_editorial_sidebar .cv-right-col .cv-edu-item {
    display: grid !important;
    grid-template-columns: 104px minmax(0, 1fr) !important;
    column-gap: 0.85rem !important;
    row-gap: 0.12rem !important;
    margin-bottom: 0.85rem;
    align-items: start;
}

.template-template_15_editorial_sidebar .cv-right-col .cv-exp-role,
.template-template_15_editorial_sidebar .cv-right-col .cv-exp-title,
.template-template_15_editorial_sidebar .cv-right-col .cv-edu-header-row,
.template-template_15_editorial_sidebar .cv-right-col .cv-edu-degree {
    grid-column: 1 / -1;
    color: #1c2836 !important;
    font-size: 0.86rem !important;
    font-weight: 700 !important;
    line-height: 1.25 !important;
}

.template-template_15_editorial_sidebar .cv-right-col .cv-meta-row {
    grid-column: 1;
    grid-row: 2 / span 3;
    color: #5c6773 !important;
    font-size: 0.7rem !important;
    line-height: 1.35 !important;
}

.template-template_15_editorial_sidebar .cv-right-col .cv-exp-company,
.template-template_15_editorial_sidebar .cv-right-col .cv-edu-inst {
    grid-column: 2;
    color: var(--tpl15-sidebar-background, #1e3a5f) !important;
    font-size: 0.78rem !important;
    font-weight: 700 !important;
    line-height: 1em !important;
}

.template-template_15_editorial_sidebar .cv-right-col .cv-exp-bullets,
.template-template_15_editorial_sidebar .cv-right-col .cv-edu-subdetails {
    grid-column: 2;
}

.template-template_15_editorial_sidebar .cv-right-col .cv-exp-bullet,
.template-template_15_editorial_sidebar .cv-right-col .cv-edu-sub-row,
.template-template_15_editorial_sidebar .cv-right-col .cv-text,
.template-template_15_editorial_sidebar .cv-right-col .cv-summary-text,
.template-template_15_editorial_sidebar .cv-right-col .cv-achievement-item,
.template-template_15_editorial_sidebar .cv-right-col li {
    color: #5f6e7d !important;
    font-size: 0.78rem !important;
    line-height: 1em !important;
}

.template-template_15_editorial_sidebar .cv-right-col .cv-meta-row {
    color: #5c6773 !important;
}

.template-template_15_editorial_sidebar .cv-left-col .cv-section-heading,
.template-template_15_editorial_sidebar .cv-left-col [contenteditable="true"],
.template-template_15_editorial_sidebar .cv-left-col .cv-contact-item-bullet,
.template-template_15_editorial_sidebar .cv-left-col .cv-skill-item,
.template-template_15_editorial_sidebar .cv-left-col .cv-skill-cat-name,
.template-template_15_editorial_sidebar .cv-left-col .skill-pill-text,
.template-template_15_editorial_sidebar .cv-left-col .cv-language-item,
.template-template_15_editorial_sidebar .cv-left-col .cv-language-name,
.template-template_15_editorial_sidebar .cv-left-col .cv-language-level,
.template-template_15_editorial_sidebar .cv-left-col .cv-edu-degree,
.template-template_15_editorial_sidebar .cv-left-col .cv-achievement-item,
.template-template_15_editorial_sidebar .cv-left-col .cv-ach-text,
.template-template_15_editorial_sidebar .cv-left-col .cv-award-item,
.template-template_15_editorial_sidebar .cv-left-col .award-title-text,
.template-template_15_editorial_sidebar .cv-left-col .cv-custom-item-text,
.template-template_15_editorial_sidebar .cv-left-col .cv-custom-chip-text,
.template-template_15_editorial_sidebar .cv-left-col [contenteditable="true"] {
    color: var(--tpl15-sidebar-text, #ffffff) !important;
}

.template-template_15_editorial_sidebar .cv-left-col .contact-field-val,
.template-template_15_editorial_sidebar .cv-left-col .cv-skill-item::before,
.template-template_15_editorial_sidebar .cv-left-col .cv-edu-inst,
.template-template_15_editorial_sidebar .cv-left-col .cv-edu-sub-row,
.template-template_15_editorial_sidebar .cv-left-col .cv-edu-sub-row::marker,
.template-template_15_editorial_sidebar .cv-left-col .cv-edu-sub-text,
.template-template_15_editorial_sidebar .cv-left-col .meta-item,
.template-template_15_editorial_sidebar .cv-left-col .cv-text,
.template-template_15_editorial_sidebar .cv-left-col .cv-custom-para {
    color: var(--tpl15-sidebar-muted, #e7e7e7) !important;
}

.template-template_15_editorial_sidebar .cv-left-col .cv-achievement-item::before,
.template-template_15_editorial_sidebar .cv-left-col .cv-exp-bullet-row::before {
    color: var(--tpl15-sidebar-accent, #b9e2dd) !important;
}

.template-template_15_editorial_sidebar .cv-left-col .skill-pill-tag {
    color: var(--tpl15-sidebar-text, #f7f9fc) !important;
    background: color-mix(in srgb, var(--tpl15-sidebar-text, #f7f9fc) 12%, transparent) !important;
    border: 1px solid color-mix(in srgb, var(--tpl15-sidebar-text, #f7f9fc) 24%, transparent) !important;
    font-size: 0.68rem !important;
    line-height: 1em !important;
    padding: 2px 7px !important;
}

.template-template_15_editorial_sidebar .cv-left-col .skill-pill-tag:hover {
    background: color-mix(in srgb, var(--tpl15-sidebar-text, #ffffff) 8%, transparent) !important;
}

.cv-tpl15-icon-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 20px;
    flex: 0 0 20px;
    color: var(--tpl15-sidebar-text, #ffffff);
    border: 1px solid color-mix(in srgb, var(--tpl15-sidebar-text, #ffffff) 65%, transparent);
    background: color-mix(in srgb, var(--tpl15-sidebar-text, #ffffff) 9%, transparent);
}

.cv-tpl15-icon-badge svg {
    width: 12px;
    height: 12px;
}

.tpl-thumb-editorial-sidebar {
    display: flex;
    padding: 0 !important;
    background: #ffffff;
    height: 184px;
}

.thumb-editorial-sidebar-left {
    width: 36%;
    padding: 10px 7px;
    box-sizing: border-box;
    background: #343434;
}

.thumb-editorial-avatar {
    width: 32px;
    height: 32px;
    margin: 3px auto 10px;
    border-radius: 50%;
    background: #eceaf0;
}

.thumb-editorial-white-heading,
.thumb-editorial-white-line {
    height: 4px;
    margin: 7px 0;
    background: #ffffff;
}

.thumb-editorial-white-heading { width: 78%; height: 6px; }
.thumb-editorial-white-heading.second { margin-top: 14px; }
.thumb-editorial-white-line { width: 94%; opacity: 0.75; }
.thumb-editorial-white-line.short { width: 65%; }

.thumb-editorial-sidebar-main {
    flex: 1;
    padding: 16px 10px;
}

.thumb-editorial-name { width: 76%; height: 15px; background: #343434; margin-bottom: 7px; }
.thumb-editorial-role { width: 46%; height: 5px; background: #777777; margin-bottom: 16px; }
.thumb-editorial-section { width: 86%; height: 5px; background: #343434; margin: 8px 0; }
.thumb-editorial-copy { width: 92%; height: 4px; background: #b2b2b2; margin: 5px 0; }
.thumb-editorial-copy.short { width: 70%; }

/* Right Column Section Headings (Single Solid Navy Divider) */
.template-template_3_navy .cv-right-col .cv-section-heading {
    color: #16324f !important;
    font-size: 1.15rem !important;
    font-weight: 800 !important;
    text-transform: capitalize !important;
    letter-spacing: -0.01em;
}

.template-template_3_navy .cv-right-col .cv-section-header-row {
    border-bottom: 1.5px solid #16324f !important;
    padding-bottom: 3px;
    margin-bottom: 0.65rem;
}

/* 2-Subcolumn Timeline for Experience & Education in Template 3 */
.template-template_3_navy .cv-exp-item,
.template-template_3_navy .cv-edu-item {
    display: grid !important;
    grid-template-columns: 130px 1fr !important;
    gap: 1rem !important;
    align-items: flex-start;
    margin-bottom: 0.85rem;
}

.template-template_3_navy .cv-timeline-left {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
}

.cv-tpl3-icon {
    display: none;
    width: 14px;
    height: 14px;
    flex: 0 0 14px;
    align-items: center;
    justify-content: center;
    margin-top: 1px;
    color: #c4a574;
}

.cv-tpl3-icon svg {
    width: 14px !important;
    height: 14px !important;
    max-width: none !important;
    display: block !important;
    overflow: visible;
}

.template-template_3_navy .cv-tpl3-icon {
    display: inline-flex !important;
    visibility: visible !important;
    opacity: 1 !important;
}

.template-template_3_navy .cv-tpl3-section-icon {
    width: 16px;
    height: 16px;
    flex-basis: 16px;
    margin-top: 0;
}

.template-template_3_navy .cv-tpl3-section-icon svg {
    width: 16px !important;
    height: 16px !important;
}

.template-template_3_navy .cv-right-col .cv-tpl3-icon,
.template-template_3_navy .meta-item svg {
    color: #1d4e89;
}

.template-template_3_navy .cv-left-col .cv-tpl3-icon {
    color: #c4a574 !important;
}

.template-template_3_navy .contact-field-group > .cv-tpl3-icon,
.template-template_3_navy .cv-right-contact-item > .cv-tpl3-icon {
    display: inline-flex !important;
    flex-shrink: 0;
}

.template-template_3_navy .cv-tpl3-icon-text,
.template-template_3_navy .cv-right-contact-text {
    min-width: 0;
}

.template-template_3_navy .cv-timeline-dates,
.template-template_3_navy .cv-timeline-org,
.template-template_3_navy .cv-timeline-loc,
.template-template_3_navy .cv-edu-inst {
    display: flex;
    align-items: flex-start;
    gap: 0.28rem;
}

.template-template_3_navy .cv-timeline-dates {
    font-size: 0.78rem;
    font-weight: 700;
    color: #475569;
}

.template-template_3_navy .cv-timeline-org {
    font-size: 0.76rem;
    color: #1d4e89;
    font-weight: 600;
    line-height: 1.25;
}

.template-template_3_navy .cv-timeline-loc,
.template-template_3_navy .cv-timeline-type {
    font-size: 0.72rem;
    color: #5c6b7a;
    line-height: 1.3;
}

.template-template_3_navy .cv-timeline-right {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}

.template-template_3_navy .cv-timeline-role-title {
    font-size: 0.86rem;
    font-weight: 800;
    color: #16324f;
}

.template-template_3_navy .cv-timeline-desc {
    font-size: 0.78rem;
    color: #334155;
    line-height: 1.35;
}

/* Template 3 Thumbnail in Preview Modal */
.tpl-thumb-navy {
    display: flex;
    padding: 0 !important;
    background-color: #ffffff;
    height: 184px;
    box-sizing: border-box;
}

.thumb-navy-sidebar {
    width: 35%;
    background-color: #16324f;
    padding: 8px 6px;
    display: flex;
    flex-direction: column;
    gap: 3px;
    box-sizing: border-box;
}

.thumb-white-badge {
    width: 18px;
    height: 18px;
    border-radius: 50%;
    background-color: #ffffff;
    color: #16324f;
    font-size: 7px;
    font-weight: 800;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 2px;
}

.thumb-white-hdr {
    height: 3px;
    width: 60%;
    background-color: #ffffff;
    margin-top: 2px;
}

.thumb-white-line {
    height: 2px;
    width: 80%;
    background-color: #94a3b8;
}

.thumb-navy-main {
    flex: 1;
    padding: 8px 8px;
    display: flex;
    flex-direction: column;
    gap: 4px;
    box-sizing: border-box;
}

.thumb-navy-name {
    height: 6px;
    width: 70%;
    background-color: #16324f;
}

.thumb-navy-title {
    height: 3px;
    width: 45%;
    background-color: #64748b;
    margin-bottom: 2px;
}

.thumb-dark-hdr {
    background-color: #16324f;
    height: 3px;
    width: 40%;
}

.thumb-2col-row {
    display: grid;
    grid-template-columns: 25px 1fr;
    gap: 4px;
    margin-bottom: 2px;
}

.thumb-sub-left {
    height: 16px;
    background-color: #cbd5e1;
}

.thumb-sub-right {
    height: 16px;
    background-color: #e2e8f0;
}

/* ======================================================== */
/* TEMPLATE 4: CLEAN SHADED BANNER (OLIVIA SANCHEZ STYLE) */
/* ======================================================== */

.template-template_4_banner {
    padding: 2.25rem 2.5rem !important;
    background-color: #ffffff;
}

/* Centered Header in Template 4 */
.template-template_4_banner .cv-header-tpl2 {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    text-align: center !important;
    border-bottom: none !important;
    padding-bottom: 0.75rem !important;
    gap: 0.25rem !important;
}

.template-template_4_banner .cv-header-left {
    align-items: center !important;
    text-align: center !important;
    gap: 0.2rem !important;
}

.template-template_4_banner .cv-header-right {
    display: none !important;
}

.template-template_4_banner .cv-name {
    font-size: 2rem !important;
    font-weight: 800 !important;
    color: #0f172a !important;
    text-transform: uppercase !important;
    letter-spacing: 0.04em !important;
}

.template-template_4_banner .cv-title-teal {
    color: var(--cv-accent, #334155) !important;
    font-size: 0.95rem !important;
    font-weight: 500 !important;
}

.template-template_4_banner .cv-contact-row {
    justify-content: center !important;
    font-size: 0.78rem !important;
    color: #475569 !important;
    gap: 0.5rem !important;
    margin-top: 0.25rem !important;
}

/* Full-Width Single-Column Flow */
.template-template_4_banner .cv-body {
    grid-template-columns: 1fr !important;
    gap: 1.15rem !important;
}

.template-template_4_banner .cv-column {
    display: flex !important;
    flex-direction: column !important;
    gap: 1.15rem !important;
    width: 100% !important;
}

/* Shaded Section Heading Banners */
.template-template_4_banner .cv-section-header-row {
    background-color: color-mix(in srgb, var(--cv-accent, #334155) 16%, #f8fafc) !important;
    padding: 3px 8px !important;
    border-bottom: none !important;
    margin-bottom: 0.55rem !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
}

.template-template_4_banner .cv-section-heading {
    color: #0f172a !important;
    font-size: 0.84rem !important;
    font-weight: 800 !important;
    letter-spacing: 0.05em !important;
    text-transform: uppercase !important;
    border-bottom: none !important;
}

/* Experience & Education Entries with Right-Aligned Dates */
.template-template_4_banner .cv-exp-item,
.template-template_4_banner .cv-edu-item {
    display: flex !important;
    flex-direction: column !important;
    gap: 0.2rem !important;
    margin-bottom: 0.75rem !important;
}

.template-template_4_banner .cv-exp-role {
    font-size: 0.84rem !important;
    font-weight: 700 !important;
    color: #0f172a !important;
    display: inline !important;
}

.template-template_4_banner .cv-exp-company {
    font-size: 0.84rem !important;
    font-weight: 700 !important;
    color: #0f172a !important;
    display: inline !important;
}

.template-template_4_banner .cv-meta-row {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    margin-top: 0 !important;
    margin-bottom: 0.15rem !important;
    font-size: 0.8rem !important;
    font-weight: 700 !important;
    color: #0f172a !important;
}

.template-template_4_banner .cv-exp-bullets {
    margin-left: 1.15rem !important;
    margin-top: 0.15rem !important;
    gap: 0 !important;
}

.template-template_4_banner .cv-edu-degree {
    font-size: 0.84rem !important;
    font-weight: 700 !important;
    color: #0f172a !important;
}

.template-template_4_banner .cv-edu-inst {
    font-size: 0.82rem !important;
    font-weight: 500 !important;
    color: #334155 !important;
}

/* 3-Column Skills Grid for Template 4 */
.template-template_4_banner .cv-skills-grid-3col {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 0.35rem 1.25rem !important;
}

.template-template_4_banner .cv-skill-bullet-item {
    font-size: 0.78rem !important;
    color: #5f6e7d !important;
    display: flex !important;
    align-items: baseline !important;
    gap: 6px !important;
    line-height: 1em !important;
}

.template-template_4_banner .cv-skill-bullet-item::before {
    content: "•";
    color: #0f172a;
    font-weight: 700;
}

/* Template 4 Thumbnail in Preview Modal */
.tpl-thumb-banner {
    background-color: #ffffff;
    padding: 8px 10px;
    display: flex;
    flex-direction: column;
    gap: 4px;
    height: 184px;
    box-sizing: border-box;
}

.thumb-banner-header {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2px;
    border-bottom: 1px solid #e2e8f0;
    padding-bottom: 4px;
}

.thumb-center-name {
    height: 5px;
    width: 55%;
    background-color: #0f172a;
}

.thumb-center-title {
    height: 3px;
    width: 35%;
    background-color: #64748b;
}

.thumb-center-contact {
    height: 2px;
    width: 65%;
    background-color: #94a3b8;
}

.thumb-banner-body {
    display: flex;
    flex-direction: column;
    gap: 3px;
}

.thumb-shaded-strip {
    height: 5px;
    background-color: #cbd5e1;
    width: 100%;
}

.thumb-full-block {
    height: 12px;
    background-color: #f1f5f9;
    width: 100%;
}

.thumb-full-block.tall {
    height: 26px;
}

.thumb-3col-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 3px;
}

.thumb-3col-item {
    height: 12px;
    background-color: #f1f5f9;
}

/* ======================================================== */
/* COVER LETTER STUDIO & EXACT MATCHING DESIGN */
/* ======================================================== */

.btn-accent-cl {
    background: linear-gradient(135deg, #7c3aed 0%, #6d28d9 100%);
    color: #ffffff !important;
    border: none !important;
    font-weight: 700 !important;
    box-shadow: 0 1px 3px rgba(109, 40, 217, 0.25);
}

.btn-accent-cl:hover {
    background: linear-gradient(135deg, #6d28d9 0%, #5b21b6 100%);
    color: #ffffff !important;
}

.cover-letter-sheet-wrapper {
    background-color: #e2e8f0;
    padding: 1.5rem 1rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    overflow-x: auto;
    border: 1px solid var(--border-medium);
    border-radius: var(--radius-sm);
    flex: 1;
    min-width: 0;
    transition: flex 0.25s ease;
    box-sizing: border-box;
    gap: 0.75rem;
}

.cover-letter-sheet-wrapper.hidden {
    display: none !important;
}

.cover-letter-sheet {
    --cv-accent: #ff0ad3;
    width: 210mm;
    min-height: 297mm;
    margin: 0 auto;
    --cl-pad-x: 18mm;
    --cl-pad-bottom: 16mm;
    background-color: #ffffff;
    box-shadow: var(--shadow-sheet);
    border: 1px solid #cbd5e1 !important;
    border-radius: 0 !important;
    display: flex;
    flex-direction: column;
    gap: 0.65rem !important;
    font-family: inherit;
    box-sizing: border-box;
    position: relative;
    color: #5f6e7d;
    line-height: 1;
    padding: 0 var(--cl-pad-x) var(--cl-pad-bottom) !important;
}

/* Template 1: Classic Executive Centered */
.cl-header-centered {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 0.15rem;
    margin-bottom: 0.35rem;
}

.cl-name {
    font-size: 1.8rem;
    font-weight: 800;
    color: var(--cv-accent);
    letter-spacing: 0.04em;
    text-transform: uppercase;
    margin: 0;
    line-height: 1.15;
}

.cl-title {
    font-size: 0.85rem;
    font-weight: 700;
    color: #475569;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    margin-bottom: 0.15rem;
}

.cl-contact-line {
    font-size: 0.82rem;
    color: #475569;
    font-weight: 500;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 0.45rem;
}

.cover-letter-sheet #clLocation,
.cover-letter-sheet #clMinLocation,
.cover-letter-sheet #clNavyLocation,
.cover-letter-sheet #clBannerLocation,
.cover-letter-sheet #clAccentLocation,
.cover-letter-sheet #clExecLocation,
.cover-letter-sheet #clStatementLocation,
.cover-letter-sheet #clEmail,
.cover-letter-sheet #clMinEmail,
.cover-letter-sheet #clNavyEmail,
.cover-letter-sheet #clBannerEmail,
.cover-letter-sheet #clAccentEmail,
.cover-letter-sheet #clExecEmail,
.cover-letter-sheet #clStatementEmail,
.cover-letter-sheet #clSignEmail,
.cover-letter-sheet #clPhone,
.cover-letter-sheet #clMinPhone,
.cover-letter-sheet #clNavyPhone,
.cover-letter-sheet #clBannerPhone,
.cover-letter-sheet #clAccentPhone,
.cover-letter-sheet #clExecPhone,
.cover-letter-sheet #clStatementPhone,
.cover-letter-sheet #clSignPhone,
.cover-letter-sheet #clWebsite,
.cover-letter-sheet #clSignWeb,
.cover-letter-sheet #clLinkedin,
.cover-letter-sheet #clSignLinkedin,
.cover-letter-sheet #clGithub {
    display: inline-flex;
    align-items: center;
    gap: 0.32em;
}

.cover-letter-sheet #clSignEmail,
.cover-letter-sheet #clSignPhone {
    display: flex;
}

.cover-letter-sheet #clLocation::before,
.cover-letter-sheet #clMinLocation::before,
.cover-letter-sheet #clNavyLocation::before,
.cover-letter-sheet #clBannerLocation::before,
.cover-letter-sheet #clAccentLocation::before,
.cover-letter-sheet #clExecLocation::before,
.cover-letter-sheet #clStatementLocation::before,
.cover-letter-sheet #clEmail::before,
.cover-letter-sheet #clMinEmail::before,
.cover-letter-sheet #clNavyEmail::before,
.cover-letter-sheet #clBannerEmail::before,
.cover-letter-sheet #clAccentEmail::before,
.cover-letter-sheet #clExecEmail::before,
.cover-letter-sheet #clStatementEmail::before,
.cover-letter-sheet #clSignEmail::before,
.cover-letter-sheet #clPhone::before,
.cover-letter-sheet #clMinPhone::before,
.cover-letter-sheet #clNavyPhone::before,
.cover-letter-sheet #clBannerPhone::before,
.cover-letter-sheet #clAccentPhone::before,
.cover-letter-sheet #clExecPhone::before,
.cover-letter-sheet #clStatementPhone::before,
.cover-letter-sheet #clSignPhone::before,
.cover-letter-sheet #clWebsite::before,
.cover-letter-sheet #clSignWeb::before,
.cover-letter-sheet #clLinkedin::before,
.cover-letter-sheet #clSignLinkedin::before,
.cover-letter-sheet #clGithub::before {
    content: "";
    width: 0.95em;
    height: 0.95em;
    flex: 0 0 auto;
    background-color: currentColor;
    -webkit-mask: var(--cl-icon) center / contain no-repeat;
    mask: var(--cl-icon) center / contain no-repeat;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
}

.cover-letter-sheet #clLocation::before,
.cover-letter-sheet #clMinLocation::before,
.cover-letter-sheet #clNavyLocation::before,
.cover-letter-sheet #clBannerLocation::before,
.cover-letter-sheet #clAccentLocation::before,
.cover-letter-sheet #clExecLocation::before,
.cover-letter-sheet #clStatementLocation::before {
    --cl-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 2a7 7 0 0 0-7 7c0 5.2 7 13 7 13s7-7.8 7-13a7 7 0 0 0-7-7zm0 9.5a2.5 2.5 0 1 1 0-5 2.5 2.5 0 0 1 0 5z'/%3E%3C/svg%3E");
}

.cover-letter-sheet #clEmail::before,
.cover-letter-sheet #clMinEmail::before,
.cover-letter-sheet #clNavyEmail::before,
.cover-letter-sheet #clBannerEmail::before,
.cover-letter-sheet #clAccentEmail::before,
.cover-letter-sheet #clExecEmail::before,
.cover-letter-sheet #clStatementEmail::before,
.cover-letter-sheet #clSignEmail::before {
    --cl-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M3 5h18a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V6a1 1 0 0 1 1-1zm0 2.2V18h18V7.2l-9 5.6-9-5.6zM4.6 7l7.4 4.6L19.4 7H4.6z'/%3E%3C/svg%3E");
}

.cover-letter-sheet #clPhone::before,
.cover-letter-sheet #clMinPhone::before,
.cover-letter-sheet #clNavyPhone::before,
.cover-letter-sheet #clBannerPhone::before,
.cover-letter-sheet #clAccentPhone::before,
.cover-letter-sheet #clExecPhone::before,
.cover-letter-sheet #clStatementPhone::before,
.cover-letter-sheet #clSignPhone::before {
    --cl-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M7 2h3.2a1 1 0 0 1 1 .8l.7 3.2a1 1 0 0 1-.5 1.1L9.2 8.4a12.5 12.5 0 0 0 6.4 6.4l1.3-2.2a1 1 0 0 1 1.1-.5l3.2.7a1 1 0 0 1 .8 1V18a2 2 0 0 1-2.2 2A17 17 0 0 1 4 6.2 2 2 0 0 1 6 4h1z'/%3E%3C/svg%3E");
}

.cover-letter-sheet #clWebsite::before,
.cover-letter-sheet #clSignWeb::before {
    --cl-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M3 12h18M12 3c2.5 2.8 2.5 15.2 0 18M12 3c-2.5 2.8-2.5 15.2 0 18'/%3E%3C/svg%3E");
}

.cover-letter-sheet #clLinkedin::before,
.cover-letter-sheet #clSignLinkedin::before {
    --cl-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M4.7 3.3a2.2 2.2 0 1 0 0 4.4 2.2 2.2 0 0 0 0-4.4zM3 9h3.4v12H3V9zm6.2 0H12v1.6h.1a3.7 3.7 0 0 1 3.3-1.8c3.5 0 4.2 2.3 4.2 5.3V21H16v-6.3c0-1.5 0-3.4-2.1-3.4s-2.4 1.6-2.4 3.3V21H9.2V9z'/%3E%3C/svg%3E");
}

.cover-letter-sheet #clGithub::before {
    --cl-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 2a10 10 0 0 0-3.2 19.5c.5.1.7-.2.7-.5v-1.7c-2.8.6-3.4-1.2-3.4-1.2-.5-1.1-1.1-1.4-1.1-1.4-.9-.6.1-.6.1-.6 1 .1 1.5 1 1.5 1 .9 1.5 2.4 1.1 3 .8.1-.6.4-1.1.6-1.3-2.2-.3-4.6-1.1-4.6-5 0-1.1.4-2 1-2.7-.1-.2-.4-1.3.1-2.6 0 0 .8-.3 2.8 1a9.6 9.6 0 0 1 5 0c2-1.3 2.8-1 2.8-1 .5 1.3.2 2.4.1 2.6.6.7 1 1.6 1 2.7 0 3.9-2.3 4.7-4.6 5 .4.3.7 1 .7 2v2.9c0 .3.2.6.7.5A10 10 0 0 0 12 2z'/%3E%3C/svg%3E");
}

.cover-letter-sheet #clLocation::before,
.cover-letter-sheet #clMinLocation::before,
.cover-letter-sheet #clNavyLocation::before,
.cover-letter-sheet #clBannerLocation::before,
.cover-letter-sheet #clAccentLocation::before,
.cover-letter-sheet #clExecLocation::before,
.cover-letter-sheet #clStatementLocation::before,
.cover-letter-sheet #clEmail::before,
.cover-letter-sheet #clMinEmail::before,
.cover-letter-sheet #clNavyEmail::before,
.cover-letter-sheet #clBannerEmail::before,
.cover-letter-sheet #clAccentEmail::before,
.cover-letter-sheet #clExecEmail::before,
.cover-letter-sheet #clStatementEmail::before,
.cover-letter-sheet #clSignEmail::before,
.cover-letter-sheet #clPhone::before,
.cover-letter-sheet #clMinPhone::before,
.cover-letter-sheet #clNavyPhone::before,
.cover-letter-sheet #clBannerPhone::before,
.cover-letter-sheet #clAccentPhone::before,
.cover-letter-sheet #clExecPhone::before,
.cover-letter-sheet #clStatementPhone::before,
.cover-letter-sheet #clSignPhone::before {
    width: 1.18em;
    height: 1.18em;
}

.cover-letter-sheet .cl-contact-icon {
    width: 0.95em;
    height: 0.95em;
    flex: 0 0 auto;
    display: inline-block;
    object-fit: contain;
    vertical-align: middle;
}

.cover-letter-sheet .cl-contact-icon.is-large {
    width: 1.18em;
    height: 1.18em;
}

.cv-pdf-page .cover-letter-sheet .cl-has-pdf-icon::before,
.cover-letter-sheet.pdf-icons-ready .cl-has-pdf-icon::before {
    content: none !important;
    display: none !important;
    width: 0 !important;
    height: 0 !important;
    background: none !important;
    -webkit-mask: none !important;
    mask: none !important;
}

.cover-letter-sheet .cl-sep {
    display: none !important;
}

.cl-header-rule {
    width: 100%;
    height: 1.5px;
    background-color: var(--cv-accent);
    margin-top: 0.55rem;
}

/* Template 2: Modern Squared Monogram Minimalist */
.cl-header-minimalist {
    display: flex;
    align-items: center;
    gap: 1rem;
    border-bottom: 1.5px solid #cbd5e1;
    padding-bottom: 0.55rem;
    margin-bottom: 0.35rem;
}

.cl-avatar-dark-circle {
    width: 44px;
    height: 44px;
    border-radius: 0 !important;
    -webkit-border-radius: 0 !important;
    background-color: var(--cv-accent) !important;
    color: #ffffff !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-weight: 800;
    font-size: 1rem;
    letter-spacing: 0.05em;
    flex-shrink: 0;
    border: 1px solid var(--cv-accent);
}

.cl-info-col {
    display: flex;
    flex-direction: column;
    gap: 0.1rem;
}

.cl-min-name {
    font-size: 1.6rem;
    font-weight: 800;
    color: var(--cv-accent);
    margin: 0;
    letter-spacing: 0.02em;
    line-height: 1.15;
}

.cl-min-title {
    font-size: 0.82rem;
    font-weight: 700;
    color: #475569;
    text-transform: uppercase;
}

.cl-min-contacts {
    font-size: 0.8rem;
    color: #475569;
    font-weight: 500;
}

/* Template 3: Corporate Navy */
.cl-header-navy {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    border-bottom: 2px solid var(--cv-accent);
    padding-bottom: 0.55rem;
    margin-bottom: 0.35rem;
}

.cl-navy-left {
    display: flex;
    flex-direction: column;
    gap: 0.1rem;
}

.cl-navy-name {
    font-size: 1.65rem;
    font-weight: 800;
    color: var(--cv-accent);
    margin: 0;
    letter-spacing: 0.02em;
    line-height: 1.15;
}

.cl-navy-title {
    font-size: 0.82rem;
    font-weight: 700;
    color: #475569;
    text-transform: uppercase;
}

.cl-navy-contacts {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 0.1rem;
    font-size: 0.8rem;
    color: #334155;
    font-weight: 500;
}

/* Template 4: Slate Header Banner */
.cl-header-banner {
    background-color: #f8fafc;
    border: 1px solid #cbd5e1;
    border-radius: 0;
    padding: 0.85rem 1.25rem;
    margin-bottom: 0.5rem;
}

.cl-banner-content {
    display: flex;
    flex-direction: column;
    gap: 0.1rem;
}

.cl-banner-name {
    font-size: 1.65rem;
    font-weight: 800;
    color: var(--cv-accent);
    letter-spacing: 0.03em;
    text-transform: uppercase;
    margin: 0;
    line-height: 1.15;
}

.cl-banner-title {
    font-size: 0.82rem;
    font-weight: 700;
    color: #475569;
    text-transform: uppercase;
}

.cl-banner-contacts {
    font-size: 0.8rem;
    color: #475569;
    font-weight: 500;
    margin-top: 2px;
}

/* Template 5: Left Accent Bar */
.cl-header-accent-bar {
    display: flex;
    gap: 14px;
    border-bottom: 1.5px solid #cbd5e1;
    padding-bottom: 0.55rem;
    margin-bottom: 0.35rem;
}

.cl-accent-bar-strip {
    width: 4px;
    background-color: var(--cv-accent);
    border-radius: 0 !important;
    flex-shrink: 0;
}

.cl-accent-bar-info {
    display: flex;
    flex-direction: column;
    gap: 0.1rem;
}

.cl-accent-name {
    font-size: 1.6rem;
    font-weight: 800;
    color: #4a5968;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    margin: 0;
    line-height: 1.15;
}

.cl-accent-title {
    font-size: 0.82rem;
    font-weight: 700;
    color: var(--cv-accent);
    text-transform: uppercase;
}

.cl-accent-contacts {
    font-size: 0.8rem;
    color: #475569;
    font-weight: 500;
}

/* Template 7: Statement Accent */
.cl-header-statement {
    display: flex;
    align-items: stretch;
    border-left: 4px solid var(--cv-accent, #0f172a);
    background: #f8fafc;
    background-clip: border-box;
    padding: 0.9rem 1rem 0.9rem 1.05rem;
    margin-bottom: 0.8rem;
    overflow: hidden;
}

/* Older drafts still contain this inner stripe. The header border is the accent. */
.cl-statement-bar {
    display: none !important;
}

.cl-statement-content {
    display: flex;
    flex-direction: column;
    gap: 0.16rem;
    flex: 1;
}

.cl-statement-name {
    font-size: 1.7rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    margin: 0;
    line-height: 1.1;
    color: #4a5968;
}

.cl-statement-title {
    font-size: 0.78rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: #5f6e7d;
    font-weight: 700;
}

.cl-statement-contacts {
    font-size: 0.75rem;
    color: #475569;
    letter-spacing: 0.04em;
}

/* Template 6: Prestige Executive Double Rule */
.cl-header-exec-rule {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 3px;
    margin-bottom: 0.45rem;
}

.cl-exec-rule-top {
    width: 100%;
    height: 1.5px;
    background-color: var(--cv-accent);
    margin-bottom: 4px;
}

.cl-exec-name {
    font-size: 1.75rem;
    font-weight: 800;
    color: var(--cv-accent);
    letter-spacing: 0.06em;
    text-transform: uppercase;
    margin: 2px 0;
    line-height: 1.15;
}

.cl-exec-sub-row {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2px;
}

.cl-exec-title {
    font-size: 0.85rem;
    font-weight: 700;
    color: #475569;
    text-transform: uppercase;
}

.cl-exec-contacts {
    font-size: 0.82rem;
    color: #475569;
    font-weight: 500;
}

.cl-exec-rule-bottom {
    width: 100%;
    height: 1.5px;
    background-color: #0f172a;
    margin-top: 6px;
}

.cl-exec-sub-row {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    flex-wrap: wrap;
}

.cl-exec-title {
    font-size: 0.8rem;
    font-weight: 700;
    color: #334155;
    text-transform: uppercase;
}

.cl-exec-contacts {
    font-size: 0.78rem;
    color: #64748b;
    font-weight: 500;
}

.cl-exec-rule-bottom {
    width: 100%;
    height: 1px;
    background-color: #94a3b8;
    margin-top: 3px;
}

/* Date & Recipient Block */
.cl-meta-block {
    display: flex;
    flex-direction: column;
    gap: 0.45rem;
    margin: 0.2rem 0;
}

.cl-date-row {
    font-size: 9.5pt;
    font-weight: 600;
    color: #475569;
}

.cl-recipient-box {
    display: flex;
    flex-direction: column;
    gap: 0.1rem;
    background: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    padding: 0 !important;
}

.cl-recip-item {
    font-size: 12pt !important;
    color: #5f6e7d;
    line-height: 1 !important;
}

.cl-recip-title {
    font-weight: 700;
    color: #4a5968;
}

.cl-recip-company {
    font-weight: 600;
}

.cl-salutation {
    font-size: 12pt !important;
    font-weight: 700;
    color: #4a5968;
    margin: 0.55rem 0 0.15rem 0;
}

.cl-body {
    display: flex;
    flex-direction: column;
    gap: 0.75rem !important;
}

/* Cover Letter Paragraphs: 12pt type with a line height of 1 */
.cl-paragraph {
    font-size: 12pt !important;
    line-height: 1 !important;
    letter-spacing: -0.003em;
    color: #5f6e7d;
    text-align: justify;
    margin: 0 !important;
    padding: 4px 8px;
    margin: 0 -8px !important;
    border-radius: 0 !important;
    border-left: 2.5px solid transparent;
    transition: all 0.15s ease;
    position: relative;
    cursor: pointer;
}

.cl-paragraph:hover {
    background-color: #f8fafc;
    border-left-color: #42A5F5;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.03);
}

.cl-paragraph:focus {
    outline: none;
    background-color: #E3F2FD;
    border-left-color: #1565C0;
}

.cl-paragraph.active-rephrase-target {
    background-color: #E3F2FD;
    border-left-color: #1565C0;
    box-shadow: 0 0 0 1.5px rgba(37, 99, 235, 0.15);
}

.cl-paragraph.has-ai-suggestion {
    background-color: #f0fdf4;
    border-left-color: #16a34a;
}

.cl-footer {
    margin-top: 1.25rem !important;
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
}

.cl-signoff {
    font-size: 12pt !important;
    color: #4a5968;
    font-weight: 600;
}

.cl-signature-script {
    font-family: 'Brush Script MT', 'Segoe Script', cursive, sans-serif;
    font-size: 1.55rem;
    color: #1e3a8a;
    margin: 0.2rem 0;
}

.cl-signature-name {
    font-size: 12pt !important;
    color: #4a5968;
    font-weight: 700;
}

/* Dedicated Action Bar directly above Cover Letter Canvas */
.cl-sheet-action-bar {
    width: 210mm;
    max-width: 100%;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.45rem 0.85rem;
    background: #ffffff;
    border: 1px solid #cbd5e1;
    border-radius: 0 !important;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
    box-sizing: border-box;
}

.cl-sheet-action-left {
    display: flex;
    align-items: center;
    gap: 0.65rem;
}

.cl-action-badge {
    display: inline-flex;
    align-items: center;
    padding: 2px 7px;
    font-size: 10.5px;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    background: #f1f5f9;
    color: #0f172a;
    border: 1px solid #cbd5e1;
    border-radius: 0 !important;
}

.cl-action-word-count {
    font-size: 12px;
    color: #475569;
    font-weight: 500;
}

.cl-sheet-action-right {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.cl-canvas-templates-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    background: #f8fafc;
    color: #0f172a;
    border: 1px solid #cbd5e1;
    border-radius: 0 !important;
    font-weight: 600;
    font-size: 11.5px;
    padding: 0.35rem 0.65rem;
    cursor: pointer;
    transition: all 0.15s ease;
}

.cl-canvas-templates-btn:hover {
    background: #f1f5f9;
    border-color: #94a3b8;
}

.cl-canvas-regen-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    background: #0f172a;
    color: #ffffff;
    border: 1px solid #0f172a;
    border-radius: 0 !important;
    font-weight: 600;
    font-size: 11.5px;
    padding: 0.35rem 0.75rem;
    cursor: pointer;
    transition: all 0.15s ease;
}

.cl-canvas-regen-btn:hover {
    background: #1e293b;
    border-color: #1e293b;
}

.cl-canvas-regen-btn:active {
    transform: scale(0.98);
}

/* ======================================================== */
/* FLOATING AI SELECTION & REWRITE TOOLBAR (SHARP / NO ROUNDED CORNERS) */
/* ======================================================== */
.floating-ai-toolbar {
    position: fixed;
    z-index: 999999 !important;
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 14px !important;
    box-shadow: 0 18px 40px rgba(15, 23, 42, 0.16);
    padding: 0.4rem;
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    font-family: 'Outfit', sans-serif;
    min-width: 280px;
    max-width: min(420px, calc(100vw - 24px));
}

.float-toolbar-main {
    display: flex;
    align-items: center;
    gap: 0.4rem;
}

.btn-float-action {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    background: #2563eb;
    color: #ffffff;
    border: none;
    border-radius: 10px !important;
    padding: 0.4rem 0.75rem;
    font-size: 0.8rem;
    font-weight: 700;
    font-family: 'Outfit', sans-serif;
    cursor: pointer;
    white-space: nowrap;
}

.btn-float-action:hover {
    background: #1565C0;
    border-color: #60a5fa;
    box-shadow: 0 0 12px rgba(37, 99, 235, 0.45);
}

.btn-float-action svg {
    color: #93c5fd;
}

.float-divider {
    width: 1px;
    height: 18px;
    background: #e2e8f0;
    margin: 0 2px;
}

.float-color-palette {
    display: flex;
    align-items: center;
    gap: 0.25rem;
}

.color-dot {
    width: 16px;
    height: 16px;
    border-radius: 50% !important;
    border: 1px solid #cbd5e1;
    cursor: pointer;
    transition: transform 0.15s ease, border-color 0.15s ease;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 11px;
    color: #0f172a;
    font-weight: 800;
    line-height: 1;
    font-family: 'Outfit', sans-serif;
}

.color-dot:hover {
    transform: scale(1.15);
    border-color: #ffffff;
}

.bg-hl-yellow { background-color: #fef08a; }
.bg-hl-teal   { background-color: #ccfbf1; }
.bg-hl-purple { background-color: #ede9fe; }
.bg-hl-pink   { background-color: #fbcfe8; }
.bg-hl-clear  { background-color: #f8fafc; color: #64748b; }

.float-prompt-bar {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0.45rem;
    padding: 0.35rem 0.2rem 0.15rem;
    border-top: 1px solid #eef2f6;
}

.float-prompt-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-size: 0.78rem;
    font-weight: 700;
    color: #334155;
}

.float-prompt-close {
    border: none;
    background: transparent;
    color: #94a3b8;
    font-size: 1.1rem;
    line-height: 1;
    cursor: pointer;
    padding: 0 0.2rem;
}

.float-prompt-input {
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 10px !important;
    color: #1e293b;
    font-size: 0.84rem;
    font-family: 'Outfit', sans-serif;
    padding: 0.55rem 0.7rem;
    outline: none;
    width: 100%;
    box-sizing: border-box;
}

.float-prompt-input:focus {
    border-color: #93c5fd;
    background: #ffffff;
    box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.12);
}

.float-rewrite-btn {
    border: none;
    border-radius: 10px;
    background: #2563eb;
    color: #ffffff;
    font-family: 'Outfit', sans-serif;
    font-size: 0.84rem;
    font-weight: 700;
    padding: 0.55rem 0.8rem;
    cursor: pointer;
}

.float-rewrite-btn:disabled {
    opacity: 0.6;
    cursor: progress;
}

mark.ai-selection-live,
.cl-paragraph.ai-selection-block {
    background: #dbeafe !important;
    box-shadow: inset 3px 0 0 #2563eb;
    border-radius: 2px;
}

.ai-review-label {
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #64748b;
    margin: 0.15rem 0 0.3rem;
}

.ai-diff-before,
.ai-diff-after {
    margin: 0 0 0.55rem;
    padding: 0.55rem 0.7rem;
    border-radius: 8px;
    font-size: 0.82rem;
    line-height: 1.45;
}

.ai-diff-before {
    background: #fef2f2;
    color: #b91c1c;
    text-decoration: line-through;
}

.ai-diff-after {
    background: #f0fdf4;
    color: #166534;
    text-decoration: none;
}

.rewrite-highlight-flash {
    animation: flashRewrite 1.2s ease;
}

@keyframes flashRewrite {
    0%   { background-color: rgba(59, 130, 246, 0.35); }
    100% { background-color: transparent; }
}

/* ======================================================== */
/* SECTION & PARAGRAPH TOP-RIGHT CORNER AI BADGE */
/* ======================================================== */
/* ======================================================== */
/* SINGLE FLOATING AI OPTION: "EDIT WITH AI" */
/* ======================================================== */
.section-ai-corner-badge {
    position: absolute;
    z-index: 120;
    background: #0f172a;
    border: 1px solid rgba(255, 255, 255, 0.22);
    border-radius: 20px;
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.28), 0 0 0 1px rgba(0, 0, 0, 0.1);
    padding: 2px;
    display: flex;
    flex-direction: column;
    pointer-events: auto;
    transition: opacity 0.15s ease, transform 0.15s ease;
    animation: fadeInBadge 0.15s cubic-bezier(0.16, 1, 0.3, 1);
}

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

.corner-badge-main {
    display: flex;
    align-items: center;
}

.btn-corner-ai {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    background: linear-gradient(135deg, #6366f1 0%, #4f46e5 100%);
    color: #ffffff;
    border: none;
    border-radius: 18px;
    padding: 0.28rem 0.75rem;
    font-size: 0.76rem;
    font-weight: 700;
    letter-spacing: 0.01em;
    cursor: pointer;
    transition: all 0.15s ease;
    white-space: nowrap;
    box-shadow: 0 2px 6px rgba(79, 70, 229, 0.35);
}

.btn-corner-ai:hover {
    background: linear-gradient(135deg, #4f46e5 0%, #4338ca 100%);
    transform: translateY(-1px);
    box-shadow: 0 4px 10px rgba(79, 70, 229, 0.45);
}

.btn-corner-ai svg {
    color: #ffd700;
}

/* Floating AI Prompt Card when opened */
.corner-prompt-bar {
    background: #0f172a;
    border: 1px solid rgba(255, 255, 255, 0.16);
    border-radius: 12px;
    box-shadow: 0 10px 28px rgba(0, 0, 0, 0.4);
    padding: 0.65rem 0.75rem;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    width: 320px;
    max-width: 90vw;
    margin-top: 4px;
}

.corner-prompt-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 0.75rem;
    font-weight: 700;
    color: #94a3b8;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    padding-bottom: 0.35rem;
}

.btn-corner-close {
    background: transparent;
    border: none;
    color: #94a3b8;
    font-size: 1rem;
    cursor: pointer;
    padding: 0 2px;
    line-height: 1;
}

.btn-corner-close:hover {
    color: #ffffff;
}

.corner-chips-row {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
}

.corner-chip {
    background: #1e293b;
    border: 1px solid #334155;
    border-radius: 12px;
    color: #e2e8f0;
    font-size: 0.68rem;
    padding: 0.18rem 0.48rem;
    cursor: pointer;
    transition: all 0.12s ease;
    white-space: nowrap;
}

.corner-chip:hover {
    background: #334155;
    border-color: #60a5fa;
    color: #ffffff;
    transform: translateY(-1px);
}

.corner-input-row {
    display: flex;
    gap: 4px;
}

.corner-prompt-input {
    background: #1e293b;
    border: 1px solid #334155;
    border-radius: 6px;
    color: #ffffff;
    font-size: 0.74rem;
    padding: 0.3rem 0.55rem;
    outline: none;
    flex: 1;
}

.corner-prompt-input:focus {
    border-color: #6366f1;
    box-shadow: 0 0 0 2px rgba(99, 102, 241, 0.25);
}

/* ======================================================== */
/* MULTI-SELECTION & HIGHLIGHTER STYLES */
/* ======================================================== */
.highlighter-tool-wrapper {
    position: relative;
    display: inline-flex;
    align-items: center;
}

.btn-highlighter-trigger {
    position: relative;
}

.highlighter-color-bar {
    position: absolute;
    bottom: 2px;
    left: 4px;
    right: 4px;
    height: 3px;
    background-color: #fef08a;
    border-radius: 2px;
}

.color-picker-input-hidden {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    cursor: pointer;
}

/* Multi-Select Point Styling */
.selected-point-item {
    background-color: rgba(99, 102, 241, 0.12) !important;
    outline: 1.5px dashed #6366f1 !important;
    border-radius: 4px !important;
    transition: background-color 0.15s ease, outline 0.15s ease;
}

.highlight-span {
    background-color: #fef08a;
    border-radius: 2px;
    padding: 0 2px;
}

/* ======================================================== */
/* DYNAMIC SECTION-INDEPENDENT LIST BULLET STYLES           */
/* ======================================================== */

/* 1. Solid Dot (Default) */
.list-style-disc .cv-exp-bullet-row::before,
.list-style-disc .cv-achievement-item::before,
.cv-exp-bullets.list-style-disc .cv-exp-bullet-row::before,
.cv-achievements-list.list-style-disc .cv-achievement-item::before,
.cv-section.list-style-disc .cv-exp-bullet-row::before,
.cv-section.list-style-disc .cv-achievement-item::before {
    content: "•" !important;
}

/* 2. Solid Square */
.list-style-square .cv-exp-bullet-row::before,
.list-style-square .cv-achievement-item::before,
.cv-exp-bullets.list-style-square .cv-exp-bullet-row::before,
.cv-achievements-list.list-style-square .cv-achievement-item::before,
.cv-section.list-style-square .cv-exp-bullet-row::before,
.cv-section.list-style-square .cv-achievement-item::before {
    content: "▪" !important;
    font-size: 0.85em !important;
}

/* 3. Hyphen / Line / Dash */
.list-style-dash .cv-exp-bullet-row::before,
.list-style-dash .cv-achievement-item::before,
.cv-exp-bullets.list-style-dash .cv-exp-bullet-row::before,
.cv-achievements-list.list-style-dash .cv-achievement-item::before,
.cv-section.list-style-dash .cv-exp-bullet-row::before,
.cv-section.list-style-dash .cv-achievement-item::before {
    content: "–" !important;
    font-weight: 600 !important;
}

/* 4. Hollow Circle */
.list-style-circle .cv-exp-bullet-row::before,
.list-style-circle .cv-achievement-item::before,
.cv-exp-bullets.list-style-circle .cv-exp-bullet-row::before,
.cv-achievements-list.list-style-circle .cv-achievement-item::before,
.cv-section.list-style-circle .cv-exp-bullet-row::before,
.cv-section.list-style-circle .cv-achievement-item::before {
    content: "○" !important;
    font-size: 0.85em !important;
}

/* 5. Chevron / Arrow */
.list-style-arrow .cv-exp-bullet-row::before,
.list-style-arrow .cv-achievement-item::before,
.cv-exp-bullets.list-style-arrow .cv-exp-bullet-row::before,
.cv-achievements-list.list-style-arrow .cv-achievement-item::before,
.cv-section.list-style-arrow .cv-exp-bullet-row::before,
.cv-section.list-style-arrow .cv-achievement-item::before {
    content: "›" !important;
    font-weight: 800 !important;
    font-size: 1.1em !important;
}

/* 6. Diamond */
.list-style-diamond .cv-exp-bullet-row::before,
.list-style-diamond .cv-achievement-item::before,
.cv-exp-bullets.list-style-diamond .cv-exp-bullet-row::before,
.cv-achievements-list.list-style-diamond .cv-achievement-item::before,
.cv-section.list-style-diamond .cv-exp-bullet-row::before,
.cv-section.list-style-diamond .cv-achievement-item::before {
    content: "◆" !important;
    font-size: 0.8em !important;
}

/* 7. Numbered (1, 2, 3) */
.list-style-decimal .cv-exp-bullets,
.list-style-decimal .cv-achievements-list,
.cv-exp-bullets.list-style-decimal,
.cv-achievements-list.list-style-decimal,
.cv-section.list-style-decimal .cv-exp-bullets,
.cv-section.list-style-decimal .cv-achievements-list {
    counter-reset: cv-bullet-counter !important;
}

.list-style-decimal .cv-exp-bullet-row::before,
.list-style-decimal .cv-achievement-item::before,
.cv-exp-bullets.list-style-decimal .cv-exp-bullet-row::before,
.cv-achievements-list.list-style-decimal .cv-achievement-item::before,
.cv-section.list-style-decimal .cv-exp-bullet-row::before,
.cv-section.list-style-decimal .cv-achievement-item::before {
    counter-increment: cv-bullet-counter !important;
    content: counter(cv-bullet-counter) "." !important;
    font-size: 0.82em !important;
    font-weight: 700 !important;
    min-width: 1.1rem !important;
    margin-right: 0.35rem !important;
}

/* 8. None (Clean Indented Text) */
.list-style-none .cv-exp-bullet-row::before,
.list-style-none .cv-achievement-item::before,
.cv-exp-bullets.list-style-none .cv-exp-bullet-row::before,
.cv-achievements-list.list-style-none .cv-achievement-item::before,
.cv-section.list-style-none .cv-exp-bullet-row::before,
.cv-section.list-style-none .cv-achievement-item::before {
    content: "" !important;
    display: none !important;
}

/* ======================================================== */
/* MICROSOFT WORD STYLE BULLET & NUMBERING SYSTEM            */
/* ======================================================== */
.tb-word-list-group {
    display: inline-flex;
    align-items: center;
    gap: 3px;
}

.tb-split-btn-wrap {
    position: relative;
    display: inline-flex;
    align-items: center;
    background: #ffffff;
    border: 1px solid #cbd5e1;
    border-radius: 6px;
    height: 30px;
    box-sizing: border-box;
    transition: all 0.15s ease;
}

.tb-split-btn-wrap:hover {
    border-color: #94a3b8;
}

.tb-split-btn-wrap .tb-icon-btn {
    border: none !important;
    border-radius: 5px 0 0 5px !important;
    height: 100% !important;
    padding: 0 7px !important;
    background: transparent !important;
}

.tb-split-btn-wrap .tb-icon-btn:hover {
    background: #f1f5f9 !important;
}

.tb-split-arrow-btn {
    background: transparent;
    border: none;
    border-left: 1px solid #e2e8f0;
    height: 100%;
    padding: 0 5px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #64748b;
    cursor: pointer;
    border-radius: 0 5px 5px 0;
    transition: all 0.15s ease;
}

.tb-split-arrow-btn:hover,
.tb-split-arrow-btn.active {
    background: #f1f5f9;
    color: #0f172a;
}

.tb-bullet-library-popup {
    position: absolute;
    top: calc(100% + 4px);
    left: 0;
    background: #ffffff;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    box-shadow: 0 16px 36px -4px rgba(15, 23, 42, 0.22), 0 4px 12px rgba(15, 23, 42, 0.08);
    padding: 6px;
    z-index: 999999 !important;
    width: 146px;
    animation: fontDropIn 0.15s cubic-bezier(0.16, 1, 0.3, 1);
}

.bullet-lib-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 4px;
}

.bullet-lib-tile {
    width: 42px;
    height: 38px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.15rem;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 5px;
    cursor: pointer;
    transition: all 0.15s ease;
    color: #0f172a;
    user-select: none;
}

.bullet-lib-tile:hover {
    background: #e2e8f0;
    border-color: #94a3b8;
    transform: scale(1.04);
}

.bullet-lib-tile.active {
    background: #E3F2FD;
    border-color: #1565C0;
    color: #1565C0;
    font-weight: bold;
}

/* Ensure CV Sections and Cover Letter Paragraphs have position: relative and outline on focus */
.cv-section, .cv-exp-item, .cv-edu-item, .cv-achievement-item, .cv-academic-item, .cv-skill-cat {
    position: relative;
    transition: background-color 0.15s ease;
}

.cl-paragraph {
    position: relative;
    padding: 2px 4px;
    border-radius: 4px;
    transition: background-color 0.15s ease, box-shadow 0.15s ease;
}

.cl-paragraph:hover, .cl-paragraph:focus {
    background-color: rgba(241, 245, 249, 0.7);
}

.cl-paragraph:focus {
    outline: none;
    box-shadow: 0 0 0 1.5px rgba(99, 102, 241, 0.35);
}

/* ======================================================== */
/* PRINT STYLES (@media print) FOR ZERO HEADERS/FOOTERS */
/* ======================================================== */
@page {
    margin: 16mm 14mm 18mm 14mm;
    size: A4 portrait;
}

@page cl-letter {
    margin: 0;
    size: A4 portrait;
}

/* Sidebar colours reach the paper edge. Text inside those templates is inset on its own. */
@page cv-bleed {
    margin: 0;
    size: A4 portrait;
}

@media print {
    * {
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
        color-adjust: exact !important;
    }

    body, html {
        background: #ffffff !important;
        padding: 0 !important;
        margin: 0 !important;
        width: 100% !important;
        height: auto !important;
    }

    /* Force-hide all navigation, buttons, action bars, and UI overlays */
    nav,
    header.navbar,
    .navbar,
    .studio-top-bar,
    .ats-metrics-banner,
    .ats-metrics-panel,
    .ai-assistant-drawer,
    .floating-ai-toolbar,
    .section-ai-corner-badge,
    .cl-templates-panel,
    .section-actions,
    .section-insert-divider,
    .btn-sec-drag,
    .btn-col-add-sec,
    .btn-bullet-del,
    .btn-bullet-move,
    .btn-bullet-up,
    .btn-bullet-down,
    .btn-format,
    .highlighter-tool-wrapper,
    .modal-overlay,
    .toast-container,
    .studio-toast,
    .studio-bar-left,
    .studio-bar-center,
    .studio-bar-right,
    .export-btn-group,
    .no-print {
        display: none !important;
        visibility: hidden !important;
        height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        border: none !important;
    }

    #viewInputStudio {
        display: none !important;
    }

    #viewEditorStudio {
        display: block !important;
        padding: 0 !important;
        margin: 0 !important;
        width: 100% !important;
    }

    .editor-workspace {
        padding: 0 !important;
        margin: 0 !important;
        max-width: 100% !important;
        width: 100% !important;
    }

    .editor-main-layout {
        display: block !important;
        padding: 0 !important;
        margin: 0 !important;
    }

    .document-sheet-wrapper {
        background: #ffffff !important;
        border: none !important;
        box-shadow: none !important;
        padding: 0 !important;
        margin: 0 !important;
        width: 100% !important;
    }

    .document-sheet {
        box-shadow: none !important;
        border: none !important;
        width: 100% !important;
        max-width: 100% !important;
        /* @page margin provides all whitespace — zero inner padding to avoid double-margining */
        padding: 0 !important;
        margin: 0 !important;
        /* Remove min-height so blank trailing pages are never generated */
        min-height: 0 !important;
        height: auto !important;
        overflow: visible !important;
    }

    .template-template_3_navy,
    .template-template_15_editorial_sidebar {
        page: cv-bleed;
        min-height: 0 !important;
        height: auto !important;
    }

    .template-template_3_navy .cv-body,
    .template-template_15_editorial_sidebar .cv-body,
    .template-template_3_navy .cv-left-col,
    .template-template_15_editorial_sidebar .cv-left-col,
    .template-template_3_navy .cv-right-col,
    .template-template_15_editorial_sidebar .cv-right-col {
        min-height: 0 !important;
        height: auto !important;
    }

    /* Paint the navy rail down every printed page, including pages where the sidebar text has already ended. */
    .template-template_3_navy::before {
        content: "";
        position: fixed;
        top: 0;
        left: 0;
        bottom: 0;
        height: auto;
        width: 34%;
        background: #16324f;
        z-index: 0;
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
    }

    .template-template_3_navy .cv-left-col,
    .template-template_3_navy .cv-right-col {
        position: relative;
        z-index: 1;
    }

    .template-template_3_navy .cv-right-col {
        background: #f7f5f2 !important;
    }

    .template-template_3_navy::after {
        content: "";
        position: fixed;
        top: 0;
        right: 0;
        bottom: 0;
        width: 66%;
        height: auto;
        background: #f7f5f2;
        z-index: 0;
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
    }

    .template-template_15_editorial_sidebar::before {
        content: "";
        position: fixed;
        top: 0;
        left: 0;
        bottom: 0;
        height: auto;
        width: 36%;
        background: var(--tpl15-sidebar-background, #1e3a5f);
        z-index: 0;
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
    }

    .template-template_15_editorial_sidebar .cv-left-col,
    .template-template_15_editorial_sidebar .cv-right-col {
        position: relative;
        z-index: 1;
    }

    .template-template_15_editorial_sidebar .cv-right-col {
        background: #ffffff !important;
    }

    .cover-letter-sheet-wrapper {
        background: #ffffff !important;
        border: none !important;
        box-shadow: none !important;
        padding: 0 !important;
        margin: 0 !important;
        width: 100% !important;
    }

    .cover-letter-sheet {
        box-shadow: none !important;
        border: none !important;
        width: 210mm !important;
        max-width: 210mm !important;
        box-sizing: border-box !important;
        /* The letter page margin is 0. This padding is the letter's margin, so the header can bleed to the paper edge. */
        padding: 0 var(--cl-pad-x, 18mm) var(--cl-pad-bottom, 16mm) !important;
        margin: 0 auto !important;
        /* A hair under A4 so a full-page letter does not spill onto a blank second sheet. */
        height: 296.8mm !important;
        max-height: 296.8mm !important;
        min-height: 0 !important;
        overflow: hidden !important;
        break-after: avoid !important;
        page-break-after: avoid !important;
        page: cl-letter;
    }

    [contenteditable="true"] {
        outline: none !important;
        background: transparent !important;
    }

    /* Section containers flow naturally across pages */
    .cv-section,
    .cv-column,
    .cv-left-col,
    .cv-right-col,
    .cv-body,
    .cv-exp-bullets,
    .cv-achievements-list {
        break-inside: auto !important;
        page-break-inside: auto !important;
        -webkit-column-break-inside: auto !important;
    }

    /* Individual items & bullets must never be sliced in half across page boundaries */
    .cv-exp-item,
    .cv-exp-bullet-row,
    .cv-achievement-item,
    .cv-edu-item,
    .cv-skill-cat,
    .cv-ach-item,
    .cv-lang-item,
    .cv-cert-item,
    .cv-academic-item,
    .cv-contact-item-bullet,
    .contact-item,
    .cl-paragraph,
    .cl-recipient-box,
    .cl-signature-block,
    .document-sheet li,
    .cv-body li {
        break-inside: avoid !important;
        page-break-inside: avoid !important;
        -webkit-column-break-inside: avoid !important;
    }

    .cv-section-heading,
    .cv-section-header-row {
        break-after: avoid !important;
        page-break-after: avoid !important;
        break-inside: avoid !important;
        page-break-inside: avoid !important;
    }

    /* Explicit Initials Circle & Avatar Preservation for PDF / Print */
    .cv-avatar-dark-circle,
    .cv-sidebar-circle-badge,
    .cv-avatar-col-tpl5 {
        display: flex !important;
        visibility: visible !important;
        border-radius: 50% !important;
        -webkit-border-radius: 50% !important;
        overflow: hidden !important;
        flex-shrink: 0 !important;
        background-color: #0f172a !important;
        color: #ffffff !important;
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
        color-adjust: exact !important;
    }

    .cv-initials-badge {
        display: flex !important;
        visibility: visible !important;
        border-radius: 50% !important;
        -webkit-border-radius: 50% !important;
        overflow: hidden !important;
        flex-shrink: 0 !important;
        background-color: var(--cv-accent, var(--brand-blue)) !important;
        color: #ffffff !important;
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
        color-adjust: exact !important;
    }

    .cl-av-col {
        display: flex !important;
        visibility: visible !important;
        flex-shrink: 0 !important;
        background: transparent !important;
    }

    .cl-avatar-dark-circle {
        display: flex !important;
        visibility: visible !important;
        border-radius: 0 !important;
        -webkit-border-radius: 0 !important;
        overflow: hidden !important;
        flex-shrink: 0 !important;
        background-color: var(--cv-accent) !important;
        color: #ffffff !important;
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
        color-adjust: exact !important;
    }
}

/* ======================================================== */
/* NATURAL PAGE BREAK FLOW (PDF & PRINT - NO FORCED GAPS & NO SLICED TEXT) */
/* ======================================================== */
.cv-section,
.cv-column,
.cv-left-col,
.cv-right-col,
.cv-body,
.cv-exp-bullets,
.cv-achievements-list {
    break-inside: auto !important;
    page-break-inside: auto !important;
    -webkit-column-break-inside: auto !important;
}

.cv-exp-bullet-row,
.cv-exp-item,
.cv-achievement-item,
.cv-edu-item,
.cv-skill-cat,
.cv-ach-item,
.cv-lang-item,
.cv-cert-item,
.cv-academic-item,
.cv-contact-item-bullet,
.contact-item,
.cl-paragraph,
.cl-recipient-box,
.cl-signature-block,
.document-sheet li,
.cv-body li {
    break-inside: avoid !important;
    page-break-inside: avoid !important;
    -webkit-column-break-inside: avoid !important;
}

@media print {
    .studio-toast {
        display: none !important;
    }

    .cv-body {
        align-items: start !important;
    }

    .cv-column,
    .cv-left-col,
    .cv-right-col {
        justify-content: flex-start !important;
        height: auto !important;
        min-height: 0 !important;
    }

    /* A whole role may continue on the next page. Only the title stays with the line under it. */
    .cv-exp-item,
    #secReferees,
    .cv-referees-container,
    .cv-skill-cat,
    .cv-skills-block,
    .skill-pill-tags-wrap,
    #secSkills,
    #secAchievements,
    #secCertifications,
    #secEducation,
    #secMemberships,
    #secLanguages {
        break-inside: auto !important;
        page-break-inside: auto !important;
    }

    /* Flex boxes do not split across pages, so skill groups print as normal lines of pills. */
    .cv-skills-block,
    .cv-skill-cat,
    .skill-pill-tags-wrap {
        display: block !important;
    }

    .skill-pill-tag {
        display: inline-block !important;
        break-inside: avoid !important;
        page-break-inside: avoid !important;
        margin: 1px 3px 2px 0 !important;
        vertical-align: top;
    }

    .cv-exp-role,
    .cv-exp-company,
    .cv-meta-row,
    .cv-edu-header-row,
    .cv-skill-cat-header,
    .cv-skill-cat-name {
        break-after: avoid !important;
        page-break-after: avoid !important;
    }
}

.cv-section-heading,
.cv-section-header-row {
    break-after: avoid !important;
    page-break-after: avoid !important;
    break-inside: avoid !important;
    page-break-inside: avoid !important;
}

/* ======================================================== */
/* TEMPLATE 5: MODERN CIRCLE MINIMALIST (LORNA ALVARADO STYLE) */
/* ======================================================== */

.template-template_5_lorna .cv-header-tpl2,
.template-template_5_lorna #cvHeaderStandard {
    display: none !important;
}

.template-template_5_lorna #cvHeaderTpl5 {
    display: flex !important;
    align-items: center;
    gap: 2.25rem;
    margin-bottom: 1.6rem;
    padding-bottom: 1.25rem;
    border-bottom: 1.5px solid var(--cv-accent, #1e293b);
}

.cv-header-tpl5 {
    display: flex;
    align-items: center;
    gap: 2.25rem;
    margin-bottom: 1.6rem;
}

.cv-avatar-col-tpl5 {
    flex-shrink: 0;
}

.cv-avatar-dark-circle {
    width: 100px;
    height: 100px;
    border-radius: 50%;
    background-color: var(--cv-accent, #1e293b);
    color: #ffffff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 2.2rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    box-shadow: 0 4px 10px rgba(15, 23, 42, 0.18);
}

.cv-info-col-tpl5 {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
}

.cv-name-tpl5 {
    font-size: 2rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #1e293b;
    margin: 0;
    line-height: 1.1;
}

.cv-title-tpl5 {
    font-size: 1rem;
    font-weight: 400;
    color: #475569;
    margin-bottom: 0.65rem;
    letter-spacing: 0.02em;
}

.cv-contact-3col-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1rem;
}

.contact-grid-cell {
    display: flex;
    flex-direction: column;
    gap: 0.1rem;
}

.contact-grid-lbl {
    font-size: 0.76rem;
    font-weight: 700;
    color: #1e293b;
    letter-spacing: 0.02em;
}

.contact-grid-val {
    font-size: 0.78rem;
    color: #64748b;
    word-break: break-word;
}

/* Template 5 Column Layout (~35% left, ~65% right) */
.template-template_5_lorna.layout-2col .cv-body {
    display: flex !important;
    gap: 1.35rem !important;
    width: 100%;
    box-sizing: border-box;
}

.template-template_5_lorna.layout-2col .cv-left-col {
    width: 35% !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 1.15rem !important;
    min-width: 0;
    box-sizing: border-box;
}

.template-template_5_lorna.layout-2col .cv-right-col {
    width: 65% !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 1.15rem !important;
    min-width: 0;
    box-sizing: border-box;
}

/* Section Headings in Template 5: Bold + Clean Solid Underline */
.template-template_5_lorna .cv-section-heading {
    color: var(--cv-accent, #1e293b) !important;
    font-size: 0.78rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
}

.template-template_5_lorna .cv-section-header-row {
    border-bottom: 1.5px solid color-mix(in srgb, var(--cv-accent, #1e293b) 45%, #e2e8f0) !important;
    padding-bottom: 4px;
    margin-bottom: 0.75rem;
}

/* Left Column Skills in Template 5: Vertical Bulleted List */
.template-template_5_lorna .cv-skills-list {
    display: flex !important;
    flex-direction: column !important;
    gap: 0.35rem !important;
}

.template-template_5_lorna .cv-skills-list .cv-skill-item {
    font-size: 0.82rem;
    color: #334155;
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    display: flex;
    align-items: center;
    gap: 6px;
}

.template-template_5_lorna .cv-skills-list .cv-skill-item::before {
    content: "•";
    color: #1e293b;
    font-size: 1rem;
    font-weight: 800;
}

/* Timeline in Template 5 Right Column */
.template-template_5_lorna .cv-exp-item,
.template-template_5_lorna .cv-edu-item {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
    margin-bottom: 0.85rem;
}

.template-template_5_lorna .cv-meta-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 0.84rem;
    font-weight: 700;
    color: #1e293b;
}

.template-template_5_lorna .cv-exp-company,
.template-template_5_lorna .cv-edu-inst {
    font-size: 0.82rem;
    font-weight: 700;
    color: #1e293b;
    margin-bottom: 0.2rem;
}

/* ======================================================== */
/* COVER LETTER TEMPLATES STYLES */
/* ======================================================== */

/* Cover Letter Header 2 (Circle Minimalist) */
/* ======================================================== */
/* DYNAMIC DISPLAY RULES FOR 6 COVER LETTER TEMPLATES      */
/* ======================================================== */
.cover-letter-sheet #clHeaderCentered,
.cover-letter-sheet #clHeaderMinimalist,
.cover-letter-sheet #clHeaderNavy,
.cover-letter-sheet #clHeaderBanner,
.cover-letter-sheet #clHeaderAccentBar,
.cover-letter-sheet #clHeaderExecutiveRule,
.cover-letter-sheet #clHeaderStatement {
    display: none !important;
}

.cover-letter-sheet.cl-template-centered #clHeaderCentered { display: flex !important; }
.cover-letter-sheet.cl-template-minimalist #clHeaderMinimalist { display: flex !important; }
.cover-letter-sheet.cl-template-navy #clHeaderNavy { display: flex !important; }
.cover-letter-sheet.cl-template-banner #clHeaderBanner { display: flex !important; }
.cover-letter-sheet.cl-template-accent-bar #clHeaderAccentBar { display: flex !important; }
.cover-letter-sheet.cl-template-executive-rule #clHeaderExecutiveRule { display: flex !important; }
.cover-letter-sheet.cl-template-statement #clHeaderStatement { display: flex !important; }
.cover-letter-sheet.cl-template-diagonal #clHeaderBanner { display: flex !important; }

/* Clean squared borders for all cover letter templates (Zero 1-sided borders) */
.cover-letter-sheet.cl-template-centered,
.cover-letter-sheet.cl-template-minimalist,
.cover-letter-sheet.cl-template-navy,
.cover-letter-sheet.cl-template-banner,
.cover-letter-sheet.cl-template-accent-bar,
.cover-letter-sheet.cl-template-executive-rule,
.cover-letter-sheet.cl-template-statement,
.cover-letter-sheet.cl-template-diagonal {
    border: 1px solid #cbd5e1 !important;
    border-radius: 0 !important;
}

/* One accent colour per letter. The mark sits on the header, the side, or the bottom.
   Banner and Statement are the only gradients. */
.cover-letter-sheet.cl-template-minimalist {
    background:
        linear-gradient(var(--cv-accent), var(--cv-accent)) left top / 4.5mm 100% no-repeat,
        #ffffff;
}

.cover-letter-sheet.cl-template-accent-bar {
    background:
        linear-gradient(var(--cv-accent), var(--cv-accent)) left top / 8mm 100% no-repeat,
        #ffffff;
}

.cover-letter-sheet.cl-template-executive-rule {
    background:
        linear-gradient(var(--cv-accent), var(--cv-accent)) right top / 5mm 100% no-repeat,
        #ffffff;
}

.cover-letter-sheet.cl-template-navy {
    background:
        linear-gradient(var(--cv-accent), var(--cv-accent)) left bottom / 100% 14mm no-repeat,
        #ffffff;
}

.cover-letter-sheet.cl-template-centered {
    background:
        linear-gradient(var(--cv-accent), var(--cv-accent)) left bottom / 100% 3.2mm no-repeat,
        #ffffff;
}

.cover-letter-sheet.cl-template-banner {
    background:
        linear-gradient(to right, color-mix(in srgb, var(--cv-accent) 62%, #ffffff), color-mix(in srgb, var(--cv-accent) 22%, #ffffff)) left bottom / 100% 8mm no-repeat,
        linear-gradient(to bottom, var(--cv-accent), color-mix(in srgb, var(--cv-accent) 62%, #ffffff)) left top / 9mm 100% no-repeat,
        #ffffff;
}

.cover-letter-sheet.cl-template-diagonal {
    background:
        linear-gradient(to left, color-mix(in srgb, var(--cv-accent) 62%, #ffffff), color-mix(in srgb, var(--cv-accent) 22%, #ffffff)) left bottom / 100% 8mm no-repeat,
        linear-gradient(to bottom, var(--cv-accent), color-mix(in srgb, var(--cv-accent) 62%, #ffffff)) right top / 9mm 100% no-repeat,
        #ffffff;
}

.cover-letter-sheet.cl-template-statement {
    background:
        linear-gradient(to right, var(--cv-accent), #ffffff) left bottom / 100% 16mm no-repeat,
        #ffffff;
}

.cl-template-centered .cl-header-centered,
.cl-template-minimalist .cl-header-minimalist,
.cl-template-navy .cl-header-navy,
.cl-template-banner .cl-header-banner,
.cl-template-diagonal .cl-header-banner,
.cl-template-accent-bar .cl-header-accent-bar,
.cl-template-executive-rule .cl-header-exec-rule,
.cl-template-statement .cl-header-statement {
    position: relative;
    margin-left: calc(var(--cl-pad-x) * -1);
    margin-right: calc(var(--cl-pad-x) * -1);
    padding-left: var(--cl-pad-x);
    padding-right: var(--cl-pad-x);
    padding-top: 16mm;
    overflow: hidden;
    background: transparent;
    border: none;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
}

.cl-template-centered .cl-header-centered > *,
.cl-template-minimalist .cl-header-minimalist > *,
.cl-template-navy .cl-header-navy > *,
.cl-template-banner .cl-header-banner > *,
.cl-template-diagonal .cl-header-banner > *,
.cl-template-accent-bar .cl-header-accent-bar > *,
.cl-template-executive-rule .cl-header-exec-rule > *,
.cl-template-statement .cl-header-statement > * {
    position: relative;
    z-index: 1;
}

.cl-template-centered .cl-header-centered {
    margin-bottom: 8mm;
    padding-top: 14mm;
    padding-bottom: 8mm;
    background: var(--cv-accent);
}

.cl-template-centered .cl-header-centered .cl-name,
.cl-template-centered .cl-header-centered .cl-title,
.cl-template-centered .cl-header-centered .cl-contact-line,
.cl-template-centered .cl-header-centered .cl-contact-stack,
.cl-template-centered .cl-header-centered .cl-contact-line span {
    color: #ffffff !important;
    position: relative;
    z-index: 1;
}

.cl-template-centered .cl-header-rule {
    height: 0;
    margin: 0;
    background: transparent;
}

.cl-template-minimalist .cl-header-minimalist,
.cl-template-navy .cl-header-navy,
.cl-template-banner .cl-header-banner,
.cl-template-diagonal .cl-header-banner,
.cl-template-accent-bar .cl-header-accent-bar,
.cl-template-executive-rule .cl-header-exec-rule,
.cl-template-statement .cl-header-statement {
    margin-bottom: 7mm;
    padding-bottom: 2mm;
    background: transparent;
    border: none;
}

.cl-template-minimalist .cl-header-minimalist {
    background:
        linear-gradient(var(--cv-accent), var(--cv-accent)) left top / 4.5mm 100% no-repeat,
        linear-gradient(color-mix(in srgb, var(--cv-accent) 14%, #ffffff), color-mix(in srgb, var(--cv-accent) 14%, #ffffff)) 4.5mm 0 / calc(100% - 4.5mm) 100% no-repeat;
}

.cl-template-minimalist .cl-avatar-dark-circle {
    box-shadow: none;
    position: relative;
    z-index: 1;
}

.cl-template-accent-bar .cl-accent-bar-strip {
    display: none;
}

.cl-template-executive-rule .cl-exec-rule-top,
.cl-template-executive-rule .cl-exec-rule-bottom {
    display: none;
}

.cl-template-navy .cl-header-navy {
    align-items: flex-end;
}

/* The on-screen sheet frame must not print. Cover letters save without a page border. */
.cover-letter-sheet.pdf-letter-clean,
.cover-letter-sheet.pdf-letter-clean.cl-template-centered,
.cover-letter-sheet.pdf-letter-clean.cl-template-minimalist,
.cover-letter-sheet.pdf-letter-clean.cl-template-navy,
.cover-letter-sheet.pdf-letter-clean.cl-template-banner,
.cover-letter-sheet.pdf-letter-clean.cl-template-accent-bar,
.cover-letter-sheet.pdf-letter-clean.cl-template-executive-rule,
.cover-letter-sheet.pdf-letter-clean.cl-template-statement,
.cover-letter-sheet.pdf-letter-clean.cl-template-diagonal,
.cv-pdf-page .cover-letter-sheet,
.cv-pdf-page .cover-letter-sheet.cl-template-centered,
.cv-pdf-page .cover-letter-sheet.cl-template-minimalist,
.cv-pdf-page .cover-letter-sheet.cl-template-navy,
.cv-pdf-page .cover-letter-sheet.cl-template-banner,
.cv-pdf-page .cover-letter-sheet.cl-template-accent-bar,
.cv-pdf-page .cover-letter-sheet.cl-template-executive-rule,
.cv-pdf-page .cover-letter-sheet.cl-template-statement,
.cv-pdf-page .cover-letter-sheet.cl-template-diagonal {
    border: none !important;
    box-shadow: none !important;
    outline: none !important;
}

.cover-letter-sheet.pdf-letter-clean::before,
.cover-letter-sheet.pdf-letter-clean::after,
.cv-pdf-page .cover-letter-sheet::before,
.cv-pdf-page .cover-letter-sheet::after {
    content: none !important;
    display: none !important;
    border: 0 !important;
}

.cover-letter-sheet.pdf-letter-clean .cl-paragraph,
.cv-pdf-page .cover-letter-sheet .cl-paragraph,
.cover-letter-sheet.pdf-letter-clean [contenteditable="true"],
.cv-pdf-page .cover-letter-sheet [contenteditable="true"] {
    border: none !important;
    outline: none !important;
    box-shadow: none !important;
    background: transparent !important;
}

@media print {
    .cover-letter-sheet,
    .cover-letter-sheet.cl-template-centered,
    .cover-letter-sheet.cl-template-minimalist,
    .cover-letter-sheet.cl-template-navy,
    .cover-letter-sheet.cl-template-banner,
    .cover-letter-sheet.cl-template-accent-bar,
    .cover-letter-sheet.cl-template-executive-rule,
    .cover-letter-sheet.cl-template-statement,
    .cover-letter-sheet.cl-template-diagonal {
        border: none !important;
        box-shadow: none !important;
        outline: none !important;
    }

    .cover-letter-sheet::before,
    .cover-letter-sheet::after {
        content: none !important;
        display: none !important;
        border: 0 !important;
    }

    .cover-letter-sheet .cl-paragraph,
    .cover-letter-sheet [contenteditable="true"] {
        border: none !important;
        outline: none !important;
        box-shadow: none !important;
    }
}

/* Key Achievements Interactive Rephraser Styling */
.cv-achievement-item {
    position: relative;
    padding: 3px 6px;
    margin: 0 -6px 4px -6px;
    border-radius: 4px;
    border-left: 2.5px solid transparent;
    transition: all 0.15s ease;
    cursor: pointer;
}

.cv-achievement-item:hover {
    background-color: #f8fafc;
    border-left-color: #42A5F5;
}

.cv-achievement-item:focus-within {
    background-color: #E3F2FD;
    border-left-color: #1565C0;
    outline: none;
}

.cv-achievement-item.active-rephrase-target {
    background-color: #E3F2FD;
    border-left-color: #1565C0;
    box-shadow: 0 0 0 1.5px rgba(37, 99, 235, 0.15);
}

.cv-achievement-item.has-ai-suggestion {
    background-color: #f0fdf4;
    border-left-color: #16a34a;
}

/* Modal Tabs Bar */
.modal-tabs-bar {
    display: flex;
    gap: 0.5rem;
    padding: 0.75rem 1.5rem 0 1.5rem;
    background-color: #f8fafc;
    border-bottom: 1px solid var(--border-medium);
}

.modal-tab-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0.65rem 1.15rem;
    border: none;
    background: transparent;
    font-size: 0.86rem;
    font-weight: 700;
    color: var(--text-subtle);
    cursor: pointer;
    border-bottom: 2.5px solid transparent;
    transition: all 0.2s ease;
}

.modal-tab-btn:hover {
    color: var(--text-main);
}

.modal-tab-btn.active {
    color: var(--accent-blue);
    border-bottom-color: var(--accent-blue);
    background-color: #ffffff;
    border-top-left-radius: 6px;
    border-top-right-radius: 6px;
}

/* Template 5 Thumbnail in Modal */
.tpl-thumb-lorna {
    background-color: #ffffff;
    padding: 8px 10px;
    display: flex;
    flex-direction: column;
    gap: 4px;
    height: 184px;
    box-sizing: border-box;
}

.thumb-dark-circle-lg {
    width: 22px;
    height: 22px;
    border-radius: 50%;
    background-color: #1e293b;
    color: #ffffff;
    font-size: 8px;
    font-weight: 800;
    display: flex;
    align-items: center;
    justify-content: center;
}

.thumb-3col-contact-row {
    display: flex;
    gap: 4px;
    margin-top: 2px;
}

.thumb-mini-col {
    height: 3px;
    flex: 1;
    background-color: #cbd5e1;
}

.thumb-left-t5 {
    width: 36%;
}

.thumb-right-t5 {
    flex: 1;
}

.thumb-sec-underline {
    height: 2px;
    background-color: #1e293b;
    width: 85%;
    margin-bottom: 3px;
}

.thumb-vert-bullets {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.thumb-dot-line {
    height: 2px;
    width: 75%;
    background-color: #94a3b8;
}

.thumb-timeline-item {
    height: 14px;
    background-color: #f1f5f9;
    margin-bottom: 4px;
    border-left: 2px solid #cbd5e1;
    padding-left: 3px;
}

/* Cover Letter Modal Thumbnails */
.tpl-thumb-cl-centered,
.tpl-thumb-cl-minimalist,
.tpl-thumb-cl-navy,
.tpl-thumb-cl-statement {
    background-color: #ffffff;
    padding: 10px 14px;
    display: flex;
    flex-direction: column;
    gap: 6px;
    height: 160px;
    box-sizing: border-box;
}

.thumb-cl-head-centered {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2px;
    border-bottom: 1px solid #e2e8f0;
    padding-bottom: 4px;
}

.thumb-cl-name {
    height: 5px;
    width: 50%;
    background-color: #1e293b;
}

.thumb-cl-name.left {
    width: 70%;
}

.thumb-cl-name.left.navy {
    background-color: #0f2454;
}

.thumb-cl-sub {
    height: 2px;
    width: 35%;
    background-color: #64748b;
}

.thumb-cl-links {
    height: 2px;
    width: 60%;
    background-color: #42A5F5;
}

.thumb-cl-head-split {
    display: flex;
    align-items: center;
    gap: 6px;
    border-bottom: 1px solid #1e293b;
    padding-bottom: 4px;
}

.thumb-cl-avatar {
    width: 18px;
    height: 18px;
    border-radius: 50%;
    background-color: #1e293b;
    color: #ffffff;
    font-size: 7px;
    font-weight: 800;
    display: flex;
    align-items: center;
    justify-content: center;
}

.thumb-cl-info {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.thumb-cl-contacts {
    height: 2px;
    width: 80%;
    background-color: #94a3b8;
}

.thumb-cl-head-navy {
    display: flex;
    flex-direction: column;
    gap: 2px;
    border-bottom: 2px solid #0f2454;
    padding-bottom: 4px;
}

.thumb-cl-statement-row {
    display: flex;
    align-items: stretch;
    border-left: 3px solid #0f172a;
    background: #f8fafc;
    background-clip: border-box;
    padding: 5px 6px 5px 8px;
}

.thumb-cl-info.statement {
    gap: 3px;
}

.thumb-cl-navy-bar {
    height: 3px;
    width: 15%;
    background-color: #0f2454;
}

.thumb-cl-body {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.thumb-cl-salut {
    height: 3px;
    width: 25%;
    background-color: #1e293b;
}

.thumb-cl-para {
    height: 18px;
    background-color: #f8fafc;
    border: 1px solid #f1f5f9;
}

.thumb-cl-sign {
    height: 4px;
    width: 20%;
    background-color: #64748b;
    margin-top: 2px;
}

/* ======================================================== */
/* TEMPLATE 6: AISHA RAHMAN SLATE TEAL SIDEBAR STYLES */
/* ======================================================== */
.cv-header-tpl6 {
    display: none;
    width: 100%;
    padding: 0 0 1.25rem 0;
    margin-bottom: 0.5rem;
    border-bottom: 1.5px solid #e2e8f0;
}

.template-template_6_aisha .cv-header-tpl6,
.template-template_6_teal_sidebar .cv-header-tpl6 {
    display: flex !important;
    justify-content: flex-end;
}

.template-template_6_aisha #cvHeaderStandard,
.template-template_6_aisha #cvHeaderTpl5,
.template-template_6_teal_sidebar #cvHeaderStandard,
.template-template_6_teal_sidebar #cvHeaderTpl5 {
    display: none !important;
}

.cv-header-tpl6-wrap {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    text-align: right;
}

.cv-name-tpl6 {
    font-size: 2.15rem;
    font-weight: 800;
    color: #0f172a;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    margin: 0 0 0.35rem 0;
    line-height: 1.12;
}

.cv-title-tpl6 {
    font-size: 0.88rem;
    font-weight: 600;
    color: #2f7773;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    margin: 0;
}

/* Two-column grid layout for Template 6 */
.template-template_6_aisha.layout-2col .cv-body,
.template-template_6_teal_sidebar.layout-2col .cv-body {
    display: grid !important;
    grid-template-columns: minmax(0, 1.15fr) minmax(0, 2fr) !important;
    gap: 1.35rem !important;
    align-items: start;
    width: 100%;
    box-sizing: border-box;
}

/* Left Column: Deep Slate Teal Rounded Sidebar */
.template-template_6_aisha .cv-left-col,
.template-template_6_teal_sidebar .cv-left-col {
    background-color: var(--tpl6-sidebar-background, #263e43) !important;
    color: #ffffff !important;
    padding: 1.55rem 1.2rem !important;
    border-radius: 0 24px 0 0 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 1.05rem !important;
    box-sizing: border-box;
}

.template-template_6_aisha .cv-left-col .cv-section,
.template-template_6_teal_sidebar .cv-left-col .cv-section {
    color: #ffffff !important;
}

.template-template_6_aisha .cv-left-col .cv-edu-item:hover,
.template-template_6_teal_sidebar .cv-left-col .cv-edu-item:hover {
    background-color: rgba(255, 255, 255, 0.08) !important;
}

.template-template_6_aisha .cv-left-col .cv-section-header-row,
.template-template_6_teal_sidebar .cv-left-col .cv-section-header-row {
    border-bottom: none !important;
    padding-bottom: 0 !important;
    margin-bottom: 0.35rem !important;
    display: flex;
    align-items: center;
    gap: 0.55rem;
}

.template-template_6_aisha .cv-left-col .cv-section-heading,
.template-template_6_teal_sidebar .cv-left-col .cv-section-heading {
    color: #ffffff !important;
    font-size: 0.78rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.12em !important;
    text-transform: uppercase !important;
    border-bottom: none !important;
    margin: 0 !important;
}

.cv-tpl6-icon-badge {
    width: 22px;
    height: 22px;
    border-radius: 50% !important;
    background-color: color-mix(in srgb, var(--tpl6-sidebar-text, #ffffff) 12%, transparent);
    border: 1px solid color-mix(in srgb, var(--tpl6-sidebar-text, #ffffff) 72%, transparent);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--tpl6-sidebar-text, #ffffff);
    flex-shrink: 0;
}

.cv-tpl6-icon-badge svg {
    width: 12px;
    height: 12px;
}

.template-template_6_aisha .cv-left-col .cv-section-heading,
.template-template_6_aisha .cv-left-col .cv-skill-cat-name,
.template-template_6_aisha .cv-left-col .cv-edu-role,
.template-template_6_aisha .cv-left-col .cv-lang-name,
.template-template_6_aisha .cv-left-col .cv-lang-level,
.template-template_6_aisha .cv-left-col .cv-contact-item-bullet,
.template-template_6_aisha .cv-left-col .cv-achievement-item,
.template-template_6_aisha .cv-left-col .cv-ach-text,
.template-template_6_aisha .cv-left-col .cv-ach-desc,
.template-template_6_aisha .cv-left-col .cv-award-item,
.template-template_6_aisha .cv-left-col .award-title-text,
.template-template_6_aisha .cv-left-col .cv-custom-item-text,
.template-template_6_aisha .cv-left-col .cv-custom-chip-text,
.template-template_6_aisha .cv-left-col .cv-edu-sub-row,
.template-template_6_aisha .cv-left-col .cv-edu-sub-row::marker,
.template-template_6_aisha .cv-left-col .cv-edu-sub-text,
.template-template_6_teal_sidebar .cv-left-col .cv-section-heading,
.template-template_6_teal_sidebar .cv-left-col .cv-skill-cat-name,
.template-template_6_teal_sidebar .cv-left-col .cv-edu-role,
.template-template_6_teal_sidebar .cv-left-col .cv-lang-name,
.template-template_6_teal_sidebar .cv-left-col .cv-lang-level,
.template-template_6_teal_sidebar .cv-left-col .cv-contact-item-bullet,
.template-template_6_teal_sidebar .cv-left-col .cv-achievement-item,
.template-template_6_teal_sidebar .cv-left-col .cv-ach-text,
.template-template_6_teal_sidebar .cv-left-col .cv-ach-desc,
.template-template_6_teal_sidebar .cv-left-col .cv-award-item,
.template-template_6_teal_sidebar .cv-left-col .award-title-text,
.template-template_6_teal_sidebar .cv-left-col .cv-custom-item-text,
.template-template_6_teal_sidebar .cv-left-col .cv-custom-chip-text,
.template-template_6_teal_sidebar .cv-left-col .cv-edu-sub-row,
.template-template_6_teal_sidebar .cv-left-col .cv-edu-sub-row::marker,
.template-template_6_teal_sidebar .cv-left-col .cv-edu-sub-text {
    color: var(--tpl6-sidebar-text, #ffffff) !important;
}

.template-template_6_aisha .cv-left-col .cv-edu-inst,
.template-template_6_aisha .cv-left-col .meta-item,
.template-template_6_teal_sidebar .cv-left-col .cv-edu-inst,
.template-template_6_teal_sidebar .cv-left-col .meta-item {
    color: var(--tpl6-sidebar-muted, #b8cbc8) !important;
}

.template-template_6_aisha .cv-left-col .cv-achievement-item::before,
.template-template_6_aisha .cv-left-col .cv-exp-bullet-row::before,
.template-template_6_teal_sidebar .cv-left-col .cv-achievement-item::before,
.template-template_6_teal_sidebar .cv-left-col .cv-exp-bullet-row::before {
    color: var(--tpl6-sidebar-accent, #b9e2dd) !important;
}

.template-template_6_aisha .cv-left-col .cv-achievement-item,
.template-template_6_aisha .cv-left-col .cv-ach-text,
.template-template_6_teal_sidebar .cv-left-col .cv-achievement-item,
.template-template_6_teal_sidebar .cv-left-col .cv-ach-text {
    color: var(--tpl6-sidebar-text, #ffffff) !important;
}

.template-template_6_aisha .cv-left-col .cv-text,
.template-template_6_teal_sidebar .cv-left-col .cv-text {
    color: var(--tpl6-sidebar-muted, #e5eeec) !important;
    font-size: 11.5px !important;
    line-height: 1.38 !important;
}

.template-template_6_aisha .cv-left-col .cv-skill-item,
.template-template_6_teal_sidebar .cv-left-col .cv-skill-item {
    color: var(--tpl6-sidebar-text, #f3f7f6) !important;
    font-size: 11.5px !important;
    line-height: 1.35 !important;
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    display: flex;
    align-items: center;
    gap: 6px;
}

.template-template_6_aisha .cv-left-col .cv-skill-item::before,
.template-template_6_teal_sidebar .cv-left-col .cv-skill-item::before {
    content: "•";
    color: var(--tpl6-sidebar-accent, #8fc7c1);
    font-size: 10px;
    font-weight: 800;
}

.template-template_6_aisha .cv-left-col .skill-pill-tags-wrap,
.template-template_6_teal_sidebar .cv-left-col .skill-pill-tags-wrap {
    gap: 5px;
}

.template-template_6_aisha .cv-left-col .skill-pill-tag,
.template-template_6_teal_sidebar .cv-left-col .skill-pill-tag {
    padding: 3px 8px;
    background: color-mix(in srgb, var(--tpl6-sidebar-text, #ffffff) 10%, transparent) !important;
    border: 1px solid color-mix(in srgb, var(--tpl6-sidebar-text, #ffffff) 28%, transparent) !important;
    color: var(--tpl6-sidebar-text, #ffffff) !important;
    font-size: 10.5px !important;
    font-weight: 500 !important;
    line-height: 1.25 !important;
}

.template-template_6_aisha .cv-left-col .skill-pill-tag:hover,
.template-template_6_teal_sidebar .cv-left-col .skill-pill-tag:hover {
    background: color-mix(in srgb, var(--tpl6-sidebar-text, #ffffff) 8%, transparent) !important;
    border-color: var(--tpl6-sidebar-text, #ffffff) !important;
}

.template-template_6_aisha .cv-left-col .skill-pill-text,
.template-template_6_teal_sidebar .cv-left-col .skill-pill-text {
    color: var(--tpl6-sidebar-text, #ffffff) !important;
}

.template-template_6_aisha .cv-left-col .btn-skill-tag-del,
.template-template_6_teal_sidebar .cv-left-col .btn-skill-tag-del {
    color: var(--tpl6-sidebar-text, #ffffff) !important;
}

.template-template_6_aisha .cv-left-col .cv-edu-role,
.template-template_6_teal_sidebar .cv-left-col .cv-edu-role {
    color: var(--tpl6-sidebar-text, #f3f7f6) !important;
    font-size: 11.5px !important;
    line-height: 1.32 !important;
    font-weight: 700;
}

.template-template_6_aisha .cv-left-col .cv-edu-inst,
.template-template_6_teal_sidebar .cv-left-col .cv-edu-inst {
    color: var(--tpl6-sidebar-muted, #b8cbc8) !important;
    font-size: 10.5px !important;
    line-height: 1em !important;
    font-weight: 600;
}

.template-template_6_aisha .cv-left-col .meta-item,
.template-template_6_teal_sidebar .cv-left-col .meta-item {
    color: var(--tpl6-sidebar-muted, #a9bfbc) !important;
    font-size: 10px !important;
    line-height: 1em !important;
}

.template-template_6_aisha .cv-left-col .cv-lang-item,
.template-template_6_teal_sidebar .cv-left-col .cv-lang-item {
    color: var(--tpl6-sidebar-text, #ffffff) !important;
    font-size: 10.5px !important;
    line-height: 1em !important;
}

.template-template_6_aisha .cv-left-col .cv-contact-item-bullet {
    color: var(--tpl6-sidebar-text, #f3f7f6) !important;
    font-size: 10.5px !important;
    line-height: 1em !important;
    display: flex;
    align-items: center;
    gap: 6px;
    margin-bottom: 0.35rem;
}

.template-template_6_aisha .cv-left-col [contenteditable="true"],
.template-template_6_teal_sidebar .cv-left-col [contenteditable="true"] {
    color: var(--tpl6-sidebar-text, #ffffff) !important;
}

.template-template_6_aisha .cv-left-col .cv-edu-inst,
.template-template_6_teal_sidebar .cv-left-col .cv-edu-inst {
    color: var(--tpl6-sidebar-muted, #cbd5e1) !important;
}

.template-template_6_aisha .cv-left-col .cv-edu-sub-row,
.template-template_6_teal_sidebar .cv-left-col .cv-edu-sub-row,
.template-template_6_aisha .cv-left-col .cv-edu-sub-row::marker,
.template-template_6_teal_sidebar .cv-left-col .cv-edu-sub-row::marker,
.template-template_6_aisha .cv-left-col .cv-edu-sub-text,
.template-template_6_teal_sidebar .cv-left-col .cv-edu-sub-text {
    color: #e5eeec !important;
}

.template-template_6_aisha .cv-left-col .meta-item,
.template-template_6_teal_sidebar .cv-left-col .meta-item {
    color: var(--tpl6-sidebar-muted, #94a3b8) !important;
}

/* Right Column: Clean White with Bold Section Headings */
.template-template_6_aisha .cv-right-col,
.template-template_6_teal_sidebar .cv-right-col {
    padding: 0.6rem 0.75rem 1.5rem 0.75rem !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 0.9rem !important;
}

.template-template_6_aisha .cv-right-col .cv-section-header-row,
.template-template_6_teal_sidebar .cv-right-col .cv-section-header-row {
    border-bottom: 1px solid #e5eceb !important;
    padding-bottom: 0.28rem !important;
    margin-bottom: 0.5rem !important;
}

.template-template_6_aisha .cv-right-col .cv-section-heading,
.template-template_6_teal_sidebar .cv-right-col .cv-section-heading {
    color: #2f7773 !important;
    font-size: 0.82rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.1em !important;
    text-transform: uppercase !important;
    border-bottom: none !important;
    margin: 0 !important;
}

.template-template_6_aisha .cv-right-col .cv-exp-role,
.template-template_6_teal_sidebar .cv-right-col .cv-exp-role {
    font-size: 11.25pt !important;
    font-weight: 750 !important;
    color: #0f172a !important;
}

.template-template_6_aisha .cv-right-col .cv-exp-company,
.template-template_6_teal_sidebar .cv-right-col .cv-exp-company {
    font-size: 9.5pt !important;
    font-weight: 600 !important;
    color: #52646b !important;
}

.template-template_6_aisha .cv-right-col .cv-exp-bullet,
.template-template_6_teal_sidebar .cv-right-col .cv-exp-bullet {
    font-size: 9.5pt !important;
    line-height: 1.38 !important;
    color: #26363b !important;
}

/* Template 6 Thumbnail in Modal */
.tpl-thumb-aisha {
    background-color: #f7f9f8;
    padding: 9px 12px;
    display: flex;
    gap: 8px;
    height: 184px;
    box-sizing: border-box;
}

.thumb-aisha-sidebar {
    width: 34%;
    background-color: #263e43;
    border-radius: 0 18px 0 0;
    padding: 8px 6px;
    display: flex;
    flex-direction: column;
    gap: 4px;
    box-sizing: border-box;
}

.thumb-aisha-icon-row {
    display: flex;
    align-items: center;
    gap: 2px;
    margin-top: 2px;
}

.thumb-aisha-icon {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    border: 1px solid #9bcac4;
    display: inline-block;
}

.thumb-aisha-txt {
    height: 4px;
    width: 58%;
    background-color: #e5eeec;
}

.thumb-aisha-bullet {
    height: 3px;
    width: 78%;
    background-color: #a9bfbc;
    margin-left: 4px;
}

.thumb-aisha-main {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 5px;
    padding: 6px 2px 0;
}

.thumb-aisha-name {
    height: 7px;
    width: 78%;
    background-color: #26363b;
    align-self: flex-end;
}

.thumb-aisha-title {
    height: 4px;
    width: 52%;
    background-color: #2f7773;
    align-self: flex-end;
    margin-bottom: 4px;
}

.thumb-aisha-sec-hdr {
    height: 4px;
    width: 58%;
    background-color: #2f7773;
}

.thumb-aisha-block {
    height: 18px;
    background: repeating-linear-gradient(to bottom, #9aa9ad 0 1px, transparent 1px 5px);
    opacity: 0.72;
}

.thumb-aisha-exp-item {
    height: 18px;
    background: repeating-linear-gradient(to bottom, #9aa9ad 0 1px, transparent 1px 5px);
    border-left: 2px solid #9bcac4;
    padding-left: 3px;
}

/* ======================================================== */
/* DYNAMIC 3-PANEL RESPONSIVE SCALING (NO OVERLAP)          */
/* ======================================================== */
@media (max-width: 1600px) {
    .ats-metrics-panel {
        width: 212px;
        min-width: 212px;
    }
    .ai-assistant-panel {
        width: 270px;
        min-width: 270px;
    }
    .document-sheet-wrapper {
        padding: 1rem 0.65rem;
    }
    .document-sheet {
        padding: 0.75rem 1.5rem 2.25rem 1.5rem;
    }
}

@media (max-width: 1380px) {
    .ats-metrics-panel {
        width: 198px;
        min-width: 198px;
    }
    .ai-assistant-panel {
        width: 256px;
        min-width: 256px;
    }
    .document-sheet-wrapper {
        padding: 0.75rem 0.35rem;
    }
    .document-sheet {
        padding: 0.65rem 1.15rem 2rem 1.15rem;
    }
}

/* ======================================================== */
/* DIRECT PDF EXPORT ISOLATION STYLES (CLEAN MARGINS & NO UI) */
/* ======================================================== */
.is-exporting-pdf .no-print,
.is-exporting-pdf .btn-bullet-del,
.is-exporting-pdf .btn-add-bullet,
.is-exporting-pdf .btn-add-achievement,
.is-exporting-pdf .exp-bullet-controls,
.is-exporting-pdf .ach-controls,
.is-exporting-pdf .section-actions,
.is-exporting-pdf .btn-sec-drag,
.is-exporting-pdf .section-insert-divider,
.is-exporting-pdf .sec-insert-divider,
.is-exporting-pdf .para-diff-action-bar,
.is-exporting-pdf #aiSuggestionPopover,
.is-exporting-pdf #clParagraphRephraseBar,
.is-exporting-pdf #floatingAiToolbar,
.is-exporting-pdf .btn-col-add-sec {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
}

.is-exporting-pdf .document-sheet,
.is-exporting-pdf .cover-letter-sheet {
    box-shadow: none !important;
    border: none !important;
    max-width: 100% !important;
    width: 100% !important;
    margin: 0 !important;
    /* Zero inner padding — html2pdf margin option handles whitespace */
    padding: 0 !important;
    /* Kill min-height so blank trailing pages are never generated */
    min-height: 0 !important;
    height: auto !important;
    overflow: visible !important;
}

/* ======================================================== */
/* RESPONSIVE APP LAYOUT                                   */
/* ======================================================== */
html {
    overflow-x: hidden;
}

/* Desktop density matches the previous 90% browser-zoom appearance.
   rem spacing, type, and padding follow this root size. Print stays at 16px. */
@media (min-width: 901px) {
    html {
        font-size: 90%;
    }
}

img,
svg,
video,
canvas {
    max-width: 100%;
}

@media (max-width: 1180px) {
    .navbar {
        padding-inline: 1rem;
    }

    .nav-container {
        flex-wrap: wrap;
        row-gap: 0.55rem;
    }

    .nav-steps-bar {
        order: 3;
        flex-basis: 100%;
        justify-content: center;
        overflow-x: auto;
    }

    .nav-actions {
        margin-left: auto;
    }

    .editor-main-layout {
        flex-wrap: wrap;
    }

    .ats-metrics-panel,
    .ai-assistant-panel {
        width: 100%;
        min-width: 0;
        max-width: none;
        height: auto;
        max-height: 520px;
        position: static;
        margin: 0 0 0.65rem;
    }

    .ats-metrics-panel {
        order: 2;
    }

    .document-sheet-wrapper,
    .cover-letter-sheet-wrapper {
        order: 1;
        width: 100%;
        flex-basis: 100%;
    }

    .ai-assistant-panel {
        order: 3;
    }

    .studio-main-bar {
        flex-wrap: wrap;
    }

    .studio-bar-left,
    .studio-bar-center,
    .studio-bar-right {
        flex-wrap: wrap;
    }

    .studio-bar-center {
        order: 3;
        flex-basis: 100%;
        justify-content: flex-start;
    }
}

@media (min-width: 1181px) and (max-width: 1440px) {
    .nav-container {
        gap: 0.4rem;
    }

    .nav-brand-group {
        min-width: 0;
        max-width: 285px;
        gap: 0.35rem;
    }

    .nav-doc-title-wrap {
        min-width: 0;
        max-width: 145px;
        flex: 0 1 145px;
        gap: 0.2rem;
        padding-inline: 0.3rem;
    }

    .nav-doc-title-input {
        width: 74px;
        min-width: 0;
        text-overflow: ellipsis;
    }

    .nav-steps-bar {
        gap: 0;
        padding: 2px 3px;
    }

    .nav-step-item {
        gap: 3px;
        padding: 3px 5px;
        font-size: 0.69rem;
    }

    .nav-actions {
        min-width: 0;
        flex: 0 1 auto;
        gap: 0.15rem;
    }

    .nav-links-cluster {
        min-width: 0;
        gap: 0;
    }

    .nav-link-btn {
        gap: 0.2rem;
        padding: 0.22rem 0.35rem;
        font-size: 0.7rem;
    }

    .btn-ai-nav {
        gap: 0;
        padding: 0.25rem 0.3rem;
    }

    .btn-ai-nav span {
        display: none;
    }

    .btn-nav-contact {
        gap: 3px;
        padding: 0.3rem 0.45rem;
        font-size: 0.7rem;
    }
}

@media (min-width: 681px) and (max-width: 1350px) {
    .studio-formatting-bar:not(.hidden) {
        width: 100%;
        max-width: 100%;
        min-width: 0;
        gap: 0.18rem;
        padding-inline: 0.35rem;
    }

    .studio-formatting-bar > .ribbon-cluster {
        gap: 0.16rem;
    }

    .studio-formatting-bar > .tb-divider {
        margin-inline: 0.03rem;
    }

    .font-picker-custom-wrapper > .tb-select-label,
    .studio-formatting-bar > .ribbon-cluster:first-child > .tb-select-wrap:not(.font-picker-custom-wrapper) > .tb-select-label,
    .studio-formatting-bar .text-case-picker > .tb-select-label,
    .cv-theme-picker > .tb-select-label {
        display: none;
    }

    .font-picker-trigger {
        min-width: 96px;
        max-width: 112px;
        padding-inline: 0.35rem;
        gap: 3px;
    }

    #fontSizeSelect {
        width: 58px;
        min-width: 0;
        padding-inline: 0.25rem;
    }

    #textTransformSelect {
        width: 58px;
        min-width: 0;
        padding-inline: 0.25rem;
    }

    .cv-theme-swatches {
        max-width: none;
        overflow: hidden;
    }

    .cv-theme-picker {
        gap: 0.2rem;
    }

    .tb-btn-review {
        gap: 0.25rem;
        padding-inline: 0.45rem;
        font-size: 0.68rem;
    }
}

@media (max-width: 860px) {
    .input-studio-container {
        margin-block: 1.25rem;
        padding-inline: 0.75rem;
        gap: 1rem;
    }

    .input-card-header,
    .input-card-title-row {
        align-items: flex-start;
        flex-wrap: wrap;
    }

    .input-card-header {
        gap: 0.75rem;
        padding: 0.85rem 1rem;
    }

    .input-form-grid {
        padding: 1rem;
        gap: 1rem;
    }

    .input-footer-row {
        flex-wrap: wrap;
    }

    .input-footer-row .btn {
        flex: 1 1 260px;
    }

    .feature-highlights-row {
        gap: 0.75rem;
    }

    .editor-workspace {
        padding-inline: 0.5rem;
    }

    .document-sheet-wrapper,
    .cover-letter-sheet-wrapper {
        padding: 0.75rem 0.5rem;
    }

    .document-sheet {
        min-height: 0;
        padding: 0.75rem 1rem 1.5rem;
    }

    .cover-letter-sheet {
        width: 100%;
        min-height: 0;
        padding: 1rem 1.15rem 1.5rem;
    }
}

@media (max-width: 640px) {
    .navbar {
        padding: 0.55rem 0.65rem;
    }

    .nav-brand-group {
        min-width: 0;
    }

    .brand-title {
        font-size: 1rem;
    }

    .nav-doc-title-wrap {
        min-width: 0;
        max-width: calc(100vw - 4rem);
    }

    .nav-doc-title-input {
        width: min(155px, 38vw);
    }

    .nav-actions {
        width: 100%;
        justify-content: flex-end;
    }

    .nav-links-cluster {
        width: 100%;
        justify-content: space-between;
    }

    .nav-link-btn {
        padding-inline: 0.35rem;
        font-size: 0.72rem;
    }

    .btn-nav-contact {
        padding-inline: 0.55rem;
        font-size: 0.72rem;
    }

    .nav-step-item {
        padding-inline: 7px;
        font-size: 0.7rem;
    }

    .nav-step-text {
        display: none;
    }

    .input-hero-title {
        font-size: 1.45rem;
    }

    .input-hero-sub {
        font-size: 0.86rem;
    }

    .hero-proof-chips-row,
    .hero-actions-row {
        flex-direction: column;
        align-items: stretch;
    }

    .hero-proof-chip,
    .hero-actions-row .btn {
        justify-content: center;
        width: 100%;
    }

    .modern-jd-header,
    .modern-jd-actions {
        align-items: flex-start;
    }

    .modern-jd-actions {
        flex-wrap: wrap;
    }

    .studio-top-bar {
        top: 0;
    }

    .studio-main-bar {
        align-items: stretch;
        padding: 0.5rem;
        overflow: hidden;
    }

    .studio-bar-left,
    .studio-bar-right,
    .studio-bar-center {
        width: 100%;
        min-width: 0;
        overflow-x: auto;
        overflow-y: visible;
        flex-wrap: nowrap;
    }

    .studio-bar-left > *,
    .studio-bar-right > *,
    .studio-bar-center > * {
        flex-shrink: 0;
    }

    .studio-formatting-bar {
        max-width: 100%;
        overflow-x: auto !important;
        flex-wrap: nowrap;
    }

    .ribbon-cluster,
    .ribbon-cluster-right {
        flex-shrink: 0;
    }

    .studio-bar-left .tb-btn-subtle,
    .studio-bar-right .tb-btn-subtle,
    .studio-bar-right .btn {
        flex: 1 1 auto;
        justify-content: center;
    }

    .document-sheet-wrapper,
    .cover-letter-sheet-wrapper {
        border-inline: 0;
        padding-inline: 0.2rem;
    }

    .document-sheet,
    .cover-letter-sheet {
        padding-inline: 0.75rem;
        box-shadow: none;
    }

    .ai-assistant-panel {
        width: 100%;
        max-height: calc(100vh - 1rem);
    }

    .ai-drawer-body {
        padding: 1rem 0.75rem;
    }

    .ai-input-wrapper {
        padding: 0.65rem;
    }

    .modal-content,
    .modal-dialog,
    .modal-card {
        width: calc(100vw - 1.25rem);
        max-width: calc(100vw - 1.25rem);
        margin-inline: auto;
    }
}

@media (max-width: 420px) {
    .nav-links-cluster .nav-link-btn:nth-child(n + 3) {
        display: none;
    }

    .nav-actions {
        gap: 0.25rem;
    }

    .input-form-grid {
        padding: 0.75rem;
    }

    .form-textarea-large {
        height: 220px !important;
    }

    .document-sheet p,
    .document-sheet li,
    .cv-body p,
    .cv-body li,
    .cv-text,
    .cv-summary-text,
    .cv-exp-bullet,
    .cv-ach-text,
    .ach-desc,
    .ach-text-block,
    .cv-award-item,
    .cv-skill-item,
    .cv-lang-item,
    .cv-ref-item,
    .contact-item span,
    .meta-item span {
        font-size: 12px !important;
    }

    .cl-rephrase-bar,
    .floating-ai-toolbar {
        min-width: 0;
        max-width: calc(100vw - 1rem);
    }
}

.is-exporting-pdf .cover-letter-sheet {
    min-height: 0 !important;
    height: auto !important;
    padding: 0 !important;
    margin: 0 !important;
    gap: 0.45rem !important;
    overflow: visible !important;
}

.is-exporting-pdf .cv-exp-bullet-row,
.is-exporting-pdf .cv-exp-item,
.is-exporting-pdf .cv-achievement-item,
.is-exporting-pdf .cv-edu-item,
.is-exporting-pdf .cv-skill-cat,
.is-exporting-pdf .cv-ach-item,
.is-exporting-pdf .cv-lang-item,
.is-exporting-pdf .cv-cert-item,
.is-exporting-pdf .cv-academic-item,
.is-exporting-pdf .cv-contact-item-bullet,
.is-exporting-pdf .contact-item,
.is-exporting-pdf .cl-paragraph,
.is-exporting-pdf .cl-recipient-box,
.is-exporting-pdf .cl-signature-block,
.is-exporting-pdf .cv-referees-statement-card,
.is-exporting-pdf .ref-statement-text,
.is-exporting-pdf .cv-referee-card,
.is-exporting-pdf .document-sheet li,
.is-exporting-pdf .cv-body li {
    break-inside: avoid !important;
    page-break-inside: avoid !important;
    -webkit-column-break-inside: avoid !important;
}

/* Keep long project and education text inside the item when html2canvas slices A4 pages. */
.is-exporting-pdf .document-sheet,
.is-exporting-pdf .resume-preview-canvas,
.is-exporting-pdf .cv-body,
.is-exporting-pdf .cv-left-col,
.is-exporting-pdf .cv-right-col,
.is-exporting-pdf .cv-academic-list,
.is-exporting-pdf .cv-academic-item,
.is-exporting-pdf .cv-academic-item .cv-text,
.is-exporting-pdf .cv-edu-item,
.is-exporting-pdf .cv-edu-sub-row {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow: visible !important;
}

.is-exporting-pdf .cv-academic-item .cv-text,
.is-exporting-pdf .cv-edu-sub-text,
.is-exporting-pdf .cv-academic-title,
.is-exporting-pdf .cv-academic-meta {
    display: block !important;
    white-space: normal !important;
    overflow: visible !important;
    overflow-wrap: anywhere !important;
    word-break: normal !important;
}

.is-exporting-pdf .cv-header-tpl2,
.is-exporting-pdf .cv-header-tpl5,
.is-exporting-pdf .cv-header-tpl6,
.is-exporting-pdf .cv-header-tpl7,
.is-exporting-pdf .cv-header-tpl8,
.is-exporting-pdf .cv-header-tpl9,
.is-exporting-pdf .cv-header-tpl10,
.is-exporting-pdf .cv-header-tpl11 {
    break-inside: avoid !important;
    page-break-inside: avoid !important;
    break-after: avoid !important;
    page-break-after: avoid !important;
}

/* ZERO HIGHLIGHTS / NO YELLOW BOXES IN PDF EXPORT */
.is-exporting-pdf mark,
.is-exporting-pdf .cv-match-highlight,
.is-exporting-pdf .cv-edu-match,
.is-exporting-pdf .cv-gap-highlight,
.is-exporting-pdf .highlight-span,
.is-exporting-pdf .ai-diff-ins,
.is-exporting-pdf .ai-diff-del,
.is-exporting-pdf .rewrite-highlight-flash,
.is-exporting-pdf .tag-keyword-highlight,
.is-exporting-pdf .keyword-matched,
.is-exporting-pdf [style*="background-color: rgb(254"],
.is-exporting-pdf [style*="background-color: #fef"],
.is-exporting-pdf [style*="background-color: yellow"],
@media print mark,
@media print .cv-match-highlight,
@media print .cv-edu-match,
@media print .cv-gap-highlight,
@media print .highlight-span,
@media print .ai-diff-ins,
@media print .ai-diff-del {
    background-color: transparent !important;
    background: transparent !important;
    color: inherit !important;
    padding: 0 !important;
    border: none !important;
    border-bottom: none !important;
    box-shadow: none !important;
    text-decoration: none !important;
}

/* ======================================================== */
/* AVATAR BADGE PHOTO UPLOAD & INITIALS STYLING             */
/* ======================================================== */
.avatar-circle-container,
.cv-avatar-dark-circle,
.cv-sidebar-circle-badge,
.cv-initials-badge {
    position: relative;
    cursor: pointer;
    overflow: hidden !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    user-select: none;
    border-radius: 50% !important;
    padding: 0 !important;
}

.cl-avatar-dark-circle {
    position: relative;
    cursor: pointer;
    overflow: hidden !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    user-select: none;
    border-radius: 50% !important;
    -webkit-border-radius: 50% !important;
    padding: 0 !important;
}

.avatar-circle-container.has-custom-photo,
.cv-avatar-dark-circle.has-custom-photo,
.cl-avatar-dark-circle.has-custom-photo,
.cv-sidebar-circle-badge.has-custom-photo,
.cv-initials-badge.has-custom-photo {
    background: transparent !important;
}

.avatar-photo-img {
    position: absolute;
    inset: 0;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center 18% !important;
    border-radius: 50% !important;
    display: block !important;
    margin: 0 auto !important;
    z-index: 2;
}

.has-custom-photo .avatar-initials-text {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
}

.avatar-initials-text {
    font-size: 1.5rem;
    font-weight: 800;
    letter-spacing: 0.05em;
    color: #ffffff;
    line-height: 1;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    height: 100% !important;
    margin: auto !important;
    text-align: center !important;
    user-select: none;
}

.cv-avatar-dark-circle .avatar-initials-text {
    font-size: 2.2rem;
    font-weight: 800;
}

.cl-avatar-dark-circle .avatar-initials-text {
    font-size: 1rem;
    font-weight: 800;
}

.cv-initials-badge .avatar-initials-text {
    font-size: 1.4rem;
    font-weight: 800;
}

.avatar-upload-overlay {
    position: absolute;
    inset: 0;
    background: rgba(15, 23, 42, 0.75);
    display: flex;
    align-items: center;
    justify-content: center;
    color: #ffffff;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.18s ease, visibility 0.18s ease;
    border-radius: 50%;
    z-index: 5;
}

.avatar-circle-container:hover .avatar-upload-overlay,
.cv-avatar-dark-circle:hover .avatar-upload-overlay,
.cl-avatar-dark-circle:hover .avatar-upload-overlay,
.cv-sidebar-circle-badge:hover .avatar-upload-overlay,
.cv-initials-badge:hover .avatar-upload-overlay {
    opacity: 1;
    visibility: visible;
}

.avatar-reset-btn {
    position: absolute;
    top: 2px;
    right: 2px;
    width: 18px;
    height: 18px;
    background: #ef4444;
    color: #ffffff;
    border: 1px solid #ffffff;
    border-radius: 50%;
    font-size: 12px;
    font-weight: 900;
    line-height: 1;
    display: none;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    z-index: 10;
}

.has-custom-photo:hover .avatar-reset-btn {
    display: flex;
}

.is-exporting-pdf .avatar-upload-overlay,
.is-exporting-pdf .avatar-reset-btn,
.is-exporting-pdf .btn-edu-del,
.is-exporting-pdf .btn-edu-sub-del,
.is-exporting-pdf .btn-academic-del,
.is-exporting-pdf .btn-lang-del,
.is-exporting-pdf .btn-skill-cat-del,
.is-exporting-pdf .btn-skill-tag-del,
.is-exporting-pdf .btn-add-skill-pill,
.is-exporting-pdf .edu-item-controls,
.is-exporting-pdf .academic-controls,
.is-exporting-pdf .lang-controls,
.is-exporting-pdf .skills-controls {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
}

/* Strict Referees Section page break protection */
#secReferees,
.cv-referees-container,
.cv-referees-statement-card,
.ref-statement-text,
.cv-referee-card {
    break-inside: avoid !important;
    page-break-inside: avoid !important;
    -webkit-column-break-inside: avoid !important;
}

/* ==========================================================================
   5 NEW CREATIVE CV TEMPLATES (TEMPLATES 7, 8, 9, 10, 11) & NOVEL SECTIONS
   Clean, Compact, 2-Column Space-Saving Architectures (Squared Corners, Max 2 Colors)
   ========================================================================== */

/* --------------------------------------------------------------------------
   1. Template Thumbnails in Template Selector Modal (Squared & Flat)
   -------------------------------------------------------------------------- */
.tpl-thumb-nordic { background: #f8fafc; border: 1px solid #cbd5e1; border-radius: 0 !important; }
.thumb-nordic-header { padding: 4px 6px; border-bottom: 1.5px solid #0f172a; margin-bottom: 3px; }
.thumb-nordic-eyebrow { height: 2px; width: 28px; background: #64748b; margin-bottom: 2px; border-radius: 0 !important; }
.thumb-nordic-name { height: 5px; width: 60px; background: #0f172a; margin-bottom: 2px; border-radius: 0 !important; }
.thumb-nordic-title { height: 3px; width: 40px; background: #475569; border-radius: 0 !important; }
.thumb-nordic-quote { height: 12px; background: #f1f5f9; border: 1px solid #cbd5e1; margin-bottom: 3px; border-radius: 0 !important; }
.thumb-nordic-tiles-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 2px; margin-bottom: 3px; }
.thumb-mini-tile { height: 9px; background: #f1f5f9; border: 1px solid #cbd5e1; border-radius: 0 !important; }

.tpl-thumb-emerald { background: #ffffff; border: 1px solid #cbd5e1; border-radius: 0 !important; }
.thumb-emerald-header { padding: 3px 5px; background: #0f172a; border-top: 2px solid #064e3b; margin-bottom: 3px; }
.thumb-emerald-strip { height: 2px; background: #064e3b; margin-bottom: 2px; border-radius: 0 !important; }
.thumb-emerald-row { display: flex; align-items: center; gap: 3px; }
.thumb-emerald-circle { width: 8px; height: 8px; border-radius: 0 !important; background: #064e3b; border: 1px solid #059669; }
.thumb-emerald-badge { height: 2px; width: 22px; background: #059669; margin-bottom: 1px; border-radius: 0 !important; }
.thumb-emerald-bar { background: #ffffff !important; width: 45px !important; border-radius: 0 !important; }
.thumb-emerald-hdr { background: #064e3b !important; border-radius: 0 !important; }
.thumb-matrix-tier { height: 7px; background: #f8fafc; border: 1px solid #e2e8f0; margin-bottom: 2px; border-radius: 0 !important; }
.thumb-repo-card { height: 10px; background: #f8fafc; border: 1px solid #cbd5e1; border-radius: 0 !important; }

.tpl-thumb-bordeaux { background: #ffffff; border: 1px solid #e4e4e7; border-radius: 0 !important; }
.thumb-bordeaux-header { padding: 3px 4px; text-align: center; border-top: 1px solid #881337; border-bottom: 1px solid #881337; margin-bottom: 3px; }
.thumb-gold-rule { height: 1px; background: #881337; margin: 1px 0; border-radius: 0 !important; }
.thumb-serif-name { height: 4px; width: 55px; background: #881337; margin: 0 auto 1px; border-radius: 0 !important; }
.thumb-serif-title { height: 2px; width: 35px; background: #4c0519; margin: 0 auto; border-radius: 0 !important; }
.thumb-bordeaux-hdr { background: #881337 !important; border-radius: 0 !important; }
.thumb-board-card { height: 8px; background: #fff1f2; border: 1px solid #fecdd3; margin-bottom: 2px; border-radius: 0 !important; }
.thumb-exec-grid { height: 10px; background: #f4f4f5; border: 1px solid #e4e4e7; border-radius: 0 !important; }

.tpl-thumb-metro { background: #ffffff; border: 1px solid #cbd5e1; border-radius: 0 !important; }
.thumb-metro-header { display: flex; justify-content: space-between; padding: 3px 4px; background: #f8fafc; border: 1px solid #cbd5e1; margin-bottom: 3px; border-radius: 0 !important; }
.thumb-metro-blue-block { height: 5px; width: 40px; background: #1565C0; border-radius: 0 !important; }
.thumb-metro-pills { height: 3px; width: 20px; background: #334155; border-radius: 0 !important; }
.thumb-cobalt-hdr { background: #1565C0 !important; border-radius: 0 !important; }
.thumb-metro-timeline { height: 14px; border-left: 1.5px solid #1565C0; margin-left: 3px; margin-bottom: 3px; }

.tpl-thumb-creative { background: #ffffff; border: 1px solid #cbd5e1; border-radius: 0 !important; }
.thumb-sunset-gradient-bar { height: 2px; background: #4c1d95; margin-bottom: 2px; border-radius: 0 !important; }
.thumb-creative-header { padding: 3px 4px; background: #ffffff; border: 1px solid #cbd5e1; border-top: 2px solid #4c1d95; margin-bottom: 3px; border-radius: 0 !important; }
.thumb-creative-row { display: flex; align-items: center; gap: 3px; }
.thumb-creative-circle { width: 8px; height: 8px; border-radius: 0 !important; background: #4c1d95; }
.thumb-creative-info { height: 4px; width: 45px; background: #4c1d95; border-radius: 0 !important; }
.thumb-purple-hdr { background: #4c1d95 !important; border-radius: 0 !important; }
.thumb-pills-wrap { height: 6px; background: #faf5ff; border: 1px solid #ede9fe; border-radius: 0 !important; margin-bottom: 2px; }
.thumb-media-badge { height: 6px; background: #f8fafc; border: 1px solid #cbd5e1; border-radius: 0 !important; }
.thumb-case-study-card { height: 12px; background: #faf5ff; border: 1px solid #ede9fe; margin-bottom: 3px; border-radius: 0 !important; }

/* --------------------------------------------------------------------------
   Space-Saving 2-Column Architecture & Tight Sections for Templates 7 - 11
   -------------------------------------------------------------------------- */
.template-template_7_nordic.layout-2col .cv-body,
.template-template_8_emerald.layout-2col .cv-body,
.template-template_9_bordeaux.layout-2col .cv-body,
.template-template_10_metro.layout-2col .cv-body,
.template-template_11_creative.layout-2col .cv-body {
    display: grid !important;
    grid-template-columns: minmax(0, 1.15fr) minmax(0, 1.6fr) !important;
    gap: 0.95rem !important;
    align-items: start;
    width: 100%;
    box-sizing: border-box;
}

.template-template_7_nordic.layout-1col .cv-body,
.template-template_8_emerald.layout-1col .cv-body,
.template-template_9_bordeaux.layout-1col .cv-body,
.template-template_10_metro.layout-1col .cv-body,
.template-template_11_creative.layout-1col .cv-body {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 0.75rem !important;
    width: 100%;
    box-sizing: border-box;
}

.template-template_7_nordic .cv-sheet-inner,
.template-template_8_emerald .cv-sheet-inner,
.template-template_9_bordeaux .cv-sheet-inner,
.template-template_10_metro .cv-sheet-inner,
.template-template_11_creative .cv-sheet-inner {
    padding: 24px 28px !important;
}

.template-template_7_nordic .cv-section,
.template-template_8_emerald .cv-section,
.template-template_9_bordeaux .cv-section,
.template-template_10_metro .cv-section,
.template-template_11_creative .cv-section {
    margin-bottom: 7px !important;
}

/* --------------------------------------------------------------------------
   2. TEMPLATE 7: NORDIC MINIMALIST SLATE (Squared, Slate + Cool Grey)
   -------------------------------------------------------------------------- */
.template-template_7_nordic {
    --cv-primary: #0f172a;
    --cv-secondary: #64748b;
    --cv-border: #cbd5e1;
    --cv-surface: #f8fafc;
    font-family: 'DM Sans', 'Inter', sans-serif;
    color: #1e293b;
}
.cv-header-tpl7 {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-bottom: 10px;
    margin-bottom: 12px;
    border-bottom: 2px solid #0f172a;
}
.cv-tpl7-main {
    flex: 1;
}
.cv-tpl7-eyebrow {
    font-size: 7.5pt;
    font-weight: 700;
    letter-spacing: 1.8px;
    color: #64748b;
    margin-bottom: 2px;
    text-transform: uppercase;
}
.cv-name-tpl7 {
    font-size: 20pt;
    font-weight: 800;
    letter-spacing: -0.4px;
    color: #0f172a;
    line-height: 1.1;
    margin-bottom: 2px;
}
.cv-title-tpl7 {
    font-size: 10pt;
    font-weight: 700;
    color: #334155;
}
.cv-tpl7-meta {
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 0;
}
.cv-tpl7-avatar {
    width: 48px;
    height: 48px;
    border-radius: 0 !important;
    background: #0f172a;
    color: #ffffff;
    font-weight: 700;
    font-size: 13pt;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    border: 1px solid #0f172a;
}
.cv-tpl7-contacts {
    text-align: right;
    font-size: 8pt;
    color: #475569;
    line-height: 1.35;
}
.cv-tpl7-contact-line {
    font-weight: 600;
}
.template-template_7_nordic .cv-section-heading {
    font-size: 9.5pt;
    font-weight: 800;
    letter-spacing: 1px;
    color: #0f172a;
    text-transform: uppercase;
    border-bottom: 1.5px solid color-mix(in srgb, var(--cv-accent, #0f172a) 45%, #e2e8f0);
    padding-bottom: 2px;
    margin-bottom: 6px;
}

/* Novel: Philosophy Card (Squared, Full Border, No Emojis/Gradients) */
.cv-philosophy-container {
    margin-bottom: 8px;
}
.cv-philosophy-card {
    background: #f8fafc;
    border: 1px solid #cbd5e1;
    border-radius: 0 !important;
    padding: 6px 10px;
    position: relative;
    display: flex;
    align-items: flex-start;
    gap: 8px;
}
.cv-quote-icon {
    flex-shrink: 0;
    color: #64748b;
    margin-top: 2px;
}
.cv-philosophy-text {
    font-size: 8.5pt;
    font-style: italic;
    color: #334155;
    line-height: 1.35;
    margin: 0;
}

/* Novel: Metrics Tiles Grid (Squared, Full Border) */
.cv-metrics-tiles-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 6px;
    margin-bottom: 8px;
}
.cv-metric-tile {
    background: #f8fafc;
    border: 1px solid #cbd5e1;
    border-radius: 0 !important;
    padding: 6px 8px;
    display: flex;
    flex-direction: column;
}
.cv-metric-number {
    font-size: 11pt;
    font-weight: 800;
    color: #0f172a;
    line-height: 1.1;
    margin-bottom: 2px;
}
.cv-metric-label {
    font-size: 7pt;
    font-weight: 700;
    color: #64748b;
    text-transform: uppercase;
    letter-spacing: 0.3px;
    line-height: 1.2;
}

/* --------------------------------------------------------------------------
   3. TEMPLATE 8: SILICON VALLEY TECH LEAD (Squared, Emerald + Obsidian)
   -------------------------------------------------------------------------- */
.template-template_8_emerald {
    --cv-primary: #064e3b;
    --cv-secondary: #0f172a;
    --cv-emerald-accent: #059669;
    --cv-border: #cbd5e1;
    --cv-surface: #f8fafc;
    font-family: 'Plus Jakarta Sans', 'Inter', sans-serif;
    color: #1e293b;
}
.cv-header-tpl8 {
    background: #0f172a;
    color: #ffffff;
    border-radius: 0 !important;
    border: 1px solid #0f172a;
    border-top: 3px solid #064e3b;
    margin-bottom: 12px;
    overflow: hidden;
}
.cv-tpl8-banner-strip {
    display: none;
}
.cv-tpl8-content {
    padding: 10px 14px;
    display: flex;
    align-items: center;
    gap: 12px;
}
.cv-tpl8-avatar {
    width: 48px;
    height: 48px;
    border-radius: 0 !important;
    background: #064e3b;
    border: 1px solid #059669;
    color: #ffffff;
    font-weight: 800;
    font-size: 13pt;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    flex-shrink: 0;
}
.cv-tpl8-text {
    flex: 1;
}
.cv-tpl8-badge-status {
    font-size: 6.8pt;
    font-weight: 800;
    letter-spacing: 1px;
    color: #a7f3d0;
    margin-bottom: 2px;
}
.cv-tpl8-pulse-dot {
    display: none;
}
.cv-name-tpl8 {
    font-size: 18pt;
    font-weight: 800;
    color: #ffffff;
    line-height: 1.1;
    margin-bottom: 2px;
}
.cv-title-tpl8 {
    font-size: 9.5pt;
    font-weight: 700;
    color: #cbd5e1;
    margin-bottom: 5px;
}
.cv-tpl8-tech-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
}
.cv-tpl8-chip {
    background: #1e293b;
    border: 1px solid #334155;
    padding: 1px 6px;
    border-radius: 0 !important;
    font-size: 7.2pt;
    font-weight: 600;
    color: #e2e8f0;
    font-family: 'JetBrains Mono', monospace;
}

.template-template_8_emerald .cv-header-tpl8,
.template-template_8_emerald .cv-header-tpl8 [contenteditable="true"],
.template-template_8_emerald .cv-header-tpl8 .cv-name-tpl8,
.template-template_8_emerald .cv-header-tpl8 .cv-title-tpl8 {
    color: #ffffff !important;
}

.template-template_8_emerald .cv-header-tpl8 .cv-title-tpl8 {
    color: #cbd5e1 !important;
}

.template-template_8_emerald .cv-header-tpl8 .cv-tpl8-badge-status {
    color: #a7f3d0 !important;
}
.template-template_8_emerald .cv-section-heading {
    font-size: 9.5pt;
    font-weight: 800;
    color: #064e3b;
    letter-spacing: 0.8px;
    border-bottom: 1.5px solid #064e3b;
    padding-bottom: 2px;
    margin-bottom: 6px;
}

/* Novel: Tech Stack Mastery Matrix (Squared, Full Border) */
.cv-tech-matrix-list {
    display: flex;
    flex-direction: column;
    gap: 5px;
    margin-bottom: 8px;
}
.cv-tech-tier {
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 0 !important;
    padding: 5px 8px;
}
.cv-tier-badge {
    font-size: 6.8pt;
    font-weight: 800;
    letter-spacing: 0.6px;
    margin-bottom: 2px;
    display: inline-block;
    padding: 1px 5px;
    border-radius: 0 !important;
}
.tier-expert { background: #dcfce7; color: #166534; border: 1px solid #bbf7d0; }
.tier-advanced { background: #f1f5f9; color: #1e293b; border: 1px solid #cbd5e1; }
.tier-emerging { background: #f8fafc; color: #475569; border: 1px solid #e2e8f0; }
.cv-tier-skills {
    font-size: 8pt;
    color: #334155;
    line-height: 1.3;
}

/* Novel: Open Source Highlights (Squared, Full Border, SVG Star) */
.cv-opensource-list {
    display: flex;
    flex-direction: column;
    gap: 5px;
    margin-bottom: 8px;
}
.cv-repo-item {
    background: #f8fafc;
    border: 1px solid #cbd5e1;
    border-radius: 0 !important;
    padding: 5px 8px;
}
.cv-repo-hdr {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 2px;
}
.cv-repo-name {
    font-size: 8.5pt;
    font-weight: 700;
    color: #064e3b;
    font-family: 'JetBrains Mono', monospace;
}
.cv-repo-stars {
    font-size: 7pt;
    font-weight: 700;
    color: #064e3b;
    background: #ecfdf5;
    border: 1px solid #a7f3d0;
    padding: 1px 5px;
    border-radius: 0 !important;
    display: inline-flex;
    align-items: center;
    gap: 3px;
}
.cv-repo-desc {
    font-size: 7.8pt;
    color: #475569;
    line-height: 1.3;
    margin: 0;
}

/* --------------------------------------------------------------------------
   4. TEMPLATE 9: EXECUTIVE BORDEAUX LUXURY SERIF (Squared, Bordeaux + Charcoal)
   -------------------------------------------------------------------------- */
.template-template_9_bordeaux {
    --cv-primary: #881337;
    --cv-secondary: #27272a;
    --cv-border: #e4e4e7;
    --cv-surface: #fff1f2;
    font-family: 'Playfair Display', 'Lora', serif;
    color: #27272a;
}
.cv-header-tpl9 {
    text-align: center;
    padding: 6px 0 10px;
    margin-bottom: 12px;
    border-top: 1px solid #881337;
    border-bottom: 1px solid #881337;
}
.cv-tpl9-gold-rule {
    display: none;
}
.cv-tpl9-crest-wrap {
    padding: 4px 0;
    display: flex;
    flex-direction: column;
    align-items: center;
}
.cv-tpl9-avatar {
    width: 46px;
    height: 46px;
    border-radius: 0 !important;
    background: #881337;
    border: 1px solid #4c0519;
    color: #ffffff;
    font-weight: 700;
    font-size: 12pt;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 6px;
    position: relative;
}
.cv-name-tpl9 {
    font-size: 21pt;
    font-weight: 700;
    letter-spacing: 0.3px;
    color: #881337;
    line-height: 1.1;
    margin-bottom: 2px;
}
.cv-title-tpl9 {
    font-size: 9.5pt;
    font-weight: 600;
    color: #4c0519;
    font-style: italic;
    margin-bottom: 4px;
}
.cv-tpl9-contact-row {
    font-family: 'DM Sans', sans-serif;
    font-size: 8pt;
    color: #52525b;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
}
.cv-tpl9-diamond {
    color: #881337;
    font-weight: bold;
}
.template-template_9_bordeaux .cv-section-heading {
    font-size: 10pt;
    font-weight: 700;
    letter-spacing: 0.6px;
    color: #881337;
    text-align: center;
    border-top: 1px solid color-mix(in srgb, var(--cv-accent, #881337) 40%, #e4e4e7);
    border-bottom: 1px solid color-mix(in srgb, var(--cv-accent, #881337) 40%, #e4e4e7);
    padding: 2px 0;
    margin-bottom: 6px;
}

/* Novel: Board Roles (Squared, Full Border) */
.cv-board-roles-list {
    display: flex;
    flex-direction: column;
    gap: 5px;
    margin-bottom: 8px;
}
.cv-board-card {
    background: #fff1f2;
    border: 1px solid #fecdd3;
    border-radius: 0 !important;
    padding: 6px 8px;
}
.cv-board-title-row {
    display: flex;
    justify-content: space-between;
    font-size: 8.5pt;
    margin-bottom: 1px;
}
.cv-board-role {
    color: #881337;
    font-weight: 700;
}
.cv-board-date {
    font-size: 7.5pt;
    color: #71717a;
    font-family: 'DM Sans', sans-serif;
}
.cv-board-org {
    font-size: 8pt;
    font-style: italic;
    color: #4c0519;
    margin-bottom: 2px;
}
.cv-board-desc {
    font-family: 'DM Sans', sans-serif;
    font-size: 7.8pt;
    color: #3f3f46;
    line-height: 1.3;
    margin: 0;
}

/* Novel: Executive Core Capabilities (Squared 2-Col Grid, Full Border) */
.cv-exec-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 4px;
    margin-bottom: 8px;
}
.cv-exec-tile {
    font-family: 'DM Sans', sans-serif;
    background: #f4f4f5;
    border: 1px solid #e4e4e7;
    padding: 4px 6px;
    font-size: 7.8pt;
    font-weight: 600;
    color: #27272a;
    border-radius: 0 !important;
}

/* --------------------------------------------------------------------------
   5. TEMPLATE 10: METRO SWISS INFOGRAPHIC GRID (Squared, Cobalt + Slate)
   -------------------------------------------------------------------------- */
.template-template_10_metro {
    --cv-primary: #1565C0;
    --cv-secondary: #1e293b;
    --cv-border: #cbd5e1;
    --cv-surface: #f8fafc;
    font-family: 'Outfit', 'Roboto', sans-serif;
    color: #1e293b;
}
.cv-header-tpl10 {
    margin-bottom: 12px;
}
.cv-tpl10-grid-banner {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 12px;
    background: #f8fafc;
    border: 1px solid #cbd5e1;
    border-radius: 0 !important;
    padding: 8px 12px;
    align-items: center;
}
.cv-tpl10-left-block {
    display: flex;
    align-items: center;
    gap: 10px;
}
.cv-tpl10-avatar {
    width: 48px;
    height: 48px;
    border-radius: 0 !important;
    background: #1565C0;
    color: #ffffff;
    font-weight: 800;
    font-size: 13pt;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    flex-shrink: 0;
}
.cv-name-tpl10 {
    font-size: 18pt;
    font-weight: 800;
    letter-spacing: -0.3px;
    color: #1e293b;
    line-height: 1.1;
    margin-bottom: 1px;
}
.cv-title-tpl10 {
    font-size: 9.5pt;
    font-weight: 700;
    color: #1565C0;
}
.cv-tpl10-right-badges {
    display: flex;
    flex-direction: column;
    gap: 3px;
}
.cv-tpl10-badge {
    background: #ffffff;
    border: 1px solid #cbd5e1;
    border-radius: 0 !important;
    padding: 2px 6px;
    display: flex;
    gap: 5px;
    align-items: center;
    font-size: 7.8pt;
}
.cv-tpl10-badge .lbl {
    font-size: 6.5pt;
    font-weight: 800;
    background: #1565C0;
    color: #ffffff;
    padding: 1px 3px;
    border-radius: 0 !important;
    letter-spacing: 0.4px;
}
.cv-tpl10-badge .val {
    font-weight: 600;
    color: #1e293b;
}
.template-template_10_metro .cv-section-heading {
    font-size: 9.5pt;
    font-weight: 800;
    color: #1e293b;
    letter-spacing: 0.5px;
    margin-bottom: 6px;
    border-bottom: 2px solid var(--cv-accent, #1565C0);
    padding-bottom: 2px;
}

/* Novel: Career Timeline Track (Squared Node) */
.cv-timeline-track {
    position: relative;
    padding-left: 12px;
    margin-bottom: 8px;
}
.cv-timeline-track::before {
    content: '';
    position: absolute;
    top: 3px;
    bottom: 3px;
    left: 3px;
    width: 1.5px;
    background: #1565C0;
}
.cv-track-step {
    position: relative;
    margin-bottom: 6px;
}
.cv-track-node {
    position: absolute;
    left: -12px;
    top: 3px;
    width: 7px;
    height: 7px;
    border-radius: 0 !important;
    background: #1565C0;
    border: 1px solid #ffffff;
}
.cv-track-content {
    display: flex;
    flex-direction: column;
}
.cv-track-year {
    font-size: 7.5pt;
    font-weight: 800;
    color: #1565C0;
    line-height: 1;
    margin-bottom: 1px;
}
.cv-track-milestone {
    font-size: 8pt;
    font-weight: 600;
    color: #334155;
    line-height: 1.3;
}

/* --------------------------------------------------------------------------
   6. TEMPLATE 11: CREATIVE HORIZON STUDIO (Squared, Violet + Slate)
   -------------------------------------------------------------------------- */
.template-template_11_creative {
    --cv-primary: #4c1d95;
    --cv-secondary: #1e293b;
    --cv-border: #cbd5e1;
    --cv-surface: #faf5ff;
    font-family: 'Poppins', 'Outfit', sans-serif;
    color: #1e293b;
}
.cv-header-tpl11 {
    background: #ffffff;
    border: 1px solid #cbd5e1;
    border-top: 3px solid #4c1d95;
    border-radius: 0 !important;
    margin-bottom: 12px;
    overflow: hidden;
}
.cv-tpl11-gradient-strip {
    display: none;
}
.cv-tpl11-card {
    padding: 10px 14px;
    display: flex;
    align-items: center;
    gap: 12px;
}
.cv-tpl11-avatar {
    width: 48px;
    height: 48px;
    border-radius: 0 !important;
    background: #4c1d95;
    color: #ffffff;
    font-weight: 800;
    font-size: 13pt;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    flex-shrink: 0;
}
.cv-tpl11-info {
    flex: 1;
}
.cv-tpl11-pill-label {
    font-size: 7pt;
    font-weight: 700;
    letter-spacing: 1px;
    color: #4c1d95;
    margin-bottom: 1px;
}
.cv-name-tpl11 {
    font-size: 18pt;
    font-weight: 800;
    letter-spacing: -0.3px;
    color: #0f172a;
    line-height: 1.1;
    margin-bottom: 1px;
}
.cv-title-tpl11 {
    font-size: 9.5pt;
    font-weight: 700;
    color: #4c1d95;
    margin-bottom: 5px;
}
.cv-tpl11-contacts {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
}
.cv-tpl11-pill-tag {
    background: #faf5ff;
    border: 1px solid #ede9fe;
    padding: 1px 6px;
    border-radius: 0 !important;
    font-size: 7.5pt;
    font-weight: 600;
    color: #4c1d95;
}
.template-template_11_creative .cv-section-heading {
    font-size: 9.5pt;
    font-weight: 800;
    letter-spacing: 0.5px;
    color: #4c1d95;
    margin-bottom: 6px;
    border-bottom: 1.5px solid var(--cv-accent, #4c1d95);
    padding-bottom: 2px;
}

/* Novel: Case Studies (Squared, Full Border, Problem/Solution/Impact) */
.cv-case-studies-list {
    display: flex;
    flex-direction: column;
    gap: 6px;
    margin-bottom: 8px;
}
.cv-case-card {
    background: #faf5ff;
    border: 1px solid #ede9fe;
    border-radius: 0 !important;
    padding: 6px 8px;
}
.cv-case-title {
    font-size: 8.5pt;
    font-weight: 700;
    color: #4c1d95;
    margin-bottom: 4px;
}
.cv-case-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 5px;
}
.cv-case-col p {
    font-size: 7.5pt;
    color: #334155;
    line-height: 1.3;
    margin: 2px 0 0;
}
.cv-case-tag {
    font-size: 6.5pt;
    font-weight: 800;
    padding: 1px 4px;
    border-radius: 0 !important;
    display: inline-block;
}
.tag-problem { background: #fef2f2; color: #991b1b; border: 1px solid #fecaca; }
.tag-solution { background: #E3F2FD; color: #0D47A1; border: 1px solid #bfdbfe; }
.tag-impact { background: #ecfdf5; color: #065f46; border: 1px solid #a7f3d0; }

/* ==================================================================== */
/* CV STUDIO COMMERCIAL BLUEPRINT DESIGN SYSTEM (PHASE 1 & 2)           */
/* ==================================================================== */

/* ==================================================================== */
/* MODERN HERO SECTION & INPUT INGESTION DESIGN                         */
/* ==================================================================== */

.input-hero {
    text-align: center;
    padding: 2.5rem 1rem 1.75rem;
    max-width: 860px;
    margin: 0 auto;
}

.hero-eyebrow {
    margin-bottom: 0.75rem;
}

.hero-eyebrow-pill {
    display: inline-block;
    background: #f1f5f9;
    color: #0f172a;
    border: 1px solid #cbd5e1;
    padding: 3px 10px;
    border-radius: 0 !important;
    font-family: 'Outfit', -apple-system, BlinkMacSystemFont, sans-serif;
    font-size: 0.72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
}

.input-hero-title {
    font-family: 'Outfit', sans-serif;
    font-size: 2.35rem;
    font-weight: 800;
    letter-spacing: -0.035em;
    color: #0f172a;
    line-height: 1.15;
    margin-bottom: 0.75rem;
}

.input-hero-sub {
    font-size: 0.98rem;
    color: #64748b;
    max-width: 680px;
    margin: 0 auto 1.25rem;
    line-height: 1.55;
    font-weight: 400;
}

.hero-proof-chips-row {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.45rem;
    margin-bottom: 1.25rem;
}

.hero-proof-chip {
    background: #ffffff;
    border: 1px solid #cbd5e1;
    border-radius: 0 !important;
    padding: 0.32rem 0.75rem;
    font-family: 'Outfit', sans-serif;
    font-size: 0.75rem;
    font-weight: 600;
    color: #334155;
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.03);
}

.hero-actions-row {
    display: flex;
    gap: 10px;
    justify-content: center;
    align-items: center;
    margin-top: 0.5rem;
}

.btn-hero-cta {
    padding: 0.6rem 1.4rem;
    font-family: 'Outfit', sans-serif;
    font-size: 0.88rem;
    font-weight: 700;
    border-radius: 0 !important;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    transition: all 0.15s ease;
    text-decoration: none;
}

/* Master CV Summary Live Indicator */
.master-cv-status-pill {
    background: #f0fdf4;
    border: 1px solid #bbf7d0;
    color: #166534;
    font-size: 0.75rem;
    font-weight: 700;
    padding: 0.25rem 0.6rem;
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    margin-top: 0.4rem;
}

/* Demo Mode Indicator Bar - Executive Minimalist Banner */
.demo-mode-indicator-bar {
    background: #ffffff;
    border: 1px solid #cbd5e1;
    border-left: 3px solid #0f172a;
    border-radius: 0 !important;
    color: #334155;
    font-family: 'Outfit', -apple-system, BlinkMacSystemFont, sans-serif;
    font-size: 0.82rem;
    font-weight: 500;
    padding: 0.65rem 1rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin: 0 auto 1.25rem auto;
    max-width: 1100px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
}

.demo-bar-left {
    display: flex;
    align-items: center;
    gap: 10px;
}

.demo-bar-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    color: #475569;
    flex-shrink: 0;
}

.demo-badge {
    background: #0f172a;
    color: #ffffff;
    font-size: 0.65rem;
    font-weight: 700;
    padding: 3px 8px;
    border-radius: 0 !important;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    flex-shrink: 0;
}

.demo-bar-text {
    color: #334155;
    font-size: 0.82rem;
}

.demo-bar-text strong {
    color: #0f172a;
    font-weight: 700;
}

.demo-bar-role {
    color: #64748b;
    font-weight: 400;
}

.btn-demo-clear {
    background: #ffffff;
    border: 1px solid #cbd5e1;
    border-radius: 0 !important;
    color: #475569;
    font-family: 'Outfit', -apple-system, BlinkMacSystemFont, sans-serif;
    font-weight: 600;
    font-size: 0.75rem;
    padding: 5px 12px;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    cursor: pointer;
    transition: all 0.15s ease;
}

.btn-demo-clear:hover {
    background: #0f172a;
    color: #ffffff;
    border-color: #0f172a;
}

/* Sample profile banner: compact status treatment with resilient text wrapping. */
#demoModeBar.demo-mode-indicator-bar {
    width: 100%;
    max-width: 1100px;
    min-height: 58px;
    margin: 0 auto 1.25rem;
    padding: 0.65rem 0.8rem 0.65rem 1rem;
    gap: 1rem;
    background: rgba(255, 255, 255, 0.86);
    border: 1px solid #d2e0dc;
    border-left: 4px solid #1565C0;
    border-radius: 8px !important;
    box-shadow: 0 8px 24px rgba(18, 65, 59, 0.06);
}

#demoModeBar .demo-bar-left {
    min-width: 0;
    flex: 1 1 auto;
    gap: 0.7rem;
}

#demoModeBar .demo-bar-icon {
    width: 30px;
    height: 30px;
    border: 1px solid #b8dcd5;
    border-radius: 50% !important;
    background: #e7f4f1;
    color: #1565C0;
}

#demoModeBar .demo-badge {
    flex-shrink: 0;
    padding: 0.32rem 0.58rem;
    border-radius: 4px !important;
    background: #102a2a;
    color: #ffffff;
    font-size: 0.64rem;
    letter-spacing: 0.08em;
}

#demoModeBar .demo-bar-text {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: #52635f;
    font-size: 0.82rem;
}

#demoModeBar .demo-bar-text strong {
    color: #173b37;
    font-weight: 800;
}

#demoModeBar .demo-bar-role {
    color: #71817d;
}

#demoModeBar .btn-demo-clear {
    flex: 0 0 auto;
    min-height: 34px;
    padding: 0.42rem 0.72rem;
    border-color: #c6d7d3;
    border-radius: 5px !important;
    color: #36534f;
    background: #ffffff;
    white-space: nowrap;
}

@media (max-width: 680px) {
    #demoModeBar.demo-mode-indicator-bar {
        align-items: flex-start;
        flex-wrap: wrap;
        gap: 0.7rem;
        padding: 0.8rem;
    }

    #demoModeBar .demo-bar-left {
        flex-basis: 100%;
    }

    #demoModeBar .demo-bar-text {
        white-space: normal;
        line-height: 1.35;
    }

    #demoModeBar .btn-demo-clear {
        margin-left: 2.35rem;
    }
}

/* Clean Ingestion Card Box */
.input-card-box {
    background: #ffffff;
    border: 1px solid #cbd5e1;
    border-radius: 0 !important;
    box-shadow: 0 4px 20px -2px rgba(0, 0, 0, 0.04);
    padding: 1.5rem;
    margin-top: 0.5rem;
}

.input-card-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 1.25rem;
    padding-bottom: 0.85rem;
    border-bottom: 1px solid #f1f5f9;
}

.input-card-title {
    font-family: 'Outfit', sans-serif;
    font-size: 1.15rem;
    font-weight: 800;
    letter-spacing: -0.02em;
    color: #0f172a;
    margin: 0;
}

.input-card-sub {
    display: block;
    font-size: 0.8rem;
    color: #64748b;
    margin-top: 2px;
    font-weight: 400;
}

/* Homepage polish: quiet editorial shell with a clear application entry point. */
#viewInputStudio {
    background:
        radial-gradient(circle at 8% 4%, color-mix(in srgb, var(--brand-blue) 10%, transparent), transparent 26rem),
        linear-gradient(180deg, #fffafd 0%, #f7f4f6 58%, #f3eef2 100%);
}

#viewInputStudio .input-studio-container {
    max-width: 1280px;
    padding: 3.75rem 1.5rem 4.5rem;
    gap: 2.15rem;
}

#viewInputStudio .input-hero {
    max-width: 1040px;
    padding: 1rem 0 0.4rem;
    text-align: left;
}

#viewInputStudio .hero-eyebrow {
    margin-bottom: 1.1rem;
}

#viewInputStudio .hero-eyebrow-pill {
    background: #e5f2ef;
    border-color: #b8dcd5;
    color: #17645e;
    padding: 0.42rem 0.72rem;
    font-size: 0.68rem;
    letter-spacing: 0.12em;
}

#viewInputStudio .input-hero-title {
    max-width: 900px;
    font-size: clamp(2.7rem, 5.1vw, 4.65rem);
    line-height: 0.98;
    letter-spacing: 0;
    margin-bottom: 1.2rem;
}

#viewInputStudio .input-hero-sub {
    max-width: 700px;
    margin: 0 0 1.45rem;
    color: #52635f;
    font-size: 1.04rem;
    line-height: 1.62;
}

#viewInputStudio .hero-proof-chips-row {
    justify-content: flex-start;
    gap: 0.55rem;
    margin-bottom: 1.35rem;
}

#viewInputStudio .hero-proof-chip {
    border-color: #d5e2df;
    background: rgba(255, 255, 255, 0.72);
    color: #39534f;
    box-shadow: none;
    padding: 0.42rem 0.7rem;
}

#viewInputStudio .hero-actions-row {
    justify-content: flex-start;
    margin-top: 0;
}

#viewInputStudio .btn-hero-cta {
    min-height: 44px;
    padding: 0.68rem 1.1rem;
}

#viewInputStudio .input-card-box {
    border-color: #d3dfdc;
    box-shadow: 0 24px 65px rgba(18, 65, 59, 0.09);
    padding: 0;
    margin-top: 0;
    overflow: hidden;
}

#viewInputStudio .input-card-header {
    padding: 1.25rem 1.55rem;
    margin-bottom: 0;
    background: #fbfdfc;
    border-bottom-color: #e2eae7;
}

#viewInputStudio .input-card-title {
    font-size: 1.12rem;
    letter-spacing: 0;
}

#viewInputStudio .input-form-grid {
    padding: 1.55rem;
    gap: 1.25rem;
}

#viewInputStudio .dropzone,
#viewInputStudio .modern-jd-card {
    border-color: #f3c3e4;
    background: #fffcfe;
    box-shadow: none;
}

#viewInputStudio .dropzone:hover,
#viewInputStudio .modern-jd-card:hover {
    border-color: var(--brand-blue);
    background: #fff7fc;
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--brand-blue) 12%, transparent);
}

#viewInputStudio .feature-highlights-row {
    gap: 0.85rem;
}

#viewInputStudio .feature-card {
    border-color: #d5e1de;
    background: rgba(255, 255, 255, 0.7);
    box-shadow: none;
}

@media (max-width: 860px) {
    #viewInputStudio .input-studio-container {
        padding: 2.5rem 1rem 3rem;
    }

    #viewInputStudio .input-hero-title {
        font-size: clamp(2.5rem, 11vw, 3.6rem);
    }

    #viewInputStudio .input-card-header {
        align-items: flex-start;
        flex-direction: column;
        gap: 0.8rem;
    }
}

@media (max-width: 560px) {
    #viewInputStudio .hero-proof-chips-row,
    #viewInputStudio .hero-actions-row {
        align-items: stretch;
        flex-direction: column;
    }

    #viewInputStudio .hero-proof-chip,
    #viewInputStudio .hero-actions-row .btn {
        justify-content: center;
        width: 100%;
    }

    #viewInputStudio .input-form-grid {
        padding: 1rem;
    }
}


/* Intelligence Views (Match, Recruiter Review, Application Package) */
.intelligence-view-container {
    max-width: 1200px;
    margin: 1.25rem auto;
    padding: 0 1.25rem;
}
.intelligence-view-header {
    background: var(--bg-surface);
    border: 1px solid var(--border-medium);
    padding: 1.25rem 1.5rem;
    margin-bottom: 1.25rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
    box-shadow: var(--shadow-panel);
}
.intelligence-view-title {
    font-size: 1.25rem;
    font-weight: 800;
    color: var(--text-main);
    letter-spacing: -0.02em;
}
.intelligence-view-sub {
    font-size: 0.84rem;
    color: var(--text-muted);
    margin-top: 2px;
}

/* Match Dashboard Layout */
.match-dashboard-grid {
    display: grid;
    grid-template-columns: 360px 1fr;
    gap: 1.25rem;
    margin-bottom: 1.25rem;
}
@media (max-width: 960px) {
    .match-dashboard-grid {
        grid-template-columns: 1fr;
    }
}

.match-score-card {
    background: var(--bg-surface);
    border: 1px solid var(--border-medium);
    padding: 1.5rem;
    box-shadow: var(--shadow-panel);
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
}
.match-score-hero {
    text-align: center;
    border-bottom: 1px solid var(--border-light);
    padding-bottom: 1.25rem;
}
.match-score-dial {
    width: 104px;
    height: 104px;
    margin: 0 auto 0.75rem auto;
    background: #f8fafc;
    border: 4px solid var(--accent-teal);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}
.match-score-number {
    font-size: 2.2rem;
    font-weight: 900;
    color: var(--text-main);
    line-height: 1;
}
.match-score-denom {
    font-size: 0.72rem;
    font-weight: 700;
    color: var(--text-subtle);
}
.match-tier-badge {
    display: inline-block;
    background: var(--accent-teal-light);
    color: var(--accent-teal-dark);
    font-size: 0.78rem;
    font-weight: 800;
    text-transform: uppercase;
    padding: 0.25rem 0.65rem;
    border: 1px solid var(--accent-teal-border);
    margin-bottom: 0.4rem;
}
.match-score-interp {
    font-size: 0.82rem;
    color: var(--text-muted);
    line-height: 1.4;
}

/* Component Breakdown Rows */
.match-components-list {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}
.match-comp-item {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}
.match-comp-header {
    display: flex;
    justify-content: space-between;
    font-size: 0.78rem;
    font-weight: 600;
    color: var(--text-main);
}
.match-comp-weight {
    font-size: 0.7rem;
    color: var(--text-subtle);
    font-weight: 500;
}
.match-comp-track {
    height: 7px;
    background: var(--bg-subtle);
    border: 1px solid var(--border-light);
    overflow: hidden;
}
.match-comp-fill {
    height: 100%;
    background: var(--accent-teal);
    transition: width 0.4s ease;
}

/* Factual Integrity Card */
.integrity-card {
    background: #f0fdf4;
    border: 1px solid #bbf7d0;
    padding: 1.25rem;
    box-shadow: var(--shadow-panel);
}
.integrity-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 0.75rem;
}
.integrity-badge {
    background: var(--brand-blue);
    color: #ffffff;
    font-size: 0.72rem;
    font-weight: 800;
    padding: 0.2rem 0.55rem;
    text-transform: uppercase;
}
.integrity-metrics-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0.5rem;
    margin-top: 0.75rem;
    text-align: center;
}
.integrity-metric-box {
    background: #ffffff;
    border: 1px solid #dcfce7;
    padding: 0.5rem 0.25rem;
}
.integrity-metric-val {
    font-size: 1.2rem;
    font-weight: 800;
    color: #166534;
}
.integrity-metric-lbl {
    font-size: 0.68rem;
    color: #15803d;
    font-weight: 600;
}

/* Requirement to Evidence Matrix */
.evidence-matrix-container {
    background: var(--bg-surface);
    border: 1px solid var(--border-medium);
    padding: 1.5rem;
    box-shadow: var(--shadow-panel);
}
.evidence-matrix-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 1.25rem;
    border-bottom: 1px solid var(--border-light);
    padding-bottom: 0.75rem;
}
.evidence-matrix-title {
    font-size: 1.05rem;
    font-weight: 800;
    color: var(--text-main);
}
.evidence-cards-list {
    display: flex;
    flex-direction: column;
    gap: 0.85rem;
}
.evidence-card {
    background: #ffffff;
    border: 1px solid var(--border-medium);
    padding: 1rem;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    transition: border-color 0.15s ease;
}
.evidence-card:hover {
    border-color: var(--border-dark);
}
.evidence-card-top {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 0.75rem;
}
.evidence-req-title {
    font-size: 0.88rem;
    font-weight: 700;
    color: var(--text-main);
}
.status-badge-strong {
    background: var(--brand-blue-light);
    color: var(--brand-blue-dark);
    border: 1px solid var(--brand-blue-border);
    font-size: 0.7rem;
    font-weight: 800;
    padding: 0.2rem 0.5rem;
    white-space: nowrap;
}
.status-badge-partial {
    background: #E3F2FD;
    color: #0D47A1;
    border: 1px solid #93c5fd;
    font-size: 0.7rem;
    font-weight: 800;
    padding: 0.2rem 0.5rem;
    white-space: nowrap;
}
.status-badge-indirect {
    background: #fef3c7;
    color: #92400e;
    border: 1px solid #fcd34d;
    font-size: 0.7rem;
    font-weight: 800;
    padding: 0.2rem 0.5rem;
    white-space: nowrap;
}
.status-badge-none {
    background: #f1f5f9;
    color: #475569;
    border: 1px solid #cbd5e1;
    font-size: 0.7rem;
    font-weight: 800;
    padding: 0.2rem 0.5rem;
    white-space: nowrap;
}
.evidence-quote-box {
    background: #f8fafc;
    border-left: 3px solid var(--accent-teal);
    padding: 0.45rem 0.65rem;
    font-size: 0.8rem;
    color: var(--text-muted);
    font-style: italic;
}
.evidence-rec-box {
    font-size: 0.78rem;
    color: var(--text-main);
    display: flex;
    align-items: center;
    gap: 0.35rem;
}
.evidence-rec-tag {
    font-weight: 700;
    color: var(--accent-blue);
    font-size: 0.7rem;
    text-transform: uppercase;
}

/* Recruiter Review Layout */
.recruiter-review-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1.25rem;
}
@media (max-width: 900px) {
    .recruiter-review-grid {
        grid-template-columns: 1fr;
    }
}
.recruiter-panel-card {
    background: var(--bg-surface);
    border: 1px solid var(--border-medium);
    padding: 1.5rem;
    box-shadow: var(--shadow-panel);
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
}
.recruiter-score-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-bottom: 1px solid var(--border-light);
    padding-bottom: 1rem;
}
.recruiter-score-badge {
    background: #f8fafc;
    border: 2px solid var(--accent-teal);
    padding: 0.4rem 0.8rem;
    font-size: 1.1rem;
    font-weight: 800;
    color: var(--text-main);
}
.recruiter-section-block {
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
}
.recruiter-section-title {
    font-size: 0.82rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--text-muted);
    display: flex;
    align-items: center;
    gap: 0.35rem;
}
.recruiter-bullets-list {
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
}
.recruiter-bullets-list li {
    font-size: 0.84rem;
    color: var(--text-main);
    line-height: 1.4;
    padding-left: 1.2rem;
    position: relative;
}
.recruiter-bullets-list li::before {
    content: "•";
    position: absolute;
    left: 0.35rem;
    color: var(--accent-teal);
    font-weight: bold;
}

/* Interview Prep Layout */
.interview-prep-list {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}
.interview-prep-item {
    background: #f8fafc;
    border: 1px solid var(--border-light);
    padding: 1rem;
}
.interview-prep-item h4 {
    font-size: 0.86rem;
    font-weight: 800;
    color: var(--text-main);
    margin-bottom: 0.35rem;
}
.interview-prep-item p {
    font-size: 0.82rem;
    color: var(--text-muted);
    line-height: 1.4;
}

/* Application Package View ("Your Application is Ready") */
.package-ready-hero {
    background: #ffffff;
    border: 1px solid #cbd5e1;
    border-radius: 0 !important;
    padding: 2.25rem 2rem;
    text-align: center;
    margin-bottom: 1.5rem;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
}
.package-ready-title {
    font-size: 1.85rem;
    font-weight: 800;
    color: #0f172a;
    letter-spacing: -0.02em;
    margin-bottom: 0.45rem;
}
.package-ready-sub {
    font-size: 0.92rem;
    color: #475569;
    font-weight: 600;
    line-height: 1.5;
}
.package-cards-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 1.25rem;
    margin-bottom: 1.5rem;
}
.package-action-card {
    background: #ffffff;
    border: 1px solid #cbd5e1;
    border-radius: 0 !important;
    padding: 1.6rem;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 1.15rem;
    transition: transform 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease;
}
.package-action-card:hover {
    border-color: #0f172a;
    transform: translateY(-2px);
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.08);
}
.package-card-icon {
    width: 44px;
    height: 44px;
    background: #f1f5f9;
    border-radius: 0 !important;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #0f172a;
}
.package-card-title {
    font-size: 1.05rem;
    font-weight: 800;
    color: #0f172a;
    margin-bottom: 0.25rem;
}
.package-card-desc {
    font-size: 0.84rem;
    color: #475569;
    line-height: 1.45;
}

/* My Applications Modal & Saved History */
.app-history-list {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    max-height: 480px;
    overflow-y: auto;
}
.app-history-card {
    background: #ffffff;
    border: 1px solid var(--border-medium);
    border-radius: 0 !important;
    padding: 0.85rem 1rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
    transition: all 0.15s ease;
}
.app-history-card:hover {
    border-color: var(--text-main);
    box-shadow: 0 1px 4px rgba(15, 23, 42, 0.06);
}
.app-card-avatar {
    width: 38px;
    height: 38px;
    background: #f8fafc;
    border: 1px solid #cbd5e1;
    border-radius: 0 !important;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.82rem;
    font-weight: 800;
    color: #0f172a;
    letter-spacing: 0.5px;
    flex-shrink: 0;
}
.app-card-candidate-row {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    line-height: 1.2;
}
.app-card-candidate-name {
    font-size: 0.95rem;
    font-weight: 800;
    color: #0f172a;
    letter-spacing: -0.2px;
}
.app-card-doc-badge {
    font-size: 0.68rem;
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
    font-weight: 600;
    color: #475569;
    background: #f1f5f9;
    border: 1px solid #cbd5e1;
    border-radius: 0 !important;
    padding: 1px 6px;
    max-width: 260px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.app-card-title {
    font-size: 0.85rem;
    font-weight: 700;
    color: #334155;
    margin-top: 3px;
    line-height: 1.3;
}
.app-card-at {
    font-weight: 400;
    color: #94a3b8;
    font-size: 0.8rem;
    margin: 0 2px;
}
.app-card-company {
    font-weight: 700;
    color: #1565C0;
}
.app-card-meta {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    font-size: 0.75rem;
    color: #64748b;
    margin-top: 5px;
}
.app-card-match-pill {
    display: inline-flex;
    align-items: center;
    padding: 1px 6px;
    font-weight: 700;
    font-size: 0.7rem;
    color: #1565C0;
    background: var(--brand-blue-light);
    border: 1px solid var(--brand-blue-border);
    border-radius: 0 !important;
}
.app-card-integrity-pill {
    display: inline-flex;
    align-items: center;
    padding: 1px 6px;
    font-weight: 600;
    font-size: 0.7rem;
    color: #166534;
    background: #f0fdf4;
    border: 1px solid #bbf7d0;
    border-radius: 0 !important;
}
.app-card-actions-col {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-shrink: 0;
}
.app-status-select {
    padding: 0.25rem 0.5rem;
    font-size: 0.75rem;
    font-weight: 600;
    border: 1px solid #cbd5e1;
    border-radius: 0 !important;
    background: #ffffff;
    color: #0f172a;
}

/* Trust & Privacy Modal */
.trust-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
    margin: 1rem 0;
}
@media (max-width: 700px) {
    .trust-grid {
        grid-template-columns: 1fr;
    }
}
.trust-card {
    background: #f8fafc;
    border: 1px solid var(--border-light);
    padding: 1rem;
}
.trust-card h4 {
    font-size: 0.88rem;
    font-weight: 800;
    color: var(--text-main);
    margin-bottom: 0.35rem;
}
.trust-card p {
    font-size: 0.8rem;
    color: var(--text-muted);
    line-height: 1.4;
}
.btn-purge-data {
    background: #fef2f2;
    border: 1px solid #f87171;
    color: #991b1b;
    font-size: 0.8rem;
    font-weight: 700;
    padding: 0.5rem 1rem;
    cursor: pointer;
    transition: all 0.15s ease;
}
.btn-purge-data:hover {
    background: #fee2e2;
}

#viewPrivacy {
    background: #fcfcfd;
    color: #14141a;
}

.privacy-page {
    max-width: 820px;
    margin: 0 auto;
    padding: 3.25rem 1.5rem 5rem;
}

.privacy-kicker {
    display: inline-flex;
    margin: 0 0 0.85rem;
    padding: 0.3rem 0.7rem;
    border-radius: 999px;
    background: #fff0fa;
    border: 1px solid #f6d5ec;
    color: var(--brand-blue-dark);
    font-size: 0.75rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.privacy-hero h1 {
    margin: 0 0 0.9rem;
    font-size: 2.35rem;
    line-height: 1.15;
    letter-spacing: -0.03em;
    color: #14141a;
}

.privacy-lead,
.privacy-section p,
.privacy-section li,
.privacy-meta {
    color: #3f4651;
    font-size: 1.02rem;
    line-height: 1.65;
}

.privacy-lead { margin: 0 0 1rem; }

.privacy-meta {
    margin: 0;
    font-size: 0.92rem;
    color: #5c6570;
}

.privacy-page a {
    color: var(--brand-blue-dark);
    text-underline-offset: 2px;
}

.privacy-toc {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
    margin: 1.75rem 0 0.5rem;
}

.privacy-toc a {
    text-decoration: none;
    background: #ffffff;
    border: 1px solid #f0e7ec;
    border-radius: 999px;
    padding: 0.35rem 0.7rem;
    font-size: 0.82rem;
    font-weight: 600;
}

.privacy-toc a:hover {
    border-color: var(--brand-blue-border);
    background: #fff7fc;
}

.privacy-section {
    margin-top: 2.4rem;
    scroll-margin-top: calc(var(--nav-offset, 64px) + 16px);
}

.privacy-section h2 {
    margin: 0 0 0.75rem;
    font-size: 1.35rem;
    letter-spacing: -0.02em;
    color: #14141a;
}

.privacy-section ul {
    margin: 0.4rem 0 0.9rem;
    padding-left: 1.2rem;
}

.privacy-section li + li { margin-top: 0.4rem; }

.privacy-table-wrap {
    overflow-x: auto;
    margin: 1rem 0;
    border: 1px solid #f0e7ec;
    background: #ffffff;
}

.privacy-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.92rem;
}

.privacy-table th,
.privacy-table td {
    text-align: left;
    vertical-align: top;
    padding: 0.75rem 0.85rem;
    border-bottom: 1px solid #f3e8ee;
}

.privacy-table th {
    background: #fff7fc;
    color: #14141a;
    font-size: 0.78rem;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.privacy-table code {
    font-size: 0.82rem;
    color: var(--brand-blue-dark);
}

.privacy-delete {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
    margin: 1rem 0;
    padding: 1rem 1.1rem;
    background: #ffffff;
    border: 1px solid #f3d0d0;
}

.privacy-delete p {
    margin: 0.25rem 0 0;
    font-size: 0.92rem;
}

.privacy-text-btn {
    border: 0;
    background: transparent;
    color: var(--brand-blue-dark);
    font: inherit;
    font-weight: 600;
    cursor: pointer;
    padding: 0;
    text-decoration: underline;
    text-underline-offset: 2px;
}

@media (max-width: 700px) {
    .privacy-hero h1 { font-size: 1.85rem; }
    .privacy-delete { flex-direction: column; align-items: flex-start; }
    .privacy-table thead { display: none; }
    .privacy-table,
    .privacy-table tbody,
    .privacy-table tr,
    .privacy-table td { display: block; width: 100%; }
    .privacy-table tr { padding: 0.35rem 0 0.7rem; }
    .privacy-table td { border-bottom: 0; padding: 0.2rem 0.85rem; }
    .privacy-table td:first-child { padding-top: 0.75rem; font-weight: 700; }
}

/* Before / After Diff Review Modal */
.diff-review-list {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    max-height: 520px;
    overflow-y: auto;
}
.diff-item-card {
    background: #ffffff;
    border: 1px solid var(--border-medium);
    padding: 1rem;
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}
.diff-grid-cols {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.75rem;
}
.diff-box-orig {
    background: #fef2f2;
    border: 1px solid #fee2e2;
    padding: 0.65rem;
    font-size: 0.8rem;
    color: #991b1b;
}
.diff-box-opt {
    background: #ecfdf5;
    border: 1px solid #d1fae5;
    padding: 0.65rem;
    font-size: 0.8rem;
    color: #065f46;
}
.diff-why-box {
    background: #f8fafc;
    border-left: 3px solid var(--accent-blue);
    padding: 0.4rem 0.6rem;
    font-size: 0.76rem;
    color: var(--text-muted);
}
.diff-actions-row {
    display: flex;
    justify-content: flex-end;
    gap: 0.5rem;
}

/* ============================================================
   BLUEPRINT GAP FIXES — Analysis Summary Pills & Gap Prompts
   ============================================================ */

/* Pre-flight Readiness Summary Container & Cards (Blueprint §29) */
.input-readiness-row {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
    margin-top: 0.75rem;
    margin-bottom: 0.75rem;
}

@media (max-width: 768px) {
    .input-readiness-row {
        grid-template-columns: 1fr;
    }
}

.readiness-summary-card,
.analysis-summary-pill {
    background: #ffffff;
    border: 1px solid #cbd5e1;
    border-left: 3px solid var(--brand-blue);
    border-radius: 0 !important;
    padding: 0.7rem 0.95rem;
    display: flex;
    align-items: center;
    gap: 12px;
    font-family: 'Outfit', -apple-system, BlinkMacSystemFont, sans-serif;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.03);
}

.analysis-summary-pill::before {
    display: none !important;
    content: none !important;
}

.readiness-card-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    background: var(--brand-blue-light);
    border: 1px solid var(--brand-blue-border);
    color: var(--brand-blue-dark);
    flex-shrink: 0;
    border-radius: 0 !important;
}

.readiness-card-body {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
}

.readiness-card-title {
    font-size: 0.75rem;
    font-weight: 700;
    color: #0f172a;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.readiness-card-desc {
    font-size: 0.8rem;
    color: #475569;
    font-weight: 500;
    line-height: 1.35;
}

.readiness-card-desc strong {
    color: #0f172a;
    font-weight: 700;
}

/* Gap analysis inline prompt for No Evidence Found cards (blueprint §7.3) */
.evidence-gap-prompt {
    margin-top: 8px;
    padding: 8px 10px;
    background: #f8fafc;
    border: 1px solid #cbd5e1;
    border-left: 3px solid #f59e0b;
    border-radius: 0 !important;
    font-size: 0.78rem;
    color: #334155;
    font-family: 'Outfit', -apple-system, BlinkMacSystemFont, sans-serif;
}
.evidence-gap-prompt strong {
    display: block;
    margin-bottom: 2px;
    color: #0f172a;
}

/* Highlight No Evidence Found cards */
.evidence-card-gap {
    border-color: #fcd34d !important;
    background: #fffdf0 !important;
}

/* Template card ATS metadata (blueprint §10.2) */
.template-card-meta {
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
    margin-top: 6px;
}
.template-meta-tag {
    font-size: 0.68rem;
    padding: 2px 6px;
    border-radius: 4px;
    font-family: 'Outfit', sans-serif;
    font-weight: 600;
    letter-spacing: 0.02em;
    text-transform: uppercase;
}
.tag-ats { background: var(--brand-blue-light); color: var(--brand-blue-dark); }
.tag-audience { background: #E3F2FD; color: #0D47A1; }
.tag-pages { background: #f3f4f6; color: #374151; }

/* ======================================================== */
/* DYNAMIC & EXTENDED RESUME SECTIONS (UNIFORM TYPOGRAPHY & ELEGANT DESIGNS) */
/* ======================================================== */
.dynamic-custom-section {
    margin-bottom: 0.65rem;
    box-sizing: border-box;
}

.dynamic-custom-section .cv-section-heading {
    font-size: 13.5px !important;
    font-weight: 700 !important;
    letter-spacing: 0.05em !important;
    text-transform: uppercase !important;
    line-height: 1em !important;
}

.cv-custom-list {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    margin-top: 0.25rem;
}

.cv-custom-item {
    display: flex;
    align-items: baseline;
    gap: 0.45rem;
    font-size: 13px !important;
    line-height: 1em !important;
    color: #334155;
    box-sizing: border-box;
}

.cv-custom-item .bullet-dot {
    color: #475569;
    font-size: 12px;
    line-height: 1;
    flex-shrink: 0;
}

.cv-custom-item-text,
.cv-custom-para {
    font-size: 13px !important;
    line-height: 1em !important;
    color: #334155;
    flex: 1;
}

.cv-custom-lead {
    font-weight: 700 !important;
    color: #0f172a;
    font-size: 13px !important;
}

/* Creative Squared Chip Grid for Skills/Certifications/Status/Interests */
.cv-custom-chip-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
    margin-top: 0.3rem;
}

.cv-custom-chip {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.22rem 0.55rem;
    background: #f8fafc;
    border: 1px solid #cbd5e1;
    border-radius: 2px;
    font-size: 12.5px !important;
    line-height: 1.25 !important;
    color: #1e293b;
    font-weight: 500;
    box-sizing: border-box;
    transition: background 0.15s ease, border-color 0.15s ease;
}

.cv-custom-chip:hover {
    background: #f1f5f9;
    border-color: #94a3b8;
}

.cv-custom-chip-bullet {
    color: var(--cv-accent, var(--brand-blue));
    font-size: 10px;
    line-height: 1;
    font-weight: bold;
}

.cv-custom-chip-text {
    font-size: 12.5px !important;
    line-height: 1.25 !important;
    color: #1e293b;
}

/* Template Inversion Overrides for Sidebar Layouts (Navy / Aisha) */
.template-template_3_navy .cv-left-col .dynamic-custom-section .cv-section-heading,
.template-template_6_aisha .cv-left-col .dynamic-custom-section .cv-section-heading {
    color: #ffffff !important;
}

.template-template_3_navy .cv-left-col .cv-custom-item,
.template-template_3_navy .cv-left-col .cv-custom-item-text,
.template-template_3_navy .cv-left-col .cv-custom-para,
.template-template_6_aisha .cv-left-col .cv-custom-item,
.template-template_6_aisha .cv-left-col .cv-custom-item-text,
.template-template_6_aisha .cv-left-col .cv-custom-para {
    color: #f1f5f9 !important;
    font-size: 13px !important;
}

.template-template_3_navy .cv-left-col .cv-custom-lead,
.template-template_6_aisha .cv-left-col .cv-custom-lead {
    color: #ffffff !important;
}

.template-template_3_navy .cv-left-col .cv-custom-item .bullet-dot,
.template-template_6_aisha .cv-left-col .cv-custom-item .bullet-dot {
    color: #cbd5e1 !important;
}

.template-template_3_navy .cv-left-col .cv-custom-chip,
.template-template_6_aisha .cv-left-col .cv-custom-chip {
    background: rgba(255, 255, 255, 0.12) !important;
    border: 1px solid rgba(255, 255, 255, 0.28) !important;
    color: #ffffff !important;
}

.template-template_3_navy .cv-left-col .cv-custom-chip-text,
.template-template_6_aisha .cv-left-col .cv-custom-chip-text {
    color: #ffffff !important;
}

.template-template_3_navy .cv-left-col .cv-custom-chip-bullet,
.template-template_6_aisha .cv-left-col .cv-custom-chip-bullet {
    color: #ffffff !important;
}

/* ==========================================================================
   DEDICATED ATS MINIMAL TEMPLATE (template_ats_minimal)
   Single-Column, Linear Flow, Machine-Readable, High Contrast
   ========================================================================== */
.tpl-thumb-ats {
    background: #ffffff;
    border: 1px solid #0f172a !important;
    border-radius: 0 !important;
}
.thumb-ats-bar {
    background: #0f172a !important;
    border-radius: 0 !important;
}
.thumb-ats-hdr {
    background: #0f172a !important;
    border-radius: 0 !important;
    height: 3px !important;
}

.template-template_ats_minimal .cv-body {
    grid-template-columns: minmax(0, 1fr) !important;
    display: block !important;
    gap: 0.75rem !important;
}
.template-template_ats_minimal #cvColRight {
    display: none !important;
}
.template-template_ats_minimal #cvColLeft {
    width: 100% !important;
    max-width: 100% !important;
}
.template-template_ats_minimal .cv-header-tpl2 {
    border-bottom: 2px solid #0f172a !important;
    padding-bottom: 0.5rem !important;
    margin-bottom: 0.85rem !important;
}
.template-template_ats_minimal .cv-header-right {
    display: none !important;
}
.template-template_ats_minimal .cv-name {
    font-size: 1.55rem !important;
    font-weight: 800 !important;
    color: #0f172a !important;
    letter-spacing: -0.01em;
}
.template-template_ats_minimal .cv-title-teal {
    color: #334155 !important;
    font-weight: 700 !important;
    font-size: 0.88rem !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em;
}
.template-template_ats_minimal .cv-contact-row {
    font-size: 0.76rem !important;
    color: #334155 !important;
}
.template-template_ats_minimal .cv-section-header-row {
    border-bottom: 1.5px solid #0f172a !important;
    padding-bottom: 2px !important;
    margin-bottom: 5px !important;
}
.template-template_ats_minimal .cv-section-heading {
    color: #0f172a !important;
    font-weight: 800 !important;
    font-size: 0.82rem !important;
    letter-spacing: 0.06em !important;
    text-transform: uppercase !important;
}
.template-template_ats_minimal .cv-exp-company,
.template-template_ats_minimal .cv-edu-inst,
.template-template_ats_minimal .cv-skill-cat-name {
    color: #4a5968 !important;
    font-weight: 700 !important;
}
.template-template_ats_minimal .cv-bullet-item {
    font-size: 0.82rem !important;
    line-height: 1em !important;
    color: #5f6e7d !important;
}

/* ==========================================================================
   CV QUALITY AUDIT MODAL & DYNAMIC SECTION ENGINE STYLES
   ========================================================================== */
.quality-dim-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 6px 10px;
    border: 1px solid #cbd5e1;
    background: #ffffff;
    border-radius: 0;
}
.quality-dim-label {
    font-size: 0.8rem;
    font-weight: 600;
    color: #1e293b;
    min-width: 150px;
}
.quality-dim-bar-wrap {
    flex: 1;
    height: 7px;
    background: #f1f5f9;
    border: 1px solid #cbd5e1;
    border-radius: 0;
    position: relative;
    overflow: hidden;
}
.quality-dim-bar-fill {
    height: 100%;
    background: #1565C0;
    transition: width 0.3s ease;
}
.quality-dim-score {
    font-size: 0.8rem;
    font-weight: 700;
    color: #0f172a;
    min-width: 44px;
    text-align: right;
    font-family: monospace;
}
.sec-rec-card {
    border: 1px solid #cbd5e1;
    padding: 0.75rem;
    background: #ffffff;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 8px;
    border-radius: 0;
}
.sec-rec-card-title {
    font-size: 0.85rem;
    font-weight: 700;
    color: #0f172a;
}
.sec-rec-card-reason {
    font-size: 0.74rem;
    color: #64748b;
    line-height: 1.35;
}

@media (max-width: 640px) {
    .studio-main-bar {
        overflow: hidden !important;
    }

    .studio-bar-left,
    .studio-bar-center,
    .studio-bar-right {
        min-width: 0 !important;
        max-width: 100% !important;
        overflow-x: auto !important;
        overflow-y: hidden !important;
        flex-wrap: nowrap !important;
    }

    .studio-formatting-bar {
        max-width: 100% !important;
        overflow-x: auto !important;
        overflow-y: hidden !important;
        flex-wrap: nowrap !important;
    }

    .intelligence-view-container {
        width: calc(100vw - 1rem) !important;
        max-width: calc(100vw - 1rem) !important;
        margin-inline: 0.5rem !important;
        padding-inline: 0.5rem !important;
        overflow: hidden;
    }

    .intelligence-view-header {
        flex-wrap: wrap;
        gap: 0.75rem;
    }

    .match-header-actions-group {
        max-width: 100%;
        flex-wrap: wrap;
    }
}

/* Application package presentation */
.package-ready-hero {
    position: relative;
    overflow: hidden;
    background: linear-gradient(135deg, #ffffff 0%, var(--brand-blue-light) 100%);
    border: 1px solid var(--brand-blue-border);
    border-top: 4px solid var(--brand-blue);
    padding: 2rem 2.25rem 1.75rem;
    box-shadow: 0 10px 28px rgba(15, 118, 110, 0.08);
}

.package-ready-hero::after {
    content: '';
    position: absolute;
    right: -54px;
    top: -54px;
    width: 150px;
    height: 150px;
    border: 18px solid rgba(20, 184, 166, 0.08);
    border-radius: 50%;
    pointer-events: none;
}

.package-meta-chips-row {
    position: relative;
    z-index: 1;
}

.package-meta-chip {
    border-radius: 999px !important;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
}

.package-ready-title {
    position: relative;
    z-index: 1;
    font-size: clamp(1.45rem, 3vw, 2rem);
    line-height: 1.15;
    margin-top: 0.25rem;
}

.package-ready-sub {
    position: relative;
    z-index: 1;
    max-width: 760px;
    margin-inline: auto;
}

.package-save-action {
    max-width: 680px;
    margin: 0 auto;
    padding: 0 0 1.25rem;
}

.package-save-action .btn {
    min-height: 52px;
    font-size: 1rem !important;
    font-weight: 800;
    box-shadow: 0 8px 18px rgba(0, 150, 136, 0.18);
}

.package-cards-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

.package-action-card {
    position: relative;
    min-height: 226px;
    padding: 1.35rem;
    border-color: #d7dee8;
    box-shadow: 0 3px 10px rgba(15, 23, 42, 0.04);
}

.package-action-card::before {
    content: '';
    position: absolute;
    inset: 0 0 auto;
    height: 3px;
    background: #cbd5e1;
}

.package-action-card:nth-child(1)::before,
.package-action-card:nth-child(6)::before {
    background: var(--brand-blue);
}

.package-action-card:nth-child(2)::before {
    background: #1565C0;
}

.package-action-card:nth-child(3)::before {
    background: #7c3aed;
}

.package-action-card:nth-child(5)::before {
    background: #d97706;
}

.package-card-icon {
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    color: #0f172a;
}

.package-action-card:nth-child(1) .package-card-icon,
.package-action-card:nth-child(6) .package-card-icon {
    color: var(--brand-blue-dark);
    background: var(--brand-blue-light);
    border-color: var(--brand-blue-border);
}

.package-action-card:nth-child(2) .package-card-icon {
    color: #1565C0;
    background: #E3F2FD;
    border-color: #bfdbfe;
}

.package-action-card:nth-child(3) .package-card-icon {
    color: #6d28d9;
    background: #f5f3ff;
    border-color: #ddd6fe;
}

.package-card-title {
    line-height: 1.25;
}

.package-card-desc {
    max-width: 42ch;
}

.package-action-card .btn {
    min-height: 42px;
    font-weight: 700;
}

@media (max-width: 700px) {
    .package-ready-hero {
        padding: 1.35rem 1rem 1.25rem;
    }

    .package-cards-grid {
        grid-template-columns: 1fr;
    }

    .package-action-card {
        min-height: 0;
    }
}
.sec-rec-actions {
    display: flex;
    gap: 6px;
    margin-top: 4px;
}
.sec-lib-group {
    border: 1px solid #cbd5e1;
    background: #ffffff;
    padding: 0.75rem;
    border-radius: 0;
}
.sec-lib-group-title {
    font-size: 0.76rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #475569;
    margin-bottom: 0.5rem;
    border-bottom: 1px solid #f1f5f9;
    padding-bottom: 4px;
}
.sec-lib-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(190px, 1fr));
    gap: 6px;
}
.sec-lib-item-btn {
    padding: 6px 10px;
    font-size: 0.78rem;
    border: 1px solid #cbd5e1;
    background: #f8fafc;
    color: #0f172a;
    text-align: left;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-weight: 600;
    border-radius: 0;
}
.sec-lib-item-btn:hover {
    background: #e2e8f0;
    border-color: #94a3b8;
}
.sec-lib-item-btn.added {
    background: #E3F2FD;
    border-color: #1565C0;
    color: #0D47A1;
}

/* ======================================================== */
/* ======================================================== */
/* LANDING PAGE (FRONT PAGE) STYLES                         */
/* ======================================================== */
/* ======================================================== */

.landing-nav-menu {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1.5rem;
    flex: 1 1 auto;
    min-width: 0;
}

.landing-nav-link {
    color: #475569;
    text-decoration: none;
    font-size: 0.88rem;
    font-weight: 500;
    transition: color 0.15s ease;
    padding: 0.4rem 0.2rem;
    border-bottom: 2px solid transparent;
}

.landing-nav-link:hover {
    color: #0f172a;
    border-bottom-color: #1565C0;
}

.btn-nav-cta {
    background: var(--brand-orange, #F57C00);
    color: #ffffff !important;
    border: 1px solid rgba(255, 255, 255, 0.25);
    border-radius: 8px;
    padding: 0.45rem 1rem;
    font-family: var(--font-outfit);
    font-size: 0.82rem;
    font-weight: 600;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    cursor: pointer;
    box-shadow: 0 2px 8px rgba(245, 124, 0, 0.30);
    transition: all 0.2s ease;
}

.btn-nav-cta:hover {
    background: var(--brand-orange-dark, #E65100);
    box-shadow: 0 4px 12px rgba(245, 124, 0, 0.40);
    transform: translateY(-1px);
}

.btn-nav-home {
    background: #f1f5f9;
    color: #334155;
    border: 1px solid #cbd5e1;
    border-radius: 6px;
    padding: 0.35rem 0.75rem;
    font-family: var(--font-outfit);
    font-size: 0.8rem;
    font-weight: 600;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    cursor: pointer;
    transition: all 0.15s ease;
}

.btn-nav-home:hover {
    background: #e2e8f0;
    color: #0f172a;
}

/* Landing Container */
.lp-wrapper {
    width: 100%;
    overflow-x: hidden;
    background: #ffffff;
    color: #0f172a;
}

/* Hero Section */
.lp-hero-wrapper {
    position: relative;
    background: #0b1120;
    color: #ffffff;
    padding: 6.5rem 1.5rem 7rem 1.5rem;
    min-height: 580px;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

/* Atmospheric Backdrop Image with Opacity & Fade-in */
.lp-hero-backdrop-layer {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
    pointer-events: none;
    z-index: 1;
}

.lp-hero-backdrop-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
    opacity: 0;
    filter: brightness(0.9) contrast(1.1);
    animation: heroBackdropFadeIn 1.2s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

@keyframes heroBackdropFadeIn {
    0% {
        opacity: 0;
        transform: scale(1.04);
    }
    100% {
        opacity: 0.22;
        transform: scale(1);
    }
}

.lp-hero-backdrop-scrim {
    position: absolute;
    inset: 0;
    background: rgba(11, 17, 32, 0.72);
    pointer-events: none;
}

/* Moving SVG Wave Flow Motion Graphic */
.lp-motion-waves {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 180px;
    pointer-events: none;
    overflow: hidden;
    opacity: 0.45;
    z-index: 1;
}

.lp-motion-svg {
    width: 100%;
    height: 100%;
}

.lp-wave-track {
    animation: waveFlow 18s linear infinite;
}

.lp-wave-2 {
    animation-duration: 26s;
    animation-direction: reverse;
}

@keyframes waveFlow {
    from {
        stroke-dashoffset: 240;
    }
    to {
        stroke-dashoffset: 0;
    }
}

/* Floating Live Telemetry Badges (Motion Graphics) */
.lp-floating-badge {
    position: absolute;
    z-index: 3;
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    white-space: nowrap; /* Prevent text wrapping */
    border-radius: 8px;
    background: #0f172a;
    border: 1px solid #1e293b;
    font-size: 0.78rem;
    color: #cbd5e1;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
    pointer-events: none;
}

.lp-badge-left {
    top: 24%;
    left: 3.5rem;
    animation: floatSlowLeft 6s ease-in-out infinite alternate;
}

.lp-badge-right {
    bottom: 24%;
    right: 3.5rem;
    animation: floatSlowRight 7s ease-in-out 1s infinite alternate;
}

@keyframes floatSlowLeft {
    0% {
        transform: translateY(0px) rotate(0deg);
    }
    100% {
        transform: translateY(-12px) rotate(0.8deg);
    }
}

@keyframes floatSlowRight {
    0% {
        transform: translateY(0px) rotate(0deg);
    }
    100% {
        transform: translateY(12px) rotate(-0.8deg);
    }
}

.lp-float-indicator {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #38bdf8;
    display: inline-block;
}

.lp-hero-content {
    max-width: 960px;
    margin: 0 auto;
    position: relative;
    z-index: 4;
    text-align: center;
}

.lp-badge-pill {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.4rem 1rem;
    border-radius: 9999px;
    background: #1e293b;
    border: 1px solid #334155;
    font-size: 0.82rem;
    font-weight: 600;
    letter-spacing: 0.02em;
    color: #cbd5e1;
    margin-bottom: 1.5rem;
}

.lp-badge-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--brand-blue);
    display: inline-block;
}

/* Status Pill Radar Pulse */
.lp-radar-pulse {
    position: relative;
}

.lp-radar-pulse::after {
    content: '';
    position: absolute;
    inset: -3px;
    border-radius: 50%;
    border: 1.5px solid var(--brand-blue);
    animation: radarRipple 2s cubic-bezier(0, 0, 0.2, 1) infinite;
}

@keyframes radarRipple {
    0% {
        transform: scale(0.8);
        opacity: 1;
    }
    100% {
        transform: scale(2.2);
        opacity: 0;
    }
}

.lp-hero-title {
    font-size: 3.4rem;
    font-weight: 800;
    line-height: 1.15;
    letter-spacing: -0.03em;
    margin-bottom: 1.25rem;
    color: #ffffff;
}

.lp-hero-highlight {
    color: #FFB74D;
    display: inline;
}

.lp-hero-sub {
    font-size: 1.18rem;
    line-height: 1.65;
    color: #cbd5e1;
    max-width: 780px;
    margin: 0 auto 2.25rem auto;
    font-weight: 400;
}

.lp-hero-cta-group {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 1rem;
    flex-wrap: wrap;
    margin-bottom: 1.75rem;
}

.lp-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.6rem;
    padding: 0.85rem 1.75rem;
    border-radius: 8px;
    font-family: var(--font-outfit);
    font-size: 1rem;
    font-weight: 700;
    cursor: pointer;
    transition: background-color 0.15s ease, border-color 0.15s ease, transform 0.15s ease;
    text-decoration: none;
}

.lp-btn-primary {
    background: var(--brand-orange, #F57C00);
    color: #ffffff;
    border: 1px solid rgba(255, 255, 255, 0.2);
    box-shadow: 0 2px 10px rgba(245, 124, 0, 0.35);
}

.lp-btn-primary:hover {
    background: var(--brand-orange-dark, #E65100);
    border-color: var(--brand-orange-dark, #E65100);
    box-shadow: 0 4px 16px rgba(245, 124, 0, 0.45);
    transform: translateY(-1px);
}

.lp-btn-secondary {
    background: #1e293b;
    color: #f1f5f9;
    border: 1px solid #334155;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
}

.lp-btn-secondary:hover {
    background: #334155;
    border-color: #475569;
    transform: translateY(-1px);
}

.lp-trust-indicators {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 1.75rem;
    flex-wrap: wrap;
    font-size: 0.85rem;
    color: #94a3b8;
}

.lp-trust-item {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.lp-trust-item svg {
    color: var(--brand-blue);
}

/* Creator Transparency & Portfolio Note Banner */
.lp-creator-banner {
    background: #0f172a;
    border-top: 1px solid #1e293b;
    border-bottom: 1px solid #1e293b;
    padding: 1.25rem 1.5rem;
}

.lp-creator-inner {
    max-width: 1140px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    gap: 1.25rem;
    flex-wrap: wrap;
}

.lp-creator-badge {
    display: inline-flex;
    align-items: center;
    padding: 0.35rem 0.85rem;
    background: #1e293b;
    border: 1px solid #334155;
    border-radius: 6px;
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: #38bdf8;
    white-space: nowrap;
}

.lp-creator-content {
    flex: 1;
    min-width: 280px;
}

.lp-creator-text {
    font-size: 0.88rem;
    line-height: 1.55;
    color: #94a3b8;
    margin: 0;
}

.lp-creator-text strong {
    color: #f8fafc;
}

.lp-creator-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.5rem 1rem;
    background: #1e293b;
    border: 1px solid #334155;
    border-radius: 6px;
    color: #f1f5f9;
    font-size: 0.82rem;
    font-weight: 600;
    text-decoration: none;
    transition: background 0.15s ease, border-color 0.15s ease;
    white-space: nowrap;
}

.lp-creator-btn:hover {
    background: #334155;
    border-color: #475569;
    color: var(--brand-orange, #F57C00);
}

/* Stats Counter Section */
.lp-metrics-strip {
    background: #ffffff;
    border-top: 1px solid #e2e8f0;
    border-bottom: 1px solid #e2e8f0;
    padding: 1.75rem 1.5rem;
}

.lp-metrics-grid {
    max-width: 1180px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1.5rem;
    text-align: center;
}

.lp-metric-item h3 {
    font-size: 2rem;
    font-weight: 900;
    color: #0f172a;
    margin-bottom: 0.25rem;
}

.lp-metric-item h3 span {
    color: #ff0ad3;
}

.lp-metric-item p {
    font-size: 0.85rem;
    color: #475569;
    font-weight: 500;
}

/* General Section Layout */
.lp-section {
    padding: 5rem 1.5rem;
    max-width: 1180px;
    margin: 0 auto;
}

.lp-section-header {
    text-align: center;
    max-width: 720px;
    margin: 0 auto 3.5rem auto;
}

.lp-section-pill {
    font-size: 0.75rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--brand-orange, #F57C00);
    background: var(--brand-orange-light, #FFF3E0);
    border: 1px solid var(--brand-orange-border, #FFCC80);
    padding: 4px 12px;
    border-radius: 9999px;
    display: inline-block;
    margin-bottom: 0.75rem;
}

.lp-section-title {
    font-size: 2.25rem;
    font-weight: 800;
    color: #0f172a;
    letter-spacing: -0.02em;
    margin-bottom: 0.85rem;
}

.lp-section-desc {
    font-size: 1.05rem;
    color: #64748b;
    line-height: 1.6;
}

/* Feature Cards Grid */
.lp-features-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.5rem;
}

.lp-feature-card {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    padding: 1.75rem;
    transition: all 0.25s ease;
    display: flex;
    flex-direction: column;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.02);
}

.lp-feature-card:hover {
    border-color: #93c5fd;
    transform: translateY(-4px);
    box-shadow: 0 12px 24px -6px rgba(15, 23, 42, 0.08);
}

.lp-feature-icon {
    width: 48px;
    height: 48px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 1.25rem;
}

.lp-icon-blue { background: #E3F2FD; color: #1565C0; }
.lp-icon-teal { background: var(--brand-blue-light); color: var(--brand-blue); }
.lp-icon-purple { background: #f5f3ff; color: #7c3aed; }
.lp-icon-amber { background: #fffbeb; color: #d97706; }
.lp-icon-emerald { background: var(--brand-blue-light); color: var(--brand-blue); }
.lp-icon-indigo { background: #e0e7ff; color: #4338ca; }

.lp-feature-card h3 {
    font-size: 1.15rem;
    font-weight: 700;
    color: #0f172a;
    margin-bottom: 0.6rem;
}

.lp-feature-card p {
    font-size: 0.9rem;
    color: #64748b;
    line-height: 1.55;
    flex-grow: 1;
}

/* How It Works Steps */
.lp-steps-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1.25rem;
    position: relative;
}

.lp-step-card {
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    padding: 1.5rem;
    position: relative;
    transition: all 0.2s ease;
}

.lp-step-card:hover {
    background: #ffffff;
    border-color: #1565C0;
    box-shadow: 0 8px 20px -4px rgba(37, 99, 235, 0.1);
}

.lp-step-num {
    font-size: 2rem;
    font-weight: 900;
    color: #cbd5e1;
    line-height: 1;
    margin-bottom: 1rem;
    font-family: var(--font-mono);
}

.lp-step-card:hover .lp-step-num {
    color: #1565C0;
}

.lp-step-card h4 {
    font-size: 1.05rem;
    font-weight: 700;
    color: #0f172a;
    margin-bottom: 0.5rem;
}

.lp-step-card p {
    font-size: 0.85rem;
    color: #64748b;
    line-height: 1.5;
}

/* Comparison Table */
.lp-comparison-container {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 14px;
    overflow: hidden;
    box-shadow: 0 4px 15px rgba(0,0,0,0.03);
}

.lp-comparison-table {
    width: 100%;
    border-collapse: collapse;
}

.lp-comparison-table th,
.lp-comparison-table td {
    padding: 1.1rem 1.4rem;
    text-align: left;
    border-bottom: 1px solid #f1f5f9;
    font-size: 0.9rem;
}

.lp-comparison-table th {
    background: #f8fafc;
    font-weight: 700;
    color: #1e293b;
    font-size: 0.95rem;
}

.lp-comparison-table th.col-highlight,
.lp-comparison-table td.col-highlight {
    background: var(--brand-blue-light);
    font-weight: 600;
    color: var(--brand-blue-dark);
    border-left: 2px solid var(--brand-blue);
    border-right: 2px solid var(--brand-blue);
}

.lp-comparison-table th.col-highlight {
    background: var(--brand-blue-light);
    color: var(--brand-blue-dark);
    font-weight: 800;
}

/* Template Showcase Cards */
.lp-template-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1.25rem;
}

.lp-template-card {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    overflow: hidden;
    cursor: pointer;
    transition: all 0.2s ease;
    display: flex;
    flex-direction: column;
}

.lp-template-card:hover {
    border-color: #1565C0;
    transform: translateY(-4px);
    box-shadow: 0 10px 20px rgba(37, 99, 235, 0.12);
}

.lp-template-card-preview {
    height: 180px;
    background: #f8fafc;
    border-bottom: 1px solid #e2e8f0;
    padding: 12px;
    display: flex;
    flex-direction: column;
    gap: 8px;
    position: relative;
    overflow: hidden;
}

.lp-tpl-mock-header {
    height: 20px;
    border-radius: 3px;
}

.lp-tpl-mock-body {
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.lp-tpl-mock-line {
    height: 6px;
    background: #e2e8f0;
    border-radius: 2px;
}

.lp-template-card-info {
    padding: 1rem;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.lp-template-card-info h4 {
    font-size: 0.95rem;
    font-weight: 700;
    color: #0f172a;
    margin: 0;
}

.lp-template-card-info span {
    font-size: 0.78rem;
    color: #64748b;
}

.lp-template-card-btn {
    margin-top: 0.5rem;
    width: 100%;
    padding: 0.45rem;
    font-size: 0.78rem;
    font-weight: 700;
    border-radius: 6px;
    border: 1px solid #1565C0;
    background: #ffffff;
    color: #1565C0;
    cursor: pointer;
    transition: all 0.15s ease;
}

.lp-template-card:hover .lp-template-card-btn {
    background: #1565C0;
    color: #ffffff;
}

/* FAQ Accordion */
.lp-faq-container {
    max-width: 800px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    gap: 0.85rem;
}

.lp-faq-item {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    overflow: hidden;
    transition: border-color 0.2s ease;
}

.lp-faq-item.open {
    border-color: #1565C0;
}

.lp-faq-question {
    padding: 1.15rem 1.4rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-weight: 700;
    font-size: 1rem;
    color: #0f172a;
    cursor: pointer;
    user-select: none;
}

.lp-faq-question:hover {
    color: #1565C0;
}

.lp-faq-chevron {
    transition: transform 0.25s ease;
}

.lp-faq-item.open .lp-faq-chevron {
    transform: rotate(180deg);
}

.lp-faq-answer {
    padding: 0 1.4rem 1.25rem 1.4rem;
    color: #475569;
    font-size: 0.92rem;
    line-height: 1.6;
    display: none;
}

.lp-faq-item.open .lp-faq-answer {
    display: block;
}

/* Bottom CTA Banner */
.lp-bottom-cta-banner {
    background: #0f172a;
    border-radius: 16px;
    padding: 3.5rem 2rem;
    text-align: center;
    color: #ffffff;
    box-shadow: 0 10px 25px -5px rgba(15, 23, 42, 0.2);
    border: 1px solid #1e293b;
    margin: 3rem auto;
    max-width: 1140px;
}

.lp-bottom-cta-banner h2 {
    font-size: 2.4rem;
    font-weight: 800;
    margin-bottom: 1rem;
    letter-spacing: -0.02em;
}

.lp-bottom-cta-banner p {
    font-size: 1.1rem;
    color: #94a3b8;
    max-width: 600px;
    margin: 0 auto 2rem auto;
}

/* Footer */
.lp-footer {
    background: #0b1120;
    border-top: 1px solid #1e293b;
    padding: 3rem 1.5rem 2rem 1.5rem;
    color: #94a3b8;
    font-size: 0.85rem;
}

.lp-footer-container {
    max-width: 1180px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 1.5rem;
}

.lp-footer-left {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.lp-footer-links {
    display: flex;
    gap: 1.5rem;
    flex-wrap: wrap;
}

.lp-footer-link {
    color: #94a3b8;
    text-decoration: none;
    transition: color 0.15s ease;
}

.lp-footer-link:hover {
    color: #ffffff;
}

/* Responsive Media Queries */
@media (max-width: 1024px) {
    .lp-hero-title { font-size: 2.8rem; }
    .lp-badge-left { left: 1rem; top: 16%; }
    .lp-badge-right { right: 1rem; bottom: 16%; }
    .lp-features-grid { grid-template-columns: repeat(2, 1fr); }
    .lp-steps-grid { grid-template-columns: repeat(2, 1fr); }
    .lp-template-grid { grid-template-columns: repeat(2, 1fr); }
    .lp-metrics-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 768px) {
    .lp-hero-title { font-size: 2.1rem; }
    .lp-hero-wrapper { padding: 4.5rem 1.25rem 5rem 1.25rem; min-height: auto; }
    .lp-floating-badge { display: none; }
    .landing-nav-menu { display: none; }
    .lp-hero-cta-group { flex-direction: column; width: 100%; max-width: 360px; margin-left: auto; margin-right: auto; }
    .lp-btn { width: 100%; }
    .lp-features-grid { grid-template-columns: 1fr; }
    .lp-steps-grid { grid-template-columns: 1fr; }
    .lp-template-grid { grid-template-columns: 1fr; }
    .lp-metrics-grid { grid-template-columns: 1fr; gap: 1.25rem; }
    .lp-bottom-cta-banner { padding: 2.5rem 1.25rem; }
    .lp-bottom-cta-banner h2 { font-size: 1.8rem; }
}

/* Light homepage, primary pink, and motion that stays out of the way. */
.lp-wrapper {
    background: #fcfcfd;
}

.lp-hero-wrapper {
    background:
        radial-gradient(900px 420px at 12% -10%, rgba(255, 10, 211, 0.14), transparent 60%),
        radial-gradient(700px 380px at 100% 0%, rgba(255, 10, 211, 0.08), transparent 55%),
        #fcfcfd;
    color: #0f172a;
}

.lp-hero-backdrop-img {
    opacity: 0;
    animation: none;
}

.lp-hero-backdrop-scrim {
    background: transparent;
}

html {
    scroll-padding-top: calc(var(--nav-offset, 64px) + 12px);
}

.lp-hero-art {
    position: absolute;
    inset: 0;
    z-index: 2;
    overflow: hidden;
    pointer-events: none;
}

.lp-hero-grid {
    position: absolute;
    inset: 0;
    background-image:
        linear-gradient(rgba(255, 10, 211, 0.05) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 10, 211, 0.05) 1px, transparent 1px);
    background-size: 48px 48px;
    mask-image: radial-gradient(circle at 50% 40%, #000 20%, transparent 72%);
}

.lp-orb {
    position: absolute;
    border-radius: 50%;
    filter: blur(2px);
    background: radial-gradient(circle at 30% 30%, #fff, rgba(255, 10, 211, 0.28) 42%, rgba(255, 10, 211, 0.02) 70%);
    animation: lpDrift 14s ease-in-out infinite;
}

.lp-orb-a { width: 280px; height: 280px; top: -40px; left: -40px; }
.lp-orb-b { width: 220px; height: 220px; right: 6%; top: 18%; animation-delay: -4s; }
.lp-orb-c { width: 160px; height: 160px; left: 18%; bottom: 8%; animation-delay: -8s; }

@keyframes lpDrift {
    50% { transform: translate3d(18px, -16px, 0); }
}

.lp-wave-track { stroke: #ff0ad3; opacity: 0.35; }
.lp-wave-2 { stroke: #ff91e7; }

.lp-hero-content > * {
    animation: lpRise 0.7s cubic-bezier(0.16, 1, 0.3, 1) both;
}
.lp-hero-content > *:nth-child(2) { animation-delay: 0.08s; }
.lp-hero-content > *:nth-child(3) { animation-delay: 0.16s; }
.lp-hero-content > *:nth-child(4) { animation-delay: 0.24s; }
.lp-hero-content > *:nth-child(5) { animation-delay: 0.32s; }

@keyframes lpRise {
    from { opacity: 0; transform: translateY(18px); }
    to { opacity: 1; transform: none; }
}

.lp-hero-title { color: #14141a; }
.lp-hero-highlight { color: var(--brand-blue); }
.lp-hero-sub { color: #5c6570; }

.lp-badge-pill {
    background: #ffffff;
    border: 1px solid #f3d7ea;
    color: #3f3a45;
    box-shadow: 0 8px 24px rgba(255, 10, 211, 0.08);
}

.lp-floating-badge {
    background: rgba(255, 255, 255, 0.9);
    border: 1px solid #f3d7ea;
    color: #3f3a45;
    box-shadow: 0 12px 30px rgba(20, 20, 26, 0.06);
    backdrop-filter: blur(10px);
}

.lp-btn-primary,
.btn-nav-cta {
    background: var(--brand-blue);
    border-color: transparent;
    box-shadow: 0 10px 24px rgba(255, 10, 211, 0.28);
}

.lp-btn-primary:hover,
.btn-nav-cta:hover {
    background: var(--brand-blue-dark);
    border-color: transparent;
    box-shadow: 0 14px 28px rgba(189, 0, 156, 0.32);
}

.lp-btn-secondary {
    background: #ffffff;
    color: #14141a;
    border: 1px solid #eadfe6;
    box-shadow: 0 1px 2px rgba(20, 20, 26, 0.04);
}

.lp-btn-secondary:hover {
    background: #fff7fc;
    border-color: var(--brand-blue-border);
    color: var(--brand-blue-dark);
}

.landing-nav-link:hover {
    color: var(--brand-blue-dark);
    border-bottom-color: var(--brand-blue);
}

.lp-creator-banner {
    background: #fff7fc;
    border-top: 1px solid #f6e4f0;
    border-bottom: 1px solid #f6e4f0;
}

.lp-creator-badge,
.lp-creator-btn {
    background: #ffffff;
    border-color: #f3d7ea;
    color: var(--brand-blue-dark);
}

.lp-creator-text { color: #5c6570; }
.lp-creator-text strong { color: #14141a; }

.lp-creator-btn:hover {
    background: #ffffff;
    border-color: var(--brand-blue);
    color: var(--brand-blue);
}

.lp-metrics-strip,
.lp-section {
    background: transparent;
}

.lp-metric-item h3,
.lp-section-pill,
.lp-feature-icon,
.lp-step-num {
    color: var(--brand-blue-dark);
}

.lp-section-pill {
    background: #fff0fa;
    border: 1px solid #f6d5ec;
}

.lp-feature-card,
.lp-step-card,
.lp-template-card,
.lp-faq-item,
.lp-comparison-container {
    background: #ffffff;
    border-color: #f0e7ec;
    box-shadow: 0 10px 30px rgba(20, 20, 26, 0.04);
}

.lp-feature-card,
.lp-step-card,
.lp-template-card,
.lp-metric-item,
.lp-faq-item {
    opacity: 0;
    transform: translateY(16px);
    transition: opacity 0.6s cubic-bezier(0.16, 1, 0.3, 1), transform 0.6s cubic-bezier(0.16, 1, 0.3, 1), border-color 0.2s ease, box-shadow 0.2s ease;
}

.lp-feature-card.is-in,
.lp-step-card.is-in,
.lp-template-card.is-in,
.lp-metric-item.is-in,
.lp-faq-item.is-in {
    opacity: 1;
    transform: none;
}

.lp-template-card.is-in:hover,
.lp-feature-card.is-in:hover,
.lp-step-card.is-in:hover {
    border-color: var(--brand-blue-border);
    box-shadow: 0 16px 36px rgba(255, 10, 211, 0.12);
    transform: translateY(-4px);
}

.lp-trust-indicators,
.lp-trust-item {
    color: #5c6570;
}

.lp-float-indicator {
    background: var(--brand-blue);
}

.lp-template-card-btn,
.lp-icon-blue,
.lp-icon-teal,
.lp-icon-emerald {
    background: #fff0fa;
    color: var(--brand-blue-dark);
    border-color: #f6d5ec;
}

.lp-comparison-table th.col-highlight,
.lp-comparison-table td.col-highlight {
    background: #fff7fc;
    color: var(--brand-blue-dark);
    border-left-color: var(--brand-blue);
    border-right-color: var(--brand-blue);
}

.lp-bottom-cta-banner {
    background:
        radial-gradient(500px 180px at 50% 0%, rgba(255, 10, 211, 0.16), transparent 70%),
        #ffffff;
    color: #14141a;
    border: 1px solid #f3d7ea;
    box-shadow: 0 18px 40px rgba(255, 10, 211, 0.08);
}

.lp-bottom-cta-banner p { color: #5c6570; }

.lp-footer {
    background: #fcfcfd;
    border-top: 1px solid #f1e8ef;
    color: #5c6570;
}

.lp-footer-link { color: #5c6570; }
.lp-footer-link:hover { color: var(--brand-blue-dark); }

@media (prefers-reduced-motion: reduce) {
    .lp-hero-backdrop-img,
    .lp-wave-track,
    .lp-floating-badge,
    .lp-radar-pulse::after,
    .lp-orb,
    .lp-hero-content > * {
        animation: none;
    }
    .lp-feature-card,
    .lp-step-card,
    .lp-template-card,
    .lp-metric-item,
    .lp-faq-item {
        opacity: 1;
        transform: none;
    }
}

/* ======================================================== */
/* REDESIGNED INPUT & UPLOAD STUDIO                         */
/* ======================================================== */
#viewInputStudio {
    background:
        radial-gradient(720px 320px at 0% 0%, rgba(255, 10, 211, 0.08), transparent 60%),
        #fcfcfd;
    min-height: calc(100vh - var(--nav-offset, 64px));
    padding: 2.5rem 1.25rem 4.5rem;
}

#viewInputStudio .input-studio-container {
    max-width: 1080px;
    margin: 0 auto;
}

.upload-studio-header {
    text-align: center;
    max-width: 680px;
    margin: 0 auto 2.25rem auto;
}

.upload-badge-pill {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.35rem 0.9rem;
    border-radius: 9999px;
    background: #fff0fa;
    border: 1px solid #f6d5ec;
    font-size: 0.8rem;
    font-weight: 700;
    color: var(--brand-blue-dark);
    margin-bottom: 0.85rem;
}

.upload-badge-dot {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--brand-blue);
    display: inline-block;
}

.upload-studio-title {
    font-size: clamp(1.8rem, 4vw, 2.4rem);
    font-weight: 800;
    color: #14141a;
    letter-spacing: -0.03em;
    line-height: 1.15;
    margin-bottom: 0.65rem;
}

.upload-studio-sub {
    font-size: 1.02rem;
    color: #5c6570;
    line-height: 1.6;
    margin: 0 auto;
}

/* Active Template Selection Chip */
.active-template-chip {
    display: inline-flex;
    align-items: center;
    gap: 0.6rem;
    margin-top: 1.25rem;
    padding: 0.45rem 1rem;
    background: #ffffff;
    border: 1px solid #cbd5e1;
    border-radius: 9999px;
    font-size: 0.85rem;
    color: #334155;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
}

.active-template-chip svg {
    color: var(--brand-blue);
}

.active-template-chip strong {
    color: #0f172a;
}

.btn-change-template {
    background: #fff7fc;
    border: 1px solid #f3d7ea;
    color: var(--brand-blue-dark);
    font-size: 0.75rem;
    font-weight: 700;
    padding: 2px 8px;
    border-radius: 4px;
    cursor: pointer;
    transition: background 0.15s ease;
}

.btn-change-template:hover {
    background: #e2e8f0;
}

/* Upload Cards Grid */
.upload-cards-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1.75rem;
    margin-bottom: 2rem;
}

.upload-step-card {
    background: #ffffff;
    border: 1px solid #f0e7ec;
    border-radius: 16px;
    padding: 1.35rem 1.35rem 1.5rem;
    box-shadow: 0 10px 30px rgba(20, 20, 26, 0.04);
    display: flex;
    flex-direction: column;
}

.upload-card-header {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    grid-template-areas:
        "num text"
        "actions actions";
    gap: 0.85rem 0.75rem;
    align-items: center;
    margin-bottom: 1.1rem;
}

.step-num-pill {
    grid-area: num;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: #fff0fa;
    color: var(--brand-blue-dark);
    border: 1px solid #f6d5ec;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.85rem;
    font-weight: 800;
}

.step-header-text {
    grid-area: text;
    min-width: 0;
}

.step-title {
    font-size: 1.12rem;
    font-weight: 700;
    color: #14141a;
    margin: 0 0 2px 0;
}

.step-desc {
    font-size: 0.84rem;
    color: #5c6570;
    margin: 0;
    line-height: 1.4;
}

.tab-pill-group,
.jd-quick-actions {
    grid-area: actions;
}

.tab-pill-group {
    display: inline-flex;
    width: fit-content;
    background: #fff7fc;
    border: 1px solid #f6e4f0;
    padding: 3px;
    border-radius: 8px;
    gap: 2px;
}

.tab-pill {
    background: transparent;
    border: none;
    font-size: 0.78rem;
    font-weight: 600;
    color: #64748b;
    padding: 4px 10px;
    border-radius: 6px;
    cursor: pointer;
    transition: all 0.15s ease;
}

.tab-pill.active {
    background: #ffffff;
    color: var(--brand-blue-dark);
    box-shadow: 0 1px 2px rgba(255, 10, 211, 0.12);
}

/* Modern Dropzone */
.modern-dropzone {
    border: 1.5px dashed #f3c3e4;
    border-radius: 12px;
    background: #fffcfe;
    padding: 2rem 1.25rem;
    text-align: center;
    cursor: pointer;
    transition: border-color 0.2s ease, background-color 0.2s ease;
    min-height: 240px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.modern-dropzone:hover,
.modern-dropzone.dragover {
    border-color: var(--brand-blue);
    background-color: #fff7fc;
}

.dropzone-icon-box {
    width: 56px;
    height: 56px;
    border-radius: 12px;
    background: #ffffff;
    border: 1px solid #e2e8f0;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--brand-blue-dark);
    margin: 0 auto 1rem auto;
    box-shadow: 0 2px 4px rgba(255, 10, 211, 0.06);
}

.dropzone-main-text {
    font-size: 1rem;
    font-weight: 700;
    color: #0f172a;
    margin: 0 0 0.35rem 0;
}

.dropzone-sub-text {
    font-size: 0.8rem;
    color: #64748b;
    margin: 0 0 1.25rem 0;
}

.dropzone-browse-btn {
    border-radius: 8px;
    font-weight: 600;
    border-color: #f3d7ea;
    color: var(--brand-blue-dark);
    background: #ffffff;
}

.dropzone-browse-btn:hover {
    border-color: var(--brand-blue);
    background: #fff7fc;
    color: var(--brand-blue-dark);
}

/* File Ready Preview Card */
.modern-dropzone .file-preview-card {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    padding: 1rem 1.25rem;
    width: 100%;
    display: flex;
    align-items: center;
    gap: 1rem;
    text-align: left;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.04);
}

.modern-step-textarea {
    width: 100%;
    height: 260px;
    border: 1px solid #eadde4;
    border-radius: 10px;
    padding: 1rem;
    font-size: 0.88rem;
    line-height: 1.5;
    color: #0f172a;
    background: #ffffff;
    resize: none;
    box-sizing: border-box;
    font-family: inherit;
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.modern-step-textarea:focus {
    outline: none;
    border-color: var(--brand-blue);
    box-shadow: 0 0 0 3px rgba(255, 10, 211, 0.15);
}

.jd-quick-actions {
    display: flex;
    align-items: center;
    gap: 6px;
}

.jd-count-pill {
    font-size: 0.72rem;
    color: var(--brand-blue-dark);
    background: #fff0fa;
    border: 1px solid #f6d5ec;
    padding: 3px 8px;
    border-radius: 4px;
    font-weight: 600;
}

/* Upload Bottom Submit Bar */
.upload-submit-bar {
    text-align: center;
    max-width: 540px;
    margin: 0 auto;
}

.btn-submit-tailor {
    width: 100%;
    background: var(--brand-blue);
    color: #ffffff;
    border: none;
    border-radius: 10px;
    padding: 1rem 1.5rem;
    font-size: 1.05rem;
    font-weight: 700;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.75rem;
    box-shadow: 0 10px 24px rgba(255, 10, 211, 0.28);
    transition: background-color 0.15s ease, transform 0.15s ease, box-shadow 0.15s ease;
}

.btn-submit-tailor:hover {
    background: var(--brand-blue-dark);
    box-shadow: 0 14px 28px rgba(189, 0, 156, 0.32);
    transform: translateY(-1px);
}

.upload-fallback-links {
    margin-top: 1rem;
    font-size: 0.85rem;
    color: #64748b;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
}

.btn-link-sample {
    background: transparent;
    border: none;
    color: var(--brand-blue-dark);
    font-weight: 600;
    cursor: pointer;
    text-decoration: underline;
    text-underline-offset: 2px;
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 0;
    font-size: inherit;
}

.btn-link-sample:hover {
    color: var(--brand-blue);
}

/* Shared finish for every CV template except the sidebar designs already tuned on their own. */
.document-sheet:not(.template-template_3_navy):not(.template-template_15_editorial_sidebar) .cv-name {
    letter-spacing: 0.03em;
    line-height: 1.05;
}

.document-sheet:not(.template-template_3_navy):not(.template-template_15_editorial_sidebar) .cv-section {
    gap: 0.4rem;
}

.document-sheet:not(.template-template_3_navy):not(.template-template_15_editorial_sidebar) .cv-section-header-row {
    padding-bottom: 0.28rem;
    margin-bottom: 0.45rem;
}

.document-sheet:not(.template-template_3_navy):not(.template-template_15_editorial_sidebar):not(.template-template_6_aisha):not(.template-template_6_teal_sidebar) .skill-pill-tag {
    background-color: color-mix(in srgb, var(--cv-accent, var(--brand-blue)) 8%, #ffffff) !important;
    border: 1px solid color-mix(in srgb, var(--cv-accent, var(--brand-blue)) 28%, #e2e8f0) !important;
    color: #4a5968 !important;
}

.document-sheet:not(.template-template_3_navy):not(.template-template_15_editorial_sidebar) .cv-summary-text {
    color: #5f6e7d;
}

@media (max-width: 860px) {
    .upload-cards-grid {
        grid-template-columns: 1fr;
    }
}

/* Selection frame for one element, or the combined bounds of several. It never scales type. */
.cv-transform-box {
    position: fixed;
    z-index: 40;
    border: 1.5px solid #7c3aed;
    border-radius: 2px;
    box-sizing: border-box;
    pointer-events: none;
}

.cv-marquee {
    position: fixed;
    z-index: 39;
    border: 1px solid #7c3aed;
    background: rgba(124, 58, 237, 0.12);
    pointer-events: none;
    box-sizing: border-box;
}

.cv-tf-edge {
    position: absolute;
    pointer-events: auto;
    z-index: 1;
}

.cv-tf-edge[data-move="n"] { left: 18px; right: 18px; top: -10px; height: 10px; cursor: move; }
.cv-tf-edge[data-move="s"] { left: 18px; right: 18px; bottom: -10px; height: 10px; cursor: move; }
.cv-tf-edge[data-move="w"] { top: 18px; bottom: 18px; left: -10px; width: 10px; cursor: move; }
.cv-tf-edge[data-move="e"] { top: 18px; bottom: 18px; right: -10px; width: 10px; cursor: move; }

.cv-tf-move {
    position: absolute;
    left: 22px;
    top: -26px;
    width: 34px;
    height: 14px;
    border-radius: 7px;
    background: #7c3aed;
    box-shadow: 0 1px 3px rgba(15, 23, 42, 0.25);
    pointer-events: auto;
    cursor: move;
    z-index: 3;
}

.cv-tf-move::before,
.cv-tf-move::after {
    content: "";
    position: absolute;
    left: 7px;
    right: 7px;
    height: 1.5px;
    background: #ffffff;
    border-radius: 1px;
}

.cv-tf-move::before { top: 4px; }
.cv-tf-move::after { top: 8px; }

.cv-tf-rotate {
    position: absolute;
    left: 50%;
    top: -28px;
    width: 12px;
    height: 12px;
    border: 1.5px solid #7c3aed;
    border-radius: 50%;
    background: #ffffff;
    box-sizing: border-box;
    transform: translateX(-50%);
    pointer-events: auto;
    cursor: grab;
    z-index: 2;
}

.cv-tf-rotate::after {
    content: "";
    position: absolute;
    left: 50%;
    top: 12px;
    width: 1.5px;
    height: 14px;
    background: #7c3aed;
    transform: translateX(-50%);
}

.cv-tf-handle {
    position: absolute;
    width: 10px;
    height: 10px;
    margin: 0;
    padding: 0;
    background: #ffffff;
    border: 1.5px solid #7c3aed;
    border-radius: 50%;
    box-sizing: border-box;
    pointer-events: auto;
    transform: translate(-50%, -50%);
    touch-action: none;
    z-index: 4;
}

.cv-tf-handle[data-dir="n"],
.cv-tf-handle[data-dir="s"],
.cv-tf-handle[data-dir="e"],
.cv-tf-handle[data-dir="w"] {
    width: 16px;
    height: 16px;
}

.cv-tf-handle[data-dir="nw"] { left: 0; top: 0; cursor: nwse-resize; }
.cv-tf-handle[data-dir="n"] { left: 50%; top: 0; cursor: ns-resize; }
.cv-tf-handle[data-dir="ne"] { left: 100%; top: 0; cursor: nesw-resize; }
.cv-tf-handle[data-dir="e"] { left: 100%; top: 50%; cursor: ew-resize; }
.cv-tf-handle[data-dir="se"] { left: 100%; top: 100%; cursor: nwse-resize; }
.cv-tf-handle[data-dir="s"] { left: 50%; top: 100%; cursor: ns-resize; }
.cv-tf-handle[data-dir="sw"] { left: 0; top: 100%; cursor: nesw-resize; }
.cv-tf-handle[data-dir="w"] { left: 0; top: 50%; cursor: ew-resize; }

body.cv-transforming,
body.cv-transforming * {
    cursor: inherit;
    user-select: none;
}

@media print {
    .cv-transform-box {
        display: none !important;
    }
}

.document-sheet-wrapper {
    position: relative;
}

.document-sheet {
    position: relative;
}

#cvZoomSurface {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    transform-origin: top center;
}

.cv-page {
    width: 100%;
    max-width: 840px;
    min-height: 1100px;
    margin-top: 18px;
    background: #ffffff;
    position: relative;
    box-sizing: border-box;
}

.cv-page-bar {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 6px;
    width: auto;
    max-width: 100%;
    margin: 14px 0 0;
    padding: 6px;
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 999px;
    box-shadow: 0 6px 16px rgba(15, 23, 42, 0.08);
}

.cv-page-tabs {
    display: flex;
    align-items: center;
    gap: 4px;
}

.cv-page-tab {
    border: 1px solid #e2e8f0;
    background: #ffffff;
    color: #334155;
    border-radius: 999px;
    padding: 4px 10px;
    font: inherit;
    font-size: 12px;
    cursor: pointer;
}

.cv-page-tab.active {
    background: #0f172a;
    border-color: #0f172a;
    color: #ffffff;
}

.cv-page-color {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 12px;
    color: #334155;
}

.cv-page-color input[type="color"] {
    width: 28px;
    height: 28px;
    padding: 0;
    border: 1px solid #cbd5e1;
    border-radius: 6px;
    background: #ffffff;
}

.cv-editor-tools,
.cv-zoom-controls,
.cv-shape-menu {
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

.cv-editor-tools .cv-icon-btn {
    width: 32px;
    height: 32px;
    padding: 0;
    justify-content: center;
}

.cv-zoom-controls #cvZoomReset {
    width: auto;
    min-width: 52px;
    padding: 0 8px;
}

#resumePreviewCanvas ul[contenteditable="true"],
#resumePreviewCanvas ol[contenteditable="true"] {
    user-select: text;
    -webkit-user-select: text;
    cursor: text;
}

.cv-shape-menu {
    position: relative;
}

.cv-zoom-controls {
    margin-left: 4px;
    padding-left: 8px;
    border-left: 1px solid #e2e8f0;
}

.cv-shape-menu-panel {
    position: fixed;
    z-index: 1100;
    min-width: 148px;
    padding: 4px;
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.14);
    display: flex;
    flex-direction: column;
}

.cv-shape-menu-panel button {
    display: flex;
    align-items: center;
    gap: 8px;
    text-align: left;
    background: transparent;
    border: 0;
    border-radius: 6px;
    padding: 7px 10px;
    font: inherit;
    color: #0f172a;
    cursor: pointer;
}

.cv-shape-menu-panel button svg {
    flex: 0 0 auto;
    color: #334155;
}

.cv-shape-menu-panel button:hover {
    background: #f1f5f9;
}

.cv-shape-tools {
    position: absolute;
    z-index: 45;
    top: 10px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    align-items: flex-end;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0;
    max-width: min(980px, calc(100% - 24px));
    padding: 8px 6px;
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    box-shadow: 0 10px 28px rgba(15, 23, 42, 0.12);
    font-size: 12px;
    color: #334155;
}

.cv-appearance-group {
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding: 0 10px;
    border-right: 1px solid #e2e8f0;
}

.cv-appearance-group:last-child {
    border-right: 0;
}

.cv-appearance-label {
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #64748b;
}

.cv-appearance-controls {
    display: flex;
    align-items: center;
    gap: 6px;
    min-height: 30px;
}

.cv-shape-tools input[type="color"] {
    width: 30px;
    height: 30px;
    padding: 2px;
    border: 1px solid #cbd5e1;
    border-radius: 7px;
    background: #ffffff;
    cursor: pointer;
}

.cv-shape-tools input[type="number"],
.cv-shape-tools select {
    height: 30px;
    border: 1px solid #cbd5e1;
    border-radius: 7px;
    background: #ffffff;
    color: #0f172a;
    padding: 0 8px;
}

.cv-shape-tools input[type="number"] {
    width: 58px;
}

.cv-shape-tools input[type="range"] {
    width: 92px;
    accent-color: #7c3aed;
}

#cvOpacityValue {
    min-width: 36px;
    font-variant-numeric: tabular-nums;
    color: #0f172a;
}

.cv-free-element {
    position: absolute;
    z-index: 2;
    box-sizing: border-box;
}

.cv-free-text {
    min-width: 48px;
    min-height: 28px;
    padding: 6px 8px;
    color: #0f172a;
    border-radius: 2px;
    line-height: 1.35;
    white-space: pre-wrap;
    overflow: hidden;
}

.cv-appearance-none {
    height: 30px;
    border: 1px solid #cbd5e1;
    background: #ffffff;
    color: #334155;
    border-radius: 7px;
    padding: 0 8px;
    font: inherit;
    cursor: pointer;
}

.cv-appearance-none[aria-pressed="true"] {
    background: #ede9fe;
    border-color: #7c3aed;
    color: #5b21b6;
}

.cv-free-shape[data-shape="circle"],
.cv-free-shape[data-shape="ellipse"] {
    border-radius: 50%;
}

@media print {
    #cvZoomSurface {
        transform: none !important;
        margin: 0 !important;
    }
    .cv-page {
        break-before: auto;
        page-break-before: auto;
        margin: 0 !important;
        box-shadow: none !important;
        max-width: none !important;
        width: 100% !important;
        min-height: 0 !important;
    }
    .cv-pdf-document {
        width: 100%;
        margin: 0;
        padding: 0;
    }
    .cv-pdf-page {
        position: relative;
        width: 100%;
        box-sizing: border-box;
        background: #ffffff;
    }
    .cv-pdf-page + .cv-pdf-page {
        break-before: page;
        page-break-before: always;
    }
    .cv-editor-tools,
    .cv-shape-tools,
    .cv-shape-menu-panel {
        display: none !important;
    }

    /* Match the on-screen CV. Print must not restack the columns or crush the type. */
    html {
        font-size: 90% !important;
    }

    .document-sheet:not(.template-template_3_navy):not(.template-template_15_editorial_sidebar) {
        padding: 0.75rem 1.5rem 1.5rem !important;
        width: 100% !important;
        max-width: none !important;
        box-sizing: border-box !important;
    }

    .template-template_3_navy,
    .template-template_15_editorial_sidebar {
        padding: 0 !important;
        margin: 0 !important;
        box-sizing: border-box !important;
        width: 100% !important;
    }

    .layout-2col:not(.template-template_3_navy):not(.template-template_5_lorna):not(.template-template_6_aisha):not(.template-template_6_teal_sidebar):not(.template-template_15_editorial_sidebar) .cv-body {
        display: grid !important;
        align-items: start !important;
        width: 100% !important;
    }

    .cv-column,
    .cv-left-col,
    .cv-right-col,
    .cv-section,
    .cv-exp-bullets,
    .cv-achievements-list,
    .cv-edu-sub-list,
    .cv-academic-bullets,
    .cv-skills-block,
    .cv-skill-cat {
        display: block !important;
        height: auto !important;
        overflow: visible !important;
        float: none !important;
        break-inside: auto !important;
        page-break-inside: auto !important;
    }

    .cv-left-col > .cv-section + .cv-section,
    .cv-right-col > .cv-section + .cv-section,
    .cv-column > .cv-section + .cv-section {
        margin-top: 0.85rem !important;
    }

    .cv-skill-cat + .cv-skill-cat {
        margin-top: 0.55rem !important;
    }

    /* A flex row stretches the shorter column to the taller one, so print
       pushes the next section onto the following page and leaves a hole.
       Float the sidebar so each column keeps its own height and normal gaps. */
    .template-template_3_navy .cv-body,
    .template-template_15_editorial_sidebar .cv-body {
        display: flow-root !important;
        min-height: 0 !important;
        height: auto !important;
        width: 100% !important;
    }

    .template-template_3_navy .cv-left-col,
    .template-template_15_editorial_sidebar .cv-left-col {
        float: left !important;
        display: block !important;
        min-height: 0 !important;
        height: auto !important;
        flex: none !important;
    }

    .template-template_3_navy .cv-right-col,
    .template-template_15_editorial_sidebar .cv-right-col {
        float: none !important;
        display: block !important;
        min-height: 0 !important;
        height: auto !important;
        flex: none !important;
        overflow: visible !important;
    }

    .template-template_3_navy .cv-right-col {
        width: 66% !important;
        margin-left: 34% !important;
    }

    .template-template_15_editorial_sidebar .cv-right-col {
        width: 64% !important;
        margin-left: 36% !important;
    }

    .template-template_3_navy .cv-section,
    .template-template_15_editorial_sidebar .cv-section {
        flex: none !important;
        height: auto !important;
        min-height: 0 !important;
        break-inside: auto !important;
        page-break-inside: auto !important;
    }

    .template-template_3_navy .cv-left-col > .cv-section + .cv-section,
    .template-template_3_navy .cv-right-col > .cv-section + .cv-section,
    .template-template_15_editorial_sidebar .cv-left-col > .cv-section + .cv-section,
    .template-template_15_editorial_sidebar .cv-right-col > .cv-section + .cv-section {
        margin-top: 0.9rem !important;
    }

    .cv-section-header-row,
    .cv-exp-bullet-row,
    .cv-achievement-item,
    .cv-edu-sub-row,
    .cv-contact-row,
    .skill-pill-tag {
        display: flex !important;
    }

    .skill-pill-tags-wrap {
        display: block !important;
    }

    .skill-pill-tag {
        display: inline-flex !important;
        width: auto !important;
        vertical-align: top;
        border: none !important;
        outline: none !important;
        box-shadow: none !important;
    }

    .document-sheet,
    .cover-letter-sheet,
    .document-sheet-wrapper,
    .cover-letter-sheet-wrapper,
    .cv-page,
    #cvZoomSurface,
    #resumePreviewCanvas {
        border: none !important;
        outline: none !important;
        box-shadow: none !important;
    }

    /* Circle Minimal keeps its two columns. A one-column grid was stacking
       the sidebar above the jobs and splitting the email across two lines. */
    .template-template_5_lorna.layout-2col .cv-body {
        display: flow-root !important;
        width: 100% !important;
        min-height: 0 !important;
        height: auto !important;
    }

    .template-template_5_lorna.layout-2col .cv-left-col {
        float: left !important;
        width: 34% !important;
        display: block !important;
        min-height: 0 !important;
        height: auto !important;
    }

    .template-template_5_lorna.layout-2col .cv-right-col {
        display: block !important;
        float: none !important;
        width: auto !important;
        margin-left: 37% !important;
        min-height: 0 !important;
        height: auto !important;
    }

    .template-template_5_lorna .cv-contact-3col-grid {
        display: flex !important;
        flex-wrap: wrap !important;
        gap: 0.4rem 1.35rem !important;
    }

    .template-template_5_lorna .contact-grid-val {
        word-break: normal !important;
        overflow-wrap: normal !important;
    }

    /* Coloured sidebars and header panels cover the page. Only the text is inset, on every page. */
    .template-template_3_navy .cv-left-col,
    .template-template_3_navy .cv-right-col,
    .template-template_15_editorial_sidebar .cv-left-col,
    .template-template_15_editorial_sidebar .cv-right-col {
        -webkit-box-decoration-break: clone;
        box-decoration-break: clone;
        padding-top: 16mm !important;
        padding-bottom: 18mm !important;
    }

    .document-sheet button,
    .document-sheet .no-print,
    .cv-page button,
    .cv-page .no-print,
    .cv-exp-bullet-row > button,
    .cv-edu-sub-row > button,
    .cv-achievement-item > button,
    .cv-editable-list button,
    .btn-bullet-move,
    .btn-bullet-up,
    .btn-bullet-down,
    .btn-bullet-del,
    .btn-add-skill-pill,
    .btn-add-bullet,
    .section-actions,
    .btn-sec-action {
        display: none !important;
        visibility: hidden !important;
        opacity: 0 !important;
        width: 0 !important;
        height: 0 !important;
        overflow: hidden !important;
        font-size: 0 !important;
        color: transparent !important;
        position: absolute !important;
        pointer-events: none !important;
    }
}

/* Phones, tablets, and narrow laptops. The bar stays one row; page sections stack. */
.btn-nav-cta,
.btn-nav-contact,
.nav-link-btn,
.nav-menu-toggle {
    white-space: nowrap;
    flex-shrink: 0;
}

.nav-menu-toggle {
    display: none;
    align-items: center;
    gap: 0.35rem;
    border: 1px solid #eadfe6;
    background: #ffffff;
    color: #14141a;
    border-radius: 8px;
    padding: 0.4rem 0.7rem;
    font-family: Outfit, sans-serif;
    font-size: 0.82rem;
    font-weight: 600;
    cursor: pointer;
}

.lp-hero-title {
    font-size: clamp(1.85rem, 7vw, 3.4rem);
}

.lp-badge-pill {
    max-width: min(100%, 36rem);
    white-space: normal;
    text-align: center;
    line-height: 1.4;
}

.lp-comparison-container {
    overflow-x: auto;
}

.lp-creator-text {
    flex: 1 1 16rem;
    min-width: 0;
}

.lp-footer-left {
    flex-wrap: wrap;
}

.studio-top-bar {
    top: var(--nav-offset, 64px);
}

.document-sheet,
.cv-page,
.cover-letter-sheet {
    max-width: min(840px, 100%);
}

@media (max-width: 900px) {
    .nav-container {
        flex-wrap: wrap;
        align-items: center;
    }

    .nav-menu-toggle {
        display: inline-flex;
        order: 2;
    }

    .navbar:has(.landing-nav-menu.hidden) .nav-menu-toggle {
        display: none;
    }

    .nav-actions {
        order: 3;
        width: auto;
        min-width: 0;
        margin-left: auto;
        flex-wrap: nowrap;
        justify-content: flex-end;
        overflow-x: auto;
    }

    .nav-links-cluster {
        width: auto;
        flex-wrap: nowrap;
    }

    .landing-nav-menu {
        display: none;
        position: absolute;
        top: 100%;
        left: 0;
        right: 0;
        z-index: 30;
        flex-direction: column;
        align-items: stretch;
        gap: 0;
        padding: 0.35rem 1rem 0.75rem;
        background: #ffffff;
        border-bottom: 1px solid #f3d7ea;
        box-shadow: 0 16px 30px rgba(15, 23, 42, 0.06);
    }

    .navbar.nav-menu-open .landing-nav-menu:not(.hidden) {
        display: flex;
    }

    .landing-nav-link {
        padding: 0.75rem 0.15rem;
        border-bottom: 1px solid #f6eef3;
    }

    .nav-steps-bar {
        order: 4;
        flex: 1 0 100%;
        justify-content: flex-start;
        overflow-x: auto;
    }

    .lp-section {
        padding: 3.25rem 1rem;
    }

    .lp-hero-wrapper {
        padding: 3.5rem 1rem 4rem;
    }

    .lp-hero-sub {
        font-size: 1rem;
    }

    .lp-footer-container,
    .lp-creator-inner {
        align-items: flex-start;
    }

    .upload-fallback-links {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 0.45rem;
    }

    .input-form-grid,
    .modern-step-grid,
    .upload-grid {
        grid-template-columns: 1fr !important;
    }

    .editor-workspace,
    .document-sheet-wrapper,
    .cover-letter-sheet-wrapper {
        min-width: 0;
        max-width: 100%;
    }

    .cv-page,
    .document-sheet {
        min-height: 0;
    }
}

@media (max-width: 520px) {
    .brand-title {
        font-size: 0.95rem;
    }

    #topNavAppsBtn > span:not(.nav-counter-pill) {
        display: none;
    }

    .nav-links-cluster .nav-link-btn:nth-child(n + 3) {
        display: inline-flex;
    }

    .btn-nav-contact span {
        display: none;
    }

    .btn-nav-cta {
        padding-inline: 0.65rem;
        font-size: 0.75rem;
    }

    .privacy-page {
        padding-inline: 1rem;
    }
}

.pdf-render-overlay {
    display: none;
    position: fixed;
    inset: 0;
    z-index: 5000;
    align-items: center;
    justify-content: center;
    padding: 1.5rem;
    background:
        radial-gradient(520px 280px at 50% 40%, rgba(255, 10, 211, 0.16), transparent 70%),
        rgba(252, 252, 253, 0.94);
}

.pdf-render-overlay.is-open {
    display: flex;
}

.pdf-render-card {
    width: min(100%, 380px);
    background: #ffffff;
    border: 1px solid #f0e7ec;
    border-radius: 18px;
    box-shadow: 0 18px 50px rgba(20, 20, 26, 0.12);
    padding: 1.75rem 1.5rem 1.5rem;
    text-align: center;
}

.pdf-render-title-row {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.75rem;
    flex-wrap: wrap;
}

.pdf-render-title-row h2 {
    margin: 0;
    font-size: 1.35rem;
    font-weight: 800;
    letter-spacing: -0.03em;
    color: #14141a;
}

.pdf-render-dots {
    display: inline-flex;
    align-items: center;
    gap: 5px;
}

.pdf-render-dot {
    width: 9px;
    height: 9px;
    background: #f6d5ec;
    transform: translateY(0);
    transition: background-color 0.15s ease, transform 0.15s ease;
}

.pdf-render-dot.is-on {
    background: var(--brand-blue);
    transform: translateY(-3px);
}

#pdfRenderStatus {
    margin: 0.85rem 0 0;
    color: #5c6570;
    font-size: 0.92rem;
    font-weight: 600;
}

.pdf-capture-host {
    position: fixed;
    left: 0;
    top: 0;
    width: 794px;
    z-index: 4500;
    background: #ffffff;
    pointer-events: none;
}

.pdf-capture-sheet {
    width: 794px;
    background: #ffffff;
}

.pdf-capture-sheet .template-template_3_navy,
.pdf-capture-sheet .template-template_15_editorial_sidebar {
    position: relative !important;
    overflow: visible !important;
}

.pdf-capture-sheet .template-template_3_navy::before,
.pdf-capture-sheet .template-template_15_editorial_sidebar::before,
.pdf-capture-sheet .template-template_3_navy::after {
    position: absolute !important;
    top: 0 !important;
    bottom: 0 !important;
    height: 100% !important;
}

@media (prefers-reduced-motion: reduce) {
    .pdf-render-dot.is-on {
        transform: none;
    }
}



