/* ============================================================
   Imdad Portal — CV Builder
   All UI styles scoped to #cvb-app. Resume sheet styles use
   .cvb-page so the sheet can be moved to the print holder.
   ============================================================ */

#cvb-app{
  --ink:#17202b; --ink-2:#5b6672; --ink-3:#98a1ac;
  --line:#e2e8f0; --bg:#f8fafc; --panel:#ffffff;
  --brand:#1a56db; --brand-ink:#0f2447; --brand-soft:#eff6ff;
  font-family:'Inter',system-ui,-apple-system,sans-serif;
  color:var(--ink);font-size:14px;line-height:1.5;
  border:1px solid var(--line);border-radius:18px;overflow:hidden;
  box-shadow:0 10px 40px rgba(15,36,71,.08);background:var(--panel);
}
#cvb-app *{box-sizing:border-box}
#cvb-app{max-width:100%;overflow:hidden}
/* grid/flex children default to min-width:auto, which lets the 210mm sheet
   force the whole column wider than the screen. Lock them to 0. */
#cvb-app .cvb-layout > *{min-width:0;min-height:0}
#cvb-app .cvb-form,#cvb-app .cvb-preview,#cvb-app .cvb-stage,#cvb-app .cvb-controls{min-width:0}
#cvb-app .cvb-scale{overflow:hidden;flex-shrink:0;max-width:100%}
#cvb-app .cvb-scale .cvb-page{max-width:none}
#cvb-app .cvb-urdu{font-family:'Noto Nastaliq Urdu',serif}
#cvb-app button{font-family:inherit;margin:0}
#cvb-app p{margin:0}

/* ---------- top bar ---------- */
#cvb-app .cvb-bar{background:linear-gradient(135deg,#0f2447 0%,#163d6e 60%,#1a56db 100%);padding:0 18px;height:56px;display:flex;align-items:center;justify-content:space-between;gap:12px}
#cvb-app .cvb-brand{display:flex;align-items:center;gap:10px;min-width:0}
#cvb-app .cvb-mark{width:30px;height:30px;border-radius:8px;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.25);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:12px;flex-shrink:0}
#cvb-app .cvb-brand-t{font-size:14.5px;font-weight:700;color:#fff;letter-spacing:-.2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#cvb-app .cvb-brand-t small{display:block;font-size:10.5px;font-weight:500;color:#a8c4f0}
#cvb-app .cvb-acts{display:flex;gap:8px;flex-shrink:0}
#cvb-app .cvb-btn{border:0;border-radius:8px;padding:9px 14px;font-size:13px;font-weight:600;cursor:pointer;transition:background .15s;white-space:nowrap}
#cvb-app .cvb-btn-go{background:#22c55e;color:#062a14}
#cvb-app .cvb-btn-go:hover{background:#16a34a;color:#fff}
#cvb-app .cvb-btn-ghost{background:rgba(255,255,255,.14);color:#fff}
#cvb-app .cvb-btn-ghost:hover{background:rgba(255,255,255,.24)}
#cvb-app .cvb-btn:focus-visible{outline:2px solid #fff;outline-offset:2px}

/* ---------- layout ---------- */
#cvb-app .cvb-layout{display:grid;grid-template-columns:378px 1fr;align-items:start}

/* ---------- form ---------- */
#cvb-app .cvb-form{background:var(--panel);border-right:1px solid var(--line);padding:18px 18px 40px}
#cvb-app .cvb-lead{font-size:13px;color:var(--ink-2);margin-bottom:12px;line-height:1.5;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#cvb-app .cvb-lead .cvb-urdu{font-size:13.5px;color:var(--ink);line-height:1}
#cvb-app details.cvb-sec{border-bottom:1px solid var(--line);margin:0}
#cvb-app details.cvb-sec summary{list-style:none;cursor:pointer;padding:13px 2px;display:flex;align-items:baseline;justify-content:space-between;gap:8px}
#cvb-app details.cvb-sec summary::-webkit-details-marker{display:none}
#cvb-app .cvb-sec .en{font-weight:600;font-size:13.5px}
#cvb-app .cvb-sec .ur-l{font-size:13.5px;color:var(--ink-2);font-family:'Noto Nastaliq Urdu',serif;line-height:1}
#cvb-app details.cvb-sec summary::after{content:"+";font-size:17px;color:var(--ink-3);font-weight:300;margin-left:6px}
#cvb-app details.cvb-sec[open] summary::after{content:"\2212"}
#cvb-app details.cvb-sec .cvb-body{padding:0 2px 16px}
#cvb-app label{display:block;font-size:11.5px;font-weight:600;color:var(--ink-2);margin:11px 0 5px;text-transform:none;letter-spacing:0}
#cvb-app label .ul{font-weight:400;color:var(--ink-3)}
#cvb-app label .cvb-urdu{font-size:12.5px;line-height:1}
#cvb-app input[type=text],#cvb-app input[type=email],#cvb-app input[type=tel],#cvb-app textarea{
  width:100%;border:1px solid var(--line);border-radius:8px;padding:9px 11px;font-family:inherit;font-size:13.5px;color:var(--ink);background:#fff;box-shadow:none;margin:0;line-height:1.4}
#cvb-app textarea{resize:vertical;min-height:66px}
#cvb-app input:focus,#cvb-app textarea:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft)}
#cvb-app input[type=file]{font-size:12px;max-width:100%}
#cvb-app .cvb-row2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
#cvb-app .cvb-item{border:1px solid var(--line);border-radius:10px;padding:2px 12px 12px;margin-top:12px;position:relative;background:#f8fafc}
#cvb-app .cvb-item .cvb-rm{position:absolute;top:9px;right:9px;border:0;background:none;color:#b4453a;font-size:11px;font-weight:600;padding:3px 6px;cursor:pointer;border-radius:5px}
#cvb-app .cvb-item .cvb-rm:hover{background:#fbeceb}
#cvb-app .cvb-add{margin-top:12px;width:100%;background:none;color:var(--brand);border:1px dashed #bfdbfe;border-radius:8px;padding:9px;font-weight:600;font-size:12.5px;cursor:pointer}
#cvb-app .cvb-add:hover{background:var(--brand-soft)}
#cvb-app .cvb-add .cvb-urdu{font-size:12.5px;line-height:1}
#cvb-app .cvb-photo-row{display:flex;align-items:center;gap:12px;margin-top:12px}
#cvb-app .cvb-thumb{width:50px;height:50px;border-radius:8px;background:#eef2f7 center/cover no-repeat;border:1px solid var(--line);flex-shrink:0}
#cvb-app .cvb-mini{font-size:11px;color:var(--ink-3);margin-top:6px;line-height:1.5;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#cvb-app .cvb-mini .cvb-urdu{font-size:11.5px;line-height:1}

/* ---------- preview side ---------- */
#cvb-app .cvb-preview{overflow:visible;padding:16px;display:flex;flex-direction:column;gap:12px;background:var(--bg)}
#cvb-app .cvb-controls{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:13px 15px}
#cvb-app .cvb-controls h3{font-size:11px;text-transform:uppercase;letter-spacing:.09em;color:var(--ink-3);margin:0 0 10px;font-weight:700;padding:0;border:0}
#cvb-app .cvb-controls h3 .cvb-urdu{text-transform:none;letter-spacing:0;font-size:12.5px;line-height:1}
#cvb-app .cvb-controls h3 b{color:var(--brand)}
#cvb-app .cvb-tpls{display:flex;flex-wrap:wrap;gap:7px}
#cvb-app .cvb-tpl{border:1px solid var(--line);background:#fff;border-radius:8px;padding:6px 11px 6px 8px;font-size:12.5px;font-weight:600;color:var(--ink-2);cursor:pointer;display:flex;align-items:center}
#cvb-app .cvb-tpl:hover{border-color:#cbd5e1}
#cvb-app .cvb-tpl.on{border-color:var(--brand);color:var(--brand-ink);background:var(--brand-soft)}
#cvb-app .tico{width:16px;height:21px;border:1px solid #cbd5e1;border-radius:3px;margin-right:7px;position:relative;overflow:hidden;background:#fff;flex-shrink:0}
#cvb-app .tico::before,#cvb-app .tico::after{content:"";position:absolute}
#cvb-app .i-side::before{left:0;top:0;bottom:0;width:5px;background:#39424d}
#cvb-app .i-formal::before{inset:2px;border:1.5px solid #39424d}
#cvb-app .i-bold::before{left:2px;top:3px;width:9px;height:3.5px;background:#39424d}
#cvb-app .i-bold::after{left:2px;top:8px;width:12px;height:2px;background:#aeb8c2}
#cvb-app .i-creative::before{left:0;top:0;right:0;height:9px;background:linear-gradient(100deg,#39424d,#6a7683);clip-path:polygon(0 0,100% 0,100% 55%,0 100%)}
#cvb-app .i-wave::before{left:-2px;top:-4px;right:-2px;height:11px;background:#39424d;border-radius:0 0 50% 50%}
#cvb-app .i-darktop::before{left:0;top:0;right:0;height:6px;background:#39424d}
#cvb-app .i-rightbar::before{right:0;top:0;bottom:0;width:5px;background:#39424d}
#cvb-app .i-split::before{left:0;top:0;width:50%;height:7px;background:#39424d}
#cvb-app .i-split::after{right:0;top:0;width:50%;height:7px;background:#8fa3b8}
#cvb-app .i-blocks::before{left:2px;right:2px;top:3px;height:15px;background:repeating-linear-gradient(#39424d 0 2.5px,transparent 2.5px 6px)}
#cvb-app .i-official::before{left:2px;right:2px;top:3px;height:2.5px;background:#39424d;box-shadow:0 12px 0 #39424d}
#cvb-app .i-geo::before{right:-5px;top:-5px;width:11px;height:11px;background:#39424d;transform:rotate(45deg)}
#cvb-app .i-ribbon::before{left:-2px;right:-2px;top:6px;height:6px;background:#39424d}
#cvb-app .cvb-themes{display:flex;gap:9px;flex-wrap:wrap;align-items:center}
#cvb-app .cvb-sw{width:28px;height:28px;border-radius:50%;border:2px solid #fff;box-shadow:0 0 0 1px var(--line);cursor:pointer;padding:0}
#cvb-app .cvb-sw.on{box-shadow:0 0 0 2px var(--brand)}
#cvb-app .cvb-custom{position:relative;width:28px;height:28px;display:inline-block}
#cvb-app .cvb-custom input[type=color]{position:absolute;inset:0;opacity:0;width:100%;height:100%;cursor:pointer;border:0;padding:0;margin:0}
#cvb-app .cvb-custom-sw{width:28px;height:28px;border-radius:50%;border:2px solid #fff;box-shadow:0 0 0 1px var(--line);cursor:pointer;display:block;position:relative;
  background:conic-gradient(#e14b4b,#e1a24b,#d8e14b,#4be15e,#4bd6e1,#4b6ae1,#a84be1,#e14b9e,#e14b4b)}
#cvb-app .cvb-custom-sw::after{content:"+";position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#fff;font-size:15px;font-weight:700;text-shadow:0 0 3px rgba(0,0,0,.55);line-height:1}
#cvb-app .cvb-custom.on .cvb-custom-sw{box-shadow:0 0 0 2px var(--brand)}
#cvb-app .cvb-custom.picked .cvb-custom-sw{background:var(--picked)}
#cvb-app .cvb-custom.picked .cvb-custom-sw::after{content:""}
#cvb-app .cvb-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:10px;flex-wrap:wrap}
#cvb-app .cvb-note{font-size:11px;color:var(--ink-3);margin:0;line-height:1.6;flex:1;min-width:190px}
#cvb-app .cvb-zoom{display:none}
#cvb-app .cvb-zoom button{border:0;background:#fff;padding:6px 13px;font-size:12px;font-weight:600;color:var(--ink-2);cursor:pointer}
#cvb-app .cvb-zoom button + button{border-left:1px solid var(--line)}
#cvb-app .cvb-zoom button.on{background:var(--brand-soft);color:var(--brand-ink)}
#cvb-app .cvb-note .cvb-urdu{font-size:11.5px;line-height:1}
#cvb-app .cvb-note.flash{background:#fffbeb;color:#92400e;border-radius:6px;padding:7px 9px}
#cvb-app .cvb-stage{display:flex;justify-content:center;align-items:flex-start;overflow:visible;min-width:0}
#cvb-app .cvb-textpdf{border:0;background:none;color:var(--brand);font-size:11.5px;font-weight:600;cursor:pointer;padding:4px 2px;text-decoration:underline;text-underline-offset:2px;flex-shrink:0}
#cvb-app .cvb-textpdf:hover{color:var(--brand-ink)}
#cvb-app .cvb-scale{transform-origin:top center}

/* ---------- mobile tabs ---------- */
#cvb-app .cvb-tabs{display:none}
@media(max-width:900px){
  #cvb-app{border-radius:14px}
  #cvb-app .cvb-bar{height:auto;padding:10px 12px;flex-wrap:wrap;gap:8px}
  #cvb-app .cvb-acts{width:100%;gap:6px}
  #cvb-app .cvb-btn{flex:1;padding:9px 6px;font-size:12.5px}
  #cvb-app .cvb-btn-go{flex:2}
  #cvb-app .cvb-layout{grid-template-columns:1fr;height:auto;min-height:0;max-height:none}
  #cvb-app .cvb-tabs{display:flex;background:var(--panel);border-bottom:1px solid var(--line)}
  #cvb-app .cvb-tabs button{flex:1;border:0;background:none;padding:12px 6px;font-size:13px;font-weight:600;color:var(--ink-3);border-bottom:2px solid transparent;cursor:pointer}
  #cvb-app .cvb-tabs button.on{color:var(--brand);border-color:var(--brand)}
  #cvb-app .cvb-form,#cvb-app .cvb-preview{display:none}
  #cvb-app .cvb-form.show{display:block;border-right:0;padding:14px 14px 40px}
  #cvb-app .cvb-preview.show{display:flex;overflow:visible;padding:12px 10px 16px}
  #cvb-app .cvb-controls{padding:12px}
  #cvb-app .cvb-tpl{font-size:12px;padding:6px 9px 6px 7px}
  #cvb-app .cvb-stage{height:auto;min-height:0;overflow-x:hidden;overflow-y:visible;justify-content:center}
  #cvb-app .cvb-zoom{display:none}
  #cvb-app .cvb-brand-t small{display:none}
  #cvb-app .cvb-foot{gap:8px}
  #cvb-app .cvb-note{min-width:100%;order:3}
  #cvb-app .cvb-mini,#cvb-app .cvb-lead{white-space:normal;overflow:visible;text-overflow:clip}
  #cvb-app .cvb-mini{line-height:1.9}
  #cvb-app input[type=file]{max-width:100%;font-size:11.5px}
  #cvb-app .cvb-photo-row{flex-wrap:wrap}
  #cvb-app details.cvb-sec summary{gap:6px}
  #cvb-app .cvb-sec .ur-l{flex-shrink:0}
  #cvb-app .cvb-scale{max-width:100%;overflow:hidden}
}

/* ============================================================
   RESUME SHEET (A4) — not scoped to #cvb-app so it can move
   into the print holder.
   ============================================================ */
.cvb-page{width:210mm;min-height:296mm;background:#fff;box-shadow:0 4px 24px rgba(20,30,50,.12);color:#222;overflow:hidden;
  font-family:'Inter',system-ui,sans-serif;
  -webkit-print-color-adjust:exact;print-color-adjust:exact;
  --acc:#0e6b5c;--acc2:#0a4f44;--acc-soft:#e4f2ee}
.cvb-page{display:flex;flex-direction:column}
.cvb-page > *{flex:1 0 auto;width:100%}
.cvb-page *{-webkit-print-color-adjust:exact;print-color-adjust:exact;box-sizing:border-box;margin:0;padding:0;word-wrap:break-word}
.cvb-page .ur{font-family:'Noto Nastaliq Urdu',serif;direction:rtl}
.cvb-page ul{padding-left:18px;margin:0}
.cvb-page li{margin:0}
.cvb-page li::before{content:none!important}
.cvb-page a{color:inherit;text-decoration:none}
.cvb-page .muted{color:#666}
.cvb-page h3{border:0;padding:0}
.cvb-page img{max-width:none}

.cvb-page.th-navy{--acc:#1d3a6b;--acc2:#142a50;--acc-soft:#eaeef7}
.cvb-page.th-green{--acc:#0e6b5c;--acc2:#0a4f44;--acc-soft:#e4f2ee}
.cvb-page.th-maroon{--acc:#7a1f2b;--acc2:#5c141e;--acc-soft:#f7e9eb}
.cvb-page.th-slate{--acc:#37424f;--acc2:#242c36;--acc-soft:#eceff3}
.cvb-page.th-teal{--acc:#0f6a80;--acc2:#0a4d5e;--acc-soft:#e5f2f5}
.cvb-page.th-plum{--acc:#5b3170;--acc2:#432253;--acc-soft:#f0e9f5}

/* 1 Creative */
.tpl-creative{font-size:12.5px;line-height:1.55}
.tpl-creative .band{background:linear-gradient(100deg,var(--acc2) 0%,var(--acc) 100%);clip-path:polygon(0 0,100% 0,100% 78%,0 100%);color:#fff;padding:12mm 15mm 16mm;display:flex;gap:9mm;align-items:center}
.tpl-creative .photo{width:31mm;height:31mm;border-radius:50%;object-fit:cover;border:3.5px solid #fff}
.tpl-creative .name{font-size:29px;font-weight:900;letter-spacing:-.4px}
.tpl-creative .title{font-size:13px;opacity:.92;margin-top:2px;font-weight:600}
.tpl-creative .contact{font-size:11.5px;opacity:.88;margin-top:7px}
.tpl-creative .bodywrap{padding:6mm 15mm 12mm}
.tpl-creative h3{font-size:13px;font-weight:800;color:var(--acc2);margin:13px 0 8px;display:inline-block;position:relative;text-transform:uppercase;letter-spacing:.05em}
.tpl-creative h3::after{content:"";position:absolute;left:0;bottom:-3px;width:100%;height:6px;background:var(--acc-soft);z-index:-1}
.tpl-creative .entry{margin-bottom:10px}
.tpl-creative .etop{display:flex;justify-content:space-between;font-weight:700;gap:10px}
.tpl-creative .esub{font-size:12px;color:#555}
.tpl-creative .edate{font-size:11.5px;color:var(--acc);font-weight:700;white-space:nowrap}
.tpl-creative .chips{display:flex;flex-wrap:wrap;gap:7px}
.tpl-creative .chip{background:var(--acc);color:#fff;border-radius:4px 14px 4px 14px;padding:3px 12px;font-size:11.5px;font-weight:600}

/* 2 Govt / Formal */
.tpl-formal{padding:13mm 14mm;font-size:12.5px;line-height:1.5;font-family:Georgia,'Times New Roman',serif}
.tpl-formal .frame{border:2.5px solid var(--acc2);padding:8mm;min-height:270mm}
.tpl-formal .head{display:flex;justify-content:space-between;gap:8mm;border-bottom:2px solid var(--acc2);padding-bottom:6mm;margin-bottom:6mm}
.tpl-formal .name{font-size:24px;font-weight:700;color:var(--acc2);text-transform:uppercase;letter-spacing:.04em}
.tpl-formal .title{font-size:13px;color:#444;margin-top:2px}
.tpl-formal .photo{width:30mm;height:38mm;object-fit:cover;border:1.5px solid var(--acc2)}
.tpl-formal h3{font-size:13px;background:var(--acc2);color:#fff;padding:4px 10px;margin:12px 0 8px;letter-spacing:.05em;font-weight:600}
.tpl-formal table{width:100%;border-collapse:collapse;font-size:12px;margin:0}
.tpl-formal td,.tpl-formal th{border:1px solid #999;padding:5px 8px;text-align:left;vertical-align:top}
.tpl-formal th{background:var(--acc-soft);color:var(--acc2);font-weight:700}
.tpl-formal .entry{margin-bottom:8px}
.tpl-formal .etop{font-weight:700;display:flex;justify-content:space-between;gap:10px}
.tpl-formal .esub{font-size:12px;color:#444;font-style:italic}
.tpl-formal .edate{font-size:11.5px;color:#555;font-weight:400;white-space:nowrap}

/* 3 Bold */
.tpl-bold{padding:14mm 16mm;font-size:12.5px;line-height:1.55}
.tpl-bold .name{font-size:40px;font-weight:900;letter-spacing:-1px;line-height:1.02;color:#181d23}
.tpl-bold .name .hl{color:var(--acc)}
.tpl-bold .title{display:inline-block;background:var(--acc);color:#fff;font-weight:700;font-size:12.5px;letter-spacing:.08em;text-transform:uppercase;padding:4px 12px;margin-top:8px}
.tpl-bold .contact{font-size:11.5px;color:#555;margin:10px 0 2mm}
.tpl-bold h3{font-size:14px;font-weight:800;color:#181d23;margin:15px 0 8px;text-transform:uppercase;letter-spacing:.02em}
.tpl-bold h3 i{font-style:normal;color:var(--acc)}
.tpl-bold .entry{margin-bottom:10px;padding-left:11px;border-left:3px solid var(--acc)}
.tpl-bold .etop{display:flex;justify-content:space-between;font-weight:700;gap:10px}
.tpl-bold .esub{font-size:12px;color:#555}
.tpl-bold .edate{font-size:11.5px;color:#888;font-weight:600;white-space:nowrap}
.tpl-bold .chips{display:flex;flex-wrap:wrap;gap:6px}
.tpl-bold .chip{background:#181d23;color:#fff;padding:3px 11px;font-size:11.5px;font-weight:600}
.tpl-bold .photo{width:27mm;height:27mm;object-fit:cover;float:right;border:3px solid var(--acc)}

/* 4 Sidebar Dark */
.tpl-sidebar{display:flex;font-size:12.5px;line-height:1.55;min-height:296mm;align-items:stretch}
.tpl-sidebar .side{width:64mm;background:var(--acc2);color:#fff;padding:12mm 8mm;flex-shrink:0;align-self:stretch}
.tpl-sidebar .main{flex:1;padding:12mm 10mm}
.tpl-sidebar .photo{width:34mm;height:34mm;border-radius:50%;object-fit:cover;border:3px solid rgba(255,255,255,.35);display:block;margin:0 auto 8mm}
.tpl-sidebar .sname{font-size:22px;font-weight:800;line-height:1.2;text-align:center}
.tpl-sidebar .stitle{font-size:12px;opacity:.85;text-align:center;margin-top:3px}
.tpl-sidebar .side h4{font-size:11px;text-transform:uppercase;letter-spacing:.12em;border-bottom:1px solid rgba(255,255,255,.3);padding-bottom:4px;margin:9mm 0 4mm}
.tpl-sidebar .side p,.tpl-sidebar .side li{font-size:11.5px;opacity:.95;margin-bottom:4px}
.tpl-sidebar .side ul{list-style:none;padding:0}
.tpl-sidebar .skillbar{height:5px;background:rgba(255,255,255,.22);border-radius:3px;margin:3px 0 7px}
.tpl-sidebar .skillbar i{display:block;height:100%;background:#fff;border-radius:3px}
.tpl-sidebar .main h3{font-size:13px;text-transform:uppercase;letter-spacing:.1em;color:var(--acc);margin:0 0 7px;display:flex;align-items:center;gap:8px}
.tpl-sidebar .main h3::after{content:"";flex:1;height:1.5px;background:var(--acc-soft)}
.tpl-sidebar .block{margin-bottom:8mm}
.tpl-sidebar .entry{margin-bottom:9px;padding-left:12px;border-left:2.5px solid var(--acc-soft)}
.tpl-sidebar .etop{font-weight:700;display:flex;justify-content:space-between;gap:10px}
.tpl-sidebar .esub{font-size:12px;color:#555}
.tpl-sidebar .edate{font-size:11px;color:var(--acc);font-weight:600;white-space:nowrap}

/* 5 Wave */
.tpl-wave{font-size:12.5px;line-height:1.55}
.tpl-wave .band{background:linear-gradient(120deg,var(--acc) 0%,var(--acc2) 100%);color:#fff;text-align:center;padding:11mm 15mm 15mm;border-radius:0 0 55% 55% / 0 0 22% 22%}
.tpl-wave .photo{width:30mm;height:30mm;border-radius:50%;object-fit:cover;border:3.5px solid rgba(255,255,255,.8);display:block;margin:0 auto 4mm}
.tpl-wave .name{font-size:28px;font-weight:900;letter-spacing:-.3px}
.tpl-wave .title{font-size:13px;opacity:.92;font-weight:600;margin-top:2px}
.tpl-wave .contact{font-size:11.5px;opacity:.88;margin-top:7px}
.tpl-wave .bodywrap{padding:8mm 15mm 12mm}
.tpl-wave h3{font-size:12.5px;font-weight:800;text-transform:uppercase;letter-spacing:.09em;color:var(--acc2);text-align:center;margin:13px 0 9px}
.tpl-wave h3::after{content:"";display:block;width:40px;height:3px;border-radius:2px;background:var(--acc);margin:5px auto 0}
.tpl-wave .entry{margin-bottom:10px}
.tpl-wave .etop{display:flex;justify-content:space-between;font-weight:700;gap:10px}
.tpl-wave .esub{font-size:12px;color:#555}
.tpl-wave .edate{font-size:11.5px;color:var(--acc);font-weight:700;white-space:nowrap}
.tpl-wave .chips{display:flex;flex-wrap:wrap;gap:7px;justify-content:center}
.tpl-wave .chip{background:var(--acc-soft);color:var(--acc2);border-radius:20px;padding:3px 13px;font-size:11.5px;font-weight:600}

/* 6 Dark Header */
.tpl-darktop{font-size:12.5px;line-height:1.55}
.tpl-darktop .head{background:#1b2027;color:#fff;padding:12mm 15mm;display:flex;justify-content:space-between;gap:9mm;align-items:center;border-bottom:4px solid var(--acc)}
.tpl-darktop .name{font-size:29px;font-weight:900;letter-spacing:-.4px}
.tpl-darktop .title{font-size:12.5px;color:var(--acc-soft);font-weight:600;letter-spacing:.14em;text-transform:uppercase;margin-top:3px}
.tpl-darktop .contact{font-size:11.5px;opacity:.85;text-align:right;line-height:1.9}
.tpl-darktop .photo{width:28mm;height:28mm;object-fit:cover;border-radius:6px;border:2px solid var(--acc)}
.tpl-darktop .bodywrap{padding:9mm 15mm 12mm}
.tpl-darktop h3{font-size:12.5px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:#1b2027;border-left:5px solid var(--acc);padding-left:9px;margin:14px 0 8px}
.tpl-darktop .entry{margin-bottom:10px}
.tpl-darktop .etop{display:flex;justify-content:space-between;font-weight:700;gap:10px}
.tpl-darktop .esub{font-size:12px;color:#555}
.tpl-darktop .edate{font-size:11.5px;color:#888;font-weight:600;white-space:nowrap}
.tpl-darktop .chips{display:flex;flex-wrap:wrap;gap:6px}
.tpl-darktop .chip{background:#1b2027;color:#fff;border-radius:4px;padding:2.5px 11px;font-size:11.5px;font-weight:600}
.tpl-darktop .chip:nth-child(even){background:var(--acc)}

/* 7 Sidebar Right */
.tpl-rightbar{display:flex;font-size:12.5px;line-height:1.55;min-height:296mm;align-items:stretch}
.tpl-rightbar .main{flex:1;padding:12mm 9mm 12mm 13mm}
.tpl-rightbar .side{width:62mm;background:#1e242c;color:#fff;padding:12mm 8mm;flex-shrink:0;align-self:stretch}
.tpl-rightbar .side .accbar{height:4px;background:var(--acc);margin:-12mm -8mm 8mm}
.tpl-rightbar .photo{width:32mm;height:32mm;border-radius:8px;object-fit:cover;display:block;margin:0 auto 7mm;border:2px solid var(--acc)}
.tpl-rightbar .side h4{font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:#fff;margin:8mm 0 4mm;display:flex;align-items:center;gap:7px}
.tpl-rightbar .side h4::before{content:"";width:8px;height:8px;background:var(--acc)}
.tpl-rightbar .side p,.tpl-rightbar .side li{font-size:11.5px;opacity:.92;margin-bottom:4px}
.tpl-rightbar .side ul{list-style:none;padding:0}
.tpl-rightbar .name{font-size:28px;font-weight:900;color:#1e242c;line-height:1.1}
.tpl-rightbar .title{font-size:12.5px;color:var(--acc);font-weight:700;text-transform:uppercase;letter-spacing:.1em;margin:3px 0 8mm}
.tpl-rightbar .main h3{font-size:12.5px;text-transform:uppercase;letter-spacing:.09em;font-weight:800;color:#1e242c;margin:13px 0 8px;display:flex;align-items:center;gap:8px}
.tpl-rightbar .main h3::after{content:"";flex:1;height:2px;background:var(--acc-soft)}
.tpl-rightbar .entry{margin-bottom:10px}
.tpl-rightbar .etop{display:flex;justify-content:space-between;font-weight:700;gap:10px}
.tpl-rightbar .esub{font-size:12px;color:#555}
.tpl-rightbar .edate{font-size:11.5px;color:var(--acc);font-weight:600;white-space:nowrap}

/* 8 Split Banner */
.tpl-split{font-size:12.5px;line-height:1.55}
.tpl-split .head{display:flex;min-height:44mm}
.tpl-split .hl{flex:1.35;background:var(--acc);color:#fff;padding:11mm 12mm;clip-path:polygon(0 0,100% 0,94% 100%,0 100%);display:flex;flex-direction:column;justify-content:center}
.tpl-split .hr{flex:1;background:#1c2128;color:#fff;padding:11mm 12mm 11mm 14mm;margin-left:-5mm;display:flex;flex-direction:column;justify-content:center;font-size:11.5px;line-height:2;border:0;height:auto}
.tpl-split .name{font-size:27px;font-weight:900;line-height:1.08}
.tpl-split .title{font-size:12.5px;opacity:.93;font-weight:600;letter-spacing:.1em;text-transform:uppercase;margin-top:4px}
.tpl-split .photo{width:24mm;height:24mm;border-radius:50%;object-fit:cover;border:2.5px solid #fff;margin-bottom:4mm}
.tpl-split .bodywrap{padding:9mm 14mm 12mm}
.tpl-split h3{font-size:12.5px;font-weight:800;text-transform:uppercase;letter-spacing:.07em;color:#1c2128;margin:14px 0 8px}
.tpl-split h3 span{border-bottom:3px solid var(--acc);padding-bottom:2px}
.tpl-split .entry{margin-bottom:10px}
.tpl-split .etop{display:flex;justify-content:space-between;font-weight:700;gap:10px}
.tpl-split .esub{font-size:12px;color:#555}
.tpl-split .edate{font-size:11.5px;color:var(--acc);font-weight:700;white-space:nowrap}
.tpl-split .chips{display:flex;flex-wrap:wrap;gap:6px}
.tpl-split .chip{border:1.5px solid #1c2128;padding:2.5px 11px;font-size:11.5px;font-weight:700}
.tpl-split .chip:nth-child(odd){background:#1c2128;color:#fff}

/* 9 Bold Blocks */
.tpl-blocks{padding:13mm 15mm;font-size:12.5px;line-height:1.55}
.tpl-blocks .head{display:flex;gap:8mm;align-items:center;margin-bottom:7mm}
.tpl-blocks .photo{width:30mm;height:36mm;object-fit:cover;border:3px solid #20252c;flex-shrink:0}
.tpl-blocks .name{font-size:31px;font-weight:900;color:#20252c;line-height:1.05;text-transform:uppercase;letter-spacing:-.5px}
.tpl-blocks .name .hl{color:var(--acc)}
.tpl-blocks .title{display:inline-block;background:#20252c;color:#fff;font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;padding:4px 12px;margin-top:7px}
.tpl-blocks .contact{font-size:11.5px;color:#555;margin-top:8px}
.tpl-blocks h3{font-size:12.5px;background:#20252c;color:#fff;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:5px 11px;border-left:6px solid var(--acc);margin:13px 0 9px}
.tpl-blocks .entry{margin-bottom:10px}
.tpl-blocks .etop{display:flex;justify-content:space-between;font-weight:700;gap:10px}
.tpl-blocks .esub{font-size:12px;color:#555}
.tpl-blocks .edate{font-size:11.5px;color:#888;font-weight:600;white-space:nowrap}
.tpl-blocks .chips{display:flex;flex-wrap:wrap;gap:6px}
.tpl-blocks .chip{background:var(--acc-soft);color:var(--acc2);border-left:3px solid var(--acc);padding:2.5px 10px;font-size:11.5px;font-weight:700}

/* 10 Official */
.tpl-official{padding:14mm 16mm;font-size:12.5px;line-height:1.55;font-family:Georgia,'Times New Roman',serif}
.tpl-official .head{text-align:center;padding-bottom:5mm;margin-bottom:5mm;border-bottom:3px double var(--acc2)}
.tpl-official .name{font-size:25px;font-weight:700;color:var(--acc2);text-transform:uppercase;letter-spacing:.06em}
.tpl-official .title{font-size:13px;font-style:italic;color:#444;margin-top:3px}
.tpl-official .contact{font-size:12px;color:#333;margin-top:6px}
.tpl-official .photo{width:28mm;height:34mm;object-fit:cover;border:1.5px solid var(--acc2);float:right;margin:0 0 4mm 6mm}
.tpl-official h3{font-size:13px;background:var(--acc);color:#fff;padding:4px 12px;font-weight:600;letter-spacing:.06em;margin:12px 0 8px;text-transform:uppercase}
.tpl-official table{width:100%;border-collapse:collapse;font-size:12px;margin:0}
.tpl-official td,.tpl-official th{border:1px solid #888;padding:5px 8px;text-align:left;vertical-align:top}
.tpl-official th{background:var(--acc-soft);color:var(--acc2);font-weight:700}
.tpl-official .entry{margin-bottom:8px}
.tpl-official .etop{font-weight:700;display:flex;justify-content:space-between;gap:10px}
.tpl-official .esub{font-size:12px;color:#444;font-style:italic}
.tpl-official .edate{font-size:11.5px;color:#555;font-weight:400;white-space:nowrap}

/* 11 Geometric */
.tpl-geo{padding:15mm 16mm;font-size:12.5px;line-height:1.55;position:relative}
.tpl-geo::before{content:"";position:absolute;top:-22mm;right:-22mm;width:44mm;height:44mm;background:var(--acc);transform:rotate(45deg)}
.tpl-geo::after{content:"";position:absolute;top:-10mm;right:-28mm;width:44mm;height:44mm;background:var(--acc2);opacity:.25;transform:rotate(45deg)}
.tpl-geo .head{position:relative;z-index:1;display:flex;gap:8mm;align-items:center;margin-bottom:7mm}
.tpl-geo .photo{width:30mm;height:30mm;object-fit:cover;border-radius:4px;transform:rotate(-3deg);border:3px solid var(--acc-soft);flex-shrink:0}
.tpl-geo .name{font-size:29px;font-weight:900;color:#20252c;line-height:1.08}
.tpl-geo .title{font-size:12.5px;color:var(--acc);font-weight:700;letter-spacing:.12em;text-transform:uppercase;margin-top:3px}
.tpl-geo .contact{font-size:11.5px;color:#555;margin-top:7px}
.tpl-geo h3{font-size:12.5px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:#20252c;margin:14px 0 8px;display:flex;align-items:center;gap:8px}
.tpl-geo h3::before{content:"";width:9px;height:9px;background:var(--acc);transform:rotate(45deg)}
.tpl-geo .entry{margin-bottom:10px}
.tpl-geo .etop{display:flex;justify-content:space-between;font-weight:700;gap:10px}
.tpl-geo .esub{font-size:12px;color:#555}
.tpl-geo .edate{font-size:11.5px;color:var(--acc);font-weight:700;white-space:nowrap}
.tpl-geo .chips{display:flex;flex-wrap:wrap;gap:7px}
.tpl-geo .chip{background:var(--acc-soft);color:var(--acc2);padding:3px 11px;font-size:11.5px;font-weight:700;clip-path:polygon(6px 0,100% 0,calc(100% - 6px) 100%,0 100%)}

/* 12 Ribbon */
.tpl-ribbon{font-size:12.5px;line-height:1.55;padding-top:10mm}
.tpl-ribbon .strip{background:var(--acc2);color:#fff;padding:8mm 16mm;display:flex;justify-content:space-between;align-items:center;gap:8mm;border-left:8mm solid var(--acc)}
.tpl-ribbon .name{font-size:28px;font-weight:900;letter-spacing:-.3px}
.tpl-ribbon .title{font-size:12.5px;color:#fff;opacity:.9;font-weight:600;letter-spacing:.12em;text-transform:uppercase;margin-top:3px}
.tpl-ribbon .photo{width:26mm;height:26mm;border-radius:50%;object-fit:cover;border:3px solid var(--acc)}
.tpl-ribbon .contactrow{background:var(--acc-soft);color:var(--acc2);font-size:11.5px;font-weight:600;padding:3.5mm 16mm}
.tpl-ribbon .bodywrap{padding:8mm 16mm 12mm}
.tpl-ribbon h3{font-size:12.5px;font-weight:800;text-transform:uppercase;letter-spacing:.09em;color:var(--acc2);margin:14px 0 8px}
.tpl-ribbon h3::after{content:"";display:block;width:100%;height:1.5px;background:linear-gradient(90deg,var(--acc) 44px,#e4e7ec 44px);margin-top:4px}
.tpl-ribbon .entry{margin-bottom:10px}
.tpl-ribbon .etop{display:flex;justify-content:space-between;font-weight:700;gap:10px}
.tpl-ribbon .esub{font-size:12px;color:#555}
.tpl-ribbon .edate{font-size:11.5px;color:#888;font-weight:600;white-space:nowrap}
.tpl-ribbon .chips{display:flex;flex-wrap:wrap;gap:6px}
.tpl-ribbon .chip{background:var(--acc2);color:#fff;border-radius:3px;padding:2.5px 11px;font-size:11.5px;font-weight:600}

/* ---------- print holder ---------- */
#cvb-print-holder{display:none}

@media print{
  html,body{background:#fff!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  body.cvb-printing > *{display:none!important}
  body.cvb-printing > #cvb-print-holder{display:block!important;position:static;margin:0;padding:0;line-height:0;font-size:0}
  body.cvb-printing > #cvb-print-holder > .cvb-page{line-height:1.55;font-size:12.5px}
  body.cvb-printing #cvb-print-holder .cvb-page{box-shadow:none;width:210mm;min-height:0;height:auto;margin:0;overflow:hidden}
  .cvb-page,.cvb-page *{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}
  .cvb-page .tpl-sidebar,.cvb-page .tpl-rightbar{min-height:288mm}
  .cvb-page .tpl-sidebar .side,.cvb-page .tpl-rightbar .side{min-height:0;align-self:stretch}
  .cvb-page .tpl-formal .frame{min-height:262mm}
  .cvb-page .entry,.cvb-page .block,.cvb-page tr{break-inside:avoid;page-break-inside:avoid}
  .cvb-page h3{break-after:avoid;page-break-after:avoid}
  @page{size:A4;margin:0}
}
