.login-page{min-height:100vh;display:grid;grid-template-columns:minmax(360px,1.2fr) minmax(360px,.8fr);background:linear-gradient(130deg,var(--nav) 0 58%,#f6f4f1 58%)}.login-copy{display:flex;flex-direction:column;justify-content:center;padding:10vw;color:#fff}.login-copy h1,.login-copy p{color:#fff!important;max-width:550px}.login-copy p{font-size:18px;opacity:.72}.login-logo{width:64px;height:64px;margin-bottom:24px;display:grid;place-items:center;border-radius:17px;background:linear-gradient(145deg,#ff8b22,var(--brand));font-size:32px;box-shadow:0 15px 30px #f4510b4d}.login-card{width:min(420px,calc(100% - 40px));place-self:center;padding:22px;box-shadow:0 24px 60px #17212e29}.login-error{margin-bottom:18px}@media(max-width:800px){.login-page{display:flex;justify-content:center;align-items:center;background:var(--nav)}.login-copy{display:none}}:root{--brand: #f4510b;--brand-strong: #d94307;--brand-soft: #fff1e8;--ink: #202733;--muted: #697386;--line: #e9e5df;--surface: #fff;--canvas: #f6f4f1;--nav: #18212d;--shadow-sm: 0 4px 14px rgba(36, 31, 27, .05);--shadow-md: 0 14px 36px rgba(36, 31, 27, .08);font-family:Inter,PingFang SC,Microsoft YaHei,system-ui,sans-serif;color:var(--ink);background:var(--canvas);font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-width:320px;background:var(--canvas)}button,input{font:inherit}.app-shell{min-height:100vh}.app-shell .ant-layout-sider{position:sticky!important;top:0;height:100vh;z-index:20;box-shadow:6px 0 24px #0b131e1f}.app-shell .ant-layout-sider .ant-layout-sider-children{display:flex;flex-direction:column;height:100%;min-height:0}.app-shell .ant-layout-sider .ant-menu{flex:1 1 auto;min-height:0;padding-top:8px;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin}.app-shell .ant-layout-sider .ant-menu::-webkit-scrollbar{width:6px}.app-shell .ant-layout-sider .ant-menu::-webkit-scrollbar-thumb{border-radius:6px;background:#ffffff29}.brand{flex-shrink:0;height:76px;display:flex;align-items:center;gap:12px;padding:0 19px;color:#fff;font-weight:800;font-size:17px;white-space:nowrap;overflow:hidden}.brand-mark{display:grid;place-items:center;min-width:40px;height:40px;border-radius:12px;color:#fff;background:linear-gradient(145deg,#ff8533,var(--brand));box-shadow:0 10px 24px #f4510b47;font-size:21px}.sider-footer{flex-shrink:0;margin-top:auto;width:100%;min-height:80px;border-top:1px solid rgba(255,255,255,.09);color:#fff;display:flex;align-items:center;gap:11px;padding:15px 18px;background:#080f181f}.sider-footer div{display:flex;flex-direction:column;min-width:0;white-space:nowrap}.sider-footer strong{overflow:hidden;text-overflow:ellipsis}.sider-footer small{color:#9ba8b9}.mobile-nav .ant-drawer-body{padding:0;background:var(--nav);overflow-y:auto}.mobile-nav .ant-menu{border:0}.topbar{position:sticky;top:0;z-index:15;height:68px;line-height:1.2!important;padding:0 24px!important;background:#ffffffeb!important;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-bottom:1px solid rgba(233,229,223,.9);display:flex;align-items:center;justify-content:space-between}.topbar-left{display:flex;align-items:center;gap:16px;min-width:0;flex:1}.topbar-left>.ant-btn{display:inline-flex;align-items:center;justify-content:center;height:36px;width:36px;flex-shrink:0}.topbar-store{display:flex;align-items:center;gap:8px;flex-shrink:0;padding-left:14px;border-left:1px solid var(--line)}.topbar-store .ant-tag{margin-inline-end:0;line-height:22px}.topbar-page-title{font-size:15px;font-weight:700;line-height:1.2;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.topbar-account{display:inline-flex!important;align-items:center;height:36px;padding-inline:8px}.topbar-user{margin-left:7px;line-height:1}.app-content{padding:28px;overflow:auto}.mock-payment-banner{margin:-28px -28px 20px}.route-panel-loading{min-height:50vh;display:grid;place-items:center}.route-loading{min-height:100vh;display:grid;place-items:center;background:var(--canvas)}.page-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:22px}.page-eyebrow{display:block;margin-bottom:5px;color:var(--brand-strong);font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.page-heading h1{font-size:28px;line-height:1.25;margin:0 0 5px;letter-spacing:-.02em}.page-heading p{color:var(--muted);margin:0}.page-heading.is-compact{align-items:center;gap:12px;margin-bottom:14px}.page-heading.is-compact h1{font-size:20px;margin:0;line-height:1.3}.section-card{margin-bottom:18px}.stack-md>*+*{margin-top:16px}.stack-lg>*+*{margin-top:22px}.ant-card{border-color:var(--line);box-shadow:var(--shadow-sm)}.ant-table-wrapper .ant-table{border-radius:12px;overflow:hidden}.ant-tabs-nav{margin-bottom:18px!important}.toolbar{margin-bottom:18px;background:#ffffffd1}.toolbar .ant-input-affix-wrapper{width:min(320px,100%)}.toolbar .ant-space{flex-wrap:wrap}.loading-block{padding:24px;background:#fff;border-radius:14px}.loading-board{display:grid;grid-template-columns:repeat(4,minmax(200px,1fr));gap:14px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-section{margin-top:16px}.dynamic-row{display:flex!important;width:100%;align-items:baseline;gap:8px}.dynamic-row .ant-form-item:first-child{flex:1}.panel-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:15px}.print-receipt{display:none}.nav-group-title{padding:12px 24px 6px;color:#6b7a8d;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}@media(max-width:1100px){.app-content{padding:22px}.mock-payment-banner{margin:-22px -22px 16px}.loading-board{grid-template-columns:1fr}}@media(max-width:800px){.topbar{padding:0 14px!important}.topbar-user{display:none}.topbar-left{gap:10px}.app-content{padding:18px 14px}.mock-payment-banner{margin:-18px -14px 14px}.mock-payment-banner.ant-alert{padding-block:6px;font-size:12px;line-height:1.4}.page-heading{align-items:flex-start;flex-direction:column;gap:14px}.page-heading>.ant-space{width:100%}.page-heading h1{font-size:25px}.toolbar .ant-space,.toolbar .ant-input-affix-wrapper{width:100%}.form-grid{grid-template-columns:1fr}.ant-table.ant-table-layout-fixed .ant-table-thead>tr>th,.ant-table.ant-table-layout-fixed .ant-table-tbody>tr>td{padding-inline:8px;overflow:hidden}.ant-table.ant-table-layout-fixed .ant-btn.ant-btn-link{padding-inline:4px}}@media(max-width:576px){.topbar{padding:0 10px!important;gap:8px}.topbar-left{gap:8px;min-width:0}.topbar-page-title{display:none}.topbar-store{padding-left:8px;gap:6px;min-width:0;flex-shrink:1;overflow:hidden}.topbar-store .ant-select{min-width:0!important;flex:1 1 auto}.topbar-account{padding-inline:4px}}@media print{@page{size:80mm auto;margin:4mm}body{width:72mm;background:#fff;color:#000;font-family:Microsoft YaHei,sans-serif}body *{visibility:hidden!important}.print-receipt,.print-receipt *{visibility:visible!important}.print-receipt{display:block!important;position:absolute;inset:0 auto auto 0;width:72mm;font-size:10pt}.print-receipt header{padding-bottom:3mm;text-align:center;border-bottom:1px dashed #000}.print-receipt h1,.print-receipt p{margin:0}.receipt-focus{display:flex;flex-direction:column;align-items:center;padding:4mm 0;border-bottom:1px dashed #000}.receipt-scheduled{display:flex;flex-direction:column;align-items:center;gap:1mm;padding:3mm 0;border-bottom:2px solid #000}.receipt-scheduled strong{font-size:18pt}.receipt-focus strong{font-size:28pt;letter-spacing:.08em}.print-receipt dl{margin:3mm 0}.print-receipt dl div,.receipt-items p{display:flex;justify-content:space-between;gap:3mm;margin:1.5mm 0}.print-receipt dt,.print-receipt dd{margin:0}.receipt-items{padding:2mm 0;border-top:1px dashed #000;border-bottom:1px dashed #000}.receipt-items div{position:relative;padding-right:18mm;margin:2mm 0}.receipt-items p{margin:0}.receipt-items small{display:block;color:#444}.receipt-items em{position:absolute;right:0;top:0;font-style:normal}.receipt-remark{padding:2mm 0;border-bottom:1px dashed #000}.receipt-final{padding-top:2mm;border-top:1px solid #000;font-size:14pt;font-weight:800}.print-receipt footer{padding-top:4mm;text-align:center;font-size:9pt}}.member-compact-cell{display:flex;flex-direction:column;gap:2px;line-height:1.35;min-width:0}.member-compact-meta{color:var(--muted);font-size:12px}.member-compact-cell small{color:var(--muted)}
