@import url("https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,300;0,14..32,400;0,14..32,500;0,14..32,600;0,14..32,700;0,14..32,800;1,14..32,400&display=swap");*,:after,:before{box-sizing:border-box;margin:0;padding:0}:root{--bg:#080808;--bg-card:#0d0d0d;--bg-card2:#131313;--border:#1e1e1e;--border-hover:#2e2e2e;--accent:#fff;--accent-muted:#2a2a2a;--success:#4ade80;--danger:#f87171;--warn:#fbbf24;--info:#60a5fa;--text:#f0f0f0;--text-muted:#606060;--text-dim:#303030;--radius:9px;--radius-sm:7px}body,html{background:var(--bg);color:var(--text);font-family:Inter,sans-serif;font-size:14px;line-height:1.6;min-height:100vh;-webkit-font-smoothing:antialiased}::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#252525;border-radius:2px}::-webkit-scrollbar-thumb:hover{background:#333}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInScale{0%{opacity:0;transform:scale(.97) translateY(6px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes shimmer{0%{background-position:-600px 0}to{background-position:600px 0}}@keyframes ripple{0%{transform:scale(0);opacity:.35}to{transform:scale(3);opacity:0}}@keyframes pulse-soft{0%,to{opacity:1}50%{opacity:.6}}@keyframes slide-in{0%{opacity:0;transform:translateX(-6px)}to{opacity:1;transform:translateX(0)}}.fade-in{animation:fadeIn .22s ease forwards}.fade-in-scale{animation:fadeInScale .22s cubic-bezier(.34,1.56,.64,1) forwards}.app-layout,.layout{display:flex;min-height:100vh}.sidebar{width:220px;min-width:220px;background:var(--bg);border-right:1px solid var(--border);display:flex;flex-direction:column;position:fixed;top:0;left:0;bottom:0;z-index:50}.main-content{margin-left:220px;flex:1 1;padding:32px 36px;max-width:calc(100vw - 220px)}.container{max-width:1280px;margin:0 auto;padding:0 24px}.sidebar-logo{padding:20px 20px 18px;border-bottom:1px solid var(--border);margin-bottom:8px}.sidebar-logo h2{font-size:15px;font-weight:600;color:var(--text)}.sidebar-logo span{font-size:11px;color:var(--text-dim)}.nav-section{padding:12px 20px 4px;font-size:10px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--text-dim)}.nav-item{display:flex;align-items:center;gap:10px;padding:8px 16px 8px 20px;color:#383838;text-decoration:none;font-size:13px;font-weight:400;transition:color .15s ease,background .15s ease;position:relative}.nav-item:before{content:"";position:absolute;left:0;top:20%;bottom:20%;width:2px;background:var(--text);border-radius:0 2px 2px 0;opacity:0;transition:opacity .15s ease,top .15s ease,bottom .15s ease}.nav-item:hover{color:#707070;background:hsla(0,0%,100%,.025)}.nav-item.active{color:var(--text);background:hsla(0,0%,100%,.04)}.nav-item.active:before{opacity:1}.nav-icon{color:inherit;flex-shrink:0;transition:color .15s}.page-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:28px;padding-bottom:22px;border-bottom:1px solid var(--border)}.page-title{font-size:18px;font-weight:700;color:var(--text);letter-spacing:-.02em}.page-header p,.page-subtitle{color:#3a3a3a;font-size:12.5px;margin-top:3px}.page-header h1{font-size:18px;font-weight:700;color:var(--text);letter-spacing:-.02em}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:7px 14px;border-radius:var(--radius-sm);font-size:12.5px;font-weight:500;cursor:pointer;outline:none;transition:background .15s ease,border-color .15s ease,box-shadow .18s ease,transform .15s cubic-bezier(.34,1.4,.64,1),color .15s ease,opacity .15s ease;text-decoration:none;letter-spacing:.01em;position:relative;overflow:hidden;-webkit-user-select:none;-moz-user-select:none;user-select:none;white-space:nowrap;border:1px solid var(--border);background:var(--bg-card2);color:#606060}.btn:after{content:"";position:absolute;width:40px;height:40px;border-radius:50%;background:hsla(0,0%,100%,.12);transform:scale(0);opacity:0;pointer-events:none;transition:none}.btn:active:after{animation:ripple .4s ease forwards}.btn:hover{border-color:var(--border-hover);color:#909090;background:#191919;transform:translateY(-1px);box-shadow:0 4px 12px rgba(0,0,0,.35)}.btn:active{transform:translateY(0) scale(.975);box-shadow:none}.btn:disabled{opacity:.38;cursor:not-allowed;transform:none!important;box-shadow:none!important;pointer-events:none}.btn-primary{background:#fff;color:#0a0a0a;border-color:transparent;font-weight:600;box-shadow:0 1px 3px rgba(0,0,0,.5),0 0 0 0 hsla(0,0%,100%,0)}.btn-primary:hover{background:#efefef;color:#000;border-color:transparent;box-shadow:0 4px 20px hsla(0,0%,100%,.14),0 1px 4px rgba(0,0,0,.4);transform:translateY(-1px)}.btn-primary:active{background:#ddd;transform:translateY(0) scale(.975);box-shadow:0 1px 2px rgba(0,0,0,.4)}.btn-primary:after{background:rgba(0,0,0,.12)}.btn-danger{background:transparent;color:#c0544a;border-color:hsla(0,91%,71%,.18)}.btn-danger:hover{background:hsla(0,91%,71%,.07);border-color:hsla(0,91%,71%,.35);color:var(--danger);box-shadow:0 0 14px hsla(0,91%,71%,.1);transform:translateY(-1px)}.btn-danger:after{background:hsla(0,91%,71%,.15)}.btn-success{background:transparent;color:#3a9a60;border-color:rgba(74,222,128,.18)}.btn-success:hover{background:rgba(74,222,128,.07);border-color:rgba(74,222,128,.35);color:var(--success);box-shadow:0 0 14px rgba(74,222,128,.1);transform:translateY(-1px)}.btn-ghost{background:transparent;color:#505050;border-color:var(--border)}.btn-ghost:hover{background:var(--bg-card2);color:var(--text);border-color:var(--border-hover);transform:translateY(-1px)}.btn-sm{padding:4px 10px;font-size:11.5px;border-radius:6px;gap:4px}.badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:5px;font-size:11px;font-weight:500;letter-spacing:.03em}.badge-active{background:rgba(74,222,128,.07);color:#4ade80;border:1px solid rgba(74,222,128,.18)}.badge-banned{background:hsla(0,91%,71%,.07);color:#f87171;border:1px solid hsla(0,91%,71%,.18)}.badge-expired{background:hsla(0,0%,40%,.07);color:#606060;border:1px solid hsla(0,0%,40%,.18)}.badge-pending{border:1px solid rgba(251,191,36,.18)}.badge-pending,.badge-warn{background:rgba(251,191,36,.07);color:#fbbf24}.badge-warn{border:1px solid rgba(251,191,36,.15)}.badge-danger{background:hsla(0,91%,71%,.07);color:#f87171;border:1px solid hsla(0,91%,71%,.15)}.badge-info{background:rgba(96,165,250,.07);color:#60a5fa;border:1px solid rgba(96,165,250,.15)}.badge-success{background:rgba(74,222,128,.07);color:#4ade80;border:1px solid rgba(74,222,128,.15)}.badge-dim{background:hsla(0,0%,100%,.04);color:#505050;border:1px solid hsla(0,0%,100%,.06)}.input{width:100%;background:#090909;border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);padding:8px 12px;font-size:13px;outline:none;transition:border-color .15s ease,box-shadow .15s ease;font-family:Inter,sans-serif}.input:focus{border-color:#353535;box-shadow:0 0 0 3px hsla(0,0%,100%,.03)}.input::placeholder{color:#2a2a2a}.input:hover:not(:focus){border-color:#282828}textarea.input{resize:vertical;min-height:80px}.select{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;background:#090909 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%23444' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right 12px center;border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);padding:8px 32px 8px 12px;font-size:13px;outline:none;transition:border-color .15s ease,box-shadow .15s ease;font-family:Inter,sans-serif;width:100%}.select:focus{border-color:#353535;box-shadow:0 0 0 3px hsla(0,0%,100%,.03)}label{font-size:11.5px;font-weight:500;color:#444;margin-bottom:5px;display:block;letter-spacing:.01em}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:20px;transition:border-color .15s ease}.card:hover{border-color:var(--border-hover)}.card2{background:var(--bg-card2);padding:16px}.card2,.table-container{border:1px solid var(--border);border-radius:var(--radius)}.table-container{background:var(--bg-card);overflow:hidden}table{width:100%;border-collapse:collapse}th{text-align:left;font-size:10.5px;font-weight:600;color:#2e2e2e;text-transform:uppercase;letter-spacing:.1em;padding:10px 16px;background:hsla(0,0%,100%,.01)}td,th{border-bottom:1px solid var(--border)}td{padding:11px 16px;font-size:13px;color:#555;transition:background .1s ease}td:first-child{color:var(--text)}tr:last-child td{border-bottom:none}tr:hover td{background:hsla(0,0%,100%,.025)}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));grid-gap:12px;gap:12px;margin-bottom:24px}.stat-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:18px 20px;transition:border-color .2s ease,transform .2s ease,box-shadow .2s ease;cursor:default}.stat-card:hover{border-color:var(--border-hover);transform:translateY(-1px);box-shadow:0 6px 20px rgba(0,0,0,.3)}.stat-card .label{font-size:10.5px;color:#2e2e2e;text-transform:uppercase;letter-spacing:.1em;margin-bottom:8px;font-weight:600}.stat-card .value{font-size:26px;font-weight:700;color:var(--text);letter-spacing:-.03em}.stat-card .sub{font-size:11.5px;color:#353535;margin-top:3px}.toolbar{margin-bottom:16px;flex-wrap:wrap}.toolbar,.toolbar-right{display:flex;align-items:center;gap:8px}.toolbar-right{margin-left:auto}.modal-backdrop,.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.75);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .15s ease}.modal{background:var(--bg-card);border:1px solid #242424;border-radius:12px;padding:26px;min-width:420px;max-width:90vw;max-height:90vh;overflow-y:auto;animation:fadeInScale .2s cubic-bezier(.34,1.3,.64,1) forwards;box-shadow:0 24px 60px rgba(0,0,0,.7),inset 0 0 0 1px hsla(0,0%,100%,.04)}.modal h3{font-size:15px;font-weight:700;margin-bottom:4px;color:var(--text);letter-spacing:-.01em}.modal .subtitle{font-size:13px;color:#444;margin-bottom:20px}.form-group{margin-bottom:14px}.form-row{display:grid;grid-template-columns:1fr 1fr;grid-gap:14px;gap:14px}.pagination{display:flex;align-items:center;gap:8px;margin-top:16px;justify-content:flex-end}.pagination span{font-size:12px;color:#353535}.loading{background:linear-gradient(90deg,var(--bg-card) 25%,#141414 50%,var(--bg-card) 75%);background-size:600px 100%;animation:shimmer 1.6s ease infinite}.empty-state{text-align:center;padding:56px 20px;color:#2e2e2e}.mono{font-family:JetBrains Mono,Courier New,monospace;font-size:12px;letter-spacing:.03em}hr.section-divider{border:none;border-top:1px solid var(--border);margin:20px 0}code{font-family:JetBrains Mono,Courier New,monospace;font-size:11.5px;background:hsla(0,0%,100%,.04);border:1px solid var(--border);border-radius:4px;padding:1px 6px;color:#a0a0a0}