*{box-sizing:border-box}body{margin:0;font-family:Arial,sans-serif;background:#eef5ff;color:#123}header{background:#fff;border-bottom:6px solid #f6b800;padding:12px 20px;display:flex;align-items:center;gap:18px}header img{width:180px;max-height:90px;object-fit:contain}h1{margin:0;color:#064ea8;font-size:25px}header p{margin:4px 0;color:#e39e00;font-weight:700}main{max-width:1100px;margin:22px auto;display:grid;grid-template-columns:1.15fr .85fr;gap:22px;padding:0 15px}.wheel-card,.panel{background:#fff;border-radius:22px;padding:20px;box-shadow:0 8px 30px #164b8a22}.wheel-wrap{position:relative;width:min(100%,520px);margin:auto}.wheel-wrap canvas{width:100%;height:auto;display:block}.pointer{position:absolute;z-index:3;left:50%;top:-7px;transform:translateX(-50%);font-size:45px;color:#e22;text-shadow:0 2px 5px #0004}button{border:0;border-radius:12px;padding:13px 18px;background:#0864d6;color:#fff;font-weight:700;cursor:pointer}#spin{display:block;width:100%;font-size:18px;background:#f2ad00;color:#102f65;margin:15px 0}.switch{display:block;text-align:center;font-size:14px}.result{margin-top:14px;padding:15px;border-radius:14px;text-align:center;background:#e9f2ff;color:#064ea8;font-size:20px;font-weight:800}.tabs{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:15px}.tab{background:#e8f1ff;color:#064ea8}.tab.active{background:#064ea8;color:#fff}.tabpage{display:none}.tabpage.active{display:block}.formrow{display:flex;gap:8px;margin-bottom:10px}.formrow input{flex:1}.formrow input,input{padding:12px;border:1px solid #c8d5e8;border-radius:10px;min-width:0}ul{list-style:none;padding:0;margin:10px 0}li{padding:11px;border-bottom:1px solid #e7edf5;display:flex;justify-content:space-between;align-items:center;gap:8px}li .actions{display:flex;gap:5px}li button{padding:7px 9px;font-size:12px}.danger{background:#c62828}label{display:block;margin:15px 0}footer{text-align:center;padding:18px;color:#567}body.dark{background:#101827;color:#eef}body.dark .panel,body.dark .wheel-card{background:#172236}body.dark .result{background:#203858}body.dark header{background:#172236}@media(max-width:800px){main{grid-template-columns:1fr}header{flex-direction:column;text-align:center}.formrow{flex-direction:column}.formrow button{width:100%}}

/* ===== PREMIUM WHEEL ===== */
.wheel-card{
  background:linear-gradient(145deg,#ffffff 0%,#f5f9ff 55%,#eef5ff 100%);
  border:1px solid #dce8f8;
  overflow:hidden;
}
.wheel-wrap{
  max-width:560px;
  aspect-ratio:1;
  display:flex;
  align-items:center;
  justify-content:center;
  filter:drop-shadow(0 18px 28px rgba(0,54,130,.18));
}
#wheel{
  width:100%;
  height:100%;
  border-radius:50%;
  background:#0b2148;
  box-shadow:0 0 0 10px #fff,0 0 0 14px #f2b400,0 12px 35px rgba(0,38,100,.28);
}
.pointer{
  top:-2px;
  font-size:48px;
  color:#e11d2e;
  text-shadow:0 3px 0 #fff,0 5px 12px rgba(0,0,0,.35);
}
#spin{
  position:relative;
  overflow:hidden;
  border:2px solid #ffd75a;
  box-shadow:0 8px 18px rgba(242,173,0,.30);
  transition:transform .15s,box-shadow .15s;
}
#spin:hover{transform:translateY(-2px);box-shadow:0 12px 24px rgba(242,173,0,.38)}
#spin:active{transform:translateY(1px)}
.result{
  background:linear-gradient(135deg,#064ea8,#0b76d1);
  color:#fff;
  border:1px solid #6fb1ff;
  box-shadow:0 8px 22px rgba(6,78,168,.22);
}
.winner-pop{
  position:fixed;inset:0;background:rgba(2,19,45,.72);backdrop-filter:blur(7px);
  display:flex;align-items:center;justify-content:center;z-index:1000;
}
.winner-box{
  width:min(92%,480px);padding:30px;text-align:center;border-radius:26px;
  background:linear-gradient(145deg,#fff,#edf5ff);border:4px solid #f2b400;
  box-shadow:0 30px 80px rgba(0,0,0,.35);animation:pop .45s ease-out;
}
.winner-box .trophy{font-size:64px}
.winner-box h2{color:#064ea8;margin:10px 0;font-size:25px}
.winner-name{font-size:34px;font-weight:900;color:#e0a100;word-break:break-word;margin:12px 0 22px}
.confetti{position:fixed;width:10px;height:18px;z-index:1001;top:-30px;animation:fall 2.6s linear forwards}
@keyframes pop{from{transform:scale(.7);opacity:0}to{transform:scale(1);opacity:1}}
@keyframes fall{to{transform:translate3d(var(--x),110vh,0) rotate(720deg);opacity:.95}}

/* ===== ADMIN SECURITY / LOTS ===== */
.locked-hidden{display:none!important}.login-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px;background:radial-gradient(circle at top,#0b76d1,#06356f 65%,#031d3e)}.login-screen.hidden{display:none}.login-card{width:min(100%,440px);background:#fff;border-radius:26px;padding:32px;box-shadow:0 30px 90px #001c3e88;text-align:center;border-top:7px solid #f2b400}.login-logo{width:220px;max-height:100px;object-fit:contain}.login-card h1{margin:16px 0 6px}.login-subtitle{color:#60708a;margin:0 0 22px}.login-card label{text-align:left;font-weight:700;color:#234}.login-card input{width:100%;margin-top:7px}.login-btn{width:100%;margin-top:8px;background:#064ea8}.login-error{min-height:22px;color:#c62828;font-weight:700;margin:10px 0}.login-card small{color:#60708a}.admin-chip{margin-left:auto;display:flex;align-items:center;gap:8px;background:#eef5ff;color:#064ea8;padding:8px 10px;border-radius:12px;font-weight:700}.admin-chip button{padding:7px 10px;background:#064ea8}.participant-form{display:grid;grid-template-columns:1fr 1fr auto;gap:8px;margin-bottom:10px}.participant-form input{width:100%}.import-help{font-size:12px;color:#60708a;margin:8px 0}.formrow textarea{flex:1;min-height:90px;padding:12px;border:1px solid #c8d5e8;border-radius:10px;resize:vertical}.table-head{display:grid;grid-template-columns:1fr 1fr auto;gap:10px;background:#edf4ff;color:#064ea8;padding:10px;border-radius:10px;font-size:12px;font-weight:800}.participant-info{display:flex;flex-direction:column;gap:4px}.participant-info small,li small{color:#66758c}.admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.admin-grid label{margin:0}.admin-grid input{width:100%;margin-top:6px}.security-note{font-size:12px;color:#68758a;background:#f5f8fc;padding:12px;border-radius:10px;margin-top:16px}.winner-lot{font-size:18px;color:#24527f;margin:8px 0 20px}@media(max-width:800px){.admin-chip{margin-left:0}.participant-form,.table-head,.admin-grid{grid-template-columns:1fr}.table-head{display:none}}
.challenge-card{border:1px solid #d9e2f0;border-radius:16px;padding:16px;margin:12px 0;background:#fff}.challenge-card.selected{box-shadow:0 0 0 3px rgba(242,180,0,.35)}.challenge-card h3{margin:0 0 8px}.challenge-card button{margin-right:6px}.dark .challenge-card{background:#10233e;color:#fff}.admin-grid,.participant-form{display:flex;flex-wrap:wrap;gap:10px}.participant-form input{flex:1 1 180px}@media print{body>*:not(#appShell){display:none!important}header .admin-chip, .tabs, #clearHistory,#printHistory{display:none!important}.tabpage{display:block!important}.wheel-card{display:none!important}}

.challenge-note{margin:14px 0;padding:14px 16px;border-left:5px solid #f2b400;background:rgba(242,180,0,.10);border-radius:10px;line-height:1.55}.challenge-note b{color:#064ea8}
.file-field{display:flex;align-items:center;gap:8px;padding:10px;border:1px solid #d6dfeb;border-radius:10px;background:#fff;font-size:13px}.file-field input{max-width:180px}.podium-section{margin-top:18px}.podium-title{text-align:center;font-weight:900;font-size:22px}.podium-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;align-items:end}.podium-card{background:#fff;border:1px solid #dce5ef;border-radius:18px;padding:14px;text-align:center;box-shadow:0 8px 22px rgba(0,0,0,.08)}.podium-card.rank-1{transform:translateY(-10px);border:3px solid #f2b400}.podium-card.rank-2{border:3px solid #aab4c0}.podium-card.rank-3{border:3px solid #b8794a}.podium-photo{width:110px;height:110px;border-radius:50%;object-fit:cover;border:5px solid #f2b400;background:#eef3f8}.podium-medal{font-size:28px}.podium-name{font-weight:900;margin-top:7px}.podium-prize{font-weight:800;color:#064ea8;margin-top:6px}.podium-meta{font-size:12px;color:#667085;margin-top:5px}@media(max-width:700px){.podium-grid{grid-template-columns:1fr}.podium-card.rank-1{transform:none}.file-field{grid-column:1/-1}}
.excel-import{margin-top:16px;padding:16px;border:1px solid rgba(6,78,168,.18);border-radius:14px;background:rgba(6,78,168,.045)}
.excel-import h3{margin:0 0 8px}.excel-import input[type=file]{display:block;width:100%;margin:10px 0;padding:10px;border:1px dashed #aaa;border-radius:10px;background:#fff}.excel-status{margin-top:10px;font-weight:700}.excel-preview{overflow:auto;margin-top:12px}.excel-preview table{width:100%;border-collapse:collapse;font-size:13px}.excel-preview th,.excel-preview td{padding:7px;border-bottom:1px solid #ddd;text-align:left}.eligible-badge{display:inline-block;padding:3px 8px;border-radius:999px;font-size:11px;font-weight:800}.eligible-yes{background:#dcfce7;color:#166534}.eligible-no{background:#fee2e2;color:#991b1b}
