﻿*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}
body{font-family:-apple-system,BlinkMacSystemFont,'PingFang SC','Microsoft YaHei',sans-serif;background:#f2f2f7;display:flex;justify-content:center}
#app{width:100%;max-width:430px;min-height:100vh;background:#f2f2f7;position:relative;overflow-x:hidden}
.page{display:none;flex-direction:column;min-height:100vh}
.page.active{display:flex}

/* ─── TOP BAR ─── */
.topbar{background:#1a2744;color:#fff;padding:10px 14px;display:flex;align-items:center;gap:10px;flex-shrink:0;min-height:48px}
.topbar-left{display:flex;flex-direction:column;flex:1;min-width:0}
.topbar-store{font-size:13px;color:rgba(255,255,255,.7);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.topbar-user{font-size:15px;font-weight:600;display:flex;align-items:center;gap:6px}
.role-tag{font-size:11px;background:rgba(200,169,110,.3);color:#c8a96e;border:1px solid rgba(200,169,110,.5);border-radius:10px;padding:1px 8px}
.topbar-actions{display:flex;gap:8px;flex-shrink:0}
.topbar-btn{background:none;border:none;color:rgba(255,255,255,.7);font-size:12px;cursor:pointer;padding:4px 6px;border-radius:6px;white-space:nowrap}
.topbar-btn:active{background:rgba(255,255,255,.1)}

/* ─── NAV BAR (back pages) ─── */
.navbar{background:#1a2744;color:#fff;padding:0 14px;height:48px;display:flex;align-items:center;gap:10px;flex-shrink:0}
.navbar-back{background:none;border:none;color:#fff;font-size:22px;cursor:pointer;padding:0 6px 0 0;line-height:1;flex-shrink:0}
.navbar-title{flex:1;font-size:16px;font-weight:600}
.navbar-action{background:none;border:none;color:#c8a96e;font-size:14px;cursor:pointer;white-space:nowrap}

/* ─── CONTENT ─── */
.scroll{flex:1;overflow-y:auto}

/* ─── STATS ROW ─── */
.stats-row{display:flex;gap:8px;padding:10px 12px 4px}
.stat-box{flex:1;background:#fff;border-radius:10px;padding:12px 10px;text-align:center}
.stat-num{font-size:22px;font-weight:700;color:#1a2744;line-height:1.2}
.stat-label{font-size:12px;color:#999;margin-top:2px}

/* ─── SECTION ─── */
.section{margin:8px 12px 0}
.section-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}
.section-title{font-size:14px;font-weight:600;color:#1a2744}

/* ─── TODO PILLS ─── */
.todo-row{display:flex;gap:8px;padding:6px 12px 0}
.todo-pill{flex:1;background:#fff;border-radius:10px;padding:10px 12px;display:flex;align-items:center;gap:8px;cursor:pointer}
.todo-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}
.todo-label{flex:1;font-size:13px;color:#333}
.todo-badge{border-radius:10px;padding:2px 8px;font-size:12px;font-weight:600;color:#fff}

/* ─── CUSTOMER LIST ─── */
.clist{background:#fff;border-radius:10px;overflow:hidden}
.clist-head{display:grid;grid-template-columns:1fr 40px 40px 90px;padding:8px 12px;background:#f8f8f8;border-bottom:1px solid #f0f0f0}
.clist-head.with-employee{grid-template-columns:minmax(0,1fr) 48px 34px 38px 90px}
.clist-head span{font-size:11px;color:#999;font-weight:500;text-align:center}
.clist-head span:first-child{text-align:left}
.clist-head .ops-head{display:flex;align-items:center;justify-content:center;gap:5px}
.sort-picker,.employee-filter-picker{position:relative;display:inline-flex;align-items:center;color:#1d6fd8;font-weight:700;white-space:nowrap}
.sort-picker span::after,.employee-filter-picker span::after{content:'▾';font-size:9px;margin-left:2px;color:#1d6fd8}
.sort-picker select,.employee-filter-picker select{position:absolute;inset:0;width:100%;height:100%;opacity:0}
.clist-row{display:grid;grid-template-columns:1fr 40px 40px 90px;padding:10px 12px;border-bottom:1px solid #f5f5f5;align-items:center}
.clist-row.with-employee{grid-template-columns:minmax(0,1fr) 48px 34px 38px 90px}
.clist-row:last-child{border-bottom:none}
.cname{font-size:14px;font-weight:500;color:#333}
.cphone{font-size:11px;color:#bbb;margin-top:1px}
.cstaff{text-align:center;font-size:12px;color:#666;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cnum{text-align:center;font-size:14px;color:#333}
.cbtns{display:flex;gap:4px;justify-content:flex-end}
.btn-s{padding:5px 8px;border-radius:6px;font-size:12px;border:none;cursor:pointer;font-weight:500}
.btn-in{background:#1a2744;color:#fff}
.btn-out{background:#c8a96e;color:#fff}
.btn-link{background:none;border:1px solid #ddd;color:#666;font-size:12px;padding:5px 6px;border-radius:6px;cursor:pointer}
.readonly-tag{display:inline-flex;align-items:center;justify-content:center;min-width:42px;height:28px;border-radius:6px;background:#f1f2f6;color:#8a8f99;font-size:12px;font-weight:700}
.readonly-note{width:100%;border:1px solid #e6e8ef;border-radius:8px;background:#fff;color:#8a8f99;padding:12px;font-size:13px;line-height:1.5;text-align:center}

/* ─── SEARCH BAR ─── */
.searchbar{padding:8px 12px}
.searchbar input{width:100%;padding:9px 12px 9px 34px;border:none;border-radius:10px;background:#fff;font-size:14px;color:#333;outline:none}
.searchbar-wrap{position:relative}
.searchbar-wrap::before{content:'🔍';position:absolute;left:12px;top:50%;transform:translateY(-50%);font-size:14px;pointer-events:none}

/* ─── FILTER BAR ─── */
.filterbar{display:flex;gap:6px;padding:6px 12px 0;flex-wrap:wrap}
.filterbar select,.filterbar input{padding:6px 10px;border:none;background:#fff;border-radius:8px;font-size:12px;color:#555;outline:none}
.filter-summary{padding:4px 12px 0;font-size:12px;color:#999}

/* ─── WINE LIST ROWS (库存) ─── */
.wlist{background:#fff;border-radius:10px;overflow:hidden}
.wrow{padding:10px 12px;border-bottom:1px solid #f5f5f5}
.wrow:last-child{border-bottom:none}
.wname-cn{font-size:14px;font-weight:800;color:#1a2744;line-height:1.35}
.wname-en{font-size:11px;font-weight:500;color:#8b93a1;line-height:1.35;margin-top:2px}
.wine-badges{display:flex;flex-wrap:wrap;gap:5px;margin-top:4px}
.wine-badges span{display:inline-flex;align-items:center;border-radius:999px;background:#eef2f7;color:#697386;padding:2px 7px;font-size:10px;font-weight:800;line-height:1.2}
.wmeta{display:flex;flex-wrap:wrap;gap:8px;margin-top:5px}
.wmeta-item{font-size:12px;color:#666}
.wmeta-item strong{color:#333}
.warea-tag{background:#f0f2f5;color:#666;border-radius:5px;padding:1px 7px;font-size:11px}

/* ─── ACTIVITY FEED ─── */
.feed{background:#fff;border-radius:10px;overflow:hidden}
.feed-row{padding:10px 12px;border-bottom:1px solid #f5f5f5;display:flex;gap:10px}
.feed-row:last-child{border-bottom:none}
.feed-dot{width:7px;height:7px;border-radius:50%;background:#c8a96e;margin-top:5px;flex-shrink:0}
.feed-body{flex:1;font-size:13px;color:#333;line-height:1.6}
.feed-time{font-size:11px;color:#bbb;white-space:nowrap}

/* ─── EMP TABLE ─── */
.etable{background:#fff;border-radius:10px;overflow:hidden}
.etrow{display:grid;grid-template-columns:30px 1fr 50px 50px;padding:10px 12px;border-bottom:1px solid #f5f5f5;align-items:center;gap:4px}
.etrow:last-child{border-bottom:none}
.etrow.head{background:#f8f8f8;font-size:11px;color:#999}
.etrank{text-align:center;font-size:12px;color:#bbb}
.etname{font-size:14px;color:#333}
.etnum{text-align:center;font-size:14px;color:#333}

/* ─── STOCK-IN SINGLE PAGE ─── */
.si-customer-bar{background:#fff;border-bottom:1px solid #f0f0f0;padding:10px 14px;display:flex;align-items:center;justify-content:space-between}
.si-customer-name{font-size:15px;font-weight:600;color:#1a2744}
.si-customer-phone{font-size:12px;color:#999;margin-top:1px}
.si-search-area{padding:8px 12px 0}
.so-search-area{display:block}
.so-view-tabs{display:grid;grid-template-columns:1fr 1fr 54px;gap:0;padding:8px;background:#fff;border-bottom:1px solid #f0f1f5;align-items:center}
.so-view-tab{height:42px;border:0;background:#f3f4f8;color:#8c94a3;font-weight:900;font-size:14px}
.so-view-tab:first-child{border-radius:8px 0 0 8px}
.so-view-tab:nth-child(2){border-radius:0 8px 8px 0}
.so-view-tab.active{background:#1a2744;color:#fff}
.so-view-toggle{height:32px;margin-left:8px;border:1px solid #d9dde8;background:#fff;color:#8c94a3;border-radius:8px;font-size:12px;font-weight:800}
.so-box-section{background:#fff;border-bottom:1px solid #f0f1f5}
.so-box-title{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;color:#1a2744;font-weight:900;background:#f7f8fb}
.so-box-title span{font-size:13px;color:#8c94a3}
.si-search-wrap{position:relative}
.si-search-wrap input{width:100%;padding:10px 44px 10px 14px;border:none;background:#fff;border-radius:10px;font-size:14px;color:#333;outline:none}
.si-scan-btn{position:absolute;right:8px;top:50%;transform:translateY(-50%);background:#1a2744;border:none;color:#fff;border-radius:7px;padding:5px 10px;font-size:13px;cursor:pointer}
.si-results{background:#fff;border-radius:10px;overflow:hidden;margin:6px 12px 0}
.result-scroll{max-height:330px;overflow-y:auto;-webkit-overflow-scrolling:touch}
.result-toolbar{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 10px;background:#f8f8f8;color:#999;font-size:12px;border-bottom:1px solid #f0f0f0}
.si-result-row{padding:10px 12px;border-bottom:1px solid #f5f5f5;cursor:pointer}
.si-result-row:last-child{border-bottom:none}
.si-result-row:active{background:#f8f9fb}
.si-result-row.selected{background:#eef4ff;border-left:4px solid #1a2744;padding-left:8px}
.si-result-row.just-picked{background:#e8f5e9}
.si-result-name{font-size:13px;font-weight:600;color:#1a2744}
.si-result-meta{font-size:11px;color:#999;margin-top:2px}
.si-result-picked{display:inline-flex;margin-top:6px;padding:2px 7px;border-radius:999px;background:#1a2744;color:#fff;font-size:11px;font-weight:700}

/* ─── CART (added wines) ─── */
.cart-wrap{margin:6px 12px 0;background:#fff;border-radius:10px;overflow:hidden}
.cart-section-head{padding:8px 12px 4px;font-size:12px;color:#999;font-weight:500;background:#f8f8f8;display:flex;justify-content:space-between}
.cart-row{padding:9px 12px;border-bottom:1px solid #f5f5f5;display:flex;align-items:center;gap:8px}
.cart-row:last-child{border-bottom:none}
.cart-name{flex:1;font-size:13px;color:#333;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.qty-ctrl{display:flex;align-items:center;gap:6px;flex-shrink:0}
.qty-btn{width:26px;height:26px;border-radius:50%;border:1px solid #ddd;background:#fff;font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#333;line-height:1}
.qty-val{min-width:28px;text-align:center;font-size:15px;font-weight:600;color:#1a2744}
.qty-edit{border:none;background:#f3f5f9;border-radius:8px;padding:4px 7px;cursor:pointer}
.cart-del{background:none;border:none;color:#e74c3c;font-size:18px;cursor:pointer;padding:0 2px}

/* ─── BOTTOM BAR ─── */
.bottom-bar{background:#fff;border-top:1px solid #e8e8e8;padding:10px 14px;display:flex;gap:8px;flex-shrink:0}
.bottom-summary{flex:1;display:flex;align-items:center;gap:6px;font-size:13px;color:#666}
.bottom-summary strong{color:#1a2744}
.btn-main{flex:1;padding:12px;background:#1a2744;color:#fff;border:none;border-radius:11px;font-size:15px;font-weight:600;cursor:pointer}
.btn-main:disabled{background:#bbb;cursor:not-allowed}
.btn-gold{background:#c8a96e}

/* ─── UPLOAD ─── */
.upload-card{margin:8px 12px 0;background:#fff;border-radius:10px;padding:16px 14px}
.upload-card-title{font-size:13px;color:#666;margin-bottom:10px}
.upload-zone{position:relative;display:block;border:2px dashed #ddd;border-radius:10px;padding:24px;text-align:center;cursor:pointer;background:#fafafa;overflow:hidden}
.upload-zone.has-files{border-color:#1a2744;background:#f0f4f8}
.upload-icon{font-size:32px;margin-bottom:6px}
.upload-hint{font-size:13px;color:#bbb}
.upload-hint2{font-size:11px;color:#ccc;margin-top:3px}
.upload-ok{font-size:13px;color:#1a2744;font-weight:600;margin-top:4px}
input[type=file]{display:none}
input[type=file].native-file-input{display:block!important;position:fixed!important;left:0!important;top:-10000px!important;width:1px!important;height:1px!important;opacity:0!important;overflow:hidden!important;border:0!important;padding:0!important;margin:0!important;font-size:0!important;color:transparent!important;background:transparent!important;clip-path:inset(50%)!important;-webkit-appearance:none!important;appearance:none!important}

/* ─── SUCCESS ─── */
.success-wrap{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px 24px;gap:14px;text-align:center}
.success-icon{width:72px;height:72px;background:#e8f5e9;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:38px}
.success-title{font-size:20px;font-weight:700;color:#1a2744}
.success-no{font-family:monospace;font-size:13px;background:#f0f2f5;padding:8px 16px;border-radius:8px;color:#555;word-break:break-all}
.success-detail{font-size:13px;color:#888;line-height:1.8}

/* ─── CONFIRM MODAL ─── */
.overlay{position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:200;display:none;align-items:flex-end;justify-content:center}
.overlay.show{display:flex}
.modal{background:#fff;border-radius:18px 18px 0 0;width:100%;max-width:430px;padding:22px 20px 28px}
.modal-title{font-size:17px;font-weight:700;color:#1a2744;text-align:center;margin-bottom:14px}
.modal-row{display:flex;justify-content:space-between;padding:7px 0;border-bottom:1px solid #f5f5f5;font-size:14px}
.modal-row:last-of-type{border-bottom:none;margin-bottom:4px}
.modal-row-label{color:#999}
.modal-row-val{font-weight:600;color:#333}
.modal-btns{display:flex;gap:10px;margin-top:16px}
.modal-btn{flex:1;padding:13px;border-radius:12px;font-size:15px;font-weight:600;border:none;cursor:pointer}
.modal-btn.cancel{background:#f2f2f7;color:#666}
.modal-btn.confirm{background:#1a2744;color:#fff}

/* ─── LOGIN ─── */
.login-page{flex:1;display:flex;flex-direction:column;padding:48px 24px 24px}
.login-logo{text-align:center;margin-bottom:40px}
.login-brand{font-size:30px;font-weight:800;color:#1a2744;letter-spacing:3px}
.login-sub{font-size:13px;color:#999;margin-top:5px}
.login-ver{font-size:11px;color:#ccc;margin-top:3px}
.form-group{margin-bottom:14px}
.form-label{font-size:13px;color:#777;margin-bottom:5px;display:block}
.form-input{width:100%;padding:12px 14px;border:1px solid #e0e0e0;border-radius:11px;font-size:15px;outline:none;color:#333;background:#fff}
.form-input:focus{border-color:#1a2744}
.sms-row{display:flex;gap:8px}
.sms-row .form-input{flex:1}
.sms-get-btn{white-space:nowrap;padding:12px 14px;border:1px solid #e0e0e0;border-radius:11px;font-size:13px;background:#f8f8f8;cursor:pointer;color:#555}
.phone-row{display:grid;grid-template-columns:96px minmax(0,1fr);gap:8px;align-items:center;width:100%}
.phone-row .form-input,.phone-row input{width:100%;min-width:0}
.country-select{width:96px;height:44px;border:1px solid #e0e0e0;border-radius:11px;background:#fff;color:#1b2744;font-size:13px;padding:0 6px}
.btn-full{width:100%;padding:14px;background:#1a2744;color:#fff;border:none;border-radius:12px;font-size:16px;font-weight:600;cursor:pointer;margin-top:6px}
.login-divider{text-align:center;color:#ccc;font-size:12px;margin:12px 0;display:flex;align-items:center;gap:8px}
.login-divider::before,.login-divider::after{content:'';flex:1;height:1px;background:#eee}
.demo-switcher{margin-top:auto;padding-top:24px}
.demo-label{font-size:11px;color:#bbb;text-align:center;margin-bottom:8px}
.demo-btns{display:flex;flex-wrap:wrap;gap:6px;justify-content:center}
.demo-btn{padding:6px 13px;border:1px solid #e0e0e0;border-radius:18px;font-size:12px;color:#666;background:#fff;cursor:pointer}
.demo-btn:hover{border-color:#1a2744;color:#1a2744}

/* ─── REGION/SENIOR STORE TABLE ─── */
.store-table{background:#fff;border-radius:10px;overflow:hidden}
.store-row{padding:12px;border-bottom:1px solid #f5f5f5;cursor:pointer}
.store-row:last-child{border-bottom:none}
.store-row:active{background:#f8f9fb}
.store-name{font-size:15px;font-weight:600;color:#1a2744}
.store-stats{display:flex;gap:14px;margin-top:5px}
.store-stat{font-size:12px;color:#888}
.store-stat strong{color:#333}
.store-trends{display:flex;gap:6px;margin-top:5px}
.trend{font-size:11px;padding:2px 8px;border-radius:9px}
.trend-up{background:#e8f5e9;color:#2e7d32}
.trend-dn{background:#fce4ec;color:#c62828}
.trend-flat{background:#f5f5f5;color:#888}
.pending-pill{font-size:11px;background:#fce4ec;color:#e74c3c;padding:2px 7px;border-radius:9px}

/* ─── BAR CHART ─── */
.bar-chart{padding:10px 12px}
.bar-row{display:flex;align-items:center;gap:8px;margin-bottom:9px}
.bar-lbl{font-size:12px;color:#888;width:72px;text-align:right;flex-shrink:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bar-track{flex:1;height:16px;background:#f0f0f0;border-radius:8px;overflow:hidden}
.bar-fill{height:100%;background:linear-gradient(90deg,#1a2744,#c8a96e);border-radius:8px}
.bar-val{width:36px;text-align:right;font-size:12px;color:#555;flex-shrink:0}

/* ─── ADMIN GRID ─── */
.mod-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding:10px 12px}
.mod-item{background:#fff;border-radius:12px;padding:18px 8px 14px;text-align:center;cursor:pointer}
.mod-item:active{transform:scale(.96)}
.mod-icon{font-size:26px;margin-bottom:6px}
.mod-label{font-size:12px;color:#333;font-weight:500}

/* ─── APPROVAL ─── */
.approval-list{background:#fff;border-radius:10px;overflow:hidden}
.approval-item{padding:12px;border-bottom:1px solid #f5f5f5}
.approval-item:last-child{border-bottom:none}
.approval-type-tag{display:inline-block;background:#fff3e0;color:#e65100;border-radius:5px;padding:2px 8px;font-size:11px;margin-bottom:5px}
.approval-desc{font-size:14px;color:#333}
.approval-meta{font-size:12px;color:#aaa;margin-top:3px}
.approval-btns{display:flex;gap:8px;margin-top:8px}
.approval-btn{flex:1;padding:8px;border-radius:9px;font-size:13px;font-weight:600;border:none;cursor:pointer;text-align:center}
.approval-btn.ok{background:#1a2744;color:#fff}
.approval-btn.no{background:#fff;color:#e74c3c;border:1px solid #e74c3c}

/* ─── CUSTOMER DETAIL TABS ─── */
.detail-tabs{display:flex;background:#fff;border-bottom:1px solid #eee;margin-bottom:6px}
.detail-tab{flex:1;padding:12px;text-align:center;font-size:14px;color:#aaa;cursor:pointer;border-bottom:2px solid transparent}
.detail-tab.on{color:#1a2744;border-bottom-color:#1a2744;font-weight:600}

/* ─── TX LIST ─── */
.tx-list{background:#fff;border-radius:10px;overflow:hidden}
.tx-row{padding:11px 12px;border-bottom:1px solid #f5f5f5;display:flex;align-items:center;gap:10px}
.tx-row-wrap{display:grid;grid-template-columns:minmax(0,1fr) 42px;align-items:stretch;border-bottom:1px solid #f5f5f5;background:#fff}
.tx-row-wrap .tx-row{border-bottom:0}
.tx-void-btn{align-self:center;justify-self:center;width:30px;height:30px;border:0;border-radius:999px;background:#fff1f1;color:#c92a2a;font-weight:900}
.tx-row:last-child{border-bottom:none}
.tx-badge{padding:3px 9px;border-radius:11px;font-size:12px;font-weight:600;flex-shrink:0}
.tx-in{background:#e8f5e9;color:#2e7d32}
.tx-out{background:#fce4ec;color:#c62828}
.tx-info{flex:1}
.tx-no{font-family:monospace;font-size:12px;color:#1a2744;font-weight:500}
.tx-date{font-size:11px;color:#aaa;margin-top:2px}
.tx-qty{font-size:15px;font-weight:600;color:#333}

/* ─── EMPTY ─── */
.empty{text-align:center;padding:36px 16px;color:#ccc}
.empty-icon{font-size:36px;margin-bottom:8px}
.empty-text{font-size:14px}

/* ─── NEW CUSTOMER ─── */
.form-card{background:#fff;border-radius:10px;overflow:hidden;margin:10px 12px 0}
.form-row{padding:12px}
.form-row label{font-size:12px;color:#999;display:block;margin-bottom:5px}
.form-row input,.form-row select{width:100%;padding:10px 12px;border:1px solid #eee;border-radius:8px;font-size:14px;color:#333;outline:none;background:#fff}
.form-row select[multiple]{height:auto}
.store-check-list{display:flex;flex-direction:column;gap:8px;max-height:220px;overflow:auto;padding:8px;border:1px solid #eee;border-radius:10px;background:#fff}
.store-check{display:flex!important;align-items:center;gap:10px;min-height:42px;margin:0!important;padding:8px 10px;border:1px solid #f0f1f5;border-radius:8px;background:#fafafa;color:#1a2744!important;font-size:14px!important}
.store-check input{display:block;width:18px!important;height:18px;padding:0!important;margin:0;border:1px solid #ccd1dc;border-radius:4px;accent-color:#1a2744;flex:0 0 auto}
.store-check span{line-height:1.35}
.empty-inline{padding:10px;color:#999;font-size:13px}

.btn-secondary{background:#f2f2f7!important;color:#555!important}
.toast{position:fixed;left:50%;bottom:28px;transform:translate(-50%,20px);max-width:320px;padding:10px 14px;border-radius:10px;background:rgba(26,39,68,.94);color:#fff;font-size:13px;opacity:0;pointer-events:none;transition:all .18s ease;z-index:99;text-align:center}
.toast.show{opacity:1;transform:translate(-50%,0)}
.notice-entry{position:relative}
.notice-badge{position:absolute;right:-4px;top:-5px;min-width:16px;height:16px;border-radius:8px;background:#c62828;color:#fff;font-size:10px;line-height:16px;text-align:center;padding:0 4px}
.notice-summary{font-size:12px;color:#888;padding:4px 12px 10px}
.notice-list{margin:0 12px 14px;background:#fff;border-radius:10px;overflow:hidden}
.notice-row{display:flex;gap:10px;padding:12px;border-bottom:1px solid #f5f5f5;align-items:flex-start}
.notice-row:last-child{border-bottom:none}
.notice-row.unread{background:#fffdf6}
.notice-dot{width:8px;height:8px;border-radius:50%;background:#ddd;margin-top:6px;flex-shrink:0}
.notice-row.unread .notice-dot{background:#c8a96e}
.notice-body{flex:1;min-width:0}
.notice-title{font-size:14px;font-weight:700;color:#1a2744}
.notice-text{font-size:13px;color:#666;line-height:1.5;margin-top:3px}
.notice-time{font-size:11px;color:#aaa;margin-top:5px}
.diag-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:10px 12px}
.diag-item{background:#fff;border-radius:10px;padding:12px;min-width:0}
.diag-label{font-size:11px;color:#999;margin-bottom:5px}
.diag-value{font-size:13px;color:#1a2744;font-weight:600;word-break:break-all}
.draft-hint{font-size:11px;color:#aaa;padding:0 12px 8px}
.check-row{display:flex;gap:10px;align-items:flex-start;padding:12px;border-bottom:1px solid #f5f5f5;background:#fff}
.check-row:last-child{border-bottom:none}
.check-row input{margin-top:3px}
.check-row span{display:flex;flex-direction:column;gap:3px}
.check-row strong{font-size:14px;color:#1a2744}
.check-row em{font-style:normal;font-size:12px;color:#777;line-height:1.45}
.panel-form{margin:12px;background:#fff;border-radius:12px;padding:14px}
.action-row{display:flex;gap:10px;padding:10px 12px}
.action-btn{flex:1;border:1px solid #e8e8e8;background:#fff;color:#1a2744;border-radius:10px;padding:12px 8px;font-size:14px;font-weight:600}
.action-btn.primary{border-color:#1a2744;background:#1a2744;color:#fff}
.action-btn.gold{border-color:#c8a96e;background:#c8a96e;color:#fff}
.empty{padding:36px 20px;text-align:center;color:#aaa}
.empty-icon{font-size:22px;margin-bottom:8px}
.empty-text{font-size:13px;line-height:1.6}
.mod-item{border:none}
button:disabled{opacity:.55;cursor:not-allowed}
.card-wrap{background:#fff;border-radius:10px;overflow:hidden;margin:8px 12px}
.section-more{font-size:12px;color:#aaa}
.cust-card{margin:10px 12px;background:#fff;border-radius:12px;padding:14px;display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:12px;align-items:center;position:relative;min-height:118px}
.cust-name{font-size:18px;font-weight:700;color:#1a2744}
.cust-phone,.cust-emp{font-size:13px;color:#888;margin-top:4px}
.cust-stats{display:flex;gap:12px;text-align:center;flex-shrink:0}
.cust-stats strong{display:block;font-size:20px;color:#1a2744}
.cust-stats span{display:block;font-size:11px;color:#aaa;margin-top:2px}
.cust-card-actions{width:72px;align-self:stretch;display:flex;flex-direction:column;justify-content:flex-start;gap:7px;position:relative}
.cust-mini-pill{height:28px;border:0;border-radius:14px;background:#f4f1ea;color:#8a6b31;font-size:12px;font-weight:800;white-space:nowrap}
.cust-mini-pill.export{background:#eef2f7;color:#1a2744}
.customer-export-menu{position:absolute;right:0;top:64px;width:118px;background:#fff;border:1px solid #e6e8ef;border-radius:10px;box-shadow:0 8px 24px rgba(15,23,42,.16);z-index:5;overflow:hidden}
.customer-export-menu button{display:block;width:100%;border:0;background:#fff;color:#1a2744;text-align:left;padding:10px 12px;font-size:12px;font-weight:700}
.customer-export-menu button+button{border-top:1px solid #f0f1f5}
.tabs,.detail-tabs{display:flex;background:#fff;border-bottom:1px solid #eee;margin-bottom:6px}
.tab,.detail-tab{flex:1;padding:12px;text-align:center;font-size:14px;color:#aaa;cursor:pointer;border:0;border-bottom:2px solid transparent;background:#fff}
.tab.on,.detail-tab.on{color:#1a2744;border-bottom-color:#1a2744;font-weight:600}
.si-result-row{width:100%;text-align:left;border:none;background:#fff}
.cart-index{color:#bbb;font-size:13px;flex-shrink:0;width:20px}
.area-input{width:100%;margin-top:5px;padding:7px 9px;border:1px solid #eee;border-radius:8px;font-size:12px;color:#333;outline:none;background:#fafafa}
.preview-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;padding-top:10px}
.preview-item{position:relative;aspect-ratio:1;background:#f0f0f0;border-radius:6px;overflow:hidden}
.preview-item img,.preview-item video{width:100%;height:100%;object-fit:cover}
.preview-del{position:absolute;top:3px;right:3px;background:rgba(0,0,0,.6);color:#fff;border:none;border-radius:50%;width:22px;height:22px;font-size:13px;line-height:1}
.success-page{min-height:calc(100vh - 56px);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 24px;gap:13px;text-align:center}
.success-icon{width:72px;height:72px;border-radius:50%;background:#e8f5e9;color:#2e7d32;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:20px}
.success-title{font-size:20px;font-weight:700;color:#1a2744}
.success-no{font-family:monospace;font-size:13px;background:#fff;padding:9px 14px;border-radius:9px;color:#555;word-break:break-all}
.success-meta{font-size:13px;color:#888;line-height:1.8}
.etable-head,.etable-row{display:grid;grid-template-columns:1fr 48px 56px 56px;gap:8px;align-items:center;padding:9px 12px;border-bottom:1px solid #f5f5f5;font-size:13px}
.etable-head.compact,.etable-row.compact{grid-template-columns:1fr 56px 64px}
.etable-head{background:#f8f8f8;color:#999;font-size:11px;font-weight:600}
.etable-row:last-child{border-bottom:none}
.feed-row{display:flex;gap:9px;padding:10px 12px;border-bottom:1px solid #f5f5f5;background:#fff}
.feed-row:last-child{border-bottom:none}
.feed-dot{width:8px;height:8px;border-radius:50%;background:#c8a96e;margin-top:5px;flex-shrink:0}
.feed-body{flex:1;font-size:12px;color:#666;line-height:1.55}
.feed-time{font-size:11px;color:#aaa;white-space:nowrap}
.approval-item{margin:10px 12px;background:#fff;border-radius:10px;padding:12px}
.approval-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}
.approval-type{font-size:15px;font-weight:700;color:#1a2744}
.approval-status{font-size:12px;border-radius:9px;padding:2px 8px;background:#f5f5f5;color:#888}
.status-pending{background:#fff3e0;color:#e65100}
.status-approved{background:#e8f5e9;color:#2e7d32}
.status-rejected{background:#fce4ec;color:#c62828}
.approval-body{font-size:13px;color:#666;line-height:1.8}
.approval-time{font-size:12px;color:#aaa;margin-top:4px}
.approval-btns{display:flex;gap:10px;margin-top:10px}
.inventory-tools{display:flex;gap:6px;padding:10px 12px 4px;flex-wrap:wrap}
.inventory-tools input,.inventory-tools select{border:none;background:#fff;border-radius:8px;padding:9px 10px;font-size:13px;color:#333;outline:none}
.inventory-tools>input{flex:1;min-width:140px}
.days-filter{display:flex;align-items:center;gap:4px;background:#fff;border-radius:8px;padding:0 8px;font-size:12px;color:#999}
.days-filter input{width:46px;text-align:center;padding:8px 2px}
.inv-summary{padding:4px 12px 2px;font-size:12px;color:#aaa}
.admin-subhead{display:flex;gap:10px;padding:10px 12px;align-items:center}
.admin-subhead .btn-link{background:#fff}
.admin-subhead .action-btn{padding:10px 8px}
.admin-subtitle{flex:1;min-width:0;font-size:16px;font-weight:700;color:#1a2744;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.admin-list{margin:0 12px 14px;background:#fff;border-radius:10px;overflow:hidden}
.admin-row{display:flex;justify-content:space-between;gap:10px;padding:12px;border-bottom:1px solid #f5f5f5;align-items:flex-start}
.admin-row:last-child{border-bottom:none}
.admin-row-title{font-size:14px;font-weight:700;color:#1a2744}
.admin-row-meta{font-size:12px;color:#888;margin-top:3px;line-height:1.45}
.admin-status{font-size:11px;color:#888;background:#f5f5f5;border-radius:9px;padding:2px 8px;white-space:nowrap}
.admin-row-actions{display:flex;flex-direction:column;align-items:flex-end;gap:8px;flex-shrink:0}
.admin-row-actions .btn-link{background:#fff;border:1px solid #eee;border-radius:8px;padding:6px 10px;font-size:12px;color:#1a2744}
.danger-link{color:#c62828!important}
.admin-form-title{font-size:15px;font-weight:700;color:#1a2744;padding:4px 12px 0}
.region-store-row{width:100%;border:none;background:#fff;text-align:left;display:flex;align-items:center;gap:10px}
.region-store-main{flex:1;min-width:0}
.region-enter-store{flex:0 0 auto;border:1px solid #1a2744;border-radius:8px;padding:7px 9px;color:#1a2744;font-size:12px;font-weight:700;background:#fff}
.region-customer-row{display:grid;grid-template-columns:1fr 40px 40px 76px;gap:6px;padding:10px 12px;border-bottom:1px solid #f5f5f5;align-items:center}
.region-customer-row:last-child{border-bottom:none}
.region-store-name{font-size:12px;color:#666;text-align:right}
.senior-store-row{width:100%;border:none;background:#fff;text-align:left}
.senior-customer-head,.senior-customer-row{display:grid;grid-template-columns:1fr 78px 44px;gap:8px;align-items:center}
.senior-customer-head{padding:8px 12px;background:#f8f8f8;color:#999;font-size:11px;font-weight:600}
.senior-customer-row{padding:10px 12px;border-bottom:1px solid #f5f5f5}
.senior-customer-row:last-child{border-bottom:none}
.trend-card{margin:8px 12px;background:#fff;border-radius:10px;padding:12px;overflow:hidden}
.trend-svg{width:100%;height:auto;display:block}
.customer-tools{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;margin-bottom:8px}
.customer-tools .searchbar{padding:0}
.mini-action-btn{border:1px solid #1a2744;background:#fff;color:#1a2744;border-radius:10px;padding:9px 10px;font-size:13px;font-weight:700;white-space:nowrap}
.mini-action-btn.muted{border-color:#d9dbe3;color:#666;background:#f7f7fa}
.pager{display:flex;align-items:center;justify-content:center;gap:12px;padding:12px 0 2px;color:#8c94a3;font-size:13px}
.pager button{border:1px solid #d9dbe3;background:#fff;color:#1a2744;border-radius:999px;padding:7px 14px;font-weight:700}
.pager button:disabled{opacity:.45;color:#999}
.box-manager-list{display:flex;flex-direction:column;gap:8px}
.box-manager-row{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center}
.box-manager-row input{width:100%;border:1px solid #e1e4eb;border-radius:10px;padding:10px 12px;font-size:14px;color:#1a2744;background:#fff}
.region-actions{display:grid;grid-template-columns:auto 1fr;gap:8px;align-items:center;padding:8px 12px 0}
.region-actions .action-btn{padding:10px 12px;flex:initial}
.region-action-hint{font-size:11px;color:#999;line-height:1.4}
.import-type-row{display:flex;align-items:center;gap:8px;padding:8px 4px;font-size:14px;color:#1a2744}
.import-type-row.muted{color:#aaa}
.import-progress{height:8px;background:#edf0f5;border-radius:4px;overflow:hidden;margin:10px 0 4px}
.import-progress div{height:100%;width:0;background:#1a2744;transition:width .18s ease}
.file-pick-btn{width:100%;border:1px solid #1a2744;background:#fff;color:#1a2744;border-radius:10px;padding:12px 10px;font-size:14px;font-weight:700}
.file-picked-name{font-size:12px;color:#888;margin-top:8px;word-break:break-all}
@media (max-width:380px){
  .topbar{padding:8px 10px}
  .topbar-actions{gap:4px}
  .topbar-btn{font-size:11px;padding:4px}
  .customer-tools{grid-template-columns:1fr}
  .mini-action-btn{width:100%}
  .region-actions{grid-template-columns:1fr}
  .region-action-hint{text-align:center}
}
.admin-filter-row{display:flex;gap:8px;padding:0 12px 10px;overflow-x:auto}
.admin-filter-btn{border:1px solid #e5e8f0;background:#fff;color:#1a2744;border-radius:16px;padding:7px 13px;font-size:13px;white-space:nowrap}
.admin-filter-btn.active{background:#1a2744;color:#fff;border-color:#1a2744}
.export-customer-tools{display:flex;flex-direction:column;gap:8px;margin:8px 0}
.export-tool-actions,.export-tool-selects{display:flex;gap:8px;align-items:center}
.export-tool-selects select{flex:1;min-width:0}
.log-detail-body{margin:8px 0 0;padding:10px;border-radius:8px;background:#f4f6fb;color:#667085;font-size:12px;line-height:1.45;white-space:pre-wrap;word-break:break-word}
.admin-row-button{width:100%;margin:0;text-align:left;background:#fff;border:0;border-bottom:1px solid #f5f5f5;border-radius:0;font-family:inherit}
.admin-row-button:first-child{border-radius:10px 10px 0 0}
.admin-row-button:last-child{border-bottom:0;border-radius:0 0 10px 10px}
.admin-detail-card{background:#fff;border-radius:10px;padding:14px 12px}
.admin-detail-title{font-size:16px;font-weight:800;color:#1a2744;font-family:monospace}
.admin-detail-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:12px}
.admin-detail-grid div{background:#f7f8fb;border-radius:8px;padding:9px}
.admin-detail-grid span{display:block;font-size:11px;color:#888;margin-bottom:3px}
.admin-detail-grid strong{display:block;font-size:13px;color:#1a2744;word-break:break-all}
.attachment-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin:0 12px 16px}
.attachment-item{display:block;background:#fff;border-radius:10px;overflow:hidden;text-decoration:none;color:#1a2744;border:1px solid #f0f0f0}
.attachment-item img,.attachment-item video{display:block;width:100%;aspect-ratio:1;object-fit:cover;background:#f4f4f4}
.attachment-item div{font-size:12px;padding:7px 8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

.preview-file{display:flex;align-items:center;justify-content:center;width:100%;height:100%;padding:8px;text-align:center;font-size:11px;color:#666;word-break:break-all;background:#f7f8fb}
.upload-debug{margin-top:6px;font-size:11px;color:#1a2744;line-height:1.35;word-break:break-all}

.agreement-modal{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(15,23,42,.48)}
.agreement-dialog{width:min(92vw,520px);max-height:82vh;overflow:auto;border-radius:8px;background:#fff;padding:22px;color:#14213d;box-shadow:0 18px 40px rgba(15,23,42,.25)}
.agreement-title{font-size:20px;font-weight:800;margin-bottom:8px}
.agreement-version,.agreement-body,.agreement-file,.agreement-check{display:block;margin-top:12px;line-height:1.6}
.agreement-body{white-space:pre-wrap;color:#4b5563}
.agreement-file-button{width:100%;border:1px solid #d7dde8;border-radius:8px;background:#f8fafc;color:#1a2744;padding:10px 12px;text-align:left;font-size:14px;cursor:pointer}
.agreement-close{margin-top:14px}
.agreement-check{color:#14213d}
.tx-row-button{width:100%;border:0;background:#fff;text-align:left;font-family:inherit}
.tx-detail-inline{margin:0 12px 12px}
.tx-inline-card{border-radius:8px;background:#f8fafc;padding:12px}
.tx-inline-title{font-weight:800;margin-bottom:8px}
.tx-inline-item{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid #e5e7eb}
.tx-inline-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin:0 0 8px;color:#667085;font-size:12px}
.tx-inline-item-rich>div{min-width:0}
.tx-inline-item-rich span{display:block;color:#1a2744}
.tx-inline-item-rich small{display:block;margin-top:4px;color:#98a2b3;line-height:1.35}
.tx-inline-attachment-title{margin-top:12px}
.attachment-grid.mini{grid-template-columns:repeat(4,1fr);margin:10px 0 0}
.attachment-thumb{display:flex;align-items:center;justify-content:center;aspect-ratio:1;border-radius:8px;background:#eef2f7;color:#14213d;overflow:hidden;text-decoration:none}
.attachment-thumb img{width:100%;height:100%;object-fit:cover}
.compact-form{gap:10px}
.check-row{display:flex;align-items:center;gap:8px;margin:8px 0 14px;color:#4b5563}

/* ─── CUSTOMER SELF SERVICE ─── */
.customer-hero{margin:10px 12px 0;background:#fff;border-radius:14px;padding:16px 14px;display:flex;align-items:center;justify-content:space-between;gap:12px}
.customer-hello{font-size:21px;font-weight:800;color:#1a2744;line-height:1.2}
.customer-sub{font-size:12px;color:#999;margin-top:6px}
.customer-service{min-width:92px;text-align:right}
.customer-service span{display:block;font-size:11px;color:#aaa;margin-bottom:4px}
.customer-service strong{display:block;font-size:14px;color:#c8a96e}
.customer-stats{padding-top:8px}
.customer-status-card{margin:8px 12px 0;background:#fff;border-radius:12px;padding:10px 0 0;overflow:hidden}
.customer-tabs{margin-top:8px;background:#fff}
.customer-pane{padding-bottom:8px}
.customer-stock-list,.customer-tx-list{border-radius:12px}
.customer-stock-row{display:flex;align-items:center;justify-content:space-between;gap:10px}
.customer-stock-main{min-width:0;flex:1}
.customer-stock-qty{width:52px;text-align:right;color:#1a2744;flex-shrink:0}
.customer-stock-qty strong{display:block;font-size:22px;line-height:1}
.customer-stock-qty span{display:block;font-size:11px;color:#999;margin-top:4px}
.customer-tx-row{cursor:pointer}
.customer-tx-row.on{background:#f8fafc}
.customer-tx-detail{padding:8px;background:#f6f7fb}
.customer-service-list{background:#fff;border-radius:12px;overflow:hidden}
.customer-info-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 14px;border-bottom:1px solid #f3f3f3;font-size:13px}
.customer-info-row span{color:#999}
.customer-info-row strong{color:#1a2744;text-align:right}
.customer-agreement-link{display:block;width:auto;margin:12px 14px 14px;text-align:center;text-decoration:none}
.customer-empty{background:#fff;border-radius:12px}

.customer-action-row{display:grid;grid-template-columns:20% minmax(0,1fr);gap:8px;align-items:stretch}
.customer-action-row .readonly-note{grid-column:1 / -1}
.customer-flow-actions{display:grid;grid-template-rows:1fr 1fr;gap:8px;min-height:92px}
.customer-flow-actions .action-btn{min-width:0;width:100%;padding:8px 4px;font-size:14px}
.customer-box-strip{min-width:0;background:#fff;border-radius:10px;padding:8px;min-height:92px;display:grid;grid-template-rows:1fr auto auto;gap:6px}
.box-strip-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-content:flex-start;align-items:start;gap:7px 8px;max-height:62px;overflow:visible;padding:2px 4px 0 0}
.box-strip-chip{position:relative;display:flex;align-items:center;justify-content:center;border:0;border-radius:999px;background:#f4f1ea;color:#7d6334;padding:5px 9px;font-size:12px;font-weight:800;max-width:100%;min-width:0;white-space:nowrap}
.box-strip-chip-label{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis}
.box-strip-chip.editing{padding-right:26px;background:#fff8ec;border:1px solid #e9cf98}
.box-delete-x{position:absolute;right:-7px;top:-8px;width:24px;height:24px;border-radius:50%;background:#e54848;color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:16px;font-weight:900;line-height:1;z-index:2;box-shadow:0 2px 4px rgba(0,0,0,.12)}
.box-strip-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.box-strip-actions.single{grid-template-columns:1fr}
.box-strip-add{height:28px;border:1px dashed #c8a96e;border-radius:8px;background:#fffaf0;color:#8a6b31;font-size:12px;font-weight:900}
.box-strip-pager{display:flex;align-items:center;justify-content:center;gap:8px;color:#8c94a3;font-size:11px;font-weight:800;line-height:1}
.box-strip-pager button{height:22px;border:0;border-radius:999px;background:#eef2f7;color:#687084;padding:0 8px;font-size:11px;font-weight:800}
.box-strip-pager button:disabled{opacity:.42}
.box-strip-empty{color:#aaa;font-size:12px;align-self:center}
.box-strip-edit{height:28px;border:0;border-radius:8px;background:#1a2744;color:#fff;font-size:12px;font-weight:900;text-align:center;box-shadow:0 1px 2px rgba(15,23,42,.12)}
.customer-export-row{flex-wrap:wrap}
.customer-export-row .action-btn{min-width:calc(50% - 5px)}
.stock-import-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.stock-import-actions .btn-full{margin-top:0}
.box-summary-inline{grid-column:1 / -1;display:flex;gap:6px;flex-wrap:wrap;margin-top:12px;padding-top:12px;border-top:1px solid #f0f1f5}
.box-chip.small{display:inline-flex;align-items:center;gap:5px;border-radius:999px;background:#f4f1ea;color:#7d6334;padding:5px 8px;font-size:12px;font-weight:700}
.box-chip.small.empty{background:#eef2f7;color:#8c94a3}
.box-chip.small strong{color:#172440}
.view-switch.compact{display:grid;grid-template-columns:1fr 1fr;background:#fff;border-radius:10px;padding:4px;margin:8px 12px}
.view-switch.compact button{height:38px;border:0;border-radius:8px;background:transparent;color:#8c94a3;font-weight:800}
.view-switch.compact button.on{background:#1a2744;color:#fff}
.box-wrow{display:grid;grid-template-columns:minmax(0,1fr) 122px;gap:8px;align-items:start}
.box-wine-main{min-width:0}
.box-wine-side{display:flex;flex-direction:column;gap:6px}
.stock-adjust-btn{border:1px solid #d9dde6;background:#fff;color:#1a2744;border-radius:999px;padding:3px 8px;font-size:11px;font-weight:800}
.stock-adjust-btn:active{background:#eef2f7}
.batch-box-card{border:1px solid #eef0f5;border-radius:10px;padding:6px;background:#fbfcff}
.batch-box-card.locked{background:#f2f3f6;border-color:#e2e5eb;color:#8c94a3}
.batch-box-head{font-size:11px;font-weight:800;color:#8c94a3;margin-bottom:5px;display:flex;justify-content:space-between;gap:4px}
.mini-allocation{display:grid;grid-template-columns:minmax(0,1fr) 34px 22px;gap:3px;align-items:center;margin-top:4px}
.mini-allocation select,.mini-allocation input{min-width:0;height:27px;border:1px solid #dfe3ea;border-radius:7px;background:#fff;color:#1a2744;font-size:11px;font-weight:700;padding:0 4px}
.mini-allocation input{text-align:center}
.mini-allocation button{width:22px;height:22px;border:0;border-radius:50%;background:#fff1f1;color:#cf3131;font-size:13px;line-height:1}
.mini-allocation-readonly{display:flex;justify-content:space-between;gap:6px;font-size:12px;color:#1a2744;background:#fff;border-radius:7px;padding:5px;margin-top:4px}
.batch-box-card.locked .mini-allocation-readonly{background:#e8ebf0;color:#6f7785}
.batch-box-actions{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin-top:5px}
.mini-add-box,.mini-finish-box,.mini-lock-box{width:100%;height:28px;border-radius:8px;font-size:11px;font-weight:900}
.mini-add-box{border:1px dashed #c8a96e;background:#fffaf0;color:#8a6b31}
.mini-finish-box{border:1px solid #1a2744;background:#1a2744;color:#fff}
.mini-lock-box{grid-column:1 / -1;border:1px solid #d9dde6;background:#fff;color:#1a2744}
.warea-tag.warn{background:#fff2e0;color:#a15b00}
.box-view-list{margin:8px 12px}
.box-view-card{background:#fff;border-radius:10px;overflow:hidden;margin-bottom:8px}
.box-view-title{display:flex;justify-content:space-between;gap:8px;padding:12px;font-size:16px;font-weight:900;color:#1a2744;border-bottom:1px solid #f0f1f5}
.box-view-title span{color:#8c94a3;font-size:13px}
.box-view-item{display:flex;justify-content:space-between;gap:10px;padding:10px 12px;border-bottom:1px solid #f6f7fa}
.box-view-item:last-child{border-bottom:0}
.box-view-item div{min-width:0}
.box-view-item strong{display:block;color:#1a2744;font-size:13px;line-height:1.35}
.box-view-item small{display:block;color:#9aa0ad;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.box-view-item span{white-space:nowrap;font-weight:800;color:#1a2744}
.box-view-item .wname-cn{font-size:13px}
.box-view-item .wname-en{white-space:normal}
.box-view-item .wine-badges span,
.tx-inline-item-rich .wine-badges span{display:inline-flex;white-space:nowrap;color:#697386;font-size:10px;font-weight:800}





