.user-card-admin { background: var(--color-surface); border: 1px solid var(--color-border); border-radius: var(--radius-md); padding: 1.5rem; box-shadow: var(--shadow-sm); border-left: 4px solid var(--color-border); } .card-available { border-left-color: var(--color-success); } .card-unavailable { border-left-color: var(--color-danger); opacity: 0.85; } .user-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 1rem; padding-bottom: 1rem; border-bottom: 1px solid var(--color-border); } .user-name-row { display: flex; align-items: center; gap: 0.5rem; } .status-dot { width: 13px; height: 13px; border-radius: 50%; flex-shrink: 0; box-shadow: 0 0 4px rgba(0,0,0,0.2); } .dot-green { background: #22c55e; } .dot-red { background: #ef4444; } .user-name { margin: 0; color: var(--color-text); font-size: 1.2rem; font-weight: 600; } .availability-toggle { display: flex; align-items: center; gap: 0.5rem; cursor: pointer; } .availability-toggle input[type="checkbox"] { width: 20px; height: 20px; cursor: pointer; } .toggle-label { font-size: 0.9rem; font-weight: 600; } .label-green { color: #16a34a; } .label-red { color: var(--color-danger); } .user-info { display: flex; flex-direction: column; gap: 0.5rem; margin-bottom: 1rem; } .user-address { margin: 0; color: var(--color-text-muted); font-size: 0.9rem; } .type-badge { display: inline-block; padding: 0.25rem 0.75rem; background: var(--color-primary); color: white; border-radius: var(--radius-pill); font-size: 0.85rem; font-weight: 500; } .user-phone { color: var(--color-primary); text-decoration: none; font-weight: 500; font-size: 1rem; } .user-phone:hover { text-decoration: underline; } .gps-section { margin-top: 1rem; padding-top: 1rem; border-top: 1px solid var(--color-border); } .photo-section { margin-top: 1rem; padding-top: 1rem; border-top: 1px solid var(--color-border); } .photo-section h4 { margin: 0 0 0.5rem 0; font-size: 0.9rem; color: var(--color-text-muted); font-weight: 600; } .photo-preview { margin-bottom: 0.5rem; } .user-photo-thumb { width: 72px; height: 72px; object-fit: cover; border-radius: 50%; border: 2px solid var(--color-border); } .user-photo-placeholder { font-size: 0.85rem; color: var(--color-text-muted); font-style: italic; margin-bottom: 0.5rem; } .photo-actions { display: flex; gap: 0.5rem; flex-wrap: wrap; margin-bottom: 0.25rem; } .settings-hint { font-size: 0.78rem; color: var(--color-text-muted); margin: 0; } .gps-section h4 { margin: 0 0 0.5rem 0; font-size: 0.9rem; color: var(--color-text-muted); font-weight: 600; } .gps-display { display: flex; justify-content: space-between; align-items: center; } .gps-display span { font-size: 0.85rem; color: var(--color-text-muted); font-family: monospace; } .no-gps { color: var(--color-text-muted); font-style: italic; } .edit-gps-button { padding: 0.25rem 0.75rem; background: var(--color-primary); color: white; border: none; border-radius: var(--radius-sm); cursor: pointer; font-size: 0.85rem; } .edit-gps-button:hover { background: var(--color-primary-dark); } .gps-edit { display: flex; flex-direction: column; gap: 0.5rem; } .gps-inputs { display: flex; gap: 0.5rem; } .gps-input { flex: 1; padding: 0.5rem; border: 1px solid var(--color-border-strong); border-radius: var(--radius-sm); font-size: 0.9rem; } .gps-actions { display: flex; gap: 0.5rem; } .save-gps-button, .cancel-gps-button { padding: 0.5rem 1rem; border: none; border-radius: var(--radius-sm); cursor: pointer; font-size: 0.85rem; } .save-gps-button { background: var(--color-success); color: white; } .save-gps-button:hover:not(:disabled) { background: var(--color-success-dark); } .save-gps-button:disabled { background: var(--color-border); cursor: not-allowed; } .cancel-gps-button { background: var(--color-secondary); color: white; } .cancel-gps-button:hover { background: var(--color-secondary-dark); } .card-actions { margin-top: 1rem; padding-top: 1rem; border-top: 1px solid var(--color-border); display: flex; gap: 0.5rem; } .edit-button, .delete-button { flex: 1; padding: 0.5rem 1rem; border: none; border-radius: var(--radius-sm); cursor: pointer; font-size: 0.9rem; font-weight: 500; transition: all 0.2s; } .edit-button { background: var(--color-primary); color: white; } .edit-button:hover { background: var(--color-primary-dark); } .delete-button { background: var(--color-danger); color: white; } .delete-button:hover { background: var(--color-danger-dark); } @media (max-width: 768px) { .user-header { flex-direction: column; align-items: flex-start; gap: 0.5rem; } .gps-inputs { flex-direction: column; } .card-actions { flex-direction: column; } } .invite-section { margin-top: 1rem; padding-top: 1rem; border-top: 1px solid var(--color-border); } .invite-section h4 { margin: 0 0 0.5rem 0; font-size: 0.9rem; color: var(--color-text-muted); font-weight: 600; } .invite-result { margin-top: 0.5rem; } .invite-token { display: block; margin-top: 0.35rem; padding: 0.4rem 0.5rem; background: var(--color-bg-muted, #f2f2ec); border: 1px solid var(--color-border); border-radius: 2px; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 0.72rem; word-break: break-all; user-select: all; }