:root{--bg-primary: #0a0e1a;--bg-secondary: #101828;--bg-card: #151d2e;--bg-card-hover: #1a2438;--bg-sidebar: #0d1320;--bg-input: #0f1729;--border-subtle: rgba(148, 163, 184, .1);--border-medium: rgba(148, 163, 184, .18);--border-gold: rgba(212, 175, 55, .4);--text-primary: #f1f5f9;--text-secondary: #94a3b8;--text-muted: #64748b;--gold-50: #fef9c3;--gold-100: #fde68a;--gold-200: #fcd34d;--gold-400: #d4af37;--gold-600: #92400e;--green-400: #4ade80;--green-500: #22c55e;--red-400: #f87171;--red-500: #ef4444;--blue-400: #60a5fa;--blue-500: #3b82f6;--amber-400: #fbbf24;--purple-400: #c084fc;--sidebar-width: 300px;--topbar-height: 64px;--radius-sm: 9px;--radius-md: 14px;--radius-lg: 18px;--radius-xl: 22px;--shadow-card: 0 1px 3px rgba(0, 0, 0, .3), 0 1px 2px rgba(0, 0, 0, .2);--shadow-lg: 0 10px 40px rgba(0, 0, 0, .4)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:var(--bg-primary);color:var(--text-primary);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:var(--gold-200);text-decoration:none}a:hover{color:var(--gold-100)}button{font-family:inherit;cursor:pointer}input,textarea,select{font-family:inherit;font-size:inherit}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#94a3b833;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#94a3b859}.text-gold{color:var(--gold-200)}.text-green{color:var(--green-400)}.text-red{color:var(--red-400)}.text-blue{color:var(--blue-400)}.text-muted{color:var(--text-secondary)}.page{max-width:1800px}.page-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:30px;gap:20px;flex-wrap:wrap}.eyebrow{color:var(--gold-400);font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.14em;margin-bottom:8px}.page h1{font-size:36px;font-weight:800;margin:0}.subtitle{color:var(--text-secondary);margin-top:6px;font-size:15px}.actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.search-input{width:300px;height:48px;border:1px solid var(--border-medium);border-radius:var(--radius-md);background:var(--bg-input);color:var(--text-primary);padding:0 16px;outline:none;font-size:15px}.search-input:focus{border-color:var(--gold-400)}.action-btn{height:48px;padding:0 20px;border-radius:var(--radius-md);border:1px solid var(--border-medium);background:var(--bg-card);color:var(--text-primary);font-weight:600;font-size:15px;transition:all .15s}.action-btn:hover{border-color:var(--gold-400)}.action-btn.active{border-color:var(--gold-400);background:#d4af371f;color:var(--gold-100)}.mini-stats{display:flex;gap:16px;margin-bottom:26px;flex-wrap:wrap}.mini-stat{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:16px 26px;display:flex;gap:16px;align-items:center}.mini-stat span{color:var(--text-secondary);font-size:15px;font-weight:600}.mini-stat strong{font-size:27px;font-weight:800}.table-card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);overflow:hidden}.table-wrap{overflow-x:auto}.table-card table{width:100%;border-collapse:collapse;min-width:900px}.table-card th,.table-card td{padding:16px 20px;border-bottom:1px solid var(--border-subtle);text-align:left;white-space:nowrap}.table-card th{background:#0003;color:var(--gold-100);font-size:13px;text-transform:uppercase;letter-spacing:.06em;font-weight:800}.right{text-align:right}.bold{font-weight:700}.mono{font-family:Courier New,monospace;font-size:14px;color:var(--text-secondary)}.loading{padding:60px;text-align:center;color:var(--text-secondary)}.empty{padding:40px;text-align:center;color:var(--text-muted)}.clickable-row{cursor:pointer;transition:background .1s}.clickable-row:hover{background:#ffffff08}.badge{font-size:13px;font-weight:700;padding:4px 12px;border-radius:7px}.badge-green{background:#22c55e1f;color:var(--green-400)}.badge-red{background:#ef44441f;color:var(--red-400)}.badge-amber{background:#fbbf241f;color:var(--amber-400)}.badge-blue{background:#3b82f61f;color:var(--blue-400)}.badge-purple{background:#a855f71f;color:var(--purple-400)}.badge-muted{background:#94a3b814;color:var(--text-muted)}.coin-btn{background:#fbbf241a;border:1px solid rgba(251,191,36,.25);color:var(--amber-400);font-weight:700;padding:6px 15px;border-radius:9px;cursor:pointer;font-size:15px;transition:all .15s}.coin-btn:hover{background:#fbbf2433}.icon-btn{width:40px;height:40px;border:1px solid var(--border-subtle);border-radius:10px;background:transparent;font-size:17px;cursor:pointer;transition:all .15s;display:inline-grid;place-items:center}.icon-btn:hover{background:#ffffff0f;border-color:var(--border-medium)}.actions-cell{display:flex;gap:8px;justify-content:flex-end}.modal-backdrop{position:fixed;inset:0;background:#0009;backdrop-filter:blur(4px);display:flex;justify-content:center;align-items:center;z-index:100;padding:20px}.modal-content{background:var(--bg-secondary);border:1px solid var(--border-medium);border-radius:var(--radius-xl);padding:34px;width:min(760px,100%);max-height:90vh;overflow-y:auto}.modal-content.sm{width:min(540px,100%)}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:28px}.modal-header h2{font-size:25px;font-weight:800;margin:0}.close-btn{width:42px;height:42px;border-radius:11px;border:1px solid var(--border-subtle);background:transparent;color:var(--text-secondary);font-size:18px;cursor:pointer;display:grid;place-items:center}.close-btn:hover{background:#ef44441a;color:var(--red-400)}.modal-footer{display:flex;justify-content:flex-end;gap:12px;margin-top:28px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.form-grid.single{grid-template-columns:1fr}.form-field label{display:block;font-size:13.5px;font-weight:700;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;margin-bottom:8px}.form-field input,.form-field select,.form-field textarea{width:100%;height:50px;padding:0 16px;border:1px solid var(--border-medium);border-radius:var(--radius-md);background:var(--bg-input);color:var(--text-primary);outline:none;font-size:15px}.form-field textarea{height:auto;padding:14px 16px;resize:vertical}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{border-color:var(--gold-400)}.primary-btn{height:50px;padding:0 26px;border-radius:var(--radius-md);border:none;background:linear-gradient(135deg,var(--gold-100),var(--gold-400),var(--gold-600));color:var(--bg-primary);font-weight:700;font-size:15px;cursor:pointer;transition:opacity .15s}.primary-btn:hover{opacity:.9}.primary-btn:disabled{opacity:.5;cursor:not-allowed}.secondary-btn{height:50px;padding:0 26px;border-radius:var(--radius-md);border:1px solid var(--border-medium);background:transparent;color:var(--text-primary);font-weight:600;font-size:15px;cursor:pointer}.secondary-btn:hover{background:#ffffff0a}.danger-btn{height:50px;padding:0 26px;border-radius:var(--radius-md);border:1px solid rgba(239,68,68,.4);background:#ef44441f;color:var(--red-400);font-weight:700;font-size:15px;cursor:pointer}.danger-btn:hover{background:#ef444433}.pagination{display:flex;gap:10px;align-items:center;justify-content:center;padding:20px}.pagination button{height:42px;min-width:42px;padding:0 15px;border-radius:9px;border:1px solid var(--border-medium);background:var(--bg-card);color:var(--text-primary);font-weight:600;font-size:15px}.pagination button:disabled{opacity:.4;cursor:not-allowed}.pagination .page-info{color:var(--text-secondary);font-size:15px;margin:0 10px}.presence-dot{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:8px;vertical-align:middle}.presence-dot.online{background:var(--green-400);box-shadow:0 0 6px var(--green-400)}.presence-dot.in_game{background:var(--blue-400);box-shadow:0 0 6px var(--blue-400)}.presence-dot.busy{background:var(--amber-400)}.presence-dot.offline{background:var(--text-muted)}.avatar-sm{width:38px;height:38px;border-radius:50%;object-fit:cover;background:var(--bg-input);border:1px solid var(--border-subtle);vertical-align:middle}
