.form { background: var(--glass-bg); backdrop-filter: blur(20px); -webkit-backdrop-filter: blur(20px); border: 1px solid var(--glass-border); border-radius: var(--radius); box-shadow: var(--glass-shadow); padding: 24px; } .formGrid { display: grid; grid-template-columns: repeat(12, 1fr); gap: 12px 16px; } .col2 { grid-column: span 2; } .col3 { grid-column: span 3; } .col4 { grid-column: span 4; } .col6 { grid-column: 1 / span 6; } .col8 { grid-column: span 8; } .col7 { grid-column: span 7; } .col6Span { grid-column: span 6; } .col10 { grid-column: span 10; } .col4Start { grid-column: 1 / span 4; } .col9 { grid-column: span 9; } .col12 { grid-column: span 12; } .formColumn { grid-column: span 9; display: flex; flex-direction: column; gap: 12px; min-width: 0; } .titleRow { display: grid; grid-template-columns: 1fr 1fr; gap: 12px 16px; min-width: 0; } .thumbnailField { align-self: start; } .topFields { display: grid; grid-template-columns: repeat(12, 1fr); gap: 12px 16px; height: 100%; } .fieldFull { grid-column: span 12; } .fieldHalf { grid-column: span 6; } .fieldCategory { grid-column: span 7; } .fieldBrand { grid-column: span 5; } .optional { font-weight: 400; color: var(--text-muted); } .summaryField textarea { min-height: calc((var(--field-height) + 8px) * 2); } .rowSpan3 { grid-row: span 3; } .rowSpan4 { grid-row: span 4; } .field { display: flex; flex-direction: column; gap: 4px; min-width: 0; } .field label { font-size: 12px; font-weight: 500; color: var(--text-secondary); } .field input, .field textarea, .field select { width: 100%; padding: var(--field-padding-y) var(--field-padding-x); font-size: var(--field-font-size); line-height: 1.4; color: var(--text-primary); background-color: rgba(255, 255, 255, 0.7); border: 1px solid rgba(148, 163, 184, 0.35); border-radius: var(--radius-sm); transition: border-color 0.2s, box-shadow 0.2s; outline: none; resize: vertical; box-sizing: border-box; } .field input, .field select { min-height: var(--field-height); } .field select { appearance: none; -webkit-appearance: none; padding-right: var(--select-padding-end); background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right var(--select-arrow-offset) center; background-size: var(--select-arrow-size); cursor: pointer; } .field textarea { min-height: calc(var(--field-height) + 8px); } .field input:focus, .field textarea:focus, .field select:focus { border-color: var(--primary); box-shadow: 0 0 0 3px rgba(var(--primary-rgb) / 0.12); } .actions { display: flex; justify-content: flex-end; gap: 8px; margin-top: 20px; padding-top: 16px; border-top: 1px solid rgba(148, 163, 184, 0.2); } .cancelBtn { padding: 8px 16px; font-size: 13px; font-weight: 500; color: var(--text-secondary); border-radius: var(--radius-sm); transition: background 0.2s; } .cancelBtn:hover { background: rgba(148, 163, 184, 0.15); } .submitBtn { padding: 8px 18px; font-size: 13px; font-weight: 600; color: white; background: linear-gradient(135deg, var(--primary) 0%, var(--primary-dark) 100%); border-radius: var(--radius-sm); box-shadow: 0 4px 12px rgba(var(--primary-rgb) / 0.3); transition: transform 0.2s, box-shadow 0.2s; } .submitBtn:hover { transform: translateY(-1px); box-shadow: 0 6px 16px rgba(var(--primary-rgb) / 0.35); } .submitBtn:disabled { opacity: 0.6; cursor: not-allowed; transform: none; } .error { margin-bottom: 16px; padding: 12px 16px; font-size: 14px; color: #b91c1c; background: rgba(239, 68, 68, 0.08); border: 1px solid rgba(239, 68, 68, 0.25); border-radius: var(--radius-sm); } .aspectOptions { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 4px; } .aspectChip { padding: 5px 10px; font-size: 12px; font-weight: 500; line-height: 1.2; color: var(--text-secondary); background: rgba(255, 255, 255, 0.7); border: 1px solid rgba(148, 163, 184, 0.35); border-radius: 50px; transition: border-color 0.15s, color 0.15s, background 0.15s; } .aspectChip:hover:not(:disabled) { border-color: var(--primary); color: var(--primary); } .aspectChip:disabled { opacity: 0.6; cursor: not-allowed; } .aspectChipSelected { background: rgba(var(--primary-rgb) / 0.12); border-color: var(--primary); color: var(--primary); } @media (max-width: 768px) { .form { padding: 20px 16px; } .col2, .col3, .col4, .col6, .col6Span, .col7, .col8, .col9, .col10, .col4Start, .col9, .col12, .formColumn { grid-column: span 12; } .topFields { grid-template-columns: 1fr; } .titleRow { grid-template-columns: 1fr; } .fieldFull, .fieldHalf, .fieldCategory, .fieldBrand { grid-column: span 1; } .rowSpan3, .rowSpan4 { grid-row: auto; } }