:root{--accent: #2d7a3a;--accent-hover: #1f5c2a;--accent-dim: rgba(45, 122, 58, .1);--bg: #f4f6f4;--surface: #ffffff;--border: #dde5dd;--text: #1a2e1a;--text-muted: #5a6e5a;--nav-h: 60px;--radius: 10px;--shadow: 0 1px 4px rgba(0,0,0,.08), 0 4px 16px rgba(0,0,0,.06)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}#app{min-height:100vh;display:flex;flex-direction:column;background:var(--bg);color:var(--text);font-family:Inter,system-ui,sans-serif}.navbar{height:var(--nav-h);background:var(--surface);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:100}.nav-inner{max-width:1200px;margin:0 auto;padding:0 2rem;height:100%;display:flex;align-items:center;justify-content:space-between}.nav-brand{display:flex;align-items:center;gap:.5rem;text-decoration:none;color:var(--accent);font-weight:700;font-size:1.1rem;letter-spacing:-.01em}.nav-links{display:flex;gap:.25rem}.nav-link{text-decoration:none;color:var(--text-muted);font-size:.9rem;font-weight:500;padding:.4rem .85rem;border-radius:6px;transition:color .15s,background .15s}.nav-link:hover{color:var(--text);background:var(--bg)}.nav-link.active{color:var(--accent);background:var(--accent-dim);font-weight:600}.main-content{flex:1;max-width:1200px;width:100%;margin:0 auto;padding:2.5rem 2rem}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:2rem;box-shadow:var(--shadow)}.btn{display:inline-flex;align-items:center;gap:.4rem;padding:.55rem 1.2rem;border:none;border-radius:7px;cursor:pointer;font-weight:500;font-size:.875rem;font-family:inherit;text-decoration:none;transition:background .15s,transform .1s;white-space:nowrap}.btn:active{transform:scale(.98)}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent-hover)}.btn-success{background:#2d7a3a;color:#fff}.btn-success:hover{background:#1f5c2a}.btn-secondary{background:var(--bg);color:var(--text);border:1px solid var(--border)}.btn-secondary:hover{background:var(--border)}.btn-danger{background:#c0392b;color:#fff}.btn-danger:hover{background:#922b21}.form-group{margin-bottom:1.25rem}.form-label{display:block;margin-bottom:.4rem;font-weight:500;font-size:.875rem;color:var(--text-muted)}.form-control{width:100%;padding:.6rem .85rem;border:1px solid var(--border);border-radius:7px;font-size:.9rem;font-family:inherit;color:var(--text);background:var(--surface);transition:border-color .15s,box-shadow .15s}.form-control:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-dim)}.loading{display:flex;flex-direction:column;align-items:center;gap:.75rem;padding:4rem 2rem;color:var(--text-muted);font-size:.9rem}.spinner{width:32px;height:32px;border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.error{background:#fdf2f2;color:#922b21;padding:1rem 1.25rem;border-radius:var(--radius);border:1px solid #f5c6cb;font-size:.9rem}@media (max-width: 680px){.nav-inner{padding:0 1rem}.nav-link{font-size:.82rem;padding:.4rem .65rem}.main-content{padding:1.25rem .75rem}}.chart-container[data-v-f4d13b95]{background:white;border-radius:8px;padding:2rem;margin:1rem 0;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif}.chart-title[data-v-f4d13b95]{text-align:center;font-size:1.5rem;font-weight:700;color:#333;margin-bottom:2rem}.species-chart[data-v-f4d13b95]{margin-bottom:2rem;border:1px solid #e9ecef;border-radius:6px;overflow:hidden}.species-header[data-v-f4d13b95]{background:#f8f9fa;padding:1rem 1.5rem;border-bottom:1px solid #e9ecef;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}.species-info[data-v-f4d13b95]{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.species-name[data-v-f4d13b95]{margin:0;color:#333;font-size:1.1rem;font-weight:600}.species-status[data-v-f4d13b95]{background:#007bff;color:#fff;padding:.25rem .75rem;border-radius:20px;font-size:.8rem;font-weight:500}.watchlist-btn[data-v-f4d13b95]{padding:.5rem 1rem;border:2px solid #6c757d;background:white;color:#6c757d;border-radius:8px;cursor:pointer;font-size:.9rem;font-weight:500;transition:all .3s ease;display:flex;align-items:center;gap:.25rem}.watchlist-btn[data-v-f4d13b95]:hover{background:#f8f9fa;transform:translateY(-1px)}.watchlist-btn.active[data-v-f4d13b95]{background:#ffc107;border-color:#ffc107;color:#000}.watchlist-btn.active[data-v-f4d13b95]:hover{background:#ffb300;border-color:#ffb300}.timeline-row[data-v-f4d13b95]{display:flex;align-items:stretch;min-height:72px;border-bottom:1px solid #f0f0f0}.timeline-row[data-v-f4d13b95]:last-child{border-bottom:none}.timeline-label[data-v-f4d13b95]{width:220px;padding:1rem 1.5rem;font-weight:500;color:#495057;background:#f8f9fa;border-right:1px solid #e9ecef;font-size:.9rem;align-self:stretch;display:flex;align-items:center}.timeline-content[data-v-f4d13b95]{flex:1;display:flex;flex-direction:column;position:relative}.mobile-label[data-v-f4d13b95]{display:none;padding:.5rem 1rem;font-weight:600;color:#495057;background:#f8f9fa;border-bottom:1px solid #e9ecef;font-size:.9rem}.timeline-months[data-v-f4d13b95]{display:flex;flex:1;height:100%;position:relative}.month-container[data-v-f4d13b95]{flex:1;display:flex;flex-direction:column;border-right:1px solid #e9ecef;transition:all .3s ease}.month-container[data-v-f4d13b95]:last-child{border-right:none}.month-header[data-v-f4d13b95]{background:#f8f9fa;border-bottom:1px solid #e9ecef;padding:.25rem;text-align:center;font-size:.7rem;font-weight:600;color:#495057;min-height:20px}.month-subcells[data-v-f4d13b95]{display:flex;flex:1}.subcell[data-v-f4d13b95]{flex:1;display:flex;align-items:center;justify-content:center;border-right:1px solid #dee2e6;font-size:.6rem;font-weight:600;position:relative;transition:all .3s ease;flex-direction:column;padding:.1rem}.subcell[data-v-f4d13b95]:last-child{border-right:none}.subcell.active[data-v-f4d13b95]{color:#fff;font-weight:600}.plumage-subcell[data-v-f4d13b95]{padding:.15rem}.subcell-label[data-v-f4d13b95]{font-weight:600;line-height:1}.plumage-indicator[data-v-f4d13b95]{font-size:.6rem;font-weight:700;margin-top:2px}.plumage-indicator.breeding[data-v-f4d13b95]{color:#004085}.plumage-indicator.plain[data-v-f4d13b95]{color:#383d41}.color-legend[data-v-f4d13b95]{display:flex;justify-content:center;gap:3rem;margin-top:2rem;padding-top:1rem;border-top:1px solid #e9ecef;flex-wrap:wrap}.legend-section[data-v-f4d13b95]{display:flex;flex-direction:column;align-items:center;gap:.5rem}.legend-section h4[data-v-f4d13b95]{margin:0;font-size:.9rem;font-weight:600;color:#495057}.legend-items[data-v-f4d13b95]{display:flex;flex-direction:column;gap:.3rem}.legend-item[data-v-f4d13b95]{display:flex;align-items:center;gap:.5rem;font-size:.8rem}.legend-color[data-v-f4d13b95]{width:20px;height:15px;border:1px solid #333;border-radius:3px}.legend-color.presence[data-v-f4d13b95]{background-color:#4daf4a}.legend-color.presence-light[data-v-f4d13b95]{background-color:#a8d5a8}.legend-color.transit-peak[data-v-f4d13b95]{background-color:orange}.legend-color.transit-peak-nebenzeit[data-v-f4d13b95]{background-color:gold}.legend-color.transitMax[data-v-f4d13b95]{background-color:#c30000}.legend-color.transit-combined[data-v-f4d13b95]{background:linear-gradient(135deg,#ffa500 0%,#ffa500 50%,#c30000 50%,#c30000 100%)}.legend-color.breeding-season[data-v-f4d13b95]{background-color:#8b4513}.legend-color.breeding-season-nebenzeit[data-v-f4d13b95]{background-color:tan}.legend-color.first-young-birds[data-v-f4d13b95]{background-color:#ffb6c1}.legend-color.breeding-young-combined[data-v-f4d13b95]{background:linear-gradient(135deg,#8b4513 0%,#8b4513 50%,#ffb6c1 50%,#ffb6c1 100%)}.legend-color.breeding[data-v-f4d13b95]{background-color:#6495ed}.legend-color.breeding-light[data-v-f4d13b95]{background-color:#87ceeb}.legend-color.plain[data-v-f4d13b95]{background-color:gray}.legend-color.plain-light[data-v-f4d13b95]{background-color:#d3d3d3}.legend-color.plumage-nebenzeit-combined[data-v-f4d13b95]{background:linear-gradient(135deg,#87ceeb 0%,#87ceeb 50%,#d3d3d3 50%,#d3d3d3 100%)}.legend-letter[data-v-f4d13b95]{width:20px;height:15px;border:1px solid #333;border-radius:3px;display:flex;align-items:center;justify-content:center;font-size:.6rem;font-weight:600;background-color:#f8f9fa;color:#495057}.today-indicator-inline[data-v-f4d13b95]{position:absolute;top:0;bottom:0;left:50%;width:2px;background-color:red;z-index:10;pointer-events:none;transform:translate(-50%)}@media (max-width: 768px){.chart-container[data-v-f4d13b95]{padding:0rem;overflow-x:auto}.species-header[data-v-f4d13b95]{flex-direction:column;gap:.5rem;align-items:flex-start}.timeline-row[data-v-f4d13b95]{flex-direction:column;min-height:auto}.timeline-label[data-v-f4d13b95]{display:none}.mobile-label[data-v-f4d13b95]{display:block}.timeline-content[data-v-f4d13b95]{width:100%}.timeline-months[data-v-f4d13b95]{overflow-x:auto;min-width:100%}.month-container[data-v-f4d13b95]{min-width:60px;flex-shrink:0}.month-header[data-v-f4d13b95]{font-size:.6rem;padding:.2rem;min-height:18px}.subcell[data-v-f4d13b95]{height:45px;font-size:.65rem}.plumage-subcell[data-v-f4d13b95]{height:45px}.color-legend[data-v-f4d13b95]{gap:2rem;flex-direction:column}.legend-section[data-v-f4d13b95]{align-items:flex-start}.legend-items[data-v-f4d13b95]{flex-direction:row;flex-wrap:wrap;gap:.5rem}}@media (max-width: 480px){.month-container[data-v-f4d13b95]{min-width:70px}.month-header[data-v-f4d13b95]{font-size:.55rem;padding:.15rem;min-height:16px}.subcell[data-v-f4d13b95]{height:45px;font-size:.6rem}.plumage-subcell[data-v-f4d13b95]{height:45px}.mobile-label[data-v-f4d13b95]{font-size:.8rem;padding:.4rem 1rem}.color-legend[data-v-f4d13b95]{gap:1.5rem}.legend-section h4[data-v-f4d13b95]{font-size:.8rem}.legend-item[data-v-f4d13b95]{font-size:.7rem}}.legend-toggle-bar[data-v-f4d13b95]{position:fixed;bottom:1.5rem;right:1.5rem;z-index:199}.legend-toggle-btn[data-v-f4d13b95]{display:inline-flex;align-items:center;gap:.4rem;padding:0 1.1rem;height:44px;border:none;border-radius:22px;background:var(--accent);font-size:.875rem;font-weight:500;color:#fff;font-family:inherit;cursor:pointer;box-shadow:0 4px 12px #0003;transition:background .15s,transform .15s,box-shadow .15s}.legend-toggle-btn[data-v-f4d13b95]:hover{background:var(--accent-hover);box-shadow:0 6px 18px #00000040;transform:scale(1.08)}.legend-toggle-btn[data-v-f4d13b95]:active{transform:scale(.95)}.legend-backdrop[data-v-f4d13b95]{position:fixed;top:0;right:0;bottom:0;left:0;background:rgba(0,0,0,.35);z-index:200}.legend-backdrop-enter-active[data-v-f4d13b95],.legend-backdrop-leave-active[data-v-f4d13b95]{transition:opacity .25s ease}.legend-backdrop-enter-from[data-v-f4d13b95],.legend-backdrop-leave-to[data-v-f4d13b95]{opacity:0}.legend-sheet[data-v-f4d13b95]{position:fixed;bottom:0;left:0;right:0;z-index:201;background:var(--surface);border-top:1px solid var(--border);border-radius:14px 14px 0 0;box-shadow:0 -4px 24px #0000001f;max-height:75vh;overflow-y:auto}.legend-sheet-enter-active[data-v-f4d13b95],.legend-sheet-leave-active[data-v-f4d13b95]{transition:transform .3s cubic-bezier(.32,.72,0,1)}.legend-sheet-enter-from[data-v-f4d13b95],.legend-sheet-leave-to[data-v-f4d13b95]{transform:translateY(100%)}.legend-sheet-header[data-v-f4d13b95]{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem .75rem;border-bottom:1px solid var(--border);position:sticky;top:0;background:var(--surface);z-index:1}.legend-sheet-title[data-v-f4d13b95]{font-weight:600;font-size:1rem;color:var(--text)}.legend-close-btn[data-v-f4d13b95]{border:none;background:none;font-size:1rem;color:var(--text-muted);cursor:pointer;padding:.25rem .5rem;border-radius:6px;line-height:1}.legend-close-btn[data-v-f4d13b95]:hover{background:var(--bg);color:var(--text)}.legend-sheet-body[data-v-f4d13b95]{padding:1.25rem}.legend-sheet-body .color-legend[data-v-f4d13b95]{justify-content:flex-start}.dashboard-page[data-v-d2a84ada]{display:flex;flex-direction:column;gap:2rem}.page-header h1[data-v-d2a84ada]{font-size:1.75rem;font-weight:700;letter-spacing:-.02em;color:var(--text)}.page-header p[data-v-d2a84ada]{margin-top:.35rem;color:var(--text-muted);font-size:.95rem}.empty-state[data-v-d2a84ada]{display:flex;flex-direction:column;align-items:center;text-align:center;gap:1rem;padding:4rem 2rem}.empty-icon[data-v-d2a84ada]{color:var(--border)}.empty-state h2[data-v-d2a84ada]{font-size:1.2rem;font-weight:600;color:var(--text)}.empty-state p[data-v-d2a84ada]{color:var(--text-muted);font-size:.9rem;max-width:400px;line-height:1.6}.chart-card[data-v-d2a84ada]{overflow:hidden}.chart-header[data-v-d2a84ada]{display:flex;align-items:center;justify-content:space-between;margin-bottom:2rem;gap:1rem;flex-wrap:wrap}.chart-header h2[data-v-d2a84ada]{font-size:1.1rem;font-weight:600;color:var(--text)}.chart-sub[data-v-d2a84ada]{margin-top:.2rem;font-size:.85rem;color:var(--text-muted)}@media (max-width: 680px){.chart-card[data-v-d2a84ada]{padding:1.25rem .25rem 0}.chart-header[data-v-d2a84ada]{padding:0 .5rem 1.25rem}}.overview-page[data-v-723d65af]{display:flex;flex-direction:column;gap:2rem}.page-header h1[data-v-723d65af]{font-size:1.75rem;font-weight:700;letter-spacing:-.02em;color:var(--text)}.page-header p[data-v-723d65af]{margin-top:.35rem;color:var(--text-muted);font-size:.95rem}.chart-card[data-v-723d65af]{overflow:hidden}.chart-header[data-v-723d65af]{display:flex;align-items:center;justify-content:space-between;margin-bottom:2rem;gap:1rem;flex-wrap:wrap}.chart-header h2[data-v-723d65af]{font-size:1.1rem;font-weight:600;color:var(--text)}.chart-sub[data-v-723d65af]{margin-top:.2rem;font-size:.85rem;color:var(--text-muted)}@media (max-width: 680px){.chart-card[data-v-723d65af]{padding:1.25rem .25rem 0}.chart-header[data-v-723d65af]{padding:0 .5rem 1.25rem}}.data-entry-page[data-v-baf8da52]{display:flex;flex-direction:column;gap:1.5rem}.page-header h1[data-v-baf8da52]{font-size:1.75rem;font-weight:700;letter-spacing:-.02em;color:var(--text)}.page-description[data-v-baf8da52]{margin-top:.35rem;font-size:.95rem;color:var(--text-muted)}.action-buttons[data-v-baf8da52]{display:flex;gap:.75rem;flex-wrap:wrap}.success[data-v-baf8da52]{background:#edf7ee;color:#1f5c2a;padding:.85rem 1.1rem;border-radius:var(--radius);border:1px solid #b7e0bb;font-size:.875rem}.modal-overlay[data-v-baf8da52]{position:fixed;top:0;right:0;bottom:0;left:0;background:rgba(0,0,0,.45);display:flex;justify-content:center;align-items:center;z-index:1000;padding:1rem;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.modal-content[data-v-baf8da52]{background:var(--surface);border:1px solid var(--border);border-radius:12px;width:100%;max-width:620px;max-height:90vh;overflow-y:auto;box-shadow:0 8px 40px #0000002e}.modal-header[data-v-baf8da52]{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;border-bottom:1px solid var(--border);position:sticky;top:0;background:var(--surface);z-index:1}.modal-header h2[data-v-baf8da52]{margin:0;font-size:1.05rem;font-weight:600;color:var(--text)}.close-btn[data-v-baf8da52]{background:none;border:none;font-size:1.4rem;line-height:1;cursor:pointer;color:var(--text-muted);padding:.2rem .4rem;border-radius:4px;transition:color .15s,background .15s}.close-btn[data-v-baf8da52]:hover{color:var(--text);background:var(--bg)}.species-form[data-v-baf8da52]{padding:1.5rem}.form-section[data-v-baf8da52]{margin-bottom:1.5rem;padding:1rem 1.1rem;border:1px solid var(--border);border-radius:8px;background:var(--bg)}.section-title[data-v-baf8da52]{margin:0 0 .75rem;color:var(--text);font-size:.875rem;font-weight:600;border-bottom:1px solid var(--border);padding-bottom:.5rem}.form-text[data-v-baf8da52]{color:var(--text-muted);font-size:.8rem;margin:.2rem 0 .75rem}.transit-peak-item[data-v-baf8da52]{background:var(--surface);padding:1rem;border-radius:7px;margin-bottom:.75rem;border:1px solid var(--border)}.transit-peak-header[data-v-baf8da52]{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem;padding-bottom:.5rem;border-bottom:1px solid var(--border);font-size:.875rem;font-weight:600;color:var(--text)}.btn-remove[data-v-baf8da52]{background:none;color:#c0392b;border:1px solid #f5c6cb;padding:.25rem .65rem;border-radius:5px;cursor:pointer;font-size:.78rem;font-family:inherit;transition:background .15s}.btn-remove[data-v-baf8da52]:hover{background:#fdf2f2}.btn-add-peak[data-v-baf8da52]{width:100%;margin-top:.75rem}.form-row[data-v-baf8da52]{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.75rem}.form-actions[data-v-baf8da52]{display:flex;gap:.75rem;justify-content:flex-end;margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--border)}.species-list.card[data-v-baf8da52]{overflow:hidden}.species-list h2[data-v-baf8da52]{font-size:1rem;font-weight:600;color:var(--text);margin-bottom:1.25rem}.empty-state[data-v-baf8da52]{text-align:center;padding:3rem 1rem;color:var(--text-muted);font-size:.9rem}.species-table-container[data-v-baf8da52]{overflow-x:auto}.species-table[data-v-baf8da52]{width:100%;border-collapse:collapse;font-size:.875rem}.species-table th[data-v-baf8da52],.species-table td[data-v-baf8da52]{padding:.75rem 1rem;text-align:left;border-bottom:1px solid var(--border)}.species-table th[data-v-baf8da52]{background:var(--bg);font-weight:600;font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted)}.species-row:hover td[data-v-baf8da52]{background:var(--bg)}.species-name[data-v-baf8da52]{font-weight:500;color:var(--text);max-width:250px}.species-status[data-v-baf8da52]{color:var(--text-muted);font-size:.82rem}.actions[data-v-baf8da52]{display:flex;gap:.3rem}.btn-icon[data-v-baf8da52]{background:none;border:none;font-size:1rem;cursor:pointer;padding:.35rem .45rem;border-radius:5px;transition:background .15s;line-height:1}.btn-icon[data-v-baf8da52]:hover{background:var(--bg)}.btn-icon.edit[data-v-baf8da52]:hover{background:#fef9e7}.btn-icon.view[data-v-baf8da52]:hover{background:#eaf4fb}.btn-icon.delete[data-v-baf8da52]:hover{background:#fdf2f2}@media (max-width: 680px){.form-row[data-v-baf8da52]{grid-template-columns:1fr 1fr}.form-actions[data-v-baf8da52]{flex-direction:column-reverse}.species-table th[data-v-baf8da52],.species-table td[data-v-baf8da52]{padding:.5rem}.species-name[data-v-baf8da52]{max-width:150px;font-size:.82rem}}@media (max-width: 480px){.form-row[data-v-baf8da52]{grid-template-columns:1fr}.actions[data-v-baf8da52]{flex-direction:column}}
