:root{--background: 209 40% 96%;--foreground: 222 47% 11%;--card: 210 40% 98%;--card-foreground: 222 47% 11%;--popover: 214 31% 91%;--popover-foreground: 222 47% 11%;--primary: 200 98% 39%;--primary-foreground: 204 100% 97%;--secondary: 215 24% 26%;--secondary-foreground: 210 40% 98%;--muted: 215 20% 65%;--muted-foreground: 222 47% 11%;--accent: 210 40% 98%;--accent-foreground: 215 19% 34%;--destructive: 0 72% 50%;--destructive-foreground: 0 85% 97%;--border: 212 26% 83%;--input: 212 26% 83%;--ring: 200 98% 39%;--chart-1: 198 93% 59%;--chart-2: 213 93% 67%;--chart-3: 215 20% 65%;--chart-4: 215 16% 46%;--chart-5: 215 19% 34%;--sidebar: 210 40% 98%;--sidebar-foreground: 222 47% 11%;--sidebar-primary: 200 98% 39%;--sidebar-primary-foreground: 204 100% 97%;--sidebar-accent: 215 24% 26%;--sidebar-accent-foreground: 210 40% 98%;--sidebar-border: 212 26% 83%;--sidebar-ring: 200 98% 39%;--font-sans: "Inter", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif;--font-mono: "Space Mono", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--radius: .5rem;--shadow-sm: 0 1px 3px 0px hsl(0 0% 0% / .1), 0 1px 2px -1px hsl(0 0% 0% / .1);--shadow: 0 1px 3px 0px hsl(0 0% 0% / .1), 0 1px 2px -1px hsl(0 0% 0% / .1);--shadow-md: 0 1px 3px 0px hsl(0 0% 0% / .1), 0 2px 4px -1px hsl(0 0% 0% / .1);--shadow-lg: 0 1px 3px 0px hsl(0 0% 0% / .1), 0 4px 6px -1px hsl(0 0% 0% / .1);--gold: 45 93% 47%;--success: 142 76% 36%;--warning: 38 92% 50%}.dark{--background: 222 47% 11%;--foreground: 210 40% 98%;--card: 217 32% 17%;--card-foreground: 210 40% 98%;--popover: 215 24% 26%;--popover-foreground: 210 40% 98%;--primary: 198 93% 59%;--primary-foreground: 204 80% 15%;--secondary: 212 26% 83%;--secondary-foreground: 228 84% 4%;--muted: 215 16% 46%;--muted-foreground: 210 40% 98%;--accent: 228 84% 4%;--accent-foreground: 215 20% 65%;--destructive: 0 84% 60%;--destructive-foreground: 0 85% 97%;--border: 215 19% 34%;--input: 215 19% 34%;--ring: 198 93% 59%;--sidebar: 217 32% 17%;--sidebar-foreground: 210 40% 98%;--sidebar-primary: 198 93% 59%;--sidebar-primary-foreground: 204 80% 15%;--sidebar-accent: 215 20% 65%;--sidebar-accent-foreground: 228 84% 4%;--sidebar-border: 215 19% 34%;--sidebar-ring: 198 93% 59%}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-sans);background:hsl(var(--background));color:hsl(var(--foreground));min-height:100vh;line-height:1.5;font-size:14px}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:hsl(var(--muted) / .2);border-radius:3px}::-webkit-scrollbar-thumb{background:hsl(var(--muted) / .5);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:hsl(var(--muted) / .7)}.container{max-width:1600px;margin:0 auto;padding:0 1rem}.main-layout{display:grid;grid-template-columns:1fr 320px;gap:1rem;min-height:calc(100vh - 120px)}@media(max-width:1024px){.main-layout{grid-template-columns:1fr}}.card{background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:var(--radius);box-shadow:var(--shadow-sm)}.card-header{padding:.75rem 1rem;border-bottom:1px solid hsl(var(--border));font-weight:600;font-size:.875rem;color:hsl(var(--foreground))}.card-body{padding:1rem}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.375rem;padding:.5rem 1rem;border-radius:var(--radius);font-weight:500;font-size:.8125rem;border:none;cursor:pointer;transition:all .15s ease;white-space:nowrap}.btn-sm{padding:.375rem .75rem;font-size:.75rem}.btn-primary{background:hsl(var(--primary));color:hsl(var(--primary-foreground))}.btn-primary:hover:not(:disabled){filter:brightness(1.1)}.btn-secondary{background:hsl(var(--accent));color:hsl(var(--accent-foreground));border:1px solid hsl(var(--border))}.btn-secondary:hover:not(:disabled){background:hsl(var(--muted) / .2)}.btn-gold{background:hsl(var(--gold));color:#0f1729}.btn-gold:hover:not(:disabled){filter:brightness(1.1)}.btn-destructive{background:hsl(var(--destructive));color:hsl(var(--destructive-foreground))}.btn:disabled{opacity:.5;cursor:not-allowed}input,select,textarea{width:100%;padding:.5rem .75rem;background:hsl(var(--background));border:1px solid hsl(var(--input));border-radius:var(--radius);color:hsl(var(--foreground));font-size:.8125rem;transition:all .15s ease}input:focus,select:focus,textarea:focus{outline:none;border-color:hsl(var(--ring));box-shadow:0 0 0 2px hsl(var(--ring) / .2)}input::placeholder{color:hsl(var(--muted))}label{display:block;font-size:.75rem;font-weight:500;color:hsl(var(--muted-foreground));margin-bottom:.25rem}.nav-tabs{display:flex;gap:.25rem;padding:.25rem;background:hsl(var(--card));border-radius:var(--radius);border:1px solid hsl(var(--border))}.nav-tab{flex:1;display:flex;align-items:center;justify-content:center;gap:.375rem;padding:.5rem .75rem;border-radius:calc(var(--radius) - 2px);font-weight:500;font-size:.8125rem;color:hsl(var(--muted));background:transparent;border:none;cursor:pointer;transition:all .15s ease}.nav-tab:hover{color:hsl(var(--foreground));background:hsl(var(--muted) / .1)}.nav-tab.active{background:hsl(var(--primary));color:hsl(var(--primary-foreground))}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:.5rem}.stat-card{background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:var(--radius);padding:.75rem;text-align:center}.stat-card .value{font-size:1.25rem;font-weight:700;color:hsl(var(--primary))}.stat-card .label{font-size:.7rem;color:hsl(var(--muted));margin-top:.125rem}.upload-zone{border:2px dashed hsl(var(--border));border-radius:var(--radius);padding:1.5rem 1rem;text-align:center;transition:all .15s ease;cursor:pointer}.upload-zone:hover,.upload-zone.dragover{border-color:hsl(var(--primary));background:hsl(var(--primary) / .05)}.upload-zone.success{border-color:hsl(var(--success));background:hsl(var(--success) / .05)}.data-table{width:100%;border-collapse:collapse;font-size:.8125rem}.data-table th,.data-table td{padding:.5rem .75rem;text-align:left;border-bottom:1px solid hsl(var(--border))}.data-table th{font-size:.7rem;font-weight:600;color:hsl(var(--muted));text-transform:uppercase;letter-spacing:.025em;background:hsl(var(--muted) / .1)}.data-table tr:hover{background:hsl(var(--muted) / .05)}.winner-card{position:relative;background:hsl(var(--card));border:2px solid hsl(var(--border));border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:.75rem;text-align:center;transition:all .3s ease;min-width:140px;max-width:160px}.winner-card.revealed{background:#fff;border-color:#3b82f6;box-shadow:0 0 25px #3b82f699;transform:scale(1.05)}.winner-card .photo{width:56px;height:56px;border-radius:50%;border:2px solid hsl(var(--border));object-fit:cover;margin-bottom:.5rem;background:hsl(var(--muted) / .2)}.winner-card.revealed .photo{border-color:#3b82f6}.winner-card .name{font-size:.8125rem;font-weight:600;color:hsl(var(--foreground));margin-bottom:.125rem;line-height:1.2;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.winner-card.revealed .name{color:#1e293b}.winner-card .id{font-size:.6875rem;color:hsl(var(--muted));font-family:var(--font-mono)}.winner-card.revealed .id{color:#64748b}.winner-card .dept{font-size:.625rem;color:hsl(var(--muted));margin-top:.25rem;padding:.125rem .375rem;background:hsl(var(--muted) / .1);border-radius:9999px}.winner-card.revealed .dept{background:hsl(var(--primary-foreground) / .2);color:hsl(var(--primary-foreground))}.winners-sidebar{background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:var(--radius);display:flex;flex-direction:column;max-height:calc(100vh - 140px);position:sticky;top:1rem}.winners-sidebar .header{padding:.75rem 1rem;border-bottom:1px solid hsl(var(--border));font-weight:600;font-size:.875rem;display:flex;align-items:center;gap:.5rem}.winners-sidebar .list{flex:1;overflow-y:auto;padding:.5rem}.winner-item{display:flex;align-items:center;gap:.5rem;padding:.5rem;border-radius:calc(var(--radius) - 2px);margin-bottom:.375rem;background:hsl(var(--background));border:1px solid hsl(var(--border));transition:all .15s ease}.winner-item:first-child{background:hsl(var(--gold) / .1);border-color:hsl(var(--gold) / .3)}.winner-item .avatar{width:36px;height:36px;border-radius:50%;object-fit:cover;border:1px solid hsl(var(--border));flex-shrink:0}.winner-item .info{flex:1;min-width:0}.winner-item .name{font-size:.75rem;font-weight:600;color:hsl(var(--foreground));white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.winner-item .meta{font-size:.625rem;color:hsl(var(--muted));font-family:var(--font-mono)}.winner-item .prize-badge{font-size:.5625rem;font-weight:600;padding:.125rem .375rem;border-radius:9999px;background:hsl(var(--gold));color:#0f1729;white-space:nowrap}.prize-details{background:hsl(var(--primary) / .1);border:1px solid hsl(var(--primary) / .2);border-radius:var(--radius);padding:1rem;margin-bottom:1rem;text-align:center}.prize-details .prize-name{font-size:1.25rem;font-weight:700;color:hsl(var(--primary))}.prize-details .reward-name{font-size:1rem;color:hsl(var(--gold));font-weight:600;margin-top:.25rem}.prize-details .prize-meta{font-size:.75rem;color:hsl(var(--muted));margin-top:.5rem}.spin-button{position:relative;padding:.75rem 2rem;font-size:1rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;background:hsl(var(--primary));border:none;border-radius:var(--radius);color:hsl(var(--primary-foreground));cursor:pointer;overflow:hidden;transition:all .2s ease}.spin-button:hover:not(:disabled){filter:brightness(1.1);transform:translateY(-1px)}.spin-button:disabled{opacity:.5;cursor:not-allowed;transform:none}.badge{display:inline-flex;align-items:center;gap:.25rem;padding:.125rem .5rem;border-radius:9999px;font-size:.625rem;font-weight:600}.badge-gold{background:hsl(var(--gold));color:#0f1729}.badge-success{background:hsl(var(--success));color:#fff}.badge-muted{background:hsl(var(--muted) / .2);color:hsl(var(--muted))}@keyframes fadeIn{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes popIn{0%{transform:scale(.9);opacity:0}50%{transform:scale(1.02)}to{transform:scale(1);opacity:1}}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.animate-fadeIn{animation:fadeIn .3s ease forwards}.animate-pulse{animation:pulse 1.5s infinite}.animate-popIn{animation:popIn .4s cubic-bezier(.175,.885,.32,1.275) forwards}@media(max-width:768px){.nav-tab span{display:none}.nav-tab{padding:.5rem}.winners-sidebar{position:static;max-height:300px}}
