/* assessment.css - sleek Assessment layer for the Supply Chain Lab.
   Rides the existing Host/QR + DynamoDB leaderboard (rl-host.js + RL_SUBMIT).
   RMIT navy #000054 / red #E60028. Self-contained; no dependency on tool CSS. */
:root{--as-navy:#000054;--as-red:#E60028;--as-line:#e6e6ee;}
#as-pill{position:fixed;right:18px;bottom:74px;z-index:99998;display:inline-flex;align-items:center;gap:8px;
  background:var(--as-navy);color:#fff;font:700 13.5px/1 Inter,system-ui,sans-serif;letter-spacing:-.01em;
  padding:11px 16px;border-radius:100px;border:0;cursor:pointer;box-shadow:0 10px 26px -10px rgba(0,0,84,.7);
  transition:transform .2s cubic-bezier(.2,.9,.25,1),box-shadow .2s;}
#as-pill:hover{transform:translateY(-2px);box-shadow:0 16px 32px -12px rgba(0,0,84,.75);}
#as-pill .d{width:7px;height:7px;border-radius:50%;background:#39d98a;box-shadow:0 0 0 4px rgba(57,217,138,.25);}

/* modal */
.as-ov{position:fixed;inset:0;z-index:99999;background:rgba(6,6,30,.5);backdrop-filter:blur(4px);
  display:flex;align-items:center;justify-content:center;padding:20px;animation:as-fade .2s ease;}
@keyframes as-fade{from{opacity:0}to{opacity:1}}
.as-modal{width:min(460px,100%);max-height:88vh;overflow:auto;background:#fff;border-radius:22px;
  box-shadow:0 30px 80px -20px rgba(6,6,40,.6);font-family:Inter,system-ui,sans-serif;animation:as-pop .25s cubic-bezier(.2,.9,.25,1);}
@keyframes as-pop{from{transform:translateY(14px) scale(.98);opacity:0}to{transform:none;opacity:1}}
.as-head{padding:22px 24px 8px;position:relative;}
.as-ey{font:800 11px/1 Inter;letter-spacing:.16em;text-transform:uppercase;color:var(--as-red);}
.as-h{font:800 22px/1.1 Inter;letter-spacing:-.03em;color:var(--as-navy);margin-top:8px;}
.as-sub{font:400 13.5px/1.5 Inter;color:#5b5f77;margin-top:8px;}
.as-x{position:absolute;top:16px;right:16px;width:30px;height:30px;border:0;border-radius:50%;background:#f0f1f6;
  color:#4a4a63;font:700 15px Inter;cursor:pointer;line-height:1;}
.as-x:hover{background:#e3e4ee;}
.as-body{padding:8px 24px 24px;}
.as-ch{display:block;width:100%;text-align:left;background:#fff;border:1.5px solid var(--as-line);border-radius:14px;
  padding:14px 16px;margin-top:10px;cursor:pointer;transition:border-color .2s,transform .2s,box-shadow .2s;}
.as-ch:hover{border-color:var(--as-navy);transform:translateY(-2px);box-shadow:0 12px 24px -14px rgba(0,0,84,.4);}
.as-ch b{display:block;font:800 15px Inter;color:var(--as-navy);letter-spacing:-.02em;}
.as-ch span{display:block;font:400 13px/1.5 Inter;color:#5b5f77;margin-top:4px;}
.as-ch .m{display:inline-block;margin-top:8px;font:700 11px Inter;letter-spacing:.04em;color:var(--as-red);
  background:#fdeef1;padding:3px 9px;border-radius:100px;}
.as-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;cursor:pointer;
  font:700 14px Inter;padding:12px 18px;border-radius:12px;transition:transform .2s,box-shadow .2s,background .2s;}
.as-btn.red{background:var(--as-red);color:#fff;box-shadow:0 10px 24px -12px rgba(230,0,40,.7);}
.as-btn.red:hover{transform:translateY(-2px);}
.as-btn.navy{background:var(--as-navy);color:#fff;}
.as-btn.navy:hover{background:#0a0a6e;}
.as-btn.ghost{background:#fff;color:var(--as-navy);border:1.5px solid var(--as-line);}
.as-btn.ghost:hover{border-color:var(--as-navy);}
.as-btn.full{width:100%;margin-top:10px;}
.as-row{display:flex;gap:10px;margin-top:14px;}
.as-row .as-btn{flex:1;}
.as-qr{display:flex;flex-direction:column;align-items:center;text-align:center;padding:6px 0 2px;}
.as-qr img,.as-qr svg{width:190px;height:190px;border-radius:14px;border:1px solid var(--as-line);background:#fff;padding:8px;}
.as-code{font:800 26px Inter;letter-spacing:.3em;color:var(--as-navy);margin:12px 0 4px;}
.as-note{font:500 12.5px/1.5 Inter;color:#6b7090;margin-top:10px;}
.as-note a{color:var(--as-navy);font-weight:700;}

/* student HUD (bottom banner) */
#as-hud{position:fixed;left:50%;transform:translateX(-50%);bottom:16px;z-index:99997;width:min(560px,calc(100% - 24px));
  background:#fff;border:1px solid var(--as-line);border-radius:18px;box-shadow:0 20px 50px -18px rgba(6,6,40,.5);
  font-family:Inter,system-ui,sans-serif;overflow:hidden;animation:as-up .3s cubic-bezier(.2,.9,.25,1);}
@keyframes as-up{from{transform:translate(-50%,20px);opacity:0}to{transform:translate(-50%,0);opacity:1}}
.as-hud-top{display:flex;align-items:center;gap:12px;padding:13px 16px;background:linear-gradient(150deg,#0a0a6e,var(--as-navy));color:#fff;}
.as-hud-top .ic{font-size:18px;}
.as-hud-top .t{flex:1;min-width:0;}
.as-hud-top .t b{display:block;font:800 14px Inter;letter-spacing:-.01em;}
.as-hud-top .t span{display:block;font:400 12px/1.4 Inter;color:rgba(255,255,255,.8);margin-top:1px;}
.as-hud-bot{display:flex;align-items:center;gap:12px;padding:12px 16px;}
.as-stars{font-size:19px;letter-spacing:2px;color:#e0b528;min-width:66px;}
.as-verdict{flex:1;font:600 13px/1.4 Inter;color:#3a3a52;min-width:0;}
.as-verdict .pass{color:#1f9d55;font-weight:800;}
.as-verdict .fail{color:var(--as-red);font-weight:800;}
.as-check{background:var(--as-red);color:#fff;border:0;border-radius:11px;font:700 13.5px Inter;padding:11px 18px;cursor:pointer;white-space:nowrap;transition:transform .2s;}
.as-check:hover{transform:translateY(-2px);}
.as-min{position:absolute;top:10px;right:12px;background:transparent;border:0;color:rgba(255,255,255,.7);font:700 16px Inter;cursor:pointer;line-height:1;}
@media(max-width:560px){
  #as-pill{right:12px;bottom:70px;padding:10px 14px;font-size:13px;}
  .as-hud-bot{flex-wrap:wrap;}
  .as-verdict{order:3;flex-basis:100%;}
}
