/* MyPortfolioHub Resume Builder v13 — original professional template library.
   Design research references are documented in docs/OPEN_SOURCE_TEMPLATE_REFERENCES.md.
   No third-party template markup, CSS, or assets are redistributed here. */

/* ---------- Nordic Clean ---------- */
.resume-sheet.template-nordic_clean{
  display:block;
  padding:15mm 17mm 16mm;
  color:#17212b;
  background:#fff;
  font-family:var(--resume-font);
  line-height:1.5;
}
.resume-sheet.template-nordic_clean .resume-main{padding:0}
.resume-sheet.template-nordic_clean .document-header{
  border:0;
  border-bottom:1px solid #d8e2e0;
  padding:0 0 6mm;
  margin:0 0 8mm;
  text-align:left;
}
.resume-sheet.template-nordic_clean .document-header h1{
  margin:0;
  color:#102a2a;
  font-size:30pt;
  line-height:.98;
  font-weight:700;
  letter-spacing:-.045em;
}
.resume-sheet.template-nordic_clean .document-header>p{
  margin:2.5mm 0 3.5mm;
  color:var(--accent);
  font-size:10.5pt;
  font-weight:600;
  letter-spacing:.02em;
}
.resume-sheet.template-nordic_clean .header-contact{
  gap:2mm 5mm;
  color:#5b6870;
  font-size:8.2pt;
}
.resume-sheet.template-nordic_clean .document-section{
  margin-bottom:7.5mm;
  break-inside:auto;
}
.resume-sheet.template-nordic_clean .document-section>h2{
  border:0;
  padding:0;
  margin:0 0 3.4mm;
  color:#315b58;
  font-size:7.7pt;
  font-weight:700;
  letter-spacing:.18em;
}
.resume-sheet.template-nordic_clean .document-entry{margin-bottom:5mm}
.resume-sheet.template-nordic_clean .entry-heading h3{font-size:10.4pt;color:#15262b}
.resume-sheet.template-nordic_clean .entry-heading p{color:#657177}
.resume-sheet.template-nordic_clean .entry-heading time{color:#718087;font-weight:600}
.resume-sheet.template-nordic_clean .summary-text,
.resume-sheet.template-nordic_clean .entry-description,
.resume-sheet.template-nordic_clean .document-entry ul{color:#3f4d53}
.resume-sheet.template-nordic_clean .main-skill-list{gap:1.8mm 4mm}
.resume-sheet.template-nordic_clean .main-skill-list span{
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  color:#34484c;
  font-size:8.5pt;
  font-weight:600;
}
.resume-sheet.template-nordic_clean .main-skill-list span:not(:last-child)::after{
  content:" ·";
  color:#9cafac;
}
.resume-sheet.template-nordic_clean .reference-grid article{border-left-color:#b8ccc9}

/* ---------- Swiss Grid ---------- */
.resume-sheet.template-swiss_grid{
  display:block;
  padding:14mm 16mm 16mm;
  color:#151515;
  background:#fff;
  font-family:Inter,Arial,sans-serif;
}
.resume-sheet.template-swiss_grid .resume-main{padding:0}
.resume-sheet.template-swiss_grid .document-header{
  border:0;
  border-left:5mm solid var(--accent);
  padding:1mm 0 5mm 6mm;
  margin:0 0 9mm;
  text-align:left;
}
.resume-sheet.template-swiss_grid .document-header h1{
  margin:0;
  color:#111;
  font-size:31pt;
  line-height:.9;
  font-weight:800;
  letter-spacing:-.055em;
}
.resume-sheet.template-swiss_grid .document-header>p{
  margin:3mm 0 3mm;
  color:#222;
  font-size:10pt;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.13em;
}
.resume-sheet.template-swiss_grid .header-contact{color:#666;font-size:7.9pt;gap:2mm 4mm}
.resume-sheet.template-swiss_grid .document-section{
  display:grid;
  grid-template-columns:30mm minmax(0,1fr);
  column-gap:8mm;
  margin-bottom:7mm;
  break-inside:auto;
}
.resume-sheet.template-swiss_grid .document-section>h2{
  grid-column:1;
  align-self:start;
  border:0;
  padding:1mm 0 0;
  margin:0;
  color:var(--accent);
  font-size:7.5pt;
  font-weight:800;
  letter-spacing:.16em;
}
.resume-sheet.template-swiss_grid .document-section>.summary-text,
.resume-sheet.template-swiss_grid .document-section>.document-entry,
.resume-sheet.template-swiss_grid .document-section>.main-skill-list,
.resume-sheet.template-swiss_grid .document-section>.reference-grid{
  grid-column:2;
}
.resume-sheet.template-swiss_grid .document-entry{margin-bottom:5mm}
.resume-sheet.template-swiss_grid .entry-heading h3{font-size:10.5pt;font-weight:800}
.resume-sheet.template-swiss_grid .entry-heading p{color:#555}
.resume-sheet.template-swiss_grid .entry-heading time{color:#555;font-weight:600}
.resume-sheet.template-swiss_grid .summary-text,
.resume-sheet.template-swiss_grid .entry-description,
.resume-sheet.template-swiss_grid .document-entry ul{color:#343434}
.resume-sheet.template-swiss_grid .main-skill-list{gap:1.5mm 2mm}
.resume-sheet.template-swiss_grid .main-skill-list span{
  border:1px solid #d6d6d6;
  border-radius:0;
  background:#fff;
  padding:1.2mm 2.4mm;
  color:#222;
  font-size:7.9pt;
  font-weight:600;
}
.resume-sheet.template-swiss_grid .reference-grid article{border-left:3px solid var(--accent)}

/* ---------- Compact Tech ---------- */
.resume-sheet.template-compact_tech{
  display:block;
  padding:12.5mm 15mm 14mm;
  color:#18202a;
  background:#fff;
  font-family:Inter,Arial,sans-serif;
  font-size:9.2pt;
  line-height:1.38;
}
.resume-sheet.template-compact_tech .resume-main{padding:0}
.resume-sheet.template-compact_tech .document-header{
  border:0;
  border-bottom:2px solid #1f2937;
  padding:0 0 4mm;
  margin:0 0 5.5mm;
  text-align:left;
}
.resume-sheet.template-compact_tech .document-header h1{
  margin:0;
  color:#111827;
  font-size:24pt;
  line-height:1;
  font-weight:800;
  letter-spacing:-.035em;
}
.resume-sheet.template-compact_tech .document-header>p{
  margin:1.5mm 0 2.4mm;
  color:var(--accent);
  font-family:ui-monospace,SFMono-Regular,Consolas,"Liberation Mono",monospace;
  font-size:8.8pt;
  font-weight:700;
  letter-spacing:.04em;
}
.resume-sheet.template-compact_tech .header-contact{
  color:#4b5563;
  font-size:7.7pt;
  gap:1.5mm 4mm;
}
.resume-sheet.template-compact_tech .document-section{
  margin-bottom:4.8mm;
  break-inside:auto;
}
.resume-sheet.template-compact_tech .document-section>h2{
  border:0;
  border-bottom:1px solid #d1d5db;
  padding:0 0 1.4mm;
  margin:0 0 2.5mm;
  color:#111827;
  font-family:ui-monospace,SFMono-Regular,Consolas,"Liberation Mono",monospace;
  font-size:7.4pt;
  font-weight:700;
  letter-spacing:.12em;
}
.resume-sheet.template-compact_tech .document-section>h2::before{content:"// ";color:var(--accent)}
.resume-sheet.template-compact_tech .document-entry{margin-bottom:3.6mm}
.resume-sheet.template-compact_tech .entry-heading h3{font-size:9.7pt;color:#111827}
.resume-sheet.template-compact_tech .entry-heading p{font-size:7.9pt;color:#4b5563}
.resume-sheet.template-compact_tech .entry-heading time{font-size:7.5pt;color:#4b5563}
.resume-sheet.template-compact_tech .summary-text,
.resume-sheet.template-compact_tech .entry-description{font-size:8.4pt;color:#374151}
.resume-sheet.template-compact_tech .document-entry ul{font-size:8.2pt;color:#374151;margin-top:1.5mm}
.resume-sheet.template-compact_tech .document-entry li{margin-bottom:.8mm}
.resume-sheet.template-compact_tech .tech-list{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:7.5pt}
.resume-sheet.template-compact_tech .main-skill-list{gap:1.2mm 3mm}
.resume-sheet.template-compact_tech .main-skill-list span{
  padding:0;
  background:transparent;
  border:0;
  border-radius:0;
  color:#1f2937;
  font-family:ui-monospace,SFMono-Regular,Consolas,monospace;
  font-size:7.7pt;
  font-weight:600;
}
.resume-sheet.template-compact_tech .main-skill-list span:not(:last-child)::after{content:" /";color:#9ca3af}
.resume-sheet.template-compact_tech .reference-grid article{border-left:2px solid #9ca3af}

/* ---------- Elegant Serif ---------- */
.resume-sheet.template-elegant_serif{
  display:block;
  padding:15mm 18mm 16mm;
  color:#26201c;
  background:#fff;
  font-family:Inter,Arial,sans-serif;
}
.resume-sheet.template-elegant_serif .resume-main{padding:0}
.resume-sheet.template-elegant_serif .document-header{
  border:0;
  border-bottom:1px solid #cfc3b8;
  padding:0 0 6mm;
  margin:0 0 7mm;
  text-align:left;
}
.resume-sheet.template-elegant_serif .document-header h1{
  margin:0;
  color:#2f251f;
  font-family:Georgia,"Times New Roman",serif;
  font-size:30pt;
  line-height:1;
  font-weight:600;
  letter-spacing:-.025em;
}
.resume-sheet.template-elegant_serif .document-header>p{
  margin:2mm 0 3mm;
  color:var(--accent);
  font-family:Georgia,"Times New Roman",serif;
  font-size:11pt;
  font-style:italic;
}
.resume-sheet.template-elegant_serif .header-contact{color:#6c625c;font-size:8pt}
.resume-sheet.template-elegant_serif .document-section{
  margin-bottom:6.5mm;
  break-inside:auto;
}
.resume-sheet.template-elegant_serif .document-section>h2{
  border:0;
  border-bottom:1px solid #d9d0c8;
  padding:0 0 1.8mm;
  margin:0 0 3.2mm;
  color:#44352c;
  font-family:Georgia,"Times New Roman",serif;
  font-size:10pt;
  font-weight:600;
  letter-spacing:.04em;
  text-transform:none;
}
.resume-sheet.template-elegant_serif .entry-heading h3{font-family:Georgia,"Times New Roman",serif;font-size:10.8pt;color:#332923}
.resume-sheet.template-elegant_serif .entry-heading p{color:#746960}
.resume-sheet.template-elegant_serif .entry-heading time{color:#746960}
.resume-sheet.template-elegant_serif .summary-text,
.resume-sheet.template-elegant_serif .entry-description,
.resume-sheet.template-elegant_serif .document-entry ul{color:#4c433e}
.resume-sheet.template-elegant_serif .main-skill-list{gap:1.4mm 3mm}
.resume-sheet.template-elegant_serif .main-skill-list span{
  background:#f7f3ef;
  border:1px solid #e5ddd6;
  border-radius:1px;
  padding:1.2mm 2.5mm;
  color:#4d4038;
  font-size:8.1pt;
}
.resume-sheet.template-elegant_serif .reference-grid article{border-left:1px solid #bcaea2}

/* ---------- Blue Sidebar ---------- */
.resume-sheet.template-blue_sidebar{
  grid-template-columns:60mm minmax(0,1fr);
  color:#172033;
  background:#fff;
}
.resume-sheet.template-blue_sidebar .resume-sidebar{
  padding:15mm 8mm;
  background:#143a72;
  color:#fff;
}
.resume-sheet.template-blue_sidebar .identity-block img,
.resume-sheet.template-blue_sidebar .document-avatar{
  width:28mm;
  height:28mm;
  border-radius:4mm;
  margin-bottom:6mm;
}
.resume-sheet.template-blue_sidebar .document-avatar{background:rgba(255,255,255,.14)}
.resume-sheet.template-blue_sidebar .identity-block h1{font-size:20pt;line-height:1.02;letter-spacing:-.03em}
.resume-sheet.template-blue_sidebar .identity-block>p{font-size:9pt;line-height:1.35;opacity:.88}
.resume-sheet.template-blue_sidebar .sidebar-section{margin-top:8mm}
.resume-sheet.template-blue_sidebar .sidebar-section h2{
  margin-bottom:3mm;
  color:#bfdbfe;
  font-size:7.2pt;
  letter-spacing:.16em;
}
.resume-sheet.template-blue_sidebar .contact-list{font-size:7.8pt;gap:2.2mm}
.resume-sheet.template-blue_sidebar .document-skills{display:grid;gap:1.6mm}
.resume-sheet.template-blue_sidebar .document-skills span{
  border:0;
  border-left:2px solid #60a5fa;
  border-radius:0;
  padding:.8mm 0 .8mm 2mm;
  font-size:7.7pt;
}
.resume-sheet.template-blue_sidebar .language-row{font-size:7.7pt}
.resume-sheet.template-blue_sidebar .resume-main{padding:14mm 12mm}
.resume-sheet.template-blue_sidebar .document-section{margin-bottom:7mm;break-inside:auto}
.resume-sheet.template-blue_sidebar .document-section>h2{
  border:0;
  border-bottom:2px solid #dbeafe;
  padding-bottom:1.6mm;
  color:#1e3a8a;
  font-size:7.8pt;
  letter-spacing:.16em;
}
.resume-sheet.template-blue_sidebar .entry-heading h3{color:#172033}
.resume-sheet.template-blue_sidebar .entry-heading time{color:#667085}
.resume-sheet.template-blue_sidebar .summary-text,
.resume-sheet.template-blue_sidebar .entry-description,
.resume-sheet.template-blue_sidebar .document-entry ul{color:#465266}
.resume-sheet.template-blue_sidebar .tech-list{color:#1d4ed8}
.resume-sheet.template-blue_sidebar .reference-grid article{border-left-color:#60a5fa}

/* ---------- Academic CV ---------- */
.resume-sheet.template-academic_cv{
  display:block;
  padding:13mm 16mm 15mm;
  color:#111827;
  background:#fff;
  font-family:"Times New Roman",Times,serif;
  font-size:9.5pt;
  line-height:1.38;
}
.resume-sheet.template-academic_cv .resume-main{padding:0}
.resume-sheet.template-academic_cv .document-header{
  border:0;
  border-bottom:1.5px solid #334155;
  padding:0 0 4mm;
  margin:0 0 5mm;
  text-align:left;
}
.resume-sheet.template-academic_cv .document-header h1{
  margin:0;
  color:#111827;
  font-size:23pt;
  line-height:1;
  font-weight:700;
  letter-spacing:0;
}
.resume-sheet.template-academic_cv .document-header>p{
  margin:1.5mm 0 2.5mm;
  color:#334155;
  font-size:10.5pt;
  font-style:italic;
}
.resume-sheet.template-academic_cv .header-contact{
  color:#374151;
  font-family:Arial,sans-serif;
  font-size:7.6pt;
  gap:1.5mm 4mm;
}
.resume-sheet.template-academic_cv .document-section{
  margin-bottom:5mm;
  break-inside:auto;
}
.resume-sheet.template-academic_cv .document-section>h2{
  border:0;
  border-bottom:1px solid #64748b;
  padding:0 0 1mm;
  margin:0 0 2.4mm;
  color:#1f2937;
  font-family:Arial,sans-serif;
  font-size:7.7pt;
  font-weight:700;
  letter-spacing:.13em;
}
.resume-sheet.template-academic_cv .document-entry{margin-bottom:3.6mm}
.resume-sheet.template-academic_cv .entry-heading h3{font-size:10pt;font-weight:700}
.resume-sheet.template-academic_cv .entry-heading p{font-size:8.5pt;color:#374151;font-style:italic}
.resume-sheet.template-academic_cv .entry-heading time{font-family:Arial,sans-serif;font-size:7.5pt;color:#374151}
.resume-sheet.template-academic_cv .summary-text,
.resume-sheet.template-academic_cv .entry-description{font-size:9pt;color:#222}
.resume-sheet.template-academic_cv .document-entry ul{font-size:8.8pt;color:#222;margin-top:1.5mm}
.resume-sheet.template-academic_cv .main-skill-list{gap:1mm 2.5mm}
.resume-sheet.template-academic_cv .main-skill-list span{
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  color:#222;
  font-size:8.7pt;
}
.resume-sheet.template-academic_cv .main-skill-list span:not(:last-child)::after{content:";";color:#64748b}
.resume-sheet.template-academic_cv .reference-grid article{border-left:1px solid #64748b}

/* ---------- Print and responsive safeguards ---------- */
@media print{
  .resume-sheet.template-nordic_clean,
  .resume-sheet.template-swiss_grid,
  .resume-sheet.template-compact_tech,
  .resume-sheet.template-elegant_serif,
  .resume-sheet.template-academic_cv{box-shadow:none;margin:0}
}

@media(max-width:560px){
  .resume-sheet.template-nordic_clean,
  .resume-sheet.template-swiss_grid,
  .resume-sheet.template-compact_tech,
  .resume-sheet.template-elegant_serif,
  .resume-sheet.template-academic_cv{padding:28px 24px}
  .resume-sheet.template-swiss_grid .document-section{display:block}
  .resume-sheet.template-swiss_grid .document-section>h2{margin-bottom:10px}
  .resume-sheet.template-blue_sidebar{display:block}
  .resume-sheet.template-blue_sidebar .resume-sidebar{padding:30px 24px}
  .resume-sheet.template-blue_sidebar .resume-main{padding:30px 24px}
}
