*{box-sizing:border-box}body{margin:0;background:#f6f8fb;color:#1f2937;font:14px Arial,"Microsoft YaHei",sans-serif}.layout{display:flex;min-height:100vh}aside{width:220px;background:#fff;border-right:1px solid #e5e7eb;padding:22px 14px;display:flex;flex-direction:column}.brand{display:flex;gap:10px;align-items:center;padding:4px 12px 28px;font-size:18px}.brand small{display:block;font-size:11px;color:#9aa4b2}.logo{width:36px;height:36px;border-radius:11px;background:#e94b65;color:#fff;display:grid;place-items:center;font-weight:800;font-size:22px}.nav{width:100%;border:0;background:transparent;text-align:left;padding:12px 16px;border-radius:9px;color:#64748b;cursor:pointer;margin:2px 0}.nav.active,.nav:hover{background:#fff0f2;color:#e94b65;font-weight:600}main{flex:1;padding:30px 42px;max-width:1500px}header{display:flex;justify-content:space-between;margin-bottom:25px}h1{margin:0 0 4px}.panel{background:#fff;border:1px solid #e5e7eb;border-radius:11px;padding:20px;margin-bottom:18px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:18px}.stat{background:#fff;border:1px solid #e5e7eb;border-radius:11px;padding:18px;color:#718096}.stat strong{display:block;font-size:28px;color:#111;margin-top:8px}.grid.two{display:grid;grid-template-columns:1fr 1fr;gap:18px}.toolbar{display:flex;gap:10px;margin:12px 0}.btn{border:0;border-radius:7px;padding:9px 15px;cursor:pointer}.btn.primary{background:#e94b65;color:#fff}.btn.ghost{background:#fff;border:1px solid #e5e7eb;color:#596579}.pill{border-radius:20px;padding:5px 12px;font-size:12px}.pill.green{background:#e9f8ef;color:#198754}.pill.gray{background:#eef2f7;color:#718096}.pill.orange{background:#fff6e5;color:#b7791f}.pill.red{background:#fff0f1;color:#d73850}.license-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.license-grid span{background:#f8fafc;padding:12px;border-radius:8px}.quota-banner{padding:10px;background:#eff6ff;color:#1d4ed8;border-radius:8px;margin-bottom:15px}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:12px 10px;border-bottom:1px solid #edf0f4}.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}.item-card{background:#fff;border:1px solid #e5e7eb;border-radius:11px;padding:18px}.tags{display:flex;gap:6px;flex-wrap:wrap}.tag{background:#f1f4f8;padding:3px 8px;border-radius:5px}.hidden{display:none!important}.modal{position:fixed;inset:0;background:#0005;display:grid;place-items:center;z-index:5}.modal-box{width:min(560px,calc(100vw - 30px));background:#fff;border-radius:12px}.modal-head,.modal-foot{padding:16px 20px;border-bottom:1px solid #eee;display:flex;justify-content:space-between}.modal-foot{border-top:1px solid #eee;border-bottom:0;justify-content:flex-end;gap:8px}form{padding:20px}.field{margin-bottom:14px}.field label{display:block;margin-bottom:6px}.field input,.field textarea{width:100%;padding:9px;border:1px solid #dce2ea;border-radius:6px;font:inherit}#toast{position:fixed;right:25px;bottom:25px;background:#202b3c;color:#fff;padding:11px 17px;border-radius:7px;opacity:0}#toast.show{opacity:1}.btn.danger{color:#e94b65;border-color:#ffd0d8}.muted{color:#718096;font-size:12px;margin-top:5px}.item-head{display:flex;justify-content:space-between;align-items:center;gap:10px}.item-head h3{margin:0}.card-cover{width:100%;height:210px;object-fit:contain;border-radius:8px;margin:12px 0;background:#f6f8fb}.switch-row{display:flex;gap:18px;flex-wrap:wrap;padding:12px;background:#f8fafc;border-radius:8px;margin-bottom:15px}.switch-row label{display:flex;gap:6px;align-items:center}.grid-two{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.reply-block{border:1px solid #e5e7eb;border-radius:8px;padding:12px;margin:12px 0;background:#fff}.reply-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}
.card-editor{display:grid;grid-template-columns:minmax(560px,1fr) 430px;gap:34px;align-items:start}.card-inputs{min-width:0}.card-notice{display:flex;flex-direction:column;gap:4px;padding:12px 14px;border-radius:9px}.form-section{border:1px solid #e7ebf1;border-radius:10px;padding:18px 18px 4px;margin-bottom:16px;background:#fff}.form-section-title{display:flex;align-items:baseline;justify-content:space-between;gap:14px;margin-bottom:16px}.form-section-title b{font-size:15px;color:#1f2937}.form-section-title span{font-size:12px;color:#8a94a4;text-align:right}.field label em{font-style:normal;color:#e94b65}.input-prefix{display:flex;border:1px solid #dce2ea;border-radius:6px;overflow:hidden;background:#fff}.input-prefix:focus-within{border-color:#e94b65;box-shadow:0 0 0 3px #e94b6517}.input-prefix span{display:flex;align-items:center;padding:0 10px;background:#f8fafc;color:#e94b65;border-right:1px solid #e5e7eb}.input-prefix input{border:0!important;border-radius:0!important;box-shadow:none!important}.advanced-card{border:1px solid #e7ebf1;border-radius:10px;margin:0;background:#fff;overflow:hidden}.advanced-card summary{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;cursor:pointer}.advanced-card summary small{color:#8a94a4}.advanced-card textarea{width:calc(100% - 32px);min-height:210px;margin:0 16px 16px;padding:12px;border:1px solid #dce2ea;border-radius:7px;resize:vertical;font:12px/1.55 Consolas,monospace}.advanced-tip{margin:0 16px 10px;color:#718096;font-size:12px}.card-preview-wrap{position:sticky;top:18px;border-left:1px solid #e5e7eb;padding-left:34px;min-width:0}.preview-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.preview-heading b{display:block;font-size:15px}.preview-heading div span{display:block;color:#8a94a4;font-size:12px;margin-top:3px}.protocol-badge{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:#fff0f2;color:#e94b65;font-weight:700}.card-preview{background:#fff;border:1px solid #dfe3e9;border-radius:12px;overflow:hidden;box-shadow:0 12px 28px #1f293712}.preview-img{width:100%;height:280px;object-fit:contain;display:block;background:#f3f4f6}.preview-placeholder{height:240px;background:linear-gradient(145deg,#fff1f3,#f8fafc);color:#d85269;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:8px}.preview-placeholder span{font-size:22px;font-weight:700}.preview-placeholder small{color:#9aa4b2}.preview-body{padding:18px}.preview-title{display:block;font-size:17px;line-height:1.45;color:#16181d}.preview-desc{font-size:13px;color:#7b8492;margin-top:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.preview-price-row{display:flex;align-items:baseline;gap:3px;color:#ff2442;margin-top:13px}.preview-price-row strong{font-size:24px}.preview-price-row small{margin-left:9px;color:#767e8b;font-size:13px}.preview-price-symbol{font-size:13px}.preview-shop{display:flex;align-items:center;gap:8px;font-size:13px;color:#656d78;margin-top:13px}.preview-avatar{width:24px;height:24px;border-radius:50%;object-fit:cover}.preview-avatar.fallback{display:grid;place-items:center;background:#eef2f7;color:#8a94a4;font-size:10px}.preview-link{font-size:12px;color:#a0a7b1;margin-top:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.preview-ok{display:flex;align-items:center;gap:7px;margin-top:12px;color:#248a52;font-size:12px}.preview-ok span{width:7px;height:7px;border-radius:50%;background:#35b66f;box-shadow:0 0 0 4px #35b66f1c}.preview-hint{color:#98a1ad;font-size:11px;line-height:1.5}.notice{background:#fff8f8;border:1px solid #ffcaca;padding:10px;border-radius:5px;font-size:12px;margin-bottom:12px}details{margin:12px 0}details textarea{width:100%;min-height:120px;margin-top:8px}
.preview-avatar{width:22px;height:22px;border-radius:50%;object-fit:cover;vertical-align:middle;margin-right:6px}.preview-desc{font-size:12px;color:#666;margin-top:7px}.preview-link{font-size:11px;color:#999;margin-top:5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.log-content{max-width:520px;min-width:260px;word-break:break-word;white-space:normal;line-height:1.45}.log-time{white-space:nowrap;color:#657084;font-size:12px}.log-kind{display:inline-flex;align-items:center;padding:4px 9px;border-radius:999px;background:#eef2f7;color:#627086;font-size:12px}.log-kind.success{background:#e9f8ef;color:#198754}.log-kind.error{background:#fff0f1;color:#d73850}.log-kind.receive{background:#fff6e5;color:#a66a08}.log-target{font-size:12px;color:#596579}.log-target.group{color:#8b5cf6;font-weight:600}.log-raw{margin-top:7px}.log-raw summary{cursor:pointer;color:#6f7d91;font-size:11px}.log-raw pre{max-height:220px;overflow:auto;margin:6px 0 0;padding:10px;border-radius:7px;background:#172033;color:#dbeafe;white-space:pre-wrap;word-break:break-all;font:11px/1.45 Consolas,monospace}
.log-account{display:flex;align-items:center;gap:9px;min-width:165px}.log-account-avatar{width:34px;height:34px;flex:0 0 34px;border-radius:50%;object-fit:cover;background:#fff0f2;color:#d91636;display:grid;place-items:center;font-size:12px;font-weight:700}.log-account-avatar.fallback{background:#fff0f2}.log-account-copy{min-width:0}.log-account-copy b{display:block;max-width:125px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.log-account-copy span{display:block;margin-top:3px;color:#8c9199;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.log-event-summary{display:flex;flex-direction:column;gap:4px;max-width:520px}.log-event-title{font-weight:700;font-size:12px;color:#30343a}.log-event-text{color:#505762;font-size:12px;line-height:1.5;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;word-break:break-word}.log-event-summary>.muted{font-size:11px}.log-panel{overflow:auto}.log-panel table{min-width:980px}.log-panel th:nth-child(1){width:145px}.log-panel th:nth-child(2){width:190px}.log-panel th:nth-child(3){width:110px}.log-panel th:nth-child(4){width:155px}.log-panel th:nth-child(6){width:88px}
.qr-login{text-align:center;padding:6px 20px 22px}.qr-frame{width:286px;height:286px;margin:8px auto 18px;border:1px solid #e5e7eb;border-radius:14px;background:#fafafa;display:grid;place-items:center;overflow:hidden}.qr-frame img{width:100%;height:100%;object-fit:contain}.qr-loading{color:#718096}.qr-login b{display:block;font-size:17px;margin-bottom:8px}.qr-actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}.qr-login .btn{margin-top:10px}
.qr-sms-verification{max-width:430px;margin:16px auto 4px;padding:16px;border:1px solid #e5e7eb;border-radius:8px;background:#fff;text-align:left}.qr-sms-title{font-size:15px;font-weight:700;color:#111827}.qr-sms-receiver{margin-top:5px;font-size:13px;color:#6b7280}.qr-sms-controls{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px;align-items:center;margin-top:12px}.qr-sms-controls input{width:100%;height:40px;padding:0 12px;border:1px solid #d1d5db;border-radius:6px;font-size:15px;letter-spacing:0}.qr-sms-controls .btn{height:40px;margin-top:0;white-space:nowrap}@media(max-width:620px){.qr-sms-controls{grid-template-columns:1fr 1fr}.qr-sms-controls input{grid-column:1/-1}}
.qr-security-verification{max-width:430px;margin:16px auto 4px;padding:13px 14px;border:1px solid #e5e7eb;border-radius:8px;background:#fff;text-align:left;align-items:center;justify-content:space-between;gap:16px}.qr-security-verification>div{min-width:0}.qr-security-verification b{margin:0;color:#111827;font-size:14px}.qr-security-verification span{display:block;margin-top:4px;color:#6b7280;font-size:12px;line-height:1.5}.qr-security-verification .btn{flex:0 0 auto;margin:0;white-space:nowrap}@media(max-width:620px){.qr-login{padding-left:8px;padding-right:8px}.qr-frame{width:min(286px,calc(100vw - 72px));height:min(286px,calc(100vw - 72px))}.qr-security-verification{align-items:stretch;flex-direction:column;gap:10px}.qr-security-verification .btn{width:100%;justify-content:center}}
@media(max-width:900px){.card-editor{grid-template-columns:1fr}.card-preview-wrap{position:static;border-left:0;border-top:1px solid #e5e7eb;padding:22px 0 0;max-width:420px}.form-section-title{align-items:flex-start;flex-direction:column}.form-section-title span{text-align:left}}@media(max-width:760px){aside{width:76px}.brand div,.nav{font-size:0}.nav:before{font-size:13px;content:attr(data-page)}main{padding:18px}.stats{grid-template-columns:1fr 1fr}.grid.two,.grid-two,.card-editor{grid-template-columns:1fr}.card-preview-wrap{border-left:0;padding-left:0}.toolbar{flex-wrap:wrap}table{display:block;overflow-x:auto}}
.field select,.toolbar select,.search-box input,.search-box select{width:100%;padding:9px;border:1px solid #dce2ea;border-radius:6px;background:#fff;font:inherit}.account-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.search-box{display:flex;gap:8px;min-width:min(480px,100%)}.search-box input{min-width:260px}.search-box select{width:140px}.account-actions{display:flex;gap:6px;flex-wrap:wrap}.account-meta{display:flex;align-items:center;gap:10px}.account-avatar{width:38px;height:38px;border-radius:50%;background:#fff0f2;color:#e94b65;display:grid;place-items:center;font-weight:700}.account-avatar-img{object-fit:cover;display:block}.account-name{font-size:15px}.toolbar select{width:auto;min-width:130px}.modal-box.wide{width:min(1180px,calc(100vw - 36px));max-height:calc(100vh - 30px);overflow:auto}.diag-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.diag-card{background:#f8fafc;border-radius:8px;padding:12px}.diag-card b{display:block;margin-bottom:6px}.diag-json{max-height:280px;overflow:auto;background:#172033;color:#dbeafe;border-radius:8px;padding:12px;white-space:pre-wrap;word-break:break-all;font:12px Consolas,monospace}.log-list{display:grid;gap:8px;max-height:420px;overflow:auto}.log-entry{border:1px solid #edf0f4;border-radius:8px;padding:10px}.log-entry-head{display:flex;justify-content:space-between;gap:10px}.proxy-panel{max-width:850px}.proxy-panel form{padding:8px 0 0}.notice.success{background:#effaf3;border-color:#bde8ca;color:#187542}.notice.error{background:#fff2f2;border-color:#ffcaca;color:#b42332}.status-detail{max-width:260px;word-break:break-word}
.goods-card-admin{display:flex;flex-direction:column;min-width:0}.goods-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.goods-card-head h3{margin:0 0 8px;font-size:18px}.protocol-tag{color:#d9425c;background:#fff0f2}.empty-cover{display:grid;place-items:center;background:#f6f8fb;color:#98a1ad}.goods-price-line{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:4px 0 14px}.goods-price-line span{color:#ff2442}.goods-price-line strong{font-size:22px}.goods-price-line em{font-style:normal;color:#687180;font-size:12px;text-align:right}.goods-meta{display:grid;gap:9px;margin:0}.goods-meta div{display:grid;grid-template-columns:72px minmax(0,1fr);gap:10px;border-top:1px solid #f0f2f5;padding-top:9px}.goods-meta dt{color:#8a94a4}.goods-meta dd{margin:0;min-width:0;color:#424b59}.link-value{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.safe-text{color:#248a52!important}.warn-text{color:#b7791f!important}.card-actions{margin-top:auto;padding-top:12px}
@media(max-width:760px){.diag-grid{grid-template-columns:1fr}.search-box{min-width:100%;flex-wrap:wrap}.search-box input,.search-box select{min-width:100%;width:100%}}
.card-editor>.card-preview-wrap{width:100%;padding:0 0 0 34px;background:transparent}
.dot-chat-preview{border:0;box-shadow:none;background:#fff;padding:28px 12px;overflow:visible}.dot-chat-row{display:flex;align-items:center;gap:10px;max-width:360px;margin:0 auto}.dot-chat-image{width:116px;height:116px;object-fit:cover;flex:0 0 116px}.dot-chat-placeholder{display:grid;place-items:center;background:linear-gradient(180deg,#e8fffb,#9be8da);color:#fff;font-weight:700;font-size:14px}.dot-chat-bubble{position:relative;background:#f3f3f3;border-radius:0 15px 15px 15px;padding:15px 16px;min-width:0;flex:1;color:#333}.dot-chat-bubble:before{content:"";position:absolute;left:-10px;top:0;border-top:10px solid #f3f3f3;border-left:10px solid transparent}.dot-chat-bubble b{display:block;font-size:18px;line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dot-chat-bubble span{display:block;color:#888;font-size:14px;line-height:1.5;margin-top:7px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.dot-chat-avatar{width:34px;height:34px;border-radius:50%;object-fit:cover;align-self:flex-start}
@media(max-width:900px){.card-editor>.card-preview-wrap{width:100%;padding:22px 0 0}}

.grid-three{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}@media(max-width:760px){.grid-three{grid-template-columns:1fr}}

.account-profile-preview{display:flex;align-items:center;gap:12px;padding:12px;background:#f8fafc;border-radius:9px;margin-bottom:14px}.profile-avatar-large,.profile-avatar-fallback{width:48px;height:48px;border-radius:50%;object-fit:cover;display:grid;place-items:center;background:#fff0f2;color:#e94b65;font-weight:700}.remove-reply{margin-left:auto;padding:4px 9px}.reply-head{display:flex;align-items:center;justify-content:space-between}
.modal-box.card-compose-modal{width:min(820px,calc(100vw - 30px));max-height:calc(100vh - 30px);overflow:auto}.card-compose-modal form{padding:14px 16px}.compact-card-editor{display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:18px;align-items:start}.compact-card-inputs{padding-right:18px;border-right:1px solid #e5e7eb}.compact-card-note{padding:9px 11px;margin-bottom:12px;border:1px solid #ffcbd3;border-radius:5px;background:#fff8f9;color:#667085;font-size:12px}.compact-card-editor .field{margin-bottom:10px}.compact-card-editor .field label{margin-bottom:4px;font-size:12px}.compact-card-editor .field input{padding:7px 9px}.compact-grid{gap:9px}.compact-advanced{margin:4px 0 0}.compact-advanced summary{font-size:12px;cursor:pointer}.compact-advanced textarea{min-height:100px}.compact-card-preview{position:sticky;top:0;min-width:0}.compact-preview-title{margin-bottom:9px;color:#475467;font-size:12px}.compact-preview-card{border-radius:6px;box-shadow:0 5px 14px #1f293715}.compact-preview-card .preview-img{height:205px}.compact-preview-card .preview-placeholder{height:205px}.compact-preview-card .preview-body{padding:10px}.compact-preview-card .preview-title{font-size:13px}.compact-preview-card .preview-price-row{margin-top:8px}.compact-preview-card .preview-price-row strong{font-size:18px}.compact-preview-card .preview-shop{margin-top:8px}.modal-box.dot-compose-modal{width:min(440px,calc(100vw - 24px))}.dot-compose-modal form{padding:16px}.dot-card-simple .field{margin-bottom:12px}.dot-card-simple textarea{min-height:72px;resize:vertical}.dot-compose-modal .modal-head,.dot-compose-modal .modal-foot{padding:13px 16px}
@media(max-width:720px){.compact-card-editor{grid-template-columns:1fr}.compact-card-inputs{padding-right:0;border-right:0}.compact-card-preview{position:static;border-top:1px solid #e5e7eb;padding-top:14px;max-width:280px}}

/* Workspace UI 20260808 */
:root{--accent:#ff2442;--accent-strong:#df1735;--accent-soft:#fff1f3;--text:#202124;--muted:#7b8089;--line:#e5e7eb;--surface:#fff;--canvas:#f5f6f8;--success:#15966b;--warning:#a66a00;--danger:#cf2440;--shadow:0 10px 30px rgba(31,41,55,.12)}
body{background:var(--canvas);color:var(--text);font:14px/1.45 "Microsoft YaHei","PingFang SC",Arial,sans-serif;letter-spacing:0;overflow:hidden}
.layout{height:100vh;min-height:0;background:var(--canvas)}
.app-sidebar{width:196px;flex:0 0 196px;height:100vh;padding:0;background:#fff;border-right:1px solid var(--line);overflow:hidden}
.brand{height:64px;padding:0 18px;gap:10px;border-bottom:1px solid var(--line);font-size:16px}
.brand b{font-size:16px}.brand small{font-size:9px;margin-top:2px;color:#9499a2;text-transform:uppercase;letter-spacing:.2px}.logo{width:32px;height:32px;border-radius:8px;background:var(--accent);font-size:14px;display:grid;place-items:center;color:#fff;font-weight:800}
.app-sidebar nav{padding:14px 10px}.nav{height:40px;padding:0 11px;margin:3px 0;border-radius:6px;display:flex;align-items:center;gap:10px;color:#666b74;font-size:13px;transition:background .15s,color .15s}.nav:hover{background:#f7f8fa;color:#30343a}.nav.active{background:var(--accent-soft);color:var(--accent-strong);font-weight:700}.nav-icon{width:16px;height:16px;stroke-width:1.8;flex:0 0 16px}.btn-icon{width:14px;height:14px;stroke-width:1.9;flex:0 0 14px}.btn.primary .btn-icon{stroke-width:2.1}
.sidebar-status{margin-top:auto;height:48px;padding:0 16px;border-top:1px solid var(--line);display:flex;align-items:center;gap:8px;color:#727780;font-size:11px}.status-dot{width:7px;height:7px;border-radius:50%;background:#1bae7a;box-shadow:0 0 0 3px #def7ed}
.app-main{max-width:none;height:100vh;min-width:0;padding:0;overflow:hidden;display:flex;flex-direction:column}
.app-header{height:64px;flex:0 0 64px;margin:0;padding:0 22px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}.app-header h1{font-size:19px;line-height:1.2;margin:0}.app-header p{font-size:11px;color:#8a8f98;margin:4px 0 0}.header-actions{display:flex;align-items:center;gap:9px}
.page{padding:20px 24px;min-height:0;overflow:auto}.page:not(.hidden){display:block;flex:1}.workspace-page:not(.hidden){display:flex;flex-direction:column;padding:0;overflow:hidden}
h2,h3{letter-spacing:0}.page-toolbar{min-height:58px;margin-bottom:16px;display:flex;align-items:center;justify-content:space-between;gap:16px}.page-toolbar h2{font-size:16px;margin:0}.page-toolbar span{display:block;font-size:11px;color:#8a8f98;margin-top:3px}
.btn{min-height:36px;padding:0 13px;border:1px solid #d9dce2;border-radius:6px;background:#fff;color:#3b3f46;display:inline-flex;align-items:center;justify-content:center;gap:6px;font-size:12px;font-weight:500;line-height:1;white-space:nowrap;transition:border-color .15s,background .15s,color .15s,box-shadow .15s,transform .1s}.btn:hover{border-color:#bfc4cc;background:#fafbfc}.btn:active{transform:translateY(1px)}.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:700;box-shadow:0 3px 8px rgba(255,36,66,.18)}.btn.primary:hover{background:var(--accent-strong);border-color:var(--accent-strong)}.btn.ghost{background:#fff;border-color:#d9dce2;color:#4a4f57}.btn.soft{background:var(--accent-soft);border-color:#ffd8df;color:var(--accent-strong)}.btn.danger,.btn.ghost.danger{background:#fff;color:var(--danger);border-color:#f0c7cf}.btn.danger:hover,.btn.ghost.danger:hover{background:#fff4f5;border-color:#eaa9b5}.btn.compact{min-height:30px;padding:0 10px;font-size:11px}.btn-symbol{font-size:15px;line-height:1;font-weight:400}.icon-button{width:32px;height:32px;padding:0;border:1px solid transparent;border-radius:6px;background:transparent;color:#777c85;font-size:20px;display:grid;place-items:center;cursor:pointer}.icon-button:hover{background:#f2f3f5;color:#33373d}.icon-button.danger{color:var(--danger)}
.toolbar{display:flex;align-items:center;gap:8px;margin:0}.panel{border:1px solid var(--line);border-radius:7px;padding:16px;margin-bottom:16px;box-shadow:none}.stats{gap:12px;margin-bottom:16px}.stat{border:1px solid var(--line);border-radius:7px;padding:16px}.stat strong{font-size:24px}.license-grid{gap:1px;border:1px solid var(--line);border-radius:7px;overflow:hidden;background:var(--line)}.license-grid span{border-radius:0;background:#fff;padding:13px}.license-grid b{display:block;margin-top:6px;color:#24272c;font-size:18px}.quota-banner{margin:0;border-radius:0;border:0;border-bottom:1px solid var(--line);background:#fafbfc;color:#6f747d;padding:8px 18px;font-size:11px}
.pill{min-height:24px;padding:3px 9px;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;font-size:11px}.pill.green{background:#eaf8f2;color:#14825c}.pill.gray{background:#f0f1f3;color:#777c85}.pill.orange{background:#fff5dc;color:var(--warning)}.pill.red{background:#fff0f2;color:var(--danger)}
.workspace-toolbar{height:58px;flex:0 0 58px;padding:0 16px;border-bottom:1px solid var(--line);background:#fff;display:flex;align-items:center;justify-content:space-between;gap:14px}.search-box{display:flex;align-items:center;gap:8px;min-width:0}.search-box input,.search-box select,.field input,.field textarea,.field select,.toolbar select{border:1px solid #dce0e5;border-radius:5px;background:#fff;color:#30343a;font:inherit;outline:0;transition:border-color .15s,box-shadow .15s}.search-box input{width:220px;min-width:0;height:34px;padding:0 10px}.search-box select{width:120px;height:34px;padding:0 9px}.field input,.field select{height:36px;padding:0 10px}.field textarea{min-height:82px;padding:9px 10px;resize:vertical}.field input:focus,.field textarea:focus,.field select:focus,.search-box input:focus,.search-box select:focus{border-color:#ff8da0;box-shadow:0 0 0 3px rgba(255,36,66,.08)}.field label{font-size:11px;color:#6c717a;margin-bottom:6px}.field{margin-bottom:12px}
.account-workspace{display:grid;grid-template-columns:minmax(700px,56%) minmax(500px,44%);flex:1;min-height:0;background:#fff}.workspace-browser-column{display:grid;grid-template-columns:minmax(270px,38%) minmax(370px,62%);min-width:0;min-height:0;border-right:1px solid var(--line)}.workspace-column,.workspace-editor-column{min-width:0;min-height:0;border-right:1px solid var(--line);display:flex;flex-direction:column;background:#fff}.workspace-editor-column{border-right:0;background:#f7f8fa}.workspace-column-head,.workspace-editor-head{height:58px;flex:0 0 58px;padding:0 14px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:10px}.workspace-column-head h3,.workspace-editor-head h3{font-size:13px;margin:0}.workspace-column-head span,.workspace-editor-head span{display:block;margin-top:3px;color:#92969e;font-size:10px}.workspace-account-list,.workspace-rule-list,.workspace-rule-editor{min-height:0;overflow:auto}.workspace-account-list{padding:9px}.workspace-account-item{width:100%;height:68px;border:0;border-radius:6px;background:#fff;padding:0 9px;display:flex;align-items:center;gap:9px;text-align:left;color:inherit;cursor:pointer}.workspace-account-item:hover{background:#f7f8fa}.workspace-account-item.active{background:var(--accent-soft)}.workspace-account-item .account-avatar{width:34px;height:34px;flex:0 0 34px;font-size:12px}.workspace-account-copy{min-width:0}.workspace-account-copy b{display:block;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.workspace-account-copy span{display:block;color:#9398a1;font-size:10px;margin-top:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.workspace-account-state{margin-left:auto;width:7px;height:7px;border-radius:50%;background:#b9bec6}.workspace-account-state.online{background:#20a978}.workspace-account-state.error{background:#e4a11b}.workspace-head-account-actions{display:inline-flex;align-items:center;gap:5px;margin-right:4px}.workspace-head-account-actions .btn{padding:5px 8px;font-size:11px}.workspace-editor-column>.workspace-rule-list{max-height:190px;border-bottom:1px solid var(--line);background:#fff}.workspace-editor-column>.workspace-rule-editor{flex:1;height:auto}
.workspace-tabs{height:46px;flex:0 0 46px;padding:0 12px;border-bottom:1px solid var(--line);display:flex;align-items:stretch;gap:18px}.workspace-tab{padding:0;border:0;background:transparent;color:#777c85;font-size:11px;position:relative;cursor:pointer}.workspace-tab.active{color:var(--accent-strong);font-weight:700}.workspace-tab.active:after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--accent)}.workspace-rule-list{padding:11px}.workspace-rule-card{width:100%;border:1px solid #e1e4e8;border-radius:6px;background:#fff;padding:12px;margin-bottom:9px;text-align:left;color:inherit;cursor:pointer;position:relative}.workspace-rule-card:hover{border-color:#cfd3d9}.workspace-rule-card.active{border-color:#ffb4c0;box-shadow:inset 3px 0 var(--accent)}.workspace-rule-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.workspace-rule-top b{font-size:12px}.workspace-rule-toggle{width:34px;height:18px;border:0;border-radius:9px;background:#d6dae0;padding:0;position:relative;cursor:pointer}.workspace-rule-toggle:after{content:"";position:absolute;top:2px;left:2px;width:14px;height:14px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.2)}.workspace-rule-toggle.on{background:var(--accent)}.workspace-rule-toggle.on:after{left:18px}.workspace-rule-keywords{display:inline-block;max-width:100%;margin-top:9px;padding:4px 6px;border-radius:4px;background:#f2f3f5;color:#666b74;font-size:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.workspace-rule-flow{display:flex;align-items:center;gap:5px;margin-top:10px;color:#9a9fa7;font-size:9px}.workspace-flow-chip{padding:3px 5px;border:1px solid #e3e6ea;border-radius:4px;background:#fafbfc;color:#656a73}.workspace-rule-empty,.workspace-empty{padding:34px 22px;text-align:center;color:#8c9199}.workspace-empty{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center}.workspace-empty b{color:#44484f;font-size:13px}.workspace-empty span,.workspace-rule-empty span{display:block;margin:7px auto 14px;max-width:300px;font-size:11px;line-height:1.6}
.workspace-rule-editor{height:100%;padding:14px 16px 76px}.workspace-rule-editor form{padding:0}.workspace-form-section{margin-bottom:12px;border:1px solid #e2e5e9;border-radius:6px;background:#fff;overflow:hidden}.workspace-form-title{height:42px;padding:0 12px;border-bottom:1px solid #eceef1;display:flex;align-items:center;justify-content:space-between;font-size:12px;font-weight:700}.workspace-form-body{padding:12px}.workspace-editor-actions{position:absolute;left:0;right:0;bottom:0;height:62px;padding:0 16px;border-top:1px solid var(--line);background:#fff;display:flex;align-items:center;justify-content:space-between;z-index:2}.workspace-editor-column{position:relative}.workspace-editor-actions span{font-size:10px;color:#8d929a}.workspace-editor-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.workspace-editor-grid.three{grid-template-columns:1fr 1fr 1fr}.workspace-rule-editor .switch-row{margin:0;padding:10px;border-radius:5px;background:#f8f9fa;gap:14px}.workspace-rule-editor .reply-block{margin:0 0 9px;padding:10px;border:1px solid #e2e5e9;border-radius:5px;background:#fff}.workspace-rule-editor .reply-head{height:28px;margin:0 0 7px}.workspace-rule-editor .reply-head b{font-size:11px}.workspace-rule-editor .reply-fields{display:grid;grid-template-columns:120px minmax(0,1fr) 110px;gap:8px;align-items:start}.workspace-rule-editor .reply-fields .field{margin:0}.workspace-rule-editor .reply-fields textarea{min-height:36px;height:36px;resize:none}.workspace-rule-editor .add-reply{width:100%;height:36px;border-style:dashed;background:#fff8f9;color:var(--accent-strong)}
.cards{grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:14px}.item-card{border:1px solid var(--line);border-radius:7px;padding:14px;box-shadow:none}.goods-card-head h3{font-size:15px}.card-cover{height:190px;border-radius:6px;margin:11px 0;background:#f5f6f8}.tag{border-radius:4px;background:#f1f2f4;padding:3px 6px;font-size:10px}.goods-meta div{grid-template-columns:58px minmax(0,1fr)}
.modal{background:rgba(22,25,30,.42);backdrop-filter:blur(2px)}.modal-box{border:1px solid rgba(255,255,255,.5);border-radius:7px;box-shadow:var(--shadow);overflow:hidden}.modal-head,.modal-foot{min-height:56px;padding:0 18px;align-items:center}.modal-head h3{margin:0;font-size:14px}.modal-head>button{width:32px;height:32px;padding:0;border:0;border-radius:5px;background:transparent;color:#747982;font-size:21px}.modal-head>button:hover{background:#f2f3f5}.modal-foot{min-height:62px}.modal-box form{padding:16px 18px}.reply-block{border-radius:6px}.notice{border-radius:5px;background:#fff7f8;border-color:#ffd3da;color:#6e5559}.notice.success{background:#effaf5;border-color:#c8ebda}.notice.error{background:#fff2f3;border-color:#f2c6ce}.proxy-panel{max-width:920px;margin:0 auto}.proxy-panel form{padding:8px 0 0}
#toast{right:20px;bottom:20px;border-radius:6px;background:#272a30;box-shadow:0 8px 24px rgba(0,0,0,.2);transition:opacity .18s,transform .18s;transform:translateY(8px)}#toast.show{transform:translateY(0)}
@media(max-width:1180px){.account-workspace{grid-template-columns:minmax(600px,58%) minmax(420px,42%)}.workspace-browser-column{grid-template-columns:minmax(230px,36%) minmax(330px,64%)}.workspace-rule-editor .reply-fields{grid-template-columns:110px minmax(0,1fr)}}
@media(max-width:900px){body{overflow:auto}.layout{height:auto;min-height:100vh}.app-main{height:auto;min-height:100vh}.account-workspace{grid-template-columns:1fr}.workspace-browser-column{grid-template-columns:220px minmax(0,1fr)}.workspace-editor-column{position:fixed;inset:70px 12px 12px 208px;z-index:4;border:1px solid var(--line);box-shadow:var(--shadow)}.workspace-toolbar{height:auto;min-height:58px;flex-wrap:wrap;padding:10px 14px}.workspace-toolbar .toolbar{flex-wrap:wrap}.workspace-editor-grid.three{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.app-sidebar{width:64px;flex-basis:64px}.brand{padding:0;justify-content:center}.brand div{display:none}.nav{justify-content:center;padding:0}.nav>span:last-child{display:none}.sidebar-status span:last-child{display:none}.app-header{padding:0 14px}.page{padding:14px}.account-workspace{grid-template-columns:1fr}.workspace-browser-column{grid-template-columns:1fr}.workspace-rule-column{display:none}.workspace-editor-column{inset:68px 8px 8px 72px}.search-box{width:100%}.search-box input{flex:1}.workspace-toolbar .toolbar{width:100%}.workspace-editor-grid,.workspace-editor-grid.three{grid-template-columns:1fr}.workspace-rule-editor .reply-fields{grid-template-columns:1fr}}
.workspace-account-tools{margin:12px -1px -1px;padding:11px;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;gap:6px}.workspace-account-tools .btn{flex:1 1 calc(50% - 6px)}
.reply-fields{display:grid;grid-template-columns:120px minmax(0,1fr) 110px;gap:8px;align-items:start}.reply-fields .field{margin-bottom:0}.reply-fields textarea{min-height:72px}.btn:disabled{opacity:.45;cursor:not-allowed;transform:none}
button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid rgba(255,36,66,.28);outline-offset:1px}
.page-toolbar.actions-only{min-height:36px;justify-content:flex-end;margin-bottom:14px}.cards>.panel:only-child{grid-column:1/-1;min-height:120px;margin:0;border-style:dashed;color:#8a8f98;display:grid;place-items:center}.page-filterbar{min-height:52px;padding:8px 10px;margin-bottom:12px;border:1px solid var(--line);border-radius:7px;background:#fff}.log-panel{padding:0;overflow:hidden}.log-panel th{height:42px;background:#fafbfc;color:#777c85;font-size:11px;font-weight:500}.log-panel td{padding:11px 12px}
@media(max-width:620px){.reply-fields{grid-template-columns:1fr}}

.card-compose-layout{gap:28px;grid-template-columns:minmax(0,1fr) 290px}.compact-card-inputs{padding:18px 22px 8px 4px}.compact-card-preview{padding:0 4px 18px 4px}.compact-preview-title{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:4px 2px 10px}.compact-preview-title b{font-size:13px;color:#30343a}.compact-preview-title span{font-size:10px;color:#98a1ad;text-align:right;line-height:1.4}.compact-preview-card{border-radius:12px;border-color:#d9dee7;box-shadow:0 8px 22px rgba(31,41,55,.12)}.compact-preview-card .preview-img,.compact-preview-card .preview-placeholder{height:220px}.compact-preview-card .preview-body{padding:15px}.compact-preview-card .preview-title{font-size:16px}.preview-topline{height:28px;padding:0 12px;display:flex;align-items:center;justify-content:space-between;background:#fff;color:#8a94a4;font-size:10px;border-bottom:1px solid #f0f2f5}.preview-dot{width:7px;height:7px;border-radius:50%;background:#20b486;box-shadow:0 0 0 4px #20b48618}.preview-note{display:inline-block;margin-top:7px;padding:3px 7px;border-radius:4px;background:#fff1f3;color:#d9425c;font-size:10px}.preview-button{margin-top:13px;height:32px;border-radius:7px;background:#ff2442;color:#fff;display:grid;place-items:center;font-size:12px;font-weight:600}.card-compose-modal{background:#f8fafc}.card-compose-modal form{background:#f8fafc}.card-compose-modal .compact-card-inputs,.card-compose-modal .compact-card-preview{background:#fff;border:1px solid #e3e7ed;border-radius:10px}.card-compose-modal .compact-card-note{margin:0 0 14px}

.dot-card-admin-preview{margin:12px 0 14px;padding:14px 10px;background:#f7f8fa;border:1px solid #edf0f3;border-radius:8px}.dot-message-row{display:flex;align-items:flex-start;gap:9px}.dot-avatar{width:30px;height:30px;flex:0 0 30px;border-radius:50%;background:#fff0f2;color:#e94b65;display:grid;place-items:center;font-size:11px;font-weight:700}.dot-bubble{display:flex;align-items:center;gap:10px;min-width:0;flex:1;padding:9px;border-radius:0 10px 10px 10px;background:#f0f1f3}.dot-bubble-media{width:62px;height:62px;flex:0 0 62px;border-radius:7px;overflow:hidden;background:#ffe7ed;display:grid;place-items:center}.dot-bubble-media img{width:100%;height:100%;object-fit:cover}.dot-image-placeholder{color:#e94b65;font-size:11px;font-weight:700}.dot-bubble-copy{min-width:0}.dot-bubble-copy b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;color:#30343a}.dot-bubble-copy span{display:block;margin-top:5px;color:#8b919a;font-size:10px;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.dot-compose-modal{width:min(760px,calc(100vw - 30px))}.dot-compose-modal form{background:#f8fafc;padding:16px}.dot-compose-layout{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:20px;align-items:start}.dot-compose-inputs,.dot-compose-preview{background:#fff;border:1px solid #e3e7ed;border-radius:10px;padding:16px}.dot-compose-preview{min-width:0}.dot-chat-preview-admin{padding:10px 0 3px}.dot-chat-preview-admin .dot-bubble{padding:11px}.dot-chat-preview-admin .dot-bubble-media{width:116px;height:116px;flex-basis:116px;border-radius:9px}.dot-chat-preview-admin .dot-bubble-copy b{font-size:16px}.dot-chat-preview-admin .dot-bubble-copy span{font-size:12px;margin-top:8px}.dot-compose-modal .modal-head,.dot-compose-modal .modal-foot{padding-left:18px;padding-right:18px}
@media(max-width:720px){.dot-compose-layout{grid-template-columns:1fr}.dot-compose-preview{order:2}}
/* Customer / reseller console */
.commerce-stats{margin-bottom:18px}.commerce-user-list,.commerce-ledger{display:grid;gap:10px}.commerce-user-row{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:18px;padding:14px 16px;border:1px solid var(--line,#e8eaf0);border-radius:14px;background:var(--surface,#fff)}.commerce-user-row small{display:block;color:var(--muted,#8a91a3);margin-top:5px}.commerce-user-row .tag{margin-left:8px}.commerce-balance{display:flex;align-items:baseline;gap:6px;color:var(--muted,#8a91a3)}.commerce-balance strong{font-size:20px;color:var(--text,#1f2430)}.commerce-actions{display:flex;gap:8px}.ledger-row{display:grid;grid-template-columns:180px 110px 1fr 90px;gap:12px;align-items:center;padding:10px 12px;border-bottom:1px solid var(--line,#eef0f4);font-size:13px}.ledger-row strong{color:#16a36a;text-align:right}@media(max-width:760px){.commerce-user-row{grid-template-columns:1fr}.ledger-row{grid-template-columns:1fr 1fr}.ledger-row strong{text-align:left}}

/* Ensure dot card composer has enough width for labels and notes */
.modal-box.dot-compose-modal{width:min(760px,calc(100vw - 30px));}

/* Card composer refinements */
.card-compose-modal{width:min(980px,calc(100vw - 28px))!important;}
.card-compose-modal form{padding:22px 24px 18px;}
.card-compose-layout{grid-template-columns:minmax(0,1fr) 360px;gap:34px;}
.compact-card-inputs{padding:20px 28px 12px 6px;}
.compact-card-preview{padding:0 6px 12px 8px;}
.compact-preview-card .preview-img,.compact-preview-card .preview-placeholder{height:280px;}
.compact-preview-card .preview-body{padding:18px;}
.compact-preview-card .preview-title{font-size:18px;}
.compact-preview-card .preview-price-row strong{font-size:22px;}
.card-compose-modal .compact-card-preview{background:transparent;border:0;}
.dot-compose-modal{width:min(860px,calc(100vw - 28px))!important;}
.dot-compose-modal form{padding:22px 24px 18px;}
.dot-compose-layout{grid-template-columns:minmax(0,1fr) 350px;gap:30px;}
.dot-compose-inputs,.dot-compose-preview{padding:20px;}
.dot-compose-preview{background:transparent;border:0;}
.dot-compose-preview .compact-preview-title{padding:0 0 12px;}
.dot-compose-preview .preview-ok{display:none;}
@media(max-width:720px){.card-compose-layout,.dot-compose-layout{grid-template-columns:1fr;gap:18px}.compact-card-inputs{padding:16px 6px}.compact-card-preview{padding:0;}.dot-compose-inputs,.dot-compose-preview{padding:16px;}}

/* Composer layout: the global sidebar `aside{width:220px}` must not constrain
   the preview column.  Keep the preview column fluid and let the card fill it. */
.card-compose-modal aside.compact-card-preview,
.dot-compose-modal aside.dot-compose-preview{
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  flex:0 0 auto!important;
  justify-self:stretch;
  box-sizing:border-box;
  padding-left:0;
  padding-right:0;
  background:transparent!important;
  border:0!important;
}
.card-compose-modal .compact-preview-card,
.dot-compose-modal #dotCardPreview,
.dot-compose-modal .dot-chat-preview-admin{
  width:100%;
  max-width:none;
}
/* Give the editor more breathing room while keeping a compact responsive form. */
.card-compose-modal .compact-card-inputs,
.dot-compose-modal .dot-compose-inputs{padding-left:24px;padding-right:24px;}
.card-compose-modal .compact-card-preview,
.dot-compose-modal .dot-compose-preview{padding-left:0;padding-right:0;}
.card-compose-modal .compact-preview-card .preview-topline{display:none;}
.card-compose-modal .compact-preview-card{box-shadow:0 8px 22px rgba(31,41,55,.12);}
.dot-compose-modal{width:min(980px,calc(100vw - 28px))!important;}
.dot-compose-layout{grid-template-columns:minmax(0,1fr) 400px;gap:42px;}
.dot-compose-modal .dot-compose-inputs{padding-left:32px;padding-right:28px;}
.dot-compose-modal .dot-compose-preview{padding-left:0;padding-right:18px;}
.dot-compose-modal #dotCardPreview{width:100%;}
.dot-compose-modal .dot-chat-preview-admin{width:100%;padding:10px 0 0;}
.dot-compose-modal .dot-chat-preview-admin .dot-message-row{width:100%;max-width:none;}
.dot-compose-modal .dot-chat-preview-admin .dot-bubble{width:calc(100% - 40px);min-height:154px;padding:12px;}
.dot-compose-modal .dot-chat-preview-admin .dot-bubble-media{width:140px;height:140px;flex-basis:140px;}
.dot-compose-modal .dot-chat-preview-admin .dot-bubble-copy{flex:1;min-width:0;padding-right:4px;}
.dot-compose-modal .dot-chat-preview-admin .dot-bubble-copy b{font-size:17px;line-height:1.4;white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.dot-compose-modal .dot-chat-preview-admin .dot-bubble-copy span{font-size:13px;line-height:1.5;white-space:normal;}
.dot-compose-modal .dot-compose-preview .compact-preview-title{padding-left:0;}
@media(max-width:720px){
  .card-compose-modal .compact-card-inputs,
  .dot-compose-modal .dot-compose-inputs{padding-left:18px;padding-right:18px;}
  .dot-compose-modal .dot-compose-preview{padding-right:0;}
  .dot-compose-layout{grid-template-columns:1fr;gap:18px;}
  .dot-compose-modal .dot-chat-preview-admin .dot-bubble{width:100%;}
}

/* Final composer polish */
.dot-compose-modal .dot-compose-inputs{padding-left:34px;padding-right:34px;}
.dot-compose-modal .dot-compose-preview{padding-right:8px;}
.dot-compose-modal .dot-chat-preview-admin{padding:12px 0 0;background:transparent;}
.dot-compose-modal .dot-bubble{min-height:168px;}
.dot-compose-modal .dot-preview-link{display:block;margin-top:10px;color:#8a919c;font-size:11px;overflow-wrap:anywhere;}
@media(max-width:720px){.dot-compose-modal .dot-compose-inputs{padding-left:18px;padding-right:18px;}.dot-compose-modal .dot-compose-preview{padding-right:0;}}

/* Dot card composer: confirmed vertical layout, preview centered above settings */
.dot-compose-modal .dot-compose-vertical{display:flex;flex-direction:column;gap:16px;}
.dot-compose-modal .dot-compose-vertical .dot-compose-preview{order:0;width:100%;padding:12px 18px 8px;background:#fff;border:1px solid #e5e7eb;border-radius:12px;}
.dot-compose-modal .dot-compose-vertical .dot-compose-inputs{order:1;width:100%;padding:18px 24px;background:#fff;border:1px solid #e5e7eb;border-radius:12px;}
.dot-compose-modal .dot-compose-vertical .dot-chat-preview-admin{display:flex;justify-content:center;max-width:520px;margin:0 auto;padding:8px 0 4px;}
.dot-compose-modal .dot-compose-vertical .dot-message-row{width:min(100%,480px);align-items:center;}
.dot-compose-modal .dot-compose-vertical .dot-bubble{min-height:128px;width:100%;}
.dot-compose-modal .dot-compose-vertical .dot-bubble-media{width:108px;height:108px;flex-basis:108px;}
@media(max-width:720px){.dot-compose-modal .dot-compose-vertical .dot-compose-inputs{padding:16px;}.dot-compose-modal .dot-compose-vertical .dot-compose-preview{padding:10px 12px 6px;}}

/* 20260809 account/icon/card layout hotfix */
.nav-icon,.btn-icon{display:inline-block!important;color:currentColor;stroke:currentColor;fill:none;visibility:visible!important}
.workspace-account-list{min-height:220px;background:#fff}
.card-compose-modal{width:min(1080px,calc(100vw - 28px))!important}
.card-compose-modal .card-editor{grid-template-columns:minmax(520px,1fr) 330px!important;gap:26px!important}
.card-compose-modal .card-preview-wrap{width:330px!important;max-width:330px!important;padding-left:26px!important}
.card-compose-modal .card-preview{width:292px!important;max-width:292px!important;margin:0 auto;border-radius:12px}
.card-compose-modal .preview-img,.card-compose-modal .preview-placeholder{height:292px!important;object-fit:cover!important}
.card-compose-modal .preview-body{padding:14px!important}
.card-compose-modal .preview-title{font-size:15px!important}
.card-compose-modal .preview-desc{font-size:12px!important;margin-top:5px!important}
.card-compose-modal .preview-price-row{margin-top:10px!important}
.card-compose-modal .preview-price-row strong{font-size:21px!important}
.card-compose-modal .preview-shop{margin-top:10px!important}
.card-compose-modal .preview-link{margin-top:7px!important;font-size:10px!important}
.dot-compose-modal{width:min(900px,calc(100vw - 28px))!important}
.dot-compose-modal .dot-compose-vertical{display:flex!important;flex-direction:column!important;gap:14px!important}
.dot-compose-modal .dot-compose-preview{order:0!important;width:100%!important;max-width:none!important;padding:14px 20px!important;background:#fff!important;border:1px solid #e3e7ed!important;border-radius:10px!important}
.dot-compose-modal .dot-compose-inputs{order:1!important;width:100%!important;padding:18px 22px!important;background:#fff!important;border:1px solid #e3e7ed!important;border-radius:10px!important}
.dot-compose-modal .dot-chat-preview-admin{width:100%!important;max-width:520px!important;margin:0 auto!important;padding:6px 0!important}
.dot-compose-modal .dot-message-row{width:100%!important;max-width:500px!important;margin:0 auto!important;align-items:center!important}
.dot-compose-modal .dot-bubble{width:auto!important;min-height:116px!important;flex:1!important;padding:9px!important}
.dot-compose-modal .dot-bubble-media{width:104px!important;height:104px!important;flex-basis:104px!important}
.dot-compose-modal .dot-bubble-copy{display:flex!important;flex-direction:column!important;justify-content:center!important;align-items:flex-start!important;min-height:104px!important}
.dot-compose-modal .dot-bubble-copy b{font-size:15px!important;line-height:1.4!important}
.dot-compose-modal .dot-bubble-copy span{font-size:12px!important;margin-top:6px!important}
.dot-compose-modal .dot-preview-link{max-width:280px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media(max-width:760px){.card-compose-modal .card-editor{grid-template-columns:1fr!important}.card-compose-modal .card-preview-wrap{width:100%!important;max-width:330px!important;padding:18px 0 0!important}.dot-compose-modal .dot-compose-inputs{padding:15px!important}}
.workspace-rule-actions{display:flex;align-items:center;gap:8px}.workspace-rule-actions .btn{visibility:visible}
.keyword-editor{display:flex;align-items:center;flex-wrap:wrap;gap:6px;min-height:38px;padding:6px 8px;border:1px solid #dce2ea;border-radius:6px;background:#fff}.keyword-editor:focus-within{border-color:#ff8da0;box-shadow:0 0 0 3px #ff244214}.keyword-entry{flex:1;min-width:150px;border:0!important;outline:0;padding:4px!important}.keyword-chips{display:flex;flex-wrap:wrap;gap:5px}.keyword-chip{display:inline-flex;align-items:center;gap:4px;padding:4px 7px;border-radius:5px;background:#fff1f3;color:#d9425c;font-size:11px}.keyword-chip button{border:0;background:transparent;color:#d9425c;cursor:pointer;padding:0;font-size:14px;line-height:1}.keyword-tip{margin-top:5px;font-size:10px}

/* Dot card editor reference layout */
.dot-compose-modal{width:min(900px,calc(100vw - 28px))!important;max-height:calc(100vh - 20px)!important;}
.dot-compose-reference{background:#f8fafc;padding:0!important;}
.dot-preview-section{padding:28px 48px 32px;background:#fff;border-bottom:1px solid #e7ebf1;}
.dot-settings-section{padding:30px 48px 88px;background:#fff;}
.dot-section-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px;}
.dot-section-heading h3{margin:0;font-size:19px;color:#162033;}.dot-section-heading span:not(.protocol-badge){display:block;margin-top:6px;color:#7e8ba0;font-size:13px;}
.dot-native-preview{max-width:700px;margin:0 auto;padding:28px 0 0;}
.dot-native-main{display:flex;align-items:center;gap:18px;justify-content:center;}
.dot-xhs-avatar{width:72px;height:72px;border-radius:50%;background:#ff2442;color:#fff;font-size:16px;font-weight:700;display:grid;place-items:center;flex:0 0 72px;}
.dot-native-card{width:min(520px,calc(100% - 96px));min-height:150px;display:flex;align-items:center;gap:26px;padding:18px 24px;border:1px solid #e1e6ee;border-radius:15px;background:#fff;box-shadow:0 7px 18px rgba(24,39,75,.08);}
.dot-native-media{width:126px;height:126px;flex:0 0 126px;border-radius:10px;overflow:hidden;background:#f2f4f7;display:grid;place-items:center;color:#a0aabb;font-size:13px;}.dot-native-media img{width:100%;height:100%;object-fit:cover;}
.dot-native-copy{min-width:0;display:flex;flex-direction:column;justify-content:center;gap:13px;}.dot-native-copy b{font-size:21px;color:#111c30;line-height:1.35;}.dot-native-copy span{font-size:17px;color:#8591a4;line-height:1.4;}
.dot-native-source{max-width:600px;margin:25px auto 0;display:flex;align-items:center;gap:10px;color:#8290a3;font-size:14px;white-space:nowrap;overflow:hidden;}.dot-native-source .source-icon{font-size:22px;color:#8290a3;}.dot-native-source .source-url{overflow:hidden;text-overflow:ellipsis;}
.dot-form-grid{display:grid;gap:20px;max-width:760px;margin:0 auto;}.dot-form-row{display:grid;grid-template-columns:145px minmax(0,1fr);gap:20px;align-items:start;}.dot-form-row>label{padding-top:11px;font-size:15px;color:#1e2a3d;font-weight:600;}.dot-form-row>label em{font-style:normal;color:#f32645;}.dot-control{position:relative;min-width:0;}.dot-control input,.dot-control textarea{width:100%;border:1px solid #dce3ec;border-radius:9px;background:#fff;padding:12px 15px;font:inherit;font-size:15px;color:#243047;box-sizing:border-box;}.dot-control textarea{min-height:92px;resize:vertical;}.dot-control input:focus,.dot-control textarea:focus{border-color:#ff7e93;box-shadow:0 0 0 3px #ff244214;outline:0;}.char-count{position:absolute;right:13px;bottom:9px;color:#8d99aa;font-size:12px;}.field-hint{display:block;color:#9aa5b4;font-size:11px;margin-top:6px;}.image-control{display:flex;align-items:center;}.image-control input{padding-right:44px;}.image-mark{position:absolute;right:10px;color:#8290a3;font-size:21px;}
@media(max-width:700px){.dot-preview-section,.dot-settings-section{padding-left:20px;padding-right:20px;}.dot-form-row{grid-template-columns:1fr;gap:7px}.dot-form-row>label{padding-top:0}.dot-native-main{gap:10px}.dot-xhs-avatar{width:50px;height:50px;flex-basis:50px;font-size:11px}.dot-native-card{width:calc(100% - 60px);padding:12px;gap:12px}.dot-native-media{width:86px;height:86px;flex-basis:86px}.dot-native-copy b{font-size:15px}.dot-native-copy span{font-size:13px}.dot-native-source{font-size:11px;}}

/* Rule panel polish */
.workspace-rule-actions{position:absolute;top:13px;right:13px;visibility:visible!important}.workspace-rule-actions .btn{visibility:visible!important;background:#ff2442!important;border-color:#ff2442!important;color:#fff!important;min-width:54px!important;height:30px!important;font-weight:700!important;border-radius:7px!important}.workspace-rule-actions .btn:hover{background:#df1735!important;border-color:#df1735!important}.workspace-rule-card{position:relative;cursor:default!important;padding:14px!important;border-color:#e5e9f0!important;background:linear-gradient(180deg,#fff 0%,#fcfdff 100%)}.workspace-rule-title{display:flex;align-items:center;gap:8px;padding-right:68px}.workspace-rule-title b{font-size:14px;color:#182235}.workspace-rule-detail{display:flex;align-items:center;gap:8px;margin-top:13px}.workspace-rule-label{flex:0 0 auto;color:#8d98aa;font-size:11px}.workspace-rule-card .workspace-rule-keywords{display:block;min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#4a566a;font-size:12px}.workspace-rule-card .workspace-rule-flow{margin-top:13px;padding-top:12px;border-top:1px solid #edf0f5}.workspace-rule-top{align-items:center;min-height:30px}
.workspace-head-actions{display:flex;align-items:center;gap:7px}.workspace-head-actions .icon-button{width:30px;height:30px;border:1px solid #e5e7eb;background:#fff;color:#8a9099}.workspace-head-actions .icon-button svg{width:14px;height:14px}.workspace-head-actions .icon-button.danger{color:#d92d4b;border-color:#ffd1d9}.workspace-head-actions .icon-button.danger:hover{background:#fff1f3;border-color:#ff9cac}.workspace-head-actions .icon-button:disabled{opacity:.4;cursor:not-allowed}.workspace-rule-title{padding-right:132px}.workspace-rule-actions .workspace-rule-switch.disable{background:#fff7ed!important;border-color:#fed7aa!important;color:#b45309!important}.workspace-rule-actions .workspace-rule-switch.disable:hover{background:#ffedd5!important;border-color:#fdba74!important}.workspace-rule-actions .workspace-rule-switch.enable{background:#ecfdf3!important;border-color:#a7e8c3!important;color:#138a55!important}.workspace-rule-actions .workspace-rule-switch.enable:hover{background:#dcfce7!important;border-color:#79d9a5!important}
.keyword-editor{min-height:42px}.keyword-entry{flex:1;min-width:120px;border:0!important;outline:0;padding:4px!important;background:transparent!important;font-size:12px!important}.keyword-tip{margin-top:6px;font-size:10px}
.keyword-editor .keyword-entry:focus,.keyword-editor .keyword-entry:focus-visible{border:0!important;outline:none!important;box-shadow:none!important}
.dot-control textarea[name="consultationInfo"]{height:72px;min-height:72px;max-height:72px;resize:none}.dot-card-admin-preview>.dot-bubble{width:100%;min-height:82px}.dot-card-admin-preview>.dot-bubble .dot-bubble-media{width:68px;height:68px;flex-basis:68px}.dot-card-admin-preview>.dot-bubble .dot-bubble-copy{justify-content:center}
.goods-card-head.card-status-only{justify-content:flex-end;min-height:24px}
.goods-template-item{min-width:0}.goods-finished-card{overflow:hidden;border:1px solid #dfe4eb;border-radius:10px;background:#fff;box-shadow:0 3px 10px rgba(31,41,55,.06)}.goods-finished-cover{display:block;width:100%;height:250px;object-fit:cover;background:#f3f5f8}.goods-finished-empty{display:grid;place-items:center;color:#98a1ad}.goods-finished-body{padding:14px 13px 13px}.goods-finished-body h3{margin:0 0 12px;color:#20242b;font-size:14px;line-height:1.45;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.goods-finished-price{display:flex;align-items:baseline;color:#ff2442;line-height:1}.goods-finished-price small{font-size:12px}.goods-finished-price strong{font-size:20px}.goods-finished-shop{display:flex;align-items:center;gap:7px;margin-top:14px;color:#6e7784}.goods-finished-shop img,.goods-finished-shop>span{width:22px;height:22px;border-radius:50%;object-fit:cover;background:#f3e7cf;color:#8e6d2f;display:grid;place-items:center;font-size:10px}.goods-finished-shop b{min-width:0;font-size:12px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.goods-finished-body p{margin:8px 0 0;color:#9aa3af;font-size:11px;line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.goods-manage-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 2px 0}.goods-manage-footer .card-actions{margin:0;padding:0}.goods-card-note{min-width:0;max-width:45%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#929ba8;font-size:11px}
.dot-card-item{position:relative;padding-top:12px!important}.dot-card-item .dot-card-admin-preview{margin-top:0;margin-bottom:12px}.dot-card-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:11px;border-top:1px solid #edf0f4}.dot-card-footer .card-actions{margin:0;flex:0 0 auto}.dot-card-meta{display:flex;align-items:center;justify-content:flex-end;gap:10px;min-width:0}.dot-card-note{display:flex;align-items:center;gap:5px;min-width:0;max-width:132px;padding:5px 8px;border-radius:6px;background:#f5f7fa;color:#687386;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dot-card-note>span{flex:0 0 auto;color:#a0a9b6}.dot-status-indicator{display:block;flex:0 0 9px;width:9px;height:9px;border-radius:50%;background:#22c987;box-shadow:0 0 0 3px rgba(34,201,135,.13)}.dot-status-indicator.offline{background:#aeb6c2;box-shadow:0 0 0 3px rgba(174,182,194,.14)}

/* Product template cards share the same single-container management layout as dot cards. */
.goods-template-item{padding:12px!important;background:#fff;border:1px solid #e1e6ed;border-radius:8px;box-shadow:0 2px 8px rgba(31,41,55,.04)}
.goods-template-item .goods-finished-card{margin:0;box-shadow:none}
.goods-finished-sales{min-width:0;margin-left:9px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#767e8b;font-size:12px;line-height:1.2}
.goods-manage-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px;padding:11px 0 0;border-top:1px solid #edf0f4}
.goods-manage-footer .card-actions{order:0;flex:0 0 auto;margin:0;padding:0}
.goods-card-meta{order:1;display:flex;align-items:center;justify-content:flex-end;gap:10px;min-width:0}
.card-public-code{flex:0 0 auto;padding:4px 7px;border:1px solid #e3e7ed;border-radius:5px;background:#fafbfc;color:#7a8492;font-size:11px;font-family:Consolas,"SFMono-Regular",monospace;line-height:1}
.goods-card-note{display:flex;align-items:center;gap:5px;min-width:0;max-width:132px;padding:5px 8px;border-radius:6px;background:#f5f7fa;color:#687386;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.goods-card-note>span{flex:0 0 auto;color:#a0a9b6}

/* Clear save feedback and compact rich log rows. */
#toast{z-index:30;bottom:82px;pointer-events:none}
.workspace-save-success{margin:0 0 12px;font-weight:600}
.log-card-message{display:flex;align-items:center;gap:10px;min-width:220px;max-width:390px;padding:7px 9px;border:1px solid #e4e8ee;border-radius:7px;background:#fff}
.log-card-message img,.log-card-placeholder{display:grid;place-items:center;width:46px;height:46px;flex:0 0 46px;border-radius:5px;object-fit:cover;background:#fff0f2;color:#e94b65;font-weight:700}
.log-card-message div{min-width:0}.log-card-message b,.log-card-message span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.log-card-message b{color:#303640;font-size:12px}.log-card-message div span{margin-top:5px;color:#747d8a;font-size:11px}
.log-panel table{min-width:1120px}.log-panel th:nth-child(2){width:210px}.log-panel th:nth-child(4){width:210px}.log-panel th:nth-child(5){min-width:280px}.log-panel th:nth-child(6){width:108px}
.workspace-log-object{margin-top:9px;padding-top:8px;border-top:1px solid #edf0f4}.workspace-log-object .log-account-avatar{width:28px;height:28px;flex-basis:28px}
.workspace-editor-actions{z-index:8}.workspace-editor-actions .toolbar,.workspace-editor-actions .btn{position:relative;z-index:1;pointer-events:auto}

/* Shared cover controls and material library */
.cover-field{display:flex;align-items:center;gap:8px;min-width:0}.cover-field>input{flex:1;min-width:0}.cover-actions{display:flex;align-items:center;gap:6px;flex:0 0 auto}.cover-actions .btn{white-space:nowrap}.upload-inline{cursor:pointer}.materials-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}.materials-toolbar h3{margin:0 0 4px}.materials-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:14px}.material-item{min-width:0;padding:10px;border:1px solid #e3e7ed;border-radius:8px;background:#fff}.material-item>img{display:block;width:100%;aspect-ratio:1.25;object-fit:cover;border-radius:6px;background:#f4f6f8}.material-item-meta{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:9px 0}.material-item-meta b{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px}.material-item-meta span{flex:0 0 auto;color:#8b95a3;font-size:10px}.material-choice{display:flex;flex-direction:column;gap:5px;padding:7px;border:1px solid #e1e6ed;border-radius:7px;background:#fff;text-align:left;cursor:pointer}.material-choice:hover{border-color:#ff2442;box-shadow:0 0 0 2px rgba(255,36,66,.1)}.material-choice img{width:100%;aspect-ratio:1.25;object-fit:cover;border-radius:5px}.material-choice span,.material-choice small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.material-choice span{font-size:11px;color:#283243}.material-choice small{font-size:10px;color:#8b95a3}.compact-grid{grid-template-columns:repeat(auto-fill,minmax(130px,1fr));max-height:55vh;overflow:auto;padding:2px}.material-picker-hint{margin-bottom:12px}.materials-modal{width:min(820px,calc(100vw - 32px))!important}
.dot-card-editor .card-preview{min-height:220px}.dot-card-editor textarea{min-height:90px;resize:vertical}
.material-picker-overlay{position:fixed;inset:0;z-index:80;display:grid;place-items:center;padding:20px;background:rgba(18,25,38,.42)}.material-picker-panel{width:min(820px,100%);max-height:80vh;padding:18px;border:1px solid #e1e6ed;border-radius:9px;background:#fff;box-shadow:0 24px 70px rgba(16,24,40,.24)}.material-picker-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px}.material-picker-head b,.material-picker-head span{display:block}.material-picker-head b{font-size:16px;color:#202939}.material-picker-head span{margin-top:3px;color:#8b95a3;font-size:11px}
@media(max-width:720px){.materials-toolbar{align-items:flex-start;flex-direction:column}.cover-field{align-items:stretch;flex-direction:column}.cover-actions{justify-content:flex-start}}

/* v96 dot-card editor: preview above, compact fields below. */
.modal-box.dot-compose-modal{width:min(940px,calc(100vw - 28px))!important;max-height:calc(100vh - 24px)!important;overflow:auto!important}
.dot-compose-modal .dot-card-editor{display:flex!important;flex-direction:column!important;gap:16px!important}
.dot-compose-modal .dot-card-editor>.card-preview-wrap{order:-1!important;position:static!important;width:100%!important;max-width:none!important;padding:0 0 16px!important;border:0!important;border-bottom:1px solid #e5e9ef!important}
.dot-compose-modal .dot-card-editor>.card-inputs{order:2!important;display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:16px!important}
.dot-compose-modal .dot-card-editor .form-section{margin:0!important;padding:16px 18px 8px!important}
.dot-compose-modal .dot-card-editor textarea[name="consultationInfo"]{height:38px!important;min-height:38px!important;max-height:38px!important;padding:9px 11px!important;resize:none!important;overflow:hidden!important;line-height:18px!important}
.dot-compose-modal .dot-card-editor .card-preview{display:grid!important;grid-template-columns:150px minmax(0,1fr)!important;width:min(460px,100%)!important;max-width:460px!important;min-height:150px!important;margin:0 auto!important}
.dot-compose-modal .dot-card-editor .preview-img,.dot-compose-modal .dot-card-editor .preview-placeholder{width:150px!important;height:150px!important;min-height:150px!important}
.dot-compose-modal .dot-card-editor .preview-placeholder span{font-size:17px!important}.dot-compose-modal .dot-card-editor .preview-placeholder small{text-align:center;font-size:10px!important}
.dot-compose-modal .dot-card-editor .preview-body{display:flex!important;flex-direction:column!important;justify-content:center!important;min-width:0!important;padding:16px!important}
.dot-compose-modal .dot-card-editor .preview-title{font-size:16px!important}.dot-compose-modal .dot-card-editor .preview-shop{margin-top:10px!important}.dot-compose-modal .dot-card-editor .preview-link{margin-top:10px!important}
.dot-compose-modal .dot-card-editor .preview-heading{justify-content:center!important;text-align:center!important}
.dot-compose-modal .dot-card-editor .preview-ok{justify-content:center!important}
@media(max-width:760px){.dot-compose-modal .dot-card-editor>.card-inputs{grid-template-columns:1fr!important}.dot-compose-modal .dot-card-editor .card-preview{grid-template-columns:110px minmax(0,1fr)!important}.dot-compose-modal .dot-card-editor .preview-img,.dot-compose-modal .dot-card-editor .preview-placeholder{width:110px!important;height:110px!important;min-height:110px!important}}

/* v96 cover controls: equal height, centered labels, solid red actions. */
.cover-field{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:stretch!important;gap:8px!important}
.cover-field>input{height:38px!important;min-height:38px!important;box-sizing:border-box!important}
.cover-actions{display:flex!important;align-items:stretch!important;gap:6px!important;height:38px!important}
.cover-actions .btn,.cover-actions label.btn{display:inline-flex!important;align-items:center!important;justify-content:center!important;height:38px!important;min-height:38px!important;margin:0!important;padding:0 13px!important;box-sizing:border-box!important;line-height:1!important;white-space:nowrap!important;vertical-align:middle!important}
.cover-actions .btn.danger,.cover-actions label.btn.danger{border-color:#ff2442!important;background:#ff2442!important;color:#fff!important;box-shadow:none!important}
.cover-actions .btn.danger:hover,.cover-actions label.btn.danger:hover{border-color:#df1735!important;background:#df1735!important;color:#fff!important}
@media(max-width:620px){.cover-field{grid-template-columns:1fr!important}.cover-actions{height:36px!important}.cover-actions .btn,.cover-actions label.btn{height:36px!important;min-height:36px!important}}

/* v97 compact stacked dot-card form and centered preview copy. */
.modal-box.dot-compose-modal{width:min(800px,calc(100vw - 28px))!important}
.dot-compose-modal .dot-card-editor{gap:12px!important}
.dot-compose-modal .dot-card-editor>.card-preview-wrap{padding-bottom:12px!important}
.dot-compose-modal .dot-card-editor>.card-inputs{grid-template-columns:1fr!important;width:min(620px,100%)!important;margin:0 auto!important;gap:12px!important}
.dot-compose-modal .dot-card-editor .form-section{padding:14px 16px 6px!important}
.dot-compose-modal .dot-card-editor .form-section-title{margin-bottom:12px!important}
.dot-compose-modal .dot-card-editor .card-preview{width:min(420px,100%)!important;max-width:420px!important}
.dot-compose-modal .dot-card-editor .preview-body{align-items:center!important;text-align:center!important}
.dot-compose-modal .dot-card-editor .preview-shop{justify-content:center!important;width:100%!important;margin-top:8px!important}
.dot-compose-modal .dot-card-editor .preview-shop .preview-avatar{display:none!important}
.dot-compose-modal .dot-card-editor .preview-link{display:none!important}
.dot-compose-modal .dot-card-editor .preview-heading{margin-bottom:8px!important}
.dot-compose-modal .dot-card-editor .preview-ok{margin-top:8px!important}
.material-link-modal{width:min(520px,calc(100vw - 28px))!important}.material-link-preview{display:grid;place-items:center;min-height:150px;margin-top:12px;border:1px dashed #dce2ea;border-radius:7px;background:#f8fafc;color:#8b95a3;font-size:11px;overflow:hidden}.material-link-preview img{display:block;width:100%;max-height:280px;object-fit:contain;background:#fff}.material-link-preview img+span{padding:8px}

/* v98: dot preview stays compact; product composer keeps its original width. */
.modal-box.dot-compose-modal{width:min(720px,calc(100vw - 28px))!important}
.dot-compose-modal .dot-card-editor>.card-inputs{width:min(560px,100%)!important;gap:10px!important}
.dot-compose-modal .dot-card-editor .card-preview{grid-template-columns:126px minmax(0,1fr)!important;width:min(360px,100%)!important;max-width:360px!important;min-height:126px!important}
.dot-compose-modal .dot-card-editor .preview-img,.dot-compose-modal .dot-card-editor .preview-placeholder{width:126px!important;height:126px!important;min-height:126px!important}
.dot-compose-modal .dot-card-editor .preview-body{align-items:flex-start!important;justify-content:center!important;text-align:left!important;padding:14px 16px!important}
.dot-compose-modal .dot-card-editor .preview-shop{justify-content:flex-start!important;text-align:left!important;margin-top:7px!important}
.dot-compose-modal .dot-card-editor>.card-preview-wrap{padding-bottom:10px!important}
.dot-compose-modal .dot-card-editor .form-section{padding:12px 14px 5px!important}
.modal-box.card-compose-modal.wide{width:min(1180px,calc(100vw - 36px))!important;max-width:none!important}
.card-compose-modal .card-editor{grid-template-columns:minmax(520px,1fr) 330px!important;gap:26px!important}
.card-compose-modal .card-inputs,.card-compose-modal .form-section{min-width:0!important}
@media(max-width:900px){.modal-box.card-compose-modal.wide{width:calc(100vw - 24px)!important}.card-compose-modal .card-editor{grid-template-columns:minmax(0,1fr)!important}.card-compose-modal .card-preview-wrap{position:static!important;width:min(330px,100%)!important;max-width:330px!important;margin:0 auto!important;padding:16px 0 0!important}.card-compose-modal .cover-field{grid-template-columns:minmax(0,1fr) auto!important}}
@media(max-width:620px){.card-compose-modal .cover-field{grid-template-columns:1fr!important}}

/* MySQL tenant login and subordinate management */
.login-screen{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:24px;background:#f4f6f9}
.login-screen.hidden{display:none!important}
.login-panel{width:min(400px,100%);padding:32px;border:1px solid #e1e6ed;border-radius:8px;background:#fff;box-shadow:0 16px 42px rgba(26,35,50,.12)}
.login-brand{display:flex;align-items:center;gap:12px}.login-brand .logo{display:grid;place-items:center;width:42px;height:42px;border-radius:8px;background:#ff2442;color:#fff;font-size:18px;font-weight:800}.login-brand b,.login-brand small{display:block}.login-brand small{margin-top:3px;color:#8a94a3;font-size:11px}
.login-heading{margin:30px 0 22px}.login-heading h1{margin:0;color:#172033;font-size:24px;letter-spacing:0}.login-heading p{margin:8px 0 0;color:#7d8796;font-size:13px}
.login-panel>label{display:block;margin-top:16px;color:#303949;font-size:13px;font-weight:600}.login-panel>label input{width:100%;margin-top:8px;padding:11px 12px;border:1px solid #dbe1e9;border-radius:6px;box-sizing:border-box;font:inherit;font-weight:400}.login-panel>label input:focus{outline:0;border-color:#ff6d83;box-shadow:0 0 0 3px rgba(255,36,66,.1)}
.login-submit{width:100%;margin-top:22px;justify-content:center}.auth-locked>.layout{visibility:hidden}
.current-user{display:flex;align-items:center;gap:12px;padding:5px 5px 5px 12px;border:1px solid #e2e6ec;border-radius:7px;background:#fff}.current-user div{max-width:290px}.current-user b,.current-user span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.current-user b{color:#283243;font-size:12px}.current-user span{margin-top:2px;color:#8791a0;font-size:10px}
.tenant-user-card{display:grid;grid-template-columns:minmax(220px,1fr) 250px auto;align-items:center;gap:20px;padding:16px 18px;border-bottom:1px solid #edf0f4}.tenant-user-card:last-child{border-bottom:0}.tenant-user-main{display:flex;align-items:center;gap:12px;min-width:0}.tenant-avatar{display:grid;place-items:center;width:38px;height:38px;flex:0 0 38px;border-radius:7px;background:#fff0f2;color:#e43b56;font-weight:700}.tenant-user-title{display:flex;align-items:center;gap:8px}.tenant-user-title b{color:#1d2738;font-size:14px}.tenant-user-main p{margin:5px 0 0;color:#8a94a3;font-size:11px}.tenant-credit-pair{display:grid;grid-template-columns:1fr 1fr;gap:8px}.tenant-credit-pair span{padding:9px 10px;border:1px solid #e7eaf0;border-radius:6px;color:#8a94a3;font-size:10px}.tenant-credit-pair b{display:block;margin-top:4px;color:#263143;font-size:17px}.tenant-actions{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap}
.tenant-ledger-table{min-width:850px}.tenant-ledger-head,.tenant-ledger-row{display:grid;grid-template-columns:170px 1fr 100px 80px 80px 1.4fr;gap:12px;align-items:center;padding:11px 14px}.tenant-ledger-head{border-bottom:1px solid #e3e7ed;background:#f7f8fa;color:#687386;font-size:11px;font-weight:700}.tenant-ledger-row{border-bottom:1px solid #edf0f4;color:#505b6c;font-size:11px}.tenant-ledger-row:last-child{border-bottom:0}.credit-plus{color:#159b68;font-weight:700}.credit-minus{color:#e13b54;font-weight:700}.commerce-ledger{overflow-x:auto}
@media(max-width:1000px){.tenant-user-card{grid-template-columns:1fr 220px}.tenant-actions{grid-column:1/-1;justify-content:flex-start}.current-user div{max-width:180px}}
@media(max-width:720px){.login-panel{padding:24px}.current-user{display:none}.tenant-user-card{grid-template-columns:1fr}.tenant-credit-pair,.tenant-actions{grid-column:auto}.tenant-actions{justify-content:flex-start}}
/* 统一中文操作反馈：页面中央显示，避免被弹窗或底部区域遮挡。 */
#toast{left:50%;right:auto;top:50%;bottom:auto;min-width:220px;max-width:min(420px,calc(100vw - 32px));padding:13px 20px;text-align:center;line-height:1.5;transform:translate(-50%,-50%) scale(.98);border:1px solid rgba(255,255,255,.12);box-shadow:0 12px 34px rgba(15,23,42,.24)}
#toast.show{transform:translate(-50%,-50%) scale(1)}
/* 操作提示放在页面中上部，使用后台主色红色，避免遮挡底部表格。 */
#toast{top:28%;background:#ff2442;color:#fff;border-color:#ff2442;box-shadow:0 12px 30px rgba(255,36,66,.28);font-weight:600}
#toast{position:fixed!important;left:50%!important;right:auto!important;top:8%!important;bottom:auto!important;z-index:9999!important;min-width:0!important;width:max-content!important;max-width:min(320px,calc(100vw - 32px))!important;padding:9px 14px!important;text-align:center!important;line-height:1.35!important;font-size:12px!important;background:#ff2442!important;color:#fff!important;border:1px solid #ff2442!important;border-radius:6px!important;box-shadow:0 8px 22px rgba(255,36,66,.24)!important;font-weight:600!important;transform:translate(-50%,-50%) scale(.98)!important}
#toast.show{transform:translate(-50%,-50%) scale(1)!important}
/* 权限按钮默认隐藏，认证完成后再按角色显示，避免刷新时下级短暂看到管理员入口。 */
body:not(.auth-ready) [data-admin-only]{display:none!important}
body.role-admin [data-admin-only].hidden{display:none!important}
body.role-customer [data-admin-only],body.role-reseller [data-admin-only]{display:none!important}

.workspace-account-actions{display:none;align-items:center;gap:3px;margin-left:auto}.workspace-account-item:hover .workspace-account-actions,.workspace-account-item.active .workspace-account-actions{display:inline-flex}.workspace-account-actions .btn{padding:4px 6px;font-size:10px;white-space:nowrap}.workspace-account-item{cursor:pointer}.workspace-account-item [data-act]{cursor:pointer}
/* v80 account workspace: account-first layout with centered editor */
.account-workspace{grid-template-columns:minmax(0,1fr)!important;position:relative}
.account-workspace>.workspace-account-column{width:100%;border-right:0}
.account-workspace>.workspace-editor-column{display:none;position:fixed;left:50%;top:50%;width:min(920px,calc(100vw - 80px));height:min(760px,calc(100vh - 100px));transform:translate(-50%,-50%);z-index:30;border:1px solid var(--line);border-radius:10px;box-shadow:0 24px 70px rgba(16,24,40,.22)}
.account-workspace.editor-open>.workspace-editor-column{display:flex}
.account-workspace.editor-open:after{content:"";position:fixed;inset:0;background:rgba(15,23,42,.22);z-index:29}
.workspace-account-item{height:76px;padding:0 14px}
.workspace-account-copy small{display:block;color:#9299a3;font-size:10px;margin-top:3px}
.workspace-account-actions{margin-left:auto;display:flex;align-items:center;gap:5px;opacity:.9}
.workspace-account-actions .btn{padding:5px 8px;font-size:11px}
@media(max-width:900px){.account-workspace>.workspace-editor-column{left:8px;right:8px;top:58px;width:auto;height:calc(100vh - 70px);transform:none}}

/* v87 account table: actions stay on the account row and selection color is hover-only. */
.workspace-account-table-head{height:36px;flex:0 0 36px;padding:0 14px;display:grid;grid-template-columns:minmax(260px,1fr) minmax(500px,auto) 20px;align-items:center;gap:10px;border-bottom:1px solid #dfe3e8;background:#f2f4f6;color:#69717d;font-size:10px;font-weight:700}
.workspace-account-table-head span:nth-child(2){text-align:right;padding-right:8px}
.workspace-account-table-head span:last-child{text-align:center}
.workspace-account-list{padding:0!important}
.workspace-account-item{height:78px!important;padding:0 14px!important;display:grid!important;grid-template-columns:38px minmax(220px,1fr) minmax(500px,auto) 20px;align-items:center;gap:10px;border-bottom:1px solid #e5e8ec!important;border-radius:0!important;background:#fff!important;transition:background .15s ease}
.workspace-account-item.active{background:#fff!important}
.workspace-account-item:hover,.workspace-account-item.active:hover{background:#fff1f3!important}
.workspace-account-actions{margin-left:0!important;display:flex!important;justify-content:flex-end;align-items:center;gap:6px!important;opacity:1!important}
.workspace-account-actions .btn{padding:5px 9px!important}
.workspace-account-state{margin-left:0!important;justify-self:center}
@media(max-width:900px){.workspace-account-table-head{grid-template-columns:minmax(180px,1fr) minmax(390px,auto) 18px}.workspace-account-item{grid-template-columns:38px minmax(150px,1fr) minmax(390px,auto) 18px}.workspace-account-actions{gap:4px!important}.workspace-account-actions .btn{padding:5px 7px!important}}
@media(max-width:700px){.workspace-account-table-head{display:none}.workspace-account-item{min-height:116px;height:auto!important;grid-template-columns:38px minmax(0,1fr) 18px;padding:12px!important}.workspace-account-actions{grid-column:1/-1;justify-content:flex-start;flex-wrap:wrap}.workspace-account-state{grid-column:3;grid-row:1}}

/* v88 account dashboard columns and independent editor views. */
.workspace-account-table-head{grid-template-columns:minmax(245px,1.25fr) 100px 130px 100px 145px minmax(350px,1.5fr);gap:12px;padding:0 16px}
.workspace-account-table-head span:nth-child(2){padding-right:0;text-align:left}
.workspace-account-table-head span:last-child{text-align:left}
.workspace-account-item{min-height:96px;height:96px!important;grid-template-columns:minmax(245px,1.25fr) 100px 130px 100px 145px minmax(350px,1.5fr);gap:12px;padding:0 16px!important}
.workspace-account-identity{display:flex;align-items:center;gap:10px;min-width:0}.workspace-account-identity .account-avatar{width:38px;height:38px;flex:0 0 38px}.workspace-account-copy{display:block;min-width:0}.workspace-account-copy small{display:block;color:#9299a3;font-size:10px;margin-top:3px}
.workspace-account-stat,.workspace-account-health,.workspace-account-reply,.workspace-account-expiry{min-width:0}
.workspace-account-stat b,.workspace-account-stat span,.workspace-account-stat small,.workspace-account-health b,.workspace-account-health span,.workspace-account-expiry b,.workspace-account-expiry span,.workspace-account-expiry small{display:block}
.workspace-account-stat b{font-size:14px;color:#222b38}.workspace-account-stat span,.workspace-account-stat small{margin-top:4px;color:#8a939f;font-size:10px}.workspace-account-health b{color:#66717f;font-size:11px}.workspace-account-health.online b,.workspace-account-expiry b,.workspace-account-expiry .online{color:#169568}.workspace-account-health.error b,.workspace-account-expiry.expired b{color:#df3d55}.workspace-account-health span{max-width:120px;margin-top:5px;color:#8b94a0;font-size:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.workspace-account-reply{display:flex;flex-direction:column;align-items:flex-start;gap:5px}.workspace-account-reply>span{color:#7d8692;font-size:10px}.workspace-reply-toggle{position:relative;width:42px;height:24px;padding:0;border:0;border-radius:12px;background:#cfd4da;cursor:pointer;transition:background .15s}.workspace-reply-toggle:after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 4px rgba(15,23,42,.24);transition:left .15s}.workspace-reply-toggle.on{background:#ea5268}.workspace-reply-toggle.on:after{left:21px}.workspace-reply-toggle:disabled{opacity:.45;cursor:not-allowed}
.workspace-account-expiry b{font-size:11px}.workspace-account-expiry span,.workspace-account-expiry small{margin-top:4px;color:#8a939f;font-size:10px}
.workspace-account-actions{align-content:center;justify-content:flex-start!important;flex-wrap:wrap;gap:6px!important}.workspace-account-actions .btn{min-height:28px;padding:4px 8px!important}
.workspace-editor-column[data-mode="detail"]>.workspace-rule-editor{flex:1;height:auto;padding-top:18px}.workspace-editor-column[data-mode="detail"] .log-list{padding-bottom:18px}
@media(max-width:1250px) and (min-width:901px){.workspace-account-table-head,.workspace-account-item{grid-template-columns:minmax(220px,1.15fr) 90px 115px 90px 130px minmax(330px,1.4fr);gap:9px}.workspace-account-actions{gap:4px!important}.workspace-account-actions .btn{padding:4px 6px!important}}
@media(max-width:900px){.workspace-account-table-head{display:none}.workspace-account-item{min-height:190px;height:auto!important;grid-template-columns:repeat(4,minmax(0,1fr));padding:14px!important;gap:12px}.workspace-account-identity{grid-column:1/-1}.workspace-account-actions{grid-column:1/-1}.workspace-account-health span{max-width:none}}
@media(max-width:560px){.workspace-account-item{grid-template-columns:1fr 1fr}.workspace-account-stat,.workspace-account-health,.workspace-account-reply,.workspace-account-expiry{padding:8px;border:1px solid #edf0f3;border-radius:6px}.workspace-account-actions .btn{flex:1 1 calc(33.333% - 6px)}}

/* v89 confirmations and card-list polish. */
.modal-box.confirm-modal{width:min(440px,calc(100vw - 32px));overflow:hidden}
.confirm-modal #modalForm{padding:24px 22px}
.confirm-content{display:flex;align-items:flex-start;gap:14px}.confirm-content>div{min-width:0}.confirm-content b{display:block;color:#202937;font-size:15px;line-height:1.5}.confirm-content p{margin:7px 0 0;color:#7c8694;font-size:12px;line-height:1.65}
.confirm-icon{display:grid;place-items:center;width:34px;height:34px;flex:0 0 34px;border-radius:50%;background:#eaf8f0;color:#169568;font-size:16px;font-weight:800}.confirm-icon.danger{background:#fff0f2;color:#e33f59}
.btn.confirm-danger{background:#ff2442;color:#fff;border:1px solid #ff2442}.btn.confirm-danger:hover{background:#e91f3b;border-color:#e91f3b}
#cardList.cards{grid-template-columns:repeat(auto-fill,minmax(120px,135px));gap:10px;justify-content:start}
#cardList .goods-template-item{width:100%;padding:5px!important;border-radius:5px}
#cardList .goods-finished-cover{height:auto;aspect-ratio:282/250}
#cardList .goods-finished-body{padding:6px 6px 6px}
#cardList .goods-finished-body h3{margin-bottom:5px;font-size:10px}
#cardList .goods-finished-price strong{font-size:14px}
#cardList .goods-finished-price small{font-size:8px}
#cardList .goods-finished-sales{font-size:8px;margin-left:3px}
#cardList .goods-finished-shop{margin-top:6px;gap:3px}
#cardList .goods-finished-shop img,#cardList .goods-finished-shop>span{width:12px;height:12px;font-size:7px}
#cardList .goods-finished-shop b{font-size:8px}
#cardList .goods-manage-footer{gap:4px;margin-top:6px;padding-top:5px}
#cardList .goods-manage-footer .btn{font-size:8px;padding:3px 4px!important;min-height:20px}
#cardList .goods-card-meta{gap:3px;font-size:8px}
#cardList .goods-card-note{max-width:42px;padding:3px 4px;font-size:8px}
#cardList .card-public-code{padding:3px 4px;font-size:8px}
#cardList .dot-status-indicator{width:6px;height:6px;flex-basis:6px}
.card-compose-modal .card-preview-wrap{border-left:0!important;border-right:0!important;padding-left:0!important}
.card-compose-modal .card-editor{gap:22px!important}
.card-compose-modal .card-inputs{border-right:0!important}
.dot-compose-modal .dot-compose-inputs,.dot-compose-modal .dot-compose-preview{border-left:0!important;border-right:0!important}
.dot-compose-modal .dot-compose-preview{box-shadow:none!important}
.goods-template-item .goods-manage-footer{justify-content:center!important}
.goods-template-item .goods-card-meta{justify-content:center!important}
.transfer-resource-section{border:1px solid #e7ebf1;border-radius:8px;padding:12px;margin:12px 0;background:#fbfcfe}.transfer-resource-section>b{display:block;margin-bottom:8px;color:#344054}.transfer-resource-list{display:grid;gap:7px;max-height:180px;overflow:auto}.transfer-resource{display:flex;align-items:flex-start;gap:8px;padding:7px 8px;border-radius:6px;background:#fff;border:1px solid #edf0f4;cursor:pointer}.transfer-resource:hover{border-color:#ffb6c1;background:#fff7f8}.transfer-resource span{display:flex;flex-direction:column;gap:2px}.transfer-resource small{font-size:10px;color:#98a1ad}
.dot-card-item .dot-card-footer{justify-content:center!important;border-top:0!important}
.dot-card-item .dot-card-meta{justify-content:center!important}
.keyword-any{background:#f8fafc;border-color:#e4e8ee}.keyword-any .keyword-entry{color:#98a1ad;cursor:not-allowed}
.dot-card-item .dot-card-admin-preview{margin:0 0 12px!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important}
.dot-card-item .dot-card-admin-preview>.dot-bubble{margin:0;width:100%}
.dot-card-item .dot-card-footer{margin:0;width:100%}
@media(max-width:620px){#cardList.cards{grid-template-columns:minmax(0,1fr)}#cardList .goods-template-item{max-width:270px}}

/* Compact card-management tables used by both product and dot cards. */
.card-management-panel{padding:0!important;overflow-x:auto;background:#fff}
.card-management-table{min-width:1120px}
.card-management-head,.card-management-row{display:grid;column-gap:18px;align-items:center}
.goods-management-table .card-management-head,.goods-management-table .card-management-row{grid-template-columns:150px 76px minmax(150px,1.1fr) minmax(150px,1.1fr) minmax(180px,1.25fr) minmax(150px,1fr) 88px 132px}
.dot-management-table .card-management-head,.dot-management-table .card-management-row{grid-template-columns:150px 76px minmax(160px,1.2fr) minmax(200px,1.45fr) minmax(150px,1fr) 88px 132px}
.card-management-head{height:44px;padding:0 18px;background:#f6f7f9;border-bottom:1px solid #e7eaf0;color:#525b68;font-size:12px;font-weight:600}
.card-management-row{min-height:86px;padding:12px 18px;border-bottom:1px solid #eceff3;background:#fff}
.card-management-row:last-child{border-bottom:0}
.card-management-row:hover{background:#fcfcfd}
.card-identity,.card-summary>div{display:flex;min-width:0;flex-direction:column;gap:5px}
.card-identity b{color:#4a5360;font-size:12px;font-weight:500}
.card-identity span{color:#7b8592;font-size:12px;font-family:Consolas,"SFMono-Regular",monospace;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.card-summary{display:flex;min-width:0;align-items:center;gap:12px}
.card-cover-cell{display:flex;align-items:center}.card-cover-cell img,.card-summary-placeholder{display:grid;flex:0 0 58px;width:58px;height:58px;place-items:center;border:1px solid #e5e8ed;border-radius:5px;background:#f3f5f7;object-fit:cover;color:#9aa3af;font-size:11px}
.card-title-cell,.card-subtitle-cell{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#252b34;font-size:13px}.card-subtitle-cell{color:#707b89;font-size:12px}
.card-summary>div b,.card-summary>div span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.card-summary>div b{color:#222831;font-size:13px}
.card-summary>div span{color:#7d8794;font-size:12px}
.card-description{display:-webkit-box;overflow:hidden;color:#5f6875;font-size:12px;line-height:1.55;-webkit-box-orient:vertical;-webkit-line-clamp:2}
.card-note{display:-webkit-box;overflow:hidden;color:#747e8b;font-size:12px;line-height:1.55;-webkit-box-orient:vertical;-webkit-line-clamp:2}
.card-note-editor{display:flex;align-items:center;min-width:0;gap:5px}.card-note-editor input{width:100%;min-width:0;padding:6px 7px;border:1px solid #e1e5eb;border-radius:5px;background:#fff;color:#66717f;font:12px inherit;outline:0}.card-note-editor input:focus{border-color:#ff9bab;box-shadow:0 0 0 3px rgba(255,36,66,.08)}.card-note-editor input::placeholder{color:#a1aab5}.card-note-save{display:grid!important;flex:0 0 26px!important;width:26px!important;height:26px!important;padding:0!important;place-items:center;border:1px solid #e5e8ed!important;border-radius:5px!important;background:#fff!important;color:#df4560!important}.card-note-save svg{width:13px;height:13px}
.card-status{display:inline-flex;align-items:center;gap:6px;color:#1c9b59;font-size:12px;font-weight:600}
.card-status i{width:7px;height:7px;border-radius:50%;background:#25bd70;box-shadow:0 0 0 3px rgba(37,189,112,.12)}
.card-status.disabled{color:#929ba7}.card-status.disabled i{background:#aeb6c1;box-shadow:0 0 0 3px rgba(174,182,193,.14)}
.card-row-actions{display:flex;justify-content:flex-start;gap:6px;white-space:nowrap}.card-row-actions .btn{padding:6px 10px;background:#fff}
.modal-box.card-note-modal{width:min(390px,calc(100vw - 28px))}.card-note-modal form{padding:18px 20px 10px}.card-note-modal-field{margin-bottom:10px}.card-note-modal .modal-foot{min-height:58px}
.card-management-empty{min-height:130px;display:grid;place-items:center;color:#8b94a0;border-style:dashed}
@media(max-width:900px){.card-management-table{min-width:1050px}.goods-management-table .card-management-head,.goods-management-table .card-management-row{grid-template-columns:130px 70px 140px 140px 160px 130px 76px 120px}.dot-management-table .card-management-head,.dot-management-table .card-management-row{grid-template-columns:130px 70px 145px 170px 130px 76px 120px;column-gap:14px}}
.materials-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.material-item{position:relative}.material-check{position:absolute;top:8px;left:8px;z-index:2;background:#fff;border-radius:4px;padding:3px}.material-item-actions{display:flex;flex-wrap:wrap;gap:4px}.material-item-actions .btn{padding:5px 7px;font-size:11px}.materials-batch-toolbar{display:flex;align-items:center;gap:12px;margin:0 0 12px;padding:8px 10px;background:#fff;border:1px solid #e3e7ed;border-radius:7px}@media(max-width:1100px){.materials-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:720px){.materials-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* ????????????????????????????? */
.materials-page .materials-grid,.material-picker-panel .materials-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}
.material-item{position:relative}.material-check{position:absolute;top:8px;left:8px;z-index:2;padding:3px;border-radius:4px;background:#fff;box-shadow:0 1px 4px rgba(20,28,40,.12)}
.material-item-actions{display:flex;flex-wrap:wrap;gap:4px}.material-item-actions .btn{padding:5px 7px;font-size:11px}
.materials-batch-toolbar{display:flex;align-items:center;gap:12px;margin:0 0 14px;padding:9px 12px;border:1px solid #e5e9ef;border-radius:7px;background:#fff;font-size:12px}.materials-batch-toolbar label{display:inline-flex;align-items:center;gap:6px}
@media(max-width:1100px){.materials-page .materials-grid,.material-picker-panel .materials-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:720px){.materials-page .materials-grid,.material-picker-panel .materials-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.materials-batch-toolbar{flex-wrap:wrap}}

/* Materials management: six columns on desktop, selection and reorder actions. */
.materials-page .materials-grid,.material-picker-panel .materials-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}
.material-item{position:relative}.material-check{position:absolute;top:8px;left:8px;z-index:2;padding:3px;border-radius:4px;background:#fff;box-shadow:0 1px 4px rgba(20,28,40,.12)}
.material-item-actions{display:flex;flex-wrap:wrap;gap:4px}.material-item-actions .btn{padding:5px 7px;font-size:11px}
.materials-batch-toolbar{display:flex;align-items:center;gap:12px;margin:0 0 14px;padding:9px 12px;border:1px solid #e5e9ef;border-radius:7px;background:#fff;font-size:12px}.materials-batch-toolbar label{display:inline-flex;align-items:center;gap:6px}
@media(max-width:1100px){.materials-page .materials-grid,.material-picker-panel .materials-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:720px){.materials-page .materials-grid,.material-picker-panel .materials-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.materials-batch-toolbar{flex-wrap:wrap}}

.material-item.is-dragging{opacity:.45}.material-item.is-drag-over{outline:2px dashed #ff2442;outline-offset:2px}.material-item{cursor:grab}.material-item:active{cursor:grabbing}

/* ?????????? */
.materials-page .material-item>img,.material-picker-panel .material-choice img{aspect-ratio:1/1!important;object-fit:cover!important}

/* ???????????????????? */
.materials-page .material-item{padding:6px!important}.materials-page .material-item>img{width:70%!important;margin:0 auto!important;aspect-ratio:1/1!important}.materials-page .material-item-meta{margin:5px 0!important;font-size:10px!important}.materials-page .material-item>button{padding:3px 7px!important;font-size:10px!important}

/* ??????????????????? */
.dot-compose-modal .dot-card-editor>.card-inputs{width:100%!important;max-width:none!important;margin:0!important}.dot-compose-modal .dot-card-editor>.card-inputs .form-section{width:100%!important;box-sizing:border-box}
/* ???????????????? */
.materials-page .material-item>img{width:52%!important;margin:0 auto!important;aspect-ratio:1/1!important}
/* Keep the library compact while using the full content width. */
.materials-page{padding-left:10px!important;padding-right:10px!important}
.materials-page .materials-toolbar{margin-bottom:8px!important}
.materials-page .materials-batch-toolbar{margin-bottom:8px!important;padding:6px 10px!important}
.materials-page .materials-grid{gap:8px!important}
.materials-page .material-item{padding:5px!important}
.materials-page .material-item>img{width:60%!important;max-width:112px!important}
.materials-page .material-item>img{width:100%!important;max-width:none!important;aspect-ratio:1/1!important}
.materials-page .material-item{min-height:0!important}
.materials-page .material-item{display:flex!important;flex-direction:column!important;align-items:stretch!important}
.materials-page .material-item-meta{min-height:24px!important}
.overview-stats{grid-template-columns:repeat(6,minmax(0,1fr))}
.overview-tenant-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px}
.overview-tenant-summary .stat{padding:14px 16px}
.overview-tenant-summary .stat strong{font-size:22px}
@media(max-width:900px){.overview-tenant-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}
.commerce-page>.stats{display:none}
.commerce-page .panel{margin-top:0!important}
.tenant-user-meta{margin-top:5px;color:#8a94a3;font-size:11px}
.tenant-customer{background:#fcfdff}
.tenant-customer .tenant-avatar{background:#f1f5ff;color:#5574c8}
.tenant-actions .btn{font-size:11px;padding:6px 9px}
.tenant-table-wrap{overflow:auto;background:#fff}
.tenant-table{width:100%;min-width:1280px;border-collapse:collapse;font-size:11px}
.tenant-table th{height:38px;padding:8px 10px;background:#f7f9fc;color:#536174;white-space:nowrap;font-weight:600;border-bottom:1px solid #e4e8ef}
.tenant-table td{padding:9px 10px;border-bottom:1px solid #edf0f4;color:#354052;white-space:nowrap;vertical-align:middle}
.tenant-table tbody tr:hover{background:#fbfcfe}
.tenant-table-actions{display:flex;gap:5px;align-items:center;flex-wrap:nowrap}.tenant-table-actions .btn{font-size:10px;padding:5px 7px}
.tenant-role{padding:3px 6px;border-radius:4px;background:#f1f4f8;color:#66758a}
.commerce-user-list{gap:0!important}
@media(max-width:1100px){.overview-stats{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:720px){.overview-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* ??????????? */
#overview>.stats{margin-top:0}.commerce-page .commerce-stats{margin-top:0;grid-template-columns:repeat(4,minmax(0,1fr))}.commerce-page>.panel{margin-top:14px}.commerce-page .page-toolbar{margin-top:10px}
@media(max-width:900px){.commerce-page .commerce-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}

#overview>.stats{margin-top:0}.commerce-page .commerce-stats{margin-top:0;grid-template-columns:repeat(4,minmax(0,1fr))}.commerce-page>.panel{margin-top:14px}.commerce-page .page-toolbar{margin-top:10px}@media(max-width:900px){.commerce-page .commerce-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
