:root { --brand: #C7401E; --brand-deep: #A53014; --brand-dark: #7E2410; --brand-soft: #FBE7DC; --brand-softer: #FDF3ED; --gold: #F0A22E; --gold-deep: #C77E12; --gold-soft: #FBEFD6; --ink: #2A1A10; --text: #5C4B40; --muted: #99877A; --line: #EADFD2; --line-b: #E6DCCC; --border: #E6DCCC; --cream: #FFFFFF; --paper: #FFFFFF; --workspace: #F5EFE5; --sidebar: #241610; --sidebar-text: #C7B2A4; --sidebar-muted: #8A7265; --success: #2F9055; --success-soft: #E3F3E9; --info: #3B7DD8; --info-soft: #E4EEFA; --warning: #E8930C; --warning-soft: #FBEFDA; --error: #D92D20; --error-soft: #FBE5E2; --ch-wechat: #07C160; --ch-alipay: #1677FF; --ch-douyin: #16181F; --font-body: 'Noto Sans SC', 'PingFang SC', 'Microsoft YaHei', sans-serif; --font-display: 'ZCOOL KuaiLe', 'Noto Sans SC', sans-serif; --font-num: 'Rubik', 'Noto Sans SC', sans-serif; --fs-hero: 26px; --fs-title: 17px; --fs-body: 14px; --fs-sub: 12.5px; --fs-cap: 11.5px; --fs-metric: 26px; --fs-price: 17px; --s1: 4px; --s2: 8px; --s3: 12px; --s4: 16px; --s5: 20px; --s6: 24px; --s8: 32px; --s10: 40px; --s12: 48px; --r-sm: 8px; --r-md: 12px; --r-lg: 16px; --r-xl: 22px; --r-pill: 999px; --shadow-card: 0 1px 2px rgba(42,26,16,.05), 0 8px 22px rgba(42,26,16,.06); --shadow-float: 0 12px 32px rgba(42,26,16,.16); --shadow-sheet: 0 -8px 40px rgba(42,26,16,.18); }* { box-sizing: border-box; margin: 0px; padding: 0px; -webkit-tap-highlight-color: transparent; }html, body { height: 100%; }body { font-family: var(--font-body); color: var(--text); font-size: var(--fs-body); background: var(--cream); -webkit-font-smoothing: antialiased; }img { display: block; max-width: 100%; }a { color: inherit; text-decoration: none; }button { font-family: inherit; border: 0px; background: none; cursor: pointer; color: inherit; }input, select, textarea { font-family: inherit; font-size: inherit; color: var(--ink); }input:focus, select:focus, textarea:focus, button:focus-visible { outline: rgba(199, 64, 30, 0.35) solid 2px; outline-offset: 1px; }h1, h2, h3, h4 { color: var(--ink); font-weight: 700; }.num { font-family: var(--font-num); }.seal { display: inline-flex; align-items: center; justify-content: center; width: 34px; height: 34px; border-radius: 9px; background: linear-gradient(145deg, var(--brand), var(--brand-dark)); color: rgb(255, 246, 233); font-family: var(--font-display); font-size: 19px; box-shadow: inset 0 0 0 2px rgba(255,246,233,.28), var(--shadow-card); flex: 0 0 auto; }.btn { display: inline-flex; align-items: center; justify-content: center; gap: 6px; font-size: 14px; font-weight: 600; line-height: 1; border-radius: var(--r-sm); padding: 11px 18px; transition: background 0.15s, color 0.15s, border-color 0.15s, transform 0.05s, opacity 0.15s; user-select: none; white-space: nowrap; }.btn:active { transform: translateY(1px); }.btn-primary { background: var(--brand); color: rgb(255, 255, 255); box-shadow: rgba(199, 64, 30, 0.28) 0px 4px 12px; }.btn-primary:hover { background: var(--brand-deep); }.btn-primary:disabled { background: rgb(216, 199, 186); box-shadow: none; cursor: not-allowed; }.btn-gold { background: linear-gradient(135deg, #F6B33F, var(--gold)); color: rgb(90, 54, 8); box-shadow: rgba(240, 162, 46, 0.32) 0px 4px 12px; }.btn-ghost { background: var(--brand-softer); color: var(--brand); }.btn-ghost:hover { background: var(--brand-soft); }.btn-outline { background: rgb(255, 255, 255); color: var(--ink); border: 1px solid var(--line-b); }.btn-outline:hover { border-color: var(--muted); }.btn-danger { background: var(--error); color: rgb(255, 255, 255); }.btn-danger-ghost { background: var(--error-soft); color: var(--error); }.btn-sm { padding: 7px 12px; font-size: 12.5px; border-radius: 7px; }.btn-lg { padding: 14px 24px; font-size: 15.5px; border-radius: var(--r-md); }.btn-block { width: 100%; }.chip { display: inline-flex; align-items: center; gap: 5px; border-radius: var(--r-pill); padding: 4px 10px; font-size: var(--fs-cap); font-weight: 600; line-height: 1.3; }.badge-dot { width: 6px; height: 6px; border-radius: 50%; background: currentcolor; flex: 0 0 auto; }.chip-open { background: var(--success-soft); color: var(--success); }.chip-warn { background: var(--warning-soft); color: var(--warning); }.chip-danger { background: var(--error-soft); color: var(--error); }.chip-info { background: var(--info-soft); color: var(--info); }.chip-brand { background: var(--brand-soft); color: var(--brand); }.chip-gray { background: rgb(241, 234, 224); color: var(--muted); }.field { display: flex; flex-direction: column; gap: 6px; }.field > label { font-size: 13px; font-weight: 600; color: var(--ink); }.field .req::after { content: " *"; color: var(--error); }.input { height: 40px; border-radius: var(--r-sm); border: 1px solid var(--line-b); background: rgb(255, 255, 255); padding: 0px 12px; font-size: 14px; width: 100%; }.input::placeholder { color: rgb(188, 175, 163); }textarea.input { height: auto; padding: 10px 12px; resize: vertical; line-height: 1.55; }.input:focus { border-color: var(--brand); }.field-hint { font-size: 12px; color: var(--muted); }.switch { position: relative; display: inline-block; width: 42px; height: 24px; flex: 0 0 auto; cursor: pointer; }.switch input { display: none; }.switch i { position: absolute; inset: 0px; border-radius: var(--r-pill); background: rgb(217, 205, 191); transition: background 0.18s; }.switch i::after { content: ""; position: absolute; top: 3px; left: 3px; width: 18px; height: 18px; border-radius: 50%; background: rgb(255, 255, 255); transition: left 0.18s; box-shadow: rgba(42, 26, 16, 0.25) 0px 1px 3px; }.switch input:checked + i { background: var(--brand); }.switch input:checked + i::after { left: 21px; }.seg { display: inline-flex; background: rgb(239, 230, 217); border-radius: 10px; padding: 3px; gap: 2px; }.seg button { border-radius: 8px; padding: 7px 14px; font-size: 13px; font-weight: 600; color: var(--muted); transition: 0.15s; }.seg button.on { background: rgb(255, 255, 255); color: var(--ink); box-shadow: rgba(42, 26, 16, 0.12) 0px 1px 4px; }.mask { position: fixed; inset: 0px; background: rgba(30, 18, 10, 0.5); z-index: 200; display: flex; align-items: center; justify-content: center; padding: 20px; opacity: 0; pointer-events: none; transition: opacity 0.2s; }.mask.show { opacity: 1; pointer-events: auto; }.modal { background: rgb(255, 255, 255); border-radius: var(--r-lg); width: min(560px, 100%); max-height: 86vh; display: flex; flex-direction: column; box-shadow: var(--shadow-float); transform: translateY(12px) scale(0.98); transition: transform 0.2s; }.mask.show .modal { transform: none; }.modal-head { display: flex; align-items: center; justify-content: space-between; padding: 16px 20px 12px; }.modal-head h3 { font-size: 16px; }.modal-close { width: 30px; height: 30px; border-radius: 50%; background: rgb(241, 234, 224); display: flex; align-items: center; justify-content: center; font-size: 15px; color: var(--muted); }.modal-close:hover { background: rgb(230, 219, 204); }.modal-body { padding: 4px 20px 20px; overflow-y: auto; }.modal-foot { display: flex; gap: 10px; padding: 14px 20px 18px; border-top: 1px solid var(--line-b); justify-content: flex-end; }.data-table { width: 100%; border-collapse: collapse; font-size: 13px; }.data-table th { text-align: left; font-size: 12px; font-weight: 600; color: var(--muted); padding: 10px 12px; background: rgb(248, 242, 232); white-space: nowrap; border-bottom: 1px solid var(--line-b); }.data-table th:first-child { border-radius: 8px 0px 0px 8px; }.data-table th:last-child { border-radius: 0px 8px 8px 0px; }.data-table td { padding: 11px 12px; border-bottom: 1px solid rgb(240, 232, 219); color: var(--ink); vertical-align: middle; }.data-table tbody tr:hover { background: rgb(251, 246, 236); }.table-empty { text-align: center; color: var(--muted); padding: 36px 0px !important; }.toast { position: fixed; left: 50%; bottom: 12vh; transform: translate(-50%, 16px); background: rgba(42, 26, 16, 0.92); color: rgb(255, 246, 236); font-size: 13.5px; font-weight: 500; padding: 10px 18px; border-radius: var(--r-pill); z-index: 400; opacity: 0; pointer-events: none; transition: 0.22s; max-width: 82vw; text-align: center; }.toast.show { opacity: 1; transform: translate(-50%, 0px); }.stepper { display: inline-flex; align-items: center; gap: 10px; }.stepper button { width: 26px; height: 26px; border-radius: 50%; font-size: 16px; font-weight: 700; display: flex; align-items: center; justify-content: center; line-height: 1; background: var(--brand-softer); color: var(--brand); }.stepper button:disabled { background: rgb(241, 234, 224); color: rgb(198, 184, 169); cursor: not-allowed; }.stepper .cnt { font-family: var(--font-num); font-weight: 700; font-size: 15px; color: var(--ink); min-width: 20px; text-align: center; }.stars { display: inline-flex; gap: 2px; }.stars svg { width: 14px; height: 14px; }@media (prefers-reduced-motion: reduce) {
  *, ::before, ::after { animation-duration: 0.01ms !important; transition-duration: 0.01ms !important; }
}