:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--accent:#c4f2c4;--accent-hover:#b0ebb1;--accent-soft:#e4f8e4;--accent-line:#8ed99a;--accent-ink:#1e6432;--ink:#262f29;--muted:#6a746e;--danger:#c0392b;--danger-soft:#fdecea;--line:#262f291f;--line-strong:#262f2938;--glass:#ffffffb8;--glass-strong:#ffffffe0;--paper:#fff;--shadow:0 14px 44px #285a371f;--shadow-sm:0 2px 10px #285a3712;--r-input:12px;--r-card:16px;--r-panel:22px;--font:system-ui, -apple-system, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans CJK SC", sans-serif;--mono:ui-monospace, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;--ease-out:cubic-bezier(.23, 1, .32, 1);font-family:var(--font);color:var(--ink);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;font-size:15px;line-height:1.5}*{box-sizing:border-box}html,body{min-height:100%;margin:0}body{background:#f1f8f2;min-width:320px}body:before{content:"";z-index:-1;background:linear-gradient(165deg,#ffffff8c,#ffffff40 50%,#ffffff80),url(/bg.jpg) 50%/cover no-repeat,linear-gradient(165deg,#f4fbf4,#e6f6e7 50%,#f6fbf6);position:fixed;inset:0}h1,h2,h3,p{margin:0}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}img{display:block}:focus-visible{outline:2px solid var(--accent-line);outline-offset:2px}.page{min-height:100vh;padding:24px 20px 40px}.shell{width:min(1200px,100%);margin:0 auto}.glass{background:var(--glass);border-radius:var(--r-panel);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(22px)saturate(1.3);backdrop-filter:blur(22px)saturate(1.3);border:1px solid #ffffffb3}.shell.glass{padding:22px 28px 32px}.topbar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;margin-bottom:22px;padding-bottom:18px;display:flex}.brand{min-width:0}.brand-title{letter-spacing:.02em;white-space:nowrap;font-size:20px;font-weight:700;line-height:1.2}.brand-sub{color:var(--muted);margin-top:2px;font-size:13px}.topbar-actions,.button-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.btn{min-height:40px;color:var(--ink);background:var(--glass-strong);border:1px solid var(--line);white-space:nowrap;transition:transform .16s var(--ease-out), background-color .16s, border-color .16s, color .16s, box-shadow .16s;border-radius:999px;justify-content:center;align-items:center;gap:7px;padding:8px 18px;font-weight:600;text-decoration:none;display:inline-flex}.btn:hover:not(:disabled){border-color:var(--line-strong);background:#fff}.btn:active:not(:disabled){transform:scale(.97)}.btn-primary{color:var(--accent-ink);background:var(--accent);border-color:var(--accent-line);box-shadow:0 6px 18px #3c965033}.btn-primary:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-line)}.btn-danger{color:var(--danger);background:var(--danger-soft);border-color:#c0392b40}.btn-danger:hover:not(:disabled){background:#fbdfdb;border-color:#c0392b66}.btn-quiet{color:var(--muted);box-shadow:none;background:0 0;border-color:#0000}.btn-quiet:hover:not(:disabled){color:var(--ink);background:#262f290f;border-color:#0000}.btn-icon{border-radius:50%;width:40px;padding:0;font-size:20px;font-weight:500;line-height:1}.btn-sm{min-height:34px;padding:5px 14px;font-size:14px}.btn-sm.btn-icon{width:34px;padding:0;font-size:18px}.btn-block{width:100%}.form-field{gap:6px;display:grid}.form-field label,.filter-field label{color:var(--ink);font-size:13px;font-weight:600}.input{width:100%;min-width:0;min-height:42px;color:var(--ink);background:var(--glass-strong);border:1px solid var(--line);border-radius:var(--r-input);outline:none;padding:9px 13px;transition:border-color .16s,box-shadow .16s,background-color .16s}.input::placeholder{color:#9aa39e}.input:hover{border-color:var(--line-strong)}.input:focus{border-color:var(--accent-line);background:#fff;box-shadow:0 0 0 4px #8ed99a4d}textarea.input{resize:vertical}.field-help{color:var(--muted);font-size:13px}.form-error{color:var(--danger);background:var(--danger-soft);border-radius:var(--r-input);padding:10px 14px;font-size:14px}.notice{color:var(--accent-ink);background:var(--accent-soft);border-radius:var(--r-input);animation:notice-enter .2s var(--ease-out) both;padding:10px 14px;font-size:14px}.message-stack{gap:8px;margin-bottom:18px;display:grid}.message-stack:empty{display:none}.empty-state{min-height:140px;color:var(--muted);text-align:center;border:1px dashed var(--line-strong);border-radius:var(--r-card);background:#ffffff73;place-items:center;padding:24px;display:grid}.section{margin-top:28px}.section-head{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:12px;display:flex}.section-head h2{letter-spacing:.02em;white-space:nowrap;font-size:18px;font-weight:700}.section-count{color:var(--muted);font-variant-numeric:tabular-nums;font-size:13px}.card{background:var(--glass-strong);border-radius:var(--r-card);box-shadow:var(--shadow-sm);border:1px solid #ffffffbf}.table-card{overflow:hidden}.table-scroll{width:100%;overflow-x:auto}.data-table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;min-width:560px}.data-table th,.data-table td{text-align:left;border-bottom:1px solid var(--line);vertical-align:middle;padding:12px 14px}.data-table th{color:var(--muted);white-space:nowrap;background:#c4f2c438;font-size:13px;font-weight:600}.data-table tbody tr:last-child td{border-bottom:none}.data-table tbody tr{transition:background-color .15s}.data-table tbody tr:hover{background:#c4f2c429}.data-table .num{text-align:right;white-space:nowrap}.data-table .nowrap{white-space:nowrap}.data-table .strong{font-weight:600}.table-total-row td{background:#c4f2c42e;font-weight:700}.order-note-cell{min-width:160px;max-width:280px;color:var(--muted);white-space:pre-wrap;overflow-wrap:break-word}.order-no{font-family:var(--mono);letter-spacing:.02em;font-size:.95em}.table-actions{flex-wrap:nowrap;gap:6px}.pagination{color:var(--muted);font-variant-numeric:tabular-nums;justify-content:center;align-items:center;gap:12px;margin-top:16px;font-size:14px;display:flex}.status-badge,.visibility-badge{white-space:nowrap;border-radius:999px;padding:3px 10px;font-size:12px;font-weight:600;display:inline-block}.status-completed,.status-active,.visibility-badge{color:var(--accent-ink);background:var(--accent-soft)}.status-cancelled{color:var(--danger);background:var(--danger-soft)}.status-inactive,.visibility-badge.hidden{color:var(--muted);background:#262f2914}.stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:20px;display:grid}.stat{background:var(--glass-strong);border-radius:var(--r-card);box-shadow:var(--shadow-sm);border:1px solid #ffffffbf;padding:14px 18px}.stat span{color:var(--muted);font-size:13px;display:block}.stat strong{color:var(--accent-ink);font-variant-numeric:tabular-nums;letter-spacing:-.01em;overflow-wrap:anywhere;margin-top:4px;font-size:26px;font-weight:700;display:block}.filter-card{padding:16px 18px}.filter-grid{flex-wrap:wrap;align-items:flex-end;gap:12px;display:flex}.filter-field{flex:200px;gap:6px;min-width:180px;display:grid}.filter-field label{color:var(--muted)}.filter-field.wide{flex-basis:250px}.filter-actions{flex-wrap:nowrap;flex:none;margin-left:auto}.quick-dates{flex:none;gap:6px;display:flex}.shop-layout{grid-template-columns:minmax(0,1fr) 360px;align-items:start;gap:28px;display:grid}.shop-main{min-width:0}.kbd{min-width:20px;color:var(--accent-ink);border:1px solid var(--accent-line);font-family:var(--mono);text-align:center;background:#fff;border-bottom-width:2px;border-radius:6px;padding:1px 6px;font-size:12px;line-height:1.4}.product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.product-card{text-align:left;background:var(--glass-strong);border-radius:var(--r-card);min-width:0;box-shadow:var(--shadow-sm);transition:transform .16s var(--ease-out), box-shadow .16s, border-color .16s;border:1px solid #ffffffbf;align-items:center;gap:14px;padding:12px;display:flex;position:relative}.product-card:hover{border-color:var(--accent-line);transform:translateY(-2px);box-shadow:0 10px 26px #285a3724}.product-card:active{transform:scale(.98)}.product-card.in-cart{border-color:var(--accent-line);background:#fff}.product-thumb{object-fit:cover;background:#eef6ef;border-radius:12px;flex:none;width:64px;height:64px}.product-body{flex:1;min-width:0;display:block}.product-name{text-overflow:ellipsis;white-space:nowrap;font-weight:600;display:block;overflow:hidden}.product-price{color:var(--accent-ink);font-variant-numeric:tabular-nums;margin-top:3px;font-weight:700;display:block}.product-key{position:absolute;top:8px;right:10px}.product-add{min-width:72px;height:36px;color:var(--accent-ink);background:var(--accent-soft);white-space:nowrap;font-variant-numeric:tabular-nums;border:1px solid #0000;border-radius:999px;flex:none;justify-content:center;align-items:center;padding:0 14px;font-size:14px;font-weight:700;line-height:1;transition:background-color .16s,border-color .16s;display:inline-flex}.product-decrease{width:28px;height:28px;color:var(--accent-ink);background:var(--paper);border:1px solid var(--accent-line);cursor:pointer;border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:18px;font-weight:700;line-height:1;transition:background-color .16s,color .16s;display:inline-flex}.product-decrease:hover,.product-decrease:focus-visible{color:var(--ink);background:var(--accent-soft)}.product-card.in-cart .product-add,.product-card:hover .product-add{background:var(--accent);border-color:var(--accent-line)}.receipt{background:var(--paper);border-radius:var(--r-card) var(--r-card) 0 0;box-shadow:var(--shadow);padding:18px 18px 22px;position:sticky;top:24px}.receipt:after{content:"";background:var(--paper);height:10px;position:absolute;bottom:-9px;left:0;right:0;-webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 10'><path d='M0 0h16L8 10z'/></svg>") 0 0/16px 10px repeat-x;mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 10'><path d='M0 0h16L8 10z'/></svg>") 0 0/16px 10px repeat-x}.receipt-head{border-bottom:1px dashed var(--line-strong);justify-content:space-between;align-items:baseline;padding-bottom:12px;display:flex}.receipt-title{letter-spacing:.06em;font-size:16px;font-weight:700}.receipt-list{max-height:min(48vh,520px);margin:0 -6px;padding:4px 6px;display:grid;overflow-y:auto}.receipt-row{border-bottom:1px dashed var(--line);grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"name subtotal""qty remove";align-items:center;gap:4px 10px;padding:10px 0;display:grid}.receipt-row:last-child{border-bottom:none}.receipt-row-name{text-overflow:ellipsis;white-space:nowrap;grid-area:name;font-weight:600;overflow:hidden}.receipt-row-subtotal{font-variant-numeric:tabular-nums;text-align:right;grid-area:subtotal;font-weight:700}.receipt-row-qty{color:var(--muted);font-variant-numeric:tabular-nums;grid-area:qty;align-items:center;gap:10px;font-size:13px;display:flex}.receipt-row-remove{grid-area:remove;justify-self:end}.qty{background:#262f290d;border-radius:999px;align-items:center;gap:2px;display:inline-flex}.qty-btn{width:32px;height:32px;color:var(--ink);background:0 0;border:none;border-radius:50%;place-items:center;font-size:18px;line-height:1;transition:background-color .15s;display:grid}.qty-btn:hover:not(:disabled){background:var(--accent-soft)}.qty-input{width:42px;height:32px;color:var(--ink);font-variant-numeric:tabular-nums;text-align:center;appearance:textfield;background:0 0;border:none;outline:none;padding:0;font-weight:600}.qty-input::-webkit-outer-spin-button{appearance:none;margin:0}.qty-input::-webkit-inner-spin-button{appearance:none;margin:0}.receipt-empty{color:var(--muted);text-align:center;padding:28px 8px;font-size:14px}.receipt-note{border-top:1px dashed var(--line-strong);margin-top:8px;padding-top:12px}.receipt-note .input{min-height:60px;font-size:14px}.receipt-total{border-top:2px solid var(--ink);justify-content:space-between;align-items:baseline;gap:12px;margin-top:14px;padding-top:14px;display:flex}.receipt-total span{color:var(--muted);font-size:13px}.receipt-total strong{font-variant-numeric:tabular-nums;letter-spacing:-.02em;font-size:28px;font-weight:700}.receipt-actions{gap:6px;margin-top:14px;display:grid}.checkout-bar{display:none}.admin-tabs{border-bottom:1px solid var(--line);gap:4px;margin:-8px 0 24px;display:flex}.admin-tab{color:var(--muted);border-bottom:2px solid #0000;align-items:center;margin-bottom:-1px;padding:10px 14px;font-weight:600;text-decoration:none;transition:color .15s,border-color .15s;display:inline-flex}.admin-tab:hover,.admin-tab.router-link-exact-active{color:var(--accent-ink);border-bottom-color:var(--accent-ink)}.page-head{justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:18px;display:flex}.page-head h1{letter-spacing:.02em;font-size:24px;font-weight:700}.page-head p{color:var(--muted);margin-top:4px;font-size:14px}.seg{background:#262f290f;border-radius:999px;gap:4px;margin-bottom:14px;padding:4px;display:inline-flex}.seg-btn{min-height:34px;color:var(--muted);background:0 0;border:none;border-radius:999px;align-items:center;gap:6px;padding:5px 14px;font-size:14px;font-weight:600;transition:background-color .15s,color .15s,box-shadow .15s;display:inline-flex}.seg-btn span{font-variant-numeric:tabular-nums;text-align:center;background:#262f2914;border-radius:999px;min-width:20px;padding:0 6px;font-size:12px}.seg-btn.active{color:var(--accent-ink);background:var(--accent);box-shadow:var(--shadow-sm)}.seg-btn.active span{color:var(--accent-ink);background:#ffffffbf}.drag-hint{color:var(--muted);margin:0 0 12px;font-size:13px}.admin-product-table{min-width:680px}.admin-product-table tbody tr[draggable=true]{cursor:grab}.admin-product-table tbody tr[draggable=true]:active{cursor:grabbing}.dragging-row{opacity:.45}.admin-product-table tbody tr.drop-before td{border-top:3px solid var(--accent-line)}.admin-product-table tbody tr.drop-after td{border-bottom:3px solid var(--accent-line)}.drag-cell{white-space:nowrap;width:72px}.drag-handle{color:#a5aea8;letter-spacing:-.2em;-webkit-user-select:none;user-select:none;font-size:18px}.mobile-order-buttons{gap:4px;margin-top:6px;display:none}.admin-product-image{object-fit:cover;background:#eef6ef;border-radius:10px;width:48px;height:48px}.product-modal{width:min(480px,100%)}.product-form{gap:16px;margin-top:18px;display:grid}.product-delete-button{margin-right:auto}.file-input{min-height:auto;padding:8px 12px}.report-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}.report-grid .section{min-width:0}.admin-order-table{min-width:900px}.modal-backdrop{z-index:100;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);transition:opacity .18s var(--ease-out);background:#262f2961;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal-panel{border-radius:var(--r-panel);width:min(420px,100%);max-height:calc(100vh - 40px);transition:opacity .18s var(--ease-out), transform .22s var(--ease-out);background:#fffffff2;border:1px solid #fffc;padding:24px;overflow-y:auto;box-shadow:0 24px 64px #14321e47}@starting-style{.modal-backdrop{opacity:0}}@starting-style{.modal-panel{opacity:0;transform:translateY(10px)scale(.98)}}.modal-title-row{align-items:center;gap:10px;display:flex}.modal-title-row h2{flex:1;min-width:0;font-size:18px;font-weight:700}.modal-message{color:var(--muted);margin:14px 0 22px}.modal-actions{justify-content:flex-end}.order-detail-panel{width:min(720px,100%)}.detail-meta{color:var(--muted);margin:8px 0 0;font-size:14px}.detail-note{color:var(--ink);background:var(--accent-soft);border-radius:var(--r-input);white-space:pre-wrap;overflow-wrap:anywhere;margin:14px 0 0;padding:10px 14px}.detail-table{margin:16px 0}.login-page{place-items:center;min-height:100vh;padding:24px;display:grid}.login-panel{width:min(400px,100%);padding:34px 30px 30px;position:relative;overflow:hidden}.login-panel:before{content:"";background:linear-gradient(90deg, transparent, var(--accent-line), transparent);border-radius:0 0 3px 3px;height:3px;position:absolute;top:0;left:30px;right:30px}.login-form{gap:18px;display:grid}.login-submit{margin-top:4px}@media (width>=761px) and (width<=960px){.shell.glass{padding:20px 20px 28px}.shop-layout{grid-template-columns:minmax(0,1fr) 300px;gap:20px}.product-grid{grid-template-columns:minmax(0,1fr)}.receipt{padding:16px 16px 20px;top:16px}.receipt-total strong{font-size:26px}.report-grid{grid-template-columns:minmax(0,1fr)}.filter-grid{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.filter-field{min-width:0}.quick-dates,.filter-actions{grid-column:1/-1}.filter-actions{justify-content:flex-end;margin-left:0}}@media (hover:none){.btn{min-height:44px}.btn-icon{width:44px}.btn-sm{min-height:40px}.btn-sm.btn-icon{width:40px}.product-add{min-width:84px;height:44px;padding:0 16px;font-size:15px}.product-decrease,.qty-btn{width:40px;height:40px}.qty-input{height:40px}.seg-btn{min-height:40px}.product-key{display:none}}@media (width<=760px){.page{padding:12px 10px 96px}.shop-layout{grid-template-columns:minmax(0,1fr)}.receipt{position:relative;top:auto}.shell.glass{padding:18px 14px 24px}.topbar{gap:10px;margin-bottom:18px;padding-bottom:14px}.topbar-actions{flex-wrap:nowrap;gap:6px}.topbar .btn{padding-left:13px;padding-right:13px}.brand-title{font-size:18px}.brand-sub{display:none}.btn{min-height:44px}.btn-icon{width:44px}.btn-sm{min-height:36px}.btn-sm.btn-icon{width:36px}.input{padding-left:10px;padding-right:10px}.product-grid{grid-template-columns:minmax(0,1fr);gap:10px}.product-key{display:none}.product-add{min-width:84px;height:44px;padding:0 16px;font-size:15px}.qty-btn{width:40px;height:40px}.qty-input{height:40px}.receipt-list{max-height:none;overflow:visible}.checkout-bar{z-index:50;border-radius:999px;justify-content:space-between;align-items:center;gap:12px;padding:10px 10px 10px 18px;display:flex;position:fixed;bottom:10px;left:10px;right:10px}.checkout-bar-total{min-width:0;color:inherit;line-height:1.25;text-decoration:none;display:grid}.checkout-bar-total span{color:var(--muted);font-size:12px}.checkout-bar-total strong{font-variant-numeric:tabular-nums;font-size:20px}.filter-grid{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.filter-field{min-width:0}.filter-actions,.quick-dates,.filter-field.wide{grid-column:1/-1}.filter-actions{margin-left:0}.filter-actions .btn,.quick-dates .btn{flex:1 1 0;min-width:0}.stats{gap:8px}.stat{text-align:center;padding:12px 8px}.stat strong{font-size:20px}.sold-table{table-layout:fixed;min-width:0;font-size:13px}.sold-table th,.sold-table td{white-space:normal;overflow-wrap:anywhere;padding:10px 6px}.sold-table th:first-child{width:32%}.sold-table th:nth-child(2){width:22%}.sold-table th:nth-child(3){width:20%}.sold-table th:nth-child(4){width:26%}.page-head{flex-direction:column;align-items:stretch}.admin-tabs{margin-top:0;overflow-x:auto}.seg{display:flex}.seg-btn{flex:1 1 0;justify-content:center;min-height:40px;padding:5px 8px;font-size:13px}.mobile-order-buttons{display:flex}.modal-panel{padding:20px 16px}}@keyframes notice-enter{0%{opacity:0;transform:translateY(-4px)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
