:root{--primary: #4a90a4;--primary-dark: #3a7a8f;--danger: #dc3545;--danger-dark: #c82333;--success: #28a745;--warning: #ffc107;--bg: #f5f7fa;--surface: #ffffff;--text: #333333;--text-muted: #6c757d;--border: #dee2e6;--shadow: 0 2px 8px rgba(0, 0, 0, .1);--shadow-lg: 0 4px 16px rgba(0, 0, 0, .15);--radius: 12px;--radius-sm: 8px;--font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, sans-serif}*{box-sizing:border-box;margin:0;padding:0}html,body{font-family:var(--font);font-size:16px;line-height:1.5;color:var(--text);background:var(--bg);min-height:100vh;-webkit-font-smoothing:antialiased}body{padding-bottom:env(safe-area-inset-bottom)}#app{max-width:600px;margin:0 auto;min-height:100vh}.hidden{display:none!important}.view{min-height:100vh;display:flex;flex-direction:column}#landing-view header{background:linear-gradient(135deg,var(--primary),var(--primary-dark));color:#fff;padding:3rem 1.5rem;text-align:center}#landing-view h1{font-size:2.5rem;font-weight:700;margin-bottom:.5rem}.subtitle{font-size:1.1rem;opacity:.9}.landing-content{padding:1.5rem;flex:1}.admin-link{margin-top:2rem;text-align:center}.admin-link a{color:var(--text-muted);text-decoration:none;font-size:.9rem}.admin-link a:hover{color:var(--primary)}.primary-btn,.secondary-btn,.small-btn{border:none;border-radius:var(--radius-sm);font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s;display:inline-flex;align-items:center;justify-content:center;gap:.5rem}.primary-btn{background:var(--primary);color:#fff;padding:1rem 1.5rem;width:100%}.primary-btn:hover,.primary-btn:focus{background:var(--primary-dark)}.primary-btn .icon{font-size:1.5rem;font-weight:300}.secondary-btn{background:var(--surface);color:var(--text);border:1px solid var(--border);padding:.75rem 1.25rem}.secondary-btn:hover{background:var(--bg)}.small-btn{background:var(--bg);color:var(--text);padding:.4rem .75rem;font-size:.85rem;border:1px solid var(--border)}.small-btn:hover{background:var(--border)}.small-btn.danger{color:var(--danger);border-color:var(--danger)}.small-btn.danger:hover{background:var(--danger);color:#fff}.icon-btn{background:transparent;border:none;font-size:1.5rem;cursor:pointer;padding:.5rem;color:var(--text);border-radius:var(--radius-sm);transition:background .2s}.icon-btn:hover{background:#0000000d}.recent-logs{margin-top:2rem}.recent-logs h2{font-size:1.1rem;color:var(--text-muted);margin-bottom:1rem;font-weight:600}#recent-logs-list{list-style:none}.recent-log-item{background:var(--surface);border-radius:var(--radius-sm);padding:1rem;margin-bottom:.75rem;display:flex;align-items:center;justify-content:space-between;box-shadow:var(--shadow);cursor:pointer;transition:transform .2s}.recent-log-item:hover{transform:translateY(-2px)}.recent-log-item:active{transform:translateY(0)}.log-info{display:flex;flex-direction:column}.log-name{font-weight:600;font-size:1rem}.log-date{color:var(--text-muted);font-size:.85rem}.delete-log-btn{font-size:1rem;opacity:.6}.delete-log-btn:hover{opacity:1}.data-management{margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--border)}.data-management h2{font-size:1.1rem;color:var(--text-muted);margin-bottom:1rem;font-weight:600}.data-actions{display:flex;gap:.75rem}.data-actions .secondary-btn{flex:1}.import-label{cursor:pointer}.log-header{background:var(--surface);padding:1rem;display:flex;align-items:center;gap:.5rem;box-shadow:var(--shadow);position:sticky;top:0;z-index:100}.log-header h1{flex:1;font-size:1.25rem;font-weight:600;padding:.25rem .5rem;border-radius:var(--radius-sm);outline:none}.log-header h1:focus{background:var(--bg)}.log-menu-container{position:relative}.log-menu{display:none;position:absolute;right:0;top:100%;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-lg);min-width:150px;z-index:100;margin-top:.5rem}.log-menu.open{display:block}.log-menu-item{display:block;width:100%;padding:.75rem 1rem;border:none;background:transparent;text-align:left;font-size:.95rem;cursor:pointer;color:var(--text);transition:background .2s;border-radius:var(--radius-sm)}.log-menu-item:hover{background:var(--bg)}.sync-status{display:flex;align-items:center;gap:.35rem;padding:.35rem .6rem;border:none;border-radius:20px;font-size:.75rem;font-weight:500;cursor:pointer;transition:all .2s;background:var(--bg);color:var(--text-muted)}.sync-status:hover{background:var(--border)}.sync-icon{font-size:.85rem}.sync-icon.spinning{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.sync-synced{background:#d4edda;color:#155724}.sync-pending{background:#fff3cd;color:#856404}.sync-syncing{background:#cce5ff;color:#004085}.sync-offline,.sync-never{background:var(--bg);color:var(--text-muted)}.log-content{padding:1rem 1rem 5rem;flex:1}.groups-section{margin-bottom:2rem}.section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.section-header h2{font-size:1.1rem;font-weight:600;color:var(--text-muted)}.groups-list{display:flex;flex-direction:column;gap:.75rem}.group-card{background:var(--surface);border-radius:var(--radius);padding:1rem;box-shadow:var(--shadow)}.group-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem}.group-name{font-size:1rem;font-weight:600;outline:none;padding:.25rem;border-radius:4px}.group-name:focus{background:var(--bg)}.entry-count{font-size:.85rem;color:var(--text-muted)}.entry-count.clickable{cursor:pointer;transition:color .2s}.entry-count.clickable:hover{color:var(--primary);text-decoration:underline}.group-notes{font-size:.9rem;color:var(--text-muted);margin-bottom:.5rem}.group-actions{display:flex;gap:.5rem;margin-top:.5rem}#episode-card-container{margin-bottom:1rem}.episode-notes{background:var(--surface);border-radius:var(--radius);padding:1rem;box-shadow:var(--shadow)}.episode-notes p{font-size:.9rem;color:var(--text-muted);margin:0}.entries-list{display:flex;flex-direction:column;gap:0}.entry-card-compact{background:var(--surface);border-bottom:1px solid var(--border);cursor:pointer;transition:background .15s}.entry-card-compact:hover{background:#fafafa}.entry-card-compact:first-child{border-radius:var(--radius) var(--radius) 0 0}.entry-card-compact:last-child{border-bottom:none;border-radius:0 0 var(--radius) var(--radius)}.entry-card-compact:first-child:last-child{border-radius:var(--radius)}.entry-day-label{display:flex;align-items:center;padding:.75rem 1rem .5rem;background:var(--bg)}.day-text{font-size:.85rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.entry-group-col{flex-shrink:0;margin-right:.5rem}.entry-group-label-inline{font-size:.7rem;background:var(--primary);color:#fff;padding:.2rem .5rem;border-radius:12px;font-weight:500;white-space:nowrap;text-decoration:none;display:inline-block}.entry-group-label-inline.clickable{cursor:pointer;transition:background .2s}.entry-group-label-inline.clickable:hover{background:var(--primary-dark)}.entry-row{display:flex;align-items:center;padding:.75rem 1rem;gap:.75rem}.entry-time-col{flex-shrink:0;width:60px}.entry-time{font-size:.85rem;color:var(--text-muted);font-weight:500}.entry-content-col{flex:1;min-width:0}.entry-menu-col{flex-shrink:0;position:relative}.entry-menu-btn{padding:.25rem;font-size:1.25rem}.entry-menu{display:none;position:absolute;right:0;top:100%;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-lg);min-width:120px;z-index:10;margin-top:.25rem}.entry-menu.open{display:block}.entry-menu-item{display:block;width:100%;padding:.6rem 1rem;border:none;background:transparent;text-align:left;font-size:.9rem;cursor:pointer;color:var(--text);transition:background .2s}.entry-menu-item:first-child{border-radius:var(--radius-sm) var(--radius-sm) 0 0}.entry-menu-item:last-child{border-radius:0 0 var(--radius-sm) var(--radius-sm)}.entry-menu-item:hover{background:var(--bg)}.entry-menu-item.delete-entry-btn{color:var(--danger)}.entry-menu-item.delete-entry-btn:hover{background:#ffe6e6}.entry-card{background:var(--surface);border-radius:var(--radius);padding:1rem;box-shadow:var(--shadow)}.entry-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem;flex-wrap:wrap}.entry-icon{font-size:1.25rem}.entry-content{margin-bottom:.75rem}.entry-symptoms,.entry-actions-list{display:flex;flex-wrap:wrap;gap:.4rem}.symptom-tag,.action-tag{background:var(--bg);padding:.25rem .6rem;border-radius:4px;font-size:.85rem;white-space:nowrap}.symptom-tag{border-left:3px solid var(--warning)}.action-tag{border-left:3px solid var(--success)}.entry-notes{font-size:.9rem;color:var(--text-muted);margin-top:.5rem}.severity-indicator{font-size:.85rem;padding:.25rem .5rem;border-radius:4px;display:inline-block;margin-top:.5rem}.severity-indicator[data-level="1"],.severity-indicator[data-level="2"],.severity-indicator[data-level="3"]{background:#d4edda;color:#155724}.severity-indicator[data-level="4"],.severity-indicator[data-level="5"],.severity-indicator[data-level="6"]{background:#fff3cd;color:#856404}.severity-indicator[data-level="7"],.severity-indicator[data-level="8"],.severity-indicator[data-level="9"],.severity-indicator[data-level="10"]{background:#f8d7da;color:#721c24}.temp-reading{display:flex;align-items:center;gap:.75rem}.temp-value{font-size:1.5rem;font-weight:700}.temp-status{font-size:.9rem;padding:.2rem .5rem;border-radius:4px}.temp-reading-compact{display:inline-flex;align-items:center}.temp-reading-compact .temp-value{font-size:1.1rem;font-weight:600}.temp-low{color:#0c5460}.temp-low .temp-status{background:#d1ecf1}.temp-normal{color:#155724}.temp-normal .temp-status{background:#d4edda}.temp-elevated{color:#856404}.temp-elevated .temp-status{background:#fff3cd}.temp-fever{color:#721c24}.temp-fever .temp-status{background:#f8d7da}.temp-method{font-size:.85rem;color:var(--text-muted)}.entry-actions{display:flex;gap:.5rem;border-top:1px solid var(--border);padding-top:.75rem}.empty-message{color:var(--text-muted);font-size:.95rem;text-align:center;padding:2rem 1rem}.fab{position:fixed;bottom:1.5rem;right:1.5rem;width:60px;height:60px;border-radius:50%;background:var(--primary);color:#fff;font-size:2rem;border:none;box-shadow:var(--shadow-lg);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:transform .2s,background .2s;z-index:90}.fab:hover{background:var(--primary-dark);transform:scale(1.05)}.fab:active{transform:scale(.95)}.modal{position:fixed;inset:0;background:#00000080;display:flex;align-items:flex-end;justify-content:center;z-index:1000;padding:1rem}.modal-content{background:var(--surface);border-radius:var(--radius) var(--radius) 0 0;width:100%;max-width:600px;max-height:90vh;overflow-y:auto;animation:slideUp .3s ease}.modal-content.small{max-height:auto}@keyframes slideUp{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;border-bottom:1px solid var(--border);position:sticky;top:0;background:var(--surface)}.modal-header h2{font-size:1.25rem;font-weight:600}#entry-form,#group-form{padding:1.25rem}.form-group{margin-bottom:1.25rem}.form-group label{display:block;font-size:.9rem;font-weight:600;color:var(--text-muted);margin-bottom:.5rem}.form-group input[type=text],.form-group input[type=datetime-local],.form-group input[type=number],.form-group textarea,.form-group 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)}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #4a90a426}.form-group textarea{resize:vertical;min-height:80px}.entry-type-tabs{display:flex;gap:.5rem;margin-bottom:1.25rem;background:var(--bg);padding:.25rem;border-radius:var(--radius-sm)}.tab-btn{flex:1;padding:.6rem;border:none;background:transparent;font-size:.9rem;font-weight:600;color:var(--text-muted);border-radius:6px;cursor:pointer;transition:all .2s}.tab-btn.active{background:var(--surface);color:var(--primary);box-shadow:var(--shadow)}.tags-container{display:flex;flex-wrap:wrap;gap:.5rem}.tag{padding:.5rem .9rem;border:1px solid var(--border);border-radius:20px;background:var(--surface);color:var(--text);font-size:.9rem;cursor:pointer;transition:all .2s}.tag:hover{border-color:var(--primary)}.tag.selected{background:var(--primary);color:#fff;border-color:var(--primary)}.tag.dynamic{border-style:dashed}input[type=range]{width:100%;height:8px;-webkit-appearance:none;background:var(--border);border-radius:4px;outline:none}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:24px;height:24px;background:var(--primary);border-radius:50%;cursor:pointer;box-shadow:var(--shadow)}.severity-labels,.temp-labels{display:flex;justify-content:space-between;font-size:.8rem;color:var(--text-muted);margin-top:.5rem}#severity-value{font-weight:700;color:var(--text)}.temperature-picker{text-align:center}.temp-control{display:flex;align-items:center;justify-content:center;gap:1rem;margin:1rem 0}.temp-btn{width:48px;height:48px;border:1px solid var(--border);border-radius:50%;background:var(--surface);color:var(--text);font-size:1.5rem;cursor:pointer;transition:all .2s}.temp-btn:hover{background:var(--bg);border-color:var(--primary)}.temp-btn:active{transform:scale(.95)}#temperature-value{width:6.5ch;min-width:110px;font-size:2rem;font-weight:700;text-align:center;border:none;background:transparent;-moz-appearance:textfield}#temperature-value::-webkit-outer-spin-button,#temperature-value::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}#temperature-value:focus{outline:none}#temperature-slider{margin:1rem 0}.temp-indicator{font-weight:600}.form-actions{display:flex;gap:1rem;margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--border)}.form-actions .secondary-btn{flex:1}.form-actions .primary-btn{flex:2}@media(min-width:600px){.modal{align-items:center;padding:2rem}.modal-content{border-radius:var(--radius)}}@media(display-mode:standalone){body{padding-top:env(safe-area-inset-top)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}@media(prefers-color-scheme:dark){:root{--bg: #1a1a2e;--surface: #16213e;--text: #eaeaea;--text-muted: #a0a0a0;--border: #2a2a4a}input[type=datetime-local]::-webkit-calendar-picker-indicator{filter:invert(1)}.temp-low{color:#7dd3e8}.temp-normal{color:#8ce68c}.temp-elevated{color:#ffd966}.temp-fever{color:#ff8a95}.entry-card-compact:hover{background:#1f2f3e}}
