@tailwind base;@tailwind components;@tailwind utilities;:root{--color-crimson: #C0392B;--color-crimson-dark: #a93226;--color-gold: #d4a843;--color-gold-light: #f5e6b8;--color-ivory: #faf9f7;--color-charcoal: #1a1a18;--color-text-secondary: #4a4a47;--color-text-muted: #8a8a87;--color-border: #e8e5e0;--color-surface: #ffffff;--font-serif: "Noto Serif SC", "Songti SC", "SimSun", serif;--font-sans: "Noto Sans SC", "PingFang SC", "Microsoft YaHei", sans-serif;--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px)}*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}html{font-size:16px;-webkit-text-size-adjust:100%}body{font-family:var(--font-sans);background:var(--color-ivory);color:var(--color-charcoal);min-height:100vh;line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overscroll-behavior-y:contain}.h5-container{max-width:480px;margin:0 auto;min-height:100vh;background:var(--color-ivory);position:relative}.font-serif{font-family:var(--font-serif)}.safe-top{padding-top:var(--safe-top)}.safe-bottom{padding-bottom:var(--safe-bottom)}.card-elegant{background:var(--color-surface);border:1px solid var(--color-border);border-radius:16px;overflow:hidden}.card-elegant-hover{background:var(--color-surface);border:1px solid var(--color-border);border-radius:16px;overflow:hidden;transition:box-shadow .2s ease,transform .15s ease;cursor:pointer}.card-elegant-hover:active{transform:scale(.985);box-shadow:0 2px 12px #c0392b1f}.btn-primary{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:16px 24px;background:var(--color-crimson);color:#fff;font-family:var(--font-serif);font-size:16px;font-weight:600;border:none;border-radius:14px;cursor:pointer;transition:background .15s ease,transform .1s ease;letter-spacing:.04em;min-height:52px}.btn-primary:active{background:var(--color-crimson-dark);transform:scale(.98)}.btn-primary:disabled{background:#c8c8c5;cursor:not-allowed;transform:none}.btn-secondary{display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 20px;background:transparent;color:var(--color-crimson);font-size:14px;font-weight:500;border:1.5px solid var(--color-crimson);border-radius:12px;cursor:pointer;transition:background .15s ease;min-height:44px}.btn-secondary:active{background:#c0392b0f}.input-field{width:100%;padding:14px 16px;background:#f8f7f5;border:1.5px solid var(--color-border);border-radius:12px;font-family:var(--font-sans);font-size:15px;color:var(--color-charcoal);outline:none;transition:border-color .15s ease,box-shadow .15s ease;min-height:50px;-webkit-appearance:none}.input-field:focus{border-color:var(--color-crimson);box-shadow:0 0 0 3px #c0392b1a;background:#fff}.input-field::placeholder{color:var(--color-text-muted)}.input-label{display:block;font-size:13px;font-weight:600;color:var(--color-text-secondary);margin-bottom:8px;letter-spacing:.02em}.badge{display:inline-flex;align-items:center;padding:3px 10px;border-radius:20px;font-size:11px;font-weight:600;letter-spacing:.02em;flex-shrink:0}.badge-open{background:#ecfdf5;color:#065f46;border:1px solid #a7f3d0}.badge-closed{background:#f3f4f6;color:#6b7280;border:1px solid #e5e7eb}.badge-full{background:#fffbeb;color:#92400e;border:1px solid #fde68a}.order-item{display:flex;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid var(--color-border)}.order-item:last-child{border-bottom:none}.order-number{width:28px;height:28px;border-radius:50%;background:var(--color-crimson);color:#fff;font-family:var(--font-serif);font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}.product-card{display:flex;gap:14px;padding:16px;background:var(--color-surface);border-radius:16px;border:1px solid var(--color-border)}.product-image{width:80px;height:80px;border-radius:12px;object-fit:cover;background:#f0ede8;flex-shrink:0}.qty-selector{display:flex;align-items:center;gap:0;border:1.5px solid var(--color-border);border-radius:10px;overflow:hidden;background:#f8f7f5}.qty-btn{width:40px;height:40px;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:500;color:var(--color-crimson);background:transparent;border:none;cursor:pointer;transition:background .1s ease;min-height:40px}.qty-btn:active{background:#c0392b14}.qty-btn:disabled{color:#c8c8c5;cursor:not-allowed}.qty-value{min-width:36px;text-align:center;font-family:var(--font-serif);font-size:16px;font-weight:700;color:var(--color-charcoal)}.accent-line{height:1px;background:linear-gradient(to right,transparent,var(--color-gold),transparent);opacity:.5}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.skeleton{background:linear-gradient(90deg,#f0ede8 25%,#e8e5e0,#f0ede8 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:12px}@keyframes fadeUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.animate-fade-up{animation:fadeUp .35s ease forwards}.stagger>*:nth-child(1){animation-delay:0ms}.stagger>*:nth-child(2){animation-delay:60ms}.stagger>*:nth-child(3){animation-delay:.12s}.stagger>*:nth-child(4){animation-delay:.18s}.stagger>*:nth-child(5){animation-delay:.24s}::-webkit-scrollbar{width:0}@keyframes checkPop{0%{transform:scale(.5);opacity:0}70%{transform:scale(1.1)}to{transform:scale(1);opacity:1}}.animate-check-pop{animation:checkPop .4s cubic-bezier(.34,1.56,.64,1) forwards}.bottom-sheet-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;z-index:50;display:flex;align-items:flex-end}.bottom-sheet{width:100%;max-width:480px;margin:0 auto;background:var(--color-surface);border-radius:24px 24px 0 0;padding:20px 20px calc(20px + var(--safe-bottom));max-height:90vh;overflow-y:auto}.bottom-sheet-handle{width:36px;height:4px;background:var(--color-border);border-radius:2px;margin:0 auto 20px}.toast{position:fixed;top:calc(20px + var(--safe-top));left:50%;transform:translate(-50%);background:#1a1a18e6;color:#fff;padding:10px 20px;border-radius:20px;font-size:13px;font-weight:500;z-index:100;white-space:nowrap;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
