:root{font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;color:#222;background-color:#f4f6fb}*{box-sizing:border-box}body,html,#root{margin:0;padding:0;min-height:100vh;width:100%}a{color:inherit;text-decoration:none}button{font:inherit}.page{padding:24px}.card{background-color:#fff;border-radius:12px;box-shadow:0 10px 30px #0f172a1a;padding:24px}.grid{display:grid;gap:16px}.table{width:100%;border-collapse:collapse;text-align:left}.table th,.table td{padding:8px 12px;border-bottom:1px solid #e2e8f0}.badge{display:inline-flex;align-items:center;background-color:#edf2ff;padding:4px 8px;border-radius:12px;font-size:12px;color:#1e3a8a;font-weight:600}.btn{padding:10px 16px;border-radius:8px;border:none;cursor:pointer;font-weight:600;transition:transform .2s ease,box-shadow .2s ease}.btn-primary{background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#fff}.btn-primary:hover{transform:translateY(-1px);box-shadow:0 10px 20px #2563eb33}.btn-secondary{background-color:#e2e8f0;color:#334155}.input{width:100%;padding:10px 16px;border-radius:8px;border:1px solid #cbd5f5;font-size:16px}.layout-columns{display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}.video-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.video-tile{background:#0f172a;border-radius:12px;overflow:hidden;position:relative;padding-top:177.7777777778%}.video-tile video{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:contain}.mirror-horizontal{transform:scaleX(-1)}.video-tile .meta{position:absolute;left:12px;bottom:12px;background:#0f172ab3;color:#fff;padding:6px 10px;border-radius:8px;display:flex;gap:8px;align-items:center}.tile-actions{position:absolute;top:12px;right:12px;display:flex;gap:8px}.live-only{position:absolute;left:12px;bottom:12px}.status-active{border:2px solid #38bdf8}.status-queue{border:2px dashed #cbd5f5}.status-session-closed{border:2px dashed #f87171}.tag{font-size:11px;padding:2px 6px;border-radius:999px;background:#fff3}.section-title{font-size:18px;font-weight:700;margin-bottom:12px}.upload-preview{width:100%;height:200px;border:2px dashed #cbd5f5;border-radius:12px;display:flex;align-items:center;justify-content:center;color:#64748b;margin-bottom:16px;overflow:hidden}.upload-preview.has-image{position:relative}.upload-preview img{max-width:100%;max-height:100%;object-fit:contain}.upload-delete{position:absolute;top:8px;right:8px;width:32px;height:32px;border:none;border-radius:50%;background:#dc2626e6;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;cursor:pointer}.upload-delete:disabled{opacity:.6;cursor:default}.viewer-frame{width:100%;height:100%}.fullscreen-stage{width:100vw;height:100vh;display:flex;align-items:center;justify-content:center;background:#000;overflow:hidden}.stage-wrapper{width:1920px;height:1080px;position:relative;background:#000;overflow:hidden}.stage-background{position:absolute;top:0;right:0;bottom:0;left:0;object-fit:cover;width:100%;height:100%;z-index:1}.stage-content{position:relative;z-index:2;display:grid;grid-template-columns:1fr 540px 1fr;height:100%}.stage-panel{display:flex;align-items:center;justify-content:center;padding:24px}.stage-panel.box{background:none}.stage-panel img{max-height:100%;max-width:100%;object-fit:contain}.stage-video-container{display:flex;align-items:center;justify-content:center;margin-top:150px;max-height:900px}.stage-video-container video{width:100%;height:100%;max-height:100%;object-fit:contain;border-radius:24px}.waiting-image{max-height:100%}.session-banner{display:inline-flex;align-items:center;gap:12px;padding:12px 20px;border-radius:12px;font-weight:600;background:#22c55e26;color:#15803d}.session-banner.closed{background:#f8717133;color:#991b1b}.session-toggle{min-width:160px;font-weight:700}.session-toggle.open{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff}.session-toggle.closed{background:linear-gradient(135deg,#22c55e,#16a34a);color:#fff}.icon-button{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:999px;border:none;background:#0f172aa6;color:#fff;cursor:pointer;font-size:18px;transition:transform .2s ease}.icon-button:hover{transform:scale(1.05)}.icon-button-vip{color:#facc15;background:#facc1526}.icon-button-vip.active{background:#facc1559}.icon-button-danger{color:#f97316;background:#f9731633}.alert{padding:12px 16px;border-radius:8px;background:#fee2e266;color:#b91c1c;margin-top:12px}.active-card{background:#22c55e33;border:2px solid rgba(22,163,74,.6);transition:background .2s ease,border .2s ease}.live-card{background:#ef44442e;border:2px solid rgba(220,38,38,.7)}.success-message{margin-top:12px;color:#15803d;font-weight:600}.admin-layout{display:flex;flex-direction:column;min-height:100vh}.admin-header{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;background:#0f172a;color:#fff}.admin-brand{display:flex;flex-direction:column;gap:4px;font-size:18px}.admin-body{display:flex;flex:1}.admin-nav{width:240px;background:#111827;color:#fff;display:flex;flex-direction:column;padding:24px 16px;gap:8px}.nav-link{color:inherit;text-decoration:none;padding:8px 12px;border-radius:8px;font-weight:500;transition:background .2s ease}.nav-link:hover{background:#ffffff1a}.nav-link.active{background:#3b82f640}.nav-divider{border-top:1px solid rgba(255,255,255,.1);margin:16px 0 8px}.nav-section{font-size:12px;text-transform:uppercase;letter-spacing:.08em;opacity:.6;margin-bottom:4px}.admin-content{flex:1;padding:24px;background:#f3f4f6;overflow-y:auto;min-height:calc(100vh - 72px)}.metrics-chart{width:100%;height:260px;margin-top:12px}.event-layout{display:flex;gap:24px}.event-sidebar{width:220px;background:#fff;padding:20px;border-radius:16px;box-shadow:0 10px 30px #0f172a1f;display:flex;flex-direction:column;gap:16px}.event-nav{display:flex;flex-direction:column;gap:8px}.event-content{flex:1;display:flex;flex-direction:column;gap:24px}.event-list{list-style:none;padding:0;display:flex;flex-direction:column;gap:8px}.event-list a{color:#2563eb;text-decoration:none;font-weight:500}.user-form{display:flex;flex-direction:column;gap:12px}.event-checkboxes{display:flex;flex-wrap:wrap;gap:12px}.checkbox{display:flex;align-items:center;gap:8px}.admin-user{display:flex;align-items:center;gap:16px}.admin-user button{background:#ffffff1a;color:#fff}.admin-user button:hover{background:#ffffff40}
