.app{min-height:100vh;background-color:#121212;color:#fff;font-family:Arial,sans-serif}.app-header{margin-bottom:20px}.app-header h1{color:#fc0;margin:0 0 10px;font-size:2rem}.app-header p{color:#ccc;margin:0;font-size:1rem;line-height:1.4}.app-main{display:flex;flex-direction:column;gap:20px}.error-boundary{min-height:100vh;display:flex;align-items:center;justify-content:center;background-color:#121212;color:#fff;padding:20px}.error-boundary-content{max-width:600px;text-align:center;background-color:#1e1e1e;border:1px solid #444;border-radius:8px;padding:40px}.error-boundary-content h1{color:#f44336;margin:0 0 20px;font-size:2rem}.error-boundary-content p{color:#ccc;margin:0 0 30px;line-height:1.6;font-size:1.1rem}.error-actions{display:flex;gap:15px;justify-content:center;margin-bottom:30px}.error-button{background-color:#333;color:#fc0;border:1px solid #555;padding:12px 24px;cursor:pointer;transition:background-color .3s ease;font-size:14px;border-radius:4px;min-width:120px}.error-button:hover{background-color:#555}.retry-button{background-color:#4caf50;color:#fff;border-color:#4caf50}.retry-button:hover{background-color:#45a049}.reload-button{background-color:#f44336;color:#fff;border-color:#f44336}.reload-button:hover{background-color:#d32f2f}.error-details{text-align:left;margin-top:20px;background-color:#2a2a2a;border:1px solid #555;border-radius:4px;padding:15px}.error-details summary{cursor:pointer;color:#fc0;font-weight:700;margin-bottom:10px}.error-details summary:hover{color:#fff}.error-info h3{color:#fc0;margin:15px 0 5px;font-size:1rem}.error-info h3:first-child{margin-top:0}.error-info pre{background-color:#1a1a1a;border:1px solid #444;border-radius:3px;padding:10px;overflow-x:auto;font-size:12px;line-height:1.4;color:#ccc;white-space:pre-wrap;word-break:break-word}@media (max-width: 768px){.container{padding:15px}.app-header h1{font-size:1.5rem}.error-boundary-content{padding:20px}.error-boundary-content h1{font-size:1.5rem}.error-actions{flex-direction:column;align-items:center}.error-button{width:100%;max-width:200px}}*{box-sizing:border-box}body{font-family:Arial,sans-serif;margin:0;padding:0;background-color:#121212;color:#fff;line-height:1.4}.container{max-width:1200px;margin:0 auto;padding:20px}h1{color:#fc0;margin:0 0 10px;font-size:2rem}h2{color:#fc0;margin-top:0;margin-bottom:15px;font-size:18px}h3{color:#fff;margin:0 0 10px;font-size:1.2rem}p{color:#ccc;margin:0 0 10px;line-height:1.4}button{background-color:#333;color:#fc0;border:1px solid #555;padding:8px 15px;cursor:pointer;transition:background-color .3s ease;font-size:14px;border-radius:3px;font-family:inherit}button:hover:not(:disabled){background-color:#555}button:disabled{opacity:.6;cursor:not-allowed}select,input[type=file]{background-color:#1e1e1e;color:#fff;border:1px solid #444;padding:8px;margin:5px 0;border-radius:3px;font-family:inherit}select:hover,input[type=file]:hover{border-color:#fc0}select:focus,input[type=file]:focus{outline:none;border-color:#fc0;box-shadow:0 0 0 2px #fc03}.file-management{background-color:#1e1e1e;border:1px solid #444;border-radius:5px;padding:15px;margin-bottom:20px}.file-controls{display:flex;flex-direction:column;gap:15px}.file-control-group{display:flex;align-items:center;gap:15px}.file-btn{background-color:#333;color:#fc0;border:1px solid #555;padding:10px 20px;cursor:pointer;transition:background-color .3s ease;font-size:14px;border-radius:3px;min-width:150px}.file-btn:hover:not(:disabled){background-color:#555}.file-status{display:flex;align-items:center;gap:8px;font-size:14px}.status-indicator{font-size:12px;color:#666}.status-indicator.success{color:#4caf50}.status-indicator.error{color:#f44336}.status-indicator.loading{color:#fc0;animation:pulse 1.5s infinite}@keyframes pulse{0%{opacity:1}50%{opacity:.5}to{opacity:1}}.status-text{color:#ccc}.toolbar{display:flex;gap:10px;margin-bottom:20px;align-items:center}.group-select-container{display:flex;align-items:center;gap:5px}.group-selector{background-color:#1e1e1e;color:#fff;border:1px solid #444;padding:8px;border-radius:3px;font-size:14px}.save-buttons{display:flex;gap:10px;margin-left:auto}.save-btn{background-color:#333;color:#fc0;border:1px solid #555;padding:8px 15px;cursor:pointer;transition:background-color .3s ease;font-size:14px;border-radius:3px}.save-btn:hover:not(:disabled){background-color:#555}.save-as-btn{background-color:#4caf50;color:#fff;border-color:#4caf50}.save-as-btn:hover:not(:disabled){background-color:#45a049}.content{min-height:200px}.content-empty{text-align:center;padding:40px 20px;color:#888;font-style:italic}.group-list{display:flex;flex-direction:column;gap:20px}.group-list-empty{text-align:center;padding:40px 20px;color:#888;font-style:italic}.group-item{border:1px solid #444;background-color:#1e1e1e;padding:15px;border-radius:5px}.group-header{display:flex;align-items:center;gap:10px;margin-bottom:15px}.group-model-count{color:#888;font-size:.9rem}.group-content{margin-left:20px}.models-section{margin-bottom:20px}.models-section>strong{color:#fc0;display:block;margin-bottom:10px}.no-vehicles{color:#888;font-style:italic;margin:10px 0}.vehicles-table{width:100%;border-collapse:collapse;margin-top:10px;background-color:#1e1e1e;border:1px solid #444;border-radius:5px;overflow:hidden}.vehicles-table th{background-color:#333;color:#fc0;padding:8px 12px;text-align:left;border-bottom:2px solid #555;font-weight:700;font-size:13px}.vehicles-table td{padding:8px 12px;border-bottom:1px solid #444;font-size:13px;vertical-align:middle}.vehicles-table tr:hover{background-color:#2a2a2a}.vehicle-row{transition:background-color .2s ease}.lua-vehicle-row{border-left:3px solid #4CAF50}.xml-vehicle-row{border-left:3px solid #666}.duplicate-row{background-color:#f443361a}.lua-data{color:#90ee90;font-weight:500}.xml-data{color:#ccc;font-style:italic}.model-cell{font-weight:700;color:#fff}.model-cell.duplicate{color:#f44;font-weight:700}.price-cell{text-align:right;font-family:monospace}.remove-btn{background-color:#f44336;color:#fff;border:none;padding:4px 8px;font-size:11px;border-radius:3px;cursor:pointer;transition:background-color .3s ease}.remove-btn:hover{background-color:#d32f2f}.add-vehicle-section{margin-top:15px;padding:10px;background-color:#2a2a2a;border:1px solid #444;border-radius:5px;display:flex;align-items:center;gap:10px}.add-vehicle-label{color:#fc0;font-weight:700;font-size:14px;white-space:nowrap}.add-vehicle-dropdown{flex:1;background-color:#1e1e1e;color:#fff;border:1px solid #555;padding:8px 12px;border-radius:3px;font-size:14px;cursor:pointer}.add-vehicle-dropdown:hover{border-color:#fc0}.add-vehicle-dropdown:focus{outline:none;border-color:#fc0;box-shadow:0 0 0 2px #fc03}.lua-vehicle-option{background-color:#2a4d3a;color:#90ee90}.xml-vehicle-option{background-color:#1e1e1e;color:#fff}.existing-vehicle-option{background-color:#4d1f1f!important;color:#ff6b6b!important;font-style:italic}.no-vehicles-available{color:#888;font-style:italic}.message-display{margin-bottom:20px}.error-message,.success-message{display:flex;align-items:center;justify-content:space-between;padding:10px 15px;margin-bottom:10px;border-radius:4px;font-size:14px}.error-message{background-color:#f44336;color:#fff;border:1px solid #d32f2f}.success-message{background-color:#4caf50;color:#fff;border:1px solid #45a049}.message-text{flex:1}.message-close{background:none;border:none;color:inherit;font-size:18px;cursor:pointer;padding:0;margin-left:10px;width:20px;height:20px;display:flex;align-items:center;justify-content:center}.message-close:hover{background-color:#ffffff1a;border-radius:50%}.loading-spinner{display:flex;flex-direction:column;align-items:center;gap:10px}.spinner-circle{border:3px solid #444;border-top:3px solid #ffcc00;border-radius:50%;animation:spin 1s linear infinite}.loading-spinner-small .spinner-circle{width:20px;height:20px;border-width:2px}.loading-spinner-medium .spinner-circle{width:30px;height:30px}.loading-spinner-large .spinner-circle{width:40px;height:40px;border-width:4px}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.spinner-message{color:#ccc;font-size:14px}.confirm-dialog-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000}.confirm-dialog{background-color:#1e1e1e;border:1px solid #444;border-radius:8px;min-width:400px;max-width:500px;box-shadow:0 4px 20px #00000080}.confirm-dialog-warning{border-color:#ff9800}.confirm-dialog-danger{border-color:#f44336}.confirm-dialog-info{border-color:#2196f3}.confirm-dialog-header{display:flex;align-items:center;justify-content:space-between;padding:15px 20px;border-bottom:1px solid #444}.confirm-dialog-title{color:#fc0;margin:0;font-size:1.2rem}.confirm-dialog-close{background:none;border:none;color:#ccc;font-size:24px;cursor:pointer;padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:50%}.confirm-dialog-close:hover{background-color:#ffffff1a;color:#fff}.confirm-dialog-body{padding:20px}.confirm-dialog-message{color:#ccc;margin:0;line-height:1.5}.confirm-dialog-footer{display:flex;gap:10px;justify-content:flex-end;padding:15px 20px;border-top:1px solid #444}.confirm-dialog-button{padding:8px 16px;border-radius:4px;font-size:14px;cursor:pointer;transition:background-color .3s ease}.cancel-button{background-color:#666;color:#fff;border:1px solid #555}.cancel-button:hover{background-color:#777}.confirm-button{color:#fff;border:none}.confirm-button-warning{background-color:#ff9800}.confirm-button-warning:hover{background-color:#f57c00}.confirm-button-danger{background-color:#f44336}.confirm-button-danger:hover{background-color:#d32f2f}.confirm-button-info{background-color:#2196f3}.confirm-button-info:hover{background-color:#1976d2}@media (max-width: 768px){.container{padding:15px}h1{font-size:1.5rem}.file-control-group{flex-direction:column;align-items:flex-start;gap:8px}.file-btn{min-width:auto;width:100%}.toolbar{flex-direction:column;align-items:flex-start;gap:15px}.save-buttons{margin-left:0;width:100%}.save-btn{flex:1}.vehicles-table{font-size:11px}.vehicles-table th,.vehicles-table td{padding:6px 8px}.vehicles-table th:nth-child(6),.vehicles-table td:nth-child(6){display:none}.add-vehicle-section{flex-direction:column;align-items:flex-start;gap:8px}.add-vehicle-dropdown{width:100%}.confirm-dialog{min-width:300px;margin:20px}.confirm-dialog-footer{flex-direction:column}.confirm-dialog-button{width:100%}}.dev-tools-toggle{position:fixed;bottom:20px;right:20px;z-index:1000}.dev-tools-button{background-color:#ff6b35;color:#fff;border:none;padding:10px 15px;border-radius:50px;cursor:pointer;font-size:14px;box-shadow:0 2px 10px #0000004d;transition:all .3s ease}.dev-tools-button:hover{background-color:#e55a2b;transform:translateY(-2px);box-shadow:0 4px 15px #0006}.dev-tools-panel{position:fixed;bottom:20px;right:20px;width:300px;max-height:500px;background-color:#1e1e1e;border:1px solid #444;border-radius:8px;box-shadow:0 4px 20px #00000080;z-index:1000;overflow:hidden}.dev-tools-header{display:flex;justify-content:space-between;align-items:center;padding:10px 15px;background-color:#333;border-bottom:1px solid #444}.dev-tools-header h3{margin:0;color:#ff6b35;font-size:14px}.dev-tools-close{background:none;border:none;color:#ccc;font-size:18px;cursor:pointer;padding:0;width:20px;height:20px;display:flex;align-items:center;justify-content:center}.dev-tools-close:hover{color:#fff}.dev-tools-content{padding:15px;max-height:400px;overflow-y:auto}.dev-tools-section{margin-bottom:20px}.dev-tools-section:last-child{margin-bottom:0}.dev-tools-section h4{margin:0 0 10px;color:#fc0;font-size:12px;text-transform:uppercase;letter-spacing:.5px}.dev-tools-buttons{display:flex;flex-wrap:wrap;gap:8px}.dev-button{background-color:#444;color:#fff;border:1px solid #666;padding:6px 12px;border-radius:4px;cursor:pointer;font-size:12px;transition:background-color .2s ease}.dev-button:hover{background-color:#555}.dev-button.error{background-color:#f44336;border-color:#f44336}.dev-button.error:hover{background-color:#d32f2f}.dev-button.success{background-color:#4caf50;border-color:#4caf50}.dev-button.success:hover{background-color:#45a049}.dev-tools-info{font-size:12px;color:#ccc}.dev-tools-info>div{margin-bottom:5px;display:flex;justify-content:space-between}.dev-tools-info>div:last-child{margin-bottom:0}
