*{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:#fff;color:#1d1d1f;line-height:1.5;-webkit-font-smoothing:antialiased}.app{width:100%;min-width:800px;padding:32px 24px}.site-header{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:-32px -24px 20px;padding:10px 24px;background:#fff3e0;border-bottom:1px solid #ffcc80}.header-left{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.header-right{display:flex;align-items:center;gap:16px;flex-shrink:0}.header-brand{display:flex;flex-direction:column;align-items:flex-start}.brand-name{font-size:38px;font-weight:700;color:#c45000;letter-spacing:-.5px}.brand-tagline{font-size:11px;color:#86868b;font-weight:400}.header-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.header-actions{position:relative}.back-btn{color:#0071e3;background:none;border:none;font-size:14px;cursor:pointer;font-family:inherit;padding:4px 8px;border-radius:4px}.back-btn:hover{background:#e8f4fd}.header{display:flex;justify-content:space-between;align-items:center;gap:12px}.header-actions{display:flex;gap:10px;align-items:center}.header-btn{padding:8px 14px;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s;display:inline-flex;align-items:center;gap:6px}.header-btn:disabled{opacity:.5;cursor:not-allowed}.header-btn.primary{background:#0071e3;color:#fff;border:none}.header-btn.primary:hover:not(:disabled){background:#0077ed}.header-btn.secondary{background:#fff;color:#1d1d1f;border:1px solid #d2d2d7}.header-btn.secondary:hover:not(:disabled){background:#f5f5f7}.header-btn.danger{background:#fff;color:#ff3b30;border:1px solid #ff3b30}.header-btn.danger:hover:not(:disabled){background:#ff3b30;color:#fff}.header-btn.purple{background:#5856d6;color:#fff;border:none}.header-btn.purple:hover:not(:disabled){background:#6563db}.header-btn.success{background:#34c759;color:#fff;border:none}.header-btn.success:hover:not(:disabled){background:#2db84e}.header-btn.warning{background:#ff9500;color:#fff;border:none}.header-btn.warning:hover:not(:disabled){background:#e68600}.header-btn.muted{background:#86868b;color:#fff;border:none}.header-btn-spinner{width:12px;height:12px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}.header-btn.secondary .header-btn-spinner{border-color:#0003;border-top-color:#1d1d1f}.upload-btn{background:#0071e3;color:#fff;border:none;padding:8px 14px;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s}.upload-btn:hover{background:#0077ed}.upload-btn:disabled{opacity:.5;cursor:not-allowed}.upload-error{color:#ff3b30;font-size:13px}.upload-message{color:#86868b;font-size:13px}.reprocess-btn{background:#fff;color:#1d1d1f;border:1px solid #d2d2d7;padding:8px 14px;border-radius:6px;font-size:13px;cursor:pointer;transition:all .2s}.reprocess-btn:hover{background:#f5f5f7}.reprocess-btn:disabled{opacity:.5;cursor:not-allowed}.symbols-btn{background:#fff;color:#1d1d1f;border:1px solid #d2d2d7;padding:8px 14px;border-radius:6px;font-size:13px;cursor:pointer;transition:all .2s}.symbols-btn:hover{background:#f5f5f7}.delete-all-btn{background:#fff;color:#ff3b30;border:1px solid #ff3b30;padding:8px 14px;border-radius:6px;font-size:13px;cursor:pointer;transition:all .2s}.delete-all-btn:hover:not(:disabled){background:#ff3b30;color:#fff}.delete-all-btn:disabled{opacity:.5;cursor:not-allowed}.view-mode-toggle{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.view-tabs{display:flex;gap:0}.view-tabs button{padding:8px 20px;border:1px solid #d2d2d7;background:#fff;font-size:13px;cursor:pointer;color:#86868b;transition:all .2s}.view-tabs button:first-child{border-radius:8px 0 0 8px;border-right:none}.view-tabs button:last-child{border-radius:0 8px 8px 0}.view-tabs button:not(:first-child):not(:last-child){border-right:none}.view-tabs button.active{background:#0071e3;border-color:#0071e3;color:#fff}.view-tabs button:not(.active):hover{background:#f5f5f7;color:#1d1d1f}.view-description{color:#86868b;margin:-10px 0 12px;padding-left:17px;font-size:11px}.search-filter{display:flex;align-items:center;gap:8px}.filter-select{background:#f5f5f7;border:1px solid #d2d2d7;padding:4px 22px 4px 10px;height:28px;border-radius:6px;font-size:12px;color:#1d1d1f;cursor:pointer;outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='6'%3E%3Cpath d='M0 0l4 6 4-6z' fill='%2386868b'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center}.filter-select:hover{background:#e8e8ed}.filter-select:focus{border-color:#d2d2d7}.search-input{padding:6px 10px;border:1px solid #d2d2d7;border-radius:6px;color:#1d1d1f;background:#fff;width:220px}.search-input:focus{outline:none;border-color:#0071e3}.search-clear-btn{padding:6px 12px;border:1px solid #d2d2d7;background:#fff;border-radius:6px;color:#86868b;cursor:pointer}.search-clear-btn:hover{background:#d2d2d7;color:#1d1d1f}.view-actions{display:flex;align-items:center;gap:8px}.tab-action-btn{padding:8px 14px;border:1px solid #d2d2d7;background:#fff;border-radius:6px;font-size:13px;font-weight:500;color:#1d1d1f;cursor:pointer;transition:all .2s}.tab-action-btn:hover:not(:disabled){background:#f5f5f7}.tab-action-btn:disabled{opacity:.5;cursor:not-allowed}.tab-action-btn.danger{color:#ff3b30;border-color:#ff3b30}.tab-action-btn.danger:hover:not(:disabled){background:#ff3b30;color:#fff}.report-table-container{width:100%;background:#fff;border-radius:12px;border:1px solid #d2d2d7;overflow-x:auto;position:relative}.report-table{width:100%;border-collapse:collapse;font-size:13px;table-layout:fixed}.report-table th,.report-table td{padding:12px 16px;text-align:left;border-bottom:1px solid #e8e8ed;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cluster-title-cell,.reason-cell{overflow:hidden;text-overflow:ellipsis}.report-table th{background:#f5f5f7;font-weight:600;color:#1d1d1f;position:sticky;top:0}.report-table tr:last-child td{border-bottom:none}.report-table tbody tr:hover{background:#f5f5f7}.report-table tbody tr.clickable-row{cursor:pointer}.report-table a{color:#0071e3;text-decoration:none}.report-table a:hover{text-decoration:underline}.time-cell{white-space:nowrap}.reason-cell{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#86868b}.exit-code-cell{font-family:SF Mono,Monaco,Consolas,monospace;color:#86868b;white-space:nowrap}th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}th.sortable:hover{background:#e8e8ed}.sort-indicator{font-size:10px;color:#0071e3}.cluster-title-cell{max-width:350px}.cluster-title-cell a{font-family:SF Mono,Monaco,Consolas,monospace;font-size:12px;color:#1d1d1f;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cluster-title-cell a:hover{color:#0071e3}.cluster-count-cell{text-align:center}.cluster-count{font-size:12px;font-weight:600;color:#1d1d1f}.cluster-actions-cell{width:36px;padding:0 4px!important;text-align:center;overflow:visible!important}.cluster-actions{position:relative;display:inline-block}.cluster-actions-btn{display:flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;background:none;border:1px solid transparent;border-radius:4px;cursor:pointer;color:#86868b}.cluster-actions-btn:hover{background:#f5f5f7;border-color:#d2d2d7;color:#1d1d1f}.cluster-actions-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:99}.cluster-actions-menu{position:absolute;right:0;top:calc(100% + 4px);z-index:100;background:#fff;border:1px solid #d2d2d7;border-radius:6px;box-shadow:0 4px 12px #0000001f;white-space:nowrap;padding:4px 0}.cluster-actions-menu button{display:block;width:100%;padding:6px 12px;background:none;border:none;text-align:left;cursor:pointer;font-size:12px;color:#1d1d1f;white-space:nowrap}.cluster-actions-menu button:hover{background:#f5f5f7}.aggregate-banner{padding:8px 12px;margin-bottom:8px;background:#f5f5f7;border-radius:6px;font-size:12px;color:#86868b}.aggregate-cluster{font-family:SF Mono,Monaco,Consolas,monospace}.cluster-binary-cell{font-family:SF Mono,Monaco,Consolas,monospace;font-size:12px;color:#5856d6;max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cluster-versions-cell{font-size:12px;color:#86868b;max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.empty-message{text-align:center;color:#86868b;padding:48px 20px!important}.table-loading-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#ffffffb3;display:flex;align-items:center;justify-content:center;border-radius:12px;z-index:1}.table-spinner{width:24px;height:24px;border:3px solid #e8e8ed;border-top-color:#86868b;border-radius:50%;animation:spin .8s linear infinite}.run-expand-col{width:32px}.run-expand-cell{text-align:center;cursor:pointer}.run-expand-arrow{display:inline-block;transition:transform .15s ease;color:#86868b}.run-expand-arrow.expanded{transform:rotate(90deg)}.run-id-cell{font-family:SF Mono,Monaco,Consolas,monospace;color:#5856d6}.run-count-badge{display:inline-block;min-width:28px;padding:2px 8px;background:#007aff;color:#fff;border-radius:12px;font-weight:600;text-align:center}.run-expanded-row>td{padding:0!important;background:#f9f9fb}.run-nested-container{padding:8px 16px 8px 48px}.run-nested-table{border:1px solid #e5e5ea;border-radius:6px;overflow:hidden}.run-nested-table th{background:#f2f2f7}.header-tags{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.tag{display:inline-block;padding:3px 8px;border-radius:4px;font-size:11px;font-weight:600;text-transform:uppercase;white-space:nowrap}.tag.error-type.signal{background:#ffebee;color:#c62828}.tag.error-type.mach{background:#fff3e0;color:#e65100}.tag.error-type.nsexception{background:#e3f2fd;color:#1565c0}.tag.error-type.cpp_exception{background:#ede7f6;color:#4527a0}.tag.error-type.deadlock{background:#fce4ec;color:#ad1457}.tag.error-type.user{background:#e8f5e9;color:#2e7d32}.tag.error-type.hang{background:#fff8e1;color:#f9a825}.tag.error-type.memory_termination,.tag.error-type.resource_termination{background:#ffebee;color:#c62828}.tag.error-type.profile{background:#e0f2f1;color:#00796b}.tag.exception-tag{background:#fff3e0;color:#e65100}.tag.signal-tag{background:#ffebee;color:#c62828}.tag.exception-name-tag{background:#e3f2fd;color:#1565c0;font-size:10px;text-transform:none}.tag.exit-reason-tag{background:#fce4ec;color:#ad1457}.tag.app-state-tag{background:#e8eaed;color:#5f6368}.tag.app-state-tag.foreground{background:#e8f5e9;color:#2e7d32}.tag.app-state-tag.background{background:#f3e5f5;color:#7b1fa2}.tag.warning-tag{background:#fff3cd;color:#856404}.tag.memory-tag{background:#fff3e0;color:#e65100}.tag.memory-tag.critical{background:#ffebee;color:#c62828}.tag.null-ptr-tag{background:#fce4ec;color:#ad1457}.tag.hang-tag{background:#fff8e1;color:#f9a825}.error-type{display:inline-block;padding:3px 8px;border-radius:4px;font-size:11px;font-weight:600;text-transform:uppercase}.error-type.signal{background:#ffebee;color:#c62828}.error-type.mach{background:#fff3e0;color:#e65100}.error-type.nsexception{background:#e3f2fd;color:#1565c0}.error-type.cpp_exception{background:#ede7f6;color:#4527a0}.error-type.deadlock{background:#fce4ec;color:#ad1457}.error-type.user{background:#e8f5e9;color:#2e7d32}.error-type.hang{background:#fff8e1;color:#f9a825}.error-type.memory_termination,.error-type.resource_termination{background:#ffebee;color:#c62828}.error-type.profile{background:#e0f2f1;color:#00796b}.crash-category{display:inline-block;padding:3px 8px;border-radius:4px;font-size:11px;font-weight:600;text-transform:uppercase;background:#f5f5f5;color:#616161;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:middle}.crash-category.crash{background:#ffebee;color:#c62828}.crash-category.exception{background:#e3f2fd;color:#1565c0}.crash-category.oom{background:#fce4ec;color:#ad1457}.crash-category.thermal{background:#fff3e0;color:#e65100}.crash-category.cpu{background:#e8eaf6;color:#283593}.crash-category.battery{background:#fff8e1;color:#f57f17}.crash-category.hang{background:#fff8e1;color:#f9a825}.crash-category.fatal_hang{background:#fff3e0;color:#e65100}.crash-category.error{background:#e8f5e9;color:#2e7d32}.crash-category.sample{background:#e0f2f1;color:#00796b}.crash-category.other{background:#f5f5f5;color:#616161}.loading{display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center;padding:48px;color:#86868b}.error-banner{background:#ffebee;color:#c62828;padding:12px 16px;border-radius:8px;margin-bottom:16px}.error-container{text-align:center;padding:48px}.error-container a{color:#0071e3;margin-top:12px;display:inline-block}.pagination{display:flex;justify-content:center;align-items:center;gap:8px;margin-top:20px;padding:16px 0}.pagination-btn{padding:8px 16px;background:#fff;border:1px solid #d2d2d7;border-radius:6px;font-size:14px;color:#0071e3;cursor:pointer;transition:all .2s}.pagination-btn:hover:not(:disabled){background:#f5f5f7}.pagination-btn:disabled{color:#86868b;cursor:not-allowed;opacity:.5}.pagination-pages{display:flex;gap:4px}.pagination-page{min-width:36px;height:36px;padding:0 8px;background:#fff;border:1px solid #d2d2d7;border-radius:6px;font-size:14px;color:#1d1d1f;cursor:pointer;transition:all .2s}.pagination-page:hover:not(:disabled):not(.active){background:#f5f5f7}.pagination-page.active{background:#0071e3;border-color:#0071e3;color:#fff}.pagination-page:disabled:not(.active){color:#86868b;cursor:not-allowed;opacity:.5}.pagination-ellipsis{min-width:36px;height:36px;display:flex;align-items:center;justify-content:center;color:#86868b}.report-detail{width:100%;min-width:800px;position:relative}.reprocessing-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#ffffffe6;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;z-index:1000;font-size:14px;color:#1d1d1f}.reprocessing-spinner{width:32px;height:32px;border:3px solid #e5e5e5;border-top-color:#0071e3;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.detail-layout{display:grid;grid-template-columns:25% 1fr;gap:20px;align-items:start;min-width:0}.detail-layout>.detail-right:first-child{grid-column:1 / -1}.detail-left{display:flex;flex-direction:column;gap:12px;min-width:0;align-self:start}.detail-right{display:flex;flex-direction:column;gap:12px;min-width:0;overflow:hidden}.detail-right .info-section,.detail-left .info-section{margin-bottom:0}.detail-header{margin-bottom:20px}.page-brand{display:flex;align-items:baseline;gap:8px;margin-bottom:4px}.page-brand h1,.page-brand .brand-name{font-size:20px;font-weight:700;color:#1d1d1f;letter-spacing:-.3px}.page-section{font-size:16px;color:#86868b;font-weight:400}.back-link{display:inline-block;color:#0071e3;text-decoration:none;font-size:14px;background:none;border:none;padding:0;cursor:pointer;font-family:inherit;margin-bottom:8px}.back-link:hover{text-decoration:underline}.header-title-row{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:2px}.header-title{font-size:24px;font-weight:600;color:#1d1d1f}.detail-meta{margin-bottom:20px}.report-title-row{display:flex;align-items:baseline;gap:10px;margin-bottom:8px}.report-title-row .crash-category{flex-shrink:0;position:relative;top:-1px}.report-title{font-size:22px;font-weight:600;color:#1d1d1f;margin:0;line-height:1.3}.header-reason{font-size:14px;color:#515154;margin-bottom:12px;line-height:1.4}.header-subtitle{display:flex;flex-direction:column;gap:2px;margin-bottom:6px;font-size:11px;color:#86868b;max-width:100%;overflow:hidden}.subtitle-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.subtitle-label{color:#86868b}.subtitle-value{font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,monospace}.subtitle-extra{color:#a1a1a6;font-size:10px}.header-buttons{display:flex;gap:8px;flex-shrink:0}.download-btn{background:none;color:#0071e3;border:1px solid #0071e3;padding:6px 14px;border-radius:6px;font-size:13px;cursor:pointer}.download-btn:hover{background:#0071e3;color:#fff}.delete-btn{background:#fff;color:#ff3b30;border:1px solid #ff3b30;padding:8px 14px;border-radius:6px;font-size:13px;cursor:pointer;transition:all .2s}.delete-btn:hover:not(:disabled){background:#ff3b30;color:#fff}.delete-btn:disabled{opacity:.5;cursor:not-allowed}.actions-dropdown{position:relative}.actions-btn{background:#fff;color:#1d1d1f;border:1px solid #d2d2d7;padding:8px 14px;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;display:inline-flex;align-items:center;gap:6px;transition:all .2s}.actions-btn:hover{background:#f5f5f7}.actions-arrow{font-size:10px;color:#86868b}.actions-menu{position:absolute;top:100%;right:0;margin-top:4px;background:#fff;border:1px solid #d2d2d7;border-radius:8px;box-shadow:0 4px 12px #00000026;min-width:220px;z-index:100;overflow:hidden}.actions-menu button{display:block;width:100%;padding:10px 14px;border:none;background:none;text-align:left;font-size:13px;cursor:pointer;color:#1d1d1f}.actions-menu button:hover{background:#f5f5f7}.actions-menu button:disabled{opacity:.5;cursor:not-allowed}.actions-menu button.danger{color:#ff3b30}.actions-menu button.danger:hover{background:#fff5f5}.actions-separator{height:1px;background:#e5e5e5;margin:4px 0}.info-section{background:#fafafa;border:1px solid #d2d2d7;border-radius:12px;margin-bottom:16px;overflow:hidden}.info-section h2{font-size:11px;font-weight:600;color:#6e6e73;text-transform:uppercase;letter-spacing:.5px;padding:10px 12px;background:#ebebed;border-bottom:1px solid #d2d2d7;margin:0;display:flex;align-items:center;gap:10px;max-width:100%;overflow:hidden}.collapsible-header{cursor:default;-webkit-user-select:none;user-select:none;display:flex;align-items:center;justify-content:space-between;overflow:hidden}.collapsible-title{display:flex;align-items:center;gap:10px;cursor:pointer;flex:1;min-width:0;overflow:hidden}.collapsible-title:hover{color:#1d1d1f}.collapse-icon{font-size:10px;color:#86868b;width:12px}.header-action-btn{background:none;border:1px solid #d2d2d7;padding:3px 8px;border-radius:4px;font-size:11px;color:#1d1d1f;cursor:pointer;text-transform:none;font-weight:500;letter-spacing:normal}.header-action-btn:hover{background:#e8e8ed}.info-section.collapsed h2{border-bottom:none}.info-section h2:before{display:none}.info-grid{display:grid;grid-template-columns:repeat(2,1fr);padding:2px 0}.info-row{display:flex;padding:6px 12px;border-bottom:1px solid #f5f5f7;gap:8px}.info-row:last-child{border-bottom:none}.info-label{flex-shrink:0;font-size:12px;color:#86868b}.info-value{font-size:12px;color:#1d1d1f;word-break:break-all;text-align:right;margin-left:auto}.info-subheader{color:#86868b;font-weight:500}.detail-left .info-label{min-width:80px}.detail-left .info-value{text-align:right}.pressure-normal{color:#34c759;font-weight:500}.pressure-warn{color:#ff9500;font-weight:500}.pressure-urgent{color:#ff6b00;font-weight:600}.pressure-critical{color:#ff3b30;font-weight:600}.pressure-terminal{color:#af1a1a;font-weight:700}.info-columns{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px}.info-columns .info-section{margin-bottom:0}.info-columns .info-grid{grid-template-columns:1fr}.detail-left .info-columns{grid-template-columns:1fr;gap:12px}.detail-left .info-section .info-grid{grid-template-columns:1fr}.diagnosis-section{border-left:3px solid #ff9500;max-width:100%;overflow:hidden}.collapsible-label{flex-shrink:0}.diagnosis-preview{font-weight:400;font-size:11px;color:#86868b;margin-left:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;flex:1 1 0}.diagnosis-text{padding:10px 14px;font-family:SF Mono,Monaco,Consolas,monospace;font-size:11px;line-height:1.5;color:#1d1d1f;white-space:pre-wrap;background:#fffbf5}.diagnosis-text.analysis{background:#f9f9f9}.diagnosis-text.empty{color:#86868b;font-style:italic}.symbolication-btn{background:#5856d6;color:#fff;border:none;padding:8px 14px;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;display:inline-flex;align-items:center;gap:6px;transition:all .2s}.symbolication-btn:hover{background:#6563db}.symbolication-btn.complete{background:#34c759}.symbolication-btn.complete:hover{background:#30b350}.symbolication-btn.partial{background:#ff9500}.symbolication-btn.partial:hover{background:#e68600}.symbolication-btn.pending{background:#ff9f0a}.symbolication-btn.pending:hover{background:#e68f09}.symbolication-btn.failed{background:#ff3b30}.symbolication-btn.failed:hover{background:#e6352b}.symbolication-panel-content{display:flex;flex-direction:column;gap:16px;padding:4px 0}.symbolication-status-row{display:flex;align-items:center;gap:8px}.symbolication-label{font-size:12px;color:#86868b;font-weight:500}.symbolication-status-badge{display:inline-block;padding:3px 10px;border-radius:12px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.3px}.symbolication-status-badge.complete{background:#d4edda;color:#155724}.symbolication-status-badge.partial{background:#fff3cd;color:#856404}.symbolication-status-badge.failed{background:#f8d7da;color:#721c24}.symbolication-status-badge.pending{background:#fff3cd;color:#856404}.symbolication-status-badge.unknown{background:#e9ecef;color:#495057}.symbolication-stats{display:flex;flex-direction:column;gap:6px;margin-top:12px;padding:10px 12px;background:#f9f9fb;border-radius:8px}.symbolication-stat{display:flex;align-items:center;gap:8px;font-size:12px}.symbolication-stat .stat-label{color:#86868b;min-width:50px}.symbolication-stat .stat-value{font-weight:600;min-width:36px}.symbolication-stat .stat-value.backend{color:#34c759}.symbolication-stat .stat-value.device{color:#ff9500}.symbolication-stat .stat-value.none{color:#8e8e93}.symbolication-stat .stat-count{color:#aeaeb2;font-size:11px}.symbolication-missing-header{margin-top:4px}.symbolication-missing-list{display:flex;flex-direction:column;gap:6px;background:#f9f9fb;border-radius:8px;padding:10px 12px}.symbolication-missing-item{display:flex;flex-direction:column;gap:2px;padding:6px 0;border-bottom:1px solid #e5e5ea}.symbolication-missing-item:last-child{border-bottom:none;padding-bottom:0}.symbolication-missing-item:first-child{padding-top:0}.missing-binary{font-size:12px;font-weight:600;color:#1d1d1f}.missing-uuid{font-family:SF Mono,Monaco,Consolas,monospace;font-size:10px;color:#86868b;letter-spacing:.3px}.symbolication-hint{font-size:11px;color:#86868b;font-style:italic}.symbolication-instructions{margin-top:16px;padding-top:16px;border-top:1px solid #e5e5e7}.symbolication-instruction-header{font-size:12px;font-weight:600;color:#1d1d1f;margin-bottom:8px}.symbolication-instruction-text{font-size:11px;color:#86868b;margin-bottom:6px}.symbolication-code-block{display:flex;align-items:flex-start;gap:8px;background:#1d1d1f;border-radius:6px;padding:10px 12px;margin-bottom:12px}.symbolication-code-block code{flex:1;min-width:0;font-family:SF Mono,Monaco,Cascadia Code,Roboto Mono,Consolas,monospace;font-size:11px;color:#f5f5f7;white-space:pre-wrap;word-break:break-all}.copy-code-btn{flex-shrink:0;display:flex;align-items:center;justify-content:center;gap:4px;width:58px;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:4px;cursor:pointer;padding:4px 8px;color:#a0a0a5;font-size:11px;font-family:inherit;transition:all .15s ease}.copy-code-btn:hover{background:#ffffff26;border-color:#ffffff4d;color:#f5f5f7}.copy-code-btn.copied{background:#34c75933;border-color:#34c75966;color:#34c759}.copy-code-btn svg{flex-shrink:0}.copy-code-btn .copy-label{font-weight:500}.symbolication-instructions .symbolication-hint{margin-top:8px}.symbolication-system-symbols{display:flex;flex-direction:column;gap:8px;margin-top:8px}.download-script-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;background:#007aff;color:#fff;text-decoration:none;border-radius:6px;font-size:12px;font-weight:500;width:fit-content;transition:background .2s}.download-script-btn:hover{background:#0056b3}.download-script-btn svg{flex-shrink:0;vertical-align:middle;margin-top:-2px}.system-symbols-usage{display:flex;flex-direction:column;gap:4px;font-size:11px;color:#86868b}.system-symbols-usage code{background:#2a2a2a;padding:4px 8px;border-radius:4px;font-family:SF Mono,Monaco,monospace}.system-symbols-usage.xcode-steps{gap:6px;margin-top:8px}.system-symbols-usage.xcode-steps p{margin:0;line-height:1.6}.system-symbols-usage.xcode-steps code{display:inline;padding:2px 6px;font-size:10px}.symbolication-pending{font-size:12px;color:#856404;background:#fff3cd;padding:8px 12px;border-radius:6px}.symbolication-success{font-size:12px;color:#155724;background:#d4edda;padding:8px 12px;border-radius:6px}.symbolication-error{font-size:12px;color:#721c24;background:#f8d7da;padding:8px 12px;border-radius:6px}.symbolication-missing-section{display:flex;flex-direction:column;gap:8px}.symbolication-unknown{text-align:center;padding:20px;color:#86868b}.symbolication-unknown p{margin-bottom:16px}.ai-btn{background:#0071e3;color:#fff;border:none;padding:8px 14px;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;display:inline-flex;align-items:center;gap:6px;transition:all .2s}.ai-btn:hover{background:#0077ed}.ai-btn.has-analysis{background:#34c759}.ai-btn.has-analysis:hover{background:#2db84e}.ai-btn.analyzing{background:#86868b;cursor:wait}.ai-btn-spinner{width:12px;height:12px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}.ai-panel-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0000004d;opacity:0;visibility:hidden;transition:opacity .3s,visibility .3s;z-index:200}.ai-panel-overlay.visible{opacity:1;visibility:visible}.ai-panel{position:fixed;top:0;right:0;bottom:0;width:480px;max-width:90vw;background:#fff;box-shadow:-4px 0 24px #00000026;transform:translate(100%);transition:transform .3s ease-out;z-index:201;display:flex;flex-direction:column}.ai-panel.open{transform:translate(0)}.ai-panel-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid #e5e5e5;flex-shrink:0}.ai-panel-header h2{font-size:18px;font-weight:600;color:#1d1d1f;margin:0;padding:0;background:none;border:none;text-transform:none;letter-spacing:normal}.ai-panel-actions{display:flex;gap:8px}.ai-panel-refresh,.ai-panel-close{width:32px;height:32px;border:none;background:#f5f5f7;border-radius:6px;font-size:18px;cursor:pointer;color:#86868b;display:flex;align-items:center;justify-content:center}.ai-panel-refresh:hover,.ai-panel-close:hover{background:#e8e8ed;color:#1d1d1f}.ai-panel-refresh:disabled{opacity:.5;cursor:not-allowed}.ai-panel-content{flex:1;overflow-y:auto;padding:20px}.setup-btn{background:#fff;color:#1d1d1f;border:1px solid #d2d2d7;padding:8px 14px;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s}.setup-btn:hover{background:#f5f5f7}.setup-section{margin-bottom:32px;padding-bottom:32px;border-bottom:1px solid #e5e5e5}.setup-section:last-child{margin-bottom:0;padding-bottom:0;border-bottom:none}.setup-section h3{font-size:16px;font-weight:600;color:#1d1d1f;margin:0 0 12px}.setup-section>p{font-size:13px;color:#86868b;margin:0 0 16px;line-height:1.5}.setup-section .instructions-steps{margin-top:16px}.setup-section .instructions-steps h4{font-size:13px;font-weight:600;color:#1d1d1f;margin:16px 0 8px}.setup-section .instructions-steps h4:first-child{margin-top:0}.setup-section .instructions-note{font-size:12px;color:#86868b;margin:0 0 8px;line-height:1.5}.setup-section .command-block{display:block;background:#1d1d1f;color:#f5f5f7;padding:12px 16px;border-radius:8px;font-family:SF Mono,Monaco,Courier New,monospace;font-size:12px;margin:8px 0;overflow-x:auto}.setup-section .download-script-btn{display:inline-block;background:#0071e3;color:#fff;padding:10px 16px;border-radius:8px;font-size:13px;font-weight:500;text-decoration:none;transition:background .2s}.setup-section .download-script-btn:hover{background:#0077ed}.ai-panel-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:48px 20px;color:#86868b}.ai-panel-empty{text-align:center;padding:48px 20px;color:#86868b}.ai-panel-empty p{margin:0 0 16px}.ai-analysis-text{font-size:13px;line-height:1.6;color:#1d1d1f}.ai-analysis-text h2{font-size:14px;font-weight:600;color:#1d1d1f;margin:16px 0 8px;padding:0;background:none;border:none;text-transform:none;letter-spacing:normal}.ai-analysis-text h2:first-child{margin-top:0}.ai-analysis-text p{margin:0 0 12px}.ai-analysis-text p:last-child{margin-bottom:0}.ai-analysis-text ul,.ai-analysis-text ol{margin:8px 0;padding-left:20px}.ai-analysis-text li{margin:4px 0}.ai-analysis-text code{background:#f5f5f7;padding:2px 6px;border-radius:4px;font-family:SF Mono,Monaco,Consolas,monospace;font-size:12px}.ai-analysis-text pre{background:#1d1d1f;color:#f5f5f7;padding:12px;border-radius:6px;overflow-x:auto;margin:12px 0}.ai-analysis-text pre code{background:none;padding:0;color:inherit}.ai-analysis-text strong{font-weight:600}.ai-analysis-meta{margin-top:12px;padding-top:12px;border-top:1px solid #e8e8ed;font-size:11px;color:#86868b}.ai-analysis-empty{text-align:center;padding:24px;color:#86868b}.ai-analysis-empty p{margin:0 0 12px}.ai-analyzing{display:flex;flex-direction:column;align-items:center;gap:12px}.analyze-btn{background:#0071e3;color:#fff;border:none;padding:8px 16px;border-radius:6px;font-size:13px;cursor:pointer}.analyze-btn:hover{background:#0077ed}.diagnosis-divider{height:1px;background:#d2d2d7;margin:0 14px}.analysis-label{font-weight:600;color:#86868b;display:block;margin-bottom:6px;font-size:10px}.analysis-links{margin-top:10px;padding-top:10px;border-top:1px solid #e8e8ed;display:flex;flex-wrap:wrap;gap:6px}.analysis-links a{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:10px;color:#0071e3;text-decoration:none;padding:3px 8px;background:#f0f7ff;border-radius:4px;border:1px solid #d0e3f7}.analysis-links a:hover{background:#e0efff;text-decoration:underline}.diagnosis-split{display:flex;gap:16px;padding:10px 14px;background:#f9f9f9}.diagnosis-left{flex:1;min-width:0;display:flex;flex-direction:column}.diagnosis-left .diagnosis-text{padding:0;background:none}.diagnosis-left .diagnosis-divider{margin:10px 0}.diagnosis-split .diagnosis-text{flex:1;min-width:0;padding:0;background:none}.diagnosis-blame{flex-shrink:0;width:280px;font-family:SF Mono,Monaco,Consolas,monospace;font-size:11px;line-height:1.5;color:#1d1d1f;border-left:1px solid #e8e8ed;padding-left:16px}.diagnosis-blame .blame-header{font-size:10px;font-weight:600;color:#86868b;text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px}.diagnosis-blame .blame-detail{display:flex;gap:8px;padding:2px 0}.diagnosis-blame .blame-label{color:#86868b;flex-shrink:0}.diagnosis-blame .blame-value{color:#1d1d1f;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.diagnosis-blame .blame-confidence{display:inline-block;font-size:9px;font-weight:600;text-transform:uppercase;padding:2px 6px;border-radius:3px;margin-bottom:6px}.diagnosis-blame-line{display:flex;align-items:center;gap:6px;padding:8px 14px;font-family:SF Mono,Monaco,Consolas,monospace;font-size:11px;background:#fffbf5}.diagnosis-blame-line .analysis-label{display:inline;margin-bottom:0;flex-shrink:0}.blame-line-thread,.blame-line-frame{color:#86868b;flex-shrink:0}.blame-line-binary{color:#5856d6;flex-shrink:0}.blame-line-symbol{color:#1d1d1f;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0}.blame-line-confidence{font-size:8px;font-weight:600;padding:2px 5px;border-radius:3px;text-transform:uppercase;letter-spacing:.3px;flex-shrink:0}.blame-line-confidence.high{background:#ffebee;color:#c62828}.blame-line-confidence.medium{background:#fff8e1;color:#f9a825}.blame-line-confidence.low{background:#f5f5f5;color:#86868b}.blame-frame{margin-top:8px;padding:12px;background:#fff;border-radius:6px;border:1px solid #e8e8ed}.blame-frame.confidence-high{border-left:3px solid #c62828}.blame-frame.confidence-medium{border-left:3px solid #f9a825}.blame-frame.confidence-low{border-left:3px solid #86868b}.blame-header{display:flex;align-items:center;gap:10px;margin-bottom:6px}.blame-index{font-weight:600;color:#86868b;font-size:12px}.blame-binary{font-weight:600;color:#5856d6;font-size:13px}.blame-confidence{margin-left:auto;font-size:10px;font-weight:600;text-transform:uppercase;padding:2px 6px;border-radius:3px}.blame-confidence.high{background:#ffebee;color:#c62828}.blame-confidence.medium{background:#fff8e1;color:#f9a825}.blame-confidence.low{background:#f5f5f7;color:#86868b}.blame-symbol{font-family:SF Mono,Monaco,Consolas,monospace;font-size:12px;color:#1d1d1f;word-break:break-all;margin-bottom:8px}.blame-reason{font-size:12px;color:#1d1d1f;background:#f5f5f7;padding:6px 10px;border-radius:4px}.blame-sdk{font-size:11px;color:#86868b;margin-top:6px}.toggle-btn{margin-left:auto;background:none;border:1px solid #d2d2d7;padding:4px 12px;border-radius:4px;font-size:12px;color:#1d1d1f;cursor:pointer}.toggle-btn:hover{background:#e8e8ed}.raw-json{background:#1d1d1f;color:#f5f5f7;padding:16px 20px;font-family:SF Mono,Monaco,Consolas,monospace;font-size:12px;line-height:1.6;max-height:400px;overflow:auto;margin:0;border-radius:0 0 12px 12px;white-space:pre-wrap;word-break:break-all}.json-viewer{background:#1d1d1f;color:#f5f5f7;padding:12px 16px;font-family:SF Mono,Monaco,Consolas,monospace;font-size:12px;line-height:1.5;max-height:500px;overflow:auto;border-radius:0 0 12px 12px;min-width:0}.json-node{-webkit-user-select:text;user-select:text;min-width:0}.json-line{padding:2px 0;overflow:hidden;text-overflow:ellipsis}.json-expandable{cursor:pointer}.json-expandable:hover{background:#ffffff0d;border-radius:3px}.json-toggle{display:inline-block;width:16px;color:#86868b;font-size:10px}.json-key{color:#bf7af0}.json-string{color:#fc9867;word-break:break-all;white-space:pre-wrap}.json-number{color:#a9dc76}.json-boolean{color:#78dce8}.json-null{color:#86868b}.json-bracket{color:#f5f5f7}.json-preview{color:#86868b;font-style:italic;margin:0 4px}.json-children{padding-left:20px;border-left:1px solid #333;margin-left:7px;min-width:0;overflow:hidden}.stack-trace h3{display:none}.stack-trace-section{padding:0!important}.stack-trace-section .stack-trace{padding:0}.stack-trace-header{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;background:#fafafa;border-bottom:1px solid #e8e8ed}.stack-trace-header .stack-trace-title{display:none}.stack-trace-header-left{display:flex;align-items:center;gap:12px}.stack-trace-title{font-size:13px;font-weight:600;color:#86868b;text-transform:uppercase;letter-spacing:.5px}.stack-trace-controls{display:flex;gap:8px;align-items:center}.stack-trace-controls button{background:none;border:1px solid #d2d2d7;padding:4px 10px;border-radius:4px;font-size:12px;color:#1d1d1f;cursor:pointer}.stack-trace-controls button:hover{background:#e8e8ed}.filter-label{font-size:11px;color:#86868b;margin-right:4px}.controls-spacer{width:1px;height:16px;background:#d2d2d7;margin:0 4px}.expand-toggle-btn{min-width:28px;padding:4px 8px!important;font-size:10px!important}.frame-filter-select{background:#f5f5f7;border:1px solid #d2d2d7;padding:4px 22px 4px 10px;height:28px;border-radius:6px;font-size:12px;color:#1d1d1f;cursor:pointer;outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='6'%3E%3Cpath d='M0 0l4 6 4-6z' fill='%2386868b'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center}.frame-filter-select:hover{background:#e8e8ed}.frame-filter-select:focus{border-color:#d2d2d7}.view-toggle{display:flex;border:1px solid #d2d2d7;border-radius:4px;overflow:hidden}.view-toggle button{border:none;border-radius:0;padding:4px 12px}.view-toggle button:first-child{border-right:1px solid #d2d2d7}.view-toggle button.active{background:#1d1d1f;color:#fff}.view-toggle button:not(.active):hover{background:#e8e8ed}.stack-trace-text{margin:0;padding:16px 20px;font-family:SF Mono,Monaco,Consolas,monospace;font-size:11px;line-height:1.5;overflow-x:auto;background:#1d1d1f;color:#f5f5f7;border-radius:0 0 12px 12px}.stack-trace-section .thread-section:first-of-type{margin-top:0}.stack-trace-section .thread-section{border-radius:0;border-left:none;border-right:none;margin-bottom:0;border-bottom:none}.stack-trace-section .thread-section+.thread-section{border-top:1px solid #d2d2d7}.stack-trace-section .thread-section:last-child{border-radius:0 0 12px 12px}.stack-trace-section .thread-section.attributed{border-color:#d2d2d7;border-left:3px solid #ff3b30}.flamegraph-section{padding:0!important}.flamegraph-container{position:relative;padding:16px;background:#fff;border-radius:0 0 12px 12px}.flamegraph-header{display:flex;gap:8px;align-items:center;margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid #e5e5e5}.flamegraph-stats{font-size:12px;color:#86868b}.flamegraph-divider{width:1px;height:18px;background:#d2d2d7;margin-left:auto}.flamegraph-controls{display:flex;gap:8px;align-items:center}.flamegraph-search{padding:4px 10px;height:28px;border:1px solid #d2d2d7;border-radius:6px;font-size:12px;width:180px;outline:none;box-sizing:border-box}.flamegraph-search:focus{border-color:#d2d2d7}.flamegraph-toggle{display:flex;align-items:center;gap:4px;font-size:12px;color:#86868b;cursor:pointer;white-space:nowrap}.flamegraph-toggle input{cursor:pointer}.flamegraph-toggle:hover{color:#1d1d1f}.flamegraph-mode-select{padding:4px 22px 4px 10px;height:28px;border:1px solid #d2d2d7;border-radius:6px;font-size:12px;color:#1d1d1f;background:#f5f5f7;cursor:pointer;outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='6'%3E%3Cpath d='M0 0l4 6 4-6z' fill='%2386868b'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center}.flamegraph-mode-select:focus{border-color:#d2d2d7}.flamegraph-reset{background:#f5f5f7;border:1px solid #d2d2d7;border-radius:6px;padding:0 8px;height:20px;font-size:11px;line-height:20px;color:#1d1d1f;cursor:pointer;outline:none;box-sizing:border-box}.flamegraph-reset:hover{background:#e5e5e5}.flamegraph-minimap{position:relative;width:100%;background:#f0f0f2;border-radius:8px 8px 0 0;border-bottom:1px solid #d2d2d7;overflow:hidden;cursor:crosshair;-webkit-user-select:none;user-select:none}.flamegraph-minimap-canvas{display:block;pointer-events:none}.flamegraph-minimap-viewport{position:absolute;border:2px solid transparent;border-radius:3px;pointer-events:none;box-sizing:border-box}.flamegraph-minimap-viewport.zoomed{border-color:#0071e3b3;background:#0071e30d;pointer-events:auto}.flamegraph-minimap-handle{position:absolute;z-index:2}.flamegraph-minimap-handle-left,.flamegraph-minimap-handle-right{top:0;bottom:0;width:8px;cursor:ew-resize}.flamegraph-minimap-handle-left:after,.flamegraph-minimap-handle-right:after{content:"";position:absolute;top:50%;transform:translateY(-50%);width:2px;height:16px;background:#0071e3cc;border-radius:1px}.flamegraph-minimap-handle-left{left:-4px}.flamegraph-minimap-handle-left:after{left:3px}.flamegraph-minimap-handle-right{right:-4px}.flamegraph-minimap-handle-right:after{right:3px}.flamegraph-minimap-handle-top,.flamegraph-minimap-handle-bottom{left:0;right:0;height:8px;cursor:ns-resize}.flamegraph-minimap-handle-top:after,.flamegraph-minimap-handle-bottom:after{content:"";position:absolute;left:50%;transform:translate(-50%);height:2px;width:16px;background:#0071e3cc;border-radius:1px}.flamegraph-minimap-handle-top{top:-4px}.flamegraph-minimap-handle-top:after{top:3px}.flamegraph-minimap-handle-bottom{bottom:-4px}.flamegraph-minimap-handle-bottom:after{bottom:3px}.flamegraph-minimap-pan{position:absolute;top:0;right:0;bottom:0;left:0;cursor:grab;z-index:1}.flamegraph-minimap-pan:active{cursor:grabbing}.flamegraph-minimap-dimmed{position:absolute;background:#fff9;pointer-events:none}.flamegraph-chart{position:relative;width:100%;overflow:hidden;background:#fafafa;border-radius:0 0 8px 8px;contain:layout style paint}.flamegraph-chart-canvas{display:block;cursor:pointer}.flamegraph-info-bar{display:flex;align-items:center;gap:12px;padding:10px 14px;background:#f5f5f7;border-radius:8px;margin-bottom:12px;min-height:40px;font-size:12px}.info-bar-module{color:#86868b;flex-shrink:0}.info-bar-symbol{font-family:SF Mono,Monaco,monospace;color:#1d1d1f;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.info-bar-stats{display:flex;gap:16px;flex-shrink:0}.info-bar-total{color:#1d1d1f}.info-bar-self{color:#ff9500}.info-bar-hint{color:#a1a1a6;font-style:italic}.info-bar-search-result{color:#0071e3;font-weight:500}.flamegraph-search-info{padding:6px 12px;font-size:12px;color:#0071e3;font-weight:500}.flamegraph-tooltip{position:absolute;z-index:100;background:#1d1d1ff2;color:#fff;padding:8px 12px;border-radius:6px;font-size:11px;max-width:400px;pointer-events:none;box-shadow:0 4px 12px #0000004d}.tooltip-module{color:#a1a1a6;font-size:10px;margin-bottom:2px}.tooltip-symbol{font-family:SF Mono,Monaco,monospace;font-size:11px;margin-bottom:6px;word-break:break-all}.tooltip-stats{color:#a1a1a6;font-size:10px}.flamegraph-legend{margin-bottom:8px;font-size:11px}.flamegraph-legend.collapsed{padding-bottom:0}.flamegraph-legend.expanded{padding-bottom:8px;border-bottom:1px solid #e5e5e5;margin-bottom:12px}.legend-toggle{display:flex;align-items:center;gap:6px;background:none;border:none;padding:4px 0;cursor:pointer;font-size:11px;color:#1d1d1f}.legend-toggle:hover{color:#0071e3}.legend-arrow{font-size:9px;color:#86868b;width:12px}.legend-title{color:#86868b}.legend-count{color:#a1a1a6;font-size:10px}.legend-items{display:flex;flex-wrap:wrap;gap:8px 16px;margin-top:8px}.legend-item{display:flex;align-items:center;gap:6px;cursor:pointer;padding:2px 6px;border-radius:4px;transition:background .1s}.legend-item:hover{background:#e5e5e5}.legend-item.active{background:#0071e3}.legend-item.active .legend-module,.legend-item.active .legend-pct{color:#fff}.legend-color{width:12px;height:12px;border-radius:2px;flex-shrink:0}.legend-module{color:#1d1d1f;max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.legend-pct{color:#86868b}.legend-more{color:#86868b;font-style:italic}.flamegraph-empty{padding:48px 32px;text-align:center;color:#86868b;background:#f5f5f7;border-radius:0 0 12px 12px}.flamegraph-empty p{margin:0;font-size:14px}.flamegraph-list-table{width:100%;border-collapse:collapse;font-size:11px}.flamegraph-list-header th{text-align:left;padding:8px 12px;border-bottom:2px solid #e5e5e5;font-weight:600;font-size:12px;color:#86868b;cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap}.flamegraph-list-header th:hover{color:#1d1d1f}.flamegraph-list-col-total,.flamegraph-list-col-self{width:180px;white-space:nowrap}.flamegraph-list-row td{padding:6px 12px;border-bottom:1px solid #f0f0f0;vertical-align:middle}.flamegraph-list-row:hover td{background:#f5f5f7}.flamegraph-list-row-hot td{background:#ff78321a}.flamegraph-list-row-hot:hover td{background:#ff78322e}.flamegraph-list-color{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:8px;vertical-align:middle}.flamegraph-list-symbol{font-family:SF Mono,SFMono-Regular,Menlo,Monaco,Consolas,monospace;max-width:500px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.no-threads{padding:32px;text-align:center;color:#86868b}.thread-section{border:1px solid #d2d2d7;border-radius:8px;margin-bottom:8px;background:#fff;overflow:hidden}.thread-section.attributed{border-color:#ff3b30}.thread-header{display:flex;align-items:center;gap:10px;width:100%;padding:10px 14px;background:#f5f5f7;border:none;cursor:pointer;font-size:13px;text-align:left}.thread-section.attributed .thread-header{background:#ffebee}.thread-header:hover{background:#e8e8ed}.thread-section.attributed .thread-header:hover{background:#ffcdd2}.expand-icon{color:#86868b;font-size:10px;transition:transform .15s}.expand-icon.expanded{transform:rotate(90deg)}.expand-icon svg{width:8px;height:8px;display:block}.thread-label{font-weight:500;color:#1d1d1f}.dispatch-queue{font-size:11px;font-family:SF Mono,Monaco,monospace;color:#86868b;background:#e8e8ed;padding:2px 6px;border-radius:4px}.crashed-badge{background:#ff3b30;color:#fff;font-size:10px;font-weight:600;padding:2px 8px;border-radius:4px;text-transform:uppercase}.hung-badge{background:#ff9500;color:#fff;font-size:10px;font-weight:600;padding:2px 8px;border-radius:4px;text-transform:uppercase}.deadlock-badge{background:#af52de;color:#fff;font-size:10px;font-weight:600;padding:2px 8px;border-radius:4px;text-transform:uppercase}.terminated-badge{background:#8e8e93;color:#fff;font-size:10px;font-weight:600;padding:2px 8px;border-radius:4px;text-transform:uppercase}.exception-badge{background:#ff3b30;color:#fff;font-size:10px;font-weight:600;padding:2px 8px;border-radius:4px;text-transform:uppercase}.current-badge{background:#007aff;color:#fff;font-size:10px;font-weight:600;padding:2px 8px;border-radius:4px;text-transform:uppercase}.frame-count{margin-left:auto;color:#86868b;font-size:12px}.thread-frames{border-top:1px solid #e8e8ed}.frame-row{font-family:SF Mono,Monaco,Consolas,monospace;font-size:11px;border-bottom:1px solid #f5f5f7}.frame-row:last-child{border-bottom:none}.frame-row-main{display:flex;gap:8px;padding:6px 14px;align-items:baseline;cursor:pointer}.frame-row-main:hover{background:#f5f5f7}.frame-row.frame-expanded .frame-row-main{background:#f0f0f5}.frame-detail{padding:4px 14px 8px 194px;background:#f8f8fa;border-top:1px solid #ebebed}.frame-detail-row{display:flex;gap:8px;padding:2px 0;font-size:10px;line-height:1.5}.frame-detail-label{color:#86868b;min-width:100px;flex-shrink:0}.frame-detail-value{color:#1d1d1f;word-break:break-all;-webkit-user-select:text;user-select:text}.frame-row.blamed-frame>.frame-row-main{background:#fff3e0}.frame-row.blamed-frame>.frame-row-main:hover{background:#ffe0b2}.frame-row.frame-app{border-left:3px solid #34c759}.frame-row.frame-system{border-left:3px solid #007aff}.frame-row.frame-runtime{border-left:3px solid #af52de}.frame-row.frame-lowlevel{border-left:3px solid #ff9500}.frame-row.frame-unknown{border-left:3px solid #8e8e93}.no-frames{padding:16px 20px;color:#86868b;font-size:13px;font-style:italic}.blamed-badge{background:#ff9800;color:#fff;font-size:9px;font-weight:600;padding:2px 6px;border-radius:4px;text-transform:uppercase;letter-spacing:.5px;margin-left:auto;flex-shrink:0}.inline-badge{color:#86868b;font-size:10px;font-style:italic;flex-shrink:0}.frame-row:has(.inline-badge) .frame-sym-status{margin-left:8px}.frame-sym-status{margin-left:auto;flex-shrink:0;font-size:12px;line-height:1}.frame-sym-status.backend{color:#34c759}.frame-sym-status.device{color:#ff9500}.frame-sym-status.none{color:#c7c7cc}.frame-row:has(.blamed-badge) .frame-sym-status{margin-left:8px}.frame-index{color:#86868b;min-width:24px;text-align:right}.frame-binary{color:#5856d6;min-width:140px;max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.frame-address{color:#86868b;min-width:130px}.frame-symbol{color:#1d1d1f;flex:1;word-break:break-all}.frame-symbol.unsymbolicated{color:#86868b}.frame-source{color:#86868b;font-size:.85em;white-space:nowrap;flex-shrink:0}.sym-bracket{color:#86868b}.sym-class{color:#5856d6}.sym-method{color:#1d1d1f}.no-frames{padding:20px;text-align:center;color:#86868b;font-size:13px}@media (max-width: 1024px){.detail-layout{grid-template-columns:1fr}.detail-left .info-columns{grid-template-columns:1fr 1fr 1fr}.detail-left .info-value{text-align:left;margin-left:0}}@media (max-width: 768px){.app{padding:16px}.header{flex-direction:column;gap:16px;align-items:flex-start}.info-columns,.detail-left .info-columns,.info-grid{grid-template-columns:1fr}.frame-row-main{flex-wrap:wrap}.frame-binary,.frame-address{min-width:auto;max-width:none}.detail-header h1{font-size:22px}}.symbols-page{width:100%;position:relative}.symbols-page.dragging{outline:2px dashed #0071e3;outline-offset:-8px;border-radius:12px}.drop-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#0071e31a;display:flex;align-items:center;justify-content:center;z-index:100;border-radius:12px;pointer-events:none}.drop-message{background:#0071e3;color:#fff;padding:16px 32px;border-radius:8px;font-size:16px;font-weight:500}.symbols-header{display:flex;align-items:center;gap:16px;margin-bottom:24px;flex-wrap:wrap}.symbols-header .page-brand h1{font-size:20px;font-weight:700;color:#1d1d1f;letter-spacing:-.3px}.symbols-stats{color:#86868b;font-size:14px;display:flex;gap:8px}.symbols-stats .separator{color:#d2d2d7}.symbols-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;gap:16px;flex-wrap:wrap}.toolbar-left,.toolbar-right{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.filter-buttons{display:flex;gap:4px}.filter-buttons button{background:#f5f5f7;border:1px solid #d2d2d7;padding:8px 16px;border-radius:6px;font-size:13px;cursor:pointer;transition:all .2s}.filter-buttons button:hover{background:#e8e8ed}.filter-buttons button.active{background:#0071e3;border-color:#0071e3;color:#fff}.error-banner,.success-banner,.progress-banner{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-radius:8px;margin-bottom:16px;font-size:14px}.progress-banner{background:#e3f2fd;color:#0071e3;border:1px solid #0071e3}.error-banner{background:#fff5f5;color:#ff3b30;border:1px solid #ff3b30}.success-banner{background:#f0fff4;color:#34c759;border:1px solid #34c759}.error-banner button,.success-banner button{background:none;border:none;color:inherit;cursor:pointer;font-size:13px;text-decoration:underline}.toast{position:fixed;top:16px;left:50%;transform:translate(-50%);padding:8px 20px;border-radius:8px;font-size:13px;z-index:1000;box-shadow:0 2px 8px #0000001f;pointer-events:none}.toast-error{background:#fff5f5;color:#ff3b30;border:1px solid #ff3b30}.toast-success{background:#f0fff4;color:#34c759;border:1px solid #34c759}.symbols-table-container{position:relative;width:100%;background:#fff;border-radius:12px;border:1px solid #d2d2d7;overflow-x:auto}.symbols-table{width:100%;border-collapse:collapse;font-size:13px}.symbols-table th,.symbols-table td{padding:12px 16px;text-align:left;border-bottom:1px solid #e8e8ed}.symbols-table th{background:#f5f5f7;font-weight:600;color:#1d1d1f;position:sticky;top:0}.symbols-table tbody tr:hover{background:#f5f5f7}.symbols-table tbody tr.selected{background:#e3f2fd}.symbols-table .checkbox-col{width:40px;text-align:center}.symbols-table .binary-name{font-weight:500;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.symbols-table .uuid-cell{font-size:11px}.symbols-table .uuid-cell code{background:#f5f5f7;padding:2px 6px;border-radius:4px;font-family:SF Mono,Monaco,Menlo,monospace}.symbols-table .bundle-id{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#86868b}.symbols-table .date-cell{color:#86868b;white-space:nowrap}.users-perm-col{text-align:center!important;width:80px}.users-table input[type=checkbox]{width:16px;height:16px;cursor:pointer}.users-table input[type=checkbox]:disabled{cursor:not-allowed;opacity:.4}.secondary-text{color:#86868b}.users-toolbar{display:flex;align-items:center;gap:12px;padding:0 0 12px}.users-search{padding:8px 12px;border:1px solid #d2d2d7;border-radius:6px;font-size:13px;width:240px}.invite-btn{background:#0071e3;color:#fff;border:none;padding:8px 14px;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;font-family:inherit}.invite-btn:hover{background:#0077ed}.invite-popover{position:absolute;top:100%;right:0;margin-top:6px;background:#f5f5f7;border:1px solid #d2d2d7;border-radius:8px;padding:14px;box-shadow:0 4px 12px #0000001f;z-index:10;display:flex;flex-direction:column;gap:8px;width:340px}.invite-popover h4{margin:0;font-weight:600}.invite-popover p{font-size:12px;color:#86868b;margin:0;line-height:1.4}.invite-popover-row{display:flex;gap:8px;white-space:nowrap}.invite-popover input{padding:6px 10px;border:1px solid #d2d2d7;border-radius:6px;background:#fff;flex:1}.invite-popover button{padding:6px 14px;border:1px solid #d2d2d7;border-radius:6px;background:#fff;cursor:pointer;font-family:inherit}.invite-popover button:hover:not(:disabled){background:#f5f5f7}.invite-popover button:disabled{opacity:.5;cursor:not-allowed}.source-badge{display:inline-block;padding:2px 8px;border-radius:4px;font-size:11px;font-weight:500}.source-badge.upload{background:#e3f2fd;color:#0071e3}.source-badge.system{background:#f3e8ff;color:#9333ea}.loading-cell,.empty-cell{text-align:center;padding:48px 16px!important;color:#86868b}.system-symbols-section{margin-bottom:16px}.system-symbols-toggle{display:flex;align-items:center;gap:8px;background:none;border:1px solid #d2d2d7;padding:10px 16px;border-radius:8px;font-size:14px;color:#1d1d1f;cursor:pointer;width:100%;text-align:left}.system-symbols-toggle:hover{background:#f5f5f7}.system-symbols-instructions{margin-top:12px;padding:20px;background:#fff;border:1px solid #d2d2d7;border-radius:8px}.system-symbols-instructions p{color:#86868b;font-size:14px;margin-bottom:16px;line-height:1.6}.instructions-steps{display:flex;flex-direction:column;gap:12px}.instructions-steps h4{font-size:13px;font-weight:600;color:#1d1d1f;margin-top:8px}.instructions-steps h4:first-child{margin-top:0}.download-script-btn{display:inline-flex;align-items:center;gap:8px;background:#0071e3;color:#fff;padding:10px 20px;border-radius:6px;font-size:14px;font-weight:500;text-decoration:none;margin:4px 0}.download-script-btn:hover{background:#0077ed}.command-block{display:block;background:#1d1d1f;color:#f5f5f7;padding:12px 16px;border-radius:6px;font-family:SF Mono,Monaco,Menlo,monospace;font-size:13px;overflow-x:auto;margin:4px 0}.instructions-note{margin-top:16px;padding:12px;background:#fffbeb;border:1px solid #fcd34d;border-radius:6px;color:#92400e;font-size:13px}.cluster-trend-cell{width:80px;padding:0 8px}.metrics-trend-cell{width:120px;padding:0 8px}.activity-bar{display:flex;gap:2px;align-items:flex-end;height:16px}.activity-bar.empty{color:#c7c7cc;font-size:11px}.bar-segment{flex:1;height:4px;background:#e5e5ea;border-radius:1px;transition:height .2s,background .2s}.bar-segment.active{height:12px}.activity-bar.hot .bar-segment.active{background:#ff3b30}.activity-bar.warm .bar-segment.active{background:#ff9500}.activity-bar.cool .bar-segment.active{background:#8e8e93}.app-loading{display:flex;justify-content:center;align-items:center;min-height:100vh}.signin-page{display:flex;justify-content:center;align-items:center;min-height:100vh;background:#fafafa;margin:-32px -24px;padding:32px 24px}.signin-card{background:#fff;border:1px solid #e5e5e5;border-radius:12px;padding:40px;width:100%;max-width:400px}.signin-title{font-size:28px;font-weight:700;color:#c45000;text-align:center;margin-bottom:4px}.signin-subtitle{text-align:center;color:#86868b;margin-bottom:24px}.signin-error{background:#fff0f0;color:#c00;padding:8px 12px;border-radius:6px;margin-bottom:16px;word-break:break-word}.signin-success{background:#f0fff0;color:#060;padding:8px 12px;border-radius:6px;margin-bottom:16px}.signin-links{display:flex;justify-content:space-between}.signin-google-btn{width:100%;padding:10px;border:1px solid #e5e5e5;border-radius:8px;background:#fff;cursor:pointer;font-weight:500;display:flex;align-items:center;justify-content:center;gap:8px}.signin-google-btn:hover{background:#f5f5f5}.signin-divider{display:flex;align-items:center;gap:12px;margin:20px 0;color:#86868b}.signin-divider:before,.signin-divider:after{content:"";flex:1;height:1px;background:#e5e5e5}.signin-mode-link{background:none;border:none;color:#c45000;cursor:pointer;padding:0;font-size:inherit}.signin-mode-link:hover{text-decoration:underline}.signin-form-label{color:#86868b;margin:0}.signin-form{display:flex;flex-direction:column;gap:12px}.signin-form input{padding:10px 12px;border:1px solid #e5e5e5;border-radius:8px;outline:none}.signin-form input:focus{border-color:#c45000}.signin-submit-btn{padding:10px;border:none;border-radius:8px;background:#c45000;color:#fff;font-weight:600;cursor:pointer}.signin-submit-btn:hover{background:#a04000}.signin-submit-btn:disabled{opacity:.5;cursor:not-allowed}.header-user{position:relative;margin-left:8px;padding-left:8px;border-left:1px solid #ffcc80}.header-user-btn{background:none;border:none;color:#c45000;cursor:pointer;font-weight:500;padding:4px 8px;border-radius:4px}.header-user-btn:hover{background:#c450001a}.header-dropdown{position:absolute;top:100%;right:0;margin-top:4px;background:#fff;border:1px solid #e5e5e5;border-radius:8px;box-shadow:0 4px 12px #0000001a;z-index:100;min-width:140px;overflow:hidden}.header-dropdown button{display:block;width:100%;padding:8px 16px;border:none;background:none;cursor:pointer;text-align:left;white-space:nowrap}.header-dropdown button:hover{background:#f5f5f5}.settings-content{display:flex;flex-direction:column;gap:24px;margin-top:20px}.settings-section{border:1px solid #e5e5e5;border-radius:8px;padding:20px}.settings-section h3{margin-bottom:12px;font-weight:600}.settings-field{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid #f5f5f5}.settings-field label{color:#86868b;font-weight:500}.settings-methods{display:flex;flex-direction:column;gap:8px}.settings-method{display:flex;align-items:center;justify-content:space-between;padding:8px 0;border-bottom:1px solid #f0f0f0}.settings-method:last-child{border-bottom:none}.settings-method-info{display:flex;flex-direction:column;gap:2px}.settings-method-name{font-weight:500}.settings-method-detail{color:#86868b}.settings-method-buttons,.settings-actions{display:flex;gap:8px}.settings-section button,.settings-actions button,.settings-form button{padding:8px 16px;border:1px solid #e5e5e5;border-radius:6px;background:#fff;cursor:pointer}.settings-section button:disabled,.settings-actions button:disabled,.settings-form button:disabled{opacity:.4;cursor:not-allowed}.settings-section button:hover:not(:disabled),.settings-actions button:hover:not(:disabled),.settings-form button:hover:not(:disabled){background:#f5f5f5}.settings-section button.danger{color:#ff3b30;border-color:#ff3b30}.settings-section button.danger:hover:not(:disabled){background:#ff3b30;color:#fff}.settings-form{display:flex;flex-direction:column;gap:8px}.settings-method-add-form{display:flex;align-items:center;gap:8px}.settings-method-add-form input{padding:6px 10px;border:1px solid #e5e5e5;border-radius:6px;outline:none}.settings-method-add-form input:focus{border-color:#c45000}.settings-method-add-form button{padding:6px 12px;border:1px solid #e5e5e5;border-radius:6px;background:#fff;cursor:pointer;white-space:nowrap}.settings-method-add-form button:hover{background:#f5f5f5}.settings-form input{padding:8px 12px;border:1px solid #e5e5e5;border-radius:6px}.metrics-form-popover{position:absolute;top:100%;right:0;margin-top:6px;background:#f5f5f7;border:1px solid #d2d2d7;border-radius:8px;padding:12px;box-shadow:0 4px 12px #0000001f;z-index:10;width:520px}.metrics-form-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.metrics-form-popover h4{margin:0;font-size:13px;font-weight:600}.metrics-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.metrics-group{border:1px solid #d2d2d7;border-radius:6px;padding:8px 10px;margin:0;background:#fff}.metrics-group legend{font-size:11px;font-weight:600;color:#86868b;text-transform:uppercase;letter-spacing:.5px;padding:0 4px}.metrics-group-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px}.metrics-form-field{display:flex;flex-direction:column;gap:4px}.metrics-form-field label{font-size:12px;font-weight:500;color:#555}.metrics-form-field input:not([type=checkbox]),.metrics-form-field select{padding:5px 10px;border:1px solid #d2d2d7;border-radius:5px;font-size:12px;font-family:inherit;background:#fff;height:28px}.metrics-form-field input:focus,.metrics-form-field select:focus{outline:none}.metrics-form-field input:disabled,.metrics-form-field select:disabled{background:#f5f5f7;color:#86868b}.metrics-form-checkboxes{display:flex;flex-direction:row;gap:16px;align-items:center;padding-top:8px}.metrics-checkbox-label{display:flex;align-items:center;gap:6px;font-weight:400!important;cursor:pointer}.metrics-form-header .metrics-checkbox-label{font-size:11px;color:#86868b}.token-input-wrapper{position:relative}.token-input{display:flex;flex-wrap:wrap;gap:4px;padding:0 10px;border:1px solid #d2d2d7;border-radius:5px;background:#fff;cursor:text;align-items:center}.token-input input{border:none!important;outline:none;padding:5px 0!important;flex:1;min-width:80px;font-size:12px}.token-tag{display:inline-flex;align-items:center;gap:2px;padding:1px 6px;background:#e3f2fd;color:#0071e3;border-radius:4px;font-size:11px;line-height:1.4;white-space:nowrap}.token-tag button{background:none;border:none;color:#0071e3;cursor:pointer;padding:0 2px;font-size:14px;line-height:1}.token-tag button:hover{color:#ff3b30}.token-dropdown{position:absolute;top:100%;left:0;right:0;margin-top:2px;background:#fff;border:1px solid #d2d2d7;border-radius:6px;box-shadow:0 4px 12px #0000001f;z-index:20;max-height:180px;overflow-y:auto}.token-dropdown button{display:block;width:100%;text-align:left;padding:6px 10px;border:none;background:none;cursor:pointer;font-size:12px}.token-dropdown button:hover{background:#f5f5f7}.metrics-cost-group{background:#f5f5f7!important;margin-bottom:8px}.metrics-cost-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;text-align:center}.metrics-cost-item{display:flex;flex-direction:column;gap:2px}.metrics-cost-value{font-weight:600;font-size:11px}.metrics-cost-label{color:#86868b;font-size:10px}.metrics-form-actions{display:flex;gap:6px;margin-top:10px}.metrics-form-actions button:last-child{background:#c45000;color:#fff;border:none;padding:5px 12px;border-radius:5px;font-size:12px;cursor:pointer}.metrics-form-actions button:last-child:hover:not(:disabled){background:#a34000}.metrics-form-actions button:last-child:disabled{opacity:.5;cursor:not-allowed}.metrics-form-actions button:nth-last-child(2){background:#fff;border:1px solid #d2d2d7;padding:5px 12px;border-radius:5px;font-size:12px;cursor:pointer}.metrics-form-actions button:nth-last-child(2):hover{background:#f5f5f7}.metrics-test-btn{background:#fff;border:1px solid #0066cc;color:#06c;padding:5px 12px;border-radius:5px;font-size:12px;cursor:pointer}.metrics-test-btn:hover:not(:disabled){background:#f0f5ff}.metrics-test-btn:disabled{opacity:.5;cursor:not-allowed}.metrics-test-result{margin-top:8px;padding:8px;border-radius:4px;font-size:12px}.metrics-test-result.ok{border:1px solid #d0e8d0;background:#f0f8f0}.metrics-test-result.error{border:1px solid #ffd0d0;background:#fff0f0}.metrics-test-status{font-weight:600;margin-bottom:6px}.metrics-test-result.ok .metrics-test-status{color:#1a7f37}.metrics-test-result.error .metrics-test-status{color:#d30000}.metrics-test-sql-block{margin:0;padding:6px 8px;background:#fff;border-radius:4px;font-size:11px;overflow-x:auto;white-space:pre-wrap;word-break:break-word;font-family:SF Mono,SFMono-Regular,Menlo,monospace;color:#1d1d1f}.sql-keyword{color:#0033b3;font-weight:600}.sql-string{color:#067d17}.sql-number{color:#1750eb}.metrics-agg-display{font-family:SF Mono,SFMono-Regular,Menlo,monospace;color:#7b3dab}.metrics-filter-label{display:flex;align-items:center;gap:6px}.metrics-filters-inline{display:flex;flex-direction:column;gap:4px}.metrics-filter-row{display:flex;gap:4px;align-items:center}.metrics-filter-row select,.metrics-filter-row input{height:28px;padding:5px 10px;border:1px solid #d2d2d7;border-radius:5px;background:#fff;font-size:12px;font-family:inherit;flex:1;min-width:0}.metrics-filter-row select:nth-child(2){flex:0 0 auto}.metrics-filter-row .token-input-wrapper{flex:1;min-width:0}.metrics-filter-remove,.metrics-filter-add-btn{width:24px;height:24px;border-radius:50%;border:1px solid #d2d2d7;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:14px;line-height:1;padding:0;flex-shrink:0}.metrics-filter-remove{background:none;color:#ff3b30}.metrics-filter-remove:hover{background:#fff0f0}.metrics-filter-add-btn{background:none;color:#0071e3}.metrics-filter-add-btn:hover{background:#f0f4ff}.md-card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.md-card{padding:14px 16px;border:1px solid #d2d2d7;border-radius:8px;background:#fff}.md-card-header{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:8px}.md-card-name{font-size:13px;font-weight:600;color:#1d1d1f}.md-card-gran{font-size:10px;font-weight:500;color:#aeaeb2;margin-left:6px}.md-card-current{font-size:18px;font-weight:700;color:#1d1d1f;font-variant-numeric:tabular-nums}.md-card-body{display:flex;gap:12px;align-items:stretch}.md-card-sparkline{flex:1;min-width:0;min-height:120px;position:relative}.sparkline-wrapper{position:absolute;top:0;right:0;bottom:0;left:0;cursor:crosshair}.sparkline-wrapper svg{width:100%;height:100%;display:block}.sparkline-dot{position:absolute;width:6px;height:6px;border-radius:50%;transform:translate(-50%,-50%);pointer-events:none;box-shadow:0 0 0 2px #fff}.sparkline-tooltip{position:absolute;top:4px;transform:translate(-50%);background:#1d1d1f;color:#fff;padding:3px 7px;border-radius:4px;font-size:11px;white-space:nowrap;pointer-events:none;display:flex;flex-direction:column;align-items:center;gap:1px;z-index:1}.sparkline-tooltip-value{font-weight:600;font-variant-numeric:tabular-nums}.sparkline-tooltip-label{font-size:9px;opacity:.7}.md-card-stats{display:flex;flex-direction:column;justify-content:flex-end;gap:6px;flex-shrink:0}.md-stat{display:flex;flex-direction:column;align-items:flex-end;gap:1px}.md-stat-value{font-size:12px;font-weight:600;color:#1d1d1f;font-variant-numeric:tabular-nums;line-height:1}.md-stat-label{font-size:9px;color:#aeaeb2;line-height:1}.chart-container{position:relative}.chart-empty{text-align:center;color:#86868b;padding:40px 0}.chart-tooltip{position:absolute;top:0;transform:translate(-50%);background:#fff;border:1px solid #d2d2d7;border-radius:6px;padding:6px 10px;font-size:11px;pointer-events:none;white-space:nowrap;box-shadow:0 2px 8px #00000014;z-index:2}.chart-tooltip-label{font-weight:600;color:#1d1d1f;margin-bottom:2px}.chart-tooltip-row{display:flex;align-items:center;gap:4px}.chart-tooltip-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.chart-tooltip-series{color:#86868b}.chart-tooltip-value{font-weight:600;font-variant-numeric:tabular-nums}.chart-legend{display:flex;flex-wrap:wrap;gap:12px;margin-top:8px;justify-content:center}.chart-legend-item{display:flex;align-items:center;gap:4px;font-size:11px;color:#1d1d1f}.chart-legend-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}
