:root{--color-primary: #0F766E;--color-primary-light: #14B8A6;--color-primary-dark: #0D5D56;--color-secondary: #7C3AED;--color-background: #0A0F1A;--color-surface: #111827;--color-surface-elevated: #1F2937;--color-border: #374151;--color-text-primary: #F9FAFB;--color-text-secondary: #9CA3AF;--color-success: #10B981;--color-warning: #F59E0B;--color-danger: #EF4444;--color-blood-sugar-high: #F97316;--color-blood-sugar-normal: #22C55E;--color-blood-sugar-low: #3B82F6;--color-blood-pressure-high: #EF4444;--color-blood-pressure-normal: #22C55E;--font-heading: "DM Sans", sans-serif;--font-body: "IBM Plex Sans", sans-serif;--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 16px;--spacing-lg: 24px;--spacing-xl: 32px;--spacing-2xl: 48px;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--shadow-card: 0 4px 6px -1px rgba(0, 0, 0, .3), 0 2px 4px -2px rgba(0, 0, 0, .2);--shadow-elevated: 0 10px 15px -3px rgba(0, 0, 0, .4), 0 4px 6px -4px rgba(0, 0, 0, .3)}*{margin:0;padding:0;box-sizing:border-box}html{font-size:16px;scroll-behavior:smooth}body{font-family:var(--font-body);background-color:var(--color-background);color:var(--color-text-primary);line-height:1.6;min-height:100vh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:600;line-height:1.3}h1{font-size:2.5rem;font-weight:700}h2{font-size:2rem}h3{font-size:1.5rem}a{color:var(--color-primary-light);text-decoration:none;transition:color .2s ease}a:hover{color:var(--color-primary)}button{font-family:var(--font-body);cursor:pointer;border:none;background:none}input,textarea,select{font-family:var(--font-body);font-size:1rem}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--color-surface)}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--color-text-secondary)}.container{max-width:1200px;margin:0 auto;padding:0 var(--spacing-md)}.card{background-color:var(--color-surface);border-radius:var(--radius-md);border:1px solid var(--color-border);box-shadow:var(--shadow-card);padding:var(--spacing-lg)}.card:hover{box-shadow:var(--shadow-elevated)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-lg);font-weight:500;font-size:.9375rem;transition:all .2s ease;white-space:nowrap}.btn-primary{background-color:var(--color-primary);color:#fff}.btn-primary:hover{background-color:var(--color-primary-light);transform:scale(1.02)}.btn-secondary{background-color:transparent;color:var(--color-primary-light);border:1px solid var(--color-primary-light)}.btn-secondary:hover{background-color:#14b8a61a}.btn-danger{background-color:var(--color-danger);color:#fff}.btn-danger:hover{background-color:#dc2626}.btn-ghost{background-color:transparent;color:var(--color-text-secondary)}.btn-ghost:hover{background-color:var(--color-surface-elevated);color:var(--color-text-primary)}.btn-icon{padding:var(--spacing-sm);border-radius:var(--radius-md)}.input{width:100%;padding:var(--spacing-sm) var(--spacing-md);background-color:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-primary);font-size:1rem;transition:all .2s ease}.input:focus{outline:none;border-color:var(--color-primary-light);box-shadow:0 0 0 3px #14b8a633}.input::placeholder{color:var(--color-text-secondary)}.input-error{border-color:var(--color-danger)}.label{display:block;margin-bottom:var(--spacing-xs);font-size:.875rem;font-weight:500;color:var(--color-text-secondary)}.form-group{margin-bottom:var(--spacing-md)}.text-center{text-align:center}.text-secondary{color:var(--color-text-secondary)}.text-success{color:var(--color-success)}.text-warning{color:var(--color-warning)}.text-danger{color:var(--color-danger)}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-sm{gap:var(--spacing-sm)}.gap-md{gap:var(--spacing-md)}.gap-lg{gap:var(--spacing-lg)}.mt-sm{margin-top:var(--spacing-sm)}.mt-md{margin-top:var(--spacing-md)}.mt-lg{margin-top:var(--spacing-lg)}.mb-sm{margin-bottom:var(--spacing-sm)}.mb-md{margin-bottom:var(--spacing-md)}.mb-lg{margin-bottom:var(--spacing-lg)}.status-low{color:var(--color-blood-sugar-low)}.status-normal{color:var(--color-blood-sugar-normal)}.status-pre-diabetic{color:var(--color-blood-sugar-high)}.status-high{color:var(--color-danger)}.status-elevated{color:var(--color-blood-sugar-high)}.status-crisis{color:#dc2626;animation:pulse 1.5s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.spinner{width:20px;height:20px;border:2px solid var(--color-border);border-top-color:var(--color-primary-light);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:fadeIn .3s ease forwards}@keyframes slideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.alert-slide-in{animation:slideIn .3s ease forwards}@media(max-width:640px){h1{font-size:1.75rem}h2{font-size:1.5rem}h3{font-size:1.25rem}.container{padding:0 var(--spacing-sm)}.card{padding:var(--spacing-md)}}.grid{display:grid}.grid-cols-2{grid-template-columns:repeat(2,1fr)}.grid-cols-3{grid-template-columns:repeat(3,1fr)}.grid-cols-4{grid-template-columns:repeat(4,1fr)}@media(max-width:768px){.grid-cols-2,.grid-cols-3,.grid-cols-4{grid-template-columns:1fr}}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-2xl);text-align:center;color:var(--color-text-secondary)}.empty-state svg{width:64px;height:64px;margin-bottom:var(--spacing-md);opacity:.5}.table{width:100%;border-collapse:collapse}.table th,.table td{padding:var(--spacing-sm) var(--spacing-md);text-align:left;border-bottom:1px solid var(--color-border)}.table th{font-weight:600;color:var(--color-text-secondary);font-size:.875rem}.table tbody tr:hover{background-color:var(--color-surface-elevated)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#000000b3;display:flex;align-items:center;justify-content:center;padding:var(--spacing-md);z-index:100}.modal-content{background-color:var(--color-surface);border-radius:var(--radius-xl);border:1px solid var(--color-border);box-shadow:var(--shadow-elevated);max-width:500px;width:100%;max-height:90vh;overflow-y:auto}.badge{display:inline-flex;align-items:center;padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.badge-success{background-color:#10b98133;color:var(--color-success)}.badge-warning{background-color:#f59e0b33;color:var(--color-warning)}.badge-danger{background-color:#ef444433;color:var(--color-danger)}.divider{height:1px;background-color:var(--color-border);margin:var(--spacing-md) 0}.avatar{width:40px;height:40px;border-radius:50%;background-color:var(--color-primary);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:600;font-size:1rem}.chart-container{width:100%;height:300px}.nav-link{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);color:var(--color-text-secondary);border-radius:var(--radius-md);transition:all .2s ease}.nav-link:hover{background-color:var(--color-surface-elevated);color:var(--color-text-primary)}.nav-link.active{background-color:#14b8a61a;color:var(--color-primary-light)}.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--spacing-lg);flex-wrap:wrap;gap:var(--spacing-md)}.page-title{font-size:1.75rem;font-weight:700}.select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%239CA3AF' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--spacing-sm) center;background-size:20px;padding-right:var(--spacing-xl)}
