.upload-dialog-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:overlayFadeIn .3s ease-out}.upload-dialog{background:#fff;border-radius:8px;box-shadow:0 8px 24px #4a90e266,0 4px 12px #00000026;padding:2rem;width:90%;max-width:500px;max-height:90vh;overflow-y:auto;animation:dialogSlideIn .3s cubic-bezier(.34,1.56,.64,1)}.upload-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem;position:relative}.upload-title{font-size:1.5rem;font-weight:600;color:#1e293b;margin:0}.upload-close{width:32px;height:32px;border-radius:50%;border:none;background:#f8fafc;color:#64748b;font-size:1.25rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.upload-close:hover{background:#f1f5f9;color:#475569}.upload-description-container{margin-bottom:1.5rem}.upload-description{color:#64748b;font-size:.9375rem;margin:0 0 .5rem;line-height:1.5}.upload-requirements{color:#94a3b8;font-size:.8125rem;margin:0;line-height:1.4}.upload-dropzone{border:2px dashed #cbd5e1;border-radius:8px;padding:2rem;text-align:center;cursor:pointer;transition:all .2s ease;background:#f8fafc;margin-bottom:1.5rem}.upload-dropzone:hover,.upload-dropzone.dragging{border-color:#4a90e2;background:#f8fafc}.upload-dropzone.has-file{border-color:#4a90e2;background:#fff}.dropzone-text{font-size:1rem;color:#475569;margin:0;font-weight:500}.file-preview{display:flex;align-items:center;justify-content:space-between;padding:1rem;background:#f8fafc;border-radius:8px;position:relative}.file-details{flex:1;text-align:left}.file-name{font-size:.9375rem;font-weight:500;color:#1e293b;margin:0 0 .25rem;word-break:break-word}.file-size{font-size:.8125rem;color:#64748b;margin:0}.file-remove{width:28px;height:28px;border-radius:50%;border:none;background:#f8fafc;color:#64748b;font-size:1rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.file-remove:hover{background:#f1f5f9;color:#475569}.upload-progress-container{margin-bottom:1.5rem}.upload-progress-bar{height:8px;background:#e2e8f0;border-radius:8px;overflow:hidden;position:relative}.upload-progress-bar.indeterminate .upload-progress-fill{height:100%;background:#4a90e2;border-radius:8px;position:absolute;width:40%;animation:indeterminateSlide 2s cubic-bezier(.4,0,.6,1) infinite}.upload-status-text{font-size:.9375rem;color:#4a90e2;font-weight:600;margin:.75rem 0 .25rem;text-align:center;animation:fadeIn .3s ease-in}.upload-time-estimate{font-size:.8125rem;color:#64748b;margin:0;text-align:center;font-style:italic}.upload-error{display:flex;align-items:center;padding:1rem;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;margin-bottom:1.5rem}.upload-actions{display:flex;gap:1rem;justify-content:flex-end}.upload-button{padding:.75rem 1.5rem;border-radius:8px;border:none;font-size:.9375rem;font-weight:600;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;min-width:100px}.upload-button.secondary{background:#f8fafc;color:#64748b}.upload-button.secondary:hover:not(:disabled){background:#f1f5f9;color:#475569}.upload-button.primary{background:#4a90e2;color:#fff}.upload-button.primary:hover:not(:disabled){background:#3b7dd6}.upload-button:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 768px){.upload-dialog{padding:1.5rem;width:95%;max-width:none}.upload-title{font-size:1.25rem}.upload-dropzone{padding:1.5rem}.upload-actions{flex-direction:column-reverse}.upload-button{width:100%}}@media (prefers-reduced-motion: reduce){.upload-dialog-overlay,.upload-dialog,.upload-dropzone,.upload-progress-fill,.upload-error,.upload-button{animation:none;transition:none}}.capture-dialog-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:overlayFadeIn .3s ease-out}.capture-dialog{background:#fff;border-radius:8px;box-shadow:0 8px 24px #4a90e266,0 4px 12px #00000026;padding:2rem;width:90%;max-width:600px;max-height:90vh;overflow-y:auto;animation:dialogSlideIn .3s cubic-bezier(.34,1.56,.64,1)}@keyframes dialogSlideIn{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.capture-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem}.capture-title{font-size:1.5rem;font-weight:600;color:#1e293b;margin:0;display:flex;align-items:center;gap:.5rem}.capture-icon{font-size:1.25rem}.capture-close{width:32px;height:32px;border-radius:50%;border:none;background:#f8fafc;color:#64748b;font-size:1.25rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.capture-close:hover{background:#f1f5f9;color:#475569}.capture-description-container{margin-bottom:1.5rem}.capture-description{color:#64748b;font-size:.9375rem;margin:0 0 .5rem;line-height:1.5}.capture-tips{color:#94a3b8;font-size:.8125rem;margin:0;line-height:1.4}.capture-preview-container{position:relative;width:100%;aspect-ratio:4/3;background:#000;border-radius:8px;overflow:hidden;margin-bottom:1.5rem}.camera-preview,.captured-image{width:100%;height:100%;object-fit:cover}.camera-frame{position:absolute;top:10%;left:10%;right:10%;bottom:10%;pointer-events:none}.frame-corner{position:absolute;width:30px;height:30px;border:3px solid #4A90E2}.frame-corner.top-left{top:0;left:0;border-right:none;border-bottom:none;border-top-left-radius:4px}.frame-corner.top-right{top:0;right:0;border-left:none;border-bottom:none;border-top-right-radius:4px}.frame-corner.bottom-left{bottom:0;left:0;border-right:none;border-top:none;border-bottom-left-radius:4px}.frame-corner.bottom-right{bottom:0;right:0;border-left:none;border-top:none;border-bottom-right-radius:4px}.analysis-progress-container{margin-bottom:1.5rem}.analysis-progress-bar{height:8px;background:#e2e8f0;border-radius:8px;overflow:hidden;position:relative}.analysis-progress-bar.indeterminate .analysis-progress-fill{height:100%;background:#4a90e2;border-radius:8px;position:absolute;width:40%;animation:indeterminateSlide 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes indeterminateSlide{0%{left:-40%}to{left:100%}}.analysis-status-text{font-size:.9375rem;color:#4a90e2;font-weight:600;margin:.75rem 0 .25rem;text-align:center;animation:fadeIn .3s ease-in}.analysis-time-estimate{font-size:.8125rem;color:#64748b;margin:0;text-align:center;font-style:italic}.capture-error{display:flex;align-items:center;padding:1rem;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;margin-bottom:1.5rem}.error-message{font-size:.875rem;color:#dc2626;line-height:1.4}.capture-actions{display:flex;gap:1rem;justify-content:flex-end}.capture-button{padding:.75rem 1.5rem;border-radius:8px;border:none;font-size:.9375rem;font-weight:600;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;min-width:100px}.capture-button.secondary{background:#f8fafc;color:#64748b;border:2px solid #cbd5e1}.capture-button.secondary:hover:not(:disabled){background:#f1f5f9;color:#475569;border-color:#94a3b8}.capture-button.primary{background:#4a90e2;color:#fff}.capture-button.primary.capture{background:#10b981}.capture-button.primary:hover:not(:disabled){background:#3b7dd6}.capture-button.primary.capture:hover:not(:disabled){background:#059669}.capture-button:disabled{opacity:.5;cursor:not-allowed}.capture-progress{margin-bottom:1rem}.capture-progress h4{font-size:.9375rem;font-weight:600;color:#1e293b;margin:0 0 .625rem}.collected-fields{background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;padding:.625rem;margin-bottom:.75rem}.field-complete,.field-missing{padding:.375rem 0;border-bottom:1px solid #e2e8f0;font-size:.875rem;line-height:1.4}.field-complete:last-child,.field-missing:last-child{border-bottom:none;padding-bottom:0}.field-complete{color:#059669}.field-missing{color:#64748b}.next-capture-hint{background:#fef3c7;border:1px solid #fde68a;border-radius:6px;padding:.625rem;margin-top:.75rem}.next-capture-hint p{margin:0;font-size:.875rem;color:#92400e;font-weight:500}.next-capture-hint .hint-text{margin-top:.375rem;font-size:.875rem;color:#b45309;font-weight:400}@media (max-width: 768px){.capture-dialog{padding:1.5rem;width:95%;max-width:none}.capture-title{font-size:1.25rem}.capture-actions{flex-direction:column-reverse}.capture-button{width:100%}}@media (prefers-reduced-motion: reduce){.capture-dialog-overlay,.capture-dialog,.analysis-progress-fill,.capture-error,.capture-button{animation:none;transition:none}}.video-player-container{position:absolute;bottom:0;left:0;width:100%;max-height:100%;display:flex;align-items:flex-end;justify-content:center}.video-player{width:100%;height:auto;max-height:100vh;object-fit:contain;background-color:transparent}@media (orientation: portrait){.video-player{width:auto;height:100vh;max-height:100vh}}.mouth-overlay-container{position:absolute;bottom:0;left:0;width:100%;max-height:100%;display:flex;align-items:flex-end;justify-content:center;z-index:10;pointer-events:none;-webkit-user-select:none;user-select:none;will-change:contents;backface-visibility:hidden;-webkit-backface-visibility:hidden}.mouth-overlay-canvas{width:100%;height:auto;max-height:100vh;object-fit:contain;image-rendering:-webkit-optimize-contrast;image-rendering:crisp-edges;pointer-events:none;-webkit-user-select:none;user-select:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.mouth-overlay-debug{position:absolute;bottom:-30px;left:50%;transform:translate(-50%);background:#000000b3;color:#fff;padding:4px 8px;border-radius:4px;font-size:10px;font-family:monospace;white-space:nowrap;pointer-events:none;z-index:100}@media (-webkit-min-device-pixel-ratio: 2),(min-resolution: 192dpi){.mouth-overlay-canvas{image-rendering:-webkit-optimize-contrast}}@media (prefers-reduced-motion: reduce){.mouth-overlay-container{transition:none}}@media (prefers-color-scheme: dark){.mouth-overlay-debug{background:#ffffffe6;color:#000}}.control-buttons{position:fixed;bottom:32px;right:32px;display:flex;flex-direction:column;gap:16px;z-index:2000;pointer-events:none;contain:layout style;isolation:isolate}.control-button{width:56px;height:56px;border-radius:50%;border:none;background:#fff;color:#4a90e2;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 24px #4a90e266,0 4px 12px #00000026;transition:all .2s ease;pointer-events:auto;animation:slideUpFadeIn .3s ease-out}.control-button:hover{transform:scale(1.05);box-shadow:0 12px 36px #4a90e280,0 6px 20px #0003}.control-button:active{transform:scale(.95)}.control-button.active,.control-button.muted{background:#4a90e2;color:#fff;box-shadow:0 8px 24px #4a90e299,0 4px 16px #0003}.control-icon{width:24px;height:24px;transition:all .2s ease}@media (max-width: 768px){.control-buttons{bottom:20px;right:20px}.control-button{width:48px;height:48px}.control-icon{width:20px;height:20px}}@media (min-width: 769px) and (max-width: 1024px){.control-button{width:52px;height:52px}.control-icon{width:22px;height:22px}}@media (hover: none) and (pointer: coarse){.control-button{min-width:44px;min-height:44px}.control-button:hover{transform:none;box-shadow:0 4px 12px #4a90e226}}@media (prefers-contrast: high){.control-button{border:2px solid #4A90E2}.control-button.muted{border-color:#4a90e2;background:#4a90e2;color:#fff}}@media (prefers-reduced-motion: reduce){.control-button{transition:none;animation:none}.control-button:hover,.control-button:active{transform:none}}.accessibility-overlay{position:fixed;top:0;left:0;right:0;bottom:0;z-index:5;pointer-events:none;display:flex;align-items:flex-start;justify-content:center;padding:2rem}.captions-container{background:#2a2a2a66;-webkit-backdrop-filter:blur(10px) saturate(120%);backdrop-filter:blur(10px) saturate(120%);padding:.875rem 1.5rem;border-radius:12px;font-size:.95rem;font-weight:400;text-align:center;min-height:2.5rem;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;border:none;box-shadow:0 2px 8px #00000014,0 1px 2px #0000000a;transition:all .2s ease;max-width:500px;pointer-events:auto}.captions-text{position:relative;z-index:2;line-height:1.4;color:#fff;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.captions-text p{color:#fff;opacity:1;margin:0}.captions-text strong{color:#fff;font-weight:600}.captions-text em{color:#fff;font-style:italic}.captions-text ul,.captions-text ol{color:#fff;margin:.5rem 0;padding-left:1.5rem}.captions-text li{color:#fff;margin:.25rem 0;line-height:1.3}.captions-text ul li{list-style-type:disc}.captions-text ol li{list-style-type:decimal}.captions-container:hover{transform:translateY(-1px);box-shadow:0 4px 12px #0000001a;border:1px solid rgba(74,144,226,.3)}.accessibility-overlay.portrait{align-items:flex-start;padding-top:6rem}.accessibility-overlay.landscape{align-items:flex-end;padding-bottom:8rem}@media (max-width: 768px){.accessibility-overlay{padding:1.5rem}.captions-container{font-size:.9rem;padding:.75rem 1.25rem;max-width:90%;min-height:2.25rem}.accessibility-overlay.portrait{padding-top:5rem}.accessibility-overlay.landscape{padding-bottom:7rem}}@media (max-width: 640px){.accessibility-overlay{padding:1rem}.captions-container{font-size:.85rem;padding:.625rem 1rem;max-width:95%;min-height:2rem}.accessibility-overlay.portrait{padding-top:4rem}.accessibility-overlay.landscape{padding-bottom:6rem}}@media (max-width: 480px){.accessibility-overlay.portrait{padding-top:3.5rem}.accessibility-overlay.landscape{padding-bottom:5.5rem}}@media (prefers-contrast: high){.captions-container{border:2px solid #4A90E2;background:#2a2a2acc}}@media (prefers-reduced-motion: reduce){.captions-container{transition:none}.captions-container:hover{transform:none}}.supplement-stack-container{position:fixed;left:32px;top:10vh;width:380px;height:80vh;z-index:90;pointer-events:none}.supplement-card{background:#fff;border-radius:8px;box-shadow:0 8px 24px #4a90e266,0 4px 12px #00000026;position:absolute;left:0;right:0;cursor:pointer;transition:top .3s cubic-bezier(.34,1.56,.64,1),box-shadow .2s ease,opacity .2s ease,max-height .3s ease;pointer-events:auto;opacity:0;animation:slideInLeft .4s ease-out forwards;max-height:400px;display:flex;flex-direction:column;overflow:hidden}.supplement-card.active{cursor:default;max-height:calc(100% - var(--card-top, 0%))}.supplement-card.stacked{opacity:.95}.supplement-card.stacked:hover{opacity:1;box-shadow:0 12px 32px #4a90e280,0 6px 16px #0003}.card-fixed-header{flex-shrink:0;padding:1.5rem 1.5rem 0;position:relative}.card-scrollable-content{flex:1;overflow-y:auto;overflow-x:hidden;padding:0 1.5rem 1.5rem}.card-scrollable-content::-webkit-scrollbar{width:6px}.card-scrollable-content::-webkit-scrollbar-track{background:#f1f5f9;border-radius:3px}.card-scrollable-content::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}.card-scrollable-content::-webkit-scrollbar-thumb:hover{background:#94a3b8}@keyframes slideInLeft{0%{opacity:0;transform:translateY(50px)}to{opacity:1;transform:translateY(0)}}.card-close-button{position:absolute;top:0;right:0;width:32px;height:32px;border-radius:50%;border:none;background:#f8fafc;color:#64748b;font-size:1.125rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;z-index:10}.card-close-button:hover{background:#4a90e2;color:#fff;transform:scale(1.1)}.card-close-button:active{transform:scale(.95)}.card-header{margin-bottom:1.5rem;padding-bottom:.75rem;border-bottom:1px solid rgba(74,144,226,.1)}.card-brand{font-size:1rem;font-weight:700;color:#1e293b;margin:0 0 .25rem}.card-product{font-size:.9375rem;font-weight:500;color:#4a90e2;margin:0}.card-image-container{width:100%;height:140px;border-radius:8px;overflow:hidden;background:#f1f5f9;display:flex;align-items:center;justify-content:center;margin-bottom:1rem}.card-image{width:100%;height:100%;object-fit:cover}.card-image-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center}.pill-emoji,.product-emoji{font-size:3rem;opacity:.6}.product-category{text-align:center;margin-bottom:1rem;font-size:.75rem;font-weight:600;color:#4a90e2;text-transform:uppercase;letter-spacing:.5px;padding:.25rem .75rem;background:#4a90e21a;border-radius:12px;display:inline-block}.card-content{overflow:hidden;transition:max-height .3s ease,opacity .2s ease}.card-content.collapsed{max-height:80px}.card-content.expanded{max-height:400px}.card-section{margin-bottom:.75rem}.section-label{font-size:.75rem;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.5px;margin:0 0 .25rem}.section-text{font-size:.875rem;color:#475569;margin:0;line-height:1.5}.expand-toggle{width:100%;padding:.5rem;border:none;background:transparent;color:#4a90e2;font-size:.8125rem;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:.5rem;transition:all .2s ease;margin:.5rem 0}.expand-toggle:hover{color:#3b7dd6}.expand-icon{transition:transform .2s ease}.expand-icon.expanded{transform:rotate(180deg)}.card-actions{display:flex;gap:.75rem;margin-top:1rem}.card-button{flex:1;padding:.75rem 1.5rem;border-radius:8px;border:none;font-size:.9375rem;font-weight:600;cursor:pointer;transition:all .2s ease;min-height:44px}.card-button.primary{background:#4a90e2;color:#fff}.card-button.primary:hover{background:#3b7dd6;transform:translateY(-1px);box-shadow:0 4px 8px #4a90e24d}.card-button.primary:active{transform:translateY(0)}@media (min-width: 768px) and (max-width: 1024px){.supplement-stack-container{width:320px;left:24px;top:10vh;height:75vh}.supplement-card.active{max-height:calc(100% - var(--card-top, 0%))}.card-image-container{height:120px}.pill-emoji,.product-emoji{font-size:2.5rem}.product-category{font-size:.6875rem;padding:.1875rem .625rem}.card-brand{font-size:.9375rem}.card-product{font-size:.875rem}}@media (max-width: 767px){.supplement-stack-container{left:0;right:0;bottom:0;top:auto;width:100%;height:70vh;padding:0 1rem 1rem}.supplement-card.active{max-height:calc(100% - var(--card-top, 0%))}.supplement-card{animation:slideInBottom .4s ease-out forwards}@keyframes slideInBottom{0%{opacity:0;transform:translateY(100px)!important}to{opacity:1}}.card-image-container{height:100px}.pill-emoji,.product-emoji{font-size:2rem}.product-category{font-size:.625rem;padding:.1875rem .5rem;margin-bottom:.75rem}.card-header{margin-bottom:.75rem}.card-brand{font-size:.875rem}.card-product{font-size:.8125rem}.section-label{font-size:.6875rem}.section-text{font-size:.8125rem}.card-content.collapsed{max-height:60px}.card-actions{margin-top:.75rem}.card-button{padding:.625rem 1.25rem;font-size:.875rem}}@media (max-width: 479px){.supplement-stack-container{height:65vh;padding:0 .75rem .75rem}.supplement-card.active{max-height:calc(100% - var(--card-top, 0%))}.supplement-card{padding:1.25rem}.card-close-button{width:28px;height:28px;font-size:1rem}.card-image-container{height:80px;margin-bottom:.75rem}.pill-emoji,.product-emoji{font-size:1.75rem}.product-category{font-size:.5625rem;padding:.125rem .375rem;margin-bottom:.5rem}.card-brand{font-size:.8125rem}.card-product{font-size:.75rem}.card-content.collapsed{max-height:50px}.expand-toggle{font-size:.75rem;padding:.375rem}}@media (max-height: 500px) and (orientation: landscape){.supplement-stack-container{max-height:85vh}.card-image-container{height:80px}}@media (hover: none) and (pointer: coarse){.card-close-button,.expand-toggle,.card-button{min-width:44px;min-height:44px}.supplement-card.stacked:hover{box-shadow:0 8px 24px #4a90e266,0 4px 12px #00000026;transform:none}.card-close-button:hover{background:#f8fafc;color:#64748b;transform:none}.card-button.primary:hover{transform:none}}@media (prefers-contrast: high){.supplement-card{border:2px solid #4A90E2}.card-button{border:2px solid currentColor}.card-close-button{border:2px solid #64748b}}@media (prefers-reduced-motion: reduce){.supplement-card,.card-close-button,.expand-icon,.card-button,.card-content{animation:none;transition:none}.supplement-card{opacity:1}}.supplement-card.swiping{transition:transform .1s linear}.supplement-card.bringing-to-top{animation:bringToTop .3s cubic-bezier(.34,1.56,.64,1)}@keyframes bringToTop{0%{transform:scale(.95)}50%{transform:scale(1.02)}to{transform:scale(1)}}.supplement-card.dismissing{animation:dismissCard .3s ease-out forwards}@keyframes dismissCard{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(100px)}}.shopping-cart-container{position:fixed;top:32px;right:32px;z-index:15;pointer-events:none;contain:layout style;isolation:isolate}.shopping-cart-button{width:56px;height:56px;border-radius:50%;border:none;background:#fff;color:#4a90e2;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 24px #4a90e266,0 4px 12px #00000026;transition:all .2s ease;pointer-events:auto;animation:slideDownFadeIn .3s ease-out;position:relative}.shopping-cart-button:hover{transform:scale(1.05);box-shadow:0 12px 36px #4a90e280,0 6px 20px #0003}.shopping-cart-button:active{transform:scale(.95)}.cart-icon{width:24px;height:24px;transition:all .2s ease}.cart-badge{position:absolute;top:-4px;right:-4px;min-width:20px;height:20px;border-radius:10px;background:#dc2626;color:#fff;font-size:.75rem;font-weight:700;display:flex;align-items:center;justify-content:center;padding:0 6px;box-shadow:0 2px 4px #dc26264d;animation:badgePop .3s cubic-bezier(.34,1.56,.64,1)}@keyframes slideDownFadeIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes badgePop{0%{opacity:0;transform:scale(0)}to{opacity:1;transform:scale(1)}}@media (max-width: 1024px){.shopping-cart-container{top:28px;right:28px}.shopping-cart-button{width:52px;height:52px}.cart-icon{width:22px;height:22px}.cart-badge{min-width:18px;height:18px;font-size:.6875rem;padding:0 5px}}@media (max-width: 768px){.shopping-cart-container{top:20px;right:20px}.shopping-cart-button{width:48px;height:48px}.cart-icon{width:20px;height:20px}.cart-badge{min-width:16px;height:16px;font-size:.625rem;padding:0 4px}}@media (max-width: 480px){.shopping-cart-container{top:16px;right:16px}}@media (hover: none) and (pointer: coarse){.shopping-cart-button{min-width:44px;min-height:44px}.shopping-cart-button:hover{transform:none;box-shadow:0 8px 24px #4a90e266,0 4px 12px #00000026}}@media (prefers-contrast: high){.shopping-cart-button{border:2px solid #4A90E2}.cart-badge{border:2px solid #ffffff}}@media (prefers-reduced-motion: reduce){.shopping-cart-button,.cart-icon,.cart-badge{transition:none;animation:none}.shopping-cart-button:hover,.shopping-cart-button:active{transform:none}}.refill-reminder-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#00000080;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;justify-content:center;align-items:center;z-index:1100;animation:fadeIn .3s ease-out}.refill-reminder-modal{background-color:#fffffffa;padding:20px;border-radius:16px;box-shadow:0 4px 30px #0000001a;width:90%;max-width:480px;animation:slideIn .3s cubic-bezier(.25,.8,.25,1)}.refill-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.refill-header h2{margin:0;font-size:1.5rem}.close-button{background:none;border:none;font-size:1.5rem;cursor:pointer}.refill-card{text-align:center}.progress-bar-container{width:100%;background-color:#e9ecef;border-radius:8px;margin:16px 0 8px}.progress-bar{height:12px;border-radius:8px;transition:width .5s ease-out}.progress-label{font-size:.875rem;color:#6c757d}.description{margin:16px 0}.action-buttons{display:flex;gap:16px;justify-content:center}.action-buttons button{padding:12px 24px;border-radius:8px;border:none;cursor:pointer;font-size:1rem}.action-buttons .primary{background-color:#4a90e2;color:#fff}.action-buttons .secondary{background-color:#f8f9fa;color:#495057;border:1px solid #dee2e6}.carousel-dots{text-align:center;margin-top:16px}.dot{display:inline-block;width:8px;height:8px;border-radius:50%;background-color:#ced4da;margin:0 4px;cursor:pointer}.dot.active{background-color:#4a90e2}@keyframes slideIn{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}@media (max-width: 768px){.refill-reminder-modal{position:fixed;bottom:0;left:0;right:0;width:100%;max-width:100%;border-radius:16px 16px 0 0;animation:slideUp .3s cubic-bezier(.25,.8,.25,1)}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}}.medication-schedule-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .3s ease}.medication-schedule-container{position:relative;width:90%;max-width:400px;height:500px}.medication-card{position:absolute;width:100%;background:linear-gradient(135deg,#f5f5f0,#fff);border-radius:16px;padding:24px;box-shadow:0 8px 32px #00000026;transition:all .4s cubic-bezier(.4,0,.2,1)}.medication-card.active{opacity:1;transform:translateY(0) scale(1)}.medication-card.stacked{opacity:.6;transform:translateY(-20px) scale(.95);pointer-events:none}.card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid rgba(0,0,0,.1)}.time-info{flex:1}.time-info .time-label{font-size:2.5rem;font-weight:700;color:#1a1a1a;margin:0;line-height:1}.time-info .time-slot{font-size:1rem;color:#666;margin:4px 0;font-weight:500}.time-info .day-date{font-size:1.1rem;color:#666;margin:4px 0 0;font-weight:400}.date-icon{text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#ffffff80;border-radius:12px;padding:8px 12px;min-width:60px}.date-icon .icon{font-size:2rem;display:block;line-height:1}.date-icon .date-small{font-size:.85rem;color:#666;margin:4px 0 0;font-weight:500}.medication-details{margin:20px 0}.medication-item{display:flex;align-items:center;gap:12px;padding:12px 0;font-size:1rem;color:#333}.medication-item .quantity{font-weight:700;font-size:1.2rem;min-width:30px;color:#1a1a1a}.medication-item .name{font-weight:600;text-transform:uppercase;letter-spacing:.5px;flex:1;color:#1a1a1a}.medication-item .dosage{color:#666;font-weight:500}.subsequent-times{font-size:.9rem;color:#666;font-style:italic;margin:8px 0 0 42px}.guidelines{font-size:.85rem;color:#555;line-height:1.5;margin-top:16px;padding:12px;background:#00000008;border-radius:8px;border-left:3px solid #10b981}.action-buttons{display:flex;gap:12px;margin-top:24px;padding-top:16px;border-top:1px solid rgba(0,0,0,.1)}.action-buttons button{flex:1;padding:14px;border-radius:12px;border:none;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease;font-family:inherit}.btn-primary{background:#10b981;color:#fff}.btn-primary:hover{background:#059669;transform:translateY(-2px);box-shadow:0 4px 12px #10b9814d}.btn-primary:active{transform:translateY(0)}.btn-secondary{background:#e5e7eb;color:#374151}.btn-secondary:hover{background:#d1d5db;transform:translateY(-2px);box-shadow:0 4px 8px #0000001a}.btn-secondary:active{transform:translateY(0)}.medication-card.as-needed{background:linear-gradient(135deg,#f9f9f9,#fff);border:2px dashed #ced4da;opacity:.9}.as-needed-badge{position:absolute;top:16px;right:16px;background-color:#6c757d;color:#fff;padding:4px 12px;border-radius:12px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.medication-card.as-needed .btn-primary{background-color:#6c757d}.medication-card.as-needed .btn-primary:hover{background-color:#5a6268}@media (max-width: 480px){.medication-schedule-container{width:95%;height:auto;max-height:90vh}.medication-card{padding:20px}.time-info .time-label{font-size:2rem}.date-icon .icon{font-size:1.5rem}.medication-item{font-size:.95rem}.action-buttons{flex-direction:column}.action-buttons button{width:100%}}.avatar-container{position:relative;width:100vw;height:100vh;background-color:#fff;overflow:hidden;display:flex;align-items:center;justify-content:center}.loading-screen{display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#f8fafc,#f1f5f9)}.progress-container{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2rem;padding:2rem}.logo-centerpiece{display:flex;align-items:center;justify-content:center;margin-bottom:1rem}.loading-logo{height:4rem;width:auto;object-fit:contain;filter:drop-shadow(0 4px 8px rgba(0,0,0,.1));animation:logoPulse 2s ease-in-out infinite}.circular-progress{position:relative;display:flex;align-items:center;justify-content:center}.progress-svg{width:120px;height:120px;transform:rotate(-90deg)}.progress-bg{opacity:.2}.progress-circle{transition:stroke-dashoffset .3s ease-in-out;filter:drop-shadow(0 2px 4px rgba(102,126,234,.2))}.progress-text{position:absolute;font-size:1.5rem;font-weight:700;color:#667eea;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;text-shadow:0 1px 2px rgba(0,0,0,.1)}.loading-status{font-size:1.125rem;color:#64748b;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;text-align:center;max-width:300px;line-height:1.5;opacity:.8}@keyframes logoPulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.05);opacity:.9}}@keyframes progressFill{0%{stroke-dashoffset:283px}to{stroke-dashoffset:0}}@media (max-width: 768px){.progress-container{gap:1.5rem;padding:1.5rem}.loading-logo{height:3rem}.progress-svg{width:100px;height:100px}.progress-text{font-size:1.25rem}.loading-status{font-size:1rem;max-width:250px}}@media (max-width: 480px){.progress-container{gap:1rem;padding:1rem}.loading-logo{height:2.5rem}.progress-svg{width:80px;height:80px}.progress-text{font-size:1rem}.loading-status{font-size:.875rem;max-width:200px}}@media (orientation: portrait){.loading-screen.portrait .progress-container{min-height:50vh;justify-content:center}}@media (orientation: landscape){.loading-screen.landscape .progress-container{min-height:70vh;justify-content:center}}.loading-screen{opacity:1;transition:opacity .5s ease-in-out}.loading-screen.fade-out{opacity:0}.avatar-container:not(.loading-screen){animation:fadeIn .5s ease-in-out}@keyframes slideUpFadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.video-transition-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background-color:#fff;opacity:1;z-index:5;pointer-events:none;animation:fadeOut .2s ease-out forwards}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}.avatar-video{width:100%;max-height:100%;object-fit:contain;position:absolute;bottom:0;left:0;z-index:1}.logo-overlay{position:fixed;top:0;left:0;padding:1.5rem;z-index:10}.logo-image{height:2.5rem;width:auto;object-fit:contain;display:block}.button-overlay{position:fixed;bottom:0;left:0;right:0;display:flex;justify-content:center;padding:3rem 2rem;z-index:10}.get-started-button{width:150px;height:150px;border-radius:50%;border:none;background:#fff;color:#4a90e2;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 24px #4a90e266,0 4px 12px #00000026;transition:all .2s ease;font-size:1.125rem;font-weight:600;animation:slideUpFadeIn .3s ease-out;padding:0 1.5rem}.get-started-button:hover:not(:disabled){transform:scale(1.05);box-shadow:0 12px 36px #4a90e280,0 6px 20px #0003}.get-started-button:active:not(:disabled){transform:scale(.95)}.get-started-button:disabled{opacity:.7;cursor:not-allowed;background:#e8eef2;color:#6c757d}@media (max-width: 1024px){.logo-overlay{padding:1.25rem}.logo-image{height:2rem}.button-overlay{padding:2.5rem 1.5rem}.get-started-button{width:130px;height:130px;font-size:1rem}}@media (max-width: 768px){.logo-overlay{padding:1rem}.logo-image{height:1.75rem}.button-overlay{padding:2rem 1rem}.get-started-button{width:120px;height:120px;font-size:1rem}}@media (max-width: 480px){.logo-overlay{padding:.75rem}.logo-image{height:1.5rem}.button-overlay{padding:1.5rem 1rem}.get-started-button{width:120px;height:120px;font-size:.9375rem}}@media (max-height: 500px) and (orientation: landscape){.logo-overlay{padding:.5rem}.logo-image{height:1.25rem}.button-overlay{padding:1rem}.get-started-button{width:90px;height:90px;font-size:.875rem}}@media (max-width: 375px){.logo-image{height:1.25rem}.get-started-button{width:90px;height:90px;font-size:.8125rem}}.avatar-container.portrait{flex-direction:column}.avatar-container.portrait .avatar-video{width:100%;position:absolute;bottom:0;left:0;z-index:1}.avatar-container.landscape .avatar-video{width:100%;max-height:100%;object-fit:contain;position:absolute;bottom:0;left:0;z-index:1}.avatar-container,.avatar-video,.logo-overlay,.button-overlay,.logo-image,.get-started-button{transition:all .3s ease-in-out}@media (min-height: 800px) and (orientation: portrait){.avatar-container.portrait .avatar-video{height:40vh;object-fit:contain}}@media (min-height: 600px) and (max-height: 800px) and (orientation: portrait){.avatar-container.portrait .avatar-video{height:50vh;object-fit:contain}}@media (max-height: 600px) and (orientation: portrait){.avatar-container.portrait .avatar-video{height:60vh;object-fit:cover}}@media (max-width: 768px) and (orientation: portrait){.avatar-container.portrait .logo-overlay{padding:.5rem}.avatar-container.portrait .logo-image{height:1.5rem}.avatar-container.portrait .avatar-video{height:50vh!important;object-fit:cover}}@media (max-width: 480px) and (orientation: portrait){.avatar-container.portrait .get-started-button{padding:.875rem;font-size:.9375rem}.avatar-container.portrait .avatar-video{height:45vh!important}}.emergency-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000bf;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);display:flex;align-items:center;justify-content:center;z-index:10000;padding:20px;animation:overlayFadeIn .3s ease-out}@keyframes overlayFadeIn{0%{opacity:0}to{opacity:1}}.emergency-card{background:linear-gradient(135deg,#dc2626,#991b1b);border-radius:20px;padding:32px 28px;max-width:480px;width:100%;box-shadow:0 20px 60px #dc262680,0 0 0 1px #ffffff26 inset;animation:cardSlideUp .4s cubic-bezier(.34,1.56,.64,1);position:relative;color:#fff}.emergency-card.moderate{background:linear-gradient(135deg,#f59e0b,#d97706)}@keyframes cardSlideUp{0%{opacity:0;transform:translateY(30px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.emergency-close-button{position:absolute;top:12px;right:12px;background:#fff3;border:1px solid rgba(255,255,255,.3);border-radius:10px;width:36px;height:36px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#fff;font-size:20px;font-weight:300;transition:all .2s ease;padding:0}.emergency-close-button:hover{background:#ffffff4d;transform:scale(1.05)}.emergency-icon-container{display:flex;justify-content:center;margin-bottom:20px}.emergency-icon{font-size:64px;filter:drop-shadow(0 4px 12px rgba(0,0,0,.3));animation:iconBounce .6s ease-out}@keyframes iconBounce{0%,to{transform:scale(1)}50%{transform:scale(1.08)}}.emergency-icon.pulse{animation:iconPulse 1.5s ease-in-out infinite}@keyframes iconPulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.12);opacity:.9}}.emergency-title{font-size:24px;font-weight:800;text-align:center;margin:0 0 16px;color:#fff;text-shadow:0 2px 8px rgba(0,0,0,.25);letter-spacing:.3px;line-height:1.2}.severity-badge{display:inline-block;padding:6px 18px;border-radius:100px;font-size:12px;font-weight:700;letter-spacing:.8px;text-transform:uppercase;margin:0 auto 20px;display:block;width:fit-content;box-shadow:0 3px 10px #0003}.severity-badge.life_threatening{background:#fff;color:#dc2626}.severity-badge.urgent{background:#ffffff40;color:#fff;border:2px solid rgba(255,255,255,.5)}.severity-badge.moderate{background:#ffffff40;color:#fff;border:2px solid rgba(255,255,255,.4)}.emergency-message{font-size:16px;line-height:1.5;color:#fffffff2;text-align:center;margin:0 0 28px;font-weight:500}.call-911-button{display:flex;align-items:center;justify-content:center;gap:12px;background:#fff;color:#dc2626;border:none;border-radius:16px;padding:20px 32px;font-size:20px;font-weight:800;text-decoration:none;cursor:pointer;width:100%;transition:all .2s ease;box-shadow:0 8px 24px #0000004d,0 0 0 2px #ffffff1a inset;text-transform:uppercase;letter-spacing:1px;min-height:72px}.call-911-button:hover{transform:translateY(-2px);box-shadow:0 12px 32px #0006,0 0 0 2px #fff3 inset}.call-911-button:active{transform:translateY(0)}.call-911-button.pulse-button{animation:buttonPulse 2s ease-in-out infinite}@keyframes buttonPulse{0%,to{box-shadow:0 8px 24px #0000004d,0 0 0 2px #ffffff1a inset,0 0 #fff0}50%{box-shadow:0 8px 24px #0000004d,0 0 0 2px #fff3 inset,0 0 0 8px #ffffff4d}}.button-icon{font-size:26px;filter:drop-shadow(0 2px 4px rgba(0,0,0,.1))}.button-text{font-size:20px;line-height:1}@media (max-width: 640px){.emergency-overlay{padding:16px}.emergency-card{padding:28px 24px;border-radius:18px;max-width:100%}.emergency-icon{font-size:56px}.emergency-title{font-size:22px;margin-bottom:14px}.severity-badge{font-size:11px;padding:5px 16px;margin-bottom:18px}.emergency-message{font-size:15px;margin-bottom:24px}.call-911-button{padding:18px 28px;font-size:19px;min-height:72px}.button-icon{font-size:24px}.button-text{font-size:19px}}@media (max-width: 380px){.emergency-card{padding:24px 20px;border-radius:16px}.emergency-icon{font-size:52px;margin-bottom:16px}.emergency-title{font-size:20px;letter-spacing:.2px}.severity-badge{font-size:10px;padding:4px 14px}.emergency-message{font-size:14px;margin-bottom:20px}.call-911-button{padding:16px 24px;font-size:18px;min-height:72px;gap:10px}.button-icon{font-size:22px}.button-text{font-size:18px}}@media (prefers-contrast: high){.emergency-card{border:3px solid white}.call-911-button{border:3px solid #DC2626}}@media (prefers-reduced-motion: reduce){.emergency-overlay,.emergency-card,.emergency-icon,.call-911-button,.emergency-icon.pulse,.call-911-button.pulse-button{animation:none}}.appointment-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;justify-content:center;align-items:center;z-index:1000;padding:1rem;animation:fadeIn .3s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.appointment-card{background:linear-gradient(135deg,#fff,#f8f9fa);border-radius:20px;box-shadow:0 20px 60px #0000004d;max-width:500px;width:100%;padding:2rem 1.5rem;animation:slideUp .4s ease-out;position:relative;border:1px solid rgba(255,255,255,.8)}@keyframes slideUp{0%{transform:translateY(30px);opacity:0}to{transform:translateY(0);opacity:1}}.appointment-card .card-header{text-align:center;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:2px solid #e9ecef}.appointment-card h2{margin:0;font-size:1.5rem;font-weight:700;color:#2c3e50;letter-spacing:-.5px}.appointment-details{margin-bottom:1.5rem}.detail-row{display:flex;justify-content:space-between;align-items:baseline;padding:.75rem;margin-bottom:.5rem;background:#ffffff80;border-radius:10px;border-left:3px solid #dee2e6;transition:all .2s ease}.detail-row:hover{background:#fffc;transform:translate(4px)}.detail-row.main{background:linear-gradient(135deg,#e3f2fd,#f1f8ff);border-left-color:#2196f3;font-size:1rem}.detail-row .label{font-weight:600;color:#495057;margin-right:1rem;flex-shrink:0}.detail-row .value{color:#212529;text-align:right;word-break:break-word}.detail-row .confirmation-number{font-family:Courier New,monospace;font-size:.9rem;background:#f8f9fa;padding:.25rem .5rem;border-radius:4px;border:1px dashed #ced4da}.additional-notes{margin-top:1rem;padding:1rem;background:linear-gradient(135deg,#fff3cd,#fff9e6);border-left:4px solid #ffc107;border-radius:10px}.additional-notes p{margin:0;color:#856404;font-size:.95rem;line-height:1.5}.action-buttons{display:flex;gap:.75rem;margin-bottom:1rem;flex-wrap:wrap}.action-buttons button{flex:1;min-width:120px;padding:.875rem 1.25rem;border:none;border-radius:12px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 12px #0000001a}.action-buttons button:active{transform:translateY(2px);box-shadow:0 2px 6px #00000026}.btn-calendar{background:linear-gradient(135deg,#fff,#f8f9fa);color:#495057;border:2px solid #dee2e6}.btn-calendar:hover{background:linear-gradient(135deg,#f8f9fa,#e9ecef);border-color:#ced4da;transform:translateY(-2px);box-shadow:0 6px 16px #00000026}.btn-primary{background:linear-gradient(135deg,#4caf50,#45a049);color:#fff;border:2px solid transparent}.btn-primary:hover{background:linear-gradient(135deg,#45a049,#3d8b40);transform:translateY(-2px);box-shadow:0 6px 16px #4caf504d}.auto-dismiss-indicator{text-align:center;font-size:.85rem;color:#6c757d;margin-top:.5rem;font-style:italic;opacity:.7}@media (min-width: 768px){.appointment-card{padding:2.5rem 2rem}.appointment-card h2{font-size:1.75rem}.detail-row{padding:1rem}.action-buttons button{padding:1rem 1.5rem;font-size:1.05rem}}@media (min-width: 1024px){.appointment-overlay{padding:2rem}.appointment-card{max-width:600px;padding:3rem 2.5rem}.appointment-card h2{font-size:2rem}}@media (prefers-contrast: high){.appointment-card{border:3px solid #000}.detail-row{border-left-width:5px}}.medical-highlights-section{margin:1rem 0 1.5rem;border-top:1px solid #e9ecef;padding-top:1rem}.highlights-toggle{width:100%;display:flex;align-items:center;gap:.75rem;padding:.875rem 1rem;background:linear-gradient(135deg,#f8f9fa,#fff);border:1px solid #dee2e6;border-radius:8px;cursor:pointer;transition:all .2s ease;font-size:.95rem;font-weight:600;color:#495057}.highlights-toggle:hover{background:linear-gradient(135deg,#e9ecef,#f8f9fa);border-color:#ced4da}.toggle-icon{display:flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:4px;background:#6c757d;color:#fff;font-size:1.1rem;font-weight:300;line-height:1}.toggle-label{flex:1;text-align:left;letter-spacing:.3px}.highlights-content{margin-top:.75rem;padding:1rem;background:#f8f9fa;border-radius:8px;border:1px solid #e9ecef;animation:expandDown .3s ease-out}@keyframes expandDown{0%{opacity:0;max-height:0;padding-top:0;padding-bottom:0}to{opacity:1;max-height:500px;padding-top:1rem;padding-bottom:1rem}}.highlight-item{display:flex;gap:.75rem;padding:.75rem;margin-bottom:.5rem;background:#fff;border-radius:6px;border-left:3px solid #ced4da;transition:all .2s ease}.highlight-item:last-child{margin-bottom:0}.highlight-item:hover{box-shadow:0 2px 8px #00000014}.item-icon{flex-shrink:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;font-size:.9rem;font-weight:300;color:#6c757d;background:#f1f3f5;border-radius:4px}.item-content{flex:1;display:flex;flex-direction:column;gap:.25rem}.item-label{font-size:.8rem;font-weight:600;color:#6c757d;text-transform:uppercase;letter-spacing:.5px}.item-value{font-size:.95rem;color:#212529;line-height:1.4}.highlight-item.allergy{border-left-color:#dc3545;background:linear-gradient(135deg,#fff5f5,#fff)}.highlight-item.allergy .item-icon{color:#dc3545;background:#ffe5e5}.highlight-item.condition{border-left-color:#06c}.highlight-item.condition .item-icon{color:#06c;background:#e6f2ff}.highlight-item.refill{border-left-color:#fd7e14}.highlight-item.refill .item-icon{color:#fd7e14;background:#fff4e6;font-family:Georgia,serif;font-style:italic}.highlight-item.test-results{border-left-color:#6f42c1}.highlight-item.test-results .item-icon{color:#6f42c1;background:#f3e5ff}.highlight-item.meds-count{border-left-color:#20c997}.highlight-item.meds-count .item-icon{color:#20c997;background:#e6fff9}.refill-item,.test-item{padding:.5rem .75rem;margin-top:.5rem;background:#f8f9fa;border-radius:4px;font-size:.9rem;border-left:2px solid #dee2e6}.refill-item:first-child,.test-item:first-child{margin-top:.25rem}.status-badge{display:inline-block;padding:.15rem .5rem;margin-left:.5rem;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.3px;border-radius:12px;background:#e9ecef;color:#6c757d}.status-badge.elevated{background:#fff3cd;color:#856404}.status-badge.low{background:#d1ecf1;color:#0c5460}.status-badge.critical{background:#f8d7da;color:#721c24}@media (min-width: 768px){.highlights-content{padding:1.25rem}.highlight-item{padding:1rem}.item-icon{width:28px;height:28px;font-size:1rem}}@media (prefers-reduced-motion: reduce){.appointment-overlay,.appointment-card{animation:none}.detail-row:hover,.action-buttons button:active{transform:none}.highlights-content{animation:none}.highlight-item:hover{box-shadow:none}}*{margin:0;padding:0;box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow:hidden}.app{width:100vw;height:100vh;overflow:hidden}html,body,#root{overflow:hidden;width:100%;height:100%}
