@import"https://fonts.googleapis.com/css2?family=Montserrat:wght@700;800;900&display=swap";#root{min-height:100vh}.login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);padding:20px;position:relative;overflow:hidden}.login-container:before,.login-container:after{content:"";position:absolute;font-size:80px;opacity:.15;animation:float-slow 6s ease-in-out infinite}.login-container:before{content:"🎄";top:10%;left:10%;animation-delay:0s}.login-container:after{content:"⛄";bottom:15%;right:10%;animation-delay:3s}@keyframes float-slow{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-20px) rotate(5deg)}}.snowflake{position:absolute;top:-10px;color:#fff;font-size:20px;opacity:.8;animation:snowfall linear infinite;pointer-events:none}@keyframes snowfall{to{transform:translateY(100vh) rotate(360deg)}}.login-card{background:#fff;border-radius:20px;padding:40px;max-width:440px;width:100%;box-shadow:0 20px 60px #0000004d;text-align:center}.lottery-icon{font-size:64px;margin-bottom:20px;animation:bounce 2s infinite}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.login-card h1{color:#333;margin-bottom:10px;font-size:28px}.subtitle{color:#666;margin-bottom:30px;font-size:16px}.google-button{width:100%;display:flex;align-items:center;justify-content:center;gap:12px;padding:14px 24px;background:#fff;border:2px solid #ddd;border-radius:12px;font-size:16px;font-weight:600;color:#333;cursor:pointer;transition:all .3s;margin-bottom:20px}.google-button:hover{background:#f8f9fa;border-color:#4285f4;transform:translateY(-2px);box-shadow:0 4px 12px #4285f433}.google-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.divider{display:flex;align-items:center;margin:24px 0;color:#999}.divider:before,.divider:after{content:"";flex:1;height:1px;background:#ddd}.divider span{padding:0 16px;font-size:14px}.email-input{width:100%;padding:14px 16px;border:2px solid #ddd;border-radius:12px;font-size:16px;margin-bottom:16px;transition:all .3s}.email-input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 4px #667eea1a}.email-button{width:100%;padding:14px 24px;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:12px;font-size:16px;font-weight:600;color:#fff;cursor:pointer;transition:all .3s}.email-button:hover{transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.email-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.info-text{color:#666;font-size:14px;margin-top:20px;line-height:1.5}.success-message{color:#333;font-size:16px;line-height:1.6;margin:24px 0}.success-message strong{color:#667eea}.secondary-button{padding:12px 24px;background:#fff;border:2px solid #667eea;border-radius:12px;font-size:14px;font-weight:600;color:#667eea;cursor:pointer;transition:all .3s}.secondary-button:hover{background:#667eea;color:#fff;transform:translateY(-2px)}.ticket-container{position:relative;width:100%;max-width:400px;margin:0 auto;transition:all .3s}.ticket-container.clickable{cursor:pointer}.ticket-container.clickable:hover{transform:translateY(-4px);filter:drop-shadow(0 8px 16px rgba(0,0,0,.3))}.ticket-background{position:relative;width:100%}.ticket-background img{width:100%;height:auto;display:block}.ticket-serial{position:absolute;right:8px;bottom:3%;width:20%;height:20px;display:flex;align-items:center;justify-content:center}.serial-number{font-size:clamp(10px,2.5vw,8px);font-weight:900;color:#2f3c49;font-family:Courier New,monospace;text-shadow:0 2px 4px rgba(0,0,0,.1)}.ticket-numbers-overlay{position:absolute;top:0;left:0;width:100%;height:100%}.ticket-number{position:absolute;top:63%;display:flex;align-items:center;justify-content:center;font-family:Montserrat,Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;font-variant-numeric:tabular-nums;letter-spacing:.5px;font-size:clamp(14px,2.5vw,22px);font-weight:900;color:#fd3;background:linear-gradient(180deg,#fff7cf,#ffd36a 35%,#f2b63a 65%,#c98b16);-webkit-background-clip:text;-webkit-text-stroke:.9px rgba(6,45,62,.85);paint-order:stroke fill;text-shadow:0 1px 0 rgba(0,0,0,.33),0 2px 6px rgba(0,0,0,.45);-webkit-font-smoothing:antialiased}.num-1{right:54%}.num-2{right:43%}.num-3{right:33%}.num-4{right:22%}.num-5{right:11%}.ticket-number.highlighted{background:linear-gradient(135deg,#f093fb,#f5576c);color:#fff;border-color:#f5576c;animation:pulse-glow 1s infinite;transform:translateY(-50%) scale(1.15);z-index:10}@keyframes pulse-glow{0%,to{box-shadow:0 0 #f5576cb3}50%{box-shadow:0 0 0 8px #f5576c00}}.ticket-price-overlay{position:absolute;top:7%;right:7%;width:10%;height:9%;display:flex;align-items:center;justify-content:center}.ticket-price-tag{display:inline-flex;align-items:baseline;gap:8px;padding:2px 4px;border-radius:12px;background:#000000a6;color:#fff7cf;font-weight:800;box-shadow:0 6px 14px #00000059}.price-label{font-size:10px;opacity:.8}.price-value{font-size:16px;letter-spacing:.5px}.ticket-status-container{position:absolute;bottom:-2px;left:-2px;display:flex;flex-direction:column;gap:4px;align-items:flex-start;z-index:20}.ticket-status-badge{padding:4px 8px;border-radius:20px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;box-shadow:0 4px 12px #0003}.badge-pending{background:linear-gradient(135deg,#ffeaa7,#fdcb6e);color:#856404}.badge-confirmed{background:linear-gradient(135deg,#55efc4,#00b894);color:#004d40}.badge-expired{background:linear-gradient(135deg,#fab1a0,#e17055);color:#5a1a0d}.ticket-owner-info{display:flex;align-items:center;gap:6px;padding:4px 8px;background:#fffffff2;border-radius:16px;font-size:12px;color:#2c3e50;font-weight:600;box-shadow:0 2px 8px #00000026}.owner-icon{font-size:8px}.owner-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:120px}@media(max-width:768px){.ticket-container{max-width:100%}.serial-number{font-size:clamp(4px,4vw,8px)}.ticket-number{font-size:clamp(16px,2.5vw,22px)}.ticket-status-container{top:-8px;right:-8px}.ticket-status-badge{padding:6px 12px;font-size:10px}.ticket-owner-info{font-size:10px}}.lottery-selector-a{display:block;min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);padding:40px 20px}.selector-header{text-align:center;color:#fff;margin-bottom:40px}.selector-header h1{font-size:48px;margin-bottom:12px;text-shadow:0 4px 8px rgba(0,0,0,.3)}.selector-header p{font-size:20px;opacity:.95}.lotteries-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:24px;max-width:1200px;margin:0 auto}.lottery-card{background:#fff;border-radius:24px;padding:32px;box-shadow:0 12px 40px #0000004d;transition:all .3s;cursor:pointer;position:relative;overflow:hidden}.lottery-card:before{content:"";position:absolute;top:0;left:0;right:0;height:6px;background:linear-gradient(90deg,#f093fb,#f5576c)}.lottery-card:hover{transform:translateY(-8px);box-shadow:0 20px 60px #0006}.lottery-card-header{display:flex;flex-direction:column;align-items:center;gap:12px;margin-bottom:24px;text-align:center}.lottery-icon{font-size:56px;animation:float 3s ease-in-out infinite}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.lottery-title{font-size:24px;font-weight:800;color:#333;margin:0}.lottery-date{font-size:16px;font-weight:600;color:#666;margin-bottom:8px}.lottery-card-body{margin-bottom:24px}.lottery-time{font-size:24px;font-weight:700;color:#667eea;margin-bottom:20px}.lottery-info{display:flex;gap:20px;flex-wrap:wrap}.info-item{display:flex;align-items:center;gap:8px;padding:12px 20px;background:#f8f9fa;border-radius:12px}.info-icon{font-size:20px}.info-text{font-size:16px;font-weight:600;color:#333}.select-lottery-button{width:100%;padding:16px;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:12px;color:#fff;font-weight:700;font-size:18px;cursor:pointer;transition:all .3s}.select-lottery-button:hover{transform:translateY(-2px);box-shadow:0 8px 24px #667eea66}.no-lottery-available{min-height:70vh;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff;text-align:center}.christmas-icon{font-size:120px;margin-bottom:24px;animation:rotate-slow 10s linear infinite}@keyframes rotate-slow{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.no-lottery-available h2{font-size:36px;margin-bottom:12px}.no-lottery-available p{font-size:18px;opacity:.9}@media(max-width:768px){.selector-header h1{font-size:32px}.selector-header p{font-size:16px}.lotteries-grid{grid-template-columns:1fr}.lottery-card{padding:24px}}.user-home{min-height:100vh;background:radial-gradient(circle at 20% 20%,rgba(255,255,255,.08),transparent 35%),radial-gradient(circle at 80% 0%,rgba(255,255,255,.08),transparent 30%),linear-gradient(135deg,#0f172a,#1e293b);padding:20px}.user-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;flex-wrap:wrap;gap:16px}.user-info h2{color:#fff;margin:0;font-size:24px}.eyebrow{color:#94a3b8;font-size:12px;letter-spacing:.6px;text-transform:uppercase;margin:0 0 4px}.subline{margin:4px 0 0;color:#cbd5e1;font-weight:600}.header-actions{display:flex;gap:12px}.back-button,.logout-button{padding:10px 20px;background:#ffffff1f;border:2px solid rgba(255,255,255,.3);border-radius:10px;color:#fff;font-weight:700;cursor:pointer;transition:all .3s}.back-button:hover,.logout-button:hover{background:#fff;color:#1e293b}.hero-grid{display:grid;grid-template-columns:2fr 1fr;gap:16px;margin-bottom:24px}.hero-card{background:linear-gradient(135deg,#312e81,#4338ca,#2563eb);color:#fff;border-radius:20px;padding:20px;position:relative;overflow:hidden;box-shadow:0 24px 60px #00000040}.hero-card:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 30% 20%,rgba(255,255,255,.16),transparent 40%),radial-gradient(circle at 80% 0%,rgba(255,255,255,.12),transparent 35%);pointer-events:none}.hero-top{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.pill{display:inline-flex;padding:6px 12px;border-radius:999px;background:#ffffff26;color:#e0e7ff;font-weight:700;font-size:12px}.hero-title{margin:8px 0 4px;font-size:28px}.hero-date{margin:0;color:#cbd5ff;font-weight:600}.time-block{background:#ffffff1a;padding:12px;border-radius:16px;min-width:220px;text-align:center;border:1px solid rgba(255,255,255,.2)}.time-label{display:block;color:#cbd5e1;font-weight:700;margin-bottom:6px}.countdown-timer{font-size:36px;font-weight:900;letter-spacing:1px}.warning-message{margin-top:10px;padding:8px 12px;background:#fff79933;border:1px solid rgba(255,247,153,.4);border-radius:12px;color:#fff9c2;font-weight:700}.progress-wrap{margin-top:18px;background:#0003;padding:12px;border-radius:14px;border:1px solid rgba(255,255,255,.1)}.progress-head{display:flex;justify-content:space-between;color:#e2e8f0;font-weight:700}.progress-track{width:100%;background:#ffffff1f;border-radius:999px;height:10px;margin:8px 0;overflow:hidden}.progress-bar{height:100%;background:linear-gradient(90deg,#22d3ee,#a855f7,#f97316);border-radius:999px;transition:width .4s ease}.progress-meta{display:flex;gap:12px;flex-wrap:wrap;color:#cbd5e1;font-weight:700}.value-rows{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px;margin-bottom:8px;margin-top:6px}.value-row{display:flex;justify-content:space-between;align-items:center;background:#ffffff14;border-radius:10px;padding:8px 10px;color:#e2e8f0;font-weight:700}.progress-value-loader{display:grid;gap:6px;margin:8px 0}.skeleton-line{height:12px}.hero-actions{margin-top:16px;display:flex;gap:12px;flex-wrap:wrap}.primary-cta{padding:12px 18px;background:linear-gradient(135deg,#f97316,#f59e0b);border:none;border-radius:12px;color:#0f172a;font-weight:800;cursor:pointer;box-shadow:0 12px 32px #f59e0b59}.ghost-cta{padding:12px 18px;background:transparent;border:2px solid rgba(255,255,255,.4);border-radius:12px;color:#fff;font-weight:800;cursor:pointer;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.stats-card{background:#ffffff0f;border:1px solid rgba(255,255,255,.1);border-radius:20px;padding:16px;box-shadow:0 18px 44px #00000040}.metrics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px}.metric-card{background:#ffffff14;border-radius:12px;padding:12px;color:#e2e8f0;border:1px solid rgba(255,255,255,.1)}.metric-label{display:block;font-size:12px;color:#cbd5e1;margin-bottom:4px}.metric-value{font-size:22px;font-weight:800}.tickets-section{background:#fff;border-radius:24px;padding:32px;box-shadow:0 20px 60px #0000004d}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;flex-wrap:wrap;gap:16px}.section-header h2{color:#333;margin:0;font-size:28px}.buy-button{padding:12px 24px;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:12px;color:#fff;font-weight:600;cursor:pointer;transition:all .3s;font-size:16px}.buy-button:hover{transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.empty-tickets{text-align:center;padding:60px 20px}.empty-tickets p{color:#666;font-size:18px;margin-bottom:24px}.buy-button-large{padding:16px 32px;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:12px;color:#fff;font-weight:600;font-size:18px;cursor:pointer;transition:all .3s}.buy-button-large:hover{transform:translateY(-2px);box-shadow:0 8px 24px #667eea66}.skeleton{background:linear-gradient(90deg,#f3f4f6,#e5e7eb,#f3f4f6);background-size:200% 100%;animation:shimmer 1.2s infinite;border-radius:16px}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.stat-skeleton-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px}.stat-skeleton{height:70px}.ticket-skeleton{height:200px}.no-lottery{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff;text-align:center}.no-lottery .empty-icon{font-size:120px;margin-bottom:24px}.no-lottery h2{font-size:32px;margin-bottom:12px}.no-lottery p{font-size:18px;opacity:.9}.lottery-live-banner{position:fixed;bottom:20px;left:50%;transform:translate(-50%);z-index:1000}.join-lottery-button{padding:20px 40px;background:linear-gradient(135deg,#f093fb,#f5576c);border:none;border-radius:50px;color:#fff;font-weight:700;font-size:20px;cursor:pointer;box-shadow:0 8px 32px #f5576c80;animation:pulse-button 2s infinite}@keyframes pulse-button{0%,to{transform:scale(1);box-shadow:0 8px 32px #f5576c80}50%{transform:scale(1.05);box-shadow:0 12px 40px #f5576cb3}}.join-lottery-button:hover{transform:scale(1.1)}@media(max-width:768px){.hero-grid{grid-template-columns:1fr}.countdown-timer{font-size:32px}.tickets-grid{grid-template-columns:1fr}}.buy-ticket-page{min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);padding:20px}.buy-ticket-container{max-width:1200px;margin:0 auto}.buy-ticket-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px;background:#fff;padding:20px 30px;border-radius:16px;box-shadow:0 8px 24px #0003;flex-wrap:wrap;gap:16px}.buy-ticket-header h1{color:#333;margin:0;font-size:28px}.back-button{padding:10px 20px;background:#f8f9fa;border:2px solid #ddd;border-radius:8px;color:#333;font-weight:600;cursor:pointer;transition:all .3s;font-size:16px}.back-button:hover{background:#e9ecef;border-color:#667eea}.price-tag{padding:10px 20px;background:linear-gradient(135deg,#f093fb,#f5576c);border-radius:8px;color:#fff;font-weight:700;font-size:18px}.selected-ticket-section{background:#fff;border-radius:16px;padding:30px;margin-bottom:30px;box-shadow:0 8px 24px #0003}.selected-ticket-section h2{color:#333;margin-bottom:20px;font-size:24px}.request-button{width:100%;padding:16px;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:12px;color:#fff;font-weight:700;font-size:18px;cursor:pointer;margin-top:20px;transition:all .3s}.request-button:hover{transform:translateY(-2px);box-shadow:0 8px 24px #667eea66}.request-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.available-tickets-section{background:#fff;border-radius:16px;padding:30px;box-shadow:0 8px 24px #0003}.available-tickets-section h2{color:#333;margin-bottom:24px;font-size:24px;display:flex;align-items:center;gap:12px}.ticket-count{font-size:16px;color:#666;font-weight:500}.no-tickets{text-align:center;padding:60px 20px}.no-tickets .empty-icon{font-size:80px;margin-bottom:20px}.no-tickets p{color:#666;font-size:18px}.sales-closed-banner{background:#fff3cd;border:2px solid #ffc107;color:#856404;padding:12px 16px;border-radius:12px;font-weight:700;margin-bottom:16px}.confirmation-card{background:#fff;border-radius:24px;padding:40px;max-width:600px;margin:50px auto;box-shadow:0 20px 60px #0000004d;text-align:center}.success-icon{font-size:80px;margin-bottom:20px;animation:scaleIn .5s ease-out}@keyframes scaleIn{0%{transform:scale(0)}50%{transform:scale(1.2)}to{transform:scale(1)}}.confirmation-card h1{color:#333;margin-bottom:20px;font-size:32px}.confirmation-message{color:#666;font-size:16px;line-height:1.6;margin-bottom:30px}.instructions{text-align:left;margin-bottom:30px}.instruction-item{display:flex;align-items:flex-start;gap:16px;padding:16px;background:#f8f9fa;border-radius:12px;margin-bottom:12px}.step-number{min-width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-radius:50%;font-weight:700;font-size:14px}.instruction-item p{margin:0;color:#333;font-size:16px;line-height:1.5;padding-top:4px}.warning-box{background:#fff3cd;border:2px solid #ffc107;border-radius:12px;padding:16px;color:#856404;font-weight:600;margin-bottom:24px}.close-button{padding:16px 32px;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:12px;color:#fff;font-weight:700;font-size:18px;cursor:pointer;transition:all .3s}.close-button:hover{transform:translateY(-2px);box-shadow:0 8px 24px #667eea66}.modal-overlay{position:fixed;inset:0;background:#0006;display:flex;align-items:center;justify-content:center;padding:20px;z-index:50;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.modal-card{background:#fff;border-radius:20px;padding:24px;width:100%;max-width:560px;box-shadow:0 20px 60px #00000040;animation:scaleIn .25s ease-out}.modal-card.success{max-width:620px}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.modal-header h3{margin:0;color:#333;font-size:22px}.modal-close{background:transparent;border:none;font-size:18px;cursor:pointer;color:#666}.modal-subtitle{color:#555;margin-bottom:16px;font-weight:600}.modal-ticket-preview{margin:12px 0 16px}.modal-actions{display:flex;justify-content:flex-end;gap:12px;flex-wrap:wrap;margin-top:12px}.primary-button,.secondary-button{padding:12px 16px;border-radius:12px;font-weight:700;font-size:15px;border:none;cursor:pointer;transition:all .2s}.primary-button{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.primary-button:hover{transform:translateY(-1px);box-shadow:0 8px 24px #667eea59}.secondary-button{background:#f8f9fa;color:#333;border:2px solid #e9ecef}.secondary-button:hover{border-color:#667eea;color:#667eea}@media(max-width:768px){.buy-ticket-header{flex-direction:column;align-items:stretch}.tickets-grid{grid-template-columns:1fr}.confirmation-card{padding:30px 20px}.modal-card{padding:18px}}.admin-panel{min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);padding:20px}.admin-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;background:#fff;padding:24px 32px;border-radius:16px;box-shadow:0 8px 24px #0003}.header-content h1{color:#333;margin:0 0 4px;font-size:28px}.admin-name{color:#666;margin:0;font-size:14px}.header-actions{display:flex;align-items:center;gap:12px}.lottery-selector{min-height:auto;display:flex;align-items:center;gap:8px;padding:8px 12px;background:#667eea0d;border-radius:8px}.lottery-selector label{color:#666;font-size:14px;font-weight:600}.lottery-dropdown{padding:8px 12px;border:2px solid #667eea;border-radius:6px;background:#fff;color:#333;font-weight:600;font-size:14px;cursor:pointer;transition:all .3s;min-width:200px}.lottery-dropdown:hover{border-color:#764ba2}.lottery-dropdown:focus{outline:none;box-shadow:0 0 0 3px #667eea33}.create-new-button{padding:10px 20px;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;font-weight:600;font-size:14px;cursor:pointer;transition:all .3s;white-space:nowrap}.create-new-button:hover{transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.logout-button{padding:12px 24px;background:#667eea1a;border:2px solid #667eea;border-radius:8px;color:#667eea;font-weight:600;cursor:pointer;transition:all .3s}.logout-button:hover{background:#667eea;color:#fff}.admin-tabs{display:flex;gap:8px;background:#fff;padding:12px;border-radius:16px;margin-bottom:24px;box-shadow:0 8px 24px #0003;overflow-x:auto}.tab{flex:1;min-width:fit-content;padding:12px 20px;background:transparent;border:none;border-radius:10px;color:#666;font-weight:600;cursor:pointer;transition:all .3s;font-size:14px;position:relative;white-space:nowrap}.tab:hover{background:#667eea1a;color:#667eea}.tab.active{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.tab-badge{display:inline-block;background:#f5576c;color:#fff;border-radius:12px;padding:2px 8px;margin-left:8px;font-size:12px;font-weight:700}.tab.active .tab-badge{background:#fff;color:#667eea}.admin-content{background:#fff;border-radius:16px;padding:32px;box-shadow:0 8px 24px #0003;min-height:400px}.admin-content h2{color:#333;margin-bottom:24px;font-size:24px}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-bottom:32px}.stat-card{background:linear-gradient(135deg,#f5f7fa,#c3cfe2);border-radius:16px;padding:24px;text-align:center;transition:all .3s;border:2px solid transparent}.stat-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px #0000001a}.stat-card.success{background:linear-gradient(135deg,#55efc4,#00b894)}.stat-card.warning{background:linear-gradient(135deg,#ffeaa7,#fdcb6e)}.stat-card.info{background:linear-gradient(135deg,#74b9ff,#0984e3)}.stat-card.revenue{background:linear-gradient(135deg,#a29bfe,#6c5ce7)}.stat-icon{font-size:48px;margin-bottom:12px}.stat-value{font-size:32px;font-weight:900;color:#333;margin-bottom:8px}.stat-card.success .stat-value,.stat-card.warning .stat-value,.stat-card.info .stat-value,.stat-card.revenue .stat-value{color:#fff}.stat-label{font-size:14px;color:#666;font-weight:600}.stat-card.success .stat-label,.stat-card.warning .stat-label,.stat-card.info .stat-label,.stat-card.revenue .stat-label{color:#ffffffe6}.quick-info{background:#f8f9fa;border-radius:12px;padding:24px}.quick-info h3{color:#333;margin-bottom:16px;font-size:18px}.info-grid{display:grid;gap:12px}.info-item{display:flex;justify-content:space-between;align-items:center;padding:12px;background:#fff;border-radius:8px}.info-label{color:#666;font-weight:600;font-size:14px}.info-value{color:#333;font-weight:700;font-size:14px}.requests-list{display:flex;flex-direction:column;gap:16px}.requests-toolbar{display:flex;flex-direction:column;gap:12px;margin-bottom:20px}.search-input input{width:100%;padding:12px 14px;border:2px solid #e9ecef;border-radius:10px;font-size:14px;transition:all .2s}.search-input input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 4px #667eea26}.request-filters{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between}.status-filters{display:flex;flex-wrap:wrap;gap:8px}.status-filter{padding:8px 14px;background:#f8f9fa;border:2px solid #e9ecef;border-radius:10px;color:#555;font-weight:600;cursor:pointer;transition:all .2s;font-size:13px}.status-filter:hover{border-color:#667eea;color:#667eea}.status-filter.active{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-color:transparent;box-shadow:0 6px 18px #667eea4d}.user-filter{display:flex;align-items:center;gap:8px;background:#f8f9fa;padding:8px 12px;border-radius:10px;border:2px solid #e9ecef}.user-filter label{font-weight:600;color:#555;font-size:13px}.user-filter select{padding:8px 12px;border:1px solid #ddd;border-radius:8px;background:#fff;font-weight:600;color:#333;cursor:pointer}.request-card{border:2px solid #e9ecef;border-radius:12px;padding:20px;transition:all .3s}.request-card:hover{border-color:#667eea;box-shadow:0 4px 12px #667eea1a}.request-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;flex-wrap:wrap;gap:12px}.user-info{display:flex;align-items:center;gap:12px}.user-avatar{font-size:32px}.user-name{font-weight:700;color:#333;font-size:16px}.user-email{color:#666;font-size:14px}.ticket-badge{padding:8px 16px;background:linear-gradient(135deg,#f5f7fa,#c3cfe2);border:2px solid #d4af37;border-radius:8px;font-weight:700;color:#333;font-size:14px}.request-badges{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.status-chip{display:inline-block;padding:6px 12px;border-radius:12px;font-weight:700;font-size:12px}.status-chip.pending{background:#fff3e0;color:#e17055;border:1px solid #ffc78f}.status-chip.approved{background:#e8f5e9;color:#00b894;border:1px solid #55efc4}.status-chip.rejected{background:#ffebee;color:#d32f2f;border:1px solid #ffcdd2}.request-meta{display:flex;gap:24px;margin-bottom:16px;flex-wrap:wrap}.request-time,.request-amount{color:#666;font-size:14px}.request-actions{display:flex;gap:12px}.request-actions.inactive{justify-content:flex-end}.decision-note{padding:10px 14px;background:#f8f9fa;border:1px solid #e9ecef;border-radius:10px;font-weight:700;color:#555}.approve-button,.reject-button{flex:1;padding:12px 24px;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .3s;font-size:14px}.approve-button{background:#55efc4;color:#00b894}.approve-button:hover{background:#00b894;color:#fff;transform:translateY(-2px)}.reject-button{background:#fab1a0;color:#e17055}.reject-button:hover{background:#e17055;color:#fff;transform:translateY(-2px)}.users-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}.user-card{display:flex;align-items:center;gap:16px;padding:20px;background:#f8f9fa;border-radius:12px;border:2px solid transparent;transition:all .3s}.user-card:hover{border-color:#667eea;box-shadow:0 4px 12px #667eea1a}.user-avatar-large{font-size:48px}.user-details{flex:1}.user-name-large{font-weight:700;color:#333;font-size:16px;margin-bottom:4px}.user-email-small{color:#666;font-size:13px;margin-bottom:8px}.admin-badge{display:inline-block;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:4px 12px;border-radius:12px;font-size:11px;font-weight:700}.user-stats{display:flex;flex-direction:column;align-items:center;gap:4px}.user-stat{font-size:14px;color:#666;font-weight:600}.toggle-admin-button{padding:8px 16px;border:none;border-radius:8px;font-weight:600;font-size:12px;cursor:pointer;transition:all .3s;white-space:nowrap}.toggle-admin-button.add{background:#ffeaa7;color:#fdcb6e}.toggle-admin-button.add:hover{background:#fdcb6e;color:#fff}.toggle-admin-button.remove{background:#fab1a0;color:#e17055}.toggle-admin-button.remove:hover{background:#e17055;color:#fff}.tickets-filter{display:flex;gap:12px;margin-bottom:24px;flex-wrap:wrap}.filter-btn{padding:10px 20px;background:#f8f9fa;border:2px solid #ddd;border-radius:8px;color:#666;font-weight:600;cursor:pointer;transition:all .3s;font-size:14px}.filter-btn:hover{border-color:#667eea;color:#667eea}.filter-btn.all{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-color:transparent}.tickets-table{overflow-x:auto}.tickets-table table{width:100%;border-collapse:collapse}.tickets-table th{text-align:left;padding:12px;background:#f8f9fa;color:#333;font-weight:700;font-size:14px;border-bottom:2px solid #ddd}.tickets-table td{padding:12px;border-bottom:1px solid #e9ecef;font-size:14px}.ticket-no{font-weight:700;color:#667eea}.ticket-numbers{display:flex;gap:6px;flex-wrap:wrap}.number-pill{display:inline-block;background:#f8f9fa;border:1px solid #ddd;border-radius:12px;padding:4px 10px;font-size:12px;font-weight:700;color:#333}.status-badge{display:inline-block;padding:6px 12px;border-radius:12px;font-size:12px;font-weight:700}.status-badge.available{background:#e3f2fd;color:#1976d2}.status-badge.requested{background:#fff3e0;color:#f57c00}.status-badge.confirmed{background:#e8f5e9;color:#388e3c}.status-badge.expired{background:#ffebee;color:#d32f2f}.table-note{text-align:center;color:#666;font-size:14px;margin-top:16px;font-style:italic}.settings-card{background:#f8f9fa;border-radius:12px;padding:24px;margin-bottom:24px}.settings-card.controls{background:#fff;box-shadow:0 8px 24px #0000001f}.setting-actions{display:flex;gap:12px;flex-wrap:wrap}.chip-button{padding:10px 16px;border-radius:12px;border:2px solid #e9ecef;background:#f8f9fa;color:#333;font-weight:700;cursor:pointer;transition:all .2s}.chip-button.active{background:linear-gradient(135deg,#55efc4,#00b894);color:#fff;border-color:transparent}.chip-button.danger{background:linear-gradient(135deg,#ff7675,#d63031);color:#fff;border-color:transparent}.chip-button:hover{transform:translateY(-1px);box-shadow:0 8px 20px #0000001a}.settings-card-header{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:12px}.settings-card-header h3{margin:0;color:#333}.settings-description{margin:4px 0 0;color:#666;font-size:13px}.rules-textarea{width:100%;min-height:140px;padding:12px;border-radius:12px;border:2px solid #ddd;font-size:14px;resize:vertical;transition:all .2s}.rules-textarea:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 4px #667eea1a}.save-button{padding:10px 18px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:10px;font-weight:700;cursor:pointer;transition:all .2s}.save-button:hover{transform:translateY(-1px);box-shadow:0 8px 24px #667eea40}.setting-item{display:flex;justify-content:space-between;align-items:center;padding:16px;background:#fff;border-radius:8px;margin-bottom:12px}.setting-label{color:#666;font-weight:600;font-size:14px}.setting-value{color:#333;font-weight:700;font-size:14px}.danger-zone{background:#ffebee;border:2px solid #ef5350;border-radius:12px;padding:24px}.danger-zone h3{color:#d32f2f;margin-bottom:12px;font-size:18px}.danger-zone p{color:#666;margin-bottom:16px;font-size:14px}.danger-button{padding:12px 24px;background:#ef5350;border:none;border-radius:8px;color:#fff;font-weight:700;cursor:pointer;transition:all .3s}.danger-button:hover:not(:disabled){background:#d32f2f;transform:translateY(-2px)}.danger-button:disabled{opacity:.5;cursor:not-allowed}.no-data{text-align:center;padding:60px 20px}.empty-icon{font-size:80px;margin-bottom:20px;opacity:.5}.no-data p{color:#666;font-size:18px}.no-access{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff;text-align:center}.no-access h1{font-size:36px;margin-bottom:16px}.no-access p{font-size:18px;margin-bottom:24px}.create-lottery-form{max-width:600px;margin:50px auto;background:#fff;border-radius:24px;padding:40px;box-shadow:0 20px 60px #0000004d}.create-lottery-form h1{color:#333;margin-bottom:30px;text-align:center;font-size:28px}.form-group{margin-bottom:24px}.form-group label{display:block;color:#333;font-weight:600;margin-bottom:8px;font-size:14px}.form-group input{width:100%;padding:14px 16px;border:2px solid #ddd;border-radius:12px;font-size:16px;transition:all .3s}.form-group input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 4px #667eea1a}.form-hint{display:block;color:#666;font-size:12px;margin-top:6px;font-style:italic}.create-button{width:100%;padding:16px;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:12px;color:#fff;font-weight:700;font-size:18px;cursor:pointer;transition:all .3s}.create-button:hover{transform:translateY(-2px);box-shadow:0 8px 24px #667eea66}@media(max-width:768px){.admin-header{flex-direction:column;gap:16px}.admin-tabs{flex-wrap:nowrap;overflow-x:auto}.stats-grid,.users-list{grid-template-columns:1fr}.user-card{flex-direction:column;text-align:center}.request-actions,.tickets-filter{flex-direction:column}.request-filters{flex-direction:column;align-items:flex-start}.status-filters{width:100%}.user-filter{width:100%;justify-content:space-between}.user-filter select{flex:1}}.lottery-session{min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);padding:20px;position:relative}.no-lottery,.start-lottery,.waiting{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff;text-align:center}.lottery-icon{font-size:120px;margin-bottom:24px;animation:float 3s ease-in-out infinite}.viewers-badge,.viewers-badge-live{position:absolute;top:20px;right:20px;background:#fffffff2;padding:12px 24px;border-radius:50px;font-size:18px;font-weight:700;color:#667eea;box-shadow:0 4px 16px #0003;z-index:100;animation:pulse-badge 2s infinite}@keyframes pulse-badge{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.viewers-badge-live{background:linear-gradient(135deg,#f093fb,#f5576c);color:#fff}.countdown-display{font-size:56px;font-weight:900;color:#fff;font-family:Courier New,monospace;margin:20px 0;text-shadow:0 4px 8px rgba(0,0,0,.3)}.time-remaining p{font-size:20px;margin-bottom:10px}.waiting-message{margin-top:20px;opacity:.9}.time-info{margin:20px 0;padding:16px;background:#ffffff1a;border-radius:12px}.time-info p{font-size:18px;margin:0}.admin-note{margin:20px 0;font-size:16px;opacity:.9}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}.start-lottery h1,.waiting h1,.no-lottery h1{font-size:48px;margin-bottom:16px}.start-lottery p,.waiting p{font-size:20px;margin-bottom:32px;opacity:.9}.start-button{padding:20px 48px;background:#fff;border:none;border-radius:50px;color:#667eea;font-weight:800;font-size:24px;cursor:pointer;transition:all .3s;box-shadow:0 8px 24px #0000004d}.start-button:hover{transform:translateY(-4px);box-shadow:0 12px 32px #0006}.drawing-grid{display:grid;grid-template-columns:2fr 1fr;gap:20px;margin-bottom:24px}.drawing-card{background:#fff;border-radius:24px;padding:32px;box-shadow:0 20px 60px #00000040}.drawing-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:24px}.session-subtitle{margin:0;color:#667eea;font-weight:800;letter-spacing:.5px}.session-title{margin:6px 0 0;color:#222;font-size:32px}.session-meta{display:flex;flex-direction:column;gap:6px;align-items:flex-end;color:#555;font-weight:700}.roller-area{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.roller{position:relative;width:220px;height:220px;border-radius:20px;background:radial-gradient(circle at 30% 30%,#f5f7fa,#c3cfe2);box-shadow:0 20px 60px #00000040;display:flex;align-items:center;justify-content:center;overflow:hidden}.roller.spinning .roller-inner{animation:spin .8s ease-in-out infinite}@keyframes spin{0%{transform:translateY(0)}50%{transform:translateY(-12px)}to{transform:translateY(0)}}.roller-inner{position:relative;width:160px;height:160px;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;align-items:center;justify-content:center;color:#fff;font-size:64px;font-weight:900;box-shadow:0 16px 40px #764ba24d}.roller-glow{position:absolute;inset:-20px;background:radial-gradient(circle,rgba(255,255,255,.15),transparent 60%);filter:blur(12px);pointer-events:none}.roller-shadow{position:absolute;bottom:12px;width:160px;height:30px;background:#0000001a;filter:blur(12px);border-radius:50%;z-index:-1}.roller-status{flex:1;display:flex;justify-content:flex-end;align-items:center}.status-pill{padding:12px 16px;border-radius:14px;font-weight:800;color:#fff;box-shadow:0 10px 24px #00000026}.status-pill.info{background:linear-gradient(135deg,#74b9ff,#0984e3)}.status-pill.danger{background:linear-gradient(135deg,#ff7675,#d63031)}.status-pill.success{background:linear-gradient(135deg,#55efc4,#00b894)}.slots-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:12px;margin:24px 0}.number-slot{background:#f8f9fa;border:2px dashed #dfe4ea;border-radius:14px;padding:14px;display:flex;align-items:center;justify-content:space-between;transition:all .2s}.number-slot.filled{border-style:solid;border-color:#667eea;background:#fff;box-shadow:0 8px 20px #667eea33}.number-slot.active{animation:pulse-slot 1s ease-in-out infinite}@keyframes pulse-slot{0%,to{transform:translateY(0);box-shadow:0 8px 20px #667eea33}50%{transform:translateY(-4px);box-shadow:0 12px 26px #667eea59}}.slot-index{font-weight:800;color:#a0aec0}.slot-value{font-size:28px;font-weight:900;color:#333}.drawn-preview{background:#f8f9fa;border-radius:12px;padding:12px 16px;display:flex;align-items:center;justify-content:space-between}.preview-label{color:#555;font-weight:700}.preview-digits{display:flex;gap:8px}.preview-digit{width:38px;height:38px;border-radius:10px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;display:grid;place-items:center;font-weight:800}.preview-placeholder{width:38px;height:38px;border-radius:10px;background:#e9ecef;color:#999;display:grid;place-items:center;font-weight:800}.winner-announcement{margin-top:40px}.winner-card{background:linear-gradient(135deg,#f5f7fa,#c3cfe2);border:4px solid #d4af37;border-radius:24px;padding:40px;text-align:center;animation:winner-appear 1s ease-out}@keyframes winner-appear{0%{transform:scale(.8);opacity:0}to{transform:scale(1);opacity:1}}.winner-card.user-winner{background:linear-gradient(135deg,#f093fb,#f5576c);border-color:#fff}.winner-card.user-winner h2,.winner-card.user-winner .winner-message{color:#fff}.winner-user{margin:6px 0;font-size:16px;font-weight:700;color:#ffeaa7}.winner-amount{font-size:22px;font-weight:800;color:#fff;margin-bottom:16px}.winner-sub{margin:0;font-weight:700;color:#555}.winner-card h2{color:#333;font-size:48px;margin-bottom:16px}.winner-message{font-size:32px;font-weight:700;color:#333;margin-bottom:24px}.user-tickets-section{background:#fff;border-radius:24px;padding:32px;box-shadow:0 20px 60px #0000004d}.user-tickets-section h2{color:#333;margin-bottom:24px;font-size:24px}.user-tickets-header{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.user-tickets-hint{margin:0;color:#666;font-weight:600}.tickets-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:24px}.winner-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:2000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.winner-modal{background:linear-gradient(135deg,#7c3aed,#db2777);color:#fff;padding:24px;border-radius:20px;width:min(90vw,520px);text-align:center;box-shadow:0 20px 60px #00000059}.winner-burst{font-size:42px;animation:burst 1.4s infinite}@keyframes burst{0%{transform:scale(1)}50%{transform:scale(1.2) rotate(-6deg)}to{transform:scale(1)}}.winner-ticket{margin:12px 0}.winner-note{color:#ffffffe6;font-weight:600}.side-column{display:flex;flex-direction:column;gap:16px}.info-card{background:#fff;border-radius:16px;padding:16px;box-shadow:0 8px 24px #00000026}.info-row{display:flex;align-items:center;justify-content:space-between;padding:10px 0;border-bottom:1px solid #f0f2f5;color:#444;font-weight:700}.info-row:last-child{border-bottom:none}.danger-text{color:#d63031}.rules-card{background:#0f172a;color:#e2e8f0;border-radius:16px;padding:16px;box-shadow:0 14px 32px #00000059}.rules-title{font-weight:800;margin-bottom:8px;letter-spacing:.4px}.rules-text{margin:0;line-height:1.6;color:#cbd5e1;white-space:pre-line}.pre-stats{margin-top:20px;display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.pre-stat{background:#ffffff1f;border-radius:12px;padding:12px;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:#fff;border:1px solid rgba(255,255,255,.2)}.pre-stat span{display:block;opacity:.8;font-weight:600}.pre-stat strong{font-size:20px}.sold-out-pill{margin-top:12px;display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border-radius:999px;background:linear-gradient(135deg,#ff7675,#d63031);color:#fff;font-weight:800;box-shadow:0 10px 24px #d6303140}.controls-card{background:#fff;border-radius:16px;padding:16px;box-shadow:0 12px 28px #00000026;display:flex;flex-direction:column;gap:10px}.controls-row{display:flex;gap:10px;flex-wrap:wrap}.invalid-box{background:#fff3cd;border:2px solid #ffc107;border-radius:12px;padding:12px;color:#856404;font-weight:700}.confetti-container{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:1000;overflow:hidden}.confetti{position:absolute;width:10px;height:10px;top:-10px;animation:confetti-fall 3s linear infinite}@keyframes confetti-fall{to{transform:translateY(100vh) rotate(360deg)}}@media(max-width:768px){.session-title{font-size:24px}.drawing-grid{grid-template-columns:1fr}.roller{width:180px;height:180px}.roller-inner{width:140px;height:140px;font-size:56px}.session-meta{align-items:flex-start;font-size:13px}.tickets-grid{grid-template-columns:1fr}.winner-modal{width:90vw;padding:18px}}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.loading-screen{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);position:relative;overflow:hidden}.loading-screen:before{content:"🎄";position:absolute;font-size:100px;opacity:.1;top:10%;left:5%;animation:float-decoration 6s ease-in-out infinite}.loading-screen:after{content:"🎁";position:absolute;font-size:80px;opacity:.1;bottom:10%;right:5%;animation:float-decoration 6s ease-in-out infinite 3s}@keyframes float-decoration{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-20px) rotate(10deg)}}.loading-icon{font-size:80px;margin-bottom:24px;animation:bounce-spin 2s ease-in-out infinite}@keyframes bounce-spin{0%,to{transform:translateY(0) rotate(0)}25%{transform:translateY(-20px) rotate(90deg)}50%{transform:translateY(0) rotate(180deg)}75%{transform:translateY(-20px) rotate(270deg)}}.loader{width:80px;height:80px;border:8px solid rgba(255,255,255,.2);border-top-color:#fff;border-radius:50%;animation:spin 1s linear infinite;box-shadow:0 0 20px #ffffff4d}.loading-text{color:#fff;font-size:24px;font-weight:700;margin-top:24px;text-shadow:0 2px 4px rgba(0,0,0,.3);animation:pulse-text 1.5s ease-in-out infinite}@keyframes pulse-text{0%,to{opacity:1}50%{opacity:.6}}@keyframes spin{to{transform:rotate(360deg)}}
