:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit;cursor:pointer}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}.logout-section{padding:1rem;border-top:1px solid var(--indigo-800)}:root{--sidebar-width: 256px;--indigo-900: #1e293b;--indigo-700: #4338ca;--indigo-800: #3730a3;--gray-100: #f3f4f6;--gray-200: #e5e7eb;--gray-300: #d1d5db;--gray-400: #9ca3af;--text-color: #1f2937;--text-gray-500: #6b7280;--indigo-500: #6366f1;--indigo-100: #e0e7ff;--green-100: #dcfce7;--green-700: #166534;--red-100: #fee2e2;--red-700: #b91c1c;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--rounded-xl: .75rem}*{box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;margin:0;background-color:var(--gray-100);color:var(--text-color);display:flex;min-height:100vh;flex-direction:column}.sidebar{width:var(--sidebar-width);height:100vh;position:fixed;top:0;left:0;background-color:#0641c2;color:#fff;display:flex;flex-direction:column;z-index:50}.sidebar-header{display:flex;align-items:center;padding:1.5rem;margin-bottom:2rem;width:100vw;background-color:#fff}.sidebar-header .logo-text{margin-left:.5rem;font-size:1.25rem;font-weight:700;line-height:1.2}.sidebar-header .logo-subtext{font-size:.75rem;color:#92a4e8;line-height:1.2}.sidebar-nav{flex-grow:1;padding:0 1rem;justify-content:space-between}.sidebar-nav a{display:flex;align-items:center;padding:.75rem;font-size:1rem;border-radius:.375rem;text-decoration:none;color:#fff;gap:.82rem;transition:background-color .2s ease-in-out}.sidebar-nav a:hover,.sidebar-nav a.active{background-color:#ffffff45;box-shadow:#ffffff45}.sidebar-nav svg{margin-right:.75rem}.logout-section{padding:0rem;border-top:1px solid var(--indigo-800)}.logout-button{width:100%;display:flex;align-items:center;padding:.75rem;font-size:1rem;color:#fff;background:none;border:none;border-radius:.375rem;cursor:pointer;transition:background-color .2s ease-in-out}.logout-button:hover{background-color:var(--indigo-800)}.version-text{display:block;font-size:.75rem;color:#92a4e8;margin-top:.5rem;text-align:center}.main-content{flex-grow:1;padding:5rem 1rem 1rem}.header{display:flex;justify-content:space-between;align-items:center;padding-bottom:1rem;border-bottom:1px solid var(--gray-200);margin-bottom:1.5rem;flex-wrap:wrap}.header-title{font-size:1.875rem;font-weight:700;margin:0}.header-right{display:none;align-items:center;gap:1rem}.user-info{display:flex;align-items:center;gap:.5rem}.user-info img{width:40px;height:40px;border-radius:9999px}.content-section{background-color:#fff;border-radius:var(--rounded-xl);box-shadow:var(--shadow-sm);padding:2rem;margin-bottom:1.5rem}.calendar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;flex-wrap:wrap;gap:.5rem}.calendar-title{font-size:1.25rem;font-weight:600;margin:0}.calendar-controls{display:flex;align-items:center;gap:1rem}.calendar-controls .flagged-only{display:flex;align-items:center;gap:.5rem;font-size:.875rem}.calendar-days-grid{display:grid;grid-template-columns:repeat(7,1fr);text-align:center;font-size:.875rem;font-weight:500;color:var(--text-gray-500);margin-bottom:1rem}.calendar-dates-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:.5rem;text-align:center;font-size:.875rem}.calendar-date{padding:.5rem;border-radius:var(--rounded-xl);display:flex;flex-direction:column;align-items:center;justify-content:center;height:60px;cursor:pointer;transition:background-color .2s}.calendar-date.current-month{background-color:var(--gray-100)}.calendar-date.active{background-color:var(--indigo-500);color:#fff;box-shadow:var(--shadow-sm)}.calendar-date.inactive-month{color:var(--gray-400)}.date-number{font-size:1.25rem;font-weight:700}.date-visits{font-size:.75rem;color:var(--indigo-500);margin-top:.25rem}.date-visits.active{color:#fff}.appointments-section h2{font-size:1.25rem;font-weight:700;margin-bottom:1rem}.appointment-list{display:flex;flex-direction:column;gap:1rem}.appointment-item{background-color:#fff;border-radius:var(--rounded-xl);box-shadow:var(--shadow-sm);padding:1rem;display:flex;flex-direction:column;align-items:flex-start}.appointment-time{font-size:.875rem;color:var(--text-gray-500);margin-bottom:.5rem}.appointment-details{display:flex;flex-direction:column;width:100%;align-items:flex-start;gap:.5rem}.patient-info{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.patient-info .name{font-weight:600}.status-tag{font-size:.75rem;padding:.25rem .5rem;border-radius:9999px;display:flex;align-items:center;gap:.25rem}.status-tag.completed{background-color:var(--green-100);color:var(--green-700)}.status-tag.risk{background-color:var(--red-100);color:var(--red-700)}.patient-age{font-size:.875rem;color:var(--text-gray-500);margin-left:auto}.icon-button{background:none;border:none;padding:.5rem;border-radius:9999px;color:var(--text-gray-500);cursor:pointer;transition:background-color .2s}.icon-button:hover{background-color:var(--gray-200)}.mobile-menu-toggle,.mobile-close-toggle{position:fixed;z-index:100;top:1rem;left:1rem;background-color:#fff;border-radius:.375rem;box-shadow:var(--shadow-sm);padding:.5rem;cursor:pointer;border:none}.mobile-close-toggle{display:none;background:none;color:#fff;box-shadow:none}@media (min-width: 768px){body{flex-direction:row}.sidebar{position:fixed;width:var(--sidebar-width);transform:translate(0)}.main-content{padding-left:calc(var(--sidebar-width) + 2rem);padding-top:2rem}.mobile-menu-toggle{display:none}.header-right{display:flex}.appointment-item{flex-direction:row;align-items:center;justify-content:space-between}.appointment-time{width:6rem;margin-bottom:0}.appointment-details{flex-direction:row;align-items:center}.patient-age{margin-left:2rem}}
