/* TABLE 门店经营系统 / 企业版视觉规范 */
:root{--ink:#202b3d;--sub:#66768c;--line:#e4e9f0;--blue:#1e65bc;--blue-dark:#154d95;--nav:#142337;--bg:#f4f6f9;--shadow:0 1px 3px #162b440a;--r:8px}
html,body{font-size:14px;color:var(--ink);background:var(--bg);line-height:1.5}
button{transition:background-color .14s,border-color .14s,color .14s}
:focus-visible{outline:2px solid #5797dc;outline-offset:2px}
.sidebar{width:244px;background:#142337;box-shadow:inset -1px 0 #ffffff0b}
.logo{height:70px;padding:0 20px;border-bottom:1px solid #ffffff12}
.logo b{font-size:15px;letter-spacing:.1px}.logo small{font-size:11px;letter-spacing:0;color:#91a8c0}
.brand-mark{background:#2a70c4;width:36px;height:36px;border-radius:8px;box-shadow:none}
.store-switch{margin:12px 12px 9px;padding:10px 11px;border-radius:7px;background:#21344b;border-color:#30455e;gap:10px}
.store-switch b{font-size:12.5px}.store-switch small{font-size:11px}.store-active-dot{background:#27ac83}
.nav-scroll{padding:0 8px 28px}.nav-section{margin:1px 0 3px}
.nav-label{letter-spacing:.3px;font-size:11px;font-weight:650;color:#8fa6bf;padding:0 12px;margin-top:8px;min-height:29px}
.nav-btn{height:36px;margin:0 0 2px;font-size:12.5px;padding:0 11px;color:#bccbda;gap:11px}
.nav-btn.active{background:#244d77;border-radius:6px}.nav-btn.active:before{background:#77b5f8}
.nav-ico{color:#a5bdd4}.nav-btn.active .nav-ico{color:#e5f1fc}
.nav-foot{padding:12px 18px;font-size:11px;color:#8aa1b9}
.topbar{height:61px;padding:0 26px;z-index:26}.crumb{font-size:13px}
.work-tabs{height:44px;top:61px;padding:0 17px;gap:2px}
.work-tab{padding:0 13px;font-size:12.5px;min-width:102px;gap:9px;border-bottom-width:2px}
.work-tab.active{color:#215fa9;border-color:#1e65bc;background:#f6f9fe}
.tab-actions{display:flex;align-items:center;gap:4px;margin-left:8px}.tabs-button{border:0;background:transparent;color:#728199;font-size:11px;padding:8px;white-space:nowrap;border-radius:5px}.tabs-button:hover{background:#f1f5f9;color:#245c9d}
.content{padding:24px 27px 55px;max-width:1900px}
.page-heading{margin-bottom:18px;align-items:center}.page-heading h1{font-size:22px;font-weight:720;margin:0;letter-spacing:-.35px;color:#1c2c42}
.page-heading p{display:none}.heading-actions{margin-top:0}.btn{min-height:35px;padding:7px 13px;border-radius:6px;font-size:13px;font-weight:600}
.btn.primary{background:#2069bd;border-color:#2069bd;box-shadow:none}.btn.primary:hover{background:#17579e}
.panel{border:1px solid #e1e6ed;border-radius:9px;box-shadow:var(--shadow)}
.kpi{min-height:122px;padding:18px 19px}.kpi:before{height:2px}.kpi-head{font-size:13px;color:#697991}.kpi-icon{background:#f1f6fc}.kpi-value{font-size:27px;margin-top:14px}.kpi-meta{font-size:11.5px;margin-top:6px}
.kpi-grid{gap:14px;margin-bottom:14px}.dash-grid,.bottom-grid{gap:14px}.bottom-grid{margin-top:14px}
.panel-title{height:52px;padding:0 18px}.panel-title b{font-size:14px}.panel-body{padding:16px 18px}
.filters{padding:13px 15px;margin-bottom:13px;border-radius:8px;gap:9px}.control{height:36px;font-size:13px;border-radius:6px;border-color:#dfe5ed;padding:0 11px;color:#384c66}
.control.search{width:320px;flex:0 1 360px;min-width:210px;max-width:380px}
.list-page{min-height:390px;display:flex;flex-direction:column}.list-page>.table-wrap{flex:1}
.total-line{font-size:12px;padding:12px 16px;color:#6b798b;background:#fff}.total-line b{font-size:13px}
table.data{font-size:13px}table.data thead th{background:#f7f9fb;border-bottom:1px solid #e4e9f0;font-size:12px;color:#6a7c90;padding:12px 15px}
table.data tbody td{padding:14px 15px;color:#394d64;font-size:13px;border-bottom:1px solid #edf0f4}
table.data tbody tr:hover{background:#f7faff}.linklike{font-size:13px;color:#1c64b2}
.pagin{padding:12px 16px;min-height:60px;border-top:1px solid #e7ebf0;gap:14px;flex-wrap:wrap;color:#78879b;font-size:12px}
.page-controls{display:flex;align-items:center;gap:4px}.page-controls .pagination-btn{margin:0;min-width:31px;min-height:31px;border-radius:6px;padding:5px 9px}
.pagination-btn.current{background:#2368b8;color:white;border-color:#2368b8}.page-size-select{height:33px}
.status{padding:4px 9px;border-radius:4px;font-size:12px;font-weight:600;gap:6px}
.status.green{background:#e8f5ee;color:#21805b}.status.blue{background:#e9f1fc;color:#2764ad}.status.orange{background:#fff2de;color:#a86e18}.status.red{background:#fdeced;color:#b74e57}.status.gray{background:#eef0f3;color:#687686}
.board-stat{padding:10px 14px;border-radius:7px}.board-stat.active{background:#edf4fc;border-color:#8ab6e1}
.table-grid{gap:12px}.table-card{min-height:158px;padding:16px;border-radius:9px;box-shadow:0 1px 2px #12233807}.table-card:hover{transform:translateY(-1px);box-shadow:0 7px 17px #152f4f12}
.table-card .num{font-size:18px}.table-card .category{font-size:12px}.table-card-center{height:48px;background:#f6f8fa;margin:11px 0}.table-card .bottom{padding-top:10px;font-size:11.5px}
.drawer{width:min(610px,100%);border-radius:0}.drawer-head{padding:19px 25px}.drawer-head h2{font-size:21px}.drawer-content{padding:23px 25px}
.detail-hero{background:#f5f8fc;border:1px solid #e1eaf5;padding:16px 17px}.detail-tile{padding:12px 0;gap:5px}.detail-tile strong{font-size:14px}.detail-tile span{font-size:12px}
.drawer-section-head{font-size:14px;margin:22px 0 9px;padding-bottom:9px}.drawer-foot{padding:15px 25px;box-shadow:0 -3px 15px #00000009}
.related-item{display:flex;align-items:center;justify-content:space-between;text-align:left;gap:12px;width:100%;background:#fff;border:0;border-bottom:1px solid #edf0f4;padding:12px 1px;color:#3c5269;font-size:13px}.related-item:hover{color:#1a66b7;background:#f9fbff}.empty-sub{color:#9ca7b4;font-size:12px;padding:2px 0 12px}
.modal-overlay,.overlay{backdrop-filter:blur(2px)}.modal-card{border-radius:10px;box-shadow:0 23px 70px #0c1d3b3a}.modal-header{padding:18px 24px}.modal-header h2{font-size:19px;margin:4px 0 0}.modal-kicker{font-size:12px;color:#8293a7}.modal-content{padding:21px 24px}.modal-footer{padding:14px 24px}
.field label{font-size:13px;color:#51647c;font-weight:600}.field label i{font-style:normal;color:#c24855}.form-grid{gap:16px}.wide-field{grid-column:1/-1}.form-grid .control{height:39px}
.confirm-card{width:min(500px,100%)}.confirm-card .modal-content{font-size:14px;color:#394c62}.confirm-card .modal-content p{margin:0 0 9px}.confirm-caption{color:#8d9cae;font-size:12px}
.report-bars{height:220px}.setting-row{padding:17px 20px}.setting-row b{font-size:13.5px}.setting-row p{font-size:12px}
/* 微信顾客端：典雅且克制的门店品牌系统 */
.mobile-preview-backdrop{background:#172334df;gap:34px}
.phone-helper{width:270px;color:#fff}.phone-helper-brand{font-weight:750;font-size:15px;letter-spacing:.5px;color:#f4eee4}.phone-helper-brand span{color:#cf9e61}.phone-helper h2{font-size:27px;margin:21px 0 6px}.phone-helper p{font-size:13px;color:#a8bacd}
.phone-wrap{width:385px;height:min(820px,94vh);border:7px solid #282e31;border-radius:37px;background:#f7f5f1;box-shadow:0 30px 80px #08132391;max-width:100%}
.phone-app{background:#f9f7f2;color:#282b2d}.phone-status{background:#f9f7f2;color:#282c30;height:32px;padding:10px 27px 0;font-size:11px}
.phone-body{background:#f9f7f2;overflow-y:auto}.phone-page{padding:14px 19px 90px;min-height:100%;color:#262626}
.phone-head{color:#262b30;display:flex;gap:9px;justify-content:flex-start;font-size:15px;font-weight:750;height:33px}.phone-head b{font-size:14px;letter-spacing:0}.phone-head-tools{margin-left:auto;color:#56616e;display:flex}.mini-brand{width:27px;height:27px;display:grid;place-items:center;background:#2d3136;color:#e8c699;font:700 15px Georgia;border-radius:7px}.phone-back{display:grid;place-items:center;border:0;background:transparent;color:#383b41;padding:0 4px 0 0;margin-right:4px}
.mini-hero{margin-top:14px;border-radius:13px;height:246px;background:radial-gradient(circle at 88% 15%,#94714c55 0 22%,transparent 38%),radial-gradient(circle at 52% 102%,#9b693f40 0 20%,transparent 53%),linear-gradient(145deg,#282c2e,#201d1c 58%,#3c302a);padding:29px 23px;position:relative;color:#f9f0df;overflow:hidden;display:flex;flex-direction:column;align-items:flex-start}
.mini-hero:after{content:'';position:absolute;right:-45px;top:35px;width:180px;height:180px;border:1px solid #d3ab7340;border-radius:50%;box-shadow:0 0 0 22px #d3ab7307,0 0 0 43px #d3ab7307;pointer-events:none}
.mini-hero-kicker{font-size:9px;letter-spacing:1.9px;color:#d9bd95;font-weight:700}.mini-hero h1{font-family:Georgia,'Songti SC','STSong','Noto Serif SC',serif;font-size:27px;margin:29px 0 4px;position:relative;z-index:1;font-weight:650;letter-spacing:1.3px}.mini-hero p{color:#cdb89b;font-size:11px;letter-spacing:.35px;margin:6px 0 19px}.mini-hero button{border:1px solid #d7b487;background:#d6b486;color:#231c19;min-height:37px;padding:0 14px;border-radius:5px;font-weight:700;font-size:12px;display:flex;align-items:center;gap:20px}.mini-hero button span{font-size:17px}.mini-hero-bottom{display:flex;justify-content:space-between;width:100%;margin-top:auto;color:#c4ae91;font-size:10px;position:relative;z-index:1}
.mini-shortcuts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:17px 0 13px}.mini-shortcuts button{background:white;border:1px solid #ede6dd;border-radius:9px;min-height:78px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:#4a4137}.mini-shortcuts button span{color:#b18b5d;display:flex}.mini-shortcuts button b{font-size:11px;font-weight:600}
.mini-section-head{display:flex;align-items:center;justify-content:space-between;margin:25px 0 12px}.mini-section-head>b{font-size:16px;letter-spacing:.1px;color:#272c31}.mini-section-head>button{border:0;background:transparent;color:#94744d;font-size:11px;display:flex;gap:3px;align-items:center}
.mini-event-list{background:white;border-radius:9px;border:1px solid #eee7de;padding:0 12px}.mini-event{display:flex;align-items:center;gap:13px;width:100%;text-align:left;background:none;border:0;border-bottom:1px solid #efeae4;padding:13px 0;color:#2c2c2c}.mini-event:last-child{border:0}.mini-event-date{display:flex;flex-direction:column;align-items:center;width:46px;flex:none;border-right:1px solid #eee7dc;padding-right:11px}.mini-event-date strong{font:700 23px Georgia;color:#b68a54}.mini-event-date span{font-size:10px;color:#9b9489}.mini-event>div:nth-child(2){flex:1;min-width:0}.mini-event strong{font-size:13px}.mini-event small{display:block;color:#999184;margin-top:5px;font-size:11px}.mini-event-arrow{color:#b3946b}
.mini-store-card{background:#fff;border:1px solid #eee7de;border-radius:9px;padding:16px 14px;display:flex;align-items:center;justify-content:space-between;gap:15px}.mini-store-card b{font-size:13px}.mini-store-card small{display:block;color:#928a80;margin-top:7px;font-size:11px;line-height:1.5}.mini-store-pin{color:#b5936b}
.mini-page-title{margin:26px 0 21px}.mini-page-title small{font-size:10px;letter-spacing:2px;color:#bc9867;font-weight:700}.mini-page-title h2{font-family:'Songti SC','STSong','Noto Serif SC',serif;font-size:25px;letter-spacing:.3px;color:#2f2f2e;margin:8px 0 7px}.mini-page-title p{color:#8f8a83;font-size:12px;margin:0;line-height:1.8}
.mini-form-card{background:white;border:1px solid #efe8de;border-radius:10px;padding:19px 16px}.mini-field{margin-bottom:17px}.mini-field>label{display:block;font-size:12px;color:#665e57;margin-bottom:7px;font-weight:600}.mini-row{display:grid;grid-template-columns:1fr 1fr;gap:11px}.phone-control{background:#fcfbf8;border:1px solid #e8dfd3;border-radius:6px;color:#2f2d2b;font-size:13px;width:100%;height:44px;padding:0 11px;outline:none}.phone-control:focus{border-color:#bd9b71;box-shadow:0 0 0 2px #f3e6d6}.phone-control::placeholder{color:#b5ada4}
.mini-primary{width:100%;height:45px;border:0;border-radius:6px;background:#292d30;color:#f5e7d2;font-size:13px;font-weight:700;letter-spacing:.5px}.mini-primary:disabled{opacity:.45}.mini-primary.alt{background:#fff;color:#544b42;border:1px solid #dfd1bf;margin-top:16px}.mini-policy{color:#998f85;font-size:11px;line-height:1.7;margin:13px 4px 0}
.mini-cat-scroll{display:flex;gap:8px;overflow-x:auto;padding:0 0 8px;scrollbar-width:none;margin-bottom:12px}.mini-cat-scroll button{background:#fff;border:1px solid #e8e0d6;color:#797167;border-radius:20px;padding:7px 13px;white-space:nowrap;font-size:12px}.mini-cat-scroll button.selected{color:#fff;background:#353535;border-color:#353535}
.mini-menu-list{background:white;border:1px solid #ede6df;border-radius:9px;padding:0 14px;margin-bottom:85px}.mini-product{display:flex;gap:13px;padding:17px 0;border-bottom:1px solid #efeae3}.mini-product:last-child{border:0}.mini-prod-icon{width:66px;height:66px;background:#f4f1ed;border-radius:8px;display:grid;place-items:center;flex:none;font-size:28px}.mini-product-main{flex:1;min-width:0}.mini-product-main strong{font-size:14px;color:#2d2c2a}.mini-product-main small{display:block;color:#a49a8b;font-size:11px;margin:5px 0}.mini-product-bottom{display:flex;align-items:center;justify-content:space-between;margin-top:7px}.mini-product-bottom b{font-size:14px;color:#8a6945}.mini-product-bottom button{width:29px;height:29px;border:0;border-radius:50%;background:#2e3437;color:white;display:grid;place-items:center}
.mini-cartbar{position:sticky;bottom:-72px;border-radius:8px;background:#2d3235;color:#f6e6ca;display:flex;align-items:center;justify-content:space-between;padding:12px;margin-top:-73px;box-shadow:0 8px 25px #0003}.mini-cartbar span{display:block;color:#c5baa9;font-size:10px}.mini-cartbar b{font-size:16px}.mini-cartbar button{background:#cfa673;border:0;border-radius:5px;padding:10px;color:#2f2923;font-size:11px;display:flex;gap:3px;align-items:center}
.mini-activity-card{background:#fff;border:1px solid #efe8df;border-radius:10px;margin:12px 0;padding:19px;display:block;width:100%;text-align:left}.mini-activity-top{display:flex;justify-content:space-between;color:#a17b4d;font-size:11px;font-weight:600}.mini-activity-card h3{font:650 20px 'Songti SC','STSong',serif;margin:17px 0 10px}.mini-activity-card p{color:#8d8881;font-size:12px;line-height:1.7}.mini-activity-card>div:last-child{border-top:1px solid #eee9e2;margin-top:19px;padding-top:13px;color:#886943;font-size:12px;font-weight:650}.mini-activity-card>div:last-child span{float:right}.mini-event-hero{background:linear-gradient(140deg,#353433,#4b3a2f);border-radius:11px;padding:27px 20px;color:#f9eddc;margin:23px 0}.mini-event-hero small{font-size:11px;color:#ddc4a2}.mini-event-hero h2{font:650 26px 'Songti SC','STSong',serif;margin:20px 0}.mini-event-hero p{font-size:9px;letter-spacing:2px}.mini-event-info{display:grid;gap:14px}.mini-event-info div{display:flex;justify-content:space-between;font-size:12px;color:#9b9488}.mini-event-info b{color:#383533;font-size:12px}.mini-description{font-size:13px;line-height:1.9;color:#655e56;margin-bottom:23px}
.mini-profile{display:flex;gap:12px;align-items:center;margin:25px 0 16px}.mini-profile-avatar{width:54px;height:54px;border-radius:12px;background:#3a3935;color:#dfc099;display:grid;place-items:center;font-size:21px;flex:none}.mini-profile>div:nth-child(2){flex:1}.mini-profile strong{font-size:16px;display:block}.mini-profile span{display:block;font-size:11px;color:#9a8d81;margin-top:4px}.mini-profile>button{border:0;background:transparent;display:flex;align-items:center;gap:1px;color:#92734e;font-size:11px}
.mini-member-band{border-radius:10px;padding:24px 19px;background:linear-gradient(120deg,#3a3630,#211f1d);color:#e5c6a0;display:flex;flex-direction:column;gap:13px}.mini-member-band span{font:10px Georgia;letter-spacing:2px}.mini-member-band strong{font:650 19px 'Songti SC','STSong',serif;color:#ffefd8}.mini-member-band small{font-size:10px;color:#a99c89}
.mini-service-grid{background:white;border:1px solid #f0e8e0;border-radius:9px;padding:2px 12px;display:grid;grid-template-columns:1fr 1fr}.mini-service-grid button{border:0;background:transparent;display:flex;align-items:center;justify-content:flex-start;gap:9px;padding:20px 4px;border-bottom:1px solid #eee6dc;color:#9b7952}.mini-service-grid button:nth-last-child(-n+2){border-bottom:0}.mini-service-grid b{font-size:12px;color:#41403b;font-weight:600}.mini-service-grid button svg:last-child{margin-left:auto;color:#bfb6a8}
.mini-helper-row{display:flex;justify-content:space-between;margin-top:24px;font-size:12px;color:#8c8880}.mini-helper-row b{color:#6b655f}
.mini-records{display:grid;gap:12px;margin-bottom:20px}.mini-record{background:#fff;border:1px solid #ebe3d7;border-radius:9px;padding:16px;text-align:left}.mini-record-head,.mini-record-foot{display:flex;align-items:center;justify-content:space-between;gap:8px}.mini-record-head b{font-size:14px;color:#393734}.mini-record p{font-size:12px;color:#817b73;margin:14px 0}.mini-record-foot{border-top:1px solid #f0ebe5;padding-top:10px;margin-top:11px}.mini-record-foot small{font-size:10px;color:#97928a}.mini-record-foot button{border:1px solid #ddd0bc;background:#fff;border-radius:5px;padding:6px 10px;color:#9e7449;font-size:11px}.mini-record-foot span{color:#9e7449;font-size:11px}.mini-record-button{width:100%;display:block}.mini-empty{text-align:center;color:#aba399;font-size:13px;padding:40px 10px}
.mini-cart-line{display:flex;align-items:center;justify-content:space-between;padding:15px 0;border-bottom:1px solid #eee8df}.mini-cart-line b{font-size:13px;color:#39352f}.mini-cart-line small{display:block;color:#9e9383;font-size:11px;margin-top:5px}.mini-qty{display:flex;align-items:center;gap:11px}.mini-qty button{border:1px solid #d8c8b5;border-radius:5px;background:white;width:26px;height:26px;color:#745a3e}.mini-qty strong{font-size:13px;color:#333}.mini-cart-total{display:flex;justify-content:space-between;padding:20px 0 25px}.mini-cart-total span{font-size:13px;color:#827b72}.mini-cart-total b{font-size:20px;color:#8c6843}.mini-order-amount{text-align:center;margin:10px 0 20px}.mini-order-amount small{display:block;color:#968d82;margin-bottom:8px}.mini-order-amount strong{font-size:28px;color:#39332d}.mini-detail-row{border-top:1px solid #f1ebe4;display:flex;justify-content:space-between;gap:12px;padding:12px 0;font-size:12px}.mini-detail-row span{color:#827e77}.mini-detail-row b{text-align:right;max-width:65%;font-weight:600;overflow-wrap:anywhere}
.phone-tabbar{height:64px;background:#fff;border-top:1px solid #e8dfd3}.phone-tabbar button{font-size:11px;color:#a7a198;gap:5px}.phone-tabbar button.active{color:#946d40}.phone-tabbar button span{line-height:1}
.phone-close-outside{align-self:flex-start}
@media(max-width:1280px){.sidebar{width:224px}.content{padding:23px}.topbar{padding:0 22px}.table-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:1000px){.sidebar{width:210px}.dash-grid,.bottom-grid{grid-template-columns:1fr}.tab-actions{display:none}.table-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.sidebar{width:240px;left:-240px;z-index:60}.sidebar.open{left:0}.topbar{height:58px;padding:0 12px}.work-tabs{top:58px;padding:0 7px;height:42px}.content{padding:18px 12px 50px}.page-heading{align-items:flex-start}.page-heading h1{font-size:21px}.heading-actions{width:100%;display:flex;justify-content:flex-start}.filters{padding:11px}.control.search{width:100%;min-width:100%;max-width:100%}.pagin{justify-content:center}.table-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid{grid-template-columns:1fr}.wide-field{grid-column:auto}.phone-helper{display:none}.mobile-preview-backdrop{gap:0}}
@media(max-width:420px){.table-grid{grid-template-columns:repeat(1,minmax(0,1fr))}.phone-wrap{width:100%;height:96vh;max-width:392px}.mobile-preview-backdrop{padding:6px}.phone-page{padding:13px 16px 90px}.phone-close-outside{display:none}}
