:root{--bg: #fffdf2;--bg-soft: #fff8d6;--fg: #15110a;--fg-soft: #2c241a;--muted: #7a6f55;--card-bg: #ffffff;--border: #ece1a8;--border-strong: #d9c75c;--accent: #ffd400;--accent-strong: #f5c400;--accent-ink: #15110a;--ink: #15110a;--ink-soft: #2c241a;--danger: #c0392b;--danger-fg-on-dark: #ff6b5a;--danger-bg: #fce8e6;--danger-border: #f1b9b2;--danger-shadow: #9a2b1e;--ok: #2e7d32;--ok-bg: #e6f4ea;--ok-border: #bcdfc4;--info-bg: #eef2ff;--info-border: #c7d2fe;--info-fg: #3730a3;--neutral-bg: #fafafa;--neutral-bg-hover: #f3f4f6;--neutral-fg: #6b7280;--neutral-fg-strong: #374151;--neutral-border: #e5e7eb;--placeholder-fg: #9ca3af;--input-bg: #ffffff;--table-bg: #ffffff;--chip-bg: #ffffff;--btn-disabled-bg: #ece6cd;--btn-disabled-fg: #8e8770;--header-bg: #15110a;--header-fg: #ffffff;--header-nav-fg: #f3eecf;--header-hover-bg: rgba(255, 212, 0, .18);--header-active-bg: rgba(255, 212, 0, .16);--row-hover-bg: rgba(255, 212, 0, .05);--hero-from: #15110a;--hero-to: #2a2415;--hero-fg: #ffffff;--hero-label-fg: #cfc8a3;--hero-glow: rgba(255, 212, 0, .35);--wallet-hero-label-fg: #cfc8a3;--wallet-hero-glow: rgba(255, 212, 0, .32);--wallet-hero-debt-glow: rgba(192, 57, 43, .45);--dropzone-active-bg: #fffae0;--dialog-overlay: rgba(15, 13, 6, .55);--dialog-bg: #ffffff;--dialog-footer-bg: #fafaf6;--dialog-shadow: 0 25px 50px -12px rgba(15, 13, 6, .35), 0 0 0 1px rgba(15, 13, 6, .05);--body-glow-1: rgba(255, 212, 0, .18);--body-glow-2: rgba(255, 212, 0, .12);--shadow-sm: 0 1px 2px rgba(21, 17, 10, .06);--shadow-md: 0 4px 12px rgba(21, 17, 10, .08);--shadow-lg: 0 10px 30px rgba(21, 17, 10, .12);--radius: 10px;--radius-lg: 14px;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.5rem;--space-6: 2rem;--space-7: 3rem;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color-scheme:light}@media (prefers-color-scheme: dark){:root{color-scheme:dark;--bg: #14110a;--bg-soft: #1f1a0e;--fg: #f4ecd4;--fg-soft: #e6dcbd;--muted: #9c9276;--card-bg: #1c1810;--border: #3a3220;--border-strong: #786735;--ink: #f4ecd4;--ink-soft: #c8bf9c;--accent-ink: #15110a;--danger: #ff6b5a;--danger-bg: rgba(192, 57, 43, .18);--danger-border: rgba(255, 107, 90, .4);--danger-shadow: #5a1a12;--ok: #6cd07a;--ok-bg: rgba(46, 125, 50, .2);--ok-border: rgba(108, 208, 122, .35);--info-bg: rgba(67, 56, 202, .18);--info-border: rgba(165, 180, 252, .35);--info-fg: #c7d2fe;--neutral-bg: #1f1b12;--neutral-bg-hover: #2a2417;--neutral-fg: #b0a78a;--neutral-fg-strong: #e6dcbd;--neutral-border: #3a3220;--placeholder-fg: #7a7158;--input-bg: #1f1a0f;--table-bg: #1c1810;--chip-bg: #1f1a0f;--btn-disabled-bg: #2d2718;--btn-disabled-fg: #6f6648;--header-bg: #0d0a04;--header-fg: #ffffff;--header-nav-fg: #ddd29c;--header-hover-bg: rgba(255, 212, 0, .18);--header-active-bg: rgba(255, 212, 0, .16);--row-hover-bg: rgba(255, 212, 0, .07);--hero-from: #0d0a04;--hero-to: #1c180c;--hero-fg: #ffffff;--hero-label-fg: #cfc8a3;--hero-glow: rgba(255, 212, 0, .32);--wallet-hero-label-fg: #cfc8a3;--wallet-hero-glow: rgba(255, 212, 0, .28);--wallet-hero-debt-glow: rgba(255, 107, 90, .26);--dropzone-active-bg: rgba(255, 212, 0, .12);--dialog-overlay: rgba(0, 0, 0, .65);--dialog-bg: #1c1810;--dialog-footer-bg: #181408;--dialog-shadow: 0 25px 50px -12px rgba(0, 0, 0, .7), 0 0 0 1px rgba(255, 212, 0, .08);--body-glow-1: rgba(255, 212, 0, .07);--body-glow-2: rgba(255, 212, 0, .05);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 4px 12px rgba(0, 0, 0, .35);--shadow-lg: 0 10px 30px rgba(0, 0, 0, .5)}}*{box-sizing:border-box}body{margin:0;background:radial-gradient(1100px 600px at 100% -10%,var(--body-glow-1),transparent 60%),radial-gradient(900px 500px at -10% 110%,var(--body-glow-2),transparent 60%),var(--bg);background-attachment:fixed;color:var(--fg);min-height:100vh}a{color:var(--ink);text-decoration-color:var(--accent-strong);text-underline-offset:2px}a:hover{text-decoration-thickness:2px}h1,h2,h3,h4{color:var(--ink);letter-spacing:-.01em}h2{margin:0 0 var(--space-4)}h3{margin:0 0 var(--space-3)}.page-head{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--space-3);margin-bottom:var(--space-4)}.page-head h2{margin-bottom:0}header.app-header{background:var(--header-bg);color:var(--header-fg);padding:var(--space-3) var(--space-5);display:flex;align-items:center;gap:var(--space-4);box-shadow:var(--shadow-md);border-bottom:3px solid var(--accent);position:sticky;top:0;z-index:50}header.app-header .brand{display:flex;align-items:center;gap:var(--space-3);text-decoration:none;color:var(--header-fg)}header.app-header .brand img{width:36px;height:36px;display:block;filter:drop-shadow(0 1px 2px rgba(0,0,0,.35))}header.app-header h1{font-size:1.35rem;margin:0;color:var(--header-fg);font-weight:800;letter-spacing:.01em}header.app-header h1 .accent{color:var(--accent)}header.app-header nav{display:flex;gap:var(--space-1);margin-left:auto;align-items:center;flex-wrap:wrap}header.app-header nav a,header.app-header nav button{color:var(--header-nav-fg);background:transparent;border:0;text-decoration:none;font-size:.95rem;cursor:pointer;padding:var(--space-2) var(--space-3);border-radius:6px;font-family:inherit;transition:background .12s,color .12s}header.app-header nav a:hover,header.app-header nav button:hover{background:var(--header-hover-bg);color:var(--accent)}header.app-header nav a.active{background:var(--header-active-bg);color:var(--accent)}header.app-header .balance{background:var(--accent);color:var(--accent-ink);padding:var(--space-1) var(--space-3);border-radius:999px;font-weight:700;font-size:.9rem;box-shadow:0 0 0 2px #ffd40040;transition:box-shadow .12s ease}header.app-header .balance:hover,header.app-header .balance:focus-visible{background:var(--accent);color:var(--accent-ink);box-shadow:0 0 0 4px #ffd40059}header.app-header .balance--debt{background:var(--danger-bg);color:var(--danger);box-shadow:0 0 0 2px var(--danger-border)}header.app-header .balance--debt:hover,header.app-header .balance--debt:focus-visible{background:var(--danger-bg);color:var(--danger);box-shadow:0 0 0 4px var(--danger-border)}main{padding:var(--space-5);max-width:1100px;margin:0 auto}.card{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-5);box-shadow:var(--shadow-sm)}.card.elevated{box-shadow:var(--shadow-md)}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:var(--space-4)}.product-card{display:flex;flex-direction:column;gap:var(--space-2);background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-4);box-shadow:var(--shadow-sm);transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}.product-card__desc{margin:0}.product-card__meta{margin-top:auto;display:flex;flex-direction:column;gap:var(--space-1)}.product-card__placeholder{height:160px;border-radius:var(--radius-md, 8px);background:repeating-linear-gradient(45deg,var(--bg-soft) 0 10px,transparent 10px 20px),var(--card-bg);border:1px dashed var(--border)}.product-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:var(--border-strong)}.product-card img{width:100%;height:160px;object-fit:contain;border-radius:8px;background:transparent}.product-card h3{margin:0;font-size:1.1rem}.product-card .price{font-weight:800;color:var(--accent-ink);font-size:1.2rem;background:var(--accent);display:inline-block;padding:var(--space-1) var(--space-2);border-radius:6px;align-self:flex-start}.product-card button{margin-top:0}button.primary,a.primary{background:var(--accent);color:var(--accent-ink);border:0;padding:var(--space-2) var(--space-4);border-radius:8px;font-size:1rem;font-weight:700;cursor:pointer;box-shadow:0 2px 0 var(--accent-strong);transition:transform 80ms ease,box-shadow 80ms ease,background .12s ease}button.primary:hover,a.primary:hover{background:var(--accent-strong)}button.primary:active,a.primary:active{transform:translateY(1px);box-shadow:0 1px 0 var(--accent-strong)}button.primary:disabled{background:var(--btn-disabled-bg);color:var(--btn-disabled-fg);cursor:not-allowed;box-shadow:none}button.ghost{background:transparent;color:var(--ink);border:1px solid var(--border-strong);padding:var(--space-2) var(--space-4);border-radius:8px;cursor:pointer;font-family:inherit;font-size:.95rem;transition:background .12s ease,border-color .12s ease}button.ghost:hover{background:var(--bg-soft);border-color:var(--accent)}button.danger{background:transparent;color:var(--danger);border:1px solid var(--danger-border);padding:var(--space-2) var(--space-4);border-radius:8px;cursor:pointer;font-family:inherit;font-size:.95rem}button.danger:hover{background:var(--danger-bg)}input,textarea,select{width:100%;padding:var(--space-2) var(--space-3);border:1px solid var(--border);border-radius:8px;font-size:1rem;font-family:inherit;background:var(--input-bg);color:var(--fg);transition:border-color .12s ease,box-shadow .12s ease}input:focus,textarea:focus,select:focus{outline:0;border-color:var(--accent-strong);box-shadow:0 0 0 3px #ffd4004d}input::placeholder,textarea::placeholder{color:var(--placeholder-fg)}input[type=checkbox]{width:auto;accent-color:var(--accent-strong)}label{display:block;margin-bottom:var(--space-2);font-weight:600;color:var(--ink-soft)}.row{display:flex;gap:var(--space-4);align-items:center;flex-wrap:wrap}.row>*{flex:1;min-width:0}.alert{padding:var(--space-3) var(--space-4);border-radius:8px;margin-bottom:var(--space-4)}.alert.error{background:var(--danger-bg);color:var(--danger);border:1px solid var(--danger-border)}.alert.ok{background:var(--ok-bg);color:var(--ok);border:1px solid var(--ok-border)}.alert.info{background:var(--bg-soft);color:var(--ink);border:1px solid var(--border-strong)}.table-wrap{overflow-x:auto;border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}table{width:100%;border-collapse:collapse;background:var(--table-bg);border-radius:var(--radius-lg);overflow:hidden}th,td{padding:var(--space-3) var(--space-4);text-align:left;border-bottom:1px solid var(--border)}th{background:var(--bg-soft);color:var(--ink);font-size:.85rem;text-transform:uppercase;letter-spacing:.05em}th,td.num,td.when{white-space:nowrap}td.num{text-align:right;font-variant-numeric:tabular-nums}th.num{text-align:right}tr:last-child td{border-bottom:0}tr:hover td{background:var(--row-hover-bg)}.muted{color:var(--muted)}.center{text-align:center}.dropzone{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-5);border-radius:12px;background-color:var(--neutral-bg);background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='100%25' height='100%25'><rect width='100%25' height='100%25' fill='none' stroke='%23c4c4c4' stroke-width='2' stroke-dasharray='10 8' rx='12' ry='12'/></svg>");background-size:100% 100%;background-repeat:no-repeat;color:var(--neutral-fg);text-align:center;cursor:pointer;transition:background-color .12s ease,transform .12s ease;width:100%;height:100%;min-height:160px}.dropzone:hover{background-color:var(--neutral-bg-hover);background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='100%25' height='100%25'><rect width='100%25' height='100%25' fill='none' stroke='%239ca3af' stroke-width='2' stroke-dasharray='10 8' rx='12' ry='12'/></svg>")}.dropzone.dragging{background-color:var(--dropzone-active-bg);background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='100%25' height='100%25'><rect width='100%25' height='100%25' fill='none' stroke='%23f5c400' stroke-width='2.5' stroke-dasharray='10 8' rx='12' ry='12'/></svg>");transform:scale(1.005)}.dropzone.busy{opacity:.7;cursor:progress}.dropzone.compact{padding:var(--space-4);min-height:96px;gap:var(--space-2)}.dropzone input[type=file]{display:none}.dropzone .dz-icon{width:32px;height:32px;color:var(--neutral-fg);display:block}.dropzone .dz-title{font-weight:500;color:var(--neutral-fg-strong);font-size:1rem}.dropzone .dz-hint{font-size:.85rem;color:var(--placeholder-fg)}.dropzone .dz-preview{display:flex;align-items:center;gap:var(--space-3);width:100%}.dropzone .dz-preview img{width:64px;height:64px;object-fit:contain;border-radius:8px;flex-shrink:0;border:1px solid var(--neutral-border);background:var(--card-bg)}.dropzone .dz-preview .dz-info{flex:1;text-align:left;min-width:0}.dropzone .dz-preview .dz-info .dz-name{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--neutral-fg-strong)}.amount--debt{color:var(--danger);font-weight:600}.tag{display:inline-block;padding:var(--space-1) var(--space-2);border-radius:999px;background:var(--bg-soft);color:var(--ink);font-size:.8rem;border:1px solid var(--border-strong)}.hero{background:linear-gradient(135deg,var(--hero-from) 0%,var(--hero-to) 100%);color:var(--hero-fg);padding:var(--space-6) var(--space-6);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);position:relative;overflow:hidden}.hero:after{content:"";position:absolute;top:-40%;right:-10%;width:360px;height:360px;background:radial-gradient(closest-side,var(--hero-glow),transparent);pointer-events:none}.hero h2{color:var(--hero-fg);font-size:2rem;margin-bottom:var(--space-2);position:relative}.hero p{color:var(--hero-label-fg);position:relative}.hero .hero-logo{width:80px;height:80px;margin-bottom:var(--space-4);display:block;position:relative;filter:drop-shadow(0 4px 12px rgba(255,212,0,.4))}.admin-new-product{margin-bottom:var(--space-5)}.admin-new-product__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,360px);gap:var(--space-5);align-items:stretch}@media (max-width: 720px){.admin-new-product__grid{grid-template-columns:1fr}}.admin-new-product__fields{display:grid;grid-template-columns:2fr 1fr 1fr;gap:var(--space-3);grid-template-rows:auto 1fr;align-content:start}.admin-new-product__description{grid-column:1 / -1}.admin-new-product__description textarea{height:100%;min-height:160px;resize:vertical}.admin-new-product__image{display:flex;flex-direction:column;min-height:100%}.admin-new-product__image .dropzone{flex:1;min-height:200px}.admin-new-product__actions{margin-top:var(--space-4);display:flex;justify-content:flex-start}.field{display:flex;flex-direction:column}.field label{margin-bottom:var(--space-1)}.row-actions{display:inline-flex;gap:var(--space-2);align-items:center;flex-wrap:nowrap}.row-actions button{white-space:nowrap}.admin-products-table td{vertical-align:middle}.product-name{display:flex;flex-direction:column;gap:var(--space-1)}.product-name .muted{font-size:.9em}.image-cell{display:flex;align-items:center;justify-content:center;width:64px;height:64px;border-radius:10px;background-color:var(--neutral-bg);background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='100%25' height='100%25'><rect width='100%25' height='100%25' fill='none' stroke='%23c4c4c4' stroke-width='2' stroke-dasharray='6 5' rx='10' ry='10'/></svg>");background-size:100% 100%;background-repeat:no-repeat;cursor:pointer;overflow:hidden;transition:background-color .12s ease,transform .12s ease}.image-cell:hover{background-color:var(--neutral-bg-hover)}.image-cell.dragging{background-color:var(--dropzone-active-bg);background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='100%25' height='100%25'><rect width='100%25' height='100%25' fill='none' stroke='%23f5c400' stroke-width='2' stroke-dasharray='6 5' rx='10' ry='10'/></svg>");transform:scale(1.04)}.image-cell.busy{opacity:.6;cursor:progress}.image-cell img{width:100%;height:100%;object-fit:contain;display:block;border-radius:10px}.image-cell__placeholder{font-size:1.5rem;color:var(--placeholder-fg);font-weight:500;line-height:1}.wallet{display:flex;flex-direction:column}.wallet>*+*{margin-top:var(--space-5)}.wallet>:is(h2,h3)+*{margin-top:var(--space-4)}.wallet>:is(h2,h3){margin-bottom:0}.wallet-top{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4);align-items:stretch}.wallet-top>*{margin:0}@media (max-width: 720px){.wallet-top{grid-template-columns:1fr}}.wallet-topup__text{margin:0;white-space:pre-line}.wallet-hero{background:linear-gradient(135deg,var(--hero-from) 0%,var(--hero-to) 100%);color:var(--hero-fg);padding:var(--space-5) var(--space-5);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);position:relative;overflow:hidden}.wallet-hero:after{content:"";position:absolute;top:-30%;right:-10%;width:320px;height:320px;background:radial-gradient(closest-side,var(--wallet-hero-glow),transparent);pointer-events:none;z-index:0}.wallet-hero__label{position:relative;z-index:1;font-size:.85rem;text-transform:uppercase;letter-spacing:.08em;color:var(--wallet-hero-label-fg);margin-bottom:var(--space-1)}.wallet-hero__amount{position:relative;z-index:1;font-size:2.5rem;font-weight:800;color:var(--accent);letter-spacing:-.02em;line-height:1.1}.wallet-hero--debt{background:linear-gradient(135deg,var(--hero-from) 0%,var(--hero-to) 45%,var(--danger-shadow) 100%)}.wallet-hero--debt:after{background:radial-gradient(closest-side,var(--wallet-hero-debt-glow),transparent)}.wallet-hero--debt .wallet-hero__amount{color:var(--danger-fg-on-dark)}.wallet-hero__note{position:relative;z-index:1;margin:var(--space-2) 0 0;max-width:34ch;font-size:.9rem;color:var(--wallet-hero-label-fg)}.wallet-topup h3,.wallet-topup__reference{margin-bottom:var(--space-4)}.wallet-topup__label{font-size:.875rem;margin-bottom:var(--space-2)}.wallet-topup__code-row{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.wallet-topup__code{flex:1 1 auto;min-width:0;padding:var(--space-2) var(--space-3);background:var(--bg-soft);border:1px solid var(--border-strong);border-radius:var(--radius);font-size:1.05rem;font-weight:600;white-space:nowrap;overflow-x:auto}.wallet-topup__hint{font-size:.875rem;margin:var(--space-2) 0 0}.wallet-methods{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}@media (max-width: 520px){.wallet-methods{grid-template-columns:1fr}}.wallet-method h4{margin:0 0 var(--space-1);font-size:.9375rem}.wallet-method__value{margin:0;font-weight:600}.wallet-warning{margin:var(--space-3) 0 0;padding:var(--space-2) var(--space-3);background:var(--danger-bg);color:var(--danger);border:1px solid var(--danger-border);border-radius:var(--radius);font-size:.875rem;font-weight:600}.chip{background:var(--chip-bg);border:1.5px solid var(--border);color:var(--ink);padding:var(--space-2) var(--space-4);border-radius:999px;font-size:.95rem;font-weight:600;cursor:pointer;font-family:inherit;transition:background .12s ease,border-color .12s ease,transform 80ms ease}.chip:hover{background:var(--bg-soft);border-color:var(--border-strong)}.chip.active{background:var(--accent);border-color:var(--accent-strong);color:var(--accent-ink);box-shadow:0 1px 0 var(--accent-strong)}.empty-state{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);padding:var(--space-6) var(--space-4);background:var(--card-bg);border:1px dashed var(--border-strong);border-radius:var(--radius-lg);text-align:center}.empty-state__icon{font-size:2.5rem;line-height:1}.tag-topup{background:var(--ok-bg);border-color:var(--ok-border);color:var(--ok)}.tag-purchase{background:var(--danger-bg);border-color:var(--danger-border);color:var(--danger)}.tag-refund{background:var(--bg-soft);border-color:var(--border-strong);color:var(--ink)}.tag-admin_adjustment{background:var(--info-bg);border-color:var(--info-border);color:var(--info-fg)}.tag-pending{margin-left:var(--space-2);background:var(--neutral-bg);border-color:var(--neutral-border);color:var(--neutral-fg)}.dialog-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:var(--dialog-overlay);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:var(--space-4);animation:dialog-fade-in .14s ease-out}@keyframes dialog-fade-in{0%{opacity:0}to{opacity:1}}.dialog-panel{background:var(--dialog-bg);border:1px solid var(--border);border-radius:14px;box-shadow:var(--dialog-shadow);width:100%;max-width:460px;max-height:calc(100vh - 2rem);display:flex;flex-direction:column;overflow:hidden;animation:dialog-scale-in .16s cubic-bezier(.16,1,.3,1)}@keyframes dialog-scale-in{0%{opacity:0;transform:scale(.96) translateY(4px)}to{opacity:1;transform:scale(1) translateY(0)}}.dialog-header{padding:var(--space-5) var(--space-5) var(--space-2)}.dialog-title{font-size:1.1rem;font-weight:700;margin:0 0 var(--space-1);color:var(--ink);letter-spacing:-.01em}.dialog-description{margin:0;font-size:.92rem;color:var(--muted);line-height:1.45}.dialog-body{padding:var(--space-3) var(--space-5);overflow-y:auto}.dialog-footer{padding:var(--space-3) var(--space-5) var(--space-4);display:flex;justify-content:flex-end;gap:var(--space-2);border-top:1px solid var(--border);background:var(--dialog-footer-bg)}.dialog-form{display:flex;flex-direction:column;gap:var(--space-3)}button.danger-solid{background:var(--danger);color:#fff;border:0;padding:var(--space-2) var(--space-4);border-radius:8px;font-size:.95rem;font-weight:600;cursor:pointer;font-family:inherit;box-shadow:0 2px 0 var(--danger-shadow);transition:background .12s ease,transform 80ms ease}button.danger-solid:hover{filter:brightness(1.05)}button.danger-solid:active{transform:translateY(1px);box-shadow:0 1px 0 var(--danger-shadow)}@media (prefers-color-scheme: dark){.dropzone{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='100%25' height='100%25'><rect width='100%25' height='100%25' fill='none' stroke='%234a4128' stroke-width='2' stroke-dasharray='10 8' rx='12' ry='12'/></svg>")}.dropzone:hover{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='100%25' height='100%25'><rect width='100%25' height='100%25' fill='none' stroke='%23786735' stroke-width='2' stroke-dasharray='10 8' rx='12' ry='12'/></svg>")}.dropzone.dragging{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='100%25' height='100%25'><rect width='100%25' height='100%25' fill='none' stroke='%23f5c400' stroke-width='2.5' stroke-dasharray='10 8' rx='12' ry='12'/></svg>")}.image-cell{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='100%25' height='100%25'><rect width='100%25' height='100%25' fill='none' stroke='%234a4128' stroke-width='2' stroke-dasharray='6 5' rx='10' ry='10'/></svg>")}.image-cell.dragging{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='100%25' height='100%25'><rect width='100%25' height='100%25' fill='none' stroke='%23f5c400' stroke-width='2' stroke-dasharray='6 5' rx='10' ry='10'/></svg>")}}.login-providers{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);margin-top:var(--space-6)}.login-providers a{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-width:14rem;text-align:center}.login-provider-logo{height:1.4em;width:auto}.login-hint{display:flex;flex-direction:column;gap:var(--space-1);max-width:30rem;margin:var(--space-6) auto 0;padding:var(--space-4) var(--space-4);text-align:left;border:1px dashed var(--border);border-left:4px solid #b8860b;border-radius:var(--radius-lg);background:#b8860b14}.login-hint strong{font-size:.8rem;letter-spacing:.06em;text-transform:uppercase;opacity:.75}.login-hint span{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;overflow-wrap:anywhere}.dialog-illustration{display:block;max-height:40vh;max-width:60%;margin:0 auto}.tabbar{display:none}@media (max-width: 720px){header.app-header{padding:var(--space-2) var(--space-4);gap:var(--space-2);padding-top:max(var(--space-2),env(safe-area-inset-top))}header.app-header .nav-links{display:none}header.app-header nav{gap:var(--space-2)}.tabbar{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;position:fixed;inset:auto 0 0 0;z-index:60;background:var(--header-bg);border-top:1px solid rgba(255,255,255,.08);padding-bottom:env(safe-area-inset-bottom)}.tabbar a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:56px;padding:var(--space-2) var(--space-1);color:var(--header-fg);text-decoration:none;font-size:.72rem;opacity:.65;-webkit-tap-highlight-color:transparent}.tabbar a.active{opacity:1;color:var(--accent)}.tabbar svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}main{padding-bottom:calc(56px + env(safe-area-inset-bottom) + var(--space-5))}button,.primary,.ghost,.danger,input:not([type=checkbox]),select,textarea{min-height:44px}input[type=checkbox]{width:22px;height:22px}.row-actions button{padding-inline:var(--space-4)}header.app-header .brand,header.app-header .balance{min-height:44px;display:inline-flex;align-items:center}}.subnav{display:none}@media (max-width: 720px){.subnav{display:flex;gap:var(--space-2);overflow-x:auto;scrollbar-width:none}.subnav::-webkit-scrollbar{display:none}.subnav a{flex:none;padding:var(--space-2) var(--space-4);min-height:44px;display:inline-flex;align-items:center;border:1px solid var(--border);border-radius:999px;background:var(--card-bg);color:var(--ink);text-decoration:none;white-space:nowrap}.subnav a.active{background:var(--accent);border-color:var(--accent);color:#14140f;font-weight:700}}.check{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;margin:calc(var(--space-2) * -1);cursor:pointer}@media (max-width: 720px){.table-wrap{overflow-x:visible;box-shadow:none}.table-wrap table{background:none}.table-wrap thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.table-wrap table,.table-wrap tbody,.table-wrap tr,.table-wrap td{display:block;width:auto}.table-wrap tr{background:var(--table-bg);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--space-3) var(--space-4);margin-bottom:var(--space-3)}.table-wrap tr:hover td{background:none}.table-wrap tr:last-child{margin-bottom:0}.table-wrap td{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);border:0;padding:var(--space-1) 0;white-space:normal;text-align:right}.table-wrap td:before{content:attr(data-label);flex:none;font-size:.78rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);text-align:left}.table-wrap td:not([data-label]){justify-content:flex-start}.table-wrap td:not([data-label]) .row-actions{width:100%}.table-wrap td:not([data-label]) .row-actions button{flex:1}}.shop-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:var(--space-5);align-items:start}.stepper{display:inline-flex;align-items:center;gap:var(--space-1);border:1px solid var(--border-strong);border-radius:999px;padding:var(--space-1);background:var(--card-bg)}.stepper button{min-width:36px;min-height:36px;padding:0;border-radius:999px;font-size:1.1rem;line-height:1}.stepper span{min-width:2ch;text-align:center;font-weight:700;font-variant-numeric:tabular-nums}.product-card .stepper{align-self:stretch;justify-content:space-between}.cart{position:sticky;top:calc(var(--space-5) + 60px);display:flex;flex-direction:column;gap:var(--space-3);background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--space-4)}.cart__head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3)}.cart__head h3{margin:0}.cart__close{display:none}.cart__empty{margin:0}.cart__lines{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-3)}.cart__lines li{display:grid;grid-template-columns:44px minmax(0,1fr);gap:var(--space-3);padding-bottom:var(--space-3);border-bottom:1px solid var(--border)}.cart__lines li:last-child{border-bottom:0;padding-bottom:0}.cart__thumb{width:44px;height:44px}.cart__thumb img{width:100%;height:100%;object-fit:contain}.cart__thumb-placeholder{width:100%;height:100%;border-radius:8px;border:1px dashed var(--border);background:var(--bg-soft)}.cart__line-main{display:flex;flex-direction:column;min-width:0}.cart__name{font-weight:600;overflow-wrap:anywhere}.cart__line-side{grid-column:2;display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap}.cart__line-total{font-weight:700;margin-left:auto;font-variant-numeric:tabular-nums}.cart__remove{flex:none}.cart__sum{display:flex;justify-content:space-between;gap:var(--space-4)}.cart__short{color:var(--danger);font-weight:700}.cart__debt{margin:0;color:var(--danger);font-size:.9rem}.cart__debt a{color:inherit;text-decoration-color:currentColor}.cart__checkout{width:100%}button.link{background:none;border:0;padding:0;color:var(--muted);text-decoration:underline;cursor:pointer;font:inherit}button.link:hover{color:var(--ink)}.cart-bar,.cart__scrim{display:none}@media (max-width: 900px) and (min-width: 721px){.shop-layout{grid-template-columns:minmax(0,1fr) 280px}}@media (max-width: 720px){.shop-layout{grid-template-columns:1fr}.cart{position:fixed;inset:auto 0 0 0;z-index:70;max-height:80vh;overflow-y:auto;border-radius:var(--radius-lg) var(--radius-lg) 0 0;border-bottom:0;box-shadow:var(--shadow-lg);padding-bottom:calc(var(--space-4) + env(safe-area-inset-bottom));transform:translateY(101%);transition:transform .18s ease}.cart--open{transform:translateY(0)}.cart__head{padding-right:44px}.cart:before{content:"";display:block;width:40px;height:4px;border-radius:999px;background:var(--border-strong);margin:0 auto var(--space-2)}.cart__close{display:block;position:absolute;top:var(--space-2);right:var(--space-2);min-width:44px;min-height:44px;border:0;background:none;font-size:1.6rem;line-height:1;color:var(--muted)}.cart:not(.cart--open){pointer-events:none}.cart__scrim{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:65;background:#00000073}.cart-bar{display:flex;align-items:center;gap:var(--space-3);position:fixed;left:var(--space-3);right:var(--space-3);bottom:calc(56px + env(safe-area-inset-bottom) + var(--space-2));z-index:62;min-height:52px;padding:var(--space-2) var(--space-4);border:0;border-radius:999px;background:var(--accent);color:#14140f;font-weight:700;box-shadow:var(--shadow-lg)}.cart-bar strong{margin-left:auto}.cart-bar__count{display:inline-flex;align-items:center;justify-content:center;min-width:26px;height:26px;border-radius:999px;background:#14140f;color:var(--accent)}.shop-layout{padding-bottom:var(--space-6)}}.product-card__stock{margin:0;min-height:2.6em;display:flex;flex-direction:column;gap:2px;color:var(--muted);font-size:.9rem}.product-card__stock--out>span:first-child{color:var(--danger);font-weight:600}.product-card__stock-extra{font-size:.85rem}.inline-check{display:flex;align-items:center;gap:var(--space-2);margin:0 0 var(--space-3);font-weight:600;color:var(--ink-soft)}.inline-check input{width:auto;min-width:20px;min-height:20px}.field__hint{display:block;margin-top:var(--space-1);font-size:.85rem}.admin-new-product__stock{border-top:1px solid var(--border);margin-top:var(--space-4);padding-top:var(--space-4)}.stock-fields{display:flex;flex-wrap:wrap;gap:var(--space-4)}.stock-fields__place{display:flex;gap:var(--space-3);flex:1 1 240px}.stock-fields__place .field{flex:1;min-width:0}.shelf-list{display:flex;flex-wrap:wrap;gap:var(--space-1) var(--space-3)}.shelf{font-size:.9rem;color:var(--muted);white-space:nowrap}.shelf strong{color:var(--ink);font-variant-numeric:tabular-nums}.shelf--front strong{color:var(--ink)}.chips{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-4)}.shrinkage{margin-bottom:var(--space-5)}.shrinkage--bad{border-color:var(--danger-border)}.shrinkage h3{margin-bottom:var(--space-2)}.shrinkage__headline{margin:0 0 var(--space-2)}.shrinkage--bad .shrinkage__headline strong{color:var(--danger)}.shrinkage__list{margin:0 0 var(--space-2);padding-left:var(--space-5);color:var(--muted)}.stock-table td.num{vertical-align:top}.shelf-cell{display:inline-flex;flex-direction:column;align-items:flex-end}.shelf-cell strong{font-size:1.05rem}.shelf-cell--low strong{color:var(--danger)}.shelf-cell__counted{font-size:.75rem;white-space:nowrap}.stock-row--low td:first-child{box-shadow:inset 3px 0 0 var(--accent)}.places{margin-top:var(--space-4)}.places__body{margin-top:var(--space-3)}.places__list{list-style:none;margin:0 0 var(--space-4);padding:0}.places__list li{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap;padding:var(--space-2) 0;border-bottom:1px solid var(--border)}.places__list li:last-child{border-bottom:0}.places__list .tag{margin-left:var(--space-2)}.round__places{display:flex;flex-wrap:wrap;gap:var(--space-4);margin-bottom:var(--space-4)}.round__places .field{flex:1 1 200px}.round__resume{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap}.round__list{list-style:none;margin:var(--space-4) 0;padding:0;display:flex;flex-direction:column;gap:var(--space-3)}.round__row{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--space-3) var(--space-4)}.round__row--done{border-color:var(--border-strong);background:var(--bg-soft)}.round__head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3)}.round__name{font-weight:600;overflow-wrap:anywhere}.round__tag{margin-left:var(--space-2);font-size:.7rem}.round__entry{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap;margin-top:var(--space-2)}.round__matches{padding:var(--space-2) var(--space-3)}.round__diff{font-weight:600}.round__diff--missing{color:var(--danger)}.round__take{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap;margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px dashed var(--border)}.round__hint{font-size:.85rem}.round__buy{margin:var(--space-4) 0}.round__buy ul{margin:0;padding-left:var(--space-5)}.round__submit{position:sticky;bottom:var(--space-3);display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);margin-top:var(--space-4);padding:var(--space-3) var(--space-4);background:var(--card-bg);border:1px solid var(--border-strong);border-radius:999px;box-shadow:var(--shadow-lg)}.numfield{display:inline-flex;align-items:center;gap:var(--space-1);border:1px solid var(--border-strong);border-radius:999px;padding:var(--space-1);background:var(--input-bg)}.numfield__prefix{padding:0 var(--space-2);color:var(--muted);font-size:.85rem;white-space:nowrap}.numfield button{min-width:40px;min-height:40px;padding:0;border:0;border-radius:999px;background:var(--bg-soft);color:var(--ink);font-size:1.2rem;line-height:1;cursor:pointer}.numfield button:hover{background:var(--accent);color:var(--accent-ink)}.numfield input{width:4.5ch;border:0;background:none;text-align:center;font-weight:700;font-size:1.05rem;font-variant-numeric:tabular-nums;padding:0}.numfield input:focus{outline:0;box-shadow:none}.numfield input::-webkit-outer-spin-button,.numfield input::-webkit-inner-spin-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;margin:0}.numfield input[type=number]{-webkit-appearance:textfield;appearance:textfield;-moz-appearance:textfield}.stock-result{border:1px solid var(--ok-border);background:var(--ok-bg);border-radius:var(--radius-lg);padding:var(--space-4);margin-bottom:var(--space-4)}.stock-result h3{margin-bottom:var(--space-2)}.stock-result p{margin:0 0 var(--space-2)}.stock-result ul{margin:0 0 var(--space-3);padding-left:var(--space-5)}.stock-result--missing{border-color:var(--danger-border);background:var(--danger-bg)}.stock-result--missing strong{color:var(--danger)}.history__list{list-style:none;margin:var(--space-4) 0 0;padding:0;display:flex;flex-direction:column;gap:var(--space-2)}.history__event{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.history__summary{display:flex;align-items:center;gap:var(--space-3);width:100%;min-height:48px;padding:var(--space-2) var(--space-4);border:0;background:none;font:inherit;color:var(--fg);text-align:left;cursor:pointer;flex-wrap:wrap}.history__summary:hover{background:var(--row-hover-bg)}.history__what{flex:1;min-width:0}.history__missing{color:var(--danger)}.history__when{white-space:nowrap;font-size:.85rem}.history__detail{padding:0 var(--space-4) var(--space-3);border-top:1px solid var(--border)}.history__detail p{margin:var(--space-2) 0}.history__detail ul{list-style:none;margin:0;padding:0}.history__detail li{padding:var(--space-1) 0;font-size:.95rem}.history__product{font-weight:600}.history__up{color:var(--ok);font-weight:700;font-variant-numeric:tabular-nums}.history__down{color:var(--danger);font-weight:700;font-variant-numeric:tabular-nums}.dialog-description{white-space:pre-line}@media (max-width: 720px){.subnav{-webkit-mask-image:linear-gradient(to right,#000 85%,transparent);mask-image:linear-gradient(to right,#000 85%,transparent)}.round__submit{bottom:calc(56px + env(safe-area-inset-bottom) + var(--space-2))}.numfield button{min-width:44px;min-height:44px}.stock-fields__place{flex:1 1 100%}}.import-group{margin-top:var(--space-5)}.import-group h3{margin-bottom:var(--space-2)}.import-confirm{margin-top:var(--space-5)}
