:root{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.5;font-weight:400;color-scheme:light;color:#1a1a1a;background-color:#f5f5f5;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;min-height:100vh}*,*:before,*:after{box-sizing:border-box}.drill-menu{position:fixed;z-index:10000;width:240px;max-height:320px;overflow-y:auto;background:#fff;border:1px solid #d1d5db;border-radius:8px;box-shadow:0 10px 25px #00000026,0 4px 6px #0000000d;padding:8px;font-size:13px}.drill-menu-header{padding:4px 6px 8px;border-bottom:1px solid #f3f4f6;margin-bottom:6px}.drill-menu-title{display:block;font-weight:600;color:#111827;font-size:12px;text-transform:uppercase;letter-spacing:.04em}.drill-menu-context{display:block;font-size:12px;color:#4b5563;margin-top:2px;word-break:break-word}.drill-menu-label{font-size:11px;color:#6b7280;padding:2px 6px 4px}.drill-menu-hint{font-size:11px;line-height:1.4;color:#92400e;background:#fef3c7;border:1px solid #fde68a;border-radius:4px;padding:6px 8px;margin:4px 0 6px}.drill-menu-list{list-style:none;margin:0;padding:0}.drill-menu-item{display:flex;justify-content:space-between;align-items:center;width:100%;text-align:left;background:transparent;border:none;padding:6px 8px;border-radius:4px;cursor:pointer;font-size:13px;font-family:inherit;color:#111827}.drill-menu-item:hover{background:#eff6ff}.drill-menu-item.recommended{background:#f0fdf4}.drill-menu-item.recommended:hover{background:#dcfce7}.drill-menu-rec-badge{font-size:10px;background:#16a34a;color:#fff;padding:1px 6px;border-radius:8px}.drill-menu-cancel{display:block;width:100%;margin-top:6px;padding:4px;background:transparent;border:1px solid #e5e7eb;border-radius:4px;color:#6b7280;cursor:pointer;font-size:12px;font-family:inherit}.drill-menu-cancel:hover{background:#f9fafb;color:#111827}.drill-menu-exclude{display:block;width:100%;margin-top:8px;padding:6px;background:#fef2f2;border:1px solid #fecaca;border-radius:4px;color:#b91c1c;cursor:pointer;font-size:12px;font-family:inherit;text-align:center}.drill-menu-exclude:hover{background:#fee2e2;border-color:#fca5a5}.drill-menu-filter-to{display:block;width:100%;margin-top:8px;padding:6px;background:#ecfdf5;border:1px solid #bbf7d0;border-radius:4px;color:#047857;cursor:pointer;font-size:12px;font-family:inherit;text-align:center}.drill-menu-filter-to:hover{background:#d1fae5;border-color:#86efac}.cost-chart-wrap{display:flex;flex-direction:column;width:100%;position:relative}.cost-chart-loading{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;background:#ffffffbf;z-index:10;pointer-events:none;-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px)}.cost-chart-loading-label{font-size:12px;color:#374151;font-weight:500}.cost-chart-spinner{width:28px;height:28px;border:3px solid #d1d5db;border-top-color:#3b82f6;border-radius:50%;animation:cost-chart-spin .8s linear infinite}@keyframes cost-chart-spin{to{transform:rotate(360deg)}}.cost-chart-canvas{width:100%}.cost-chart-legend{display:flex;flex-wrap:wrap;gap:4px 8px;padding:4px 8px 8px;font-size:11px;color:#4b5563;justify-content:center}.cc-legend-item{display:inline-flex;align-items:center;border:1px solid #e5e7eb;border-radius:12px;padding:1px 2px 1px 6px;background:#fff;transition:border-color .1s,background .1s}.cc-legend-item:hover{border-color:#6366f1;background:#eef2ff}.cc-legend-item:hover .cc-legend-name{font-weight:700;color:#111827}.cc-legend-item:hover .cc-legend-dot{outline:2px solid #6366f1;outline-offset:1px}.cc-legend-item.cc-legend-hidden{opacity:.45}.cc-legend-label{display:inline-flex;align-items:center;gap:4px;background:transparent;border:none;padding:1px 4px;cursor:pointer;color:inherit;font-size:inherit;font-family:inherit;max-width:240px}.cc-legend-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.cc-legend-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cc-legend-hidden .cc-legend-name{text-decoration:line-through}.cc-legend-drill{background:transparent;border:none;cursor:pointer;color:#6b7280;font-size:11px;padding:1px 6px;border-radius:8px}.cc-legend-drill:hover{background:#eef2ff;color:#3730a3}.filter-panel{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:.5rem;padding:1rem}.filter-section{margin-bottom:1.5rem}.filter-section:last-child{margin-bottom:0}.filter-section h3{font-size:.875rem;font-weight:600;color:var(--color-text);margin-bottom:.75rem;display:flex;align-items:center;gap:.5rem}.filter-count{font-weight:400;color:var(--color-text-muted)}.filter-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.filter-header h3{margin-bottom:0;display:flex;align-items:center;gap:.5rem}.filter-header.clickable{cursor:pointer;-webkit-user-select:none;user-select:none}.filter-header.clickable:hover{background:var(--color-surface-hover, rgba(0, 0, 0, .05));border-radius:.25rem;margin:-.25rem;padding:.25rem}.filter-header .chevron{transition:transform .2s ease;margin-left:auto}.filter-header .chevron.expanded{transform:rotate(180deg)}.clear-all{padding:.25rem .5rem;font-size:.75rem;background:transparent;border:1px solid var(--color-border);border-radius:.25rem;color:var(--color-text-muted);cursor:pointer}.clear-all:hover{color:var(--color-text);border-color:var(--color-text-muted)}.filter-row{margin-bottom:.75rem}.filter-row label{display:block;font-size:.75rem;color:var(--color-text-muted);margin-bottom:.25rem}.date-range{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.date-range input[type=date]{flex:1;min-width:120px;padding:.5rem;background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:.25rem;color:var(--color-text);font-size:.875rem}.date-range input[type=date]:focus{outline:none;border-color:var(--color-primary)}.date-range input[type=date]::-webkit-calendar-picker-indicator{filter:invert(40%);cursor:pointer}.date-range span{color:var(--color-text-muted);flex-shrink:0}.button-group{display:flex;gap:0}.button-group button{padding:.5rem .75rem;background-color:var(--color-bg);border:1px solid var(--color-border);color:var(--color-text-muted);font-size:.75rem;cursor:pointer;transition:all .15s}.button-group button:first-child{border-radius:.25rem 0 0 .25rem}.button-group button:last-child{border-radius:0 .25rem .25rem 0}.button-group button:not(:last-child){border-right:none}.button-group button:hover{color:var(--color-text)}.button-group button.active{background-color:var(--color-primary);border-color:var(--color-primary);color:#fff}.filter-row select{width:100%;height:2.375rem;padding:0 2rem 0 .75rem;background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:.25rem;color:var(--color-text);font-size:.875rem;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23888' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center;cursor:pointer}.filter-row select:focus{outline:none;border-color:var(--color-primary)}.filter-item{border:1px solid var(--color-border);border-radius:.25rem;margin-bottom:.5rem;overflow:hidden}.filter-item.has-values{border-color:var(--color-primary)}.filter-item-header{display:flex;align-items:center;height:2.375rem;padding:0 .75rem;cursor:pointer;background-color:var(--color-bg);gap:.5rem}.filter-item-header:hover{background-color:#00000008}.filter-label{flex:1;font-size:.875rem;color:var(--color-text)}.filter-badge{padding:.125rem .5rem;background-color:var(--color-primary);color:#fff;font-size:.75rem;border-radius:9999px;font-weight:500}.clear-btn{padding:.25rem .5rem;font-size:.75rem;background:transparent;border:1px solid var(--color-border);border-radius:.25rem;color:var(--color-text-muted);cursor:pointer}.clear-btn:hover{color:var(--color-error);border-color:var(--color-error)}.chevron{color:var(--color-text-muted);transition:transform .15s;flex-shrink:0}.chevron.expanded{transform:rotate(180deg)}.filter-item-content{border-top:1px solid var(--color-border);padding:.75rem;background-color:var(--color-surface)}.filter-mode{display:flex;gap:0;margin-bottom:.75rem}.filter-mode button{flex:1;padding:.375rem;font-size:.75rem;background-color:var(--color-bg);border:1px solid var(--color-border);color:var(--color-text-muted);cursor:pointer}.filter-mode button:first-child{border-radius:.25rem 0 0 .25rem}.filter-mode button:last-child{border-radius:0 .25rem .25rem 0;border-left:none}.filter-mode button.active{background-color:var(--color-primary);border-color:var(--color-primary);color:#fff}.filter-options{max-height:200px;overflow-y:auto}.filter-option{display:flex;align-items:center;gap:.5rem;padding:.375rem 0;cursor:pointer}.filter-option:hover{background-color:#00000008}.filter-option input[type=checkbox]{width:1rem;height:1rem;accent-color:var(--color-primary)}.option-label{flex:1;font-size:.875rem;color:var(--color-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.option-cost{font-size:.75rem;color:var(--color-text-muted);font-family:monospace}.loading-options,.no-options{padding:1rem;text-align:center;color:var(--color-text-muted);font-size:.875rem}.show-more-btn{width:100%;padding:.5rem;background:transparent;border:1px dashed var(--color-border);border-radius:.25rem;color:var(--color-text-muted);font-size:.75rem;cursor:pointer;margin-top:.5rem}.show-more-btn:hover{border-color:var(--color-text-muted);color:var(--color-text)}.filter-search{position:relative;margin-bottom:.75rem}.filter-search input{width:100%;padding:.5rem 2rem .5rem .75rem;background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:.25rem;color:var(--color-text);font-size:.875rem}.filter-search input:focus{outline:none;border-color:var(--color-primary)}.filter-search input::placeholder{color:var(--color-text-muted)}.search-clear{position:absolute;right:.5rem;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--color-text-muted);font-size:1rem;cursor:pointer;padding:.25rem;line-height:1}.search-clear:hover{color:var(--color-text)}.selected-tags{display:flex;flex-wrap:wrap;gap:.375rem;margin-bottom:.75rem}.selected-tag{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .5rem;background-color:var(--color-primary);color:#fff;font-size:.75rem;border-radius:9999px}.tag-label{max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tag-remove{background:none;border:none;color:#fff;font-size:.875rem;cursor:pointer;padding:0;line-height:1;opacity:.8}.tag-remove:hover{opacity:1}.no-results{padding:.75rem;text-align:center;color:var(--color-text-muted);font-size:.875rem;font-style:italic}.coverage-section{padding-bottom:1.25rem;border-bottom:2px solid var(--color-border);margin-bottom:1.25rem}.coverage-options{display:flex;flex-direction:column;gap:.5rem}.coverage-option{display:flex;align-items:center;gap:.75rem;padding:.625rem .75rem;background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:.375rem;cursor:pointer;transition:all .15s}.coverage-option:hover{border-color:var(--color-primary)}.coverage-option:has(input:checked){background-color:#3b82f614;border-color:var(--color-primary)}.coverage-option input[type=checkbox]{width:1rem;height:1rem;accent-color:var(--color-primary);cursor:pointer}.coverage-label{font-size:.875rem;font-weight:500;color:var(--color-text)}.coverage-bucket{flex:1;text-align:right;font-size:.75rem;color:var(--color-text-muted);font-family:monospace;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.load-tags-btn{padding:.25rem .5rem;font-size:.75rem;background:transparent;border:1px solid var(--color-border);border-radius:.25rem;color:var(--color-text-muted);cursor:pointer}.load-tags-btn:hover{color:var(--color-primary);border-color:var(--color-primary)}.loading-indicator{font-size:.75rem;color:var(--color-text-muted);margin-left:.5rem;font-weight:400}.no-tags-message{padding:1rem;text-align:center;color:var(--color-text-muted);font-size:.875rem}.tag-label-icon{display:flex;align-items:center;gap:.375rem}.tag-label-icon svg{color:var(--color-text-muted);flex-shrink:0}.fp-run-query-btn{display:flex;align-items:center;justify-content:center;gap:.4rem;width:100%;margin-bottom:.75rem;padding:.55rem 1rem;border-radius:.4rem;border:none;background:var(--color-primary);color:#fff;font-size:.8125rem;font-weight:600;cursor:pointer;transition:background .15s,box-shadow .15s;box-shadow:0 1px 4px #3b82f64d}.fp-run-query-btn:disabled{opacity:.55;cursor:not-allowed}.fp-run-query-btn:not(:disabled):hover{background:#2563eb;box-shadow:0 2px 8px #3b82f666}.fp-run-query-btn.dirty{animation:fp-btn-pulse 1.8s ease-in-out infinite}@keyframes fp-btn-pulse{0%,to{box-shadow:0 1px 4px #3b82f64d}50%{box-shadow:0 2px 12px #3b82f68c}}.login-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;background-color:var(--color-bg);padding:1rem}.login-container{width:100%;max-width:400px;background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:.75rem;padding:2rem}.login-header{text-align:center;margin-bottom:2rem}.login-header h1{font-size:1.5rem;font-weight:600;color:var(--color-text);margin-bottom:.5rem}.login-header p{font-size:.875rem;color:var(--color-text-muted)}.login-content{display:flex;flex-direction:column;gap:1rem}.google-login-btn,.manual-login-btn{display:flex;align-items:center;justify-content:center;gap:.75rem;width:100%;padding:.75rem 1rem;font-size:.875rem;font-weight:500;border-radius:.5rem;cursor:pointer;transition:all .15s ease}.google-login-btn{background-color:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text)}.google-login-btn:hover{background-color:var(--color-bg);border-color:var(--color-text-muted)}.manual-login-btn{background-color:var(--color-primary);border:1px solid var(--color-primary);color:#fff}.manual-login-btn:hover{opacity:.9}.local-dev-notice{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem;background-color:#d977061a;border:1px solid var(--color-warning);border-radius:.5rem;color:var(--color-warning);font-size:.875rem;font-weight:500}.manual-form{display:flex;flex-direction:column;gap:1rem}.paste-section{display:flex;flex-direction:column;gap:.75rem;padding:1rem;background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:.5rem}.paste-help{font-size:.75rem;color:var(--color-text-muted);text-align:center;margin:0}.paste-help code{display:block;margin-top:.25rem;padding:.25rem .5rem;background-color:var(--color-surface);border-radius:.25rem;font-family:monospace;font-size:.7rem;word-break:break-all}.paste-btn{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1rem;background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:.375rem;color:var(--color-text);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .15s ease}.paste-btn:hover{border-color:var(--color-primary);color:var(--color-primary)}.paste-btn.success{background-color:#16a34a1a;border-color:var(--color-success);color:var(--color-success)}.form-divider{display:flex;align-items:center;gap:1rem;margin:.5rem 0}.form-divider:before,.form-divider:after{content:"";flex:1;height:1px;background-color:var(--color-border)}.form-divider span{font-size:.75rem;color:var(--color-text-muted);white-space:nowrap}.form-group{display:flex;flex-direction:column;gap:.375rem}.form-group label{font-size:.75rem;font-weight:500;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.025em}.form-group input{padding:.625rem .75rem;font-size:.875rem;background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:.375rem;color:var(--color-text)}.form-group input:focus{outline:none;border-color:var(--color-primary)}.form-group input::placeholder{color:var(--color-text-muted)}.form-error{padding:.625rem .75rem;background-color:#dc26261a;border:1px solid var(--color-error);border-radius:.375rem;color:var(--color-error);font-size:.875rem}.form-actions{display:flex;gap:.75rem;margin-top:.5rem}.submit-btn,.cancel-btn{flex:1;padding:.625rem 1rem;font-size:.875rem;font-weight:500;border-radius:.375rem;cursor:pointer;transition:all .15s ease}.submit-btn{background-color:var(--color-primary);border:1px solid var(--color-primary);color:#fff}.submit-btn:hover{opacity:.9}.cancel-btn{background-color:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text-muted)}.cancel-btn:hover{background-color:var(--color-bg);color:var(--color-text)}.profile-section{display:flex;flex-direction:column;gap:.5rem;padding:.75rem;background-color:#6366f114;border:1px solid rgba(99,102,241,.3);border-radius:.4rem}.profile-row{display:flex;gap:.5rem}.profile-input{flex:1;padding:.5rem .6rem;background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:.25rem;color:var(--color-text);font-size:.85rem;font-family:ui-monospace,SFMono-Regular,monospace}.profile-btn{padding:.5rem .85rem;background-color:#6366f126;color:#4338ca;border:1px solid rgba(99,102,241,.4);border-radius:.25rem;font-size:.85rem;font-weight:500;cursor:pointer;white-space:nowrap}.profile-btn:hover:not(:disabled){background-color:#6366f140;border-color:#6366f1}.profile-btn:disabled{opacity:.6;cursor:not-allowed}.login-footer{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid var(--color-border);text-align:center}.login-footer p{font-size:.75rem;color:var(--color-text-muted);line-height:1.5}.user-menu{position:relative;display:flex;align-items:center;gap:1rem}.s3-status{display:flex;align-items:center;gap:.375rem;padding:.25rem .625rem;border-radius:9999px;font-size:.75rem;font-weight:500}.s3-status.connected{background-color:#16a34a26;color:var(--color-success)}.s3-status.disconnected{background-color:#dc262626;color:var(--color-error)}.user-menu-trigger{display:flex;align-items:center;gap:.5rem;padding:.375rem .75rem;background-color:transparent;border:1px solid var(--color-border);border-radius:.5rem;color:var(--color-text);font-size:.875rem;cursor:pointer;transition:all .15s ease}.user-menu-trigger:hover{background-color:var(--color-bg);border-color:var(--color-text-muted)}.user-avatar{width:24px;height:24px;border-radius:50%;object-fit:cover}.user-avatar-placeholder{width:24px;height:24px;border-radius:50%;background-color:var(--color-primary);color:#fff;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:600}.user-email{max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chevron-icon{transition:transform .15s ease;flex-shrink:0}.chevron-icon.rotated{transform:rotate(180deg)}.user-menu-dropdown{position:absolute;top:calc(100% + 4px);right:0;min-width:220px;background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:.5rem;box-shadow:0 4px 12px #0000001a;z-index:100;overflow:hidden}.user-info{padding:.75rem 1rem}.user-name{font-size:.875rem;font-weight:600;color:var(--color-text);margin-bottom:.125rem}.user-email-detail{font-size:.75rem;color:var(--color-text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-mode-badge{display:inline-block;margin-top:.5rem;padding:.125rem .5rem;background-color:#d9770626;color:var(--color-warning);font-size:.625rem;font-weight:600;text-transform:uppercase;letter-spacing:.025em;border-radius:9999px}.menu-divider{height:1px;background-color:var(--color-border)}.logout-btn{display:flex;align-items:center;gap:.5rem;width:100%;padding:.75rem 1rem;background:none;border:none;color:var(--color-text-muted);font-size:.875rem;cursor:pointer;transition:all .15s ease;text-align:left}.logout-btn:hover{background-color:var(--color-bg);color:var(--color-error)}.logout-btn svg{flex-shrink:0}.dashboard-view{padding:1.5rem 0}.config-section{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:.5rem;padding:1.5rem;margin-bottom:1.5rem}.config-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.config-header h2{font-size:1.125rem;font-weight:600;margin:0}.add-card-btn{padding:.5rem 1rem;background-color:var(--color-primary);color:#fff;border:none;border-radius:.375rem;font-size:.875rem;font-weight:500;cursor:pointer;transition:opacity .15s}.add-card-btn:hover{opacity:.9}.config-form{background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:.375rem;padding:1rem;margin-bottom:1rem}.form-row{margin-bottom:.75rem}.form-row:last-of-type{margin-bottom:1rem}.form-row label{display:block;font-size:.75rem;font-weight:500;color:var(--color-text-muted);margin-bottom:.25rem}.form-row input,.form-row select{width:100%;padding:.5rem .75rem;background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:.25rem;color:var(--color-text);font-size:.875rem}.form-row input:focus,.form-row select:focus{outline:none;border-color:var(--color-primary)}.form-row .loading-text{font-size:.75rem;color:var(--color-text-muted);margin-left:.5rem}.coverage-checkboxes{display:flex;gap:1rem;padding:.5rem 0}.coverage-checkbox{display:flex;align-items:center;gap:.375rem;cursor:pointer;font-size:.875rem;color:var(--color-text)}.coverage-checkbox input[type=checkbox]{width:1rem;height:1rem;cursor:pointer;accent-color:var(--color-primary)}.form-actions{display:flex;justify-content:flex-end;gap:.5rem}.cancel-btn{padding:.5rem 1rem;background-color:transparent;border:1px solid var(--color-border);border-radius:.25rem;color:var(--color-text-muted);font-size:.875rem;cursor:pointer}.cancel-btn:hover{color:var(--color-text);border-color:var(--color-text-muted)}.save-btn{padding:.5rem 1rem;background-color:var(--color-primary);border:none;border-radius:.25rem;color:#fff;font-size:.875rem;font-weight:500;cursor:pointer}.save-btn:hover:not(:disabled){opacity:.9}.save-btn:disabled{opacity:.5;cursor:not-allowed}.config-list{display:flex;flex-direction:column;gap:.5rem}.config-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem;background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:.375rem}.config-info{display:flex;flex-direction:column;gap:.25rem}.config-title{font-size:.875rem;font-weight:500;color:var(--color-text)}.config-tag{font-size:.75rem;color:var(--color-text-muted);font-family:monospace}.config-coverage{font-size:.625rem;color:var(--color-text-muted);background-color:var(--color-bg);padding:.125rem .375rem;border-radius:.25rem;margin-top:.125rem;display:inline-block}.config-actions{display:flex;gap:.375rem}.edit-btn,.delete-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:transparent;border:1px solid var(--color-border);border-radius:.25rem;color:var(--color-text-muted);cursor:pointer;transition:all .15s}.edit-btn:hover{border-color:var(--color-primary);color:var(--color-primary)}.delete-btn:hover{border-color:var(--color-error);color:var(--color-error)}.empty-config{padding:1rem;text-align:center;color:var(--color-text-muted);font-size:.875rem}.dashboard-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem}@media(max-width:1024px){.dashboard-grid{grid-template-columns:1fr}}.dashboard-card{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:.5rem;padding:1rem;min-height:280px;display:flex;flex-direction:column}.dashboard-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.5rem}.dashboard-card-title{font-size:1rem;font-weight:600;color:var(--color-text)}.dashboard-card-tag{display:flex;flex-direction:column;align-items:flex-end;gap:.125rem}.tag-key{font-size:.625rem;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em}.tag-value{font-size:.75rem;color:var(--color-primary);font-weight:500}.dashboard-card-total{display:flex;justify-content:space-between;align-items:baseline;padding:.5rem 0;border-bottom:1px solid var(--color-border);margin-bottom:.5rem}.total-label{font-size:.75rem;color:var(--color-text-muted)}.total-value{font-size:1.25rem;font-weight:600;color:var(--color-text)}.dashboard-card-chart{flex:1;min-height:180px}.dashboard-card-loading,.dashboard-card-empty{flex:1;display:flex;align-items:center;justify-content:center;color:var(--color-text-muted);font-size:.875rem}.loading-spinner{width:24px;height:24px;border:2px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.empty-dashboard{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:.5rem;text-align:center}.empty-icon{color:var(--color-border);margin-bottom:1rem}.empty-dashboard h3{font-size:1.125rem;font-weight:600;color:var(--color-text);margin-bottom:.5rem}.empty-dashboard p{font-size:.875rem;color:var(--color-text-muted);margin:0}.empty-hint{margin-top:.5rem!important;font-size:.75rem!important}.diff-view{display:flex;flex-direction:column;gap:1.5rem;padding:1rem}.diff-controls{display:flex;gap:1rem;align-items:flex-start;padding:.85rem 1rem;background:#f9fafb;border-radius:6px;flex-wrap:wrap}.diff-controls-sidebar{display:flex;flex-direction:column;gap:.85rem}.diff-controls-sidebar .diff-controls{flex-direction:column;gap:.6rem;padding:.85rem;background:#f9fafb;border-radius:6px;border:1px solid #e5e7eb}.diff-controls-sidebar .diff-control{min-width:0;max-width:100%;width:100%}.diff-controls-sidebar-metric .diff-controls{background:transparent;border:none;padding:0;gap:.75rem}.diff-controls-sidebar .diff-period-controls{flex-direction:column;padding:.85rem;background:#f9fafb;border-radius:6px;border:1px solid #e5e7eb}.diff-controls-sidebar .diff-period-presets{flex-wrap:wrap;gap:.35rem}.diff-controls-sidebar .diff-period-row{flex-wrap:wrap;gap:.35rem;font-size:.85rem}.diff-controls-sidebar .diff-period-row input[type=date]{flex:1 1 9rem;min-width:0}.diff-control{display:flex;flex-direction:column;gap:.3rem;min-width:12rem;max-width:22rem}.diff-control label{font-size:.78rem;color:#6b7280;font-weight:500;white-space:nowrap}.diff-control input,.diff-control select{padding:.45rem .6rem;border:1px solid #d1d5db;border-radius:4px;font-size:.88rem;background:#fff;color:#1f2937;width:100%;box-sizing:border-box;min-width:0}.diff-control input:focus,.diff-control select:focus{outline:none;border-color:#6366f1;box-shadow:0 0 0 3px #6366f126}.diff-control-hint{font-size:.7rem;color:#9ca3af;line-height:1.3}.diff-control-toggle{display:flex;align-items:center;gap:.4rem;font-size:.78rem;color:#4b5563;margin-top:1.4rem;white-space:nowrap;cursor:pointer}.diff-control-toggle input[type=checkbox]{cursor:pointer}.diff-loading{align-self:center;margin-left:auto;padding:.35rem .75rem;border-radius:999px;background:#dbeafe;color:#1e40af;font-size:.8rem;font-weight:500}.diff-error{color:#dc2626;font-size:.85rem}.diff-debug{margin:.5rem 1rem 0;background:#f9fafb;border:1px dashed #d1d5db;border-radius:6px;font-size:.75rem}.diff-debug-toggle{width:100%;display:flex;align-items:center;gap:.6rem;padding:.4rem .85rem;background:transparent;border:0;cursor:pointer;font-size:.75rem;color:#4b5563;font-family:inherit;text-align:left}.diff-debug-toggle:hover{background:#00000005}.diff-debug-toggle-label{font-weight:600;color:#374151}.diff-debug-toggle-stats{flex:1;font-family:ui-monospace,SFMono-Regular,monospace;color:#6b7280;font-size:.7rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.diff-debug-toggle-err{padding:.05rem .45rem;border-radius:999px;background:#fee2e2;color:#b91c1c;font-size:.7rem;font-weight:600}.diff-debug-arrow{color:#9ca3af}.diff-debug-body{padding:.4rem .85rem .6rem;border-top:1px solid #e5e7eb;display:flex;flex-direction:column;gap:.2rem}.diff-debug-row{display:grid;grid-template-columns:14rem 1fr;gap:.6rem;align-items:baseline}.diff-debug-label{color:#6b7280}.diff-debug-code{font-family:ui-monospace,SFMono-Regular,monospace;color:#1f2937;word-break:break-all}.diff-debug-error{margin:.4rem 0 0;padding:.5rem .7rem;background:#fef2f2;color:#991b1b;border-radius:4px;font-size:.75rem;white-space:pre-wrap;word-break:break-all;max-height:16rem;overflow:auto}.diff-summary-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;position:relative}.diff-summary-cards.is-loading{opacity:.55;filter:grayscale(20%);pointer-events:none;transition:opacity .15s ease}.diff-summary-cards.is-loading:after{content:"読み込み中…";position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:.95rem;font-weight:600;color:#1f2937;background:#ffffff59;border-radius:8px;pointer-events:none}.diff-summary-card{padding:1rem 1.25rem;background:#fff;border:1px solid #e5e7eb;border-radius:8px;display:flex;flex-direction:column;gap:.4rem}.diff-summary-region{font-size:.8rem;font-weight:600;color:#6b7280;letter-spacing:.05em;text-transform:uppercase}.diff-summary-value{font-size:1.6rem;font-weight:700;color:#111827}.diff-summary-deltas{display:flex;gap:.75rem;font-size:.85rem}.diff-delta{padding:.15rem .55rem;border-radius:999px;font-weight:500}.diff-delta.up{background:#fee2e2;color:#b91c1c}.diff-delta.down{background:#d1fae5;color:#047857}.diff-chart-section{display:flex;flex-direction:column;gap:.75rem}.diff-chart-section h3{margin:0;font-size:1rem;font-weight:600;color:#111827}.diff-chart-trend{width:100%;height:360px;background:#fff;border:1px solid #e5e7eb;border-radius:6px}.diff-chart-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.diff-chart-grid:has(.diff-chart-bar:only-child){grid-template-columns:1fr}@media(max-width:1100px){.diff-chart-grid{grid-template-columns:1fr}}.diff-chart-bar{width:100%;height:460px;background:#fff;border:1px solid #e5e7eb;border-radius:6px}.diff-stacked-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:.75rem}@media(max-width:1100px){.diff-stacked-row{grid-template-columns:1fr}}.diff-chart-stacked{width:100%;height:520px;background:#fff;border:1px solid #e5e7eb;border-radius:6px}.diff-line-item-section{display:flex;flex-direction:column;gap:.75rem}.diff-line-item-section h3{margin:0;font-size:1rem;font-weight:600;color:#111827}.diff-line-item-table{background:#fff;border:1px solid #e5e7eb;border-radius:6px;padding:.75rem 1rem}.diff-line-item-table h4{margin:0 0 .5rem;font-size:.9rem;color:#374151}.diff-line-item-table table{width:100%;border-collapse:collapse;font-size:.85rem}.diff-line-item-table th,.diff-line-item-table td{padding:.4rem .6rem;border-bottom:1px solid #f3f4f6;text-align:left}.diff-line-item-table th{font-weight:600;color:#6b7280;background:#f9fafb}.diff-line-item-table .diff-money{text-align:right;font-variant-numeric:tabular-nums;font-family:ui-monospace,SFMono-Regular,monospace}.diff-period-controls{background:#f9fafb;border-radius:6px;padding:1rem;display:flex;flex-direction:column;gap:.85rem}.diff-period-presets{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.diff-period-presets-label{font-size:.8rem;color:#6b7280;font-weight:500;margin-right:.25rem}.diff-preset-btn{padding:.35rem .75rem;font-size:.8rem;border:1px solid #d1d5db;background:#fff;border-radius:999px;cursor:pointer;color:#374151}.diff-preset-btn:hover{background:#eef2ff;border-color:#6366f1;color:#4338ca}.diff-period-grid{display:flex;flex-direction:column;gap:.6rem}.diff-period-row{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.diff-period-row input[type=date]{padding:.35rem .55rem;border:1px solid #d1d5db;border-radius:4px;font-size:.9rem}.diff-period-row-label{display:inline-block;min-width:4rem;font-size:.8rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;padding:.18rem .5rem;border-radius:4px}.diff-period-base{background:#dbeafe;color:#1e40af}.diff-period-target{background:#fef3c7;color:#92400e}.diff-period-sep{color:#6b7280;font-weight:500}.diff-period-len{color:#6b7280;font-size:.8rem;font-variant-numeric:tabular-nums}.diff-period-warn{font-size:.8rem;color:#b91c1c;background:#fef2f2;border:1px solid #fecaca;padding:.4rem .6rem;border-radius:4px}.diff-period-warn-strip{font-size:.82rem;color:#92400e;background:#fffbeb;border:1px solid #fcd34d;padding:.55rem .85rem;border-radius:4px;line-height:1.5}.diff-summary-perday{margin-top:.5rem;padding-top:.5rem;border-top:1px dashed #e5e7eb;display:flex;flex-direction:column;gap:.3rem}.diff-summary-perday-label{font-size:.7rem;font-weight:600;color:#92400e;letter-spacing:.04em;text-transform:uppercase}.diff-summary-perday-row{display:flex;justify-content:space-between;align-items:baseline}.diff-summary-period-pair{display:flex;flex-direction:column;gap:.25rem}.diff-summary-period-row{display:flex;justify-content:space-between;align-items:baseline}.diff-summary-period-label{font-size:.7rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;padding:.1rem .45rem;border-radius:4px}.diff-summary-period-value{font-size:1.1rem;font-weight:600;color:#111827;font-variant-numeric:tabular-nums}.sql-console{display:flex;flex-direction:column;gap:.75rem;padding:1rem 0}.sql-console-toolbar{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.sql-console-toolbar button{padding:.4rem .9rem;background-color:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border);border-radius:.375rem;font-size:.85rem;cursor:pointer;transition:background-color .15s,opacity .15s}.sql-console-toolbar button:hover:not(:disabled){background-color:var(--color-bg-hover, #f5f5f5)}.sql-console-toolbar button:disabled{opacity:.5;cursor:not-allowed}.sql-console-toolbar .sql-run-btn{background-color:var(--color-primary);color:#fff;border-color:var(--color-primary);font-weight:600}.sql-console-toolbar .sql-run-btn:hover:not(:disabled){opacity:.9;background-color:var(--color-primary)}.sql-console-meta{margin-left:auto;display:flex;gap:.75rem;font-size:.8rem;color:var(--color-text-muted, #666)}.sql-editor{width:100%;min-height:180px;max-height:50vh;padding:.75rem;font-family:SF Mono,Menlo,Consolas,monospace;font-size:.85rem;line-height:1.45;background-color:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border);border-radius:.5rem;resize:vertical;tab-size:2}.sql-editor:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px #3b82f633}.sql-history{border:1px solid var(--color-border);border-radius:.5rem;background-color:var(--color-surface);max-height:240px;overflow-y:auto}.sql-history-header{display:flex;justify-content:space-between;align-items:center;padding:.5rem .75rem;border-bottom:1px solid var(--color-border);background-color:var(--color-bg-subtle, #fafafa);position:sticky;top:0;z-index:1}.sql-history-header button{padding:.25rem .6rem;font-size:.75rem;background-color:transparent;border:1px solid var(--color-border);border-radius:.25rem;cursor:pointer}.sql-history-header button:disabled{opacity:.4;cursor:not-allowed}.sql-history ul{list-style:none;margin:0;padding:0}.sql-history li{display:grid;grid-template-columns:160px 130px 1fr;gap:.75rem;align-items:center;padding:.4rem .75rem;font-size:.8rem;border-bottom:1px solid var(--color-border);cursor:pointer;transition:background-color .1s}.sql-history li:hover{background-color:var(--color-bg-hover, #f5f5f5)}.sql-history li.sql-history-error .sql-history-stats{color:#c00}.sql-history-time,.sql-history-stats{color:var(--color-text-muted, #666);font-variant-numeric:tabular-nums}.sql-history-preview{font-family:SF Mono,Menlo,Consolas,monospace;color:var(--color-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sql-result{min-height:100px}.sql-error{margin:0;padding:.75rem;background-color:#fef2f2;color:#991b1b;border:1px solid #fecaca;border-radius:.5rem;font-family:SF Mono,Menlo,Consolas,monospace;font-size:.85rem;white-space:pre-wrap;word-break:break-word}.sql-result-scroller{border:1px solid var(--color-border);border-radius:.5rem;overflow:auto;max-height:60vh;background-color:var(--color-surface)}.sql-result-table{border-collapse:collapse;width:100%;font-size:.82rem}.sql-result-table th{position:sticky;top:0;background-color:var(--color-bg-subtle, #fafafa);text-align:left;padding:.5rem .75rem;font-weight:600;border-bottom:1px solid var(--color-border);white-space:nowrap}.sql-result-table td{padding:.4rem .75rem;border-bottom:1px solid var(--color-border);font-family:SF Mono,Menlo,Consolas,monospace;font-size:.78rem;vertical-align:top;max-width:480px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sql-result-table tbody tr:hover{background-color:var(--color-bg-hover, #f5f5f5)}.sql-empty{padding:1rem;text-align:center;color:var(--color-text-muted, #666);font-size:.85rem;border:1px dashed var(--color-border);border-radius:.5rem}.cost-per-line-view{padding:1.5rem;width:100%;max-width:100%;box-sizing:border-box}.cpl-reload-icon{position:absolute;top:.75rem;right:.75rem;background:none;border:1px solid var(--color-border);border-radius:.375rem;padding:.375rem;cursor:pointer;color:var(--color-text-muted);display:flex;align-items:center;justify-content:center;transition:color .15s,background-color .15s}.cpl-reload-icon:hover:not(:disabled){color:var(--color-text);background-color:var(--color-bg)}.cpl-reload-icon:disabled{opacity:.4;cursor:not-allowed}.cpl-section{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:.5rem;padding:1.5rem;margin-bottom:1.5rem}.cpl-section h2{font-size:1.125rem;font-weight:600;margin:0 0 1rem}.cpl-spreadsheet-wrap{overflow-x:auto;margin-bottom:1rem}.cpl-spreadsheet{width:100%;border-collapse:collapse;font-size:.8125rem;font-variant-numeric:tabular-nums;white-space:nowrap}.cpl-spreadsheet th,.cpl-spreadsheet td{padding:.25rem .4rem;border:1px solid var(--color-border);text-align:right}.cpl-spreadsheet th{background-color:var(--color-bg);font-weight:600;font-size:.6875rem;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted);position:sticky;top:0;z-index:1}.cpl-spreadsheet th.col-month{text-align:left;min-width:5.5rem}.cpl-spreadsheet td.col-month{text-align:left;font-weight:500;background-color:var(--color-bg);position:sticky;left:0;z-index:1}.cpl-spreadsheet .col-group-jp{border-left:2px solid #3b82f6}.cpl-spreadsheet .col-group-global{border-left:2px solid #22c55e}.cpl-spreadsheet th.col-group-jp{color:#3b82f6}.cpl-spreadsheet th.col-group-global{color:#22c55e}.cpl-spreadsheet td.editable{padding:0}.cpl-spreadsheet td.editable input{width:100%;min-width:4rem;padding:.25rem .4rem;border:none;background:transparent;color:var(--color-text);font-size:.8125rem;font-variant-numeric:tabular-nums;text-align:right;outline:none;box-sizing:border-box}.cpl-spreadsheet td.editable input:focus{background-color:#eff6ff;box-shadow:inset 0 0 0 2px #3b82f666}.cpl-spreadsheet td.editable input::placeholder{color:var(--color-border)}.cpl-spreadsheet td.col-calc,.cpl-spreadsheet th.col-calc{position:sticky;right:0;z-index:1;text-align:center;border:1px solid var(--color-border);background-color:var(--color-bg);box-shadow:-3px 0 5px -3px #0000002e}.cpl-spreadsheet td.col-calc{padding:.125rem .25rem}.cpl-spreadsheet th.col-calc{z-index:3}.cpl-btn-calc{padding:.125rem .5rem;border:1px solid var(--color-border);border-radius:.25rem;background-color:var(--color-bg);color:var(--color-text-muted);font-size:.6875rem;cursor:pointer;white-space:nowrap}.cpl-btn-calc:hover:not(:disabled){background-color:var(--color-border);color:var(--color-text)}.cpl-btn-calc:disabled{opacity:.4;cursor:not-allowed}.cpl-spreadsheet td.computed{color:var(--color-text-muted)}.cpl-spreadsheet td.cost-per-line{font-weight:600;color:var(--color-text)}.cpl-spreadsheet td.cost-ratio{font-weight:600;color:#7c3aed}.cpl-chart-note{font-size:.8125rem;color:var(--color-text-muted);margin:-.5rem 0 1rem}.cpl-spreadsheet tbody tr:hover td{background-color:#f8fafc}.cpl-spreadsheet tbody tr:hover td.col-month,.cpl-spreadsheet tbody tr:hover td.col-calc{background-color:#f1f5f9}.cpl-actions{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.cpl-btn{padding:.5rem 1rem;border:none;border-radius:.375rem;font-size:.875rem;font-weight:500;cursor:pointer;transition:opacity .15s}.cpl-btn:disabled{opacity:.5;cursor:not-allowed}.cpl-btn-primary{background-color:var(--color-primary);color:#fff}.cpl-btn-primary:hover:not(:disabled){opacity:.9}.cpl-btn-secondary{background-color:var(--color-bg);color:var(--color-text);border:1px solid var(--color-border)}.cpl-btn-secondary:hover:not(:disabled){background-color:var(--color-border)}.cpl-message{padding:.5rem .75rem;border-radius:.375rem;font-size:.875rem;margin-bottom:1rem}.cpl-message-error{background-color:#fef2f2;color:#dc2626;border:1px solid #fecaca}.cpl-message-success{background-color:#f0fdf4;color:#16a34a;border:1px solid #bbf7d0}.cpl-message-info{background-color:#eff6ff;color:#2563eb;border:1px solid #bfdbfe}.cpl-message-warning{background-color:#fffbeb;color:#b45309;border:1px solid #fde68a}.cpl-stale-badge{display:inline-block;margin-left:.5rem;padding:.05rem .4rem;font-size:.6875rem;font-weight:700;vertical-align:middle;color:#b45309;background-color:#fffbeb;border:1px solid #fde68a;border-radius:.25rem}.cpl-btn-attention{background-color:#f59e0b;color:#fff}.cpl-btn-attention:hover:not(:disabled){background-color:#d97706}.cpl-chart-container{width:100%;height:400px}.cpl-loading{display:flex;align-items:center;gap:.5rem;color:var(--color-text-muted);font-size:.875rem;padding:1rem 0}.cpl-empty{color:var(--color-text-muted);font-size:.875rem;padding:2rem;text-align:center}.cpl-dirty-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#f59e0b;margin-left:.5rem;vertical-align:middle}.cpl-bulk-csv{margin-top:1rem;padding:1rem;background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:.375rem}.cpl-bulk-hint{font-size:.8125rem;color:var(--color-text-muted);margin:0 0 .5rem}.cpl-bulk-hint code{background-color:var(--color-surface);padding:.125rem .375rem;border-radius:.25rem;font-size:.75rem}.cpl-bulk-textarea{width:100%;padding:.5rem;border:1px solid var(--color-border);border-radius:.375rem;background-color:var(--color-surface);color:var(--color-text);font-family:SF Mono,Fira Code,Fira Mono,Menlo,Consolas,monospace;font-size:.8125rem;line-height:1.5;resize:vertical;margin-bottom:.75rem;box-sizing:border-box}.cpl-bulk-textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px #3b82f626}.cpl-toggle-btn{background:none;border:none;color:var(--color-text);font-size:1.125rem;font-weight:600;cursor:pointer;padding:0}.cpl-account-count{font-size:.75rem;font-weight:400;color:var(--color-text-muted);margin-left:.75rem}.cpl-account-group{margin-bottom:1rem}.cpl-account-group h3{font-size:.875rem;font-weight:600;margin:.75rem 0 .5rem;color:var(--color-text-muted)}.cpl-btn-remove{background:none;border:none;color:#dc2626;font-size:1rem;cursor:pointer;padding:.125rem .375rem;border-radius:.25rem;line-height:1}.cpl-btn-remove:hover{background-color:#fef2f2}.cpl-account-add{display:flex;gap:.5rem;align-items:center;margin-top:.75rem;flex-wrap:wrap}.cpl-account-add select,.cpl-account-add input{padding:.375rem .5rem;border:1px solid var(--color-border);border-radius:.375rem;background-color:var(--color-bg);color:var(--color-text);font-size:.8125rem}.cpl-account-add input[placeholder*=Account]{width:10rem;font-family:monospace}.cpl-account-add input[placeholder*=Name]{width:14rem}.cpl-account-add-label{font-size:.8125rem;color:var(--color-text-muted)}.cpl-account-search{width:100%;max-width:22rem;padding:.375rem .625rem;margin-bottom:1rem;border:1px solid var(--color-border);border-radius:.375rem;background-color:var(--color-bg);color:var(--color-text);font-size:.8125rem;box-sizing:border-box}.cpl-account-search:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px #3b82f626}.cpl-account-coverage{padding-left:.5rem;font-weight:700}.cpl-account-bulk{margin-left:auto;display:inline-flex;gap:.75rem}.cpl-account-group h3{display:flex;align-items:center;gap:.75rem}.cpl-link-btn{background:none;border:none;color:var(--color-primary);font-size:.75rem;cursor:pointer;padding:0;text-decoration:underline}.cpl-account-empty{font-size:.8125rem;color:var(--color-text-muted);padding:.5rem 0}.cpl-account-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(20rem,1fr));gap:.25rem 1rem}.cpl-account-row{display:flex;align-items:center;gap:.5rem;padding:.3rem .5rem;border-radius:.375rem;cursor:pointer;border:1px solid transparent}.cpl-account-row:hover{background-color:var(--color-bg)}.cpl-account-row.is-on{background-color:#eff6ff;border-color:#bfdbfe}.cpl-account-row.is-on:hover{background-color:#e0edff}.cpl-account-row.is-suspended .cpl-account-name{color:var(--color-text-muted);text-decoration:line-through}.cpl-account-name{flex:1 1 auto;font-size:.8125rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cpl-account-id{font-family:monospace;font-size:.6875rem;color:var(--color-text-muted)}.cpl-badge{font-size:.625rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;padding:.05rem .3rem;border-radius:.25rem}.cpl-badge-suspended{background-color:#fef2f2;color:#dc2626}.cpl-badge-manual{background-color:#fefce8;color:#ca8a04}.cpl-switch{position:relative;display:inline-flex;flex:0 0 auto;width:30px;height:18px}.cpl-switch input{position:absolute;opacity:0;width:100%;height:100%;margin:0;cursor:pointer}.cpl-switch-track{position:absolute;inset:0;background-color:var(--color-border);border-radius:9999px;transition:background-color .15s}.cpl-switch-track:before{content:"";position:absolute;top:2px;left:2px;width:14px;height:14px;background:#fff;border-radius:50%;transition:transform .15s;box-shadow:0 1px 2px #0003}.cpl-switch input:checked+.cpl-switch-track{background-color:var(--color-primary)}.cpl-switch input:checked+.cpl-switch-track:before{transform:translate(12px)}.cpl-switch input:focus-visible+.cpl-switch-track{box-shadow:0 0 0 2px #3b82f666}.drill-breadcrumb{display:flex;align-items:center;flex-wrap:wrap;gap:4px;padding:8px 12px;background:#f3f4f6;border:1px solid #e5e7eb;border-radius:6px;margin:8px 0;font-size:13px}.drill-crumb{background:transparent;border:1px solid transparent;color:#2563eb;cursor:pointer;padding:2px 8px;border-radius:4px;font-size:inherit;font-family:inherit}.drill-crumb:hover:not(:disabled){background:#e0e7ff;border-color:#c7d2fe}.drill-crumb-home{font-weight:600}.drill-crumb-current{color:#111827;font-weight:600;cursor:default}.drill-crumb-current:disabled{opacity:1}.drill-crumb-sep{color:#9ca3af;-webkit-user-select:none;user-select:none}.status-panel{margin:.5rem 1rem 0;border:1px solid #e5e7eb;border-radius:6px;background:#fafafa;font-size:.82rem;font-family:ui-sans-serif,system-ui,sans-serif}.status-toggle{width:100%;display:flex;align-items:center;gap:.5rem;padding:.5rem .85rem;background:transparent;border:0;cursor:pointer;font-size:.8rem;color:#374151}.status-toggle:hover{background:#f3f4f6}.status-dot{display:inline-block;width:.55rem;height:.55rem;border-radius:50%;background:#d1d5db}.status-dot.ok{background:#10b981}.status-dot.off{background:#ef4444}.status-pill{padding:.05rem .45rem;border-radius:999px;background:#e0f2fe;color:#075985;font-size:.7rem;font-weight:600}.status-net-badge{display:inline-flex;align-items:center;gap:.3rem;padding:.05rem .5rem;border-radius:999px;background:#fef3c7;color:#92400e;font-size:.7rem;font-weight:600}.status-query-badge{display:inline-flex;align-items:center;gap:.3rem;padding:.05rem .5rem;border-radius:999px;background:#dbeafe;color:#1e40af;font-size:.7rem;font-weight:600}.status-query-spinner{border-color:#60a5fa;border-top-color:transparent}.status-net-summary{padding:.05rem .45rem;border-radius:999px;background:#f3f4f6;color:#4b5563;font-size:.7rem;font-variant-numeric:tabular-nums}.status-net-spinner{display:inline-block;width:.6rem;height:.6rem;border:2px solid #fbbf24;border-top-color:transparent;border-radius:50%;animation:status-spin .7s linear infinite}.status-activity{display:flex;gap:.6rem;align-items:center;padding:.3rem .85rem;border-top:1px solid #e5e7eb;background:#fafafa;font-size:.72rem;font-family:ui-monospace,SFMono-Regular,monospace;overflow:hidden}.status-activity-time{color:#9ca3af;flex-shrink:0}.status-activity-tag{flex-shrink:0;padding:.05rem .45rem;border-radius:999px;font-size:.65rem;font-weight:600;letter-spacing:.05em}.status-activity-query .status-activity-tag{background:#dbeafe;color:#1e40af}.status-activity-set .status-activity-tag{background:#f3f4f6;color:#6b7280}.status-activity-ext .status-activity-tag{background:#fef3c7;color:#92400e}.status-activity-other .status-activity-tag{background:#ede9fe;color:#5b21b6}.status-activity-val{flex:1;color:#1f2937;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.7rem}@keyframes status-spin{to{transform:rotate(360deg)}}.status-net{margin-top:.5rem;padding-top:.6rem;border-top:1px dashed #e5e7eb;display:flex;flex-direction:column;gap:.4rem}.status-net-row{display:flex;gap:.75rem;align-items:baseline}.status-net-row .status-value.active{color:#b45309;font-weight:600}.status-net-active-list{display:flex;flex-direction:column;gap:.25rem}.status-net-active{display:flex;align-items:center;gap:.4rem;font-size:.72rem;background:#fffbeb;padding:.2rem .5rem;border-radius:3px;border-left:2px solid #fbbf24}.status-net-active code{flex:1;font-family:ui-monospace,SFMono-Regular,monospace;color:#4b5563;word-break:break-all}.status-net-elapsed{color:#92400e;font-variant-numeric:tabular-nums;font-size:.7rem}.status-net-recent{margin-top:.3rem}.status-net-recent summary{cursor:pointer;font-size:.74rem;color:#6b7280;padding:.25rem 0}.status-net-recent summary:hover{color:#1f2937}.status-net-recent-row{display:grid;grid-template-columns:3rem 1fr 5rem 4rem;gap:.5rem;align-items:center;padding:.2rem .4rem;font-size:.7rem;font-family:ui-monospace,SFMono-Regular,monospace;border-bottom:1px solid #f3f4f6}.status-net-recent-row.err{background:#fef2f2;color:#b91c1c}.status-net-recent-row.pending{color:#9ca3af;background:#fafafa}.status-net-recent-row.pending .status-net-status{color:#d1d5db}.status-net-status{font-weight:600;color:#047857}.status-net-recent-row.err .status-net-status{color:#b91c1c}.status-net-url{color:#4b5563;word-break:break-all;white-space:pre-wrap}.status-net-bytes,.status-net-ms{text-align:right;font-variant-numeric:tabular-nums;color:#6b7280}.status-duckdb-row{display:grid;grid-template-columns:5.5rem 5rem 1fr;gap:.5rem;padding:.18rem .4rem;border-bottom:1px solid #f3f4f6;font-size:.7rem;font-family:ui-monospace,SFMono-Regular,monospace;align-items:center}.status-duckdb-row.httpfs{background:#fef3c7}.status-duckdb-ts{color:#9ca3af}.status-duckdb-meta{color:#6b7280}.status-duckdb-val{color:#1f2937;word-break:break-all;white-space:pre-wrap;max-height:4em;overflow:hidden}.status-email{margin-left:auto;color:#6b7280;font-size:.75rem}.status-arrow{margin-left:.5rem;color:#9ca3af}.status-body{padding:.75rem 1rem 1rem;border-top:1px solid #e5e7eb}.status-grid{display:grid;grid-template-columns:max-content 1fr;gap:.35rem 1rem;margin-bottom:.75rem}.status-row{display:contents}.status-label{color:#6b7280;font-size:.75rem}.status-value{font-size:.82rem;color:#111827;word-break:break-all}.status-value.ok{color:#047857;font-weight:500}.status-value.off{color:#b91c1c}.status-code{font-family:ui-monospace,SFMono-Regular,monospace;font-size:.72rem;color:#1f2937;background:#fff;padding:.1rem .4rem;border-radius:3px;border:1px solid #e5e7eb;word-break:break-all;display:inline-block;max-width:100%}.status-actions{display:flex;gap:.5rem;margin-bottom:.75rem}.status-actions button{padding:.35rem .85rem;border:1px solid #d1d5db;background:#fff;border-radius:4px;font-size:.8rem;cursor:pointer;color:#1f2937}.status-actions button:hover:not(:disabled){background:#f3f4f6;border-color:#9ca3af}.status-actions button:disabled{opacity:.5;cursor:not-allowed}.status-clear{margin-left:auto}.status-reset{background:#fef3c7!important;border-color:#fbbf24!important;color:#78350f!important}.status-reset:hover:not(:disabled){background:#fde68a!important;border-color:#f59e0b!important}.status-log{display:flex;flex-direction:column;gap:.45rem;max-height:26rem;overflow:auto}.status-log-entry{border-left:3px solid #e5e7eb;padding:.4rem .6rem;background:#fff;border-radius:0 4px 4px 0}.status-log-entry.ok{border-left-color:#10b981}.status-log-entry.err{border-left-color:#ef4444;background:#fef2f2}.status-log-head{display:flex;gap:.6rem;align-items:center;font-size:.74rem;margin-bottom:.25rem}.status-log-ts{color:#9ca3af;font-family:ui-monospace,SFMono-Regular,monospace}.status-log-label{color:#1f2937;font-weight:500}.status-log-rows{margin-left:auto;color:#047857;font-variant-numeric:tabular-nums}.status-log-ms{color:#6b7280;font-variant-numeric:tabular-nums}.status-log-err{margin-left:auto;color:#b91c1c;font-weight:600}.status-log-sql{display:block;font-family:ui-monospace,SFMono-Regular,monospace;font-size:.7rem;color:#4b5563;white-space:pre-wrap;word-break:break-all}.status-log-error{margin-top:.3rem;font-size:.7rem;color:#991b1b;white-space:pre-wrap;background:#fff1f2;padding:.4rem;border-radius:3px;max-height:12rem;overflow:auto}:root{--color-bg: #f5f5f5;--color-surface: #ffffff;--color-border: #e0e0e0;--color-text: #1a1a1a;--color-text-muted: #666;--color-primary: #3b82f6;--color-success: #16a34a;--color-error: #dc2626;--color-warning: #d97706}*{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;background-color:var(--color-bg);color:var(--color-text);line-height:1.6}.app{min-height:100vh;display:flex;flex-direction:column}.header{position:sticky;top:0;z-index:200;display:flex;align-items:center;gap:.85rem;padding:.45rem 1.25rem;background-color:var(--color-surface);border-bottom:1px solid var(--color-border);box-shadow:0 1px 3px #0000000a}.header h1{font-size:1.05rem;font-weight:600;white-space:nowrap}.header-nav{display:flex;gap:.25rem;padding:.25rem;background-color:var(--color-bg);border-radius:.375rem}.nav-tab{padding:.32rem .85rem;font-size:.82rem;font-weight:500;color:var(--color-text-muted);background:transparent;border:none;border-radius:.25rem;cursor:pointer;transition:all .15s}.nav-tab:hover{color:var(--color-text)}.nav-tab.active{background-color:var(--color-surface);color:var(--color-text);box-shadow:0 1px 2px #0000000d}.dashboard-no-data{display:flex;align-items:center;justify-content:center;min-height:400px;background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:.5rem;margin-top:1.5rem}.dashboard-no-data p{color:var(--color-text-muted);font-size:.875rem}.header-status{display:flex;align-items:center;gap:.5rem;flex:1}.status{font-size:.72rem;padding:.18rem .55rem;border-radius:9999px;white-space:nowrap}.header-net-summary{font-size:.72rem;padding:.18rem .55rem;border-radius:9999px;background:#f3f4f6;color:#4b5563;font-variant-numeric:tabular-nums;white-space:nowrap}.header-net-active,.header-net-processing{display:inline-flex;align-items:center;gap:.3rem;font-size:.72rem;font-weight:600;padding:.18rem .55rem;border-radius:9999px;white-space:nowrap}.header-net-active{background:#fef3c7;color:#92400e}.header-net-processing{background:#dbeafe;color:#1e40af}.header-net-spinner{display:inline-block;width:.55rem;height:.55rem;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;animation:header-net-spin .7s linear infinite}@keyframes header-net-spin{to{transform:rotate(360deg)}}.status-ok{background-color:#16a34a26;color:var(--color-success)}.status-loading{background-color:#d9770626;color:var(--color-warning)}.main{flex:1;padding:1.5rem 2rem;width:100%}section{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:.5rem;padding:1.5rem;margin-bottom:1.5rem}section h2{font-size:1.25rem;margin-bottom:1rem;color:var(--color-text)}section p{color:var(--color-text-muted);margin-bottom:1rem}.upload-section input[type=file]{padding:.5rem;background-color:var(--color-bg);border:1px dashed var(--color-border);border-radius:.25rem;color:var(--color-text);cursor:pointer}.upload-section input[type=file]:hover{border-color:var(--color-primary)}.file-info{color:var(--color-success)!important;font-weight:500}.error{background-color:#dc26261a;border:1px solid var(--color-error);color:var(--color-error);padding:1rem;border-radius:.5rem;margin-bottom:1.5rem}.info-message{background-color:#3b82f614;border:1px solid var(--color-primary);color:var(--color-primary);padding:.75rem 1rem;border-radius:.5rem;margin-bottom:1rem;font-size:.875rem}.loading{text-align:center;padding:2rem;color:var(--color-text-muted)}.cost-table-container{overflow-x:auto}.table-controls{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.search-input{padding:.5rem 1rem;background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:.25rem;color:var(--color-text);font-size:.875rem;width:250px}.search-input:focus{outline:none;border-color:var(--color-primary)}.row-count{font-size:.875rem;color:var(--color-text-muted)}.cost-table{width:100%;border-collapse:collapse}.cost-table th,.cost-table td{padding:.75rem 1rem;text-align:left;border-bottom:1px solid var(--color-border)}.cost-table th{background-color:var(--color-bg);font-weight:600;color:var(--color-text-muted);font-size:.875rem;text-transform:uppercase;letter-spacing:.05em}.cost-table th.sortable{cursor:pointer}.cost-table th.sortable:hover{color:var(--color-text)}.cost-table tbody tr:hover{background-color:#00000008}.cost-table tfoot td{background-color:var(--color-bg);border-top:2px solid var(--color-border)}.sql-section textarea{width:100%;padding:1rem;background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:.25rem;color:var(--color-text);font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:.875rem;resize:vertical;margin-bottom:1rem}.sql-section textarea:focus{outline:none;border-color:var(--color-primary)}.sql-section button{padding:.5rem 1.5rem;background-color:var(--color-primary);border:none;border-radius:.25rem;color:#fff;font-weight:500;cursor:pointer}.sql-section button:hover{opacity:.9}.sql-section button:disabled{opacity:.5;cursor:not-allowed}.sql-result{margin-top:1.5rem}.sql-result h3{font-size:1rem;margin-bottom:.5rem}.sql-result pre{background-color:var(--color-bg);padding:1rem;border-radius:.25rem;overflow-x:auto;font-size:.75rem;max-height:400px;overflow-y:auto}.truncated{font-style:italic;color:var(--color-text-muted);margin-top:.5rem}.info-section ol{padding-left:1.5rem}.info-section li{margin-bottom:1rem;color:var(--color-text-muted)}.info-section code{display:inline-block;background-color:var(--color-bg);padding:.25rem .5rem;border-radius:.25rem;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:.875rem;margin-top:.5rem;word-break:break-all}.status-version{background-color:#3b82f626;color:var(--color-primary)}.schema-section details{margin-top:.5rem}.schema-section summary{cursor:pointer;color:var(--color-text-muted);font-size:.875rem}.schema-section summary:hover{color:var(--color-text)}.schema-list{margin-top:1rem;max-height:300px;overflow-y:auto}.schema-list pre{background-color:var(--color-bg);padding:1rem;border-radius:.25rem;font-size:.75rem;margin:0}.footer{padding:1rem 2rem;text-align:center;color:var(--color-text-muted);font-size:.875rem;border-top:1px solid var(--color-border)}.main-content{display:grid;grid-template-columns:320px 1fr;gap:1.5rem;margin-top:1.5rem}.filter-sidebar{position:sticky;top:1rem;height:fit-content;max-height:calc(100vh - 2rem);overflow-y:auto}.results-area{min-width:0;position:relative}.summary-section{display:flex;gap:1rem;margin-bottom:1.5rem}.summary-card{flex:1;background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:.5rem;padding:1rem 1.5rem;display:flex;flex-direction:column;gap:.25rem}.summary-label{font-size:.75rem;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em}.summary-value{font-size:1.5rem;font-weight:600;color:var(--color-text)}.summary-value-small{font-size:1rem;font-weight:500;color:var(--color-text)}.toggle-btn{background:none;border:none;color:var(--color-text);font-size:inherit;font-weight:inherit;cursor:pointer;padding:0}.toggle-btn:hover{color:var(--color-primary)}@media(max-width:1024px){.main-content{grid-template-columns:1fr}.filter-sidebar{position:static;max-height:none}.summary-section{flex-wrap:wrap}.summary-card{min-width:150px}}.warning-message{display:flex;align-items:center;gap:.75rem;padding:1rem;background-color:#d977061a;border:1px solid var(--color-warning);border-radius:.5rem;color:var(--color-warning);margin-bottom:1.5rem}.warning-message svg{flex-shrink:0}.warning-message span{font-size:.875rem;font-weight:500}.progress-bar-container{position:fixed;top:0;left:0;right:0;height:3px;background-color:#3b82f633;z-index:1000;overflow:hidden}.progress-bar{height:100%;background:linear-gradient(90deg,var(--color-primary) 0%,#60a5fa 50%,var(--color-primary) 100%);animation:progress-animation 2s ease-in-out infinite;transform-origin:left}@keyframes progress-animation{0%{width:0%;margin-left:0%}50%{width:60%;margin-left:20%}to{width:0%;margin-left:100%}}.settings-panel{position:relative}.settings-toggle{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid var(--color-border);border-radius:6px;background-color:var(--color-surface);color:var(--color-text-muted);cursor:pointer;transition:all .15s ease}.settings-toggle:hover{background-color:var(--color-bg);color:var(--color-text)}.settings-dropdown{position:absolute;top:calc(100% + 8px);right:0;width:320px;background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;box-shadow:0 4px 12px #0000001a;z-index:100;overflow:hidden}.settings-section{padding:1rem;border-bottom:1px solid var(--color-border)}.settings-section:last-child{border-bottom:none}.settings-section h3{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);margin-bottom:.75rem}.preset-list{display:flex;flex-direction:column;gap:.5rem;margin-bottom:.75rem}.preset-item{display:flex;align-items:center;justify-content:space-between;padding:.5rem;background-color:var(--color-bg);border-radius:4px}.preset-info{display:flex;flex-direction:column;gap:.125rem}.preset-name{font-size:.875rem;font-weight:500}.preset-date{font-size:.75rem;color:var(--color-text-muted)}.preset-actions{display:flex;gap:.375rem}.preset-apply{padding:.25rem .5rem;font-size:.75rem;background-color:var(--color-primary);color:#fff;border:none;border-radius:4px;cursor:pointer}.preset-apply:hover{opacity:.9}.preset-delete{display:flex;align-items:center;justify-content:center;width:24px;height:24px;background-color:transparent;color:var(--color-text-muted);border:none;border-radius:4px;cursor:pointer}.preset-delete:hover{background-color:var(--color-error);color:#fff}.no-presets{font-size:.875rem;color:var(--color-text-muted);font-style:italic;margin-bottom:.75rem}.save-preset{display:flex;gap:.5rem}.save-preset input{flex:1;padding:.375rem .5rem;font-size:.875rem;border:1px solid var(--color-border);border-radius:4px}.save-preset input:focus{outline:none;border-color:var(--color-primary)}.save-preset button{padding:.375rem .75rem;font-size:.875rem;background-color:var(--color-primary);color:#fff;border:none;border-radius:4px;cursor:pointer;white-space:nowrap}.save-preset button:hover:not(:disabled){opacity:.9}.save-preset button:disabled{opacity:.5;cursor:not-allowed}.header-s3-wrapper{position:relative}.header-s3-btn{display:inline-flex;align-items:center;gap:.45rem;padding:.4rem .85rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:6px;font-size:.85rem;font-weight:500;color:var(--color-text);cursor:pointer}.header-s3-btn:hover{border-color:var(--color-text-muted)}.header-s3-btn-connected{background:#16a34a1a;border-color:#16a34a66;color:var(--color-success)}.header-s3-btn-warn{background:#f59e0b1a;border-color:#f59e0b66;color:#92400e}.header-s3-btn .status-dot{display:inline-block;width:.55rem;height:.55rem;border-radius:50%;background:#d1d5db}.header-s3-btn .status-dot.ok{background:#10b981}.header-s3-btn .status-dot.off{background:#ef4444}.header-s3-backdrop{position:fixed;inset:0;background:transparent;z-index:100}.header-s3-popover{position:fixed;top:3.2rem;right:1rem;z-index:1000;min-width:30rem;max-width:min(36rem,92vw);max-height:80vh;overflow:auto;background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;box-shadow:0 10px 30px #0000002e}.header-s3-popover .s3-config-panel{margin:0!important;border:0!important;background:transparent!important}.settings-toggle-row{display:flex;gap:.6rem;align-items:flex-start;cursor:pointer;padding:.3rem 0}.settings-toggle-row input[type=checkbox]{margin-top:.2rem;cursor:pointer;flex-shrink:0}.settings-toggle-label{display:flex;flex-direction:column;gap:.15rem;font-size:.85rem;color:var(--color-text)}.settings-toggle-hint{font-size:.72rem;color:var(--color-text-muted);line-height:1.3}.settings-danger{background-color:#fef2f2}.reset-button{width:100%;padding:.5rem;font-size:.875rem;background-color:#fff;color:var(--color-error);border:1px solid var(--color-error);border-radius:4px;cursor:pointer}.reset-button:hover{background-color:var(--color-error);color:#fff}.settings-cache-actions{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center;margin-top:.5rem}.settings-cache-stats{font-size:.75rem;color:var(--color-text-muted, #6b7280);flex-basis:100%}.settings-link-button{background:transparent;border:none;color:#2563eb;cursor:pointer;font-size:.75rem;padding:.25rem .5rem}.settings-link-button:hover{text-decoration:underline}.reset-confirm{text-align:center}.reset-confirm p{font-size:.875rem;margin-bottom:.75rem}.reset-confirm-actions{display:flex;gap:.5rem;justify-content:center}.confirm-yes{padding:.375rem .75rem;font-size:.875rem;background-color:var(--color-error);color:#fff;border:none;border-radius:4px;cursor:pointer}.confirm-no{padding:.375rem .75rem;font-size:.875rem;background-color:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border);border-radius:4px;cursor:pointer}.share-link-btn{padding:.375rem .75rem;font-size:.875rem;background-color:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border);border-radius:4px;cursor:pointer;white-space:nowrap;transition:background-color .12s ease,border-color .12s ease,color .12s ease}.share-link-btn:hover{background-color:#f3f4f6;border-color:#9ca3af}.share-link-btn:active{background-color:#e5e7eb}
