*,::backdrop,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*
! tailwindcss v3.4.17 | MIT License | https://tailwindcss.com
*/*,:after,:before{border:0 solid #e5e7eb;box-sizing:border-box}:after,:before{--tw-content:""}:host,html{-webkit-text-size-adjust:100%;font-feature-settings:normal;-webkit-tap-highlight-color:transparent;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-variation-settings:normal;line-height:1.5;tab-size:4}body{line-height:inherit}hr{border-top-width:1px;color:inherit;height:0}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-feature-settings:normal;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em;font-variation-settings:normal}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:initial}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{font-feature-settings:inherit;color:inherit;font-family:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:initial;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:initial}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::placeholder,textarea::placeholder{color:#9ca3af;opacity:1}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]:where(:not([hidden=until-found])){display:none}.fixed{position:fixed}.flex{display:flex}.border{border-width:1px}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}:root{--primary-color:#4a90e2;--secondary-color:#7b8a9a;--accent-color:#fff;--text-primary:#2c3e50;--text-secondary:#546e7a;--background-light:#f8f9fa;--background-card:#fff;--shadow-light:#4a90e21a;--shadow-medium:#4a90e226;--success-color:#4a90e2;--warning-color:#7b8a9a;--error-color:#dc3545;--focus-color:#0056b3}@media (prefers-contrast:high){:root{--primary-color:#003d82;--secondary-color:#2c3e50;--text-primary:#000;--text-secondary:#2c3e50;--background-light:#fff;--background-card:#fff;--shadow-light:#0000004d;--shadow-medium:#0006;--focus-color:navy}}.forgot-password-section{margin:15px 0;padding:10px 0;text-align:center}.forgot-password-button{background:none;border:none;border-radius:4px;color:#4a90e2;color:var(--primary-color);cursor:pointer;font-size:16px;padding:8px 12px;text-decoration:underline;transition:all .2s ease}.forgot-password-button:hover{background-color:#f8f9fa;background-color:var(--background-light);text-decoration:none}.forgot-password-button:focus{outline:3px solid #0056b3;outline:3px solid var(--focus-color);outline-offset:2px}.forgot-password-modal{max-width:480px;width:95%}.forgot-password-info{margin-bottom:25px;text-align:center}.forgot-password-description{background-color:#f8f9fa;background-color:var(--background-light);border-left:4px solid #4a90e2;border-left:4px solid var(--primary-color);border-radius:8px;color:#546e7a;color:var(--text-secondary);font-size:18px;line-height:1.6;margin:0;padding:15px}.forgot-password-submit{background-color:#4a90e2;background-color:var(--primary-color);font-size:18px;min-height:56px;padding:16px 24px}.forgot-password-submit:hover{background-color:#0056b3;background-color:var(--focus-color)}.large-input{font-size:18px!important;min-height:56px!important;padding:16px!important}.forgot-password-modal .form-group label{color:#2c3e50;color:var(--text-primary);display:block;font-size:18px;font-weight:600;margin-bottom:8px}.forgot-password-modal .auth-toggle{margin-top:25px}.forgot-password-modal .auth-toggle p{color:#546e7a;color:var(--text-secondary);font-size:17px}.forgot-password-modal .link-button{color:#4a90e2;color:var(--primary-color);font-size:17px;font-weight:600}@media (max-width:768px){.forgot-password-modal{margin:10px;max-width:95%}.forgot-password-description{font-size:17px;padding:12px}.forgot-password-submit{font-size:17px;min-height:52px;padding:14px 20px}}@media (max-width:480px){.forgot-password-description{font-size:16px;padding:10px}.forgot-password-submit{font-size:16px;min-height:48px;padding:12px 18px}}.instacart-section{background-color:#fff;background-color:var(--background-card);border:1px solid #4a90e21a;border-radius:12px;box-shadow:#4a90e226;box-shadow:var(--shadow-medium);margin:20px 0;padding:24px}.instacart-header{margin-bottom:25px;text-align:center}.instacart-header h3{color:#2c3e50;color:var(--text-primary);font-size:28px;font-weight:700;margin:0}.instacart-content{margin:0 auto;max-width:800px}.instacart-connection{text-align:center}.instacart-description{margin-bottom:30px}.instacart-info{color:#546e7a;color:var(--text-secondary);font-size:18px;line-height:1.6;margin-bottom:25px}.instacart-benefits{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin:20px 0}.benefit-item{align-items:center;background-color:#f8f9fa;background-color:var(--background-light);border-left:4px solid #00a652;border-radius:8px;display:flex;gap:12px;padding:15px}.benefit-icon{flex-shrink:0;font-size:24px}.benefit-text{color:#2c3e50;color:var(--text-primary);font-size:16px;font-weight:500}.instacart-connect-button{align-items:center;background-color:#00a652;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:20px;font-weight:600;gap:12px;justify-content:center;margin:0 auto;min-height:64px;padding:18px 32px;transition:all .2s ease}.instacart-connect-button:hover{background-color:#008a44;box-shadow:0 4px 12px #00a6524d;transform:translateY(-2px)}.instacart-connect-button:focus{outline:3px solid #00a652;outline-offset:2px}.instacart-connect-button.connecting{background-color:#666;cursor:not-allowed}.instacart-connected{text-align:center}.instacart-status{align-items:center;display:flex;flex-wrap:wrap;gap:20px;justify-content:center;margin-bottom:30px}.instacart-connected-badge{background-color:#00a652;border-radius:6px;color:#fff;font-size:18px;font-weight:600;padding:12px 20px}.instacart-disconnect-button{background-color:#7b8a9a;background-color:var(--secondary-color);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:16px;padding:10px 16px;transition:background-color .2s ease}.instacart-disconnect-button:hover{background-color:#dc3545}.instacart-features h4{color:#2c3e50;color:var(--text-primary);font-size:24px;margin-bottom:20px}.feature-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:30px}.feature-card{align-items:flex-start;background-color:#f8f9fa;background-color:var(--background-light);border:1px solid #00a6521a;border-radius:8px;display:flex;gap:15px;padding:20px}.feature-icon{flex-shrink:0;font-size:32px}.feature-content h5{color:#2c3e50;color:var(--text-primary);font-size:18px;font-weight:600;margin:0 0 8px}.feature-content p{color:#546e7a;color:var(--text-secondary);font-size:16px;line-height:1.4;margin:0}.instacart-panel-button{background-color:#4a90e2;background-color:var(--primary-color);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:18px;font-weight:600;min-height:56px;padding:16px 24px;transition:background-color .2s ease}.instacart-panel-button:hover{background-color:#0056b3;background-color:var(--focus-color)}.instacart-panel{background-color:#f8f9fa;background-color:var(--background-light);border:1px solid #00a65233;border-radius:8px;margin-top:25px;padding:20px}.instacart-cart h4{color:#2c3e50;color:var(--text-primary);font-size:22px;margin-bottom:15px}.cart-description{color:#546e7a;color:var(--text-secondary);font-size:16px;line-height:1.5;margin-bottom:20px}.cart-link-section{padding:20px;text-align:center}.cart-ready{color:#00a652;font-size:18px;font-weight:600;margin-bottom:15px}.instacart-checkout-button{background-color:#00a652;border-radius:8px;color:#fff;display:inline-block;font-size:18px;font-weight:600;padding:16px 24px;text-decoration:none;transition:background-color .2s ease}.instacart-checkout-button:hover{background-color:#008a44}.empty-cart{padding:20px;text-align:center}.empty-cart p{color:#546e7a;color:var(--text-secondary);font-size:16px;margin-bottom:20px}.suggestion-commands{align-items:center;display:flex;flex-direction:column;gap:12px}.suggestion-button{background-color:#4a90e2;background-color:var(--primary-color);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:16px;min-width:280px;padding:12px 20px;text-align:left;transition:background-color .2s ease}.suggestion-button:hover{background-color:#0056b3;background-color:var(--focus-color)}@media (max-width:768px){.instacart-section{margin:15px 0;padding:20px}.instacart-header h3{font-size:24px}.feature-grid,.instacart-benefits{grid-template-columns:1fr}.instacart-status{flex-direction:column;gap:15px}.suggestion-button{font-size:15px;min-width:100%}}@media (max-width:480px){.instacart-connect-button{font-size:18px;padding:16px 24px}.instacart-connected-badge{font-size:16px;padding:10px 16px}.feature-card{padding:15px}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f8f9fa;background-color:var(--background-light);color:#2c3e50;color:var(--text-primary);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.6;overflow-x:hidden}.app,body{font-size:18px}.app{background:linear-gradient(135deg,#f8f9fa,#e9ecef);min-height:100vh;padding:20px}.app:before{background:radial-gradient(circle at 20% 50%,#ffffff0d 0,#0000 50%),radial-gradient(circle at 80% 20%,#ffffff0d 0,#0000 50%),radial-gradient(circle at 40% 80%,#ffffff0d 0,#0000 50%);bottom:0;content:"";left:0;pointer-events:none;position:fixed;right:0;top:0;z-index:0}.app-header{margin-bottom:40px;position:relative;text-align:center;z-index:1}.app-title{color:#4a90e2;color:var(--primary-color);font-size:3rem;font-weight:700;margin-bottom:10px;text-align:center}@keyframes titleShine{0%{background-position:0 50%;filter:drop-shadow(0 4px 10px rgba(255,255,255,.2))}to{background-position:100% 50%;filter:drop-shadow(0 6px 20px rgba(255,255,255,.4))}}.app-subtitle{color:#546e7a;color:var(--text-secondary);font-size:1.5rem;font-weight:500;margin:0;text-align:center}.main-content{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#fffffff2;border:1px solid #fff3;border-radius:24px;box-shadow:0 20px 60px #0000001a,0 8px 20px #00000014,inset 0 1px 0 #ffffffe6;margin:0 auto;max-width:1000px;padding:40px;position:relative;z-index:1}.main-content:before{background:linear-gradient(135deg,#ffffff1a,#ffffff0d 50%,#ffffff1a);border-radius:24px;bottom:0;content:"";left:0;pointer-events:none;position:absolute;right:0;top:0}.voice-section{margin-bottom:50px;position:relative;text-align:center}.voice-controls{margin-bottom:30px;position:relative}.voice-button{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:linear-gradient(135deg,#4f46e5,#7c3aed 50%,#ec4899);border:none;border-radius:50%;box-shadow:0 20px 40px #4f46e54d,0 8px 16px #0000001a,inset 0 1px 0 #fff3;color:#fff;cursor:pointer;display:flex;flex-direction:column;font-size:16px;height:200px;justify-content:center;margin:0 auto;overflow:hidden;position:relative;transition:all .4s cubic-bezier(.175,.885,.32,1.275);width:200px}.voice-button:before{animation:rotate 4s linear infinite;background:conic-gradient(#0000,#ffffff4d,#0000);content:"";height:200%;left:-50%;opacity:0;position:absolute;top:-50%;transition:opacity .3s ease;width:200%}.voice-button:hover:before{opacity:1}@keyframes rotate{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.voice-button:hover{box-shadow:0 25px 50px #4f46e566,0 12px 24px #00000026,inset 0 1px 0 #ffffff4d;transform:scale(1.05)}.voice-button:active{transform:scale(.98)}.voice-button.listening{animation:voicePulse 1.5s ease-in-out infinite;background:linear-gradient(135deg,#ef4444,#f97316 50%,#eab308);box-shadow:0 25px 50px #ef444466,0 12px 24px #00000026,0 0 40px #ef444499}.voice-button.processing{animation:processingPulse 2s ease-in-out infinite;background:linear-gradient(135deg,#f59e0b,#d97706 50%,#92400e);box-shadow:0 25px 50px #f59e0b66,0 12px 24px #00000026,0 0 40px #f59e0b99;cursor:not-allowed}.voice-button:disabled{cursor:not-allowed;opacity:.7}.mic-icon{filter:drop-shadow(0 2px 8px rgba(0,0,0,.2));font-size:3.2rem;margin-bottom:8px;position:relative;z-index:2}.listening-text,.processing-text,.tap-text{font-size:1.1rem;font-weight:600;letter-spacing:.5px;position:relative;text-shadow:0 1px 3px #0000004d;z-index:2}.spinner{animation:spin 1s linear infinite;border:3px solid #4a90e21a;border-top:3px solid #4a90e2;border:3px solid var(--shadow-light);border-radius:50%;border-top-color:var(--primary-color);height:24px;width:24px}@keyframes voicePulse{0%,to{filter:brightness(1);transform:scale(1)}50%{filter:brightness(1.1);transform:scale(1.05)}}@keyframes processingPulse{0%,to{filter:brightness(1);transform:scale(1) rotate(0deg)}50%{filter:brightness(1.1);transform:scale(1.03) rotate(180deg)}}.loading-fallback{align-items:center;background:#fff;background:var(--background-card);border-radius:16px;box-shadow:0 4px 16px #4a90e21a;box-shadow:0 4px 16px var(--shadow-light);display:flex;flex-direction:column;justify-content:center;margin-bottom:20px;padding:40px}.loading-fallback p{color:#546e7a;color:var(--text-secondary);font-size:1.1rem;font-weight:500;margin-top:15px}.transcript-display{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:linear-gradient(135deg,#4f46e51a,#7c3aed1a);border:1px solid #4f46e533;border-radius:16px;box-shadow:0 8px 32px #4f46e51a,0 4px 16px #0000000d;margin-top:24px;overflow:hidden;padding:24px;position:relative}.transcript-display:before{animation:shimmer 3s infinite;background:linear-gradient(45deg,#0000,#ffffff0d,#0000);bottom:0;content:"";left:0;position:absolute;right:0;top:0}@keyframes shimmer{0%{transform:translateX(-100%)}to{transform:translateX(100%)}}.transcript-label{color:#4f46e5;font-size:1.1rem;font-weight:700;letter-spacing:1px;margin-bottom:12px;position:relative;text-transform:uppercase;z-index:1}.transcript-text{color:#1e293b;font-size:1.3rem;font-weight:500;line-height:1.6;position:relative;z-index:1}.text-input-section{margin-bottom:40px}.text-input{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:linear-gradient(135deg,#ffffffe6,#f8fafce6);border:2px solid #4f46e533;border-radius:16px;box-shadow:0 4px 16px #0000000d,inset 0 1px 0 #fffc;color:#1e293b;font-family:inherit;font-size:1.2rem;min-height:120px;outline:none;padding:20px 24px;resize:vertical;transition:all .3s cubic-bezier(.175,.885,.32,1.275);width:100%}.text-input:focus{background:linear-gradient(135deg,#fff,#f8fafc);border-color:#4f46e5;box-shadow:0 8px 32px #4f46e526,0 0 0 4px #4f46e51a,inset 0 1px 0 #fffc}.text-input::placeholder{color:#64748b;font-style:normal}.response-section{margin-bottom:35px;position:relative}.response-header{align-items:center;border-bottom:2px solid #e0e0e0;display:flex;justify-content:space-between;margin-bottom:20px;padding-bottom:15px}.response-header h3{color:#2e7d32;font-size:1.6rem;font-weight:700;letter-spacing:1px;position:relative;text-transform:uppercase}.response-header h3:after{background:linear-gradient(45deg,#4caf50,#66bb6a);border-radius:3px;bottom:-5px;content:"";height:3px;left:0;position:absolute;width:50px}.audio-controls{display:flex;gap:15px}.audio-button{border:none;border-radius:25px;cursor:pointer;font-size:1.1rem;font-weight:600;letter-spacing:.5px;overflow:hidden;padding:12px 20px;position:relative;text-transform:uppercase;transition:all .3s cubic-bezier(.175,.885,.32,1.275)}.audio-button:before{background:linear-gradient(45deg,#0000,#fff3,#0000);bottom:0;content:"";left:0;position:absolute;right:0;top:0;transform:translateX(-100%);transition:transform .6s}.audio-button:hover:before{transform:translateX(100%)}.audio-button.play{background:linear-gradient(135deg,#4caf50,#66bb6a);box-shadow:0 8px 20px #4caf5066;color:#fff}.audio-button.play:hover{background:linear-gradient(135deg,#45a049,#4caf50);box-shadow:0 12px 25px #4caf5080;transform:translateY(-2px)}.audio-button.stop{background:linear-gradient(135deg,#f44336,#ff5252);box-shadow:0 8px 20px #f4433666;color:#fff}.audio-button.stop:hover{background:linear-gradient(135deg,#d32f2f,#f44336);box-shadow:0 12px 25px #f4433680;transform:translateY(-2px)}.response-content{background:linear-gradient(135deg,#e8f5e8,#f1f8e9);border-left:6px solid #4caf50;border-radius:15px;box-shadow:0 10px 30px #4caf5026,0 5px 15px #0000001a;overflow:hidden;padding:25px;position:relative}.response-content:before{animation:shimmer 4s infinite;background:linear-gradient(45deg,#0000,#ffffff1a,#0000);bottom:0;content:"";left:0;position:absolute;right:0;top:0}.response-content p{color:#1b5e20;font-size:1.4rem;font-weight:500;line-height:1.7;position:relative;z-index:1}.history-section{margin-bottom:35px}.history-header{align-items:center;border-bottom:2px solid #e0e0e0;display:flex;justify-content:space-between;margin-bottom:25px;padding-bottom:15px}.history-header h3{color:#2e7d32;font-size:1.6rem;font-weight:700;letter-spacing:1px;position:relative;text-transform:uppercase}.history-header h3:after{background:linear-gradient(45deg,#2196f3,#64b5f6);border-radius:3px;bottom:-5px;content:"";height:3px;left:0;position:absolute;width:50px}.clear-button{background:linear-gradient(135deg,#f44336,#ff5252);border:none;border-radius:25px;box-shadow:0 8px 20px #f4433666;color:#fff;cursor:pointer;font-size:1.1rem;font-weight:600;letter-spacing:.5px;padding:12px 20px;text-transform:uppercase;transition:all .3s cubic-bezier(.175,.885,.32,1.275)}.clear-button:hover{background:linear-gradient(135deg,#d32f2f,#f44336);box-shadow:0 12px 25px #f4433680;transform:translateY(-2px)}.history-list{background:linear-gradient(135deg,#fafafa,#fff);border:2px solid #e0e0e0;border-radius:15px;box-shadow:inset 0 2px 10px #0000000d;max-height:450px;overflow-y:auto;padding:15px}.history-entry{background:linear-gradient(135deg,#fff,#f9f9f9);border-bottom:1px solid #e0e0e0;border-radius:10px;box-shadow:0 5px 15px #0000001a;margin-bottom:15px;overflow:hidden;padding:20px;position:relative;transition:all .3s ease}.history-entry:before{background:linear-gradient(135deg,#2196f3,#64b5f6);border-radius:2px;bottom:0;content:"";left:0;position:absolute;top:0;width:4px}.history-entry:hover{box-shadow:0 8px 25px #00000026;transform:translateX(5px)}.history-entry:last-child{border-bottom:none;margin-bottom:0}.history-command{color:#1976d2;font-weight:600}.history-command,.history-response{font-size:1.2rem;margin-bottom:10px}.history-response{color:#2e7d32;font-weight:500}.history-timestamp{color:#666;font-size:1rem;font-style:italic;text-align:right}.quick-actions{margin-bottom:35px}.quick-actions h3{color:#2e7d32;font-size:1.6rem;font-weight:700;letter-spacing:1px;margin-bottom:25px;position:relative;text-align:center;text-transform:uppercase}.quick-actions h3:after{background:linear-gradient(45deg,#ff9800,#ffb74d);border-radius:3px;bottom:-10px;content:"";height:3px;left:50%;position:absolute;transform:translateX(-50%);width:80px}.action-buttons{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.action-button{align-items:center;background:#4a90e2;background:var(--primary-color);border:none;border-radius:16px;box-shadow:0 4px 16px #4a90e21a;box-shadow:0 4px 16px var(--shadow-light);color:#fff;color:var(--accent-color);cursor:pointer;display:flex;font-size:1.2rem;font-weight:600;gap:12px;justify-content:center;min-height:70px;padding:20px;transition:all .3s ease}.action-button:before{background:linear-gradient(45deg,#0000,#fff3,#0000);bottom:0;content:"";left:0;position:absolute;right:0;top:0;transform:translateX(-100%);transition:transform .6s}.action-button:hover:before{transform:translateX(100%)}.action-button:hover{box-shadow:0 8px 24px #4a90e226;box-shadow:0 8px 24px var(--shadow-medium);transform:translateY(-2px)}.medication-todo-panel{background:#fff;background:var(--background-card);border-radius:16px;box-shadow:0 4px 16px #4a90e21a;box-shadow:0 4px 16px var(--shadow-light);display:flex;gap:20px;margin-bottom:40px;padding:30px}.panel-left,.panel-right{background:#f8f9fa;background:var(--background-light);border:1px solid #4a90e2;border:1px solid var(--primary-color);border-radius:12px;flex:1 1;padding:20px}.medication-reminders h3,.todo-list h3{align-items:center;color:#4a90e2;color:var(--primary-color);display:flex;font-size:1.3rem;font-weight:600;gap:8px;margin-bottom:15px}.medication-list,.todo-items{min-height:80px}.no-medications,.no-todos{color:#546e7a;color:var(--text-secondary);font-size:1.1rem;font-style:italic;padding:20px;text-align:center}.medication-item,.todo-item{align-items:center;background:#fff;background:var(--accent-color);border:1px solid #4a90e2;border:1px solid var(--primary-color);border-radius:8px;display:flex;justify-content:space-between;margin-bottom:8px;padding:12px 16px;transition:all .3s ease}.medication-item:hover,.todo-item:hover{box-shadow:0 4px 12px #4a90e21a;box-shadow:0 4px 12px var(--shadow-light);transform:translateY(-2px)}.medication-info{flex:1 1}.medication-name{color:#2c3e50;color:var(--text-primary);font-size:1.1rem;font-weight:600}.medication-time{color:#546e7a;color:var(--text-secondary);font-size:.9rem}.todo-text{color:#2c3e50;color:var(--text-primary);flex:1 1;font-size:1.1rem}.todo-item.completed .todo-text{color:#546e7a;color:var(--text-secondary);text-decoration:line-through}.medication-taken-btn,.todo-complete-btn{background:#4a90e2;background:var(--success-color);border:none;border-radius:6px;color:#fff;color:var(--accent-color);cursor:pointer;font-size:.9rem;font-weight:600;padding:6px 12px;transition:all .3s ease}.medication-taken-btn:hover,.todo-complete-btn:hover{background:#4a90e2;background:var(--primary-color);transform:translateY(-1px)}.medication-taken-btn.taken,.todo-complete-btn.completed{background:#7b8a9a;background:var(--secondary-color);cursor:not-allowed}@media (max-width:768px){.medication-todo-panel{flex-direction:column;gap:15px}.panel-left,.panel-right{padding:15px}}.action-button:active{transform:translateY(-2px) scale(.98)}.instructions{background:linear-gradient(135deg,#f8f9fa,#fff);border-left:6px solid #2196f3;border-radius:15px;box-shadow:0 10px 30px #2196f326,0 5px 15px #0000001a;overflow:hidden;padding:30px;position:relative}.instructions:before{animation:shimmer 5s infinite;background:linear-gradient(45deg,#0000,#ffffff1a,#0000);bottom:0;content:"";left:0;position:absolute;right:0;top:0}.instructions h3{color:#1976d2;font-size:1.6rem;font-weight:700;letter-spacing:1px;margin-bottom:20px;position:relative;text-transform:uppercase;z-index:1}.instructions h3:after{background:linear-gradient(45deg,#2196f3,#64b5f6);border-radius:3px;bottom:-5px;content:"";height:3px;left:0;position:absolute;width:60px}.instructions ul{list-style:none;padding:0;position:relative;z-index:1}.instructions li{color:#424242;font-size:1.2rem;font-weight:500;line-height:1.5;margin-bottom:15px;padding-left:25px;position:relative}.instructions li:before{animation:sparkle 2s infinite;content:"✨";font-size:1.2rem;left:0;position:absolute;top:0}@keyframes sparkle{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.1)}}@media (max-width:768px){.app-title{font-size:2.5rem}.app-subtitle{font-size:1.3rem}.main-content{margin:0 10px;padding:25px}.voice-button{height:180px;width:180px}.mic-icon{font-size:2.5rem}.listening-text,.processing-text,.tap-text{font-size:1.1rem}.action-buttons{grid-template-columns:1fr}.history-header,.response-header{align-items:flex-start;flex-direction:column;gap:15px}.audio-controls{flex-direction:column;gap:10px}}@media (max-width:480px){.app-title{font-size:2rem}.main-content{padding:20px}.voice-button{height:150px;width:150px}.mic-icon{font-size:2rem}.listening-text,.processing-text,.tap-text{font-size:1rem}}.action-button:focus,.address-input:focus,.clear-button:focus,.connect-button:focus,.email-input:focus,.email-textarea:focus,.provider-button:focus,.response-button:focus,.sender-filter:focus,.text-input:focus,.voice-button:focus,.yahoo-input:focus{border-radius:4px;box-shadow:0 0 0 6px #4a90e233;outline:3px solid #0056b3;outline:3px solid var(--focus-color);outline-offset:2px}.action-button:focus:hover,.response-button:focus:hover,.voice-button:focus:hover{outline:3px solid #0056b3;outline:3px solid var(--focus-color);outline-offset:2px}@media (prefers-contrast:high){.app{background:linear-gradient(135deg,#000,#333);color:#fff}.main-content{background:#fff;color:#000}.main-content,.voice-button{border:3px solid #000}.action-button{border:2px solid #000}}@media (prefers-reduced-motion:reduce){.app,.app-title,.shimmer,.sparkle,.spinner,.voice-button.listening{animation:none}*{transition:none!important}}.history-list::-webkit-scrollbar{width:8px}.history-list::-webkit-scrollbar-track{background:#f1f1f1;border-radius:10px}.history-list::-webkit-scrollbar-thumb{background:linear-gradient(135deg,#2196f3,#64b5f6);border-radius:10px}.history-list::-webkit-scrollbar-thumb:hover{background:linear-gradient(135deg,#1976d2,#2196f3)}.calendar-section,.email-section,.location-section,.traffic-section{background:#fff;background:var(--background-card);border:1px solid #4a90e21a;border-radius:16px;box-shadow:0 4px 16px #4a90e21a;box-shadow:0 4px 16px var(--shadow-light);margin-bottom:32px;padding:32px;transition:all .3s ease}.calendar-section:hover,.email-section:hover,.location-section:hover,.traffic-section:hover{box-shadow:0 8px 24px #4a90e226;box-shadow:0 8px 24px var(--shadow-medium);transform:translateY(-2px)}.calendar-header h3,.email-header h3,.location-header h3,.traffic-header h3{align-items:center;color:#4a90e2;color:var(--primary-color);display:flex;font-size:1.5rem;font-weight:700;gap:12px;margin:0 0 24px}.calendar-action-button,.email-action-button,.location-button{align-items:center;background:#4a90e2;background:var(--primary-color);border:none;border-radius:12px;box-shadow:0 4px 12px #4a90e21a;box-shadow:0 4px 12px var(--shadow-light);color:#fff;color:var(--accent-color);cursor:pointer;display:inline-flex;font-size:1rem;font-weight:600;gap:8px;padding:12px 24px;transition:all .3s ease}.calendar-action-button:hover,.email-action-button:hover,.location-button:hover{box-shadow:0 6px 16px #4a90e226;box-shadow:0 6px 16px var(--shadow-medium);transform:translateY(-2px)}.calendar-action-button:disabled,.email-action-button:disabled,.location-button:disabled{cursor:not-allowed;opacity:.6}.calendar-action-button.sync{background:#4a90e2;background:var(--primary-color)}.calendar-action-button.view{background:#7b8a9a;background:var(--secondary-color)}.calendar-action-button.voice{background:#4a90e2;background:var(--success-color)}.calendar-action-button.loading{background:#7b8a9a;background:var(--warning-color);cursor:not-allowed}.calendar-sync-status h4{color:#4a90e2;color:var(--primary-color);font-weight:600}.sync-status-display{border:2px solid #4a90e2;border:2px solid var(--primary-color)}.connection-status.connected,.sync-status-display{background:#f8f9fa;background:var(--background-light)}.connection-status.connected{color:#4a90e2;color:var(--success-color)}.connection-status.disconnected{background:#f8f9fa;background:var(--background-light);color:#7b8a9a;color:var(--warning-color)}.no-sync-status,.sync-details p{color:#546e7a;color:var(--text-secondary)}.calendar-panel{background:#f8f9fa;background:var(--background-light);border:1px solid #4a90e2;border:1px solid var(--primary-color);border-radius:12px;margin-top:20px;padding:24px}.calendar-events h4{color:#4a90e2;color:var(--primary-color);font-size:1.3rem;font-weight:600;margin-bottom:16px}.no-events{color:#546e7a;color:var(--text-secondary);padding:32px}.calendar-event-item{background:#fff;background:var(--accent-color);border:1px solid #4a90e2;border:1px solid var(--primary-color);border-radius:8px;margin-bottom:12px;padding:16px}.calendar-event-item:hover{box-shadow:0 4px 12px #4a90e21a;box-shadow:0 4px 12px var(--shadow-light);transform:translateY(-2px)}.calendar-event-item:before{background:#4a90e2;background:var(--primary-color)}.event-title{color:#2c3e50;color:var(--text-primary);font-size:1.2rem;font-weight:600;margin-bottom:8px}.event-description,.event-location,.event-time{color:#546e7a;color:var(--text-secondary);font-size:1rem;margin-bottom:4px}.event-platform{border-radius:4px;color:var(--accent-color);font-size:.8rem;padding:4px 8px}.email-action-button,.event-platform{background:#4a90e2;background:var(--primary-color)}.email-provider-selection h4{color:#4a90e2;color:var(--primary-color);font-weight:600}.provider-button{background:#fff;background:var(--accent-color);border:2px solid #4a90e2;border:2px solid var(--primary-color);color:#4a90e2;color:var(--primary-color);font-size:1.1rem;padding:12px 24px}.provider-button:hover{box-shadow:0 4px 12px #4a90e21a;box-shadow:0 4px 12px var(--shadow-light)}.provider-button.active{background:#4a90e2;background:var(--primary-color);color:var(--accent-color)}.connected-badge{background:#4a90e2;background:var(--success-color);color:var(--accent-color)}.connect-button{background:#4a90e2;background:var(--primary-color);border-radius:12px;box-shadow:0 4px 16px #4a90e21a;box-shadow:0 4px 16px var(--shadow-light);color:#fff;color:var(--accent-color);font-size:1.2rem;font-weight:600;padding:16px 32px}.connect-button:hover{box-shadow:0 6px 20px #4a90e226;box-shadow:0 6px 20px var(--shadow-medium);transform:translateY(-2px)}.connect-button.authenticating{background:#7b8a9a;background:var(--warning-color)}.provider-user-info{background:#4a90e2;background:var(--success-color)}.provider-logout-button,.provider-status-badge{color:var(--accent-color)}.provider-logout-button{background:#7b8a9a;background:var(--warning-color);border-radius:8px}.email-panel{background:#f8f9fa;background:var(--background-light);border:1px solid #4a90e2;border:1px solid var(--primary-color);border-radius:12px;padding:24px}.email-compose h4,.email-list h4{color:#4a90e2;color:var(--primary-color);font-size:1.3rem;font-weight:600;margin-bottom:16px}.no-emails{color:#546e7a;color:var(--text-secondary);padding:32px}.email-item{background:#fff;background:var(--accent-color);border:1px solid #4a90e2;border:1px solid var(--primary-color);border-radius:8px;margin-bottom:12px;padding:16px}.email-item:hover{box-shadow:0 4px 12px #4a90e21a;box-shadow:0 4px 12px var(--shadow-light)}.email-subject{color:#2c3e50;color:var(--text-primary);font-weight:600}.email-body,.email-sender{font-size:1rem;margin-bottom:4px}.email-body,.email-date,.email-sender{color:#546e7a;color:var(--text-secondary)}.location-button{background:#4a90e2;background:var(--success-color)}.location-button.detecting{background:#7b8a9a;background:var(--warning-color)}.location-status{margin-top:15px}.location-granted{color:#4a90e2;color:var(--success-color)}.location-denied,.location-unsupported{color:#7b8a9a;color:var(--warning-color)}.location-settings{background:#f8f9fa;background:var(--background-light);border:1px solid #4a90e2;border:1px solid var(--primary-color)}.location-settings h4{color:#4a90e2;color:var(--primary-color);font-weight:600}.address-input-group label{color:#546e7a;color:var(--text-secondary)}.save-addresses-button{background:#4a90e2;background:var(--success-color);border-radius:8px;color:var(--accent-color)}.save-addresses-button:hover{box-shadow:0 4px 12px #4a90e21a;box-shadow:0 4px 12px var(--shadow-light)}.address-input,.email-input,.sender-filter,.yahoo-input{background:#f8f9fa;background:var(--background-light);border:2px solid #4a90e2;border:2px solid var(--primary-color);border-radius:8px;color:#2c3e50;color:var(--text-primary);font-family:inherit;font-size:1rem;padding:12px 16px;transition:all .3s ease}.address-input:focus,.email-input:focus,.sender-filter:focus,.yahoo-input:focus{border-color:#4a90e2;border-color:var(--primary-color);box-shadow:0 0 0 3px #4a90e21a;box-shadow:0 0 0 3px var(--shadow-light);outline:none}.email-textarea{background:#f8f9fa;background:var(--background-light);border:2px solid #4a90e2;border:2px solid var(--primary-color);border-radius:8px;color:#2c3e50;color:var(--text-primary);font-size:1rem;padding:12px 16px}.email-textarea:focus{border-color:#4a90e2;border-color:var(--primary-color);box-shadow:0 0 0 3px #4a90e21a;box-shadow:0 0 0 3px var(--shadow-light)}.email-send-button{background:#4a90e2;background:var(--success-color);border-radius:8px;color:var(--accent-color);font-weight:600}.email-send-button:hover{box-shadow:0 4px 16px #4a90e21a;box-shadow:0 4px 16px var(--shadow-light)}.yahoo-setup{background:#f8f9fa;background:var(--background-light);border:2px solid #4a90e2;border:2px solid var(--primary-color);padding:24px}.yahoo-setup h4{color:#4a90e2;color:var(--primary-color);font-size:1.3rem;font-weight:600}.setup-instruction{color:#546e7a;color:var(--text-secondary)}.setup-instruction a{color:#4a90e2;color:var(--primary-color)}.yahoo-connect-button{background:#4a90e2;background:var(--primary-color);border-radius:8px;color:var(--accent-color);padding:12px 24px;transition:all .3s ease}.yahoo-connect-button:hover{box-shadow:0 4px 12px #4a90e21a;box-shadow:0 4px 12px var(--shadow-light);transform:translateY(-2px)}.yahoo-cancel-button{background:#7b8a9a;background:var(--warning-color);border-radius:8px;color:var(--accent-color);padding:12px 24px;transition:all .3s ease}.yahoo-cancel-button:hover{box-shadow:0 4px 12px #4a90e21a;box-shadow:0 4px 12px var(--shadow-light);transform:translateY(-2px)}.traffic-item{background:#fff;background:var(--accent-color);border:1px solid #4a90e2;border:1px solid var(--primary-color);border-radius:8px}.traffic-item:hover{box-shadow:0 4px 12px #4a90e21a;box-shadow:0 4px 12px var(--shadow-light)}.traffic-label{color:#546e7a;color:var(--text-secondary)}.traffic-value{color:#4a90e2;color:var(--primary-color)}.traffic-light-traffic{color:#4a90e2!important;color:var(--success-color)!important}.traffic-heavy-traffic,.traffic-moderate-traffic{color:#7b8a9a!important;color:var(--warning-color)!important}.history-traffic{color:#4a90e2;color:var(--primary-color)}.email-filters,.history-traffic{background:#f8f9fa;background:var(--background-light);border:1px solid #4a90e2;border:1px solid var(--primary-color)}.email-filters{margin-bottom:24px}.email-filters h4{color:#4a90e2;color:var(--primary-color);font-weight:600}.filter-checkbox{color:#546e7a;color:var(--text-secondary)}.apply-filters-button{background:#4a90e2;background:var(--primary-color);color:var(--accent-color);transition:all .3s ease}.apply-filters-button:hover{box-shadow:0 4px 12px #4a90e21a;box-shadow:0 4px 12px var(--shadow-light);transform:translateY(-2px)}.attachment-upload{background:#4a90e2;background:var(--primary-color);border-radius:8px;color:var(--accent-color)}.attachment-upload:hover{box-shadow:0 4px 12px #4a90e21a;box-shadow:0 4px 12px var(--shadow-light)}.attachments-list{background:var(--background-light);border:1px solid #4a90e2;border:1px solid var(--primary-color)}.attachments-list h5{color:#546e7a;color:var(--text-secondary);font-weight:600}.attachment-item{background:var(--accent-color);border:1px solid #4a90e2;border:1px solid var(--primary-color)}.remove-attachment{background:#7b8a9a;background:var(--warning-color)}.provider-badge,.remove-attachment{color:var(--accent-color);font-weight:600}.provider-badge{background:#4a90e2;background:var(--primary-color);border-radius:4px}.calendar-events::-webkit-scrollbar,.email-list::-webkit-scrollbar,.history-list::-webkit-scrollbar{width:8px}.calendar-events::-webkit-scrollbar-track,.email-list::-webkit-scrollbar-track,.history-list::-webkit-scrollbar-track{background:#f8f9fa;background:var(--background-light);border-radius:4px}.calendar-events::-webkit-scrollbar-thumb,.email-list::-webkit-scrollbar-thumb,.history-list::-webkit-scrollbar-thumb{background:#4a90e2;background:var(--primary-color);border-radius:4px}.calendar-events::-webkit-scrollbar-thumb:hover,.email-list::-webkit-scrollbar-thumb:hover,.history-list::-webkit-scrollbar-thumb:hover{background:#7b8a9a;background:var(--secondary-color)}.calendar-section:before{animation:shimmer 5s infinite;background:linear-gradient(45deg,#0000,#ffffff1a,#0000);bottom:0;content:"";left:0;position:absolute;right:0;top:0}.calendar-header{margin-bottom:25px;position:relative;z-index:1}.calendar-header h3{color:#9c27b0;font-size:1.6rem;font-weight:700;margin:0}.calendar-sync-status{margin-bottom:25px;position:relative;z-index:1}.calendar-sync-status h4{color:#7b1fa2;font-size:1.4rem;font-weight:700;margin-bottom:15px}.sync-status-display{background:linear-gradient(135deg,#fff,#f9f9f9);border:2px solid #e0e0e0;border-radius:12px;padding:20px}.sync-connections{display:flex;flex-direction:column;gap:10px;margin-bottom:15px}.connection-status{border-radius:8px;font-size:1.1rem;font-weight:600;padding:8px 12px}.connection-status.connected{background:linear-gradient(135deg,#e8f5e8,#c8e6c9);color:#2e7d32}.connection-status.disconnected{background:linear-gradient(135deg,#ffebee,#ffcdd2);color:#c62828}.sync-details{border-top:1px solid #e0e0e0;padding-top:15px}.sync-details p{color:#424242;font-size:1rem;margin:5px 0}.no-sync-status{color:#666;font-style:italic;padding:20px;text-align:center}.calendar-actions{display:flex;flex-wrap:wrap;gap:15px;justify-content:center;margin-bottom:25px;position:relative;z-index:1}.calendar-action-button{align-items:center;border:none;border-radius:25px;cursor:pointer;display:flex;font-size:1.1rem;font-weight:600;gap:8px;letter-spacing:.5px;padding:12px 20px;text-transform:uppercase;transition:all .3s ease}.calendar-action-button.sync{background:linear-gradient(135deg,#ff9800,#ffb74d);box-shadow:0 6px 15px #ff98004d;color:#fff}.calendar-action-button.sync:hover{background:linear-gradient(135deg,#f57c00,#ff9800);box-shadow:0 8px 20px #ff980066;transform:translateY(-2px)}.calendar-action-button.sync.loading{background:linear-gradient(135deg,#9e9e9e,#bdbdbd);cursor:not-allowed}.calendar-action-button.view{background:linear-gradient(135deg,#2196f3,#64b5f6);box-shadow:0 6px 15px #2196f34d;color:#fff}.calendar-action-button.view:hover{background:linear-gradient(135deg,#1976d2,#2196f3);box-shadow:0 8px 20px #2196f366;transform:translateY(-2px)}.calendar-action-button.voice{background:linear-gradient(135deg,#4caf50,#66bb6a);box-shadow:0 6px 15px #4caf504d;color:#fff}.calendar-action-button.voice:hover{background:linear-gradient(135deg,#45a049,#4caf50);box-shadow:0 8px 20px #4caf5066;transform:translateY(-2px)}.calendar-panel{background:linear-gradient(135deg,#fff,#f9f9f9);border:2px solid #e0e0e0;border-radius:15px;padding:25px;position:relative;z-index:1}.calendar-events h4{color:#7b1fa2;font-size:1.4rem;font-weight:700;margin-bottom:20px}.no-events{background:linear-gradient(135deg,#f8f9fa,#fff);border:1px dashed #ccc;border-radius:10px;color:#666;font-size:1.1rem;font-style:italic;padding:30px;text-align:center}.events-list{gap:15px;margin-bottom:25px}.calendar-event-item{background:linear-gradient(135deg,#fff,#f8f9fa);border:1px solid #e0e0e0;border-radius:12px;overflow:hidden;padding:20px;position:relative;transition:all .3s ease}.calendar-event-item:before{background:linear-gradient(135deg,#9c27b0,#ba68c8);border-radius:2px;bottom:0;content:"";left:0;position:absolute;top:0;width:4px}.calendar-event-item:hover{box-shadow:0 8px 25px #00000026;transform:translateX(5px)}.event-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:10px}.event-title{color:#333;font-size:1.3rem;font-weight:700}.event-platform{background:linear-gradient(135deg,#9c27b0,#ba68c8);border-radius:12px;color:#fff;font-size:.9rem;font-weight:600;padding:4px 12px;text-transform:uppercase}.event-time{color:#1976d2;font-size:1.1rem;font-weight:600;margin-bottom:8px}.event-location{color:#ff9800;font-size:1rem;font-weight:500;margin-bottom:8px}.event-description{color:#666;font-size:1rem;line-height:1.4;margin-bottom:10px}.event-details{color:#424242;display:flex;font-size:.95rem;gap:15px}.event-attendees,.event-duration{background:#f5f5f5;border-radius:8px;font-weight:500;padding:4px 8px}.calendar-voice-help{background:linear-gradient(135deg,#e8f4fd,#f3e5f5);border:2px dashed #9c27b0;border-radius:12px;margin-top:25px;padding:20px}.calendar-voice-help h4{color:#7b1fa2;font-size:1.3rem;margin-bottom:15px}.voice-examples p{color:#424242;font-weight:600;margin-bottom:10px}.voice-examples ul{list-style:none;padding:0}.voice-examples li{background:#fff;border-left:4px solid #9c27b0;border-radius:8px;color:#333;font-style:italic;margin:8px 0;padding:8px 12px}.calendar-connection-help{background:linear-gradient(135deg,#fff3e0,#ffecb3);border:2px solid #ff9800;border-radius:12px;margin-top:20px;padding:20px;position:relative;z-index:1}.calendar-connection-help h4{color:#f57c00;font-size:1.3rem;margin-bottom:15px}.calendar-connection-help p{color:#424242;font-size:1.1rem;line-height:1.5;margin-bottom:15px}.connection-steps p{background:#fff;border-left:4px solid #ff9800;border-radius:8px;font-weight:500;margin:8px 0;padding:8px 12px}.email-section{background:linear-gradient(135deg,#e8f4fd,#fff3e0);border-left:6px solid #1976d2;border-radius:15px;box-shadow:0 10px 30px #1976d226,0 5px 15px #0000001a;margin-bottom:35px;overflow:hidden;padding:25px;position:relative}.email-section:before{animation:shimmer 4s infinite;background:linear-gradient(45deg,#0000,#ffffff1a,#0000);bottom:0;content:"";left:0;position:absolute;right:0;top:0}.email-header{margin-bottom:25px;position:relative;z-index:1}.email-header h3{color:#1976d2;font-size:1.6rem;font-weight:700;margin:0}.email-provider-selection{margin-bottom:25px;position:relative;z-index:1}.email-provider-selection h4{color:#1976d2;font-size:1.4rem;font-weight:700;margin-bottom:15px}.provider-buttons{display:flex;flex-wrap:wrap;gap:15px}.provider-button{background:linear-gradient(135deg,#fff,#f9f9f9);border:2px solid #e0e0e0;border-radius:12px;cursor:pointer;font-size:1.2rem;font-weight:600;min-width:120px;padding:15px 25px;position:relative;text-align:center;transition:all .3s ease}.provider-button.gmail{border-color:#4285f4;color:#4285f4}.provider-button.outlook{border-color:#0078d4;color:#0078d4}.provider-button.yahoo{border-color:#6001d2;color:#6001d2}.provider-button.active{background:linear-gradient(135deg,#4caf50,#66bb6a);border-color:#4caf50;color:#fff;transform:scale(1.05)}.provider-button:hover{box-shadow:0 5px 15px #0003;transform:translateY(-2px)}.connected-badge{align-items:center;background:#4caf50;border-radius:50%;color:#fff;display:flex;font-size:12px;height:20px;justify-content:center;position:absolute;right:-5px;top:-5px;width:20px}.provider-status{position:relative;z-index:1}.provider-auth{background:linear-gradient(135deg,#fff,#f9f9f9);border:2px solid #e0e0e0;border-radius:12px;padding:20px;text-align:center}.auth-description{color:#424242;font-size:1.2rem;line-height:1.5;margin-bottom:20px}.connect-button{align-items:center;border:none;border-radius:15px;box-shadow:0 8px 20px #0003;cursor:pointer;display:flex;font-size:1.3rem;font-weight:700;gap:12px;justify-content:center;letter-spacing:1px;margin:0 auto;padding:20px 30px;text-transform:uppercase;transition:all .3s ease}.connect-button.gmail{background:linear-gradient(135deg,#4285f4,#64b5f6);color:#fff}.connect-button.outlook{background:linear-gradient(135deg,#0078d4,#40a9ff);color:#fff}.connect-button.yahoo{background:linear-gradient(135deg,#6001d2,#9c27b0);color:#fff}.connect-button:hover{box-shadow:0 12px 25px #0000004d;transform:translateY(-3px)}.connect-button.authenticating{background:linear-gradient(135deg,#ff9800,#ffb74d);cursor:not-allowed}.yahoo-setup{background:linear-gradient(135deg,#fff,#f9f9f9);border:2px solid #6001d2;border-radius:12px;padding:25px}.yahoo-setup h4{color:#6001d2;font-size:1.4rem;margin-bottom:15px}.setup-instruction{color:#424242;font-size:1.1rem;line-height:1.5;margin-bottom:20px}.setup-instruction a{color:#6001d2;font-weight:600;text-decoration:none}.yahoo-form{display:flex;flex-direction:column;gap:15px}.yahoo-input{border:2px solid #e0e0e0;border-radius:10px;font-size:1.1rem;padding:15px;transition:all .3s ease}.yahoo-input:focus{border-color:#6001d2;box-shadow:0 0 10px #6001d233;outline:none}.yahoo-actions{display:flex;gap:15px;justify-content:center}.yahoo-connect-button{background:linear-gradient(135deg,#6001d2,#9c27b0)}.yahoo-cancel-button,.yahoo-connect-button{border:none;border-radius:10px;color:#fff;cursor:pointer;font-size:1.1rem;font-weight:600;padding:12px 25px}.yahoo-cancel-button{background:linear-gradient(135deg,#f44336,#ff5252)}.provider-connected{position:relative;z-index:1}.provider-user-info{align-items:center;background:linear-gradient(135deg,#4caf50,#66bb6a);border-radius:12px;display:flex;justify-content:space-between;margin-bottom:20px;padding:15px}.provider-status-badge{color:#fff;font-size:1.2rem;font-weight:600}.provider-logout-button{background:linear-gradient(135deg,#f44336,#ff5252);border:none;border-radius:20px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:8px 16px;transition:all .3s ease}.email-actions{display:flex;gap:15px;justify-content:center;margin-bottom:25px}.email-action-button{background:linear-gradient(135deg,#2196f3,#64b5f6);border:none;border-radius:25px;box-shadow:0 6px 15px #2196f34d;color:#fff;cursor:pointer;font-size:1.1rem;font-weight:600;padding:12px 20px;transition:all .3s ease}.email-action-button:hover{background:linear-gradient(135deg,#1976d2,#2196f3);box-shadow:0 8px 20px #2196f366;transform:translateY(-2px)}.email-filters{background:linear-gradient(135deg,#f8f9fa,#fff);border:2px solid #e0e0e0;border-radius:12px;margin-bottom:25px;padding:20px}.email-filters h4{color:#1976d2;font-size:1.3rem;margin-bottom:15px}.filter-controls{align-items:center;display:flex;flex-wrap:wrap;gap:15px}.filter-checkbox{align-items:center;color:#424242;cursor:pointer;display:flex;font-size:1.1rem;gap:8px}.filter-checkbox input{height:18px;width:18px}.sender-filter{border:2px solid #e0e0e0;border-radius:8px;font-size:1rem;min-width:200px;padding:8px 12px}.sender-filter:focus{border-color:#2196f3;outline:none}.apply-filters-button{background:linear-gradient(135deg,#ff9800,#ffb74d);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:8px 16px}.attachment-section{margin:15px 0}.attachment-upload{background:linear-gradient(135deg,#9c27b0,#ba68c8);border-radius:10px;color:#fff;cursor:pointer;display:inline-block;font-size:1.1rem;font-weight:600;padding:12px 20px;transition:all .3s ease}.attachment-upload:hover{transform:translateY(-2px)}.attachments-list{background:#f8f9fa;border-radius:8px;margin-top:15px;padding:15px}.attachments-list h5{color:#424242;margin-bottom:10px}.attachment-item{align-items:center;background:#fff;border:1px solid #e0e0e0;border-radius:6px;display:flex;justify-content:space-between;margin-bottom:8px;padding:8px 12px}.remove-attachment{background:#f44336;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.8rem;padding:4px 8px}.email-badges{align-items:center;display:flex;gap:8px}.attachment-badge{background:#ff9800;padding:2px 6px}.attachment-badge,.provider-badge{border-radius:12px;color:#fff;font-size:.8rem}.provider-badge{background:#2196f3;padding:2px 8px;text-transform:uppercase}.gmail-section{background:linear-gradient(135deg,#e8f4fd,#fff3e0);border-left:6px solid #1976d2;border-radius:15px;box-shadow:0 10px 30px #1976d226,0 5px 15px #0000001a;margin-bottom:35px;overflow:hidden;padding:25px;position:relative}.gmail-section:before{animation:shimmer 4s infinite;background:linear-gradient(45deg,#0000,#ffffff1a,#0000);bottom:0;content:"";left:0;position:absolute;right:0;top:0}.gmail-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px;position:relative;z-index:1}.gmail-header h3{color:#1976d2;font-size:1.6rem;font-weight:700;margin:0}.gmail-logout-button{background:linear-gradient(135deg,#f44336,#ff5252);border:none;border-radius:20px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:8px 16px;transition:all .3s ease}.gmail-logout-button:hover{background:linear-gradient(135deg,#d32f2f,#f44336);transform:translateY(-2px)}.gmail-auth{position:relative;text-align:center;z-index:1}.gmail-description{color:#424242;font-size:1.2rem;line-height:1.5;margin-bottom:20px}.gmail-connect-button{align-items:center;background:linear-gradient(135deg,#1976d2,#42a5f5);border:none;border-radius:15px;box-shadow:0 8px 20px #1976d266;color:#fff;cursor:pointer;display:flex;font-size:1.3rem;font-weight:700;gap:12px;justify-content:center;letter-spacing:1px;margin:0 auto;padding:20px 30px;text-transform:uppercase;transition:all .3s ease}.gmail-connect-button:hover{background:linear-gradient(135deg,#1565c0,#1976d2);box-shadow:0 12px 25px #1976d280;transform:translateY(-3px)}.gmail-connect-button.authenticating{background:linear-gradient(135deg,#ff9800,#ffb74d);cursor:not-allowed}.gmail-connect-button:disabled{cursor:not-allowed;opacity:.7}.gmail-connected{position:relative;z-index:1}.gmail-user-info{margin-bottom:20px;text-align:center}.gmail-status{background:linear-gradient(135deg,#4caf50,#66bb6a);border-radius:25px;color:#fff;display:inline-block;font-size:1.1rem;font-weight:600;padding:12px 20px}.gmail-actions{display:flex;gap:15px;justify-content:center;margin-bottom:25px}.gmail-action-button{background:linear-gradient(135deg,#2196f3,#64b5f6);border:none;border-radius:25px;box-shadow:0 6px 15px #2196f34d;color:#fff;cursor:pointer;font-size:1.1rem;font-weight:600;padding:12px 20px;transition:all .3s ease}.gmail-action-button:hover{background:linear-gradient(135deg,#1976d2,#2196f3);box-shadow:0 8px 20px #2196f366;transform:translateY(-2px)}.email-panel{background:linear-gradient(135deg,#fff,#f9f9f9);border:2px solid #e0e0e0;border-radius:15px;margin-top:20px;padding:25px}.email-compose{margin-bottom:30px}.email-compose h4{color:#1976d2;font-size:1.4rem;font-weight:700;margin-bottom:15px}.email-form{display:flex;flex-direction:column;gap:15px}.email-input{background:linear-gradient(135deg,#fafafa,#fff);border:2px solid #e0e0e0;border-radius:10px;font-size:1.1rem;padding:15px;transition:all .3s ease}.email-input:focus{border-color:#2196f3;box-shadow:0 0 10px #2196f333;outline:none}.email-textarea{background:linear-gradient(135deg,#fafafa,#fff);border:2px solid #e0e0e0;border-radius:10px;font-family:inherit;font-size:1.1rem;padding:15px;resize:vertical;transition:all .3s ease}.email-textarea:focus{border-color:#2196f3;box-shadow:0 0 10px #2196f333;outline:none}.email-send-button{background:linear-gradient(135deg,#4caf50,#66bb6a);border:none;border-radius:10px;color:#fff;cursor:pointer;font-size:1.2rem;font-weight:700;letter-spacing:1px;padding:15px 25px;text-transform:uppercase;transition:all .3s ease}.email-send-button:hover{background:linear-gradient(135deg,#45a049,#4caf50);box-shadow:0 8px 20px #4caf5066;transform:translateY(-2px)}.email-list h4{color:#1976d2;font-size:1.4rem;font-weight:700;margin-bottom:15px}.no-emails{color:#666;font-size:1.1rem;font-style:italic;padding:20px;text-align:center}.emails{display:flex;flex-direction:column;gap:15px}.email-item{background:linear-gradient(135deg,#fff,#f8f9fa);border:1px solid #e0e0e0;border-radius:10px;padding:15px;position:relative;transition:all .3s ease}.email-item:hover{box-shadow:0 5px 15px #0000001a;transform:translateY(-2px)}.email-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px}.email-sender{color:#1976d2;font-size:1.1rem;font-weight:600}.email-status.unread{color:#ff9800;font-size:1.2rem}.email-status.read{color:#4caf50;font-size:1.2rem}.email-subject{color:#333;font-size:1.2rem;font-weight:700;margin-bottom:8px}.email-body{color:#666;font-size:1rem;line-height:1.4;margin-bottom:8px}.email-date{color:#999;font-size:.9rem;font-style:italic;text-align:right}.location-section{background:linear-gradient(135deg,#e3f2fd,#f3e5f5);border-left:6px solid #2196f3;border-radius:15px;box-shadow:0 10px 30px #2196f326,0 5px 15px #0000001a;margin-bottom:35px;padding:25px}.location-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.location-header h3{color:#1976d2;font-size:1.6rem;font-weight:700;margin:0}.location-settings-button{background:linear-gradient(135deg,#9c27b0,#ba68c8);border:none;border-radius:20px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:8px 16px;transition:all .3s ease}.location-settings-button:hover{background:linear-gradient(135deg,#7b1fa2,#9c27b0);transform:translateY(-2px)}.location-controls{display:flex;flex-direction:column;gap:15px}.location-button{align-items:center;background:linear-gradient(135deg,#4caf50,#66bb6a);border:none;border-radius:12px;box-shadow:0 8px 20px #4caf504d;color:#fff;cursor:pointer;display:flex;font-size:1.2rem;font-weight:600;gap:10px;justify-content:center;padding:15px 25px;transition:all .3s ease}.location-button:hover{background:linear-gradient(135deg,#45a049,#4caf50);box-shadow:0 12px 25px #4caf5066;transform:translateY(-2px)}.location-button.detecting{background:linear-gradient(135deg,#ff9800,#ffb74d);cursor:not-allowed}.location-button:disabled{cursor:not-allowed;opacity:.7}.location-status{font-size:1.1rem;font-weight:500;text-align:center}.location-granted{color:#4caf50}.location-denied{color:#f44336}.location-unsupported{color:#ff9800}.location-settings{background:linear-gradient(135deg,#fff,#f9f9f9);border:2px solid #e0e0e0;border-radius:12px;margin-top:20px;padding:20px}.location-settings h4{color:#1976d2;font-size:1.3rem;margin-bottom:15px}.address-inputs{display:flex;flex-direction:column;gap:15px}.address-input-group{display:flex;flex-direction:column;gap:8px}.address-input-group label{color:#424242;font-size:1.1rem;font-weight:600}.address-input{background:linear-gradient(135deg,#fafafa,#fff);border:2px solid #e0e0e0;border-radius:10px;font-size:1.1rem;padding:12px 15px;transition:all .3s ease}.address-input:focus{border-color:#4caf50;box-shadow:0 0 10px #4caf5033;outline:none}.save-addresses-button{background:linear-gradient(135deg,#4caf50,#66bb6a);border:none;border-radius:10px;color:#fff;cursor:pointer;font-size:1.1rem;font-weight:600;margin-top:10px;padding:12px 20px;transition:all .3s ease}.save-addresses-button:hover{background:linear-gradient(135deg,#45a049,#4caf50);transform:translateY(-2px)}.traffic-section{background:linear-gradient(135deg,#fff3e0,#ffecb3);border-left:6px solid #ff9800;border-radius:15px;box-shadow:0 10px 30px #ff980026,0 5px 15px #0000001a;margin-bottom:35px;overflow:hidden;padding:25px;position:relative}.traffic-section:before{animation:shimmer 3s infinite;background:linear-gradient(45deg,#0000,#ffffff1a,#0000);bottom:0;content:"";left:0;position:absolute;right:0;top:0}.traffic-header{margin-bottom:20px}.traffic-header h3{color:#f57c00;font-size:1.6rem;font-weight:700;margin:0;position:relative;z-index:1}.traffic-content{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));position:relative;z-index:1}.traffic-item{align-items:center;background:linear-gradient(135deg,#fff,#f9f9f9);border:1px solid #e0e0e0;border-radius:10px;display:flex;justify-content:space-between;padding:12px 15px;transition:all .3s ease}.traffic-item:hover{box-shadow:0 5px 15px #0000001a;transform:translateY(-2px)}.traffic-label{color:#424242;font-size:1.1rem;font-weight:600}.traffic-value{color:#1976d2;font-size:1.1rem;font-weight:700}.traffic-light-traffic{color:#4caf50!important}.traffic-moderate-traffic{color:#ff9800!important}.traffic-heavy-traffic{color:#f44336!important}.history-traffic{background:linear-gradient(135deg,#fff3e0,#ffecb3);border-left:4px solid #ff9800;color:#ff9800;font-weight:500;margin-bottom:8px;padding:8px 12px}.history-traffic,.provider-status{border-radius:8px;font-size:1.1rem}.provider-status{background:linear-gradient(135deg,#f0f7ff,#fff);border-left:4px solid #4a90e2;color:#4a90e2;font-weight:600;margin:8px 0;padding:8px 15px}.contacts-connect-buttons{display:flex;flex-wrap:wrap;gap:15px;margin-top:20px}.contacts-connect-buttons .connect-button{border:2px solid #0000;border-radius:10px;cursor:pointer;flex:1 1;font-size:1.1rem;font-weight:600;min-width:200px;padding:15px 20px;transition:all .3s ease}.contacts-connect-buttons .connect-button.google{background:linear-gradient(135deg,#4285f4,#357abd);color:#fff}.contacts-connect-buttons .connect-button.google:hover{background:linear-gradient(135deg,#357abd,#2868a3);box-shadow:0 10px 25px #4285f44d;transform:translateY(-2px)}.contacts-connect-buttons .connect-button.microsoft{background:linear-gradient(135deg,#0078d4,#005a9e);color:#fff}.contacts-connect-buttons .connect-button.microsoft:hover{background:linear-gradient(135deg,#005a9e,#004578);box-shadow:0 10px 25px #0078d44d;transform:translateY(-2px)}@media (max-width:768px){.contacts-connect-buttons{flex-direction:column}.contacts-connect-buttons .connect-button{min-width:auto;width:100%}}.auth-modal-overlay{align-items:center;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#000000b3;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.auth-modal{animation:modalSlideIn .3s ease-out;background:linear-gradient(135deg,#fff,#f8f9fa);border:2px solid #e0e0e0;border-radius:20px;box-shadow:0 20px 60px #0000004d;max-width:500px;padding:40px;position:relative;width:100%}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-50px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.auth-modal-header{align-items:center;border-bottom:2px solid #e0e0e0;display:flex;justify-content:space-between;margin-bottom:30px;padding-bottom:20px}.auth-modal-header h2{color:#4a90e2;font-size:1.8rem;font-weight:700;margin:0}.close-button{align-items:center;background:none;border:none;border-radius:50%;color:#999;cursor:pointer;display:flex;font-size:2rem;height:40px;justify-content:center;padding:0;transition:all .3s ease;width:40px}.close-button:hover{background:#f5f5f5;color:#666}.oauth-buttons{display:flex;flex-direction:column;gap:15px;margin-bottom:25px}.oauth-button{align-items:center;background:#fff;border:2px solid #e0e0e0;border-radius:12px;color:#333;cursor:pointer;display:flex;font-size:1.1rem;font-weight:600;gap:15px;justify-content:center;min-height:60px;padding:15px 25px;transition:all .3s ease}.oauth-button:hover{background:linear-gradient(135deg,#f0f7ff,#fff);border-color:#4a90e2;box-shadow:0 5px 15px #4a90e233;transform:translateY(-2px)}.oauth-button:disabled{cursor:not-allowed;opacity:.6;transform:none}.oauth-icon{font-size:1.3rem}.google-button:hover{border-color:#4285f4;box-shadow:0 5px 15px #4285f433}.microsoft-button:hover{border-color:#0078d4;box-shadow:0 5px 15px #0078d433}.auth-divider{margin:25px 0;position:relative;text-align:center}.auth-divider:before{background:#e0e0e0;content:"";height:1px;left:0;position:absolute;right:0;top:50%}.auth-divider span{background:#fff;color:#999;font-weight:500;padding:0 20px}.form-group{margin-bottom:20px}.form-group label{color:#333;display:block;font-size:1.1rem;font-weight:600;margin-bottom:8px}.form-group input{background:#fff;border:2px solid #e0e0e0;border-radius:10px;font-size:1.1rem;padding:15px 18px;transition:all .3s ease;width:100%}.form-group input:focus{border-color:#4a90e2;box-shadow:0 0 0 3px #4a90e21a;outline:none}.auth-submit-button{background:linear-gradient(135deg,#4a90e2,#357abd);border:none;border-radius:12px;color:#fff;cursor:pointer;font-size:1.2rem;font-weight:700;margin:10px 0;padding:18px;transition:all .3s ease;width:100%}.auth-submit-button:hover{background:linear-gradient(135deg,#357abd,#2868a3);box-shadow:0 10px 25px #4a90e24d;transform:translateY(-2px)}.auth-submit-button:disabled{cursor:not-allowed;opacity:.6;transform:none}.auth-toggle{border-top:1px solid #e0e0e0;margin-top:20px;padding-top:20px;text-align:center}.link-button{background:none;border:none;color:#4a90e2;cursor:pointer;font-weight:600;margin-left:5px;text-decoration:underline}.link-button:hover{color:#357abd}.user-account-section{margin-top:15px}.user-info{align-items:center;display:flex;gap:20px;justify-content:center}.welcome-message{color:#4a90e2;font-size:1.1rem;font-weight:600}.logout-button{background:linear-gradient(135deg,#ff6b6b,#ee5a52);border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:600;padding:8px 16px;transition:all .3s ease}.logout-button:hover{background:linear-gradient(135deg,#ee5a52,#dd4b39);transform:translateY(-1px)}.auth-buttons{display:flex;gap:15px;justify-content:center}.auth-button{border-radius:10px;cursor:pointer;font-size:1rem;font-weight:600;padding:12px 24px;transition:all .3s ease}.login-button{background:linear-gradient(135deg,#4a90e2,#357abd);border:none;color:#fff}.login-button:hover{background:linear-gradient(135deg,#357abd,#2868a3);box-shadow:0 5px 15px #4a90e24d;transform:translateY(-2px)}.register-button{background:#0000;border:2px solid #4a90e2;color:#4a90e2}.register-button:hover{background:#4a90e2;box-shadow:0 5px 15px #4a90e24d;color:#fff;transform:translateY(-2px)}.contacts-section{background:linear-gradient(135deg,#f3e5f5,#e8f4fd);border-left:6px solid #9c27b0;border-radius:15px;box-shadow:0 10px 30px #9c27b026,0 5px 15px #0000001a;margin-bottom:35px;overflow:hidden;padding:25px;position:relative}.contacts-section:before{animation:shimmer 4s infinite;background:linear-gradient(45deg,#0000,#ffffff1a,#0000);bottom:0;content:"";left:0;position:absolute;right:0;top:0}.contacts-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px;position:relative;z-index:1}.contacts-header h3{color:#9c27b0;font-size:1.6rem;font-weight:700;margin:0}.contacts-info{position:relative;z-index:1}.contacts-status{background:linear-gradient(135deg,#fff,#f9f9f9);border:2px solid #e0e0e0;border-radius:12px;padding:20px}.contacts-connected,.contacts-not-connected{text-align:center}.status-text{color:#333;font-size:1.3rem;font-weight:600;margin-bottom:15px}.status-description{color:#666;font-size:1.1rem;line-height:1.5;margin-bottom:20px}.voice-examples{background:linear-gradient(135deg,#f8f9fa,#fff);border-left:4px solid #9c27b0;border-radius:8px;margin-top:15px;padding:15px}.voice-examples p{color:#333;font-size:1rem;font-style:italic;margin:8px 0;padding:5px 0}.contact-benefits{display:flex;flex-direction:column;gap:8px;margin-top:15px}.contact-benefits p{color:#4caf50;font-size:1.1rem;font-weight:500;margin:0}@media (max-width:768px){.location-header{align-items:flex-start;flex-direction:column;gap:15px}.traffic-content{grid-template-columns:1fr}.address-input-group,.traffic-item{flex-direction:column}.traffic-item{align-items:flex-start;gap:8px}}@media (max-width:480px){.location-section,.traffic-section{padding:20px}.location-button{font-size:1.1rem;padding:12px 20px}.location-header h3,.traffic-header h3{font-size:1.4rem}}.grocery-cart-section{background:linear-gradient(135deg,#e8f5e8,#f1f8e9);border:2px solid #c8e6c9;border-radius:15px;box-shadow:0 10px 30px #4caf5026,0 5px 15px #0000001a;margin-bottom:35px;overflow:hidden;padding:25px;position:relative}.grocery-cart-section:before{animation:shimmer 4s infinite;background:linear-gradient(45deg,#0000,#ffffff1a,#0000);bottom:0;content:"";left:0;position:absolute;right:0;top:0}.grocery-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px;position:relative;z-index:1}.grocery-header h3{color:#4caf50;font-size:1.6rem;font-weight:700;margin:0}.close-grocery-button{align-items:center;background:linear-gradient(135deg,#f44336,#ff5252);border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:1.2rem;font-weight:600;height:40px;justify-content:center;transition:all .3s ease;width:40px}.close-grocery-button:hover{background:linear-gradient(135deg,#d32f2f,#f44336);transform:scale(1.1)}.grocery-content{position:relative;z-index:1}.grocery-message{background:linear-gradient(135deg,#fff,#f9f9f9);border:2px solid #c8e6c9;border-radius:12px;margin-bottom:25px;padding:20px}.grocery-instruction{color:#2e7d32;font-size:1.2rem;font-weight:500;line-height:1.5;margin:0;text-align:center}.grocery-actions{display:flex;flex-direction:column;gap:15px;margin-bottom:25px}.instacart-button{align-items:center;background:linear-gradient(135deg,#4caf50,#66bb6a);border:none;border-radius:15px;box-shadow:0 8px 20px #4caf5066;color:#fff;cursor:pointer;display:flex;font-size:1.3rem;font-weight:700;gap:12px;justify-content:center;letter-spacing:1px;padding:20px 30px;text-transform:uppercase;transition:all .3s ease}.instacart-button:hover{background:linear-gradient(135deg,#45a049,#4caf50);box-shadow:0 12px 25px #4caf5080;transform:translateY(-3px)}.add-more-button,.grocery-voice-button{align-items:center;background:linear-gradient(135deg,#2196f3,#64b5f6);border:none;border-radius:12px;box-shadow:0 6px 15px #2196f34d;color:#fff;cursor:pointer;display:flex;font-size:1.1rem;font-weight:600;gap:10px;justify-content:center;padding:15px 25px;transition:all .3s ease}.add-more-button:hover,.grocery-voice-button:hover{background:linear-gradient(135deg,#1976d2,#2196f3);box-shadow:0 8px 20px #2196f366;transform:translateY(-2px)}.grocery-help{background:linear-gradient(135deg,#e3f2fd,#f3e5f5);border:2px dashed #4caf50;border-radius:12px;margin-top:20px;padding:20px}.help-text{color:#2e7d32;font-size:1.1rem;line-height:1.5;margin:0;text-align:center}.help-text strong{color:#1b5e20;font-size:1.2rem}@media (max-width:768px){.grocery-actions{gap:12px}.instacart-button{font-size:1.2rem;padding:18px 25px}.add-more-button,.grocery-voice-button{font-size:1rem;padding:14px 20px}.grocery-instruction,.help-text{font-size:1.1rem}}@media (max-width:480px){.grocery-cart-section{padding:20px}.grocery-header h3{font-size:1.4rem}.instacart-button{font-size:1.1rem;padding:16px 20px}.grocery-instruction,.help-text{font-size:1rem}}.grocery-voice-section{background:linear-gradient(135deg,#e8f5e8,#f1f8e9);border:2px solid #c8e6c9;border-radius:15px;box-shadow:0 10px 30px #4caf5026,0 5px 15px #0000001a;margin-bottom:35px;overflow:hidden;padding:25px;position:relative}.analytics-button{background:linear-gradient(135deg,#9c27b0,#ab47bc);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;margin:0 10px;padding:8px 16px;transition:all .3s ease}.analytics-button:hover{background:linear-gradient(135deg,#8e24aa,#9c27b0);transform:translateY(-2px)}.analytics-modal{background:#fff;border-radius:15px;box-shadow:0 20px 60px #0000004d;max-height:85vh;max-width:900px;overflow-y:auto;position:relative;width:95%}.analytics-modal .modal-header{align-items:center;background:linear-gradient(135deg,#9c27b0,#ab47bc);border-radius:15px 15px 0 0;color:#fff;display:flex;justify-content:space-between;padding:20px}.analytics-modal .modal-header h3{font-size:1.5rem;margin:0}.analytics-content{padding:25px}.analytics-loading{padding:40px;text-align:center}.loading-spinner{animation:spin 1s linear infinite;font-size:2rem;margin-bottom:10px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.analytics-summary{margin-bottom:30px}.summary-cards{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:20px}.summary-card{background:linear-gradient(135deg,#f8f9fa,#e9ecef);border:2px solid #dee2e6;border-radius:12px;padding:20px;text-align:center;transition:transform .3s ease}.summary-card:hover{transform:translateY(-5px)}.summary-card h4{color:#495057;font-size:1rem;font-weight:600;margin:0 0 10px}.stat-number{color:#28a745;font-size:2rem;font-weight:700}.daily-breakdown{margin-bottom:30px}.daily-breakdown h4{color:#495057;font-size:1.3rem;font-weight:600;margin-bottom:15px}.daily-stats{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.daily-stat{background:linear-gradient(135deg,#fff,#f8f9fa);border:1px solid #e9ecef;border-radius:10px;padding:15px}.day-header{border-bottom:1px solid #e9ecef;margin-bottom:10px;padding-bottom:8px}.day-date{color:#495057;font-size:.9rem;font-weight:600}.day-metrics{display:flex;flex-direction:column;gap:5px}.metric{align-items:center;display:flex;justify-content:space-between}.metric-label{color:#6c757d;font-size:.8rem}.metric-value{color:#28a745;font-size:.9rem;font-weight:600}.popular-commands{margin-bottom:30px}.popular-commands h4{color:#495057;font-size:1.3rem;font-weight:600;margin-bottom:15px}.commands-list{display:flex;flex-direction:column;gap:10px}.command-item{align-items:center;background:linear-gradient(135deg,#e3f2fd,#f3e5f5);border:1px solid #bbdefb;border-radius:8px;display:flex;justify-content:space-between;padding:12px 15px}.command-name{color:#1976d2;font-weight:600;text-transform:capitalize}.command-count{background:#fff;border-radius:12px;color:#666;font-size:.9rem;padding:4px 8px}.recent-events h4{color:#495057;font-size:1.3rem;font-weight:600;margin-bottom:15px}.events-list{display:flex;flex-direction:column;gap:8px;max-height:200px;overflow-y:auto}.event-item{align-items:center;background:#f8f9fa;border-left:4px solid #17a2b8;border-radius:6px;display:flex;justify-content:space-between;padding:10px 12px}.event-type{color:#495057;font-weight:500;text-transform:capitalize}.event-time{color:#6c757d;font-size:.8rem}.no-analytics{color:#6c757d;padding:40px;text-align:center}@media (max-width:768px){.analytics-modal{max-height:90vh;width:98%}.analytics-content{padding:15px}.summary-cards{gap:15px}.daily-stats,.summary-cards{grid-template-columns:1fr}.analytics-button{font-size:.9rem;margin:0 5px;padding:6px 12px}}.grocery-voice-header h3{color:#4caf50;font-size:1.8rem;font-weight:700;margin:0 0 15px}.grocery-voice-description{color:#2e7d32;font-size:1.2rem;line-height:1.6;margin:0 0 25px;text-align:center}.grocery-voice-examples h4{color:#4caf50;font-size:1.4rem;font-weight:600;margin:0 0 20px;text-align:center}.voice-examples-grid{display:flex;flex-direction:column;gap:15px;margin:20px 0}.example-item{align-items:center;background:linear-gradient(135deg,#fff,#f9f9f9);border:2px solid #c8e6c9;border-radius:12px;box-shadow:0 4px 10px #4caf501a;display:flex;justify-content:space-between;padding:15px 20px}.example-text{color:#1b5e20;flex:1 1;font-size:1.2rem;font-style:italic;font-weight:500}.try-example-button{align-items:center;background:linear-gradient(135deg,#4caf50,#66bb6a);border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:1.1rem;font-weight:600;gap:8px;justify-content:center;min-width:120px;padding:10px 20px;transition:all .3s ease}.try-example-button:hover{background:linear-gradient(135deg,#45a049,#4caf50);box-shadow:0 6px 15px #4caf504d;transform:translateY(-2px)}.grocery-voice-help{background:linear-gradient(135deg,#e3f2fd,#f3e5f5);border:2px dashed #4caf50;border-radius:12px;margin-top:25px;padding:20px}.grocery-voice-help .help-text{color:#2e7d32;font-size:1.2rem;line-height:1.6;margin:0;text-align:center}.grocery-voice-help .help-text strong{color:#1b5e20;font-size:1.3rem}@media (max-width:768px){.example-item{flex-direction:column;gap:12px;text-align:center}.example-text{font-size:1.1rem}.try-example-button{padding:12px 20px;width:100%}}@media (max-width:480px){.grocery-voice-section{padding:20px}.grocery-voice-header h3{font-size:1.6rem}.grocery-voice-description{font-size:1.1rem}.grocery-voice-examples h4{font-size:1.2rem}}
/*# sourceMappingURL=main.681027cc.css.map*/