:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f6f0e8;--surface:#fffdf8;--ink:#2c241c;--muted:#6b5c4d;--accent:#c17f38;--accent-dark:#8f5a22;--success:#3d7a4a;--success-bg:#e3f0e5;--danger:#a53c3c;--danger-bg:#f5e4e4;--border:#e3d8c8;--shadow:0 8px 24px #2c241c14;color:var(--ink);background:var(--bg);font-family:Segoe UI,system-ui,-apple-system,sans-serif;font-weight:450;line-height:1.45}*,:before,:after{box-sizing:border-box}body{min-height:100dvh;padding:0 env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);background:radial-gradient(1200px 600px at 50% -10%, #fff4e0 0%, var(--bg) 55%);margin:0}#root{max-width:640px;margin:0 auto;padding:1rem 1rem 2.5rem}.app{flex-direction:column;gap:1rem;display:flex}.hero-topline{justify-content:flex-end;margin:0 0 .35rem;display:flex}.hero-topline .btn-ghost{min-height:40px;font-size:.9rem}.auth-stack{flex-direction:column;gap:.75rem;display:flex}.auth-stack label{color:var(--muted);flex-direction:column;gap:.35rem;font-size:.9rem;display:flex}.auth-link{color:var(--accent-dark);cursor:pointer;font:inherit;background:0 0;border:none;align-self:center;margin-top:.25rem;padding:.25rem;text-decoration:underline}.hero{text-align:center;padding:1.25rem .5rem .25rem}.hero-eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--accent-dark);margin:0;font-size:.8rem}.hero h1{margin:.35rem 0;font-size:clamp(1.5rem,5vw,2rem);font-weight:700}.hero-sub{color:var(--muted);margin:0;font-size:.95rem}.card{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:16px;padding:1rem 1.1rem}.card h2{margin:0 0 .5rem;font-size:1.15rem}.hint,.meta,.muted{color:var(--muted);margin:0 0 .75rem;font-size:.9rem}.banner{border-radius:12px;padding:.75rem 1rem;font-size:.9rem}.banner-warn{color:#5c4518;background:#fff3d6;border:1px solid #e8c96b;flex-direction:column;gap:.65rem;display:flex}.history-list{flex-direction:column;gap:.65rem;margin:0;padding:0;list-style:none;display:flex}.history-row{border-bottom:1px dashed var(--border);flex-direction:column;gap:.5rem;padding:.65rem 0;display:flex}.history-row:last-child{border-bottom:none}.history-main{flex-direction:column;gap:.25rem;display:flex}.history-time{color:var(--muted);margin:0;font-size:.8rem}.history-summary{margin:0;font-size:.92rem}.history-total{margin:0;font-size:.95rem}@media (width>=480px){.history-row{flex-direction:row;justify-content:space-between;align-items:center}}.banner code{font-size:.85em}.address-list{flex-direction:column;gap:.5rem;margin:0 0 .75rem;padding:0;list-style:none;display:flex}.address-row{align-items:center;gap:.5rem;display:flex}.radio-label{flex:none;justify-content:center;align-items:center;min-width:44px;min-height:44px;display:flex}.radio-label input{width:1.15rem;height:1.15rem;accent-color:var(--accent)}.input{border:1px solid var(--border);background:#fff;border-radius:12px;flex:1;min-height:48px;padding:0 .75rem;font-size:1rem}.input:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.product-list{flex-direction:column;gap:.65rem;margin:0;padding:0;list-style:none;display:flex}.product-card{border:1px solid var(--border);background:linear-gradient(#fff 0%,#fffaf3 100%);border-radius:14px;padding:.85rem}.product-head{justify-content:space-between;align-items:baseline;gap:.5rem;display:flex}.product-head h3{margin:0;font-size:1rem;font-weight:650}.price{color:var(--accent-dark);white-space:nowrap;margin:0;font-weight:600}.qty-label{color:var(--muted);flex-direction:column;gap:.35rem;margin-top:.5rem;font-size:.85rem;display:flex}.select{border:1px solid var(--border);background:#fff;border-radius:12px;min-height:48px;padding:0 .5rem;font-size:1rem}.cart-summary .mini-lines{flex-direction:column;gap:.35rem;margin:0 0 .75rem;padding:0;font-size:.95rem;list-style:none;display:flex}.mini-lines li{border-bottom:1px dashed var(--border);justify-content:space-between;gap:.5rem;padding-bottom:.35rem;display:flex}.total-line{margin:.5rem 0 1rem;font-size:1.05rem}.total-line.big{margin-top:1rem;font-size:1.15rem}.btn{cursor:pointer;border:none;border-radius:12px;justify-content:center;align-items:center;min-height:48px;padding:0 1rem;font-size:1rem;font-weight:600;transition:transform 80ms,filter .15s;display:inline-flex}.btn:disabled{opacity:.45;cursor:not-allowed}.btn:active:not(:disabled){transform:scale(.98)}.btn-block{width:100%}.btn-primary{background:linear-gradient(180deg, #d4944a 0%, var(--accent-dark) 100%);color:#fff}.btn-secondary{color:var(--ink);border:1px solid var(--border);background:#efe6da}.btn-ghost{color:var(--muted);background:0 0}.btn-icon{min-width:44px;padding:0;font-size:1.1rem}.btn-success{background:linear-gradient(180deg, #4fa362 0%, var(--success) 100%);color:#fff}.btn-danger{background:linear-gradient(180deg, #e07070 0%, var(--danger) 100%);color:#fff}.actions-row{flex-direction:column-reverse;gap:.65rem;margin-top:.5rem;display:flex}@media (width>=520px){.actions-row{flex-direction:row}.actions-row .btn{flex:1}}.table-wrap{-webkit-overflow-scrolling:touch;margin:.5rem 0;overflow-x:auto}.summary-table{border-collapse:collapse;width:100%;font-size:.9rem}.summary-table th,.summary-table td{border-bottom:1px solid var(--border);text-align:left;vertical-align:top;padding:.5rem .35rem}.summary-table th{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:.78rem;font-weight:600}.error{color:var(--danger);margin:0 0 .75rem;font-size:.9rem}.success-card{text-align:center}.success-card h2{color:var(--success)}.footer{text-align:center;color:var(--muted);padding:0 .5rem;font-size:.78rem}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.modal-backdrop{z-index:60;background:#00000059;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.modal-card{background:var(--surface);border:1px solid var(--border);width:100%;max-width:430px;box-shadow:var(--shadow);border-radius:16px;padding:1rem 1.1rem;animation:.18s ease-out modalIn;position:relative}@keyframes modalIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.modal-close{color:var(--muted);cursor:pointer;background:0 0;border:none;font-size:1.15rem;line-height:1;position:absolute;top:.65rem;right:.65rem}.modal-actions{flex-direction:column;gap:.65rem;margin-top:.9rem;display:flex}@media (width>=520px){.modal-actions{flex-direction:row}.modal-actions .btn{flex:1}}
