.cv-builder-page{padding-bottom:80px}
.cv-builder-layout{display:grid;grid-template-columns:minmax(360px,.82fr) minmax(0,1.18fr);gap:26px;align-items:start;margin-top:26px}
.cv-form-panel{padding:24px}
.cv-form{display:grid;gap:20px}
.cv-form-grid,.cv-entry-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.cv-span-2{grid-column:1/-1}
.cv-template-field{border:0;padding:0;margin:0}
.cv-template-field legend{margin-bottom:10px;font-weight:800;color:#44526a}
.cv-template-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.cv-template-card{position:relative;cursor:pointer}
.cv-template-card input{position:absolute;opacity:0;pointer-events:none}
.cv-template-card>span{display:grid;gap:8px;padding:10px;border:1px solid #dce4f1;border-radius:14px;background:#fafbff}
.cv-template-card input:checked+span{border-color:#6577ef;background:#fff;box-shadow:0 0 0 3px rgba(86,103,243,.1)}
.cv-template-card strong{text-align:center;font-size:12px;color:#2e3e5e}
.cv-template-thumb{display:block;height:70px;border-radius:8px;border:1px solid #dce4f1;background:#fff;position:relative;overflow:hidden}
.cv-template-thumb:before,.cv-template-thumb:after{content:"";position:absolute}
.cv-template-thumb:before{left:9px;top:10px;width:34%;height:50px;background:#e8eefb}
.cv-template-thumb:after{left:48%;top:12px;width:40%;height:5px;background:#9aa8c3;box-shadow:0 12px 0 #d7deeb,0 24px 0 #d7deeb}
.cv-template-thumb.is-classic:before{left:18%;top:8px;width:64%;height:8px;background:#c8ced8}
.cv-template-thumb.is-classic:after{left:18%;top:25px;width:64%;height:4px;background:#e1e5ec;box-shadow:0 10px 0 #e1e5ec,0 20px 0 #e1e5ec}
.cv-template-thumb.is-compact:before{width:27%;background:#eef1f7}
.cv-template-thumb.is-compact:after{left:41%;width:48%}

.cv-photo-field{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:14px;border:1px solid #e1e7f0;border-radius:14px;background:#fbfcff}
.cv-photo-field>div{display:grid;gap:3px;min-width:150px}.cv-photo-field span{font-size:11px;color:#7c899c}.cv-photo-field input{max-width:210px}
.cv-editor-section{display:grid;gap:12px}.cv-editor-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.cv-editor-heading h2{margin:0;font-size:17px}
.cv-entry{position:relative;border:1px solid #e1e7f0;border-radius:15px;padding:16px;background:#fbfcff}
.cv-entry+.cv-entry{margin-top:10px}.cv-entry-remove{position:absolute;right:8px;top:8px;width:27px;height:27px;border:0;border-radius:999px;background:#eef2f8;color:#6f7b8f;cursor:pointer}
.cv-print-button{width:100%}

.cv-preview-shell{position:sticky;top:24px;border:1px solid #dfe5ef;border-radius:24px;background:#edf1f7;padding:13px;box-shadow:0 18px 60px rgba(32,52,108,.07)}
.cv-preview-toolbar{display:flex;justify-content:space-between;align-items:center;padding:0 3px 10px;color:#68768e;font-size:11px;font-weight:800}
.cv-preview-stage{overflow:auto;border:1px solid #dfe5ef;border-radius:15px;background:#dfe5ee;padding:18px}
.cv-preview{width:min(100%,820px);margin:auto}
.cv-sheet{min-height:1060px;background:#fff;color:#182238;box-shadow:0 10px 35px rgba(33,48,81,.12)}
.cv-head{padding:48px 52px 28px;border-bottom:1px solid #e4e8ef}
.cv-head-main{display:flex;align-items:center;gap:22px}
.cv-photo{width:112px;height:112px;object-fit:cover;border-radius:50%;flex:0 0 auto}
.cv-head h2{margin:0;font:800 38px/1.05 'Manrope',sans-serif;letter-spacing:-1.5px}
.cv-role{margin:7px 0 0;color:#56657e;font-size:17px}
.cv-contact{display:flex;gap:12px;flex-wrap:wrap;margin-top:15px;color:#6e7b8f;font-size:12px}
.cv-contact span+span:before{content:"•";margin-right:12px}
.cv-body{display:grid;grid-template-columns:240px 1fr;min-height:820px}
.cv-side{padding:34px 26px 40px 42px;background:#f3f6fb}
.cv-main{padding:34px 46px 40px 34px}
.cv-sheet section{margin-bottom:30px}.cv-sheet h3{margin:0 0 13px;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#2b3a58}
.cv-sheet p{margin:0;white-space:pre-line;line-height:1.6;color:#53617a;font-size:13px}
.cv-skills{display:flex;flex-wrap:wrap;gap:7px}.cv-skills span{padding:6px 9px;border:1px solid #d9e0eb;border-radius:999px;background:#fff;font-size:11px}
.cv-item{margin-bottom:21px}.cv-item-top{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.cv-item-top strong{font-size:15px}.cv-item-top span{font-size:11px;color:#7a879a;white-space:nowrap}.cv-item b{display:block;margin:4px 0 7px;font-size:12px;color:#40506a}

.cv-preview[data-template="classic"] .cv-head{text-align:center;padding-top:54px}.cv-preview[data-template="classic"] .cv-head-main{justify-content:center}.cv-preview[data-template="classic"] .cv-contact{justify-content:center}.cv-preview[data-template="classic"] .cv-body{display:block}.cv-preview[data-template="classic"] .cv-side,.cv-preview[data-template="classic"] .cv-main{padding:28px 58px;background:#fff}.cv-preview[data-template="classic"] .cv-skills{justify-content:center}.cv-preview[data-template="classic"] .cv-sheet h3{text-align:center;border-bottom:1px solid #dfe4ec;padding-bottom:8px}
.cv-preview[data-template="compact"] .cv-sheet{min-height:960px}.cv-preview[data-template="compact"] .cv-head{padding:32px 38px 22px}.cv-preview[data-template="compact"] .cv-photo{width:86px;height:86px}.cv-preview[data-template="compact"] .cv-head h2{font-size:31px}.cv-preview[data-template="compact"] .cv-body{grid-template-columns:200px 1fr;min-height:760px}.cv-preview[data-template="compact"] .cv-side{padding:26px 22px 32px 32px}.cv-preview[data-template="compact"] .cv-main{padding:26px 34px 32px 28px}.cv-preview[data-template="compact"] .cv-sheet section{margin-bottom:22px}.cv-preview[data-template="compact"] .cv-item{margin-bottom:15px}

.cv-info-card{margin-top:28px}.cv-info-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.cv-info-grid div{display:grid;gap:5px}.cv-info-grid span{font-size:12px;color:#71809a}

@media(max-width:1050px){.cv-builder-layout{grid-template-columns:1fr}.cv-preview-shell{position:static}}
@media(max-width:700px){.cv-form-grid,.cv-entry-grid,.cv-template-grid,.cv-info-grid{grid-template-columns:1fr}.cv-span-2{grid-column:auto}.cv-preview-stage{padding:8px}.cv-preview{min-width:620px}.cv-form-panel{padding:18px}.cv-photo-field{align-items:flex-start}.cv-editor-heading{align-items:flex-start;flex-direction:column}}
