.expired-screen{
    position:absolute;
    overflow:hidden;
    padding:clamp(18px,3vw,48px)!important;
    background:radial-gradient(circle at 50% 35%,#671b29,#21070d 55%,#080204)!important;
}
.expired-glow{
    position:absolute;
    width:70vw;
    height:70vw;
    border-radius:50%;
    background:rgba(255,44,77,.12);
    filter:blur(55px);
    animation:expired-pulse 2s ease-in-out infinite alternate;
}
@keyframes expired-pulse{to{transform:scale(1.15);opacity:.55}}
.expired-content{
    position:relative;
    z-index:2;
    width:min(94vw,1300px);
    height:100%;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:clamp(6px,1vh,14px);
}
.expired-icon{
    font-size:clamp(48px,7vw,112px);
    line-height:1;
    color:#ff7188;
    text-shadow:0 0 30px rgba(255,80,110,.5);
}
.expired-screen h1{
    max-width:1100px;
    margin:0;
    font-size:clamp(34px,5vw,82px);
    line-height:1.02;
}
.expired-screen p{
    max-width:900px;
    margin:0 0 clamp(4px,1vh,12px);
    color:#ffd6dd;
    font-size:clamp(15px,1.7vw,28px);
    line-height:1.3;
}
.expired-qr-frame{
    border-color:#ff8a9d;
    box-shadow:0 0 42px rgba(255,70,100,.28);
}
.expired-room-label{
    margin-top:clamp(4px,.8vh,12px);
    padding:8px 18px;
    border:1px solid rgba(255,255,255,.3);
    border-radius:999px;
    background:rgba(0,0,0,.25);
    font-size:clamp(16px,1.7vw,28px);
    font-weight:900;
    letter-spacing:.1em;
}
@media(max-height:700px){
    .expired-content{gap:5px}
    .expired-icon{font-size:min(10vh,72px)}
    .expired-screen h1{font-size:min(8vh,56px)}
    .expired-screen p{font-size:min(3.3vh,22px)}
    .expired-qr-frame .qr-box{width:min(28vh,220px)}
}
