/* .FitFix ToolBox (c) 2026 Václav Koucký (Ve-Ka-AI). All rights reserved. */
@import "../../shared/design-tokens.css";*,*::before,*::after{box-sizing: border-box}html,body{height: 100vh;margin: 0;padding: 0;overflow: hidden;display: flex;flex-direction: column;background: var(--bg-dark,#090d16);color: var(--text-main,#f8fafc);font-family: var(--font-family,"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif);-webkit-font-smoothing: antialiased}.inspector-shell{height: 100vh;width: 100vw;display: flex;flex-direction: column;overflow: hidden}.inspector-header{height: 64px;min-height: 64px;max-height: 64px;display: flex;align-items: center;justify-content: space-between;padding: 0 1.25rem;background: rgba(15,23,42,0.92);border-bottom: 1px solid var(--card-border,rgba(255,255,255,0.08));backdrop-filter: blur(16px);-webkit-backdrop-filter: blur(16px);z-index: 100;position: relative}.fitfix-header-left{flex: 0 0 160px;display: flex;align-items: center}.hub-link{display: inline-flex;align-items: center;gap: 6px;color: var(--text-muted,#94a3b8);text-decoration: none;font-size: 0.84rem;font-weight: 600;padding: 6px 12px;border-radius: var(--radius-sm,8px);background: rgba(255,255,255,0.04);border: 1px solid rgba(255,255,255,0.08);cursor: pointer;transition: all 0.2s ease}.hub-link:hover{color: var(--primary,#38bdf8);border-color: rgba(56,189,248,0.35);background: rgba(56,189,248,0.08)}.fitfix-header-center{flex: 1;display: flex;flex-direction: column;align-items: center;justify-content: center;text-align: center}.app-title-row{display: flex;align-items: center;gap: 8px}.app-icon-badge{font-size: 1.25rem;line-height: 1}.app-title{margin: 0;font-family: var(--font-heading,"Outfit",sans-serif);font-size: 1.15rem;font-weight: 800;letter-spacing: -0.01em;color: var(--text-main,#f8fafc)}.app-subtitle{margin: 2px 0 0 0;font-size: 0.74rem;color: var(--text-muted,#94a3b8)}.fitfix-header-right{flex: 0 0 160px;display: flex;align-items: center;justify-content: flex-end;gap: 8px}.btn-icon-glass{background: rgba(255,255,255,0.05);border: 1px solid rgba(255,255,255,0.12);color: var(--text-main,#f8fafc);padding: 6px 10px;border-radius: var(--radius-sm,8px);font-size: 0.9rem;cursor: pointer;transition: all 0.2s ease}.btn-icon-glass:hover{background: rgba(255,255,255,0.12);border-color: var(--primary,#38bdf8)}.lang-switcher{display: flex;border: 1px solid rgba(255,255,255,0.12);border-radius: var(--radius-sm,8px);overflow: hidden;background: rgba(15,23,42,0.6)}.lang-btn{background: transparent;border: none;color: var(--text-muted,#94a3b8);padding: 5px 9px;font-size: 0.74rem;font-weight: 700;cursor: pointer;transition: all 0.2s ease}.lang-btn.active{background: var(--primary,#38bdf8);color: #04070f}.fit-workspace{display: flex;height: calc(100vh - 64px);overflow: hidden;width: 100vw}.inspector-sidebar{width: 380px;min-width: 380px;max-width: 380px;height: 100%;padding: 14px;overflow-y: auto;background: rgba(15,23,42,0.78);border-right: 1px solid var(--card-border,rgba(255,255,255,0.08));display: flex;flex-direction: column;gap: 10px;backdrop-filter: blur(12px);-webkit-backdrop-filter: blur(12px);flex-shrink: 0}.inspector-sidebar::-webkit-scrollbar{width: 6px}.inspector-sidebar::-webkit-scrollbar-thumb{background: rgba(255,255,255,0.15);border-radius: 3px}.sidebar-card{background: rgba(15,23,42,0.65);border: 1px solid var(--card-border,rgba(255,255,255,0.08));border-radius: var(--radius-sm,8px);padding: 10px 12px;display: flex;flex-direction: column;gap: 8px}.card-header{display: flex;align-items: center;justify-content: space-between;gap: 8px}.card-header h3{margin: 0;font-size: 0.88rem;font-weight: 700;color: var(--text-main,#f8fafc);display: flex;align-items: center;gap: 6px}.card-header-compact{display: flex;align-items: center;justify-content: space-between;gap: 6px}.control-label{font-size: 0.74rem;font-weight: 700;color: var(--text-muted,#94a3b8);text-transform: uppercase;letter-spacing: 0.04em}.btn-clean-danger{display: inline-flex;align-items: center;gap: 5px;background: rgba(239,68,68,0.15);border: 1px solid rgba(239,68,68,0.35);color: var(--color-danger,#ef4444);font-size: 0.75rem;font-weight: 600;padding: 4px 10px;border-radius: var(--radius-sm,8px);cursor: pointer;transition: all 0.2s ease;backdrop-filter: blur(8px);-webkit-backdrop-filter: blur(8px)}.btn-clean-danger:hover{background: rgba(239,68,68,0.28);border-color: rgba(239,68,68,0.6);color: #fca5a5;box-shadow: 0 0 12px rgba(239,68,68,0.25);transform: translateY(-1px)}.dropzone-box{background: rgba(15,23,42,0.5);border: 2px dashed rgba(56,189,248,0.35);border-radius: var(--radius-sm,8px);padding: 14px 10px;text-align: center;cursor: pointer;transition: all 0.2s ease;position: relative}.dropzone-box:hover,.dropzone-box.drag-over{border-color: var(--primary,#38bdf8);background: rgba(56,189,248,0.08);box-shadow: 0 0 16px rgba(56,189,248,0.2)}.dropzone-inner{display: flex;flex-direction: column;align-items: center;gap: 4px}.dropzone-inner .dropzone-icon{font-size: 1.8rem;line-height: 1}.dropzone-inner h4{margin: 2px 0 0 0;font-size: 0.88rem;font-weight: 700;color: var(--text-main,#f8fafc)}.dropzone-inner p{margin: 0;font-size: 0.72rem;color: var(--text-muted,#94a3b8)}.dropzone-btns{display: flex;align-items: center;gap: 6px;margin-top: 6px}.btn-drop-action{display: inline-flex;align-items: center;gap: 5px;background: var(--primary,#38bdf8);color: #04070f;font-size: 0.75rem;font-weight: 700;padding: 5px 10px;border-radius: 6px;border: none;cursor: pointer;transition: all 0.2s ease}.btn-drop-action:hover{background: #7dd3fc;box-shadow: 0 0 10px rgba(56,189,248,0.35)}.btn-drop-action.secondary{background: rgba(255,255,255,0.08);border: 1px solid rgba(255,255,255,0.15);color: var(--text-main,#f8fafc)}.btn-drop-action.secondary:hover{background: rgba(255,255,255,0.15);color: #ffffff}.dropzone-progress{display: flex;align-items: center;justify-content: center;gap: 8px;font-size: 0.78rem;font-weight: 600;color: var(--primary,#38bdf8);padding: 8px 0}.spinner{width: 16px;height: 16px;border: 2px solid rgba(56,189,248,0.25);border-top-color: var(--primary,#38bdf8);border-radius: 50%;animation: spin 0.7s linear infinite}@keyframes spin{to{transform: rotate(360deg)}}.view-switch-tabs{display: flex;gap: 6px;background: rgba(0,0,0,0.35);padding: 4px;border-radius: 8px;border: 1px solid rgba(255,255,255,0.08)}.view-tab-btn{flex: 1;padding: 7px 10px;font-size: 0.76rem;font-weight: 700;border: 1px solid transparent;border-radius: 6px;background: transparent;color: var(--text-muted,#94a3b8);cursor: pointer;transition: all 0.2s ease;display: flex;align-items: center;justify-content: center;gap: 6px;text-align: center}.view-tab-btn:hover{color: var(--text-main,#f8fafc)}.view-tab-btn.active{background: rgba(56,189,248,0.2);color: #38bdf8;border-color: rgba(56,189,248,0.4);box-shadow: 0 0 10px rgba(56,189,248,0.2)}.mode-switch-group{display: flex;background: rgba(0,0,0,0.3);padding: 3px;border-radius: 6px;border: 1px solid rgba(255,255,255,0.08);gap: 2px}.mode-btn{flex: 1;background: transparent;border: none;color: var(--text-muted,#94a3b8);font-size: 0.72rem;font-weight: 600;padding: 5px 6px;border-radius: 5px;cursor: pointer;transition: all 0.15s ease;text-align: center}.mode-btn:hover{color: var(--text-main,#f8fafc)}.mode-btn.active{background: var(--primary,#38bdf8);color: #04070f;font-weight: 700}.custom-select{width: 100%;background: rgba(15,23,42,0.85);border: 1px solid rgba(255,255,255,0.15);color: var(--text-main,#f8fafc);font-size: 0.78rem;padding: 6px 10px;border-radius: 6px;outline: none;cursor: pointer}.custom-select:focus{border-color: var(--primary,#38bdf8)}.btn-text-action{background: transparent;border: none;color: var(--primary,#38bdf8);font-size: 0.72rem;font-weight: 600;cursor: pointer;padding: 2px 4px;display: inline-flex;align-items: center;gap: 4px}.btn-text-action:hover{text-decoration: underline}.state-pills-group{display: flex;align-items: center;flex-wrap: wrap;gap: 4px}.state-pill{background: rgba(255,255,255,0.04);border: 1px solid rgba(255,255,255,0.09);color: var(--text-muted,#94a3b8);font-size: 0.7rem;font-weight: 600;padding: 3px 8px;border-radius: 9999px;cursor: pointer;transition: all 0.15s ease}.state-pill:hover{border-color: rgba(255,255,255,0.25);color: var(--text-main,#f8fafc)}.state-pill.active{background: rgba(255,255,255,0.15);border-color: rgba(255,255,255,0.35);color: #ffffff}.state-pill.pill-engineered.active{background: rgba(56,189,248,0.2);border-color: rgba(56,189,248,0.5);color: #38bdf8}.state-pill.pill-passthrough.active{background: rgba(59,130,246,0.2);border-color: rgba(59,130,246,0.5);color: #60a5fa}.state-pill.pill-dropped.active{background: rgba(148,163,184,0.2);border-color: rgba(148,163,184,0.5);color: #94a3b8}.state-pill.pill-unknown.active{background: rgba(245,158,11,0.25);border-color: rgba(245,158,11,0.5);color: #fbbf24}.search-box-group{position: relative;display: flex;align-items: center;width: 100%}.search-icon{position: absolute;left: 10px;color: var(--text-muted,#94a3b8);font-size: 0.76rem;pointer-events: none}.search-box-group input{width: 100%;background: rgba(15,23,42,0.85);border: 1px solid rgba(255,255,255,0.12);border-radius: 6px;padding: 6px 26px 6px 28px;color: var(--text-main,#f8fafc);font-size: 0.78rem;outline: none;transition: all 0.2s ease}.search-box-group input:focus{border-color: var(--primary,#38bdf8);box-shadow: 0 0 10px rgba(56,189,248,0.2)}.btn-clear-search{position: absolute;right: 6px;background: none;border: none;color: var(--text-muted,#94a3b8);font-size: 0.95rem;cursor: pointer;padding: 0 4px}.btn-clear-search:hover{color: #ffffff}.summary-meta-grid{display: grid;grid-template-columns: 1fr 1fr;gap: 8px}.meta-item{display: flex;flex-direction: column;gap: 1px}.meta-label{font-size: 0.65rem;text-transform: uppercase;letter-spacing: 0.05em;color: var(--text-muted,#94a3b8);font-weight: 700}.meta-value{font-size: 0.78rem;font-weight: 600;color: var(--text-main,#f8fafc);word-break: break-all}.meta-value.highlight{color: var(--primary,#38bdf8);font-weight: 700}.meta-value.numeric{font-family: "JetBrains Mono",monospace}.meta-badge{display: inline-flex;align-items: center;font-size: 0.68rem;font-weight: 700;padding: 1px 6px;border-radius: 4px;background: rgba(56,189,248,0.15);color: var(--primary,#38bdf8);border: 1px solid rgba(56,189,248,0.35);width: fit-content}.btn-action-primary{width: 100%;display: inline-flex;align-items: center;justify-content: center;gap: 6px;background: rgba(56,189,248,0.15);border: 1px solid rgba(56,189,248,0.35);color: var(--primary,#38bdf8);font-size: 0.75rem;font-weight: 600;padding: 7px 10px;border-radius: var(--radius-sm,8px);cursor: pointer;transition: all 0.2s ease}.btn-action-primary:hover{background: rgba(56,189,248,0.28);border-color: rgba(56,189,248,0.6);color: #ffffff;box-shadow: 0 0 12px rgba(56,189,248,0.25)}.inspector-content-area{flex: 1;height: 100%;padding: 14px 16px;overflow-y: auto;display: flex;flex-direction: column;background: rgba(9,13,22,0.92)}.inspector-content-area::-webkit-scrollbar{width: 8px;height: 8px}.inspector-content-area::-webkit-scrollbar-track{background: rgba(15,23,42,0.5)}.inspector-content-area::-webkit-scrollbar-thumb{background: rgba(255,255,255,0.15);border-radius: 4px}.content-container{flex: 1;display: flex;flex-direction: column;min-height: 0}.file-empty-state{flex: 1;display: flex;flex-direction: column;align-items: center;justify-content: center;text-align: center;padding: 3rem 1.5rem;gap: 12px}.file-empty-state .empty-icon{font-size: 3rem;opacity: 0.6}.file-empty-state h3{margin: 0;font-size: 1.15rem;color: var(--text-main,#f8fafc)}.file-empty-state p{margin: 0;font-size: 0.84rem;color: var(--text-muted,#94a3b8);max-width: 480px}.btn-switch-to-comparison{margin-top: 8px;display: inline-flex;align-items: center;gap: 6px;padding: 8px 16px;border-radius: 8px;border: 1px solid rgba(56,189,248,0.4);background: rgba(56,189,248,0.15);color: #38bdf8;font-size: 0.82rem;font-weight: 700;cursor: pointer;transition: all 0.2s ease}.btn-switch-to-comparison:hover{background: rgba(56,189,248,0.25);border-color: #38bdf8;box-shadow: 0 0 14px rgba(56,189,248,0.3)}.table-card{flex: 1;overflow-y: auto;overflow-x: auto;background: rgba(11,17,33,0.75);border: 1px solid var(--card-border,rgba(255,255,255,0.08));border-radius: var(--radius-sm,8px);position: relative}.table-card::-webkit-scrollbar{width: 8px;height: 8px}.table-card::-webkit-scrollbar-thumb{background: rgba(255,255,255,0.15);border-radius: 4px}.inspector-table{width: 100%;border-collapse: collapse;font-size: 0.8rem;text-align: left}.inspector-table thead th{position: sticky;top: 0;z-index: 10;background: rgba(15,23,42,0.98);backdrop-filter: blur(10px);-webkit-backdrop-filter: blur(10px);padding: 8px 12px;border-bottom: 1px solid var(--card-border,rgba(255,255,255,0.12));color: var(--text-muted,#94a3b8);font-size: 0.72rem;font-weight: 700;text-transform: uppercase;letter-spacing: 0.04em;white-space: nowrap}.inspector-table tbody tr{border-bottom: 1px solid rgba(255,255,255,0.04);transition: background 0.15s ease}.inspector-table tbody tr:hover{background: rgba(56,189,248,0.04)}.inspector-table tbody td{padding: 7px 12px;vertical-align: middle}.cell-msg-field{display: flex;flex-direction: column;gap: 2px}.field-canonical-name{font-weight: 700;color: var(--text-main,#f8fafc);font-size: 0.82rem}.field-msg-subtext{font-size: 0.7rem;color: var(--text-muted,#94a3b8)}.cell-type-def{font-family: "JetBrains Mono",monospace;font-size: 0.74rem;color: var(--text-muted,#94a3b8);line-height: 1.35}.cell-type-def strong{color: #cbd5e1}.cell-value{font-family: "JetBrains Mono",monospace;font-size: 0.78rem;color: #e2e8f0;word-break: break-all}.cell-value.empty-dash{color: #64748b;font-weight: 700}.cell-coverage{font-family: "JetBrains Mono",monospace;font-size: 0.76rem;white-space: nowrap}.coverage-pill{display: inline-block;padding: 2px 6px;border-radius: 4px;background: rgba(255,255,255,0.06);font-weight: 600}.coverage-100{background: rgba(16,185,129,0.15);color: #34d399}.coverage-partial{background: rgba(56,189,248,0.15);color: #38bdf8}.coverage-zero{background: rgba(148,163,184,0.1);color: #64748b}.handling-tag{display: inline-flex;align-items: center;gap: 4px;font-size: 0.7rem;font-weight: 600;padding: 2px 7px;border-radius: 6px;white-space: nowrap}.stav-engineered{background: rgba(56,189,248,0.15);border: 1px solid rgba(56,189,248,0.35);color: #38bdf8}.stav-passthrough{background: rgba(59,130,246,0.15);border: 1px solid rgba(59,130,246,0.35);color: #60a5fa}.stav-dropped{background: rgba(148,163,184,0.15);border: 1px solid rgba(148,163,184,0.3);color: #94a3b8}.stav-unknown{background: rgba(245,158,11,0.2);border: 1px solid rgba(245,158,11,0.4);color: #fbbf24}.app-badge-pill{display: inline-flex;align-items: center;gap: 3px;padding: 2px 6px;border-radius: 4px;font-size: 11px;font-weight: 600;cursor: help;margin: 1px 2px;user-select: none;transition: transform 0.15s ease}.app-badge-pill:hover{transform: translateY(-1px)}.btn-row-copy{background: transparent;border: 1px solid transparent;color: var(--text-muted,#94a3b8);padding: 4px 8px;border-radius: 6px;cursor: pointer;transition: all 0.15s ease;font-size: 0.85rem}.btn-row-copy:hover{background: rgba(56,189,248,0.15);border-color: rgba(56,189,248,0.35);color: var(--primary,#38bdf8);box-shadow: 0 0 10px rgba(56,189,248,0.2)}.empty-filter-state{padding: 3rem 1.5rem;text-align: center;color: var(--text-muted,#94a3b8);font-size: 0.88rem}.comparison-header{padding-bottom: 12px;border-bottom: 1px solid var(--card-border,rgba(255,255,255,0.08));margin-bottom: 14px}.comparison-header h2{margin: 0;font-size: 1.15rem;font-weight: 800;color: var(--text-main,#f8fafc);display: flex;align-items: center;gap: 8px}.comparison-header p{margin: 4px 0 0 0;font-size: 0.8rem;color: var(--text-muted,#94a3b8)}.comparison-matrix-wrapper{display: flex;flex-direction: column;gap: 16px;padding-bottom: 2rem}.comparison-group-card{background: rgba(15,23,42,0.65);border: 1px solid var(--card-border,rgba(255,255,255,0.08));border-radius: var(--radius-sm,8px);padding: 14px 16px;display: flex;flex-direction: column;gap: 10px}.comparison-group-card.warning-chapter{background: rgba(245,158,11,0.05);border-color: rgba(245,158,11,0.35)}.comparison-group-card.warning-chapter .group-card-header h3{color: #fbbf24}.group-card-header{display: flex;flex-direction: column;gap: 2px}.group-card-header h3{margin: 0;font-size: 0.96rem;font-weight: 800;color: var(--primary,#38bdf8)}.group-card-header p{margin: 0;font-size: 0.76rem;color: var(--text-muted,#94a3b8)}.comparison-table{width: 100%;border-collapse: collapse;font-size: 0.78rem}.comparison-table th{background: rgba(15,23,42,0.9);padding: 8px 10px;text-align: left;font-size: 0.7rem;font-weight: 700;color: var(--text-muted,#94a3b8);border-bottom: 1px solid rgba(255,255,255,0.1);text-transform: uppercase;letter-spacing: 0.04em}.comparison-table td{padding: 8px 10px;vertical-align: top;border-bottom: 1px solid rgba(255,255,255,0.04)}.comparison-table tr:hover td{background: rgba(255,255,255,0.02)}.feature-title{font-weight: 700;color: var(--text-main,#f8fafc);font-size: 0.8rem}.fmt-cell{display: flex;flex-direction: column;gap: 3px}.fmt-badge{display: inline-flex;align-items: center;gap: 4px;padding: 2px 6px;border-radius: 4px;font-size: 0.7rem;font-weight: 700;width: fit-content}.fmt-badge.native{background: rgba(16,185,129,0.15);color: #34d399;border: 1px solid rgba(16,185,129,0.35)}.fmt-badge.extension{background: rgba(56,189,248,0.15);color: #38bdf8;border: 1px solid rgba(56,189,248,0.35)}.fmt-badge.unsupported{background: rgba(239,68,68,0.12);color: #f87171;border: 1px solid rgba(239,68,68,0.3)}.fmt-type-text{font-family: "JetBrains Mono",monospace;font-size: 0.72rem;color: #cbd5e1}.ecosystem-role-text{font-size: 0.75rem;color: #94a3b8;line-height: 1.35}.inspector-toast{position: fixed;bottom: 24px;right: 24px;background: rgba(15,23,42,0.96);border: 1px solid rgba(56,189,248,0.4);box-shadow: 0 10px 30px rgba(0,0,0,0.6),0 0 20px rgba(56,189,248,0.15);border-radius: 10px;padding: 10px 16px;color: var(--primary,#38bdf8);font-size: 0.82rem;font-weight: 600;z-index: 10000;display: flex;align-items: center;gap: 8px;opacity: 0;pointer-events: none;transform: translateY(12px);transition: opacity 0.25s ease,transform 0.25s ease;backdrop-filter: blur(12px);-webkit-backdrop-filter: blur(12px)}.inspector-toast.show{opacity: 1;pointer-events: auto;transform: translateY(0)}.toast-icon{font-size: 1rem}