/* Participant and staff portals (portal.html, staff.html) */
.pt{padding-block:18px 14px}
.pt .crumbs{font-size:.8125rem;color:var(--muted);margin-bottom:6px}
.pt h1{padding-bottom:8px;border-bottom:1px solid var(--line)}
.pt p.lead{margin-top:10px;max-width:70ch}
.btn.out{background:var(--bg);color:var(--link);border:2px solid var(--link);margin:0}   /* beats the output-box rule .out below, which added a bottom margin and a thinner border */
.btn.out:visited{color:var(--link)}
.shell{display:grid;grid-template-columns:230px minmax(0,1fr);gap:24px;align-items:start}
.side{background:var(--bg);border:1px solid var(--line);position:sticky;top:12px}
.side h2{background:var(--navy);color:#fff;font:700 .9rem var(--sans);padding:9px 14px;text-transform:uppercase;letter-spacing:.05em}
.side a{display:block;padding:10px 14px;border-top:1px solid var(--soft);text-decoration:none;font-weight:600;font-size:.95rem;color:var(--link);border-left:4px solid transparent}
.side a:visited{color:var(--link)}
.side a:hover{background:var(--panel)}
.side a[aria-current="page"]{border-left-color:var(--rule);background:var(--panel);color:var(--ink);font-weight:700}
.side .who{padding:10px 14px;font-size:.875rem;color:var(--muted);border-top:1px solid var(--soft)}
.main{min-width:0;padding-bottom:10px}
.stat{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border:1px solid var(--line);margin-bottom:18px;background:var(--bg)}
.stat>div{padding:12px 16px;border-right:1px solid var(--soft)}
.stat>div:last-child{border-right:0}
.stat b{display:block;font:700 1.6rem/1.2 var(--serif);font-variant-numeric:tabular-nums}
.stat span{font-size:.8125rem;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-weight:600}
.meter{height:14px;background:var(--soft);border:1px solid var(--line);margin-top:8px;position:relative}
.meter b{display:block;height:100%;background:var(--navy2);width:0}
.two{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.bigstat{display:flex;gap:16px;align-items:center;flex-wrap:wrap;padding:14px 16px}
.bigstat .t{font:700 1.2rem var(--serif)}
.rb{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:22px;align-items:start}
.entry{background:var(--panel);border:1px solid var(--soft);padding:12px;margin-bottom:10px}
.entry header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;font-weight:700;font-size:.9375rem}
.result{position:sticky;top:12px;display:grid;gap:10px;min-width:0}
.paper{background:var(--paper);color:var(--paper-ink);border:1px solid var(--paper-line);padding:32px 34px;font:400 .88rem/1.45 Georgia,'Times New Roman',serif;min-height:540px;overflow-wrap:anywhere}
.paper.empty{display:grid;place-items:center;text-align:center;color:#555;background:repeating-linear-gradient(135deg,#fafafa 0 12px,#f1f1f1 12px 24px)}
.paper h4{margin:0;font:700 1.7rem/1.1 Georgia,serif}
.paper .contact{margin-top:4px;color:#444;font-size:.82rem}
.paper .goal{margin-top:6px;font-weight:700}
.paper h5{margin:16px 0 4px;font:700 .72rem/1 Arial,sans-serif;letter-spacing:.12em;text-transform:uppercase;padding-bottom:4px;border-bottom:1.5px solid var(--paper-ink)}
.paper .jobrow{display:flex;justify-content:space-between;gap:10px;font-weight:700;margin-top:8px}
.paper .jobrow span:last-child{font-weight:400;color:#444;white-space:nowrap}
.paper ul{margin:3px 0 0;padding-left:18px}
.tabbtns{display:flex;gap:0;margin-bottom:16px;border-bottom:3px solid var(--navy)}
.tabbtns button{padding:10px 18px;border:1px solid var(--line);border-bottom:0;background:var(--panel);color:var(--link);font:700 .95rem var(--sans);cursor:pointer;margin-right:2px}
.tabbtns button[aria-pressed="true"]{background:var(--navy);color:#fff;border-color:var(--navy)}
.out{border:1px solid var(--line);background:var(--bg);margin-bottom:12px}
.out .oh{background:var(--soft);padding:6px 12px;display:flex;justify-content:space-between;align-items:center;font-weight:700;font-size:.875rem}
.out p,.out ul{padding:12px;white-space:pre-wrap}
.out ul{margin:0;padding-left:30px;white-space:normal}
.rec{background:var(--note);border:1px solid var(--note-edge);border-left:8px solid var(--note-edge);padding:12px 16px;margin-bottom:18px;display:flex;gap:14px;align-items:center;flex-wrap:wrap}
.rec.idle{border-left-color:var(--err)}
.rec b{font-variant-numeric:tabular-nums}
.lesson{padding:16px 18px;display:grid;gap:10px}
.lesson p{max-width:70ch}
.lrow{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid var(--soft)}
.lrow:last-child{border-bottom:0}
.cert{border:8px double #0f2a4a;background:#fff;color:#1c1c1c;padding:26px 30px;text-align:center;font-family:Georgia,'Times New Roman',serif}
.cert .org{font:700 .8rem Arial,sans-serif;letter-spacing:.2em;text-transform:uppercase;color:#0f2a4a}
.cert h3{font:700 1.9rem Georgia,serif;color:#0f2a4a;margin:8px 0}
.cert .who{font:700 1.6rem Georgia,serif;border-bottom:1px solid #777;display:inline-block;padding:0 24px 2px;margin:8px 0}
.cert p{color:#333;margin:4px 0}
.cert .sig{display:flex;justify-content:space-around;gap:20px;margin-top:22px;font-size:.8rem;color:#444}
.cert .sig span{border-top:1px solid #777;padding-top:4px;min-width:160px}
.cert .cid{font:500 .75rem Arial,sans-serif;color:#555;margin-top:14px}
.prog{height:12px;background:var(--soft);border:1px solid var(--line);min-width:120px}
.prog b{display:block;height:100%;background:var(--navy2)}
@media (max-width:980px){
  .shell,.rb,.two{grid-template-columns:1fr}
  .side,.result{position:static}
  .side{display:flex;overflow-x:auto}
  .side h2,.side .who{display:none}
  .side a{border-top:0;border-left:0;border-bottom:4px solid transparent;white-space:nowrap}
  .side a[aria-current="page"]{border-bottom-color:var(--rule);border-left-color:transparent}
}
@media (max-width:600px){
  .g2,.stat{grid-template-columns:1fr}
  .stat>div{border-right:0;border-bottom:1px solid var(--soft)}
  .paper{padding:20px 16px}
}

.stat.five{grid-template-columns:repeat(5,minmax(0,1fr))}
.ltr th{background:var(--panel);font-size:.95rem;color:var(--link);border-bottom:1px solid var(--line);text-transform:none;letter-spacing:0}
.note{border-left:4px solid var(--navy2);background:var(--panel);padding:8px 12px;margin-bottom:8px}
.note small{display:block;color:var(--muted)}
@media (max-width:980px){.stat.five{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:600px){.stat.five{grid-template-columns:1fr}}
.kv th{width:190px;text-transform:none;letter-spacing:0;font-size:.9375rem;background:var(--panel);border-bottom:1px solid var(--soft);color:var(--ink)}
@media (max-width:980px){.kv th{width:130px}}

.pfbar{align-items:center}
.pfbar .btn{min-width:166px;height:38px;white-space:nowrap}
.acc>summary{background:var(--navy);color:#fff;font:700 1rem var(--sans);padding:9px 14px;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:12px;list-style:none}
.acc>summary::-webkit-details-marker{display:none}
.acc>summary::after{content:"\25BE";font-size:1.1rem;margin-left:auto;transition:transform .15s}
.acc[open]>summary::after{transform:rotate(180deg)}
.acc>summary .small{color:#dce5ee;margin-left:12px}
.acc>summary:focus-visible{outline:3px solid var(--focus);outline-offset:-3px}
.aibox{background:var(--panel);border:1px solid var(--line);padding:12px 14px;margin-bottom:14px}
@media (prefers-reduced-motion:reduce){.acc>summary::after{transition:none}}

/* getting started, assessment, scheduling, plan */
.steps5{list-style:none;margin:0;padding:6px 0}
.steps5 li{display:grid;grid-template-columns:44px 1fr auto;gap:14px;align-items:center;padding:14px 16px;border-bottom:1px solid var(--soft)}
.steps5 li:last-child{border-bottom:0}
.steps5 .n{width:36px;height:36px;border-radius:50%;border:2px solid var(--line);display:grid;place-items:center;font:700 1rem var(--serif);color:var(--muted)}
.steps5 li.done .n{background:var(--good);border-color:var(--good);color:#fff}
.steps5 li.cur .n{background:var(--navy);border-color:var(--navy);color:#fff}
.steps5 li.cur{background:var(--panel)}
.steps5 li.lock{opacity:.7}
.steps5 b{display:block}
.steps5 small{color:var(--muted)}
.stepper{list-style:none;margin:0 0 16px;padding:0;display:flex;gap:6px;flex-wrap:wrap}
.stepper li{border:1px solid var(--line);background:var(--panel);padding:6px 12px;font-size:.875rem;font-weight:600;display:flex;gap:8px;align-items:center}
.stepper li span{width:22px;height:22px;border-radius:50%;background:var(--soft);display:grid;place-items:center;font-size:.8rem}
.stepper li.done span{background:var(--good);color:#fff}
.stepper li[aria-current="step"]{background:var(--navy);color:#fff;border-color:var(--navy)}
.stepper li[aria-current="step"] span{background:#fff;color:var(--navy)}
fieldset.q{border:0;padding:0;margin:0 0 4px}
fieldset.q>legend{float:none;width:auto;font:700 .9375rem var(--sans);margin-bottom:6px}
.opts{display:grid;gap:6px}
.opt{display:flex;gap:10px;align-items:center;font-weight:400;padding:6px 10px;border:1px solid var(--soft);background:var(--bg);cursor:pointer;margin:0}
.opt input{width:auto;min-height:0;margin:0}
table.rate th.c,table.rate td.c{text-align:center}
table.rate td.c input{width:auto;min-height:0}
.slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;padding:12px 14px}
.slot{min-height:42px;border:1.5px solid var(--link);background:var(--bg);color:var(--link);font:700 .9375rem var(--sans);cursor:pointer}
.slot[aria-pressed="true"]{background:var(--navy);color:#fff;border-color:var(--navy)}
.slot.mine{border-color:var(--good);color:var(--good)}
.slot[disabled]{border-color:var(--soft);color:var(--muted);background:var(--panel);cursor:not-allowed;text-decoration:line-through}
.plan-steps{list-style:none;margin:0;padding:0}
.plan-steps li{display:grid;grid-template-columns:28px 1fr auto;gap:10px;padding:10px 14px;border-bottom:1px solid var(--soft);align-items:start}
.plan-steps li input{width:20px;min-height:20px;margin-top:3px}
.plan-steps li.done span{text-decoration:line-through;color:var(--muted)}
.chk{display:flex;flex-wrap:wrap;gap:8px}
.chk label{display:flex;gap:8px;align-items:center;font-weight:400;border:1px solid var(--soft);padding:6px 10px;background:var(--bg);margin:0}
.chk input{width:auto;min-height:0}
@media (max-width:600px){.steps5 li{grid-template-columns:36px 1fr}.steps5 li>:last-child{grid-column:2}}
.pfbar{align-items:flex-start}
.pfbar .btn{margin:0;vertical-align:top}

.rrow{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;padding:8px 0;border-bottom:1px solid var(--soft)}
.rrow small{display:block;color:var(--muted)}
.rrow .why{color:var(--ink);font-style:italic}

.pt-row{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line);padding-bottom:8px}
.pt-row h1{border:0;padding:0}
.plus{width:44px;height:44px;flex:none;display:grid;place-items:center;background:var(--btn);color:var(--btn-ink);border:2px solid var(--btn);border-radius:4px;cursor:pointer}
.plus:hover{filter:brightness(1.12)}
.plus[aria-expanded="true"]{background:var(--bg);color:var(--link)}

.mcard{display:grid;grid-template-columns:78px minmax(0,1fr) auto;gap:16px;padding:14px 16px;border:1px solid var(--line);background:var(--bg);margin-bottom:10px;align-items:start}
.mscore{text-align:center;border:2px solid var(--navy2);color:var(--ink);padding:6px 0}
.mscore.hi{border-color:var(--good);color:var(--good)}
.mscore b{display:block;font:700 1.7rem/1.1 var(--serif);font-variant-numeric:tabular-nums}
.mscore span{font-size:.68rem;text-transform:uppercase;letter-spacing:.05em;font-weight:700}
.mcard h3{margin-bottom:2px}
.mmeta{color:var(--muted);font-size:.9375rem}
.mwhy{margin:8px 0 0;padding:0;list-style:none;display:flex;gap:6px;flex-wrap:wrap}
.mwhy li{background:var(--soft);padding:2px 9px;font-size:.8125rem}
.mact{display:grid;gap:6px;min-width:150px}
.mact .link{text-align:center}
.empty{border:2px dashed var(--line);padding:18px;color:var(--muted)}
@media (max-width:700px){.mcard{grid-template-columns:70px minmax(0,1fr)}.mact{grid-column:1/-1;grid-template-columns:1fr 1fr}}

/* job detail window */
.jd{border:2px solid var(--line);padding:20px 22px;max-width:680px;width:calc(100% - 32px);max-height:88vh;overflow:auto}
.jd::backdrop{background:rgba(0,0,0,.45)}
.jd h2{margin:0 0 4px}
.jd h3{font-size:1rem;margin:14px 0 4px}
.jd .jd-txt{white-space:pre-line;line-height:1.5}
.jd .seg{align-items:flex-start}
.jd .seg .btn{margin:0;min-width:120px;min-height:44px;box-sizing:border-box}

.paper .mono{display:none}
.paper .lb{display:none}

/* ---------- the resume page ----------
   A resume is a US Letter page, 8.5 x 11 inches. It is laid out at 816 x 1056 pixels and scaled to fit the screen,
   so what you see is what the PDF and Word file hold. Styles: Classic (black and white), Soft (blush and rose), Bold (navy and gold). */
.paperwrap{position:relative;width:100%;overflow:hidden;background:#fff;border:1px solid var(--paper-line);box-shadow:0 2px 12px rgba(0,0,0,.14)}
.paperwrap .paper{position:absolute;left:0;top:0;width:816px;min-height:1056px;margin:0;border:0;transform-origin:0 0;box-sizing:border-box}
.paper .rs{margin:0}
.paper .skl{margin:2px 0 0;padding-left:16px}
.paper .skl li{margin:0 0 3px}
.paper .edu{margin-bottom:9px}
.paper .edu b{display:block}
.paper .edu span{display:block}

/* Classic: the original single-column look, in Georgia, with underlined section headings */
.paper.classic{background:#fff;color:#111;font:400 14.5px/1.5 Georgia,'Times New Roman',Times,serif;padding:58px 62px}
.paper.classic h4{font:700 31px/1.1 Georgia,'Times New Roman',serif;margin:0;color:#111}
.paper.classic .contact{margin:6px 0 0;display:flex;flex-wrap:wrap;color:#444;font-size:13px}
.paper.classic .contact span+span{border-left:1px solid #999;margin-left:9px;padding-left:9px}
.paper.classic .goal{margin-top:8px;font-weight:700;font-size:15px}
.paper.classic h5{margin:22px 0 6px;padding:0 0 4px;border:0;border-bottom:1.5px solid #111;font:700 11.5px Arial,Helvetica,sans-serif;letter-spacing:1.4px;text-transform:uppercase}
.paper.classic .jobrow{margin-top:10px}
.paper.classic .s-skills .skl{display:flex;flex-wrap:wrap;gap:2px 20px;list-style:none;margin:0;padding:0}
.paper.classic .s-skills .skl li{margin:0}
.paper.classic .edu{margin:0 0 4px}
.paper.classic .edu b,.paper.classic .edu span{display:inline}
.paper.classic .edu span{margin-left:9px;padding-left:9px;border-left:1px solid #999}

/* Soft: a rose header band, a sidebar panel, and a serif that reads well */
.paper.soft{background:#fbefeb;color:#3b2f2c;font:400 14.5px/1.55 Georgia,'Times New Roman',Times,serif;padding:0}
.paper.soft .rh{display:grid;grid-template-columns:auto 1fr;gap:0 24px;align-items:center;padding:46px 56px 26px;background:#f1d3cb}
.paper.soft .mono{display:grid;place-items:center;width:88px;height:88px;border-radius:50%;background:#b8695c;color:#fff;font:700 31px Georgia,'Times New Roman',serif;letter-spacing:1px}
.paper.soft .nm{grid-column:2;grid-row:1}
.paper.soft h4{font:700 36px/1.1 Georgia,'Times New Roman',serif;letter-spacing:3px;text-transform:uppercase;color:#3b2f2c;margin:0}
.paper.soft .goal{margin-top:8px;font:400 16px Georgia,'Times New Roman',serif;letter-spacing:3px;text-transform:uppercase;color:#9c4f43}
.paper.soft .contact{grid-column:1 / span 2;grid-row:2;margin:20px 0 0;display:flex;flex-wrap:wrap;font:400 13.5px Arial,Helvetica,sans-serif;color:#4a3a36}
.paper.soft .contact span+span{border-left:1px solid #b8695c;margin-left:14px;padding-left:14px}
.paper.soft .rbody{display:grid;grid-template-columns:1fr 31%;padding:30px 56px 50px}
.paper.soft .rcol-r{grid-column:1;grid-row:1;padding-right:30px;min-width:0}
.paper.soft .rcol-l{grid-column:2;grid-row:1;background:#fff8f5;padding:22px 20px 14px;align-self:start;min-width:0}
.paper.soft h5{margin:0 0 9px;padding:0 0 6px;border:0;border-bottom:2px solid #b8695c;font:700 13px Arial,Helvetica,sans-serif;letter-spacing:2.5px;text-transform:uppercase;color:#9c4f43}
.paper.soft .rs{margin-bottom:22px}
.paper.soft .jobrow{margin-top:12px;font-weight:700;color:#3b2f2c}
.paper.soft .jobrow span:last-child{color:#7a6a66;font-weight:400}
.paper.soft .skl li::marker{color:#b8695c}

/* Bold: a navy side panel with gold lines */
.paper.bold{background:#fff;color:#10233f;font:400 14px/1.5 Arial,Helvetica,sans-serif;padding:0}
.paper.bold:has(> .rh){display:grid;grid-template-columns:34% 1fr;grid-template-rows:auto auto 1fr;background:linear-gradient(90deg,#10233f 0,#10233f 34%,#fff 34%)}
.paper.bold .rh,.paper.bold .rbody{display:contents}
.paper.bold .mono{grid-column:1;grid-row:1;justify-self:center;align-self:center;margin:44px 0 16px;width:104px;height:104px;border:2px solid #d2aa4a;border-radius:50%;display:grid;place-items:center;font:700 38px Georgia,'Times New Roman',serif;color:#d2aa4a}
.paper.bold .nm{grid-column:2;grid-row:1;padding:44px 40px 12px;text-align:center;align-self:center}
.paper.bold h4{font:700 38px/1.1 Georgia,'Times New Roman',serif;letter-spacing:3px;text-transform:uppercase;color:#10233f;margin:0}
.paper.bold .goal{display:inline-block;margin-top:12px;padding-top:12px;border-top:1px solid #d2aa4a;font:700 13px Arial,Helvetica,sans-serif;letter-spacing:4px;text-transform:uppercase}
.paper.bold .contact{grid-column:1;grid-row:2;margin:0;padding:6px 26px 18px;color:#fff;font-size:13px}
.paper.bold .contact span{display:block;margin-bottom:12px;overflow-wrap:anywhere}
.paper.bold .contact .lb{display:block;font:700 11px Arial,Helvetica,sans-serif;font-style:normal;letter-spacing:2px;text-transform:uppercase;color:#d2aa4a}
.paper.bold .rcol-l{grid-column:1;grid-row:3;padding:6px 26px 40px;color:#fff;min-width:0}
.paper.bold .rcol-r{grid-column:2;grid-row:2 / span 2;padding:6px 40px 40px;min-width:0}
.paper.bold h5{margin:22px 0 8px;padding:0 0 6px;font:700 13px Arial,Helvetica,sans-serif;letter-spacing:2px;text-transform:uppercase}
.paper.bold .rcol-l h5{color:#d2aa4a;border-bottom:1px solid #d2aa4a}
.paper.bold .rcol-r h5{color:#10233f;border-bottom:2px solid #d2aa4a}
.paper.bold .rcol-r .rs:first-child h5{margin-top:6px}
.paper.bold .rcol-l li::marker{color:#d2aa4a}
.paper.bold .jobrow span:last-child{color:#555}

/* the resume preview is 50% wider than the form column, growing to the right; on smaller screens it uses the room there is */
@media (min-width:981px) and (max-width:1620px){.rb.wide{grid-template-columns:minmax(0,1fr) minmax(0,1.5fr)}}
@media (min-width:1621px){.rb.wide{grid-template-columns:calc((100% - 22px) / 2) calc((100% - 22px) * .75)}}

/* tickets */
.tkgrid{grid-template-columns:minmax(0,5fr) minmax(0,6fr);align-items:start}
.tkgrid tbody tr{cursor:pointer}
.tkgrid tbody tr:hover,.tkgrid tbody tr.sel{background:var(--soft)}
.msg{border:1px solid var(--line);border-left:4px solid var(--link);padding:10px 14px;margin:0 0 10px;background:var(--panel)}
.msg.staff{border-left-color:var(--rule)}
.msg p{margin:6px 0 0;white-space:pre-wrap}
