:root{--bg:#fff1f6;--panel:#ffffff;--ink:#2a1721;--muted:#7d6570;--line:#f1c9d9;--green:#1b8a5a;--green-soft:#e6f6ee;--yellow:#c77806;--yellow-soft:#fff4d6;--red:#d33f35;--red-soft:#ffe7e4;--blue:#b83272;--blue-soft:#ffe6f0;--gray-soft:#fff7fa;--pink:#e75d99;--pink-soft:#ffe6f0;--shadow:0 16px 45px rgba(111,35,72,0.14)}*{box-sizing:border-box}body,html{min-height:100%}body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,PingFang SC,Microsoft YaHei,Arial,sans-serif;letter-spacing:0}button,input,select{font:inherit}button{border:0;cursor:pointer}button:disabled{cursor:not-allowed;opacity:.54}a{color:var(--blue);text-decoration:none}.customer-page,.loading-screen,.login-screen{min-height:100vh;display:grid;place-items:center;padding:24px}.login-screen{background:linear-gradient(135deg,rgba(231,93,153,.2),rgba(255,214,230,.48)),var(--bg)}.login-panel{width:min(390px,100%);background:var(--panel);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow);padding:30px}.brand-mark{width:58px;height:58px;display:grid;place-items:center;color:#ffffff;background:var(--ink);border-radius:8px;margin-bottom:22px}.customer-extensions h2,.login-panel h1,.modal h2,.section-heading h2,.settings-grid h3,.topbar h1{margin:0}.login-panel h1{font-size:28px;margin-bottom:22px}.empty-text,.muted{color:var(--muted)}.dashboard{width:min(1540px,100%);margin:0 auto;padding:22px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:18px}.eyebrow{margin:0 0 4px;color:var(--muted);font-size:12px;font-weight:800;text-transform:uppercase}.topbar h1{font-size:clamp(26px,3vw,40px);line-height:1.05}.topbar-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.live-clock{padding:0 14px;border:1px solid var(--line);background:rgba(255,255,255,.7);color:var(--muted);font-weight:700}.ghost-button,.icon-button,.live-clock,.mini-button,.primary-button{min-height:40px;display:inline-flex;align-items:center;border-radius:8px}.ghost-button,.icon-button,.mini-button,.primary-button{justify-content:center;gap:7px;font-weight:800;white-space:nowrap}.primary-button{color:#ffffff;background:var(--ink);padding:0 15px}.primary-button:hover{background:#452435}.ghost-button{padding:0 13px}.ghost-button,.icon-button{color:var(--ink);background:#ffffff;border:1px solid var(--line)}.icon-button{width:40px}.icon-button.active{color:#ffffff;background:var(--blue);border-color:var(--blue)}.full{width:100%}.metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));grid-gap:10px;gap:10px;margin-bottom:18px}.metric{min-height:82px;padding:14px;border-radius:8px;border:1px solid var(--line);background:#ffffff}.metric span{display:block;color:var(--muted);font-size:13px;font-weight:800;margin-bottom:8px}.metric strong{display:block;font-size:clamp(24px,2.4vw,34px);line-height:1}.metric-free{border-left:5px solid #88939b}.metric-active{border-left:5px solid var(--green)}.metric-warning{border-left:5px solid var(--yellow)}.metric-overdue{border-left:5px solid var(--red)}.metric-call{border-left:5px solid var(--pink)}.metric-started{border-left:5px solid #5d68d8}.metric-sale{border-left:5px solid #b45a23}.metric-sale-money{border-left:5px solid #cc4b8e}.metric-pos{border-left:5px solid #3158b7}.metric-group-buy{border-left:5px solid #e06d22}.metric-douyin{border-left:5px solid #111111}.metric-cash{border-left:5px solid #6f8f35}.metric-revenue{border-left:5px solid #119a8e}.table-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(248px,1fr));grid-gap:12px;gap:12px;align-items:stretch}.table-card{min-height:288px;display:flex;flex-direction:column;background:#ffffff;border:1px solid var(--line);border-left-width:7px;border-radius:8px;padding:13px;box-shadow:0 10px 28px rgba(111,35,72,.08)}.state-free{border-left-color:#d99ab5}.state-active{border-left-color:var(--green);background:linear-gradient(180deg,#ffffff 0,var(--green-soft) 100%)}.state-warning{border-left-color:var(--yellow);background:linear-gradient(180deg,#ffffff 0,var(--yellow-soft) 100%)}.state-overdue{border-left-color:var(--red);background:linear-gradient(180deg,#ffffff 0,var(--red-soft) 100%)}.state-paused{border-left-color:var(--blue);background:linear-gradient(180deg,#ffffff 0,var(--blue-soft) 100%)}.table-card.has-call{box-shadow:0 0 0 2px rgba(222,95,39,.34),0 14px 32px rgba(222,95,39,.14)}.card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.card-head h2{margin:0;font-size:26px;line-height:1}.card-head span,.countdown-block span,.session-lines dt{color:var(--muted);font-size:12px;font-weight:800}.card-head b{min-width:64px;text-align:center;color:var(--ink);background:rgba(255,255,255,.72);border:1px solid rgba(23,32,38,.12);border-radius:999px;padding:6px 9px;font-size:12px}.empty-table{flex:1 1;display:grid;place-items:center;grid-gap:20px;gap:20px;color:var(--muted)}.empty-actions{display:grid;grid-template-columns:1fr 1fr;grid-gap:8px;gap:8px}.countdown-block{min-height:78px;display:grid;align-content:center;grid-gap:4px;gap:4px;padding:10px;border-radius:8px;background:rgba(255,255,255,.68);border:1px solid rgba(23,32,38,.1);margin-bottom:10px}.service-call-alert{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px;padding:10px;color:#71270b;background:#fff0e7;border:1px solid rgba(222,95,39,.32);border-radius:8px}.service-call-alert div{min-width:0;display:grid;grid-template-columns:auto 1fr;grid-gap:2px 7px;gap:2px 7px;align-items:center}.service-call-alert span{font-weight:900}.service-call-alert small{grid-column:2;color:#99522f;font-weight:800}.service-call-alert button{min-height:34px;padding:0 10px;color:#ffffff;background:#de5f27;border-radius:8px;font-weight:900;white-space:nowrap}.countdown-block strong{font-size:32px;line-height:1;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.session-lines{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:8px;gap:8px;margin:0 0 12px}.session-lines div{min-width:0}.session-lines dd,.session-lines dt{margin:0}.session-lines dd{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:800;font-size:14px}.card-actions{margin-top:auto;display:grid;grid-template-columns:repeat(3,1fr);grid-gap:6px;gap:6px}.mini-button{min-height:34px;color:var(--ink);background:rgba(255,255,255,.8);border:1px solid rgba(23,32,38,.12);padding:0 8px;font-size:12px}.mini-button.settle{color:#ffffff;background:var(--ink)}.recent-strip{margin-top:18px;padding:16px;border:1px solid var(--line);background:rgba(255,255,255,.78);border-radius:8px}.section-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.section-heading h2{font-size:18px}.section-heading span{color:var(--muted);font-weight:800}.recent-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));grid-gap:8px;gap:8px}.recent-item{display:grid;grid-template-columns:42px minmax(0,1fr) auto;grid-gap:4px 8px;gap:4px 8px;align-items:center;padding:10px;border:1px solid var(--line);border-radius:8px;background:#ffffff}.recent-item span{grid-column:2;color:var(--muted);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.recent-item b{justify-self:start;grid-row:1/span 2;grid-column:3;color:var(--ink)}.quick-sale-section{margin-top:18px;padding:16px;border:1px solid var(--line);background:rgba(255,255,255,.78);border-radius:8px}.quick-sale-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);grid-gap:12px;gap:12px}.quick-sale-form{min-width:0;background:#ffffff;padding:12px}.quick-sale-form,.sales-history-section{border:1px solid var(--line);border-radius:8px}.sales-history-section{margin-top:18px;padding:16px;background:rgba(255,255,255,.88)}.sales-history-heading{display:grid;grid-template-columns:minmax(160px,1fr) auto auto;align-items:end;grid-gap:16px;gap:16px;margin-bottom:14px}.sales-history-heading h2{margin-top:2px;font-size:20px}.sales-date-field{display:grid;grid-gap:5px;gap:5px}.sales-date-field span,.sales-history-total span{color:var(--muted);font-size:12px;font-weight:800}.sales-date-field input{min-height:42px;padding:0 10px;border:1px solid var(--line);border-radius:7px;background:#ffffff;color:var(--ink);font:inherit;font-weight:800}.sales-history-total{display:grid;justify-items:end;grid-gap:3px;gap:3px;min-width:110px}.sales-history-total strong{font-size:24px}.sales-history-total small{max-width:420px;color:var(--muted);font-size:11px;font-weight:800;text-align:right}.sales-range-summary{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;grid-gap:16px;gap:16px;margin-bottom:14px;padding:12px;border:1px solid var(--line);border-radius:8px;background:var(--gray-soft)}.sales-range-fields{display:flex;flex-wrap:wrap;align-items:flex-end;gap:8px;min-width:0}.sales-range-title{display:grid;align-self:center;grid-gap:2px;gap:2px;min-width:150px;margin-right:4px}.sales-range-title span{color:var(--ink);font-size:14px;font-weight:900}.sales-range-title small,.sales-range-total small{color:var(--muted);font-size:11px;font-weight:800}.sales-range-separator{align-self:end;min-height:42px;display:inline-flex;align-items:center;color:var(--muted);font-size:12px;font-weight:800}.sales-range-button{min-height:42px;padding-inline:18px}.sales-range-total{display:grid;justify-items:end;grid-gap:3px;gap:3px;min-width:190px}.sales-range-total span{color:var(--muted);font-size:12px;font-weight:800}.sales-range-total strong{font-size:24px}.sales-range-total small{max-width:420px;text-align:right}.sales-history-table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:8px;background:#ffffff}.sales-history-table{width:100%;min-width:1020px;border-collapse:collapse}.sales-history-table td,.sales-history-table th{padding:11px 12px;text-align:left;border-bottom:1px solid var(--line)}.sales-history-table th{color:var(--muted);background:var(--gray-soft);font-size:12px}.sales-history-table td{font-size:14px}.sales-history-table td:nth-child(6),.sales-history-table th:nth-child(6){text-align:right}.sales-history-table td:last-child,.sales-history-table th:last-child{text-align:center;white-space:nowrap}.sales-history-table tbody tr:last-child td{border-bottom:0}.sales-history-table tr.is-voided td{color:var(--muted);background:#f8f3f5}.sales-history-table tr.is-voided td strong{text-decoration:line-through;font-weight:700}.sale-valid-badge,.sale-voided-badge{display:inline-flex;align-items:center;justify-content:center;min-height:28px;padding:0 9px;border-radius:999px;font-size:12px;font-weight:900}.sale-valid-badge{color:var(--green);background:var(--green-soft)}.sale-voided-badge{color:var(--muted);background:#ebe3e6}.sale-void-button{min-height:30px;padding:0 11px;border:1px solid #f0aaa5;border-radius:7px;color:var(--red);background:var(--red-soft);font-weight:900}.quick-sale-categories{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:6px;gap:6px;padding:4px;border:1px solid var(--line);border-radius:8px;background:var(--gray-soft);margin-bottom:12px}.quick-sale-categories button{min-height:38px;color:var(--muted);background:transparent;border-radius:6px;font-weight:900}.quick-sale-categories .selected{color:#ffffff;background:var(--ink)}.quick-sale-fields{display:grid;grid-template-columns:minmax(150px,1.4fr) minmax(90px,.6fr) minmax(120px,.8fr) minmax(150px,1fr);grid-gap:10px;gap:10px}.payment-selector{display:grid;grid-gap:9px;gap:9px;margin:12px 0;padding:12px;border:1px solid var(--line);border-radius:8px;background:var(--gray-soft)}.payment-selector-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.payment-selector-head span{color:var(--muted);font-size:12px;font-weight:800}.payment-method-buttons{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:7px;gap:7px}.payment-method-buttons button{min-height:40px;border:1px solid var(--line);border-radius:7px;background:#ffffff;color:var(--ink);font-weight:900}.payment-method-buttons button.selected{border-color:var(--ink);background:var(--ink);color:#ffffff}.payment-split-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));grid-gap:8px;gap:8px}.payment-hint,.payment-zero{margin:0;color:var(--muted);font-size:12px;font-weight:800}.payment-hint.ok{color:var(--green)}.payment-hint.error{color:var(--red)}.quick-sale-list{display:grid;align-content:start;grid-gap:8px;gap:8px}.quick-sale-list-head{display:flex;align-items:center;justify-content:space-between;gap:8px;color:var(--ink)}.quick-sale-list-head span{color:var(--muted);font-weight:800}.quick-sale-item{display:grid;grid-template-columns:48px minmax(0,1fr) auto;grid-gap:3px 8px;gap:3px 8px;align-items:center;padding:9px;border:1px solid var(--line);border-radius:8px;background:var(--gray-soft)}.quick-sale-item small,.quick-sale-item span{grid-column:2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.quick-sale-item span{font-weight:800}.quick-sale-item small{color:var(--muted)}.quick-sale-item b{grid-row:1/span 2;grid-column:3}.field{display:grid;grid-gap:7px;gap:7px;margin-bottom:14px}.field span{font-size:13px}.field span,.field-hint{color:var(--muted);font-weight:800}.field-hint{font-size:12px}.field input,.field select,.inline-form input,.package-form input,.package-form select{width:100%;min-height:42px;color:var(--ink);background:#ffffff;border:1px solid var(--line);border-radius:8px;padding:0 12px;outline:none}.field input:focus,.field select:focus,.inline-form input:focus,.package-form input:focus,.package-form select:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(35,103,209,.16)}.two-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:10px;gap:10px}.segmented{display:grid;grid-template-columns:1fr 1fr;padding:4px;border:1px solid var(--line);border-radius:8px;background:var(--gray-soft);margin-bottom:14px}.segmented button{min-height:36px;color:var(--muted);background:transparent;border-radius:6px;font-weight:800}.segmented .selected{color:var(--ink);background:#ffffff;box-shadow:0 2px 8px rgba(22,32,38,.08)}.modal-backdrop{position:fixed;inset:0;z-index:20;display:grid;place-items:center;padding:18px;background:rgba(8,14,18,.38)}.modal{width:min(430px,100%);max-height:min(760px,calc(100vh - 36px));overflow:auto;background:var(--panel);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow);padding:18px}.modal-wide{width:min(920px,100%)}.modal-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}.modal-head h2{font-size:22px}.qr-box{display:grid;place-items:center;grid-gap:14px;gap:14px;text-align:center}.qr-box img,.qr-placeholder{width:260px;height:260px;border:1px solid var(--line);border-radius:8px}.settings-grid{display:grid;grid-template-columns:1fr 1.1fr;grid-gap:18px;gap:18px}.settings-grid h3{margin-bottom:10px;font-size:17px}.chip-list{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.setting-chip{min-height:34px;display:inline-flex;align-items:center;gap:6px;background:var(--gray-soft);border:1px solid var(--line);border-radius:999px;padding:0 8px 0 12px;font-weight:800}.package-row button,.setting-chip button{width:26px;height:26px;display:grid;place-items:center;color:var(--red);background:transparent;border-radius:999px}.inline-form{grid-template-columns:minmax(100px,1fr) minmax(84px,.6fr) auto}.inline-form,.package-list{display:grid;grid-gap:8px;gap:8px}.package-list{margin-bottom:12px}.package-row{display:grid;grid-template-columns:minmax(120px,1fr) 110px 84px 84px auto auto;grid-gap:2px 8px;gap:2px 8px;align-items:center;padding:10px;border:1px solid var(--line);border-radius:8px}.package-row small,.package-row span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.package-row small{color:var(--muted)}.package-row button{width:30px;height:30px;align-self:center}.package-form{display:grid;grid-template-columns:minmax(110px,1fr) 110px 84px 84px auto;grid-gap:8px;gap:8px}.package-row input,.package-row select{width:100%;min-height:38px;border:1px solid var(--line);border-radius:8px;padding:0 10px}.package-form-simple{grid-template-columns:minmax(130px,1fr) 110px 92px 92px auto}.checkout-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:8px;gap:8px;margin-bottom:14px}.checkout-summary div{min-width:0;padding:12px;border:1px solid var(--line);border-radius:8px;background:var(--gray-soft)}.checkout-summary span{display:block;margin-bottom:6px;color:var(--muted);font-size:12px;font-weight:800}.checkout-summary strong{font-size:20px}.checkout-summary .checkout-paid-total{border-color:rgba(17,154,142,.35);background:var(--green-soft)}.modal-hint{margin:10px 0 0;color:var(--muted);font-size:13px;font-weight:800;text-align:center}.toast{position:fixed;right:22px;bottom:22px;z-index:30;max-width:min(380px,calc(100vw - 44px));color:#ffffff;background:var(--ink);border-radius:8px;box-shadow:var(--shadow);padding:13px 15px;font-weight:800}.toast-error{background:var(--red)}.toast-ok{background:var(--green)}.customer-page{background:linear-gradient(135deg,rgba(231,93,153,.2),rgba(255,217,231,.5)),var(--bg)}.customer-shell{width:min(480px,100%);background:#ffffff;border:1px solid var(--line);border-top:8px solid var(--pink);border-radius:8px;box-shadow:var(--shadow);padding:22px}.customer-shell.state-warning{border-top-color:var(--yellow)}.customer-shell.state-ended,.customer-shell.state-overdue{border-top-color:var(--red)}.customer-shell.state-paused{border-top-color:var(--blue)}.customer-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:22px}.customer-top span{font-size:34px;font-weight:900}.customer-top b{color:#ffffff;background:var(--ink);border-radius:999px;padding:7px 12px}.customer-countdown{min-height:202px;display:grid;place-items:center;text-align:center;border:1px solid var(--line);border-radius:8px;background:var(--gray-soft);margin-bottom:16px;padding:20px}.customer-countdown.no-session strong{font-size:clamp(34px,10vw,52px)}.customer-call-panel{margin-bottom:16px}.customer-call-button{width:100%;min-height:54px;display:inline-flex;align-items:center;justify-content:center;gap:9px;color:#ffffff;background:var(--ink);border-radius:8px;font-size:17px;font-weight:900}.customer-call-button.pending{background:var(--pink)}.customer-call-panel p{margin:8px 0 0;color:var(--muted);font-size:13px;font-weight:800;text-align:center}.customer-countdown p{margin:5px 0 0;color:var(--muted);font-weight:800}.customer-countdown strong{font-size:clamp(44px,13vw,72px);line-height:1;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.customer-info{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:10px;gap:10px;margin-bottom:16px}.customer-info div{min-width:0;display:grid;grid-template-columns:auto 1fr;grid-gap:3px 7px;gap:3px 7px;align-items:center;padding:11px;border:1px solid var(--line);border-radius:8px}.customer-info svg{color:var(--blue)}.customer-info span{color:var(--muted);font-size:12px;font-weight:800}.customer-info b{grid-column:1/span 2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.customer-extensions{border-top:1px solid var(--line);padding-top:14px}.customer-extensions h2{font-size:17px;margin-bottom:10px}.customer-extensions p{margin:0;color:var(--muted)}.customer-extensions div{display:grid;grid-template-columns:1fr auto;grid-gap:3px 10px;gap:3px 10px;padding:10px 0;border-bottom:1px solid var(--line)}.customer-extensions small{grid-column:1/span 2;color:var(--muted)}@media (max-width:920px){.dashboard{padding:16px}.topbar{align-items:flex-start;flex-direction:column}.topbar-actions{width:100%;justify-content:flex-start}.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.checkout-summary,.package-form,.package-form-simple,.package-row,.quick-sale-fields,.quick-sale-grid,.sales-history-heading,.sales-range-summary,.settings-grid{grid-template-columns:1fr}.sales-history-total,.sales-range-total{justify-items:start}.sales-range-total small{text-align:left}}@media (max-width:560px){.dashboard{padding:12px}.customer-info,.inline-form,.metrics,.recent-list,.table-grid,.two-fields{grid-template-columns:1fr}.topbar-actions{display:grid;grid-template-columns:repeat(4,1fr)}.ghost-button,.live-clock{grid-column:span 2}.sales-range-fields{display:grid;grid-template-columns:1fr}.sales-range-title{min-width:0;margin-right:0}.sales-range-separator{display:none}.sales-range-button{width:100%;grid-column:auto}.table-card{min-height:auto}.card-actions{grid-template-columns:repeat(2,1fr)}.modal-backdrop{padding:10px}.modal{max-height:calc(100vh - 20px)}.customer-shell{padding:16px}}.site-footer{padding:14px 16px 20px;color:var(--muted);font-size:12px;text-align:center}.site-footer a{color:inherit;text-decoration:none}.site-footer a:hover{text-decoration:underline}