:root{--brand: #111111;--ink: #1c1a17;--ink-soft: #6d675f;--paper: #faf8f5;--card: #ffffff;--line: #e8e3dc;--radius: 14px;--font-display: "Sora", system-ui, sans-serif;--font-body: "Inter", system-ui, sans-serif}*{box-sizing:border-box}body{margin:0;font-family:var(--font-body);color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased}h1,h2,h3{font-family:var(--font-display);margin:0}button{font-family:inherit;cursor:pointer}input,select{font-family:inherit;font-size:1rem}img{display:block}.btn-primary{background:var(--brand);color:#fff;border:none;border-radius:999px;padding:.85rem 1.5rem;font-weight:600;font-size:1rem;transition:transform .08s ease,opacity .15s;text-decoration:none;display:inline-block;text-align:center}.btn-primary:active{transform:scale(.98)}.btn-primary:disabled{opacity:.4;cursor:not-allowed}.btn-primary.full{width:100%}.link{background:none;border:none;color:var(--brand);font-weight:600;padding:.35rem .5rem;font-size:.9rem}.link.danger{color:#b3261e}.error{color:#b3261e;font-size:.9rem}.empty{color:var(--ink-soft);padding:2rem 0;text-align:center}.back{color:var(--ink-soft);text-decoration:none;font-size:.9rem}.screen-msg{min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:2rem;text-align:center}.check{width:64px;height:64px;border-radius:50%;background:var(--brand);color:#fff;display:grid;place-items:center;font-size:2rem}.store{max-width:640px;margin:0 auto;padding-bottom:6rem}.store-header{position:relative}.store-banner{width:100%;height:160px;object-fit:cover}.store-identity{display:flex;align-items:center;gap:.85rem;padding:1.25rem 1rem .5rem}.store-logo{width:52px;height:52px;border-radius:12px;object-fit:cover}.store-identity h1{font-size:1.5rem;letter-spacing:-.02em}.cat-nav{display:flex;gap:.5rem;overflow-x:auto;padding:.75rem 1rem;position:sticky;top:0;background:var(--paper);z-index:5;scrollbar-width:none}.cat-nav::-webkit-scrollbar{display:none}.cat-nav button{border:1px solid var(--line);background:var(--card);border-radius:999px;padding:.45rem 1rem;white-space:nowrap;font-size:.9rem;color:var(--ink-soft)}.cat-nav button.active{background:var(--brand);border-color:var(--brand);color:#fff;font-weight:600}.catalog{padding:0 1rem}.catalog section h2{font-size:1.05rem;margin:1.5rem 0 .75rem;letter-spacing:-.01em}.product-list{display:flex;flex-direction:column;gap:.6rem}.product-card{display:flex;justify-content:space-between;gap:.75rem;text-align:left;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:.9rem;width:100%;transition:border-color .15s}.product-card:hover{border-color:var(--brand)}.product-card img{width:84px;height:84px;object-fit:cover;border-radius:10px;flex-shrink:0}.product-info h3{font-size:1rem;font-family:var(--font-body);font-weight:600}.product-info p{margin:.25rem 0 0;font-size:.85rem;color:var(--ink-soft);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.price-row{margin-top:.4rem;display:flex;gap:.5rem;align-items:baseline}.price{font-weight:700}.compare{color:var(--ink-soft);text-decoration:line-through;font-size:.85rem}.cart-bar{position:fixed;left:50%;transform:translate(-50%);bottom:max(1rem,env(safe-area-inset-bottom));width:min(600px,calc(100% - 2rem));background:var(--brand);color:#fff;border-radius:999px;padding:.95rem 1.4rem;display:flex;justify-content:space-between;align-items:center;font-weight:600;text-decoration:none;box-shadow:0 8px 24px #0000002e;z-index:20}.cart-count{background:#ffffff40;border-radius:999px;min-width:1.6rem;height:1.6rem;display:grid;place-items:center;font-size:.85rem}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#14100c80;display:flex;align-items:flex-end;justify-content:center;z-index:30}.modal{background:var(--card);width:min(560px,100%);max-height:92dvh;overflow-y:auto;border-radius:20px 20px 0 0;position:relative;animation:slideUp .22s ease}@media (min-width: 600px){.modal-backdrop{align-items:center}.modal{border-radius:20px}}@keyframes slideUp{0%{transform:translateY(24px);opacity:0}to{transform:translateY(0);opacity:1}}@media (prefers-reduced-motion: reduce){.modal{animation:none}}.modal-img{width:100%;height:200px;object-fit:cover}.modal-body{padding:1.25rem}.modal-body h2{font-size:1.25rem}.desc{color:var(--ink-soft);font-size:.92rem;margin:.4rem 0 0}.modal-close{position:absolute;top:.75rem;right:.75rem;background:var(--card);border:1px solid var(--line);border-radius:50%;width:34px;height:34px}.mod-group{border:none;padding:0;margin:1.25rem 0 0}.mod-group legend{font-weight:600;font-size:.95rem;padding:0;margin-bottom:.5rem}.mod-hint{color:var(--ink-soft);font-weight:400;font-size:.82rem}.mod-option{display:flex;align-items:center;gap:.6rem;padding:.6rem .75rem;border:1px solid var(--line);border-radius:10px;margin-bottom:.4rem;font-size:.95rem}.mod-option.checked{border-color:var(--brand)}.mod-option input{accent-color:var(--brand)}.mod-option .delta{margin-left:auto;color:var(--ink-soft);font-size:.88rem}.modal-actions{display:flex;gap:.75rem;margin-top:1.5rem;align-items:center}.modal-actions .btn-primary{flex:1}.qty{display:flex;align-items:center;gap:.25rem;border:1px solid var(--line);border-radius:999px;padding:.2rem}.qty button{width:34px;height:34px;border:none;background:none;font-size:1.2rem;border-radius:50%;color:var(--brand)}.qty span{min-width:1.6rem;text-align:center;font-weight:600}.checkout{max-width:560px;margin:0 auto;padding:1rem 1rem 3rem}.page-header{padding:.5rem 0 1rem;display:flex;flex-direction:column;gap:.5rem}.page-header h1{font-size:1.4rem}.cart-items{list-style:none;margin:0;padding:0}.cart-items li{display:flex;justify-content:space-between;align-items:center;gap:.75rem;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:.8rem;margin-bottom:.5rem}.cart-item-info{display:flex;flex-direction:column;gap:.15rem}.cart-item-info small{color:var(--ink-soft)}.cart-item-info span{font-weight:600;font-size:.92rem}.form{display:flex;flex-direction:column;gap:.9rem;margin:1.25rem 0}.form label{display:flex;flex-direction:column;gap:.3rem;font-size:.88rem;font-weight:600}.form input,.form select{border:1px solid var(--line);border-radius:10px;padding:.75rem;background:var(--card);font-weight:400}.form input:focus,.form select:focus{outline:2px solid var(--brand);border-color:transparent}.segmented{display:flex;border:1px solid var(--line);border-radius:999px;overflow:hidden}.segmented button{flex:1;border:none;background:var(--card);padding:.7rem;font-size:.92rem;color:var(--ink-soft)}.segmented button.active{background:var(--brand);color:#fff;font-weight:600}.totals{margin:1rem 0;font-size:.95rem}.totals>div{display:flex;justify-content:space-between;padding:.3rem 0}.totals .grand{font-weight:700;font-size:1.1rem;border-top:1px solid var(--line);margin-top:.4rem;padding-top:.7rem}.admin{max-width:760px;margin:0 auto;padding-bottom:3rem}.admin-header{display:flex;align-items:center;gap:1.25rem;padding:1rem;border-bottom:1px solid var(--line);background:var(--card);position:sticky;top:0;z-index:10}.admin-header nav{display:flex;gap:1rem;flex:1}.admin-header a{color:var(--ink-soft);text-decoration:none;font-weight:600;font-size:.95rem}.admin-header a.active{color:var(--brand)}.admin-page{padding:1.25rem 1rem}.admin-page h1{font-size:1.3rem;margin-bottom:1rem}.page-title-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.page-title-row h1{margin:0}.admin-login{max-width:380px;margin:0 auto;min-height:100dvh;display:flex;flex-direction:column;justify-content:center;gap:.9rem;padding:1.5rem}.admin-login label{display:flex;flex-direction:column;gap:.3rem;font-size:.88rem;font-weight:600}.admin-login input{border:1px solid var(--line);border-radius:10px;padding:.75rem;background:var(--card)}.order-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.6rem}.order{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.order.status-pending{border-left:4px solid var(--brand)}.order-summary{display:grid;grid-template-columns:auto 1fr auto auto;gap:.75rem;align-items:center;width:100%;background:none;border:none;padding:.85rem;text-align:left}.order-number{font-weight:700;font-family:var(--font-display)}.order-customer{display:flex;flex-direction:column}.order-customer small{color:var(--ink-soft)}.order-total{font-weight:700}.badge{font-size:.75rem;font-weight:600;padding:.25rem .6rem;border-radius:999px;background:var(--line)}.badge.b-pending{background:var(--brand);color:#fff}.order-detail{border-top:1px solid var(--line);padding:.85rem}.order-detail ul{list-style:none;margin:0 0 .75rem;padding:0}.order-detail li{display:flex;justify-content:space-between;gap:.5rem;padding:.25rem 0;font-size:.92rem}.order-detail small{color:var(--ink-soft)}.order-notes{color:var(--ink-soft);font-size:.88rem;margin:.25rem 0}.order-actions{display:flex;gap:.75rem;align-items:center;margin-top:.75rem}.cat-manager{display:flex;gap:.5rem;margin-bottom:1.25rem}.cat-manager input{flex:1;border:1px solid var(--line);border-radius:10px;padding:.6rem;background:var(--card)}.cat-manager button{border:1px solid var(--brand);color:var(--brand);background:none;border-radius:10px;padding:0 1rem;font-weight:600}.admin-product-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.admin-product-list li{display:flex;align-items:center;gap:.75rem;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:.6rem}.admin-product-list li.inactive{opacity:.5}.admin-product-list img,.img-placeholder{width:52px;height:52px;border-radius:10px;object-fit:cover;background:var(--line);flex-shrink:0}.admin-product-list .info{flex:1;display:flex;flex-direction:column}.admin-product-list small{color:var(--ink-soft)}.row-actions{display:flex}.check-label{flex-direction:row!important;align-items:center}:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.photo-field{display:flex;flex-direction:column;gap:.3rem}.field-label{font-size:.88rem;font-weight:600}.photo-row{display:flex;align-items:center;gap:.85rem}.photo-preview{width:76px;height:76px;border-radius:12px;object-fit:cover;border:1px solid var(--line)}.photo-preview.placeholder{background:var(--line)}.photo-actions{display:flex;align-items:center;gap:.5rem}.btn-upload{border:1px solid var(--brand);color:var(--brand);border-radius:999px;padding:.5rem 1rem;font-weight:600;font-size:.9rem;cursor:pointer}.editor-group{border:1px solid var(--line);border-radius:var(--radius);padding:.85rem;margin-top:1rem;background:var(--paper)}.editor-group-head{display:flex;align-items:center;gap:.6rem;margin-bottom:.5rem}.editor-group-head small{color:var(--ink-soft);flex:1}.editor-options{list-style:none;margin:0;padding:0}.editor-options li{display:flex;align-items:center;gap:.6rem;padding:.4rem 0;border-bottom:1px dashed var(--line);font-size:.95rem}.editor-options li span:first-child{flex:1}.editor-options .delta{color:var(--ink-soft);font-size:.88rem}.editor-add-option{display:flex;gap:.4rem;margin-top:.6rem}.editor-add-option input{border:1px solid var(--line);border-radius:8px;padding:.5rem;background:var(--card);font-size:.9rem}.editor-add-option input:first-child{flex:1}.editor-add-option input[type=number]{width:90px}.btn-small{border:1px solid var(--brand);color:var(--brand);background:none;border-radius:8px;padding:0 .85rem;font-weight:600;font-size:.88rem}.editor-new-group{margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:.7rem}.editor-new-group h3{font-size:1rem;margin:0}.editor-new-group input{border:1px solid var(--line);border-radius:10px;padding:.7rem;background:var(--card)}.editor-new-group-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;font-size:.9rem}.max-label{display:flex;align-items:center;gap:.5rem;font-weight:600;font-size:.88rem}.max-label input{width:64px;padding:.45rem}.range-picker{max-width:260px}.range-picker button{padding:.5rem .9rem;font-size:.88rem}.kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.6rem;margin-bottom:1.25rem}.kpi-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:.9rem;display:flex;flex-direction:column;gap:.2rem}.kpi-value{font-family:var(--font-display);font-weight:700;font-size:1.25rem}.kpi-label{color:var(--ink-soft);font-size:.8rem}.badge.b-delivered{background:#d7ecd9;color:#1e5b2a}.badge.b-cancelled{background:#f4d7d5;color:#8a1f18}.settings-page{max-width:560px}.settings-block{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:1rem;margin-top:1rem;display:flex;flex-direction:column;gap:.6rem}.settings-input{border:1px solid var(--line);border-radius:10px;padding:.75rem;background:var(--paper)}.hint{color:var(--ink-soft);font-size:.8rem}.banner-preview{width:100%;max-width:360px;height:110px;border-radius:12px;object-fit:cover;border:1px solid var(--line)}.banner-preview.placeholder{background:var(--line)}.color-row{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.color-row input[type=color]{width:52px;height:40px;border:1px solid var(--line);border-radius:8px;background:none;padding:2px;cursor:pointer}.color-hex{width:110px;border:1px solid var(--line);border-radius:8px;padding:.55rem;background:var(--paper);font-family:monospace}.color-sample{color:#fff;font-size:.82rem;font-weight:600;padding:.5rem .9rem;border-radius:999px}.success{color:#1e5b2a;font-size:.9rem}.btn-wa{background:#25d366;color:#fff;border-radius:999px;padding:.6rem 1.1rem;font-weight:600;font-size:.9rem;text-decoration:none;display:inline-flex;align-items:center}.btn-wa:active{transform:scale(.98)}.stats-block{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:1rem;margin-bottom:1rem}.stats-block h2{font-size:1rem;margin-bottom:.85rem}.section-title{font-size:1rem;margin:1.25rem 0 .75rem}.delta-up{color:#1e5b2a;font-size:.75rem;font-weight:600}.delta-down{color:#8a1f18;font-size:.75rem;font-weight:600}.bar-chart{display:flex;align-items:flex-end;gap:4px;height:140px}.bar-col{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%;min-width:0}.bar{width:100%;max-width:34px;background:var(--brand);border-radius:6px 6px 0 0;opacity:.85;transition:height .3s ease}.bar-col:hover .bar{opacity:1}.bar-label{font-size:.62rem;color:var(--ink-soft);margin-top:.3rem;white-space:nowrap;overflow:hidden;max-width:100%}.bar-chart .bar-col:nth-child(3n+2) .bar-label,.bar-chart .bar-col:nth-child(3n) .bar-label{visibility:hidden}.bar-chart:has(.bar-col:nth-child(-n+10):last-child) .bar-col .bar-label{visibility:visible}.top-products{list-style:none;margin:0;padding:0;counter-reset:none}.top-products li{display:flex;align-items:center;gap:.75rem;padding:.5rem 0;border-bottom:1px dashed var(--line);font-size:.95rem}.top-products li:last-child{border-bottom:none}.top-rank{width:26px;height:26px;border-radius:50%;background:var(--brand);color:#fff;display:grid;place-items:center;font-weight:700;font-size:.8rem;flex-shrink:0}.top-name{flex:1;font-weight:600}.top-qty{color:var(--ink-soft);font-size:.88rem}.top-revenue{font-weight:700}@media (max-width: 640px){.admin-header{gap:.75rem;padding:.75rem;flex-wrap:nowrap;overflow:hidden}.admin-header>strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:34vw;font-size:.95rem}.admin-header nav{gap:.85rem;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}.admin-header nav::-webkit-scrollbar{display:none}.admin-header a{font-size:.88rem;white-space:nowrap}.admin-header .link{padding:.35rem 0;font-size:.85rem}.page-title-row{flex-direction:column;align-items:stretch;gap:.6rem}.range-picker{max-width:none}.order-summary{grid-template-columns:auto 1fr auto;grid-template-areas:"num customer total" "num badge badge";row-gap:.35rem;padding:.75rem}.order-summary .order-number{grid-area:num}.order-summary .order-customer{grid-area:customer;min-width:0}.order-summary .order-customer small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;max-width:100%}.order-summary .badge{grid-area:badge;justify-self:start}.order-summary .order-total{grid-area:total}.order-actions{flex-wrap:wrap;gap:.5rem}.order-actions .btn-primary{flex:1 1 100%}.admin-product-list li{flex-wrap:wrap}.admin-product-list .info{flex:1 1 calc(100% - 66px)}.admin-product-list .row-actions{flex:1 1 100%;justify-content:flex-end;border-top:1px dashed var(--line);padding-top:.4rem;margin-top:.2rem}.kpi-grid{grid-template-columns:1fr 1fr}.kpi-value{font-size:1.1rem}.bar-chart{height:110px;gap:2px}.cat-manager{flex-direction:column}.cat-manager button{padding:.6rem}.editor-add-option{flex-wrap:wrap}.editor-add-option input:first-child{flex:1 1 100%}.editor-new-group-row{flex-direction:column;align-items:flex-start;gap:.6rem}.settings-page{max-width:none}.color-row{gap:.5rem}}
