
/* CV Modern */
:root{
  --accent:#1f9d55;
  --text:#0b1220;
  --muted:#5b6777;
  --line:#e7ebf0;
  --bg:#ffffff;
}
@page{
  size:A4;
  margin:0;
}
*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family:Poppins,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  color:var(--text);
  background:#f4f6f8;
  font-size:10.2px;
}
a{color:inherit;text-decoration:none}
a:hover{text-decoration:underline}
.cv{width:210mm; margin:0 auto; padding:10mm 0}
.page{
  background:var(--bg);
  border:1px solid var(--line);
  border-radius:0;
  padding:10mm 10mm 8mm;
  box-shadow:none;
  width:100%;
  min-height:297mm;
  page-break-after:always;
}
.page:last-child{page-break-after:auto}
.page-break{page-break-before:always}

.hero{
  display:flex;
  gap:12px;
  align-items:flex-start;
  padding-bottom:12px;
  border-bottom:1px solid var(--line);
}
.name{font-size:22px;font-weight:700;letter-spacing:.2px}
.degree{color:var(--accent)}
.tagline{margin-top:4px;font-size:10.6px;color:var(--muted);line-height:1.35}
.hero-left{flex:1}
.hero-right{width:190px;display:flex;flex-direction:column;align-items:flex-end;gap:10px}
.avatar{
  width:96px;height:96px;border-radius:18px;object-fit:cover;border:3px solid rgba(31,157,85,.18)
}
.pill{
  font-size:10px;color:var(--muted);
  border:1px solid var(--line);
  padding:6px 10px;border-radius:999px;
}

.contacts{margin-top:8px;display:grid;grid-template-columns:1fr 1fr;gap:6px 10px}
.contact{display:flex;gap:8px;align-items:center;font-size:9.6px;color:var(--text)}
.contact.muted{color:var(--muted)}
.icon{
  width:18px;height:18px;display:inline-grid;place-items:center;
  background:rgba(31,157,85,.10);
  border-radius:6px;
}
.icon svg{width:13px;height:13px;fill:var(--accent)}

.grid{display:grid;grid-template-columns:0.92fr 2.08fr;gap:12px;margin-top:12px}
.grid.single{grid-template-columns:1fr}
.sidebar{
  border:1px solid var(--line);
  border-radius:14px;
  padding:12px 12px 10px;
  background:#fbfcfd;
}
.content{padding-top:2px}
.content.wide{padding:0}
.hr{height:1px;background:var(--line);margin:8px 0}
.sec{
  margin:0 0 8px;
  font-size:11.2px;
  font-weight:700;
  letter-spacing:.3px;
  text-transform:uppercase;
  color:var(--accent);
}
.soft{margin:0 0 8px;font-size:9.6px;color:var(--muted);line-height:1.42}
.quote{
  margin:0 0 10px;
  padding:10px 10px;
  font-size:9.6px;
  color:var(--text);
  border-left:3px solid var(--accent);
  background:rgba(31,157,85,.06);
  border-radius:10px;
}
.chips{list-style:none;padding:0;margin:0 0 12px;display:flex;flex-wrap:wrap;gap:6px}
.chips li{
  font-size:9.0px;
  padding:5px 8px;
  border-radius:999px;
  border:1px solid rgba(31,157,85,.18);
  background:rgba(31,157,85,.06);
}
.meter{list-style:none;padding:0;margin:0 0 10px;display:grid;gap:8px}
.meter li{display:flex;align-items:center;justify-content:space-between;font-size:9.6px}
.dots{display:flex;gap:4px}
.dots i{width:7px;height:7px;border-radius:50%;border:1px solid rgba(31,157,85,.35);display:inline-block}
.dots i.on{background:var(--accent);border-color:var(--accent)}
.compact{margin:0;padding-left:16px;font-size:9.6px;color:var(--muted);line-height:1.45}
.item{border:1px solid var(--line);border-radius:14px;padding:8px 8px 7px;margin-bottom:6px}
.item-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}
.item-title{font-size:10.8px;font-weight:600;line-height:1.25}
.item-meta{font-size:9.6px;color:var(--muted);line-height:1.3}
.item-body{margin-top:4px;font-size:9.6px;color:var(--text);line-height:1.42}
.k{color:var(--accent);font-weight:700}
.bullets{margin:0 0 10px;padding-left:16px;font-size:9.6px;line-height:1.45}
.bullets li{margin:0 0 4px}
.bullets.tight li{margin:0 0 2px}

/* Plain lists (used for reviewer/collaboration lists) */
.plain{margin:0 0 8px; padding-left:18px; font-size:9.6px; line-height:1.38; color:var(--text)}
.plain li{margin:0 0 4px; break-inside:avoid}
.plain.cols2{columns:2; column-gap:18px}

/* Simple card */
.card{border:1px solid var(--line); border-radius:14px; padding:10px; background:#fbfcfd}
.ref-row{font-size:9.6px; line-height:1.35; margin:0 0 4px}
.ref-row:last-child{margin-bottom:0}
.subhead{
  margin:0 0 6px;
  font-size:11px;
  color:var(--text);
  font-weight:700;
}
.pub-list{margin:0 0 10px;padding-left:16px}
.pub-title{font-size:9.6px;font-weight:600;line-height:1.35}
.pub-meta{font-size:9.0px;color:var(--muted);line-height:1.35}
.doi{color:var(--accent)}
.awards{border:1px solid var(--line);border-radius:14px;padding:8px 8px 7px;background:#fbfcfd;margin-bottom:10px}
.award-row{display:grid;grid-template-columns:64px 1fr;gap:10px;padding:6px 0}
.award-row + .award-row{border-top:1px dashed var(--line)}
.award-year{font-size:9.6px;font-weight:700;color:var(--accent)}
.award-text{font-size:9.6px;line-height:1.45}
.award-sub{margin:4px 0 0 !important; line-height:1.35}

.award-sub{margin:4px 0 0 !important; line-height:1.35;}

.hr{height:1px;background:var(--line);margin:8px 0;}
.foot{
  margin-top:8px;
  padding-top:8px;
  border-top:1px solid var(--line);
  display:flex;
  justify-content:space-between;
  font-size:9.0px;
  color:var(--muted);
}

.pub-list{columns:2; column-gap:14px}
.pub-list li{break-inside:avoid; margin-bottom:6px}
.subhead{margin:0 0 4px}

.grid.two-col{grid-template-columns:1.18fr 1fr; align-items:start}
.grid.two-col .col{padding-top:2px}
.grid.two-col .sec{margin-top:0}
.pub-list{columns:1; padding-left:14px}

.item-body{margin-top:4px}
.pub-list{margin:0 0 6px}

@media print{
  body{background:#fff}
  .cv{width:210mm; margin:0; padding:0}
  .fab-print{display:none !important}
  a{text-decoration:none}
}


/* Floating Print Button */
.fab-print{
  position:fixed;
  left:50%;
  top:10px;
  transform:translateX(-50%);
  z-index:9999;
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:10px 16px;
  border-radius:999px;
  background:var(--accent);
  color:#fff;
  box-shadow:0 10px 26px rgba(0,0,0,.18);
  font-weight:600;
  letter-spacing:.2px;
}
.fab-print:hover{ text-decoration:none; filter:brightness(0.98); }
.fab-print .fab-ico{ font-size:16px; line-height:1; }
.fab-print .fab-text{ font-size:13.2px; }

/* Ensure page 2 starts on a new printed page */
.page-break{ break-before:page; page-break-before:always; }

/* (print rules consolidated above) */

/* Lists */
.plain{margin:0 0 8px; padding-left:16px; font-size:9.6px; color:var(--text); line-height:1.35;}
.plain li{margin:0 0 4px; break-inside:avoid;}
.plain.cols2{columns:2; column-gap:18px;}

.card{border:1px solid var(--line); border-radius:14px; padding:8px 10px; background:#fbfcfd;}
.ref-row{margin:0 0 4px; font-size:9.6px; line-height:1.35;}
.skill-block{margin-bottom:8px;}
.skill-title{font-weight:700; font-size:10.2px; margin:0 0 4px;}
.note{margin-top:6px; font-size:9.2px;}
