208 lines
5.1 KiB
CSS
208 lines
5.1 KiB
CSS
@import "tailwindcss";
|
||
|
||
|
||
@keyframes gradient {
|
||
0% { background-position: 0% 50%; }
|
||
50% { background-position: 100% 50%; }
|
||
100% { background-position: 0% 50%; }
|
||
}
|
||
|
||
.animate-gradient {
|
||
background-size: 300% 300%;
|
||
animation: gradient 10s ease infinite;
|
||
}
|
||
|
||
|
||
|
||
/* Ionic переменные для кастомизации */
|
||
:root {
|
||
/* Основные цвета приложения */
|
||
--ion-color-primary: #0f766e;
|
||
--ion-color-primary-rgb: 15, 118, 110;
|
||
--ion-color-primary-contrast: #ffffff;
|
||
--ion-color-primary-contrast-rgb: 255, 255, 255;
|
||
--ion-color-primary-shade: #0d6660;
|
||
--ion-color-primary-tint: #27847e;
|
||
|
||
/* Вторичные цвета */
|
||
--ion-color-secondary: #06b6d4;
|
||
--ion-color-secondary-rgb: 6, 182, 212;
|
||
--ion-color-secondary-contrast: #ffffff;
|
||
--ion-color-secondary-contrast-rgb: 255, 255, 255;
|
||
--ion-color-secondary-shade: #05a0ba;
|
||
--ion-color-secondary-tint: #1fc1d8;
|
||
|
||
/* Цвет успеха */
|
||
--ion-color-success: #10b981;
|
||
--ion-color-success-rgb: 16, 185, 129;
|
||
--ion-color-success-contrast: #ffffff;
|
||
--ion-color-success-contrast-rgb: 255, 255, 255;
|
||
--ion-color-success-shade: #0ea372;
|
||
--ion-color-success-tint: #28c78e;
|
||
|
||
/* Цвет предупреждения */
|
||
--ion-color-warning: #f59e0b;
|
||
--ion-color-warning-rgb: 245, 158, 11;
|
||
--ion-color-warning-contrast: #ffffff;
|
||
--ion-color-warning-contrast-rgb: 255, 255, 255;
|
||
--ion-color-warning-shade: #d8890a;
|
||
--ion-color-warning-tint: #f6a824;
|
||
|
||
/* Цвет опасности */
|
||
--ion-color-danger: #ef4444;
|
||
--ion-color-danger-rgb: 239, 68, 68;
|
||
--ion-color-danger-contrast: #ffffff;
|
||
--ion-color-danger-contrast-rgb: 255, 255, 255;
|
||
--ion-color-danger-shade: #d23c3c;
|
||
--ion-color-danger-tint: #f15757;
|
||
|
||
/* Фон приложения */
|
||
--ion-background-color: #f8fafc;
|
||
--ion-background-color-rgb: 248, 250, 252;
|
||
|
||
/* Цвет текста */
|
||
--ion-text-color: #1e293b;
|
||
--ion-text-color-rgb: 30, 41, 59;
|
||
|
||
/* Цвета для карточек */
|
||
--ion-card-background: rgba(255, 255, 255, 0.9);
|
||
--ion-item-background: rgba(255, 255, 255, 0.8);
|
||
}
|
||
|
||
/* Кастомные стили для медицинского приложения */
|
||
.medical-gradient {
|
||
background: linear-gradient(135deg, #0f766e 0%, #06b6d4 100%);
|
||
}
|
||
|
||
.medical-card {
|
||
background: rgba(255, 255, 255, 0.9);
|
||
backdrop-filter: blur(10px);
|
||
border: 1px solid rgba(15, 118, 110, 0.1);
|
||
box-shadow: 0 8px 32px rgba(15, 118, 110, 0.1);
|
||
}
|
||
|
||
.exercise-timer {
|
||
background: linear-gradient(135deg, #0f766e, #06b6d4);
|
||
color: white;
|
||
border-radius: 16px;
|
||
padding: 1rem;
|
||
}
|
||
|
||
/* Анимации для таймера */
|
||
@keyframes pulse-medical {
|
||
0%,
|
||
100% {
|
||
opacity: 1;
|
||
transform: scale(1);
|
||
}
|
||
50% {
|
||
opacity: 0.8;
|
||
transform: scale(1.05);
|
||
}
|
||
}
|
||
|
||
.timer-pulse {
|
||
animation: pulse-medical 2s ease-in-out infinite;
|
||
}
|
||
|
||
/* Стили для прогресс-бара */
|
||
.progress-medical {
|
||
background: linear-gradient(90deg, #10b981, #06b6d4);
|
||
border-radius: 8px;
|
||
height: 8px;
|
||
}
|
||
|
||
/* Кастомные стили для Ionic компонентов */
|
||
ion-card.medical-card {
|
||
--background: rgba(255, 255, 255, 0.9);
|
||
--color: #1e293b;
|
||
border: 1px solid rgba(15, 118, 110, 0.1);
|
||
box-shadow: 0 8px 32px rgba(15, 118, 110, 0.1);
|
||
}
|
||
|
||
ion-button.medical-button {
|
||
--background: linear-gradient(135deg, #0f766e, #06b6d4);
|
||
--color: white;
|
||
--border-radius: 12px;
|
||
--box-shadow: 0 4px 16px rgba(15, 118, 110, 0.3);
|
||
}
|
||
|
||
ion-button.medical-button:hover {
|
||
--box-shadow: 0 6px 20px rgba(15, 118, 110, 0.4);
|
||
transform: translateY(-2px);
|
||
}
|
||
|
||
/* Стили для header и footer */
|
||
ion-header.medical-header {
|
||
--background: rgba(15, 23, 42, 0.95);
|
||
--color: white;
|
||
backdrop-filter: blur(20px);
|
||
border-bottom: 1px solid rgba(15, 118, 110, 0.3);
|
||
}
|
||
|
||
ion-footer.medical-footer {
|
||
--background: rgba(15, 23, 42, 0.95);
|
||
--color: white;
|
||
backdrop-filter: blur(20px);
|
||
border-top: 1px solid rgba(15, 118, 110, 0.3);
|
||
}
|
||
|
||
/* Адаптивность */
|
||
@media (max-width: 768px) {
|
||
.medical-card {
|
||
margin: 0.5rem;
|
||
border-radius: 12px;
|
||
}
|
||
|
||
.exercise-timer {
|
||
padding: 0.75rem;
|
||
border-radius: 12px;
|
||
}
|
||
}
|
||
|
||
/* Стили для статусов упражнений */
|
||
.exercise-completed {
|
||
background: rgba(16, 185, 129, 0.1);
|
||
border: 1px solid rgba(16, 185, 129, 0.2);
|
||
}
|
||
|
||
.exercise-active {
|
||
background: rgba(6, 182, 212, 0.1);
|
||
border: 1px solid rgba(6, 182, 212, 0.2);
|
||
animation: pulse-medical 2s ease-in-out infinite;
|
||
}
|
||
|
||
.exercise-pending {
|
||
background: rgba(148, 163, 184, 0.1);
|
||
border: 1px solid rgba(148, 163, 184, 0.2);
|
||
}
|
||
|
||
/* Улучшенные тени для глубины */
|
||
.shadow-medical {
|
||
box-shadow: 0 4px 6px -1px rgba(15, 118, 110, 0.1), 0 2px 4px -1px rgba(15, 118, 110, 0.06);
|
||
}
|
||
|
||
.shadow-medical-lg {
|
||
box-shadow: 0 10px 15px -3px rgba(15, 118, 110, 0.1), 0 4px 6px -2px rgba(15, 118, 110, 0.05);
|
||
}
|
||
|
||
/* Кастомные скроллбары */
|
||
::-webkit-scrollbar {
|
||
width: 6px;
|
||
}
|
||
|
||
::-webkit-scrollbar-track {
|
||
background: rgba(148, 163, 184, 0.1);
|
||
border-radius: 3px;
|
||
}
|
||
|
||
::-webkit-scrollbar-thumb {
|
||
background: rgba(15, 118, 110, 0.3);
|
||
border-radius: 3px;
|
||
}
|
||
|
||
::-webkit-scrollbar-thumb:hover {
|
||
background: rgba(15, 118, 110, 0.5);
|
||
}
|
||
|