/* Placement detail overlay — shared by candidate and client portals.
   Field-row pattern matches admin/placements.html so all three feel like one product. */
.pld-overlay{
  position:fixed;inset:0;background:rgba(21,35,63,0.45);z-index:80;
  opacity:0;pointer-events:none;transition:opacity 0.2s;
}
.pld-overlay.open{opacity:1;pointer-events:auto;}
.pld-panel{
  position:fixed;top:0;right:0;bottom:0;width:min(540px,100%);
  background:var(--dark-2,#FCFAF4);border-left:1px solid var(--border,#E3DACB);
  display:flex;flex-direction:column;z-index:81;
  transform:translateX(100%);transition:transform 0.25s ease;
  color:var(--text,#15233F);
}
.pld-overlay.open .pld-panel{transform:translateX(0);}
.pld-header{
  padding:16px 20px;border-bottom:1px solid var(--border,#E3DACB);
  display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-shrink:0;
}
.pld-header-title{
  font-family:var(--hiire-font-heading,'Archivo',sans-serif);
  font-size:20px;font-weight:700;color:var(--text,#15233F);line-height:1.2;margin:0 0 3px;
}
.pld-header-sub{font-size:12px;color:var(--text-muted,#5C6678);line-height:1.5;margin:0;}
.pld-close{
  background:transparent;border:1px solid var(--border,#E3DACB);color:var(--text-muted,#5C6678);
  width:36px;height:36px;border-radius:4px;cursor:pointer;font-size:18px;line-height:1;
  display:flex;align-items:center;justify-content:center;flex-shrink:0;
}
.pld-close:hover{border-color:var(--hiire-primary,#15233F);color:var(--hiire-primary,#15233F);}
.pld-body{flex:1;overflow-y:auto;padding:20px;}
.pld-section{margin-bottom:22px;}
.pld-section-title{
  font-size:10px;letter-spacing:2px;text-transform:uppercase;color:var(--text-muted,#5C6678);
  margin-bottom:10px;font-weight:500;
}
.pld-field-row{display:flex;gap:16px;margin-bottom:14px;}
.pld-field{flex:1;min-width:0;}
.pld-field-label{
  font-size:10px;letter-spacing:2px;text-transform:uppercase;color:var(--text-muted,#5C6678);
  margin-bottom:5px;font-weight:500;
}
.pld-field-val{font-size:14px;font-weight:500;color:var(--text,#15233F);word-break:break-word;}
.pld-field-val.muted{font-weight:400;color:var(--text-muted,#5C6678);}
.pld-docs{display:flex;flex-direction:column;gap:8px;}
.pld-doc{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:10px 12px;background:var(--dark-3,#FFFFFF);border:1px solid var(--border,#E3DACB);border-radius:4px;
}
.pld-doc-name{font-size:13px;font-weight:500;}
.pld-doc-meta{font-size:11px;color:var(--text-muted,#5C6678);margin-top:2px;}
.pld-doc a{
  font-size:12px;font-weight:600;letter-spacing:0.5px;text-transform:uppercase;
  color:var(--hiire-accent,#C45D2E);text-decoration:none;white-space:nowrap;
}
.pld-doc a:hover{text-decoration:underline;}
.pld-empty{font-size:13px;color:var(--text-muted,#5C6678);line-height:1.55;}
.pld-inv{width:100%;border-collapse:collapse;font-size:13px;}
.pld-inv th{
  padding:7px 8px;font-size:10px;letter-spacing:1.5px;text-transform:uppercase;
  color:var(--text-muted,#5C6678);border-bottom:1px solid var(--border,#E3DACB);text-align:left;font-weight:500;
}
.pld-inv td{padding:9px 8px;border-bottom:1px solid var(--border,#E3DACB);vertical-align:middle;}
.pld-inv tbody tr:last-child td{border-bottom:none;}
.pld-badge{
  display:inline-flex;padding:3px 9px;border-radius:2px;font-size:10px;font-weight:600;
  letter-spacing:1px;text-transform:uppercase;background:rgba(21,35,63,0.08);color:var(--hiire-primary,#15233F);
}
.pld-hash-flash{
  outline:2px solid var(--hiire-accent,#C45D2E);
  outline-offset:3px;
  transition:outline-color 0.4s;
}
@media(max-width:640px){
  .pld-field-row{flex-direction:column;gap:10px;}
}
