@import"https://fonts.googleapis.com/css2?family=Noto+Sans+Bengali:wght@300;400;500;600;700;800&family=Inter:wght@300;400;500;600;700;800&display=swap";.app-layout[data-v-f899fe90]{display:flex;min-height:100vh;background:var(--bg-body);position:relative}.sidebar[data-v-f899fe90]{width:240px;min-height:100vh;background:var(--bg-sidebar);border-right:1px solid var(--border-sidebar);display:flex;flex-direction:column;position:sticky;top:0;height:100vh;overflow-y:auto;flex-shrink:0;transition:width .3s ease;z-index:100}.sidebar-collapsed[data-v-f899fe90]{width:64px}.sidebar-logo[data-v-f899fe90]{display:flex;align-items:center;gap:.75rem;padding:1.25rem 1rem;border-bottom:1px solid var(--border-sidebar);flex-shrink:0}.sidebar-logo-icon[data-v-f899fe90]{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:1.25rem;flex-shrink:0}.sidebar-logo-text h1[data-v-f899fe90]{font-size:.95rem;font-weight:700;color:var(--primary);line-height:1.2}.sidebar-logo-text p[data-v-f899fe90]{font-size:.65rem;color:var(--text-muted);line-height:1.3}.sidebar-nav[data-v-f899fe90]{flex:1;padding:.75rem .5rem;display:flex;flex-direction:column;gap:.125rem;overflow-y:auto}.sidebar-section-label[data-v-f899fe90]{font-size:.65rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.07em;padding:.5rem .75rem .25rem}.sidebar-divider[data-v-f899fe90]{height:1px;background:var(--border-sidebar);margin:.5rem .75rem}.sidebar-nav-item[data-v-f899fe90]{display:flex;align-items:center;gap:.75rem;padding:.625rem .75rem;border-radius:10px;color:var(--text-muted);font-size:.875rem;font-weight:500;text-decoration:none;transition:all .15s ease}.sidebar-nav-item[data-v-f899fe90]:hover{background:var(--bg-muted);color:var(--text-main)}.sidebar-nav-item.router-link-active[data-v-f899fe90]{background:var(--primary-light);color:var(--primary);font-weight:600}.sidebar-nav-item--admin.router-link-active[data-v-f899fe90]{background:#def0fc;color:var(--info)}.nav-item-icon[data-v-f899fe90]{font-size:1.1rem;flex-shrink:0;width:24px;text-align:center}.nav-item-label[data-v-f899fe90]{white-space:nowrap;overflow:hidden}.sidebar-bottom[data-v-f899fe90]{padding:.75rem .5rem;border-top:1px solid var(--border-sidebar);display:flex;flex-direction:column;gap:.5rem}.reminder-widget[data-v-f899fe90]{border-radius:10px;padding:.875rem 1rem;color:#fff}.reminder-widget-title[data-v-f899fe90]{font-size:.8rem;font-weight:600;margin-bottom:.125rem}.reminder-widget-sub[data-v-f899fe90]{font-size:.7rem;opacity:.9}.sidebar-logout-btn[data-v-f899fe90]{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;border-radius:10px;color:var(--text-muted);font-size:.875rem;transition:all .15s;width:100%;text-align:left}.sidebar-logout-btn[data-v-f899fe90]:hover{background:var(--destructive-bg);color:var(--destructive)}.sidebar-collapse-btn[data-v-f899fe90]{position:absolute;top:1.25rem;right:-12px;width:24px;height:24px;background:var(--bg-card);border:1px solid var(--border);border-radius:50%;font-size:.6rem;color:var(--text-muted);display:flex;align-items:center;justify-content:center;z-index:10;transition:all .15s}.sidebar-collapse-btn[data-v-f899fe90]:hover{border-color:var(--primary);color:var(--primary)}.main-area[data-v-f899fe90]{flex:1;display:flex;flex-direction:column;min-width:0}.top-header[data-v-f899fe90]{height:60px;background:var(--bg-card);border-bottom:1px solid var(--border);display:flex;align-items:center;gap:.75rem;padding:0 1.5rem;position:sticky;top:0;z-index:50}.header-spacer[data-v-f899fe90]{flex:1}.header-brand[data-v-f899fe90]{display:flex;align-items:center;gap:.5rem;font-weight:700;font-size:1rem;color:var(--primary)}.header-brand-icon[data-v-f899fe90]{width:30px;height:30px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:.875rem}.header-brand-name[data-v-f899fe90]{font-size:.95rem}.mobile-menu-btn[data-v-f899fe90]{width:36px;height:36px;border-radius:8px;background:var(--bg-muted);color:var(--text-main);font-size:1rem;display:flex;align-items:center;justify-content:center;transition:all .15s}.mobile-menu-btn[data-v-f899fe90]:hover{background:var(--primary-light);color:var(--primary)}.header-actions[data-v-f899fe90]{display:flex;align-items:center;gap:.5rem;margin-left:auto}.header-action-btn[data-v-f899fe90]{padding:.375rem .625rem;border-radius:8px;background:var(--bg-muted);color:var(--text-main);font-size:.8rem;transition:all .15s;position:relative}.header-action-btn[data-v-f899fe90]:hover{background:var(--primary-light);color:var(--primary)}.notif-btn[data-v-f899fe90]{position:relative}.notif-badge[data-v-f899fe90]{position:absolute;top:-4px;right:-4px;width:16px;height:16px;background:var(--destructive);color:#fff;border-radius:50%;font-size:.6rem;display:flex;align-items:center;justify-content:center;font-weight:700}.header-user-avatar[data-v-f899fe90]{width:34px;height:34px;border-radius:50%;color:#fff;font-weight:700;font-size:.875rem;display:flex;align-items:center;justify-content:center;cursor:pointer}.page-content[data-v-f899fe90]{flex:1;padding:1.5rem 1.5rem 2rem;max-width:1200px;width:100%;margin:0 auto}.mobile-bottom-nav[data-v-f899fe90]{position:fixed;bottom:0;left:0;width:100%;height:68px;background:var(--bg-card);border-top:1px solid var(--border);box-shadow:var(--shadow-nav);display:flex;justify-content:space-around;align-items:center;z-index:999;padding-bottom:env(safe-area-inset-bottom)}.mobile-nav-item[data-v-f899fe90]{display:flex;flex-direction:column;align-items:center;gap:3px;text-decoration:none;color:var(--text-muted);min-width:48px;transition:color .15s}.mobile-nav-item.active[data-v-f899fe90],.mobile-nav-item.router-link-active[data-v-f899fe90]{color:var(--primary)}.mobile-nav-icon[data-v-f899fe90]{font-size:1.3rem}.mobile-nav-label[data-v-f899fe90]{font-size:.65rem;font-weight:500}.mobile-fab-wrap[data-v-f899fe90]{position:relative;width:56px;display:flex;justify-content:center}.mobile-fab[data-v-f899fe90]{position:absolute;bottom:8px;width:52px;height:52px;border-radius:50%;border:3px solid var(--bg-card);color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 16px #1e8b6b66;transition:transform .2s}.mobile-fab[data-v-f899fe90]:active{transform:scale(.95)}.mobile-overlay[data-v-f899fe90]{position:fixed;inset:0;background:#00000080;z-index:1500;animation:fadeIn-f899fe90 .15s ease}.mobile-drawer[data-v-f899fe90]{width:280px;height:100%;background:var(--bg-card);display:flex;flex-direction:column;animation:slideInLeft-f899fe90 .25s ease}@keyframes slideInLeft-f899fe90{0%{transform:translate(-100%)}to{transform:translate(0)}}.mobile-drawer-header[data-v-f899fe90]{padding:1.5rem 1.25rem;display:flex;align-items:center;gap:.75rem}.mobile-drawer-nav[data-v-f899fe90]{flex:1;padding:.75rem .5rem;overflow-y:auto;display:flex;flex-direction:column;gap:.125rem}.mobile-drawer-item[data-v-f899fe90]{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;border-radius:10px;color:var(--text-main);font-size:.9rem;text-decoration:none;transition:all .15s}.mobile-drawer-item[data-v-f899fe90]:hover,.mobile-drawer-item.router-link-active[data-v-f899fe90]{background:var(--primary-light);color:var(--primary)}.mobile-drawer-item--admin.router-link-active[data-v-f899fe90]{background:#def0fc;color:var(--info)}.mobile-drawer-section[data-v-f899fe90]{font-size:.65rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.07em;padding:.75rem 1rem .25rem}.mobile-drawer-logout[data-v-f899fe90]{padding:1rem 1.25rem;border-top:1px solid var(--border);display:flex;align-items:center;gap:.5rem;color:var(--destructive);font-size:.875rem;width:100%;text-align:left}.fab-sheet[data-v-f899fe90]{position:fixed;bottom:80px;left:50%;transform:translate(-50%);background:var(--bg-card);border-radius:var(--radius-xl);padding:1.25rem;width:calc(100% - 2rem);max-width:360px;box-shadow:var(--shadow-elevated);z-index:2000;animation:slideInUp-f899fe90 .25s ease}.fab-sheet-title[data-v-f899fe90]{font-size:1rem;font-weight:600;color:var(--text-main);margin-bottom:1rem;text-align:center}.fab-sheet-grid[data-v-f899fe90]{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem}.fab-sheet-btn[data-v-f899fe90]{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:1rem .5rem;background:var(--bg-muted);border-radius:var(--radius);font-size:.75rem;color:var(--text-main);transition:all .15s}.fab-sheet-btn[data-v-f899fe90]:hover{background:var(--primary-light);color:var(--primary)}.fab-sheet-icon[data-v-f899fe90]{font-size:1.5rem}.toast-container[data-v-f899fe90]{position:fixed;bottom:90px;left:50%;transform:translate(-50%);z-index:9999;display:flex;flex-direction:column;gap:.5rem;pointer-events:none;align-items:center}.toast[data-v-f899fe90]{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:.625rem 1.25rem;box-shadow:var(--shadow-elevated);font-size:.875rem;color:var(--text-main);display:flex;align-items:center;gap:.5rem;animation:slideInUp-f899fe90 .3s ease;white-space:nowrap}.toast-error[data-v-f899fe90]{border-color:var(--destructive);background:var(--destructive-bg);color:var(--destructive)}.toast-success[data-v-f899fe90]{border-color:var(--success);background:var(--success-bg);color:var(--success)}.toast-info[data-v-f899fe90]{border-color:var(--info);background:var(--info-bg);color:var(--info)}@media(min-width:769px){.mobile-only[data-v-f899fe90]{display:none!important}.page-content[data-v-f899fe90]{padding-bottom:2rem}}@media(max-width:768px){.desktop-only[data-v-f899fe90]{display:none!important}.sidebar[data-v-f899fe90]{display:none}.main-area[data-v-f899fe90]{width:100%}.page-content[data-v-f899fe90]{padding:1rem;padding-bottom:120px}.top-header[data-v-f899fe90]{padding:0 1rem}}.fade-enter-active[data-v-f899fe90],.fade-leave-active[data-v-f899fe90]{transition:opacity .2s ease}.fade-enter-from[data-v-f899fe90],.fade-leave-to[data-v-f899fe90]{opacity:0}@keyframes fadeIn-f899fe90{0%{opacity:0}to{opacity:1}}@keyframes slideInUp-f899fe90{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.alarm-overlay[data-v-2c8d3531]{position:fixed;inset:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:9999;display:flex;align-items:center;justify-content:center;padding:1.5rem}.alarm-modal[data-v-2c8d3531]{background:var(--bg-card);border-radius:1.5rem;width:100%;max-width:400px;box-shadow:0 20px 40px #0003;display:flex;flex-direction:column;align-items:center;position:relative;overflow:hidden;padding:2.5rem 1.5rem 1.5rem}.dismiss-cross[data-v-2c8d3531]{position:absolute;top:1rem;right:1rem;background:none;border:none;font-size:1.25rem;color:var(--text-muted);cursor:pointer;width:32px;height:32px;border-radius:50%;transition:all .2s}.dismiss-cross[data-v-2c8d3531]:hover{background:var(--bg-muted);color:var(--text-main)}.alarm-ring-animation[data-v-2c8d3531]{position:relative;width:80px;height:80px;display:flex;align-items:center;justify-content:center;margin-bottom:1rem}.audio-hint[data-v-2c8d3531]{font-size:.72rem;color:var(--text-muted);background:var(--bg-muted);border-radius:var(--radius-full);padding:.2rem .75rem;margin-bottom:.75rem;animation:fadeIn-2c8d3531 .3s ease}.alarm-icon[data-v-2c8d3531]{font-size:3rem;z-index:2;animation:wobble-2c8d3531 2s infinite ease-in-out}.ring-pulse[data-v-2c8d3531]{position:absolute;width:100%;height:100%;background:var(--primary);border-radius:50%;opacity:0;animation:pulse-ring-2c8d3531 2s infinite cubic-bezier(.215,.61,.355,1);z-index:1}.alarm-title[data-v-2c8d3531]{font-size:1.5rem;font-weight:700;color:var(--text-main);margin-bottom:.25rem;text-align:center}.alarm-patient[data-v-2c8d3531]{font-size:1.1rem;color:var(--primary-dark);margin-bottom:1.5rem;text-align:center}.medicine-card[data-v-2c8d3531]{width:100%;background:var(--bg-muted);border:2px solid var(--border);border-radius:1rem;overflow:hidden;text-align:center;margin-bottom:1.5rem}.alarm-med-photo-wrap[data-v-2c8d3531]{width:100%;max-height:180px;overflow:hidden;border-radius:.85rem .85rem 0 0;background:var(--bg-body);display:flex;align-items:center;justify-content:center}.alarm-med-photo[data-v-2c8d3531]{width:100%;height:180px;object-fit:contain;max-height:50vw}.med-name[data-v-2c8d3531]{font-size:1.25rem;font-weight:700;color:var(--text-main);margin:.75rem 1rem .25rem}.med-dose[data-v-2c8d3531]{font-size:1rem;color:var(--text-muted);margin-bottom:.5rem}.med-inst[data-v-2c8d3531]{margin:0 1rem .75rem}.alarm-actions[data-v-2c8d3531]{width:100%;display:flex;flex-direction:column;gap:.75rem}.take-btn[data-v-2c8d3531]{padding:1rem;font-size:1.1rem;font-weight:700;border-radius:var(--radius-full)}.snooze-btn[data-v-2c8d3531]{padding:1rem;font-size:1rem;font-weight:600;border-radius:var(--radius-full)}.snooze-options[data-v-2c8d3531]{width:100%;background:var(--bg-muted);border-radius:1rem;padding:1rem}.snooze-grid[data-v-2c8d3531]{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem}@keyframes wobble-2c8d3531{0%{transform:rotate(0)}15%{transform:rotate(-15deg)}30%{transform:rotate(10deg)}45%{transform:rotate(-10deg)}60%{transform:rotate(5deg)}75%{transform:rotate(-5deg)}to{transform:rotate(0)}}@keyframes pulse-ring-2c8d3531{0%{transform:scale(.8);opacity:.8}to{transform:scale(2);opacity:0}}.animate-fade-in[data-v-2c8d3531]{animation:fadeIn-2c8d3531 .2s ease-out}@keyframes fadeIn-2c8d3531{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}:root{--primary: hsl(168, 65%, 38%);--primary-light: hsl(168, 50%, 90%);--primary-foreground: #ffffff;--primary-rgb: 30, 139, 107;--bg-body: hsl(150, 20%, 98%);--bg-card: hsl(0, 0%, 100%);--bg-muted: hsl(160, 15%, 93%);--bg-sidebar: hsl(168, 30%, 97%);--text-main: hsl(200, 25%, 10%);--text-muted: hsl(200, 10%, 45%);--text-sidebar: hsl(200, 20%, 20%);--border: hsl(168, 20%, 88%);--border-sidebar: hsl(168, 20%, 90%);--success: hsl(145, 63%, 42%);--success-bg: hsl(145, 63%, 95%);--warning: hsl(38, 92%, 50%);--warning-bg: hsl(38, 92%, 95%);--info: hsl(205, 85%, 50%);--info-bg: hsl(205, 85%, 95%);--destructive: hsl(0, 72%, 55%);--destructive-bg: hsl(0, 72%, 96%);--gradient-health: linear-gradient(135deg, hsl(168, 65%, 38%), hsl(168, 50%, 50%));--gradient-hero: linear-gradient(135deg, hsl(168, 65%, 38%), hsl(205, 85%, 50%));--gradient-card: linear-gradient(135deg, hsl(0, 0%, 100%), hsl(168, 20%, 97%));--shadow-card: 0 4px 24px -4px hsl(168, 30%, 30%, .08);--shadow-elevated: 0 8px 40px -8px hsl(168, 30%, 30%, .12);--shadow-nav: 0 -4px 20px -2px hsl(168, 30%, 30%, .1);--radius: .75rem;--radius-sm: .5rem;--radius-lg: 1rem;--radius-xl: 1.25rem;--radius-full: 9999px;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 1.875rem}[data-theme=dark]{--primary: hsl(168, 60%, 45%);--primary-light: hsl(168, 30%, 18%);--primary-foreground: #ffffff;--bg-body: hsl(200, 25%, 8%);--bg-card: hsl(200, 20%, 12%);--bg-muted: hsl(200, 15%, 16%);--bg-sidebar: hsl(200, 20%, 10%);--text-main: hsl(150, 15%, 92%);--text-muted: hsl(200, 10%, 55%);--text-sidebar: hsl(150, 15%, 85%);--border: hsl(200, 15%, 20%);--border-sidebar: hsl(200, 15%, 18%);--success: hsl(145, 55%, 45%);--success-bg: hsl(145, 30%, 15%);--warning: hsl(38, 85%, 50%);--warning-bg: hsl(38, 40%, 14%);--info: hsl(205, 80%, 55%);--info-bg: hsl(205, 40%, 14%);--destructive: hsl(0, 62%, 45%);--destructive-bg: hsl(0, 40%, 14%);--gradient-health: linear-gradient(135deg, hsl(168, 60%, 45%), hsl(168, 45%, 55%));--gradient-hero: linear-gradient(135deg, hsl(168, 60%, 45%), hsl(205, 80%, 55%));--gradient-card: linear-gradient(135deg, hsl(200, 20%, 12%), hsl(200, 15%, 15%));--shadow-card: 0 4px 24px -4px hsl(0, 0%, 0%, .3);--shadow-elevated: 0 8px 40px -8px hsl(0, 0%, 0%, .4);--shadow-nav: 0 -4px 20px -2px hsl(0, 0%, 0%, .25)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;scroll-behavior:smooth}body{font-family:Noto Sans Bengali,Inter,-apple-system,BlinkMacSystemFont,sans-serif;background-color:var(--bg-body);color:var(--text-main);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background-color .3s ease,color .3s ease}a{color:inherit;text-decoration:none}button{cursor:pointer;border:none;background:none;font-family:inherit}input,textarea,select{font-family:inherit}.gradient-health{background:var(--gradient-health)}.gradient-hero{background:var(--gradient-hero)}.gradient-card{background:var(--gradient-card)}.shadow-card{box-shadow:var(--shadow-card)}.shadow-elevated{box-shadow:var(--shadow-elevated)}.glass-effect{background:#fffc;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}[data-theme=dark] .glass-effect{background:#161e24d9}.text-primary{color:var(--primary)}.text-muted{color:var(--text-muted)}.text-success{color:var(--success)}.text-warning{color:var(--warning)}.text-info{color:var(--info)}.text-destructive{color:var(--destructive)}.bg-card{background:var(--bg-card)}.bg-muted{background:var(--bg-muted)}.bg-primary-light{background:var(--primary-light)}.bg-success{background:var(--success-bg)}.bg-warning{background:var(--warning-bg)}.bg-info{background:var(--info-bg)}.bg-destructive{background:var(--destructive-bg)}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);transition:box-shadow .2s ease,transform .2s ease}.card:hover{box-shadow:var(--shadow-elevated)}.card-content{padding:1.25rem}.card-header{padding:1.25rem 1.25rem .5rem;display:flex;align-items:center;justify-content:space-between}.card-title{font-size:var(--text-lg);font-weight:600;color:var(--text-main)}.stat-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.25rem;box-shadow:var(--shadow-card);transition:transform .2s ease,box-shadow .2s ease}.stat-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-elevated)}.stat-card-icon{width:44px;height:44px;border-radius:var(--radius);display:flex;align-items:center;justify-content:center;font-size:1.25rem;margin-bottom:.75rem}.stat-card-icon.primary{background:var(--primary-light);color:var(--primary)}.stat-card-icon.success{background:var(--success-bg);color:var(--success)}.stat-card-icon.warning{background:var(--warning-bg);color:var(--warning)}.stat-card-icon.info{background:var(--info-bg);color:var(--info)}.stat-card-value{font-size:var(--text-3xl);font-weight:700;color:var(--text-main);line-height:1}.stat-card-label{font-size:var(--text-sm);color:var(--text-muted);margin-top:.25rem}.stat-card-trend{font-size:var(--text-xs);color:var(--success);font-weight:600;margin-top:.25rem}.badge{display:inline-flex;align-items:center;padding:.25rem .75rem;border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:500;line-height:1}.badge.primary{background:var(--primary-light);color:var(--primary)}.badge.success{background:var(--success-bg);color:var(--success)}.badge.warning{background:var(--warning-bg);color:var(--warning)}.badge.info{background:var(--info-bg);color:var(--info)}.badge.destructive{background:var(--destructive-bg);color:var(--destructive)}.badge.outline{background:transparent;border:1px solid var(--border);color:var(--text-muted)}.badge.morning{background:#fef2dd;color:#ab6f07}.badge.noon{background:var(--info-bg);color:var(--info)}.badge.evening{background:var(--primary-light);color:var(--primary)}.badge.night{background:#ebe4f1;color:#7339ac}[data-theme=dark] .badge.morning{background:#453417;color:#f8bc54}[data-theme=dark] .badge.night{background:#33293d;color:#b285e0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.5rem 1rem;border-radius:var(--radius);font-size:var(--text-sm);font-weight:500;transition:all .2s ease;cursor:pointer;border:1px solid transparent;line-height:1;white-space:nowrap}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--gradient-health);color:var(--primary-foreground);border-color:transparent}.btn-primary:hover:not(:disabled){opacity:.9;transform:translateY(-1px)}.btn-secondary{background:var(--primary-light);color:var(--primary);border-color:transparent}.btn-outline{background:transparent;color:var(--text-main);border-color:var(--border)}.btn-outline:hover:not(:disabled){background:var(--bg-muted)}.btn-ghost{background:transparent;color:var(--text-muted);border-color:transparent}.btn-ghost:hover:not(:disabled){background:var(--bg-muted);color:var(--text-main)}.btn-destructive{background:var(--destructive);color:#fff}.btn-sm{padding:.375rem .75rem;font-size:var(--text-xs)}.btn-lg{padding:.75rem 1.5rem;font-size:var(--text-base)}.btn-icon{padding:.5rem;width:36px;height:36px}.form-group{display:flex;flex-direction:column;gap:.375rem}.form-label{font-size:var(--text-sm);font-weight:500;color:var(--text-main)}.form-input,.form-select,.form-textarea{width:100%;padding:.625rem .875rem;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);font-size:var(--text-sm);color:var(--text-main);outline:none;transition:border-color .2s,box-shadow .2s}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px #22a0871f}.form-textarea{resize:vertical;min-height:80px}.modal-overlay{position:fixed;inset:0;background:#00000080;z-index:1000;display:flex;align-items:center;justify-content:center;padding:1rem;animation:fadeIn .15s ease}.modal{background:var(--bg-card);border-radius:var(--radius-xl);box-shadow:var(--shadow-elevated);width:100%;max-width:480px;max-height:90vh;overflow-y:auto;animation:slideInUp .2s ease}.modal-header{padding:1.25rem 1.5rem 0;display:flex;align-items:center;justify-content:space-between}.modal-title{font-size:var(--text-lg);font-weight:600;color:var(--text-main)}.modal-body{padding:1rem 1.5rem 1.5rem;display:flex;flex-direction:column;gap:1rem}@media(max-width:640px){.modal-overlay{align-items:flex-end;padding:0}.modal{max-width:100%;max-height:calc(100vh - 80px);border-radius:var(--radius-xl) var(--radius-xl) 0 0}.modal-body{padding-bottom:90px}}.empty-state{display:flex;flex-direction:column;align-items:center;padding:3rem 1.5rem;text-align:center;color:var(--text-muted)}.empty-state-icon{font-size:3rem;margin-bottom:1rem;opacity:.5}.empty-state-text{font-size:var(--text-sm);line-height:1.5}.spinner{width:32px;height:32px;border:3px solid var(--primary-light);border-top-color:var(--primary);border-radius:50%;animation:spin .7s linear infinite;display:inline-block}.spinner-sm{width:16px;height:16px;border-width:2px}.toast-container{position:fixed;bottom:90px;left:50%;transform:translate(-50%);z-index:9999;display:flex;flex-direction:column;gap:.5rem;pointer-events:none}.toast{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:.75rem 1.25rem;box-shadow:var(--shadow-elevated);font-size:var(--text-sm);color:var(--text-main);display:flex;align-items:center;gap:.5rem;animation:slideInUp .3s ease;white-space:nowrap}.toggle{position:relative;display:inline-flex;width:48px;height:26px;flex-shrink:0}.toggle input{opacity:0;width:0;height:0}.toggle-track{position:absolute;inset:0;background:var(--bg-muted);border-radius:var(--radius-full);transition:background .2s;cursor:pointer}.toggle input:checked+.toggle-track{background:var(--primary)}.toggle-thumb{position:absolute;top:3px;left:3px;width:20px;height:20px;background:#fff;border-radius:50%;transition:transform .2s;pointer-events:none}.toggle input:checked~.toggle-thumb{transform:translate(22px)}.fade-enter-active,.fade-leave-active{transition:opacity .2s ease}.fade-enter-from,.fade-leave-to{opacity:0}.slide-up-enter-active,.slide-up-leave-active{transition:all .25s ease}.slide-up-enter-from,.slide-up-leave-to{opacity:0;transform:translateY(12px)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes pulseHealth{0%,to{opacity:1}50%{opacity:.85}}.animate-fade-in{animation:fadeIn .3s ease forwards}.animate-slide-up{animation:slideInUp .3s ease forwards}.animate-pulse-health{animation:pulseHealth 2s ease-in-out infinite}.status-pending{background:var(--warning-bg);color:var(--warning)}.status-completed{background:var(--success-bg);color:var(--success)}.status-missed{background:var(--destructive-bg);color:var(--destructive)}.status-snoozed{background:var(--info-bg);color:var(--info)}.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}@media(max-width:1024px){.grid-4{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.grid-3,.grid-4{grid-template-columns:repeat(2,1fr)}}@media(max-width:480px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.flex-1{flex:1}.shrink-0{flex-shrink:0}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.min-w-0{min-width:0}.w-full{width:100%}.space-y-2>*+*{margin-top:.5rem}.space-y-3>*+*{margin-top:.75rem}.space-y-4>*+*{margin-top:1rem}.space-y-6>*+*{margin-top:1.5rem}.space-y-8>*+*{margin-top:2rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-4{margin-top:1rem}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.pt-3{padding-top:.75rem}.rounded-full{border-radius:var(--radius-full)}.rounded-xl{border-radius:var(--radius-lg)}.border-t{border-top:1px solid var(--border)}.font-semibold{font-weight:600}.font-bold{font-weight:700}.text-sm{font-size:var(--text-sm)}.text-xs{font-size:var(--text-xs)}.text-lg{font-size:var(--text-lg)}.text-2xl{font-size:var(--text-2xl)}.text-3xl{font-size:var(--text-3xl)}.leading-relaxed{line-height:1.7}@media(min-width:769px){.mobile-only{display:none!important}}@media(max-width:768px){.desktop-only{display:none!important}}.ql-toolbar.ql-snow{background-color:var(--bg-muted);border-color:var(--border)!important;border-top-left-radius:var(--radius-md);border-top-right-radius:var(--radius-md)}.ql-container.ql-snow{background-color:var(--bg-card);border-color:var(--border)!important;border-bottom-left-radius:var(--radius-md);border-bottom-right-radius:var(--radius-md);color:var(--text-main);font-family:inherit}.ql-snow .ql-stroke{stroke:var(--text-main)!important}.ql-snow .ql-fill,.ql-snow .ql-stroke.ql-fill{fill:var(--text-main)!important}.ql-snow .ql-picker{color:var(--text-main)!important}.ql-snow .ql-picker-options{background-color:var(--bg-card)!important;border-color:var(--border)!important}.ql-snow .ql-picker-item:hover{color:var(--primary)!important}.ql-snow.ql-toolbar button:hover .ql-stroke,.ql-snow .ql-toolbar button:hover .ql-stroke,.ql-snow.ql-toolbar button.ql-active .ql-stroke,.ql-snow .ql-toolbar button.ql-active .ql-stroke{stroke:var(--primary)!important}.ql-snow.ql-toolbar button:hover .ql-fill,.ql-snow .ql-toolbar button:hover .ql-fill,.ql-snow.ql-toolbar button.ql-active .ql-fill,.ql-snow .ql-toolbar button.ql-active .ql-fill{fill:var(--primary)!important}
