@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";*{margin:0;padding:0;box-sizing:border-box}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:#0c0e14;color:#e1e4e8;min-height:100vh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:#58a6ff;text-decoration:none}a:hover{text-decoration:underline}.app{min-height:100vh;display:flex;flex-direction:column}.main{flex:1;max-width:1100px;width:100%;margin:0 auto;padding:2rem 1rem}.navbar{background:linear-gradient(180deg,#1a1f2b,#161b22);border-bottom:1px solid #21262d;padding:.75rem 1.5rem;display:flex;align-items:center;justify-content:space-between;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.navbar-brand{font-size:1.15rem;font-weight:700;color:#f0f6fc;letter-spacing:-.02em}.navbar-right{display:flex;align-items:center;gap:1rem;font-size:.9rem}.navbar-user{color:#8b949e}.btn{display:inline-flex;align-items:center;gap:.4rem;padding:.5rem 1rem;border:1px solid #30363d;border-radius:8px;background:#21262d;color:#c9d1d9;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease;text-decoration:none}.btn:hover{background:#30363d}.btn-primary{background:#238636;border-color:#2ea043;color:#fff}.btn-primary:hover{background:#2ea043}.btn-danger{background:transparent;border-color:#f85149;color:#f85149}.btn-danger:hover{background:#f851491a}.btn-sm{padding:.3rem .6rem;font-size:.8rem}.btn-google{background:#4285f4;border-color:#4285f4;color:#fff;font-weight:500}.btn-google:hover{background:#3367d6;border-color:#3367d6;text-decoration:none}.divider{display:flex;align-items:center;margin:1rem 0;color:#484f58}.divider:before,.divider:after{content:"";flex:1;height:1px;background:#30363d}.divider span{padding:0 .75rem;font-size:.85rem}.form-card{background:#161b22;border:1px solid #21262d;border-radius:12px;padding:2rem;max-width:420px;margin:2rem auto;box-shadow:0 4px 24px #0000004d}.form-card h2{margin-bottom:1.5rem;text-align:center}.form-group{margin-bottom:1rem}.form-group label{display:block;margin-bottom:.4rem;font-size:.85rem;color:#8b949e}.form-group input,.form-group textarea{width:100%;padding:.5rem .75rem;background:#0d1117;border:1px solid #21262d;border-radius:8px;color:#c9d1d9;font-size:.9rem;transition:border-color .2s ease,box-shadow .2s ease}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:#58a6ff;box-shadow:0 0 0 3px #58a6ff1a}.form-group textarea{resize:vertical;min-height:80px;font-family:monospace}.form-footer{margin-top:1.5rem;text-align:center;font-size:.85rem;color:#8b949e}.error-msg{background:#f851491a;border:1px solid #f8514980;color:#f85149;padding:.5rem .75rem;border-radius:6px;margin-bottom:1rem;font-size:.85rem}.dashboard-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.dashboard-header h1{font-size:1.5rem}.connect-info{background:#161b22;border:1px solid #30363d;border-radius:8px;padding:1rem 1.25rem;margin-bottom:2rem;font-size:.85rem}.connect-info h3{margin-bottom:.5rem;font-size:.95rem}.connect-info code{display:block;background:#0d1117;padding:.5rem .75rem;border-radius:4px;margin-top:.5rem;font-family:SF Mono,monospace;color:#79c0ff;white-space:pre-wrap;word-break:break-all}.project-list{display:flex;flex-direction:column;gap:.75rem}.project-card{background:#161b22;border:1px solid #21262d;border-radius:10px;padding:1rem 1.25rem;display:flex;justify-content:space-between;align-items:flex-start;transition:border-color .2s ease,box-shadow .2s ease}.project-card:hover{border-color:#30363d;box-shadow:0 2px 12px #0003}.project-info h3{font-size:1rem;margin-bottom:.25rem}.project-info .detail{font-size:.8rem;color:#8b949e;margin-top:.15rem}.project-badge{display:inline-block;background:#238636;color:#fff;font-size:.7rem;padding:.15rem .5rem;border-radius:999px;margin-left:.5rem}.project-actions{display:flex;gap:.5rem;flex-shrink:0}.empty-state{text-align:center;padding:3rem 1rem;color:#8b949e}.checkbox-group{display:flex;align-items:center;gap:.5rem}.checkbox-group input[type=checkbox]{width:auto}.ql-page{max-width:100%}.ql-stats{display:flex;gap:1rem;margin-bottom:1.5rem;flex-wrap:wrap}.ql-stat{background:#161b22;border:1px solid #21262d;border-radius:10px;padding:.75rem 1rem;flex:1;min-width:120px;text-align:center;transition:border-color .2s ease}.ql-stat:hover{border-color:#30363d}.ql-stat-value{display:block;font-size:1.4rem;font-weight:700;color:#e1e4e8}.ql-stat-label{display:block;font-size:.75rem;color:#8b949e;margin-top:.2rem}.ql-filters{display:flex;align-items:center;gap:.4rem;margin-bottom:1rem;flex-wrap:nowrap}.ql-filter-btn{display:inline-flex;align-items:center;gap:.3rem;padding:.35rem .6rem;border:1px solid #21262d;border-radius:8px;background:#21262d;color:#c9d1d9;font-size:.8rem;font-weight:500;cursor:pointer;transition:all .2s ease;white-space:nowrap;flex-shrink:0}.ql-filter-btn:hover{background:#30363d}.ql-filter-btn.active{background:#30363d;border-color:#58a6ff;color:#fff}.ql-filter-btn.ql-filter-merged.active{border-color:#3fb950}.ql-filter-btn.ql-filter-solo.active{border-color:#d29922}.ql-filter-btn.ql-filter-failed.active{border-color:#f85149}.ql-filter-count{background:#ffffff1a;padding:.1rem .4rem;border-radius:999px;font-size:.75rem;font-weight:600}.ql-text-filters{display:flex;gap:.4rem;margin-left:auto;flex-wrap:nowrap;min-width:0}.ql-filter-select{padding:.4rem 1.8rem .4rem .7rem;border:1px solid #21262d;border-radius:8px;background:#161b22;color:#c9d1d9;font-size:.8rem;min-width:0;cursor:pointer;transition:border-color .2s ease,box-shadow .2s ease;-moz-appearance:none;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%23484f58'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .6rem center}.ql-filter-select:focus{outline:none;border-color:#58a6ff;box-shadow:0 0 0 3px #58a6ff1a}.ql-filter-select option{background:#161b22;color:#c9d1d9}.ql-list{display:flex;flex-direction:column;gap:2px}.ql-list-header{display:flex;align-items:center;justify-content:space-between;padding:.35rem .8rem;gap:.75rem;font-size:.72rem;font-weight:600;color:#6e7681;text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid #21262d;margin-bottom:.25rem}.ql-list-header .ql-row-left,.ql-list-header .ql-row-right{display:flex;align-items:center;gap:.6rem}.ql-list-header .ql-row-left{flex:1;min-width:0}.ql-list-header .ql-row-right{flex-shrink:0}.ql-col-header{font-size:.72rem;font-weight:600;color:#6e7681;white-space:nowrap}.ql-sortable{background:none;border:none;cursor:pointer;padding:.2rem .4rem;border-radius:4px;color:#8b949e;font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;transition:all .15s ease}.ql-sortable:hover{background:#21262d;color:#c9d1d9}.ql-row{background:#161b22;border:1px solid #21262d;border-radius:8px;overflow:hidden;transition:all .2s ease}.ql-row:hover{border-color:#30363d;box-shadow:0 1px 8px #00000026}.ql-row.expanded{border-color:#58a6ff}.ql-row-main{display:flex;align-items:center;justify-content:space-between;padding:.6rem .8rem;cursor:pointer;gap:.75rem;min-height:42px}.ql-row-left{display:flex;align-items:center;gap:.6rem;flex:1;min-width:0;overflow:hidden}.ql-row-right{display:flex;align-items:center;gap:.6rem;flex-shrink:0}.ql-status-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.ql-status-dot.status-merged{background:#3fb950}.ql-status-dot.status-solo{background:#d29922}.ql-status-dot.status-failed{background:#f85149}.ql-status-badge{font-size:.7rem;font-weight:600;padding:.15rem .5rem;border-radius:999px;text-transform:uppercase;letter-spacing:.03em}.ql-status-badge.status-merged{background:#3fb95026;color:#3fb950}.ql-status-badge.status-solo{background:#d2992226;color:#d29922}.ql-status-badge.status-failed{background:#f8514926;color:#f85149}.ql-time{font-size:.78rem;color:#8b949e;flex-shrink:0;white-space:nowrap}.ql-sql-preview{font-family:SF Mono,JetBrains Mono,monospace;font-size:.8rem;color:#c9d1d9;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ql-bytes{font-size:.78rem;color:#79c0ff;white-space:nowrap}.ql-cache-badge{font-size:.7rem;color:#3fb950;background:#3fb9501f;border:1px solid rgba(63,185,80,.25);border-radius:6px;padding:1px 6px;white-space:nowrap;font-weight:500}.ql-saved-badge{font-size:.7rem;color:#58a6ff;background:#58a6ff1f;border:1px solid rgba(88,166,255,.25);border-radius:6px;padding:1px 6px;white-space:nowrap;font-weight:500}.ql-duration{font-size:.78rem;color:#8b949e;white-space:nowrap}.ql-rows{font-size:.78rem;color:#8b949e}.ql-app{font-size:.75rem;color:#8b949e;background:#ffffff0d;padding:.1rem .4rem;border-radius:4px}.ql-merge-btn{font-size:.72rem!important;padding:.15rem .5rem!important;background:#3fb9501a!important;border-color:#3fb9504d!important;color:#3fb950!important}.ql-merge-btn:hover{background:#3fb95033!important}.ql-row-detail{padding:.75rem .8rem;border-top:1px solid #21262d;background:#0d1117}.ql-detail-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.4rem 1.5rem;font-size:.82rem;color:#8b949e;margin-bottom:.75rem}.ql-detail-grid strong{color:#c9d1d9}.ql-error-block{background:#f8514914;border:1px solid rgba(248,81,73,.3);border-radius:4px;padding:.5rem .75rem;margin-bottom:.75rem;font-size:.82rem;color:#f85149;word-break:break-word}.ql-sql-details{margin-top:.5rem}.ql-sql-details summary{cursor:pointer;font-size:.8rem;color:#58a6ff;margin-bottom:.3rem}.ql-sql{background:#0d1117;border:1px solid #21262d;border-radius:6px;padding:.5rem .75rem;font-family:JetBrains Mono,SF Mono,Fira Code,monospace;font-size:.78rem;color:#c9d1d9;white-space:pre-wrap;word-break:break-word;max-height:300px;overflow-y:auto;margin:0}.ql-pagination{display:flex;align-items:center;justify-content:center;gap:1rem;margin-top:1.5rem;padding:.75rem 0}.ql-page-info{font-size:.85rem;color:#8b949e}.ql-loading{text-align:center;padding:3rem 1rem;color:#8b949e}.ql-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.ql-modal{background:#161b22;border:1px solid #21262d;border-radius:14px;max-width:800px;width:100%;max-height:85vh;overflow-y:auto;padding:1.5rem;box-shadow:0 8px 40px #00000080}.ql-modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.ql-modal-header h3{font-size:1.1rem}.ql-merge-summary{background:#0d1117;border:1px solid #30363d;border-radius:6px;padding:.75rem 1rem}.ql-merge-meta{display:flex;flex-wrap:wrap;gap:.5rem 1.5rem;font-size:.85rem;color:#8b949e}.ql-merge-meta strong{color:#c9d1d9}.ql-merge-queries{display:flex;flex-direction:column;gap:.5rem}.ql-merge-query-row{background:#0d1117;border:1px solid #30363d;border-radius:6px;padding:.5rem .75rem}.ql-merge-query-meta{display:flex;gap:1rem;font-size:.78rem;color:#8b949e;margin-bottom:.3rem}.ql-savings-btn{background:#1f6feb;color:#fff;border:none;padding:.4rem 1rem;border-radius:6px;cursor:pointer;font-size:.82rem;font-weight:500}.ql-savings-btn:hover:not(:disabled){background:#388bfd}.ql-savings-btn:disabled{opacity:.6;cursor:not-allowed}.ql-savings-panel{background:#161b22;border:1px solid #30363d;border-radius:8px;padding:1rem;margin:1rem 0}.ql-savings-panel h4{margin:0 0 .75rem;font-size:.9rem;color:#e6edf3}.ql-savings-table{width:100%;border-collapse:collapse;font-size:.8rem;margin-bottom:1rem}.ql-savings-table th{text-align:left;padding:.4rem .6rem;border-bottom:1px solid #30363d;color:#8b949e;font-weight:500}.ql-savings-table td{padding:.4rem .6rem;border-bottom:1px solid #21262d;color:#e6edf3}.ql-savings-sql{max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:SF Mono,Fira Code,monospace;font-size:.75rem;color:#8b949e}.ql-unknown-badge{background:#30363d;color:#8b949e;padding:.15rem .5rem;border-radius:10px;font-size:.72rem}.ql-savings-summary{display:flex;flex-direction:column;gap:.4rem}.ql-savings-row{display:flex;justify-content:space-between;font-size:.82rem;color:#c9d1d9}.ql-savings-result{border-top:1px solid #30363d;padding-top:.5rem;margin-top:.3rem;font-size:.9rem}.ql-savings-positive{color:#3fb950}.navbar-link{color:#8b949e;font-size:.9rem;font-weight:500;text-decoration:none;transition:color .2s ease;padding:.25rem 0;border-bottom:2px solid transparent}.navbar-link:hover{color:#f0f6fc;text-decoration:none}
