:root{--color-bg: #efe7d8;--color-surface: #fffdf9;--color-text: #2b1b1f;--color-text-muted: #6e5d53;--color-primary: #6e1e3a;--color-primary-dark: #4e1329;--color-accent: #a9814a;--color-border: #ddd0bc;--color-danger: #a3402f;--font-display: "Fraunces", serif;--font-body: "Public Sans", system-ui, -apple-system, sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--color-bg);color:var(--color-text);font-family:var(--font-body);line-height:1.5}h1,h2,h3{font-family:var(--font-display);font-weight:600;margin:0}a{color:var(--color-primary)}button{font-family:var(--font-body);cursor:pointer}.btn{display:inline-block;padding:.55rem 1.1rem;border-radius:3px;border:1px solid var(--color-primary);background:var(--color-primary);color:#fff;font-weight:500;font-size:.95rem;transition:background .15s ease}.btn:hover{background:var(--color-primary-dark)}.btn.secondary{background:transparent;color:var(--color-primary)}.btn.secondary:hover{background:#6e1e3a14}.btn.danger{border-color:var(--color-danger);background:transparent;color:var(--color-danger)}.btn.danger:hover{background:#a3402f14}button:disabled{opacity:.6;cursor:not-allowed}input,select,textarea{font-family:var(--font-body);font-size:.95rem;padding:.5rem .6rem;border:1px solid var(--color-border);border-radius:3px;background:var(--color-surface);color:var(--color-text)}input:focus,select:focus,textarea:focus,button:focus-visible,a:focus-visible{outline:2px solid var(--color-accent);outline-offset:1px}.error{color:var(--color-danger);font-size:.9rem}.app{min-height:100vh}.topbar{display:flex;align-items:center;gap:1.5rem;padding:.9rem 1.5rem;background:var(--color-primary);color:#fff;border-bottom:3px solid var(--color-accent)}.topbar h1{font-size:1.3rem;color:#fff;margin-right:auto}.topbar nav{display:flex;gap:1.1rem}.topbar nav a{color:#f3e6de;text-decoration:none;font-weight:500}.topbar nav a.router-link-active{color:#fff;text-decoration:underline;text-underline-offset:3px}.topbar .user{display:flex;align-items:center;gap:.8rem;font-size:.9rem}.topbar .user button{background:transparent;border:1px solid rgba(255,255,255,.5);color:#fff;border-radius:3px;padding:.3rem .7rem}main{max-width:1000px;margin:0 auto;padding:1.75rem 1.5rem 3rem}.auth-form{max-width:380px;margin:3.5rem auto;background:var(--color-surface);border:1px solid var(--color-border);border-radius:4px;padding:2rem}.auth-form h2{margin-bottom:1.25rem}.auth-form form{display:flex;flex-direction:column;gap:.9rem}.auth-form label{display:flex;flex-direction:column;gap:.3rem;font-size:.9rem;color:var(--color-text-muted)}.auth-form button{margin-top:.4rem}.auth-form p{margin-top:1.1rem;font-size:.9rem}.page-header{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:1.25rem}.filters{display:flex;flex-wrap:wrap;gap:.6rem;margin-bottom:1.25rem;padding:.9rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:4px}.filters input,.filters select{min-width:140px}table.weinliste{width:100%;border-collapse:collapse;background:var(--color-surface);border:1px solid var(--color-border)}table.weinliste th,table.weinliste td{text-align:left;padding:.6rem .8rem;border-bottom:1px solid var(--color-border);font-size:.92rem}table.weinliste th{font-weight:600;color:var(--color-text-muted);cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap}table.weinliste th.active{color:var(--color-primary)}table.weinliste tbody tr:hover{background:#a9814a14}.badge{display:inline-block;padding:.15rem .5rem;border-radius:3px;font-size:.78rem;border:1px solid var(--color-border);color:var(--color-text-muted)}.badge.trinkreif{border-color:var(--color-primary);color:var(--color-primary)}.badge.ueberfaellig{border-color:var(--color-danger);color:var(--color-danger)}.row-actions{display:flex;gap:.5rem;white-space:nowrap}.row-actions button,.row-actions a{font-size:.85rem}.empty-state{padding:2.5rem 1rem;text-align:center;color:var(--color-text-muted);background:var(--color-surface);border:1px dashed var(--color-border);border-radius:4px}.wein-form{background:var(--color-surface);border:1px solid var(--color-border);border-radius:4px;padding:1.5rem;max-width:640px}.wein-form .grid{display:grid;grid-template-columns:1fr 1fr;gap:.9rem 1.2rem}.wein-form .grid label{display:flex;flex-direction:column;gap:.3rem;font-size:.88rem;color:var(--color-text-muted)}.wein-form .full{grid-column:1 / -1}.wein-form .actions{display:flex;gap:.7rem;margin-top:1.4rem}@media (max-width: 640px){.wein-form .grid{grid-template-columns:1fr}.topbar{flex-wrap:wrap}table.weinliste{display:block;overflow-x:auto}}
