:root{--bg: var(--tg-theme-bg-color, #0f0f12);--text: var(--tg-theme-text-color, #f5f5f7);--hint: var(--tg-theme-hint-color, #8e8e93);--accent: var(--tg-theme-button-color, #5b8def);--accent-text: var(--tg-theme-button-text-color, #fff);--secondary: var(--tg-theme-secondary-bg-color, #1c1c1f);--danger: #ff453a;--ok: #30d158;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;color:var(--text);background:var(--bg)}*{box-sizing:border-box;margin:0;padding:0}body{min-height:100vh;-webkit-font-smoothing:antialiased}.app{min-height:100vh;padding-bottom:72px}.loading-bar{padding:8px 16px;text-align:center;font-size:.85rem;color:var(--hint);background:var(--secondary)}.screen{padding:16px;max-width:480px;margin:0 auto}.screen.center{display:flex;align-items:center;justify-content:center;min-height:60vh}h1{font-size:1.35rem;margin-bottom:12px}h2{font-size:1.1rem;margin:16px 0 8px}.search{width:100%;padding:12px 14px;border-radius:12px;border:none;background:var(--secondary);color:var(--text);font-size:1rem;margin-bottom:16px}.search::placeholder{color:var(--hint)}.categories{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.cat-card{background:var(--secondary);border-radius:14px;overflow:hidden;text-decoration:none;color:inherit;display:flex;flex-direction:column}.cat-card img{width:100%;aspect-ratio:1.1;object-fit:cover;background:#2a2a30}.cat-card .label{padding:10px;font-size:.82rem;line-height:1.25}.cat-card .sub{color:var(--hint);font-size:.72rem}.product-grid{display:flex;flex-direction:column;gap:12px}.product-row{display:flex;gap:12px;background:var(--secondary);border-radius:12px;padding:10px;text-decoration:none;color:inherit}.product-row img{width:72px;height:72px;border-radius:8px;object-fit:cover;flex-shrink:0}.product-row .info{flex:1}.product-row .price{font-weight:600;color:var(--accent)}.product-detail img.hero{width:100%;max-height:240px;object-fit:contain;border-radius:12px;background:var(--secondary)}.flavors{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.flavor-chip{padding:8px 12px;border-radius:20px;border:1px solid #3a3a40;background:transparent;color:var(--text);font-size:.9rem;cursor:pointer}.flavor-chip.selected{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 25%,transparent)}.flavor-chip.out{opacity:.45;text-decoration:line-through}.btn{display:block;width:100%;padding:14px;border:none;border-radius:12px;background:var(--accent);color:var(--accent-text);font-size:1rem;font-weight:600;cursor:pointer;margin-top:12px}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.secondary{background:var(--secondary);color:var(--text)}.tabbar{position:fixed;bottom:0;left:0;right:0;display:flex;background:var(--secondary);border-top:1px solid #2a2a30;padding:8px 4px calc(8px + env(safe-area-inset-bottom));z-index:100}.tabbar a{flex:1;text-align:center;padding:8px 4px;text-decoration:none;color:var(--hint);font-size:.78rem}.tabbar a.active{color:var(--accent)}.cart-item{display:flex;gap:10px;padding:12px 0;border-bottom:1px solid #2a2a30}.qty-controls{display:flex;align-items:center;gap:8px}.qty-controls button{width:32px;height:32px;border-radius:8px;border:none;background:var(--secondary);color:var(--text);font-size:1.1rem}.field{margin-bottom:12px}.field label{display:block;font-size:.85rem;color:var(--hint);margin-bottom:6px}.field input,.field textarea,.field select{width:100%;padding:12px;border-radius:10px;border:none;background:var(--secondary);color:var(--text);font-size:1rem}.radio-group{display:flex;gap:8px;margin:8px 0}.radio-group label{flex:1;padding:12px;border-radius:10px;background:var(--secondary);text-align:center;cursor:pointer;border:2px solid transparent}.radio-group input{display:none}.radio-group input:checked+span,.radio-group label:has(input:checked){border-color:var(--accent)}.order-card{background:var(--secondary);border-radius:12px;padding:12px;margin-bottom:10px}.badge{display:inline-block;padding:2px 8px;border-radius:6px;font-size:.75rem;background:#3a3a40}.badge.ok{background:color-mix(in srgb,var(--ok) 30%,transparent);color:var(--ok)}.badge.out{color:var(--danger)}.admin-table{width:100%;font-size:.85rem}.admin-table td{padding:8px 4px;vertical-align:top}.error{color:var(--danger);font-size:.9rem;margin-top:8px}.success{color:var(--ok);margin-top:8px}.admin-screen h2{font-size:1rem;margin:16px 0 8px}.admin-tabs{display:flex;gap:6px;margin:12px 0 16px;flex-wrap:wrap}.admin-tabs button{flex:1;min-width:70px;padding:8px 6px;border:none;border-radius:10px;background:var(--secondary);color:var(--hint);font-size:.82rem;cursor:pointer}.admin-tabs button.active{background:var(--accent);color:var(--accent-text)}.admin-form{background:var(--secondary);border-radius:12px;padding:12px;margin-bottom:16px;display:flex;flex-direction:column;gap:8px}.admin-form input,.admin-form textarea,.admin-form select,.admin-card select{width:100%;padding:10px;border:none;border-radius:8px;background:var(--bg);color:var(--text);font-size:.95rem}.admin-list{display:flex;flex-direction:column;gap:10px}.admin-card{background:var(--secondary);border-radius:12px;padding:12px}.admin-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}.admin-card-actions{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap}.admin-inline{display:flex;align-items:center;gap:8px;margin:8px 0}.admin-photo-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.admin-thumb{width:48px;height:48px;object-fit:cover;border-radius:8px;background:var(--bg)}.admin-product-title{display:flex;align-items:center;gap:8px;min-width:0}.admin-product-title strong{font-size:.95rem}.admin-price-tap{display:flex;align-items:center;gap:6px;margin:8px 0 4px}.admin-price-tap .price-input{width:88px;padding:8px 10px;border:none;border-radius:8px;background:var(--bg);color:var(--text);font-size:1rem;font-weight:600}.btn.small{padding:6px 12px;font-size:.82rem}.hint{color:var(--hint);font-size:.85rem}.small-input{width:64px!important;padding:6px!important}.btn.small{padding:8px 12px;font-size:.85rem;margin-top:8px}.btn.danger{background:color-mix(in srgb,var(--danger) 85%,black)}.btn.secondary.danger{background:color-mix(in srgb,var(--danger) 40%,var(--secondary));color:var(--text)}.back{display:inline-block;margin-bottom:12px;color:var(--accent);text-decoration:none;font-size:.9rem}
