/* PASSAGE — pilotcheck.css: the FCIP / RCIP eligibility checker (pilotcheck.js).
   Uses the app's tokens only (styles.css :root). Everything is scoped under .pc-. */

.m-card.pc-card{width:min(1000px,96vw);max-height:92vh;display:flex;flex-direction:column;overflow:hidden;padding:22px 24px 0}
.pc-card .pc-body{flex:1 1 auto;overflow-y:auto;padding:4px 2px 14px;margin:0 -2px}
.pc-loading,.pc-fatal{padding:28px 6px;color:var(--ink-soft)}
.pc-fatal{color:var(--red);font-weight:600}

.pc-head{display:flex;gap:14px;align-items:flex-start;justify-content:space-between}
.pc-head .m-sub{margin-bottom:6px}
.pc-proposed{flex:0 0 auto;margin-top:4px}

/* verdict banner */
.pc-verdict{display:flex;gap:12px;align-items:flex-start;border:1.5px solid var(--stroke);border-radius:14px;padding:11px 14px;margin:8px 0 10px;background:#fff}
.pc-verdict > div{flex:1 1 auto;display:flex;flex-direction:column;gap:2px;min-width:0}
.pc-verdict b{font-size:15px}
.pc-verdict span{color:var(--ink-soft);font-size:12.5px}
.pc-v-pass{border-color:var(--green);background:rgba(30,58,51,.05)}
.pc-v-fail{border-color:var(--red);background:rgba(140,59,46,.05)}
.pc-v-info{border-color:var(--gold);background:rgba(169,130,76,.07)}
.pc-tally{display:flex;gap:6px;flex:0 0 auto;flex-wrap:wrap;justify-content:flex-end}
.pc-tally span{font-size:11.5px;font-weight:600;padding:3px 9px;border-radius:99px;white-space:nowrap}
.pc-t-pass{background:rgba(30,58,51,.1);color:var(--green)}
.pc-t-fail{background:rgba(140,59,46,.1);color:var(--red)}
.pc-t-info{background:rgba(169,130,76,.14);color:var(--gold-deep)}

/* sections */
.pc-sec{border:1px solid var(--stroke);border-radius:14px;padding:12px 14px 10px;margin:0 0 10px;background:#fff}
.pc-sec h3{margin:0 0 8px;font-size:14px;letter-spacing:.01em}
.pc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:8px 12px;align-items:end}
.pc-fld{display:flex;flex-direction:column;gap:3px;min-width:0}
.pc-fld label{font-size:11.5px;color:var(--ink-soft);font-weight:600;display:flex;gap:6px;align-items:baseline;flex-wrap:wrap}
.pc-fld input,.pc-fld select,.pc-conv-row input{border:1px solid var(--stroke);border-radius:10px;padding:7px 10px;background:#fff;font:inherit;font-size:13px;min-width:0;width:100%;box-sizing:border-box}
.pc-fld input:focus,.pc-fld select:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px rgba(169,130,76,.14)}
.pc-pair{display:grid;grid-template-columns:1fr 104px;gap:6px}
.pc-from{font-weight:500;font-size:10.5px;color:var(--gold-deep);background:rgba(169,130,76,.1);border-radius:99px;padding:1px 7px}
.pc-note{font-size:12px;color:var(--ink-soft);margin:6px 0 4px;line-height:1.45}
.pc-note a{color:var(--gold-deep)}
.pc-note code{background:rgba(26,27,24,.06);border-radius:6px;padding:1px 6px}
.pc-copy{margin-left:6px}
.pc-flag{border-left:3px solid var(--gold);padding-left:8px}
.pc-radio{display:flex;gap:16px;flex-wrap:wrap;margin:0 0 8px;font-size:13px}
.pc-radio label{display:flex;gap:6px;align-items:center;cursor:pointer}
.pc-levels{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px 12px;margin-top:8px}

/* requirement rows */
.pc-rows{display:flex;flex-direction:column;gap:5px;margin-top:10px}
.pc-row{display:flex;gap:10px;align-items:flex-start;padding:6px 8px;border-radius:10px;background:rgba(26,27,24,.025)}
.pc-row > div{display:flex;flex-direction:column;gap:1px;min-width:0}
.pc-row b{font-size:12.5px}
.pc-row span{font-size:12.5px;color:var(--ink-soft)}
.pc-row-fail{background:rgba(140,59,46,.06)}
.pc-chip{flex:0 0 auto;min-width:86px;text-align:center;font-size:10.5px;font-weight:700;letter-spacing:.05em;padding:3px 8px;border-radius:99px;margin-top:1px}
.pc-chip.pc-pass{background:var(--green);color:#fff}
.pc-chip.pc-fail{background:var(--red);color:#fff}
.pc-chip.pc-info{background:rgba(169,130,76,.2);color:var(--gold-deep)}

/* graduate checklist */
.pc-checklist{display:flex;flex-direction:column;gap:5px}
.pc-cl-row{display:grid;grid-template-columns:1fr 150px;gap:10px;align-items:center;font-size:12.5px}
.pc-cl-row select{border:1px solid var(--stroke);border-radius:10px;padding:5px 8px;background:#fff;font:inherit;font-size:12.5px}

/* converter */
.pc-conv{margin-top:10px;border:1px dashed var(--stroke);border-radius:12px;padding:8px 12px}
.pc-conv summary{cursor:pointer;font-weight:600;font-size:12.5px;color:var(--gold-deep)}
.pc-conv-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 16px;margin:6px 0 8px}
.pc-conv-row{display:grid;grid-template-columns:minmax(0,1fr) 90px 110px;gap:8px;align-items:center;font-size:12.5px}
.pc-conv-row b{font-size:12.5px;color:var(--green)}

/* family */
.pc-fams{display:flex;flex-direction:column;gap:4px;margin:4px 0 8px}
.pc-fam{display:flex;gap:8px;align-items:flex-start;font-size:12.5px;cursor:pointer}
.pc-fam em{display:block;font-style:normal;color:var(--ink-soft);font-size:11.5px}
.pc-fam-self{cursor:default;padding-left:22px}

.pc-src{font-size:11px;color:var(--ink-soft);line-height:1.5;margin:8px 0 0}
.pc-src a{color:var(--ink-soft)}

/* footer */
.pc-foot{flex:0 0 auto;display:flex;gap:8px;align-items:center;flex-wrap:wrap;border-top:1px solid var(--stroke);padding:12px 0 16px;margin-top:0;background:var(--paper)}
.pc-save-msg{flex:1 1 220px;font-size:12.5px;min-width:0}
.pc-save-msg .pc-ok{color:var(--green);font-weight:600}
.pc-save-msg .pc-err{color:var(--red);font-weight:600}
.pc-save-msg .pc-info{color:var(--ink-soft)}
.pc-move{font-size:12.5px;display:flex;gap:6px;align-items:center}

.pc-page .pc-grid{max-width:640px}

@media (max-width:700px){
  .m-card.pc-card{width:100%;max-height:94vh;padding:16px 14px 0}
  .pc-head{flex-direction:column;gap:4px}
  .pc-verdict{flex-wrap:wrap}
  .pc-tally{justify-content:flex-start;width:100%}
  .pc-levels{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pc-conv-grid{grid-template-columns:1fr}
  .pc-cl-row{grid-template-columns:1fr}
  .pc-chip{min-width:72px}
  .pc-foot .btn{flex:1 1 auto}
}
