:root{--wine:#7a1f3d;--cream:#f5efe6;--bg:#fbf7f0;--text:#2b2126;--text-muted:#7d6f75;color:var(--text);background-color:var(--bg);-webkit-font-smoothing:antialiased;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}body{min-height:100dvh;margin:0}.passwort-feld{display:block;position:relative}.passwort-feld input{box-sizing:border-box;width:100%;padding-right:2.6rem}.passwort-feld .passwort-auge{cursor:pointer;background:0 0;border:none;margin:0;padding:.25rem;font-size:1.1rem;line-height:1;position:absolute;top:50%;right:.4rem;transform:translateY(-50%)}.login{justify-content:center;align-items:center;min-height:100dvh;padding:1.25rem;display:flex}.login-box{width:100%;max-width:22rem}.login-box h1{color:var(--wine);text-align:center;margin:0 0 .25rem}.login-untertitel{text-align:center;color:var(--text-muted);margin:0 0 2rem}.login-box form{flex-direction:column;gap:1rem;display:flex}.login-box label{color:var(--text-muted);flex-direction:column;gap:.35rem;font-size:.9rem;display:flex}.login-box input{color:var(--text);background:#fff;border:1px solid #d9cfc4;border-radius:.5rem;padding:.7rem .8rem;font-size:1rem}.login-box input:focus{outline:2px solid var(--wine);border-color:var(--wine)}.login-box button{background:var(--wine);color:var(--cream);cursor:pointer;border:none;border-radius:.5rem;margin-top:.5rem;padding:.8rem;font-size:1rem;font-weight:600}.login-box button:disabled{opacity:.6}.login-fehler{color:#b00020;margin:0;font-size:.9rem}.erfassen{flex-direction:column;min-height:100dvh;display:flex}.zurueck-button{color:var(--cream);cursor:pointer;background:0 0;border:1px solid #f5efe680;border-radius:.4rem;padding:.35rem .7rem;font-size:.85rem}.header-platzhalter{width:4.5rem}.erfassen .app-header h1{font-size:1.1rem}.erfassen-form{padding:1.25rem 1.25rem calc(env(safe-area-inset-bottom) + 1.25rem);flex-direction:column;flex:1;gap:.9rem;width:100%;max-width:28rem;margin:0 auto;display:flex}.erfassen-form label{color:var(--text-muted);flex-direction:column;gap:.35rem;font-size:.9rem;display:flex}.erfassen-form input,.erfassen-form select,.erfassen-form textarea{color:var(--text);background:#fff;border:1px solid #d9cfc4;border-radius:.5rem;width:100%;padding:.7rem .8rem;font-family:inherit;font-size:1rem}.erfassen-form input:focus,.erfassen-form select:focus,.erfassen-form textarea:focus{outline:2px solid var(--wine);border-color:var(--wine)}.feld-reihe{gap:.75rem;display:flex}.feld-reihe>label{flex:1;min-width:0}.feld-paar{gap:.4rem;display:flex}.foto-bereich{background:#fbf8f3;border:1px dashed #d9cfc4;border-radius:.75rem;flex-direction:column;align-items:center;gap:.5rem;padding:.9rem;display:flex}.foto-galerie{flex-wrap:wrap;justify-content:center;gap:.6rem;margin:0;padding:0;list-style:none;display:flex}.foto-galerie li{flex-direction:column;align-items:center;gap:.2rem;width:5.2rem;display:flex;position:relative}.foto-galerie img{object-fit:cover;border:1px solid #d9cfc4;border-radius:.5rem;width:5.2rem;height:5.2rem}.foto-galerie span{color:var(--text-muted);text-align:center;font-size:.65rem}.foto-galerie .foto-ohne-vorschau{background:#f4ede3;border:1px solid #d9cfc4;border-radius:.5rem;justify-content:center;align-items:center;width:5.2rem;height:5.2rem;font-size:1.6rem;display:flex}.foto-loeschen{background:var(--wine);width:1.4rem;height:1.4rem;color:var(--cream);cursor:pointer;border:none;border-radius:50%;font-size:.75rem;line-height:1;position:absolute;top:-.4rem;right:-.4rem}.foto-knoepfe{grid-template-columns:1fr 1fr;gap:.5rem;width:100%;display:grid}.foto-knopf{background:var(--wine);color:var(--cream);cursor:pointer;text-align:center;border-radius:.5rem;padding:.65rem .5rem;font-size:.9rem;font-weight:600;display:inline-block}.foto-knopf.gesperrt{opacity:.5;cursor:default}.foto-knopf input{display:none}.foto-zoom{cursor:zoom-in;background:0 0;border:none;padding:0;display:block}.foto-overlay{z-index:20;background:#2b2126cc;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.foto-overlay-inhalt{background:var(--bg);border-radius:.75rem;flex-direction:column;align-items:center;gap:.75rem;max-width:min(34rem,100%);max-height:100%;padding:1rem;display:flex;overflow:auto}.foto-overlay-inhalt img{object-fit:contain;border-radius:.5rem;max-width:100%;max-height:60dvh}.foto-art-frage{color:var(--text-muted);margin:0;font-size:.9rem}.foto-art-wahl{flex-wrap:wrap;justify-content:center;gap:.5rem;display:flex}.foto-art-wahl button{color:var(--wine);border:1px solid var(--wine);cursor:pointer;background:0 0;border-radius:999px;padding:.45rem .8rem;font-size:.85rem}.foto-art-wahl button.aktiv{background:var(--wine);color:var(--cream)}.foto-overlay-aktionen{gap:.6rem;display:flex}.foto-overlay-aktionen button{background:var(--wine);color:var(--cream);cursor:pointer;border:none;border-radius:.5rem;padding:.6rem 1rem;font-size:.9rem;font-weight:600}.foto-overlay-aktionen button.sekundaer{color:var(--wine);border:1px solid var(--wine);background:0 0;font-weight:500}.voriger-wein-knopf{color:var(--wine);border:1px solid var(--wine);cursor:pointer;background:0 0;border-radius:.5rem;padding:.5rem .9rem;font-size:.85rem}.voriger-wein-knopf:disabled{opacity:.5}.foto-tipp,.foto-status,.foto-hinweis{color:var(--text-muted);text-align:center;margin:0;font-size:.8rem}.foto-status{color:var(--wine);font-weight:600}.foto-hinweis{color:#9a6a00}.name-feld{position:relative}.wein-vorschlaege{z-index:5;background:#fff;border:1px solid #d9cfc4;border-radius:.5rem;margin:.25rem 0 0;padding:0;list-style:none;position:absolute;top:100%;left:0;right:0;overflow:hidden;box-shadow:0 4px 14px #2b21262e}.wein-vorschlaege button{text-align:left;width:100%;color:var(--text);cursor:pointer;background:0 0;border:none;border-bottom:1px solid #efe8df;flex-direction:column;gap:.1rem;padding:.6rem .8rem;font-size:.95rem;display:flex}.wein-vorschlaege li:last-child button{border-bottom:none}.wein-vorschlaege button:hover,.wein-vorschlaege button:focus{background:#f7f2ea}.wein-vorschlaege span{color:var(--text-muted);font-size:.8rem}.vorschlag-hinweis{color:var(--wine);margin:-.4rem 0 0;font-size:.8rem}.erfassen-details summary{color:var(--wine);cursor:pointer;padding:.25rem 0;font-size:.9rem}.erfassen-details-felder{flex-direction:column;gap:.9rem;margin-top:.75rem;display:flex}.speichern-button{background:var(--wine);color:var(--cream);cursor:pointer;border:none;border-radius:.5rem;margin-top:.5rem;padding:.9rem;font-size:1.05rem;font-weight:600}.speichern-button:disabled{opacity:.6}.erfassen-fehler{color:#b00020;margin:0;font-size:.9rem}.duplikat-overlay{z-index:10;background:#2b21268c;justify-content:center;align-items:center;padding:1.25rem;display:flex;position:fixed;inset:0}.duplikat-box{background:var(--bg);border-radius:.75rem;flex-direction:column;gap:.6rem;width:100%;max-width:24rem;padding:1.25rem;display:flex}.duplikat-box h2{color:var(--wine);margin:0;font-size:1.1rem}.duplikat-box p{margin:0 0 .5rem;line-height:1.5}.duplikat-box button{background:var(--wine);color:var(--cream);cursor:pointer;border:none;border-radius:.5rem;padding:.75rem;font-size:.95rem;font-weight:600}.duplikat-box button.sekundaer{color:var(--wine);border:1px solid var(--wine);background:0 0;font-weight:500}.duplikat-box button:disabled{opacity:.6}.bestand{flex-direction:column;gap:.75rem;padding-bottom:5rem;display:flex}.bestand-laedt{color:var(--text-muted);text-align:center;margin-top:4rem}.bestand-filter{gap:.6rem;display:flex}.bestand-filter input{min-width:0;color:var(--text);background:#fff;border:1px solid #d9cfc4;border-radius:.5rem;flex:1;padding:.6rem .8rem;font-size:1rem}.bestand-filter select{color:var(--text);background:#fff;border:1px solid #d9cfc4;border-radius:.5rem;max-width:9rem;padding:.6rem .5rem;font-size:.95rem}.bestand-filter input:focus,.bestand-filter select:focus{outline:2px solid var(--wine);border-color:var(--wine)}.bestand-summe{color:var(--text-muted);margin:0;font-size:.85rem}.bestand-liste{flex-direction:column;gap:.6rem;margin:0;padding:0;list-style:none;display:flex}.bestand-zeile{background:#fff;border:1px solid #ece3d8;border-radius:.75rem;align-items:center;gap:.75rem;padding:.8rem .9rem;display:flex}.bestand-bild{background:#f4ede3;border:1px solid #ece3d8;border-radius:.5rem;flex-shrink:0;justify-content:center;align-items:center;width:3.2rem;height:3.2rem;font-size:1.3rem;display:flex;position:relative;overflow:hidden}.bestand-bild img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.bestand-info{cursor:pointer;flex:1;min-width:0}.bestand-bild{cursor:pointer}.bestand-info p{margin:0}.fenster-chip{border-radius:999px;margin-top:.15rem;padding:.15rem .55rem;font-size:.72rem;font-weight:600;display:inline-block}.fenster-zu_jung{color:#2b5b8a;background:#e3ecf6}.fenster-im_fenster{color:#1e6b3a;background:#e6f4ea}.fenster-bald_trinken{color:#8a6d00;background:#fff3cd}.fenster-ueber_fenster{color:#a12020;background:#fde3e3}.bestand-name{align-items:center;gap:.45rem;font-weight:600;display:flex}.typ-punkt{border-radius:50%;flex-shrink:0;width:.7rem;height:.7rem}.bestand-details,.bestand-lagerort{color:var(--text-muted);margin-top:.15rem;font-size:.85rem}.bestand-menge{align-items:center;gap:.5rem;display:flex}.bestand-menge span{text-align:center;min-width:1.4rem;font-size:1.05rem;font-weight:600}.bestand-menge button{border:1px solid var(--wine);width:2.2rem;height:2.2rem;color:var(--wine);cursor:pointer;background:#fff;border-radius:50%;font-size:1.3rem;line-height:1}.bestand-menge button:disabled{opacity:.5}.bestand-fehler{color:#b00020;margin:0;font-size:.9rem}.abgang-overlay{z-index:10;background:#2b21268c;justify-content:center;align-items:center;padding:1.25rem;display:flex;position:fixed;inset:0}.abgang-box{background:var(--bg);border-radius:.75rem;flex-direction:column;gap:.6rem;width:100%;max-width:24rem;padding:1.25rem;display:flex}.abgang-box h2{color:var(--wine);margin:0;font-size:1.1rem}.abgang-box p{margin:0 0 .5rem;line-height:1.5}.abgang-box button{background:var(--wine);color:var(--cream);cursor:pointer;border:none;border-radius:.5rem;padding:.75rem;font-size:.95rem;font-weight:600}.abgang-box button.sekundaer{color:var(--wine);border:1px solid var(--wine);background:0 0;font-weight:500}.abgang-box button:disabled{opacity:.6}.detail{flex-direction:column;min-height:100dvh;display:flex}.detail .app-header h1{align-items:center;gap:.45rem;min-width:0;font-size:1.1rem;display:flex}.detail-inhalt{padding:1.25rem 1.25rem calc(env(safe-area-inset-bottom) + 1.25rem);flex-direction:column;flex:1;gap:1.1rem;width:100%;max-width:34rem;margin:0 auto;display:flex}.detail-laedt,.detail-fehler{color:var(--text-muted);margin:0}.detail-fehler{color:#b00020}.detail-fotos{gap:.6rem;margin:0;padding:.2rem 0;list-style:none;display:flex;overflow-x:auto}.detail-fotos li{flex-direction:column;flex-shrink:0;align-items:center;gap:.2rem;display:flex}.detail-fotos img,.detail-fotos .foto-ohne-vorschau{object-fit:cover;border:1px solid #d9cfc4;border-radius:.5rem;width:6.5rem;height:6.5rem}.detail-foto-label{color:var(--text-muted);font-size:.65rem}.detail-daten{flex-direction:column;gap:.55rem;margin:0;display:flex}.detail-daten dt{color:var(--text-muted);font-size:.75rem}.detail-daten dd{margin:0;font-size:.98rem}.detail-daten dd.leer{color:var(--text-muted)}.detail-jahrgang-info{color:var(--text-muted);margin:0 0 .4rem;font-size:.85rem}.detail-jahrgang h2{color:var(--wine);margin:0 0 .4rem;font-size:.95rem}.detail-posten{flex-direction:column;gap:.35rem;margin:0;padding:0;list-style:none;display:flex}.detail-posten li{background:#fff;border:1px solid #ece3d8;border-radius:.6rem;padding:.6rem .8rem;font-size:.9rem}.detail-kein-bestand{color:var(--text-muted);margin:0;font-size:.85rem}.detail-notizen{flex-direction:column;gap:.5rem;margin-top:.5rem;display:flex}.detail-notizen ul{flex-direction:column;gap:.4rem;margin:0;padding:0;list-style:none;display:flex}.detail-notizen li{background:#fbf7f0;border:1px solid #ece3d8;border-radius:.6rem;padding:.55rem .8rem}.notiz-kopf{color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:.45rem;margin:0;font-size:.8rem;display:flex}.notiz-sterne{color:#b8860b;font-size:.95rem}.notiz-sterne-zahl{color:var(--text-muted);font-size:.75rem;font-weight:400}.notiz-loeschen{color:#a12020;cursor:pointer;background:0 0;border:none;margin-left:auto;padding:.1rem .3rem;font-size:.75rem}.notiz-text{white-space:pre-wrap;margin:.3rem 0 0;font-size:.92rem}.notiz-neu-knopf{color:var(--wine);border:1px solid var(--wine);cursor:pointer;background:0 0;border-radius:.5rem;align-self:flex-start;padding:.5rem .9rem;font-size:.85rem}.notiz-form{border:1px solid #e2d8cb;border-radius:.6rem;flex-direction:column;gap:.7rem;padding:.8rem;display:flex}.notiz-form label{color:var(--text-muted);flex-direction:column;gap:.35rem;font-size:.85rem;display:flex}.notiz-form input,.notiz-form select,.notiz-form textarea{color:var(--text);background:#fff;border:1px solid #d9cfc4;border-radius:.5rem;width:100%;padding:.6rem .7rem;font-family:inherit;font-size:1rem}.notiz-form .feld-reihe{gap:.6rem;display:flex}.notiz-form .feld-reihe>label{flex:1;min-width:0}.recherche-knopf{color:var(--wine);border:1px solid var(--wine);cursor:pointer;background:0 0;border-radius:.5rem;align-self:flex-start;padding:.5rem .9rem;font-size:.85rem}.recherche-knopf:disabled{opacity:.6}.recherche-overlay-inhalt{background:var(--bg);border-radius:.75rem;flex-direction:column;gap:.7rem;width:100%;max-width:min(34rem,100%);max-height:100%;padding:1.1rem;display:flex;overflow:auto}.recherche-overlay-inhalt h2{color:var(--wine);margin:0;font-size:1.05rem}.recherche-overlay-inhalt h3,.detail-recherche h3{color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em;margin:.3rem 0 0;font-size:.8rem}.recherche-hinweis{background:#fdf3e3;border:1px solid #ecd9b0;border-radius:.5rem;margin:0;padding:.5rem .7rem;font-size:.85rem}.recherche-erklaerung{color:var(--text-muted);margin:0;font-size:.8rem}.recherche-vorschlaege{flex-direction:column;gap:.35rem;margin:0;padding:0;list-style:none;display:flex}.recherche-vorschlaege li{background:#fff;border:1px solid #ece3d8;border-radius:.6rem;padding:.5rem .7rem}.recherche-vorschlaege label{cursor:pointer;align-items:flex-start;gap:.6rem;display:flex}.recherche-vorschlaege input[type=checkbox]{width:1.1rem;height:1.1rem;accent-color:var(--wine);flex-shrink:0;margin-top:.25rem}.recherche-vorschlaege label>span{flex-direction:column;gap:.1rem;min-width:0;display:flex}.vorschlag-label{color:var(--text-muted);font-size:.75rem}.vorschlag-neu{font-size:.92rem}.vorschlag-bisher{color:#a15a00;font-size:.78rem}.recherche-liste{flex-direction:column;gap:.25rem;margin:0;padding:0;font-size:.88rem;list-style:none;display:flex}.recherche-liste a{color:var(--wine)}.recherche-quellen{font-size:.78rem}.recherche-quellen li{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.detail-recherche{background:#fbf7f0;border:1px solid #ece3d8;border-radius:.6rem;flex-direction:column;gap:.4rem;padding:.7rem .9rem;display:flex}.detail-recherche h2{color:var(--wine);margin:0;font-size:.95rem}.recherche-datum{color:var(--text-muted);font-size:.75rem;font-weight:400}.detail-form{flex-direction:column;gap:.9rem;display:flex}.detail-form label{color:var(--text-muted);flex-direction:column;gap:.35rem;font-size:.9rem;display:flex}.detail-form input,.detail-form select,.detail-form textarea{color:var(--text);background:#fff;border:1px solid #d9cfc4;border-radius:.5rem;width:100%;padding:.7rem .8rem;font-family:inherit;font-size:1rem}.detail-form input:focus,.detail-form select:focus,.detail-form textarea:focus{outline:2px solid var(--wine);border-color:var(--wine)}.detail-jahrgang-form{border:1px solid #e2d8cb;border-radius:.6rem;margin:0;padding:.6rem .8rem .8rem}.detail-jahrgang-form legend{color:var(--wine);padding:0 .3rem;font-size:.85rem}.detail-form-aktionen{justify-content:flex-end;gap:.6rem;display:flex}.detail-form-aktionen button{background:var(--wine);color:var(--cream);cursor:pointer;border:none;border-radius:.5rem;padding:.75rem 1.2rem;font-size:.95rem;font-weight:600}.detail-form-aktionen button.sekundaer{color:var(--wine);border:1px solid var(--wine);background:0 0;font-weight:500}.detail-form-aktionen button:disabled{opacity:.6}.passwort-overlay{z-index:10;background:#2b21268c;justify-content:center;align-items:center;padding:1.25rem;display:flex;position:fixed;inset:0}.passwort-box{background:var(--bg);border-radius:.75rem;width:100%;max-width:22rem;padding:1.25rem}.passwort-box h2{color:var(--wine);margin:0 0 .9rem;font-size:1.1rem}.passwort-box form{flex-direction:column;gap:.9rem;display:flex}.passwort-box label{color:var(--text-muted);flex-direction:column;gap:.35rem;font-size:.9rem;display:flex}.passwort-box input{color:var(--text);background:#fff;border:1px solid #d9cfc4;border-radius:.5rem;padding:.7rem .8rem;font-size:1rem}.passwort-box input:focus{outline:2px solid var(--wine);border-color:var(--wine)}.passwort-box button{background:var(--wine);color:var(--cream);cursor:pointer;border:none;border-radius:.5rem;padding:.75rem;font-size:.95rem;font-weight:600}.passwort-box button.sekundaer{color:var(--wine);border:1px solid var(--wine);background:0 0;font-weight:500}.passwort-box button:disabled{opacity:.6}.passwort-fehler{color:#b00020;margin:0;font-size:.9rem}.app{flex-direction:column;min-height:100dvh;display:flex}.app-header{background:var(--wine);color:var(--cream);padding:calc(env(safe-area-inset-top) + .9rem) 1.25rem .9rem;justify-content:space-between;align-items:center;display:flex}.header-knoepfe{gap:.5rem;display:flex}.abmelden-button{color:var(--cream);cursor:pointer;background:0 0;border:1px solid #f5efe680;border-radius:.4rem;padding:.35rem .7rem;font-size:.85rem}.app-header h1{margin:0;font-size:1.25rem;font-weight:600}.app-main{flex:1;padding:1.25rem}.hinweis{color:#1e6b3a;background:#e6f4ea;border-radius:.5rem;margin:0 0 1rem;padding:.7rem .9rem;font-size:.95rem}.empty-hint{color:var(--text-muted);text-align:center;margin-top:4rem;line-height:1.6}.add-button{right:1.25rem;bottom:calc(env(safe-area-inset-bottom) + 1.25rem);background:var(--wine);color:var(--cream);cursor:pointer;border:none;border-radius:999px;padding:.9rem 1.5rem;font-size:1.1rem;font-weight:600;position:fixed;box-shadow:0 4px 12px #00000040}.add-button:disabled{opacity:.5;cursor:default}.stapel-button{left:1.25rem;bottom:calc(env(safe-area-inset-bottom) + 1.25rem);background:var(--bg);color:var(--wine);border:1px solid var(--wine);cursor:pointer;border-radius:999px;padding:.9rem 1.2rem;font-size:.95rem;font-weight:600;position:fixed;box-shadow:0 4px 12px #00000026}.stapel-button input{display:none}
