.optional-upgrades-view[data-v-cff980a8]{padding:1.5rem}.optional-upgrades-view .header[data-v-cff980a8]{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem}.optional-upgrades-view .header .title-section .title-main[data-v-cff980a8]{margin:0 0 .25rem;font-size:1.25rem;font-weight:700;color:#1f2937}.optional-upgrades-view .header .title-section .subtitle[data-v-cff980a8]{margin:0;font-size:.875rem;color:#9ca3af}.optional-upgrades-view .spinner[data-v-cff980a8]{margin:3rem auto;width:32px;height:32px;border:3px solid #e9ecef;border-top-color:#8f00ff;border-radius:50%;animation:spin-cff980a8 .7s linear infinite}@keyframes spin-cff980a8{to{transform:rotate(1turn)}}.optional-upgrades-view .empty-state[data-v-cff980a8]{text-align:center;padding:3rem 1rem;color:#6b7280}.optional-upgrades-view .empty-state p[data-v-cff980a8]{margin:0 0 .5rem;font-size:1rem}.optional-upgrades-view .empty-state .hint[data-v-cff980a8]{font-size:.875rem;color:#9ca3af}.optional-upgrades-view .upgrades-table[data-v-cff980a8]{width:100%;border-collapse:collapse;background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 1px 3px rgba(0,0,0,.07)}.optional-upgrades-view .upgrades-table thead[data-v-cff980a8]{background:#f9fafb}.optional-upgrades-view .upgrades-table thead th[data-v-cff980a8]{padding:.75rem 1rem;text-align:left;font-size:.8125rem;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid #e9ecef}.optional-upgrades-view .upgrades-table tbody tr[data-v-cff980a8]{border-bottom:1px solid #f3f4f6;transition:background .1s}.optional-upgrades-view .upgrades-table tbody tr[data-v-cff980a8]:last-child{border-bottom:none}.optional-upgrades-view .upgrades-table tbody tr[data-v-cff980a8]:hover{background:#fafafa}.optional-upgrades-view .upgrades-table tbody td[data-v-cff980a8]{padding:.875rem 1rem;font-size:.9rem;color:#374151;vertical-align:middle}.optional-upgrades-view .upgrades-table tbody td.title-cell[data-v-cff980a8]{font-weight:500;color:#1f2937}.optional-upgrades-view .upgrades-table tbody td.desc-cell[data-v-cff980a8]{color:#6b7280;max-width:320px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.optional-upgrades-view .upgrades-table tbody td.price-cell[data-v-cff980a8]{font-weight:500;color:#111827}.optional-upgrades-view .upgrades-table tbody td.actions[data-v-cff980a8]{display:flex;gap:.5rem;align-items:center}.optional-upgrades-view .upgrades-table tbody td.actions .icon-action[data-v-cff980a8]{width:18px;height:18px;cursor:pointer;opacity:.6;transition:opacity .15s}.optional-upgrades-view .upgrades-table tbody td.actions .icon-action[data-v-cff980a8]:hover{opacity:1}.modal-overlay[data-v-cff980a8]{position:fixed;inset:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:1000}.modal-overlay .modal-content[data-v-cff980a8]{background:#fff;border-radius:12px;width:480px;max-width:calc(100vw - 2rem);box-shadow:0 20px 60px rgba(0,0,0,.15)}.modal-overlay .modal-content .modal-header[data-v-cff980a8]{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;border-bottom:1px solid #f3f4f6}.modal-overlay .modal-content .modal-header h3[data-v-cff980a8]{font-size:1.1rem;font-weight:600;color:#1f2937;margin:0}.modal-overlay .modal-content .modal-header .close-icon[data-v-cff980a8]{width:14px;height:14px;cursor:pointer;opacity:.55}.modal-overlay .modal-content .modal-header .close-icon[data-v-cff980a8]:hover{opacity:1}.modal-overlay .modal-content .modal-form[data-v-cff980a8]{padding:1.5rem}.modal-overlay .modal-content .modal-form .form-group[data-v-cff980a8]{margin-bottom:1.25rem}.modal-overlay .modal-content .modal-form .form-group[data-v-cff980a8]:last-of-type{margin-bottom:0}.modal-overlay .modal-content .modal-form .form-group label[data-v-cff980a8]{display:block;font-size:.875rem;font-weight:500;color:#374151;margin-bottom:.5rem}.modal-overlay .modal-content .modal-form .form-group .input[data-v-cff980a8]{width:100%;padding:.625rem .875rem;border:1px solid #d1d5db;border-radius:6px;font-size:.9rem;color:#1f2937;background:#fff;font-family:inherit;box-sizing:border-box;transition:border-color .15s,box-shadow .15s}.modal-overlay .modal-content .modal-form .form-group .input[data-v-cff980a8]::-moz-placeholder{color:#9ca3af}.modal-overlay .modal-content .modal-form .form-group .input[data-v-cff980a8]::placeholder{color:#9ca3af}.modal-overlay .modal-content .modal-form .form-group .input[data-v-cff980a8]:focus{outline:none;border-color:#8f00ff;box-shadow:0 0 0 3px rgba(143,0,255,.1)}.modal-overlay .modal-content .modal-form .form-group .input.error[data-v-cff980a8]{border-color:#ef4444}.modal-overlay .modal-content .modal-form .form-group textarea.input[data-v-cff980a8]{resize:vertical;line-height:1.5}.modal-overlay .modal-content .modal-form .form-group .error-hint[data-v-cff980a8]{font-size:.8rem;color:#dc2626;margin-top:.25rem}.modal-overlay .modal-content .modal-form .modal-actions[data-v-cff980a8]{display:flex;justify-content:flex-end;gap:.75rem;margin-top:1.5rem;padding-top:1rem;border-top:1px solid #f3f4f6}.modal-overlay .modal-content .modal-form .image-upload-area[data-v-cff980a8]{display:flex;flex-direction:row;align-items:flex-start;gap:.875rem}.modal-overlay .modal-content .modal-form .image-upload-area .image-preview[data-v-cff980a8]{width:160px;height:110px;-o-object-fit:cover;object-fit:cover;border-radius:6px;border:1px solid #d1d5db;display:block;flex-shrink:0}.modal-overlay .modal-content .modal-form .image-upload-area .image-placeholder[data-v-cff980a8]{width:160px;height:110px;flex-shrink:0;border-radius:6px;border:1px dashed #d1d5db;background:#f9fafb;display:flex;align-items:center;justify-content:center;font-size:.8rem;color:#9ca3af;text-align:center;padding:0 .5rem}.modal-overlay .modal-content .modal-form .image-upload-area .file-input[data-v-cff980a8]{display:none}.modal-overlay .modal-content .modal-form .image-upload-area .image-upload-controls[data-v-cff980a8]{display:flex;flex-direction:column;gap:.5rem;align-items:flex-start;justify-content:flex-end}.upload-btn[data-v-cff980a8]{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;background:#fff;border:1px solid #8f00ff!important;color:#8f00ff;border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;font-family:inherit;transition:background .15s,color .15s}.upload-btn[data-v-cff980a8]:hover{background:#8f00ff;color:#fff}.upload-btn .upload-btn-icon[data-v-cff980a8]{font-size:1rem;line-height:1}.remove-btn[data-v-cff980a8]{display:inline-flex;align-items:center;padding:7px 14px;background:#fff;border:1px solid #ef4444!important;color:#ef4444;border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;font-family:inherit;transition:background .15s,color .15s}.remove-btn[data-v-cff980a8]:hover{background:#ef4444;color:#fff}.upgrades-table .image-cell[data-v-cff980a8]{width:72px}.upgrades-table .image-cell .upgrade-thumb[data-v-cff980a8]{width:56px;height:40px;-o-object-fit:cover;object-fit:cover;border-radius:4px;border:1px solid #e5e7eb;display:block}.upgrades-table .image-cell .no-image[data-v-cff980a8]{color:#9ca3af;font-size:.875rem}