:root{color-scheme:light;--font-sans: "Plus Jakarta Sans", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--bg: #f4f5fb;--bg-grid: radial-gradient(circle at 1px 1px, #e3e5f5 1px, transparent 0);--surface: #ffffff;--surface-muted: #f8f8fc;--border: #e6e7f2;--border-strong: #d8daea;--text: #16171f;--text-muted: #6b6d80;--text-faint: #9698ab;--primary: #4f46e5;--primary-hover: #4338ca;--primary-soft: #eef0ff;--primary-contrast: #ffffff;--success: #16a34a;--success-soft: #e9f9ef;--warning: #b45309;--warning-soft: #fef3c7;--danger: #dc2626;--danger-soft: #fdeded;--shadow-sm: 0 1px 2px rgba(23, 24, 40, .04);--shadow-md: 0 4px 16px rgba(23, 24, 40, .06), 0 1px 3px rgba(23, 24, 40, .05);--shadow-lg: 0 12px 32px rgba(23, 24, 40, .1), 0 2px 6px rgba(23, 24, 40, .05);--radius-sm: 10px;--radius-md: 14px;--radius-lg: 20px}*{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:var(--font-sans);color:var(--text);background-color:var(--bg);background-image:var(--bg-grid);background-size:22px 22px;-webkit-font-smoothing:antialiased}h1,h2,h3{font-family:var(--font-sans);letter-spacing:-.02em}.page{min-height:100vh;display:flex;flex-direction:column;align-items:center;padding:40px 20px}.brand{display:flex;align-items:center;gap:10px;color:var(--text);font-weight:800;font-size:1.15rem;letter-spacing:-.02em}.brand.standalone{margin-bottom:28px}.event-logo-brand{display:flex;width:100%;max-width:440px;justify-content:center;margin-left:auto;margin-right:auto}.event-logo-img{max-height:130px;max-width:280px;width:auto;height:auto;object-fit:contain;display:block;margin:0 auto}.event-logo-img-compact{max-height:40px;max-width:160px;object-fit:contain}.brand-mark{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:10px;background:linear-gradient(135deg,var(--primary),#8b5cf6);color:#fff;box-shadow:var(--shadow-md);flex-shrink:0;overflow:hidden}.card{width:100%;max-width:440px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:32px 28px;animation:rise .35s ease both}@keyframes rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}h1{font-size:1.5rem;font-weight:800;margin:0 0 6px}.subtitle{color:var(--text-muted);margin:0 0 24px;font-size:.95rem;line-height:1.5}label{display:block;font-weight:600;font-size:.85rem;color:var(--text);margin-bottom:6px}input{width:100%;padding:12px 14px;border-radius:var(--radius-sm);border:1.5px solid var(--border-strong);background:var(--surface);color:var(--text);font-family:var(--font-sans);font-size:.95rem;margin-bottom:18px;transition:border-color .15s ease,box-shadow .15s ease}input::placeholder{color:var(--text-faint)}.consent-row{display:flex;align-items:flex-start;gap:10px;font-weight:400;font-size:.82rem;line-height:1.5;color:var(--text-muted);margin-bottom:18px;cursor:pointer}.consent-row input[type=checkbox]{width:18px;height:18px;min-width:18px;margin:2px 0 0;accent-color:var(--primary);cursor:pointer}input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 4px var(--primary-soft)}button{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:12px 16px;border-radius:var(--radius-sm);border:none;background:var(--primary);color:var(--primary-contrast);font-family:var(--font-sans);font-size:.95rem;font-weight:700;cursor:pointer;box-shadow:var(--shadow-sm);transition:background .15s ease,transform .1s ease,box-shadow .15s ease}button:hover:not(:disabled){background:var(--primary-hover);box-shadow:var(--shadow-md)}button:active:not(:disabled){transform:translateY(1px)}button:disabled{background:#c7c8f2;cursor:not-allowed;box-shadow:none}button.secondary{width:auto;padding:10px 16px;background:var(--surface);color:var(--text);border:1.5px solid var(--border-strong);box-shadow:none}button.secondary:hover:not(:disabled){background:var(--surface-muted);border-color:var(--danger);color:var(--danger)}a.secondary{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:auto;padding:10px 16px;border-radius:var(--radius-sm);background:var(--surface);color:var(--text);border:1.5px solid var(--border-strong);font-family:var(--font-sans);font-size:.95rem;font-weight:700;text-decoration:none;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease}a.secondary:hover{background:var(--surface-muted);border-color:var(--primary);color:var(--primary)}button.danger{width:auto;padding:10px 16px;background:var(--danger);color:#fff}button.danger:hover:not(:disabled){background:var(--danger);filter:brightness(.92)}.error{display:flex;align-items:center;gap:6px;color:var(--danger);background:var(--danger-soft);border-radius:var(--radius-sm);padding:10px 12px;font-size:.85rem;font-weight:600;margin:-8px 0 16px}.success-icon{display:flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:999px;background:var(--success-soft);color:var(--success);margin-bottom:16px}.lucky-number-wrap{background:linear-gradient(135deg,var(--primary-soft),#f3eeff);border:1px dashed #c7c3f7;border-radius:var(--radius-md);padding:20px;text-align:center;margin:20px 0 4px}.lucky-number-label{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--primary);margin-bottom:6px}.lucky-number{font-size:2.4rem;font-weight:800;letter-spacing:6px;color:var(--primary-hover)}.sorteio-home-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.sorteio-home-tile{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;text-align:center;text-decoration:none;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:48px 20px;min-height:220px;transition:box-shadow .15s ease,border-color .15s ease,transform .1s ease}.sorteio-home-tile:hover{box-shadow:var(--shadow-lg);border-color:var(--primary);transform:translateY(-2px)}.sorteio-home-tile strong{font-size:1.2rem;font-weight:800}.sorteio-home-icon{display:flex;align-items:center;justify-content:center;width:68px;height:68px;border-radius:999px;background:var(--primary-soft);color:var(--primary);margin-bottom:6px}@media(max-width:640px){.sorteio-home-grid{grid-template-columns:1fr}}.admin-shell{width:100%;max-width:960px}.admin-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px;gap:16px;flex-wrap:wrap}.admin-nav{display:flex;gap:6px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:5px;box-shadow:var(--shadow-sm)}.admin-nav a{display:flex;align-items:center;gap:7px;padding:9px 16px;border-radius:10px;text-decoration:none;color:var(--text-muted);font-weight:600;font-size:.9rem;transition:background .15s ease,color .15s ease}.admin-nav a:hover{color:var(--text);background:var(--surface-muted)}.admin-nav a.active{background:var(--primary);color:#fff}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:24px}.list-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;gap:12px}.list-header .subtitle{margin:0}.count-badge{display:inline-flex;align-items:center;gap:6px;font-size:.85rem;color:var(--text-muted);font-weight:600}.table-wrap{overflow-x:auto;border-radius:var(--radius-md);border:1px solid var(--border)}table{width:100%;border-collapse:collapse;background:var(--surface);font-size:.9rem}th,td{text-align:left;padding:13px 16px;white-space:nowrap}th{background:var(--surface-muted);color:var(--text-muted);font-weight:700;font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--border)}tbody tr{border-bottom:1px solid var(--border);transition:background .15s ease}tbody tr:last-child{border-bottom:none}tbody tr:hover{background:var(--surface-muted)}td.lucky-cell{font-weight:700;color:var(--primary-hover);letter-spacing:1px}.pill{display:inline-block;padding:3px 10px;border-radius:999px;background:var(--primary-soft);color:var(--primary-hover);font-weight:700;font-size:.78rem}.prize-grid{display:flex;flex-direction:column;gap:14px}.prize-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:20px 22px;transition:box-shadow .15s ease,border-color .15s ease}.prize-card:hover{box-shadow:var(--shadow-md);border-color:var(--border-strong)}.prize-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.prize-card h3{margin:0 0 4px;font-size:1.05rem;font-weight:700}.prize-card .subtitle{margin:0}.prize-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:12px;background:var(--primary-soft);color:var(--primary);flex-shrink:0}.prize-title-row{display:flex;align-items:flex-start;gap:12px}.badge{display:inline-flex;align-items:center;gap:5px;font-size:.75rem;font-weight:700;padding:4px 10px;border-radius:999px;background:var(--success-soft);color:var(--success);margin-top:14px}.badge.pending{background:var(--warning-soft);color:var(--warning)}.winner-row{display:flex;align-items:center;gap:10px;margin-top:12px;padding:12px 14px;background:var(--surface-muted);border-radius:var(--radius-sm);font-size:.88rem}.winner-row .lucky-inline{font-weight:800;color:var(--primary-hover);letter-spacing:1px}.badge.failed{background:var(--danger-soft);color:var(--danger)}.table-wrap .badge{margin-top:0}.message-preview{max-width:320px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-muted)}.logo-settings-row{display:flex;align-items:center;gap:18px;flex-wrap:wrap}.logo-preview{display:flex;align-items:center;justify-content:center;width:84px;height:84px;border-radius:var(--radius-md);background:var(--surface-muted);border:1px dashed var(--border-strong);color:var(--text-faint);flex-shrink:0;overflow:hidden}.logo-preview img{width:100%;height:100%;object-fit:contain}.template-editor{border:1px solid var(--border);border-radius:var(--radius-md);padding:18px 20px;background:var(--surface-muted)}.template-editor-header{margin-bottom:12px}.placeholder-row{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}.placeholder-chip{width:auto;padding:6px 12px;border-radius:999px;background:var(--surface);color:var(--primary-hover);border:1px solid var(--border-strong);font-family:SFMono-Regular,Consolas,monospace;font-size:.78rem;font-weight:700;box-shadow:none}.placeholder-chip:hover:not(:disabled){background:var(--primary-soft);border-color:var(--primary)}.emoji-toggle{font-family:var(--font-sans)}.emoji-popover{position:absolute;z-index:10;top:calc(100% + 6px);left:0;display:grid;grid-template-columns:repeat(8,1fr);gap:2px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-lg);padding:8px;width:240px}.emoji-option{width:auto;background:none;box-shadow:none;font-size:1.15rem;padding:6px;border-radius:8px;line-height:1}.emoji-option:hover{background:var(--surface-muted)}.template-textarea{width:100%;padding:12px 14px;border-radius:var(--radius-sm);border:1.5px solid var(--border-strong);background:var(--surface);color:var(--text);font-family:var(--font-sans);font-size:.9rem;line-height:1.5;resize:vertical;transition:border-color .15s ease,box-shadow .15s ease}.template-textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 4px var(--primary-soft)}.format-hint{font-size:.78rem;color:var(--text-faint);margin:8px 0 14px}.format-hint code{background:var(--surface);border:1px solid var(--border);border-radius:4px;padding:1px 5px;font-size:.76rem}.whatsapp-preview{background:#e5ddd5;border-radius:var(--radius-sm);padding:16px;display:flex;justify-content:flex-end}.whatsapp-bubble{max-width:78%;background:#d9fdd3;border-radius:10px 2px 10px 10px;padding:9px 12px;font-size:.88rem;line-height:1.4;color:#111b21;box-shadow:0 1px 1px #0000001f;word-break:break-word}.prize-actions{margin-top:14px}.icon-button{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;padding:0;border-radius:10px;background:transparent;color:var(--text-faint);border:1px solid transparent;box-shadow:none;flex-shrink:0}.icon-button svg{flex-shrink:0}.icon-button:hover:not(:disabled){background:var(--danger-soft);color:var(--danger);border-color:#f3c9c9;box-shadow:none}.danger-link{width:auto;background:none;color:var(--danger);font-weight:700;font-size:.82rem;padding:6px 10px;border-radius:8px;box-shadow:none}.danger-link:hover{background:var(--danger-soft)}.prize-card-highlight .prize-card{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}.whatsapp-alert{display:flex;align-items:center;flex-wrap:wrap;gap:8px;color:var(--danger);background:var(--danger-soft);border:1px solid #f3c9c9;border-radius:var(--radius-md);padding:12px 16px;font-size:.88rem;font-weight:600;margin-bottom:20px}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:48px 20px;color:var(--text-muted)}.empty-state .empty-icon{display:flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:999px;background:var(--surface-muted);color:var(--text-faint);margin-bottom:14px}.empty-state strong{color:var(--text);font-size:.98rem;margin-bottom:4px}.empty-state span{font-size:.87rem}.loading-state{display:flex;align-items:center;gap:10px;color:var(--text-muted);font-size:.9rem;padding:32px 0}.spinner{animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#11111e8c;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;z-index:50;padding:20px;animation:fadeIn .15s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-trophy{display:flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:999px;background:linear-gradient(135deg,#fde68a,#fbbf24);color:#92400e;margin:0 auto 14px;box-shadow:var(--shadow-md)}.qr-frame{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:24px;box-shadow:var(--shadow-md);display:inline-block}.qr-image{display:block;width:100%;max-width:280px;border-radius:var(--radius-sm)}.qr-url{display:inline-flex;align-items:center;gap:8px;font-family:SFMono-Regular,Consolas,monospace;font-size:.85rem;color:var(--text-muted);background:var(--surface-muted);border:1px solid var(--border);border-radius:var(--radius-sm);padding:8px 14px;margin:16px 0 20px;word-break:break-all}.form-row{display:flex;gap:10px;margin-bottom:20px}.form-row input{margin-bottom:0}.form-row button{width:auto;white-space:nowrap}@media(max-width:720px){.page{padding:20px 12px}.card{padding:24px 18px}.admin-header{flex-direction:column;align-items:stretch}.admin-nav{justify-content:space-between;overflow-x:auto}.admin-nav a{flex:1;justify-content:center;padding:10px 8px}.admin-nav a span.nav-label{display:none}.panel{padding:14px}.list-header{flex-wrap:wrap}.list-header .secondary{width:100%}.form-row{flex-direction:column}.form-row button{width:100%}.lucky-number{font-size:1.9rem;letter-spacing:4px}h1{font-size:1.3rem}.table-wrap{overflow-x:visible;border:none}table,thead,tbody,th,td,tr{display:block;width:100%}thead{display:none}tbody tr{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);margin-bottom:12px;padding:2px 14px;box-shadow:var(--shadow-sm)}tbody tr:hover{background:var(--surface)}td{display:flex;align-items:center;justify-content:space-between;gap:14px;white-space:normal;text-align:right;padding:10px 0;border-bottom:1px solid var(--border)}td:last-child{border-bottom:none}td:before{content:attr(data-label);font-weight:700;font-size:.72rem;text-transform:uppercase;letter-spacing:.03em;color:var(--text-muted);text-align:left;flex-shrink:0}td[data-label=""]{justify-content:center}td[data-label=""]:before{content:none}.message-preview{max-width:none;overflow:visible;text-overflow:unset;white-space:normal}.prize-card{padding:16px 18px}.emoji-popover{left:auto;right:0;width:min(240px,calc(100vw - 64px))}.qr-frame{padding:16px}input,.template-textarea{font-size:16px}.icon-button{width:40px;height:40px}}@media(max-width:380px){.lucky-number{font-size:1.6rem;letter-spacing:2px}}
