@font-face{font-family:Manrope;font-style:normal;font-weight:500;font-display:swap;src:url(/portal/fonts/inter-500-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Manrope;font-style:normal;font-weight:600;font-display:swap;src:url(/portal/fonts/inter-600-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Display;font-style:normal;font-weight:900;font-display:swap;src:url(/portal/fonts/archivo-900-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--malt:#a87830;--malt-dark:#8a5f22;--paper:#f0f0e4;--paper-2:#f7f5ec;--surface:#fff;--ink:#182418;--ink-2:#5c6558;--ink-3:#8a9184;--line:#e2e0d2;--foam:#e7efe4;--foam-ink:#2d5a3d;--bg:var(--paper);--bg-raised:var(--surface);--fg:var(--ink);--fg-dim:var(--ink-2);--accent:var(--malt);--accent-ink:var(--malt-dark);--on-accent:#fff;--danger:#b3392e;--ok:var(--foam-ink);--border:var(--line);--radius-card:12px;--radius-control:10px;--tap:48px;--sidebar-w:240px;--cart-panel-w:300px}*{box-sizing:border-box}html,body{background:var(--bg);min-height:100%;color:var(--fg);margin:0;font:500 16px/1.4 Manrope,system-ui,-apple-system,Segoe UI,sans-serif;overflow-x:hidden}a{color:inherit}:focus-visible{outline:2px solid var(--accent-ink);outline-offset:2px}#app{flex-direction:column;min-height:100vh;display:flex}.shell{flex:1;min-width:0;display:flex}.shell-body{flex-direction:column;flex:1;min-width:0;display:flex}.sidebar{width:var(--sidebar-w);background:var(--bg-raised);border-right:1px solid var(--border);flex-direction:column;flex-shrink:0;gap:20px;padding:20px 16px;display:none}.sidebar-brand{align-items:center;gap:10px;min-width:0;display:flex}.sidebar-brand img.brand-logo{width:auto;height:32px;display:block}.sidebar-brand span{text-overflow:ellipsis;white-space:nowrap;font-family:Display,Manrope,sans-serif;font-size:15px;font-weight:900;overflow:hidden}.sidebar-nav{flex-direction:column;flex:1;gap:2px;display:flex}.sidebar-nav a{border-radius:var(--radius-control);color:var(--fg-dim);padding:10px 12px;font-size:14px;font-weight:700;text-decoration:none;display:block}.sidebar-nav a.active{background:color-mix(in srgb, var(--accent) 14%, transparent);color:var(--accent-ink)}.sidebar-footer{color:var(--ink-3);flex-direction:column;gap:10px;font-size:12px;display:flex}header.app-bar{background:var(--bg-raised);border-bottom:1px solid var(--border);z-index:10;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;display:flex;position:sticky;top:0}header.app-bar h1{letter-spacing:-.01em;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;margin:0;font-family:Display,Manrope,sans-serif;font-size:18px;font-weight:900;overflow:hidden}header.app-bar img.brand-logo{height:28px;display:block}main{min-width:0;padding:16px;padding-bottom:calc(var(--tap) + 32px);flex:1;width:100%;max-width:720px;margin:0 auto}nav.tabbar{background:var(--bg-raised);border-top:1px solid var(--border);padding-bottom:env(safe-area-inset-bottom);z-index:10;display:flex;position:fixed;bottom:0;left:0;right:0}nav.tabbar a{text-align:center;min-width:0;min-height:var(--tap);color:var(--fg-dim);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:2px;padding:6px 2px;font-size:11px;font-weight:700;text-decoration:none;display:flex;position:relative}nav.tabbar a.active{color:var(--accent-ink)}nav.tabbar .tab-icon{flex-shrink:0;width:20px;height:20px}nav.tabbar .tab-icon svg{width:100%;height:100%}nav.tabbar .tab-label{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}nav.tabbar .tab-badge{background:var(--accent);min-width:15px;height:15px;color:var(--on-accent);text-align:center;border-radius:999px;padding:0 3px;font-size:10px;font-weight:700;line-height:15px;position:absolute;top:2px;right:calc(50% - 18px)}.cart-panel{width:var(--cart-panel-w);background:var(--bg-raised);border-left:1px solid var(--border);flex-shrink:0;padding:20px 16px;display:none;overflow-y:auto}.cart-panel h2{margin:0 0 12px;font-size:15px}.katalog-grid{grid-template-columns:1fr;gap:12px;display:grid}@media (width>=641px){.katalog-grid{grid-template-columns:repeat(2,1fr)}}@media (width>=1024px){header.app-bar,nav.tabbar{display:none}.sidebar{display:flex}main{max-width:1100px;padding:28px 32px}#app[data-screen=katalog] .cart-panel{flex-direction:column;display:flex}.katalog-grid{grid-template-columns:repeat(3,1fr)}}.card{background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--radius-card);margin-bottom:12px;padding:16px}.field{margin-bottom:12px}.field label{color:var(--fg-dim);margin-bottom:4px;font-size:13px;font-weight:700;display:block}.field input,.field select,.field textarea{width:100%;min-height:var(--tap);border:1px solid var(--border);border-radius:var(--radius-control);background:var(--bg-raised);color:var(--fg);font:inherit;padding:8px 12px}button{min-height:var(--tap);border-radius:var(--radius-control);border:1px solid var(--border);background:var(--bg-raised);color:var(--fg);font:inherit;cursor:pointer;padding:0 16px;font-weight:700}button:disabled{opacity:.5;cursor:not-allowed}button.primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}button.danger{background:var(--danger);border-color:var(--danger);color:#fff}button.link{color:var(--accent-ink);background:0 0;border:none;min-height:auto;padding:0;font-weight:600}table{border-collapse:collapse;width:100%}th,td{text-align:left;border-bottom:1px solid var(--border);padding:8px 4px;font-size:14px}th{color:var(--fg-dim);text-transform:uppercase;letter-spacing:.03em;font-size:12px}.badge{background:var(--border);color:var(--fg-dim);border-radius:999px;padding:4px 10px;font-size:12px;display:inline-block}.badge.ok{background:var(--foam);color:var(--foam-ink)}.badge.warn{background:color-mix(in srgb, var(--accent) 20%, transparent);color:var(--accent-ink)}.badge.danger{background:color-mix(in srgb, var(--danger) 18%, transparent);color:var(--danger)}.error-text{color:var(--danger);font-size:14px}.muted{color:var(--fg-dim);font-size:13px}.row{justify-content:space-between;align-items:center;gap:8px;display:flex}.stack{flex-direction:column;gap:8px;display:flex}.empty-state{text-align:center;color:var(--fg-dim);padding:48px 16px}.empty-state .icon{opacity:.6;margin-bottom:8px;font-size:36px}.skeleton{background:linear-gradient(90deg, var(--border) 25%, var(--paper-2) 50%, var(--border) 75%);border-radius:var(--radius-control);background-size:200% 100%;animation:1.3s ease-in-out infinite skeleton-pulse}.skeleton-card{height:84px;margin-bottom:12px}@keyframes skeleton-pulse{0%{background-position:200% 0}to{background-position:-200% 0}}.beer-card{background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--radius-card);flex-direction:column;display:flex;overflow:hidden}.beer-card .photo{aspect-ratio:4/3;background:var(--paper-2);justify-content:center;align-items:center;width:100%;display:flex;overflow:hidden}.beer-card .photo img{object-fit:cover;width:100%;height:100%;display:block}.beer-card .photo .placeholder-icon{width:40%;height:40%;color:var(--ink-3)}.beer-card .body{flex-direction:column;flex:1;gap:6px;padding:12px;display:flex}.beer-card .body h3{margin:0;font-size:15px}.badge.info{background:color-mix(in srgb, var(--ink-3) 18%, transparent);color:var(--ink-2)}.badge.aging-ok{background:var(--foam);color:var(--foam-ink)}.badge.aging-old{background:color-mix(in srgb, var(--accent) 22%, transparent);color:var(--accent-ink)}.stepper{align-items:center;gap:12px;display:flex}.stepper button{width:var(--tap);flex-shrink:0;padding:0;font-size:20px;line-height:1}.stepper .count{text-align:center;min-width:40px;font-size:20px;font-weight:700}.spayd-qr{width:180px;height:180px;image-rendering:pixelated;margin:12px auto 0;display:block}.powered-by{color:var(--ink-3);text-align:center;font-size:12px}
