:root{--bg-primary:#000;--bg-secondary:#0a0a0a;--bg-tertiary:#111;--surface:#1a1a1a;--surface-hover:#222;--border:#2a2a2a;--text-primary:#fff;--text-secondary:#a0a0a0;--text-muted:#666;--error:#f44;--success:#4f4}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:var(--bg-primary);color:var(--text-primary);line-height:1.5;min-height:100vh}a{color:inherit;text-decoration:none}button{cursor:pointer}button,input{font-family:inherit}.app-container{display:flex;min-height:100vh}.sidebar{width:220px;background:var(--bg-secondary);border-right:1px solid var(--border);padding:20px 0;flex-shrink:0}.sidebar-logo{padding:0 20px 20px;font-size:14px;font-weight:600;letter-spacing:1px;text-transform:uppercase;border-bottom:1px solid var(--border);margin-bottom:20px}.nav-item{display:block;padding:12px 20px;color:var(--text-secondary);transition:all .15s}.nav-item.active,.nav-item:hover{background:var(--surface);color:var(--text-primary)}.nav-item.active{border-left:2px solid var(--text-primary)}.main-content{flex:1 1;padding:32px;overflow-y:auto}.page-header{margin-bottom:32px;display:flex;justify-content:space-between;align-items:center}.page-title{font-size:24px;font-weight:600}.btn{padding:10px 20px;border:1px solid var(--border);border-radius:4px;background:var(--surface);color:var(--text-primary);font-size:14px;transition:all .15s}.btn:hover{background:var(--surface-hover)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--text-primary);color:var(--bg-primary);border-color:var(--text-primary)}.btn-primary:hover{background:var(--text-secondary)}.card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;padding:24px;margin-bottom:24px}.form-group{margin-bottom:16px}.form-label{display:block;font-size:12px;font-weight:500;text-transform:uppercase;color:var(--text-muted);margin-bottom:8px}.form-input{width:100%;padding:10px 14px;background:var(--surface);border:1px solid var(--border);border-radius:4px;color:var(--text-primary);font-size:14px}.form-input:focus{outline:none;border-color:var(--text-muted)}.table-container{overflow-x:auto}table{width:100%;border-collapse:collapse}td,th{padding:12px 16px;text-align:left;border-bottom:1px solid var(--border)}th{font-size:12px;font-weight:600;text-transform:uppercase;color:var(--text-muted);background:var(--bg-tertiary)}tr:hover td{background:var(--surface)}.pagination{display:flex;gap:8px;margin-top:24px;align-items:center;justify-content:center}.pagination-info{color:var(--text-secondary);font-size:14px;margin:0 16px}.search-bar{display:flex;gap:12px;margin-bottom:24px}.search-input{flex:1 1;max-width:300px}.sort-select{padding:10px 14px;background:var(--surface);border:1px solid var(--border);border-radius:4px;color:var(--text-primary);font-size:14px}.generated-keys{background:var(--bg-tertiary);border-radius:4px;padding:16px;margin-top:16px;font-family:monospace}.key-item{padding:8px 0;border-bottom:1px solid var(--border);display:flex;justify-content:space-between}.key-item:last-child{border-bottom:none}.login-container{min-height:100vh;display:flex;align-items:center;justify-content:center}.login-box{width:100%;max-width:400px;padding:32px}.login-title{font-size:24px;font-weight:600;margin-bottom:32px;text-align:center}.error-message{color:var(--error);font-size:14px;margin-top:8px}.copy-btn{padding:4px 8px;font-size:12px;background:transparent;border:1px solid var(--border)}.badge-red{background:#ef4444;color:#fff;padding:2px 6px;border-radius:10px;font-size:11px;margin-left:4px;font-weight:600}