.signage-stage *{box-sizing:border-box}
.signage-stage{width:1920px;height:1080px;position:absolute;left:0;top:0;transform-origin:top left;overflow:hidden;background:radial-gradient(ellipse at 15% 20%,#244da6 0,transparent 50%),linear-gradient(125deg,#091d43,#071225 65%);font-family:Inter,system-ui,-apple-system,Segoe UI,Arial,sans-serif;color:#fff}
.signage-stage .el{position:absolute;box-sizing:border-box;overflow:hidden;white-space:pre-wrap;line-height:1.15;border-radius:24px;border:0;color:#fff;font-weight:600}
.signage-stage .el.text{padding:12px 20px;display:flex;align-items:center;font-weight:750;letter-spacing:-1px}
.signage-stage .content{width:100%;height:100%;position:relative;overflow:hidden;border-radius:inherit}
.signage-stage .video,.signage-stage .image{background:#0a1730}
.signage-stage video,.signage-stage img{display:block;width:100%;height:100%;object-fit:contain}
.signage-stage .media-empty,.signage-stage .media-error{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:22px;padding:40px;background:linear-gradient(135deg,#184d94,#0b1c38);text-align:center;color:#b9d2ef;font-size:26px}
.signage-stage .media-empty strong{font-size:54px;color:white}.signage-stage .media-error{background:#431e2b;font-size:25px}
.signage-stage .clock,.signage-stage .date,.signage-stage .weather{background:#f7f9ff;color:#14294a!important;padding:0;box-shadow:0 12px 30px #0002}
.signage-stage .clock-box{height:100%;padding:32px 36px;display:flex;flex-direction:column;justify-content:center}
.signage-stage .eyebrow{font-size:20px;font-weight:700;letter-spacing:3px;text-transform:uppercase;color:#647b98}
.signage-stage .time-value{font-size:inherit;font-weight:800;letter-spacing:-.04em;line-height:1.05;margin:12px 0;font-variant-numeric:tabular-nums;white-space:nowrap}
.signage-stage .date-value{font-size:24px;line-height:1.4;text-transform:capitalize;color:#475f80;font-weight:500;letter-spacing:0}
.signage-stage .weather-box{height:100%;padding:30px 34px;display:flex;flex-direction:column;justify-content:space-between}
.signage-stage .weather-main{display:flex;align-items:center;justify-content:space-between;gap:12px}.signage-stage .temp{font-size:88px;letter-spacing:-5px;font-weight:800;line-height:1}.signage-stage .weather-icon{font-size:68px;line-height:1}
.signage-stage .weather-description{font-size:25px;font-weight:600;margin-top:9px}.signage-stage .weather-meta{font-size:17px;color:#637995;line-height:1.5}
.signage-stage .forecast{display:flex;gap:8px;margin:14px 0}.signage-stage .forecast-day{flex:1;padding:12px 4px;border-radius:12px;background:#e8eef9;text-align:center;font-size:17px;font-weight:600}.signage-stage .forecast-day span{display:block;font-size:24px;margin:8px 0}.signage-stage .forecast-day small{font-size:15px;color:#647b98}
.signage-stage .weather-credit{display:flex;justify-content:space-between;gap:8px;font-size:13px;color:#7b8aa0}.signage-stage .weather-credit a{color:inherit;text-decoration:none}
.signage-stage .qr{background:#fff;color:#14294a!important;padding:24px;font-size:24px;text-align:center}.signage-stage .qr::before{content:none}.signage-stage .qr img{object-fit:contain;height:75%;margin:auto}.signage-stage .qr-label{height:25%;padding:14px;display:flex;align-items:center;justify-content:center}
.signage-stage .date{padding:28px;display:flex;align-items:center;justify-content:center;font-weight:700;text-transform:capitalize}
.signage-stage .selected{outline:4px solid #50c9ff;overflow:visible}.signage-stage .handle{z-index:20;width:24px;height:24px;right:-12px;bottom:-12px;pointer-events:auto}
.signage-stage .content{pointer-events:none}.signage-stage .handle{pointer-events:auto}
