*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}:root{--bg: #0d0d1a;--bg2: #15152a;--bg3: #1e1e35;--red: #e94560;--text: #f0f0f5;--muted: #8585a0;--border: rgba(255,255,255,.08);--radius: 8px;--sidebar: 220px}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;background:var(--bg);color:var(--text);min-height:100vh}a{color:inherit;text-decoration:none}button{cursor:pointer;font-family:inherit}.layout{display:grid;grid-template-columns:var(--sidebar) 1fr;min-height:100vh}.sidebar{background:var(--bg2);border-right:1px solid var(--border);display:flex;flex-direction:column;padding:24px 16px;position:sticky;top:0;height:100vh}.sidebar-logo{font-size:22px;font-weight:900;color:var(--red);margin-bottom:32px;padding-left:8px}.sidebar-logo span{color:var(--muted);font-weight:400;font-size:14px}.sidebar nav{display:flex;flex-direction:column;gap:4px;flex:1}.sidebar nav a{padding:10px 12px;border-radius:var(--radius);font-size:14px;color:var(--muted);transition:background .15s,color .15s}.sidebar nav a:hover{background:var(--bg3);color:var(--text)}.sidebar nav a.active{background:#e9456026;color:var(--red)}.logout{background:none;border:1px solid var(--border);color:var(--muted);padding:10px 12px;border-radius:var(--radius);font-size:14px;transition:color .15s,border-color .15s}.logout:hover{color:var(--text);border-color:#fff3}.content{padding:32px 36px;overflow-y:auto}.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.page-header h2{font-size:22px;font-weight:700}.btn-primary{background:var(--red);color:#fff;padding:10px 18px;border:none;border-radius:var(--radius);font-size:14px;font-weight:600;transition:opacity .2s}.btn-primary:hover{opacity:.85}.btn-ghost{background:var(--bg3);color:var(--muted);padding:10px 18px;border:1px solid var(--border);border-radius:var(--radius);font-size:14px;transition:color .2s}.btn-ghost:hover{color:var(--text)}.btn-sm{background:var(--bg3);border:1px solid var(--border);color:var(--text);padding:5px 10px;border-radius:6px;font-size:13px;margin-right:4px;transition:background .15s}.btn-sm:hover{background:var(--bg2)}.btn-sm.danger:hover{background:#e9456033;border-color:var(--red)}.stats{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:16px;margin-top:20px}.stat-card{background:var(--bg2);border:1px solid var(--border);border-top:3px solid transparent;border-radius:var(--radius);padding:20px 16px}.stat-card span{display:block;font-size:32px;font-weight:800;margin-bottom:6px}.stat-card p{color:var(--muted);font-size:13px}.subtitle{color:var(--muted);margin-top:6px;font-size:14px}.filter-tabs{display:flex;gap:4px;margin-bottom:20px;border-bottom:1px solid var(--border);padding-bottom:1px}.filter-tabs button{background:none;border:none;color:var(--muted);font-size:14px;padding:8px 16px;border-bottom:2px solid transparent;margin-bottom:-1px;transition:color .15s,border-color .15s}.filter-tabs button:hover{color:var(--text)}.filter-tabs button.active{color:var(--text);border-bottom-color:var(--red)}.admin-table{width:100%;border-collapse:collapse;font-size:14px}.admin-table th{text-align:left;padding:10px 14px;color:var(--muted);font-weight:600;border-bottom:1px solid var(--border);font-size:12px;text-transform:uppercase;letter-spacing:.5px}.admin-table td{padding:12px 14px;border-bottom:1px solid var(--border);vertical-align:middle}.admin-table tr:last-child td{border-bottom:none}.admin-table tr:hover td{background:#ffffff05}.empty-row{text-align:center;color:var(--muted);padding:40px!important}.type-chip{display:inline-block;padding:3px 8px;background:var(--bg3);border-radius:4px;font-size:12px;color:var(--muted)}.ch-name{display:flex;align-items:center;gap:8px}.ch-name img{width:28px;height:28px;object-fit:contain;border-radius:4px}.truncate{max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block;color:var(--muted);font-size:12px}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:200}.modal{background:var(--bg2);border:1px solid var(--border);border-radius:12px;padding:32px;width:500px;max-height:85vh;overflow-y:auto}.modal.wide{width:680px}.modal h3{font-size:18px;margin-bottom:20px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:16px}.form-grid label{display:flex;flex-direction:column;gap:6px}.form-grid label.span-2{grid-column:span 2}.form-grid label span{font-size:12px;color:var(--muted)}.form-grid input,.form-grid select,.form-grid textarea{background:var(--bg3);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);padding:9px 12px;font-size:14px;font-family:inherit;outline:none;transition:border-color .2s}.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus{border-color:var(--red)}.form-grid textarea{resize:vertical;min-height:80px}.checkbox-label{flex-direction:row!important;align-items:center;gap:8px!important}.checkbox-label input{width:16px;height:16px}.modal-actions{display:flex;gap:10px;margin-top:20px}.error{color:#ff6b6b;font-size:13px}.pagination{display:flex;gap:6px;justify-content:flex-end;margin-top:20px}.pagination button{background:var(--bg2);border:1px solid var(--border);color:var(--muted);padding:6px 12px;border-radius:6px;font-size:13px;transition:background .15s,color .15s}.pagination button.active,.pagination button:hover{background:var(--red);border-color:var(--red);color:#fff}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg)}.login-card{background:var(--bg2);border:1px solid var(--border);border-radius:16px;padding:40px;width:380px;display:flex;flex-direction:column;gap:16px}.login-card .logo{font-size:28px;font-weight:900;color:var(--red);text-align:center}.login-card h2{text-align:center;font-size:18px;color:var(--muted);margin-top:-8px}.login-card input{padding:12px 16px;background:var(--bg3);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);font-size:15px;outline:none;transition:border-color .2s}.login-card input:focus{border-color:var(--red)}.info-box{background:#3b82f61a;border:1px solid rgba(59,130,246,.3);border-radius:var(--radius);padding:14px 16px;font-size:14px;color:#93c5fd;margin-bottom:20px}.info-box code{background:#ffffff1a;padding:2px 6px;border-radius:4px;font-family:monospace}.muted{color:var(--muted)}
