:root{--app-bg:#f6f7f5;--surface:#fff;--surface-soft:#f1f3f1;--sidebar-bg:#eef0ed;--text-primary:#252a27;--text-secondary:#6b746e;--text-muted:#8a938d;--border:#e2e7e3;--border-strong:#cfdcd4;--primary:#5f7f6e;--primary-hover:#4f6d5d;--primary-soft:#eef4f0;--primary-border:#cfddd4;--danger:#b85c5c;--danger-hover:#a44e4e;--danger-soft:#faeeee;--danger-border:#e8c8c8;--success:#4e7a5c;--success-soft:#eef4f0;--warning:#a67a3a;--warning-soft:#f7f1e6;--info:#5a6e78;--info-soft:#eef2f4;--focus-ring:color-mix(in srgb, var(--primary) 20%, transparent);--scrim:#252a2766;--radius-sm:6px;--radius-md:8px;--radius-lg:12px;--shadow-sm:0 1px 2px #252a270d;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--control-height:40px;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--heading:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;--text:var(--text-secondary);--text-h:var(--text-primary);--bg:var(--app-bg);--accent:var(--primary);--accent-bg:var(--primary-soft);--accent-border:var(--primary-border);--social-bg:var(--surface-soft);--shadow:var(--shadow-sm);--code-bg:var(--surface-soft);font:16px/145% var(--sans);letter-spacing:.18px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:var(--text-primary);background:var(--app-bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*,:before,:after{box-sizing:border-box}html,body,#root{text-align:left;width:100%;max-width:none;margin:0;padding:0}body{background:var(--app-bg);min-height:100svh;color:var(--text-primary)}#root{flex-direction:column;min-height:100svh;display:flex}h1,h2,h3{font-family:var(--heading);color:var(--text-primary);font-weight:600}h1{letter-spacing:-.02em;margin:0 0 var(--space-4);font-size:22px;line-height:1.3}h2{letter-spacing:-.01em;margin:0 0 var(--space-3);font-size:18px;line-height:1.3}h3{margin:0 0 var(--space-2);font-size:15px;line-height:1.35}p{margin:0}a{color:var(--text-primary)}code{font-family:var(--mono);border-radius:var(--radius-sm);color:var(--text-primary);background:var(--surface-soft);padding:2px 6px;font-size:13px;line-height:135%;display:inline-flex}.page{text-align:left;min-width:0;max-width:100%}.page-header{margin-bottom:var(--space-4)}.page-title{letter-spacing:-.02em;color:var(--text-primary);margin:0 0 var(--space-2);font-size:22px;font-weight:600;line-height:1.3}.page-subtitle{margin:0 0 var(--space-4);color:var(--text-secondary);font-size:14px;line-height:1.5}.toolbar{align-items:center;gap:var(--space-3);margin-bottom:var(--space-4);flex-wrap:wrap;display:flex}.toolbar label{align-items:center;gap:var(--space-2);color:var(--text-secondary);font-size:14px;display:inline-flex}.section{margin-bottom:var(--space-5)}.page-standard{width:100%;min-width:0;max-width:1280px}.page-header .page-title{margin:0}.page-header .page-subtitle{margin:var(--space-2) 0 0}.page-back{margin-bottom:var(--space-2);color:var(--text-secondary);font-size:13px;text-decoration:none;display:inline-block}.page-back:hover{color:var(--text-primary)}.form-stack{gap:var(--space-3);flex-direction:column;display:flex}.form-field{min-width:0;color:var(--text-secondary);flex-direction:column;gap:6px;font-size:13px;display:flex}.form-field .input,.form-field .select,.form-field .textarea{width:100%;max-width:420px}.form-actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.table-actions{white-space:nowrap;align-items:center;gap:6px;display:inline-flex}.table-row-link{cursor:pointer}.empty-state{padding:var(--space-4) 0;color:var(--text-secondary);margin:0;font-size:14px;line-height:1.5}.card>.empty-state{padding:var(--space-2) 0;text-align:left}td.empty-state{text-align:center;padding:var(--space-5) var(--space-4)!important}.toolbar .select{min-width:140px}.toolbar .input{min-width:160px}.date-range{align-items:center;gap:var(--space-3);flex-wrap:wrap;min-width:0;display:flex}.date-range-field{align-items:center;gap:var(--space-2);min-width:0;color:var(--text-secondary);font-size:14px;display:inline-flex}.date-range-input{box-sizing:border-box;min-width:0}.date-range-actions{align-items:center;min-width:0;display:flex}.btn{appearance:none;height:var(--control-height);min-height:var(--control-height);border:1px solid var(--border-strong);border-radius:var(--radius-md);background:var(--surface);color:var(--text-primary);letter-spacing:inherit;cursor:pointer;white-space:nowrap;justify-content:center;align-items:center;padding:0 14px;font-family:inherit;font-size:14px;font-weight:550;line-height:1;text-decoration:none;display:inline-flex}.btn:hover{background:var(--surface-soft)}.btn:focus-visible{box-shadow:0 0 0 3px var(--focus-ring);outline:none}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--primary);border-color:var(--primary);color:#fff}.btn-primary:hover:not(:disabled){background:var(--primary-hover);border-color:var(--primary-hover)}.btn-primary:disabled{background:var(--primary);border-color:var(--primary);color:#fff}.btn-secondary{background:var(--surface);border-color:var(--border-strong);color:var(--text-primary)}.btn-secondary:hover:not(:disabled){background:var(--primary-soft);border-color:var(--primary-border);color:var(--text-primary)}.btn-ghost{color:var(--text-secondary);background:0 0;border-color:#0000}.btn-ghost:hover:not(:disabled){background:var(--primary-soft);color:var(--text-primary)}.btn-danger{background:var(--surface);border-color:var(--danger-border);color:var(--danger)}.btn-danger:hover:not(:disabled){background:var(--danger-soft);border-color:var(--danger)}.btn-sm{border-radius:var(--radius-sm);height:32px;min-height:32px;padding:0 10px;font-size:13px}.input,.select,.textarea{height:var(--control-height);border:1px solid var(--border-strong);border-radius:var(--radius-md);background:var(--surface);max-width:100%;color:var(--text-primary);padding:0 12px;font-family:inherit;font-size:16px;line-height:1.3}.textarea{resize:vertical;height:auto;min-height:88px;padding:10px 12px}.input::placeholder,.textarea::placeholder{color:var(--text-muted)}.input:focus,.select:focus,.textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--focus-ring);outline:none}.input:disabled,.select:disabled,.textarea:disabled{opacity:.55;cursor:not-allowed;background:var(--surface-soft)}input[type=checkbox]{accent-color:var(--primary)}.table-wrap{-webkit-overflow-scrolling:touch;width:100%;max-width:100%;overflow-x:auto}.table{border-collapse:collapse;background:var(--surface);text-align:left;border:0;width:100%;min-width:640px}.table th,.table td{border:0;border-bottom:1px solid var(--border);vertical-align:middle;padding:10px 12px;font-size:14px;line-height:1.4}.table th{background:var(--surface-soft);color:var(--text-secondary);white-space:nowrap;font-weight:600}.table tbody tr:hover{background:var(--primary-soft)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-4);box-shadow:var(--shadow-sm)}.card p+p,.page>p+p,.section p+p{margin-top:var(--space-2)}.modal-backdrop{z-index:1000;padding:var(--space-3);background:var(--scrim);box-sizing:border-box;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-panel{background:var(--surface);border-radius:var(--radius-lg);width:100%;max-width:440px;max-height:90vh;padding:var(--space-5);box-shadow:var(--shadow-sm);overflow-y:auto}.modal-header{margin-bottom:var(--space-4)}.modal-header h2,.modal-header h3{margin:0}.modal-body{gap:var(--space-3);flex-direction:column;display:flex}.modal-footer{gap:var(--space-2);margin-top:var(--space-5);flex-wrap:wrap;display:flex}@media (width<=768px){h1,.page-title{font-size:20px}.toolbar{align-items:stretch}.toolbar label{flex-direction:column;align-items:stretch;width:100%}.toolbar .input,.toolbar .select{width:100%;min-width:0}.date-range,.toolbar .date-range{flex:100%;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px;width:100%;min-width:0;display:grid}.date-range-field,.toolbar .date-range .date-range-field{flex-direction:column;align-items:stretch;gap:4px;width:auto;min-width:0;max-width:100%;display:flex}.date-range-input,.toolbar .date-range .date-range-input{box-sizing:border-box;appearance:none;width:100%;min-width:0;max-width:100%;display:block}.date-range-input::-webkit-datetime-edit{min-width:0;padding:0}.date-range-input::-webkit-datetime-edit-fields-wrapper{min-width:0;padding:0}.date-range-actions,.toolbar .date-range-actions{flex:100%;width:100%}.date-range-actions .btn{width:100%}.btn{height:44px;min-height:44px}.btn-sm{height:40px;min-height:40px}.modal-panel{width:100%;max-width:100%;padding:var(--space-4)}.table th,.table td{padding:10px}input[type=date].input{appearance:none}.form-field .input,.form-field .select,.form-field .textarea{max-width:100%}.form-actions .btn,.modal-footer .btn{flex:1 1 0;min-width:0}}.order-detail-payments-wrap{overflow-x:hidden}.table.order-detail-payments-table{table-layout:fixed;width:100%;min-width:0;max-width:100%}.table.order-detail-payments-table th,.table.order-detail-payments-table td{padding-left:8px;padding-right:8px}.table.order-detail-payments-table .order-detail-payments-type{text-align:left;white-space:normal;width:58%}.table.order-detail-payments-table .order-detail-payments-amount{text-align:left;white-space:nowrap;font-variant-numeric:tabular-nums;width:42%}@media (width<=768px){.table.order-detail-payments-table th,.table.order-detail-payments-table td{padding-left:6px;padding-right:6px}}.sales-page{width:100%;min-width:0;max-width:1440px}.sales-header{align-items:center;gap:var(--space-3);margin-bottom:var(--space-4);flex-wrap:wrap;display:flex}.sales-header .page-title{margin:0}.sales-resume-banner{border-radius:var(--radius-md);background:var(--accent-bg);width:100%;color:var(--text-primary);padding:8px 12px;font-size:13px;font-weight:600}.sales-layout{align-items:flex-start;gap:20px;min-width:0;display:flex}.sales-catalog{flex-shrink:0;width:320px;min-width:0}.sales-ticket{gap:var(--space-4);flex-direction:column;flex:1;min-width:0;display:flex}.sales-scan-bar{gap:var(--space-2);margin-bottom:var(--space-4);flex-wrap:wrap;display:flex}.sales-scan-bar .btn{flex:1 1 0;min-width:0}.sales-catalog-block+.sales-catalog-block{margin-top:var(--space-5)}.sales-catalog-block h2{margin:0 0 var(--space-2);font-size:15px}.sales-pick-list{margin-top:var(--space-2);flex-direction:column;gap:6px;max-height:280px;display:flex;overflow-y:auto}.sales-pick{text-align:left;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);width:100%;min-height:44px;color:var(--text-primary);cursor:pointer;justify-content:space-between;align-items:baseline;gap:8px;padding:10px 12px;font-family:inherit;font-size:14px;line-height:1.3;display:flex}.sales-pick:hover{background:var(--primary-soft)}.sales-pick-main{flex:1;min-width:0}.sales-pick-name{font-weight:600}.sales-pick-meta{color:var(--text-secondary);margin-top:2px;font-size:12px;font-weight:400;display:block}.sales-pick-price{font-variant-numeric:tabular-nums;flex-shrink:0;font-weight:650}.sales-member-empty{color:var(--text-secondary);font-size:13px}.sales-member-info{flex-direction:column;gap:4px;display:flex}.sales-member-name{font-size:15px;font-weight:650}.sales-member-meta{color:var(--text-secondary);font-size:13px}.sales-member-actions{gap:var(--space-2);margin-top:var(--space-3);flex-wrap:wrap;display:flex}.sales-member-results{margin-top:var(--space-2);flex-direction:column;gap:6px;display:flex}.sales-hint{color:var(--text-secondary);font-size:13px}.sales-cart-list{flex-direction:column;display:flex}.sales-cart-row{border-bottom:1px solid var(--border);align-items:center;gap:8px;min-width:0;padding:10px 0;display:flex}.sales-cart-row:last-child{border-bottom:0}.sales-cart-namewrap{flex:1;min-width:0}.sales-cart-name{text-overflow:ellipsis;white-space:nowrap;font-size:15px;font-weight:650;line-height:1.25;overflow:hidden}.sales-cart-spec{color:var(--text-secondary);font-weight:400}.sales-cart-sub{color:var(--text-secondary);margin-top:2px;font-size:12px}.sales-cart-note{color:var(--text-secondary);margin-left:6px}.sales-qty{flex-shrink:0;justify-content:center;align-items:center;gap:2px;display:inline-flex}.sales-qty-value{text-align:center;font-variant-numeric:tabular-nums;min-width:24px;font-size:15px}.sales-cart-sum{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap;flex-shrink:0;min-width:72px;font-size:15px;font-weight:700}.sales-cart-foot{margin-top:var(--space-3);border-radius:var(--radius-md);background:var(--surface-soft);justify-content:space-between;align-items:center;gap:8px;padding:10px 12px;display:flex}.sales-cart-foot-label{color:var(--text-secondary);font-size:14px}.sales-cart-foot-amount{font-variant-numeric:tabular-nums;font-size:20px;font-weight:700}.sales-totals{margin-top:var(--space-4);flex-direction:column;gap:6px;display:flex}.sales-total-row{color:var(--text-secondary);justify-content:space-between;gap:12px;font-size:14px;display:flex}.sales-total-discount{color:var(--danger)}.sales-total-payable{border-top:1px solid var(--border);color:var(--text-primary);margin-top:4px;padding-top:8px;font-size:16px;font-weight:650}.sales-total-payable strong{font-variant-numeric:tabular-nums;font-size:22px;font-weight:700}.sales-pay-fields{gap:var(--space-3);margin-bottom:var(--space-3);flex-direction:column;display:flex}.sales-pay-fields label{color:var(--text-secondary);flex-direction:column;align-items:stretch;gap:6px;font-size:14px;display:flex}.sales-pay-list{margin-top:var(--space-2);flex-direction:column;gap:8px;display:flex}.sales-pay-item{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:8px;padding:8px 0;font-size:14px;display:flex}.sales-submit{width:100%;height:48px;min-height:48px;font-size:16px}.sales-sheet-backdrop{z-index:1000;background:var(--scrim);box-sizing:border-box;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.sales-sheet{-webkit-overflow-scrolling:touch;background:var(--surface);box-sizing:border-box;border-top-left-radius:16px;border-top-right-radius:16px;width:100%;max-height:80vh;padding:14px 14px 20px;overflow-y:auto}.sales-sheet-head{justify-content:space-between;align-items:center;gap:8px;margin-bottom:12px;display:flex}.sales-empty{text-align:center;color:var(--text-secondary);padding:16px 4px;font-size:14px}.sales-catalog .input,.sales-member .input,.sales-pay .input,.sales-pay .select,.sales-sheet .input{width:100%}.sales-table{min-width:560px}.sales-table .sales-qty{white-space:nowrap}@media (width<=768px){.sales-layout{flex-direction:column}.sales-catalog,.sales-ticket{width:100%}.sales-pick-list{max-height:none}.sales-submit{width:100%}}.member-detail-page{width:100%;min-width:0;max-width:1280px}.member-detail-back{min-height:40px;margin-bottom:var(--space-2);color:var(--text-secondary);align-items:center;padding:8px 0;font-size:15px;line-height:1.3;text-decoration:none;display:inline-flex}.member-detail-back:hover{color:var(--text-primary)}.member-detail-hero{gap:var(--space-4);margin-bottom:var(--space-4);grid-template-columns:minmax(0,1fr) minmax(240px,300px);display:grid}.member-detail-name{margin:0 0 var(--space-3);font-size:22px;font-weight:650;line-height:1.25}.member-detail-status{background:var(--surface-soft);color:var(--text-secondary);border-radius:999px;padding:2px 8px;font-size:12px;font-weight:600;display:inline-block}.member-detail-status.is-active{background:var(--success-soft);color:var(--success)}.member-detail-status.is-inactive{background:var(--danger-soft);color:var(--danger)}.member-detail-balance-label{color:var(--text-secondary);font-size:13px}.member-detail-balance-value{margin:6px 0 var(--space-4);letter-spacing:-.03em;font-variant-numeric:tabular-nums;font-size:32px;font-weight:700;line-height:1.1}.member-detail-actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.member-detail-actions .btn{flex:1 1 0;min-width:120px}.member-detail-grid{gap:var(--space-3) var(--space-4);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.member-detail-field-label{color:var(--text-secondary);margin-bottom:4px;font-size:12px;display:block}.member-detail-field-value{word-break:break-word;font-size:15px;font-weight:550}.member-detail-form{gap:var(--space-3);flex-direction:column;display:flex}.member-detail-form label{color:var(--text-secondary);flex-direction:column;gap:6px;font-size:13px;display:flex}.member-detail-form .input,.member-detail-form .select,.member-detail-page .modal-body .input,.member-detail-page .modal-body .select{width:100%}.member-detail-pets{gap:var(--space-3);grid-template-columns:repeat(auto-fill,minmax(240px,1fr));display:grid}.member-detail-pets .member-detail-grid{grid-template-columns:1fr 1fr}.member-detail-pet-title{margin:0 0 var(--space-3);font-size:16px;font-weight:650}.member-detail-log-card{flex-direction:column;gap:6px;display:flex}.member-detail-amt.is-plus{color:var(--success);font-weight:650}.member-detail-amt.is-minus{color:var(--danger);font-weight:650}.member-detail-section-head{justify-content:space-between;align-items:center;gap:var(--space-2);margin-bottom:var(--space-3);flex-wrap:wrap;display:flex}.member-detail-section-head h2{margin:0}.member-detail-log-toolbar{align-items:flex-end;gap:var(--space-3);margin-bottom:var(--space-4);flex-wrap:wrap;min-width:0;max-width:100%;display:flex}.member-detail-date-range{min-width:0;max-width:100%}.member-detail-log-actions{align-items:flex-end;gap:var(--space-3);flex-wrap:wrap;min-width:0;display:flex}.member-detail-log-field{align-items:center;gap:var(--space-2);color:var(--text-secondary);min-width:0;font-size:14px;display:inline-flex}.member-detail-log-hint{color:var(--text-secondary);font-size:14px}.modal-body label{color:var(--text-secondary);flex-direction:column;gap:6px;font-size:13px;display:flex}.modal-body .input,.modal-body .select{width:100%}@media (width<=768px){.member-detail-hero,.member-detail-grid,.member-detail-pets,.member-detail-pets .member-detail-grid{grid-template-columns:1fr}.member-detail-balance-value{font-size:28px}.member-detail-actions .btn{flex:calc(50% - 8px)}.member-detail-log-toolbar{flex-direction:column;align-items:stretch;gap:8px}.member-detail-log-actions{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:8px;width:100%;min-width:0;display:grid}.member-detail-date-range .member-detail-log-field,.member-detail-log-actions .member-detail-log-field{flex-direction:column;align-items:stretch;gap:6px;width:100%;min-width:0;max-width:100%;display:flex}.member-detail-date-range .member-detail-log-field{gap:4px}.member-detail-log-actions .select{box-sizing:border-box;width:100%;min-width:0;max-width:100%}.member-detail-log-actions .btn{flex:none;width:auto}}.badge{background:var(--surface-soft);color:var(--text-secondary);white-space:nowrap;border-radius:999px;padding:2px 8px;font-size:12px;font-weight:600;line-height:1.4;display:inline-block}.badge-success{background:var(--success-soft);color:var(--success)}.badge-muted{background:var(--surface-soft);color:var(--text-secondary)}.badge-warning{background:var(--warning-soft);color:var(--warning)}.badge-danger{background:var(--danger-soft);color:var(--danger)}.badge-info{background:var(--info-soft);color:var(--info)}.members-page{width:100%;min-width:0;max-width:1320px}.members-search{width:320px;max-width:100%}.members-status{min-width:148px}.members-create{margin-bottom:var(--space-4)}.members-create-form{gap:var(--space-3);flex-direction:column;display:flex}.members-create-form label{color:var(--text-secondary);flex-direction:column;gap:6px;font-size:13px;display:flex}.members-create-form .input{width:100%;max-width:420px}.members-create-actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.members-table{min-width:720px}.members-table th,.members-table td{padding:12px 14px}.members-col-no,.members-col-name,.members-col-phone,.members-col-balance,.members-col-discount,.members-col-status{white-space:nowrap;width:1%}.members-col-balance{font-variant-numeric:tabular-nums;color:var(--text-primary);font-weight:600}.members-col-remark{word-break:break-word;min-width:120px}.members-row{cursor:pointer}.members-mobile-list{gap:var(--space-3);flex-direction:column;display:flex}.members-mobile-card{min-width:0}.members-mobile-head{justify-content:space-between;align-items:flex-start;gap:var(--space-3);margin-bottom:var(--space-3);display:flex}.members-mobile-name{font-size:16px;font-weight:650;line-height:1.3}.members-mobile-no{color:var(--text-secondary);margin-top:2px;font-size:13px}.members-mobile-grid{gap:var(--space-3);margin-bottom:var(--space-4);grid-template-columns:1fr 1fr;display:grid}.members-mobile-label{color:var(--text-secondary);margin-bottom:4px;font-size:12px;display:block}.members-mobile-value{word-break:break-word;font-size:14px;font-weight:550}.members-mobile-balance{font-variant-numeric:tabular-nums;color:var(--text-primary);font-size:18px;font-weight:650}.members-mobile-remark{margin-bottom:var(--space-4)}.members-mobile-card .btn{width:100%}@media (width<=768px){.members-toolbar .btn,.members-search,.members-status{width:100%}.members-create-form .input{max-width:100%}.members-create-actions .btn{flex:1 1 0;min-width:0}.members-mobile-grid{grid-template-columns:1fr 1fr}}.consumption-receipt-panel{flex-direction:column;max-width:420px;display:flex;overflow:hidden}.consumption-receipt-body{min-width:0;min-height:0;overflow:hidden auto}.consumption-receipt-stage{width:100%;min-width:0;overflow:hidden;container-type:inline-size}.consumption-receipt-scale{transform-origin:top;width:390px;margin:0 auto}@container (width<=389px){.consumption-receipt-scale{zoom:calc(100cqi / 390)}}.consumption-receipt{color:#1c1917;box-sizing:border-box;width:390px;min-width:390px;max-width:390px;font-family:var(--sans);background:#fff;margin:0 auto;padding:24px 20px 20px;position:relative}.consumption-receipt-watermark{z-index:0;color:#1c1917;letter-spacing:.04em;white-space:nowrap;opacity:.04;pointer-events:none;-webkit-user-select:none;user-select:none;font-size:72px;font-weight:700;line-height:1;position:absolute;top:58%;left:50%;transform:translate(-50%,-50%)rotate(-22deg)}.consumption-receipt>:not(.consumption-receipt-watermark){z-index:1;position:relative}.consumption-receipt-title{text-align:center;letter-spacing:-.02em;margin:0 0 18px;font-size:22px;font-weight:700}.consumption-receipt-meta{border-bottom:1px solid #e7e4df;flex-direction:column;gap:8px;padding-bottom:14px;display:flex}.consumption-receipt-meta div{justify-content:space-between;align-items:baseline;gap:12px;font-size:13px;display:flex}.consumption-receipt-meta span{color:#6b6560;flex-shrink:0}.consumption-receipt-meta strong{text-align:right;word-break:break-word;font-weight:600}.consumption-receipt-section-label{color:#6b6560;letter-spacing:.04em;margin:16px 0 10px;font-size:12px;font-weight:600}.consumption-receipt-item{border-bottom:1px solid #f3f1ee;padding:10px 0}.consumption-receipt-item-head{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.consumption-receipt-item-name{word-break:break-word;font-size:15px;font-weight:650;line-height:1.35}.consumption-receipt-tag{color:#6b6560;background:#f3f1ee;border-radius:999px;flex-shrink:0;padding:1px 6px;font-size:11px;font-weight:600}.consumption-receipt-item-spec{color:#6b6560;word-break:break-word;margin-top:3px;font-size:12px}.consumption-receipt-item-row{font-variant-numeric:tabular-nums;justify-content:space-between;align-items:baseline;gap:12px;margin-top:6px;font-size:13px;display:flex}.consumption-receipt-item-row span{color:#6b6560}.consumption-receipt-empty{color:#6b6560;margin:0;font-size:13px}.consumption-receipt-totals{flex-direction:column;gap:8px;margin-top:8px;display:flex}.consumption-receipt-total-row{font-variant-numeric:tabular-nums;justify-content:space-between;align-items:baseline;gap:12px;font-size:14px;display:flex}.consumption-receipt-paid{font-variant-numeric:tabular-nums;border-top:1px solid #e7e4df;flex-direction:column;gap:10px;margin-top:14px;padding-top:14px;font-size:16px;display:flex}.consumption-receipt-thanks{text-align:center;color:#6b6560;margin-top:20px;font-size:12px}.consumption-receipt-image-preview{width:100%;max-width:390px;margin-top:var(--space-3);border:1px solid var(--border);border-radius:var(--radius-md);margin-left:auto;margin-right:auto;display:block}.member-detail-log-action{margin-top:12px}.member-detail-log-action .btn{width:100%}.promotion-page{width:100%;min-width:0;max-width:1280px}.promotion-toolbar{justify-content:space-between}.promotion-type-tabs{background:var(--surface-soft);border-radius:var(--radius-md);flex-wrap:wrap;gap:4px;padding:4px;display:inline-flex}.promotion-tab{appearance:none;border-radius:var(--radius-sm);height:32px;color:var(--text-secondary);cursor:pointer;white-space:nowrap;background:0 0;border:0;padding:0 12px;font-family:inherit;font-size:13px;font-weight:550;line-height:1}.promotion-tab:hover{color:var(--text-primary)}.promotion-tab.is-active{background:var(--primary-soft);color:var(--primary);box-shadow:none;font-weight:650}.promotion-tab:disabled{opacity:.55;cursor:not-allowed}.promotion-form-card h2{margin-bottom:var(--space-4)}.promotion-form-grid{gap:var(--space-3) var(--space-4);margin-bottom:var(--space-4);grid-template-columns:1fr 1fr;display:grid}.promotion-field{min-width:0;color:var(--text-secondary);flex-direction:column;gap:6px;font-size:13px;display:flex}.promotion-field-label{color:var(--text-secondary);font-size:13px}.promotion-field .input{width:100%}.promotion-hint{color:var(--text-secondary);font-size:13px}.promotion-rule-card{margin:var(--space-4) 0;padding:var(--space-4);background:var(--surface-soft);border-radius:var(--radius-md)}.promotion-rule-title{margin-bottom:var(--space-3);color:var(--text-primary);font-size:13px;font-weight:650}.promotion-rule-fields{gap:var(--space-3);flex-wrap:wrap;display:flex}.promotion-qty{width:88px;max-width:100%}.promotion-money{align-items:center;gap:6px;min-width:0;display:flex}.promotion-money span{color:var(--text-secondary)}.promotion-money .input{width:120px;max-width:100%}.promotion-products{margin-bottom:var(--space-4)}.promotion-products-head{align-items:baseline;gap:var(--space-2);margin-bottom:var(--space-3);flex-wrap:wrap;display:flex}.promotion-product-search{width:100%;max-width:360px;margin-bottom:var(--space-3)}.promotion-product-list{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);max-height:220px;overflow-y:auto}.promotion-item{align-items:center;gap:var(--space-3);border-bottom:1px solid var(--border);cursor:pointer;min-width:0;padding:8px 12px;display:flex}.promotion-item:last-child{border-bottom:0}.promotion-item:hover{background:var(--surface-soft)}.promotion-item.is-selected{background:var(--primary-soft)}.promotion-item-no{color:var(--text-secondary);flex-shrink:0;font-size:12px}.promotion-item-name{word-break:break-word;flex:auto;min-width:0;font-size:14px;font-weight:550}.promotion-item-price{color:var(--text-secondary);font-variant-numeric:tabular-nums;flex-shrink:0;font-size:13px}.promotion-form-actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.promotion-list{gap:var(--space-3);flex-direction:column;display:flex}.promotion-summary-head{justify-content:space-between;align-items:flex-start;gap:var(--space-2);margin-bottom:var(--space-3);flex-wrap:wrap;display:flex}.promotion-summary-title{word-break:break-word;font-size:16px;font-weight:650}.promotion-summary-badges{flex-wrap:wrap;gap:6px;display:flex}.promotion-summary-meta{margin-bottom:var(--space-2);color:var(--text-secondary);word-break:break-word;font-size:13px}.promotion-summary-actions{gap:var(--space-2);margin-top:var(--space-3);flex-wrap:wrap;display:flex}@media (width<=768px){.promotion-form-grid{grid-template-columns:1fr}.promotion-toolbar{align-items:stretch}.promotion-type-tabs{width:100%}.promotion-tab{flex:auto;height:36px;min-height:36px}.promotion-qty,.promotion-money .input,.promotion-product-search{width:100%;max-width:100%}.promotion-rule-fields .promotion-field{flex:calc(50% - 8px);min-width:0}.promotion-form-actions .btn{flex:1 1 0;min-width:0}}.products-page{width:100%;min-width:0;max-width:1280px}.products-header{justify-content:space-between;align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.products-header .page-title{margin:0}.products-header .toolbar{margin-bottom:0}.products-form{margin-bottom:var(--space-5)}.products-form h2{margin-bottom:var(--space-4)}.products-form-grid{gap:var(--space-3) var(--space-4);margin-bottom:var(--space-4);grid-template-columns:1fr 1fr;display:grid}.products-field{min-width:0;color:var(--text-secondary);flex-direction:column;gap:6px;font-size:13px;display:flex}.products-field-span{grid-column:1/-1}.products-field .input{width:100%}.products-money,.products-remind{align-items:center;gap:6px;min-width:0;display:flex}.products-money span,.products-remind span{color:var(--text-secondary);flex-shrink:0}.products-money .input,.products-remind .input{flex:1;min-width:0}.products-form-actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.products-table-wrap{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);box-shadow:var(--shadow-sm)}.products-table{border:0;min-width:1020px}.products-table th,.products-table td{padding:10px}.products-col-check{text-align:center;width:40px}.products-col-no,.products-col-unit,.products-col-price,.products-col-cost,.products-col-date,.products-col-status{white-space:nowrap;width:1%}.products-col-no{font-family:var(--mono);font-size:13px}.products-col-price{font-variant-numeric:tabular-nums;font-weight:600}.products-col-cost{color:var(--text-secondary);font-variant-numeric:tabular-nums}.products-col-name,.products-col-spec{word-break:break-word;min-width:96px}.products-col-actions{white-space:nowrap;width:1%}.products-actions{align-items:center;gap:6px;display:inline-flex}@media (width<=768px){.products-header{align-items:stretch}.products-toolbar{width:100%}.products-toolbar .btn{flex:1 1 0;min-width:0}.products-form-grid{grid-template-columns:1fr}.products-form-actions .btn{flex:1 1 0;min-width:0}.products-date-input{appearance:none}}.login-page{box-sizing:border-box;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);width:100%;max-width:400px;box-shadow:var(--shadow-sm);margin:80px auto;padding:32px 24px}.login-page h1{text-align:center;margin-bottom:var(--space-2)}.login-page h2{text-align:center;margin-bottom:var(--space-5);color:var(--text-secondary);font-size:16px;font-weight:550}.login-page .form-stack{align-items:stretch}.login-page .form-field .input{max-width:100%}.login-page .btn{width:100%}@media (width<=768px){.login-page{width:auto;margin:40px 16px}}.login-message{margin-top:var(--space-4);text-align:center;color:var(--text-secondary);font-size:14px;line-height:1.5}.login-message.is-error{color:var(--danger)}.login-message.is-success{color:var(--success)}.dashboard-alert-grid{gap:var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.dashboard-stat{font-variant-numeric:tabular-nums;color:var(--text-primary);margin:8px 0 16px;font-size:28px;font-weight:700;line-height:1.1}.dashboard-alert-item{margin:0 0 var(--space-2);color:var(--text-secondary);font-size:14px;line-height:1.45}.dashboard-alert-item .badge{margin-left:6px}.dashboard-summary-card p{justify-content:space-between;gap:var(--space-3);font-size:14px;display:flex}.dashboard-user-card p{font-size:14px}.detail-list p{margin:0;font-size:14px;line-height:1.5}.detail-list p+p{margin-top:var(--space-2)}@media (width<=768px){.dashboard-alert-grid{grid-template-columns:1fr}}.admin-shell{background:var(--app-bg);flex-direction:column;min-height:100vh;display:flex}.admin-mobile-bar{border-bottom:1px solid var(--border);background:var(--sidebar-bg);color:var(--text-primary);z-index:20;align-items:center;gap:12px;padding:10px 12px;display:flex;position:sticky;top:0}.admin-mobile-menu-btn{color:var(--text-primary);border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:0;padding:4px 10px;font-size:22px;line-height:1}.admin-mobile-menu-btn:hover{background:var(--primary-soft)}.admin-scrim{background:var(--scrim);z-index:30;position:fixed;inset:0}.admin-body{flex:1;min-width:0;display:flex;position:relative}.admin-sidebar{text-align:left;box-sizing:border-box;background:var(--sidebar-bg);border-right:1px solid var(--border)}.admin-sidebar h2{color:var(--text-primary);margin:0 0 16px;font-size:18px;font-weight:600}.admin-sidebar hr{border:0;border-top:1px solid var(--border);margin:16px 0}.admin-sidebar-nav{flex-direction:column;gap:2px;display:flex}.admin-nav-item{appearance:none;box-sizing:border-box;width:100%;color:var(--text-primary);letter-spacing:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;justify-content:space-between;align-items:center;gap:8px;margin:0;font-family:inherit;line-height:1.3;text-decoration:none;display:flex}.admin-nav-item:hover{background:var(--primary-soft);color:var(--primary)}.admin-nav-item:focus-visible{box-shadow:0 0 0 3px var(--focus-ring);outline:none}.admin-nav-item.is-active{background:var(--primary-soft);color:var(--primary);font-weight:600}.admin-nav-item.is-active:hover{background:var(--primary-soft);color:var(--primary)}.admin-nav-item.is-branch-current{color:var(--text-primary)}.admin-nav-item--l1{padding:9px 10px;font-size:15px;font-weight:600}.admin-nav-item--l2{color:var(--text-primary);padding:7px 8px 7px 10px;font-size:13.5px;font-weight:500}.admin-nav-item--l3{color:var(--text-secondary);padding:6px 8px;font-size:13px;font-weight:400}.admin-nav-item--l3.is-active{color:var(--primary);font-weight:600}.admin-nav-group{background:color-mix(in srgb, var(--surface) 70%, var(--sidebar-bg));border-radius:8px;flex-direction:column;gap:1px;margin:2px 0 6px 14px;padding:6px 4px;display:flex}.admin-nav-subgroup{border-left:2px solid var(--border);flex-direction:column;gap:1px;margin:1px 4px 4px 16px;padding:2px 0 2px 12px;display:flex}.admin-nav-chevron{width:1em;color:var(--text-muted);flex-shrink:0;font-size:11px;line-height:1;transition:transform .15s;display:inline-block;transform:rotate(0)}.admin-nav-chevron.is-open{transform:rotate(90deg)}.admin-sidebar-meta{text-align:left}.admin-sidebar-meta p{color:var(--text-secondary);margin:0 0 4px;font-size:13px}.admin-sidebar-meta button{appearance:none;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);color:var(--text-primary);cursor:pointer;margin-top:8px;padding:6px 10px;font-family:inherit;font-size:13px}.admin-sidebar-meta button:hover{background:var(--primary-soft);border-color:var(--primary-border)}.admin-main{flex:1;min-width:0}
