 .mobilmenu {
     transition: 0.6s ease-in;
 }

 /* Base styling and animations */
 body {
     font-family: 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
     background-color: #f8fafc;
     /* Slate 50 */
 }

 .fade-in {
     animation: fadeIn 0.4s ease-in-out forwards;
 }

 @keyframes fadeIn {
     from {
         opacity: 0;
         transform: translateY(10px);
     }

     to {
         opacity: 1;
         transform: translateY(0);
     }
 }

 /* Chart Container Requirements (Strict adherence) */
 .chart-container {
     position: relative;
     width: 100%;
     max-width: 600px;
     /* Constrain max width */
     margin-left: auto;
     margin-right: auto;
     height: 300px;
     /* Base height */
     max-height: 400px;
     /* Prevent vertical overflow */
 }

 @media (min-width: 768px) {
     .chart-container {
         height: 350px;
     }
 }

 /* CSS Interactive Airway Model */
 .airway-container {
     display: flex;
     justify-content: center;
     align-items: center;
     gap: 2rem;
     margin: 2rem 0;
 }

 .airway-tube {
     width: 120px;
     height: 120px;
     border-radius: 50%;
     display: flex;
     align-items: center;
     justify-content: center;
     transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1);
     position: relative;
     box-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1);
 }

 .airway-tube::after {
     content: '';
     position: absolute;
     width: 100%;
     height: 100%;
     border-radius: 50%;
     border: 2px dashed rgba(0, 0, 0, 0.1);
     animation: breathe 3s infinite ease-in-out;
 }

 .airway-normal {
     border: 8px solid #cbd5e1;
     /* slate-300 */
     background-color: #f1f5f9;
     /* slate-100 */
 }

 .airway-normal .lumen {
     width: 80px;
     height: 80px;
     border-radius: 50%;
     background-color: #bae6fd;
     /* sky-200 (air) */
 }

 .airway-asthma {
     border: 24px solid #fca5a5;
     /* red-300 (inflammation) */
     background-color: #fef2f2;
     /* red-50 */
 }

 .airway-asthma .lumen {
     width: 40px;
     /* Constricted */
     height: 40px;
     border-radius: 50%;
     background-color: #bae6fd;
     position: relative;
 }

 /* Mucus representation */
 .airway-asthma .lumen::before {
     content: '';
     position: absolute;
     top: 10%;
     left: 10%;
     right: 10%;
     bottom: 10%;
     background-color: #fef08a;
     /* yellow-200 (mucus) */
     border-radius: 40% 60% 70% 30% / 40% 50% 60% 50%;
     animation: morph 3s linear infinite;
 }

 @keyframes breathe {

     0%,
     100% {
         transform: scale(1);
     }

     50% {
         transform: scale(1.05);
     }
 }

 @keyframes morph {

     0%,
     100% {
         border-radius: 40% 60% 70% 30% / 40% 50% 60% 50%;
     }

     34% {
         border-radius: 70% 30% 50% 50% / 30% 30% 70% 70%;
     }

     67% {
         border-radius: 100% 60% 60% 100% / 100% 100% 60% 60%;
     }
 }

 @keyframes pulse-border {
     0% {
         box-shadow: 0 0 0 0 rgba(239, 68, 68, 0.7);
     }

     70% {
         box-shadow: 0 0 0 15px rgba(239, 68, 68, 0);
     }

     100% {
         box-shadow: 0 0 0 0 rgba(239, 68, 68, 0);
     }
 }

 .pulse-warning {
     animation: pulse-border 2s infinite;
 }

 /* Action Plan Zones */
 .zone-card {
     transition: all 0.3s ease;
 }

 .zone-active {
     transform: scale(1.02);
     box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
 }

 .zone-inactive {
     opacity: 0.5;
     filter: grayscale(80%);
 }

 /* Hide scrollbar for clean look in sidebar */
 .no-scrollbar::-webkit-scrollbar {
     display: none;
 }

 .no-scrollbar {
     -ms-overflow-style: none;
     scrollbar-width: none;
 }