/* Endorze CV studio */
:root { --ink:#092031; --muted:#617284; --paper:#f7faf9; --line:#dce6e8; --lime:#147d76; --lime-dark:#0a514d; }
.button-dark { background:#0a2335; color:white; }
.button-accent { background:#147d76; color:white; box-shadow:0 5px 15px #147d7620; }
.cv-studio { background:#f1f5f7; min-height:calc(100vh - 74px); color:#102b3e; }
.cv-studio button,.cv-studio select,.cv-studio input,.cv-studio textarea { font:inherit; }
.cv-studio button { cursor:pointer; }
.cv-studio button:disabled { cursor:wait; opacity:.5; }
.cv-studio button:focus-visible,.cv-studio a:focus-visible,.cv-studio [role=button]:focus-visible { outline:3px solid #14958b; outline-offset:3px; }
.studio-toolbar { position:sticky; top:74px; z-index:15; display:flex; align-items:stretch; gap:20px; padding:0 28px; min-height:90px; background:white; border-bottom:1px solid #dce4e9; box-shadow:0 3px 9px #09203108; }
.toolbar-tab { padding:13px 15px; border:0; background:transparent; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:4px; font-size:11px!important; color:#183749; }
.toolbar-tab.is-active { background:#e4f3f1; color:#08776e; }
.toolbar-icon { font-size:25px; line-height:1; }
.toolbar-color,.toolbar-step,.toolbar-font { display:flex; flex-direction:column; justify-content:center; gap:7px; font-size:11px!important; font-weight:650; }
.quick-swatches { display:flex; gap:7px; align-items:center; }
.color-swatch { border:2px solid white; outline:1px solid #d0dadd; width:25px; height:25px; border-radius:50%; padding:0; position:relative; }
.color-swatch.selected:after { content:'✓'; position:absolute; inset:0; display:grid; place-items:center; color:white; font-size:16px; font-weight:800; }
.color-swatch.selected { outline:2px solid #102f43; }
.toolbar-font { min-width:160px; flex:1; max-width:240px; }
.toolbar-font select,.formatting-panel select { padding:8px 10px; border:1px solid #cdd8df; border-radius:5px; background:white; font-size:13px; color:#193c50; }
.toolbar-step>div { display:flex; height:34px; border:1px solid #cdd8df; border-radius:5px; overflow:hidden; }
.toolbar-step button { width:30px; border:0; background:white; color:#3e5666; font-size:18px; }
.toolbar-step output { min-width:32px; display:grid; place-items:center; border-left:1px solid #dce4e9; border-right:1px solid #dce4e9; }
.toolbar-save { display:flex; align-items:center; gap:14px; margin-left:auto; }
.toolbar-save>span { font-size:11px; color:#637987; max-width:92px; }
.studio-primary,.studio-secondary { border:0; border-radius:7px; padding:11px 19px; background:#147d76; color:white; font-weight:700!important; font-size:13px!important; white-space:nowrap; }
.studio-primary { box-shadow:0 4px 14px #147d7622; }
.studio-primary:hover { background:#0e6761; }
.studio-secondary { background:#edf5f4; color:#0c6962; border:1px solid #cce1df; }
.studio-text-button { border:0; background:none; color:#496071; padding:8px 0; font-size:12px!important; text-decoration:underline; }
.studio-icon-button { border:0; background:none; font-size:25px!important; color:#4c6472; padding:0 5px; }
.formatting-panel { position:sticky; top:164px; z-index:14; display:flex; align-items:center; gap:24px; background:#fff; border-bottom:1px solid #dce4e9; padding:14px 30px; }
.formatting-panel label { display:flex; gap:12px; align-items:center; font-size:12px; }
.formatting-panel p { font-size:12px; color:#657b88; margin:0; }
.studio-workspace { display:grid; grid-template-columns:220px minmax(0,1fr) 270px; min-height:calc(100vh - 164px); max-width:1920px; margin:auto; }
.studio-workspace.templates-hidden { grid-template-columns:220px minmax(0,1fr); }
.studio-sections { padding:25px 20px; background:#f6f9fa; border-right:1px solid #e2e9ed; }
.workspace-back { display:block; color:#607888; text-decoration:none; font-size:12px; margin-bottom:22px; }
.export-actions { display:flex; gap:5px; margin-bottom:30px; flex-wrap:wrap; }
.export-actions button,.export-actions a { padding:9px 7px; background:#173448; color:white; border:0; border-radius:5px; font-size:10px!important; text-decoration:none; }
.export-actions button:first-child { background:#0a2032; }
.studio-sections h1 { font-size:20px; letter-spacing:-.5px; margin:0 0 5px; }
.studio-hint { font-size:11px; line-height:1.6; color:#6b808c; margin:8px 0 16px; }
.studio-sections nav { border-top:1px solid #d8e2e7; padding-top:18px; margin-top:20px; }
.section-link { display:flex; text-align:left; align-items:center; gap:11px; width:100%; border:0; border-radius:7px; background:none; color:#1b3749; font-size:12px!important; font-weight:650!important; padding:11px 7px; line-height:1.35; overflow-wrap:anywhere; }
.section-link span { width:23px; height:23px; flex-shrink:0; display:grid; place-items:center; background:#dcefeb; color:#0d756b; border-radius:50%; font-size:11px; }
.section-link.is-active { background:#e5f0f1; }
.section-link.is-active span { background:#137f75; color:white; }
.add-section-button { background:none; border:0; border-bottom:1px solid #d8e2e7; width:100%; text-align:left; padding:20px 5px; font-size:12px!important; font-weight:700!important; color:#123f51; }
.add-section-menu { display:grid; background:white; border:1px solid #d9e3e7; border-radius:7px; padding:5px; box-shadow:0 8px 20px #09203110; }
.add-section-menu button { border:0; background:none; text-align:left; padding:9px; font-size:12px!important; color:#173849; }
.add-section-menu button:hover { background:#eaf5f3; }
.cv-name-label { display:grid; gap:9px; font-size:11px; color:#526d7c; margin-top:24px; font-weight:650; }
.cv-name-label input { width:100%; padding:9px; border:1px solid #d7e1e5; border-radius:5px; color:#1d3c4d; background:#fff; }
.export-hint { margin-top:28px; font-size:10px; }
.studio-canvas { overflow:auto; padding:25px 25px 50px; min-width:0; }
.canvas-caption { display:flex; justify-content:space-between; width:min(100%,635px); margin:0 auto 14px; color:#67808e; font-size:11px; }
.canvas-caption span:last-child { font-size:9px; letter-spacing:1.2px; }
.paper-zoom { width:max-content; margin:auto; zoom:var(--preview-zoom,.8); box-shadow:0 5px 30px #0a253316; }
.canvas-note { text-align:center; font-size:11px; color:#7a8c97; margin:22px 0 0; }
.studio-templates { padding:22px 18px; background:#fff; border-left:1px solid #dae4e9; }
.panel-title { display:flex; justify-content:space-between; align-items:center; gap:15px; margin-bottom:20px; }
.panel-title h2 { font-size:14px; margin:0; }
.panel-title small { display:block; font-size:9px; letter-spacing:1.4px; color:#118175; margin-bottom:8px; }
.color-palette { display:grid; grid-template-columns:repeat(5,1fr); gap:12px; margin-bottom:18px; }
.color-palette .color-swatch { width:29px; height:29px; }
.template-gallery { display:grid; grid-template-columns:1fr 1fr; gap:15px 10px; }
.template-card { min-width:0; border:2px solid transparent; padding:5px; border-radius:7px; background:#f6f8fa; text-align:left; color:#264757; box-shadow:0 2px 5px #102a3812; }
.template-card.is-selected { border-color:#16867b; background:#eff9f6; }
.template-card>span { display:block; font-size:11px; font-weight:700; margin-top:8px; }
.template-card>small { display:block; font-size:9px; color:#728794; margin:3px 0; }
.template-thumbnail { height:142px; position:relative; overflow:hidden; background:white; pointer-events:none; }
.template-thumbnail .document-page { position:absolute; top:0; left:0; transform:scale(.115); transform-origin:top left; min-height:1123px; }
.template-description { font-size:12px; line-height:1.5; margin-top:22px; }
.section-editor { position:fixed; z-index:25; left:220px; top:180px; bottom:24px; width:345px; background:white; border:1px solid #d4e4e4; border-radius:12px; box-shadow:0 15px 55px #092e3530; padding:22px; overflow-y:auto; }
.section-form { border:0; padding:0; min-width:0; margin:0; }
.section-form label { display:grid; gap:6px; margin-bottom:17px; font-size:11px; color:#486475; font-weight:650; }
.section-form input,.section-form textarea { width:100%; min-width:0; border:1px solid #d0dce1; border-radius:5px; background:#fbfdfd; padding:10px; color:#18394b; font-size:13px; font-weight:400; }
.section-form input:focus,.section-form textarea:focus { outline:2px solid #77beb6; outline-offset:1px; }
.section-form textarea { resize:vertical; line-height:1.6; }
.section-form .studio-check { display:flex; align-items:center; gap:8px; }
.section-form .studio-check input { width:auto; }
.studio-job-form { border-bottom:1px solid #dde7e9; margin-bottom:20px; padding-bottom:10px; }
.section-done { margin-top:22px; width:100%; }
.studio-notice { margin:0; padding:20px 28px; background:#e9f4f2; font-size:13px; }
.studio-error { background:#fff1ec; color:#963b24; position:relative; z-index:16; }
/* Shared printable document: the template cards use this same renderer. */
.document-page { width:794px; min-height:1123px; padding:58px 60px; margin:0; background:white; color:#24333b; font-size:var(--body-size,11pt); line-height:1.5; overflow-wrap:anywhere; }
.document-page h2,.document-page h3,.document-page h4 { font-family:inherit; letter-spacing:normal; }
.document-page h2 { font-size:30pt; line-height:1.13; font-weight:750; margin:0 0 12px; color:var(--cv-accent); }
.document-title { font-size:13pt; margin:0 0 16px; }
.document-contact { font-size:10pt; color:#68737a; }
.document-contact p { margin:3px 0; }
.document-head { border-bottom:2px solid var(--cv-accent); padding-bottom:24px; margin-bottom:30px; position:relative; }
.document-section { margin-top:25px; position:relative; outline:2px solid transparent; outline-offset:8px; border-radius:1px; }
.document-section[role=button],.contact-copy[role=button] { cursor:pointer; }
.document-section[role=button]:hover,.document-section.section-selected { outline-color:#88c2bb; }
.document-section h3 { color:var(--cv-accent); font-size:var(--heading-size,14pt); margin:0 0 12px; font-weight:700; line-height:1.3; }
.document-job { margin-bottom:20px; }
.document-job h4 { font-size:1em; font-weight:700; margin:0 0 3px; }
.document-job p { margin:3px 0; }
.document-job .job-dates { font-size:.88em; color:#6d7982; margin-bottom:8px; }
.document-text { white-space:pre-wrap; margin:0; }
.document-education { margin:0; padding:0; list-style:none; }
.document-education li { margin:0 0 15px; break-inside:avoid; }
.document-education p { margin:2px 0; }
.education-dates { color:#59646a; font-size:.9em; }
.template-consultant .document-education li { display:grid; grid-template-columns:minmax(0,1fr) 110px; gap:20px; padding:10px; margin:0; }
.template-consultant .document-education li:nth-child(even) { background:#f4f5f5; }
.template-consultant .document-education strong { font-weight:500; }
.template-consultant .education-dates { text-align:right; }
.document-skill-tags { list-style:none; padding:0; margin:10px 0 0; line-height:1.8; }
.document-skill-tag { display:inline-block; vertical-align:top; max-width:100%; margin:0 5px 5px 0; padding:2px 11px; border:1px solid #b9ded7; border-color:color-mix(in srgb,var(--cv-accent) 40%,white); border-radius:999px; background:#e7f5f1; background:color-mix(in srgb,var(--cv-accent) 14%,white); color:#293d43; font-size:.85em; line-height:1.5; overflow-wrap:anywhere; break-inside:avoid; print-color-adjust:exact; -webkit-print-color-adjust:exact; }
.document-languages,.document-social-links { padding:0; margin:0; list-style:none; }
.document-languages li { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:10px 20px; padding:10px 12px; break-inside:avoid; }
.document-languages li:nth-child(even) { background:#f4f6f6; }
.document-languages strong { font-weight:500; }
.document-language-level { display:flex; flex-wrap:wrap; align-items:center; justify-content:flex-end; gap:12px; font-size:.87em; }
.language-dots { display:inline-flex; gap:5px; }
.rating-dot { display:inline-block; width:10px; height:10px; border:1px solid var(--cv-accent,#147d76); border-radius:50%; background:white; }
.rating-dot.filled { background:var(--cv-accent,#147d76); }
.document-social-links { display:flex; flex-wrap:wrap; gap:10px; }
.document-social-links li { max-width:100%; border:1px solid #d0dcdf; border-radius:8px; overflow-wrap:anywhere; break-inside:avoid; }
.document-social-links a { display:flex; flex-direction:column; padding:10px 14px; color:inherit; text-decoration:none; }
.document-social-links strong { display:block; color:var(--cv-accent); font-size:.95em; }
.document-social-links span { display:block; font-size:.85em; }
.document-social-links a:hover span { text-decoration:underline; }
.language-editor-row { display:flex; flex-wrap:wrap; align-items:center; gap:10px; border-bottom:1px solid #dce7e9; padding:16px 0; }
.language-editor-row>strong { width:100%; font-size:14px; }
.language-rating-input { display:flex; gap:4px; }
.section-form .language-rating-input label { position:relative; display:grid; place-items:center; padding:5px; margin:0; cursor:pointer; }
.section-form .language-rating-input .rating-control { position:absolute; inset:0; opacity:0; width:100%; height:100%; padding:0; margin:0; cursor:pointer; }
.language-rating-input .rating-dot { width:17px; height:17px; }
.language-rating-input input:focus-visible+.rating-dot { outline:2px solid #147d76; outline-offset:3px; }
.social-link-editor-row { margin:18px 0; padding:14px; background:#f3f8f7; border:1px solid #dce7e9; border-radius:8px; }
.custom-entry { margin:14px 0 20px; font-size:12px; color:#486475; }
.custom-entry summary { cursor:pointer; margin-bottom:12px; color:#117d72; }
.job-skill-select { min-width:0; width:100%; padding:10px; border:1px solid #d0dce1; border-radius:5px; color:#18394b; background:#fbfdfd; }
.job-skill-panel { padding:14px; border:1px solid #d5e7e2; background:#f6faf9; border-radius:8px; margin-bottom:18px; }
.competency-group { margin:18px 0 24px; }
.competency-group h4 { display:flex; align-items:center; gap:14px; margin:0 0 12px; font-size:1.1em; break-after:avoid; }
.competency-level { display:inline-grid; place-items:center; flex-shrink:0; width:32px; height:32px; border:3px double var(--cv-accent); border-radius:50%; color:var(--cv-accent); font-size:1.1em; font-weight:400; }
.skill-profile-row { display:grid; grid-template-columns:1fr 1fr; gap:8px; padding:13px 0; border-bottom:1px solid #e3eaed; }
.skill-profile-row>strong { grid-column:1/-1; font-size:13px; color:#244b56; overflow-wrap:anywhere; }
.section-form .skill-profile-row label { margin:0; min-width:0; }
.skill-profile-row select { width:100%; min-width:0; padding:9px 5px; border:1px solid #d0dce1; border-radius:5px; background:#fbfdfd; color:#18394b; font-size:12px; }
.document-empty { color:#93a0a7; font-size:11pt; padding:25px 0; }
.spacing-compact { line-height:1.3; }
.spacing-compact .document-section { margin-top:17px; }
.spacing-compact .document-job { margin-bottom:13px; }
.spacing-relaxed { line-height:1.75; }
.spacing-relaxed .document-section { margin-top:34px; }
.portrait-button { border:0; padding:0; background:none; position:relative; color:inherit; }
.portrait { display:block; width:108px; height:135px; object-fit:cover; background:#edf2f3; }
.portrait-placeholder { display:flex; flex-direction:column; justify-content:center; align-items:center; color:#7a8e98; font-size:25px; }
.portrait-placeholder small { font-size:11px; }
.portrait-edit { position:absolute; bottom:0; left:0; right:0; background:#092031d9; color:white; font:11px Arial,sans-serif; padding:8px 2px; opacity:0; }
.portrait-button:hover .portrait-edit,.portrait-button:focus-visible .portrait-edit { opacity:1; }
.template-classic .document-section h3 { border-bottom:1px solid #c6cfd2; padding-bottom:6px; text-transform:uppercase; font-size:calc(var(--heading-size) * .88); letter-spacing:1px; }
.template-editorial { padding:65px; }
.template-editorial .document-head { border-top:7px solid var(--cv-accent); border-bottom:1px solid #cbd2d5; padding-top:27px; }
.template-editorial h2 { font-weight:400; font-size:34pt; }
.template-editorial .document-section h3 { text-transform:uppercase; letter-spacing:2px; font-size:calc(var(--heading-size) * .85); }
.template-modern { padding:0 55px 55px; }
.template-modern .document-head { margin:0 -55px 30px; padding:44px 55px; background:var(--cv-accent); color:white; min-height:220px; border:0; }
.template-modern h2,.template-modern .document-contact { color:white; }
.template-modern .portrait-button,.template-modern .document-head>.portrait { float:right; margin-left:25px; }
.template-modern .contact-copy { overflow:hidden; }
.template-modern .portrait { width:105px; height:130px; border:3px solid #ffffffbb; }
.template-modern .document-section h3 { border-left:4px solid var(--cv-accent); padding-left:12px; }
.template-sidebar { display:grid; grid-template-columns:210px 1fr; padding:0; gap:0; }
.template-sidebar .document-head { background:var(--cv-accent); color:white; padding:42px 24px; border:0; margin:0; }
.template-sidebar .document-head h2 { color:white; font-size:23pt; margin-top:25px; }
.template-sidebar .document-title { font-size:11pt; }
.template-sidebar .document-contact { color:white; font-size:9pt; }
.template-sidebar .document-contact p { margin:13px 0; }
.template-sidebar .portrait { width:132px; height:160px; }
.template-sidebar .document-sections { padding:36px 34px; }
.template-sidebar .document-section h3 { padding-bottom:7px; border-bottom:1px solid #bfcdd3; }
.template-timeline { padding:42px; }
.template-timeline .document-head { display:grid; grid-template-columns:160px 1fr; gap:30px; border:0; padding-bottom:0; }
.template-timeline .document-head .portrait-button,.template-timeline .document-head>.portrait { justify-self:center; align-self:start; }
.template-timeline .contact-copy { padding:22px 0; }
.template-timeline .document-section { display:grid; grid-template-columns:160px 1fr; gap:30px; }
.template-timeline .document-section h3 { text-align:right; position:relative; padding-right:2px; font-size:calc(var(--heading-size) * .9); }
.template-timeline .section-copy { position:relative; }
.template-timeline .section-copy:before { content:''; position:absolute; top:0; bottom:-40px; left:-19px; border-left:1px solid #ccd6db; }
.template-timeline .document-section h3:after { content:''; position:absolute; width:9px; height:9px; background:var(--cv-accent); border-radius:50%; right:-16px; top:6px; }
.is-miniature .document-section { outline:none; }
/* Consultant: an opening profile, followed by dated assignments and competencies. */
.template-consultant { padding:48px 52px; color:#4b5155; }
.template-consultant .document-head { display:flex; align-items:flex-end; gap:30px; padding:82px 0 0; border:0; margin:0 0 32px; }
.template-consultant .document-head h2 { font-size:28pt; margin-bottom:6px; }
.template-consultant .document-title { margin-bottom:0; font-size:15pt; }
.template-consultant .document-contact { position:absolute; top:0; right:0; text-align:right; }
.template-consultant .portrait { width:150px; height:150px; border-radius:50%; }
.template-consultant .portrait-button { flex-shrink:0; border-radius:50%; overflow:hidden; }
.template-consultant .contact-copy { min-width:0; }
.consultant-overview { display:grid; grid-template-columns:minmax(0,2.1fr) minmax(0,1fr); gap:40px; min-height:730px; align-content:start; }
.consultant-overview .document-section { margin-top:0; }
.consultant-overview .consultant-featured { margin-top:30px; }
.template-consultant .document-section h3 { border-bottom:1px solid #adb4b8; padding-bottom:9px; font-size:calc(var(--heading-size) * 1.15); }
.template-consultant .document-job h4 { font-size:1.14em; }
.template-consultant .document-job .employer { color:#59646a; margin-bottom:7px; }
.consultant-category { margin-bottom:28px; }
.consultant-category h4 { font-size:1.05em; color:var(--cv-accent); margin:0 0 10px; }
.consultant-category .document-skill-tag { font-size:.8em; padding:2px 8px; }
.template-consultant .document-sections>.document-section { margin-top:35px; }
.template-consultant .document-sections .document-job { display:grid; grid-template-columns:145px minmax(0,1fr); column-gap:24px; margin:24px 0 32px; }
.template-consultant .document-sections .job-dates { margin-top:3px; font-size:.84em; }
.template-consultant .document-job-copy { min-width:0; }
@media (min-width:1700px) { .studio-workspace { grid-template-columns:250px minmax(0,1fr) 290px; }.studio-sections { padding:35px 28px; }.section-editor { left:250px; } }
@media (max-width:1200px) { .studio-toolbar { gap:12px; padding:0 14px; }.toolbar-save>span { display:none; }.toolbar-font { min-width:125px; }.studio-workspace { grid-template-columns:185px minmax(0,1fr) 240px; }.studio-workspace.templates-hidden { grid-template-columns:185px minmax(0,1fr); }.studio-sections { padding:20px 13px; }.section-editor { left:185px; }.template-thumbnail { height:125px; }.template-thumbnail .document-page { transform:scale(.102); }.studio-canvas { padding:25px 14px; } }
@media (max-width:950px) { .studio-toolbar { flex-wrap:wrap; gap:10px; padding:10px 16px; position:relative; top:0; }.toolbar-tab { padding:5px 10px; }.toolbar-color { display:none; }.toolbar-font { max-width:none; }.toolbar-save { margin-left:0; }.studio-workspace,.studio-workspace.templates-hidden { grid-template-columns:170px minmax(0,1fr); }.studio-templates { grid-column:1 / -1; border-top:1px solid #dce4e9; }.template-gallery { grid-template-columns:repeat(5,minmax(0,1fr)); }.template-thumbnail { height:155px; }.template-thumbnail .document-page { transform:scale(.13); }.color-palette { display:flex; }.studio-templates>.studio-hint { max-width:450px; }.section-editor { left:180px; top:160px; }.formatting-panel { position:relative; top:0; flex-wrap:wrap; } }
@media (max-width:600px) { .studio-workspace,.studio-workspace.templates-hidden { display:flex; flex-direction:column; }.studio-sections { padding:16px; }.studio-sections nav { display:flex; overflow:auto; margin:10px 0; padding:8px 0; }.section-link { flex-shrink:0; width:auto; }.studio-sections h1 { font-size:18px; }.studio-sections>.studio-hint,.export-hint { display:none; }.workspace-back { margin-bottom:12px; }.export-actions { float:right; margin-bottom:10px; }.cv-name-label { margin-top:12px; }.add-section-button { padding:10px 0; }.studio-canvas { padding:20px 12px; }.paper-zoom { margin:0; zoom:.55; }.studio-canvas { overflow-x:auto; }.template-gallery { grid-template-columns:repeat(3,minmax(0,1fr)); }.template-thumbnail { height:140px; }.template-thumbnail .document-page { transform:scale(.12); }.section-editor { left:12px; right:12px; width:auto; top:90px; bottom:12px; }.formatting-panel { padding:14px; }.toolbar-step { font-size:10px!important; }.toolbar-step button { width:26px; }.toolbar-save { margin-left:auto; }.toolbar-icon { font-size:20px; } }
@media print {
    @page { size:A4; margin:12mm; }
    .site-header,.site-footer,.studio-toolbar,.studio-sections,.studio-templates,.section-editor,.formatting-panel,.studio-notice,.canvas-caption,.canvas-note,#cv-photo-input { display:none!important; }
    body,.cv-studio,.studio-workspace,.studio-canvas { display:block!important; min-height:0!important; padding:0!important; margin:0!important; background:white!important; overflow:visible!important; }
    .paper-zoom { zoom:1!important; width:100%!important; margin:0!important; box-shadow:none!important; }
    /* A4 (297mm) minus the two 12mm page margins. Content can grow onto more pages. */
    .document-page { width:100%; min-height:273mm; margin:0; padding:0; font-size:var(--body-size); print-color-adjust:exact; -webkit-print-color-adjust:exact; }
    .document-section { outline:none!important; }
    .document-section h3,.document-job h4 { break-after:avoid; }
    .document-page p { orphans:3; widows:3; }
    .document-job { break-inside:avoid; }
    .document-skill-tag { break-inside:avoid; -webkit-box-decoration-break:clone; box-decoration-break:clone; }
    .template-consultant .consultant-overview { min-height:0; }
    .template-consultant .document-sections:has(>.document-section) { break-before:page; }
    .template-consultant .document-sections>.document-section:first-child { margin-top:0; }
    .template-consultant .document-section:has(.document-education) { break-before:page; margin-top:0; }
    .template-consultant .document-sections .document-job { grid-template-columns:130px minmax(0,1fr); }
    .portrait-edit,.portrait-placeholder,.document-empty { display:none!important; }
    .portrait-button { display:block; }
    .template-modern .document-head { margin:0 0 25px; padding:25px; }
    .template-sidebar { display:grid; grid-template-columns:180px 1fr; position:relative; isolation:isolate; }
    /* Fixed print decoration repeats through the printable area of every page,
       including a partially filled last page. It contains no essential content. */
    .template-sidebar::before { content:''; position:fixed; top:0; bottom:0; left:0; width:180px; background:var(--cv-accent); z-index:-1; }
    .template-sidebar .document-head { padding:24px; background:transparent; }
    .template-sidebar .portrait-button { margin-bottom:20px; }
    .template-sidebar .document-head h2 { margin-top:0; }
    .template-sidebar .document-sections { padding:0 24px; }
    .template-timeline .document-head,.template-timeline .document-section { grid-template-columns:130px 1fr; gap:25px; }



}
.template-catalog { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:28px; padding:20px 5vw 70px; }
.template-catalog>article { background:#fff; padding:18px; border:1px solid #dce7e9; border-radius:12px; }
.catalog-preview { height:295px; position:relative; overflow:hidden; background:#f3f7f7; }
.catalog-preview .document-page { position:absolute; transform:scale(.25); transform-origin:top left; }
.template-catalog h2 { font-size:20px; margin:20px 0 8px; }
.template-catalog p { font-size:13px; line-height:1.6; color:#5f7886; }
.template-catalog small { color:#5f7886; }
.template-catalog a { display:block; margin-top:18px; color:#117d72; font-size:12px; text-decoration:none; font-weight:700; }
/* Information first, then design */
.skill-picker { margin-bottom:18px; min-width:0; }
.skill-chips { display:flex; flex-wrap:wrap; gap:7px; margin:8px 0; }
.skill-chip { display:inline-flex; align-items:center; gap:5px; max-width:100%; overflow-wrap:anywhere; padding:5px 11px; border:1px solid #b9ded7; border-radius:999px; background:#e7f5f1; color:#155e57; font-size:12px; line-height:1.5; }
.skill-chip button { display:inline-grid; place-items:center; flex-shrink:0; border:0; border-radius:50%; width:25px; height:25px; background:transparent; color:inherit; font-size:18px; cursor:pointer; }
.skill-chip button:hover { background:#cbe8e1; }
.skill-search { position:relative; }
.skill-search input { width:100%; box-sizing:border-box; }
.skill-suggestions { position:absolute; top:100%; left:0; right:0; z-index:5; max-height:225px; overflow-y:auto; padding:5px; background:white; border:1px solid #bdd8d3; border-radius:8px; box-shadow:0 8px 22px #14384a20; }
.skill-suggestions button { display:block; width:100%; padding:10px 12px; border:0; border-radius:4px; text-align:left; color:#18394b; background:white; font-size:13px; cursor:pointer; }
.skill-suggestions button:hover,.skill-suggestions button[aria-selected="true"] { background:#e7f5f1; color:#155e57; }
.cv-data-flow { max-width:1160px; margin:auto; padding:38px 30px 60px; }
.data-flow-heading { display:flex; gap:25px; justify-content:space-between; align-items:center; margin:25px 0 35px; }
.data-eyebrow { font-size:10px; font-weight:750; letter-spacing:1.6px; color:#117d76; margin-bottom:12px; }
.data-flow-heading h1 { font-size:42px; letter-spacing:-1.6px; margin-bottom:12px; color:#092333; }
.data-flow-heading p { color:#5d7584; font-size:14px; line-height:1.6; margin:0; max-width:550px; }
.next-stage { font-size:12px; color:#67828f; white-space:nowrap; }
.data-flow-grid { display:grid; grid-template-columns:220px minmax(0,1fr); gap:30px; align-items:start; }
.data-step-nav { display:grid; gap:8px; }
.data-step-nav button { display:flex; align-items:center; gap:12px; padding:13px 10px; background:none; border:0; border-radius:8px; text-align:left; color:#405f6f; font-size:13px; cursor:pointer; }
.data-step-nav button span { display:grid; place-items:center; width:25px; height:25px; background:#e5edee; color:#69818e; border-radius:50%; }
.data-step-nav button.is-active { background:#e6f2ef; color:#106e65; font-weight:700; }
.data-step-nav button.is-active span { background:#147d76; color:white; }
.data-draft-note { color:#79909b; font-size:11px; line-height:1.7; padding:15px 10px; }
.data-form-card { border:1px solid #dce7e9; border-radius:14px; padding:32px 38px; background:white; box-shadow:0 5px 25px #12334205; }
.data-form-title { margin-bottom:28px; }
.data-form-title>span { color:#7c929c; font-size:11px; }
.data-form-title h2 { font-size:24px; margin:8px 0; color:#14384a; }
.data-form-title p { color:#6a818e; font-size:13px; line-height:1.6; }
.data-cv-name { display:grid; gap:6px; font-size:11px; font-weight:650; color:#486475; margin-bottom:17px; }
.data-cv-name input { padding:10px; border:1px solid #d0dce1; border-radius:5px; background:#fbfdfd; color:#18394b; font-size:13px; font-weight:400; }
.data-form-card .section-form label { font-size:12px; }
.data-form-card .section-form input,.data-form-card .section-form textarea { padding:12px; font-size:14px; }
.data-step-controls { display:flex; align-items:center; justify-content:space-between; gap:15px; margin-top:30px; padding-top:22px; border-top:1px solid #e3eaed; }
.data-extra-options { display:flex; flex-wrap:wrap; gap:10px; }
.data-save-bar { display:flex; align-items:center; gap:15px; margin:28px 0 0 250px; background:#eaf3f1; border:1px solid #d4e8e3; padding:20px; border-radius:10px; }
.data-save-bar>div { margin-right:auto; }
.data-save-bar strong { font-size:12px; color:#2e5b57; }
.data-save-bar p { font-size:11px; color:#61867e; margin:6px 0 0; }
.cv-data-flow button:disabled { opacity:.5; cursor:wait; }
.cv-data-flow button:focus-visible,.cv-data-flow input:focus-visible { outline:3px solid #69aaa1; outline-offset:2px; }
.studio-flow-steps { display:flex; align-items:center; justify-content:space-between; padding:13px 28px; background:#eaf3f1; font-size:11px; }
.studio-flow-steps a { color:#176e65; text-decoration:none; font-weight:650; }
.studio-flow-steps span { font-size:9px; color:#5d7d77; letter-spacing:1.3px; }
@media(max-width:760px) { .cv-data-flow { padding:25px 16px; }.data-flow-grid { grid-template-columns:1fr; gap:15px; }.data-step-nav { display:flex; overflow:auto; }.data-step-nav button { white-space:nowrap; flex-shrink:0; }.data-draft-note { display:none; }.data-flow-heading h1 { font-size:32px; }.next-stage { display:none; }.data-form-card { padding:24px 20px; }.data-save-bar { margin-left:0; flex-wrap:wrap; }.data-save-bar>div { width:100%; }.data-step-controls { flex-wrap:wrap; } }
@media print { .studio-flow-steps { display:none!important; } }
@media(max-width:600px) { .studio-sections nav { clear:both; } }

.toolbar-paper { display:flex; flex-direction:column; justify-content:center; gap:5px; min-width:135px; max-width:185px; flex:1; margin-inline:auto; font-size:11px; font-weight:700; color:#193c50; }
.toolbar-paper input { width:100%; accent-color:#147d76; cursor:pointer; }
.toolbar-paper span { display:flex; align-items:center; gap:6px; text-transform:capitalize; }
.toolbar-paper i { width:14px; height:14px; border:1px solid #aebbc2; border-radius:50%; }
@media (max-width:600px) { .toolbar-paper { min-width:120px; margin:0; } }

.phone-fields { display:grid; grid-template-columns:minmax(0,1fr); gap:4px; }
.skill-profile-row > label:last-child { min-width:0; }
.document-languages li { display:grid; grid-template-columns:minmax(0,1fr) auto; }
.document-languages strong { overflow-wrap:anywhere; }
.document-language-level { flex-wrap:nowrap; }
.document-language-level .language-dots { flex-shrink:0; }
.document-project { margin-bottom:1em; }
.document-project > strong { display:block; break-after:avoid; }
.document-project a { color:inherit; overflow-wrap:anywhere; }
.education-course-code { font-size:.9em; }
