/* Специфичные стили для экрана планирования похода */ /* Контейнер карты */ .map-container { position: relative; width: 100%; height: 200px; border-radius: var(--radius-md); overflow: hidden; margin-bottom: var(--spacing-lg); box-shadow: var(--shadow-md); } .map-preview { width: 100%; height: 100%; object-fit: cover; } .map-action-btn { position: absolute; bottom: var(--spacing-md); right: var(--spacing-md); display: flex; align-items: center; gap: var(--spacing-sm); padding: var(--spacing-sm) var(--spacing-lg); background: var(--color-bg-card); border: none; border-radius: var(--radius-sm); font-size: var(--font-size-small); font-weight: var(--font-weight-semibold); color: var(--color-text-dark); box-shadow: var(--shadow-md); cursor: pointer; transition: transform var(--transition-fast) ease; } .map-action-btn:active { transform: scale(0.95); } .btn-icon { font-size: 16px; line-height: 1; } /* Информация о маршруте */ .route-info { margin-bottom: var(--spacing-lg); } .info-row { display: flex; justify-content: space-between; align-items: center; padding: var(--spacing-md) 0; border-bottom: 1px solid var(--color-border); } .info-row:last-child { border-bottom: none; padding-bottom: 0; } .info-row:first-child { padding-top: 0; } .info-label { font-size: var(--font-size-base); color: var(--color-text-medium); } .info-value { font-size: var(--font-size-base); font-weight: var(--font-weight-semibold); color: var(--color-text-dark); } /* Секции */ .date-time-section, .participants-section { margin-bottom: var(--spacing-xxl); } .section-title { font-size: var(--font-size-large); font-weight: var(--font-weight-semibold); color: var(--color-text-dark); margin-bottom: var(--spacing-md); } /* Селекторы даты и времени */ .date-selector, .time-selector { display: flex; align-items: center; gap: var(--spacing-md); padding: var(--spacing-lg); cursor: pointer; transition: transform var(--transition-fast) ease; } .date-selector { margin-bottom: var(--spacing-md); } .date-selector:active, .time-selector:active { transform: scale(0.98); } .selector-icon { font-size: 28px; width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; background: var(--color-bg-secondary); border-radius: 10px; flex-shrink: 0; } .selector-content { flex: 1; } .selector-label { font-size: var(--font-size-small); color: var(--color-text-medium); margin-bottom: 2px; } .selector-value { font-size: var(--font-size-base); font-weight: var(--font-weight-semibold); color: var(--color-text-dark); } .selector-arrow { font-size: 24px; color: var(--color-text-medium); line-height: 1; } /* Карточка погоды */ .weather-card { margin-bottom: var(--spacing-xxl); } .weather-header { display: flex; align-items: center; gap: var(--spacing-md); margin-bottom: var(--spacing-lg); } .weather-icon { font-size: 48px; line-height: 1; } .weather-info { flex: 1; } .weather-temp { font-size: var(--font-size-xlarge); font-weight: var(--font-weight-bold); color: var(--color-text-dark); margin-bottom: 2px; } .weather-desc { font-size: var(--font-size-base); color: var(--color-text-medium); } .weather-details { display: flex; justify-content: space-between; padding-top: var(--spacing-md); border-top: 1px solid var(--color-border); } .weather-detail { display: flex; flex-direction: column; align-items: center; gap: var(--spacing-xs); } .detail-label { font-size: var(--font-size-small); color: var(--color-text-medium); } .detail-value { font-size: var(--font-size-base); font-weight: var(--font-weight-semibold); color: var(--color-text-dark); } /* Участники */ .participant-item { display: flex; align-items: center; gap: var(--spacing-md); background: var(--color-bg-card); border-radius: var(--radius-md); padding: var(--spacing-md) var(--spacing-lg); margin-bottom: var(--spacing-md); box-shadow: var(--shadow-sm); } .participant-avatar { font-size: 32px; width: 48px; height: 48px; display: flex; align-items: center; justify-content: center; background: var(--color-bg-secondary); border-radius: var(--radius-full); flex-shrink: 0; } .participant-info { flex: 1; } .participant-name { font-size: var(--font-size-base); font-weight: var(--font-weight-semibold); color: var(--color-text-dark); margin-bottom: 2px; } .participant-role { font-size: var(--font-size-small); color: var(--color-text-medium); } .participant-status { width: 28px; height: 28px; display: flex; align-items: center; justify-content: center; border-radius: var(--radius-full); font-size: 16px; font-weight: var(--font-weight-bold); flex-shrink: 0; } .status-confirmed { background: #D5F4E6; color: var(--color-success); } .status-pending { background: #FEF5E7; color: var(--color-warning); } /* Кнопка добавления участника */ .btn-add-participant { display: flex; align-items: center; justify-content: center; gap: var(--spacing-sm); width: 100%; padding: var(--spacing-md); background: transparent; border: 2px dashed var(--color-border); border-radius: var(--radius-md); font-size: var(--font-size-base); font-weight: var(--font-weight-semibold); color: var(--color-text-medium); cursor: pointer; transition: all var(--transition-fast) ease; margin-top: var(--spacing-sm); } .btn-add-participant:active { transform: scale(0.98); border-color: var(--color-primary); color: var(--color-primary); } /* Секция действий */ .actions { display: flex; flex-direction: column; gap: var(--spacing-md); margin-top: var(--spacing-xxl); } /* Нижний отступ для прокрутки */ .bottom-spacer { height: var(--spacing-xl); }