:root{--bg-primary: #f5f5f5;--bg-secondary: #ffffff;--text-primary: #333333;--text-secondary: #666666;--text-muted: #999999;--border-color: #e0e0e0;--shadow: rgba(0,0,0,.1);--shadow-hover: rgba(0,0,0,.15);--accent-color: #4A90E2;--accent-hover: #2563EB;--danger-color: #f44336;--danger-hover: #d32f2f;--info-color: #2196F3;--info-hover: #1976D2;--warning-color: #ff9800;--warning-hover: #f57c00;--font-size-base: 1rem;--font-size-small: .875rem;--font-size-large: 1.125rem;--font-size-h1: 1.5rem;--font-size-h2: 1.25rem;--font-size-h3: 1.125rem}.dark-mode{--bg-primary: #1a1a1a;--bg-secondary: #2d2d2d;--text-primary: #ffffff;--text-secondary: #cccccc;--text-muted: #999999;--border-color: #404040;--shadow: rgba(0,0,0,.3);--shadow-hover: rgba(0,0,0,.4);--accent-color: #5B8DEF;--accent-hover: #6366F1;--danger-color: #ef5350;--danger-hover: #f44336;--info-color: #42a5f5;--info-hover: #2196F3;--warning-color: #ffb74d;--warning-hover: #ff9800}.font-small{--font-size-base: 1rem;--font-size-small: .875rem;--font-size-large: 1.125rem;--font-size-h1: 1.5rem;--font-size-h2: 1.25rem;--font-size-h3: 1.125rem}.font-large{--font-size-base: 1.25rem;--font-size-small: 1rem;--font-size-large: 1.375rem;--font-size-h1: 2rem;--font-size-h2: 1.75rem;--font-size-h3: 1.5rem}.font-extra-large{--font-size-base: 1.5rem;--font-size-small: 1.25rem;--font-size-large: 1.625rem;--font-size-h1: 2.25rem;--font-size-h2: 2rem;--font-size-h3: 1.75rem}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;line-height:1.6;color:var(--text-primary);background-color:var(--bg-primary);font-size:var(--font-size-base)}#app{min-height:100vh;display:flex;flex-direction:column}.app-header{background:linear-gradient(135deg,var(--accent-color),var(--accent-hover));color:#fff;padding:1rem;display:flex;justify-content:space-between;align-items:center;box-shadow:0 2px 4px var(--shadow);position:sticky;top:0;z-index:100}.header-tabs{display:flex;gap:.5rem}.tab-btn{background:#ffffff1a;border:2px solid rgba(255,255,255,.2);color:#fff;padding:.5rem 1rem;border-radius:20px;font-weight:600;cursor:pointer;transition:all .3s ease}.tab-btn:hover{background:#fff3}.tab-btn.active{background:#ffffff4d;border-color:#ffffff80}.header-actions{display:flex;align-items:center;gap:.5rem}.settings-btn{background:#fff3;border:2px solid rgba(255,255,255,.3);color:#fff;padding:.5rem;border-radius:50%;font-size:1.2rem;cursor:pointer;transition:all .3s ease;width:40px;height:40px;display:flex;align-items:center;justify-content:center}.settings-btn:hover{background:#ffffff4d;border-color:#ffffff80}.add-btn{background:#fff3;border:2px solid rgba(255,255,255,.3);color:#fff;padding:.5rem 1rem;border-radius:25px;font-weight:600;cursor:pointer;transition:all .3s ease}.add-btn:hover{background:#ffffff4d;border-color:#ffffff80}.app-main{flex:1;padding:1rem;padding-bottom:120px}.medication-list,.provider-list{max-width:800px;margin:0 auto}.search-bar{margin-bottom:1.5rem}.search-input{width:100%;padding:.75rem;border:2px solid var(--border-color);border-radius:25px;font-size:var(--font-size-base);outline:none;transition:border-color .3s ease;background-color:var(--bg-secondary);color:var(--text-primary)}.search-input:focus{border-color:var(--accent-color)}.medications-container{display:flex;flex-direction:column;gap:1rem}.empty-state{text-align:center;padding:3rem 1rem;color:var(--text-secondary);background:var(--bg-secondary);border-radius:10px;box-shadow:0 2px 4px var(--shadow)}.medication-card{background:linear-gradient(145deg,var(--bg-secondary),rgba(74,144,226,.05));border-radius:10px;padding:1.5rem;box-shadow:0 2px 8px var(--shadow);display:flex;flex-direction:column;gap:1rem;transition:transform .2s ease,box-shadow .2s ease}.medication-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px var(--shadow-hover)}.medication-info{flex:1;display:flex;flex-direction:column;gap:.5rem}.medication-name{font-size:var(--font-size-h2);font-weight:600;color:var(--text-primary);margin-bottom:.5rem}.medication-details{display:flex;flex-direction:column;gap:.5rem}.detail{font-size:var(--font-size-small);color:var(--text-secondary)}.label{font-weight:600;color:var(--accent-color);margin-right:.5rem}.notes{font-style:italic}.medication-photo{width:80px;height:80px;border-radius:8px;overflow:hidden;flex-shrink:0}.medication-photo img{width:100%;height:100%;object-fit:cover}.medication-actions{display:flex;flex-direction:row;gap:.5rem;justify-content:flex-end;margin-top:.5rem}.edit-btn,.delete-btn,.email-btn{padding:.5rem 1rem;border:none;border-radius:5px;cursor:pointer;font-size:var(--font-size-small);transition:all .2s ease}.edit-btn{background:var(--info-color);color:#fff}.edit-btn:hover{background:var(--info-hover)}.delete-btn{background:var(--danger-color);color:#fff}.delete-btn:hover{background:var(--danger-hover)}.email-btn{background:var(--accent-color);color:#fff}.email-btn:hover{background:var(--accent-hover)}.export-section{margin-top:2rem;margin-bottom:2rem;text-align:center;display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.export-btn,.schedule-btn{background:var(--accent-color);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:25px;font-size:var(--font-size-base);font-weight:600;cursor:pointer;transition:background .3s ease}.export-btn:hover,.schedule-btn:hover{background:var(--accent-hover)}.schedule-btn{background:var(--info-color)}.schedule-btn:hover{background:var(--info-hover)}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.modal-content{background:var(--bg-secondary);border-radius:10px;width:100%;max-width:500px;max-height:90vh;overflow-y:auto;box-shadow:0 10px 30px var(--shadow)}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid var(--border-color)}.modal-header h2{font-size:var(--font-size-h1);color:var(--text-primary)}.close-btn{background:none;border:none;font-size:2rem;cursor:pointer;color:var(--text-secondary);padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center}.close-btn:hover{color:var(--text-primary)}.medication-form{padding:1.5rem}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:600;color:var(--text-primary)}.form-input,.form-textarea{width:100%;padding:.75rem;border:2px solid var(--border-color);border-radius:5px;font-size:var(--font-size-base);outline:none;transition:border-color .3s ease;background-color:var(--bg-secondary);color:var(--text-primary);-webkit-appearance:none;-moz-appearance:none;appearance:none}input[type=time],input[type=date],input[type=datetime-local]{-webkit-appearance:initial;-moz-appearance:initial;appearance:initial}@media (max-width: 768px){input[type=time],input[type=date],input[type=datetime-local]{-webkit-appearance:none;-moz-appearance:none;appearance:none}input[type=time]::-webkit-calendar-picker-indicator,input[type=date]::-webkit-calendar-picker-indicator,input[type=datetime-local]::-webkit-calendar-picker-indicator{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;cursor:pointer;height:100%;width:100%;position:absolute;top:0;left:0}}.form-input:focus,.form-textarea:focus{border-color:var(--accent-color)}.form-textarea{resize:vertical;min-height:80px}.photo-upload{border:2px dashed #e0e0e0;border-radius:5px;padding:1rem;text-align:center;transition:border-color .3s ease}.photo-upload:hover{border-color:var(--accent-color)}.photo-input{display:none}.photo-placeholder{cursor:pointer;color:var(--text-secondary)}.photo-placeholder small{display:block;margin-top:.5rem;font-size:.8rem;color:var(--text-muted)}.photo-preview{position:relative}.photo-preview img{max-width:100%;max-height:200px;border-radius:5px;margin-bottom:.5rem}.remove-photo-btn{background:var(--danger-color);color:#fff;border:none;padding:.25rem .5rem;border-radius:3px;font-size:.8rem;cursor:pointer}.form-actions{display:flex;gap:1rem;justify-content:flex-end;margin-top:2rem;padding-top:1rem;border-top:1px solid #e0e0e0}.cancel-btn,.save-btn{padding:.75rem 1.5rem;border:none;border-radius:5px;font-size:var(--font-size-base);font-weight:600;cursor:pointer;transition:all .3s ease}.cancel-btn{background:var(--bg-primary);color:var(--text-secondary);border:2px solid var(--border-color)}.cancel-btn:hover{background:var(--border-color)}.save-btn{background:var(--accent-color);color:#fff}.save-btn:hover:not(:disabled){background:var(--accent-hover)}.save-btn:disabled{background:var(--text-muted);cursor:not-allowed}.provider-card{background:linear-gradient(145deg,var(--bg-secondary),rgba(74,144,226,.05));border-radius:10px;padding:1.5rem;box-shadow:0 2px 8px var(--shadow);display:flex;flex-direction:column;gap:1rem;transition:transform .2s ease,box-shadow .2s ease}.provider-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px var(--shadow-hover)}.provider-name{font-size:var(--font-size-h2);font-weight:600;color:var(--text-primary);margin-bottom:.5rem}.provider-info{flex:1;display:flex;flex-direction:column;gap:.5rem}.provider-details{display:flex;flex-direction:column;gap:.5rem}.provider-actions{display:flex;flex-direction:row;gap:.5rem;justify-content:flex-end;margin-top:.5rem}.phone-link,.email-link{color:var(--accent-color);text-decoration:none}.phone-link:hover,.email-link:hover{text-decoration:underline}.settings-content{padding:1.5rem}.settings-section{margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:1px solid var(--border-color)}.settings-section:last-child{border-bottom:none;margin-bottom:0}.settings-section h3{font-size:1.2rem;color:var(--text-primary);margin-bottom:1rem}.form-select{width:100%;padding:.75rem;border:2px solid var(--border-color);border-radius:5px;font-size:var(--font-size-base);outline:none;transition:border-color .3s ease}.form-select:focus{border-color:var(--accent-color)}.checkbox-label{display:flex;align-items:center;gap:.5rem;cursor:pointer}.checkbox-input{width:18px;height:18px}.action-btn{padding:.75rem 1.5rem;border:none;border-radius:5px;font-size:var(--font-size-base);font-weight:600;cursor:pointer;transition:all .3s ease;margin-right:.5rem}.export-btn{background:var(--accent-color);color:#fff}.import-btn{background:var(--info-color);color:#fff}.action-btn:hover{opacity:.9}.modal-actions{display:flex;gap:1rem;justify-content:flex-end;margin-top:2rem;padding-top:1rem;border-top:1px solid #e0e0e0}.reset-btn{background:var(--danger-color);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:5px;font-size:var(--font-size-base);font-weight:600;cursor:pointer;transition:background .3s ease}.reset-btn:hover{background:var(--danger-hover)}.alert-list{display:flex;flex-direction:column;gap:.5rem}.alert-item{display:flex;gap:.5rem;align-items:center}.alert-input{flex:0 0 80px}.alert-select{flex:0 0 100px}.alert-label{flex:1}.remove-alert-btn{background:var(--danger-color);color:#fff;border:none;border-radius:50%;width:30px;height:30px;cursor:pointer;font-size:1.2rem;display:flex;align-items:center;justify-content:center;transition:background .3s ease}.remove-alert-btn:hover{background:var(--danger-hover)}.add-alert-btn{background:var(--accent-color);color:#fff;border:none;padding:.5rem 1rem;border-radius:5px;cursor:pointer;font-size:var(--font-size-small);transition:background .3s ease;align-self:flex-start}.add-alert-btn:hover{background:var(--accent-hover)}.add-button-section{margin-bottom:1rem;text-align:center}.add-btn{background:var(--accent-color);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:25px;font-size:var(--font-size-base);font-weight:600;cursor:pointer;transition:background .3s ease}.add-btn:hover{background:var(--accent-hover)}.appointments-list{max-width:800px;margin:0 auto}.appointment-card{background:linear-gradient(145deg,var(--bg-secondary),rgba(74,144,226,.05));border-radius:10px;padding:1.5rem;box-shadow:0 2px 8px var(--shadow);display:flex;flex-direction:column;gap:1rem;transition:transform .2s ease,box-shadow .2s ease;margin-bottom:1rem}.appointment-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px var(--shadow-hover)}.appointment-info{flex:1;display:flex;gap:1rem}.appointment-details{display:flex;flex-direction:column;gap:.5rem;flex:1}.appointment-title{font-size:var(--font-size-h2);font-weight:600;color:var(--text-primary);margin-bottom:.5rem}.appointment-actions{display:flex;flex-direction:row;gap:.5rem;justify-content:flex-end;margin-top:.5rem}.appointments-section{margin-bottom:2rem;padding-bottom:2rem;border-bottom:2px solid var(--border-color)}.section-title{font-size:var(--font-size-h2);font-weight:600;color:var(--text-primary);margin-bottom:1rem;text-align:center}.form-group-row{display:flex;gap:1rem}.form-group-row .form-group{flex:1;margin-bottom:1.5rem}.appointment-content{padding:1.5rem}.providers-list{display:flex;flex-direction:column;gap:1rem}.provider-item{display:flex;justify-content:space-between;align-items:center;padding:1rem;background:#f8f9fa;border-radius:8px;border:1px solid #e0e0e0}.provider-info h3{margin:0 0 .25rem;color:var(--text-primary)}.specialty{color:var(--text-secondary);font-size:var(--font-size-small);margin:0 0 .25rem}.phone{color:var(--accent-color);font-weight:600;margin:0}.call-btn{background:var(--accent-color);color:#fff;border:none;padding:.5rem 1rem;border-radius:20px;font-weight:600;cursor:pointer;transition:background .3s ease}.call-btn:hover:not(:disabled){background:var(--accent-hover)}.call-btn:disabled{background:var(--text-muted);cursor:not-allowed}.confirmation-content{padding:1.5rem}.question{text-align:center;margin-bottom:2rem}.question p{font-size:1.2rem;color:var(--text-primary)}.button-group{display:flex;gap:1rem;justify-content:center;margin-bottom:2rem}.no-btn,.yes-btn{padding:.75rem 2rem;border:none;border-radius:25px;font-size:var(--font-size-base);font-weight:600;cursor:pointer;transition:all .3s ease}.no-btn{background:var(--danger-color);color:#fff}.no-btn:hover{background:var(--danger-hover)}.yes-btn{background:var(--accent-color);color:#fff}.yes-btn:hover{background:var(--accent-hover)}.appointment-form{border-top:1px solid #e0e0e0;padding-top:1.5rem}.appointment-form h3{margin-bottom:1rem;color:var(--text-primary)}.ad-banner{position:fixed;bottom:0;left:0;right:0;background:#f0f0f0;border-top:1px solid #ddd;z-index:200}.ad-content{display:flex;align-items:center;justify-content:space-between;padding:.5rem 1rem;max-width:800px;margin:0 auto}.ad-placeholder{flex:1;display:flex;align-items:center;gap:.5rem}.ad-text{font-size:.8rem;color:var(--text-secondary);font-weight:600}.ad-mock{background:var(--border-color);border-radius:3px;padding:.25rem .5rem;flex:1;max-width:200px}.ad-mock-content{font-size:.7rem;color:var(--text-secondary)}.ad-mock-title{font-weight:600}.remove-ads-btn{background:var(--accent-color);color:#fff;border:none;padding:.5rem 1rem;border-radius:15px;font-size:.8rem;font-weight:600;cursor:pointer;transition:background .3s ease}.remove-ads-btn:hover{background:var(--accent-hover)}@media (max-width: 768px){.app-header{flex-direction:column;gap:1rem;text-align:center}.header-tabs{order:1}.header-actions{order:2;justify-content:center}.medication-card,.provider-card,.medication-info,.provider-info{flex-direction:column}.medication-actions,.provider-actions{flex-direction:row;justify-content:space-between}.alert-item{flex-direction:column;gap:.5rem}.alert-input,.alert-select,.alert-label{flex:1}.modal-content{margin:1rem;max-height:calc(100vh - 2rem)}.form-actions,.modal-actions{flex-direction:column}.export-section,.button-group{flex-direction:column;align-items:center}.provider-item{flex-direction:column;gap:1rem;text-align:center}.ad-content{flex-direction:column;gap:.5rem;text-align:center}.ad-placeholder{justify-content:center}.add-button-section{text-align:center}.appointment-card{margin-bottom:1rem}.appointment-info,.form-group-row{flex-direction:column}}@media (max-width: 480px){.app-main{padding:.5rem;padding-bottom:120px}.medication-card{padding:1rem}.modal-content{margin:.5rem}.medication-form{padding:1rem}}
