:root{--bg: #ffffff;--bg-elevated: #ffffff;--text: #1a1d29;--text-muted: #6b7280;--border: #e5e7eb;--primary: #6366f1;--primary-hover: #4f46e5;--primary-contrast: #ffffff;--success: #16a34a;--success-bg: #dcfce7;--warning: #d97706;--warning-bg: #fef3c7;--danger: #dc2626;--danger-bg: #fee2e2;--muted-bg: #f5f6fa;--radius: 12px;--shadow: 0 1px 3px rgba(0, 0, 0, .06), 0 1px 2px rgba(0, 0, 0, .08);--shadow-lg: 0 10px 30px rgba(0, 0, 0, .12)}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:Segoe UI,system-ui,-apple-system,Roboto,sans-serif;background:var(--bg);color:var(--text);transition:background .2s ease,color .2s ease}h1,h2,h3{margin:0 0 .5rem}p{margin:0 0 .75rem}.muted{color:var(--text-muted);font-size:.9rem}input,select,textarea{font-family:inherit;font-size:1rem;padding:.65rem .85rem;border-radius:8px;border:1px solid var(--border);background:var(--bg-elevated);color:var(--text);width:100%}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #6366f126}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;padding:.65rem 1.1rem;border-radius:8px;border:1px solid transparent;font-weight:600;font-size:.95rem;cursor:pointer;transition:all .15s ease;white-space:nowrap}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background:var(--primary);color:var(--primary-contrast)}.btn-primary:hover:not(:disabled){background:var(--primary-hover)}.btn-secondary{background:var(--muted-bg);color:var(--text)}.btn-secondary:hover:not(:disabled){filter:brightness(.95)}.btn-ghost{background:transparent;color:var(--text);border-color:var(--border)}.btn-ghost:hover:not(:disabled){background:var(--muted-bg)}.btn-danger{background:var(--danger-bg);color:var(--danger)}.btn-danger:hover:not(:disabled){filter:brightness(.95)}.btn-block{width:100%}.btn-sm{padding:.4rem .7rem;font-size:.85rem}.btn-row{display:flex;gap:.6rem;flex-wrap:wrap}.card{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);padding:1.5rem;box-shadow:var(--shadow)}.page-center{min-height:100vh;display:flex;align-items:center;justify-content:center;position:relative;padding:1rem}.page-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.75rem;margin-bottom:1.25rem}.form-grid{display:flex;flex-direction:column;gap:.9rem}.form-row{display:flex;gap:.9rem;flex-wrap:wrap}.form-row>*{flex:1;min-width:160px}.field-label{display:flex;flex-direction:column;gap:.35rem;font-size:.85rem;color:var(--text-muted);flex:1;min-width:160px}.checkbox-label{display:flex;align-items:center;gap:.5rem;font-size:.95rem}.checkbox-label input{width:auto}.search-form{display:flex;gap:.75rem;flex-wrap:wrap;margin-bottom:1rem}.search-form input{flex:1;min-width:200px}.loader{display:flex;align-items:center;gap:.6rem;color:var(--text-muted);padding:1rem 0}.spinner{width:20px;height:20px;border:3px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:spin .7s linear infinite;display:inline-block}.loader-sm .spinner{width:16px;height:16px;border-width:2px}@keyframes spin{to{transform:rotate(360deg)}}.toast-container{position:fixed;top:1rem;right:1rem;z-index:1000;display:flex;flex-direction:column;gap:.6rem}.toast{padding:.85rem 1.2rem;border-radius:10px;box-shadow:var(--shadow-lg);font-size:.9rem;font-weight:500;color:#fff;animation:slideIn .2s ease;max-width:320px}.toast-success{background:var(--success)}.toast-error{background:var(--danger)}@keyframes slideIn{0%{transform:translate(20px);opacity:0}to{transform:translate(0);opacity:1}}.user-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:1.5rem;position:relative;background:linear-gradient(135deg,var(--bg) 0%,var(--muted-bg) 100%)}.user-card{width:100%;max-width:420px;text-align:center;padding:2.5rem 2rem}.user-logo{width:72px;height:72px;margin-bottom:.6rem}.brand-name{font-weight:800;font-size:1.15rem;letter-spacing:-.01em;background:linear-gradient(135deg,#6366f1,#8b5cf6);-webkit-background-clip:text;background-clip:text;color:transparent;margin-bottom:1.25rem}.code-form h1{font-size:1.5rem}.code-input{text-align:center;font-size:1.4rem;letter-spacing:.1em;margin:1rem 0}.claim-form{display:flex;flex-direction:column;gap:.75rem;text-align:left;margin-top:1rem}.login-card{width:100%;max-width:380px;text-align:center}.result-block{padding-top:.5rem}.result-icon{font-size:3rem;margin-bottom:.5rem}.result-sub{color:var(--text-muted);margin-bottom:1rem}.prize-box{background:var(--success-bg);border-radius:10px;padding:1rem;margin:1rem 0}.prize-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.prize-name{font-size:1.3rem;font-weight:700;color:var(--success)}.result-warning .result-icon,.result-error .result-icon{filter:none}.admin-shell{display:flex;min-height:100vh}.admin-sidebar{width:240px;flex-shrink:0;background:var(--bg-elevated);border-right:1px solid var(--border);padding:1.5rem 1rem;display:flex;flex-direction:column;gap:1.5rem}.admin-brand{display:flex;align-items:center;gap:.6rem;font-weight:700;padding:0 .5rem}.admin-brand-logo{width:32px;height:32px}.admin-nav{display:flex;flex-direction:column;gap:.25rem}.admin-nav-link{display:flex;align-items:center;gap:.65rem;padding:.65rem .75rem;border-radius:8px;text-decoration:none;color:var(--text-muted);font-weight:500;font-size:.92rem}.admin-nav-link:hover{background:var(--muted-bg);color:var(--text)}.admin-nav-link.active{background:var(--primary);color:var(--primary-contrast)}.admin-main{flex:1;display:flex;flex-direction:column;min-width:0}.admin-topbar{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.5rem;border-bottom:1px solid var(--border);background:var(--bg-elevated)}.admin-topbar-actions{display:flex;align-items:center;gap:.75rem}.admin-content{padding:1.5rem;flex:1;overflow-x:auto}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:1rem}.stat-card{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem;box-shadow:var(--shadow)}.stat-icon{font-size:1.5rem;margin-bottom:.4rem}.stat-value{font-size:1.8rem;font-weight:700}.stat-label{color:var(--text-muted);font-size:.85rem}.table-wrap{overflow-x:auto}.table{width:100%;border-collapse:collapse;font-size:.9rem}.table th,.table td{text-align:left;padding:.7rem .6rem;border-bottom:1px solid var(--border);white-space:nowrap}.table th{color:var(--text-muted);font-weight:600;font-size:.8rem;text-transform:uppercase;letter-spacing:.03em}.badge{display:inline-block;padding:.2rem .6rem;border-radius:999px;font-size:.78rem;font-weight:600}.badge-success{background:var(--success-bg);color:var(--success)}.badge-muted{background:var(--muted-bg);color:var(--text-muted)}.badge-warning{background:var(--warning-bg);color:var(--warning)}.badge-danger{background:var(--danger-bg);color:var(--danger)}.tabs{display:flex;gap:.5rem;margin-bottom:1rem}.tab{background:transparent;border:1px solid var(--border);border-radius:8px;padding:.55rem 1rem;cursor:pointer;color:var(--text-muted);font-weight:600;font-size:.9rem}.tab.active{background:var(--primary);border-color:var(--primary);color:var(--primary-contrast)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:100;padding:1rem}.modal{max-width:340px;width:100%;text-align:center}.qr-wrap{display:flex;justify-content:center;padding:1rem;background:#fff;border-radius:8px;margin:1rem 0}.apikey-box{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.75rem;background:var(--muted-bg);border:1px solid var(--border);border-radius:8px;padding:.85rem 1rem;margin:1rem 0}.apikey-value{font-family:Consolas,Courier New,monospace;font-size:.95rem;word-break:break-all}.code-block{background:var(--muted-bg);border:1px solid var(--border);border-radius:8px;padding:1rem;font-family:Consolas,Courier New,monospace;font-size:.85rem;overflow-x:auto;white-space:pre;margin:.5rem 0 1.25rem}@media (max-width: 768px){.admin-shell{flex-direction:column}.admin-sidebar{width:100%;flex-direction:row;overflow-x:auto;padding:.75rem;align-items:center}.admin-brand{display:none}.admin-nav{flex-direction:row}.admin-nav-link span:last-child{display:none}.admin-content{padding:1rem}}.table-toolbar,.table-footer{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.75rem;margin-bottom:.75rem}.table-footer{margin:.75rem 0 0}.table-search{flex:1;min-width:200px;max-width:340px}.th-sort{cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap}.th-sort:hover{color:var(--text)}.sort-arrow{font-size:.7rem}.stat-grid-compact{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));margin-bottom:1.25rem}.stat-card.clickable{cursor:pointer;text-align:left;font:inherit;color:inherit}.stat-card.clickable:hover{border-color:var(--primary)}.stat-card.active{border-color:var(--primary);box-shadow:0 0 0 2px var(--primary)}.stat-sub{color:var(--text-muted);font-size:.75rem;margin-top:.2rem}.password-field{position:relative}.password-field input{width:100%;padding-right:2.75rem}.password-toggle{position:absolute;top:50%;right:.5rem;transform:translateY(-50%);background:transparent;border:0;padding:.35rem;cursor:pointer;color:var(--text-muted);display:flex;align-items:center}.password-toggle:hover{color:var(--text)}.card{transition:box-shadow .2s ease}.btn{transition:background .15s ease,transform .1s ease,box-shadow .15s ease}.btn:active:not(:disabled){transform:translateY(1px)}.btn-primary{box-shadow:0 1px 2px #6366f159}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #6366f12e}.table tbody tr:hover{background:var(--muted-bg)}.table th{background:var(--muted-bg);position:sticky;top:0}.stat-card{transition:transform .15s ease,box-shadow .15s ease}.stat-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.page-center,.user-page{background:linear-gradient(160deg,#eef0ff,#fff 55%)}.admin-main{min-width:0}.table-wrap,.code-block{-webkit-overflow-scrolling:touch}.tabs{overflow-x:auto;flex-wrap:nowrap}.tab{white-space:nowrap}@media (max-width: 768px){input,select,textarea{font-size:16px}.admin-sidebar{position:sticky;top:0;z-index:20;gap:.25rem;border-right:0;border-bottom:1px solid var(--border);box-shadow:var(--shadow)}.admin-nav{gap:.25rem}.admin-nav-link{padding:.6rem .8rem;flex-shrink:0}.admin-nav-icon{font-size:1.15rem}.admin-topbar{padding:.6rem 1rem;font-size:.85rem}.admin-content{padding:.85rem}.card{padding:1rem}.page-header{flex-direction:column;align-items:stretch}.page-header h1{font-size:1.4rem}.page-header .btn-row,.page-header select{width:100%}.form-row>*{min-width:100%}.btn{min-height:44px}.btn-sm{min-height:36px}.btn-row{flex-wrap:wrap}.stat-grid,.stat-grid-compact{grid-template-columns:repeat(2,1fr);gap:.6rem}.stat-card{padding:.85rem}.stat-value{font-size:1.4rem}.table-toolbar,.table-footer{flex-direction:column;align-items:stretch}.table-search{max-width:none;min-width:0;width:100%}.table-toolbar .btn-row,.table-footer .btn-row{justify-content:space-between}.modal{width:calc(100% - 2rem);max-width:420px}.user-card,.login-card{padding:1.75rem 1.25rem;border-radius:14px}.apikey-box{flex-direction:column;align-items:stretch}.apikey-value{word-break:break-all}}@media (max-width: 400px){.stat-grid,.stat-grid-compact{grid-template-columns:1fr}}.login-logo{width:100%;height:auto;max-width:100%;object-fit:contain;margin-bottom:.75rem}
