*{box-sizing:border-box}body{margin:0;font-family:Arial,Helvetica,sans-serif;background:#edf1f5;color:#151515}header{background:linear-gradient(135deg,#153b70,#1d6ca5);color:#fff;padding:16px 4%;display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;z-index:5}.brand{font-size:24px;font-weight:800}.sub{opacity:.9;margin-top:3px}button{border:0;border-radius:8px;padding:10px 14px;background:#fff;color:#153b70;font-weight:700;cursor:pointer}.layout{max-width:1500px;margin:auto;padding:22px;display:grid;grid-template-columns:1fr 1.05fr;gap:22px}.formpanel{background:#fff;padding:22px;border-radius:15px;box-shadow:0 8px 30px #00000012}.grid{display:grid;gap:12px}.two{grid-template-columns:1fr 1fr}label{font-size:13px;font-weight:700}input,textarea,select{display:block;width:100%;margin-top:6px;border:1px solid #d3d8df;border-radius:7px;padding:10px;font:inherit;background:#fff}textarea{min-height:78px;resize:vertical}.hint{font-size:12px;color:#667085;margin:-5px 0 6px}h2{margin-top:0}h3{font-size:15px;margin:21px 0 9px}.templates{display:grid;grid-template-columns:1fr 1fr;gap:9px}.tpl{background:#f3f5f7;color:#25334b;text-align:left;min-height:64px}.tpl small{display:block;font-weight:400;margin-top:4px;opacity:.8}.tpl.active{background:#1d6ca5;color:#fff}.previewWrap{position:sticky;top:88px;height:calc(100vh - 110px);overflow:auto}.previewTools{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;font-weight:800}.cv{background:#fff;width:100%;max-width:900px;min-height:1120px;margin:auto;box-shadow:0 8px 30px #0002;padding:40px;font-family:Georgia,'Times New Roman',serif}.cv h1{margin:0;font-size:29px}.cv h2{font-size:17px;margin:22px 0 8px;text-align:left}.cv .heading{text-align:center;font-size:31px;font-weight:700;margin:-8px 0 12px;text-transform:none}.cv .contact{font-size:13px;line-height:1.55;margin:7px 0 16px}.cv img.profile{width:112px;height:135px;object-fit:cover}.cv .item{white-space:pre-line;line-height:1.45;margin:5px 0}.cv .bullets{margin:4px 0 0;padding-left:20px}.cv .bullets li{margin:3px 0;line-height:1.35}.cv table{width:100%;border-collapse:collapse;font-size:12px;margin-top:5px}.cv th,.cv td{border:1px solid #555;padding:7px 6px;vertical-align:middle}.cv th{font-weight:700;text-align:center}.cv .bar{font-size:16px;font-weight:700;text-transform:uppercase;padding:5px 8px;margin-top:17px}.cv .row{display:flex;gap:10px}.cv .row .grow{flex:1}.cv .jobline{display:grid;grid-template-columns:1.1fr 2fr auto;gap:8px;font-weight:700;margin-top:8px}.cv .muted{color:#555}.cv .signature{margin-top:32px;display:flex;justify-content:space-between}.hidden{display:none}details{margin-top:15px;border:1px solid #e0e4e9;border-radius:9px;padding:11px}summary{font-weight:800;cursor:pointer}

/* Document heading: always centered at the very top of every CV template */
.cv .doc-title{width:100%;text-align:center;font-family:Georgia,'Times New Roman',serif;font-size:30px;font-weight:700;margin:0 0 14px;padding:0 0 8px;text-transform:none}
.cv.modern .doc-title,.cv.minimal .doc-title{font-family:Arial,Helvetica,sans-serif}
.cv.sidebar .doc-title{grid-column:1/-1;background:#a4a4a4;border-bottom:3px solid #111;padding:14px;margin:0;font-size:30px}
.cv.sidebar .top{display:block;grid-column:1/-1;background:#a4a4a4;border-bottom:3px solid #111;text-align:center;padding:14px;margin:0;font-size:30px;font-weight:700;}
.cv.modern .doc-title{grid-column:1/-1;margin:0;padding:14px 0 10px;border-bottom:2px solid #222;color:#111}
.cv.minimal .doc-title{text-align:center;border-bottom:3px solid #111;padding-bottom:9px}
/* Template 1: inspired by the supplied classic grey-sidebar CV */
.cv.sidebar{padding:0;display:grid;grid-template-columns:34% 66%;min-height:1120px}.sidebar .side{background:#a4a4a4;padding:28px 24px;min-height:1120px}.sidebar .main{padding:0 28px 35px}.sidebar .top{grid-column:1/-1;background:#a4a4a4;border-bottom:3px solid #111;text-align:center;padding:14px;font-size:30px;font-weight:700}.sidebar .profile{display:block;margin:0 auto 13px}.sidebar .side h2{font-size:16px;text-decoration:underline;text-align:center;margin:14px 0}.sidebar .side .item{font-size:13px}.sidebar .main h2{text-align:center;text-decoration:underline}.sidebar .main .bar{background:#a4a4a4;text-align:center;border:1px solid #222}.sidebar .main table{font-size:11.5px}.sidebar .main .contact{display:none}.sidebar .side .name{text-align:center;font-size:19px;font-weight:800;margin-bottom:5px}.sidebar .declaration{font-size:12px}
/* Template 2: supplied second image inspired */
.cv.bands{padding:28px 30px;font-family:Arial,Helvetica,sans-serif}.bands .tophead{padding-bottom:14px;border:2px solid #222;padding:10px}.bands .tophead h1{font-size:25px;text-decoration:underline}.bands .tophead .contact{margin:5px 0 0}.bands .bar{background:#b7b7b7;border-top:1px solid #777;border-bottom:1px solid #777;padding:3px 8px;margin-top:10px}.bands h2{margin:0;font-size:16px}.bands .profile{float:right;margin-left:15px}.bands table th,.bands table td{padding:5px}.bands .jobline{font-size:13px}.bands .item{font-size:13px}.bands .signature{font-size:13px}
/* Template 3 */
.cv.modern{padding:0;font-family:Arial,Helvetica,sans-serif;display:grid;grid-template-columns:31% 69%;min-height:1120px}.modern .left{padding:32px 22px;background:#183b5b;color:#fff}.modern .right{padding:34px 30px}.modern .left h2{font-size:13px;text-transform:uppercase;border-bottom:1px solid #ffffff66;padding-bottom:5px}.modern .left .item{font-size:12px}.modern .left img.profile{border-radius:50%;display:block;margin:0 auto 18px}.modern .right .heading{text-align:left;font-size:28px;color:#183b5b}.modern .right h2{font-size:15px;text-transform:uppercase;color:#183b5b;border-bottom:2px solid #183b5b}.modern .right table th{background:#eef2f6}.modern .right .bar{color:#183b5b;background:#eef2f6}.modern .right .jobline{font-size:13px}.modern .right .item{font-size:13px}
/* Template 4 */
.cv.minimal{padding:45px 55px;font-family:Arial,Helvetica,sans-serif}.minimal .heading{font-size:30px;text-align:left;border-bottom:3px solid #111;padding-bottom:9px}.minimal .nameblock{display:flex;justify-content:space-between;gap:20px}.minimal .nameblock h1{font-size:26px}.minimal h2{font-size:15px;border-bottom:1px solid #222;padding-bottom:4px;text-transform:uppercase}.minimal table{font-size:12px}.minimal .bar{font-weight:700}.minimal .jobline{font-size:13px}.minimal .item{font-size:13px}.minimal .profile{width:95px;height:115px;object-fit:cover}
@media(max-width:950px){.layout{grid-template-columns:1fr}.previewWrap{position:static;height:auto}.two{grid-template-columns:1fr}.cv{min-height:auto}.cv.sidebar,.cv.modern{grid-template-columns:1fr}.sidebar .side,.modern .left{min-height:auto}.sidebar .top{grid-column:auto}.sidebar .main{padding:20px}.templates{grid-template-columns:1fr}}
@media print{header,.formpanel,.previewTools{display:none!important}body{background:#fff}.layout{display:block;padding:0}.previewWrap{height:auto;overflow:visible}.cv{box-shadow:none;max-width:none;min-height:0} @page{size:A4;margin:0}}

/* Education is intentionally rendered without a table. */
.cv .education-list{margin-top:6px}
.cv .edu-item{padding:7px 0;border-bottom:1px solid #ddd}
.cv .edu-item:last-child{border-bottom:0}
.cv .edu-title{font-weight:700;font-size:13px}
.cv .edu-meta{font-size:12px;line-height:1.45;margin-top:2px;color:#333}
.sidebar .edu-item{padding:7px 0}
.sidebar .edu-title{font-size:12.5px}
.sidebar .edu-meta{font-size:11.5px}
.bands .edu-item,.modern .edu-item,.minimal .edu-item{padding:6px 0}
.bands .edu-title,.modern .edu-title,.minimal .edu-title{font-size:13px}
