@import"https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&family=Space+Grotesk:wght@500;600;700&display=swap";.app-layout{display:flex;height:100vh}.sidebar{width:240px;flex-shrink:0;background:var(--color-bg);color:var(--color-text);display:flex;flex-direction:column;border-right:1px solid var(--color-border)}.sidebar-header{padding:20px 16px;border-bottom:1px solid var(--color-border)}.sidebar-logo{display:block;width:auto;height:auto;max-height:23px;max-width:115px}.sidebar-nav{flex:1;padding:12px 8px;display:flex;flex-direction:column;gap:2px}.nav-link{display:block;padding:10px 12px;border-radius:8px;border-left:3px solid transparent;color:var(--color-text-muted);text-decoration:none;font-size:.9rem;font-weight:500;transition:background .18s ease,color .18s ease,border-color .18s ease}.nav-link:hover{background:var(--color-surface);color:var(--color-text)}.nav-link.active{background:var(--color-surface);color:var(--color-text);font-weight:600;border-left-color:var(--color-text)}.sidebar-footer{padding:16px;border-top:1px solid var(--color-border);display:flex;flex-direction:column;gap:8px}.sidebar-user{font-size:.85rem;color:var(--color-text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-logout{padding:6px 12px;background:transparent;color:var(--color-text-muted);border:1px solid var(--color-border);border-radius:8px;font-size:.8rem;font-weight:500;cursor:pointer;transition:background .18s ease,color .18s ease,border-color .18s ease}.sidebar-logout:hover{background:var(--color-surface);color:var(--color-text);border-color:#d8d8d8}.app-content{flex:1;overflow-y:auto;padding:24px;background:var(--color-surface)}.login-page{display:flex;align-items:center;justify-content:center;min-height:100vh;background:var(--color-surface)}.login-card{background:var(--color-bg);border:1px solid var(--color-border);border-radius:20px;padding:40px;width:100%;max-width:400px;box-shadow:var(--shadow-subtle)}.login-card h1{font-family:var(--font-heading);font-size:1.75rem;font-weight:700;letter-spacing:-.02em;margin-bottom:4px;color:var(--color-text)}.login-subtitle{color:var(--color-text-soft);margin-bottom:24px;font-size:.95rem}.oauth-buttons{display:flex;flex-direction:column;gap:8px;margin-bottom:20px}.oauth-button{padding:10px 16px;border:1px solid var(--color-border);border-radius:999px;background:var(--color-bg);cursor:pointer;font-size:.9rem;font-weight:500;color:var(--color-text);transition:background .18s ease,border-color .18s ease,transform .22s ease}.oauth-button:hover:not(:disabled){background:var(--color-surface);border-color:#d8d8d8;transform:translateY(-1px)}.oauth-button:disabled{opacity:.5;cursor:not-allowed}.login-divider{display:flex;align-items:center;gap:12px;margin-bottom:20px;color:var(--color-text-soft);font-size:.85rem}.login-divider:before,.login-divider:after{content:"";flex:1;height:1px;background:var(--color-border)}.login-error{color:#d32f2f;font-size:.85rem;margin-bottom:12px;padding:8px 12px;background:#fdecea;border-radius:8px;border:1px solid #f5c6cb}.login-card form{display:flex;flex-direction:column}.login-card label{font-size:.85rem;font-weight:600;margin-bottom:4px;color:var(--color-text)}.login-card input{padding:10px 12px;border:1px solid var(--color-border);border-radius:10px;font-size:.9rem;margin-bottom:16px;outline:none;color:var(--color-text);transition:border-color .18s ease}.login-card input:focus{border-color:var(--color-text)}.login-submit{padding:10px 16px;background:var(--color-button);color:var(--color-button-text);border:none;border-radius:999px;font-size:.95rem;font-weight:700;cursor:pointer;transition:transform .22s ease,box-shadow .22s ease}.login-submit:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 12px 24px #1113}.login-submit:disabled{opacity:.5;cursor:not-allowed}.home-page h1{font-family:var(--font-heading);font-size:1.5rem;font-weight:700;letter-spacing:-.02em;margin-bottom:20px;color:var(--color-text)}.query-editor{background:var(--color-bg);border:1px solid var(--color-border);border-radius:16px;padding:20px;margin-bottom:16px;transition:box-shadow .2s ease}.query-editor:focus-within{box-shadow:0 8px 24px #1111110f}.query-editor label{display:block;font-size:.84rem;font-weight:600;color:var(--color-text-muted);margin-bottom:8px;text-transform:uppercase;letter-spacing:.08em}.query-editor textarea{width:100%;padding:12px;border:1px solid var(--color-border);border-radius:10px;font-family:SF Mono,Fira Code,Cascadia Code,monospace;font-size:.9rem;line-height:1.5;color:var(--color-text);background:var(--color-surface);resize:vertical;outline:none;transition:border-color .18s ease}.query-editor textarea:focus{border-color:var(--color-text)}.query-actions{display:flex;align-items:center;gap:12px;margin-top:12px}.query-actions button{padding:8px 24px;background:var(--color-button);color:var(--color-button-text);border:none;border-radius:999px;font-size:.9rem;font-weight:700;cursor:pointer;transition:transform .22s ease,box-shadow .22s ease}.query-actions button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 12px 24px #1113}.query-actions button:disabled{opacity:.5;cursor:not-allowed}.query-hint{font-size:.8rem;color:var(--color-text-soft)}.query-error{color:#d32f2f;font-size:.9rem;padding:12px 16px;background:#fdecea;border:1px solid #f5c6cb;border-radius:12px;margin-bottom:16px}.query-results{background:var(--color-bg);border:1px solid var(--color-border);border-radius:16px;overflow:hidden}.row-count{padding:12px 16px;font-size:.84rem;font-weight:600;color:var(--color-text-muted);border-bottom:1px solid var(--color-border);text-transform:uppercase;letter-spacing:.08em}.table-wrapper{overflow-x:auto}.table-wrapper table{width:100%;border-collapse:collapse;font-size:.85rem}.table-wrapper th{background:var(--color-surface);text-align:left;padding:10px 14px;font-weight:700;color:var(--color-text);border-bottom:2px solid var(--color-border);white-space:nowrap}.table-wrapper td{padding:8px 14px;border-bottom:1px solid #f0f0f0;color:var(--color-text-muted)}.table-wrapper tr:hover td{background:var(--color-surface)}.null-cell{color:var(--color-text-soft);font-style:italic}:root{--color-bg: #ffffff;--color-surface: #f9fafb;--color-border: #e8e8e8;--color-text: #111111;--color-text-muted: #4a4a4a;--color-text-soft: #707070;--color-button: #111111;--color-button-text: #ffffff;--shadow-subtle: 0 18px 36px rgba(17, 17, 17, .08);--font-heading: "Space Grotesk", "Segoe UI", sans-serif;--font-body: "Manrope", "Segoe UI", sans-serif}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{font-family:var(--font-body);color:var(--color-text);background:var(--color-surface);text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}
