.companion-card{background:white;border:1px solid #e9ecef;border-radius:12px;padding:20px;transition:all .2s ease;box-shadow:0 1px 3px rgba(0,0,0,.1);width:350px;flex-shrink:0;position:relative}.companion-card:hover{box-shadow:0 4px 12px rgba(0,0,0,.1);transform:translateY(-2px)}.status-badge{position:absolute;top:12px;right:12px;padding:4px 8px;border-radius:12px;font-size:11px;font-weight:600;text-transform:uppercase}.status-badge.status-pending{background-color:#fff3cd;color:#856404;border:1px solid #ffeaa7}.status-badge.status-accepted{background-color:#d4edda;color:#155724;border:1px solid #c3e6cb}.status-badge.status-rejected{background-color:#f8d7da;color:#721c24;border:1px solid #f5c6cb}.status-badge.status-past{background-color:#f8f9fa;color:#6c757d;border:1px solid #dee2e6}.companion-header{display:flex;gap:12px;margin-bottom:16px;padding-top:8px}.hotel-image-placeholder{width:60px;height:60px;background-color:#f8f9fa;border:1px solid #dee2e6;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:12px;color:#6c757d;flex-shrink:0}.companion-info{flex:1;min-width:0}.location-pin{font-size:12px;margin-bottom:2px}.hotel-name{font-size:16px;font-weight:600;color:#333;margin:0 0 4px;line-height:1.3}.hotel-location,.hotel-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hotel-location{font-size:13px;color:#666;margin:0 0 8px}.companion-from{font-size:12px;color:#2196f3;font-weight:500}.companion-options{margin:16px 0;padding:16px 0;border-top:1px solid #f0f0f0;border-bottom:1px solid #f0f0f0}.option-item{display:flex;align-items:center;gap:8px;margin-bottom:8px}.option-item:last-child{margin-bottom:0}.option-item input[type=checkbox],.option-item input[type=radio]{width:16px;height:16px;margin:0;cursor:pointer}.option-item label{font-size:14px;color:#333;cursor:pointer;line-height:1.3}.application-info{margin:16px 0}.info-label{font-size:13px;color:#666;font-weight:500}.companion-actions{display:flex;gap:8px;margin-top:16px}.action-btn{flex:1;padding:10px 16px;border:1px solid transparent;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;text-align:center}.action-btn:disabled{opacity:.6;cursor:not-allowed}.reject-btn{background-color:#f8f9fa;color:#6c757d;border-color:#dee2e6}.reject-btn:hover:not(:disabled){background-color:#e9ecef;border-color:#ced4da}.accept-btn{background-color:#2196f3;color:white}.accept-btn:hover:not(:disabled){background-color:#1976d2}.cancel-btn{background-color:#dc3545;color:white}.cancel-btn:hover:not(:disabled){background-color:#c82333}.accepted-message,.rejected-message{display:flex;align-items:center;justify-content:center;gap:8px;padding:12px;border-radius:8px;font-size:14px;font-weight:500;flex:1}.accepted-message{background-color:#d4edda;color:#155724;border:1px solid #c3e6cb}.rejected-message{background-color:#f8d7da;color:#721c24;border:1px solid #f5c6cb}.error-icon,.success-icon{font-size:16px;font-weight:700}@media (max-width:768px){.companion-card{width:100%;max-width:410px;padding:16px}.status-badge{top:10px;right:10px;font-size:10px;padding:3px 6px}.companion-header{gap:10px;margin-bottom:14px}.hotel-image-placeholder{width:50px;height:50px;font-size:11px}.hotel-name{font-size:15px}.hotel-location{font-size:12px}.companion-from{font-size:11px}.companion-options{margin:14px 0;padding:14px 0}.option-item{gap:6px;margin-bottom:6px}.option-item input[type=checkbox],.option-item input[type=radio]{width:14px;height:14px}.option-item label{font-size:13px}.application-info{margin:14px 0}.info-label{font-size:12px}.companion-actions{gap:6px;margin-top:14px}.action-btn{padding:8px 12px;font-size:13px}.accepted-message,.rejected-message{padding:10px;font-size:13px;gap:6px}.error-icon,.success-icon{font-size:14px}}@media (max-width:480px){.companion-card{padding:14px}.companion-header{gap:8px;margin-bottom:12px}.hotel-image-placeholder{width:45px;height:45px;font-size:10px}.hotel-name{font-size:14px}.hotel-location{font-size:11px}.companion-from{font-size:10px}.companion-options{margin:12px 0;padding:12px 0}.option-item{gap:4px;margin-bottom:4px}.action-btn,.option-item label{font-size:12px}.action-btn{padding:7px 10px}.accepted-message,.rejected-message{padding:8px;font-size:12px}}