:root{--primary: #6366f1;--primary-dark: #4f46e5;--primary-light: #e0e7ff;--secondary: #ec4899;--background: #f8fafc;--surface: #ffffff;--text-main: #1e293b;--text-muted: #64748b;--border: #e2e8f0;--success: #10b981;--warning: #f59e0b;--danger: #ef4444;--radius-sm: .5rem;--radius-md: .75rem;--radius-lg: 1rem;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--font-sans: "Inter", system-ui, -apple-system, sans-serif}[data-theme=dark]{--primary: #818cf8;--primary-dark: #6366f1;--primary-light: #312e81;--secondary: #f472b6;--background: #0f172a;--surface: #1e293b;--text-main: #f1f5f9;--text-muted: #94a3b8;--border: #334155;--success: #34d399;--warning: #fbbf24;--danger: #f87171;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .3);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .4), 0 2px 4px -2px rgb(0 0 0 / .3);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .5), 0 4px 6px -4px rgb(0 0 0 / .4)}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-sans);background-color:var(--background);color:var(--text-main);line-height:1.5;-webkit-font-smoothing:antialiased}button{cursor:pointer;font-family:inherit}.container{max-width:800px;margin:0 auto;padding:1rem;min-height:100vh;display:flex;flex-direction:column}.app-shell{max-width:800px;margin:0 auto;padding:2rem}.modal-card{width:100%;max-width:350px;position:relative;max-height:90vh;overflow-y:auto;padding:1.25rem}.card{background:var(--surface);border-radius:var(--radius-md);padding:1.25rem;box-shadow:var(--shadow-sm);border:1px solid var(--border);transition:transform .2s,box-shadow .2s;margin:.5rem 0}.card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}button,.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;border-radius:var(--radius-md);font-size:1rem;font-weight:500;border:none;cursor:pointer;transition:all .2s;min-width:44px}.btn-primary{background:linear-gradient(135deg,var(--primary),var(--primary-dark));color:#fff;box-shadow:0 4px 6px -1px #6366f14d}.btn-primary:hover{transform:translateY(-1px);box-shadow:0 6px 8px -1px #6366f166}.btn-primary:active{transform:scale(.98)}.btn-primary:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-ghost{background:transparent;color:var(--text-muted);padding:.5rem 1rem;border:none}.btn-ghost:hover{background:#64748b1a;color:var(--text-main)}[data-theme=dark] .btn-ghost:hover{background:#94a3b81a}.avatar{width:3rem;height:3rem;border-radius:50%;background:#e0e7ff;display:flex;align-items:center;justify-content:center;font-size:1.5rem;border:2px solid white;box-shadow:var(--shadow-sm)}.chip{display:inline-flex;align-items:center;padding:.5rem 1rem;background:var(--surface);border:1px solid var(--border);border-radius:2rem;font-size:.875rem;cursor:pointer;transition:all .2s;gap:.25rem}.chip:hover{background:var(--primary-light);border-color:var(--primary);color:var(--primary)}.chip-selected{background:#e0e7ff;color:#4338ca;border-color:#6366f1;font-weight:500;padding:.5rem 1rem}[data-theme=dark] .chip-selected{background:#4338ca;color:#e0e7ff;border-color:#818cf8;font-weight:600}.chip-removable{padding-right:.5rem}.chip-remove{margin-left:.25rem;padding:.125rem;border-radius:50%;background:#fff3;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background .2s}.chip-remove:hover{background:#ffffff4d}.treatment-chip{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border-radius:2rem;border:2px solid var(--border);background:#fff;transition:all .2s}.treatment-chip:hover{border-color:var(--primary);box-shadow:0 0 0 3px #6366f11a}.treatment-chip.selected{border-color:var(--primary);background:#f5f3ff}.treatment-input-group{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;margin-top:.5rem;padding:.75rem;background:#f8fafc;border-radius:var(--radius-md)}.badge-symptom{display:inline-flex;align-items:center;gap:.25rem;padding:.125rem .5rem;background:#e0e7ff;color:#4338ca;border-radius:1rem;font-size:12px;font-weight:600}[data-theme=dark] .badge-symptom{background:#4338ca;color:#e0e7ff}.badge-treatment{display:inline-flex;align-items:center;gap:.25rem;padding:.125rem .5rem;background:#dcfce7;color:#166534;border-radius:1rem;font-size:14px;font-weight:600}[data-theme=dark] .badge-treatment{background:#16a34a;color:#dcfce7}.treatment-card{background:#fff;border:1px solid var(--border);border-radius:var(--radius-md);padding:1rem;margin-bottom:.75rem}.treatment-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.treatment-badge{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .75rem;border-radius:1rem;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.025em}.treatment-badge.medication{background:#dbeafe;color:#1e40af}.treatment-badge.care{background:#dcfce7;color:#166534}.treatment-badge.hydration{background:#e0f2fe;color:#075985}.treatment-badge.natural{background:#fef3c7;color:#92400e}.treatment-badge.supplement{background:#fce7f3;color:#9f1239}input,textarea,select{width:100%;padding:.75rem;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:1rem;font-family:inherit;background:var(--surface);color:var(--text-main);transition:border-color .2s}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #6366f11a}[data-theme=dark] input,[data-theme=dark] textarea,[data-theme=dark] select{background:var(--background);border-color:var(--border)}[data-theme=dark] input:focus,[data-theme=dark] textarea:focus,[data-theme=dark] select:focus{border-color:var(--primary);background:var(--surface)}h1,h2,h3{font-weight:700;letter-spacing:-.025em}.fade-in{animation:fadeIn .3s ease-in-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.dropdown-item:hover{background:#f1f5f9}@media(min-width:768px){button,.btn,.btn-primary,.btn-ghost,input[type=button],input[type=submit]{outline:none!important}button:focus,.btn:focus,.btn-primary:focus,.btn-ghost:focus{outline:none!important;box-shadow:none!important}}.animate-spin{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes medicationPulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes medicationLabelPulse{0%,to{opacity:1}50%{opacity:.7}}@keyframes medicationRadiation{0%{box-shadow:0 0 #10b98166}50%{box-shadow:0 0 8px 4px #10b98133}to{box-shadow:0 0 #10b98100}}.medication-progress-pulse{animation:medicationPulse 2s ease-in-out infinite}.medication-radiation{animation:medicationPulse 2s ease-in-out infinite,medicationRadiation 2s ease-in-out infinite}.medication-label-pulse{animation:medicationLabelPulse 2s ease-in-out infinite}@keyframes pageTransition{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.page-transition{animation:pageTransition .3s ease-out}.form-section{border:1px solid var(--border);border-radius:var(--radius-md);padding:1.5rem;margin-bottom:1.5rem;background:var(--surface)}.form-section h3{font-size:1rem;font-weight:600;margin-bottom:1rem;color:var(--text-main)}[data-theme=dark] .form-section{background:var(--surface);border-color:var(--border)}.timeline-connector{position:relative;height:3rem;display:flex;align-items:center;justify-content:center;margin:.5rem 0}.connector-line{position:absolute;width:2px;height:100%;background:var(--border);left:50%;transform:translate(-50%)}.time-gap{position:relative;background:var(--surface);padding:.25rem .6rem;border-radius:1rem;font-size:.75rem;color:var(--text-muted);border:1px solid var(--border);z-index:1;display:flex;align-items:center;gap:.35rem;box-shadow:var(--shadow-sm)}.connector-link{display:inline-flex;align-items:center;justify-content:center;transform:rotate(90deg);color:var(--primary);stroke-width:2;font-size:1rem}.timeline-connector.long-gap{height:150px;margin:.75rem 0}.connector-squiggle{position:absolute;left:50%;transform:translate(-50%);width:12px;height:100%;background-color:var(--border);mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='16' viewBox='0 0 12 16'><path d='M6 0 L12 4 L0 12 L6 16' stroke='black' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/></svg>");mask-size:12px 16px;mask-repeat:repeat-y;-webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='16' viewBox='0 0 12 16'><path d='M6 0 L12 4 L0 12 L6 16' stroke='black' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/></svg>");-webkit-mask-size:12px 16px;-webkit-mask-repeat:repeat-y}.connector-link-bare{position:relative;height:0;display:flex;align-items:center;justify-content:center;margin:-10px 0;z-index:5}.connector-link-icon{display:inline-flex;align-items:center;justify-content:center;transform:rotate(90deg);color:var(--primary);stroke-width:2;background:var(--surface);padding:.25rem;border-radius:50%}.modal-overlay{z-index:1000}.dropdown{z-index:100}.header{z-index:50}.overview-table .mobile-only{display:none}.overview-table .desktop-only{display:table-cell}@media(max-width:768px){.overview-table .mobile-only{display:table-cell}.overview-table .desktop-only{display:none}.overview-table .date-column{width:90px;min-width:90px}}.medication-sparkles-container{position:relative}@keyframes sparklesGlow{0%{filter:drop-shadow(0 0 4px var(--primary)) drop-shadow(0 0 8px var(--primary))}50%{filter:drop-shadow(0 0 8px var(--primary)) drop-shadow(0 0 12px var(--primary))}to{filter:drop-shadow(0 0 4px var(--primary)) drop-shadow(0 0 8px var(--primary))}}.sparkles-glow{animation:sparklesGlow 2s ease-in-out infinite}.bubble{position:absolute;width:4px;height:4px;background:var(--primary);border-radius:50%;opacity:.6;pointer-events:none}@keyframes floatUp1{0%{transform:translate(0);opacity:.6}to{transform:translate(-8px,-24px);opacity:0}}@keyframes floatUp2{0%{transform:translate(0);opacity:.6}to{transform:translate(2px,-28px);opacity:0}}@keyframes floatUp3{0%{transform:translate(0);opacity:.6}to{transform:translate(10px,-22px);opacity:0}}.bubble-1{animation:floatUp1 2.5s ease-out infinite;left:4px;bottom:0}.bubble-2{animation:floatUp2 3s ease-out infinite;animation-delay:.8s;left:8px;bottom:0}.bubble-3{animation:floatUp3 2.8s ease-out infinite;animation-delay:1.6s;left:6px;bottom:0}
