.add-item-details-overlay { position: fixed; top: 0; left: 0; right: 0; bottom: 0; background: var(--modal-backdrop-bg); display: flex; align-items: center; justify-content: center; z-index: var(--z-modal); padding: var(--spacing-md); } .add-item-details-modal { background: var(--modal-bg); border-radius: var(--border-radius-xl); padding: var(--spacing-lg); max-width: 520px; width: 100%; max-height: 90vh; overflow-y: auto; box-shadow: var(--shadow-xl); } .add-item-details-item-name { margin: 0 0 var(--spacing-md); padding: 0.65rem 0.85rem; border: var(--border-width-thin) solid var(--color-border-light); border-radius: var(--border-radius-md); background: var(--color-bg-surface); color: var(--color-text-primary); font-size: var(--font-size-base); font-weight: var(--font-weight-semibold); line-height: var(--line-height-tight); text-align: center; overflow-wrap: anywhere; } .add-item-details-title { font-size: var(--font-size-xl); margin: 0 0 var(--spacing-xs) 0; text-align: center; color: var(--color-text-primary); } .add-item-details-subtitle { text-align: center; color: var(--color-text-secondary); margin: 0 0 var(--spacing-xl) 0; font-size: var(--font-size-sm); } .add-item-details-section { margin-bottom: var(--spacing-md); padding-bottom: var(--spacing-md); border-bottom: var(--border-width-thin) solid var(--color-border-light); } .add-item-details-section:last-of-type { border-bottom: none; margin-bottom: 0; padding-bottom: 0; } .add-item-details-section-title { font-size: var(--font-size-lg); margin: 0 0 var(--spacing-md) 0; color: var(--color-text-secondary); font-weight: 600; } /* Image Upload Section */ .add-item-details-modal .image-upload-section { margin: 0; } .add-item-details-modal .image-upload-content { background: var(--color-bg-surface); border: var(--border-width-thin) solid var(--color-border-light); border-radius: var(--border-radius-md); padding: var(--spacing-sm); } .add-item-details-modal .image-upload-options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--spacing-sm); } .add-item-details-modal .image-upload-btn { min-width: 0; min-height: 44px; padding: 0.7rem 0.75rem; border-radius: var(--button-border-radius); border: var(--border-width-thin) solid transparent; font-size: 0; font-weight: var(--button-font-weight); line-height: 1; white-space: nowrap; } .add-item-details-modal .image-upload-btn::after { content: attr(aria-label); font-size: var(--font-size-sm); } .add-item-details-modal .image-upload-btn.camera { background: var(--color-primary-dark); border-color: var(--color-primary-dark); color: var(--color-text-inverse); } .add-item-details-modal .image-upload-btn.camera:hover { background: var(--color-primary-hover); border-color: var(--color-primary-hover); color: var(--color-text-inverse); } .add-item-details-modal .image-upload-btn.gallery { background: var(--button-secondary-bg); border-color: var(--button-secondary-border); color: var(--button-secondary-text); } .add-item-details-modal .image-upload-btn.gallery:hover { background: var(--button-secondary-hover-bg); border-color: var(--button-secondary-border-hover); color: var(--button-secondary-text); } .add-item-details-modal .image-upload-preview { max-width: 100%; } .add-item-details-image-content { min-height: 120px; } .add-item-details-image-options { display: flex; gap: var(--spacing-sm); flex-wrap: wrap; } .add-item-details-image-btn { flex: 1; min-width: 140px; padding: var(--button-padding-y) var(--button-padding-x); font-size: var(--font-size-base); border: var(--border-width-medium) solid var(--color-primary); background: var(--color-bg-surface); color: var(--color-primary); border-radius: var(--border-radius-lg); cursor: pointer; font-weight: var(--button-font-weight); transition: var(--transition-base); } .add-item-details-image-btn:hover { background: var(--color-primary); color: var(--color-text-inverse); } .add-item-details-image-preview { position: relative; border-radius: var(--border-radius-lg); overflow: hidden; border: var(--border-width-medium) solid var(--color-border-light); } .add-item-details-image-preview img { width: 100%; height: auto; display: block; max-height: 300px; object-fit: contain; } .add-item-details-remove-image { position: absolute; top: var(--spacing-sm); right: var(--spacing-sm); background: var(--color-danger); color: var(--color-text-inverse); border: none; border-radius: var(--border-radius-md); padding: var(--spacing-sm) var(--spacing-md); cursor: pointer; font-weight: var(--font-weight-semibold); font-size: var(--font-size-sm); transition: var(--transition-base); } .add-item-details-remove-image:hover { background: var(--color-danger-hover); } /* Classification Section */ .add-item-details-modal .classification-section { margin: 0; } .add-item-details-field { display: grid; grid-template-columns: 6.75rem minmax(0, 1fr); align-items: center; gap: var(--spacing-sm); margin-bottom: var(--spacing-sm); } .add-item-details-field label { display: block; margin: 0; font-weight: var(--font-weight-semibold); color: var(--color-text-primary); font-size: var(--font-size-sm); line-height: var(--line-height-tight); white-space: nowrap; } .add-item-details-select { width: 100%; min-height: 2.5rem; padding: 0.55rem 0.75rem; font-size: var(--font-size-sm); border: var(--border-width-thin) solid var(--input-border-color); border-radius: var(--input-border-radius); box-sizing: border-box; transition: var(--transition-base); background: var(--color-bg-surface); color: var(--color-text-primary); } .add-item-details-select:focus { outline: none; border-color: var(--input-focus-border-color); box-shadow: var(--input-focus-shadow); } /* Actions */ .add-item-details-actions { display: flex; gap: var(--spacing-sm); margin-top: var(--spacing-md); padding-top: var(--spacing-md); border-top: var(--border-width-thin) solid var(--color-border-light); } .add-item-details-btn { flex: 1; padding: var(--button-padding-y) var(--button-padding-x); font-size: var(--font-size-base); border: var(--border-width-thin) solid transparent; border-radius: var(--button-border-radius); cursor: pointer; font-weight: var(--button-font-weight); transition: var(--transition-base); min-height: 44px; } .add-item-details-btn.cancel { background: var(--button-secondary-bg); border-color: var(--button-secondary-border); color: var(--button-secondary-text); } .add-item-details-btn.cancel:hover { background: var(--button-secondary-hover-bg); border-color: var(--button-secondary-border-hover); color: var(--button-secondary-text); } .add-item-details-btn.confirm { background: var(--color-primary-dark); border-color: var(--color-primary-dark); color: var(--color-text-inverse); } .add-item-details-btn.confirm:hover { background: var(--color-primary-hover); border-color: var(--color-primary-hover); color: var(--color-text-inverse); } /* Mobile responsiveness */ @media (max-width: 768px) { .add-item-details-overlay { padding: var(--spacing-sm); } .add-item-details-modal { width: 95%; max-width: 95%; padding: var(--spacing-md); } .add-item-details-title { font-size: var(--font-size-xl); } .add-item-details-select { padding: 0.7em; font-size: 16px; /* Prevents iOS zoom */ } .add-item-details-image-options { gap: 0.6em; } .add-item-details-image-btn { min-height: 44px; } .add-item-details-field { grid-template-columns: 6rem minmax(0, 1fr); } .add-item-details-actions { flex-direction: column; gap: 0.5rem; } .add-item-details-btn { width: 100%; min-height: 44px; } } @media (max-width: 480px) { .add-item-details-modal { padding: var(--spacing-md); border-radius: var(--border-radius-lg); } .add-item-details-title { font-size: var(--font-size-lg); } .add-item-details-subtitle { font-size: var(--font-size-sm); } .add-item-details-section-title { font-size: var(--font-size-base); } .add-item-details-image-options { flex-direction: column; } .add-item-details-image-btn { min-width: 100%; font-size: var(--font-size-sm); } .add-item-details-field label { font-size: var(--font-size-sm); } }