diff --git a/backend/templates/admin_return_management.html b/backend/templates/admin_return_management.html index e63a61c..812ce35 100644 --- a/backend/templates/admin_return_management.html +++ b/backend/templates/admin_return_management.html @@ -327,8 +327,39 @@ padding: 4px 8px; border-radius: 6px; font-family: 'JetBrains Mono', monospace; + cursor: pointer; + transition: all 0.15s; } - .location-empty { color: var(--text-muted); font-size: 12px; } + .location-badge:hover { background: rgba(251, 191, 36, 0.4); transform: scale(1.05); } + .location-badge.unset { + background: rgba(100, 116, 139, 0.2); + color: var(--text-muted); + border: 1px dashed var(--border); + } + .location-badge.unset:hover { background: rgba(168, 85, 247, 0.2); border-color: var(--accent-purple); color: var(--accent-purple); } + + /* 위치 모달 */ + .location-modal { display: none; position: fixed; inset: 0; background: rgba(0,0,0,0.7); z-index: 2000; align-items: center; justify-content: center; backdrop-filter: blur(4px); } + .location-modal.show { display: flex; } + .location-modal-content { background: var(--bg-card); border-radius: 16px; padding: 24px; max-width: 400px; width: 90%; border: 1px solid var(--border); box-shadow: 0 20px 60px rgba(0,0,0,0.5); animation: locModalIn 0.2s ease; } + @keyframes locModalIn { from { opacity: 0; transform: translateY(-20px); } to { opacity: 1; transform: translateY(0); } } + .location-modal-content h3 { margin: 0 0 16px 0; color: var(--accent-amber); font-size: 18px; display: flex; align-items: center; gap: 8px; } + .location-product-info { background: var(--bg-secondary); border-radius: 8px; padding: 12px; margin-bottom: 16px; border: 1px solid var(--border); } + .location-product-info .name { font-weight: 600; color: var(--text-primary); margin-bottom: 4px; } + .location-product-info .code { font-size: 12px; color: var(--text-muted); font-family: 'JetBrains Mono', monospace; } + .location-select-wrapper, .location-input-wrapper { margin-bottom: 12px; } + .location-select-wrapper label, .location-input-wrapper label { display: block; font-size: 12px; font-weight: 500; color: var(--text-secondary); margin-bottom: 6px; } + .location-select, .location-input { width: 100%; padding: 12px; border: 2px solid var(--border); border-radius: 8px; font-size: 14px; font-family: inherit; background: var(--bg-primary); color: var(--text-primary); transition: border-color 0.2s; } + .location-select:focus, .location-input:focus { outline: none; border-color: var(--accent-amber); } + .location-hint { font-size: 11px; color: var(--text-muted); margin-top: 6px; } + .location-modal-btns { display: flex; gap: 8px; justify-content: flex-end; margin-top: 16px; } + .location-modal-btn { padding: 10px 20px; border: none; border-radius: 8px; cursor: pointer; font-weight: 500; font-size: 14px; transition: all 0.15s; } + .location-modal-btn.secondary { background: var(--bg-secondary); color: var(--text-secondary); } + .location-modal-btn.secondary:hover { background: var(--bg-card-hover); } + .location-modal-btn.danger { background: rgba(244, 63, 94, 0.2); color: var(--accent-rose); } + .location-modal-btn.danger:hover { background: rgba(244, 63, 94, 0.3); } + .location-modal-btn.primary { background: linear-gradient(135deg, var(--accent-amber), #d97706); color: #fff; } + .location-modal-btn.primary:hover { transform: translateY(-1px); box-shadow: 0 4px 12px rgba(245, 158, 11, 0.4); } /* 긴급도 배지 */ .urgency-badge { @@ -920,6 +951,34 @@ + +