/* Styles for the talent network (PHP pages). Same tokens and fonts as the rest of the site. */
:root{
  --ink:#1C1D3C; --paper:#F2F3FA; --surface:#FBFBFE;
  --accent:#1B1464; --accent-ink:#FFFFFF; --link:#43599F;
  --grey:#5E6285; --border:#CDD1E6; --red:#A8392A; --green:#2A7A55;
  --shadow: 0 1px 2px rgba(27,20,100,.06), 0 6px 20px -8px rgba(27,20,100,.18);
  color-scheme: light;
}
@media (prefers-color-scheme: dark){
  :root{
    --ink:#E8EAF6; --paper:#1C1D3C; --surface:#25274D;
    --accent:#7A8CBD; --accent-ink:#1C1D3C; --link:#9FB0DC;
    --grey:#A0A4C8; --border:#393C6B; --red:#E26A57; --green:#6FCF9F;
    --shadow: 0 1px 2px rgba(0,0,0,.35), 0 10px 28px -10px rgba(0,0,0,.55);
    color-scheme: dark;
  }
}
*{box-sizing:border-box;}
body{margin:0; background:var(--paper); color:var(--ink); font-family:'IBM Plex Sans',system-ui,sans-serif; font-size:14px; padding-inline:16px; -webkit-font-smoothing:antialiased;}
a{color:var(--link);}
.mono{font-family:'IBM Plex Mono',ui-monospace,monospace; font-variant-numeric:tabular-nums;}
.wrap{max-width:1040px; margin:0 auto; padding-bottom:40px;}
.inline{display:inline; margin:0;}
.linkbtn{border:0; background:none; cursor:pointer;}

.pagehead{padding-block:28px 18px; border-bottom:1px solid var(--border); margin-bottom:20px;}
.eyebrow{font-family:'IBM Plex Mono',monospace; font-size:.72rem; letter-spacing:.14em; text-transform:uppercase; color:var(--link); margin:0 0 6px;}
h1{font-family:'Big Shoulders Display',sans-serif; font-weight:900; text-transform:uppercase; font-size:clamp(2rem,7vw,3.2rem); line-height:.95; margin:0; text-wrap:balance;}
h2{font-family:'Big Shoulders Display',sans-serif; font-weight:800; text-transform:uppercase; font-size:1.4rem; margin:0 0 12px;}
.lede{color:var(--grey); max-width:60ch; line-height:1.55; margin:12px 0 0;}

.notice{margin-top:16px; padding:12px 14px; border-radius:8px; border:1px solid var(--border); background:var(--surface); line-height:1.5;}
.notice.ok{border-color:var(--green);}
.notice.error{border-color:var(--red); color:var(--red);}
.notice.warn{border-color:var(--accent);}

.panel{background:var(--surface); border:1px solid var(--border); border-radius:12px; box-shadow:var(--shadow); padding:22px; margin-bottom:18px;}
.cols{display:grid; grid-template-columns:repeat(auto-fit,minmax(300px,1fr)); gap:18px;}
.form-narrow{max-width:640px;}

.field{display:flex; flex-direction:column; gap:6px; margin-bottom:16px;}
.field label, .field .label{font-size:.82rem; font-weight:600;}
.hint{font-size:.76rem; color:var(--grey); font-weight:400; line-height:1.45;}
.field-row{display:flex; gap:12px; flex-wrap:wrap;}
.field-row .field{flex:1 1 150px;}
input[type=text], input[type=email], input[type=tel], input[type=password], input[type=search], select, textarea{
  font:inherit; font-size:.92rem; color:var(--ink); background:var(--paper); border:1px solid var(--border); border-radius:8px; padding:9px 10px; width:100%;
}
textarea{resize:vertical; min-height:90px;}
input[type=file]{font:inherit; font-size:.85rem; color:var(--ink); max-width:100%;}
input:focus-visible, select:focus-visible, textarea:focus-visible, button:focus-visible, summary:focus-visible, a:focus-visible{outline:2px solid var(--link); outline-offset:2px;}
.check-row{display:flex; flex-wrap:wrap; gap:8px 16px;}
.check-row label{display:flex; align-items:center; gap:7px; font-size:.88rem; font-weight:400;}
.check-row input{width:auto; margin:0;}
.hp{position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden;}

.btn{font:inherit; font-size:.88rem; font-weight:600; padding:10px 16px; border-radius:8px; border:1px solid var(--border); background:var(--surface); color:var(--ink); cursor:pointer; text-decoration:none; display:inline-block;}
.btn.primary{background:var(--accent); border-color:var(--accent); color:var(--accent-ink);}
.btn.danger{color:var(--red); border-color:var(--red);}
.btn.small{padding:7px 11px; font-size:.8rem;}
.btn-row{display:flex; flex-wrap:wrap; gap:10px; align-items:center; margin-top:6px;}

.toolbar{display:flex; flex-wrap:wrap; gap:10px; align-items:center; margin-bottom:14px;}
.toolbar input[type=search]{flex:1 1 220px; width:auto;}
.toolbar select{width:auto;}
.stats{display:flex; flex-wrap:wrap; gap:22px; margin-top:16px;}
.stat b{display:block; font-family:'IBM Plex Mono',monospace; font-size:1.3rem; color:var(--accent);}
.stat span{font-size:.72rem; letter-spacing:.06em; text-transform:uppercase; color:var(--grey);}

.grid{display:grid; grid-template-columns:repeat(auto-fill,minmax(300px,1fr)); gap:12px;}
.card{background:var(--surface); border:1px solid var(--border); border-radius:10px; box-shadow:var(--shadow); padding:14px 16px; display:flex; flex-direction:column; gap:8px; min-width:0;}
.name{font-family:'Big Shoulders Display',sans-serif; font-weight:700; font-size:1.15rem; line-height:1.1; text-transform:uppercase;}
.muted{color:var(--grey); font-size:.85rem; overflow-wrap:anywhere;}
.tags{display:flex; flex-wrap:wrap; gap:5px;}
.tag{font-family:'IBM Plex Mono',monospace; font-size:.66rem; letter-spacing:.03em; text-transform:uppercase; padding:3px 7px; border-radius:5px; border:1px solid var(--border); color:var(--grey);}
.tag.accent{color:var(--accent-ink); background:var(--accent); border-color:var(--accent);}
.bio{font-size:.85rem; line-height:1.5; overflow-wrap:anywhere;}
.card-actions{display:flex; flex-wrap:wrap; gap:8px; margin-top:4px;}
details.more{border-top:1px solid var(--border); padding-top:8px; margin-top:4px;}
details.more summary{cursor:pointer; font-size:.8rem; color:var(--grey);}
details.more form{margin-top:8px;}
.pager{display:flex; gap:12px; align-items:center; justify-content:center; margin:22px 0;}
.empty{text-align:center; padding:40px 16px; color:var(--grey);}
code{font-family:'IBM Plex Mono',monospace; font-size:.85em; background:var(--paper); border:1px solid var(--border); border-radius:4px; padding:1px 5px;}
.checks{list-style:none; padding:0; margin:0 0 14px;}
.checks li{padding:6px 0; border-bottom:1px solid var(--border); display:flex; gap:10px;}
.pass{color:var(--green); font-weight:600;}
.fail{color:var(--red); font-weight:600;}
@media (max-width:480px){.toolbar{flex-direction:column; align-items:stretch;} .toolbar select{width:100%;}}

.sr-only{position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap;}
.sitenav button.nav-link{font-family:'IBM Plex Mono',ui-monospace,monospace; font-size:.76rem; letter-spacing:.03em; text-transform:uppercase; color:var(--grey); padding:8px 12px; border-radius:6px;}
.sitenav button.nav-link:hover{color:var(--link);}
.sitenav button:focus-visible{outline:2px solid var(--link); outline-offset:2px;}

/* ---------- reviews ---------- */
.rating-summary{display:flex; flex-wrap:wrap; align-items:center; gap:10px; margin-top:14px;}
.rating-summary .stars{font-size:1.3rem;}
.rating-summary b{font-size:1.2rem;}
.review-cols{align-items:start; grid-template-columns:repeat(auto-fit,minmax(320px,1fr));}
.bars{list-style:none; padding:0; margin:0 0 16px; display:grid; gap:4px; max-width:360px;}
.bars li{display:grid; grid-template-columns:2.4em 1fr 2.4em; gap:8px; align-items:center; font-size:.8rem; color:var(--grey);}
.bars progress{width:100%; height:8px; appearance:none; border:0; border-radius:4px; background:var(--border); overflow:hidden;}
.bars progress::-webkit-progress-bar{background:var(--border); border-radius:4px;}
.bars progress::-webkit-progress-value{background:var(--brand); border-radius:4px;}
.bars progress::-moz-progress-bar{background:var(--brand); border-radius:4px;}
.review{background:var(--surface); border:1px solid var(--border); border-radius:10px; box-shadow:var(--shadow); padding:14px 16px; margin-bottom:12px; display:flex; flex-direction:column; gap:6px;}
.review p{margin:0;}
.review-head{display:flex; flex-wrap:wrap; align-items:center; gap:8px;}
fieldset.field{border:0; padding:0; margin:0 0 16px; min-width:0;}
fieldset.field legend{padding:0; margin-bottom:6px;}
