:root{--color-bg: #0f172a;--color-bg-surface: #1e293b;--color-bg-hover: #334155;--color-bg-input: #0f172a;--color-border: #334155;--color-border-focus: #6366f1;--color-text: #f1f5f9;--color-text-muted: #94a3b8;--color-text-dim: #64748b;--color-primary: #6366f1;--color-primary-hover: #818cf8;--color-success: #22c55e;--color-warning: #eab308;--color-danger: #ef4444;--color-danger-hover: #dc2626;--color-info: #3b82f6;--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono: "JetBrains Mono", "SF Mono", "Fira Code", monospace;--sidebar-width: 240px;--header-height: 56px;--radius: 8px;--radius-sm: 4px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:14px}body{font-family:var(--font-sans);background:var(--color-bg);color:var(--color-text);line-height:1.5;-webkit-font-smoothing:antialiased}a{color:var(--color-primary);text-decoration:none}a:hover{color:var(--color-primary-hover)}.app-layout{display:flex;min-height:100vh}.sidebar{width:var(--sidebar-width);background:var(--color-bg-surface);border-right:1px solid var(--color-border);display:flex;flex-direction:column;position:fixed;top:0;left:0;bottom:0;z-index:10}.sidebar-header{padding:16px 20px;border-bottom:1px solid var(--color-border);display:flex;align-items:center;gap:10px}.sidebar-header h1{font-size:16px;font-weight:700;letter-spacing:-.3px}.sidebar-header .badge{background:var(--color-primary);color:#fff;font-size:10px;padding:2px 6px;border-radius:10px;font-weight:600;text-transform:uppercase}.sidebar-nav{flex:1;padding:12px 8px;display:flex;flex-direction:column;gap:2px}.sidebar-nav a{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:var(--radius-sm);color:var(--color-text-muted);font-size:13px;font-weight:500;transition:all .15s}.sidebar-nav a:hover{background:var(--color-bg-hover);color:var(--color-text)}.sidebar-nav a.active{background:var(--color-primary);color:#fff}.sidebar-footer{padding:12px 16px;border-top:1px solid var(--color-border);font-size:12px;color:var(--color-text-dim)}.sidebar-footer .user-email{font-weight:500;color:var(--color-text-muted);margin-bottom:6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-footer button{background:none;border:none;color:var(--color-text-dim);cursor:pointer;font-size:12px;padding:0}.sidebar-footer button:hover{color:var(--color-danger)}.main-content{margin-left:var(--sidebar-width);flex:1;padding:24px 32px;min-width:0}.page-header{margin-bottom:24px}.page-header h2{font-size:22px;font-weight:700;letter-spacing:-.3px}.page-header p{color:var(--color-text-muted);margin-top:4px;font-size:13px}.card{background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:20px}.card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.card-header h3{font-size:14px;font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.5px}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:24px}.stat-card{background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:16px 20px}.stat-card .label{font-size:12px;color:var(--color-text-dim);text-transform:uppercase;letter-spacing:.5px;font-weight:600}.stat-card .value{font-size:28px;font-weight:700;margin-top:4px;letter-spacing:-.5px}.stat-card .value.primary{color:var(--color-primary)}.stat-card .value.success{color:var(--color-success)}.stat-card .value.warning{color:var(--color-warning)}.stat-card .value.danger{color:var(--color-danger)}.table-container{overflow-x:auto}table{width:100%;border-collapse:collapse}th{text-align:left;padding:10px 12px;font-size:11px;color:var(--color-text-dim);text-transform:uppercase;letter-spacing:.5px;font-weight:600;border-bottom:1px solid var(--color-border)}td{padding:10px 12px;font-size:13px;border-bottom:1px solid var(--color-border)}tr:hover td{background:var(--color-bg-hover)}.badge-status{display:inline-block;padding:2px 8px;border-radius:10px;font-size:11px;font-weight:600;text-transform:capitalize}.badge-status.active{background:#22c55e26;color:var(--color-success)}.badge-status.disabled{background:#ef444426;color:var(--color-danger)}.badge-status.locked{background:#eab30826;color:var(--color-warning)}.badge-status.pending_verification{background:#3b82f626;color:var(--color-info)}.badge-tier{display:inline-block;padding:2px 8px;border-radius:10px;font-size:11px;font-weight:600;text-transform:capitalize}.badge-tier.free{background:#64748b33;color:var(--color-text-muted)}.badge-tier.pro{background:#6366f126;color:var(--color-primary)}.badge-tier.enterprise{background:#eab30826;color:var(--color-warning)}.badge-env{display:inline-block;padding:2px 8px;border-radius:10px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.badge-env.dev{background:#3b82f626;color:var(--color-info)}.badge-env.uat{background:#eab30826;color:var(--color-warning)}.badge-env.prod{background:#22c55e26;color:var(--color-success)}.btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:var(--radius-sm);font-size:13px;font-weight:500;border:none;cursor:pointer;transition:all .15s}.btn-primary{background:var(--color-primary);color:#fff}.btn-primary:hover{background:var(--color-primary-hover)}.btn-danger{background:var(--color-danger);color:#fff}.btn-danger:hover{background:var(--color-danger-hover)}.btn-ghost{background:transparent;color:var(--color-text-muted);border:1px solid var(--color-border)}.btn-ghost:hover{background:var(--color-bg-hover);color:var(--color-text)}.btn-sm{padding:4px 10px;font-size:12px}.btn:disabled{opacity:.5;cursor:not-allowed}.form-group{margin-bottom:16px}.form-group label{display:block;font-size:12px;font-weight:600;color:var(--color-text-muted);margin-bottom:6px;text-transform:uppercase;letter-spacing:.5px}input[type=text],input[type=email],input[type=password],input[type=number],select,textarea{width:100%;padding:8px 12px;background:var(--color-bg-input);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text);font-size:13px;font-family:var(--font-sans);transition:border-color .15s}input::placeholder,textarea::placeholder{color:var(--color-text-dim);opacity:.6}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--color-border-focus);box-shadow:0 0 0 3px #6366f126}textarea{min-height:100px;resize:vertical;font-family:var(--font-mono);font-size:12px}.input-error{border-color:var(--color-danger)!important;box-shadow:0 0 0 2px #ef444426!important}.field-warning{display:block;margin-top:4px;font-size:12px;color:var(--color-danger);font-weight:500}.login-page{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:20px}.login-card{background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:40px;width:100%;max-width:400px}.login-card h1{font-size:20px;margin-bottom:4px}.login-card .subtitle{color:var(--color-text-dim);margin-bottom:24px;font-size:13px}.login-card .error{background:#ef44441a;border:1px solid rgba(239,68,68,.3);color:var(--color-danger);padding:8px 12px;border-radius:var(--radius-sm);margin-bottom:16px;font-size:13px}.toolbar{display:flex;gap:8px;align-items:center;margin-bottom:16px;flex-wrap:wrap}.toolbar input,.toolbar select{width:auto;min-width:180px}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:16px}.grid-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px}.json-editor{font-family:var(--font-mono);font-size:12px;min-height:200px;tab-size:2}.loading{display:flex;align-items:center;justify-content:center;padding:60px 20px;color:var(--color-text-dim)}.empty-state{text-align:center;padding:40px 20px;color:var(--color-text-dim)}.mono{font-family:var(--font-mono);font-size:12px}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--color-bg)}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--color-bg-hover)}@media(max-width:768px){.sidebar{display:none}.main-content{margin-left:0;padding:16px}.stat-grid{grid-template-columns:1fr 1fr}}
