.chat-interface-wrapper{display:flex;flex:1;overflow:hidden;height:100%}.chat-sidebar{width:260px;min-width:260px;background:var(--bg-card);border-right:1px solid var(--border);display:flex;flex-direction:column;overflow:hidden}.chat-sidebar-header{padding:16px;border-bottom:1px solid var(--border);flex-shrink:0}.new-chat-button{width:100%;padding:8px 14px;background-color:var(--accent);color:var(--text-on-accent);border:none;border-radius:8px;font-size:13px;font-weight:500;font-family:inherit;cursor:pointer;transition:background-color .15s ease}.new-chat-button:hover{background-color:var(--secondary)}.chat-sidebar-list{flex:1;overflow-y:auto}.chat-sidebar-empty{padding:24px 16px;text-align:center;color:var(--text-muted);font-size:13px}.chat-sidebar-item{display:flex;align-items:center;padding:10px 12px 10px 16px;cursor:pointer;border-bottom:1px solid var(--bg-elevated);transition:background .15s ease}.chat-sidebar-item:hover{background:var(--bg-hover)}.chat-sidebar-item.active{background:var(--bg-active);border-left:3px solid var(--accent);padding-left:13px}.chat-sidebar-item-content{flex:1;min-width:0}.chat-sidebar-item-title{font-size:13px;font-weight:500;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-sidebar-item-date{font-size:11px;color:var(--text-secondary);margin-top:2px}.chat-sidebar-item-delete{flex-shrink:0;width:22px;height:22px;display:flex;align-items:center;justify-content:center;border:none;background:transparent;color:var(--text-muted);font-size:12px;cursor:pointer;border-radius:4px;opacity:0;transition:opacity .15s ease,color .15s ease,background .15s ease}.chat-sidebar-item:hover .chat-sidebar-item-delete{opacity:1}.chat-sidebar-item-delete:hover{color:var(--danger);background:var(--danger-bg)}.chat-interface{display:flex;flex-direction:column;flex:1;overflow:hidden}.chat-header{padding:20px 28px;border-bottom:1px solid var(--border);background:var(--bg-card);display:flex;justify-content:space-between;align-items:center;flex-shrink:0}.chat-header h2{font-size:22px;font-weight:700;color:var(--text)}.chat-controls{display:flex;gap:8px}.category-select,.ai-system-select{padding:7px 12px;border:1px solid var(--border);border-radius:8px;font-size:13px;background:var(--bg-card);color:var(--text);font-family:inherit;cursor:pointer}.category-select:focus,.ai-system-select:focus{outline:none;border-color:var(--accent)}.chat-messages{flex:1;overflow-y:auto;padding:20px 28px;display:flex;flex-direction:column;gap:12px;background:var(--bg-primary)}.chat-empty{display:flex;align-items:center;justify-content:center;height:100%;color:var(--text-muted);font-size:14px}.message{display:flex;max-width:80%}.message.user{align-self:flex-end;flex-direction:row-reverse}.message.assistant{align-self:flex-start}.message-content{padding:10px 14px;border-radius:14px;word-wrap:break-word;font-size:13px;line-height:1.6;white-space:pre-wrap}.message.user .message-content{background-color:var(--accent);color:var(--text-on-accent);border-bottom-right-radius:4px}.message.assistant .message-content{background-color:var(--bg-elevated);border:1px solid var(--border);color:var(--text);border-bottom-left-radius:4px;white-space:normal}.chat-input-form{display:flex;padding:12px 28px;border-top:1px solid var(--border);gap:8px;flex-shrink:0;background:var(--bg-card)}.chat-input{flex:1;padding:8px 12px;border:1px solid var(--border);border-radius:8px;font-size:13px;background:var(--bg-card);color:var(--text);font-family:inherit;transition:border-color .15s ease,box-shadow .15s ease}.chat-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--focus-ring)}.chat-input::placeholder{color:var(--text-muted)}.send-button{padding:7px 16px;background-color:var(--accent);color:var(--text-on-accent);border:none;border-radius:8px;cursor:pointer;font-size:13px;font-weight:500;font-family:inherit;transition:background-color .15s ease}.send-button:hover:not(:disabled){background-color:var(--secondary)}.send-button:disabled{opacity:.5;cursor:not-allowed}.races-page{padding:24px 32px;max-width:1400px;margin:0 auto;overflow-y:auto;height:100%}.races-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.races-title h1{font-size:24px;font-weight:600;color:var(--text-primary);margin:0}.races-title p{font-size:13px;color:var(--text-secondary);margin:4px 0 0}.races-controls{display:flex;gap:10px;align-items:center}.races-filter-select{padding:6px 28px 6px 12px;border:1px solid var(--border);border-radius:8px;background:var(--bg-secondary);color:var(--text-primary);font-size:13px;cursor:pointer;-moz-appearance:none;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23999' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center}.pr-cards-row{display:flex;gap:12px;margin-bottom:24px;overflow-x:auto;padding-bottom:4px}.pr-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:10px;padding:16px 20px;min-width:160px;flex-shrink:0}.pr-card-label{font-size:11px;font-weight:600;text-transform:uppercase;color:var(--text-secondary);margin-bottom:6px;letter-spacing:.5px}.pr-card-time{font-size:22px;font-weight:700;color:var(--text-primary);margin-bottom:4px}.pr-card-detail{font-size:11px;color:var(--text-secondary)}.pr-card-name{font-size:12px;color:var(--accent);font-weight:500}.pr-card-best-effort{margin-top:8px;padding-top:8px;border-top:1px solid var(--border)}.pr-card-effort-label{font-size:10px;font-weight:600;text-transform:uppercase;color:var(--text-secondary);letter-spacing:.3px;margin-bottom:2px}.pr-card-effort-time{font-size:16px;font-weight:600;color:var(--text-primary);opacity:.8}.race-category-badge{display:inline-block;padding:2px 10px;border-radius:12px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.3px;white-space:nowrap}.badge-5k{background:#22c55e22;color:#22c55e}.badge-10k{background:#3b82f622;color:#3b82f6}.badge-10mi{background:#6366f122;color:#6366f1}.badge-half{background:#8b5cf622;color:#8b5cf6}.badge-marathon{background:#ef444422;color:#ef4444}.badge-ultra{background:#f9731622;color:#f97316}.badge-1mi{background:#10b98122;color:#10b981}.badge-olympic_tri{background:#06b6d422;color:#06b6d4}.badge-70\.3{background:#0891b222;color:#0891b2}.badge-ironman{background:#dc262622;color:#dc2626}.badge-hyrox{background:#eab30822;color:#eab308}.badge-spartan{background:#a855f722;color:#a855f7}.badge-unknown{background:var(--bg-tertiary);color:var(--text-secondary)}.races-table{width:100%;border-collapse:separate;border-spacing:0}.races-table thead th{text-align:left;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary);padding:10px 12px;border-bottom:1px solid var(--border);position:sticky;top:0;background:var(--bg-primary);z-index:1}.races-table tbody tr{cursor:pointer;transition:background .1s}.races-table tbody tr:hover,.races-table tbody tr.expanded{background:var(--bg-secondary)}.races-table td{padding:12px;font-size:13px;color:var(--text-primary);border-bottom:1px solid var(--border);vertical-align:middle}.race-name-cell{font-weight:500}.race-date-cell{color:var(--text-secondary);font-size:12px;white-space:nowrap}.race-time-cell{font-weight:600;font-variant-numeric:tabular-nums}.race-pace-cell{font-variant-numeric:tabular-nums;color:var(--text-secondary)}.race-hr-cell{color:var(--text-secondary);font-size:12px}.race-link{color:var(--accent);text-decoration:none;font-size:12px}.race-link:hover{text-decoration:underline}.race-pr-indicator{display:inline-block;margin-left:6px;padding:1px 6px;border-radius:4px;font-size:10px;font-weight:700;background:#eab30822;color:#eab308;vertical-align:middle}.race-detail-row td{padding:0;border-bottom:1px solid var(--border)}.race-detail-content{padding:16px 24px;background:var(--bg-secondary)}.race-detail-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;margin-bottom:12px}.race-detail-stat{padding:10px 14px;background:var(--bg-tertiary, var(--bg-primary));border-radius:8px}.race-detail-stat-label{font-size:11px;color:var(--text-secondary);font-weight:500;margin-bottom:2px}.race-detail-stat-value{font-size:16px;font-weight:600;color:var(--text-primary)}.hyrox-detail{margin-top:12px}.hyrox-detail h4{font-size:13px;font-weight:600;color:var(--text-primary);margin:0 0 8px}.hyrox-splits-grid{display:grid;grid-template-columns:repeat(8,1fr);gap:6px;margin-bottom:12px}.hyrox-split-card{padding:8px;background:var(--bg-tertiary, var(--bg-primary));border-radius:6px;text-align:center}.hyrox-split-label{font-size:10px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.3px;margin-bottom:2px}.hyrox-split-time{font-size:14px;font-weight:600;color:var(--text-primary);font-variant-numeric:tabular-nums}.hyrox-workouts-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.hyrox-workout-card{padding:8px;background:var(--bg-tertiary, var(--bg-primary));border-radius:6px;text-align:center}.hyrox-workout-label{font-size:10px;color:var(--text-secondary);margin-bottom:2px}.hyrox-workout-time{font-size:14px;font-weight:600;color:var(--text-primary);font-variant-numeric:tabular-nums}.legs-table{width:100%;margin-top:12px;border-collapse:separate;border-spacing:0}.legs-table th{text-align:left;font-size:11px;font-weight:600;color:var(--text-secondary);padding:6px 10px;border-bottom:1px solid var(--border);text-transform:uppercase;letter-spacing:.3px}.legs-table td{padding:8px 10px;font-size:13px;color:var(--text-primary);border-bottom:1px solid var(--border)}.races-loading{padding:40px;text-align:center;color:var(--text-secondary)}.races-empty{padding:40px;text-align:center;color:var(--text-secondary);font-size:14px}.hyrox-meta{display:flex;gap:16px;flex-wrap:wrap;margin-bottom:12px;font-size:13px;color:var(--text-secondary)}.hyrox-meta strong{color:var(--text-primary)}.hyrox-meta a{color:var(--accent);text-decoration:none}.hyrox-meta a:hover{text-decoration:underline}@media (max-width: 900px){.pr-cards-row{flex-wrap:wrap}.hyrox-splits-grid{grid-template-columns:repeat(4,1fr)}.hyrox-workouts-grid{grid-template-columns:repeat(2,1fr)}.races-header{flex-direction:column;align-items:flex-start;gap:12px}}.health-dashboard{padding:24px 32px;max-width:1400px;margin:0 auto;overflow-y:auto;height:100%}.health-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.health-title h1{font-size:24px;font-weight:600;color:var(--text-primary);margin:0}.health-controls{display:flex;gap:12px;align-items:center}.range-picker{display:flex;gap:4px;background:var(--bg-secondary);border-radius:8px;padding:3px}.range-btn{padding:6px 14px;border:none;border-radius:6px;background:transparent;color:var(--text-secondary);cursor:pointer;font-size:13px;font-weight:500;transition:all .15s}.range-btn.active{background:var(--accent);color:var(--text-on-accent, #fff)}.moments-btn{padding:6px 16px;border:1px solid var(--border);border-radius:8px;background:var(--bg-secondary);color:var(--text-primary);cursor:pointer;font-size:13px;font-weight:500}.moments-btn:hover{background:var(--bg-tertiary)}.metric-cards-row{display:grid;grid-template-columns:repeat(7,1fr);gap:12px;margin-bottom:24px}.health-metric-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:10px;padding:16px}.metric-label{font-size:12px;color:var(--text-secondary);margin-bottom:4px;font-weight:500}.metric-value{font-size:24px;font-weight:700;color:var(--text-primary)}.metric-unit{font-size:14px;font-weight:400;color:var(--text-secondary);margin-left:2px}.metric-trend{font-size:12px;margin-top:4px;font-weight:500}.chart-row{display:grid;gap:16px;margin-bottom:16px}.chart-row.two-col{grid-template-columns:1fr 1fr}.chart-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:10px;padding:16px}.chart-card h3{font-size:14px;font-weight:600;color:var(--text-primary);margin:0 0 12px}.chart-card-inner{padding:8px 0}.chart-card-inner h3{font-size:13px;font-weight:600;color:var(--text-primary);margin:0 0 8px}.advanced-section{margin-top:8px}.advanced-toggle{background:none;border:none;color:var(--text-secondary);cursor:pointer;font-size:14px;font-weight:500;padding:4px 0}.advanced-toggle:hover{color:var(--text-primary)}.advanced-content,.race-predictions{margin-top:16px}.race-predictions h3{font-size:14px;font-weight:600;color:var(--text-primary);margin:0 0 8px}.race-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:8px}.race-grid div{background:var(--bg-tertiary);padding:12px;border-radius:8px;font-size:14px;color:var(--text-primary)}.fitness-age{margin-top:12px;color:var(--text-primary)}.fitness-age h3{font-size:14px;font-weight:600;display:inline}.health-loading{padding:40px;text-align:center;color:var(--text-secondary)}.moments-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;z-index:100;display:flex;justify-content:flex-end}.moments-panel{width:400px;background:var(--bg-primary);border-left:1px solid var(--border);padding:24px;overflow-y:auto}.moments-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.moments-header h2{font-size:18px;font-weight:600;margin:0;color:var(--text-primary)}.moments-close{background:none;border:none;font-size:24px;color:var(--text-secondary);cursor:pointer}.moments-add-btn{width:100%;padding:8px;border:1px dashed var(--border);border-radius:8px;background:transparent;color:var(--text-secondary);cursor:pointer;font-size:13px;margin-bottom:16px}.moments-form{display:flex;flex-direction:column;gap:8px;margin-bottom:16px;padding:12px;background:var(--bg-secondary);border-radius:8px}.moments-form input,.moments-form textarea,.moments-form select{padding:8px;border:1px solid var(--border);border-radius:6px;background:var(--bg-primary);color:var(--text-primary);font-size:13px}.color-picker{display:flex;gap:6px}.color-swatch{width:24px;height:24px;border-radius:50%;cursor:pointer;border:2px solid transparent}.color-swatch.active{border-color:var(--text-primary)}.moments-save-btn{padding:8px;background:var(--accent);color:var(--text-on-accent, #fff);border:none;border-radius:6px;cursor:pointer;font-weight:500}.moments-list{display:flex;flex-direction:column;gap:8px}.moment-item{display:flex;gap:10px;padding:10px;background:var(--bg-secondary);border-radius:8px;align-items:flex-start}.moment-dot{width:10px;height:10px;border-radius:50%;margin-top:4px;flex-shrink:0}.moment-info{flex:1;min-width:0}.moment-title{font-size:13px;font-weight:600;color:var(--text-primary)}.moment-meta{font-size:11px;color:var(--text-secondary)}.moment-desc{font-size:12px;color:var(--text-secondary);margin-top:2px}.moment-dismiss{background:none;border:none;color:var(--text-secondary);cursor:pointer;font-size:16px;padding:0 4px}.moments-empty{text-align:center;color:var(--text-secondary);padding:20px;font-size:13px}.intraday-modal{width:800px;max-width:90vw;background:var(--bg-primary);border-radius:12px;padding:24px;margin:auto;max-height:90vh;overflow-y:auto}.intraday-metrics{display:flex;gap:4px;flex-wrap:wrap;margin-bottom:16px}.intraday-summary{display:flex;gap:16px;margin-bottom:12px;font-size:13px;color:var(--text-secondary)}.custom-range{display:flex;gap:6px;align-items:center;font-size:13px;color:var(--text-secondary)}.range-date-input{padding:5px 10px;border:1px solid var(--border);border-radius:6px;background:var(--bg-secondary);color:var(--text-primary);font-size:12px}.health-tooltip{background:var(--bg-secondary, #1e1e2e);border:1px solid var(--border, #333);border-radius:8px;padding:10px 14px;font-size:12px;box-shadow:0 4px 12px #0000004d}.health-tooltip-label{font-weight:600;color:var(--text-primary, #e0e0e0);margin-bottom:6px;font-size:13px}.health-tooltip-row{display:flex;align-items:center;gap:6px;color:var(--text-secondary, #a0a0a0);padding:2px 0}.health-tooltip-row strong{color:var(--text-primary, #e0e0e0)}.health-tooltip-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}@media (max-width: 1000px){.metric-cards-row{grid-template-columns:repeat(3,1fr)}.chart-row.two-col{grid-template-columns:1fr}}.nutrition-page{padding:24px 32px;max-width:1400px;margin:0 auto;overflow-y:auto;height:100%}.nutrition-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;flex-wrap:wrap;gap:12px}.nutrition-title h1{font-size:24px;font-weight:600;color:var(--text-primary);margin:0}.nutrition-controls{display:flex;gap:12px;align-items:center}.nutrition-date-input{padding:6px 12px;border:1px solid var(--border);border-radius:8px;background:var(--bg-secondary);color:var(--text-primary);font-size:13px}.nutrition-add-btn{padding:8px 16px;background:var(--accent);color:var(--text-on-accent, #fff);border:none;border-radius:8px;cursor:pointer;font-size:13px;font-weight:600;display:flex;align-items:center;gap:6px;transition:opacity .15s}.nutrition-add-btn:hover{opacity:.9}.nutrition-summary-row{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-bottom:24px}.nutrition-summary-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:10px;padding:16px;text-align:center}.nutrition-summary-label{font-size:12px;color:var(--text-secondary);margin-bottom:4px;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.nutrition-summary-value{font-size:28px;font-weight:700;color:var(--text-primary)}.nutrition-summary-unit{font-size:13px;font-weight:400;color:var(--text-secondary);margin-left:2px}.nutrition-macro-bar{height:8px;border-radius:4px;display:flex;overflow:hidden;margin-top:8px;background:var(--bg-tertiary, var(--border))}.nutrition-macro-bar-segment{height:100%;transition:width .3s ease}.nutrition-macro-bar-legend{display:flex;gap:16px;margin-top:6px;justify-content:center}.nutrition-macro-bar-legend-item{display:flex;align-items:center;gap:4px;font-size:11px;color:var(--text-secondary)}.nutrition-macro-bar-legend-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.nutrition-logs{display:flex;flex-direction:column;gap:10px}.nutrition-logs-empty{text-align:center;padding:40px 20px;color:var(--text-secondary);font-size:14px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:10px}.nutrition-log-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:10px;padding:16px;display:flex;align-items:center;gap:16px;transition:border-color .15s}.nutrition-log-card:hover{border-color:var(--accent)}.nutrition-log-main{flex:1;min-width:0}.nutrition-log-description{font-size:14px;font-weight:600;color:var(--text-primary);margin-bottom:6px;word-break:break-word}.nutrition-log-macros{display:flex;gap:8px;flex-wrap:wrap}.nutrition-macro-badge{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:12px;font-size:12px;font-weight:600;background:var(--bg-tertiary, var(--bg-primary));color:var(--text-secondary)}.nutrition-macro-badge.calories{background:#ef444422;color:#ef4444}.nutrition-macro-badge.protein{background:#3b82f622;color:#3b82f6}.nutrition-macro-badge.carbs{background:#f59e0b22;color:#f59e0b}.nutrition-macro-badge.fat{background:#a855f722;color:#a855f7}.nutrition-macro-badge.fiber{background:#22c55e22;color:#22c55e}.nutrition-log-meta{display:flex;gap:12px;align-items:center;margin-top:6px}.nutrition-status-badge{display:inline-flex;padding:2px 8px;border-radius:10px;font-size:11px;font-weight:500;background:var(--bg-tertiary, var(--bg-primary));color:var(--text-secondary)}.nutrition-status-badge.analyzed{background:#22c55e22;color:#22c55e}.nutrition-status-badge.manual{background:#3b82f622;color:#3b82f6}.nutrition-log-time{font-size:11px;color:var(--text-secondary)}.nutrition-log-actions{display:flex;gap:6px;flex-shrink:0}.nutrition-log-action-btn{padding:6px 8px;border:1px solid var(--border);border-radius:6px;background:transparent;color:var(--text-secondary);cursor:pointer;font-size:12px;transition:all .15s}.nutrition-log-action-btn:hover{background:var(--bg-tertiary, var(--bg-primary));color:var(--text-primary)}.nutrition-log-action-btn.delete:hover{background:#ef444422;color:#ef4444;border-color:#ef444444}.nutrition-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;z-index:200;display:flex;align-items:center;justify-content:center;padding:20px}.nutrition-modal{background:var(--bg-primary);border:1px solid var(--border);border-radius:12px;padding:24px;width:560px;max-width:100%;max-height:85vh;overflow-y:auto;box-shadow:0 8px 32px #0000004d}.nutrition-modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.nutrition-modal-header h2{font-size:18px;font-weight:600;color:var(--text-primary);margin:0}.nutrition-modal-close{background:none;border:none;font-size:24px;color:var(--text-secondary);cursor:pointer;padding:0;line-height:1}.nutrition-modal-close:hover{color:var(--text-primary)}.nutrition-mode-tabs{display:flex;gap:4px;background:var(--bg-secondary);border-radius:8px;padding:3px;margin-bottom:20px}.nutrition-mode-tab{flex:1;padding:8px 12px;border:none;border-radius:6px;background:transparent;color:var(--text-secondary);cursor:pointer;font-size:13px;font-weight:500;transition:all .15s;text-align:center}.nutrition-mode-tab.active{background:var(--accent);color:var(--text-on-accent, #fff)}.nutrition-form-group{margin-bottom:16px}.nutrition-form-label{display:block;font-size:12px;font-weight:600;color:var(--text-secondary);margin-bottom:6px;text-transform:uppercase;letter-spacing:.5px}.nutrition-form-input,.nutrition-form-textarea{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:8px;background:var(--bg-secondary);color:var(--text-primary);font-size:14px;font-family:inherit;box-sizing:border-box}.nutrition-form-textarea{min-height:80px;resize:vertical}.nutrition-form-input:focus,.nutrition-form-textarea:focus{outline:none;border-color:var(--accent)}.nutrition-form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.nutrition-form-row-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px}.nutrition-analyze-btn{padding:10px 20px;background:var(--accent);color:var(--text-on-accent, #fff);border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:600;width:100%;transition:opacity .15s}.nutrition-analyze-btn:hover{opacity:.9}.nutrition-analyze-btn:disabled{opacity:.5;cursor:not-allowed}.nutrition-analysis-result{background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;padding:16px;margin-bottom:16px}.nutrition-analysis-result h4{font-size:13px;font-weight:600;color:var(--text-primary);margin:0 0 8px}.nutrition-analysis-items{font-size:13px;color:var(--text-secondary);margin-bottom:12px;line-height:1.5}.nutrition-analysis-items li{margin-bottom:2px}.nutrition-save-btn{padding:10px 20px;background:#22c55e;color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:600;width:100%;transition:opacity .15s}.nutrition-save-btn:hover{opacity:.9}.nutrition-save-btn:disabled{opacity:.5;cursor:not-allowed}.nutrition-photo-area{border:2px dashed var(--border);border-radius:10px;padding:32px;text-align:center;cursor:pointer;transition:border-color .15s;margin-bottom:16px}.nutrition-photo-area:hover{border-color:var(--accent)}.nutrition-photo-area p{color:var(--text-secondary);font-size:14px;margin:0}.nutrition-photo-preview{max-width:100%;max-height:200px;border-radius:8px;margin-bottom:12px}.nutrition-spinner{display:inline-block;width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:nutrition-spin .6s linear infinite;margin-right:6px;vertical-align:middle}@keyframes nutrition-spin{to{transform:rotate(360deg)}}.nutrition-loading{padding:40px;text-align:center;color:var(--text-secondary)}.nutrition-error{padding:12px;background:#ef444422;color:#ef4444;border-radius:8px;font-size:13px;margin-bottom:16px}@media (max-width: 900px){.nutrition-summary-row{grid-template-columns:repeat(3,1fr)}}@media (max-width: 600px){.nutrition-page{padding:16px}.nutrition-summary-row{grid-template-columns:repeat(2,1fr)}.nutrition-header,.nutrition-log-card{flex-direction:column;align-items:flex-start}.nutrition-log-actions{align-self:flex-end}.nutrition-form-row,.nutrition-form-row-3{grid-template-columns:1fr}}.ride-planner{display:flex;flex-direction:column;height:100vh;background:var(--bg-primary, #fff);color:var(--text-primary, #111)}.ride-planner-header{display:flex;align-items:center;justify-content:space-between;padding:14px 22px;border-bottom:1px solid var(--border-color, #e5e7eb)}.ride-planner-header h1{margin:0;font-size:20px;font-weight:600}.ride-subtitle{margin:2px 0 0;font-size:12px;color:var(--text-secondary, #6b7280)}.ride-variant-picker{display:flex;gap:6px;align-items:center;font-size:12px}.ride-variant-picker label{color:var(--text-secondary, #6b7280);margin-right:4px}.ride-variant-btn{padding:5px 10px;border:1px solid var(--border-color, #d1d5db);background:var(--bg-secondary, #f9fafb);border-radius:4px;cursor:pointer;font-size:12px;text-transform:capitalize}.ride-variant-btn.active{background:#3d8bfd;color:#fff;border-color:#3d8bfd}.ride-planner-body{flex:1;display:flex;min-height:0}.ride-sidebar{width:320px;border-right:1px solid var(--border-color, #e5e7eb);padding:14px;overflow-y:auto;display:flex;flex-direction:column;gap:10px}.ride-filter label{display:block;font-size:11px;color:var(--text-secondary, #6b7280);text-transform:uppercase;letter-spacing:.05em;margin-bottom:4px}.ride-filter input[type=text],.ride-filter select{width:100%;padding:6px 8px;font-size:13px;border:1px solid var(--border-color, #d1d5db);background:var(--bg-primary, #fff);color:var(--text-primary, #111);border-radius:4px}.ride-filter input[type=range]{width:100%}.ride-actions{display:flex;gap:6px}.ride-actions button{flex:1;padding:5px 8px;border:1px solid var(--border-color, #d1d5db);background:var(--bg-secondary, #f9fafb);border-radius:4px;cursor:pointer;font-size:12px}.ride-count{font-size:11px;color:var(--text-secondary, #6b7280);text-align:right}.ride-list{display:flex;flex-direction:column;gap:6px}.ride-card{display:flex;gap:10px;padding:8px;border:1px solid var(--border-color, #e5e7eb);border-radius:6px;cursor:pointer;background:var(--bg-primary, #fff)}.ride-card:hover{border-color:#3d8bfd}.ride-card.selected{border-color:#3d8bfd;background:#3d8bfd12}.ride-card-swatch{width:4px;border-radius:2px;flex-shrink:0}.ride-card-body{flex:1;min-width:0}.ride-card-theme{font-size:13px;font-weight:500;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ride-card-stats{font-size:11px;color:var(--text-secondary, #6b7280);margin-top:2px}.ride-card-actions{display:flex;gap:8px;margin-top:4px;font-size:11px}.ride-card-actions a{color:#3d8bfd;text-decoration:none}.ride-card-actions a:hover{text-decoration:underline}.ride-map-container{flex:1;position:relative;min-width:0}.ride-map{width:100%;height:100%}.ride-loading{position:absolute;top:14px;left:50%;transform:translate(-50%);padding:6px 14px;background:#000000b3;color:#fff;border-radius:20px;font-size:12px;z-index:1000}.ride-home-marker{background:transparent;border:none}.ride-home-pin{background:#10b981;color:#fff;font-weight:700;font-size:12px;width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;border:3px solid #fff;box-shadow:0 2px 6px #0000004d}.usage-dashboard{padding:24px 32px;max-width:1400px;margin:0 auto;overflow-y:auto;height:100%}.usage-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.usage-title h1{font-size:24px;font-weight:600;color:var(--text-primary);margin:0}.usage-title p{font-size:13px;color:var(--text-muted);margin:4px 0 0}.usage-controls{display:flex;gap:12px;align-items:center}.usage-range-picker{display:flex;gap:4px;background:var(--bg-secondary);border-radius:8px;padding:3px}.usage-range-btn{padding:6px 14px;border:none;border-radius:6px;background:transparent;color:var(--text-secondary);cursor:pointer;font-size:13px;font-weight:500;transition:all .15s}.usage-range-btn:hover{color:var(--text-primary)}.usage-range-btn.active{background:var(--accent);color:var(--text-on-accent, #fff)}.usage-summary-row{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-bottom:24px}.usage-summary-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:10px;padding:20px 24px}.usage-summary-card .card-label{font-size:12px;color:var(--text-secondary);font-weight:500;text-transform:uppercase;letter-spacing:.05em;margin-bottom:6px}.usage-summary-card .card-value{font-size:32px;font-weight:700;color:var(--text-primary);line-height:1.2}.usage-summary-card .card-sub{font-size:13px;color:var(--text-muted);margin-top:4px}.usage-summary-card .card-note{font-size:11px;color:var(--text-muted);margin-top:8px;font-style:italic;line-height:1.4}.usage-chart-section{background:var(--bg-secondary);border:1px solid var(--border);border-radius:10px;padding:20px 24px;margin-bottom:24px}.usage-chart-section h2{font-size:15px;font-weight:600;color:var(--text-primary);margin:0 0 16px}.usage-table-section{background:var(--bg-secondary);border:1px solid var(--border);border-radius:10px;padding:20px 24px;margin-bottom:24px}.usage-table-section h2{font-size:15px;font-weight:600;color:var(--text-primary);margin:0 0 16px}.usage-table{width:100%;border-collapse:collapse}.usage-table th{text-align:left;font-size:11px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;padding:8px 12px;border-bottom:1px solid var(--border)}.usage-table td{font-size:13px;color:var(--text-primary);padding:10px 12px;border-bottom:1px solid var(--border)}.usage-table tr:last-child td{border-bottom:none}.usage-table .mono{font-family:JetBrains Mono,Fira Code,monospace;font-size:12px}.usage-table .text-right{text-align:right}.usage-table .text-muted{color:var(--text-muted)}.source-badge{display:inline-block;font-size:11px;font-weight:500;padding:2px 8px;border-radius:4px}.source-badge.api{background:#3b82f61f;color:#60a5fa}.source-badge.claude-code{background:#8b5cf61f;color:#a78bfa}.usage-tooltip{background:#1e1e2e;border:1px solid #3a3a4a;border-radius:8px;padding:10px 14px;box-shadow:0 4px 16px #00000080}.recharts-tooltip-cursor{fill:#ffffff0a!important;stroke:none!important}.usage-tooltip-label{font-size:12px;font-weight:600;color:#e0e0e0;margin-bottom:6px}.usage-tooltip-row{font-size:12px;color:#b0b0c0;display:flex;align-items:center;gap:6px;margin-top:3px}.usage-tooltip-dot{width:8px;height:8px;border-radius:50%;display:inline-block;flex-shrink:0}.usage-loading,.usage-error{display:flex;align-items:center;justify-content:center;min-height:200px;color:var(--text-muted);font-size:14px}.usage-error{color:var(--danger, #ef4444)}.usage-info-note{display:flex;align-items:flex-start;gap:8px;background:var(--bg-tertiary, var(--bg-secondary));border:1px solid var(--border);border-radius:8px;padding:12px 16px;margin-bottom:24px;font-size:12px;color:var(--text-secondary);line-height:1.5}.usage-info-note .info-icon{flex-shrink:0;font-size:14px;margin-top:1px}.usage-tabs{display:flex;gap:0;border-bottom:1px solid var(--border);margin-bottom:24px}.usage-tab{padding:10px 20px;border:none;background:transparent;color:var(--text-secondary);cursor:pointer;font-size:14px;font-weight:500;border-bottom:2px solid transparent;transition:all .15s;margin-bottom:-1px}.usage-tab:hover{color:var(--text-primary)}.usage-tab.active{color:var(--accent);border-bottom-color:var(--accent)}.usage-summary-row-4{grid-template-columns:repeat(4,1fr)}.trend-up{color:#ef4444}.trend-down{color:#10b981}.service-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:8px;vertical-align:middle}.usage-empty-state{text-align:center;padding:60px 24px;color:var(--text-secondary)}.usage-empty-state .empty-icon{font-size:48px;color:var(--text-muted);margin-bottom:16px;opacity:.4}.usage-empty-state h3{font-size:18px;font-weight:600;color:var(--text-primary);margin:0 0 8px}.usage-empty-state p{font-size:14px;color:var(--text-muted);margin:0 0 24px}.usage-empty-state .empty-instructions{text-align:left;max-width:500px;margin:0 auto;background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;padding:16px 20px;font-size:13px;line-height:1.6}.usage-empty-state .empty-instructions ol{margin:8px 0 0;padding-left:20px}.usage-empty-state .empty-instructions code{background:var(--bg-tertiary, rgba(255, 255, 255, .06));padding:1px 6px;border-radius:3px;font-size:12px}.usage-info-note code{background:var(--bg-tertiary, rgba(255, 255, 255, .06));padding:1px 6px;border-radius:3px;font-size:11px}.infra-divider{border-top:1px solid var(--border);margin:32px 0}.infra-section-header{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:20px}.infra-section-header h2{font-size:18px;font-weight:600;color:var(--text-primary);margin:0}.infra-timestamp{font-size:11px;color:var(--text-muted)}.infra-top-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:24px}.infra-total-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:10px;padding:24px;display:flex;flex-direction:column;justify-content:center}.infra-total-card .card-label{font-size:12px;color:var(--text-secondary);font-weight:500;text-transform:uppercase;letter-spacing:.05em;margin-bottom:6px}.infra-total-card .card-value{font-size:36px;font-weight:700;color:var(--text-primary);line-height:1.2}.infra-total-card .card-sub{font-size:13px;color:var(--text-muted);margin-top:4px}.infra-pie-wrap{background:var(--bg-secondary);border:1px solid var(--border);border-radius:10px;padding:12px}.infra-pie-wrap .recharts-pie-label-text{font-size:10px;fill:var(--text-secondary)}.infra-service-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:24px}.infra-service-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:10px;padding:16px;display:flex;flex-direction:column}.infra-card-bar-wrap{margin-top:auto!important;padding-top:6px}.infra-card-header{display:flex;align-items:center;gap:8px;margin-bottom:6px}.infra-card-name{font-size:13px;font-weight:600;color:var(--text-primary);flex:1}.infra-card-cost{font-size:14px;font-weight:700;color:var(--text-primary);font-family:JetBrains Mono,Fira Code,monospace}.infra-status-badge{font-size:9px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;background:#f59e0b26;color:#f59e0b;padding:1px 6px;border-radius:3px}.infra-card-desc{font-size:11px;color:var(--text-muted);margin-bottom:8px;line-height:1.4}.infra-card-breakdown{font-size:11px;color:var(--text-secondary);margin-bottom:8px;font-family:JetBrains Mono,Fira Code,monospace}.infra-breakdown-item{margin-bottom:2px}.infra-breakdown-label{font-weight:600;color:var(--text-muted);text-transform:capitalize}.infra-card-bar-wrap{display:flex;align-items:center;gap:8px}.infra-card-bar{height:4px;border-radius:2px;flex:1;max-width:80%;opacity:.7}.infra-card-pct{font-size:11px;color:var(--text-muted);font-family:JetBrains Mono,Fira Code,monospace}@media (max-width: 900px){.usage-summary-row-4,.infra-service-cards{grid-template-columns:repeat(2,1fr)}.infra-top-row{grid-template-columns:1fr}}.fin-dashboard{padding:24px 32px;max-width:1400px;margin:0 auto;overflow-y:auto;height:100%}.fin-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.fin-title h1{font-size:24px;font-weight:600;color:var(--text-primary);margin:0}.fin-title p{font-size:13px;color:var(--text-muted);margin:4px 0 0}.fin-tabs{display:flex;gap:4px;background:var(--bg-secondary);border-radius:8px;padding:3px;margin-bottom:24px;width:fit-content}.fin-tab{padding:8px 20px;border:none;border-radius:6px;background:transparent;color:var(--text-secondary);cursor:pointer;font-size:13px;font-weight:500;transition:all .15s}.fin-tab:hover{color:var(--text-primary)}.fin-tab.active{background:var(--accent);color:var(--text-on-accent, #fff)}.fin-summary-row{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:24px}.fin-summary-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:10px;padding:20px 24px}.fin-summary-card .card-label{font-size:12px;color:var(--text-secondary);font-weight:500;text-transform:uppercase;letter-spacing:.05em;margin-bottom:6px}.fin-summary-card .card-value{font-size:28px;font-weight:700;color:var(--text-primary);line-height:1.2}.fin-summary-card .card-sub{font-size:13px;color:var(--text-muted);margin-top:4px}.fin-table-section{background:var(--bg-secondary);border:1px solid var(--border);border-radius:10px;padding:20px 24px;margin-bottom:24px;overflow-x:auto}.fin-table-section h2{font-size:15px;font-weight:600;color:var(--text-primary);margin:0 0 16px}.fin-table{width:100%;border-collapse:collapse}.fin-table th{text-align:left;font-size:11px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;padding:8px 12px;border-bottom:1px solid var(--border);white-space:nowrap}.fin-table td{font-size:13px;color:var(--text-primary);padding:10px 12px;border-bottom:1px solid var(--border)}.fin-table tr:last-child td{border-bottom:none}.fin-table .mono{font-family:JetBrains Mono,Fira Code,monospace;font-size:12px}.fin-table .text-right{text-align:right}.fin-table .entity-cell{font-weight:600;vertical-align:top;border-right:2px solid var(--border)}.fin-table .txn-name{max-width:280px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fin-table .fin-empty{text-align:center;color:var(--text-muted);padding:32px 12px}.fin-filters{display:flex;gap:16px;align-items:flex-end;margin-bottom:20px;flex-wrap:wrap}.fin-filter-group{display:flex;flex-direction:column;gap:4px}.fin-filter-group label{font-size:11px;font-weight:500;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em}.fin-select,.fin-date-input{padding:7px 12px;border:1px solid var(--border);border-radius:6px;background:var(--bg-primary);color:var(--text-primary);font-size:13px;min-width:160px;color-scheme:dark}.fin-select{-moz-appearance:none;appearance:none;-webkit-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' fill='none' stroke='%23999' stroke-width='1.5'%3E%3Cpath d='M3 5l3 3 3-3'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;padding-right:30px;cursor:pointer}.fin-select:focus,.fin-date-input:focus{outline:none;border-color:var(--accent)}.fin-clear-btn{padding:7px 14px;border:1px solid var(--border);border-radius:6px;background:transparent;color:var(--text-secondary);cursor:pointer;font-size:13px;transition:all .15s}.fin-clear-btn:hover{color:var(--text-primary);border-color:var(--text-secondary)}.fin-filter-count{font-size:13px;color:var(--text-muted);padding:7px 0;margin-left:auto}.type-badge{display:inline-block;font-size:11px;font-weight:500;padding:2px 8px;border-radius:4px;background:var(--bg-tertiary, var(--bg-secondary));color:var(--text-secondary)}.type-badge.income{background:#22c55e1f;color:#22c55e}.type-badge.expense{background:#ef44441f;color:#ef4444}.fin-loading,.fin-error{display:flex;align-items:center;justify-content:center;min-height:200px;color:var(--text-muted);font-size:14px;gap:8px}.fin-error{color:var(--danger, #ef4444)}.fin-table th[title]{cursor:help;text-decoration:underline dotted var(--text-muted);text-underline-offset:3px}.fin-subtitle{color:var(--text-muted);font-size:12px;margin:-8px 0 16px}.stage-badge{display:inline-block;padding:2px 8px;border-radius:10px;font-size:11px;font-weight:500;text-transform:capitalize}.stage-badge.investing{background:#5eaab533;color:var(--accent, #5eaab5)}.stage-badge.harvesting{background:#22c55e33;color:var(--success, #22c55e)}.stage-badge.mature{background:#f59e0b33;color:#f59e0b}.stage-badge.tail{background:#9ca3af33;color:#9ca3af}.dim{color:var(--text-muted);font-size:11px}.total-row{border-top:2px solid var(--border);background:var(--bg-secondary)}.timeline-container{display:flex;flex-direction:column;gap:16px}.timeline-row{display:grid;grid-template-columns:200px 1fr 280px;align-items:center;gap:16px;padding:12px 16px;border:1px solid var(--border);border-radius:8px;background:var(--bg-secondary)}.timeline-fund{display:flex;flex-direction:column;gap:6px;justify-content:center}.timeline-fund strong{font-size:13px;line-height:1}.timeline-bar-container{height:24px;background:var(--bg-primary);border-radius:4px;align-self:center;overflow:hidden}.timeline-bar{height:100%;border-radius:4px;transition:width .5s ease}.timeline-details{display:flex;flex-direction:column;gap:2px;font-size:12px;text-align:right}.timeline-value strong{font-size:14px}.timeline-year{color:var(--text-muted);font-style:italic}.fin-amazon-chart-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.fin-amazon-granularity{display:inline-flex;border:1px solid var(--border);border-radius:8px;overflow:hidden}.fin-amazon-gran-btn{background:var(--bg-secondary, transparent);color:var(--text-muted);border:none;padding:6px 16px;font-size:13px;font-weight:500;cursor:pointer;transition:background .15s ease,color .15s ease}.fin-amazon-gran-btn+.fin-amazon-gran-btn{border-left:1px solid var(--border)}.fin-amazon-gran-btn:hover{color:var(--text-primary)}.fin-amazon-gran-btn.active{background:var(--accent, #5eaab5);color:#fff}.fin-amazon-cat-toggles{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 18px}.fin-amazon-chip{display:inline-flex;align-items:center;gap:7px;padding:5px 12px;border-radius:16px;border:1px solid var(--border);background:var(--bg-secondary, transparent);color:var(--text-primary);font-size:13px;font-weight:500;cursor:pointer;transition:opacity .15s ease,background .15s ease}.fin-amazon-chip.off{opacity:.45;color:var(--text-muted)}.fin-amazon-chip:hover{background:var(--bg-primary)}.fin-amazon-chip-dot{width:11px;height:11px;border-radius:50%;border:2px solid;box-sizing:border-box}.fin-amazon-tooltip{background:var(--bg-secondary, #1a1a1a);border:1px solid var(--border);border-radius:8px;padding:10px 12px;font-size:12px;box-shadow:0 4px 16px #00000040;min-width:160px}.fin-amazon-tooltip-label{font-weight:600;margin-bottom:6px;color:var(--text-primary)}.fin-amazon-tooltip-row{display:flex;align-items:center;gap:6px;margin:3px 0}.fin-amazon-tooltip-dot{width:9px;height:9px;border-radius:2px;flex-shrink:0}.fin-amazon-tooltip-name{color:var(--text-muted);flex:1}.fin-amazon-tooltip-val{color:var(--text-primary)}.fin-amazon-tooltip-total{display:flex;justify-content:space-between;gap:12px;margin-top:6px;padding-top:6px;border-top:1px solid var(--border);font-weight:600;color:var(--text-primary)}.fin-amazon-orders-search{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.fin-amazon-orders-search-input{padding:7px 12px;border:1px solid var(--border);border-radius:6px;background:var(--bg-primary);color:var(--text-primary);font-size:13px;min-width:280px}.fin-amazon-orders-search-input:focus{outline:none;border-color:var(--accent)}.fin-amazon-orders-search-btn{padding:7px 14px;border:1px solid var(--accent);border-radius:6px;background:var(--accent);color:#fff;cursor:pointer;font-size:13px;transition:opacity .15s}.fin-amazon-orders-search-btn:hover{opacity:.9}.fin-amazon-orders-table .dim{color:var(--text-muted)}.fin-amazon-orders-row{cursor:pointer;transition:background .12s}.fin-amazon-orders-row:hover,.fin-amazon-orders-row.open{background:var(--bg-primary)}.fin-amazon-orders-row.open td{border-bottom:none}.fin-amazon-orders-caret{color:var(--text-muted);font-size:11px;width:28px;-webkit-user-select:none;user-select:none}.fin-amazon-orders-id .mono{font-size:11px}.fin-amazon-orders-detail-row>td{padding:0 12px 14px;background:var(--bg-primary)}.fin-amazon-orders-detail{border-left:2px solid var(--border);padding:6px 0 6px 14px;margin-left:14px}.fin-amazon-orders-detail-loading,.fin-amazon-orders-detail-error,.fin-amazon-orders-detail-empty{font-size:13px;color:var(--text-muted);padding:12px 0;display:flex;align-items:center;gap:8px}.fin-amazon-orders-detail-error{color:var(--danger, #ef4444)}.fin-amazon-orders-items{width:100%;border-collapse:collapse;margin-top:4px}.fin-amazon-orders-items th{text-align:left;font-size:10px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;padding:6px 10px;border-bottom:1px solid var(--border);white-space:nowrap}.fin-amazon-orders-items th.text-right{text-align:right}.fin-amazon-orders-items td{font-size:12px;color:var(--text-primary);padding:7px 10px;border-bottom:1px solid var(--border)}.fin-amazon-orders-items td.text-right{text-align:right}.fin-amazon-orders-items td.mono{font-family:JetBrains Mono,Fira Code,monospace;font-size:11px}.fin-amazon-orders-items td.dim{color:var(--text-muted)}.fin-amazon-orders-items tr:last-child td{border-bottom:none}.fin-amazon-orders-item-title{max-width:420px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fin-amazon-orders-refunds{margin-top:12px}.fin-amazon-orders-refunds-label{font-size:11px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:4px}.fin-amazon-orders-pager{display:flex;align-items:center;justify-content:flex-end;gap:14px;margin-top:16px}.fin-amazon-orders-pager-info{font-size:13px;color:var(--text-muted)}.fin-amazon-orders-pager .fin-clear-btn:disabled{opacity:.4;cursor:not-allowed}.fin-copilot-summary{grid-template-columns:repeat(5,1fr)}@media (max-width: 1100px){.fin-copilot-summary{grid-template-columns:repeat(2,1fr)}}.fin-copilot-status{display:inline-block;font-size:11px;font-weight:500;padding:2px 8px;border-radius:4px;background:var(--bg-tertiary, var(--bg-secondary));color:var(--text-secondary)}.fin-copilot-status.ok{background:#22c55e1f;color:#22c55e}.fin-copilot-status.login_required{background:#f59e0b24;color:#f59e0b}.fin-copilot-status.error{background:#ef44441f;color:#ef4444}.app-wrapper{display:flex;flex-direction:column;height:100vh;overflow:hidden}.app-wrapper.tauri .app-shell{padding-top:28px;height:100vh}.main-area{flex:1;display:flex;flex-direction:column;overflow:hidden;min-width:0;background:var(--bg-primary)}.toast-notification{animation:slideUp .25s cubic-bezier(.16,1,.3,1)}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}:root{--bg-primary: #F8F9FB;--bg-card: #FFFFFF;--bg-elevated: #F1F3F9;--bg-active: #E4F1F1;--bg-hover: #F0F1F4;--border: #E2E5EB;--border-light: #CDD2DA;--accent: #0D7377;--accent-hover: #0A5F62;--accent-light: #D1F0F0;--accent-muted: rgba(13, 115, 119, .08);--secondary: #14919B;--secondary-hover: #117D86;--purple: #6B5B95;--purple-muted: rgba(107, 91, 149, .1);--orange: #FF6B35;--orange-hover: #E55A2B;--gold: #F5A623;--gold-muted: rgba(245, 166, 35, .12);--text: #111827;--text-secondary: #4B5563;--text-muted: #9CA3AF;--text-on-accent: #FFFFFF;--danger: #EF4444;--danger-hover: #DC2626;--danger-bg: rgba(239, 68, 68, .1);--success: #10B981;--success-bg: rgba(16, 185, 129, .1);--warning: #F59E0B;--warning-bg: rgba(245, 158, 11, .1);--info: #3B82F6;--info-bg: rgba(59, 130, 246, .08);--sidebar-bg: #0F172A;--sidebar-text: #E2E8F0;--sidebar-text-muted: #94A3B8;--sidebar-active: rgba(13, 115, 119, .25);--sidebar-hover: rgba(255, 255, 255, .07);--sidebar-border: rgba(255, 255, 255, .07);--toast-bg: #FFFFFF;--toast-text: #111827;--toast-border: #E2E5EB;--toast-shadow: 0 4px 12px rgba(0, 0, 0, .1);--radius: 8px;--radius-lg: 12px;--radius-xl: 16px;--sidebar-width: 256px;--detail-width: 380px;--transition: .18s ease;--transition-fast: .12s ease;--shadow-xs: 0 1px 2px rgba(0, 0, 0, .04);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .06), 0 1px 2px rgba(0, 0, 0, .04);--shadow-md: 0 4px 8px rgba(0, 0, 0, .06), 0 2px 4px rgba(0, 0, 0, .04);--shadow-lg: 0 10px 24px rgba(0, 0, 0, .08), 0 4px 8px rgba(0, 0, 0, .04);--font-mono: "JetBrains Mono", "Fira Code", "Cascadia Code", monospace;--overlay-bg: rgba(15, 23, 42, .5);--focus-ring: rgba(13, 115, 119, .12);--scrollbar-thumb: rgba(0, 0, 0, .12);--scrollbar-thumb-hover: rgba(0, 0, 0, .2)}[data-theme=dark]{--bg-primary: #1B1B1F;--bg-card: #26262B;--bg-elevated: #2E2E33;--bg-active: #35353B;--bg-hover: #3A3A40;--border: #3A3A42;--border-light: #4A4A52;--accent: #14919B;--accent-hover: #0D7377;--accent-light: rgba(20, 145, 155, .15);--accent-muted: rgba(20, 145, 155, .1);--secondary: #14919B;--secondary-hover: #117D86;--purple: #8B7FB8;--purple-muted: rgba(139, 127, 184, .15);--orange: #FF8C5A;--orange-hover: #FF6B35;--gold: #F5B84A;--gold-muted: rgba(245, 184, 74, .15);--text: #E8E8ED;--text-secondary: #A0A0AB;--text-muted: #6B6B76;--text-on-accent: #FFFFFF;--danger: #F87171;--danger-hover: #EF4444;--danger-bg: rgba(248, 113, 113, .12);--success: #34D399;--success-bg: rgba(52, 211, 153, .12);--warning: #FBBF24;--warning-bg: rgba(251, 191, 36, .12);--info: #60A5FA;--info-bg: rgba(96, 165, 250, .1);--sidebar-bg: #18181C;--sidebar-text: #E8E8ED;--sidebar-text-muted: #6B6B76;--sidebar-active: rgba(20, 145, 155, .2);--sidebar-hover: rgba(255, 255, 255, .06);--sidebar-border: rgba(255, 255, 255, .06);--toast-bg: #2E2E33;--toast-text: #E8E8ED;--toast-border: #3A3A42;--toast-shadow: 0 4px 12px rgba(0, 0, 0, .3);--shadow-xs: 0 1px 2px rgba(0, 0, 0, .12);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .16), 0 1px 2px rgba(0, 0, 0, .12);--shadow-md: 0 4px 8px rgba(0, 0, 0, .18), 0 2px 4px rgba(0, 0, 0, .12);--shadow-lg: 0 10px 24px rgba(0, 0, 0, .24), 0 4px 8px rgba(0, 0, 0, .16);--overlay-bg: rgba(0, 0, 0, .6);--focus-ring: rgba(20, 145, 155, .2);--scrollbar-thumb: rgba(255, 255, 255, .12);--scrollbar-thumb-hover: rgba(255, 255, 255, .2)}html,body{height:100%;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif;background:var(--bg-primary);color:var(--text);font-size:14px;line-height:1.6;font-weight:400;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}::selection{background:var(--focus-ring);color:var(--text)}#root{height:100%}a{color:var(--accent);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--accent-hover)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover)}.app-shell{display:flex;height:100vh;flex:1;overflow:hidden}.sidebar{width:var(--sidebar-width);min-width:var(--sidebar-width);background:var(--sidebar-bg);border-right:1px solid var(--sidebar-border);display:flex;flex-direction:column;transition:width var(--transition),min-width var(--transition);overflow:hidden}.sidebar.collapsed{width:56px;min-width:56px}.sidebar-header{padding:18px 16px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--sidebar-border);min-height:58px}.sidebar-header .logo{font-size:17px;font-weight:700;letter-spacing:.8px;color:var(--sidebar-text);white-space:nowrap;text-transform:uppercase;display:inline-flex;align-items:center;gap:8px}.sidebar-header .logo-icon{width:22px;height:22px;object-fit:contain;flex-shrink:0}.sidebar.collapsed .logo{display:none}.sidebar-toggle{background:none;border:none;color:var(--sidebar-text-muted);cursor:pointer;padding:6px;border-radius:6px;display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast)}.sidebar-toggle:hover{background:var(--sidebar-hover);color:var(--sidebar-text)}.sidebar-nav{flex:1;overflow-y:auto;padding:8px}.nav-section{margin-bottom:4px}.nav-section-title{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.8px;color:var(--sidebar-text-muted);padding:12px 10px 6px;white-space:nowrap}.sidebar.collapsed .nav-section-title{display:none}.nav-item{display:flex;align-items:center;gap:12px;padding:0 10px;height:36px;border-radius:6px;color:var(--sidebar-text-muted);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;text-decoration:none;font-size:13px;font-weight:450;position:relative}.nav-item:hover{background:var(--sidebar-hover);color:var(--sidebar-text)}.nav-item.active{background:var(--sidebar-active);color:var(--sidebar-text);font-weight:550}.nav-item.active:before{content:"";position:absolute;left:0;top:8px;bottom:8px;width:3px;border-radius:0 3px 3px 0;background:var(--accent)}.nav-item .nav-icon{width:16px;height:16px;flex-shrink:0;display:flex;align-items:center;justify-content:center}.nav-item .nav-label{overflow:hidden;text-overflow:ellipsis}.sidebar.collapsed .nav-label{display:none}.nav-expandable{cursor:pointer;-webkit-user-select:none;user-select:none}.nav-expandable .nav-chevron{margin-left:auto;display:flex;align-items:center;transition:transform .15s ease;color:var(--sidebar-text-muted)}.nav-expandable .nav-chevron.expanded{transform:rotate(90deg)}.sidebar.collapsed .nav-chevron{display:none}.nav-sub-section{display:flex;flex-direction:column}.nav-sub-item{padding-left:36px!important;font-size:12.5px!important;height:30px;min-height:30px}.nav-sub-item .nav-sub-icon{width:14px;height:14px}.nav-sub-item .nav-sub-icon svg{width:14px;height:14px}.nav-sub-nested .nav-nested-item{padding-left:50px!important;font-size:12px!important;height:28px;min-height:28px}.nav-divider{height:1px;background:var(--sidebar-border);margin:6px 10px;opacity:.5}.sidebar-bottom{margin-top:auto;padding-bottom:4px}.sidebar-user{padding:10px 12px;border-top:1px solid var(--sidebar-border);display:flex;align-items:center;gap:10px}.sidebar-theme-toggle,.sidebar-logout-btn{background:none;border:none;cursor:pointer;padding:4px;border-radius:4px;color:var(--sidebar-text-muted);display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast)}.sidebar-theme-toggle:hover,.sidebar-logout-btn:hover{background:var(--sidebar-hover);color:var(--sidebar-text)}.sidebar-footer{padding:12px 16px;border-top:1px solid var(--sidebar-border)}.main-area{flex:1;display:flex;flex-direction:column;overflow:hidden;min-width:0}.page-header{padding:28px 36px 0;flex-shrink:0}.page-header h1{font-size:26px;font-weight:700;color:var(--text);margin-bottom:4px;letter-spacing:-.025em;line-height:1.2}.page-header .page-subtitle{font-size:14px;color:var(--text-muted);font-weight:400}.page-header-row{display:flex;align-items:center;justify-content:space-between;gap:16px}.page-content{flex:1;overflow-y:auto;padding:24px 36px 36px}.detail-panel{width:var(--detail-width);min-width:var(--detail-width);background:var(--bg-card);border-left:1px solid var(--border);display:flex;flex-direction:column;overflow:hidden;transition:width var(--transition),min-width var(--transition)}.detail-panel.hidden{width:0;min-width:0;border:none}.detail-panel-header{padding:14px 16px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;min-height:56px}.detail-panel-header h3{font-size:14px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;flex:1}.detail-panel-body{flex:1;overflow-y:auto;padding:16px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:8px 16px;border-radius:var(--radius);font-size:13px;font-weight:500;border:1px solid transparent;cursor:pointer;transition:all var(--transition);white-space:nowrap;font-family:inherit;line-height:1.4}.btn:disabled{opacity:.5;cursor:not-allowed}.btn:hover:not(:disabled){transform:translateY(-1px)}.btn:active:not(:disabled){transform:translateY(0)}.btn-primary{background:var(--accent);color:var(--text-on-accent);border-color:var(--accent);box-shadow:0 1px 3px #0d737740}.btn-primary:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover);box-shadow:0 3px 8px var(--focus-ring)}.btn-cta{background:var(--orange);color:var(--text-on-accent);border-color:var(--orange);box-shadow:0 1px 3px #ff6b3540}.btn-cta:hover:not(:disabled){background:var(--orange-hover);border-color:var(--orange-hover);box-shadow:0 3px 8px #ff6b354d}.btn-secondary{background:var(--bg-card);color:var(--accent);border-color:var(--border)}.btn-secondary:hover:not(:disabled){background:var(--bg-elevated);border-color:var(--accent);color:var(--accent-hover)}.btn-ghost{background:transparent;color:var(--text-secondary)}.btn-ghost:hover:not(:disabled){background:var(--bg-elevated);color:var(--text)}.btn-danger{background:transparent;color:var(--danger);border-color:#ef44444d}.btn-danger:hover:not(:disabled){background:var(--danger);color:var(--text-on-accent);border-color:var(--danger);box-shadow:0 2px 6px #ef444440}.btn-sm{padding:5px 11px;font-size:12px;border-radius:6px}.btn-icon{padding:6px;width:32px;height:32px}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:20px;box-shadow:var(--shadow-xs);transition:border-color var(--transition),box-shadow var(--transition),transform var(--transition)}.card:hover{border-color:var(--border-light);box-shadow:var(--shadow-sm)}.card-clickable{cursor:pointer}.card-clickable:hover{border-color:var(--accent);box-shadow:var(--shadow-md);transform:translateY(-1px)}.input{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:9px 12px;font-size:13px;color:var(--text);width:100%;font-family:inherit;transition:border-color var(--transition),box-shadow var(--transition)}.input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--focus-ring)}.input::placeholder{color:var(--text-muted)}textarea.input{resize:vertical;min-height:80px}select.input{cursor:pointer}select,.object-filter-bar select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--bg-elevated);color:var(--text);border:1px solid var(--border);border-radius:6px;padding:6px 28px 6px 10px;font-size:13px;font-family:inherit;line-height:1.4;height:32px;cursor:pointer;outline:none;transition:border-color var(--transition-fast),box-shadow var(--transition-fast);background-image:url("data:image/svg+xml,%3Csvg width='10' height='6' viewBox='0 0 10 6' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%239CA3AF' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;background-size:10px 6px}[data-theme=dark] select,[data-theme=dark] .object-filter-bar select{background-image:url("data:image/svg+xml,%3Csvg width='10' height='6' viewBox='0 0 10 6' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%23A0A0AB' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}select:hover,.object-filter-bar select:hover{border-color:var(--border-light)}select:focus,.object-filter-bar select:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px var(--focus-ring)}select option,.object-filter-bar select option{background:var(--bg-card);color:var(--text)}.form-group{margin-bottom:16px}.form-label{display:block;font-size:12px;font-weight:600;color:var(--text-secondary);margin-bottom:6px;text-transform:uppercase;letter-spacing:.4px}.badge{display:inline-flex;align-items:center;padding:2px 10px;border-radius:9999px;font-size:11px;font-weight:600;letter-spacing:.02em}.badge-accent{background:var(--accent-muted);color:var(--accent)}.badge-purple{background:var(--purple-muted);color:var(--purple)}.badge-success{background:var(--success-bg);color:var(--success)}.badge-danger{background:var(--danger-bg);color:var(--danger)}.badge-warning{background:var(--warning-bg);color:var(--warning)}.badge-gold{background:var(--gold-muted);color:var(--gold)}.badge-muted{background:var(--bg-elevated);color:var(--text-muted)}.tabs{display:flex;gap:0;border-bottom:2px solid var(--border);margin-bottom:20px}.tab{padding:10px 18px;font-size:13px;font-weight:500;color:var(--text-muted);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-2px;transition:all var(--transition);background:none;border-top:none;border-left:none;border-right:none;font-family:inherit}.tab:hover{color:var(--text-secondary)}.tab.active{color:var(--accent);border-bottom-color:var(--accent);font-weight:600}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--overlay-bg);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease}.modal{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-xl);padding:28px;width:90%;max-width:480px;max-height:80vh;overflow-y:auto;box-shadow:var(--shadow-lg),0 0 0 1px #0000000a;animation:slideUp .25s cubic-bezier(.16,1,.3,1)}.modal h2{font-size:18px;font-weight:700;margin-bottom:16px;color:var(--text);letter-spacing:-.01em}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:24px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(16px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.table-wrap{overflow-x:auto;border-radius:var(--radius-lg);border:1px solid var(--border)}table{width:100%;border-collapse:collapse}th{text-align:left;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);padding:10px 14px;border-bottom:1px solid var(--border);background:var(--bg-elevated)}td{padding:11px 14px;border-bottom:1px solid var(--border);font-size:13px;color:var(--text-secondary)}tr:last-child td{border-bottom:none}tr:hover td,tr.selected td{background:var(--bg-active)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:56px 16px;color:var(--text-muted);text-align:center;gap:12px}.empty-state .empty-icon{font-size:40px;opacity:.35}.empty-state h3{font-size:16px;font-weight:600;color:var(--text-secondary)}.empty-state p{font-size:13px;max-width:320px;line-height:1.6}.spinner{display:inline-block;width:20px;height:20px;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.loading-center{display:flex;align-items:center;justify-content:center;padding:48px;gap:12px;color:var(--text-muted);font-size:14px}.grid{display:grid;gap:16px}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}.grid-auto{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.toggle{position:relative;display:inline-block;width:36px;height:20px;cursor:pointer}.toggle input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--border-light);border-radius:10px;transition:all var(--transition)}.toggle-slider:before{content:"";position:absolute;width:16px;height:16px;left:2px;top:2px;background:var(--bg-card);border-radius:50%;transition:all var(--transition);box-shadow:0 1px 3px #0000001f}.toggle input:checked+.toggle-slider{background:var(--accent)}.toggle input:checked+.toggle-slider:before{transform:translate(16px)}.chip{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;background:var(--bg-elevated);border:1px solid var(--border);border-radius:16px;font-size:12px;color:var(--text-secondary);transition:all var(--transition-fast)}.chip-remove{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:0 0 0 2px;font-size:14px;line-height:1;transition:color var(--transition-fast)}.chip-remove:hover,.source-slack{color:var(--danger)}.source-clarify{color:var(--purple)}.source-gdrive{color:var(--warning)}.source-webhook{color:var(--secondary)}.search-bar{position:relative}.search-bar .search-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--text-muted);font-size:14px;pointer-events:none}.search-bar .input{padding-left:34px}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-2{gap:8px}.gap-3{gap:12px}.gap-4{gap:16px}.mt-2{margin-top:8px}.mt-4{margin-top:16px}.mb-4{margin-bottom:16px}.text-sm{font-size:13px}.text-xs{font-size:12px}.text-muted{color:var(--text-muted)}.text-secondary{color:var(--text-secondary)}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.w-full{width:100%}.assistant-message-content h1,.assistant-message-content h2,.assistant-message-content h3{margin-top:12px;margin-bottom:6px;color:var(--text)}.assistant-message-content h1{font-size:18px}.assistant-message-content h2{font-size:16px}.assistant-message-content h3{font-size:14px;font-weight:600}.assistant-message-content p{margin:6px 0}.assistant-message-content p:first-child{margin-top:0}.assistant-message-content p:last-child{margin-bottom:0}.assistant-message-content ul,.assistant-message-content ol{margin:6px 0;padding-left:20px}.assistant-message-content li{margin:3px 0}.assistant-message-content strong{font-weight:600}.assistant-message-content a{color:var(--secondary);text-decoration:underline}.assistant-message-content code{background:var(--bg-elevated);padding:2px 5px;border-radius:4px;font-size:12px;font-family:var(--font-mono)}.assistant-message-content pre{background:var(--bg-elevated);padding:14px;border-radius:var(--radius);border:1px solid var(--border);overflow-x:auto;margin:8px 0}.assistant-message-content pre code{background:none;padding:0;border-radius:0;font-size:12px}.assistant-message-content blockquote{border-left:3px solid var(--accent);padding-left:12px;color:var(--text-secondary);margin:8px 0}.assistant-message-content hr{border:none;border-top:1px solid var(--border);margin:12px 0}.assistant-message-content table{border-collapse:collapse;margin:8px 0;font-size:12px;width:100%}.assistant-message-content th,.assistant-message-content td{border:1px solid var(--border);padding:4px 8px;text-align:left}.assistant-message-content th{background:var(--bg-elevated);font-weight:600}.object-layout{display:flex;flex-direction:column;height:100%;overflow:hidden}.object-layout-top{flex-shrink:0;border-bottom:1px solid var(--border);background:var(--bg-card)}.object-layout-header{padding:14px 20px 0}.object-layout-title{font-size:16px;font-weight:600;color:var(--text);margin:0;letter-spacing:-.01em}.object-layout-body{flex:1;display:flex;overflow:hidden;min-height:0}.object-layout-table{flex:1;overflow:auto;min-width:0}.object-stats-bar{padding:12px 20px}.object-stats-row{display:flex;gap:10px;flex-wrap:wrap}.object-stat-card{padding:8px 14px;background:var(--bg-primary);border:1px solid var(--border);border-radius:8px;min-width:100px}.object-stat-label{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);margin-bottom:2px}.object-stat-value{font-size:18px;font-weight:700;color:var(--text);display:flex;align-items:center;gap:6px}.object-stat-icon{font-size:14px;color:var(--text-muted)}.object-stat-label-skeleton{height:10px;width:50px;border-radius:3px;background:var(--bg-elevated);margin-bottom:6px;animation:pulse 1.5s ease-in-out infinite}.object-stat-value-skeleton{height:18px;width:70px;border-radius:4px;background:var(--bg-elevated);animation:pulse 1.5s ease-in-out infinite}.object-stats-sources{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}.object-source-pill{display:inline-flex;align-items:center;padding:2px 10px;border-radius:9999px;font-size:11px;font-weight:500;background:var(--bg-elevated);color:var(--text-secondary);border:1px solid var(--border)}.object-filter-bar{padding:10px 16px 8px;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:6px}.ofb-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.ofb-input{height:32px;font-size:13px;font-family:inherit;background:var(--bg-elevated);color:var(--text);border:1px solid var(--border);border-radius:6px;outline:none;transition:border-color var(--transition-fast),box-shadow var(--transition-fast);box-sizing:border-box}.ofb-input:hover{border-color:var(--border-light)}.ofb-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--focus-ring)}.ofb-input::placeholder{color:var(--text-muted)}.ofb-search{position:relative;flex:1;min-width:200px;max-width:360px}.ofb-search-icon{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:var(--text-muted);pointer-events:none}.ofb-search-input{width:100%;padding:0 12px 0 32px}.ofb-date-input{width:130px;padding:0 8px;-webkit-appearance:none;-moz-appearance:none;appearance:none;color-scheme:dark}.ofb-date-input::-webkit-date-and-time-value{text-align:left}.ofb-date-empty{color:var(--text-muted)}.ofb-date-empty::-webkit-datetime-edit-fields-wrapper{color:var(--text-muted)}.ofb-date-empty::-webkit-datetime-edit-text,.ofb-date-empty::-webkit-datetime-edit-month-field,.ofb-date-empty::-webkit-datetime-edit-day-field,.ofb-date-empty::-webkit-datetime-edit-year-field{color:var(--text-muted)}[data-theme=dark] .ofb-date-input{color-scheme:dark}.ofb-date-input::-webkit-calendar-picker-indicator{opacity:.5;cursor:pointer;filter:invert(.7)}.ofb-date-input::-webkit-calendar-picker-indicator:hover{opacity:.8}.ofb-date-separator{font-size:11px;color:var(--text-muted);flex-shrink:0;margin:0 -2px}.ofb-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:0 28px 0 10px;cursor:pointer;min-width:100px;background-image:url("data:image/svg+xml,%3Csvg width='10' height='6' viewBox='0 0 10 6' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%239CA3AF' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;background-size:10px 6px}[data-theme=dark] .ofb-select{background-image:url("data:image/svg+xml,%3Csvg width='10' height='6' viewBox='0 0 10 6' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%23A0A0AB' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}.ofb-select option{background:var(--bg-card);color:var(--text)}.ofb-sort{display:flex;align-items:center;gap:4px;margin-left:auto}.ofb-sort-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid var(--border);border-radius:6px;background:var(--bg-elevated);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast)}.ofb-sort-btn:hover{border-color:var(--accent);color:var(--accent)}.ofb-count{font-size:12px;color:var(--text-muted);white-space:nowrap;margin-left:auto}.ofb-sort~.ofb-count{margin-left:0}.ofb-clear{font-size:12px;color:var(--accent);background:none;border:none;cursor:pointer;padding:0;font-family:inherit;font-weight:500;white-space:nowrap}.ofb-clear:hover{color:var(--accent-hover);text-decoration:underline}.ofb-presets{display:flex;gap:4px;padding-top:2px}.ofb-preset{padding:2px 10px;font-size:11px;font-weight:500;border:1px solid var(--border);border-radius:9999px;background:var(--bg-elevated);color:var(--text-secondary);cursor:pointer;font-family:inherit;transition:all var(--transition-fast);line-height:1.4}.ofb-preset:hover{border-color:var(--accent);color:var(--accent)}.ofb-preset--active{border-color:var(--accent);background:var(--accent);color:#fff}.ofb-preset--active:hover{opacity:.85;border-color:var(--accent);color:#fff}.ofb-multi-select{position:relative}.ofb-multi-select-dropdown{position:absolute;top:100%;left:0;margin-top:4px;min-width:180px;max-height:200px;overflow-y:auto;background:var(--bg-card);border:1px solid var(--border);border-radius:8px;box-shadow:var(--shadow-md);z-index:20;padding:4px}.ofb-multi-select-option{display:flex;align-items:center;gap:8px;padding:6px 8px;font-size:12px;color:var(--text);border-radius:4px;cursor:pointer;transition:background var(--transition-fast)}.ofb-multi-select-option:hover{background:var(--bg-hover)}.ofb-multi-select-option input[type=checkbox]{accent-color:var(--accent)}.object-detail-panel{background:var(--bg-card);border-left:1px solid var(--border);display:flex;flex-direction:column;overflow:hidden;flex-shrink:0;transition:width .18s ease,min-width .18s ease,opacity .15s ease}.object-detail-panel-open{width:var(--panel-width, 400px);min-width:var(--panel-width, 400px);opacity:1}.object-detail-panel-closed{width:0;min-width:0;border-left:none;opacity:0;pointer-events:none}.object-detail-header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--border);min-height:52px;flex-shrink:0}.object-detail-header-left{display:flex;align-items:center;gap:10px;min-width:0}.object-detail-title{font-size:14px;font-weight:600;color:var(--text);margin:0;white-space:nowrap}.object-detail-subtitle{display:inline-block;padding:2px 8px;border-radius:4px;font-size:10px;font-weight:600;text-transform:uppercase;background:var(--accent-muted);color:var(--accent)}.object-detail-header-actions{display:flex;align-items:center;gap:6px;flex-shrink:0}.object-detail-pin{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;font-size:11px;font-weight:500;border:1px solid var(--border);border-radius:4px;background:none;color:var(--text-muted);cursor:pointer;font-family:inherit;transition:all var(--transition-fast)}.object-detail-pin:hover,.object-detail-pin-active{border-color:var(--accent);color:var(--accent)}.object-detail-close{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;background:none;color:var(--text-muted);cursor:pointer;border-radius:4px;transition:all var(--transition-fast)}.object-detail-close:hover{background:var(--bg-elevated);color:var(--text)}.object-detail-content{flex:1;overflow-y:auto;padding:12px 16px}.object-detail-field{margin-bottom:12px}.object-detail-field-label{font-size:11px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:0}.object-detail-field-value{font-size:13px;color:var(--text);line-height:1.5;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;word-break:normal}.object-detail-field-value-long{white-space:pre-wrap;overflow:visible;text-overflow:unset;word-break:break-word}.copyable-field{display:inline-flex;align-items:center;gap:6px;background:var(--bg-elevated);border:1px solid var(--border);border-radius:20px;padding:6px 12px;max-width:100%;overflow:hidden}.copyable-field-text{font-size:13px;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.copyable-field-btn{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:22px;height:22px;border:none;background:none;color:var(--text-muted);cursor:pointer;border-radius:4px;padding:0;transition:all var(--transition-fast)}.copyable-field-btn:hover{background:var(--bg-hover);color:var(--text)}.copyable-field-btn svg{width:14px;height:14px}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}
