.sidebar{width:240px;min-width:240px;background:#1a1d2e;color:#c8ccd6;min-height:100vh;position:-webkit-sticky;position:sticky;top:0;height:100vh;overflow-y:auto}.sidebar-brand{padding:24px 20px 20px;border-bottom:1px solid hsla(0,0%,100%,.07);display:flex;flex-direction:column}.brand-icon{font-size:24px;margin-bottom:4px}.brand-text{font-size:18px;font-weight:700;color:#fff;letter-spacing:.5px}.brand-sub{font-size:11px;text-transform:uppercase;letter-spacing:2px;color:#5b6b8a;margin-top:2px}.sidebar-nav{list-style:none;padding:16px 0;margin:0}.nav-section{padding:12px 20px 6px;font-size:10px;font-weight:700;letter-spacing:1.5px;color:#3d4a63;text-transform:uppercase}.sidebar-link{display:flex;align-items:center;grid-gap:10px;gap:10px;padding:10px 20px;color:#8892a4;text-decoration:none;font-size:14px;font-weight:500;transition:background .15s,color .15s;border-left:3px solid transparent}.sidebar-link:hover{background:hsla(0,0%,100%,.05);color:#e2e8f0;text-decoration:none}.sidebar-link.active{background:rgba(99,144,232,.12);color:#6390e8;border-left-color:#6390e8}.nav-icon{width:18px;text-align:center;font-size:13px}.sidebar-footer{padding:16px 20px;font-size:11px;color:#3d4a63;border-top:1px solid hsla(0,0%,100%,.07)}.sidebar-user{display:flex;align-items:center;justify-content:space-between;grid-gap:8px;gap:8px}.sidebar-username{font-size:12px;color:#8892a4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.btn-logout{background:transparent;border:1px solid #3d4a63;color:#8892a4;border-radius:6px;padding:3px 7px;font-size:14px;cursor:pointer;flex-shrink:0;transition:all .15s}.btn-logout:hover{background:#e85d5d;border-color:#e85d5d;color:#fff}*{box-sizing:border-box}body{background:#f0f2f7;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;color:#1a1d2e}.app-shell{min-height:100vh}.app-content{padding:32px;overflow-x:hidden}.page-header{margin-bottom:28px}.page-title{font-size:22px;font-weight:700;color:#1a1d2e;margin:0}.page-subtitle{font-size:13px;color:#8892a4;margin-top:4px}.stat-card{background:#fff;border-radius:12px;padding:24px;border:1px solid #e8ecf3;box-shadow:0 1px 4px rgba(0,0,0,.04)}.stat-card .stat-value{font-size:32px;font-weight:700;color:#1a1d2e;line-height:1}.stat-card .stat-label{font-size:13px;color:#8892a4;margin-top:6px;font-weight:500}.stat-card .stat-icon{font-size:28px;opacity:.15}.data-card{background:#fff;border-radius:12px;border:1px solid #e8ecf3;box-shadow:0 1px 4px rgba(0,0,0,.04);overflow:hidden}.data-card-header{padding:16px 20px;border-bottom:1px solid #e8ecf3;display:flex;align-items:center;justify-content:space-between}.data-card-header h5{margin:0;font-size:15px;font-weight:600;color:#1a1d2e}.admin-table{margin:0}.admin-table thead th{background:#f8fafc;border-top:none;border-bottom:2px solid #e8ecf3;color:#5b6b8a;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.8px;padding:12px 16px}.admin-table tbody td{padding:14px 16px;border-color:#f0f2f7;vertical-align:middle;font-size:14px}.admin-table tbody tr:hover{background:#f8fafc}.badge-active{background:#d1fae5;color:#065f46}.badge-active,.badge-inactive{font-size:11px;font-weight:600;padding:3px 8px;border-radius:20px}.badge-inactive{background:#fee2e2;color:#991b1b}.scope-tag{display:inline-block;background:#eff6ff;color:#1d4ed8;font-size:11px;font-weight:600;padding:2px 8px;border-radius:4px;margin:2px 2px 2px 0}.btn-action{padding:5px 10px;font-size:13px;border-radius:6px;border:1px solid;background:transparent;cursor:pointer;transition:all .15s;line-height:1}.btn-action-edit{color:#6390e8;border-color:#c3d0f5}.btn-action-edit:hover{background:#6390e8;color:#fff}.btn-action-delete{color:#e85d5d;border-color:#f5c3c3}.btn-action-delete:hover{background:#e85d5d;color:#fff}.btn-action-rotate{color:#e8a43a;border-color:#f5dea0}.btn-action-rotate:hover{background:#e8a43a;color:#fff}.btn-primary{background:#6390e8;border-color:#6390e8;color:#fff;font-weight:600;border-radius:8px;padding:8px 18px;font-size:14px}.btn-primary:hover{background:#4e78d4;border-color:#4e78d4;color:#fff}.client-id-mono{font-family:"Courier New",monospace;font-size:12px;color:#5b6b8a;background:#f0f2f7;padding:2px 6px;border-radius:4px}.secret-display{font-family:"Courier New",monospace;font-size:13px;background:#1a1d2e;color:#a8f0c6;padding:12px 16px;border-radius:8px;word-break:break-all}.alert-info-custom{background:#eff6ff;border:1px solid #bfdbfe;color:#1e40af;border-radius:8px;padding:12px 16px;font-size:13px}.empty-state{text-align:center;padding:48px 20px;color:#8892a4}.empty-state-icon{font-size:48px;margin-bottom:12px;opacity:.3}.error-banner{background:#fee2e2;border:1px solid #fca5a5;color:#991b1b;border-radius:8px;padding:12px 16px;font-size:14px;margin-bottom:20px}.settings-card{background:#fff;border-radius:12px;border:1px solid #e8ecf3;box-shadow:0 1px 4px rgba(0,0,0,.04);padding:28px;max-width:560px}.form-label-custom{font-size:13px;font-weight:600;color:#1a1d2e;margin-bottom:6px}.scope-check-list{max-height:200px;overflow-y:auto;border:1px solid #e8ecf3;border-radius:8px;padding:8px 4px}.scope-check-item{display:flex;align-items:center;padding:6px 12px;border-radius:6px;cursor:pointer}.scope-check-item:hover{background:#f8fafc}.scope-check-item input{margin-right:8px}.loading-state{padding:48px;color:#8892a4}.loading-state,.login-shell{display:flex;align-items:center;justify-content:center}.login-shell{min-height:100vh;background:#1a1d2e;padding:20px}.login-card{background:#fff;border-radius:16px;padding:40px;width:100%;max-width:380px;box-shadow:0 20px 60px rgba(0,0,0,.4)}.login-brand{text-align:center;margin-bottom:32px}.login-brand-icon{font-size:36px;display:block;margin-bottom:10px}.login-brand-name{font-size:22px;font-weight:700;color:#1a1d2e}.login-brand-sub{font-size:12px;text-transform:uppercase;letter-spacing:2px;color:#8892a4;margin-top:4px}.btn-action-activate{color:#065f46;border-color:#a7f3d0}.btn-action-activate:hover{background:#065f46;color:#fff}.btn-action-deactivate{color:#92400e;border-color:#fde68a}.btn-action-deactivate:hover{background:#d97706;border-color:#d97706;color:#fff}
/*# sourceMappingURL=main.7633ac59.chunk.css.map */