:root{--ink: #2c2925;--muted: #8a8178;--faint: #b7afa5;--border: #e8e3db;--bg: #faf8f5;--white: #ffffff;--accent: #6d2338;--accent-soft: #f2e7e9;--gold: #b8935f;--danger: #a3372f;color-scheme:light}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:Plus Jakarta Sans,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:var(--bg);color:var(--ink);font-weight:400}h1,h2,h3{font-family:inherit;font-weight:600;letter-spacing:-.01em}a{color:inherit}button,input,select,textarea{font-family:inherit;font-size:inherit}.app-shell{min-height:100%;display:flex;flex-direction:column}.topbar{background:var(--white);border-bottom:1px solid var(--border);color:var(--ink);padding:14px 28px;display:flex;align-items:center;gap:18px;flex-wrap:wrap}.topbar .brand{display:flex;align-items:center;gap:12px;margin-right:auto}.topbar .brand img{height:30px}.topbar .brand-text{display:flex;flex-direction:column;line-height:1.2}.topbar .brand-text strong{font-size:14px;font-weight:600;color:var(--ink)}.topbar .brand-text span{font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.topbar nav{display:flex;gap:4px}.topbar nav a{text-decoration:none;color:var(--muted);padding:8px 14px;border-radius:6px;font-size:13.5px;font-weight:500;transition:background .15s ease,color .15s ease}.topbar nav a.active,.topbar nav a:hover{background:var(--accent-soft);color:var(--accent)}.btn{border:1px solid var(--accent);background:var(--accent);color:#fff;padding:9px 18px;border-radius:6px;font-weight:500;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;gap:8px;font-size:13.5px;transition:opacity .15s ease}.btn:hover{opacity:.88}.btn:active{opacity:.75}.btn.secondary{background:transparent;color:var(--ink);border-color:var(--border)}.btn.secondary:hover{border-color:var(--faint);opacity:1}.btn.danger{background:transparent;border-color:var(--border);color:var(--danger)}.btn.danger:hover{border-color:var(--danger);opacity:1}.btn:disabled{opacity:.4;cursor:not-allowed}.main{flex:1;max-width:1180px;width:100%;margin:0 auto;padding:32px 24px 60px}.page-header{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:24px}.page-header h1{font-size:24px;font-weight:600;color:var(--ink);margin:0 0 4px}.page-header .sub{color:var(--muted);font-size:13.5px}.toolbar{display:flex;gap:10px;flex-wrap:wrap}.filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:20px}.filters button{border:1px solid var(--border);background:transparent;padding:6px 14px;border-radius:20px;cursor:pointer;font-size:12.5px;color:var(--muted);transition:border-color .15s ease,color .15s ease}.filters button.active{background:var(--ink);border-color:var(--ink);color:#fff}.wine-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px}.wine-card{background:var(--white);border:1px solid var(--border);border-radius:10px;padding:18px 20px;display:flex;flex-direction:column;gap:6px;text-decoration:none;color:var(--ink);position:relative;cursor:pointer;transition:border-color .15s ease,transform .1s ease}.wine-card:hover{border-color:var(--faint);transform:translateY(-1px)}.wine-card.inactive{opacity:.55;background:var(--bg)}.inactive-badge{font-size:10px;color:var(--faint);text-transform:uppercase;letter-spacing:.04em}.type-pill{align-self:flex-start;font-size:10px;letter-spacing:.06em;text-transform:uppercase;padding:3px 10px;border-radius:12px;font-weight:500;border:1px solid currentColor}.type-weiss{color:#9c7a1f}.type-rose{color:#b5607c}.type-rot{color:var(--accent)}.type-schaum{color:#5f7057}.wine-card h3{margin:6px 0 0;font-size:16px;font-weight:600}.wine-card .meta{font-size:12.5px;color:var(--muted)}.wine-card .note{font-size:12.5px;color:var(--faint);min-height:32px}.wine-card .prices{margin-top:auto;padding-top:10px;border-top:1px solid var(--border);display:flex;justify-content:space-between;font-weight:600;color:var(--ink);font-size:13px}.wine-card .card-actions{position:absolute;top:14px;right:14px;display:flex;gap:6px}.icon-btn{border:1px solid var(--border);background:var(--white);border-radius:5px;width:26px;height:26px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:12px;color:var(--muted)}.icon-btn:hover{color:var(--danger);border-color:var(--danger)}.empty-state{text-align:center;color:var(--muted);padding:60px 20px;border:1px dashed var(--border);border-radius:10px;background:var(--white)}.form-card{background:var(--white);border:1px solid var(--border);border-radius:10px;padding:26px;max-width:720px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-grid .full{grid-column:1 / -1}.checkbox-label{flex-direction:row}.checkbox-row{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--ink)}.checkbox-row input[type=checkbox]{width:15px;height:15px;accent-color:var(--accent)}label{display:flex;flex-direction:column;gap:6px;font-size:12.5px;color:var(--muted);margin-bottom:4px}input,select,textarea{padding:9px 11px;border:1px solid var(--border);border-radius:6px;color:var(--ink);background:var(--white)}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent)}textarea{resize:vertical;font-family:inherit}.form-actions{display:flex;gap:10px;margin-top:20px}.error-banner{background:#fbeceb;border:1px solid var(--danger);color:var(--danger);padding:10px 14px;border-radius:6px;margin-bottom:16px;font-size:13.5px}.image-drop{border:1px dashed var(--border);border-radius:6px;padding:14px;display:flex;align-items:center;gap:14px}.image-drop img{width:60px;height:60px;object-fit:cover;border-radius:4px;background:var(--bg)}.tasting-hero{position:relative;border-radius:12px;overflow:hidden;min-height:320px;display:flex;align-items:center;justify-content:center;color:#fff;background:linear-gradient(160deg,var(--accent),#3e0f1c);background-size:cover;background-position:center;text-align:center}.tasting-hero:before{content:"";position:absolute;inset:0;background:#14080c8c}.tasting-hero-content{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:10px;padding:40px 30px;width:100%}.tasting-hero img.bottle{height:220px;margin-bottom:12px;filter:drop-shadow(0 12px 20px rgba(0,0,0,.45))}.tasting-hero .type-pill{color:#fff;border-color:#ffffff80}.tasting-hero h1{margin:0;font-size:30px;font-weight:600;color:#fff}.tasting-hero .sub{color:#ffffffbf;font-size:14px}.tasting-body{display:grid;grid-template-columns:2fr 1fr;gap:20px;margin-top:24px}.tasting-section{background:var(--white);border:1px solid var(--border);border-radius:10px;padding:20px 22px;margin-bottom:16px}.tasting-section h2{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:0 0 12px}.grape-tags{display:flex;flex-wrap:wrap;gap:8px}.grape-tags span{background:var(--accent-soft);color:var(--accent);padding:4px 12px;border-radius:14px;font-size:12.5px}.spec-list{display:flex;flex-direction:column;gap:10px;font-size:13.5px}.spec-list .row{display:flex;justify-content:space-between;color:var(--muted)}.spec-list .row strong{color:var(--ink);font-weight:600}.price-box{display:flex;gap:24px;font-size:19px;font-weight:600;color:var(--ink)}.price-box .label{display:block;font-size:10.5px;color:var(--muted);font-weight:500;text-transform:uppercase;letter-spacing:.05em}.scrape-input-row{display:flex;gap:10px;margin-bottom:18px}.scrape-input-row textarea{flex:1;min-height:90px}.scrape-results{display:flex;flex-direction:column;gap:10px}.scrape-result-item{background:var(--white);border:1px solid var(--border);border-radius:8px;padding:12px 16px;display:flex;justify-content:space-between;align-items:center;gap:12px}.scrape-result-item.ok{border-left:3px solid #5f7057}.scrape-result-item.error{border-left:3px solid var(--danger)}.scrape-result-item .url{font-size:11.5px;color:var(--faint);word-break:break-all}.hint{font-size:12.5px;color:var(--muted)}.loading-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--gold);animation:pulse 1s infinite ease-in-out}@keyframes pulse{0%,to{opacity:.3}50%{opacity:1}}
