:root{--bg:#eef2f7;--panel:#fff;--panel-soft:#f8fafc;--text:#0f172a;--muted:#64748b;--border:#e2e8f0;--gold:#f59e0b;--blue:#2563eb;--green:#16a34a;--red:#dc2626}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input,select,textarea{font:inherit}input,select,textarea{background:#fff;border:1px solid #cbd5e1;border-radius:12px;width:100%;padding:12px}label{gap:8px;font-weight:700;display:grid}.app-shell{background:var(--bg);grid-template-columns:260px 1fr;min-height:100vh;display:grid}.sidebar{color:#fff;background:linear-gradient(#0f172a,#111827);flex-direction:column;padding:24px;display:flex}.brand{align-items:center;gap:12px;display:flex}.brand-ball{color:#111827;background:linear-gradient(135deg,#fef3c7,#f59e0b);border-radius:50%;place-items:center;width:46px;height:46px;font-weight:900;display:grid;box-shadow:0 8px 22px #f59e0b59}.brand strong{font-size:22px;display:block}.brand span{color:#cbd5e1;font-size:13px;display:block}.sidebar-nav{gap:8px;margin-top:32px;display:grid}.sidebar-nav a{color:#cbd5e1;border-radius:12px;align-items:center;gap:10px;padding:12px 14px;font-weight:800;text-decoration:none;display:flex}.sidebar-nav a.active,.sidebar-nav a:hover{color:#fff;background:#f59e0b29}.sidebar-footer{color:#94a3b8;margin-top:auto;padding-top:24px;font-size:13px}.sidebar-footer strong{color:#fff;margin-top:4px;display:block}.page-content,.main-content{padding:32px}.topbar{border:1px solid var(--border);background:#fff;border-radius:20px;justify-content:space-between;align-items:center;margin-bottom:24px;padding:20px 24px;display:flex;box-shadow:0 10px 28px #0f172a0f}.topbar h1{margin:0}.topbar span{color:var(--muted)}.page-header{margin-bottom:24px}.page-header h1{margin:0;font-size:34px}.page-header p,.muted{color:var(--muted)}.card,.stat-card,.ui-card{border:1px solid var(--border);background:#fff;border-radius:20px;margin-bottom:20px;padding:24px;box-shadow:0 14px 34px #0f172a14}.card-header,.module-header{justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;display:flex}.dashboard-grid{grid-template-columns:repeat(4,1fr);gap:16px;margin:20px 0;display:grid}.stat-card span{color:var(--muted);margin-bottom:8px;display:block}.stat-card strong{font-size:28px}.ui-button{cursor:pointer;border:none;border-radius:14px;padding:12px 18px;font-weight:800;transition:transform .15s,box-shadow .15s}.ui-button:hover{transform:translateY(-1px)}.ui-button:disabled{opacity:.55;cursor:not-allowed;transform:none}.ui-button-primary{color:#111827;background:linear-gradient(135deg,#f59e0b,#fbbf24);box-shadow:0 10px 24px #f59e0b47}.ui-button-secondary{color:#0f172a;background:#e2e8f0}.ui-button-danger{background:var(--red);color:#fff}.number-ball{-webkit-user-select:none;user-select:none;border-radius:50%;justify-content:center;align-items:center;width:54px;height:54px;font-size:20px;font-weight:900;transition:transform .2s;display:flex}.number-ball.small{width:38px;height:38px;font-size:15px}.number-ball-gold{color:#111827;background:radial-gradient(circle at 30% 30%,#fde68a,#f59e0b)}.number-ball-blue{color:#fff;background:radial-gradient(circle at 30% 30%,#60a5fa,#2563eb)}.number-ball-green{color:#fff;background:radial-gradient(circle at 30% 30%,#4ade80,#16a34a)}.number-ball-gray{color:#fff;background:radial-gradient(circle at 30% 30%,#cbd5e1,#64748b)}.players-list{gap:18px;display:grid}.player-card{border:1px solid var(--border);background:#fff;border-radius:20px;padding:22px;box-shadow:0 10px 28px #0f172a14}.player-card-header,.player-card-footer{justify-content:space-between;align-items:center;gap:16px;display:flex}.player-number{color:var(--muted);font-weight:800}.player-card h3{margin:4px 0;font-size:24px}.player-numbers{flex-wrap:wrap;gap:8px;margin:18px 0;display:flex}.player-actions{flex-wrap:wrap;gap:8px;display:flex}.status-badge{border-radius:999px;padding:8px 12px;font-size:13px;font-weight:800}.status-badge.paid{color:#166534;background:#dcfce7}.status-badge.unpaid{color:#991b1b;background:#fee2e2}.jackpot-hero{color:#fff;background:linear-gradient(135deg,#0f172a,#1e293b);border-radius:28px;justify-content:space-between;gap:24px;margin-bottom:24px;padding:34px;display:flex;box-shadow:0 22px 48px #0f172a47}.hero-kicker{color:#fbbf24;font-weight:900}.jackpot-hero h2{margin:12px 0;font-size:56px}.jackpot-hero p{color:#cbd5e1;margin:0}.hero-side{background:#ffffff1a;border:1px solid #ffffff29;border-radius:22px;min-width:180px;padding:22px}.hero-side span{color:#cbd5e1}.hero-side strong{margin-top:10px;font-size:42px;display:block}.last-winner-card,.last-winner-hero{color:#111827;background:linear-gradient(135deg,#f59e0b,#fde68a);border-radius:28px;margin-bottom:24px;padding:34px;box-shadow:0 22px 48px #f59e0b47}.last-winner-hero h2{margin:12px 0 4px;font-size:48px}.last-winner-hero strong{margin-top:14px;font-size:36px;display:block}.winner-list{flex-wrap:wrap;gap:12px;margin:16px 0;font-size:22px;display:flex}.lucky-progress{background:#e5e7eb;border-radius:999px;width:100%;height:18px;margin:24px 0 32px;overflow:hidden}.lucky-progress-fill{background:linear-gradient(90deg,#16a34a,#86efac);border-radius:999px;height:100%;transition:width .4s}.lucky-grid{grid-template-columns:repeat(5,1fr);justify-items:center;gap:2rem;margin-top:2rem;display:grid}.lucky-ball{justify-content:center;align-items:center;display:flex}.live-number{align-items:center;gap:6px;display:inline-flex}.login-page{background:radial-gradient(circle at top,#f59e0b40,#0000 34%),linear-gradient(135deg,#0f172a,#111827);place-items:center;min-height:100vh;display:grid}.login-card{background:#fff;border-radius:28px;width:min(420px,100vw - 32px);padding:34px;box-shadow:0 30px 80px #00000052}.login-brand{margin-bottom:28px}.login-card h1{margin:0;font-size:34px}.login-card form{gap:16px;margin-top:24px;display:grid}.table{border-collapse:collapse;width:100%}.table th,.table td{text-align:left;border-bottom:1px solid #e5e7eb;padding:14px}.table th{background:#f8fafc;font-weight:800}.table tbody tr:hover{background:#fafafa}.role-badge{border-radius:999px;padding:4px 10px;font-size:12px;font-weight:700;display:inline-block}.role-super_admin{color:#991b1b;background:#fee2e2}.role-admin{color:#1d4ed8;background:#dbeafe}.role-staff{color:#166534;background:#dcfce7}.status-active{color:#15803d;font-weight:700}.status-inactive{color:#b91c1c;font-weight:700}.dialog-backdrop{z-index:999;background:#0f172a73;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.dialog{background:#fff;border-radius:22px;width:min(640px,100vw - 32px);max-height:calc(100vh - 32px);padding:28px;overflow:auto;box-shadow:0 30px 80px #00000059}.dialog-header{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.dialog-close{cursor:pointer;background:0 0;border:none;font-size:22px}.dialog-actions{justify-content:flex-end;gap:12px;margin-top:18px;display:flex}.user-form{gap:18px;display:grid}.invite-box{gap:16px;display:grid}.invite-box textarea{resize:vertical}.results-list{gap:12px;display:grid}.result-row{border-bottom:1px solid var(--border);justify-content:space-between;gap:16px;padding:16px 0;display:flex}.result-row:last-child{border-bottom:none}.finance-summary{grid-template-columns:repeat(2,minmax(220px,1fr));gap:16px;display:grid}.finance-summary div{background:#f8fafc;border-radius:16px;padding:18px}.finance-summary span{color:var(--muted);margin-bottom:8px;display:block}.finance-summary strong{font-size:24px}.unpaid-list{gap:10px;display:grid}.unpaid-row{border-bottom:1px solid var(--border);justify-content:space-between;padding:12px 0;display:flex}.unpaid-row:last-child{border-bottom:none}.profile-table{border-collapse:collapse;width:100%}.profile-table td{border-bottom:1px solid #e5e7eb;padding:14px}.profile-table td:first-child{width:220px;color:var(--muted);font-weight:800}.search-input{max-width:260px}.draw-picker{margin:16px 0 24px}.draw-picker-selected{flex-wrap:wrap;align-items:center;gap:10px;min-height:58px;margin:12px 0;display:flex}.draw-picker-grid{grid-template-columns:repeat(9,42px);gap:10px;display:grid}.draw-picker-button{cursor:pointer;background:0 0;border:none;padding:0}.draw-picker-button:disabled{opacity:.35;cursor:not-allowed}@media (width<=900px){.app-shell{grid-template-columns:1fr}.sidebar{position:static}.page-content,.main-content{padding:18px}.dashboard-grid,.finance-summary{grid-template-columns:1fr}.card-header,.module-header,.player-card-header,.player-card-footer,.jackpot-hero,.topbar{flex-direction:column;align-items:stretch}.search-input{max-width:none}.lucky-grid{grid-template-columns:repeat(5,1fr);gap:1rem}.number-ball{width:46px;height:46px;font-size:17px}}.draw-outcome{background:#fff;border:1px solid #e2e8f0;border-radius:28px;margin-bottom:24px;padding:30px;box-shadow:0 18px 42px #0f172a1a}.draw-outcome.winner{background:linear-gradient(135deg,#fff7ed,#fef3c7);border-color:#f59e0b}.draw-outcome-header{text-align:center;margin-bottom:26px}.draw-outcome-header span{color:#92400e;margin-bottom:8px;font-weight:900;display:inline-block}.draw-outcome-header h2{margin:0;font-size:34px}.draw-outcome-numbers{flex-wrap:wrap;justify-content:center;gap:12px;margin-top:20px;display:flex}.form-grid{grid-template-columns:repeat(3,1fr);gap:18px;display:grid}@media (width<=900px){.form-grid{grid-template-columns:1fr}}.player-card-hot{border-color:#f59e0b;box-shadow:0 18px 42px #f59e0b2e}.near-jackpot-alert{color:#92400e;background:#fff7ed;border-radius:14px;margin:16px 0;padding:12px 14px;font-weight:900}.player-progress{margin:18px 0}.player-progress-header{color:#64748b;justify-content:space-between;gap:12px;font-weight:800;display:flex}.player-filter-bar{flex-wrap:wrap;gap:10px;margin:18px 0;display:flex}
