@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.payload-cell-actions{display:flex;justify-content:center;align-items:center;padding:0}.custom-terminate-btn{padding:.5rem .75rem;font-size:.875rem;background-color:#ef4444;color:#fff;border:none;border-radius:.25rem;cursor:pointer;transition:background-color .2s}.custom-terminate-btn:hover{background-color:#dc2626}.custom-terminate-btn:disabled{background-color:#9ca3af;cursor:not-allowed}.custom-launch-btn{padding:.5rem 1rem;background-color:#10b981;color:#fff;border:none;border-radius:.375rem;font-weight:500;cursor:pointer;transition:background-color .2s}.custom-launch-btn:hover{background-color:#059669}.custom-refresh-btn{padding:.5rem 1rem;background-color:#3b82f6;color:#fff;border:none;border-radius:.375rem;font-weight:500;cursor:pointer;transition:background-color .2s}.custom-refresh-btn:hover{background-color:#2563eb}.custom-refresh-btn:disabled{background-color:#9ca3af;cursor:not-allowed}.payload-custom-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:9999}.payload-custom-modal-content{background-color:#fff;border-radius:8px;padding:24px;max-width:400px;width:90%;box-shadow:0 4px 6px rgba(0,0,0,.1);position:relative;z-index:10000}.payload-custom-modal-content h2,.payload-custom-modal-content h3{font-size:1.25rem;font-weight:700;margin-bottom:1rem;color:#111827}.payload-custom-modal-content p{color:#6b7280;margin-bottom:1.5rem;line-height:1.5}.payload-custom-modal-content select{width:100%;padding:.5rem .75rem;border:1px solid #d1d5db;border-radius:.375rem;margin-bottom:1rem}.payload-custom-modal-content select:focus{outline:2px solid #3b82f6;outline-offset:2px}.payload-custom-modal-content .modal-actions{display:flex;justify-content:flex-end;gap:1rem}.payload-custom-modal-content .modal-actions button{padding:.5rem 1rem;border-radius:.375rem;font-weight:500;cursor:pointer;transition:all .2s}.payload-custom-modal-content .modal-actions button.cancel-btn{color:#374151;background-color:#fff;border:1px solid #d1d5db}.payload-custom-modal-content .modal-actions button.cancel-btn:hover{background-color:#f9fafb}.payload-custom-modal-content .modal-actions button.confirm-btn{background-color:#ef4444;color:#fff;border:none}.payload-custom-modal-content .modal-actions button.confirm-btn:hover{background-color:#dc2626}.payload-custom-modal-content .modal-actions button.confirm-btn:disabled{background-color:#9ca3af;cursor:not-allowed}.payload-custom-modal-content .modal-actions button.launch-btn{background-color:#10b981;color:#fff;border:none}.payload-custom-modal-content .modal-actions button.launch-btn:hover{background-color:#059669}.payload-custom-modal-content .modal-actions button.launch-btn:disabled{background-color:#9ca3af;cursor:not-allowed}.payload-custom-modal-content .error-message{background-color:#fef2f2;border:1px solid #fee2e2;border-radius:.375rem;padding:.75rem;margin-bottom:1rem}.payload-custom-modal-content .error-message p{color:#dc2626;font-size:.875rem;margin:0}.payload-custom-modal-content .error-message p.hint{color:#ef4444;font-size:.75rem;margin-top:.25rem}.spot-prices-container .model-selector-container{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem;padding:1rem;background-color:#f3f4f6;border-radius:.5rem}.spot-prices-container .model-selector-container .model-selector-label{font-weight:600;color:#374151}.spot-prices-container .model-selector-container .model-selector{flex:1;max-width:400px;padding:.5rem 1rem;border:1px solid #d1d5db;border-radius:.375rem;background-color:#fff;font-size:.875rem;color:#374151;cursor:pointer;transition:border-color .15s ease-in-out}.spot-prices-container .model-selector-container .model-selector:hover:not(:disabled){border-color:#9ca3af}.spot-prices-container .model-selector-container .model-selector:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px rgba(59,130,246,.1)}.spot-prices-container .model-selector-container .model-selector:disabled{background-color:#f3f4f6;cursor:not-allowed;opacity:.6}.spot-prices-container .spot-prices-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.spot-prices-container .spot-prices-header h2{font-size:1.5rem;font-weight:700}.spot-prices-container .spot-prices-header .zones-info{font-size:.875rem;color:#6b7280;margin-top:.25rem}.spot-prices-container .last-updated{font-size:.875rem;color:#6b7280;margin-bottom:1rem}.spot-prices-container .error-message{background-color:#fee2e2;border:1px solid #fecaca;color:#dc2626;padding:.75rem 1rem;border-radius:.375rem;margin-bottom:1rem}.spot-prices-container .loading-spinner{display:flex;justify-content:center;padding:2rem 0}.spot-prices-container .loading-spinner .spinner{width:2rem;height:2rem;border:2px solid #e5e7eb;border-top-color:#3b82f6;border-radius:50%;animation:spin 1s linear infinite}.spot-prices-container .spot-prices-table-wrapper{overflow-x:auto;margin-bottom:1.5rem}.spot-prices-container .spot-prices-table-wrapper .table-container{display:inline-block;min-width:100%;vertical-align:middle}.spot-prices-container .spot-prices-table-wrapper .table-container .table-shadow{overflow:hidden;box-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px 0 rgba(0,0,0,.06);border-radius:.5rem}.spot-prices-container .spot-prices-table{min-width:100%;border-collapse:collapse;border:1px solid #d1d5db}.spot-prices-container .spot-prices-table thead{background-color:#f9fafb}.spot-prices-container .spot-prices-table thead th{padding:1rem 2rem;text-align:left;font-size:1rem;font-weight:600;color:#111827;text-transform:uppercase;letter-spacing:.05em;border:1px solid #d1d5db}.spot-prices-container .spot-prices-table thead th.zone-header{text-align:center;border-left-width:4px;border-left-color:#e5e7eb}.spot-prices-container .spot-prices-table thead th.zone-header:first-of-type{border-left-width:1px}.spot-prices-container .spot-prices-table thead th.zone-header .not-available{display:block;font-size:.75rem;font-weight:400;color:#dc2626;margin-top:.25rem}.spot-prices-container .spot-prices-table thead th.sticky-header{position:sticky;left:0;background-color:#f9fafb;z-index:10}.spot-prices-container .spot-prices-table tbody{background-color:#fff}.spot-prices-container .spot-prices-table tbody tr.current-price-row{background-color:#f0fdf4}.spot-prices-container .spot-prices-table tbody tr.stats-row-alt{background-color:#f9fafb}.spot-prices-container .spot-prices-table tbody td{padding:1.5rem 2rem;border:1px solid #d1d5db}.spot-prices-container .spot-prices-table tbody td.row-label{position:sticky;left:0;background-color:inherit;font-size:1rem;font-weight:600;color:#111827;white-space:nowrap;z-index:10}.spot-prices-container .spot-prices-table tbody td.data-cell{text-align:center;border-left-width:4px;border-left-color:#e5e7eb}.spot-prices-container .spot-prices-table tbody td.data-cell:first-of-type{border-left-width:1px}.spot-prices-container .spot-prices-table tbody td .current-price{font-size:1.125rem;font-weight:600;color:#10b981}.spot-prices-container .spot-prices-table tbody td .current-price .price-label{font-size:1rem;color:#6b7280;margin-top:.25rem}.spot-prices-container .spot-prices-table tbody td .hourly-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.25rem}.spot-prices-container .spot-prices-table tbody td .hourly-grid .hour-cell{text-align:center;padding:.5rem;background-color:#f9fafb;border-radius:.25rem;border:1px solid #e5e7eb}.spot-prices-container .spot-prices-table tbody td .hourly-grid .hour-cell .hour-label{font-size:1rem;color:#6b7280}.spot-prices-container .spot-prices-table tbody td .hourly-grid .hour-cell .hour-price{font-size:1rem;color:#10b981;font-weight:500}.spot-prices-container .spot-prices-table tbody td .stats-display .stats-label{font-size:1rem;color:#6b7280;margin-bottom:.5rem}.spot-prices-container .spot-prices-table tbody td .stats-display .stats-values .low-price{font-size:1.125rem;color:#dc2626;font-weight:500}.spot-prices-container .spot-prices-table tbody td .stats-display .stats-values .separator{font-size:1rem;color:#6b7280;margin:0 .5rem}.spot-prices-container .spot-prices-table tbody td .stats-display .stats-values .high-price{font-size:1.125rem;color:#10b981;font-weight:500}.spot-prices-container .spot-prices-table tbody td .no-data{color:#9ca3af}.spot-prices-container .no-data-message{text-align:center;color:#6b7280;padding:2rem 0}.custom-refresh-spot-btn{padding:.5rem 1rem;background-color:#3b82f6;color:#fff;border:none;border-radius:.375rem;cursor:pointer;transition:background-color .2s}.custom-refresh-spot-btn:hover{background-color:#2563eb}.custom-refresh-spot-btn:disabled{background-color:#9ca3af;cursor:not-allowed}.custom-auto-refresh-btn{padding:.5rem 1rem;color:#fff;border:none;border-radius:.375rem;cursor:pointer;transition:background-color .2s;font-size:.875rem}.custom-auto-refresh-btn.enabled{background-color:#10b981}.custom-auto-refresh-btn.enabled:hover{background-color:#059669}.custom-auto-refresh-btn.disabled{background-color:#6b7280}.custom-auto-refresh-btn.disabled:hover{background-color:#4b5563}