/* Door check-in UI */
.lat-checkin-wrap{
    --bg:#0A0F1A; --card:#0E1525; --border:#1A2540; --text:#E8ECF1; --muted:#C8CDD8; --dim:#8A94A6;
    --blue:#0099FF; --orange:#C8702A; --green:#1DB954; --yellow:#E8B23D; --red:#E55353;
    background:var(--bg); color:var(--text);
    padding:2rem 1rem 3rem; border-radius:14px;
    font-family:Inter,-apple-system,sans-serif;
    max-width:560px; margin:0 auto;
}
.lat-checkin-head{text-align:center; margin:0 0 1.5rem}
.lat-checkin-head .lat-eyebrow{color:var(--blue); font-size:11px; font-weight:800; letter-spacing:0.25em; text-transform:uppercase; margin:0 0 0.4rem}
.lat-checkin-head .lat-h1{font-family:'Space Grotesk',Inter,sans-serif; font-size:1.6rem; font-weight:700; margin:0 0 0.4rem; letter-spacing:-0.02em}
.lat-checkin-head .lat-sub{color:var(--muted); font-size:14px; margin:0}

.lat-checkin-locked{
    background:var(--card); border:1px solid var(--border); border-radius:14px;
    padding:2rem; text-align:center;
}
.lat-checkin-locked p{color:var(--muted); margin:0 0 1rem}

.lat-checkin-card{
    background:var(--card); border:1px solid var(--border); border-radius:14px;
    padding:1.25rem; overflow:hidden;
}
.lat-stats{
    background:#121A2B; border-radius:8px; padding:0.6rem 0.9rem;
    color:var(--muted); font-size:13px; margin:0 0 1rem; text-align:center;
}
.lat-stats strong{color:var(--green); font-size:18px; margin-right:4px}

.lat-scanner{
    width:100%; max-width:480px; margin:0 auto;
    background:#000; border-radius:10px; overflow:hidden;
    aspect-ratio:1/1;
}
.lat-scanner video{width:100% !important; height:100% !important; object-fit:cover}
.lat-scanner-hint{text-align:center; color:var(--dim); font-size:13px; margin:0.8rem 0 0.4rem}
.lat-scanner-controls{text-align:center; margin:0.5rem 0 0}

.lat-manual{margin:1.25rem 0 0; border-top:1px solid var(--border); padding-top:1rem}
.lat-manual summary{color:var(--blue); font-size:13px; cursor:pointer; user-select:none; text-align:center}
.lat-manual-inner{display:flex; gap:6px; margin:0.75rem 0 0}
.lat-manual-inner input{
    flex:1; background:#121A2B; border:1px solid var(--border); color:var(--text);
    padding:0.6rem 0.75rem; border-radius:6px; font-size:13px; font-family:inherit;
}

.lat-result{
    margin:1.25rem 0 0; padding:1.5rem 1rem; border-radius:12px; text-align:center;
    border:2px solid transparent; animation:latFlash 0.3s ease;
}
@keyframes latFlash{from{transform:scale(0.96); opacity:0.6}to{transform:scale(1); opacity:1}}
.lat-result.is-ok    {background:rgba(29,185,84,0.12);  border-color:var(--green);}
.lat-result.is-already{background:rgba(232,178,61,0.12); border-color:var(--yellow);}
.lat-result.is-warn  {background:rgba(232,178,61,0.12); border-color:var(--yellow);}
.lat-result.is-bad   {background:rgba(229,83,83,0.12);  border-color:var(--red);}
.lat-result-big{font-size:2rem; font-weight:800; letter-spacing:-0.01em; margin:0 0 0.5rem}
.lat-result.is-ok      .lat-result-big{color:var(--green)}
.lat-result.is-already .lat-result-big,
.lat-result.is-warn    .lat-result-big{color:var(--yellow)}
.lat-result.is-bad     .lat-result-big{color:var(--red)}
.lat-result-seat{font-size:1.25rem; font-weight:700; color:var(--text); margin:0 0 0.5rem}
.lat-result-meta{font-size:13px; color:var(--muted); margin:0 0 0.25rem}

.lat-btn-primary{
    background:var(--orange); color:#fff; border:none; border-radius:6px;
    padding:0.75rem 1.5rem; font-size:13px; font-weight:700; letter-spacing:0.1em;
    text-transform:uppercase; cursor:pointer; transition:all 0.15s;
}
.lat-btn-primary:hover{background:#D38033}
.lat-btn-outline{
    background:transparent; color:var(--text); border:1.5px solid var(--border);
    border-radius:6px; padding:0.6rem 1.25rem; font-size:12px; font-weight:700;
    letter-spacing:0.1em; text-transform:uppercase; cursor:pointer;
}
.lat-btn-outline:hover{border-color:var(--blue)}
