/* .FitFix ToolBox (c) 2026 Václav Koucký (Ve-Ka-AI). All rights reserved. */
:root{--app-accent: #6366f1;--app-accent-hover: #4f46e5;--app-accent-glow: rgba(99,102,241,0.4);--app-gradient: linear-gradient(135deg,#6366f1 0%,#06b6d4 100%);--brand-garmin: #007cc3;--brand-polar: #e31b23;--brand-suunto: #d92938;--brand-coros: #ff5200;--brand-wahoo: #00a3e0;--brand-apple: #ff2d55;--brand-strava: #fc5200}.studio-main-grid{display: grid;grid-template-columns: 460px 1fr;gap: 1.25rem;align-items: start;width: 100%}@media (max-width: 1100px){.studio-main-grid{grid-template-columns: 1fr}}.studio-left-column{width: 460px;display: flex;flex-direction: column;gap: 1rem}@media (max-width: 1100px){.studio-left-column{width: 100%}}.studio-right-column{flex: 1;min-width: 0;width: 100%;display: flex;flex-direction: column;gap: 1rem}.glass-panel{background: var(--card-bg,rgba(15,23,42,0.75));backdrop-filter: blur(16px);-webkit-backdrop-filter: blur(16px);border: 1px solid var(--card-border,rgba(255,255,255,0.08));border-radius: var(--radius,12px);padding: 1.25rem;box-shadow: var(--shadow-glass,0 8px 32px 0 rgba(0,0,0,0.37));display: flex;flex-direction: column;gap: 0.85rem;width: 100%;box-sizing: border-box}.progress-container{background: rgba(15,23,42,0.85);border: 1px solid rgba(56,189,248,0.3);border-radius: 12px;padding: 1rem 1.25rem;display: flex;flex-direction: column;gap: 0.65rem;box-shadow: 0 8px 24px rgba(0,0,0,0.4);margin-top: 0.5rem}.progress-header{display: flex;justify-content: space-between;align-items: center;font-size: 0.88rem;font-weight: 600}.progress-bar-bg{width: 100%;height: 10px;background: rgba(255,255,255,0.06);border-radius: 999px;overflow: hidden}.progress-bar-fill{height: 100%;width: 0%;background: linear-gradient(90deg,#38bdf8,#818cf8);border-radius: 999px;transition: width 0.1s ease-out}.progress-telemetry{display: flex;gap: 1rem;flex-wrap: wrap;font-size: 0.8rem;background: rgba(15,23,42,0.55);padding: 0.45rem 0.75rem;border-radius: 8px;border: 1px solid rgba(255,255,255,0.06);color: var(--text-muted);align-items: center;justify-content: space-between}.telemetry-group{display: flex;gap: 1rem;flex-wrap: wrap;width: 100%;justify-content: space-between}.telemetry-item{display: inline-flex;align-items: center;gap: 0.35rem}.telemetry-item strong{font-family: 'Outfit',monospace,sans-serif;font-size: 0.85rem}.progress-counters{display: flex;justify-content: space-between;font-size: 0.8rem;color: var(--text-muted);padding-top: 2px;flex-wrap: wrap;gap: 0.5rem}.summary-grid{display: grid;grid-template-columns: repeat(2,1fr);gap: 0.4rem 0.75rem;padding-top: 0.35rem}.summary-item{font-size: 0.75rem;color: var(--text-muted)}.summary-item strong{color: var(--text-main);font-weight: 700}.spinner{width: 16px;height: 16px;border: 2px solid rgba(255,255,255,0.3);border-top-color: var(--primary);border-radius: 50%;animation: spin 0.8s linear infinite;display: inline-block}@keyframes spin{to{transform: rotate(360deg)}}.brand-grid-compact{display: grid;grid-template-columns: repeat(2,1fr);gap: 0.65rem;width: 100%}.brand-card-compact{position: relative;background: rgba(15,23,42,0.6);border: 1px solid var(--card-border);border-radius: var(--radius-sm);padding: 0.75rem 0.6rem;display: flex;flex-direction: column;align-items: center;text-align: center;gap: 0.35rem;cursor: pointer;transition: all 0.2s cubic-bezier(0.4,0,0.2,1);overflow: hidden}.brand-card-compact::before{content: '';position: absolute;top: 0;left: 0;right: 0;height: 3px;background: transparent;transition: all 0.2s ease}.brand-card-compact:hover{background: rgba(30,45,74,0.85);border-color: var(--card-border-hover);transform: translateY(-2px)}.brand-card-compact.selected{background: rgba(30,45,74,0.95);border-color: var(--app-accent);box-shadow: 0 0 16px var(--app-accent-glow);transform: translateY(-1px)}.brand-card-compact.garmin::before{background: var(--brand-garmin)}.brand-card-compact.polar::before{background: var(--brand-polar)}.brand-card-compact.suunto::before{background: var(--brand-suunto)}.brand-card-compact.coros::before{background: var(--brand-coros)}.brand-card-compact.wahoo::before{background: var(--brand-wahoo)}.brand-card-compact.apple::before{background: var(--brand-apple)}.brand-card-compact.strava::before{background: var(--brand-strava)}.brand-icon-sm{font-size: 1.35rem}.brand-name-sm{font-family: var(--font-heading);font-weight: 700;font-size: 0.85rem;color: var(--text-main)}.brand-limit-tag-sm{font-size: 0.68rem;font-weight: 700;padding: 2px 6px;border-radius: var(--radius-pill);background: rgba(255,255,255,0.06);color: var(--text-muted)}.brand-card-compact.selected .brand-limit-tag-sm{background: rgba(99,102,241,0.25);color: #c7d2fe}.migration-banner{display: flex;align-items: center;justify-content: space-between;background: linear-gradient(135deg,rgba(99,102,241,0.12),rgba(6,182,212,0.12));border: 1px solid rgba(99,102,241,0.3);border-radius: var(--radius-md);padding: 0.85rem 1.25rem;gap: 1rem}.mig-side{display: flex;align-items: center;gap: 0.75rem}.mig-arrow{font-size: 1.3rem;color: var(--app-accent);display: flex;align-items: center;justify-content: center}.sport-badge,.device-badge{display: inline-flex;align-items: center;gap: 6px;font-size: 0.78rem;font-weight: 600;padding: 3px 8px;border-radius: var(--radius-sm);background: rgba(255,255,255,0.05);border: 1px solid rgba(255,255,255,0.08);color: var(--text-main);cursor: pointer;transition: all 0.2s ease;width: fit-content}.sport-badge:hover,.device-badge:hover{background: rgba(255,255,255,0.12);border-color: var(--app-accent)}.target-col .sport-badge{background: rgba(99,102,241,0.12);border-color: rgba(99,102,241,0.3);color: #c7d2fe}.target-col .device-badge{background: rgba(6,182,212,0.12);border-color: rgba(6,182,212,0.3);color: #a5f3fc}.timeline-warning{font-size: 0.7rem;color: var(--accent-amber);display: inline-flex;align-items: center;gap: 4px}.form-group-compact{display: flex;flex-direction: column;gap: 0.35rem}.form-label-compact{font-size: 0.78rem;font-weight: 700;color: var(--text-muted)}.custom-select-compact{width: 100%;background: rgba(15,23,42,0.8);border: 1px solid var(--card-border);border-radius: var(--radius-sm);padding: 0.55rem 0.75rem;color: var(--text-main);font-size: 0.82rem;outline: none}.custom-checkbox-row{display: flex;align-items: center;gap: 8px;font-size: 0.8rem;color: var(--text-main);cursor: pointer}.custom-checkbox-row input[type="checkbox"]{accent-color: var(--app-accent);width: 16px;height: 16px;cursor: pointer}.modal-overlay{position: fixed;top: 0;left: 0;right: 0;bottom: 0;background: rgba(5,8,16,0.85);backdrop-filter: blur(12px);-webkit-backdrop-filter: blur(12px);display: flex;align-items: center;justify-content: center;z-index: 9999;padding: 1.5rem;animation: fadeIn 0.25s ease-out}.modal-content{background: rgba(21,32,54,0.95);border: 1px solid var(--card-border-glow);border-radius: var(--radius-lg);box-shadow: var(--shadow-popup);width: 100%;max-width: 560px;max-height: 85vh;display: flex;flex-direction: column;overflow: hidden;animation: modalScaleUp 0.25s ease-out}.modal-header{padding: 1rem 1.25rem;border-bottom: 1px solid var(--card-border);display: flex;align-items: center;justify-content: space-between}.modal-title{font-size: 1.1rem;font-weight: 700;font-family: var(--font-heading);display: flex;align-items: center;gap: 8px}.modal-body{padding: 1.25rem;overflow-y: auto;display: flex;flex-direction: column;gap: 0.85rem}.modal-footer{padding: 0.85rem 1.25rem;border-top: 1px solid var(--card-border);display: flex;justify-content: flex-end;gap: 0.65rem}.catalog-search-input{width: 100%;background: rgba(15,23,42,0.8);border: 1px solid var(--card-border);border-radius: var(--radius-sm);padding: 0.65rem 0.85rem;color: var(--text-main);font-size: 0.85rem;outline: none}.catalog-items-grid{display: grid;grid-template-columns: repeat(auto-fill,minmax(150px,1fr));gap: 0.5rem;max-height: 300px;overflow-y: auto;padding-right: 4px}.catalog-item-btn{background: rgba(255,255,255,0.04);border: 1px solid rgba(255,255,255,0.08);border-radius: var(--radius-sm);padding: 0.55rem 0.65rem;display: flex;align-items: center;gap: 6px;color: var(--text-main);font-size: 0.78rem;cursor: pointer;transition: all 0.15s ease;text-align: left}.catalog-item-btn:hover{background: rgba(99,102,241,0.15);border-color: var(--app-accent)}.catalog-item-btn.selected{background: rgba(99,102,241,0.25);border-color: var(--app-accent);font-weight: 700}.humor-icon{font-size: 3rem;text-align: center}.humor-text{font-size: 0.92rem;line-height: 1.55;color: var(--text-main);text-align: center}.humor-highlight{color: var(--accent-amber);font-weight: 700}@keyframes modalScaleUp{from{opacity: 0;transform: scale(0.96)}to{opacity: 1;transform: scale(1)}}.search-input-box{position: relative;display: flex;align-items: center;margin-bottom: 0.75rem}.search-input-box i{position: absolute;left: 12px;color: var(--text-dim);font-size: 0.85rem;pointer-events: none}.search-input{width: 100%;padding: 8px 12px 8px 34px;background: rgba(15,23,42,0.6);border: 1px solid var(--card-border);border-radius: var(--radius-sm);color: var(--text-main);font-size: 0.82rem;font-family: 'Inter',sans-serif;outline: none;transition: all 0.2s ease}.search-input:focus{border-color: var(--app-accent);background: rgba(15,23,42,0.9);box-shadow: 0 0 0 2px var(--app-accent-glow)}.filter-group{margin-bottom: 0.85rem}.filter-group:last-child{margin-bottom: 0}.filter-group-title{font-size: 0.74rem;font-weight: 700;text-transform: uppercase;letter-spacing: 0.05em;color: var(--text-dim);margin-bottom: 0.45rem;display: flex;justify-content: space-between;align-items: center}.filter-chips{display: flex;flex-wrap: wrap;gap: 0.4rem;max-height: 160px;overflow-y: auto;padding-right: 2px}.chip{font-size: 0.76rem;font-weight: 600;padding: 4px 10px;border-radius: 999px;background: rgba(255,255,255,0.05);border: 1px solid rgba(255,255,255,0.08);color: var(--text-muted);cursor: pointer;transition: all 0.15s ease;display: inline-flex;align-items: center;gap: 5px;user-select: none}.chip:hover{background: rgba(99,102,241,0.15);border-color: var(--app-accent);color: var(--text-main)}.chip.active{background: var(--app-gradient);border-color: transparent;color: #ffffff;box-shadow: 0 2px 8px rgba(99,102,241,0.35)}.chip.dimmed{opacity: 0.3;pointer-events: none}.chip .badge-count{font-size: 0.68rem;background: rgba(0,0,0,0.28);padding: 1px 6px;border-radius: 999px;font-weight: 700}.batch-table,.transpiler-table{width: 100%;table-layout: fixed;border-collapse: separate;border-spacing: 0;font-size: 0.82rem;color: var(--text-main)}.batch-table th{background: rgba(15,23,42,0.9);backdrop-filter: blur(12px);-webkit-backdrop-filter: blur(12px);padding: 10px 12px;text-align: left;font-size: 0.74rem;font-weight: 700;text-transform: uppercase;letter-spacing: 0.05em;color: var(--text-muted);border-bottom: 1px solid var(--card-border);position: sticky;top: 0;z-index: 10}.batch-table td,.transpiler-table td{padding: 4px 6px;border-bottom: 1px solid rgba(255,255,255,0.05);vertical-align: middle;background: transparent;transition: background 0.15s ease;line-height: 1.25;box-sizing: border-box}.batch-table tr,.transpiler-table tr{height: 68px;max-height: 68px;box-sizing: border-box}.batch-table tr:hover td{background: rgba(99,102,241,0.08)}.batch-table tr.selected td{background: rgba(99,102,241,0.14)}.batch-table input[type="checkbox"]{accent-color: var(--app-accent);width: 16px;height: 16px;cursor: pointer;border-radius: 4px}.catalog-search-input{width: 100%;padding: 8px 12px;background: rgba(15,23,42,0.7);border: 1px solid var(--card-border);border-radius: var(--radius-sm);color: var(--text-main);font-size: 0.82rem;font-family: 'Inter',sans-serif;outline: none;margin-bottom: 0.75rem;transition: all 0.2s ease}.catalog-search-input:focus{border-color: var(--app-accent);box-shadow: 0 0 0 2px var(--app-accent-glow)}.catalog-items-grid{display: grid;grid-template-columns: repeat(auto-fill,minmax(200px,1fr));gap: 0.5rem;max-height: 380px;overflow-y: auto;padding-right: 4px}.catalog-group-header{grid-column: 1 / -1;font-weight: 700;font-size: 0.78rem;text-transform: uppercase;letter-spacing: 0.05em;color: var(--primary);margin-top: 0.65rem;margin-bottom: 0.25rem;padding-bottom: 3px;border-bottom: 1px solid rgba(255,255,255,0.08)}.catalog-item-btn{display: flex;align-items: center;gap: 8px;padding: 7px 10px;background: rgba(15,23,42,0.6);border: 1px solid var(--card-border);border-radius: var(--radius-sm);color: var(--text-main);font-size: 0.8rem;cursor: pointer;transition: all 0.15s ease;text-align: left}.catalog-item-btn:hover{background: rgba(99,102,241,0.15);border-color: var(--app-accent);transform: translateY(-1px)}.catalog-item-btn.selected{background: var(--app-gradient);border-color: transparent;color: #ffffff;box-shadow: 0 2px 8px rgba(99,102,241,0.4)}.catalog-item-btn.garage-item{border-color: rgba(245,158,11,0.4);background: rgba(245,158,11,0.08)}.catalog-item-btn.garage-item:hover{border-color: rgba(245,158,11,0.8);background: rgba(245,158,11,0.18)}.sport-badge,.device-badge{display: inline-flex;align-items: center;gap: 5px;padding: 3px 8px;font-size: 0.74rem;font-weight: 600;border-radius: 6px;background: rgba(255,255,255,0.06);border: 1px solid rgba(255,255,255,0.1);color: var(--text-main);cursor: pointer;transition: all 0.15s ease}.sport-badge:hover,.device-badge:hover{background: rgba(99,102,241,0.2);border-color: var(--app-accent)}.timeline-warning{font-size: 0.68rem;color: #fca5a5;background: rgba(239,68,68,0.1);border: 1px solid rgba(239,68,68,0.25);padding: 2px 6px;border-radius: 4px;display: inline-flex;align-items: center;gap: 4px}.row-transpile-success{background-color: rgba(34,197,94,0.08) !important}.row-transpile-failed{background-color: rgba(239,68,68,0.12) !important}.btn-xs{font-size: 0.72rem;padding: 0.1rem 0.35rem;border-radius: 4px}.badge{display: inline-flex;align-items: center;gap: 4px;font-size: 0.72rem;font-weight: 600;padding: 3px 8px;border-radius: 6px;line-height: 1.2}.bg-success-subtle{background: rgba(34,197,94,0.15) !important}.text-success{color: #4ade80 !important}.border-success-subtle{border: 1px solid rgba(34,197,94,0.35) !important}.bg-danger-subtle{background: rgba(239,68,68,0.15) !important}.text-danger{color: #f87171 !important}.border-danger-subtle{border: 1px solid rgba(239,68,68,0.35) !important}.btn-outline-danger{background: transparent;color: #f87171;border: 1px solid rgba(239,68,68,0.4);transition: all 0.15s ease}.btn-outline-danger:hover{background: rgba(239,68,68,0.2);color: #ffffff;border-color: #ef4444}.d-flex{display: flex !important}.flex-column{flex-direction: column !important}.align-items-end{align-items: flex-end !important}.gap-1{gap: 0.25rem !important}.text-xs{font-size: 0.70rem !important}.cropped-strava-bar{background: rgba(245,158,11,0.12);border: 1px solid rgba(245,158,11,0.35);border-radius: var(--radius-sm,8px);padding: 10px 14px;margin-bottom: 12px;display: flex;justify-content: space-between;align-items: center;gap: 12px;flex-wrap: wrap;box-shadow: 0 4px 16px rgba(0,0,0,0.25);backdrop-filter: blur(8px);-webkit-backdrop-filter: blur(8px)}.cropped-strava-text{display: flex;align-items: center;gap: 8px;font-size: 0.82rem;color: #fde68a;font-weight: 500;flex: 1;min-width: 260px}.cropped-strava-text .cropped-icon{font-size: 1.1rem;flex-shrink: 0}.cropped-strava-actions{display: flex;align-items: center;gap: 8px;flex-wrap: wrap}.badge-cropped-strava{display: inline-flex;align-items: center;gap: 4px;padding: 2px 7px;border-radius: 999px;background: rgba(245,158,11,0.18);border: 1px solid rgba(245,158,11,0.45);color: #fbbf24;font-size: 0.68rem;font-weight: 700;cursor: help;white-space: nowrap}.badge-cropped-strava:hover{background: rgba(245,158,11,0.28);border-color: rgba(245,158,11,0.7);box-shadow: 0 0 8px rgba(245,158,11,0.3)}.btn-strava-link,.btn-download-cropped-gpx{display: inline-flex;align-items: center;gap: 4px;padding: 2px 7px;border-radius: 4px;background: rgba(252,82,0,0.15);border: 1px solid rgba(252,82,0,0.4);color: #fdba74;font-size: 0.68rem;font-weight: 600;text-decoration: none;transition: all 0.15s ease;white-space: nowrap}.btn-strava-link:hover,.btn-download-cropped-gpx:hover{background: rgba(252,82,0,0.3);color: #ffffff;border-color: rgba(252,82,0,0.7);box-shadow: 0 0 8px rgba(252,82,0,0.4)}.bookmarklet-btn:hover{filter: brightness(1.1);transform: translateY(-1px)}.strava-step-card{background: rgba(0,0,0,0.35);border: 1px solid rgba(255,255,255,0.08);border-radius: var(--radius-sm,6px);padding: 10px 12px;transition: all 0.2s ease}.strava-step-card:hover{border-color: rgba(56,189,248,0.35);background: rgba(56,189,248,0.05)}.btn-header-action{height: 36px;background: rgba(21,32,54,0.75);border: 1px solid rgba(56,189,248,0.2);color: #38bdf8;border-radius: 8px;padding: 0 12px;font-family: inherit;font-size: 0.82rem;font-weight: 600;display: inline-flex;align-items: center;gap: 6px;cursor: pointer;backdrop-filter: blur(8px);-webkit-backdrop-filter: blur(8px);transition: all 0.2s ease;white-space: nowrap}.btn-header-action:hover{background: rgba(30,48,80,0.85);border-color: rgba(56,189,248,0.45);color: #7dd3fc;box-shadow: 0 0 12px rgba(56,189,248,0.25);transform: translateY(-1px)}.btn-header-action:active{transform: translateY(0)}#btnLoadFromWellness:disabled,#btnGlobalLoadWellnessProfile:disabled,#btnLoadProfileFromWellness:disabled,.fitfix-btn-action:disabled{opacity: 0.5 !important;cursor: not-allowed !important;pointer-events: none !important}#txtWellnessBtnHint{font-size: 0.8rem;color: var(--text-muted,#94a3b8);margin-top: 4px}.fit-form-grid{display: grid;grid-template-columns: repeat(2,1fr);gap: 10px 16px}@media (max-width: 640px){.fit-form-grid{grid-template-columns: 1fr}}.strava-csv-slot{margin-top: 10px;padding: 10px 14px;background: rgba(15,23,42,0.6);border: 1px dashed rgba(255,255,255,0.18);border-radius: var(--radius-sm,8px);display: flex;flex-direction: column;align-items: stretch;gap: 10px;cursor: pointer;transition: all 0.2s ease}.strava-csv-slot:hover{background: rgba(30,41,59,0.85);border-color: var(--primary,#6366f1)}.strava-csv-info{display: flex;align-items: center;gap: 10px;min-width: 0}.strava-csv-icon{font-size: 1.3rem;flex-shrink: 0}.strava-csv-texts{display: flex;flex-direction: column;gap: 2px;min-width: 0}.strava-csv-texts strong{font-size: 0.8rem;color: var(--text-main,#f8fafc)}.strava-csv-texts span{font-size: 0.7rem;color: var(--text-dim,#94a3b8);white-space: normal;line-height: 1.3}.strava-csv-actions{display: flex;flex-direction: column;gap: 6px;cursor: default}.strava-csv-state-disconnected{display: flex;flex-direction: column;align-items: stretch;gap: 6px}.strava-csv-state-connected{display: flex;flex-direction: column;align-items: stretch;gap: 8px}.strava-csv-badge{display: flex;align-items: center;justify-content: center;width: 100%;box-sizing: border-box;background: rgba(16,185,129,0.2);color: #34d399;border: 1px solid rgba(16,185,129,0.4);font-size: 0.74rem;font-weight: 700;padding: 5px 10px;text-align: center}.strava-csv-btn-row{display: flex;gap: 8px;width: 100%}.strava-csv-btn{font-size: 0.74rem;padding: 5px 8px;white-space: nowrap;justify-content: center}.strava-csv-btn-row .strava-csv-btn{flex: 1 1 50%}.btn-disconnect-csv{color: #fb7185;border-color: rgba(244,63,94,0.3)}.btn-disconnect-csv:hover{background: rgba(244,63,94,0.18) !important;color: #fb7185 !important;border-color: rgba(244,63,94,0.5) !important}.strava-dock-card{margin-top: 10px;padding: 12px 14px;background: rgba(15,23,42,0.6);backdrop-filter: blur(16px);-webkit-backdrop-filter: blur(16px);border: 1px solid rgba(56,189,248,0.35);border-radius: var(--radius,12px);box-shadow: var(--shadow-glass,0 8px 32px 0 rgba(0,0,0,0.37));display: flex;flex-direction: column;gap: 6px;box-sizing: border-box;cursor: pointer;transition: border-color 0.2s ease,background 0.2s ease}.strava-dock-card:hover{border-color: rgba(56,189,248,0.6);background: rgba(15,23,42,0.78)}.strava-dock-drag-btn{display: flex;align-items: center;justify-content: center;gap: 6px;padding: 12px 14px;border-radius: 8px;background: linear-gradient(135deg,#0ea5e9,#2563eb);color: #ffffff;font-weight: 700;font-size: 0.9rem;text-decoration: none;cursor: grab;user-select: none;box-shadow: 0 4px 12px rgba(56,189,248,0.3);transition: filter 0.15s ease,transform 0.15s ease,box-shadow 0.15s ease}.strava-dock-drag-btn:hover{filter: brightness(1.1);transform: translateY(-1px);box-shadow: 0 6px 16px rgba(56,189,248,0.5)}.strava-dock-drag-btn:active{cursor: grabbing;transform: translateY(0)}.strava-dock-hint{font-size: 0.74rem;color: var(--text-muted,#94a3b8);margin-top: 6px;text-align: center}.badge-commute{display: inline-flex;align-items: center;gap: 4px;padding: 2px 8px;margin-left: 6px;border-radius: 6px;background: rgba(245,158,11,0.15);border: 1px solid rgba(245,158,11,0.45);color: #fbbf24;font-size: 0.7rem;font-weight: 700;white-space: nowrap;vertical-align: middle;cursor: pointer}.btn-header-filter{display: inline-flex;align-items: center;justify-content: center;padding: 1px 6px;border-radius: 6px;background: rgba(255,255,255,0.05);border: 1px solid rgba(255,255,255,0.12);font-size: 0.8rem;line-height: 1.2;cursor: pointer;user-select: none;opacity: 0.75;transition: background 0.2s ease,border-color 0.2s ease,box-shadow 0.2s ease,opacity 0.2s ease}.btn-header-filter:hover{opacity: 1;background: rgba(245,158,11,0.12)}.btn-header-filter.active{opacity: 1;background: rgba(245,158,11,0.25);border: 1px solid rgba(245,158,11,0.6);box-shadow: 0 0 8px rgba(245,158,11,0.3)}.format-filter-bar{display: flex;flex-wrap: wrap;align-items: center;gap: 6px}.format-filter-bar .format-chip{padding: 5px 14px;font-size: 0.78rem}#emptyStateGuide{flex: 1;display: flex;flex-direction: column;gap: 0.75rem;margin: 0;padding: 1.4rem 1.6rem;box-sizing: border-box}.guide-cards-vertical,.feature-guide-container{display: flex;flex-direction: column;gap: 1rem;flex: 1;margin-top: 0.75rem;margin-bottom: 0}.guide-card,.feature-guide-card{background: rgba(255,255,255,0.02);border: 1px solid rgba(255,255,255,0.07);border-radius: 10px;padding: 1rem 1.4rem;display: flex;flex-direction: column;gap: 0.5rem;box-shadow: 0 4px 20px rgba(0,0,0,0.2);transition: transform 0.2s ease,border-color 0.2s ease}.guide-card:hover,.feature-guide-card:hover{border-color: rgba(56,189,248,0.3);transform: translateY(-1px)}.guide-card-header,.feature-guide-card-header{display: flex;align-items: center;gap: 0.65rem;border-bottom: 1px solid rgba(255,255,255,0.07);padding-bottom: 0.45rem}.guide-card-icon-badge{width: 28px;height: 28px;border-radius: 50%;display: inline-flex;align-items: center;justify-content: center;background: rgba(56,189,248,0.12);border: 1px solid rgba(56,189,248,0.28);font-size: 0.95rem;flex-shrink: 0}.guide-card-title{font-size: 0.95rem;font-weight: 700;color: #f1f5f9;margin: 0}.guide-card-list,.feature-guide-list{list-style: none;padding: 0;margin: 0;display: flex;flex-direction: column;gap: 0.4rem;font-size: 0.81rem;line-height: 1.45;color: var(--text-muted,#94a3b8)}.format-chip.media-chip{display: inline-flex;align-items: center;justify-content: center;gap: 6px;line-height: 1;vertical-align: middle;cursor: pointer;transition: all 0.2s ease}.format-chip.media-chip .chip-count,.format-chip.media-chip span:last-child{font-variant-numeric: tabular-nums}.format-chip.media-chip.active{background: rgba(168,85,247,0.22);border-color: #c084fc;color: #e9d5ff;box-shadow: 0 0 10px rgba(168,85,247,0.25)}.badge-media{display: inline-flex;align-items: center;gap: 3px;padding: 1px 6px;border-radius: 6px;font-size: 0.72rem;font-weight: 700;font-family: monospace,monospace;vertical-align: middle;cursor: default;transition: all 0.15s ease}.badge-media-photo{background: rgba(56,189,248,0.15);border: 1px solid rgba(56,189,248,0.35);color: #38bdf8}.badge-media-photo:hover{background: rgba(56,189,248,0.25);border-color: #38bdf8}.badge-media-video{background: rgba(244,63,94,0.15);border: 1px solid rgba(244,63,94,0.35);color: #fb7185}.badge-media-video:hover{background: rgba(244,63,94,0.25);border-color: #fb7185}.transpiler-table,.batch-table{width: 100%;table-layout: fixed;border-collapse: separate;border-spacing: 0;box-sizing: border-box}.col-check,th.col-check,td.col-check{width: 36px;min-width: 36px;max-width: 36px;text-align: center;box-sizing: border-box;padding: 6px 4px}.col-filename,th.col-filename,td.col-filename{width: 32%;min-width: 200px;overflow: hidden;box-sizing: border-box}.col-datetime,th.col-datetime,td.col-datetime{width: 105px;min-width: 105px;max-width: 105px;white-space: nowrap;box-sizing: border-box}.col-activity,th.col-activity,td.col-activity,.col-target-sport,th.col-target-sport,td.col-target-sport{width: 140px;min-width: 140px;max-width: 140px;box-sizing: border-box}.col-metrics,th.col-metrics,td.col-metrics{width: 185px;min-width: 185px;max-width: 185px;text-align: left;padding: 4px 6px;box-sizing: border-box}.col-source,th.col-source,td.col-source{width: 105px;min-width: 105px;max-width: 105px;overflow: hidden;text-overflow: ellipsis;white-space: nowrap;vertical-align: middle;box-sizing: border-box}.col-device,th.col-device,td.col-device,.col-target-device,th.col-target-device,td.col-target-device{width: 165px;min-width: 165px;max-width: 165px;box-sizing: border-box}.col-target-device .device-badge{width: 100%;justify-content: space-between;box-sizing: border-box;font-size: 0.74rem;padding: 0 6px;height: 28px}.col-actions,th.col-actions,td.col-actions,.action-cell,th.action-cell,td.action-cell{width: 105px;min-width: 105px;max-width: 105px;text-align: right;box-sizing: border-box}.metrics-header-grid-2x2{display: grid;grid-template-columns: 1fr 1fr;gap: 2px 8px;width: 100%;box-sizing: border-box}.metrics-grid-2x2{display: grid;grid-template-columns: 1fr 1fr;gap: 2px 8px;font-variant-numeric: tabular-nums;font-size: 0.78rem;line-height: 1.25;width: 100%;box-sizing: border-box}.metric-cell-val-left{text-align: left;white-space: nowrap;overflow: hidden;text-overflow: ellipsis;display: inline-flex;align-items: center;gap: 3px}.metric-cell-val-right{text-align: right;white-space: nowrap;overflow: hidden;text-overflow: ellipsis;display: inline-flex;align-items: center;justify-content: flex-end;gap: 3px}.metric-cell-item{white-space: nowrap;overflow: hidden;text-overflow: ellipsis;color: var(--text-muted,#94a3b8)}.metric-cell-item.is-highlight,.metric-cell-item strong{font-weight: 600;color: var(--text-main,#f8fafc)}.sort-metric-btn{display: inline-flex;align-items: center;justify-content: space-between;gap: 2px;cursor: pointer;padding: 2px 4px;border-radius: 4px;background: rgba(255,255,255,0.04);border: 1px solid rgba(255,255,255,0.1);font-size: 0.70rem;line-height: 1.2;white-space: nowrap;overflow: hidden;text-overflow: ellipsis;box-sizing: border-box;transition: all 0.15s ease;user-select: none}.sort-metric-btn:hover{background: rgba(255,255,255,0.1) !important;border-color: var(--primary,#38bdf8) !important;color: var(--text-main,#f8fafc)}.sort-metric-btn .sort-indicator{flex-shrink: 0;font-size: 0.68rem;color: var(--text-dim)}.format-chip.cropped-filter-chip{background: rgba(245,158,11,0.12);border: 1px solid rgba(245,158,11,0.35);color: #fbbf24}.format-chip.cropped-filter-chip:hover{background: rgba(245,158,11,0.22);border-color: #f59e0b}.format-chip.cropped-filter-chip.active{background: rgba(245,158,11,0.28);border-color: #f59e0b;color: #fff;box-shadow: 0 0 10px rgba(245,158,11,0.3)}.export-summary-card{background: rgba(16,185,129,0.1);border: 1px solid rgba(16,185,129,0.35);border-radius: var(--radius-sm,8px);padding: 10px 12px;font-size: 0.78rem;line-height: 1.45;color: #ecfdf5;box-shadow: 0 4px 12px rgba(16,185,129,0.15);animation: fadeIn 0.25s ease-out}.export-summary-card.has-errors{background: rgba(245,158,11,0.1);border-color: rgba(245,158,11,0.35);box-shadow: 0 4px 12px rgba(245,158,11,0.15)}.export-summary-title{font-weight: 700;color: #34d399;display: flex;align-items: center;gap: 6px;margin-bottom: 4px}.export-summary-card.has-errors .export-summary-title{color: #fbbf24}.export-summary-body{color: #e2e8f0;font-size: 0.74rem}.export-summary-details{margin-top: 6px;padding-top: 6px;border-top: 1px solid rgba(255,255,255,0.1);display: flex;flex-direction: column;gap: 3px;font-size: 0.72rem;color: #cbd5e1}.btn-activity-select,.sport-pill-btn,.col-target-sport .sport-badge{display: inline-flex;align-items: center;justify-content: space-between;gap: 4px;width: 100%;max-width: 100%;height: 28px;padding: 0 6px;border-radius: 6px;font-size: 0.74rem;font-weight: 500;cursor: pointer;transition: all 0.15s ease;box-sizing: border-box}.pill-label,.sport-pill-name,.sport-badge .sport-pill-name{white-space: nowrap;overflow: hidden;text-overflow: ellipsis;flex: 1;text-align: left}.sport-pill-btn.is-suggestion,.sport-badge.is-suggestion{border: 1px dashed var(--accent-cyan,#38bdf8) !important;background: rgba(56,189,248,0.08) !important;color: #f0f9ff !important;box-shadow: none !important}.sport-pill-btn.is-suggestion:hover,.sport-badge.is-suggestion:hover{border-color: #38bdf8 !important;background: rgba(56,189,248,0.16) !important}.sport-pill-btn.is-confirmed,.sport-badge.is-confirmed{border: 1px solid rgba(255,255,255,0.12) !important;background: rgba(255,255,255,0.04) !important;color: var(--text-main,#f8fafc) !important}.sport-pill-btn.is-confirmed:hover,.sport-badge.is-confirmed:hover{border-color: rgba(255,255,255,0.25) !important;background: rgba(255,255,255,0.08) !important}.sport-pill-arrow,.pill-arrow,.sport-pill-btn .fa-chevron-down,.sport-badge .fa-chevron-down{flex-shrink: 0;font-size: 0.65rem;color: var(--text-muted,#94a3b8);margin-left: 2px}.source-link,.source-badge,.col-source .pill-badge,.col-source a{display: inline-block;max-width: 100%;overflow: hidden;text-overflow: ellipsis;white-space: nowrap;font-size: 0.78rem;text-decoration: none;vertical-align: middle;box-sizing: border-box}.col-source-content{max-width: 100%;overflow: hidden;text-overflow: ellipsis;white-space: nowrap}.sport-sub-badges{display: flex;align-items: center;gap: 4px;min-height: 18px;flex-wrap: nowrap;overflow: hidden}.sport-sub-badges .badge-commute{margin-left: 0;padding: 1px 6px;font-size: 0.65rem;line-height: 1.2}.sport-sub-badges .badge-media{padding: 1px 5px;font-size: 0.65rem;line-height: 1.2}#cardFleetStatus{background: rgba(15,23,42,0.55);border: 1px solid var(--card-border,rgba(255,255,255,0.08));border-radius: var(--radius-md,12px);transition: all 0.2s ease}.fleet-warning-box{background: rgba(245,158,11,0.12);border: 1px solid rgba(245,158,11,0.35);border-radius: var(--radius-sm,8px);padding: 8px 10px;display: flex;flex-direction: column;gap: 6px}.fleet-success-box{background: rgba(34,197,94,0.12);border: 1px solid rgba(34,197,94,0.35);border-radius: var(--radius-sm,8px);padding: 8px 10px;display: flex;flex-direction: column;gap: 6px}.btn-filter-pill.filter-error-pill,.filter-error-pill{display: inline-flex;align-items: center;gap: 4px;padding: 4px 10px;border-radius: 20px;font-size: 0.8rem;font-weight: 600;cursor: pointer;transition: all 0.15s ease;border: 1px solid rgba(239,68,68,0.4);background: rgba(239,68,68,0.12);color: #fca5a5;box-sizing: border-box;user-select: none}.btn-filter-pill.filter-error-pill:hover,.filter-error-pill:hover{background: rgba(239,68,68,0.2);border-color: rgba(239,68,68,0.6);color: #fecaca}.btn-filter-pill.filter-error-pill.active,.filter-error-pill.active{background: rgba(239,68,68,0.25) !important;border-color: #ef4444 !important;color: #ffffff !important}.header-sort-btn{background: none;border: none;color: inherit;font: inherit;font-size: 0.74rem;font-weight: 700;text-transform: uppercase;letter-spacing: 0.05em;cursor: pointer;display: inline-flex;align-items: center;justify-content: flex-end;gap: 4px;padding: 0;margin: 0;width: 100%;color: var(--text-muted);transition: color 0.15s ease}.header-sort-btn:hover{color: var(--text-main,#f8fafc)}.header-sort-btn .sort-indicator,.header-sort-btn .sort-icon{font-size: 0.75rem;color: var(--text-dim)}.btn-action-error{background: rgba(239,68,68,0.15);border: 1px solid rgba(239,68,68,0.4);color: #fca5a5;padding: 4px 8px;border-radius: 6px;font-size: 0.78rem;font-weight: 600;cursor: pointer;transition: all 0.15s ease;white-space: nowrap;display: inline-flex;align-items: center;justify-content: center;gap: 4px}.btn-action-error:hover{background: rgba(239,68,68,0.3);border-color: #ef4444;color: #ffffff}.btn-action-error:disabled{opacity: 0.6;cursor: not-allowed}.execution-header-bar{display: flex;justify-content: space-between;align-items: flex-start;width: 100%;gap: 16px;margin: 0;padding: 0;box-sizing: border-box}.execution-left-zone{display: flex;flex-direction: column;gap: 6px;flex-shrink: 0;margin: 0;padding: 0}.execution-actions-row,.export-actions-row,.export-actions-left-group{display: flex;align-items: center;gap: 12px;margin: 0;padding: 0}.export-btn-col{display: flex;flex-direction: column;align-items: flex-start;gap: 4px;width: 236px;box-sizing: border-box}.btn-top-export{width: 236px;height: 42px;min-height: 42px;max-height: 42px;border-radius: 8px;font-family: inherit;font-size: 0.84rem;font-weight: 700;cursor: pointer;display: inline-flex;align-items: center;justify-content: center;gap: 8px;box-sizing: border-box;transition: all 0.15s ease;white-space: nowrap;user-select: none}.btn-write-disk-top{background: linear-gradient(135deg,rgba(16,185,129,0.28),rgba(5,150,105,0.38));border: 1px solid rgba(16,185,129,0.55);backdrop-filter: blur(8px);-webkit-backdrop-filter: blur(8px);color: #34d399;box-shadow: 0 4px 14px rgba(16,185,129,0.15)}.btn-write-disk-top:hover:not(:disabled){background: linear-gradient(135deg,rgba(16,185,129,0.4),rgba(5,150,105,0.55));border-color: #10b981;color: #ffffff;box-shadow: 0 6px 20px rgba(16,185,129,0.3);transform: translateY(-1px)}.btn-write-disk-top:disabled,.btn-write-disk-top.disabled{opacity: 0.45;cursor: not-allowed;pointer-events: none;box-shadow: none}.btn-download-zip-top{background: rgba(30,41,59,0.7);border: 1px solid rgba(255,255,255,0.18);backdrop-filter: blur(8px);-webkit-backdrop-filter: blur(8px);color: #f8fafc;box-shadow: 0 4px 14px rgba(0,0,0,0.25)}.btn-download-zip-top:hover{background: rgba(51,65,85,0.85);border-color: rgba(255,255,255,0.35);color: #ffffff;box-shadow: 0 6px 18px rgba(0,0,0,0.35);transform: translateY(-1px)}.btn-clear-data-top{background: rgba(239,68,68,0.15);border: 1px solid rgba(239,68,68,0.35);backdrop-filter: blur(8px);-webkit-backdrop-filter: blur(8px);color: #fca5a5;box-shadow: 0 4px 14px rgba(239,68,68,0.1)}.btn-clear-data-top:hover{background: rgba(239,68,68,0.28);border-color: #ef4444;color: #ffffff;box-shadow: 0 6px 18px rgba(239,68,68,0.25);transform: translateY(-1px)}.btn-top-eta,.execution-eta-line{font-size: 0.70rem;color: var(--text-dim,#94a3b8);line-height: 1.25;padding-left: 2px;white-space: nowrap}.batch-summary-badge{display: inline-flex;align-items: center;gap: 8px;padding: 8px 14px;background: rgba(15,23,42,0.6);border: 1px solid var(--card-border);border-radius: var(--radius-sm,8px);font-size: 0.82rem;color: var(--text-muted);user-select: none;white-space: nowrap;align-self: flex-start;margin-top: 2px}.export-progress-container-top{width: 732px;max-width: 100%;background: rgba(15,23,42,0.7);border: 1px solid var(--card-border);border-radius: var(--radius-sm,8px);padding: 8px 12px;box-sizing: border-box}.export-progress-header-top{display: flex;justify-content: space-between;align-items: center;font-size: 0.74rem;font-weight: 700;margin-bottom: 5px;color: var(--text-main)}.export-progress-bar-bg-top{width: 100%;height: 6px;background: rgba(255,255,255,0.1);border-radius: 3px;overflow: hidden}.export-progress-bar-fill-top{width: 0%;height: 100%;background: linear-gradient(90deg,#38bdf8,#10b981);transition: width 0.15s ease}.export-success-card-top{width: 732px;max-width: 100%;background: rgba(16,185,129,0.1);border: 1px solid rgba(16,185,129,0.35);border-radius: var(--radius-sm,8px);padding: 10px 14px;font-size: 0.78rem;line-height: 1.45;color: #ecfdf5;box-shadow: 0 4px 12px rgba(16,185,129,0.15);animation: fadeIn 0.25s ease-out;box-sizing: border-box}.export-success-card-top.has-errors{background: rgba(245,158,11,0.1);border-color: rgba(245,158,11,0.35);box-shadow: 0 4px 12px rgba(245,158,11,0.15)}.filters-and-tools-bar{display: flex;justify-content: space-between;align-items: center;flex-wrap: wrap;gap: 12px;width: 100%;margin: 0;padding: 0;box-sizing: border-box}.table-tools-right{display: flex;flex-direction: column;align-items: flex-end;gap: 6px;margin-left: auto}.table-tools-row-top,.table-tools-row-bottom{display: flex;align-items: center;gap: 8px;justify-content: flex-end}