*{box-sizing:border-box;margin:0;padding:0;font-family:Montserrat,sans-serif}body{background:linear-gradient(to bottom right,#021f17 0%,#064e3b 50%,#021f17 100%);color:#fff;line-height:1.6;margin:1em;padding-bottom:68px;min-height:100vh}@media (max-width: 600px){body{padding:0rem;margin:0}}:root{--primary-green: #34d399;--primary-green-hover: #10b981;--primary-green-faded: rgba(52, 211, 153, .1);--primary-green-border: rgba(52, 211, 153, .3);--background-primary: #121212;--background-secondary: #232323;--background-tertiary: #282828;--background-card: #2a2a2a;--background-input: #333;--background-hover: #383838;--text-primary: #ffffff;--text-secondary: #cccccc;--text-muted: #aaaaaa;--text-disabled: #666666;--border-primary: #333;--border-secondary: #ffffff;--border-light: #555;--error-color: #ff3e3e;--error-background: rgba(255, 62, 62, .1);--error-border: rgba(255, 62, 62, .3);--warning-color: #ffbb00;--warning-background: rgba(255, 187, 0, .1);--warning-border: rgba(255, 187, 0, .3);--success-color: var(--primary-green);--success-background: var(--primary-green-faded);--success-border: var(--primary-green-border)}h1{font-size:2.5rem;margin-bottom:1rem;margin:1rem;text-align:center;font-weight:700;letter-spacing:-.5px}h2{color:var(--primary-green);font-size:1.2rem;margin:0 0 .8rem}h3{margin-top:0;margin-bottom:.5rem;font-size:1.2rem;color:#fff}.highlight{color:var(--primary-green)}.container{width:100%;max-width:800px}input,select,textarea{background:rgba(51,51,51,.6);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.15);border-radius:6px;padding:.75rem;color:var(--text-primary);font-family:inherit;font-size:.95rem;width:100%}input:focus,select:focus,textarea:focus{outline:none;border-color:#34d399}input::placeholder,textarea::placeholder{color:var(--text-muted)}input[type=range]{-webkit-appearance:none;height:6px;background:var(--border-secondary);border-radius:3px;outline:none;padding:0}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:16px;height:16px;background:#34d399;border-radius:50%;cursor:pointer}button{transition:all .2s ease;cursor:pointer;font-family:inherit;font-weight:600;border:none;border-radius:4px}button:focus{outline:2px solid #34d399}.primary-btn,.submit-button,.update-button{background-color:var(--primary-green);color:var(--background-primary);font-size:1rem;border-radius:50px;padding:.8rem 2rem;box-shadow:0 4px 10px #07f0414d}.primary-btn:hover,.submit-button:hover,.update-button:hover{background-color:var(--primary-green-hover);transform:translateY(-2px);box-shadow:0 6px 15px #07f04166}.primary-btn:active,.submit-button:active,.update-button:active{transform:translateY(0);box-shadow:0 2px 5px #07f0414d}.secondary-btn,.cancel-button{background:rgba(68,68,68,.6);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1);color:var(--text-primary);font-size:1rem;border-radius:50px;padding:.8rem 2rem}.secondary-btn:hover,.cancel-button:hover{background-color:var(--border-light)}.logout-btn{background-color:transparent;border:2px solid var(--primary-green);color:var(--primary-green);padding:.5rem 1rem;border-radius:4px;font-weight:700}.logout-btn:hover{background-color:var(--primary-green-faded)}.card,.section{background:rgba(42,42,42,.6);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-radius:12px;padding:1.5rem;border:1px solid rgba(255,255,255,.1);margin-bottom:1.5rem;box-shadow:0 8px 32px #0000004d}.app-header{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;background-color:#34d399;color:var(--background-primary);box-shadow:0 2px 10px #0000001a}.user-controls{display:flex;align-items:center}.user-email{padding:.5rem 1rem;font-size:.9rem;color:var(--text-secondary);background-color:var(--primary-green-faded);border-radius:4px;margin-right:1rem;font-weight:500;overflow:hidden;text-overflow:ellipsis;max-width:200px;white-space:nowrap;display:inline-block}.error{color:var(--error-color);font-size:.875rem;margin-top:.5rem}.error-message,.error-container{background-color:var(--error-background);border:1px solid var(--error-border);color:var(--error-color);padding:.8rem;border-radius:6px;margin-bottom:1rem;text-align:center}.success-message{background-color:var(--success-background);border:1px solid var(--success-border);color:var(--success-color);padding:.8rem;border-radius:6px;margin-bottom:1rem;text-align:center}.warning-message{background-color:var(--warning-background);border:1px solid var(--warning-border);color:var(--warning-color);padding:.8rem;border-radius:6px;margin-bottom:1rem;text-align:center}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:var(--text-secondary)}.spinner{width:40px;height:40px;border:3px solid var(--primary-green-border);border-top:3px solid var(--primary-green);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:1rem}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.progress-ring{transform:rotate(-90deg)}.progress-ring-background{stroke:var(--border-primary);stroke-width:8;fill:transparent}.progress-ring-progress{stroke:var(--primary-green);stroke-width:8;fill:transparent;stroke-linecap:round;transition:stroke-dashoffset .8s ease-in-out}.metrics-grid,.stats-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:1.5rem}.metric-summary,.stat-item{text-align:center;padding:1rem;background:rgba(35,35,35,.8);backdrop-filter:blur(25px);-webkit-backdrop-filter:blur(25px);border:1px solid rgba(255,255,255,.15);border-radius:12px;box-shadow:0 12px 40px #0006;display:flex;flex-direction:column;align-items:center}.data-summary{background:rgba(35,35,35,.8);backdrop-filter:blur(25px);-webkit-backdrop-filter:blur(25px);border-radius:12px;padding:1.5rem;border:1px solid rgba(255,255,255,.15);margin-bottom:1.5rem;box-shadow:0 12px 40px #0006}.metric-icon{font-size:1.8rem;margin:0 0 .5rem}.metric-name,.stat-label{color:var(--text-muted);font-size:.9rem;margin-bottom:.5rem}.metric-value,.stat-value{font-size:1.5rem;font-weight:700;color:var(--primary-green)}.symptom-tag,.tag{background-color:var(--primary-green-faded);border:1px solid var(--primary-green-border);color:var(--primary-green);padding:.3rem .8rem;border-radius:50px;font-size:.8rem}.subscription-badge{padding:.35rem .75rem;border-radius:50px;font-size:.8rem;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.premium-badge{background-color:#0003;color:#000;border:1px solid rgba(0,0,0,.1)}.free-badge{background-color:#fff3;color:#000;border:1px solid rgba(0,0,0,.1)}.chat-container{display:flex;flex-direction:column;height:calc(100vh - 68px);background:transparent;overflow:hidden;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif}.message-bubble{padding:1rem;border-radius:1.2rem;box-shadow:0 2px 8px #0000001a;transition:all .2s ease}.message-bubble.user{background-color:var(--primary-green);color:var(--background-primary);border-bottom-right-radius:.25rem}.message-bubble.bot{background:rgba(42,42,42,.6);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);color:var(--text-primary);border:1px solid var(--primary-green-border);border-bottom-left-radius:.25rem;box-shadow:0 8px 32px #0000004d}.typing-indicator{display:flex;align-items:center}.typing-indicator span{height:8px;width:8px;background-color:#07f041b3;border-radius:50%;display:inline-block;margin:0 2px;animation:bounce 1.5s infinite ease-in-out}.typing-indicator span:nth-child(1){animation-delay:0s}.typing-indicator span:nth-child(2){animation-delay:.2s}.typing-indicator span:nth-child(3){animation-delay:.4s}@keyframes bounce{0%,60%,to{transform:translateY(0)}30%{transform:translateY(-4px)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.message{animation:fadeIn .3s ease}@media (max-width: 600px){h1{font-size:1.8rem}.app-header{flex-direction:column;align-items:center;gap:1rem;margin-bottom:1.5rem}.app-header h1{margin-right:0;font-size:1.8rem}.user-controls{width:100%;justify-content:center;flex-wrap:wrap;gap:.5rem}.user-email{font-size:.8rem;padding:.4rem .8rem;margin-right:.5rem;max-width:150px}.logout-btn{padding:.4rem .8rem;font-size:.8rem}.metrics-grid,.stats-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:1rem}}@media (max-width: 380px){h1{font-size:1.6rem}.user-email{max-width:120px}.metrics-grid,.stats-grid{grid-template-columns:1fr 1fr}}
