/* ===========================================================
   NFC Terminál — kiosk
   =========================================================== */
.term{
  position:fixed;inset:0;z-index:100;
  background:radial-gradient(120% 90% at 50% 0%, #2A2A26 0%, #1C1B19 60%, #141310 100%);
  color:#FAF8F3;display:flex;flex-direction:column;align-items:center;
  padding:26px 24px 30px;overflow:auto;
}
.term-exit{
  position:absolute;top:22px;right:26px;display:inline-flex;align-items:center;gap:8px;
  font-size:13.5px;font-weight:600;color:#FAF8F3;opacity:.6;
  border:1px solid rgba(250,248,243,.25);border-radius:9px;padding:8px 14px;transition:.15s;
}
.term-exit:hover{opacity:1;background:rgba(250,248,243,.08)}

.term-head{display:flex;flex-direction:column;align-items:center;gap:6px;margin-top:6px;text-align:center}
.term-title{font-size:23px;font-weight:700;margin-top:2px;white-space:nowrap}
.term-sub{font-size:12.5px;letter-spacing:.12em;text-transform:uppercase;color:rgba(250,248,243,.5);font-weight:600;white-space:nowrap}

.term-clock{font-family:var(--serif);font-size:78px;font-weight:700;line-height:1;margin-top:16px;letter-spacing:-.02em}
.term-clock .ss{font-size:38px;color:rgba(250,248,243,.42)}
.term-date{font-size:15px;color:rgba(250,248,243,.6);margin-top:5px;font-weight:500}

/* reader */
.term-reader{
  margin-top:22px;width:min(560px,92vw);min-height:170px;
  border:1.5px solid rgba(250,248,243,.16);border-radius:26px;
  background:rgba(250,248,243,.035);
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:13px;
  padding:26px;text-align:center;transition:border-color .3s, background .3s;
}
.term-reader.reading{border-color:var(--gold);background:rgba(207,152,42,.08)}
.term-reader.in{border-color:var(--sage);background:rgba(126,144,130,.12)}
.term-reader.out{border-color:var(--orange);background:rgba(224,112,15,.10)}

.reader-ring{
  width:88px;height:88px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  color:rgba(250,248,243,.85);border:2px solid rgba(250,248,243,.18);position:relative;
}
.reader-ring::after{
  content:"";position:absolute;inset:-2px;border-radius:50%;border:2px solid var(--gold);
  opacity:0;
}
.term-reader.reading .reader-ring::after{animation:ping 1.1s ease-out infinite}
@keyframes ping{0%{transform:scale(1);opacity:.7}100%{transform:scale(1.35);opacity:0}}
.reader-txt{font-size:19px;font-weight:600;color:#FAF8F3;max-width:380px}
.reader-hint{font-size:13px;color:rgba(250,248,243,.45)}

/* flash confirmation */
.flash{display:flex;align-items:center;gap:18px;text-align:left;animation:flashin .4s cubic-bezier(.2,.9,.3,1.2)}
@keyframes flashin{from{opacity:0;transform:scale(.92) translateY(8px)}to{opacity:1;transform:none}}
.flash-av{width:72px;height:72px;font-size:27px;box-shadow:0 0 0 4px rgba(250,248,243,.1)}
.flash-icon{width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:rgba(250,248,243,.12);color:#FAF8F3;flex:none}
.term-reader.in .flash-icon{background:var(--sage);color:#fff}
.term-reader.out .flash-icon{background:var(--orange);color:#fff}
.flash-hi{font-family:var(--serif);font-size:27px;font-weight:700}
.flash-line{font-size:16px;color:rgba(250,248,243,.7);margin-top:3px;display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.flash-line b{color:#FAF8F3}
.flash-late{background:var(--orange);color:#fff;font-size:12px;font-weight:700;padding:2px 9px;border-radius:20px}
.flash-h{background:rgba(250,248,243,.14);color:#FAF8F3;font-size:12.5px;font-weight:700;padding:2px 9px;border-radius:20px}

/* card rack */
.term-cards-wrap{margin-top:24px;width:min(940px,96vw)}
.term-cards-label{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:rgba(250,248,243,.4);text-align:center;font-weight:700;margin-bottom:14px}
.term-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:13px}
.nfc-card{
  background:linear-gradient(150deg,#34332E,#26251F);border:1px solid rgba(250,248,243,.12);
  border-radius:14px;padding:14px 15px;display:flex;flex-direction:column;gap:5px;align-items:flex-start;
  color:#FAF8F3;transition:.15s;position:relative;overflow:hidden;
}
.nfc-card:hover:not(:disabled){transform:translateY(-3px);border-color:rgba(250,248,243,.32);box-shadow:0 10px 28px rgba(0,0,0,.4)}
.nfc-card:disabled{opacity:.45;cursor:default}
.nfc-card .nfc-chip{color:var(--gold)}
.nfc-name{font-size:15px;font-weight:700}
.nfc-id{font-size:11px;color:rgba(250,248,243,.45);letter-spacing:.08em}
.nfc-card.active{border-color:var(--sage);background:linear-gradient(150deg,#3A4339,#2A302A)}
.nfc-status{position:absolute;top:11px;right:12px;font-size:9.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#fff;background:var(--sage);padding:2px 7px;border-radius:20px}

@media (max-width:720px){
  .term-cards{grid-template-columns:repeat(2,1fr)}
  .term-clock{font-size:64px}
  .term-clock .ss{font-size:30px}
}
