diff --git a/frontend-prep/src/components/Items.css b/frontend-prep/src/components/Items.css index 358077fc..2fd3c701 100644 --- a/frontend-prep/src/components/Items.css +++ b/frontend-prep/src/components/Items.css @@ -1,388 +1,388 @@ -/* ============================================ - ITEMS MODAL - PROFESSIONAL DARK THEME - ============================================ */ - /* Overlay */ .items-modal-overlay { - position: fixed; - top: 0; - left: 0; - right: 0; - bottom: 0; - background: rgba(0, 0, 0, 0.85); - display: flex; - align-items: center; - justify-content: center; - z-index: 1000; - backdrop-filter: blur(12px); - padding: 1.5rem; - animation: items-fadeIn 0.25s cubic-bezier(0.4, 0, 0.2, 1); + position: fixed; + top: 0; + left: 0; + right: 0; + bottom: 0; + background: rgba(0, 0, 0, 0.85); + display: flex; + align-items: center; + justify-content: center; + z-index: 1000; + backdrop-filter: blur(12px); + padding: 1.5rem; + animation: items-fadeIn 0.25s cubic-bezier(0.4, 0, 0.2, 1); } @keyframes items-fadeIn { - from { - opacity: 0; - } - to { - opacity: 1; - } + from { + opacity: 0; + } + to { + opacity: 1; + } } /* Modal Content */ .items-modal-content { - background: linear-gradient(to bottom, var(--surface), var(--bg)); - border: 1px solid var(--border); - border-radius: 16px; - max-width: 800px; - width: 100%; - max-height: 90vh; - overflow: hidden; - box-shadow: - 0 25px 50px -12px rgba(0, 0, 0, 0.5), - 0 0 0 1px rgba(124, 58, 237, 0.1); - display: flex; - flex-direction: column; - animation: items-slideUp 0.3s cubic-bezier(0.4, 0, 0.2, 1); + background: linear-gradient(to bottom, var(--surface), var(--bg)); + border: 1px solid var(--border); + border-radius: 16px; + max-width: 800px; + width: 100%; + max-height: 90vh; + overflow: hidden; + box-shadow: + 0 25px 50px -12px rgba(0, 0, 0, 0.5), + 0 0 0 1px rgba(124, 58, 237, 0.1); + display: flex; + flex-direction: column; + animation: items-slideUp 0.3s cubic-bezier(0.4, 0, 0.2, 1); } @keyframes items-slideUp { - from { - opacity: 0; - transform: translateY(16px) scale(0.98); - } - to { - opacity: 1; - transform: translateY(0) scale(1); - } + from { + opacity: 0; + transform: translateY(16px) scale(0.98); + } + to { + opacity: 1; + transform: translateY(0) scale(1); + } } /* Header */ .items-modal-header { - display: flex; - justify-content: space-between; - align-items: center; - padding: 1.5rem 2rem; - border-bottom: 1px solid var(--border); - background: var(--surface-2); - flex-shrink: 0; + display: flex; + justify-content: space-between; + align-items: center; + padding: 1.5rem 2rem; + border-bottom: 1px solid var(--border); + background: var(--surface-2); + flex-shrink: 0; } .items-modal-header h3 { - display: flex; - align-items: center; - gap: 0.75rem; - color: var(--text); - font-size: 1.25rem; - margin: 0; - font-weight: 600; + display: flex; + align-items: center; + gap: 0.75rem; + color: var(--text); + font-size: 1.25rem; + margin: 0; + font-weight: 600; } .items-modal-header h3 svg { - color: #a78bfa; - flex-shrink: 0; + color: #a78bfa; + flex-shrink: 0; } .items-modal-header h3 span { - display: flex; - align-items: center; - gap: 0.75rem; - flex-wrap: wrap; + display: flex; + align-items: center; + gap: 0.75rem; + flex-wrap: wrap; } .command-badge { - background: rgba(124, 58, 237, 0.15); - color: #c4b5fd; - padding: 0.375rem 0.75rem; - border-radius: 6px; - font-size: 0.875rem; - font-weight: 600; - border: 1px solid rgba(124, 58, 237, 0.3); + background: rgba(124, 58, 237, 0.15); + color: #c4b5fd; + padding: 0.375rem 0.75rem; + border-radius: 6px; + font-size: 0.875rem; + font-weight: 600; + border: 1px solid rgba(124, 58, 237, 0.3); } .items-modal-close { - background: transparent; - border: none; - color: var(--text-muted); - width: 36px; - height: 36px; - border-radius: 8px; - display: flex; - align-items: center; - justify-content: center; - font-size: 1.5rem; - cursor: pointer; - transition: all 0.2s ease; - font-weight: 400; - flex-shrink: 0; + background: transparent; + border: none; + color: var(--text-muted); + width: 36px; + height: 36px; + border-radius: 8px; + display: flex; + align-items: center; + justify-content: center; + font-size: 1.5rem; + cursor: pointer; + transition: all 0.2s ease; + font-weight: 400; + flex-shrink: 0; } .items-modal-close:hover { - background: var(--surface-2); - color: var(--text); + background: var(--surface-2); + color: var(--text); } /* Body */ .items-modal-body { - padding: 2rem; - overflow-y: auto; - flex: 1; - background: var(--bg); + padding: 2rem; + overflow-y: auto; + flex: 1; + background: var(--bg); } .items-modal-body::-webkit-scrollbar { - width: 6px; + width: 6px; } .items-modal-body::-webkit-scrollbar-track { - background: transparent; + background: transparent; } .items-modal-body::-webkit-scrollbar-thumb { - background: rgba(124, 58, 237, 0.3); - border-radius: 10px; + background: rgba(124, 58, 237, 0.3); + border-radius: 10px; } .items-modal-body::-webkit-scrollbar-thumb:hover { - background: rgba(124, 58, 237, 0.5); + background: rgba(124, 58, 237, 0.5); } /* Empty State */ .items-modal-empty { - display: flex; - flex-direction: column; - align-items: center; - justify-content: center; - padding: 4rem 2rem; - color: var(--text-muted); - gap: 1rem; + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + padding: 4rem 2rem; + color: var(--text-muted); + gap: 1rem; } .items-modal-empty svg { - color: var(--text-muted); - opacity: 0.5; + color: var(--text-muted); + opacity: 0.5; } .items-modal-empty p { - font-size: 1rem; - margin: 0; - color: var(--text-muted); + font-size: 1rem; + margin: 0; + color: var(--text-muted); } /* Summary */ .items-modal-summary { - display: grid; - grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); - gap: 1rem; - margin-bottom: 2rem; + display: grid; + grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); + gap: 1rem; + margin-bottom: 2rem; } .summary-item { - display: flex; - flex-direction: column; - gap: 0.5rem; - padding: 1.25rem; - background: var(--surface); - border: 1px solid var(--border); - border-radius: 12px; - transition: all 0.2s ease; + display: flex; + flex-direction: column; + gap: 0.5rem; + padding: 1.25rem; + background: var(--surface); + border: 1px solid var(--border); + border-radius: 12px; + transition: all 0.2s ease; } .summary-item:hover { - background: var(--surface-2); - border-color: rgba(124, 58, 237, 0.3); + background: var(--surface-2); + border-color: rgba(124, 58, 237, 0.3); } .summary-item svg { - color: #a78bfa; - width: 20px; - height: 20px; + color: #a78bfa; + width: 20px; + height: 20px; } .summary-item span { - color: var(--text); - font-weight: 600; - font-size: 1.5rem; - line-height: 1; + color: var(--text); + font-weight: 600; + font-size: 1.5rem; + line-height: 1; } .summary-item::before { - content: attr(data-label); - color: var(--text-muted); - font-size: 0.875rem; - font-weight: 500; - text-transform: uppercase; - letter-spacing: 0.05em; + content: attr(data-label); + color: var(--text-muted); + font-size: 0.875rem; + font-weight: 500; + text-transform: uppercase; + letter-spacing: 0.05em; } /* Items List */ .items-modal-list { - display: flex; - flex-direction: column; - gap: 1rem; - margin-bottom: 2rem; + display: flex; + flex-direction: column; + gap: 1rem; + margin-bottom: 2rem; } /* Item Card */ .items-modal-card { - background: var(--surface); - border: 1px solid var(--border); - border-radius: 12px; - padding: 1.5rem; - transition: all 0.2s ease; - display: flex; - gap: 1.25rem; + background: var(--surface); + border: 1px solid var(--border); + border-radius: 12px; + padding: 1.5rem; + transition: all 0.2s ease; + display: flex; + gap: 1.25rem; } .items-modal-card:hover { - background: var(--surface-2); - border-color: rgba(124, 58, 237, 0.4); - box-shadow: 0 8px 24px rgba(124, 58, 237, 0.15); + background: var(--surface-2); + border-color: rgba(124, 58, 237, 0.4); + box-shadow: 0 8px 24px rgba(124, 58, 237, 0.15); } /* Item Number */ .item-number { - display: flex; - align-items: center; - justify-content: center; - width: 32px; - height: 32px; - background: rgba(124, 58, 237, 0.15); - color: #a78bfa; - border-radius: 8px; - font-weight: 600; - font-size: 0.875rem; - flex-shrink: 0; - border: 1px solid rgba(124, 58, 237, 0.2); + display: flex; + align-items: center; + justify-content: center; + width: 32px; + height: 32px; + background: rgba(124, 58, 237, 0.15); + color: #a78bfa; + border-radius: 8px; + font-weight: 600; + font-size: 0.875rem; + flex-shrink: 0; + border: 1px solid rgba(124, 58, 237, 0.2); } /* Item Content */ .item-content { - flex: 1; - display: flex; - flex-direction: column; - gap: 1rem; + flex: 1; + display: flex; + flex-direction: column; + gap: 1rem; } .item-header { - display: flex; - justify-content: space-between; - align-items: flex-start; - gap: 1rem; + display: flex; + justify-content: space-between; + align-items: flex-start; + gap: 1rem; } .item-name { - color: var(--text); - font-size: 1rem; - font-weight: 600; - line-height: 1.5; - margin: 0; - flex: 1; + color: var(--text); + font-size: 1rem; + font-weight: 600; + line-height: 1.5; + margin: 0; + flex: 1; } /* Item Status */ .item-status { - display: inline-flex; - align-items: center; - gap: 0.375rem; - padding: 0.375rem 0.75rem; - border-radius: 6px; - font-size: 0.8125rem; - font-weight: 500; - white-space: nowrap; - flex-shrink: 0; + display: inline-flex; + align-items: center; + gap: 0.375rem; + padding: 0.375rem 0.75rem; + border-radius: 6px; + font-size: 0.8125rem; + font-weight: 500; + white-space: nowrap; + flex-shrink: 0; } .item-status.status-pending { - background: rgba(251, 146, 60, 0.15); - color: #fdba74; - border: 1px solid rgba(251, 146, 60, 0.3); + background: rgba(251, 146, 60, 0.15); + color: #fdba74; + border: 1px solid rgba(251, 146, 60, 0.3); } .item-status.status-prepared, .item-status.status-packed { - background: rgba(59, 130, 246, 0.15); - color: #93c5fd; - border: 1px solid rgba(59, 130, 246, 0.3); + background: rgba(59, 130, 246, 0.15); + color: #93c5fd; + border: 1px solid rgba(59, 130, 246, 0.3); } .item-status.status-delivered { - background: rgba(16, 185, 129, 0.15); - color: #6ee7b7; - border: 1px solid rgba(16, 185, 129, 0.3); + background: rgba(16, 185, 129, 0.15); + color: #6ee7b7; + border: 1px solid rgba(16, 185, 129, 0.3); } /* Item Details */ .item-details { - display: grid; - grid-template-columns: repeat(3, 1fr); - gap: 1.5rem; + display: grid; + grid-template-columns: repeat(3, 1fr); + gap: 1.5rem; } .item-detail { - display: flex; - flex-direction: column; - gap: 0.375rem; + display: flex; + flex-direction: column; + gap: 0.375rem; } .detail-label { - color: var(--text-muted); - font-size: 0.8125rem; - font-weight: 500; - text-transform: uppercase; - letter-spacing: 0.05em; + color: var(--text-muted); + font-size: 0.8125rem; + font-weight: 500; + text-transform: uppercase; + letter-spacing: 0.05em; } .detail-value { - color: var(--text); - font-size: 1.125rem; - font-weight: 600; + color: var(--text); + font-size: 1.125rem; + font-weight: 600; } .detail-value.detail-total { - color: #34d399; - font-size: 1.25rem; + color: #34d399; + font-size: 1.25rem; } /* Item Meta */ .item-meta { - display: flex; - align-items: center; - gap: 0.75rem; - padding-top: 0.75rem; - margin-top: 0.75rem; - border-top: 1px solid var(--border); + display: flex; + align-items: center; + gap: 0.75rem; + padding-top: 0.75rem; + margin-top: 0.75rem; + border-top: 1px solid var(--border); } .item-id { - color: var(--text-muted); - font-size: 0.8125rem; - font-family: 'SF Mono', 'Monaco', 'Courier New', monospace; + color: var(--text-muted); + font-size: 0.8125rem; + font-family: "SF Mono", "Monaco", "Courier New", monospace; } /* Total */ .items-modal-total { - display: flex; - justify-content: space-between; - align-items: center; - padding: 1.5rem; - background: linear-gradient(135deg, rgba(124, 58, 237, 0.1), rgba(124, 58, 237, 0.05)); - border: 2px solid rgba(124, 58, 237, 0.3); - border-radius: 12px; - box-shadow: 0 4px 12px rgba(124, 58, 237, 0.2); + display: flex; + justify-content: space-between; + align-items: center; + padding: 1.5rem; + background: linear-gradient( + 135deg, + rgba(124, 58, 237, 0.1), + rgba(124, 58, 237, 0.05) + ); + border: 2px solid rgba(124, 58, 237, 0.3); + border-radius: 12px; + box-shadow: 0 4px 12px rgba(124, 58, 237, 0.2); } .items-modal-total span { - color: var(--text-muted); - font-size: 0.875rem; - font-weight: 500; - text-transform: uppercase; - letter-spacing: 0.05em; + color: var(--text-muted); + font-size: 0.875rem; + font-weight: 500; + text-transform: uppercase; + letter-spacing: 0.05em; } .items-modal-total strong { - color: #c4b5fd; - font-size: 1.875rem; - font-weight: 700; + color: #c4b5fd; + font-size: 1.875rem; + font-weight: 700; } /* ============================================ @@ -391,147 +391,147 @@ /* Tablet */ @media (max-width: 768px) { - .items-modal-overlay { - padding: 1rem; - } + .items-modal-overlay { + padding: 1rem; + } - .items-modal-content { - max-height: 92vh; - border-radius: 12px; - margin-bottom: 200px; - } + .items-modal-content { + max-height: 92vh; + border-radius: 12px; + margin-bottom: 200px; + } - .items-modal-header { - padding: 1.25rem 1.5rem; - } + .items-modal-header { + padding: 1.25rem 1.5rem; + } - .items-modal-header h3 { - font-size: 1.125rem; - } + .items-modal-header h3 { + font-size: 1.125rem; + } - .command-badge { - font-size: 0.8125rem; - } + .command-badge { + font-size: 0.8125rem; + } - .items-modal-body { - padding: 1.5rem; - } + .items-modal-body { + padding: 1.5rem; + } - .items-modal-summary { - grid-template-columns: 1fr; - gap: 0.75rem; - } + .items-modal-summary { + grid-template-columns: 1fr; + gap: 0.75rem; + } - .summary-item { - padding: 1rem; - } + .summary-item { + padding: 1rem; + } - .items-modal-card { - padding: 1.25rem; - gap: 1rem; - } + .items-modal-card { + padding: 1.25rem; + gap: 1rem; + } - .item-header { - flex-direction: column; - align-items: flex-start; - gap: 0.75rem; - } + .item-header { + flex-direction: column; + align-items: flex-start; + gap: 0.75rem; + } - .item-details { - grid-template-columns: 1fr; - gap: 1rem; - } + .item-details { + grid-template-columns: 1fr; + gap: 1rem; + } - .items-modal-total { - padding: 1.25rem; - } + .items-modal-total { + padding: 1.25rem; + } - .items-modal-total strong { - font-size: 1.5rem; - } + .items-modal-total strong { + font-size: 1.5rem; + } } /* Mobile */ @media (max-width: 480px) { - .items-modal-overlay { - padding: 0.5rem; - } + .items-modal-overlay { + padding: 0.5rem; + } - .items-modal-header { - padding: 1rem 1.25rem; - } + .items-modal-header { + padding: 1rem 1.25rem; + } - .items-modal-header h3 { - font-size: 1rem; - gap: 0.5rem; - } + .items-modal-header h3 { + font-size: 1rem; + gap: 0.5rem; + } - .command-badge { - font-size: 0.75rem; - padding: 0.25rem 0.625rem; - } + .command-badge { + font-size: 0.75rem; + padding: 0.25rem 0.625rem; + } - .items-modal-body { - padding: 1.25rem; - } + .items-modal-body { + padding: 1.25rem; + } - .items-modal-card { - padding: 1rem; - gap: 0.875rem; - } + .items-modal-card { + padding: 1rem; + gap: 0.875rem; + } - .item-number { - width: 28px; - height: 28px; - font-size: 0.8125rem; - } + .item-number { + width: 28px; + height: 28px; + font-size: 0.8125rem; + } - .item-name { - font-size: 0.9375rem; - } + .item-name { + font-size: 0.9375rem; + } - .detail-value { - font-size: 1rem; - } + .detail-value { + font-size: 1rem; + } - .detail-value.detail-total { - font-size: 1.125rem; - } + .detail-value.detail-total { + font-size: 1.125rem; + } - .items-modal-total { - padding: 1rem; - } + .items-modal-total { + padding: 1rem; + } - .items-modal-total strong { - font-size: 1.375rem; - } + .items-modal-total strong { + font-size: 1.375rem; + } } /* Small Mobile */ @media (max-width: 360px) { - .items-modal-content { - border-radius: 8px; - } + .items-modal-content { + border-radius: 8px; + } - .items-modal-header h3 { - font-size: 0.9375rem; - } + .items-modal-header h3 { + font-size: 0.9375rem; + } - .item-details { - gap: 0.75rem; - } + .item-details { + gap: 0.75rem; + } } /* Touch Devices */ @media (hover: none) { - .items-modal-card:hover { - background: var(--surface); - border-color: var(--border); - box-shadow: none; - } + .items-modal-card:hover { + background: var(--surface); + border-color: var(--border); + box-shadow: none; + } - .summary-item:hover { - background: var(--surface); - border-color: var(--border); - } -} \ No newline at end of file + .summary-item:hover { + background: var(--surface); + border-color: var(--border); + } +}