@font-face{font-family:Cormorant Garamond;src:url(/fonts/CormorantGaramond-VariableFont_wght.ttf) format("truetype");font-weight:100 900;font-style:normal;font-display:swap}@font-face{font-family:Cormorant Garamond;src:url(/fonts/CormorantGaramond-Italic-VariableFont_wght.ttf) format("truetype");font-weight:100 900;font-style:italic;font-display:swap}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--c-bg: #f5f4f0;--c-surface: #ffffff;--c-border: #d8d4cc;--c-text: #1a1a1a;--c-muted: #6b6860;--c-primary: #6B2D3C;--c-primary-h: #5a2433;--c-danger: #b91c1c;--c-success: #15803d;--c-info: #1d4ed8;--c-warning: #b45309;--radius: 6px;--radius-l: 10px;--shadow: 0 1px 3px rgba(0,0,0,.12), 0 1px 2px rgba(0,0,0,.08);--shadow-l:0 4px 12px rgba(0,0,0,.12);--nav-w: 220px;--nav-bg: #111111;--nav-text: #e8ddd5;--nav-active: var(--c-primary);--nav-active-bg: #282828;--font-display: "Cormorant Garamond", Georgia, serif;font-family:system-ui,-apple-system,sans-serif;font-size:15px;line-height:1.5;color:var(--c-text);background:var(--c-bg)}h1{font-size:1.9rem;font-weight:600;font-family:var(--font-display)}h2{font-size:1.2rem;font-weight:600}h3{font-size:1rem;font-weight:600}a{color:var(--c-primary);text-decoration:none}a:hover{text-decoration:underline}.app-shell{display:flex;min-height:100vh}.app-nav{width:var(--nav-w);min-height:100vh;background:var(--nav-bg);color:var(--nav-text);display:flex;flex-direction:column;flex-shrink:0;position:fixed;top:0;left:0;bottom:0;overflow-y:auto;z-index:100}.app-main{margin-left:var(--nav-w);flex:1;padding:2rem;max-width:1400px}.auth-shell{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--c-bg)}.auth-card{background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--radius-l);padding:2.5rem;width:100%;max-width:380px;box-shadow:var(--shadow-l)}.auth-card h1{text-align:center;margin-bottom:1.75rem;color:var(--c-primary);font-size:2rem;font-weight:600}.nav-brand{padding:1.5rem 1.25rem 1rem;font-size:1.4rem;font-weight:600;font-family:var(--font-display);letter-spacing:.02em;color:var(--nav-text);border-bottom:1px solid rgba(255,255,255,.08)}.nav-tenant-badge{display:inline-block;margin-left:.4rem;padding:.1rem .4rem;border-radius:4px;font-size:.65rem;font-weight:600;letter-spacing:.04em;background:#fff3;color:var(--nav-text);vertical-align:middle;text-transform:uppercase}.nav-links{flex:1;padding:.5rem 0}.nav-link{display:flex;align-items:center;gap:.65rem;padding:.6rem 1.25rem;color:var(--nav-text);opacity:.85;cursor:pointer;border:none;background:none;width:100%;text-align:left;font-size:.95rem;transition:background .15s,opacity .15s;text-decoration:none}.nav-link:hover{background:#ffffff0d;opacity:1;text-decoration:none}.nav-link.active{background:var(--nav-active-bg);opacity:1;color:#fff}.nav-footer{padding:.75rem 1.25rem 1.25rem;border-top:1px solid rgba(255,255,255,.08)}.nav-lang{display:flex;gap:.4rem;flex-wrap:wrap;margin-bottom:.75rem}.nav-lang button{background:#ffffff1a;border:none;color:var(--nav-text);font-size:.75rem;padding:.2rem .45rem;border-radius:4px;cursor:pointer}.nav-lang button.active{background:var(--c-primary);color:#fff}.nav-lang button:hover{background:#fff3}.card{background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--radius-l);padding:1.5rem;box-shadow:var(--shadow)}.card+.card{margin-top:1rem}.card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem;gap:1rem}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;padding:.45rem 1rem;border-radius:var(--radius);border:1px solid transparent;font-size:.9rem;font-weight:500;cursor:pointer;transition:background .15s,box-shadow .15s;white-space:nowrap;text-decoration:none}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--c-primary);color:#fff;border-color:var(--c-primary)}.btn-primary:hover:not(:disabled){background:var(--c-primary-h)}.btn-secondary{background:transparent;color:var(--c-text);border-color:var(--c-border)}.btn-secondary:hover:not(:disabled){background:var(--c-bg)}.btn-danger{background:var(--c-danger);color:#fff;border-color:var(--c-danger)}.btn-danger:hover:not(:disabled){background:#991b1b}.btn-ghost{background:transparent;color:var(--c-muted);border-color:transparent}.btn-ghost:hover:not(:disabled){background:var(--c-bg);color:var(--c-text)}.btn-sm{padding:.3rem .7rem;font-size:.82rem}.btn-full{width:100%}.form-group{display:flex;flex-direction:column;gap:.35rem}.form-group+.form-group{margin-top:.85rem}.form-label{font-size:.85rem;font-weight:500;color:var(--c-muted)}.form-label .required{color:var(--c-danger);margin-left:.2rem}.form-control{padding:.45rem .75rem;border:1px solid var(--c-border);border-radius:var(--radius);font-size:.95rem;font-family:inherit;background:var(--c-surface);color:var(--c-text);transition:border-color .15s,box-shadow .15s;width:100%}.form-control:focus{outline:none;border-color:var(--c-primary);box-shadow:0 0 0 3px #6b2d3c1f}.form-control:disabled{background:var(--c-bg);color:var(--c-muted)}textarea.form-control{resize:vertical;min-height:80px}select.form-control{cursor:pointer}.form-hint{font-size:.8rem;color:var(--c-muted)}.form-error{font-size:.8rem;color:var(--c-danger)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;align-items:start}.form-row-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:1rem;align-items:start}.form-row>.form-group,.form-row-3>.form-group{margin-top:0}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:.9rem}thead th{text-align:left;padding:.6rem .85rem;font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--c-muted);border-bottom:2px solid var(--c-border);white-space:nowrap}tbody tr{border-bottom:1px solid var(--c-border);transition:background .1s}tbody tr:last-child{border-bottom:none}tbody tr:hover{background:var(--c-bg)}tbody td{padding:.65rem .85rem;vertical-align:middle}.td-actions{display:flex;gap:.4rem;justify-content:flex-end}.badge{display:inline-block;padding:.15rem .5rem;border-radius:999px;font-size:.75rem;font-weight:600}.badge-green{background:#dcfce7;color:#15803d}.badge-red{background:#fee2e2;color:#b91c1c}.badge-gray{background:#f1f0ed;color:#6b6860}.badge-blue{background:#dbeafe;color:#1d4ed8}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:500;padding:1rem}.modal{background:var(--c-surface);border-radius:var(--radius-l);box-shadow:var(--shadow-l);width:100%;max-width:560px;max-height:calc(100vh - 2rem);overflow-y:auto;padding:1.75rem}.modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.25rem}.modal-footer{display:flex;gap:.75rem;justify-content:flex-end;margin-top:1.5rem;padding-top:1.25rem;border-top:1px solid var(--c-border)}.toast-container{position:fixed;bottom:1.5rem;right:1.5rem;display:flex;flex-direction:column;gap:.5rem;z-index:900}.toast{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;border-radius:var(--radius);box-shadow:var(--shadow-l);font-size:.9rem;min-width:240px;max-width:380px;animation:slideIn .2s ease}.toast-success{background:#f0fdf4;color:#15803d;border:1px solid #bbf7d0}.toast-error{background:#fef2f2;color:#b91c1c;border:1px solid #fecaca}.toast-info{background:#eff6ff;color:#1d4ed8;border:1px solid #bfdbfe}@keyframes slideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.spinner{width:24px;height:24px;border:3px solid var(--c-border);border-top-color:var(--c-primary);border-radius:50%;animation:spin .7s linear infinite;display:inline-block}.spinner-sm{width:16px;height:16px;border-width:2px}@keyframes spin{to{transform:rotate(360deg)}}.loading-center{display:flex;justify-content:center;align-items:center;padding:3rem}.alert{padding:.75rem 1rem;border-radius:var(--radius);font-size:.9rem;display:flex;align-items:flex-start;gap:.6rem}.alert-error{background:#fef2f2;color:#b91c1c;border:1px solid #fecaca}.alert-success{background:#f0fdf4;color:#15803d;border:1px solid #bbf7d0}.alert-info{background:#eff6ff;color:#1d4ed8;border:1px solid #bfdbfe}.pagination{display:flex;gap:.35rem;align-items:center;justify-content:center;margin-top:1rem}.pagination button{padding:.3rem .65rem;border-radius:var(--radius);border:1px solid var(--c-border);background:var(--c-surface);font-size:.85rem;cursor:pointer;transition:background .1s}.pagination button:hover:not(:disabled){background:var(--c-bg)}.pagination button.active{background:var(--c-primary);color:#fff;border-color:var(--c-primary)}.pagination button:disabled{opacity:.4;cursor:not-allowed}.filter-bar{display:flex;gap:.75rem;flex-wrap:wrap;align-items:flex-end;margin-bottom:1rem}.filter-bar .form-control{width:auto;min-width:160px}.stats-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:1rem}.stat-card{background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--radius-l);padding:1.25rem}.stat-card__label{font-size:.65rem;font-weight:500;text-transform:uppercase;letter-spacing:.08em;color:var(--c-muted);margin-bottom:.35rem}.stat-card__value{font-size:2.6rem;font-weight:300;font-family:var(--font-display);color:var(--c-text);line-height:1.1}.stat-card__sub{font-size:.82rem;color:var(--c-muted);margin-top:.2rem}.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem;gap:1rem}.page-header h1{margin:0}.text-muted{color:var(--c-muted)}.text-danger{color:var(--c-danger)}.text-sm{font-size:.85rem}.mt-1{margin-top:.5rem}.mt-2{margin-top:1rem}.mt-3{margin-top:1.5rem}.mb-1{margin-bottom:.5rem}.mb-2{margin-bottom:1rem}.gap-1{gap:.5rem}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.w-full{width:100%}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:1rem;align-items:stretch}.grid-2>.card+.card{margin-top:0}.grid-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:1rem}.winecard-section{margin-bottom:2rem}.winecard-category{font-size:1.1rem;font-weight:700;color:var(--c-primary);margin-bottom:.75rem;padding-bottom:.4rem;border-bottom:2px solid var(--c-primary)}.winecard-country{font-size:.95rem;font-weight:600;color:var(--c-muted);margin:.85rem 0 .4rem .5rem}.winecard-region{font-size:.88rem;font-weight:600;color:var(--c-text);margin:.5rem 0 .3rem 1rem}.wine-row{display:flex;gap:1rem;padding:.5rem 1.25rem;border-radius:var(--radius);align-items:baseline}.wine-row:hover{background:var(--c-bg)}.wine-row:hover .wine-row__name{text-decoration:underline}.wine-row__name{flex:1;font-size:.92rem}.wine-row__vintage{width:50px;text-align:right;font-size:.85rem;color:var(--c-muted)}.wine-row__nummer{width:50px;text-align:right;font-size:.8rem;color:var(--c-muted);font-style:italic}.wine-row__stock{width:60px;text-align:right;font-size:.85rem;font-weight:600;color:var(--c-primary)}.slot-grid{display:grid;gap:4px}.slot{width:28px;height:28px;border-radius:4px;border:1px solid var(--c-border);display:flex;align-items:center;justify-content:center;font-size:.65rem;cursor:default}.slot-occupied{background:var(--c-primary);border-color:var(--c-primary);color:#fff}.slot-free{background:var(--c-surface)}@media(max-width:768px){.app-nav{transform:translate(-100%);transition:transform .25s ease}.app-nav.nav-open{transform:translate(0)}.app-main{margin-left:0;padding:1rem}.form-row,.form-row-3{grid-template-columns:1fr}.stats-grid{grid-template-columns:repeat(2,1fr)}.grid-2,.grid-3{grid-template-columns:1fr}.nav-toggle{display:flex;position:fixed;top:.75rem;left:.75rem;z-index:200;width:40px;height:40px;align-items:center;justify-content:center;background:var(--nav-bg);color:var(--nav-text);border:none;border-radius:var(--radius);cursor:pointer;font-size:1.2rem}.nav-overlay{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;z-index:99}.app-main{padding-top:3.5rem}}@media(min-width:769px){.nav-toggle{display:none}.nav-overlay{display:none!important}}.toast-enter-active[data-v-e7657979],.toast-leave-active[data-v-e7657979]{transition:all .2s ease}.toast-enter-from[data-v-e7657979],.toast-leave-to[data-v-e7657979]{transform:translate(100%);opacity:0}
