:root{--bg:#0b1220;--card:#0f172a;--text:#e6eefc;--muted:#9db3d6;--primary:#0a67d8;--primary-2:#004b9a;--success:#27c281;--warning:#ffcc00;--danger:#ff4d4f;--border:rgba(255,255,255,.08);--shadow:0 10px 30px rgba(0,0,0,.35)}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,Liberation Sans,sans-serif;background:radial-gradient(1200px 600px at -10% -10%,rgba(0,123,255,.15),transparent 60%),radial-gradient(900px 500px at 120% -20%,rgba(0,75,154,.18),transparent 60%),var(--bg);color:var(--text)}.page{max-width:980px;margin:40px auto;padding:0 16px}.header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.header-brand{font-weight:800;letter-spacing:.5px;font-size:22px;color:#fff}.brand-accent{color:var(--primary)}.header-link{font-size:14px;color:var(--muted);text-decoration:none;border:1px solid var(--border);padding:8px 12px;border-radius:10px;transition:.2s;background:#ffffff05}.header-link:hover{border-color:#fff3;color:#fff}.card{background:linear-gradient(180deg,#ffffff08,#ffffff03);border:1px solid var(--border);border-radius:18px;padding:20px;box-shadow:var(--shadow)}.centered{max-width:520px;margin:80px auto;text-align:center}.title{margin:0 0 4px}.subtitle{color:var(--muted);margin-bottom:10px}.pill{display:inline-block;background:#ffffff0a;border:1px solid var(--border);padding:8px 12px;border-radius:999px;margin:8px 0}.pill.success{border-color:#27c28166;color:#ccffea;background:#27c28114}.ok-line{color:#b7ffdd;margin-top:6px}.warn-line{color:#ffd599;margin-top:6px}.info-line{color:#bcd8ff;margin-top:8px}.details{margin-top:18px}.details>summary{cursor:pointer;color:#cfe2ff}.section-title{margin:0 0 14px}.admin-card{margin-top:14px}.ui-input,.ui-select{width:100%;padding:12px;border-radius:12px;border:1px solid var(--border);background:#ffffff05;color:var(--text)}.ui-select{-webkit-appearance:none;-moz-appearance:none;appearance:none}.ui-btn{padding:10px 14px;border:1px solid var(--border);background:#ffffff0a;border-radius:12px;color:#fff;cursor:pointer;transition:.2s}.ui-btn:hover{border-color:#ffffff40}.ui-btn.primary{background:linear-gradient(180deg,var(--primary),var(--primary-2));border-color:transparent}.ui-btn.danger{background:linear-gradient(180deg,#ff6b6b,#d84a4a);border-color:transparent}.ui-warning{margin:10px 0;padding:10px 12px;border:1px solid rgba(255,204,0,.45);border-radius:12px;background:#ffcc0014;color:#ffe599}.ui-success{margin:10px 0;padding:10px 12px;border:1px solid rgba(39,194,129,.45);border-radius:12px;background:#27c28114;color:#ccffea}.field{margin:14px 0}.label{margin-bottom:6px;color:#d6e7ff}.inline{display:flex;gap:10px;align-items:center}.muted{color:var(--muted)}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace}.winners-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:10px}.winner-block{border:1px solid var(--border);border-radius:14px;padding:12px;background:#ffffff05}.winner-title{font-weight:700;margin-bottom:6px}.actions{margin-top:16px}.history{margin-top:18px}.label-inline{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.history-list{list-style:none;padding:0;margin:0}.history-list li{padding:6px 0;border-bottom:1px dashed var(--border)}.ceremony-screen{min-height:100vh;padding:24px;display:flex;flex-direction:column;align-items:center}.ceremony-title{font-size:40px;font-weight:900;letter-spacing:1px;margin:12px 0 16px;text-shadow:0 4px 24px rgba(0,75,154,.45)}.ceremony-layout{width:100%;max-width:1180px;display:grid;grid-template-columns:1.2fr .8fr;gap:20px;align-items:center}.winner-popup{border-radius:22px;padding:28px 24px;background:linear-gradient(180deg,#004b9a8c,#007bff59);border:1px solid rgba(255,255,255,.15);box-shadow:0 20px 60px #00000073;max-width:520px}.winner-cat{font-size:22px;font-weight:700}.winner-place{opacity:.9;margin-top:2px}.winner-name{font-size:40px;font-weight:900;margin-top:10px;line-height:1.15}.ceremony-image{max-width:520px;width:100%;object-fit:contain;filter:drop-shadow(0 16px 40px rgba(0,0,0,.6))}.ceremony-finished{margin-top:22px;color:#bcd8ff}
