@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap";.glass-btn{justify-content:center;align-items:center;gap:var(--spacing-sm);font-family:var(--font-family-primary);font-weight:var(--font-weight-medium);border-radius:var(--radius-lg);-webkit-backdrop-filter:blur(var(--glass-blur));cursor:pointer;border:var(--border-width-thin) solid transparent;transition:background var(--transition-fast), transform var(--transition-fast), box-shadow var(--transition-fast), border-color var(--transition-fast), opacity var(--transition-fast);-webkit-user-select:none;user-select:none;outline:none;display:inline-flex;position:relative;overflow:hidden}.glass-btn--sm{padding:6px var(--spacing-md);font-size:var(--font-size-xs);border-radius:var(--radius-md)}.glass-btn--md{padding:var(--spacing-sm) var(--spacing-lg);font-size:var(--font-size-sm)}.glass-btn--lg{padding:12px var(--spacing-xl);font-size:var(--font-size-base);border-radius:var(--radius-xl)}.glass-btn--full{width:100%}.glass-btn--primary{background:var(--glass-btn-bg);border-color:var(--glass-btn-border);color:var(--glass-btn-text);box-shadow:var(--glass-shadow)}.glass-btn--primary:hover:not(:disabled){background:var(--glass-btn-bg-hover);box-shadow:var(--shadow-md), var(--shadow-glow);transform:translateY(-2px)}.glass-btn--primary:active:not(:disabled){transform:translateY(0)}.glass-btn--secondary{background:var(--glass-btn-secondary-bg);border-color:var(--glass-btn-secondary-border);color:var(--glass-btn-secondary-text)}.glass-btn--secondary:hover:not(:disabled){background:var(--glass-btn-secondary-bg-hover);transform:translateY(-1px)}.glass-btn--danger{color:var(--color-danger);background:#ef44441a;border-color:#ef444440}.glass-btn--danger:hover:not(:disabled){background:#ef444433;transform:translateY(-1px)}.glass-btn--success{color:var(--color-success);background:#10b9811a;border-color:#10b98140}.glass-btn--success:hover:not(:disabled){background:#10b98133;transform:translateY(-1px)}.glass-btn:disabled{opacity:.5;cursor:not-allowed;transform:none!important}.glass-btn--loading{cursor:wait}.glass-btn__spinner{border:2px solid;border-top-color:#0000;border-radius:50%;width:16px;height:16px;animation:.6s linear infinite glass-btn-spin}.glass-btn__icon{align-items:center;font-size:1.1em;display:inline-flex}@keyframes glass-btn-spin{to{transform:rotate(360deg)}}.glass-modal-overlay{background-color:var(--modal-overlay-bg);-webkit-backdrop-filter:blur(4px);z-index:var(--z-modal);padding:var(--spacing-lg);animation:modalFadeIn var(--transition-normal) ease-out;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.glass-modal-card{background:var(--modal-card-bg);border:var(--border-width-thin) solid var(--modal-card-border);border-radius:var(--radius-xl);-webkit-backdrop-filter:blur(var(--glass-blur-strong));box-shadow:var(--modal-card-shadow);max-height:90vh;animation:modalSlideUp var(--transition-normal) ease-out;flex-direction:column;display:flex;overflow-y:auto}.glass-modal-card--sm{width:100%;max-width:400px}.glass-modal-card--md{width:100%;max-width:520px}.glass-modal-card--lg{width:100%;max-width:680px}.glass-modal-card--xl{width:100%;max-width:900px}.glass-modal-header{padding:var(--spacing-lg) var(--spacing-xl) var(--spacing-sm);border-bottom:1px solid var(--border-color-subtle);justify-content:space-between;align-items:center;display:flex}.glass-modal-title{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--text-primary);margin:0}.glass-modal-close{border-radius:var(--radius-md);width:32px;height:32px;color:var(--text-tertiary);font-size:var(--font-size-lg);cursor:pointer;transition:background var(--transition-fast), color var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;display:flex}.glass-modal-close:hover{background:var(--bg-hover);color:var(--text-primary)}.glass-modal-body{padding:var(--spacing-lg) var(--spacing-xl) var(--spacing-xl);flex:1}@keyframes modalFadeIn{0%{opacity:0}to{opacity:1}}@keyframes modalSlideUp{0%{opacity:0;transform:translateY(20px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.glass-modal-card::-webkit-scrollbar{width:4px}.glass-modal-card::-webkit-scrollbar-track{background:0 0}.glass-modal-card::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:var(--radius-full)}.glass-input-wrapper{flex-direction:column;gap:6px;width:100%;display:flex}.glass-input-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-secondary)}.glass-input-container{align-items:center;display:flex;position:relative}.glass-input{background:var(--bg-input);border:var(--border-width-thin) solid var(--border-color);border-radius:var(--radius-md);width:100%;color:var(--text-primary);font-family:var(--font-family-primary);transition:border-color var(--transition-fast), box-shadow var(--transition-fast), background var(--transition-fast);outline:none}.glass-input-wrapper--sm .glass-input{padding:6px var(--spacing-sm);font-size:var(--font-size-xs)}.glass-input-wrapper--md .glass-input{padding:10px var(--spacing-md);font-size:var(--font-size-sm)}.glass-input-wrapper--lg .glass-input{padding:14px var(--spacing-md);font-size:var(--font-size-base)}.glass-input--with-icon{padding-left:40px!important}.glass-input-icon{color:var(--text-tertiary);pointer-events:none;font-size:1.1em;display:flex;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.glass-input:focus{border-color:var(--border-focus);box-shadow:0 0 0 3px #3b82f626}.glass-input::placeholder{color:var(--text-placeholder)}.glass-input-wrapper--error .glass-input{border-color:var(--color-danger)}.glass-input-wrapper--error .glass-input:focus{box-shadow:0 0 0 3px #ef444426}.glass-input-error{font-size:var(--font-size-xs);color:var(--color-danger)}.glass-input-hint{font-size:var(--font-size-xs);color:var(--text-tertiary)}.glass-input-toggle-password{cursor:pointer;font-size:var(--font-size-base);color:var(--text-tertiary);background:0 0;border:none;align-items:center;padding:4px;display:flex;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.glass-input-toggle-password:hover{color:var(--text-secondary)}.auth-page{min-height:100vh;padding:var(--spacing-xl);background:radial-gradient(ellipse at 20% 50%, #3b82f614 0%, transparent 50%), radial-gradient(ellipse at 80% 20%, #06b6d40f 0%, transparent 50%), var(--bg-body);justify-content:center;align-items:center;display:flex}.auth-card{width:100%;max-width:440px;padding:var(--spacing-2xl)}.auth-header{text-align:center;margin-bottom:var(--spacing-xl)}.auth-title{font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);color:var(--text-primary);margin-bottom:var(--spacing-xs)}.auth-subtitle{font-size:var(--font-size-sm);color:var(--text-tertiary)}.auth-form{gap:var(--spacing-md);flex-direction:column;display:flex}.auth-error{font-size:var(--font-size-sm);color:var(--color-danger);text-align:center;padding:var(--spacing-sm) var(--spacing-md);background:var(--color-danger-light);border-radius:var(--radius-md)}.auth-info-text{font-size:var(--font-size-sm);color:var(--text-secondary);text-align:center;line-height:var(--line-height-relaxed)}.auth-2fa-info{font-size:var(--font-size-sm);color:var(--text-secondary);text-align:center;line-height:var(--line-height-relaxed);margin-bottom:var(--spacing-sm)}.auth-links{margin-top:var(--spacing-sm);justify-content:space-between;align-items:center;display:flex}.auth-text-link{color:var(--text-link);font-size:var(--font-size-sm);font-family:var(--font-family-primary);cursor:pointer;transition:color var(--transition-fast);background:0 0;border:none;padding:0}.auth-text-link:hover{color:var(--text-link-hover);text-decoration:underline}.auth-text-link-inline{color:var(--text-link);font-size:inherit;cursor:pointer;background:0 0;border:none;padding:0;font-family:inherit;text-decoration:underline}.auth-checkbox{align-items:flex-start;gap:var(--spacing-sm);font-size:var(--font-size-sm);color:var(--text-secondary);cursor:pointer;display:flex}.auth-checkbox input[type=checkbox]{accent-color:var(--color-primary);margin-top:3px}.auth-steps{justify-content:center;gap:var(--spacing-lg);margin-bottom:var(--spacing-xl);display:flex}.auth-step{width:32px;height:32px;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);background:var(--bg-input);color:var(--text-tertiary);border:2px solid var(--border-color);transition:all var(--transition-fast);border-radius:50%;justify-content:center;align-items:center;display:flex}.auth-step--active{background:var(--color-primary);color:var(--text-on-primary);border-color:var(--color-primary);box-shadow:0 0 12px #3b82f64d}.auth-step--done{background:var(--color-success);color:#fff;border-color:var(--color-success)}.auth-step__number{line-height:1}.auth-success-icon{text-align:center;margin-bottom:var(--spacing-md);font-size:3rem}@media (width<=480px){.auth-card{padding:var(--spacing-lg)}.auth-links{gap:var(--spacing-sm);flex-direction:column}}.dashboard-page{padding:var(--spacing-xl) var(--spacing-2xl);max-width:1200px}.page-header{margin-bottom:var(--spacing-xl)}.page-header h1{margin-bottom:var(--spacing-xs)}.page-subtitle{color:var(--text-tertiary);font-size:var(--font-size-sm)}.dashboard-stats{gap:var(--spacing-lg);margin-bottom:var(--spacing-2xl);grid-template-columns:repeat(auto-fit,minmax(220px,1fr));display:grid}.stat-card{align-items:center;gap:var(--spacing-md);padding:var(--spacing-lg) var(--spacing-xl);display:flex}.stat-icon{border-radius:var(--radius-lg);background:#3b82f61a;justify-content:center;align-items:center;width:48px;height:48px;font-size:2rem;display:flex}.stat-info{flex-direction:column;display:flex}.stat-value{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--text-primary)}.stat-label{font-size:var(--font-size-sm);color:var(--text-tertiary)}.dashboard-section{margin-bottom:var(--spacing-2xl)}.dashboard-section h3{margin-bottom:var(--spacing-md)}.section-header{margin-bottom:var(--spacing-md);justify-content:space-between;align-items:center;display:flex}.empty-state{text-align:center;padding:var(--spacing-2xl)}.empty-icon{margin-bottom:var(--spacing-md);font-size:3rem;display:block}.empty-state p{color:var(--text-tertiary)}.appointments-list{gap:var(--spacing-sm);flex-direction:column;display:flex}.appointment-item{align-items:center;gap:var(--spacing-lg);padding:var(--spacing-md) var(--spacing-lg);display:flex}.appointment-time{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-primary);min-width:80px}.appointment-info{flex-direction:column;gap:2px;display:flex}.appointment-patient{font-size:var(--font-size-sm);color:var(--text-primary)}.appointment-status{font-size:var(--font-size-xs);text-transform:uppercase;font-weight:var(--font-weight-semibold);letter-spacing:.5px}.appointment-status--scheduled{color:var(--color-warning)}.appointment-status--confirmed{color:var(--color-success)}.appointment-status--completed{color:var(--text-tertiary)}.quick-actions{gap:var(--spacing-md);grid-template-columns:repeat(auto-fit,minmax(160px,1fr));display:grid}.quick-action{align-items:center;gap:var(--spacing-sm);padding:var(--spacing-xl);cursor:pointer;font-family:var(--font-family-primary);transition:transform var(--transition-fast), box-shadow var(--transition-fast);border:none;flex-direction:column;display:flex}.quick-action:hover{box-shadow:var(--shadow-lg);transform:translateY(-3px)}.quick-action-icon{font-size:2rem}.quick-action-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-primary)}.consultation-page{padding:var(--spacing-xl) var(--spacing-2xl);max-width:1400px}.consultation-grid{gap:var(--spacing-xl);grid-template-columns:1fr 340px;align-items:start;display:grid}@media (width<=1024px){.consultation-grid{grid-template-columns:1fr}}.form-section{margin-bottom:var(--spacing-lg)}.form-section-title{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--text-primary);margin-bottom:var(--spacing-xs);align-items:center;gap:var(--spacing-sm);display:flex}.form-section-hint{font-size:var(--font-size-xs);color:var(--text-tertiary);margin-bottom:var(--spacing-md)}.soap-letter{border-radius:var(--radius-md);background:var(--color-primary);width:28px;height:28px;color:var(--text-on-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);justify-content:center;align-items:center;display:inline-flex}.glass-textarea{background:var(--bg-input);border:var(--border-width-thin) solid var(--border-color);border-radius:var(--radius-md);width:100%;color:var(--text-primary);font-family:var(--font-family-primary);font-size:var(--font-size-sm);padding:var(--spacing-md);resize:vertical;min-height:80px;transition:border-color var(--transition-fast), box-shadow var(--transition-fast);outline:none}.glass-textarea:focus{border-color:var(--border-focus);box-shadow:0 0 0 3px #3b82f626}.glass-textarea::placeholder{color:var(--text-placeholder)}.vitals-grid{gap:var(--spacing-md);grid-template-columns:repeat(auto-fit,minmax(140px,1fr));display:grid}.cie10-autocomplete{margin-top:var(--spacing-md);position:relative}.cie10-dropdown{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);max-height:240px;z-index:var(--z-dropdown);animation:fadeIn var(--transition-fast) ease-out;position:absolute;top:100%;left:0;right:0;overflow-y:auto}.cie10-option{align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);width:100%;color:var(--text-primary);font-family:var(--font-family-primary);font-size:var(--font-size-sm);cursor:pointer;text-align:left;transition:background var(--transition-fast);background:0 0;border:none;display:flex}.cie10-option:hover{background:var(--bg-hover)}.cie10-code{font-weight:var(--font-weight-semibold);color:var(--color-primary);min-width:50px}.cie10-desc{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.cie10-cat{font-size:var(--font-size-xs);color:var(--text-tertiary);white-space:nowrap}.prescription-list{gap:var(--spacing-sm);flex-direction:column;display:flex}.prescription-item{padding:var(--spacing-sm) var(--spacing-md);background:var(--bg-input);border-radius:var(--radius-md);flex-direction:column;gap:2px;display:flex}.prescription-item-header{justify-content:space-between;align-items:center;display:flex}.prescription-item-header strong{font-size:var(--font-size-sm);color:var(--text-primary)}.prescription-remove{color:var(--text-tertiary);cursor:pointer;font-size:var(--font-size-sm);border-radius:var(--radius-sm);background:0 0;border:none;padding:2px 6px}.prescription-remove:hover{color:var(--color-danger);background:#ef44441a}.prescription-detail{font-size:var(--font-size-xs);color:var(--text-secondary)}.prescription-notes{font-size:var(--font-size-xs);color:var(--text-tertiary);font-style:italic}.empty-hint{font-size:var(--font-size-sm);color:var(--text-tertiary);text-align:center;padding:var(--spacing-lg) 0}.consultation-actions{gap:var(--spacing-md);top:var(--spacing-xl);flex-direction:column;display:flex;position:sticky}.consultation-success{font-size:var(--font-size-sm);color:var(--color-success);text-align:center;padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-md);background:#10b9811a}.finalize-warning{font-size:var(--font-size-xs);color:var(--text-tertiary);text-align:center;line-height:var(--line-height-relaxed)}.consultation-error{font-size:var(--font-size-sm);color:var(--color-danger);text-align:center;padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-md);background:#ef44441a}.med-autocomplete{position:relative}.med-dropdown{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);max-height:240px;z-index:var(--z-dropdown);animation:fadeIn var(--transition-fast) ease-out;position:absolute;top:calc(100% - 24px);left:0;right:0;overflow-y:auto}.med-option{padding:var(--spacing-sm) var(--spacing-md);width:100%;color:var(--text-primary);font-family:var(--font-family-primary);font-size:var(--font-size-sm);cursor:pointer;text-align:left;transition:background var(--transition-fast);border:none;border-bottom:1px solid var(--border-color-subtle);background:0 0;flex-direction:column;gap:2px;display:flex}.med-option:last-child{border-bottom:none}.med-option:hover{background:var(--bg-hover)}.med-generic{font-weight:var(--font-weight-semibold);color:var(--text-primary)}.med-commercial{font-weight:var(--font-weight-medium);color:var(--color-primary);font-size:var(--font-size-xs)}.med-presentation{font-size:var(--font-size-xs);color:var(--text-tertiary)}.med-hint{font-size:var(--font-size-xs);color:var(--text-tertiary);margin-top:var(--spacing-xs);font-style:italic}.consultation-extra-actions{gap:var(--spacing-md);flex-wrap:wrap;display:flex}.attached-files-list{margin-top:var(--spacing-md)}.attached-files-list h5{font-size:var(--font-size-sm);color:var(--text-secondary);margin-bottom:var(--spacing-sm)}.attached-file-item{align-items:center;gap:var(--spacing-sm);padding:var(--spacing-xs) var(--spacing-sm);background:var(--bg-input);border-radius:var(--radius-sm);margin-bottom:var(--spacing-xs);font-size:var(--font-size-sm);display:flex}.attached-file-name{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.attached-file-size{color:var(--text-tertiary);font-size:var(--font-size-xs)}.file-upload-content{gap:var(--spacing-lg);flex-direction:column;display:flex}.file-upload-zone{border:2px dashed var(--border-color);border-radius:var(--radius-md);padding:var(--spacing-2xl) var(--spacing-lg);text-align:center;cursor:pointer;transition:all var(--transition-fast);color:var(--text-tertiary)}.file-upload-zone:hover{border-color:var(--color-primary);background:#3b82f60d}.file-upload-icon{margin-bottom:var(--spacing-sm);font-size:2.5rem;display:block}.file-upload-hint{font-size:var(--font-size-xs);color:var(--text-tertiary);margin-top:var(--spacing-xs)}.file-uploading{text-align:center;color:var(--color-primary);font-size:var(--font-size-sm);animation:1.5s infinite pulse}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.file-upload-divider{align-items:center;gap:var(--spacing-md);color:var(--text-tertiary);font-size:var(--font-size-xs);display:flex}.file-upload-divider:before,.file-upload-divider:after{content:"";background:var(--border-color);flex:1;height:1px}.qr-link-result{text-align:center;padding:var(--spacing-md);background:var(--bg-input);border-radius:var(--radius-md)}.qr-link-url{font-family:var(--font-family-mono);font-size:var(--font-size-xs);color:var(--color-primary);word-break:break-all;margin:var(--spacing-sm) 0;padding:var(--spacing-sm);background:var(--bg-surface);border-radius:var(--radius-sm);display:block}.qr-link-expiry{font-size:var(--font-size-xs);color:var(--text-tertiary)}.landing-page{background:var(--bg-body);min-height:100vh}.landing-nav{padding:var(--spacing-md) var(--spacing-2xl);z-index:var(--z-fixed);background:var(--bg-topbar);border-bottom:1px solid var(--border-color-subtle);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}.landing-nav-logo{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--color-primary)}.landing-nav-links{align-items:center;gap:var(--spacing-md);display:flex}.landing-nav-link{color:var(--text-secondary);font-family:var(--font-family-primary);font-size:var(--font-size-sm);cursor:pointer;padding:var(--spacing-xs) var(--spacing-sm);transition:color var(--transition-fast);background:0 0;border:none}.landing-nav-link:hover{color:var(--text-primary)}.landing-hero{gap:var(--spacing-2xl);padding:80px var(--spacing-2xl) 60px;grid-template-columns:1fr 1fr;align-items:center;max-width:1200px;margin:0 auto;display:grid}.hero-title{font-size:3.2rem;font-weight:var(--font-weight-bold);margin-bottom:var(--spacing-lg);line-height:1.15}.hero-gradient-text{background:linear-gradient(135deg, var(--color-primary), #06b6d4);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.hero-subtitle{font-size:var(--font-size-lg);color:var(--text-secondary);line-height:var(--line-height-relaxed);margin-bottom:var(--spacing-xl);max-width:500px}.hero-actions{gap:var(--spacing-md);display:flex}.hero-mockup{box-shadow:var(--shadow-xl);padding:0;overflow:hidden}.mockup-bar{border-bottom:1px solid var(--border-color-subtle);gap:6px;padding:10px 14px;display:flex}.mockup-dot{background:var(--text-tertiary);opacity:.4;border-radius:50%;width:10px;height:10px}.mockup-dot:first-child{opacity:.7;background:#ef4444}.mockup-dot:nth-child(2){opacity:.7;background:#f59e0b}.mockup-dot:nth-child(3){opacity:.7;background:#22c55e}.mockup-content{min-height:260px;display:flex}.mockup-sidebar{border-right:1px solid var(--border-color-subtle);flex-direction:column;gap:8px;width:48px;padding:12px 8px;display:flex}.mockup-nav-item{background:var(--border-color);border-radius:4px;height:8px}.mockup-active{background:var(--color-primary);opacity:.7}.mockup-main{flex-direction:column;flex:1;gap:12px;padding:16px;display:flex}.mockup-card-row{gap:8px;display:flex}.mockup-stat{background:var(--bg-input);border-radius:var(--radius-md);border:1px solid var(--border-color-subtle);flex:1;height:50px}.mockup-table{flex-direction:column;flex:1;gap:6px;display:flex}.mockup-row{background:var(--bg-input);border-radius:var(--radius-sm);opacity:.6;height:20px}.landing-features{padding:80px var(--spacing-2xl);text-align:center;max-width:1200px;margin:0 auto}.features-title{font-size:var(--font-size-3xl);margin-bottom:var(--spacing-xs)}.features-subtitle{color:var(--text-tertiary);margin-bottom:var(--spacing-2xl)}.features-grid{gap:var(--spacing-lg);text-align:left;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));display:grid}.feature-card{padding:var(--spacing-xl);transition:transform var(--transition-fast), box-shadow var(--transition-fast)}.feature-card:hover{box-shadow:var(--shadow-xl);transform:translateY(-4px)}.feature-icon{margin-bottom:var(--spacing-md);font-size:2rem;display:block}.feature-card h3{margin-bottom:var(--spacing-sm);font-size:var(--font-size-base)}.feature-card p{font-size:var(--font-size-sm);color:var(--text-secondary);line-height:var(--line-height-relaxed)}.landing-cta{padding:60px var(--spacing-2xl);max-width:800px;margin:0 auto}.cta-card{text-align:center;padding:var(--spacing-2xl)}.cta-card h2{margin-bottom:var(--spacing-sm)}.cta-card p{color:var(--text-secondary);margin-bottom:var(--spacing-xl)}.landing-footer{border-top:1px solid var(--border-color-subtle);padding:var(--spacing-xl) var(--spacing-2xl)}.footer-content{justify-content:space-between;align-items:center;max-width:1200px;margin:0 auto;display:flex}.footer-logo{font-weight:var(--font-weight-bold);color:var(--color-primary)}.footer-copy{font-size:var(--font-size-xs);color:var(--text-tertiary)}@media (width<=768px){.landing-hero{padding:40px var(--spacing-lg);text-align:center;grid-template-columns:1fr}.hero-title{font-size:2.2rem}.hero-subtitle{max-width:100%}.hero-actions{justify-content:center}.hero-visual{display:none}.features-grid{grid-template-columns:1fr}.landing-nav{padding:var(--spacing-md) var(--spacing-lg)}.footer-content{gap:var(--spacing-sm);flex-direction:column}}.pricing-page{background:var(--bg-body);min-height:100vh}.pricing-content{max-width:1200px;padding:40px var(--spacing-2xl) 80px;margin:0 auto}.pricing-header{text-align:center;margin-bottom:var(--spacing-2xl)}.pricing-header h1{margin-bottom:var(--spacing-xs)}.pricing-header p{color:var(--text-tertiary);margin-bottom:var(--spacing-xl)}.billing-toggle{background:var(--bg-input);border-radius:var(--radius-lg);border:1px solid var(--border-color);padding:4px;display:inline-flex}.billing-option{padding:var(--spacing-sm) var(--spacing-xl);color:var(--text-secondary);font-family:var(--font-family-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;border-radius:var(--radius-md);transition:all var(--transition-fast);align-items:center;gap:var(--spacing-xs);background:0 0;border:none;display:flex}.billing-option--active{background:var(--color-primary);color:var(--text-on-primary);box-shadow:var(--shadow-sm)}.billing-badge{font-size:var(--font-size-xs);color:var(--color-success);border-radius:var(--radius-full);font-weight:var(--font-weight-semibold);background:#10b98133;padding:2px 8px}.billing-option--active .billing-badge{color:#fff;background:#fff3}.pricing-grid{gap:var(--spacing-xl);grid-template-columns:repeat(auto-fit,minmax(300px,1fr));align-items:start;display:grid}.pricing-card{padding:var(--spacing-xl);transition:transform var(--transition-fast), box-shadow var(--transition-fast);flex-direction:column;display:flex;position:relative}.pricing-card:hover{box-shadow:var(--shadow-xl);transform:translateY(-4px)}.pricing-card--recommended{border:2px solid var(--color-primary);box-shadow:0 0 30px #3b82f626}.recommended-badge{background:var(--color-primary);color:#fff;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);border-radius:var(--radius-full);white-space:nowrap;padding:4px 16px;position:absolute;top:-12px;left:50%;transform:translate(-50%)}.plan-name{font-size:var(--font-size-xl);margin-bottom:var(--spacing-xs)}.plan-description{font-size:var(--font-size-sm);color:var(--text-tertiary);margin-bottom:var(--spacing-lg)}.plan-price{margin-bottom:var(--spacing-xs)}.plan-amount{font-size:2.5rem;font-weight:var(--font-weight-bold);color:var(--text-primary)}.plan-period{font-size:var(--font-size-sm);color:var(--text-tertiary);margin-left:var(--spacing-xs)}.plan-savings{font-size:var(--font-size-xs);color:var(--color-success);margin-bottom:var(--spacing-md)}.plan-meta{gap:var(--spacing-lg);font-size:var(--font-size-sm);color:var(--text-secondary);margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-lg);border-bottom:1px solid var(--border-color-subtle);display:flex}.plan-features{margin:0 0 var(--spacing-xl) 0;flex:1;padding:0;list-style:none}.plan-features li{font-size:var(--font-size-sm);color:var(--text-secondary);padding:var(--spacing-xs) 0;line-height:var(--line-height-relaxed)}@media (width<=768px){.pricing-grid{grid-template-columns:1fr;max-width:400px;margin:0 auto}}.patients-page{padding:var(--spacing-xl) var(--spacing-2xl);max-width:1200px;margin:0 auto}.patients-header{justify-content:space-between;align-items:flex-start;gap:var(--spacing-lg);margin-bottom:var(--spacing-xl);display:flex}.patients-title{font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);color:var(--text-primary);margin:0}.patients-subtitle{font-size:var(--font-size-sm);color:var(--text-tertiary);margin:var(--spacing-xs) 0 0}.patients-search-bar{align-items:center;gap:var(--spacing-md);margin-bottom:var(--spacing-lg);display:flex}.patients-search-bar .glass-input-wrapper{flex:1}.patients-count{font-size:var(--font-size-sm);color:var(--text-tertiary);white-space:nowrap;font-weight:var(--font-weight-medium)}.patients-table-container{padding:0;overflow:hidden}.patients-table{border-collapse:collapse;width:100%;font-size:var(--font-size-sm)}.patients-table thead{z-index:var(--z-dropdown);position:sticky;top:0}.patients-table th{padding:var(--spacing-md) var(--spacing-lg);text-align:left;font-weight:var(--font-weight-semibold);font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--text-tertiary);background:var(--bg-secondary);border-bottom:var(--border-width-thin) solid var(--border-color)}.patients-table td{padding:var(--spacing-md) var(--spacing-lg);color:var(--text-secondary);border-bottom:var(--border-width-thin) solid var(--border-color-subtle);transition:background var(--transition-fast)}.patients-table tbody tr{cursor:pointer;transition:background var(--transition-fast)}.patients-table tbody tr:hover{background:var(--bg-hover)}.patients-table tbody tr:last-child td{border-bottom:none}.patients-cell-name{align-items:center;gap:var(--spacing-sm);display:flex}.patients-avatar{border-radius:var(--radius-full);width:36px;height:36px;font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);color:var(--text-on-primary);background:linear-gradient(135deg, var(--color-primary), var(--color-accent));flex-shrink:0;justify-content:center;align-items:center;display:flex}.patients-cell-name span{font-weight:var(--font-weight-medium);color:var(--text-primary)}.patients-actions{gap:var(--spacing-xs);display:flex}.patients-action-btn{background:var(--glass-btn-secondary-bg);border:var(--border-width-thin) solid var(--glass-btn-secondary-border);border-radius:var(--radius-md);padding:var(--spacing-xs) var(--spacing-sm);cursor:pointer;font-size:var(--font-size-sm);transition:all var(--transition-fast);line-height:1}.patients-action-btn:hover{background:var(--glass-btn-secondary-bg-hover);transform:scale(1.08)}.patients-loading,.patients-empty{padding:var(--spacing-3xl) var(--spacing-xl);text-align:center;color:var(--text-tertiary);flex-direction:column;justify-content:center;align-items:center;display:flex}.patients-spinner{border:3px solid var(--border-color);border-top-color:var(--color-primary);border-radius:var(--radius-full);width:36px;height:36px;margin-bottom:var(--spacing-md);animation:.8s linear infinite patients-spin}@keyframes patients-spin{to{transform:rotate(360deg)}}.patients-empty-icon{margin-bottom:var(--spacing-md);font-size:3rem}.patients-empty h3{color:var(--text-primary);margin:0 0 var(--spacing-xs)}.patients-empty p{margin:0 0 var(--spacing-lg);font-size:var(--font-size-sm)}.patients-pagination{justify-content:center;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md) var(--spacing-lg);border-top:var(--border-width-thin) solid var(--border-color-subtle);display:flex}.patients-page-info{font-size:var(--font-size-sm);color:var(--text-tertiary)}.patients-form{gap:var(--spacing-md);flex-direction:column;display:flex}.patients-form-row{gap:var(--spacing-md);grid-template-columns:1fr 1fr;display:grid}.patients-form-error{color:var(--color-danger);font-size:var(--font-size-sm);padding:var(--spacing-sm) var(--spacing-md);background:var(--color-danger-light);border-radius:var(--radius-md);margin:0}.patients-form-actions{justify-content:flex-end;gap:var(--spacing-sm);padding-top:var(--spacing-md);border-top:var(--border-width-thin) solid var(--border-color-subtle);display:flex}.patients-detail-grid{gap:var(--spacing-md);margin-bottom:var(--spacing-xl);grid-template-columns:repeat(auto-fit,minmax(140px,1fr));display:grid}.patients-detail-card{padding:var(--spacing-md);background:var(--glass-bg);border:var(--border-width-thin) solid var(--glass-border);border-radius:var(--radius-lg);-webkit-backdrop-filter:blur(var(--glass-blur));backdrop-filter:blur(var(--glass-blur));gap:var(--spacing-xs);flex-direction:column;display:flex}.patients-detail-label{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);text-transform:uppercase;letter-spacing:.05em;color:var(--text-tertiary)}.patients-detail-value{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--text-primary);word-break:break-word}.patients-detail-value--accent{color:var(--color-primary);font-size:var(--font-size-2xl)}.patients-detail-history h4{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--text-primary);margin:0 0 var(--spacing-md)}.patients-detail-loading,.patients-detail-empty{color:var(--text-tertiary);font-size:var(--font-size-sm);text-align:center;padding:var(--spacing-lg)}.patients-history-list{gap:var(--spacing-sm);flex-direction:column;max-height:280px;display:flex;overflow-y:auto}.patients-history-item{align-items:flex-start;gap:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-md);background:var(--glass-bg);border:var(--border-width-thin) solid var(--glass-border);border-radius:var(--radius-md);display:flex}.patients-history-date{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--text-tertiary);white-space:nowrap;min-width:80px;padding-top:2px}.patients-history-info{gap:var(--spacing-xs);flex-direction:column;flex:1;display:flex}.patients-history-dx{font-size:var(--font-size-sm);color:var(--text-primary)}.patients-history-status{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);border-radius:var(--radius-full);width:fit-content;padding:2px 8px}.patients-history-status--finalized{background:var(--color-success-light);color:var(--color-success)}.patients-history-status--draft{background:var(--color-warning-light);color:var(--color-warning)}@media (width<=768px){.patients-page{padding:var(--spacing-md)}.patients-header{gap:var(--spacing-md);flex-direction:column}.patients-search-bar{flex-direction:column;align-items:stretch}.patients-form-row{grid-template-columns:1fr}.patients-table th:nth-child(4),.patients-table td:nth-child(4),.patients-table th:nth-child(5),.patients-table td:nth-child(5){display:none}.patients-detail-grid{grid-template-columns:1fr 1fr}}.config-page{padding:var(--spacing-xl) var(--spacing-2xl);max-width:1000px;margin:0 auto}.config-title{font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);color:var(--text-primary);margin:0}.config-subtitle{font-size:var(--font-size-sm);color:var(--text-tertiary);margin:var(--spacing-xs) 0 var(--spacing-xl)}.config-tabs{gap:var(--spacing-xs);background:var(--glass-bg);border:var(--border-width-thin) solid var(--glass-border);border-radius:var(--radius-xl);padding:var(--spacing-xs);margin-bottom:var(--spacing-xl);-webkit-backdrop-filter:blur(var(--glass-blur));backdrop-filter:blur(var(--glass-blur));display:flex}.config-tab{padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-lg);font-family:var(--font-family-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-tertiary);cursor:pointer;transition:all var(--transition-fast);justify-content:center;align-items:center;gap:var(--spacing-xs);background:0 0;border:none;flex:1;display:flex}.config-tab:hover{color:var(--text-primary);background:var(--bg-hover)}.config-tab--active{background:var(--color-primary);color:var(--text-on-primary);box-shadow:var(--shadow-md)}.config-tab--active:hover{background:var(--color-primary-hover);color:var(--text-on-primary)}.config-tab-count{font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);border-radius:var(--radius-full);background:#fff3;padding:1px 6px}.config-section-header{margin-bottom:var(--spacing-lg);justify-content:space-between;align-items:center;display:flex}.config-section-header h2{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--text-primary);margin:0}.config-loading{text-align:center;color:var(--text-tertiary);padding:var(--spacing-xl)}.config-empty{text-align:center;padding:var(--spacing-3xl);align-items:center;gap:var(--spacing-sm);flex-direction:column;display:flex}.config-empty span{font-size:3rem}.config-empty h3{color:var(--text-primary);margin:0}.config-empty p{color:var(--text-tertiary);font-size:var(--font-size-sm);margin:0 0 var(--spacing-md)}.config-offices-grid{gap:var(--spacing-md);grid-template-columns:repeat(auto-fill,minmax(280px,1fr));display:grid}.config-office-card{align-items:flex-start;gap:var(--spacing-md);padding:var(--spacing-lg);display:flex;position:relative}.config-office-icon{flex-shrink:0;font-size:2rem}.config-office-info h3{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--text-primary);margin:0 0 var(--spacing-xs)}.config-office-address{font-size:var(--font-size-sm);color:var(--text-secondary);margin:0 0 var(--spacing-xs)}.config-office-coords{font-size:var(--font-size-xs);color:var(--text-tertiary);margin:0}.config-status-dot{top:var(--spacing-md);right:var(--spacing-md);border-radius:var(--radius-full);background:var(--color-danger);width:10px;height:10px;position:absolute}.config-status-dot--active{background:var(--color-success);box-shadow:0 0 6px var(--color-success)}.config-schedules-grouped{gap:var(--spacing-md);flex-direction:column;display:flex}.config-schedule-group{padding:var(--spacing-lg)}.config-schedule-office-name{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--text-primary);margin:0 0 var(--spacing-md)}.config-schedule-list{gap:var(--spacing-sm);flex-direction:column;display:flex}.config-schedule-row{align-items:center;gap:var(--spacing-lg);padding:var(--spacing-sm) var(--spacing-md);background:var(--glass-bg);border-radius:var(--radius-md);border:var(--border-width-thin) solid var(--glass-border);display:flex}.config-schedule-day{font-weight:var(--font-weight-semibold);color:var(--text-primary);min-width:100px;font-size:var(--font-size-sm)}.config-schedule-time{color:var(--color-primary);font-weight:var(--font-weight-medium);font-size:var(--font-size-sm)}.config-schedule-slot{color:var(--text-tertiary);font-size:var(--font-size-xs);margin-left:auto}.config-team-list{gap:var(--spacing-sm);flex-direction:column;display:flex}.config-team-card{align-items:center;gap:var(--spacing-md);padding:var(--spacing-md) var(--spacing-lg);display:flex;position:relative}.config-team-avatar{border-radius:var(--radius-full);width:40px;height:40px;font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);color:var(--text-on-primary);background:linear-gradient(135deg, var(--color-primary), var(--color-accent));flex-shrink:0;justify-content:center;align-items:center;display:flex}.config-team-info h4{font-size:var(--font-size-base);font-weight:var(--font-weight-medium);color:var(--text-primary);margin:0 0 var(--spacing-xs)}.config-badge{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);border-radius:var(--radius-full);padding:2px 10px}.config-badge--primary{background:var(--color-info-light);color:var(--color-primary)}.config-badge--accent{color:var(--color-accent);background:#06b6d41f}.config-badge--secondary{background:var(--bg-hover);color:var(--text-secondary)}.config-role-selector{gap:var(--spacing-sm);display:flex}.config-role-option{padding:var(--spacing-md);border:var(--border-width-medium) solid var(--border-color);border-radius:var(--radius-lg);font-family:var(--font-family-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-secondary);cursor:pointer;text-align:center;transition:all var(--transition-fast);background:0 0;flex:1}.config-role-option:hover{border-color:var(--color-primary);color:var(--text-primary)}.config-role-option--active{border-color:var(--color-primary);background:var(--glass-btn-bg);color:var(--color-primary)}.schedule-grid{gap:var(--spacing-xs);border:var(--border-width-thin) solid var(--border-color);border-radius:var(--radius-lg);flex-direction:column;display:flex;overflow:hidden}.schedule-grid-header{gap:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-md);background:var(--bg-secondary);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:.05em;color:var(--text-tertiary);grid-template-columns:120px 60px 1fr 1fr;display:grid}.schedule-grid-row{gap:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-md);transition:opacity var(--transition-fast), background var(--transition-fast);grid-template-columns:120px 60px 1fr 1fr;align-items:center;display:grid}.schedule-grid-row:hover{background:var(--bg-hover)}.schedule-grid-row--disabled{opacity:.45}.schedule-grid-day{font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);color:var(--text-primary)}.schedule-time-input{min-height:34px;padding:var(--spacing-xs) var(--spacing-sm)!important;font-size:var(--font-size-sm)!important}.schedule-toggle{cursor:pointer;width:40px;height:22px;display:inline-block;position:relative}.schedule-toggle input{opacity:0;width:0;height:0}.schedule-toggle-slider{background:var(--border-color-strong);border-radius:var(--radius-full);transition:background var(--transition-fast);position:absolute;inset:0}.schedule-toggle-slider:before{content:"";border-radius:var(--radius-full);width:16px;height:16px;transition:transform var(--transition-fast);background:#fff;position:absolute;bottom:3px;left:3px}.schedule-toggle input:checked+.schedule-toggle-slider{background:var(--color-primary)}.schedule-toggle input:checked+.schedule-toggle-slider:before{transform:translate(18px)}@media (width<=768px){.config-page{padding:var(--spacing-md)}.config-tabs{flex-direction:column}.config-offices-grid{grid-template-columns:1fr}.config-schedule-row{align-items:flex-start;gap:var(--spacing-xs);flex-direction:column}.config-schedule-slot{margin-left:0}.schedule-grid-header,.schedule-grid-row{gap:var(--spacing-sm);grid-template-columns:90px 50px 1fr 1fr}}.config-push-panel{gap:var(--spacing-lg);flex-direction:column;display:flex}.config-push-status{justify-content:space-between;align-items:center;gap:var(--spacing-lg);display:flex}.config-push-info h3{font-size:var(--font-size-base);color:var(--text-primary);margin-bottom:var(--spacing-xs)}.config-push-detail{font-size:var(--font-size-sm);color:var(--text-secondary);margin-bottom:var(--spacing-sm)}.config-push-msg{padding:var(--spacing-sm) var(--spacing-md);color:var(--color-success);border-radius:var(--radius-md);font-size:var(--font-size-sm);text-align:center;background:#10b9811f}.config-push-features{border-top:1px solid var(--border-color-subtle);padding-top:var(--spacing-md)}.config-push-features h4{font-size:var(--font-size-sm);color:var(--text-secondary);margin-bottom:var(--spacing-sm)}.config-push-features ul{gap:var(--spacing-xs);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.config-push-features li{font-size:var(--font-size-sm);color:var(--text-primary);padding:var(--spacing-xs) var(--spacing-sm);background:var(--bg-input);border-radius:var(--radius-sm)}@media (width<=640px){.config-push-status{text-align:center;flex-direction:column}}.profile-page{padding:var(--spacing-xl) var(--spacing-2xl);max-width:1000px;margin:0 auto}.profile-header{justify-content:space-between;align-items:flex-start;gap:var(--spacing-lg);margin-bottom:var(--spacing-xl);display:flex}.profile-title{font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);color:var(--text-primary);margin:0}.profile-subtitle{font-size:var(--font-size-sm);color:var(--text-tertiary);margin:var(--spacing-xs) 0 0}.profile-toast{padding:var(--spacing-sm) var(--spacing-lg);border-radius:var(--radius-lg);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);margin-bottom:var(--spacing-lg);animation:.3s ease-out profileSlideIn}.profile-toast--success{background:var(--color-success-light);color:var(--color-success);border:var(--border-width-thin) solid var(--color-success)}@keyframes profileSlideIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.profile-stats-row{gap:var(--spacing-md);margin-bottom:var(--spacing-xl);grid-template-columns:repeat(3,1fr);display:grid}.profile-stat-card{padding:var(--spacing-lg);text-align:center;align-items:center;gap:var(--spacing-xs);transition:transform var(--transition-fast), box-shadow var(--transition-fast);flex-direction:column;display:flex}.profile-stat-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.profile-stat-icon{font-size:1.5rem}.profile-stat-value{font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);color:var(--color-primary);line-height:1}.profile-stat-label{font-size:var(--font-size-xs);color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.04em;font-weight:var(--font-weight-medium)}.profile-content{gap:var(--spacing-lg);grid-template-columns:2fr 1fr;display:grid}.profile-info-section{padding:var(--spacing-xl)}.profile-avatar-section{align-items:center;gap:var(--spacing-lg);margin-bottom:var(--spacing-xl);padding-bottom:var(--spacing-lg);border-bottom:var(--border-width-thin) solid var(--border-color-subtle);display:flex}.profile-avatar-large{border-radius:var(--radius-full);width:64px;height:64px;font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--text-on-primary);background:linear-gradient(135deg, var(--color-primary), var(--color-accent));flex-shrink:0;justify-content:center;align-items:center;display:flex}.profile-name{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--text-primary);margin:0 0 var(--spacing-xs)}.profile-role-badge{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);border-radius:var(--radius-full);background:var(--color-info-light);color:var(--color-primary);padding:2px 10px}.profile-fields{gap:var(--spacing-md);flex-direction:column;display:flex}.profile-field{gap:var(--spacing-xs);flex-direction:column;display:flex}.profile-field-label{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);text-transform:uppercase;letter-spacing:.04em;color:var(--text-tertiary)}.profile-field-value{font-size:var(--font-size-base);color:var(--text-primary)}.profile-field-value-row{align-items:center;gap:var(--spacing-sm);display:flex}.profile-field-value-row span{color:var(--text-primary)}.profile-field-action{color:var(--text-link);font-family:var(--font-family-primary);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);cursor:pointer;transition:color var(--transition-fast);background:0 0;border:none;padding:0;text-decoration:underline}.profile-field-action:hover{color:var(--text-link-hover)}.profile-edit-form{gap:var(--spacing-md);flex-direction:column;display:flex}.profile-form-row{gap:var(--spacing-md);grid-template-columns:1fr 1fr;display:grid}.profile-cedula-section{padding:var(--spacing-xl);gap:var(--spacing-md);flex-direction:column;display:flex}.profile-cedula-section h3{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--text-primary);margin:0}.profile-status-badge{align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-lg);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);display:flex}.profile-status--verified{background:var(--color-success-light);color:var(--color-success)}.profile-status--pending{background:var(--color-warning-light);color:var(--color-warning)}.profile-cedula-value{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--text-primary);letter-spacing:.05em;text-align:center;padding:var(--spacing-md);background:var(--glass-bg);border:var(--border-width-thin) solid var(--glass-border);border-radius:var(--radius-lg)}.profile-cedula-hint{font-size:var(--font-size-sm);color:var(--text-tertiary);line-height:var(--line-height-normal);margin:0}.profile-cedula-message{font-size:var(--font-size-sm);color:var(--color-primary);padding:var(--spacing-sm) var(--spacing-md);background:var(--color-info-light);border-radius:var(--radius-md);margin:0}.profile-loading{padding:var(--spacing-3xl);color:var(--text-tertiary);flex-direction:column;justify-content:center;align-items:center;display:flex}.profile-spinner{border:3px solid var(--border-color);border-top-color:var(--color-primary);border-radius:var(--radius-full);width:36px;height:36px;margin-bottom:var(--spacing-md);animation:.8s linear infinite profileSpin}@keyframes profileSpin{to{transform:rotate(360deg)}}.profile-error{padding:var(--spacing-2xl);text-align:center;color:var(--text-tertiary)}@media (width<=768px){.profile-page{padding:var(--spacing-md)}.profile-header{flex-direction:column}.profile-stats-row,.profile-content,.profile-form-row{grid-template-columns:1fr}.profile-avatar-section{text-align:center;flex-direction:column}}.agenda-page{padding:var(--spacing-xl) var(--spacing-lg);max-width:1400px;height:calc(100vh - var(--spacing-xl) * 2);flex-direction:column;margin:0 auto;display:flex}.agenda-header{justify-content:space-between;align-items:flex-start;gap:var(--spacing-md);margin-bottom:var(--spacing-lg);flex-shrink:0;display:flex}.agenda-title{font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);color:var(--text-primary);margin:0}.agenda-subtitle{font-size:var(--font-size-sm);color:var(--text-tertiary);margin:var(--spacing-xs) 0 0}.agenda-nav{align-items:center;gap:var(--spacing-sm);display:flex}.agenda-today-btn{padding:var(--spacing-xs) var(--spacing-md);border:var(--border-width-thin) solid var(--border-color);border-radius:var(--radius-md);background:var(--glass-bg);font-family:var(--font-family-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-primary);cursor:pointer;transition:all var(--transition-fast)}.agenda-today-btn:hover{background:var(--color-primary);color:var(--text-on-primary);border-color:var(--color-primary)}.agenda-week-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--text-primary);text-align:center;min-width:200px}.agenda-calendar{flex-direction:column;flex:1;padding:0;display:flex;position:relative;overflow:hidden}.agenda-loading-overlay{z-index:var(--z-dropdown);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);border-radius:var(--glass-border-radius);background:#0000001a;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.agenda-spinner{border:3px solid var(--border-color);border-top-color:var(--color-primary);border-radius:var(--radius-full);width:32px;height:32px;animation:.7s linear infinite agendaSpin}@keyframes agendaSpin{to{transform:rotate(360deg)}}.agenda-day-headers{border-bottom:var(--border-width-thin) solid var(--border-color);flex-shrink:0;grid-template-columns:56px repeat(7,1fr);display:grid}.agenda-time-gutter{border-right:var(--border-width-thin) solid var(--border-color-subtle)}.agenda-day-header{padding:var(--spacing-sm) 0;border-right:var(--border-width-thin) solid var(--border-color-subtle);flex-direction:column;align-items:center;gap:2px;display:flex}.agenda-day-header:last-child{border-right:none}.agenda-day-header--today{background:#3b82f60a}.agenda-day-label{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);text-transform:uppercase;letter-spacing:.05em;color:var(--text-tertiary)}.agenda-day-number{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--text-primary);border-radius:var(--radius-full);justify-content:center;align-items:center;width:32px;height:32px;display:flex}.agenda-day-number--today{background:var(--color-primary);color:var(--text-on-primary)}.agenda-grid-body{flex:1;grid-template-columns:56px repeat(7,1fr);display:grid;overflow-y:auto}.agenda-time-column{border-right:var(--border-width-thin) solid var(--border-color-subtle)}.agenda-time-label{font-size:10px;font-weight:var(--font-weight-medium);color:var(--text-tertiary);border-bottom:var(--border-width-thin) solid transparent;justify-content:center;align-items:flex-start;padding-top:2px;display:flex}.agenda-day-column{border-right:var(--border-width-thin) solid var(--border-color-subtle);position:relative}.agenda-day-column:last-child{border-right:none}.agenda-day-column--today{background:#3b82f605}.agenda-slot{border-bottom:var(--border-width-thin) solid var(--border-color-subtle);cursor:pointer;transition:background var(--transition-fast)}.agenda-slot:hover{background:var(--glass-btn-bg)}.agenda-appointment{border-radius:var(--radius-sm);cursor:pointer;z-index:var(--z-base);transition:transform var(--transition-fast), box-shadow var(--transition-fast);opacity:.92;flex-direction:column;gap:1px;padding:2px 6px;display:flex;position:absolute;left:2px;right:2px;overflow:hidden}.agenda-appointment:hover{box-shadow:var(--shadow-md);z-index:calc(var(--z-base) + 1);opacity:1;transform:scale(1.02)}.agenda-appointment--scheduled,.agenda-appointment--confirmed{color:#fff}.agenda-appointment--completed{color:#fff;opacity:.7}.agenda-appointment--cancelled{color:#fff;opacity:.5;text-decoration:line-through}.agenda-appointment-time{font-size:10px;font-weight:var(--font-weight-bold);line-height:1}.agenda-appointment-patient{font-size:10px;font-weight:var(--font-weight-medium);white-space:nowrap;text-overflow:ellipsis;line-height:1.2;overflow:hidden}.agenda-now-indicator{z-index:var(--z-dropdown);pointer-events:none;position:absolute;left:0;right:0}.agenda-now-dot{border-radius:var(--radius-full);background:var(--color-danger);width:8px;height:8px;position:absolute;top:-4px;left:-4px}.agenda-now-line{background:var(--color-danger);opacity:.7;height:2px}.agenda-create-datetime{align-items:center;gap:var(--spacing-lg);padding:var(--spacing-md);background:var(--glass-bg);border:var(--border-width-thin) solid var(--glass-border);border-radius:var(--radius-lg);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-primary);display:flex}.agenda-patient-list{gap:var(--spacing-xs);border:var(--border-width-thin) solid var(--border-color);border-radius:var(--radius-lg);max-height:180px;padding:var(--spacing-xs);flex-direction:column;display:flex;overflow-y:auto}.agenda-patient-option{align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);border:var(--border-width-thin) solid transparent;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);text-align:left;font-family:var(--font-family-primary);background:0 0;width:100%;display:flex}.agenda-patient-option:hover{background:var(--bg-hover)}.agenda-patient-option--selected{border-color:var(--color-primary);background:var(--glass-btn-bg)}.agenda-patient-avatar{border-radius:var(--radius-full);width:32px;height:32px;font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);color:var(--text-on-primary);background:linear-gradient(135deg, var(--color-primary), var(--color-accent));flex-shrink:0;justify-content:center;align-items:center;display:flex}.agenda-patient-name{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-primary);display:block}.agenda-patient-email{font-size:var(--font-size-xs);color:var(--text-tertiary);display:block}.agenda-detail-grid{gap:var(--spacing-md);grid-template-columns:1fr 1fr;display:grid}.agenda-detail-card{padding:var(--spacing-md);background:var(--glass-bg);border:var(--border-width-thin) solid var(--glass-border);border-radius:var(--radius-lg);-webkit-backdrop-filter:blur(var(--glass-blur));backdrop-filter:blur(var(--glass-blur));gap:var(--spacing-xs);flex-direction:column;display:flex}.agenda-detail-label{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);text-transform:uppercase;letter-spacing:.04em;color:var(--text-tertiary)}.agenda-detail-value{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--text-primary)}.agenda-detail-status{font-size:var(--font-size-base);font-weight:var(--font-weight-bold)}.agenda-detail-notes{margin-top:var(--spacing-md);padding:var(--spacing-md);background:var(--glass-bg);border-radius:var(--radius-lg)}.agenda-detail-notes p{font-size:var(--font-size-sm);color:var(--text-secondary);margin:var(--spacing-xs) 0 0}@media (width<=768px){.agenda-page{padding:var(--spacing-md) var(--spacing-sm);height:auto}.agenda-header{flex-direction:column}.agenda-nav{flex-wrap:wrap}.agenda-week-label{min-width:auto}.agenda-day-headers,.agenda-grid-body{grid-template-columns:40px repeat(7,1fr)}.agenda-day-label{font-size:9px}.agenda-day-number{font-size:var(--font-size-sm);width:24px;height:24px}.agenda-time-label{font-size:8px}.agenda-detail-grid{grid-template-columns:1fr}}.history-page{padding:var(--spacing-xl) var(--spacing-2xl);max-width:1100px;margin:0 auto}.history-header{margin-bottom:var(--spacing-lg)}.history-title{font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);color:var(--text-primary);margin:0}.history-subtitle{font-size:var(--font-size-sm);color:var(--text-tertiary);margin:var(--spacing-xs) 0 0}.history-filters{margin-bottom:var(--spacing-lg);padding:var(--spacing-md) var(--spacing-lg)}.history-filter-row{align-items:flex-end;gap:var(--spacing-md);display:flex}.history-filter-row .glass-input-wrapper{flex:1;max-width:200px}.history-filter-actions{gap:var(--spacing-xs);padding-bottom:2px;display:flex}.history-list{gap:var(--spacing-sm);flex-direction:column;display:flex}.history-card{padding:var(--spacing-md) var(--spacing-lg);cursor:pointer;transition:transform var(--transition-fast), box-shadow var(--transition-fast);justify-content:space-between;align-items:center;display:flex}.history-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-1px)}.history-card-left{align-items:center;gap:var(--spacing-md);flex:1;display:flex}.history-status-indicator{border-radius:var(--radius-full);flex-shrink:0;width:4px;height:40px}.history-status-indicator--finalized{background:var(--color-success)}.history-status-indicator--draft{background:var(--color-warning)}.history-card-info{gap:var(--spacing-xs);flex-direction:column;display:flex}.history-card-dx{align-items:center;gap:var(--spacing-sm);display:flex}.history-card-code{font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);border-radius:var(--radius-sm);background:var(--color-info-light);color:var(--color-primary);padding:2px 8px}.history-card-desc{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-primary)}.history-card-meta{gap:var(--spacing-md);font-size:var(--font-size-xs);color:var(--text-tertiary);display:flex}.history-card-right{align-items:center;gap:var(--spacing-md);display:flex}.history-badge{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);border-radius:var(--radius-full);padding:3px 10px}.history-badge--finalized{background:var(--color-success-light);color:var(--color-success)}.history-badge--draft{background:var(--color-warning-light);color:var(--color-warning)}.history-card-arrow{color:var(--text-tertiary);font-size:var(--font-size-lg)}.history-loading{padding:var(--spacing-3xl);color:var(--text-tertiary);flex-direction:column;align-items:center;display:flex}.history-spinner{border:3px solid var(--border-color);border-top-color:var(--color-primary);border-radius:var(--radius-full);width:32px;height:32px;margin-bottom:var(--spacing-md);animation:.7s linear infinite historySpin}@keyframes historySpin{to{transform:rotate(360deg)}}.history-empty{text-align:center;padding:var(--spacing-3xl);flex-direction:column;align-items:center;display:flex}.history-empty-icon{margin-bottom:var(--spacing-md);font-size:3rem}.history-empty h3{color:var(--text-primary);margin:0 0 var(--spacing-xs)}.history-empty p{color:var(--text-tertiary);font-size:var(--font-size-sm);margin:0}.history-pagination{justify-content:center;align-items:center;gap:var(--spacing-md);padding:var(--spacing-lg) 0;display:flex}.history-page-info{font-size:var(--font-size-sm);color:var(--text-tertiary)}.history-detail-header{margin-bottom:var(--spacing-lg);justify-content:space-between;align-items:center;display:flex}.history-detail-dx{align-items:center;gap:var(--spacing-sm);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--text-primary);display:flex}.history-detail-code{font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);border-radius:var(--radius-sm);background:var(--color-info-light);color:var(--color-primary);padding:3px 10px}.history-detail-vitals{gap:var(--spacing-sm);margin-bottom:var(--spacing-lg);flex-wrap:wrap;display:flex}.history-vital-chip{align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-md);background:var(--glass-bg);border:var(--border-width-thin) solid var(--glass-border);border-radius:var(--radius-full);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-primary);display:flex}.history-soap-grid{gap:var(--spacing-md);margin-bottom:var(--spacing-lg);grid-template-columns:1fr 1fr;display:grid}.history-soap-section{padding:var(--spacing-md);background:var(--glass-bg);border:var(--border-width-thin) solid var(--glass-border);border-radius:var(--radius-lg)}.history-soap-section h4{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-primary);margin:0 0 var(--spacing-sm)}.history-soap-section p{font-size:var(--font-size-sm);color:var(--text-secondary);line-height:var(--line-height-relaxed);white-space:pre-wrap;margin:0}.history-prescription{margin-bottom:var(--spacing-lg)}.history-prescription h4{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--text-primary);margin:0 0 var(--spacing-md)}.history-rx-list{gap:var(--spacing-sm);flex-direction:column;display:flex}.history-rx-item{gap:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-md);background:var(--glass-bg);border:var(--border-width-thin) solid var(--glass-border);border-radius:var(--radius-md);font-size:var(--font-size-sm);grid-template-columns:2fr 1fr 1fr;display:grid}.history-rx-name{font-weight:var(--font-weight-semibold);color:var(--text-primary)}.history-rx-dosage{color:var(--color-primary);font-weight:var(--font-weight-medium)}.history-rx-duration{color:var(--text-tertiary)}.history-rx-notes{color:var(--text-tertiary);grid-column:1/-1;font-style:italic}.history-addenda{margin-bottom:var(--spacing-lg)}.history-addenda h4{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--text-primary);margin:0 0 var(--spacing-md)}.history-addendum{padding:var(--spacing-md);background:var(--glass-bg);border-left:3px solid var(--color-accent);border-radius:var(--radius-md);margin-bottom:var(--spacing-sm)}.history-addendum-meta{gap:var(--spacing-md);font-size:var(--font-size-xs);color:var(--text-tertiary);margin-bottom:var(--spacing-xs);display:flex}.history-addendum p{font-size:var(--font-size-sm);color:var(--text-secondary);margin:0}.history-integrity{align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);background:var(--glass-bg);border-radius:var(--radius-md);font-size:var(--font-size-xs);color:var(--text-tertiary);margin-bottom:var(--spacing-lg);display:flex}.history-integrity code{font-family:var(--font-family-mono,monospace);font-size:var(--font-size-xs);color:var(--color-primary)}.history-detail-footer{padding-top:var(--spacing-md);border-top:var(--border-width-thin) solid var(--border-color-subtle);justify-content:space-between;align-items:center;display:flex}.history-detail-date{font-size:var(--font-size-xs);color:var(--text-tertiary)}@media (width<=768px){.history-page{padding:var(--spacing-md)}.history-filter-row{flex-direction:column;align-items:stretch}.history-filter-row .glass-input-wrapper{max-width:100%}.history-card{align-items:flex-start;gap:var(--spacing-sm);flex-direction:column}.history-card-right{align-self:flex-end}.history-soap-grid,.history-rx-item{grid-template-columns:1fr}}.booking-page{min-height:100vh;padding:var(--spacing-2xl) var(--spacing-lg);background:var(--bg-primary);justify-content:center;align-items:flex-start;display:flex}.booking-container{width:100%;max-width:640px}.booking-header{text-align:center;margin-bottom:var(--spacing-xl)}.booking-title{font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);color:var(--text-primary);margin:0 0 var(--spacing-sm);align-items:center;gap:var(--spacing-xs);flex-direction:column;display:flex}.booking-logo{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--color-primary);letter-spacing:.1em;text-transform:uppercase}.booking-desc{font-size:var(--font-size-sm);color:var(--text-tertiary);margin:0}.booking-steps{gap:var(--spacing-xs);margin-bottom:var(--spacing-xl);display:flex}.booking-step-indicator{text-align:center;padding:var(--spacing-sm);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--text-tertiary);border-bottom:3px solid var(--border-color);transition:all var(--transition-fast);flex:1}.booking-step-indicator--active{color:var(--color-primary);border-color:var(--color-primary)}.booking-step-indicator--done{color:var(--color-success);border-color:var(--color-success)}.booking-step-content h2{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--text-primary);margin:0 0 var(--spacing-lg)}.booking-date-grid{gap:var(--spacing-xs);grid-template-columns:repeat(auto-fill,minmax(100px,1fr));display:grid}.booking-date-btn{padding:var(--spacing-sm) var(--spacing-xs);border:var(--border-width-thin) solid var(--border-color);border-radius:var(--radius-lg);background:var(--glass-bg);font-family:var(--font-family-primary);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--text-secondary);cursor:pointer;text-align:center;transition:all var(--transition-fast)}.booking-date-btn:hover{border-color:var(--color-primary);color:var(--text-primary)}.booking-date-btn--selected{background:var(--color-primary);border-color:var(--color-primary);color:var(--text-on-primary)}.booking-slots-grid{gap:var(--spacing-sm);grid-template-columns:repeat(auto-fill,minmax(100px,1fr));display:grid}.booking-slot-btn{padding:var(--spacing-md) var(--spacing-sm);border:var(--border-width-medium) solid var(--glass-border);border-radius:var(--radius-lg);background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur));backdrop-filter:blur(var(--glass-blur));cursor:pointer;transition:all var(--transition-fast);font-family:var(--font-family-primary);flex-direction:column;align-items:center;gap:2px;display:flex}.booking-slot-btn:hover{border-color:var(--color-primary);background:var(--glass-btn-bg);box-shadow:var(--shadow-md);transform:translateY(-2px)}.booking-slot-time{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--text-primary)}.booking-slot-duration{font-size:var(--font-size-xs);color:var(--text-tertiary)}.booking-loading{padding:var(--spacing-xl);color:var(--text-tertiary);flex-direction:column;align-items:center;display:flex}.booking-spinner{border:3px solid var(--border-color);border-top-color:var(--color-primary);border-radius:var(--radius-full);width:28px;height:28px;margin-bottom:var(--spacing-sm);animation:.7s linear infinite bookingSpin}@keyframes bookingSpin{to{transform:rotate(360deg)}}.booking-no-slots{text-align:center;padding:var(--spacing-xl);color:var(--text-tertiary)}.booking-no-slots span{margin-bottom:var(--spacing-sm);font-size:2rem;display:block}.booking-selected-summary{justify-content:center;align-items:center;gap:var(--spacing-lg);padding:var(--spacing-md);background:var(--glass-bg);border:var(--border-width-thin) solid var(--glass-border);border-radius:var(--radius-lg);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-primary);margin-bottom:var(--spacing-lg);display:flex}.booking-form{gap:var(--spacing-md);flex-direction:column;display:flex}.booking-form-actions{justify-content:space-between;gap:var(--spacing-sm);padding-top:var(--spacing-md);display:flex}.booking-error{color:var(--color-danger);font-size:var(--font-size-sm);padding:var(--spacing-sm) var(--spacing-md);background:var(--color-danger-light);border-radius:var(--radius-md);margin:0}.booking-success{text-align:center}.booking-success-icon{margin-bottom:var(--spacing-md);font-size:4rem}.booking-success-message{font-size:var(--font-size-sm);color:var(--text-secondary);margin:0 0 var(--spacing-xl)}.booking-success-details{justify-content:center;gap:var(--spacing-xl);margin-bottom:var(--spacing-xl);display:flex}.booking-success-detail{gap:var(--spacing-xs);text-align:center;flex-direction:column;display:flex}.booking-success-label{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);text-transform:uppercase;color:var(--text-tertiary)}.booking-success-value{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--text-primary)}@media (width<=768px){.booking-page{padding:var(--spacing-lg) var(--spacing-md)}.booking-date-grid,.booking-slots-grid{grid-template-columns:repeat(3,1fr)}.booking-selected-summary{gap:var(--spacing-sm);flex-direction:column}.booking-success-details{gap:var(--spacing-md);flex-direction:column}.booking-form-actions{flex-direction:column}}.subscription-page{padding:var(--spacing-xl) var(--spacing-2xl);max-width:1200px}.subscription-loading{justify-content:center;align-items:center;gap:var(--spacing-md);min-height:300px;color:var(--text-tertiary);flex-direction:column;display:flex}.loading-spinner{border:3px solid var(--border-color);border-top-color:var(--color-primary);border-radius:50%;width:40px;height:40px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.sub-error{padding:var(--spacing-md);color:var(--color-danger);border-radius:var(--radius-md);margin-bottom:var(--spacing-lg);text-align:center;font-size:var(--font-size-sm);background:#ef44441a}.sub-current{margin-bottom:var(--spacing-xl)}.sub-current-header{margin-bottom:var(--spacing-lg);justify-content:space-between;align-items:flex-start;gap:var(--spacing-md);flex-wrap:wrap;display:flex}.sub-current-header h3{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--text-primary);align-items:center;gap:var(--spacing-sm);display:flex}.sub-period{font-size:var(--font-size-xs);color:var(--text-tertiary)}.sub-badge{border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:.5px;padding:2px 10px;display:inline-block}.badge--success{color:var(--color-success);background:#10b98126}.badge--danger{color:var(--color-danger);background:#ef444426}.badge--warning{color:#f59e0b;background:#f59e0b26}.badge--muted{background:var(--bg-input);color:var(--text-tertiary)}.sub-meta-grid{gap:var(--spacing-md);margin-bottom:var(--spacing-lg);grid-template-columns:repeat(auto-fit,minmax(160px,1fr));display:grid}.sub-meta-item{flex-direction:column;gap:2px;display:flex}.sub-meta-label{font-size:var(--font-size-xs);color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.5px}.sub-meta-value{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--text-primary)}.sub-downgrade-notice,.sub-past-due-notice{padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-md);font-size:var(--font-size-sm);margin-bottom:var(--spacing-md)}.sub-downgrade-notice{color:#f59e0b;background:#f59e0b1a}.sub-past-due-notice{color:var(--color-danger);background:#ef44441a}.sub-features h4{font-size:var(--font-size-sm);color:var(--text-secondary);margin-bottom:var(--spacing-sm)}.sub-features ul{gap:var(--spacing-xs);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));padding:0;list-style:none;display:grid}.sub-features li{font-size:var(--font-size-sm);color:var(--text-primary)}.sub-plans-section{margin-bottom:var(--spacing-xl)}.sub-plans-section h2{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--text-primary);margin-bottom:var(--spacing-lg)}.sub-plans-grid{gap:var(--spacing-lg);grid-template-columns:repeat(auto-fit,minmax(260px,1fr));display:grid}.sub-plan-card{gap:var(--spacing-md);transition:transform var(--transition-base), box-shadow var(--transition-base);flex-direction:column;display:flex;position:relative}.sub-plan-card:hover{box-shadow:var(--shadow-xl);transform:translateY(-2px)}.sub-plan-card--recommended{border:2px solid var(--color-primary)}.sub-plan-card--current{border:2px solid var(--color-success);opacity:.85}.sub-plan-badge{top:calc(-1 * var(--spacing-sm));right:var(--spacing-md);background:var(--color-primary);color:var(--text-on-primary);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);border-radius:var(--radius-full);padding:2px 10px;position:absolute}.sub-plan-badge--current{background:var(--color-success)}.sub-plan-card h3{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--text-primary)}.sub-plan-price{align-items:baseline;gap:var(--spacing-xs);display:flex}.sub-plan-amount{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--color-primary)}.sub-plan-period{font-size:var(--font-size-sm);color:var(--text-tertiary)}.sub-plan-yearly{font-size:var(--font-size-xs);color:var(--text-tertiary)}.sub-plan-features{gap:var(--spacing-xs);flex-direction:column;flex:1;padding:0;list-style:none;display:flex}.sub-plan-features li{font-size:var(--font-size-sm);color:var(--text-secondary)}.sub-payments{margin-bottom:var(--spacing-xl)}.sub-payments h3{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--text-primary);margin-bottom:var(--spacing-md)}.sub-payments-table{border-collapse:collapse;width:100%;font-size:var(--font-size-sm)}.sub-payments-table th{text-align:left;padding:var(--spacing-sm) var(--spacing-md);color:var(--text-tertiary);font-weight:var(--font-weight-medium);border-bottom:1px solid var(--border-color);font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.5px}.sub-payments-table td{padding:var(--spacing-sm) var(--spacing-md);color:var(--text-primary);border-bottom:1px solid var(--border-color-subtle)}.sub-payments-table code{font-family:var(--font-family-mono);font-size:var(--font-size-xs);background:var(--bg-input);border-radius:var(--radius-sm);padding:2px 6px}.checkout-modal-content{gap:var(--spacing-lg);flex-direction:column;display:flex}.checkout-plan-summary{text-align:center}.checkout-plan-summary h3{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--text-primary);margin-bottom:var(--spacing-md)}.checkout-billing-toggle{margin-bottom:var(--spacing-lg);border:1px solid var(--border-color);border-radius:var(--radius-md);justify-content:center;gap:0;display:flex;overflow:hidden}.checkout-toggle-btn{padding:var(--spacing-sm) var(--spacing-md);color:var(--text-secondary);font-family:var(--font-family-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:none;flex:1}.checkout-toggle-btn--active{background:var(--color-primary);color:var(--text-on-primary)}.checkout-toggle-btn:disabled{opacity:.4;cursor:not-allowed}.checkout-total{padding:var(--spacing-md);background:var(--bg-input);border-radius:var(--radius-md);justify-content:space-between;align-items:center;display:flex}.checkout-total-label{font-size:var(--font-size-sm);color:var(--text-secondary)}.checkout-total-amount{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--color-primary)}.checkout-success{text-align:center;gap:var(--spacing-md);padding:var(--spacing-lg) 0;flex-direction:column;display:flex}.checkout-success-icon{font-size:3rem}.checkout-reference{font-family:var(--font-family-mono);font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--color-primary);background:var(--bg-input);padding:var(--spacing-md);border-radius:var(--radius-md);letter-spacing:2px}.checkout-success-msg{font-size:var(--font-size-sm);color:var(--text-secondary)}.checkout-details{text-align:left;font-size:var(--font-size-sm);color:var(--text-secondary)}.checkout-details p{margin-bottom:var(--spacing-xs)}.change-plan-content{gap:var(--spacing-lg);flex-direction:column;display:flex}.change-plan-info{font-size:var(--font-size-sm);color:var(--text-secondary);padding:var(--spacing-md);background:var(--bg-input);border-radius:var(--radius-md)}.change-plan-result{text-align:center;padding:var(--spacing-lg);color:var(--color-success);font-weight:var(--font-weight-medium)}.team-page{padding:var(--spacing-xl) var(--spacing-2xl);max-width:1100px}.team-loading{justify-content:center;align-items:center;gap:var(--spacing-md);min-height:300px;color:var(--text-tertiary);flex-direction:column;display:flex}.team-header-row{justify-content:space-between;align-items:flex-start;gap:var(--spacing-md);flex-wrap:wrap;display:flex}.team-error{padding:var(--spacing-md);color:var(--color-danger);border-radius:var(--radius-md);margin-bottom:var(--spacing-lg);text-align:center;font-size:var(--font-size-sm);background:#ef44441a}.team-success{padding:var(--spacing-md);color:var(--color-success);border-radius:var(--radius-md);margin-bottom:var(--spacing-lg);text-align:center;font-size:var(--font-size-sm);animation:fadeIn var(--transition-fast) ease-out;background:#10b9811a}.team-roles-info{margin-bottom:var(--spacing-xl)}.team-roles-info h3{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--text-primary);margin-bottom:var(--spacing-md)}.roles-grid{gap:var(--spacing-md);grid-template-columns:repeat(auto-fit,minmax(220px,1fr));display:grid}.role-card{padding:var(--spacing-md);background:var(--bg-input);border-radius:var(--radius-md);gap:var(--spacing-sm);flex-direction:column;display:flex}.role-card p{font-size:var(--font-size-xs);color:var(--text-secondary);line-height:var(--line-height-relaxed)}.role-badge{border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:.5px;padding:2px 10px;display:inline-block}.role-badge--owner{color:#8b5cf6;background:#8b5cf626}.role-badge--doctor{color:var(--color-primary);background:#3b82f626}.role-badge--assistant{color:#f59e0b;background:#f59e0b26}.status-dot{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium)}.status-dot--active{color:var(--color-success)}.status-dot--inactive{color:var(--text-tertiary)}.team-members{margin-bottom:var(--spacing-xl)}.team-members h3{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--text-primary);margin-bottom:var(--spacing-md)}.team-empty{text-align:center;color:var(--text-tertiary);font-size:var(--font-size-sm);padding:var(--spacing-xl) 0}.team-table-wrapper{overflow-x:auto}.team-table{border-collapse:collapse;width:100%;font-size:var(--font-size-sm)}.team-table th{text-align:left;padding:var(--spacing-sm) var(--spacing-md);color:var(--text-tertiary);font-weight:var(--font-weight-medium);border-bottom:1px solid var(--border-color);font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.5px;white-space:nowrap}.team-table td{padding:var(--spacing-sm) var(--spacing-md);color:var(--text-primary);border-bottom:1px solid var(--border-color-subtle);white-space:nowrap}.member-row--inactive td{opacity:.5}.member-name strong{color:var(--text-primary)}.member-actions{gap:var(--spacing-xs);display:flex}.team-action-btn{border:1px solid var(--border-color);border-radius:var(--radius-md);cursor:pointer;font-size:var(--font-size-sm);transition:all var(--transition-fast);background:0 0;padding:4px 8px}.team-action-btn:hover{background:var(--bg-hover)}.team-action-btn--danger:hover{border-color:var(--color-danger);background:#ef44441a}.invite-form{gap:var(--spacing-md);flex-direction:column;display:flex}.invite-role-selector{border:1px solid var(--border-color);border-radius:var(--radius-md);gap:0;display:flex;overflow:hidden}.invite-role-btn{padding:var(--spacing-sm) var(--spacing-md);color:var(--text-secondary);font-family:var(--font-family-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:none;flex:1}.invite-role-btn--active{background:var(--color-primary);color:var(--text-on-primary)}.invite-hint{font-size:var(--font-size-xs);color:var(--text-tertiary);font-style:italic}.invite-success{text-align:center;gap:var(--spacing-md);padding:var(--spacing-lg) 0;flex-direction:column;display:flex}.invite-success-icon{font-size:3rem}.invite-code{font-family:var(--font-family-mono);font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--color-primary);background:var(--bg-input);padding:var(--spacing-md);border-radius:var(--radius-md);letter-spacing:4px}.invite-success-hint{font-size:var(--font-size-xs);color:var(--text-tertiary)}.delete-confirm{gap:var(--spacing-md);text-align:center;flex-direction:column;display:flex}.delete-warning{font-size:var(--font-size-xs);color:var(--color-danger)}.delete-actions{gap:var(--spacing-md);justify-content:center;display:flex}.verify-page{min-height:100vh;padding:var(--spacing-xl);background:var(--bg-body);justify-content:center;align-items:center;display:flex}.verify-container{width:100%;max-width:600px}.verify-header{text-align:center;margin-bottom:var(--spacing-xl)}.verify-icon{margin-bottom:var(--spacing-md);font-size:3rem;display:block}.verify-header h1{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--text-primary);margin-bottom:var(--spacing-sm)}.verify-header p{font-size:var(--font-size-sm);color:var(--text-tertiary)}.verify-input-row{gap:var(--spacing-md);align-items:flex-end;display:flex}.verify-input-row>:first-child{flex:1}.verify-error{padding:var(--spacing-md);color:var(--color-danger);border-radius:var(--radius-md);text-align:center;font-size:var(--font-size-sm);margin-top:var(--spacing-md);background:#ef44441a}.verify-result{margin-top:var(--spacing-xl);padding:var(--spacing-xl);border-radius:var(--radius-md);text-align:center}.verify-result--valid{background:#10b98114;border:1px solid #10b9814d}.verify-result--invalid{background:#ef444414;border:1px solid #ef44444d}.verify-result-icon{margin-bottom:var(--spacing-md);font-size:3rem}.verify-result h2{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--text-primary);margin-bottom:var(--spacing-sm)}.verify-result-msg{font-size:var(--font-size-sm);color:var(--text-secondary);margin-bottom:var(--spacing-lg)}.verify-details{text-align:left}.verify-detail-row{padding:var(--spacing-sm) 0;border-bottom:1px solid var(--border-color-subtle);font-size:var(--font-size-sm);justify-content:space-between;display:flex}.verify-label{color:var(--text-tertiary);font-weight:var(--font-weight-medium)}.verify-value{color:var(--text-primary);text-align:right;max-width:60%}.verify-hash{font-family:var(--font-family-mono);font-size:var(--font-size-xs)}.verify-medications{margin-top:var(--spacing-lg)}.verify-medications h3{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--text-primary);margin-bottom:var(--spacing-md)}.verify-med-item{padding:var(--spacing-sm);background:var(--bg-input);border-radius:var(--radius-sm);margin-bottom:var(--spacing-sm);font-size:var(--font-size-sm);flex-direction:column;gap:2px;display:flex}.verify-med-item strong{color:var(--text-primary)}.verify-med-item span{color:var(--text-secondary);font-size:var(--font-size-xs)}.verify-med-notes{font-style:italic;color:var(--text-tertiary)!important}.admin-login-page{background:var(--bg-body);min-height:100vh;padding:var(--spacing-xl);justify-content:center;align-items:center;display:flex}.admin-login-card{text-align:center;gap:var(--spacing-md);flex-direction:column;width:100%;max-width:420px;display:flex}.admin-login-icon{font-size:3rem}.admin-login-card h1{font-size:var(--font-size-xl);color:var(--text-primary)}.admin-login-card p{color:var(--text-tertiary);font-size:var(--font-size-sm);margin-bottom:var(--spacing-md)}.admin-login-error{color:var(--color-danger);font-size:var(--font-size-sm)}.admin-portal{background:var(--bg-body);min-height:100vh;display:flex}.admin-sidebar{background:var(--bg-surface);border-right:1px solid var(--border-color);width:240px;min-height:100vh;padding:var(--spacing-lg) 0;flex-direction:column;flex-shrink:0;display:flex}.admin-sidebar-brand{padding:0 var(--spacing-lg);margin-bottom:var(--spacing-xl)}.admin-sidebar-brand h2{font-size:var(--font-size-lg);color:var(--text-primary)}.admin-sidebar-user{font-size:var(--font-size-xs);color:var(--text-tertiary);margin-top:var(--spacing-xs)}.admin-nav{padding:0 var(--spacing-sm);flex-direction:column;flex:1;gap:2px;display:flex}.admin-nav-item{align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);color:var(--text-secondary);font-size:var(--font-size-sm);cursor:pointer;border-radius:var(--radius-md);transition:all var(--transition-fast);text-align:left;background:0 0;border:none;width:100%;display:flex}.admin-nav-item:hover{background:var(--bg-hover);color:var(--text-primary)}.admin-nav-item--active{color:var(--color-primary);font-weight:var(--font-weight-medium);background:#3b82f61f}.admin-logout-btn{margin:var(--spacing-lg) var(--spacing-sm) 0;padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--border-color);color:var(--text-tertiary);border-radius:var(--radius-md);cursor:pointer;font-size:var(--font-size-xs);transition:all var(--transition-fast);background:0 0}.admin-logout-btn:hover{color:var(--color-danger);border-color:var(--color-danger);background:#ef44441a}.admin-main{padding:var(--spacing-2xl);flex:1;overflow-y:auto}.admin-main h1{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--text-primary);margin-bottom:var(--spacing-xl)}.admin-subtitle{color:var(--text-tertiary);font-size:var(--font-size-sm);margin-bottom:var(--spacing-lg)}.admin-flash{padding:var(--spacing-sm) var(--spacing-md);color:var(--color-success);border-radius:var(--radius-md);font-size:var(--font-size-sm);margin-bottom:var(--spacing-lg);background:#10b98126;animation:.2s fadeIn}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.admin-section-header{margin-bottom:var(--spacing-lg);justify-content:space-between;align-items:center;display:flex}.admin-section-header h1{margin-bottom:0}.admin-kpi-grid{gap:var(--spacing-lg);margin-bottom:var(--spacing-xl);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));display:grid}.admin-kpi{align-items:center;gap:var(--spacing-md);display:flex}.admin-kpi-icon{font-size:2rem}.admin-kpi-content{flex-direction:column;display:flex}.admin-kpi-value{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--text-primary)}.admin-kpi-label{font-size:var(--font-size-xs);color:var(--text-tertiary)}.kpi-positive{color:var(--color-success)!important}.kpi-negative{color:var(--color-danger)!important}.admin-section{margin-bottom:var(--spacing-xl)}.admin-section h3{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--text-primary);margin-bottom:var(--spacing-md)}.admin-plan-dist{gap:var(--spacing-sm);flex-direction:column;display:flex}.admin-dist-item{padding:var(--spacing-sm);background:var(--bg-input);border-radius:var(--radius-sm);justify-content:space-between;display:flex}.admin-dist-name{color:var(--text-primary);font-size:var(--font-size-sm)}.admin-dist-count{font-weight:var(--font-weight-bold);color:var(--color-primary)}.admin-table{border-collapse:collapse;width:100%;font-size:var(--font-size-sm)}.admin-table th{text-align:left;padding:var(--spacing-sm) var(--spacing-md);color:var(--text-tertiary);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--border-color)}.admin-table td{padding:var(--spacing-sm) var(--spacing-md);color:var(--text-primary);border-bottom:1px solid var(--border-color-subtle)}.admin-table code{font-family:var(--font-family-mono);font-size:var(--font-size-xs);color:var(--color-primary)}.admin-badge{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);border-radius:9999px;padding:2px 8px;display:inline-block}.admin-badge--paid,.admin-badge--active{color:var(--color-success);background:#10b98126}.admin-badge--pending{color:#f59e0b;background:#f59e0b26}.admin-badge--inactive,.admin-badge--canceled{color:var(--color-danger);background:#ef444426}.admin-badge--recommended,.admin-badge--info{color:var(--color-primary);background:#3b82f626}.admin-badge--warning{color:#f59e0b;background:#f59e0b26}.admin-badge--critical{color:var(--color-danger);background:#ef444426}.admin-plans-grid{gap:var(--spacing-lg);grid-template-columns:repeat(auto-fill,minmax(300px,1fr));display:grid}.admin-plan-card{gap:var(--spacing-md);transition:all var(--transition-fast);flex-direction:column;display:flex}.admin-plan--inactive{opacity:.6}.admin-plan-header{justify-content:space-between;align-items:center;display:flex}.admin-plan-header h3{margin-bottom:0}.admin-plan-pricing{gap:var(--spacing-md);align-items:baseline;display:flex}.admin-plan-price{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--text-primary)}.admin-plan-yearly{font-size:var(--font-size-sm);color:var(--text-tertiary)}.admin-plan-meta{font-size:var(--font-size-xs);color:var(--text-tertiary);justify-content:space-between;display:flex}.admin-plan-actions{gap:var(--spacing-sm);display:flex}.admin-broadcast-list{gap:var(--spacing-md);flex-direction:column;display:flex}.admin-broadcast-card{gap:var(--spacing-sm);flex-direction:column;display:flex}.admin-broadcast--inactive{opacity:.5}.admin-broadcast-header{align-items:center;gap:var(--spacing-sm);display:flex}.admin-broadcast-header h3{font-size:var(--font-size-base);margin-bottom:0}.admin-broadcast-msg{color:var(--text-secondary);font-size:var(--font-size-sm)}.admin-broadcast-meta{align-items:center;gap:var(--spacing-md);font-size:var(--font-size-xs);color:var(--text-tertiary);display:flex}.admin-select-label{gap:var(--spacing-xs);font-size:var(--font-size-sm);color:var(--text-secondary);flex-direction:column;flex:1;display:flex}.admin-select{padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-input);color:var(--text-primary);font-size:var(--font-size-sm)}@media (width<=768px){.admin-portal{flex-direction:column}.admin-sidebar{border-right:none;border-bottom:1px solid var(--border-color);width:100%;min-height:auto}.admin-nav{flex-direction:row;overflow-x:auto}.admin-kpi-grid{grid-template-columns:1fr 1fr}}.app-layout{min-height:100vh;display:flex}.sidebar{background:var(--bg-sidebar);border-right:1px solid var(--border-color);width:240px;min-height:100vh;transition:width var(--transition-normal);z-index:var(--z-fixed);flex-direction:column;display:flex;position:fixed;top:0;left:0}.app-layout--collapsed .sidebar{width:64px}.sidebar-header{padding:var(--spacing-lg) var(--spacing-md);border-bottom:1px solid var(--border-color-subtle);justify-content:space-between;align-items:center;display:flex}.sidebar-logo{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--color-primary);white-space:nowrap;overflow:hidden}.sidebar-toggle{color:var(--text-tertiary);cursor:pointer;font-size:var(--font-size-xs);border-radius:var(--radius-sm);transition:background var(--transition-fast);background:0 0;border:none;padding:4px}.sidebar-toggle:hover{background:var(--bg-hover);color:var(--text-primary)}.sidebar-nav{padding:var(--spacing-md) var(--spacing-sm);flex-direction:column;flex:1;gap:2px;display:flex}.sidebar-nav-item{align-items:center;gap:var(--spacing-sm);padding:10px var(--spacing-md);border-radius:var(--radius-md);color:var(--text-secondary);font-family:var(--font-family-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:background var(--transition-fast), color var(--transition-fast);white-space:nowrap;text-align:left;background:0 0;border:none;width:100%;display:flex}.sidebar-nav-item:hover{background:var(--bg-hover);color:var(--text-primary)}.sidebar-nav-item--active{color:var(--color-primary);font-weight:var(--font-weight-semibold);background:#3b82f61a}.sidebar-nav-item--danger:hover{color:var(--color-danger);background:#ef44441a}.sidebar-nav-icon{text-align:center;flex-shrink:0;width:24px;font-size:1.2em}.sidebar-nav-label{text-overflow:ellipsis;overflow:hidden}.sidebar-footer{padding:var(--spacing-md) var(--spacing-sm);border-top:1px solid var(--border-color-subtle);flex-direction:column;gap:2px;display:flex}.app-main{background:var(--bg-body);min-height:100vh;transition:margin-left var(--transition-normal);flex:1;margin-left:240px}.app-layout--collapsed .app-main{margin-left:64px}@media (width<=768px){.sidebar{width:64px}.app-main{margin-left:64px}.sidebar-nav-label,.sidebar-logo,.sidebar-toggle{display:none}}:root{--font-family-primary:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-size-xs:.75rem;--font-size-sm:.875rem;--font-size-base:1rem;--font-size-lg:1.125rem;--font-size-xl:1.25rem;--font-size-2xl:1.5rem;--font-size-3xl:1.875rem;--font-size-4xl:2.25rem;--font-weight-light:300;--font-weight-regular:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--line-height-tight:1.25;--line-height-normal:1.5;--line-height-relaxed:1.75;--spacing-xs:.25rem;--spacing-sm:.5rem;--spacing-md:1rem;--spacing-lg:1.5rem;--spacing-xl:2rem;--spacing-2xl:3rem;--spacing-3xl:4rem;--radius-sm:.375rem;--radius-md:.5rem;--radius-lg:.75rem;--radius-xl:1rem;--radius-2xl:1.5rem;--radius-full:9999px;--border-width-thin:1px;--border-width-medium:2px;--shadow-sm:0 1px 2px #0000000d;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--shadow-xl:0 20px 25px -5px #0000001a, 0 8px 10px -6px #0000001a;--shadow-glow:0 0 15px #38bdf833;--z-base:0;--z-dropdown:10;--z-sticky:20;--z-fixed:30;--z-sidebar:40;--z-modal:50;--z-popover:60;--z-tooltip:70;--z-toast:80;--transition-fast:.15s ease;--transition-normal:.25s ease;--transition-slow:.35s ease;--sidebar-width-expanded:240px;--sidebar-width-collapsed:72px;--topbar-height:56px;--glass-blur:8px;--glass-blur-strong:16px;--glass-border-radius:var(--radius-lg)}:root,[data-theme=light]{--color-primary:#3b82f6;--color-primary-hover:#2563eb;--color-primary-light:#93c5fd;--color-primary-dark:#1d4ed8;--color-accent:#06b6d4;--color-accent-hover:#0891b2;--color-accent-light:#67e8f9;--color-success:#10b981;--color-success-light:#d1fae5;--color-warning:#f59e0b;--color-warning-light:#fef3c7;--color-danger:#ef4444;--color-danger-light:#fee2e2;--color-info:#3b82f6;--color-info-light:#dbeafe;--bg-body:#f0f4f8;--bg-primary:#fff;--bg-secondary:#f8fafc;--bg-card:#fff;--bg-sidebar:#3b5998;--bg-topbar:#fff;--bg-input:#f1f5f9;--bg-hover:#f1f5f9;--bg-active:#e2e8f0;--bg-disabled:#f1f5f9;--text-primary:#0f172a;--text-secondary:#475569;--text-tertiary:#94a3b8;--text-placeholder:#94a3b8;--text-inverse:#fff;--text-on-primary:#fff;--text-on-sidebar:#fff;--text-link:#3b82f6;--text-link-hover:#2563eb;--border-color:#e2e8f0;--border-color-subtle:#f1f5f9;--border-color-strong:#cbd5e1;--border-focus:#3b82f6;--glass-bg:#fff9;--glass-bg-hover:#fffc;--glass-border:#ffffffb3;--glass-shadow:0 4px 30px #0000000f;--glass-btn-bg:#3b82f614;--glass-btn-bg-hover:#3b82f626;--glass-btn-border:#3b82f633;--glass-btn-text:#1e40af;--glass-btn-secondary-bg:#0000000a;--glass-btn-secondary-bg-hover:#00000014;--glass-btn-secondary-border:#0000001a;--glass-btn-secondary-text:#334155;--modal-overlay-bg:#0f172a66;--modal-card-bg:#ffffffeb;--modal-card-border:#fff9;--modal-card-shadow:0 25px 50px -12px #00000026;--scrollbar-track:#f1f5f9;--scrollbar-thumb:#cbd5e1;--scrollbar-thumb-hover:#94a3b8}[data-theme=dark]{--color-primary:#60a5fa;--color-primary-hover:#93c5fd;--color-primary-light:#1e3a5f;--color-primary-dark:#bfdbfe;--color-accent:#22d3ee;--color-accent-hover:#67e8f9;--color-accent-light:#164e63;--color-success:#34d399;--color-success-light:#064e3b;--color-warning:#fbbf24;--color-warning-light:#78350f;--color-danger:#f87171;--color-danger-light:#7f1d1d;--color-info:#60a5fa;--color-info-light:#1e3a5f;--bg-body:#0b1120;--bg-primary:#111827;--bg-secondary:#1e293b;--bg-card:#1e293b;--bg-sidebar:#0f172a;--bg-topbar:#111827;--bg-input:#1e293b;--bg-hover:#334155;--bg-active:#475569;--bg-disabled:#1e293b;--text-primary:#f1f5f9;--text-secondary:#94a3b8;--text-tertiary:#64748b;--text-placeholder:#64748b;--text-inverse:#0f172a;--text-on-primary:#0f172a;--text-on-sidebar:#e2e8f0;--text-link:#60a5fa;--text-link-hover:#93c5fd;--border-color:#334155;--border-color-subtle:#1e293b;--border-color-strong:#475569;--border-focus:#60a5fa;--glass-bg:#1e293b80;--glass-bg-hover:#1e293bb3;--glass-border:#ffffff14;--glass-shadow:0 4px 30px #0000004d;--glass-btn-bg:#60a5fa1f;--glass-btn-bg-hover:#60a5fa38;--glass-btn-border:#60a5fa40;--glass-btn-text:#93c5fd;--glass-btn-secondary-bg:#ffffff0d;--glass-btn-secondary-bg-hover:#ffffff1a;--glass-btn-secondary-border:#ffffff1a;--glass-btn-secondary-text:#cbd5e1;--modal-overlay-bg:#0009;--modal-card-bg:#1e293be6;--modal-card-border:#ffffff14;--modal-card-shadow:0 25px 50px -12px #00000080;--shadow-sm:0 1px 2px #0003;--shadow-md:0 4px 6px -1px #0000004d, 0 2px 4px -2px #0003;--shadow-lg:0 10px 15px -3px #00000059, 0 4px 6px -4px #00000040;--shadow-xl:0 20px 25px -5px #0006, 0 8px 10px -6px #0000004d;--shadow-glow:0 0 20px #60a5fa40;--scrollbar-track:#1e293b;--scrollbar-thumb:#475569;--scrollbar-thumb-hover:#64748b}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scroll-behavior:smooth;font-size:16px}body{font-family:var(--font-family-primary);font-size:var(--font-size-base);font-weight:var(--font-weight-regular);line-height:var(--line-height-normal);color:var(--text-primary);background-color:var(--bg-body);transition:background-color var(--transition-normal), color var(--transition-normal);min-height:100vh}#root{flex-direction:column;min-height:100vh;display:flex}h1,h2,h3,h4,h5,h6{font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight);color:var(--text-primary)}h1{font-size:var(--font-size-4xl)}h2{font-size:var(--font-size-3xl)}h3{font-size:var(--font-size-2xl)}h4{font-size:var(--font-size-xl)}h5{font-size:var(--font-size-lg)}h6{font-size:var(--font-size-base)}p{color:var(--text-secondary);line-height:var(--line-height-relaxed)}a{color:var(--text-link);transition:color var(--transition-fast);text-decoration:none}a:hover{color:var(--text-link-hover)}input,textarea,select{font-family:var(--font-family-primary);font-size:var(--font-size-base);color:var(--text-primary);background-color:var(--bg-input);border:var(--border-width-thin) solid var(--border-color);border-radius:var(--radius-md);padding:var(--spacing-sm) var(--spacing-md);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);outline:none}input:focus,textarea:focus,select:focus{border-color:var(--border-focus);box-shadow:0 0 0 3px #3b82f626}input::placeholder,textarea::placeholder{color:var(--text-placeholder)}button{font-family:var(--font-family-primary);cursor:pointer;border:none;outline:none}.btn-glass-primary{justify-content:center;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-lg);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--glass-btn-text);background:var(--glass-btn-bg);border:var(--border-width-thin) solid var(--glass-btn-border);border-radius:var(--radius-lg);-webkit-backdrop-filter:blur(var(--glass-blur));box-shadow:var(--glass-shadow);transition:background var(--transition-fast), transform var(--transition-fast), box-shadow var(--transition-fast);display:inline-flex}.btn-glass-primary:hover{background:var(--glass-btn-bg-hover);box-shadow:var(--shadow-md), var(--shadow-glow);transform:translateY(-2px)}.btn-glass-primary:active{transform:translateY(0)}.btn-glass-secondary{justify-content:center;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-lg);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--glass-btn-secondary-text);background:var(--glass-btn-secondary-bg);border:var(--border-width-thin) solid var(--glass-btn-secondary-border);border-radius:var(--radius-lg);-webkit-backdrop-filter:blur(var(--glass-blur));transition:background var(--transition-fast), transform var(--transition-fast);display:inline-flex}.btn-glass-secondary:hover{background:var(--glass-btn-secondary-bg-hover);transform:translateY(-1px)}.card{background:var(--bg-card);border:var(--border-width-thin) solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--spacing-lg);transition:box-shadow var(--transition-normal), border-color var(--transition-normal)}.card:hover{box-shadow:var(--shadow-md)}.card-glass{background:var(--glass-bg);border:var(--border-width-thin) solid var(--glass-border);border-radius:var(--glass-border-radius);-webkit-backdrop-filter:blur(var(--glass-blur));box-shadow:var(--glass-shadow);padding:var(--spacing-lg);transition:background var(--transition-normal), box-shadow var(--transition-normal)}.card-glass:hover{background:var(--glass-bg-hover);box-shadow:var(--shadow-lg)}.modal-overlay{background-color:var(--modal-overlay-bg);-webkit-backdrop-filter:blur(4px);z-index:var(--z-modal);animation:fadeIn var(--transition-normal) ease-out;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-content-glass{background:var(--modal-card-bg);border:var(--border-width-thin) solid var(--modal-card-border);border-radius:var(--radius-xl);-webkit-backdrop-filter:blur(var(--glass-blur-strong));box-shadow:var(--modal-card-shadow);padding:var(--spacing-xl);max-width:90vw;max-height:90vh;animation:slideUp var(--transition-normal) ease-out;overflow-y:auto}@keyframes slideUp{0%{opacity:0;transform:translateY(16px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--scrollbar-track)}::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.text-truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}
