.ui-page-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:16px 24px;padding:2px 0 20px}.ui-page-head__text{flex:1 1 320px;min-width:0}.ui-eyebrow{margin-bottom:6px;color:var(--hw-primary);font-size:12px;font-weight:650;letter-spacing:.14em;text-transform:uppercase}.ui-page-head__title{margin:0;color:var(--hw-ink);font-size:25px;font-weight:650;letter-spacing:-.02em;line-height:1.25}.ui-page-head__sub{margin:6px 0 0;color:#66736d;font-size:13px;line-height:1.55}.ui-page-head__extra{display:flex;flex:0 1 auto;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:8px;max-width:100%;margin-left:auto}.ui-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px}.ui-stats--3{grid-template-columns:repeat(3,minmax(0,1fr))}.ui-stat{position:relative;padding:15px 18px 14px;overflow:hidden;background:var(--hw-surface);border:1px solid var(--hw-line);border-radius:14px;box-shadow:0 1px 2px #16201d08}.ui-stat:before{position:absolute;top:0;left:0;width:100%;height:2px;background:#dfe6e2;content:""}.ui-stat--positive:before{background:#2b7a55}.ui-stat--warn:before{background:#c08a3e}.ui-stat--danger:before{background:#a1372f}.ui-stat__label{display:flex;align-items:center;gap:6px;color:var(--hw-ink-2);font-size:12px;font-weight:550}.ui-stat__label:before{width:5px;height:5px;background:#b7c5bf;border-radius:50%;content:""}.ui-stat--positive .ui-stat__label:before{background:#2b7a55}.ui-stat--warn .ui-stat__label:before{background:#c08a3e}.ui-stat--danger .ui-stat__label:before{background:#a1372f}.ui-stat__value{margin-top:7px;color:var(--hw-ink);font-size:26px;font-weight:650;font-variant-numeric:tabular-nums;letter-spacing:-.02em;line-height:1.1}.ui-stat__hint{margin-top:7px;color:#66736d;font-size:12px;line-height:1.4}.ui-surface{background:var(--hw-surface);border:1px solid var(--hw-line);border-radius:16px;box-shadow:0 1px 2px #16201d08,0 8px 24px #16201d09}.ui-surface--normal{padding:18px}.ui-surface--compact{padding:14px 16px}.ui-surface--none{padding:0}.ui-surface__head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 16px}.ui-surface--normal>.ui-surface__head,.ui-surface--compact>.ui-surface__head{margin-bottom:12px}.ui-surface--none>.ui-surface__head{padding:12px 16px;border-bottom:1px solid #eef1ef}.ui-surface__title{min-width:0;color:var(--hw-ink);font-size:15px;font-weight:650;letter-spacing:-.01em}.ui-surface__extra{margin-left:auto;color:#66716c;font-size:12px}.ui-empty{padding:26px 0 18px}.ui-empty__text{color:#66736d;font-size:13px}@media (max-width: 1100px){.ui-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 640px){.ui-page-head{flex-direction:column;align-items:stretch;gap:12px}.ui-page-head__extra{justify-content:flex-start}.ui-stats{grid-template-columns:minmax(0,1fr)}}:root{--hw-primary: #14584F;--hw-primary-hover: #1B6A60;--hw-primary-soft: #E8F1EE;--hw-body-ink: #1A2220;--hw-ink: #16201D;--hw-ink-2: #4D5954;--hw-muted: #73807A;--hw-line: #E2E8E4;--hw-line-soft: #EEF2EF;--hw-bg: #F3F5F4;--hw-surface: #FFFFFF;--hw-sider: #12211E;--hw-sider-hover: #1A2F2A;--hw-sider-selected: #1E3A34;--hw-sider-text: #B8CCC6;--hw-table-head: #F7FAF8;--hw-radius-sm: 6px;--hw-radius: 10px;--hw-radius-lg: 14px;--hw-space-xs: 4px;--hw-space-sm: 8px;--hw-space-md: 12px;--hw-space-lg: 16px;--hw-space-xl: 24px;--hw-space-xxl: 32px;--hw-font-xs: 12px;--hw-font-sm: 13px;--hw-font-md: 14px;--hw-font-lg: 18px;--hw-font-xl: 24px}html,body,#root{height:100%;margin:0}body{background:var(--hw-bg);color:var(--hw-body-ink);-webkit-font-smoothing:antialiased}.num,.money{font-variant-numeric:tabular-nums;font-feature-settings:"tnum"}.muted{color:#66716c}:where(a,button,input,select,textarea,[role=button],[tabindex]):focus-visible{outline:2px solid var(--hw-primary);outline-offset:2px}.ant-btn:focus-visible,.ant-picker:focus-visible,.ant-select-selector:focus-visible{outline:2px solid var(--hw-primary)!important;outline-offset:2px!important}.ant-segmented-item:has(.ant-segmented-item-input:focus-visible){outline:2px solid var(--hw-primary)!important;outline-offset:-2px;border-radius:6px}@media (prefers-reduced-motion: reduce){html:focus-within{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.copy-text{display:inline-flex;align-items:center;gap:4px;max-width:100%;min-height:22px;padding:1px 4px;margin:-1px -4px;border-radius:4px;cursor:pointer;transition:background-color .15s}.copy-text:hover{background:#eef3f1}.copy-text:focus-visible{outline:2px solid var(--hw-primary);outline-offset:1px}.copy-text .copy-text-v{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.copy-text .copy-text-i{flex:0 0 auto;font-size:12px;color:#6b7671;opacity:0;transition:opacity .15s}.copy-text-wrap{align-items:flex-start}.copy-text-wrap .copy-text-v{white-space:normal;word-break:break-word}.copy-text-wrap .copy-text-i{margin-top:3px}.copy-text:hover .copy-text-i,.copy-text:focus-visible .copy-text-i{opacity:1}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:18px;flex-wrap:wrap}.page-head h1{font-size:24px;margin:0;font-weight:650;letter-spacing:-.02em}.page-head .sub{color:#66736d;font-size:13px;margin-top:6px;line-height:1.55}.brand{display:flex;align-items:center;gap:10px;padding:18px 18px 14px}.brand-mark{width:30px;height:30px;border-radius:8px;background:var(--hw-primary);color:#e6f0ed;display:grid;place-items:center;font-weight:700;font-size:15px;flex:0 0 auto}.brand-name{color:var(--hw-primary-soft);font-weight:600;font-size:14px;line-height:1.2;max-width:132px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.brand-logo{object-fit:contain;background:#fff;flex:0 0 auto}.brand-sub{color:#788a84;font-size:11px}.login-wrap{min-height:100%;display:grid;place-items:center;padding:24px;background:radial-gradient(1200px 600px at 20% -10%,#e6f0ed 0%,var(--hw-bg) 45%)}.login-card{width:100%;max-width:380px;background:#fff;border-radius:16px;padding:32px 28px;border:0;box-shadow:0 1px 2px #12211e0f,0 12px 32px #12211e14}.login-card h1{font-size:20px;margin:0 0 6px}.app{max-width:430px;margin:0 auto;min-height:100%;background:var(--hw-bg);padding-bottom:76px}.mobile-head{background:var(--hw-primary);color:#e9f3f0;padding:18px 18px 16px;border-radius:0 0 18px 18px}.mobile-head .row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.mobile-head .t{font-size:19px;font-weight:650;letter-spacing:-.01em}.mobile-head .s{font-size:12px;color:#b9d3cc;margin-top:3px}.mobile-head .ui-page-head{padding:0;gap:12px;align-items:flex-start;flex-wrap:wrap}.mobile-head .ui-page-head__text{flex:1 1 0;min-width:168px}.mobile-head .ui-page-head__extra{flex:0 0 auto;margin-left:auto}.mobile-head .ui-page-head__title{color:#e9f3f0;font-size:19px;font-weight:650;letter-spacing:-.01em}.mobile-head .ui-page-head__sub{color:#b9d3cc;font-size:12px;margin-top:3px}.mobile-head .head-link{background:#e9f3f024;border:1px solid rgba(233,243,240,.22);color:#e9f3f0;font-size:13px;line-height:1;min-height:44px;padding:0 12px;border-radius:8px;cursor:pointer;flex:0 0 auto}.mobile-head .head-link:active{background:#e9f3f03d}.mobile-body{padding:14px 14px 8px}.mobile-body .ui-stats--mobile{grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px}.mobile-body .ui-stat{padding:14px;border-radius:12px}.mobile-body .ui-stat__value{font-size:21px}.m-card{background:#fff;border:1px solid #e1e6e3;border-radius:12px;padding:14px;margin-bottom:12px}.m-card.ui-surface{border-radius:12px;box-shadow:none;padding:14px;margin-bottom:12px}.m-card .no{font-variant-numeric:tabular-nums;font-size:12px;color:#66716c}.m-card .title{font-size:15px;font-weight:600;margin:2px 0 8px}.m-row{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:13px;padding:3px 0}.m-row .k{color:#66716c}.m-btn{height:44px;border-radius:10px;border:1px solid var(--hw-primary);background:var(--hw-primary);color:#fff;font-size:15px;font-weight:600;width:100%;cursor:pointer}.m-btn:disabled{background:#e1e6e3;border-color:#e1e6e3;color:#8b9691;cursor:not-allowed}.m-btn.ghost{background:#fff;color:var(--hw-primary)}.m-btn.danger{background:#fff;border-color:#e6c8c5;color:#a1372f}.m-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}.shot-grid{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}.shot{width:72px;height:72px;border-radius:8px;border:1px solid #e1e6e3;overflow:hidden;background:#f8faf9;display:grid;place-items:center;color:#66716c;font-size:11px}.shot img{width:100%;height:100%;object-fit:cover}.mobile-tabbar{position:fixed;left:0;right:0;bottom:0;max-width:430px;margin:0 auto;height:60px;background:#fff;border-top:1px solid #e1e6e3;display:grid;grid-template-columns:repeat(4,1fr);z-index:10}.mobile-tabbar a,.mobile-tabbar button{display:grid;place-items:center;gap:2px;color:#66716c;font-size:12px;text-decoration:none;background:none;border:0;padding:0;cursor:pointer;min-height:44px}.mobile-tabbar .i{font-size:16px;line-height:1}.mobile-tabbar a.on{color:var(--hw-primary);font-weight:600}.big-amt{font-size:30px;font-weight:650;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.kpi-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-bottom:16px}.kpi{background:#fff;border:1px solid #e1e6e3;border-radius:12px;padding:14px 16px}.kpi .l{color:#66716c;font-size:12px}.kpi .v{font-size:24px;font-weight:650;margin-top:4px;font-variant-numeric:tabular-nums;letter-spacing:-.01em}.kpi .d{font-size:12px;color:#66716c;margin-top:2px}.detail-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:16px;align-items:start}@media (max-width: 1100px){.detail-grid{grid-template-columns:minmax(0,1fr)}}.shot{width:120px;height:90px;object-fit:cover;border-radius:8px;border:1px solid #e1e6e3;background:#f8faf9}.drag-handle{display:inline-block;color:#b6c1bc;cursor:grab;letter-spacing:-3px;padding-right:3px;-webkit-user-select:none;user-select:none}.drag-handle:hover{color:var(--hw-primary)}.ant-table-tbody>tr[draggable=true]{cursor:grab}.ant-table-tbody>tr.drag-over>td{background:#e6f0ed!important}.orders-table .ant-table-thead>tr>th{font-size:13px;font-weight:600}.orders-table .ant-table-tbody>tr>td{font-size:13px;line-height:1.5}.orders-table .ant-table-tbody .ant-tag{font-size:12px;line-height:20px;margin-inline-end:0}.orders-table .ant-table-tbody a,.orders-table .ant-table-tbody .ant-typography,.orders-table .ant-table-tbody .ant-btn-link{font-size:13px}.orders-table .op-receipt,.orders-table .op-paid{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:999px;font-size:12px;line-height:20px;white-space:nowrap}.orders-table .op-receipt{color:var(--hw-primary)!important;background:#e8f4f0;border:1px solid #cfe5de;font-weight:600}.orders-table .op-receipt:hover{color:#0f463f!important;background:#d9ece5}.orders-table .op-paid{color:#7b857f;background:var(--hw-bg);border:1px dashed #cfd8d2}.orders-table .op-paid .anticon{font-size:12px}.orders-table .op-records{color:var(--hw-primary);padding-inline:4px}.orders-table .op-records:hover{color:#0f463f!important;background:#e8f4f0!important}.header-batch-receipt.ant-btn{color:var(--hw-primary);background:#e8f4f0;border-color:#b9dccf;font-weight:600}.header-batch-receipt.ant-btn:hover{color:#0f463f!important;background:#dcefe8!important;border-color:#9fcfbf!important}.receipt-records__foot{display:flex;align-items:center;justify-content:space-between;gap:12px}.receipt-summary--inline{display:flex;flex-wrap:wrap;align-items:baseline;gap:18px;margin-bottom:12px}.receipt-summary--inline>div{display:flex;align-items:baseline;gap:6px;font-size:13px}.type-pill{display:inline-block;margin-top:2px;padding:0 6px;border-radius:4px;border:1px solid transparent;font-size:12px;font-weight:600;line-height:17px;white-space:nowrap}.type-pill-single{background:#e8f1ff;border-color:#b6d0fa;color:#1554c0}.type-pill-double{background:#fff1e2;border-color:#f3c99a;color:#a35200}.rule-modal{max-width:calc(100vw - 24px)}.stacked-confirm .ant-modal-wrap{z-index:1100}.stacked-confirm .ant-modal-mask{z-index:1090}.hint-line{color:#66716c;font-size:12.5px;line-height:1.7}.field-label{font-size:12.5px;color:#4a5450;margin-bottom:6px}.field-req{margin-left:6px;color:#66716c;font-size:11.5px}.status-tag{margin-inline-end:0;padding-inline:7px;font-weight:600;white-space:nowrap}.status-tag--pending{background:#eef2f7;border-color:#c8d3e0;color:#3d4a5a}.status-tag--assigned{background:#fdf3d7;border-color:#e3bf63;color:#7a4a05}.status-tag--incomplete{background:#ffeadb;border-color:#e8ab7a;color:#8a3510}.status-tag--full{background:#0b5680;border-color:#0b5680;color:#fff}.status-tag--transfer{background:#f3e8ff;border-color:#d3b6ef;color:#5b2d86}.status-tag--hold{background:#ebe7df;border-color:#b8aa92;border-style:dashed;color:#4b4437}.status-tag--pending-close{background:#d7f3ee;border-color:#8bcfc3;color:#0b5f58}.status-tag--closed{background:#dcfce7;border-color:#97e0ac;color:#166534}.status-tag--void{background:#fee2e2;border-color:#f2a6a6;color:#991b1b}.status-tag--unknown{background:var(--hw-bg);border-color:#dde3e0;color:var(--hw-ink-2)}.receipt-summary{border:1px solid var(--hw-line);border-radius:12px;background:#f8faf9;padding:12px 14px}.receipt-summary__head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px;font-weight:600}.receipt-summary__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:8px}.receipt-summary__grid>div{display:flex;flex-direction:column;gap:2px}.receipt-summary__grid .muted{font-size:12px}.receipt-status{border-radius:999px;padding:1px 8px;font-size:12px;font-weight:600;white-space:nowrap}.receipt-status--unpaid{background:#eef2f7;color:#3d4a5a}.receipt-status--partial{background:#fdf3d7;color:#7a4a05}.receipt-status--paid{background:#dcfce7;color:#166534}.receipt-status--overpaid{background:#fee2e2;color:#991b1b}.receipt-status--voided{background:var(--hw-bg);color:var(--hw-ink-2)}.batch-receipt__bar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.batch-receipt__tools{display:flex;align-items:center;gap:8px}.batch-receipt__foot{display:flex;align-items:center;gap:10px;margin-top:12px}.order-title-row{display:flex;align-items:center;gap:10px}.order-title-row .ant-btn{flex:0 0 auto}.m-section-title{margin:14px 2px 8px;color:var(--hw-ink-2);font-size:13px;font-weight:600;line-height:1.4}.m-section-title:first-child{margin-top:4px}.m-card-title{margin:2px 0 8px;color:#16201d;font-size:15px;font-weight:600;line-height:1.45}.m-filter-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.m-filter-row+.m-note{margin-top:8px}.m-filter-row .ant-picker{height:44px}.m-filter-row .ant-picker input{font-size:13px}.m-money-primary{color:var(--hw-primary);font-weight:600}.m-money-lg{font-size:16px}.m-card .ui-surface__head{align-items:flex-start}.m-card .ui-surface__title{font-size:13px;font-weight:600;color:var(--hw-ink-2)}.m-card .ui-surface__extra{font-size:12px}.m-card .ant-tag{margin-inline-end:0}.m-card--done{opacity:.85}.m-card--pending.ui-surface{border-color:#f0dcbc;background:#fdf9f2}.m-detail-link{display:inline-flex;align-items:center;min-height:44px;padding:0 2px;font-size:12.5px;white-space:nowrap}.m-note{color:#66716c;font-size:12px;line-height:1.55}.m-note--tight{margin:-2px 0 4px}.m-note--block{display:block;margin-top:2px}.m-divider{border:0;border-top:1px solid #edf1ef;margin:8px 0}.m-actions-stack .m-btn+.m-btn{margin-top:8px}.m-actions-stack .m-btn{width:100%}.m-list-link{display:block;padding:10px 0;border-top:1px solid #eef1ef;color:inherit}.m-list-link:first-of-type{border-top:0}.m-list-link:hover{color:inherit}.m-sound-tip{width:100%;margin:4px 0 10px;padding:10px 12px;border:1px dashed #b9d3ca;border-radius:10px;background:#f2f8f5;color:var(--hw-primary);font-size:13px;text-align:left;cursor:pointer}.mobile-head__actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:flex-end}.participant-tag{margin-inline-end:0;padding-inline:7px;font-weight:600}.participant-tag--active{background:#dcfce7;border-color:#97e0ac;color:#166534}.participant-tag--pending{background:#fdf3d7;border-color:#e3bf63;color:#7a4a05}.participant-tag--muted{background:var(--hw-bg);border-color:#dde3e0;color:var(--hw-ink-2)}@media (max-width: 640px){.batch-receipt__bar,.batch-receipt__foot{flex-wrap:wrap}.receipt-summary__grid{grid-template-columns:1fr}}
