*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--color-primary: #e74c3c;--color-primary-dark: #c0392b;--color-bg: #f5f6fa;--color-card: #ffffff;--color-text: #2c3e50;--color-text-muted: #95a5a6;--color-border: #dcdde1;--color-success: #27ae60;--color-danger: #e74c3c;--color-info: #3498db;--color-ball-front: #e74c3c;--color-ball-back: #2980b9;--color-winning: #f39c12;--shadow: 0 2px 8px rgba(0, 0, 0, .08);--radius: 8px;--max-width: 960px}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans SC,sans-serif;font-size:15px;line-height:1.6;color:var(--color-text);background:var(--color-bg);-webkit-font-smoothing:antialiased}a{color:var(--color-primary);text-decoration:none}a:hover{text-decoration:underline}.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px;background:linear-gradient(135deg,#e74c3c,#c0392b)}.auth-card{background:var(--color-card);padding:40px 32px;border-radius:12px;box-shadow:0 8px 32px #00000026;width:100%;max-width:400px}.auth-title{text-align:center;font-size:28px;margin-bottom:4px}.auth-subtitle{text-align:center;color:var(--color-text-muted);margin-bottom:24px}.auth-footer{text-align:center;margin-top:20px;color:var(--color-text-muted);font-size:14px}.auth-divider{display:flex;align-items:center;margin:16px 0;color:var(--color-text-muted);font-size:13px}.auth-divider:before,.auth-divider:after{content:"";flex:1;border-bottom:1px solid var(--color-border)}.auth-divider span{padding:0 12px}.checkbox-label{display:flex!important;align-items:center;gap:8px;cursor:pointer;font-weight:400!important;font-size:14px!important}.checkbox-label input[type=checkbox]{width:16px;height:16px;accent-color:var(--color-primary);cursor:pointer}.checkbox-hint{font-size:12px;color:var(--color-text-muted);margin-top:4px;margin-left:24px}.guest-badge{display:inline-block;background:#ffffff40;color:#fff;font-size:11px;font-weight:600;padding:2px 8px;border-radius:10px;margin-left:6px;vertical-align:middle}.form-group{margin-bottom:16px}.form-group label{display:block;margin-bottom:6px;font-weight:500;font-size:14px;color:var(--color-text)}.input{width:100%;padding:10px 12px;border:1px solid var(--color-border);border-radius:var(--radius);font-size:15px;transition:border-color .2s;outline:none}.input:focus{border-color:var(--color-primary);box-shadow:0 0 0 2px #e74c3c26}.btn{display:inline-flex;align-items:center;justify-content:center;padding:10px 20px;border:1px solid var(--color-border);border-radius:var(--radius);font-size:14px;font-weight:500;cursor:pointer;background:var(--color-card);color:var(--color-text);transition:all .2s}.btn:hover{background:#f5f6fa}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.btn-primary:hover{background:var(--color-primary-dark)}.btn-danger{background:transparent;color:var(--color-danger);border-color:var(--color-danger)}.btn-danger:hover{background:var(--color-danger);color:#fff}.btn-sm{padding:5px 14px;font-size:13px}.btn-block{width:100%}.btn-secondary{background:var(--color-bg);color:var(--color-text);border-color:var(--color-border)}.btn-secondary:hover{background:var(--color-border)}.alert{padding:10px 14px;border-radius:var(--radius);margin-bottom:16px;font-size:14px}.alert-error{background:#fdecea;color:var(--color-danger);border:1px solid #f5c6cb}.alert-info{background:#eaf4fe;color:var(--color-info);border:1px solid #bee5eb}.captcha-group{display:flex;gap:10px;align-items:stretch}.captcha-input{flex:1;min-width:0}.captcha-img{width:130px;height:42px;border:1px solid var(--color-border);border-radius:var(--radius);cursor:pointer;display:flex;align-items:center;justify-content:center;overflow:hidden;flex-shrink:0;background:#f8f9fa}.captcha-img img{width:100%;height:100%;object-fit:cover}.captcha-loading,.captcha-placeholder{font-size:12px;color:var(--color-text-muted)}.loading-screen{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:var(--color-text-muted)}.spinner{width:32px;height:32px;border:3px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.app-layout{min-height:100vh;display:flex;flex-direction:column}.main-content{flex:1;max-width:var(--max-width);width:100%;margin:0 auto;padding:20px 16px 40px}.navbar{background:var(--color-primary);color:#fff;position:sticky;top:0;z-index:100;box-shadow:0 2px 8px #00000026}.nav-inner{max-width:var(--max-width);margin:0 auto;display:flex;align-items:center;justify-content:space-between;padding:0 16px;height:56px;gap:16px}.nav-brand{display:flex;align-items:center;gap:8px}.brand-icon{font-size:22px}.brand-text{font-weight:700;font-size:18px}.nav-links{display:flex;gap:4px}.nav-links a{color:#ffffffd9;padding:8px 14px;border-radius:var(--radius);font-size:14px;font-weight:500;text-decoration:none;transition:all .2s;white-space:nowrap}.nav-links a:hover,.nav-links a.active{background:#ffffff2e;color:#fff;text-decoration:none}.msg-link{position:relative}.badge{position:absolute;top:2px;right:2px;background:#fff;color:var(--color-primary);font-size:11px;font-weight:700;min-width:18px;height:18px;border-radius:9px;display:inline-flex;align-items:center;justify-content:center;padding:0 4px}.nav-user{display:flex;align-items:center;gap:12px}.nav-username{font-size:14px;opacity:.9}.btn-logout{background:#ffffff26;color:#fff;border:1px solid rgba(255,255,255,.3);padding:5px 14px;border-radius:var(--radius);font-size:13px;cursor:pointer;transition:all .2s}.btn-logout:hover{background:#ffffff40}.menu-toggle{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:4px}.menu-toggle span{display:block;width:22px;height:2px;background:#fff;border-radius:2px;transition:all .3s}.menu-toggle.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}.menu-toggle.open span:nth-child(2){opacity:0}.menu-toggle.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.page{padding:8px 0}.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;flex-wrap:wrap;gap:12px}.page-header h2{font-size:22px}.card{background:var(--color-card);border-radius:var(--radius);box-shadow:var(--shadow);padding:20px;margin-bottom:16px}.card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.card-header h3{font-size:16px}.card-body-text{color:var(--color-text-muted);font-size:14px}.text-muted{color:var(--color-text-muted)}.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:24px}.stat-card{background:var(--color-card);border-radius:var(--radius);box-shadow:var(--shadow);padding:20px;display:flex;align-items:center;gap:14px}.stat-icon{font-size:32px;flex-shrink:0}.stat-info{display:flex;flex-direction:column}.stat-value{font-size:20px;font-weight:700;color:var(--color-primary)}.stat-label{font-size:13px;color:var(--color-text-muted)}.action-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:24px}.action-card{background:var(--color-card);border:2px solid var(--color-border);border-radius:var(--radius);padding:24px 16px;display:flex;flex-direction:column;align-items:center;gap:8px;cursor:pointer;transition:all .2s;font-family:inherit;font-size:inherit;color:var(--color-text)}.action-card:hover{border-color:var(--color-primary);box-shadow:var(--shadow);transform:translateY(-2px)}.action-icon{font-size:36px}.action-text{font-size:16px;font-weight:600}.action-desc{font-size:13px;color:var(--color-text-muted)}.ball{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;font-size:13px;font-weight:700;margin:0 2px}.ball-front{background:var(--color-ball-front);color:#fff}.ball-back{background:var(--color-ball-back);color:#fff}.ball-sep{font-size:16px;font-weight:700;margin:0 4px;color:var(--color-text-muted)}.draw-table-wrapper{overflow-x:auto;-webkit-overflow-scrolling:touch}.draw-table{width:100%;border-collapse:collapse;font-size:14px}.draw-table th,.draw-table td{padding:10px 8px;text-align:left;border-bottom:1px solid var(--color-border)}.draw-table th{font-weight:600;background:#f8f9fa;position:sticky;top:0}.number-list{display:flex;flex-direction:column;gap:12px}.number-card{background:var(--color-card);border-radius:var(--radius);box-shadow:var(--shadow);padding:16px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px}.number-info{display:flex;flex-direction:column;gap:8px}.number-label{font-weight:600;font-size:15px}.number-balls{display:flex;align-items:center;flex-wrap:wrap}.number-actions{display:flex;gap:8px}.form-card{margin-bottom:20px}.form-card h3{margin-bottom:12px}.empty-state{text-align:center;padding:48px 20px;color:var(--color-text-muted)}.empty-state p{margin-bottom:8px}.draw-selector-card{padding:14px 18px}.draw-selector-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;gap:8px}.draw-selector-label{font-size:14px;font-weight:500}.draw-selector-hint{font-size:12px;color:var(--color-text-muted)}.draw-selector-chips{display:flex;flex-wrap:wrap;gap:8px}.draw-chip{display:flex;align-items:center;gap:6px;padding:6px 12px;border:1px solid var(--color-border);border-radius:20px;cursor:pointer;font-size:13px;transition:all .2s;-webkit-user-select:none;user-select:none;background:var(--color-card)}.draw-chip:hover{border-color:var(--color-primary);background:#fef5f5}.draw-chip.selected{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.draw-chip input[type=checkbox]{display:none}.chip-period{font-weight:600}.chip-date{opacity:.8}.grand-total-card{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;background:linear-gradient(135deg,#2c3e50,#34495e);color:#fff}.grand-total-label{font-size:15px;opacity:.9}.grand-total-value{font-size:24px;font-weight:700}.grand-total-value.winning{color:var(--color-winning)}.report-card{padding:0;overflow:hidden}.report-card.has-win{border-left:4px solid var(--color-winning)}.report-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;cursor:pointer;transition:background .2s;flex-wrap:wrap;gap:8px}.report-header:hover{background:#f8f9fa}.report-header-left{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.report-label{font-weight:600;min-width:60px}.report-balls{display:flex;align-items:center}.report-header-right{display:flex;align-items:center;gap:10px}.report-win-total{font-weight:600;color:var(--color-text-muted)}.report-win-total.winning{color:var(--color-winning)}.expand-arrow{font-size:12px;transition:transform .2s;color:var(--color-text-muted)}.expand-arrow.open{transform:rotate(180deg)}.report-detail{border-top:1px solid var(--color-border);padding:0 20px 12px;overflow-x:auto}.result-table{width:100%;border-collapse:collapse;font-size:13px}.result-table th,.result-table td{padding:8px 6px;text-align:left;border-bottom:1px solid var(--color-border)}.result-table .row-win{background:#fef9e7;font-weight:600}.message-list{display:flex;flex-direction:column;gap:10px}.message-card{background:var(--color-card);border-radius:var(--radius);box-shadow:var(--shadow);padding:16px 18px;cursor:pointer;transition:all .2s}.message-card.unread{border-left:3px solid var(--color-primary)}.message-card.read{opacity:.7}.message-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;gap:8px;flex-wrap:wrap}.message-title{font-weight:600;font-size:15px;display:flex;align-items:center;gap:6px}.unread-dot{width:8px;height:8px;border-radius:50%;background:var(--color-primary);display:inline-block;flex-shrink:0}.message-time{font-size:12px;color:var(--color-text-muted)}.message-content{font-size:14px;line-height:1.5;white-space:pre-wrap}.message-content p{margin-bottom:2px}.message-win-badge{margin-top:10px;display:inline-block;background:#fef9e7;color:var(--color-winning);font-weight:600;padding:4px 12px;border-radius:16px;font-size:13px}.pagination{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:20px}.page-info{font-size:14px;color:var(--color-text-muted)}@media (max-width: 768px){.stats-grid,.action-grid{grid-template-columns:1fr}.auth-card{padding:28px 20px}.auth-title{font-size:24px}.menu-toggle{display:flex}.nav-links{display:none;position:absolute;top:56px;left:0;right:0;background:var(--color-primary-dark);flex-direction:column;padding:8px 0;box-shadow:0 4px 12px #0003}.nav-links.open{display:flex}.nav-links a{padding:12px 20px;border-radius:0;font-size:15px}.nav-user{display:none;position:absolute;top:256px;left:0;right:0;background:var(--color-primary-dark);flex-direction:column;padding:12px 20px;box-shadow:0 4px 12px #0003}.nav-user.open{display:flex}.nav-user .nav-username{display:none}.btn-logout{width:100%;text-align:center}.number-card{flex-direction:column;align-items:flex-start}.number-actions{align-self:flex-end}.report-header{flex-direction:column;align-items:flex-start}.report-header-right{width:100%;justify-content:space-between}.grand-total-card{flex-direction:column;align-items:flex-start;gap:8px}.ball{width:26px;height:26px;font-size:12px;margin:0 1px}}@media (min-width: 769px) and (max-width: 1024px){.stats-grid,.action-grid{grid-template-columns:repeat(3,1fr)}}
