
	.sidebar {
		width: 60px;
		transition: width 0.3s ease-in-out;
		overflow: hidden;
		border-radius: 0.8rem;
		background-color: #fff;
		box-shadow: 0 0 10px rgba(0,0,0,0.05);
		padding-top: 1rem;
		padding-bottom: 1rem;
		position: fixed;
		top: 50%;
		left: 1rem;
		transform: translateY(-50%);
		z-index: 1000;
	}
	.sidebar:hover {
		width: 250px;
	}
	.sidebar .nav-link {
		color: #2d2d2d;
		display: flex;
		align-items: center;
		padding: 0.75rem 1rem;
		border-radius: 0.5rem;
		transition: background-color 0.2s;
	}
	.sidebar .nav-link:hover {
		background-color: #f2f2f2;
	}
	.sidebar .nav-link i {
		color: cornflowerblue;
		font-size: 1.5rem;
		margin-right: 1rem;
		flex-shrink: 0;
	}
	.nav-text {
		opacity: 0;
		transform: translateX(-10px);
		transition: opacity 0.3s, transform 0.3s;
	}
	.sidebar:hover .nav-text {
		opacity: 1;
		transform: translateX(0);
	}
	.main-content-container {
		margin-left: 100px;
		padding-left: 2rem;
		padding-right: 2rem;
		width: calc(100% - 100px);
		transition: margin-left 0.3s ease-in-out, width 0.3s ease-in-out;
	}
	.sidebar:hover ~ .main-content-container {
		margin-left: 270px;
		width: calc(100% - 270px);
	}

	@keyframes chat-rotate {
		from { transform: rotate(0deg); }
		to   { transform: rotate(360deg); }
	}

	.animate-chat {
		animation: chat-rotate 2s linear infinite;
		transform-origin: center;
	}

			
	.graph-card {
		background-color: #fff;
		border-radius: 12px;
		box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
		padding: 5px;
		width: 100%;
		text-align: center;
		position: relative;
	}
	.graph-card .icon {
		width: 70px;
		height: 70px;
		margin-bottom: 15px;
		border-radius: 12px;
		display: flex;
		align-items: center;
		justify-content: center;
		background-color: #f0f4f8;
		position: absolute;
		top: -30px;
		left: 20px;
		font-size: 32px;
		box-shadow: 0 4px 8px rgba(0, 0, 0, 0.25);
		opacity: 0.6;
		transition: transform 0.5s ease, color 0.5s ease;
	}
	.graph-card .label {
		font-size: 18px;
		color: #888;
	}
	.graph-card:hover .icon  {
		color: indigo;
		transform: scale(1.3);
	}

	.graph-card .chart  {
		transition: transform 0.5s ease, color 0.5s ease;
	}

	.graph-card:hover .chart  {
		transform: scale(1.1);
	}

	.graph-card:hover .label {
		color: indigo;
	}

	.dashboard {
		display: flex;
		gap: 20px;
		justify-content: space-between;
	}
	.kpi-card {
		background-color: #fff;
		border-radius: 12px;
		box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
		padding: 20px;
		width: 100%;
		text-align: center;
		display: flex;
		flex-direction: column;
		align-items: center;
		position: relative;
	}
	.kpi-card .icon {
		width: 70px;
		height: 70px;
		margin-bottom: 15px;
		border-radius: 12px;
		display: flex;
		align-items: center;
		justify-content: center;
		background-color: #f0f4f8;
		position: absolute;
		top: -30px;
		left: 20px;
		font-size: 32px;
		box-shadow: 0 4px 8px rgba(0, 0, 0, 0.25);
		opacity: 0.6;
		transition: transform 0.5s ease, color 0.5s ease;
	}

	.kpi-card:hover .icon {
		color: indigo;
		transform: scale(1.3);
	}

	.kpi-card .value {
		font-size: 32px;
		font-weight: bold;
		color: #333;
		margin-top: 0px;
	}
	.kpi-card .trend {
		font-size: 14px;
		color: green;
		margin-top: 5px;
	}
	.kpi-card .label {
		font-size: 24px;
		color: #888;
		margin-top: 10px;
	}
	.icon.calls { background-color: #00aaff; color: white; }
	.icon.missed { background-color: #ff4747; color: white; }
	.icon.duration { background-color: #ffcc00; color: white; }
	.icon.cost { background-color: #32cc32; color: white; }
	.icon.service { background-color: #32cccc; color: white; }

	.md-input-container {
		position: relative;
		margin: 30px 0;
		font-family: 'Roboto', sans-serif;
	}

	.md-input-wrapper {
		display: flex;
		align-items: center; /* центрируем иконку по вертикали */
		border-bottom: 1px solid #ccc;
		position: relative;
	}

	.md-icon {
		color: cornflowerblue;
		margin-right: 8px;
		font-size: 1.5em; /* привязка к размеру текста input */
		line-height: 1;   /* убираем лишние отступы */
	}

	.md-input {
		flex: 1;
		padding: 12px 0;
		border: none;
		font-size: 16px;
		color: #505050;
		background: transparent;
		outline: none;
	}

	.md-label {
		position: absolute;
		top: 12px;
		left: 36px;
		font-size: 16px;
		color: #999;
		pointer-events: none;
		transition: 0.2s ease all;
	}

	.md-input:focus + .md-label,
	.md-input:not(:placeholder-shown) + .md-label {
		top: -8px;
		font-size: 12px;
		color: #3f51b5;
	}

	.md-underline {
		position: absolute;
		bottom: 0;
		left: 0;
		height: 1px;
		width: 100%;
		background-color: #3f51b5;
		transform: scaleX(0);
		transition: transform 0.3s ease, height 0.2s ease;
	}

	.md-input-wrapper:hover .md-underline {
		height: 1px; /* тоньше при наведении */
	}

	.md-input-wrapper:focus-within .md-underline {
		transform: scaleX(1);
		height: 1px; /* при фокусе снова толще */
	}


	.form-switch .form-check-input {
		background-color: #ddd;
		border-color: #bbb;
	}

	.form-switch .form-check-input:checked {
		background-color: cornflowerblue;
		border-color: cornflowerblue;
	}

	.switch-success .form-check-input:checked {
		background-color: var(--bs-success);
		border-color: var(--bs-success);
	}

	.switch-danger .form-check-input:checked {
		background-color: var(--bs-danger);
		border-color: var(--bs-danger);
	}

	.switch-warning .form-check-input:checked {
		background-color: var(--bs-warning);
		border-color: var(--bs-warning);
	}

	.material-symbols-outlined,
	.material-symbols-rounded,
	.material-symbols-sharp {
		font-variation-settings: 'FILL' 1, 'wght' 500, 'GRAD' 0, 'opsz' 48;
		transition: all 0.4s ease;
		margin: 0 25px;
		cursor: pointer;
		display: inline-block;
	}

	/* Hover эффект: вращение, увеличение, сдвиг и цвет */
	.material-symbols-outlined:hover {
		color: cornflowerblue;
		transform: rotate(-15deg) translateY(-5px) scale(1.3);
		font-variation-settings: 'FILL' 1, 'wght' 700, 'GRAD' 0, 'opsz' 56;
	}

	.material-symbols-rounded:hover {
		color: mediumseagreen;
		transform: rotate(15deg) translateY(-5px) scale(1.3);
		font-variation-settings: 'FILL' 1, 'wght' 700, 'GRAD' 0, 'opsz' 56;
	}

	.material-symbols-sharp:hover {
		color: tomato;
		transform: rotate(-10deg) translateY(-5px) scale(1.3);
		font-variation-settings: 'FILL' 1, 'wght' 700, 'GRAD' 0, 'opsz' 56;
	}


	/* === Material Design стиль бейджа === */
    .md-badge {
      display: inline-block;
      padding: 0.5rem 1rem;
      border-radius: 10px;
      font-size: 0.95rem;
      font-weight: 500;
      color: #ffffff;
      background: linear-gradient(90deg, #43a047, #66bb6a);
      box-shadow: 0 2px 4px rgba(67, 160, 71, 0.3);
      letter-spacing: 0.3px;
      transition: all 0.25s ease;
      cursor: default;
      user-select: none;
    }

    .md-badge:hover {
      box-shadow: 0 4px 8px rgba(67, 160, 71, 0.35);
      transform: translateY(-1px);
      background: linear-gradient(90deg, #388e3c, #66bb6a);
    }

    .md-badge:active {
      transform: scale(0.98);
      box-shadow: 0 1px 3px rgba(67, 160, 71, 0.25);
    }

    /* --- Дополнительные цветовые варианты --- */
    .md-badge.success {
		background: #ffffff;
		border: 1px solid  #66bb6a;
		box-shadow: 0 2px 4px #66bb6a;
		color: #43a047;
    }

    .md-badge.warning {
		background: #ffffff;
		border: 1px solid  #fdd835;
		box-shadow: 0 2px 4px #fdd835;
		color: #fbc02d;
    }

    .md-badge.error {
		background: #ffffff;
		border: 1px solid  #ef5350;
		box-shadow: 0 2px 4px #ef5350;
		color: #e53935;
	}

    .md-badge.info {
		background: #ffffff;
		border: 1px solid  #42a5f5;
		box-shadow: 0 2px 4px #42a5f5;
		color: #1e88e5;
    }

    /* === Material Design стиль для alert === */
    .md-alert {
      position: relative;
      padding: 1.25rem 1.5rem;
      border-radius: 16px;
      color: #fff;
      background: linear-gradient(135deg, #e53935, #ef5350);
      box-shadow: 0 4px 10px rgba(229, 57, 53, 0.3);
      overflow: hidden;
      transition: all 0.3s ease;
      font-family: 'Roboto', sans-serif;
      margin: 1rem 0;
    }

    .md-alert:hover {
      transform: translateY(-2px);
      box-shadow: 0 6px 16px rgba(229, 57, 53, 0.35);
    }

    .md-alert::before {
      content: "";
      position: absolute;
      top: 0;
      left: 0;
      width: 5px;
      height: 100%;
      background: rgba(255, 255, 255, 0.3);
      border-top-left-radius: 16px;
      border-bottom-left-radius: 16px;
    }

    .md-alert h5 {
      margin-top: 0;
      margin-bottom: 0.5rem;
      font-weight: 600;
      font-size: 1.5rem;
      letter-spacing: 0.3px;
      color: lime;
    }

    .md-alert p {
      margin: 0;
      font-size: 0.95rem;
      opacity: 0.95;
    }

    /* Варианты цветов */
    .md-alert.success {
      background: linear-gradient(135deg, #43a047, #66bb6a);
      box-shadow: 0 4px 10px rgba(67, 160, 71, 0.3);
    }

    .md-alert.warning {
      background: linear-gradient(135deg, #fbc02d, #fdd835);
      color: #212121;
      box-shadow: 0 4px 10px rgba(251, 192, 45, 0.3);
    }

    .md-alert.info {
      background: linear-gradient(135deg, #1e88e5, #42a5f5);
      box-shadow: 0 4px 10px rgba(30, 136, 229, 0.3);
    }

    .tab-pane {
        transition: transform 0.4s ease, opacity 0.4s ease;
    }

    .tab-pane.slide-in {
        transform: translateY(20px);
        opacity: 0;
    }

    .tab-pane.slide-in.show {
        transform: translateY(0);
        opacity: 1;
    }
