:root {
    --primary-color: #4f46e5;
    --primary-hover: #4338ca;
}

body {
    background-color: #f8fafc;
    font-family: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
}

html:has(body.toolistfy-embed) {
    height: auto;
    min-height: 0;
}

body.toolistfy-embed {
    overflow: hidden;
    height: auto;
    min-height: 0;
    background: #fff;
}

body.toolistfy-embed .tool-header,
body.toolistfy-embed .tool-footer,
body.toolistfy-embed .hero-section,
body.toolistfy-embed .tool-backend-html-section {
    display: none !important;
}

body.toolistfy-embed #editorSection {
    padding-top: 1rem !important;
    padding-bottom: 1rem !important;
}

body.toolistfy-embed #templateSection {
    max-width: 1220px;
    padding-top: 1rem;
    padding-bottom: 1rem !important;
}

body.toolistfy-embed #editorSection > .container-fluid {
    max-width: 1220px;
    padding-left: 1rem !important;
    padding-right: 1rem !important;
}

body.toolistfy-embed .preview-viewport {
    height: auto;
    max-height: none;
}

body.toolistfy-embed .preview-panel {
    position: static;
    top: auto;
}

.tool-header {
    background: #fff;
    border-bottom: 1px solid #e2e8f0;
}

.toolistify-brand {
    display: inline-flex;
    align-items: center;
    line-height: 1;
}

.toolistify-brand-logo {
    width: 156px;
    height: auto;
    display: block;
}

.tool-footer {
    background: #fff;
    border-top: 1px solid #e2e8f0;
}

.hero-section {
    background: linear-gradient(135deg, #eef2ff 0%, #f8fafc 100%);
}

.btn-primary {
    background-color: var(--primary-color);
    border-color: var(--primary-color);
}

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

.template-card {
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    overflow: hidden;
    transition: box-shadow 0.2s ease, transform 0.2s ease;
}

.template-card:hover {
    box-shadow: 0 8px 24px rgba(79, 70, 229, 0.12);
    transform: translateY(-2px);
}

.template-preview {
    height: 180px;
    padding: 1rem;
    display: flex;
    gap: 0.5rem;
    background: #f1f5f9;
}

.template-preview-modern {
    background: linear-gradient(90deg, #1e40af 32%, #fff 32%);
}

.template-preview-modern .tp-sidebar {
    width: 30%;
}

.template-preview-minimal {
    flex-direction: column;
    background: #fff;
    border-bottom: 1px solid #e2e8f0;
}

.tp-main {
    flex: 1;
    padding-top: 0.5rem;
}

.tp-line {
    height: 8px;
    background: rgba(255, 255, 255, 0.7);
    border-radius: 4px;
    margin-bottom: 0.5rem;
    width: 85%;
}

.template-preview-minimal .tp-line {
    background: #cbd5e1;
}

.template-browser-toolbar {
    position: sticky;
    top: 0;
    z-index: 12;
    display: grid;
    grid-template-columns: minmax(260px, 1fr) auto auto;
    gap: .8rem;
    align-items: center;
    margin-bottom: 1rem;
    padding: .85rem;
    background: rgba(248, 250, 252, .96);
    border: 1px solid #dbe4ef;
    border-radius: 14px;
    box-shadow: 0 8px 25px rgba(15, 23, 42, .07);
    backdrop-filter: blur(10px);
}

.template-search-box { position: relative; display: block; }
.template-search-box i { position: absolute; top: 50%; left: .85rem; z-index: 1; color: #64748b; transform: translateY(-50%); }
.template-search-box .form-control { min-height: 44px; padding-left: 2.55rem; border-color: #cbd5e1; border-radius: 10px; }
.template-search-box .form-control:focus { border-color: #818cf8; box-shadow: 0 0 0 3px rgba(79,70,229,.12); }
.template-category-filters { display: flex; flex-wrap: wrap; gap: .4rem; }
.template-category-filters .btn { padding: .5rem .75rem; color: #475569; background: #fff; border: 1px solid #cbd5e1; border-radius: 999px; font-size: .8rem; font-weight: 700; }
.template-category-filters .btn:hover { color: #4338ca; border-color: #818cf8; }
.template-category-filters .btn.active { color: #fff; background: var(--primary-color); border-color: var(--primary-color); }
.template-result-count { min-width: 74px; color: #64748b; font-size: .82rem; font-weight: 700; text-align: right; }

.template-scroll-area {
    max-height: min(920px, calc(100vh - 245px));
    min-height: 280px;
    padding: .25rem .65rem 1.5rem .25rem;
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
    scrollbar-color: #94a3b8 #e2e8f0;
    scrollbar-width: thin;
}
.template-scroll-area::-webkit-scrollbar { width: 10px; }
.template-scroll-area::-webkit-scrollbar-track { background: #e2e8f0; border-radius: 999px; }
.template-scroll-area::-webkit-scrollbar-thumb { background: #94a3b8; border: 2px solid #e2e8f0; border-radius: 999px; }
.template-empty-state { display: grid; min-height: 260px; place-content: center; justify-items: center; gap: .45rem; color: #64748b; text-align: center; }
.template-empty-state i { font-size: 2rem; }
.template-empty-state strong { color: #334155; font-size: 1.05rem; }

body.toolistfy-embed #templateSection {
    display: flex;
    height: auto;
    min-height: auto;
    flex-direction: column;
    overflow: visible;
    box-sizing: border-box;
}
body.toolistfy-embed #templateSection > .template-browser-heading,
body.toolistfy-embed #templateSection > .template-browser-toolbar,
body.toolistfy-embed #templateSection > #savedResumeBanner { flex: 0 0 auto; }
body.toolistfy-embed .template-scroll-area {
    min-height: auto;
    max-height: none;
    flex: 0 0 auto;
    padding-bottom: 8px;
    overflow: visible;
}
body.toolistfy-embed #templateSection.container {
    padding-bottom: 12px !important;
}
body.toolistfy-embed #templateGrid { padding-bottom: 8px; }

/* Compact presentation inside the career-page iframe. */
body.toolistfy-embed #savedResumeBanner {
    margin: 0 0 10px !important;
    padding: 9px 12px;
    border-color: #aee8f8;
    border-radius: 6px;
    font-size: 13px;
}
body.toolistfy-embed #savedResumeBanner .btn { padding: 5px 10px; font-size: 12px; }
body.toolistfy-embed .template-browser-heading {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 14px;
    align-items: center;
    margin-bottom: 10px;
}
body.toolistfy-embed .template-browser-heading > div { max-width: none; }
body.toolistfy-embed .template-browser-heading h2 { margin-bottom: 3px; font-size: 24px; letter-spacing: -.025em; }
body.toolistfy-embed .template-browser-heading p { font-size: 12px; line-height: 1.35; }
body.toolistfy-embed .template-browser-kicker { padding: 6px 9px; font-size: 9px; }
body.toolistfy-embed .template-browser-toolbar {
    position: static;
    gap: 7px;
    margin-bottom: 10px;
    padding: 7px;
    box-shadow: 0 5px 16px rgba(0,164,255,.06);
}
body.toolistfy-embed .template-search-box .form-control { min-height: 39px; }
body.toolistfy-embed .template-category-filters .btn { min-height: 37px; padding-inline: 10px; }
body.toolistfy-embed .template-card .template-preview { height: 205px; }
body.toolistfy-embed .template-card .card-body { padding: 16px; }
body.toolistfy-embed .template-card .card-title { margin-top: 7px; margin-bottom: 6px; font-size: 17px; }
body.toolistfy-embed .template-card .card-text { margin-bottom: 12px; font-size: 12px; line-height: 1.45; }
body.toolistfy-embed .template-card-actions .btn,
body.toolistfy-embed .template-card [data-template] { min-height: 36px; }

/* Template browser follows Toolistfy's cyan, ink and soft-lime visual system. */
#templateSection {
    width: min(1220px, calc(100% - 32px));
    max-width: none;
    margin: 28px auto 44px;
    padding: clamp(22px, 3vw, 38px) !important;
    color: #172033;
    background: linear-gradient(135deg, rgba(240,250,255,.98), rgba(250,255,241,.94));
    border: 1px solid rgba(0,164,255,.2);
    border-radius: 8px;
    box-shadow: 0 18px 45px rgba(0,164,255,.1);
}
body.toolistfy-embed #templateSection { width: calc(100% - 24px); margin: 12px auto; }

.template-browser-heading { display:flex; gap:24px; align-items:flex-start; justify-content:space-between; margin-bottom:22px; }
.template-browser-heading>div { max-width:720px; }
.template-browser-heading h2 { margin:0 0 7px; color:#111827; font-size:clamp(25px,3vw,38px); font-weight:900; letter-spacing:-.035em; line-height:1.08; }
.template-browser-heading p { margin:0; color:#53627a; font-size:15px; font-weight:600; line-height:1.55; }
.template-browser-kicker { display:inline-flex; flex:0 0 auto; align-items:center; gap:8px; padding:8px 11px; color:#0077c8; background:rgba(0,164,255,.1); border:1px solid rgba(0,164,255,.14); border-radius:999px; font-size:11px; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.template-browser-kicker i { color:#00a4ff; }

.template-browser-toolbar { position:sticky; top:0; grid-template-columns:minmax(260px,1fr) auto auto; padding:10px; background:rgba(255,255,255,.92); border:1px solid rgba(0,164,255,.18); border-radius:8px; box-shadow:0 10px 28px rgba(0,164,255,.08); }
.template-search-box .form-control { min-height:46px; color:#172033; background:#f8fcff; border:1px solid #cdeaf9; border-radius:6px; font-family:Inter,system-ui,sans-serif; font-size:14px; font-weight:700; }
.template-search-box i { color:#00a4ff; }
.template-search-box .form-control:focus { background:#fff; border-color:#00a4ff; box-shadow:0 0 0 3px rgba(0,164,255,.12); }
.template-category-filters { flex-wrap:nowrap; }
.template-category-filters .btn { display:inline-flex; align-items:center; gap:6px; min-height:42px; padding:0 12px; color:#53627a; background:transparent; border:1px solid transparent; border-radius:6px; font-family:Inter,system-ui,sans-serif; font-size:12px; font-weight:900; }
.template-category-filters .btn i { color:#00a4ff; }
.template-category-filters .btn:hover { color:#0077c8; background:#eef9ff; border-color:#cdeaf9; }
.template-category-filters .btn.active { color:#fff; background:#00a4ff; border-color:#00a4ff; box-shadow:0 5px 13px rgba(0,164,255,.24); }
.template-category-filters .btn.active i { color:#fff; }
.template-result-count { color:#0077c8; font-family:Inter,system-ui,sans-serif; font-size:12px; font-weight:900; }

.template-scroll-area { padding:8px 12px 26px 4px; border-top:1px solid rgba(0,164,255,.1); scrollbar-color:#00a4ff #e8f7ff; }
.template-scroll-area::-webkit-scrollbar-track { background:#e8f7ff; }
.template-scroll-area::-webkit-scrollbar-thumb { background:#00a4ff; border-color:#e8f7ff; }
.template-card { position:relative; background:rgba(255,255,255,.9); border:1px solid rgba(0,164,255,.16); border-radius:8px; box-shadow:0 9px 24px rgba(0,80,130,.06); transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease; }
.template-card::before { content:""; position:absolute; inset:0 0 auto; z-index:2; height:4px; background:#00a4ff; opacity:0; transition:opacity .2s ease; }
.template-card:hover { border-color:rgba(0,164,255,.46); box-shadow:0 16px 34px rgba(0,164,255,.14); transform:translateY(-4px); }
.template-card:hover::before { opacity:1; }
.template-card .template-preview { height:205px; border-bottom:1px solid rgba(0,164,255,.12); }
.template-card .card-body { position:relative; padding:18px; }
.template-card .card-title { margin-top:9px; color:#111827; font-family:Inter,system-ui,sans-serif; font-size:18px; font-weight:900; letter-spacing:-.02em; }
.template-card .card-text { color:#53627a !important; font-size:13px; font-weight:600; line-height:1.55; }
.template-card-category { display:inline-flex; align-items:center; gap:6px; width:max-content; color:#0077c8; font-size:10px; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.template-card-category i { color:#00a4ff; }
.template-style-badge { display:none; }
.template-card-actions { gap:8px; }
.template-card-actions .btn,.template-card [data-template] { min-height:42px; border-radius:6px; font-family:Inter,system-ui,sans-serif; font-size:12px; font-weight:900; }
.template-card .btn-primary { background:#00a4ff; border-color:#00a4ff; box-shadow:0 6px 14px rgba(0,164,255,.2); }
.template-card .btn-primary:hover { background:#008ed8; border-color:#008ed8; }
.template-card .btn-outline-secondary { color:#0077c8; background:#fff; border-color:#bfe7fb; }
.template-card .btn-outline-secondary:hover { color:#fff; background:#0077c8; border-color:#0077c8; }
.template-empty-state { min-height:330px; color:#53627a; }
.template-empty-state i { color:#00a4ff; }

@media (max-width: 1080px) {
    .template-browser-toolbar { grid-template-columns:1fr; }
    .template-category-filters { flex-wrap:wrap; }
    .template-result-count { text-align:left; }
}

@media (max-width: 900px) {
    #templateSection { width:calc(100% - 20px); padding:18px !important; }
    .template-browser-heading { display:block; }
    .template-browser-kicker { margin-bottom:14px; }
    .template-browser-toolbar { grid-template-columns: 1fr; position: static; }
    .template-result-count { text-align: left; }
    .template-scroll-area { max-height: none; overflow: visible; }
    body.toolistfy-embed .template-scroll-area { min-height:auto; max-height:none; overflow:visible; }
}

@media (max-width: 560px) {
    .template-category-filters { display:grid; grid-template-columns:1fr 1fr; }
    .template-category-filters .btn { justify-content:center; }
}

.template-card-actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: .55rem;
    margin-top: auto;
}

.template-card-actions .btn {
    min-height: 40px;
    font-size: .88rem;
}

.template-preview-dialog {
    width: auto;
    max-width: calc(100vw - 32px);
    max-height: calc(100vh - 32px);
    padding: 0;
    overflow: hidden;
    color: #172033;
    background: #fff;
    border: 0;
    border-radius: 18px;
    box-shadow: 0 30px 90px rgba(15, 23, 42, .35);
}
.template-preview-dialog::backdrop { background: rgba(15, 23, 42, .72); backdrop-filter: blur(4px); }
.template-preview-dialog-head { display: flex; align-items: center; justify-content: space-between; padding: 18px 22px 8px; }
.template-preview-dialog-head h2 { margin: 2px 0 0; font-size: 1.4rem; font-weight: 800; }
.template-preview-dialog-eyebrow { color: #4f46e5; font-size: .72rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.template-preview-dialog-close { width: 40px; height: 40px; color: #334155; background: #f1f5f9; border: 0; border-radius: 50%; font-size: 1.7rem; line-height: 1; }
.template-preview-dialog-note { margin: 0; padding: 0 22px 14px; color: #64748b; font-size: .88rem; }
.template-preview-dialog-stage { max-height: calc(100vh - 205px); padding: 0; overflow: auto; background: #fff; }
.template-preview-sheet {
    position: relative;
    width: 210mm;
    height: 297mm;
    margin: 0;
}
.template-preview-full {
    position: absolute;
    top: 0;
    left: 0;
    width: 210mm;
    transform: scale(var(--template-preview-scale, 1));
    transform-origin: top left;
}
.template-preview-full .cv-page {
    width: 210mm;
    min-width: 210mm;
    height: 297mm;
    min-height: 297mm;
    max-height: 297mm;
    overflow: hidden;
    box-shadow: none;
}
.template-preview-full .cv-page + .cv-page { margin-top: 12px; }
.template-preview-dialog-actions { display: flex; justify-content: flex-end; gap: 10px; padding: 14px 22px; border-top: 1px solid #e2e8f0; }

@media (max-width: 640px) {
    .template-card-actions { grid-template-columns: 1fr; }
    .template-preview-dialog-stage { padding: 0; }
    .template-preview-dialog-head { padding: 14px 16px 7px; }
    .template-preview-dialog-note { padding: 0 16px 12px; }
    .template-preview-dialog-actions { padding: 12px 16px; }
}

.template-preview-classic,
.template-preview-academic,
.template-preview-executive {
    flex-direction: column;
    background: #fff;
    border-bottom: 1px solid #e2e8f0;
}

.template-preview-classic { padding-top: 0; background: #fff; }
.template-preview-classic::before { content: ""; height: 64px; margin: 0 -1rem 10px; background: #222; }
.template-preview-classic .tp-line { background: #3f3f46; }
.template-preview-classic .tp-rule { height: 2px; background: #222; margin: 2px 0 12px; }

.template-preview-creative { background: linear-gradient(90deg, #343437 34%, #fff 34%); border-top: 8px solid #efb0b7; }
.template-preview-creative .tp-sidebar,
.template-preview-compact .tp-sidebar { width: 31%; }

.template-preview-academic { padding-top: 0; background: #f7f7f5; }
.template-preview-academic::before { content: ""; height: 62px; margin: 0 -1rem 10px; background: #293a52; border-bottom: 4px solid #b69b62; }
.template-preview-academic .tp-line { background: #707985; }
.template-preview-academic .tp-rule { height: 2px; background: #b69b62; margin: 2px 0 12px; }

.template-preview-executive { padding: 0 1rem 1rem; }
.template-preview-executive .tp-executive-head {
    margin: 0 -1rem 0.75rem;
    padding: 1rem;
    background: #f7f7f7;
    border-bottom: 3px solid #111;
}
.template-preview-executive .tp-executive-head .tp-line { background: #111; }
.template-preview-executive > .tp-line { background: #94a3b8; }

.template-preview-compact { background: linear-gradient(90deg, #f4f4f2 31%, #fff 31%); border-top: 12px solid #111; }
.template-preview-compact .tp-line { background: #222; }

.tp-line-lg {
    height: 14px;
    width: 60%;
}

.tp-line-sm {
    width: 45%;
    height: 6px;
}

.tp-dark {
    background: #94a3b8 !important;
}

/* Realistic dummy CV thumbnails */
.template-preview { position: relative; }
.tp-resume-thumb {
    position: absolute;
    inset: 10px;
    overflow: hidden;
    color: #263241;
    background: #fff;
    box-shadow: 0 1px 5px rgba(15, 23, 42, .12);
    font-family: Arial, sans-serif;
    font-size: 5px;
    line-height: 1.25;
}
.tp-resume-head { display: flex; align-items: center; gap: 7px; padding: 9px; }
.tp-resume-head > span:last-child { display: flex; min-width: 0; flex-direction: column; }
.tp-resume-head b { font-size: 11px; line-height: 1.05; text-transform: uppercase; }
.tp-resume-head small { margin-top: 3px; font-size: 5px; letter-spacing: .06em; }
.tp-avatar {
    display: grid;
    width: 27px;
    height: 27px;
    flex: 0 0 27px;
    place-items: center;
    color: #fff;
    background: #64748b;
    border-radius: 50%;
    font-size: 8px;
    font-weight: 800;
}
.template-preview .tp-avatar {
    color: transparent !important;
    background-color: #dbe4ea;
    background-image: url('../images/cv-sample-profile.png');
    background-position: center 24%;
    background-size: cover;
    background-repeat: no-repeat;
}
.tp-resume-body { padding: 7px 9px; }
.tp-resume-section { margin-bottom: 6px; }
.tp-resume-section > b { display: block; margin-bottom: 3px; padding-bottom: 2px; border-bottom: 1px solid currentColor; font-size: 6px; text-transform: uppercase; letter-spacing: .08em; }
.tp-resume-section strong,
.tp-resume-section small { display: block; font-size: 5px; }
.tp-resume-section small { margin: 1px 0 3px; color: #718096; }
.tp-resume-section i { display: block; width: 92%; height: 2px; margin: 2px 0; background: #d8dee7; }
.tp-resume-skills em { display: inline-block; margin: 1px; padding: 2px 3px; background: #e9eef5; font-size: 4px; font-style: normal; }

.template-preview-modern .tp-resume-thumb,
.template-preview-creative .tp-resume-thumb,
.template-preview-compact .tp-resume-thumb { display: grid; grid-template-columns: 34% 66%; }
.template-preview-modern .tp-resume-head,
.template-preview-creative .tp-resume-head,
.template-preview-compact .tp-resume-head { align-items: flex-start; flex-direction: column; color: #fff; background: #2446b8; }
.template-preview-modern .tp-resume-head b,
.template-preview-creative .tp-resume-head b,
.template-preview-compact .tp-resume-head b { font-size: 8px; }
.template-preview-modern .tp-resume-body,
.template-preview-creative .tp-resume-body,
.template-preview-compact .tp-resume-body { padding: 9px 8px; }
.template-preview-modern .tp-resume-profile,
.template-preview-creative .tp-resume-profile,
.template-preview-compact .tp-resume-profile { display: block; }
.template-preview-modern .tp-resume-section > b { color: #2446b8; }

.template-preview-minimal .tp-resume-head { border-bottom: 2px solid #202938; }
.template-preview-minimal .tp-resume-body { display: grid; grid-template-columns: 1fr 1fr; gap: 2px 10px; }
.template-preview-minimal .tp-resume-profile { grid-column: 1 / -1; }

.template-preview-classic .tp-resume-thumb { inset: 7px; }
.template-preview-classic .tp-resume-head { justify-content: space-between; color: #fff; background: #242424; }
.template-preview-classic .tp-avatar { order: 2; background: #fff; color: #222; }
.template-preview-classic .tp-resume-body { display: grid; grid-template-columns: 2fr 1fr; gap: 3px 10px; }
.template-preview-classic .tp-resume-profile,
.template-preview-classic .tp-resume-section:nth-child(2) { grid-column: 1 / -1; }

.template-preview-creative .tp-resume-thumb { border-top: 4px solid #efb0b7; }
.template-preview-creative .tp-resume-head { background: #353538; }
.template-preview-creative .tp-avatar { border-radius: 2px; border: 1px solid #fff; background: #4b4b50; }
.template-preview-creative .tp-resume-section > b { padding: 2px 3px; color: #2f3033; background: #f4b6bd; border: 0; }

.template-preview-academic .tp-resume-thumb { inset: 7px; background: linear-gradient(90deg, #f0f0ee 34%, #fff 34%); }
.template-preview-academic .tp-resume-head { color: #fff; background: #293a52; border-bottom: 3px solid #b69b62; }
.template-preview-academic .tp-avatar { background: #53657c; }
.template-preview-academic .tp-resume-body { display: grid; grid-template-columns: .85fr 1.65fr; gap: 3px 10px; }
.template-preview-academic .tp-resume-profile { grid-column: 2; }
.template-preview-academic .tp-resume-section > b { color: #293a52; border-bottom-color: #b69b62; }

.template-preview-executive .tp-resume-thumb { inset: 7px; background: #f8f8f7; }
.template-preview-executive .tp-resume-head { justify-content: space-between; border-bottom: 2px solid #111; }
.template-preview-executive .tp-resume-head b { font-size: 14px; letter-spacing: -.06em; }
.template-preview-executive .tp-avatar { order: 2; border-radius: 0; background: #ddd; color: #111; }
.template-preview-executive .tp-resume-body { display: grid; grid-template-columns: 1fr 1fr; gap: 3px 10px; }
.template-preview-executive .tp-resume-profile { grid-column: 1 / -1; }

.template-preview-compact .tp-resume-thumb { inset: 7px; grid-template-columns: 31% 69%; border-top: 5px solid #111; }
.template-preview-compact .tp-resume-head { color: #111; background: #f1f1ef; }
.template-preview-compact .tp-avatar { border-radius: 0; background: #d9d9d7; color: #111; }
.template-preview-compact .tp-resume-section > b { color: #111; border-bottom: 1px solid #111; }
.template-preview-compact .tp-resume-skills em { padding: 1px 2px; border: 1px solid #777; background: transparent; }

/* New template cards: each thumbnail mirrors its full CV colour and layout. */
.template-preview-sage .tp-resume-thumb,
.template-preview-aurora .tp-resume-thumb,
.template-preview-fintech .tp-resume-thumb,
.template-preview-terracotta .tp-resume-thumb,
.template-preview-data .tp-resume-thumb { display: grid; grid-template-columns: 34% 66%; }
.template-preview-sage .tp-resume-head,
.template-preview-aurora .tp-resume-head,
.template-preview-fintech .tp-resume-head,
.template-preview-terracotta .tp-resume-head,
.template-preview-data .tp-resume-head { align-items: flex-start; flex-direction: column; color: #fff; }
.template-preview-sage .tp-resume-head { color: #173c32; background: #cbdccf; }
.template-preview-sage .tp-avatar { background: #2f6755; }
.template-preview-sage .tp-resume-section > b { color: #2f6755; }
.template-preview-aurora .tp-resume-head { background: linear-gradient(155deg, #202044, #37306b 60%, #28576b); }
.template-preview-aurora .tp-resume-section > b { color: #403b75; }
.template-preview-fintech .tp-resume-head { background: #132a2f; border-top: 5px solid #2dd4bf; }
.template-preview-fintech .tp-avatar { background: #0f766e; }
.template-preview-fintech .tp-resume-section > b { color: #0f766e; }
.template-preview-terracotta .tp-resume-thumb { background: #fffaf3; }
.template-preview-terracotta .tp-resume-head { color: #402e27; background: #d99a7c; }
.template-preview-terracotta .tp-avatar { background: #8e4f3b; border-radius: 45% 45% 8px 8px; }
.template-preview-terracotta .tp-resume-section > b { color: #9a563f; }
.template-preview-data .tp-resume-head { background: #312e81; }
.template-preview-data .tp-avatar { background: #818cf8; }
.template-preview-data .tp-resume-section > b { color: #4f46e5; }

.template-preview-cobalt .tp-resume-head { color: #fff; background: #164e9b; border-bottom: 4px solid #60a5fa; }
.template-preview-cobalt .tp-avatar { color: #164e9b; background: #fff; border-radius: 4px; }
.template-preview-cobalt .tp-resume-body { display: grid; grid-template-columns: 1fr 1fr; gap: 3px 10px; }
.template-preview-cobalt .tp-resume-profile { grid-column: 1 / -1; }
.template-preview-cobalt .tp-resume-section > b { color: #164e9b; }
.template-preview-burgundy .tp-resume-thumb { color: #34242a; font-family: Georgia, serif; }
.template-preview-burgundy .tp-resume-head { justify-content: center; text-align: center; border-block: 3px double #7f1d3a; }
.template-preview-burgundy .tp-avatar { display: none; }
.template-preview-burgundy .tp-resume-section > b { color: #7f1d3a; }
.template-preview-graduate .tp-resume-head { border-left: 7px solid #2563eb; background: #eff6ff; }
.template-preview-graduate .tp-avatar { background: #2563eb; border-radius: 6px; }
.template-preview-graduate .tp-resume-section > b { color: #1d4ed8; }
.template-preview-timeline .tp-resume-head { color: #fff; background: #172554; }
.template-preview-timeline .tp-resume-body { padding-left: 17px; border-left: 2px solid #f59e0b; }
.template-preview-timeline .tp-resume-section { position: relative; }
.template-preview-timeline .tp-resume-section::before { content: ""; position: absolute; left: -12px; top: 1px; width: 5px; height: 5px; border-radius: 50%; background: #f59e0b; }
.template-preview-architect .tp-resume-thumb { border-top: 7px solid #111; }
.template-preview-architect .tp-resume-head { border-bottom: 2px solid #ef4444; }
.template-preview-architect .tp-avatar { border-radius: 0; color: #111; background: #ef4444; }
.template-preview-architect .tp-resume-body { display: grid; grid-template-columns: 1fr 1fr; gap: 3px 10px; }
.template-preview-architect .tp-resume-profile { grid-column: 1 / -1; }
.template-preview-architect .tp-resume-section > b { color: #111; border-bottom: 2px solid #ef4444; }

.template-preview-charcoal .tp-resume-thumb { display: grid; grid-template-columns: 40% 60%; background: #f4f5f5; }
.template-preview-charcoal .tp-resume-head { align-items: flex-end; flex-direction: column; justify-content: flex-end; color: #eee; background: linear-gradient(#303030 36%, #fff 36% 50%, #272727 50%); }
.template-preview-charcoal .tp-avatar { align-self: center; border-radius: 0; background: #555; }
.template-preview-charcoal .tp-resume-body { padding-top: 38px; }
.template-preview-charcoal .tp-resume-section > b { color: #555; }
.template-preview-valeria .tp-resume-thumb { display: grid; grid-template-columns: 30% 70%; padding: 7px; }
.template-preview-valeria .tp-resume-head { flex-direction: column; padding-right: 7px; border-right: 1px solid #555; text-align: center; }
.template-preview-valeria .tp-resume-head b { font-size: 8px; }
.template-preview-valeria .tp-resume-body { padding-left: 8px; }
.template-preview-valeria .tp-resume-section > b { border-block: 1px solid #555; }
.template-preview-game .tp-resume-thumb { padding-top: 38px; border-top: 30px solid #1d384a; box-shadow: inset 0 8px #102934; }
.template-preview-game .tp-resume-head { position: absolute; inset: -30px 0 auto; height: 30px; color: #fff; }
.template-preview-game .tp-avatar { margin-left: auto; border: 2px solid #f5b335; }
.template-preview-game .tp-resume-body { display: grid; grid-template-columns: 1fr 1fr; gap: 3px 9px; }
.template-preview-game .tp-resume-profile { grid-column: 1 / -1; }
.template-preview-game .tp-resume-section > b { color: #e9a62e; border-bottom: 2px solid #e9a62e; }
.template-preview-graphic .tp-resume-thumb { display:grid; grid-template-columns:40% 60%; background:#f2f2f2; }
.template-preview-graphic .tp-resume-head { flex-direction:column; align-items:flex-start; background:#ddd; }
.template-preview-graphic .tp-resume-head b { font-size:9px; }
.template-preview-graphic .tp-resume-head small { padding:2px; background:#e3b934; }
.template-preview-graphic .tp-avatar { border-radius:0; background:#555; }
.template-preview-graphic .tp-resume-section>b { border-color:#e3b934; }
.template-preview-estelle .tp-resume-thumb { padding:10px; background:#dfe1e2; }
.template-preview-estelle .tp-resume-head { justify-content:space-between; }
.template-preview-estelle .tp-resume-head b { font-size:14px; }
.template-preview-estelle .tp-avatar { order:2; width:38px; height:43px; border-radius:0; filter:grayscale(1); }
.template-preview-estelle .tp-resume-body { display:grid; grid-template-columns:1.35fr .75fr; gap:9px; }
.template-preview-estelle .tp-resume-section>b { border-bottom:1px solid #333; }
.template-preview-ankita .tp-resume-thumb { display:grid; grid-template-columns:36% 64%; }
.template-preview-ankita .tp-resume-head { flex-direction:column; color:#fff; background:#183340; }
.template-preview-ankita .tp-resume-body { background:#fff; }
.template-preview-ankita .tp-resume-section>b { padding:2px; color:#fff; background:#25acd2; border:0; text-align:center; }
.template-preview-ankita .tp-avatar { background:#25acd2; border:1px solid #fff; }
.template-preview-charles .tp-resume-thumb{display:grid;grid-template-columns:38% 62%;background:#f1f1f1}.template-preview-charles .tp-resume-head{color:#fff;background:#3d3d3d;border-bottom:7px solid #ffc20e}.template-preview-charles .tp-avatar{border-radius:0;background:#666}.template-preview-charles .tp-resume-section>b{color:#fff;background:#3d3d3d;padding:2px;border:0}
.template-preview-joshua .tp-resume-thumb{padding:10px;background:#f4f4f4;border-radius:9px}.template-preview-joshua .tp-resume-head{justify-content:center;text-align:center}.template-preview-joshua .tp-avatar{order:2;width:45px;height:45px;background:#ffc400}.template-preview-joshua .tp-resume-body{display:grid;grid-template-columns:1fr 1fr;gap:6px}.template-preview-joshua .tp-resume-section>b{border:0}.template-preview-joshua .tp-resume-section>b:before{content:"";display:inline-block;width:7px;height:7px;margin-right:3px;background:#ffc400;border-radius:50%}
.template-preview-scholar .tp-resume-thumb{display:grid;grid-template-columns:28% 72%;padding-top:28px;background:linear-gradient(90deg,#e5e5e5 28%,#fff 28%);border-top:22px solid #3c3c3c}.template-preview-scholar .tp-resume-head{position:absolute;inset:-22px 0 auto;color:#fff;justify-content:center}.template-preview-scholar .tp-avatar{display:none}.template-preview-scholar .tp-resume-body{display:grid;grid-template-columns:1fr 1fr;gap:5px}.template-preview-scholar .tp-resume-profile{grid-column:1/-1}.template-preview-scholar .tp-resume-section>b{border-bottom:1px solid #333}
.template-preview .tp-avatar:not([hidden]){background-image:url('../images/cv-sample-profile.png') !important;background-position:center 24% !important;background-size:cover !important;background-repeat:no-repeat !important}
.template-preview-daryl .tp-resume-thumb{padding-top:28px;background:linear-gradient(90deg,#eee 42%,#fff 42%);border-top:18px solid #3e4243}.template-preview-daryl .tp-resume-head{position:absolute;inset:-18px 0 auto}.template-preview-daryl .tp-resume-body{padding-left:42%}.template-preview-daryl .tp-resume-section>b{color:#333}
.template-preview-aletha .tp-resume-thumb{display:grid;grid-template-columns:45% 55%;background:#3b3a3c}.template-preview-aletha .tp-resume-head{color:#333;background:#ffd20a}.template-preview-aletha .tp-resume-body{color:#fff}.template-preview-aletha .tp-resume-section>b{color:#ffd20a;border-color:#ffd20a}
.template-preview-tealcover .tp-resume-thumb{display:grid;grid-template-columns:42% 58%;color:#fff;background:#075361}.template-preview-tealcover .tp-resume-head{flex-direction:column;background:#096779}.template-preview-tealcover .tp-resume-section>b{display:inline-block;width:auto;padding:2px 5px;color:#075361;background:#efc660;border:0;border-radius:9px}

.template-card-title-row { display: flex; align-items: flex-start; justify-content: space-between; gap: .65rem; }
.template-card-title-row .card-title { margin-bottom: .55rem; }
.template-style-badge {
    flex: 0 0 auto;
    padding: .2rem .48rem;
    color: #334155;
    background: #f1f5f9;
    border: 1px solid #e2e8f0;
    border-radius: 999px;
    font-size: .62rem;
    font-weight: 700;
    letter-spacing: .055em;
    line-height: 1;
    text-transform: uppercase;
}

.form-card {
    border-radius: 12px;
    border: 1px solid #e2e8f0;
    overflow-y: auto;
}

.form-section {
    border-bottom: 1px solid #e2e8f0;
    padding-bottom: 1.25rem;
    margin-bottom: 1.25rem;
}

.form-section:last-child {
    border-bottom: none;
    margin-bottom: 0;
}

.form-section-title {
    font-size: 1rem;
    font-weight: 600;
    margin-bottom: 1rem;
    color: #1e293b;
}

.repeat-card {
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    padding: 1rem;
    margin-bottom: 1rem;
}

.repeat-inline-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(10.5rem, 11rem) auto;
    gap: 0.65rem 0.75rem;
    align-items: end;
}

.repeat-inline-field,
.repeat-inline-action {
    min-width: 0;
}

.repeat-inline-field .form-label {
    display: block;
    margin-bottom: 0.35rem;
    line-height: 1.2;
    white-space: nowrap;
}

.repeat-inline-field .form-control,
.repeat-inline-field .form-select {
    width: 100%;
}

.repeat-inline-action {
    display: flex;
    align-items: flex-end;
}

.repeat-inline-action .btn {
    white-space: nowrap;
    flex: 0 0 auto;
    height: calc(1.5em + 0.75rem + 2px);
    padding-left: 0.9rem;
    padding-right: 0.9rem;
}

@media (max-width: 575.98px) {
    .repeat-inline-row {
        grid-template-columns: minmax(0, 1fr) minmax(7.5rem, 8.5rem);
    }

    .repeat-inline-action {
        grid-column: 1 / -1;
        justify-content: flex-end;
    }
}

.tag-input-wrap {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
}

.tag-chip {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    background: #eef2ff;
    color: #4338ca;
    border-radius: 999px;
    padding: 0.2rem 0.65rem;
    font-size: 0.8125rem;
}

.tag-chip button {
    border: none;
    background: none;
    color: #64748b;
    cursor: pointer;
    padding: 0;
    line-height: 1;
}

.quill-experience-wrap {
    background: #fff;
    border: 1px solid #ced4da;
    border-radius: .375rem;
    overflow: hidden;
}

.quill-experience-wrap.is-invalid {
    border-color: #dc3545;
}

.quill-experience-wrap .ql-toolbar.ql-snow {
    border: 0;
    border-bottom: 1px solid #e2e8f0;
    background: #f8fafc;
    padding: .35rem .5rem;
    flex-wrap: wrap;
}

.quill-experience-wrap .ql-container.ql-snow {
    border: 0;
    font-family: inherit;
    font-size: .925rem;
}

.quill-experience-wrap .ql-editor {
    min-height: 140px;
    max-height: 280px;
    overflow-y: auto;
}

.quill-experience-wrap .ql-editor.ql-blank::before {
    color: #94a3b8;
    font-style: normal;
}

.cv-rich-text h1,
.cv-rich-text h2,
.cv-rich-text h3,
.cv-rich-text h4,
.cv-rich-text h5,
.cv-rich-text h6 {
    margin: .35rem 0 .2rem;
    line-height: 1.25;
    font-weight: 700;
}

.cv-rich-text blockquote {
    margin: .35rem 0;
    padding-left: .75rem;
    border-left: 3px solid #cbd5e1;
    color: #475569;
}

.cv-rich-text pre,
.cv-rich-text code {
    font-family: Consolas, "Courier New", monospace;
    font-size: .9em;
}

.cv-rich-text pre {
    margin: .35rem 0;
    padding: .5rem .65rem;
    background: #f1f5f9;
    border-radius: .3rem;
    white-space: pre-wrap;
}

.cv-rich-text a {
    color: inherit;
    text-decoration: underline;
}

.cv-rich-text img,
.cv-rich-text iframe,
.cv-rich-text video {
    max-width: 100%;
    height: auto;
    display: block;
    margin: .4rem 0;
}

.cv-rich-text .ql-align-center { text-align: center; }
.cv-rich-text .ql-align-right { text-align: right; }
.cv-rich-text .ql-align-justify { text-align: justify; }
.cv-rich-text .ql-indent-1 { padding-left: 1.5em; }
.cv-rich-text .ql-indent-2 { padding-left: 3em; }
.cv-rich-text .ql-indent-3 { padding-left: 4.5em; }
.cv-rich-text .ql-size-small { font-size: .85em; }
.cv-rich-text .ql-size-large { font-size: 1.25em; }
.cv-rich-text .ql-size-huge { font-size: 1.6em; }
.cv-rich-text .ql-direction-rtl { direction: rtl; text-align: inherit; }

.cv-page .cv-rich-text h1 { font-size: 14pt; }
.cv-page .cv-rich-text h2 { font-size: 12pt; }
.cv-page .cv-rich-text h3 { font-size: 11pt; }
.cv-page .cv-rich-text h4,
.cv-page .cv-rich-text h5,
.cv-page .cv-rich-text h6 { font-size: 10pt; }
.cv-page .cv-rich-text img,
.cv-page .cv-rich-text iframe,
.cv-page .cv-rich-text video {
    max-width: 100%;
    max-height: 45mm;
    object-fit: contain;
}

.skill-suggest-wrap {
    position: relative;
}

.skill-suggest-list {
    position: absolute;
    top: calc(100% + 4px);
    left: 0;
    right: 0;
    z-index: 30;
    max-height: 220px;
    overflow: auto;
    background: #fff;
    border: 1px solid #dbe3f0;
    border-radius: 10px;
    box-shadow: 0 12px 28px rgba(15, 23, 42, .12);
}

.skill-suggest-item {
    display: block;
    width: 100%;
    padding: .55rem .75rem;
    border: 0;
    background: transparent;
    color: #1e293b;
    text-align: left;
    font-size: .9rem;
}

.skill-suggest-item:hover,
.skill-suggest-item.is-active {
    background: #eef2ff;
    color: #3730a3;
}

.repeat-add-btn {
    margin-top: .5rem;
}

.cv-editor-row {
    align-items: flex-start;
}

.preview-panel {
    top: 1rem;
    width: 100%;
}

.preview-viewport {
    background: #cbd5e1;
    border-radius: 12px;
    padding: 1.25rem;
    height: auto;
    overflow: hidden;
    display: block;
}

.preview-viewport.is-scrollable {
    overflow: auto;
}

#previewScaler {
    position: relative;
    display: block;
    width: 0;
    height: 0;
    margin: 0 auto;
    overflow: hidden;
}

.preview-pages {
    position: absolute;
    top: 0;
    left: 0;
    display: flex;
    flex-direction: column;
    gap: 1rem;
    align-items: center;
    transform-origin: top left;
}

.preview-toolbar {
    border-radius: 12px;
    border: 1px solid #e2e8f0;
}

.col-xl-45 {
    flex: 0 0 auto;
    width: 45%;
}

.col-xl-55 {
    flex: 0 0 auto;
    width: 55%;
}

@media (min-width: 1200px) {
    .cv-form-col {
        align-self: stretch;
        position: relative;
        min-height: 0;
    }

    .cv-form-col .form-card {
        position: absolute;
        inset: 0;
        max-height: none;
        overflow-y: auto;
    }
}

@media (max-width: 1199px) {
    .col-xl-45, .col-xl-55 {
        width: 100%;
    }
}

.template-preview-henrietta .tp-resume-thumb{display:grid;grid-template-columns:42% 58%;color:#fff;background:#0b3438}.template-preview-henrietta .tp-resume-head{flex-direction:column;background:#11685f}.template-preview-henrietta .tp-avatar{border-radius:0;clip-path:polygon(0 0,75% 0,100% 25%,100% 100%,0 100%)}.template-preview-henrietta .tp-resume-section>b{color:#fff;border-color:#147567}
.template-preview-blueletter .tp-resume-thumb{color:#fff;background:#617f99;border-block:4px double #fff}.template-preview-blueletter .tp-resume-head{justify-content:center;text-align:center}.template-preview-blueletter .tp-avatar{display:none}.template-preview-blueletter .tp-resume-body{text-align:center}.template-preview-blueletter .tp-resume-section>b{border-color:#fff}
.template-preview-editoriallight .tp-resume-thumb,.template-preview-editorialdark .tp-resume-thumb{display:grid;grid-template-columns:1fr 1fr}.template-preview-editoriallight .tp-resume-head,.template-preview-editorialdark .tp-resume-head{flex-direction:column}.template-preview-editoriallight .tp-resume-body,.template-preview-editorialdark .tp-resume-body{display:grid;grid-template-columns:1.3fr .7fr}.template-preview-editoriallight .tp-resume-head{background:#f5efdf}.template-preview-editoriallight .tp-resume-body{background:#b06f43}.template-preview-editorialdark .tp-resume-head{color:#fff;background:#444}.template-preview-editorialdark .tp-resume-body{color:#fff;background:#646464}
.template-preview-rosien .tp-resume-thumb{background:#f3f4f6}.template-preview-rosien .tp-resume-head{color:#1b2a6b;background:#fff;border-bottom:8px solid #f43f6d}.template-preview-rosien .tp-resume-head b{color:#f43f6d}.template-preview-rosien .tp-avatar{border-radius:0;background:#1b2a6b}.template-preview-rosien .tp-resume-body{display:grid;grid-template-columns:1.3fr .7fr}.template-preview-rosien .tp-resume-section>b{color:#1b2a6b}
.template-preview-royalblue .tp-resume-thumb{background:#eef3f8}.template-preview-royalblue .tp-resume-head{color:#fff;background:#1f5ad9}.template-preview-mustardhello .tp-resume-thumb{display:grid;grid-template-columns:34% 66%;background:linear-gradient(90deg,#e8b423 34%,#f6f3ea 34%)}.template-preview-mustardhello .tp-resume-head{background:#e8b423}.template-preview-slateorange .tp-resume-head{color:#fff;background:#1d1d1d;border-top:4px solid #f07a2a}.template-preview-slateorange .tp-avatar{border-radius:50%;background:#f07a2a}.template-preview-icesidebar .tp-resume-thumb{display:grid;grid-template-columns:34% 66%}.template-preview-icesidebar .tp-resume-head{background:#d7e3ec}.template-preview-coralframe .tp-resume-head b{color:#ff6b54}.template-preview-terraframe .tp-resume-head b{color:#c46a3a}.template-preview-limenight .tp-resume-thumb{color:#f4f4f4;background:#1a1a1a}.template-preview-limenight .tp-resume-head{color:#b1d82e;background:#111}.template-preview-inksalmon .tp-resume-head{color:#fff;background:#1b1b1b;border-bottom:6px solid #ebc4b5}.template-preview-dustyrose .tp-resume-head b{color:#c45b7a}.template-preview-dustyrose .tp-resume-head{border-bottom:8px solid #c45b7a}.template-preview-sunnyedit .tp-resume-thumb{display:grid;grid-template-columns:34% 66%;background:linear-gradient(90deg,#f0c44a 34%,#fff 34%)}.template-preview-limefresh .tp-resume-head{color:#fff;background:#8fd400}.template-preview-neonwave .tp-resume-thumb{color:#fff;background:#0b1020}.template-preview-neonwave .tp-resume-head{background:linear-gradient(90deg,#ff2bd6,#00e7ff)}.template-preview-goldrail .tp-resume-section>b{color:#c4a35a;border-bottom:2px solid #c4a35a}.template-preview-tanportrait .tp-resume-head{background:#c4a06a}.template-preview-navyorange .tp-resume-head{color:#16325c;background:#ece7dc;border-bottom:4px solid #ef7a2a}.template-preview-neonarcade .tp-resume-thumb{color:#fff;background:#2a1638}.template-preview-neonarcade .tp-resume-head{background:#ff4fd8}.template-preview-forestslate .tp-resume-head{color:#1a1f1c;background:#2d6a4f}.template-preview-forestslate .tp-resume-section>b{color:#1b4332}.template-preview-steelhorizon .tp-resume-head{color:#1c2430;background:#3d7ea6}.template-preview-steelhorizon .tp-resume-section>b{color:#1e3a5f}.template-preview-tealink .tp-resume-head{color:#134e4a;background:#0d9488}.template-preview-tealink .tp-resume-section>b{color:#115e59}.template-preview-wineledger .tp-resume-head{color:#3b1d1d;background:#8b3a3a}.template-preview-wineledger .tp-resume-section>b{color:#5c1a1a}.template-preview-olivepanel .tp-resume-head{color:#2c3329;background:#6b7c5e}.template-preview-olivepanel .tp-resume-section>b{color:#3f4a3c}.template-preview-indigoexec .tp-resume-head{color:#ffffff;background:#4338ca}.template-preview-indigoexec .tp-resume-section>b{color:#1e1b4b}.template-preview-graphitemint .tp-resume-head{color:#1f2937;background:#10b981}.template-preview-graphitemint .tp-resume-section>b{color:#374151}.template-preview-slatecopper .tp-resume-head{color:#1e293b;background:#c2410c}.template-preview-slatecopper .tp-resume-section>b{color:#334155}.template-preview-emeraldgrid .tp-resume-head{color:#052e1c;background:#059669}.template-preview-emeraldgrid .tp-resume-section>b{color:#064e3b}.template-preview-oxfordcrest .tp-resume-head{color:#ffffff;background:#1e4d8c}.template-preview-oxfordcrest .tp-resume-section>b{color:#0c2340}.template-preview-arcticnavy .tp-resume-head{color:#0f274f;background:#1d4ed8}.template-preview-arcticnavy .tp-resume-section>b{color:#0f274f}.template-preview-sandstonepro .tp-resume-head{color:#3b2a16;background:#b45309}.template-preview-sandstonepro .tp-resume-section>b{color:#78350f}.template-preview-plumformal .tp-resume-head{color:#3b0764;background:#7e22ce}.template-preview-plumformal .tp-resume-section>b{color:#4a044e}.template-preview-cedarline .tp-resume-head{color:#3f2a1c;background:#9a3412}.template-preview-cedarline .tp-resume-section>b{color:#5c2b16}.template-preview-cobaltmint .tp-resume-head{color:#0c4a6e;background:#0284c7}.template-preview-cobaltmint .tp-resume-section>b{color:#0c4a6e}.template-preview-ashazure .tp-resume-head{color:#ffffff;background:#2563eb}.template-preview-ashazure .tp-resume-section>b{color:#475569}.template-preview-mossboard .tp-resume-head{color:#1a2e05;background:#4d7c0f}.template-preview-mossboard .tp-resume-section>b{color:#365314}.template-preview-crimsonink .tp-resume-head{color:#450a0a;background:#b91c1c}.template-preview-crimsonink .tp-resume-section>b{color:#7f1d1d}.template-preview-pewterteal .tp-resume-head{color:#0f172a;background:#0f766e}.template-preview-pewterteal .tp-resume-section>b{color:#64748b}.template-preview-espressoformal .tp-resume-head{color:#292524;background:#78350f}.template-preview-espressoformal .tp-resume-section>b{color:#451a03}.template-preview-glacierpro .tp-resume-head{color:#0c4a6e;background:#0369a1}.template-preview-glacierpro .tp-resume-section>b{color:#0c4a6e}.template-preview-basaltcorp .tp-resume-head{color:#1c1917;background:#57534e}.template-preview-basaltcorp .tp-resume-section>b{color:#292524}.template-preview-sageboard .tp-resume-head{color:#1f3326;background:#4d7c5a}.template-preview-sageboard .tp-resume-section>b{color:#2f4f3a}.template-preview-midnightteal .tp-resume-head{color:#ffffff;background:#14b8a6}.template-preview-midnightteal .tp-resume-section>b{color:#134e4a}.template-preview-copperfolio .tp-resume-head{color:#431407;background:#c2410c}.template-preview-copperfolio .tp-resume-section>b{color:#9a3412}.template-preview-denimpro .tp-resume-head{color:#1e3a8a;background:#1e40af}.template-preview-denimpro .tp-resume-section>b{color:#1e3a8a}.template-preview-ivorynavy .tp-resume-head{color:#0f2744;background:#1e3a5f}.template-preview-ivorynavy .tp-resume-section>b{color:#0f2744}.template-preview-junipermodern .tp-resume-head{color:#1a2e05;background:#3f6212}.template-preview-junipermodern .tp-resume-section>b{color:#1a2e05}.template-preview-mahoganyclassic .tp-resume-head{color:#431407;background:#7c2d12}.template-preview-mahoganyclassic .tp-resume-section>b{color:#431407}.template-preview-skylineresume .tp-resume-head{color:#0c4a6e;background:#075985}.template-preview-skylineresume .tp-resume-section>b{color:#0c4a6e}.template-preview-chalkblue .tp-resume-head{color:#1e3a8a;background:#1d4ed8}.template-preview-chalkblue .tp-resume-section>b{color:#1e40af}.template-preview-ironwoodpro .tp-resume-head{color:#ffffff;background:#44403c}.template-preview-ironwoodpro .tp-resume-section>b{color:#1c1917}.template-preview-seaglass .tp-resume-head{color:#164e63;background:#0e7490}.template-preview-seaglass .tp-resume-section>b{color:#155e75}.template-preview-inkstone .tp-resume-head{color:#ffffff;background:#111827}.template-preview-inkstone .tp-resume-section>b{color:#030712}.template-preview-sandnavy .tp-resume-head{color:#0f2744;background:#1e3a5f}.template-preview-sandnavy .tp-resume-section>b{color:#0f2744}.template-preview-pineboard .tp-resume-head{color:#1a2e05;background:#3f6212}.template-preview-pineboard .tp-resume-section>b{color:#365314}.template-preview-violetink .tp-resume-head{color:#2e1065;background:#6d28d9}.template-preview-violetink .tp-resume-section>b{color:#4c1d95}.template-preview-clayfolio .tp-resume-head{color:#422006;background:#a16207}.template-preview-clayfolio .tp-resume-section>b{color:#713f12}.template-preview-frostslate .tp-resume-head{color:#0f172a;background:#475569}.template-preview-frostslate .tp-resume-section>b{color:#1e293b}.template-preview-amberline .tp-resume-head{color:#ffffff;background:#d97706}.template-preview-amberline .tp-resume-section>b{color:#92400e}.template-preview-stormblue .tp-resume-head{color:#172554;background:#1e40af}.template-preview-stormblue .tp-resume-section>b{color:#1e3a8a}.template-preview-verdantcorp .tp-resume-head{color:#052e16;background:#15803d}.template-preview-verdantcorp .tp-resume-section>b{color:#14532d}.template-preview-graphitegold .tp-resume-head{color:#111827;background:#a16207}.template-preview-graphitegold .tp-resume-section>b{color:#1f2937}.template-preview-coastalnavy .tp-resume-head{color:#0c4a6e;background:#0c4a6e}.template-preview-coastalnavy .tp-resume-section>b{color:#075985}.template-preview-brickfolio .tp-resume-head{color:#431407;background:#9a3412}.template-preview-brickfolio .tp-resume-section>b{color:#7c2d12}.template-preview-mistgreen .tp-resume-head{color:#064e3b;background:#059669}.template-preview-mistgreen .tp-resume-section>b{color:#047857}.template-preview-carbonblue .tp-resume-head{color:#172554;background:#1e3a8a}.template-preview-carbonblue .tp-resume-section>b{color:#172554}.template-preview-lattepro .tp-resume-head{color:#ffffff;background:#a16207}.template-preview-lattepro .tp-resume-section>b{color:#78350f}.template-preview-deepharbor .tp-resume-head{color:#082f49;background:#0e4d6c}.template-preview-deepharbor .tp-resume-section>b{color:#083344}.template-preview-quartzink .tp-resume-head{color:#ffffff;background:#4b5563}.template-preview-quartzink .tp-resume-section>b{color:#111827}


body.cv-pdf-capturing #cv-pdf-export-root,
#cv-pdf-export-root {
    position: fixed;
    left: -10000px;
    top: 0;
    z-index: 0;
    width: 210mm;
    margin: 0;
    padding: 0;
    background: #fff;
    pointer-events: none;
    opacity: 1;
}
body.cv-pdf-capturing #cv-pdf-export-root {
    left: -10000px !important;
    top: 0 !important;
    right: auto !important;
    transform: none !important;
    opacity: 1 !important;
}

body.cv-pdf-capturing .html2pdf__overlay {
    opacity: 0 !important;
    pointer-events: none !important;
    z-index: -1 !important;
}

#cv-pdf-export-root .cv-page {
    box-shadow: none;
    transform: none !important;
    transition: none !important;
}

.print-only {
    display: none;
}

.photo-editor-dialog {
    width: min(420px, calc(100vw - 32px));
    max-height: calc(100vh - 32px);
    padding: 0;
    overflow: hidden;
    color: #172033;
    background: #fff;
    border: 0;
    border-radius: 18px;
    box-shadow: 0 30px 90px rgba(15, 23, 42, .35);
}
.photo-editor-dialog::backdrop {
    background: rgba(15, 23, 42, .72);
    backdrop-filter: blur(4px);
}
.photo-editor-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 18px 22px 8px;
}
.photo-editor-head h2 {
    margin: 2px 0 0;
    font-size: 1.35rem;
    font-weight: 800;
}
.photo-editor-eyebrow {
    color: #4f46e5;
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .1em;
    text-transform: uppercase;
}
.photo-editor-close {
    width: 40px;
    height: 40px;
    color: #334155;
    background: #f1f5f9;
    border: 0;
    border-radius: 50%;
    font-size: 1.7rem;
    line-height: 1;
}
.photo-editor-note {
    margin: 0;
    padding: 0 22px 14px;
    color: #64748b;
    font-size: .88rem;
}
.photo-editor-stage {
    position: relative;
    display: grid;
    place-items: center;
    padding: 24px 22px 16px;
    background: #dbe3ec;
    overflow: hidden;
}
.photo-editor-crop-frame {
    position: relative;
    z-index: 1;
    box-shadow: 0 0 0 9999px rgba(15, 23, 42, .58);
}
.photo-editor-crop-frame.is-circle {
    width: 240px;
    height: 240px;
    border-radius: 50%;
}
.photo-editor-crop-frame.is-rect {
    width: 200px;
    height: 236px;
    border-radius: 12px;
}
.photo-editor-viewport {
    position: relative;
    width: 100%;
    height: 100%;
    overflow: hidden;
    touch-action: none;
    cursor: grab;
    background: #cbd5e1;
    border-radius: inherit;
    box-shadow: inset 0 0 0 2px rgba(255, 255, 255, .92);
}
.photo-editor-viewport.is-dragging { cursor: grabbing; }
.photo-editor-viewport img {
    position: absolute;
    top: 0;
    left: 0;
    max-width: none;
    user-select: none;
    -webkit-user-drag: none;
    pointer-events: none;
}
.photo-editor-controls {
    padding: 14px 22px 6px;
}
.photo-editor-zoom-label {
    display: grid;
    gap: 8px;
    margin: 0;
    color: #334155;
    font-size: .88rem;
    font-weight: 700;
}
.photo-editor-zoom-label input[type="range"] {
    width: 100%;
    accent-color: #4f46e5;
}
.photo-editor-actions {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    padding: 14px 22px;
    border-top: 1px solid #e2e8f0;
}
.photo-field-preview {
    display: flex;
    gap: 12px;
    align-items: center;
    margin-bottom: 10px;
}
.photo-field-preview img {
    width: 72px;
    height: 72px;
    object-fit: cover;
    border: 2px solid #e2e8f0;
    border-radius: 50%;
    background: #f8fafc;
}
.photo-field-preview.is-rect img {
    width: 60px;
    height: 72px;
    border-radius: 8px;
}
.photo-field-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

