:root{--bg: #070b1c;--bg-soft: #0d1330;--bg-glow-a: rgba(34, 211, 238, .25);--bg-glow-b: rgba(168, 85, 247, .22);--bg-glow-c: rgba(236, 72, 153, .2);--card: #121a38;--card-2: #1b2750;--text: #eaf1ff;--muted: rgba(234, 241, 255, .78);--primary: #8b5cf6;--primary-hover: #7c3aed;--accent: #22d3ee;--accent-2: #ec4899;--primary-soft: rgba(139, 92, 246, .28);--success: #22c55e;--danger: #ef4444;--warn: #f59e0b;--border: #334155;--border-color: #334155;--shadow-soft: 0 12px 34px rgba(2, 6, 23, .45);--shadow-strong: 0 18px 44px rgba(2, 6, 23, .6)}*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;min-height:100vh;background:radial-gradient(920px 520px at 5% -14%,var(--bg-glow-a),transparent 52%),radial-gradient(840px 460px at 100% -6%,var(--bg-glow-b),transparent 56%),radial-gradient(760px 420px at 50% 115%,var(--bg-glow-c),transparent 56%),linear-gradient(180deg,var(--bg-soft) 0%,var(--bg) 42%,#050912 100%);color:var(--text)}a{color:var(--text);text-decoration:none;transition:opacity .18s ease}a:hover{opacity:.86}.container{max-width:1040px;margin:0 auto;padding:24px 16px 64px}.navbar{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;padding:14px 20px;background:#0c132cc7;border-bottom:1px solid rgba(86,106,177,.45);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 8px 24px #02061747}.navbar .brand{display:inline-flex;align-items:center;gap:12px;font-weight:800;font-size:1.25rem;color:var(--text)}.brand-logo{width:auto;height:76px;max-width:220px;object-fit:contain;background:transparent;padding:0;border-radius:0;border:0;box-shadow:0 8px 18px #02061759}.brand-text{line-height:1}.navbar nav{display:flex;gap:16px;align-items:center}.navbar nav a{color:var(--text);font-weight:500}.navbar nav a:hover{color:var(--text);text-decoration:none;opacity:.8}.card{background:linear-gradient(160deg,#24306247,#19234a24),linear-gradient(180deg,#121a38f0,#0e152de6);border:1px solid rgba(83,104,173,.45);border-radius:14px;padding:20px;margin-bottom:16px;box-shadow:var(--shadow-soft);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.grid-raffles{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:20px}label{display:block;margin:12px 0 4px;font-size:.9rem;color:var(--text)}input,textarea,select{width:100%;padding:10px 12px;border-radius:8px;border:1px solid rgba(97,117,186,.65);background:var(--card-2);color:var(--text);font-size:.95rem;transition:border-color .2s ease,box-shadow .2s ease}textarea{min-height:70px;resize:vertical}input:focus,textarea:focus,select:focus{outline:none;border-color:#a78bfa;box-shadow:0 0 0 3px #8b5cf647,0 0 0 6px #22d3ee1f}.btn{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border-radius:8px;border:1px solid rgba(196,181,253,.45);background:linear-gradient(135deg,#8b5cf6,#6366f1 34%,#22d3ee 72%,#ec4899);background-size:170% 170%;color:#fff;font-weight:600;cursor:pointer;font-size:.95rem;box-shadow:0 10px 22px #6366f159;transition:transform .18s ease,box-shadow .18s ease,filter .18s ease,background-position .25s ease}.btn:hover{transform:translateY(-1px);filter:brightness(1.06);box-shadow:0 14px 28px #6366f16b;background-position:100% 35%}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}.btn.secondary{color:var(--text);background:linear-gradient(180deg,#26345f,#1f2a4c);border:1px solid rgba(100,118,183,.72);box-shadow:none}.btn.danger{background:linear-gradient(135deg,#ef4444,#dc2626);border-color:#f8717180;box-shadow:0 10px 22px #dc26264d}.btn.small{padding:6px 10px;font-size:.85rem}.error{background:#ef444426;border:1px solid var(--danger);color:var(--text);padding:10px 12px;border-radius:8px;margin:10px 0}.success{background:#22c55e26;border:1px solid var(--success);color:var(--text);padding:10px 12px;border-radius:8px;margin:10px 0}.badge{display:inline-block;padding:2px 8px;border-radius:999px;font-size:.75rem;font-weight:600}.status-pill{flex:0 0 auto;display:inline-flex;align-items:center;gap:5px;padding:2px 9px;border-radius:999px;font-size:.72rem;font-weight:600;white-space:nowrap;border:1px solid transparent}.status-pill:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--pill-dot, #fff)}.status-pill.active{--pill-dot: #4ade80;color:var(--text);background:#22c55e33;border-color:#4ade8066}.status-pill.closed{--pill-dot: #94a3b8;color:var(--text);background:#94a3b833;border-color:#94a3b857}.status-pill.pending{--pill-dot: #facc15;color:var(--text);background:#facc1533;border-color:#facc155c}.verify-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;background:#eab30826;border-bottom:1px solid var(--warn, #eab308);color:var(--text);padding:10px 20px;font-size:.9rem}.winner-banner{background:linear-gradient(90deg,#16a34a40,#eab30833);border:1px solid var(--success, #16a34a);color:var(--text);padding:14px 16px;border-radius:10px;margin:10px 0;font-size:1.05rem;text-align:center}.raffle-card{display:block;padding:0;overflow:hidden;text-decoration:none;color:inherit;position:relative;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease;box-shadow:var(--shadow-soft)}.raffle-card:hover{transform:translateY(-4px);border-color:#c084fc;box-shadow:var(--shadow-strong)}.raffle-card-body{padding:16px}.carousel{position:relative;width:100%;aspect-ratio:16 / 10;background:linear-gradient(180deg,#334155,#1e293b);overflow:hidden}.carousel-empty{display:flex;align-items:center;justify-content:center;font-size:3rem;opacity:.5}.carousel-img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .6s ease}.carousel-img.active{opacity:1}.carousel-dots{position:absolute;bottom:8px;left:0;right:0;display:flex;gap:6px;justify-content:center}.carousel-dots .dot{width:7px;height:7px;border-radius:999px;background:#ffffff73}.carousel-dots .dot.on{background:#fff}.badge.active{background:#22c55e33;color:var(--text)}.badge.closed{background:#94a3b833;color:var(--text)}.muted{color:var(--muted)}.row{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.row>*{flex:1}.numbers-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(52px,1fr));gap:6px;margin-top:12px}.num{min-height:44px;padding:6px 8px;display:flex;align-items:center;justify-content:center;border-radius:6px;font-size:.85rem;font-weight:600;cursor:pointer;border:1px solid var(--border);background:var(--card-2);-webkit-user-select:none;user-select:none;white-space:nowrap;font-variant-numeric:tabular-nums}.num.available:hover{border-color:var(--primary)}.num.selected{background:linear-gradient(135deg,#8b5cf6,#ec4899);color:#fff;border-color:#f472b69e;box-shadow:inset 0 0 0 1px #ffffff1f}.num.sold{background:var(--danger);color:#fff;cursor:not-allowed;opacity:.85}.num.reserved{background:var(--warn);color:#1f2937;cursor:not-allowed}.photo-thumb{width:100%;height:130px;object-fit:cover;border-radius:8px;border:1px solid var(--border)}.photo-thumb-btn{border:0;background:transparent;padding:0;cursor:zoom-in;flex:1 1 140px;max-width:220px}.photo-thumb-btn .photo-thumb{display:block}.photo-wrap{position:relative;flex:0 0 auto;display:inline-block}.photo-remove{position:absolute;top:-8px;right:-8px;width:24px;height:24px;border-radius:50%;border:none;background:var(--danger);color:#fff;font-weight:700;cursor:pointer;line-height:1}.payment-method-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:24px;background:#0f172ad1;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.payment-method-modal{width:min(92vw,860px);max-height:calc(100vh - 48px);overflow:auto;padding:20px;border-radius:16px;border:1px solid var(--border);background:var(--card);box-shadow:0 20px 60px #00000073}.payment-method-modal-image{display:block;width:100%;max-height:72vh;object-fit:contain;border-radius:12px;border:1px solid var(--border);background:#ffffffbf}.gallery-thumbs{margin-top:10px;display:flex;gap:8px;overflow-x:auto;padding-bottom:2px}.gallery-thumb-btn{border:1px solid var(--border);background:var(--card-2);border-radius:8px;padding:0;width:72px;height:58px;overflow:hidden;cursor:pointer;flex:0 0 auto}.gallery-thumb-btn.active{border-color:var(--primary);box-shadow:0 0 0 1px #8b5cf659}.gallery-thumb-btn img{width:100%;height:100%;object-fit:cover;display:block}.ticket{max-width:420px;margin:40px auto;text-align:center;box-shadow:var(--shadow-strong)}.ticket .qr{background:#fff;padding:16px;border-radius:12px;display:inline-block;margin:16px 0}.ticket .big-number{font-size:3rem;font-weight:800;color:var(--primary)}.center{text-align:center}.auth-box{max-width:380px;margin:60px auto}.legend{display:flex;gap:16px;flex-wrap:wrap;font-size:.85rem;margin-top:12px}.legend span{display:inline-flex;align-items:center;gap:6px}.range-tools{display:flex;flex-wrap:wrap;gap:16px;margin:14px 0 6px;padding:12px;background:var(--card-2);border:1px solid var(--border);border-radius:10px}.range-group{display:flex;flex-direction:column;gap:6px}.range-group label{font-size:.78rem;color:var(--muted)}.range-inputs{display:flex;align-items:center;gap:8px}.range-inputs input{width:90px}.sel-count{font-size:.9rem;font-weight:600}.hint{font-size:.82rem;color:var(--muted);margin:4px 0 0}.promo-badge{position:absolute;top:10px;left:10px;z-index:2;background:linear-gradient(135deg,#ec4899,#8b5cf6,#22d3ee);color:#fff;font-size:.75rem;font-weight:700;padding:4px 10px;border-radius:999px;box-shadow:0 2px 6px #0000004d}.raffle-code-badge{position:absolute;right:10px;bottom:10px;z-index:2;background:#0f172adb;border:1px solid rgba(196,181,253,.55);color:#e2e8f0;font-size:.74rem;font-weight:700;letter-spacing:.4px;padding:4px 8px;border-radius:999px;box-shadow:0 2px 8px #00000059}.dashboard-raffle-card{position:relative;padding-bottom:42px}.hero{position:relative;overflow:hidden;border-color:#8b5cf694;background:radial-gradient(520px 260px at 0% 0%,rgba(34,211,238,.22),transparent 62%),radial-gradient(540px 260px at 100% 0%,rgba(236,72,153,.24),transparent 64%),linear-gradient(180deg,#231e4af0,#121a38eb)}.hero h1{margin-top:0;font-size:clamp(1.7rem,2.7vw,2.2rem);color:var(--text)}.two-col-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.pay-opt{display:inline-flex;align-items:center;gap:6px;margin:0;padding:10px 14px;border:1px solid var(--border);border-radius:8px;background:var(--card-2);cursor:pointer;color:var(--text)}.pay-opt input{width:auto}.dot{width:14px;height:14px;border-radius:4px;display:inline-block}.admin-ticket-groups{display:grid;gap:10px}.admin-ticket-group{border:1px solid var(--border);border-radius:10px;padding:10px 12px;background:var(--bg)}.admin-ticket-group-header{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px}.admin-ticket-group-code{font-size:.78rem;font-weight:800;color:var(--muted)}.admin-ticket-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(64px,1fr));gap:8px;margin-top:8px}.admin-ticket-chip{min-height:40px;border-radius:8px;border:1px solid var(--border);background:var(--card);color:var(--text);font-size:.8rem;font-weight:700;cursor:pointer;padding:6px 4px}.admin-ticket-chip.available{background:#6366f11f;color:var(--text)}.admin-ticket-chip.reserved{background:#f59e0b33;color:var(--text)}.admin-ticket-chip.sold{background:#ef44442e;color:var(--text)}.admin-ticket-chip.active{outline:2px solid var(--primary);outline-offset:1px}.admin-ticket-detail{border-color:#6366f166}.admin-section-nav{gap:10px;flex-wrap:wrap;align-items:center}.admin-section-nav>.btn{flex:0 0 auto}.admin-manage-header{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:16px}.admin-manage-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}.admin-payment-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.admin-manage-item{margin:0;display:flex;flex-direction:column;gap:8px;border-color:#5368ad85;min-width:0}.admin-manage-title{line-height:1.35;word-break:break-word;overflow-wrap:anywhere}.admin-manage-meta{margin:2px 0 0;font-size:.85rem;color:var(--muted);overflow-wrap:anywhere;word-break:break-word}.admin-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:auto}.admin-actions .btn{flex:0 0 auto}.admin-form-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.admin-edit-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1100;background:#020617b8;display:flex;align-items:center;justify-content:center;padding:16px}.admin-edit-modal{width:min(980px,100%);max-height:calc(100vh - 32px);overflow:auto;margin:0}.admin-edit-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.admin-edit-actions{margin-top:14px;display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap}.admin-edit-methods-list{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}.admin-edit-custom-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;gap:8px;margin-bottom:10px}.admin-edit-selected-methods{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px}.owner-reserved-group{padding:14px;border-color:#6366f15c}.owner-reserved-group-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;flex-wrap:wrap}.owner-reserved-group-meta{min-width:0;flex:1 1 320px}.owner-reserved-group-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end;flex:0 0 auto}.owner-reserved-number-list{display:flex;flex-wrap:wrap;gap:5px;margin-top:8px}.owner-reserved-number-chip{display:inline-flex;align-items:center;border:1px solid rgba(139,92,246,.38);background:#8b5cf624;color:var(--text);border-radius:999px;padding:2px 8px;font-size:.74rem;font-weight:700;font-variant-numeric:tabular-nums}.owner-reserved-ticket{border:1px solid rgba(100,116,139,.35);background:#0f172a33;border-radius:10px;margin-top:8px;padding:8px 10px}.owner-reserved-ticket-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:8px}.owner-reserved-ticket-main{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:8px;min-width:0}.owner-reserved-ticket-check{margin:1px 0 0;justify-self:start;align-self:start}.owner-reserved-ticket-info{flex:1 1 auto;min-width:0;display:grid;gap:2px;text-align:left}.owner-reserved-ticket-info strong{font-size:.92rem;line-height:1.2}.owner-reserved-ticket-actions{display:flex;gap:4px;flex-wrap:nowrap;justify-content:flex-end;align-self:center}.owner-reserved-inline-meta{overflow-wrap:anywhere;font-size:.8rem;line-height:1.2}.owner-reserved-group-actions .btn.small,.owner-reserved-ticket-actions .btn.small{padding:4px 8px;font-size:.78rem}.chat-thread{display:grid;gap:10px}.chat-inbox{display:grid;grid-template-columns:minmax(240px,320px) minmax(0,1fr);gap:16px;align-items:start}.chat-inbox-list{display:grid;gap:10px;max-height:min(58vh,520px);overflow:auto;padding-right:4px}.chat-inbox-item{width:100%;text-align:left;padding:12px;border-radius:10px;border:1px solid var(--border);background:var(--card-2);color:var(--text);cursor:pointer;transition:border-color .15s ease,transform .15s ease}.chat-inbox-item:hover{border-color:var(--primary);transform:translateY(-1px)}.chat-inbox-item.active{border-color:var(--primary);box-shadow:0 0 0 1px #6366f159}.chat-inbox-meta{display:flex;gap:10px;align-items:flex-start;justify-content:space-between}.chat-inbox-preview{margin:6px 0 0;font-size:.85rem;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-inbox-panel{min-width:0;max-height:min(58vh,520px);overflow:auto}.chat-thread-body{display:grid;gap:12px;padding:12px;border:1px solid var(--border);border-radius:10px;background:#0f172a2e}.chat-message-list{display:grid;gap:10px;max-height:260px;overflow:auto;padding-right:4px}.chat-message{display:grid;gap:4px}.chat-message.admin{justify-items:end}.chat-message.user{justify-items:start}.chat-message-meta{display:flex;gap:8px;align-items:baseline;font-size:.75rem;color:var(--muted)}.chat-message.admin .chat-message-meta{justify-content:end}.chat-message-bubble{max-width:min(100%,680px);padding:10px 12px;border-radius:12px;border:1px solid var(--border);background:var(--card-2);white-space:pre-wrap;overflow-wrap:anywhere}.chat-message.admin .chat-message-bubble{background:#6366f11f;border-color:#6366f159}.chat-message.user .chat-message-bubble{background:#22c55e14;border-color:#22c55e47}.chat-reply{display:grid;gap:8px}@media(max-width:860px){.container{max-width:760px;padding:18px 14px 56px}.card{padding:16px}.grid-raffles{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px}.row>*{flex:1 1 220px}.numbers-grid{grid-template-columns:repeat(auto-fill,minmax(48px,1fr))}.num{min-height:48px}.chat-inbox{grid-template-columns:1fr}.admin-payment-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}.admin-edit-grid{grid-template-columns:1fr}}@media(max-width:760px){.navbar .brand{font-size:1.08rem;gap:8px;flex:0 0 auto}.brand-logo{height:52px;max-width:140px}.navbar{gap:8px;flex-direction:row;align-items:center;flex-wrap:nowrap;padding:10px 12px}.navbar nav{flex:1 1 auto;min-width:0;justify-content:flex-end;flex-wrap:nowrap;gap:8px;overflow-x:auto;white-space:nowrap;scrollbar-width:none;-ms-overflow-style:none}.navbar nav::-webkit-scrollbar{display:none}.navbar nav>*{flex:0 0 auto}.container{padding-top:14px}.row>*{flex:1 1 100%;min-width:0}.home-search-row .btn{flex:1 1 100%!important}.home-filters{width:100%;display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px!important}.owner-reserved-group-actions{width:100%;justify-content:flex-start}.owner-reserved-group-actions .btn{flex:1 1 140px;align-items:center}.owner-reserved-ticket-row{grid-template-columns:1fr}.owner-reserved-ticket-actions{width:auto;justify-content:flex-start;flex-wrap:wrap;margin-top:4px}.owner-reserved-ticket-actions .btn{flex:0 0 auto;align-items:center}.home-filters>div{min-width:0!important}.two-col-grid{grid-template-columns:1fr!important}.payment-method-modal-overlay{padding:10px}.payment-method-modal{width:100%;max-height:calc(100vh - 20px);padding:14px}.ticket{margin:20px auto}.admin-manage-header{align-items:flex-start}.admin-edit-custom-row{grid-template-columns:1fr}.admin-actions .btn{flex:1 1 180px}}@media(max-width:560px){.container{padding:12px 10px 44px}.card{padding:13px;border-radius:12px}.grid-raffles,.home-filters{grid-template-columns:1fr}.navbar nav{gap:8px}.brand-text{display:none}.navbar nav .btn.small{padding:6px 8px;font-size:.8rem}.numbers-grid{gap:5px}.num{min-height:46px;font-size:.78rem}.container{padding-top:12px}.admin-manage-grid,.admin-payment-grid{grid-template-columns:1fr}.admin-form-actions .btn,.admin-actions .btn{width:100%;justify-content:center}}
