:root{--bg-primary:#0f1724;--bg-secondary:#1a2332;--bg-card:#1e2a3a;--bg-input:#253347;--text-primary:#e8edf3;--text-secondary:#89a;--text-muted:#5a6b7c;--accent:#4fc3f7;--accent-dark:#0288d1;--success:#66bb6a;--warning:#ffa726;--danger:#ef5350;--severity-0:#4caf50;--severity-1:#ffeb3b;--severity-2:#ff9800;--severity-3:#f44336;--border:#2a3a4a;--shadow:#0000004d;--radius:12px;--radius-sm:8px}*{box-sizing:border-box;margin:0;padding:0}#root,body,html{height:100%;width:100%}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#0f1724;background:var(--bg-primary);color:#e8edf3;color:var(--text-primary);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;overflow-x:hidden}.app{display:flex;flex-direction:column;margin:0 auto;max-width:480px;min-height:100%;position:relative}.page{flex:1 1;padding:16px 16px 80px}.page-title{color:#e8edf3;color:var(--text-primary);font-size:24px;font-weight:700;margin-bottom:20px}.page-subtitle{color:#89a;color:var(--text-secondary);font-size:14px;margin-bottom:16px}.card{background:#1e2a3a;background:var(--bg-card);border:1px solid #2a3a4a;border:1px solid var(--border);border-radius:12px;border-radius:var(--radius);padding:16px}.card,.card-title{margin-bottom:12px}.card-title{color:#89a;color:var(--text-secondary);font-size:14px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.bottom-nav{background:#1a2332;background:var(--bg-secondary);border-top:1px solid #2a3a4a;border-top:1px solid var(--border);bottom:0;display:flex;justify-content:space-around;left:50%;max-width:480px;padding:8px 0;position:fixed;transform:translateX(-50%);width:100%;z-index:100}.nav-item{align-items:center;background:none;border:none;color:#5a6b7c;color:var(--text-muted);cursor:pointer;display:flex;flex-direction:column;font-size:10px;font-weight:500;gap:4px;padding:4px 12px;text-decoration:none;transition:color .2s}.nav-item.active{color:#4fc3f7;color:var(--accent)}.nav-item svg{height:24px;width:24px}.fab{align-items:center;background:#4fc3f7;background:var(--accent);border:none;border-radius:28px;bottom:76px;box-shadow:0 4px 12px #0000004d;box-shadow:0 4px 12px var(--shadow);color:#0f1724;color:var(--bg-primary);cursor:pointer;display:flex;font-size:28px;height:56px;justify-content:center;position:fixed;right:calc(50% - 220px);transition:transform .2s,background .2s;width:56px;z-index:101}.fab:active{background:#0288d1;background:var(--accent-dark);transform:scale(.95)}.btn{align-items:center;border:none;border-radius:8px;border-radius:var(--radius-sm);cursor:pointer;display:inline-flex;font-size:14px;font-weight:600;gap:8px;justify-content:center;padding:12px 24px;transition:all .2s}.btn-primary{background:#4fc3f7;background:var(--accent);color:#0f1724;color:var(--bg-primary)}.btn-primary:active{background:#0288d1;background:var(--accent-dark)}.btn-secondary{background:#253347;background:var(--bg-input);border:1px solid #2a3a4a;border:1px solid var(--border);color:#e8edf3;color:var(--text-primary)}.btn-danger{background:#ef5350;background:var(--danger);color:#fff}.btn-full{width:100%}.btn-sm{font-size:12px;padding:8px 16px}.form-group{margin-bottom:16px}.form-label{color:#89a;color:var(--text-secondary);display:block;font-size:13px;font-weight:600;margin-bottom:6px}.form-input,.form-select,.form-textarea{background:#253347;background:var(--bg-input);border:1px solid #2a3a4a;border:1px solid var(--border);border-radius:8px;border-radius:var(--radius-sm);color:#e8edf3;color:var(--text-primary);font-size:14px;outline:none;padding:10px 14px;transition:border-color .2s;width:100%}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:#4fc3f7;border-color:var(--accent)}.form-select option{background:#253347;background:var(--bg-input);color:#e8edf3;color:var(--text-primary)}.form-textarea{min-height:80px;resize:vertical}.chip-group{display:flex;flex-wrap:wrap;gap:8px}.chip{background:#253347;background:var(--bg-input);border:1px solid #2a3a4a;border:1px solid var(--border);border-radius:20px;color:#89a;color:var(--text-secondary);cursor:pointer;font-size:13px;font-weight:500;padding:6px 14px;transition:all .2s;-webkit-user-select:none;user-select:none}.chip.active{background:#4fc3f7;background:var(--accent);border-color:#4fc3f7;border-color:var(--accent);color:#0f1724;color:var(--bg-primary)}.slider-container{padding:8px 0}.slider{-webkit-appearance:none;background:linear-gradient(90deg,#4caf50,#ffeb3b,#ff9800,#f44336);background:linear-gradient(to right,var(--severity-0),var(--severity-1),var(--severity-2),var(--severity-3));border-radius:4px;height:8px;outline:none;width:100%}.slider::-webkit-slider-thumb{-webkit-appearance:none;background:#fff;border-radius:50%;box-shadow:0 2px 8px #0000004d;box-shadow:0 2px 8px var(--shadow);cursor:pointer;height:28px;width:28px}.slider::-moz-range-thumb{background:#fff;border:none;border-radius:50%;box-shadow:0 2px 8px #0000004d;box-shadow:0 2px 8px var(--shadow);cursor:pointer;height:28px;width:28px}.slider-value{font-size:36px;font-weight:700;margin:8px 0;text-align:center}.slider-labels{color:#5a6b7c;color:var(--text-muted);display:flex;font-size:11px;justify-content:space-between}.severity-selector{display:flex;gap:6px}.severity-btn{background:#253347;background:var(--bg-input);border:1px solid #2a3a4a;border:1px solid var(--border);border-radius:8px;border-radius:var(--radius-sm);color:#89a;color:var(--text-secondary);cursor:pointer;flex:1 1;font-size:11px;font-weight:600;padding:8px;text-align:center;transition:all .2s}.severity-btn.selected-0{background:#4caf50;background:var(--severity-0);border-color:#4caf50;border-color:var(--severity-0);color:#1a1a1a}.severity-btn.selected-1{background:#ffeb3b;background:var(--severity-1);border-color:#ffeb3b;border-color:var(--severity-1);color:#1a1a1a}.severity-btn.selected-2{background:#ff9800;background:var(--severity-2);border-color:#ff9800;border-color:var(--severity-2);color:#1a1a1a}.severity-btn.selected-3{background:#f44336;background:var(--severity-3);border-color:#f44336;border-color:var(--severity-3);color:#fff}.toggle-row{align-items:center;border-bottom:1px solid #2a3a4a;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;padding:10px 0}.toggle-row:last-child{border-bottom:none}.toggle-label{color:#e8edf3;color:var(--text-primary);font-size:14px}.toggle{background:#253347;background:var(--bg-input);border:1px solid #2a3a4a;border:1px solid var(--border);border-radius:12px;cursor:pointer;flex-shrink:0;height:24px;position:relative;transition:background .2s;width:44px}.toggle.on{background:#4fc3f7;background:var(--accent);border-color:#4fc3f7;border-color:var(--accent)}.toggle:after{background:#fff;border-radius:50%;content:"";height:18px;left:2px;position:absolute;top:2px;transition:transform .2s;width:18px}.toggle.on:after{transform:translateX(20px)}.wizard-steps{display:flex;gap:8px;margin-bottom:24px}.wizard-step{background:#2a3a4a;background:var(--border);border-radius:2px;flex:1 1;height:4px}.wizard-step.active{background:#4fc3f7;background:var(--accent)}.wizard-step.completed{background:#66bb6a;background:var(--success)}.wizard-nav{display:flex;gap:12px;margin-top:24px}.wizard-nav .btn{flex:1 1}.heatmap{grid-gap:3px;display:grid;gap:3px;grid-template-columns:repeat(7,1fr)}.heatmap-cell{aspect-ratio:1;background:#253347;background:var(--bg-input);border:none;border-radius:3px;cursor:pointer;position:relative;transition:transform .1s}.heatmap-cell:hover{transform:scale(1.2);z-index:1}.heatmap-cell.level-0{background:#1b3a2a}.heatmap-cell.level-1{background:#2d6a3e}.heatmap-cell.level-2{background:#e6a817}.heatmap-cell.level-3{background:#d35f2d}.heatmap-cell.level-4{background:#c62828}.heatmap-cell.today{box-shadow:0 0 0 2px #4fc3f7;box-shadow:0 0 0 2px var(--accent)}.heatmap-cell.empty{background:#0000;cursor:default}.heatmap-cell.empty:hover{transform:none}.heatmap-header{color:#5a6b7c;color:var(--text-muted);font-size:10px;padding:2px;text-align:center}.streak-badge{align-items:center;background:linear-gradient(135deg,#ff6f00,#ff8f00);border-radius:20px;color:#fff;display:inline-flex;font-size:13px;font-weight:700;gap:6px;padding:6px 14px}.insight-card{background:linear-gradient(135deg,#1e2a3a,#1a2332);background:linear-gradient(135deg,var(--bg-card),var(--bg-secondary));border:1px solid #4fc3f7;border:1px solid var(--accent);border-radius:12px;border-radius:var(--radius);margin-bottom:10px;padding:14px}.insight-card .insight-text{color:#e8edf3;color:var(--text-primary);font-size:13px;line-height:1.5}.score-circle{align-items:center;border:4px solid;border-radius:50%;display:flex;flex-direction:column;height:120px;justify-content:center;margin:0 auto 16px;width:120px}.score-circle .score-value{font-size:36px;font-weight:700}.score-circle .score-label{color:#89a;color:var(--text-secondary);font-size:11px}.tabs{background:#253347;background:var(--bg-input);border-radius:8px;border-radius:var(--radius-sm);display:flex;gap:2px;margin-bottom:16px;padding:2px}.tab{background:#0000;border:none;border-radius:6px;color:#5a6b7c;color:var(--text-muted);cursor:pointer;flex:1 1;font-size:12px;font-weight:600;padding:8px;text-align:center;transition:all .2s}.tab.active{background:#4fc3f7;background:var(--accent);color:#0f1724;color:var(--bg-primary)}.pollen-badge{align-items:center;border-radius:4px;display:inline-flex;font-size:10px;font-weight:700;gap:4px;padding:3px 8px;text-transform:uppercase}.pollen-LOW{background:#1b5e20;color:#a5d6a7}.pollen-MEDIUM{background:#e65100;color:#ffcc80}.pollen-HIGH{background:#b71c1c;color:#ef9a9a}.pollen-VERY_HIGH{background:#4a148c;color:#ce93d8}.loading{align-items:center;color:#5a6b7c;color:var(--text-muted);padding:40px}.loading,.modal-overlay{display:flex;justify-content:center}.modal-overlay{align-items:flex-end;background:#000000b3;bottom:0;left:0;position:fixed;right:0;top:0;z-index:200}.modal-content{background:#1a2332;background:var(--bg-secondary);border-radius:12px 12px 0 0;border-radius:var(--radius) var(--radius) 0 0;max-height:80vh;max-width:480px;overflow-y:auto;padding:24px;width:100%}.modal-title{font-size:18px;font-weight:700;margin-bottom:16px}.empty-state{color:#5a6b7c;color:var(--text-muted);padding:40px 20px;text-align:center}.empty-state h3{color:#89a;color:var(--text-secondary);font-size:18px;margin-bottom:8px}.empty-state p{font-size:13px;line-height:1.5}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:#0000}::-webkit-scrollbar-thumb{background:#2a3a4a;background:var(--border);border-radius:2px}.sync-status{align-items:center;color:#5a6b7c;color:var(--text-muted);display:flex;font-size:12px;gap:6px}.sync-dot{border-radius:50%;height:8px;width:8px}.sync-dot.synced{background:#66bb6a;background:var(--success)}.sync-dot.syncing{animation:pulse 1s infinite;background:#ffa726;background:var(--warning)}.sync-dot.error{background:#ef5350;background:var(--danger)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@media (min-width:481px){.fab{right:calc(50% - 220px)}}@media (max-width:480px){.fab{right:20px}}.number-input{align-items:center;display:flex;gap:8px}.number-input .form-input{text-align:center;width:80px}.section-divider{background:#2a3a4a;background:var(--border);height:1px;margin:16px 0}.show-more-btn{background:none;border:1px dashed #2a3a4a;border:1px dashed var(--border);border-radius:8px;border-radius:var(--radius-sm);color:#4fc3f7;color:var(--accent);cursor:pointer;display:block;font-size:13px;margin-top:8px;padding:8px;text-align:center;width:100%}.calendar-nav{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.calendar-nav button{align-items:center;background:#253347;background:var(--bg-input);border:1px solid #2a3a4a;border:1px solid var(--border);border-radius:50%;color:#e8edf3;color:var(--text-primary);cursor:pointer;display:flex;font-size:18px;height:36px;justify-content:center;width:36px}.calendar-nav .month-label{font-size:16px;font-weight:600}.day-detail{background:#1a2332;background:var(--bg-secondary);border:1px solid #2a3a4a;border:1px solid var(--border);border-radius:12px;border-radius:var(--radius);margin-top:8px;padding:12px}.day-detail .day-date{font-size:14px;font-weight:600;margin-bottom:8px}.day-detail .day-score{font-size:24px;font-weight:700;margin-bottom:4px}.day-detail .day-symptoms{color:#89a;color:var(--text-secondary);font-size:12px}
/*# sourceMappingURL=main.9ad70ef3.css.map*/