*{margin:0;padding:0;box-sizing:border-box}
:root{--primary:#409eff;--primary-dark:#337ecc;--success:#67c23a;--warning:#e6a23c;--danger:#f56c6c;--info:#909399;--text:#303133;--text-secondary:#606266;--text-light:#909399;--border:#dcdfe6;--bg:#f5f7fa;--white:#fff;--shadow:0 2px 12px 0 rgba(0,0,0,.1);--radius:8px;--transition:all .25s ease}
html{scroll-behavior:smooth}
body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;background:var(--bg);color:var(--text);line-height:1.6;-webkit-font-smoothing:antialiased}
::-webkit-scrollbar{width:6px;height:6px}
::-webkit-scrollbar-track{background:transparent}
::-webkit-scrollbar-thumb{background:#c0c4cc;border-radius:3px}
::-webkit-scrollbar-thumb:hover{background:#909399}
.header{display:flex;align-items:center;justify-content:space-between;padding:0 20px;height:56px;background:var(--white);border-bottom:1px solid var(--border);box-shadow:0 1px 4px rgba(0,0,0,.05);position:sticky;top:0;z-index:100}
.header-left{display:flex;align-items:center;gap:10px}
.sidebar-toggle{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid var(--border);border-radius:var(--radius);background:var(--white);font-size:18px;cursor:pointer;transition:var(--transition);color:var(--text-secondary)}
.sidebar-toggle:hover{background:var(--bg);border-color:var(--primary);color:var(--primary)}
.logo{display:inline-flex;align-items:center;gap:8px;font-size:18px;font-weight:700;color:var(--primary);letter-spacing:-0.5px}
.logo-mark{width:30px;height:30px;border-radius:10px;object-fit:contain;background:#fff;box-shadow:0 2px 8px rgba(64,158,255,.16)}
.mobile-page-title{display:none}
.version-badge{font-size:11px;color:var(--text-light);background:var(--bg);padding:2px 6px;border-radius:4px;margin-left:6px;font-weight:400}
.health-status{display:flex;align-items:center;gap:8px;font-size:14px}
.status-dot{width:8px;height:8px;border-radius:50%;background:var(--info);animation:pulse 2s infinite}
.status-dot.online{background:var(--success);animation:none}
.status-dot.offline{background:var(--danger);animation:none}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.5}}
.header-right{display:flex;align-items:center;gap:12px}
.api-key-input-group{display:flex;align-items:center;gap:6px}
.api-key-input-group label{font-size:12px;color:var(--text-light);white-space:nowrap}
.api-key-input{width:180px;padding:6px 10px;border:1px solid var(--border);border-radius:4px;font-size:12px;background:var(--white)}
.api-key-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px rgba(64,158,255,.2)}
.api-key-display{font-size:12px;color:var(--text-light)}
.logout-btn{padding:4px 10px;border:1px solid var(--danger);border-radius:4px;background:var(--white);color:var(--danger);font-size:12px;cursor:pointer;transition:all .2s;white-space:nowrap}
.logout-btn:hover{background:var(--danger);color:var(--white)}
.main-container{display:flex;height:calc(100vh - 56px)}
.sidebar{width:200px;background:var(--white);border-right:1px solid var(--border);overflow-y:auto;flex-shrink:0;transition:width .25s ease,opacity .25s ease}
.sidebar.collapsed{width:0;opacity:0;overflow:hidden;border-right:none}
.sidebar-collapsed .content{margin-left:0}
.nav-menu{padding:8px 0}
.nav-item{display:flex;align-items:center;gap:10px;padding:12px 20px;color:var(--text-secondary);text-decoration:none;transition:var(--transition);cursor:pointer;border-left:3px solid transparent}
.nav-item:hover{background:var(--bg);color:var(--primary)}
.nav-item.active{background:#ecf5ff;color:var(--primary);border-left-color:var(--primary)}
.nav-icon{font-size:18px;width:24px;text-align:center}
.mobile-more-trigger{display:none}
.mobile-convert-actions{display:none}
.content{flex:1;padding:20px;overflow-y:auto;min-width:0}
.page{display:none}
.page.active{display:block}
.card{background:var(--white);border-radius:var(--radius);padding:20px;box-shadow:var(--shadow);margin-bottom:20px;transition:box-shadow .25s ease}
.form-group{margin-bottom:16px}
.form-group label{display:block;margin-bottom:6px;font-size:13px;color:var(--text-secondary);font-weight:500}
.form-input,textarea,select{width:100%;padding:9px 12px;border:1px solid var(--border);border-radius:6px;font-size:14px;transition:border-color .2s,box-shadow .2s;background:var(--white)}
.form-input:focus,textarea:focus,select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px rgba(64,158,255,.15)}
textarea{resize:vertical;font-family:inherit;min-height:80px}
.form-row{display:flex;gap:20px}
.form-row .form-group{flex:1}
.checkbox-group label{display:flex;align-items:center;gap:8px;cursor:pointer}
.checkbox-group input[type="checkbox"]{width:16px;height:16px;cursor:pointer}
.btn-convert{padding:10px 28px;font-size:15px;font-weight:600;border-radius:8px;box-shadow:0 2px 8px rgba(64,158,255,.3)}
.btn-convert:hover{box-shadow:0 4px 16px rgba(64,158,255,.4);transform:translateY(-1px)}
.convert-layout{display:flex;gap:16px;height:calc(100vh - 56px - 40px - 20px - 20px)}
.convert-main{flex:1;display:flex;flex-direction:column;min-width:0;gap:12px}
.convert-top-bar{display:flex;align-items:center;gap:12px;flex-shrink:0}
.convert-textarea-card{flex:1;display:flex;flex-direction:column;overflow:hidden;padding:0;transition:box-shadow .3s ease,border-color .3s ease}
.convert-textarea-card textarea{flex:1;border:none;border-radius:var(--radius);resize:none;padding:16px;font-size:14px;line-height:1.8;min-height:300px}
.convert-textarea-card textarea:focus{outline:none;box-shadow:none}
.convert-textarea-card.convert-success{animation:successFlash 1.2s ease}
.convert-textarea-card.convert-success-persist{border:2px solid #67c23a;box-shadow:0 0 0 2px rgba(103,194,58,.25)}
.convert-textarea-card.convert-warning{animation:warningFlash 1.2s ease}
.convert-textarea-card.convert-warning-persist{border:2px solid #f56c6c;box-shadow:0 0 0 2px rgba(245,108,108,.25)}
.convert-textarea-card.convert-taojin{animation:taojinFlash 1.2s ease}
.convert-textarea-card.convert-taojin-persist{border:2px solid #e6a23c;box-shadow:0 0 0 2px rgba(230,162,60,.25)}
.convert-textarea-card.convert-self-taojin{animation:selfTaojinFlash 1.2s ease}
.convert-textarea-card.convert-self-taojin-persist{border:2px solid #409eff;box-shadow:0 0 0 2px rgba(64,158,255,.25)}
@keyframes successFlash{0%{box-shadow:0 0 0 0 rgba(103,194,58,0)}25%{box-shadow:0 0 0 4px rgba(103,194,58,.5)}50%{box-shadow:0 0 0 4px rgba(103,194,58,.2)}75%{box-shadow:0 0 0 4px rgba(103,194,58,.5)}100%{box-shadow:0 0 0 0 rgba(103,194,58,0)}}
@keyframes warningFlash{0%{box-shadow:0 0 0 0 rgba(245,108,108,0)}25%{box-shadow:0 0 0 4px rgba(245,108,108,.5)}50%{box-shadow:0 0 0 4px rgba(245,108,108,.2)}75%{box-shadow:0 0 0 4px rgba(245,108,108,.5)}100%{box-shadow:0 0 0 0 rgba(245,108,108,0)}}
@keyframes taojinFlash{0%{box-shadow:0 0 0 0 rgba(230,162,60,0)}25%{box-shadow:0 0 0 4px rgba(230,162,60,.5)}50%{box-shadow:0 0 0 4px rgba(230,162,60,.2)}75%{box-shadow:0 0 0 4px rgba(230,162,60,.5)}100%{box-shadow:0 0 0 0 rgba(230,162,60,0)}}
@keyframes selfTaojinFlash{0%{box-shadow:0 0 0 0 rgba(64,158,255,0)}25%{box-shadow:0 0 0 4px rgba(64,158,255,.5)}50%{box-shadow:0 0 0 4px rgba(64,158,255,.2)}75%{box-shadow:0 0 0 4px rgba(64,158,255,.5)}100%{box-shadow:0 0 0 0 rgba(64,158,255,0)}}
.convert-sidebar{flex:1;display:flex;flex-direction:column;gap:12px;overflow:hidden}
.convert-options-card{flex:1;overflow-y:auto}
.convert-options-title{font-size:13px;font-weight:600;color:var(--text-secondary);margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid var(--border)}
.convert-options-card .form-group{margin-bottom:10px}
.convert-options-card .checkbox-group{margin-bottom:6px}
.convert-log{flex:2;overflow-y:auto;min-height:0;max-height:none}
.mobile-copy-all-btn{display:none;width:100%;padding:14px;border:none;border-radius:24px;font-size:16px;font-weight:600;cursor:pointer;background:linear-gradient(135deg,#409eff,#337ecc);color:#fff;box-shadow:0 2px 8px rgba(64,158,255,.3);margin-top:8px;transition:all .2s}
.mobile-copy-all-btn:hover{opacity:.9;transform:translateY(-1px)}
.mobile-copy-all-btn:active{transform:translateY(0) scale(.98)}
.btn{display:inline-flex;align-items:center;justify-content:center;padding:9px 18px;border:1px solid var(--border);border-radius:6px;background:var(--white);color:var(--text);font-size:14px;cursor:pointer;transition:var(--transition);white-space:nowrap;gap:6px}
.btn:hover{border-color:var(--primary);color:var(--primary)}
.btn-primary{background:var(--primary);border-color:var(--primary);color:var(--white)}
.btn-primary:hover{background:var(--primary-dark);border-color:var(--primary-dark);color:var(--white)}
.btn-danger{background:var(--danger);border-color:var(--danger);color:var(--white)}
.btn-danger:hover{background:#f78989;border-color:#f78989}
.btn-success{background:var(--success);border-color:var(--success);color:var(--white)}
.btn-success:hover{background:#85ce61;border-color:#85ce61}
.btn-warning{background:var(--warning);border-color:var(--warning);color:var(--white)}
.btn-warning:hover{background:#ebb563;border-color:#ebb563}
.btn-sm{padding:5px 12px;font-size:12px;border-radius:4px}
.btn:disabled{opacity:.6;cursor:not-allowed}
.btn-row{display:flex;gap:12px;flex-wrap:wrap}
.tabs{display:flex;gap:0;border-bottom:2px solid var(--border)}
.tab{padding:10px 22px;background:none;border:none;border-bottom:2px solid transparent;margin-bottom:-2px;color:var(--text-secondary);font-size:14px;cursor:pointer;transition:var(--transition)}
.tab:hover{color:var(--primary)}
.tab.active{color:var(--primary);border-bottom-color:var(--primary);font-weight:500}
.tab-content{display:none}
.tab-content.active{display:block}
.toolbar{display:flex;gap:10px;margin-bottom:16px;flex-wrap:wrap;align-items:center}

/* 配置页面分组 */
.settings-section{margin-bottom:24px;padding:20px;background:var(--bg);border-radius:var(--radius);border:1px solid #ebeef5}
.settings-section-title{font-size:15px;font-weight:600;color:var(--text);margin-bottom:16px;padding-bottom:10px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:8px}
.settings-section-title::before{content:"";display:inline-block;width:3px;height:16px;background:var(--primary);border-radius:2px}
.template-section{background:transparent}
.template-cards{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important}
.template-card{background:#fff!important;border:1px solid #e4e7ed!important;border-radius:8px!important;padding:16px!important;box-shadow:0 1px 4px rgba(0,0,0,.04)}
.template-card-wide{grid-column:1/-1}
.template-card>div:nth-child(3){flex-wrap:wrap}
.template-status-row{display:flex;gap:6px;flex-wrap:wrap;margin:-2px 0 12px}
.template-status-pill{display:inline-flex;align-items:center;min-height:22px;padding:0 8px;border-radius:999px;background:#f5f7fa;color:#606266;font-size:11px;font-weight:600}
.template-status-pill.is-on{background:#f0f9eb;color:#3f8f3a}
.template-config-panel input[type="text"],.template-config-panel select{min-height:34px}
.takeout-template-editor label{display:block;margin-bottom:4px;color:#666;font-size:12px;font-weight:600}
.takeout-template-editor input[type="text"]{width:100%;padding:6px 10px;border:1px solid #ddd;border-radius:4px;font-size:12px}
.takeout-template-top{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:10px}
.takeout-template-notice-row{margin-bottom:10px}
.takeout-template-latest{margin-bottom:12px;padding:10px;border:1px solid #e4eefc;border-radius:8px;background:#f8fbff}
.takeout-template-latest .takeout-template-top{margin-bottom:0}
.takeout-template-latest-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}
.takeout-template-latest-head label{display:flex;align-items:center;gap:6px;margin:0;color:#333;font-size:13px}
.takeout-template-latest-head span{color:#909399;font-size:12px}
.takeout-template-banners{margin-bottom:12px;padding:10px;border:1px solid #e4eefc;border-radius:8px;background:#f8fbff}
.takeout-template-banners-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:10px}
.takeout-template-banners-head strong{display:block;color:var(--text);font-size:13px}
.takeout-template-banners-head span{display:block;margin-top:2px;color:#909399;font-size:12px;line-height:1.45}
.takeout-template-banners-list{display:flex;flex-direction:column;gap:10px}
.takeout-banner-editor{padding:10px;border:1px solid #e5ebf3;border-radius:8px;background:#fff}
.takeout-banner-editor.is-off{opacity:.58;background:#fafafa}
.takeout-banner-editor-head{display:flex;align-items:center;gap:6px;margin-bottom:8px;flex-wrap:wrap}
.takeout-banner-editor-head label{display:flex;align-items:center;gap:6px;margin:0;color:#333;font-size:13px}
.takeout-banner-editor-grid{display:grid;grid-template-columns:220px minmax(0,1fr);gap:10px;align-items:stretch}
.takeout-banner-preview{position:relative;display:flex;min-height:126px;flex-direction:column;justify-content:flex-end;gap:5px;overflow:hidden;border-radius:8px;padding:12px;background:linear-gradient(135deg,#fff7ed,#eff6ff);background-size:cover;background-position:center;box-shadow:inset 0 0 0 1px rgba(255,255,255,.7)}
.takeout-banner-preview::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.18),rgba(255,255,255,.84))}
.takeout-banner-preview span,.takeout-banner-preview strong,.takeout-banner-preview em{position:relative;z-index:1}
.takeout-banner-preview span{align-self:flex-start;padding:2px 7px;border-radius:999px;background:#fff7ed;color:#ea580c;font-size:11px;font-weight:900}
.takeout-banner-preview strong{color:#172033;font-size:15px;line-height:1.35}
.takeout-banner-preview em{color:#667085;font-size:12px;line-height:1.45;font-style:normal}
.takeout-banner-fields{display:flex;flex-direction:column;gap:8px;min-width:0}
.takeout-banner-inline{display:grid;grid-template-columns:minmax(110px,.6fr) minmax(130px,.7fr) minmax(150px,1fr);gap:8px;align-items:center}
.takeout-banner-inline:last-child{grid-template-columns:minmax(0,1fr) auto}
.takeout-banner-upload{position:relative;overflow:hidden}
.takeout-banner-upload input{position:absolute;inset:0;opacity:0;cursor:pointer}
.takeout-template-service{display:grid;grid-template-columns:minmax(150px,.75fr) minmax(180px,1fr) minmax(160px,.8fr) auto minmax(150px,.8fr);gap:8px;align-items:center;margin-bottom:12px;padding:10px;border:1px solid #eef1f5;border-radius:8px;background:#fafbfc}
.takeout-template-service label{display:flex;align-items:center;gap:6px;margin:0;font-size:13px;color:#333}
.takeout-template-service input[type="file"]{font-size:12px;min-width:0}
.takeout-template-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:12px}
.takeout-template-last-link{min-width:0;color:var(--primary);font-size:12px;word-break:break-all}
.takeout-template-subtitle-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:12px 0 8px}
.takeout-template-subtitle-row strong{font-size:13px;color:var(--text)}
.takeout-template-subtitle-row span{color:#909399;font-size:12px}
.takeout-template-sections{display:flex;flex-direction:column;gap:12px}
.takeout-section-editor{border:1px solid #e4e9f1;border-radius:8px;background:#fff;overflow:hidden}
.takeout-section-editor.is-off{opacity:.68;background:#fafafa}
.takeout-section-editor.is-dragging,.takeout-item-editor.is-dragging{opacity:.55}
.takeout-section-editor.is-drag-over,.takeout-item-editor.is-drag-over{outline:2px dashed var(--primary);outline-offset:-4px;background:#f5fbff}
.takeout-section-editor-head{display:grid;grid-template-columns:auto auto minmax(180px,260px) minmax(0,1fr) auto;gap:10px;align-items:center;padding:10px 12px;background:#f7f9fc;border-bottom:1px solid #edf0f5}
.takeout-section-editor-head label{display:flex;align-items:center;gap:6px;margin:0;color:#333;font-size:13px}
.takeout-section-title-input{font-weight:700}
.takeout-section-hint{color:#909399;font-size:12px;text-align:right}
.takeout-order-handle{cursor:grab;white-space:nowrap}
.takeout-order-handle:active{cursor:grabbing}
.takeout-order-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.takeout-item-editor{display:grid;grid-template-columns:auto auto 56px minmax(120px,.7fr) minmax(150px,.8fr) minmax(180px,1.05fr) minmax(240px,1.15fr) minmax(120px,.65fr) auto;gap:8px;align-items:center;padding:10px 12px;border-bottom:1px solid #f0f2f5}
.takeout-item-editor:last-child{border-bottom:none}
.takeout-item-editor.is-off{opacity:.56}
.takeout-item-editor label{display:flex;align-items:center;justify-content:center;margin:0}
.takeout-item-icon-preview{display:flex;width:40px;height:40px;align-items:center;justify-content:center;overflow:hidden;border:1px solid #e3e9f2;border-radius:8px;background:#eef6ff;color:#2563eb;font-size:13px;font-weight:800;box-shadow:0 6px 14px rgba(37,99,235,.12)}
.takeout-item-icon-preview img{width:100%;height:100%;object-fit:cover;display:block}
.takeout-item-icon-tools{display:grid;grid-template-columns:minmax(120px,1fr) auto auto;gap:6px;align-items:center}
.takeout-item-icon-tools .btn{white-space:nowrap}
.takeout-item-upload{position:relative;overflow:hidden}
.takeout-item-upload input{position:absolute;inset:0;opacity:0;cursor:pointer}
.takeout-icon-picker{display:grid;grid-template-columns:56px minmax(0,1fr);gap:12px;align-items:center}
.takeout-icon-picker-preview{width:48px;height:48px}
.takeout-icon-picker-fields{display:grid;gap:6px}
.takeout-icon-picker-fields label{font-size:13px;font-weight:700;color:var(--text)}
.takeout-icon-picker-fields small{color:var(--text-light);font-size:12px;line-height:1.4}
.takeout-item-default-badge{display:inline-flex;align-items:center;justify-content:center;min-height:28px;padding:0 8px;border-radius:999px;background:#f5f7fa;color:#909399;font-size:12px;font-weight:600}
.takeout-item-url-input.missing{border-color:#f3d19e;background:#fffaf0}
.takeout-template-guides{display:flex;flex-direction:column;gap:8px}
.takeout-guide-editor{display:flex;flex-direction:column;gap:10px;padding:10px;border:1px solid #e4e9f1;border-radius:8px;background:#fff}
.takeout-guide-editor.is-off{opacity:.56;background:#fafafa}
.takeout-guide-editor label{display:flex;align-items:center;gap:6px;margin:0;color:#333;font-size:13px}
.takeout-guide-editor-head{display:flex;align-items:center;justify-content:space-between;gap:10px}
.takeout-guide-editor-grid{display:grid;grid-template-columns:minmax(150px,.7fr) minmax(220px,1.3fr);gap:8px;align-items:center}
.takeout-guide-content-input{grid-column:1/-1;min-height:76px;resize:vertical;padding:8px 10px;line-height:1.6;font-family:inherit}
.takeout-guide-editor-grid .takeout-guide-image-input,
.takeout-guide-editor-grid .takeout-guide-cta-input{grid-column:auto}
.takeout-guide-image-upload{position:relative;overflow:hidden}
.takeout-guide-image-upload input{position:absolute;inset:0;opacity:0;cursor:pointer}
.takeout-guide-detail-editor{display:flex;flex-direction:column;gap:8px;padding:9px;border:1px solid #eef1f5;border-radius:8px;background:#fbfcff}
.takeout-guide-detail-head{display:grid;grid-template-columns:auto minmax(180px,1fr) auto;gap:8px;align-items:center}
.takeout-guide-detail-head label{display:flex;align-items:center;gap:6px;margin:0;color:#333;font-size:13px}
.takeout-guide-detail-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.takeout-guide-detail-blocks{display:flex;flex-direction:column;gap:8px}
.takeout-detail-block-editor{border:1px solid #e7edf5;border-radius:8px;background:#fff;overflow:hidden}
.takeout-detail-block-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 9px;background:#f7f9fc;border-bottom:1px solid #edf0f5}
.takeout-detail-block-head strong{font-size:12px;color:var(--text)}
.takeout-detail-block-head div{display:flex;gap:5px;flex-wrap:wrap}
.takeout-detail-block-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(140px,.6fr) auto;gap:8px;padding:9px}
.takeout-detail-block-body textarea{grid-column:1/-1;min-height:76px;font-size:12px}
.takeout-detail-image-preview{grid-column:1/-1;display:flex;align-items:center;justify-content:center;min-height:120px;max-height:220px;overflow:hidden;border:1px dashed #d8e2ef;border-radius:8px;background:#f8fafc;color:var(--text-light);font-size:12px}
.takeout-detail-image-preview img{display:block;width:auto;max-width:100%;max-height:210px;object-fit:contain;border-radius:6px}
.takeout-detail-image-preview.is-empty{min-height:72px}
.takeout-detail-block-upload{position:relative;overflow:hidden}
.takeout-detail-block-upload input{position:absolute;inset:0;opacity:0;cursor:pointer}
.takeout-guide-entry-editors{display:flex;flex-direction:column;gap:6px;padding-top:8px;border-top:1px dashed #edf0f5}
.takeout-guide-entry-editor{display:grid;grid-template-columns:auto minmax(110px,.5fr) minmax(150px,.75fr) minmax(160px,1fr) minmax(140px,.7fr) minmax(120px,.6fr) auto;gap:8px;align-items:center}
.takeout-guide-entry-editor.is-off{opacity:.55}
.takeout-guide-entry-url-input.missing{border-color:#f3d19e;background:#fffaf0}
.password-input-wrapper{position:relative;display:flex;align-items:center}
.password-input-wrapper .password-input{padding-right:40px}
.password-toggle{position:absolute;right:8px;background:none;border:none;cursor:pointer;font-size:16px;padding:4px;color:var(--text-light);transition:color .2s}
.password-toggle:hover{color:var(--primary)}
.module-help-head{display:flex;align-items:center;gap:6px;padding:10px 12px;margin-bottom:10px;border:1px solid #e8edf5;border-radius:8px;background:#fff;color:var(--text);font-size:14px;font-weight:700}
.help-icon{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;margin-left:4px;border:1px solid #bfdbfe;border-radius:50%;background:#eff6ff;color:#2563eb;font-size:12px;font-weight:800;line-height:1;cursor:pointer;vertical-align:middle}
.help-icon:hover{border-color:var(--primary);background:#ecf5ff;color:var(--primary)}
.help-body{display:flex;flex-direction:column;gap:10px;color:var(--text-secondary);font-size:14px;line-height:1.7}
.help-body strong{color:var(--text)}
.help-body ul{margin:0 0 0 18px;padding:0}
.help-body li{margin:4px 0}

/* 方案页头部：标题 + tabs行（含创建按钮） */
.scheme-page-header{margin-bottom:20px}
.tabs-row{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:20px;border-bottom:1px solid var(--border)}
.tabs-row .tabs{margin-bottom:0;border-bottom:none}
.tabs-row .btn{flex-shrink:0;margin-bottom:8px}

/* 发布结果面板 */
.published-panel{display:flex;flex-direction:column;gap:16px}
.published-result-card{background:var(--white);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;box-shadow:0 1px 4px rgba(0,0,0,.05)}
.result-card-header{display:flex;align-items:center;gap:8px;padding:12px 16px;background:#f0f9eb;border-bottom:1px solid #e1f3d8}
.result-icon{font-size:18px}
.result-title{font-size:15px;font-weight:600;color:#67c23a}
.result-card-body{padding:12px 16px;display:flex;flex-direction:column;gap:10px}
.result-item{display:flex;align-items:center;gap:8px;font-size:13px}
.result-label{color:var(--text-light);min-width:60px;flex-shrink:0}
.result-value{color:var(--text);word-break:break-all;flex:1;min-width:0}
.result-item .btn-copy{padding:2px 6px;font-size:12px;flex-shrink:0}
.result-card-actions{display:flex;gap:8px;padding:10px 16px;border-top:1px solid var(--border);background:#fafafa}
.published-history .history-title{font-size:13px;color:var(--text-light);margin-bottom:8px;font-weight:500}
.search-box{display:flex;gap:8px;align-items:center}

/* 图文方案导入 */
.scheme-import-mode{display:block}
.scheme-import-panel{width:100%}
.scheme-import-layout{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(320px,.7fr);gap:16px;width:100%}
.scheme-import-card{background:var(--white);border:1px solid var(--border);border-radius:8px;padding:16px;box-shadow:0 1px 4px rgba(0,0,0,.04)}
.scheme-import-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}
.scheme-import-card-head h3{font-size:16px;line-height:1.3;margin:0;color:var(--text)}
.scheme-import-card-head p{font-size:12px;color:var(--text-light);line-height:1.5;margin-top:4px}
.scheme-import-textarea{width:100%;min-height:340px;line-height:1.8;resize:vertical}
.scheme-import-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:12px}
.scheme-import-check{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--text-secondary)}
.scheme-import-result{margin-top:14px;display:flex;flex-direction:column;gap:10px}
.scheme-import-empty,.scheme-import-error{padding:14px;border:1px dashed var(--border);border-radius:8px;color:var(--text-light);font-size:13px;background:#fafafa}
.scheme-import-error{color:var(--danger);border-color:#fbc4c4;background:#fef0f0}
.scheme-import-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;border:1px solid #c6e2ff;border-radius:8px;background:#ecf5ff;color:var(--text-secondary);font-size:13px}
.scheme-import-summary strong{font-size:14px;color:var(--text)}
.scheme-import-result-item{border:1px solid var(--border);border-radius:8px;padding:12px;background:#fff}
.scheme-import-result-item.is-ok{border-color:#d1edc4;background:#f8fff5}
.scheme-import-result-item.is-warn{border-color:#f3d19e;background:#fffaf0}
.scheme-import-result-top{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:13px}
.scheme-import-result-top strong{font-size:14px;color:var(--text);font-weight:600}
.scheme-import-result-top span{font-size:12px;color:var(--text-secondary);background:rgba(255,255,255,.8);border:1px solid rgba(0,0,0,.06);border-radius:999px;padding:2px 8px;white-space:nowrap}
.scheme-import-result-meta{margin-top:6px;font-size:12px;color:var(--text-secondary)}
.scheme-import-result-link{margin-top:8px;font-size:12px}
.scheme-import-subresult{display:grid;grid-template-columns:auto minmax(0,1fr);gap:4px 8px;margin-top:8px;padding:8px;border-radius:6px;background:rgba(255,255,255,.7);font-size:12px}
.scheme-import-subresult span:nth-child(2){word-break:break-all;color:var(--text-secondary)}
.scheme-import-subresult em{grid-column:1/-1;color:var(--text-light);font-style:normal}
.scheme-import-rule-form{display:flex;flex-direction:column;gap:8px}
.scheme-import-rule-row{display:grid;grid-template-columns:1fr 110px;gap:8px}
.scheme-import-rules-list{margin-top:14px;display:flex;flex-direction:column;gap:10px}
.scheme-import-rule-item{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:12px;border:1px solid var(--border);border-radius:8px;background:#fff}
.scheme-import-rule-item.is-off{opacity:.65;background:#fafafa}
.scheme-import-rule-main{display:flex;flex-direction:column;gap:4px;min-width:0}
.scheme-import-rule-main strong{font-size:14px;color:var(--text)}
.scheme-import-rule-main span,.scheme-import-rule-main em{font-size:12px;color:var(--text-light);font-style:normal;word-break:break-all}
.scheme-import-rule-actions{display:flex;gap:6px;flex-shrink:0}
@media(max-width:768px){
    .scheme-import-layout{grid-template-columns:1fr}
    .scheme-import-textarea{min-height:260px}
    .template-cards{grid-template-columns:1fr!important}
    .takeout-template-top{grid-template-columns:1fr}
    .takeout-template-latest-head,.takeout-template-banners-head,.takeout-template-subtitle-row{align-items:flex-start;flex-direction:column}
    .takeout-banner-editor-grid,.takeout-banner-inline,.takeout-guide-detail-head,.takeout-detail-block-body{grid-template-columns:1fr}
    .takeout-template-service{grid-template-columns:1fr;align-items:stretch}
    .takeout-section-editor-head{grid-template-columns:1fr}
    .takeout-section-hint{text-align:left}
    .takeout-order-actions{justify-content:flex-start}
    .takeout-item-editor{grid-template-columns:auto auto 48px minmax(0,1fr);gap:8px}
    .takeout-item-editor .takeout-item-title-input,
    .takeout-item-editor .takeout-item-coupon-input,
    .takeout-item-editor .takeout-item-url-input,
    .takeout-item-editor .takeout-item-icon-tools,
    .takeout-item-editor .takeout-item-icon-source,
    .takeout-item-editor .takeout-item-upload,
    .takeout-item-editor .takeout-order-actions,
    .takeout-item-editor .takeout-item-default-badge{grid-column:1/-1}
    .takeout-item-icon-tools{grid-template-columns:1fr}
    .takeout-icon-picker{grid-template-columns:1fr;justify-items:start}
    .takeout-guide-editor-head{align-items:stretch;flex-direction:column}
    .takeout-guide-editor-grid{grid-template-columns:1fr}
    .takeout-guide-entry-editor{grid-template-columns:1fr}
    .takeout-guide-detail-actions{justify-content:flex-start}
    .scheme-import-summary,.scheme-import-rule-item{align-items:stretch;flex-direction:column}
    .scheme-import-rule-actions{width:100%}
    .scheme-import-rule-actions .btn{flex:1}
    .scheme-import-rule-row{grid-template-columns:1fr}
}

/* Stage 7 product library: denser PC rows and readable product detail metadata. */
#spProductList .sp-product-row{
    align-items:stretch;
}

#spProductList .sp-product-main{
    display:flex;
    min-width:0;
    align-items:flex-start;
    gap:12px;
    cursor:pointer;
}

.sp-product-thumb{
    width:56px;
    height:56px;
    flex:0 0 56px;
    object-fit:cover;
    border-radius:8px;
    border:1px solid #e3e9f2;
    background:#f3f7fc;
}

.sp-product-thumb-empty{
    display:flex;
    align-items:center;
    justify-content:center;
    color:#8a95a3;
    font-size:13px;
    font-weight:800;
}

.sp-product-info{
    min-width:0;
    flex:1;
}

.sp-product-title{
    display:block;
    margin:1px 0 7px;
    color:#172033;
    line-height:1.35;
}

.sp-product-meta{
    display:flex;
    min-width:0;
    flex-wrap:wrap;
    gap:6px 10px;
    color:#667085;
    font-size:12px;
    line-height:1.45;
}

.sp-product-meta span{
    max-width:100%;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.sp-product-metrics{
    display:grid;
    grid-template-columns:repeat(2,minmax(82px,1fr));
    gap:7px;
}

.sp-product-metric{
    min-width:0;
    padding:7px 9px;
    border:1px solid #e6ebf2;
    border-radius:8px;
    background:#fbfcfe;
}

.sp-product-metric label,
.product-detail-field label{
    display:block;
    margin-bottom:4px;
    color:#8a95a3;
    font-size:12px;
    font-weight:800;
}

.sp-product-metric strong{
    display:block;
    color:#172033;
    font-size:14px;
    font-weight:900;
    line-height:1.2;
    white-space:nowrap;
}

.sp-product-metric span{
    display:block;
    margin-top:3px;
    color:#8a95a3;
    font-size:11px;
    white-space:nowrap;
}

.sp-product-metric.is-price strong{
    color:#df4b57;
}

.sp-product-state{
    display:flex;
    min-width:0;
    flex-direction:column;
    justify-content:center;
    gap:6px;
    color:#667085;
    font-size:12px;
    line-height:1.35;
}

.sp-product-state span{
    min-width:0;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.sp-product-clicks{
    color:#4b5565;
    font-weight:800;
}

.sp-product-taojin{
    display:inline-flex;
    width:max-content;
    max-width:100%;
    align-items:center;
    padding:3px 8px;
    border-radius:999px;
    background:#f3f7fc;
    color:#718096;
    font-weight:800;
}

.sp-product-taojin.is-active,
.sp-product-taojin.is-external{
    background:#fff4df;
    color:#a96618;
}

.sp-product-actions{
    align-self:center;
    justify-content:flex-end;
    flex-wrap:wrap;
}

.product-detail-modal{
    display:flex;
    flex-direction:column;
    gap:16px;
}

.product-detail-head{
    display:flex;
    gap:14px;
    align-items:flex-start;
}

.product-detail-cover{
    width:86px;
    height:86px;
    flex:0 0 86px;
    object-fit:cover;
    border:1px solid #e3e9f2;
    border-radius:10px;
    background:#f3f7fc;
}

.product-detail-cover-empty{
    display:flex;
    align-items:center;
    justify-content:center;
    color:#8a95a3;
    font-weight:800;
}

.product-detail-title-wrap{
    min-width:0;
    padding-top:2px;
}

.product-detail-title{
    color:#172033;
    font-size:16px;
    font-weight:900;
    line-height:1.5;
    word-break:break-word;
}

.product-detail-subtitle{
    margin-top:6px;
    color:#8a95a3;
    font-size:13px;
}

.product-detail-section{
    padding-top:14px;
    border-top:1px solid #edf1f7;
}

.product-detail-section h4{
    margin:0 0 10px;
    color:#172033;
    font-size:14px;
    font-weight:900;
}

.product-detail-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
}

.product-detail-field{
    min-width:0;
    padding:10px 12px;
    border:1px solid #e6ebf2;
    border-radius:8px;
    background:#fbfcfe;
}

.product-detail-field.is-wide{
    grid-column:1/-1;
}

.product-detail-value{
    min-width:0;
    color:#263244;
    font-size:13px;
    font-weight:700;
    line-height:1.55;
    word-break:break-all;
}

.product-detail-value a{
    color:var(--primary);
    text-decoration:none;
}

.product-detail-value a:hover{
    text-decoration:underline;
}

.product-detail-hint{
    margin-top:4px;
    color:#8a95a3;
    font-size:12px;
    line-height:1.45;
}

.product-detail-actions{
    display:flex;
    gap:8px;
    margin-top:8px;
    flex-wrap:wrap;
}

.product-detail-actions .btn{
    min-height:30px;
    padding:0 10px;
    font-size:12px;
}

.product-detail-footer{
    display:flex;
    justify-content:flex-end;
    gap:8px;
    padding-top:2px;
}

@media(min-width:769px){
    #spProductList .sp-product-row{
        display:grid;
        grid-template-columns:minmax(360px,1fr) minmax(180px,220px) minmax(170px,.45fr) minmax(250px,auto);
        gap:12px;
        padding:12px 14px;
    }

    #spProductList .sp-product-row:hover .sp-product-title{
        color:var(--primary);
    }

    #spProductList .sp-product-actions .btn{
        min-height:32px;
        padding:0 10px;
        font-size:12px;
        white-space:nowrap;
    }

    .modal-content:has(.product-detail-modal){
        width:min(820px,92vw);
    }
}

@media(max-width:768px){
    #spProductList .sp-product-row{
        display:flex;
        flex-direction:column;
        gap:10px;
    }

    #spProductList .sp-product-main{
        width:100%;
    }

    .sp-product-thumb{
        width:58px;
        height:58px;
        flex-basis:58px;
    }

    .sp-product-title{
        white-space:normal;
        word-break:break-word;
    }

    .sp-product-metrics{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .sp-product-state span{
        white-space:normal;
        word-break:break-word;
    }

    .sp-product-actions{
        display:grid;
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:8px;
        width:100%;
        padding-top:10px;
        border-top:1px dashed #e6ebf2;
    }

    .sp-product-actions .btn{
        width:100%;
        min-height:36px;
        justify-content:center;
    }

    .product-detail-head{
        gap:12px;
    }

    .product-detail-cover{
        width:72px;
        height:72px;
        flex-basis:72px;
    }

    .product-detail-grid{
        grid-template-columns:1fr;
    }

    .product-detail-footer{
        display:grid;
        grid-template-columns:1fr 1fr;
    }
}
.search-input-wrap{position:relative;display:flex;align-items:center;flex:1;min-width:0}
.search-input-wrap input{width:100%;padding-right:28px}
.search-clear{position:absolute;right:6px;top:50%;transform:translateY(-50%);cursor:pointer;color:#999;font-size:16px;line-height:1;width:20px;height:20px;display:none;align-items:center;justify-content:center;border-radius:50%;transition:background .15s,color .15s;z-index:1}
.search-clear:hover{background:#eee;color:#333}
.search-clear.visible{display:flex}
.log-search-wrap{flex:0 0 auto;width:200px}
.log-search-wrap .log-search-input{width:100%;padding-right:28px}
.search-box input{width:220px;padding:7px 12px;border:1px solid var(--border);border-radius:6px;font-size:13px;transition:border-color .2s,box-shadow .2s}
.search-box input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px rgba(64,158,255,.15)}
.table-container{background:var(--white);border-radius:var(--radius);box-shadow:0 1px 4px rgba(0,0,0,.06);overflow-x:auto}
.table{width:100%;border-collapse:collapse}
.table th,.table td{padding:10px 14px;text-align:left;border-bottom:1px solid var(--border)}
.table th{background:#fafafa;font-weight:600;font-size:13px;color:var(--text-secondary)}
.table td{font-size:13px;max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.long-url-cell{max-width:400px !important;overflow:visible !important;text-overflow:clip !important;white-space:normal !important;word-break:break-all}
.long-url-text{display:inline;word-break:break-all;white-space:normal}
.btn-icon{padding:2px 6px;font-size:14px;line-height:1;background:transparent;border:1px solid var(--border);border-radius:4px;cursor:pointer;margin-left:6px;vertical-align:middle}
.btn-icon:hover{background:#f0f0f0}
.table tr:hover{background:#f5f7fa}
.pagination{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:20px}
.list-container{display:flex;flex-direction:column;gap:10px}
.list-item{background:var(--white);border-radius:var(--radius);padding:14px 16px;box-shadow:0 1px 4px rgba(0,0,0,.06);display:flex;justify-content:space-between;align-items:center;gap:14px;transition:box-shadow .2s,transform .15s}
.list-item:hover{box-shadow:0 4px 12px rgba(0,0,0,.1);transform:translateY(-1px)}
.list-item-info{flex:1;min-width:0;display:flex;align-items:flex-start;gap:8px}
.list-item-title{font-size:16px;font-weight:600;margin-bottom:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.list-item-desc{font-size:13px;color:var(--text-light);overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;white-space:normal;word-break:break-all}
.list-item-time{font-size:12px;color:#aaa;margin-top:2px}
.taojin-list-time,.taojin-compact-time{font-size:12px;color:#aaa;margin-top:2px}
.commission-text{font-size:12px;color:#999}
.list-item-desc .price{color:#ff4757;font-weight:600}
.list-item-actions{display:flex;gap:8px;flex-shrink:0}
.result-options{padding:12px 20px;display:flex;align-items:center}
.result-options .checkbox-group{margin:0}
.result-options label{margin:0;font-size:14px}
.results-container{display:flex;flex-direction:column;gap:10px}
.result-item{background:var(--white);border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px;transition:var(--transition)}
.result-item:hover{border-color:var(--primary);box-shadow:0 2px 8px rgba(64,158,255,.1)}
.result-url{font-size:14px;word-break:break-all;margin-bottom:8px;color:var(--text)}
.result-url a{color:var(--primary);text-decoration:none}
.result-url a:hover{text-decoration:underline}
.result-meta{display:flex;gap:12px;flex-wrap:wrap;font-size:12px;color:var(--text-light)}
.log-stats-row{display:flex;gap:12px;margin-bottom:16px;flex-wrap:wrap}
.activity-page-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px;flex-wrap:wrap}
.activity-page-header h2{margin:0 0 4px;font-size:22px;color:var(--text)}
.activity-page-header p{margin:0;color:var(--text-light);font-size:13px;line-height:1.7}
.activity-retention{display:inline-flex;align-items:center;padding:8px 12px;background:#f5f7fa;border:1px solid var(--border);border-radius:999px;color:var(--text-light);font-size:12px}
.log-stat-card{flex:1;min-width:100px;background:var(--white);border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px;text-align:center;cursor:pointer;transition:all .2s}
.log-stat-card:hover{border-color:var(--primary);box-shadow:0 2px 8px rgba(64,158,255,.1)}
.log-stat-value{font-size:28px;font-weight:700;color:var(--text);line-height:1.2}
.log-stat-label{font-size:12px;color:var(--text-light);margin-top:4px}
.log-stat-card-error .log-stat-value{color:#f44747}
.log-stat-card-error:hover{border-color:#f44747}
.log-stat-card-warning .log-stat-value{color:#faad14}
.log-stat-card-warning:hover{border-color:#faad14}
.log-filter-row{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;flex-wrap:wrap}
.log-category-tabs{display:flex;gap:4px;flex-wrap:wrap}
.log-cat-btn{padding:5px 14px;border:1px solid var(--border);border-radius:16px;background:var(--white);color:var(--text-light);font-size:13px;cursor:pointer;transition:all .2s}
.log-cat-btn:hover{border-color:var(--primary);color:var(--primary)}
.log-cat-btn.active{background:var(--primary);color:#fff;border-color:var(--primary)}
.log-status-tabs{display:flex;gap:4px;flex-wrap:wrap}
.log-status-btn{padding:5px 14px;border:1px solid var(--border);border-radius:16px;background:var(--white);color:var(--text-light);font-size:13px;cursor:pointer;transition:all .2s}
.log-status-btn:hover{border-color:var(--primary);color:var(--primary)}
.log-status-btn.active{background:#111827;color:#fff;border-color:#111827}
.log-toolbar-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.log-container{background:#1e1e1e;color:#d4d4d4;padding:16px;border-radius:var(--radius);font-family:"Consolas","Monaco","Courier New",monospace;font-size:13px;line-height:1.8;max-height:600px;overflow-y:auto}
.log-line{white-space:pre-wrap;word-break:break-all;padding:1px 0}
.log-line .level-info{color:#4ec9b0}
.log-line .level-warning{color:#dcdcaa}
.log-line .level-error{color:#f44747}
.log-icon{display:inline-block;width:16px;text-align:center;font-weight:bold;margin-right:2px}
.log-icon-success{color:#52c41a}
.log-icon-error{color:#f44747}
.log-icon-warning{color:#faad14}
.log-icon-info{color:#4ec9b0}
.log-time{color:#666;margin-right:4px}
.log-msg{color:#d4d4d4}
.log-success .log-msg{color:#52c41a;font-weight:500}
.log-error .log-msg{color:#f44747}
.log-warning .log-msg{color:#faad14}

.activity-timeline{background:transparent;color:var(--text);padding:0;border-radius:0;font-family:inherit;font-size:inherit;line-height:inherit;max-height:none;overflow-y:visible}
.activity-timeline .loading{padding:40px;text-align:center;color:var(--text-light)}
.log-container.activity-timeline{background:transparent;color:var(--text);padding:0;border:0;box-shadow:none;border-radius:0;font-family:inherit;font-size:inherit;line-height:inherit;max-height:none;overflow-y:visible}
.activity-empty-state{padding:40px 0;text-align:center;color:var(--text-light);font-size:13px;font-weight:800}
.activity-empty-state.is-error{color:var(--danger)}
.activity-item{display:flex;gap:12px;padding:16px;border:1px solid var(--border);border-radius:var(--radius);background:var(--white);margin-bottom:12px;transition:all .2s;cursor:default}
.activity-item:hover{border-color:#d8e6ff;box-shadow:0 6px 18px rgba(17,24,39,.05)}
.activity-status-fail{border-color:#ffd6d6;background:#fffdfd}
.activity-icon{flex:0 0 auto;width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:16px;background:#f5f7fa;line-height:1}
.activity-cat-convert .activity-icon{background:#e6f7ff;color:#1890ff}
.activity-cat-taojin .activity-icon{background:#fff7e6;color:#fa8c16}
.activity-cat-short_url .activity-icon{background:#f6ffed;color:#52c41a}
.activity-cat-system .activity-icon{background:#f9f0ff;color:#722ed1}
.activity-body{flex:1;min-width:0}
.activity-meta-row{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:10px}
.activity-pill{display:inline-flex;align-items:center;padding:3px 8px;border-radius:999px;background:#f5f7fa;color:#606266;font-size:11px;line-height:1.4}
.activity-pill-status{font-weight:600}
.activity-pill-success{background:#f0f9eb;color:#52a24d}
.activity-pill-fail{background:#fff2f0;color:#d4380d}
.activity-title{font-size:15px;font-weight:600;color:var(--text);margin-bottom:6px;display:flex;align-items:center;gap:8px;line-height:1.5}
.activity-count{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:18px;padding:0 5px;background:#ff4d4f;color:#fff;border-radius:9px;font-size:11px;font-weight:600;line-height:1}
.activity-summary{font-size:13px;color:var(--text-light);margin-bottom:10px;line-height:1.7;word-break:break-word}
.activity-actions{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}
.activity-action-buttons{display:flex;gap:8px;flex-wrap:wrap}
.activity-time{font-size:12px;color:#999}
.activity-detail-btn,.activity-copy-btn{display:inline-flex;align-items:center;justify-content:center;padding:5px 12px;border:1px solid var(--border);border-radius:999px;background:var(--white);color:var(--primary);font-size:12px;cursor:pointer;transition:all .15s}
.activity-copy-btn{color:#606266}
.activity-detail-btn:hover,.activity-copy-btn:hover{background:var(--primary);color:#fff;border-color:var(--primary)}

.activity-detail{line-height:1.8;font-size:13px}
.activity-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:16px}
.activity-detail-card{padding:12px;border:1px solid var(--border);border-radius:var(--radius);background:#fafbfc}
.activity-detail-label{font-size:12px;color:var(--text-light);margin-bottom:4px}
.activity-detail-value{font-size:13px;color:var(--text);word-break:break-all}
.activity-detail-row{margin-bottom:8px}
.activity-detail-json{margin-top:12px}
.activity-detail-json pre{background:#f5f5f5;border:1px solid var(--border);border-radius:var(--radius);padding:12px;font-family:"Consolas","Monaco","Courier New",monospace;font-size:12px;line-height:1.6;overflow-x:auto;max-height:300px;overflow-y:auto;white-space:pre-wrap;word-break:break-all}

.load-more-container{text-align:center;padding:16px}
.load-more-container .btn-outline{background:var(--white);color:var(--primary);border:1px solid var(--primary);padding:6px 24px;border-radius:16px;font-size:13px;cursor:pointer;transition:all .2s}
.load-more-container .btn-outline:hover{background:var(--primary);color:#fff}

.auto-refresh-label{display:flex;align-items:center;gap:4px;font-size:13px;color:var(--text-light);cursor:pointer;user-select:none}
.auto-refresh-label input[type="checkbox"]{margin:0}
.log-data-row{margin:2px 0 2px 22px;padding:4px 8px;background:rgba(255,255,255,.06);border-radius:4px;font-size:12px;line-height:1.6}
.log-data-title{color:#8cdb8c;font-weight:500}
.log-data-url{color:#569cd6}
.log-data-taojin{color:#f56c6c;font-weight:500}
.log-data-taoling{color:#e6a23c;font-weight:500}
.log-data-resolved{color:#569cd6;font-size:12px}
.log-data-price{color:#f0a020;font-weight:500}
.log-data-coupon{color:#ff6b6b;font-weight:500}
.log-data-id{color:#888}
.log-data-platform{color:#b392f0;text-transform:uppercase;font-size:11px}
.log-separator{border-top:1px dashed #333;margin:10px 0;padding-top:8px}
.log-separator-text{color:#888;font-size:12px;letter-spacing:.3px}
.log-search-input{padding:7px 12px;border:1px solid var(--border);border-radius:6px;font-size:13px;width:200px;background:var(--white);transition:border-color .2s,box-shadow .2s}
.log-search-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px rgba(64,158,255,.15)}
.modal{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.45);z-index:1000;align-items:center;justify-content:center;backdrop-filter:blur(2px)}
.modal.show{display:flex}
.modal-content{background:var(--white);border-radius:var(--radius);width:500px;max-width:90%;max-height:80vh;overflow-y:auto;animation:modalIn .2s ease}
@keyframes modalIn{from{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}
.modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--border)}
.modal-header h3{font-size:17px}
.modal-close{background:none;border:none;font-size:22px;cursor:pointer;color:var(--text-light);line-height:1;transition:color .2s}
.modal-close:hover{color:var(--text)}
.modal-body{padding:20px}
.mobile-more-backdrop,.mobile-more-sheet{display:none}
.mobile-action-sheet{display:flex;flex-direction:column;gap:10px}
.mobile-action-message{font-size:13px;line-height:1.7;color:var(--text-secondary);background:#f8fafc;border:1px solid #edf0f5;border-radius:var(--radius);padding:12px}
.mobile-action-list{display:flex;flex-direction:column;gap:8px}
.mobile-action-btn,.mobile-action-cancel{width:100%;min-height:42px;border-radius:var(--radius);border:1px solid var(--border);background:var(--white);color:var(--text);font-size:14px;font-weight:600;cursor:pointer}
.mobile-action-primary{background:var(--primary);border-color:var(--primary);color:#fff}
.mobile-action-danger{background:var(--danger);border-color:var(--danger);color:#fff}
.mobile-action-cancel{background:#f5f7fa;color:var(--text-secondary)}
.taojin-mode-tabs{display:flex;gap:0;margin-bottom:18px;border-bottom:2px solid var(--border)}
.taojin-mode-tab{flex:1;padding:10px 0;background:none;border:none;font-size:14px;font-weight:500;color:var(--text-light);cursor:pointer;position:relative;transition:color .2s}
.taojin-mode-tab.active{color:var(--primary)}
.taojin-mode-tab.active::after{content:'';position:absolute;bottom:-2px;left:0;right:0;height:2px;background:var(--primary)}
.taojin-mode-tab:hover{color:var(--primary)}
.required{color:#f56c6c;margin-left:2px}
.toast{position:fixed;top:70px;right:20px;padding:12px 20px;background:var(--white);border-radius:var(--radius);box-shadow:0 4px 16px rgba(0,0,0,.12);font-size:14px;z-index:2000;transform:translateX(120%);transition:transform .3s cubic-bezier(.4,0,.2,1);max-width:400px}
.toast.show{transform:translateX(0)}
.toast.success{border-left:4px solid var(--success)}
.toast.error{border-left:4px solid var(--danger)}
.toast.warning{border-left:4px solid var(--warning)}
.toast.info{border-left:4px solid #409eff}
.badge{display:inline-block;padding:2px 8px;border-radius:10px;font-size:12px}
.badge-success{background:#f0f9eb;color:#67c23a}
.badge-warning{background:#fdf6ec;color:#e6a23c}
.badge-danger{background:#fef0f0;color:#f56c6c}
.badge-info{background:#ecf5ff;color:#409eff}
.empty-state{text-align:center;padding:50px 20px;color:var(--text-light)}
.empty-state .icon{font-size:48px;margin-bottom:12px;opacity:.5}
.empty-state p{font-size:14px}
.loading{text-align:center;padding:20px;color:var(--text-light)}
.loading::after{content:"";display:inline-block;width:20px;height:20px;border:2px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:spin .8s linear infinite;margin-left:8px;vertical-align:middle}
@keyframes spin{to{transform:rotate(360deg)}}
@media(max-width:768px){
    .header{padding:0 10px;height:52px;flex-wrap:nowrap;gap:4px}
    .header-left{flex:0 0 auto;gap:6px}
    .sidebar-toggle{width:32px;height:32px;font-size:16px}
    .logo{font-size:15px}
    .logo-mark{width:26px;height:26px;border-radius:8px}
    .version-badge{display:none}
    .header-center{display:none}
    .header-right{flex:1;justify-content:flex-end;gap:6px;min-width:0}
    .api-key-input-group{flex:1;min-width:0;max-width:160px}
    .api-key-input-group label{display:none}
    .api-key-input{width:100%;font-size:12px;padding:5px 8px}
    .api-key-display{display:none}
    .logout-btn{padding:4px 8px;font-size:11px}

    .main-container{flex-direction:column;height:calc(100vh - 52px);position:relative}
    .sidebar{width:100%;border-right:none;border-bottom:1px solid var(--border);flex-shrink:0;-webkit-overflow-scrolling:touch;transition:opacity .2s ease;max-height:0;opacity:0;overflow:hidden;position:absolute;top:0;left:0;right:0;z-index:50;background:var(--white);box-shadow:0 4px 12px rgba(0,0,0,.1)}
    .sidebar:not(.collapsed){max-height:none;opacity:1;overflow-x:auto;overflow-y:hidden;border-bottom:1px solid var(--border)}
    .nav-menu{display:flex;padding:0;white-space:nowrap;min-width:max-content}
    .nav-item{padding:10px 14px;white-space:nowrap;border-right:none;border-bottom:3px solid transparent;border-left:none;flex-shrink:0}
    .nav-item.active{border-right:none;border-left:none;border-bottom-color:var(--primary)}
    .nav-icon{font-size:16px;width:20px}
    .nav-text{font-size:12px}

    .content{padding:12px;min-width:0;display:flex;flex-direction:column}
    .page.active{display:flex;flex-direction:column;flex:1;min-height:0;overflow-y:auto}
    .card{padding:14px;margin-bottom:14px}
    .form-group label{font-size:12px}
    .form-input,textarea,select{padding:8px 10px;font-size:14px}
    .form-row{flex-direction:column;gap:12px}
    .settings-section{padding:14px;margin-bottom:16px}
    .settings-section-title{font-size:14px;margin-bottom:12px}

    .btn{padding:8px 14px;font-size:13px}
    .btn-primary{padding:8px 14px}
    .btn-row{flex-direction:column;gap:8px}
    .btn-row .btn{width:100%}
    .checkbox-group{margin-top:4px}

    .convert-layout{flex-direction:column;height:auto;gap:10px}
    .convert-main{gap:8px}
    .convert-top-bar{flex-wrap:wrap;gap:8px}
    .convert-top-bar .btn-convert{flex:1}
    .convert-textarea-card{min-height:200px}
    .convert-textarea-card textarea{min-height:200px;padding:12px;font-size:14px}
    .convert-sidebar{width:100%;flex-shrink:1;overflow:visible}
    .convert-options-card{padding:10px 12px}
    .convert-options-card .form-group{margin-bottom:6px}
    .convert-options-card .checkbox-group{display:flex}
    .convert-log{max-height:200px;flex-shrink:1}
    .mobile-copy-all-btn{display:block}

    .toolbar{flex-direction:row;flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:12px}
    .toolbar select{width:auto;min-width:80px}
    .toolbar .btn{width:auto}
    .search-box{flex-direction:row;flex-wrap:wrap;width:100%}
    .search-box input{width:100%;min-width:0}
    .search-input-wrap{width:100%}
    .log-search-wrap{width:100%;flex:1 1 100%}

    .tabs{overflow-x:auto;-webkit-overflow-scrolling:touch}
    .tab{padding:10px 16px;font-size:13px;flex-shrink:0}
    .scheme-page-header{margin-bottom:8px}
    .tabs-row{flex-direction:row;align-items:center;gap:8px;margin-bottom:8px;border-bottom:none}
    .tabs-row .btn{align-self:center;margin-bottom:0;width:auto;flex-shrink:0}

    .list-item{flex-direction:column;align-items:flex-start;padding:12px;overflow:hidden}
    .list-item-title{font-size:14px;white-space:normal;word-break:break-word}
    .list-item-desc{font-size:12px;white-space:normal;word-break:break-all}
    .list-item-actions{width:100%;justify-content:flex-end;margin-top:8px;flex-wrap:wrap}

    .table-container{border-radius:6px;overflow-x:auto}
    .table th,.table td{padding:8px 10px;font-size:12px}
    .table thead{display:none}
    .table tbody{display:flex;flex-direction:column;gap:8px;padding:8px}
    .table tr{display:block;background:var(--white);border:1px solid var(--border);border-radius:var(--radius);padding:12px;box-shadow:0 1px 4px rgba(0,0,0,.05)}
    .table td{display:block;padding:3px 0;border:none;font-size:12px;max-width:100%;white-space:normal;word-break:break-all}
    .table td:first-child{padding-bottom:6px;border-bottom:1px dashed var(--border);margin-bottom:6px}
    .table td:first-child input[type="checkbox"]{width:18px;height:18px}
    .long-url-cell{max-width:100% !important}

    .pagination{gap:8px;margin-top:14px}
    .pagination .btn{padding:6px 12px;font-size:12px}
    #pageInfo{font-size:12px}

    .scheme-layout{flex-direction:column;height:auto;gap:8px;flex:1;min-height:0}
    .scheme-list-panel{width:100%;max-height:calc(100vh - 180px);border-radius:6px;overflow-y:auto;flex:1;min-height:0}
    .scheme-list-panel.has-detail{width:100%}
    .scheme-detail-panel{min-height:400px;border-radius:6px}
    .scheme-detail-header{grid-template-columns:minmax(0,1fr);grid-template-areas:"name" "tag" "actions";padding:8px 10px;gap:6px}
    .scheme-detail-header .scheme-name-input{font-size:14px;padding:5px 8px}
    .scheme-detail-header .save-status{display:none}
    .scheme-detail-header .scheme-tag-selector{flex-wrap:wrap;gap:4px}
    .scheme-detail-header .scheme-tag-selector label{font-size:11px}
    .scheme-detail-header .scheme-tag-selector select{flex:1;min-width:0;font-size:12px;padding:3px 6px}
    .scheme-detail-header .scheme-tag-custom{flex:1;min-width:0;font-size:12px;padding:3px 6px}
    .scheme-detail-content{flex:1;overflow:hidden;padding:8px;display:flex;flex-direction:column;min-height:0}
    .scheme-detail-actions{grid-template-columns:repeat(4,minmax(0,1fr));justify-content:stretch;gap:4px;width:100%}
    .scheme-detail-actions .btn{font-size:11px;padding:3px 8px}
    .scheme-short-url{font-size:11px;padding:6px 8px;margin-bottom:6px}
    .scheme-list-item{padding:12px}
    .scheme-list-item-title{font-size:14px}
    .scheme-list-item-time{font-size:11px}

    /* 工具栏移动端 */
    .toolbar-wrapper{margin-bottom:6px}
    .toolbar-row-main{flex-direction:column;align-items:stretch;gap:6px;padding:8px 10px}
    .toolbar-search-area{flex-direction:row;width:100%;flex-wrap:wrap;gap:6px}
    .search-box{min-width:0;max-width:100%;flex:1 1 100%;flex-wrap:wrap}
    .search-box input{min-width:0;flex:1 1 100%}
    .toolbar-actions-area{width:100%;justify-content:flex-start;padding-left:0;padding-top:0;border-left:none;border-top:none;gap:6px}
    .toolbar-tag-row{padding:6px 10px;gap:4px}
    .tag-chip{padding:3px 10px;font-size:11px}
    .sub-toolbar{flex-direction:row;flex-wrap:wrap;align-items:center;gap:4px;padding:6px 10px;margin-bottom:6px}
    .sub-toolbar-group{flex-wrap:wrap;gap:4px;align-items:center}
    .sub-toolbar-group:first-child{width:100%;padding-bottom:4px;border-bottom:1px solid #f0f0f0;margin-bottom:2px}
    .sub-toolbar-divider{display:none}
    .filter-pill{padding:4px 10px;font-size:11px}
    .sub-toolbar .btn-sm{font-size:11px;padding:4px 8px}
    .sub-toolbar .select-all-label{font-size:12px}

    /* 草稿工具栏移动端 */
    .draft-toolbar{flex-wrap:wrap;gap:6px;padding:6px 8px}
    .draft-toolbar .btn{font-size:11px;padding:4px 10px}
    .draft-toolbar .select-all-label{font-size:12px}

    /* 编辑器侧边栏 -> 底部水平工具栏 */
    .scheme-editor{flex-direction:column-reverse;align-items:stretch;flex:1;min-height:0;overflow:hidden}
    .editor-sidebar{width:100%;flex-direction:row;flex-wrap:wrap;align-items:center;border-right:none;border-top:1px solid var(--border);border-radius:0 0 var(--radius) var(--radius);padding:6px 8px;position:relative;bottom:auto;top:auto;max-height:none;z-index:20;background:var(--white);box-shadow:0 -2px 8px rgba(0,0,0,.06);gap:2px;flex-shrink:0;overflow:visible}
    .sidebar-group{flex-direction:row;gap:2px;padding:0;flex-wrap:nowrap}
    .sidebar-divider{width:1px;height:24px;margin:0 4px}
    .sidebar-btn{width:40px;padding:4px 2px;flex-direction:column;gap:1px}
    .sidebar-icon{font-size:15px}
    .sidebar-label{font-size:9px}
    .sidebar-select-group{flex-direction:row;gap:4px;padding:0;flex-wrap:nowrap}
    .sidebar-select-group select{width:52px;font-size:10px;padding:3px 2px}
    .editor-main{flex:1;overflow-y:auto;min-height:0}

    .aspect-ratio-selector{width:100%;margin-left:0;margin-top:4px}
    .aspect-ratio-selector label{font-size:11px}
    .aspect-ratio-selector select{font-size:11px;padding:3px 6px}

    .block-content .text-editor{padding:10px 12px;font-size:13px;min-height:60px}
    .block-header{padding:6px 10px}
    .block-type-label{font-size:11px}
    .block-action-btn{width:20px;height:20px;font-size:12px}

    .published-toolbar{flex-direction:column;gap:8px;padding:10px 12px}
    .scheme-card{padding:12px;gap:10px}
    .scheme-card-title{font-size:14px}
    .scheme-card-time,.scheme-card-desc{font-size:11px}
    .scheme-card-url{font-size:11px}
    .scheme-card-actions .btn{font-size:11px;padding:3px 8px}

    .scheme-card-grid{grid-template-columns:1fr;gap:10px}

    .mobile-scheme-tabs{display:flex;gap:0;margin-bottom:12px;border:1px solid var(--border);border-radius:8px;overflow:hidden}
    .mobile-scheme-tab{flex:1;padding:10px;border:none;background:var(--white);color:var(--text-light);font-size:14px;font-weight:600;cursor:pointer;transition:var(--transition)}
    .mobile-scheme-tab.active{background:var(--primary);color:#fff}
    .mobile-scheme-tab:not(.active):hover{background:var(--bg)}

    .scheme-layout .scheme-detail-panel{display:none}
    .scheme-layout .scheme-preview-panel{display:none}
    .scheme-layout.show-detail .scheme-list-panel{display:none}
    .scheme-layout.show-detail .scheme-detail-panel{display:flex;flex:1;height:calc(100vh - 56px);min-height:auto}
    .scheme-layout.show-detail .scheme-preview-panel{display:flex;flex:1}
    #schemePage .tab-content.active{display:flex;flex-direction:column;min-height:0}
    .scheme-list-panel .tab-content.active{display:flex;flex-direction:column;min-height:0;flex:1}

    /* 方案工具栏移动端 */
    .scheme-toolbar{flex-direction:column;gap:6px;padding:8px 10px}
    .scheme-toolbar .search-box{min-width:0;max-width:100%;flex:1 1 100%;flex-wrap:wrap}
    .scheme-toolbar .search-box input{min-width:0;flex:1 1 100%}
    .scheme-toolbar .search-box .scheme-filter-select{max-width:45%;flex:1 1 40%}
    .scheme-toolbar .search-box .btn{flex:0 0 auto}
    .scheme-toolbar-actions{flex-wrap:wrap;gap:6px;width:100%}

    /* 方案详情头部移动端 */
    .scheme-tag-selector{flex-wrap:wrap;gap:4px}
    .scheme-tag-selector select{width:100%}
    .scheme-tag-custom{width:100%}

    /* 内容块紧凑模式移动端 */
    .block-compact-bar{padding:6px 8px;gap:6px}
    .block-compact-thumb{width:36px;height:28px}
    .block-compact-info{font-size:11px}
    .block-compact-expand{font-size:10px;padding:2px 6px}
    .block-link-compact{padding:6px 8px;gap:6px;flex-wrap:wrap}
    .block-link-compact-url{font-size:11px;min-width:0;flex:1 1 100%;order:2}
    .block-link-compact-text{font-size:11px;order:1}
    .block-link-expand-btn{font-size:10px;padding:2px 6px;order:3}

    /* 图片编辑器移动端 */
    .image-block-editor img{max-height:150px}
    .image-replace-btn{font-size:11px;padding:3px 8px}

    .modal-content{width:95%;max-width:95%;max-height:90vh;border-radius:12px 12px 0 0;margin:auto auto 0 auto}
    .modal-header{padding:12px 16px}
    .modal-header h3{font-size:16px}
    .modal-body{padding:14px}

    .toast{top:60px;right:12px;left:12px;max-width:none;padding:10px 16px;font-size:13px}

    .log-container{padding:10px;font-size:11px;max-height:400px}
    .log-stats-row{gap:8px}
    .log-stat-card{min-width:70px;padding:10px 8px}
    .log-stat-value{font-size:20px}
    .log-stat-label{font-size:11px}
    .log-filter-row{flex-direction:column;align-items:stretch;gap:8px}
    .log-category-tabs{justify-content:flex-start;flex-wrap:wrap;gap:4px}
    .log-status-tabs{justify-content:flex-start;flex-wrap:wrap;gap:4px}
    .log-toolbar-actions{justify-content:flex-start;flex-wrap:wrap;gap:6px}
    .log-search-input{width:100%}
    .activity-page-header{gap:8px;margin-bottom:12px}
    .activity-page-header h2{font-size:18px}
    .activity-retention{font-size:11px;padding:6px 10px}
    .activity-item{padding:12px;border-radius:var(--radius)}
    .activity-icon{width:32px;height:32px;font-size:14px}
    .activity-title{font-size:14px}
    .activity-summary{font-size:12px}
    .activity-actions{align-items:flex-start}
    .activity-action-buttons{width:100%}
    .activity-detail-btn,.activity-copy-btn{flex:1;padding:6px 8px}
    .activity-detail-grid{grid-template-columns:1fr}

    .empty-state{padding:30px 16px}
    .empty-state .icon{font-size:36px}

    .result-card-header{padding:10px 12px}
    .result-card-body{padding:10px 12px}
    .result-card-actions{flex-direction:column;gap:6px}
    .result-item{font-size:12px}
    .result-label{min-width:50px}

    .block-content .image-upload-area{padding:24px}
    .block-content .image-upload-area .upload-icon{font-size:24px}
    .block-content .image-upload-area .upload-text{font-size:12px}

    .block-style-panel{padding:10px}
    .style-row{flex-wrap:wrap;gap:6px}
    .style-row label{width:100%;font-size:11px}

    .stats-grid{grid-template-columns:repeat(2,1fr);gap:8px}
    .stat-value{font-size:20px}
    .stat-card{padding:12px}
    .stats-header{flex-direction:column;align-items:stretch;gap:10px}
    .stats-header-actions{justify-content:space-between}
    .stats-alerts{grid-template-columns:1fr}
    .stats-two-col,.stats-three-col{grid-template-columns:1fr;gap:12px;margin-bottom:12px}
    .stats-card-header{flex-direction:column;gap:2px}
    .stats-trend-chart{height:180px;gap:6px}
    .trend-bars{height:130px;gap:3px}
    .trend-bar{width:6px}
    .platform-bar-label{width:68px}
    .stats-domain-form{flex-direction:column}
    .stats-domain-form .btn{width:100%}
    .stats-rank-item{gap:8px;padding:9px 0}
    .rank-title,.rank-meta{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}

    .health-row{flex-direction:column}
    .health-card{min-width:auto}
    .health-api-grid{grid-template-columns:repeat(2,1fr)}
    .health-progress{width:80px}

    .published-list-item{padding:10px 12px;gap:6px;flex-wrap:wrap}
    .published-list-item-title{font-size:13px}
    .published-list-item-meta{gap:8px;flex-wrap:wrap}
    .published-list-item-url{max-width:120px;font-size:11px}
    .published-list-item-actions{gap:3px;flex-wrap:nowrap}
    .published-list-item-actions .btn{font-size:13px;padding:3px 5px;min-width:26px}
    .load-more-container{padding:10px}
    .published-filter-bar{flex-wrap:wrap}
    .scheme-tag-selector{flex-wrap:wrap}

    .taojin-toolbar{flex-wrap:wrap;gap:6px}
    .taojin-batch-toolbar{flex-wrap:wrap;gap:6px}
    .sp-toolbar{flex-wrap:wrap;gap:6px}

    .scheme-toolbar{flex-wrap:wrap;gap:6px}
    .scheme-toolbar .search-box{min-width:0;max-width:100%;flex:1 1 100%}
    .scheme-toolbar-actions{flex-wrap:wrap;gap:6px;width:100%}

    .toolbar-row-main{flex-direction:column;align-items:stretch;gap:6px;padding:8px 10px}
    .toolbar-search-area{flex-direction:column;width:100%}

    .clean-by-time-dialog{width:95%;padding:16px}

    .password-input-wrapper .password-input{padding-right:36px}

    #statsPage .card>div[style*="display:flex"]{flex-wrap:wrap}
    #statsPage .card>div[style*="display:flex"] .form-input{flex:1 1 100%}
    #statsPage .card>div[style*="display:flex"] .btn{flex:1 1 auto}

    .sp-list-panel{height:auto;flex:1;min-height:0;max-height:calc(100vh - 118px)}
    .sp-list-panel.has-inner-tabs{height:auto;flex:1;min-height:0;max-height:calc(100vh - 160px)}
    #spTaojin.tab-content.active,
    #spTaojin .tab-content.active{display:flex;flex-direction:column;min-height:0;flex:1}
}

/* 超小屏幕（375px 以下） */
@media(max-width:375px){
    .header{padding:0 8px;height:50px}
    .logo{font-size:14px}
    .nav-item{padding:8px 10px}
    .nav-icon{font-size:14px}
    .nav-text{font-size:11px}
    .content{padding:8px}
    .card{padding:10px}
    .btn{padding:6px 12px;font-size:12px}
    .tab{padding:8px 12px;font-size:12px}

    .sp-list-panel{height:auto;flex:1;min-height:0;max-height:calc(100vh - 108px)}
    .sp-list-panel.has-inner-tabs{height:auto;flex:1;min-height:0;max-height:calc(100vh - 150px)}
    .scheme-list-panel{max-height:calc(100vh - 160px)}
    #spTaojin.tab-content.active,
    #spTaojin .tab-content.active{display:flex;flex-direction:column;min-height:0;flex:1}
}

/* 方案管理左右布局（列表自适应宽度） */
.scheme-layout{display:flex;gap:16px;height:calc(100vh - 200px);min-height:500px}
.scheme-list-panel{width:100%;flex:1;overflow-y:auto;background:var(--white);border-radius:var(--radius);box-shadow:0 1px 4px rgba(0,0,0,.06);display:flex;flex-direction:column}
.scheme-workspace{flex:1;min-width:0;display:flex}
.scheme-workspace .scheme-detail-panel,
.scheme-workspace .scheme-preview-panel{width:100%}
.scheme-layout.daily-report-mode{display:block;height:auto;min-height:0}
.scheme-daily-report-panel{width:100%;min-height:0}
#schemeDailyReport.tab-content.active,.scheme-daily-report-panel.active{display:block}
.daily-report-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.8fr);gap:14px;align-items:start}
.daily-report-main,.daily-report-rules{display:flex;flex-direction:column;gap:14px;min-width:0}
.daily-report-card{background:var(--white);border:1px solid var(--border);border-radius:8px;padding:14px;box-shadow:0 1px 4px rgba(0,0,0,.04)}
.daily-report-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}
.daily-report-card-head h3{margin:0 0 4px;font-size:15px;color:var(--text)}
.daily-report-card-head p{margin:0;color:var(--text-light);font-size:12px;line-height:1.5}
.daily-report-controls{display:flex;align-items:end;gap:8px;flex-wrap:wrap;margin-bottom:10px}
.daily-report-controls label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--text-light)}
.daily-report-controls input{min-width:130px}
.daily-report-textarea{width:100%;min-height:240px;border:1px solid var(--border);border-radius:6px;padding:10px;font-size:13px;line-height:1.6;resize:vertical;background:#fbfcff;color:var(--text)}
.daily-analysis-summary{padding:10px 12px;border:1px solid #dbeafe;background:#eff6ff;border-radius:6px;font-size:13px;color:#1e3a8a;margin-bottom:10px}
.daily-analysis-groups{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:12px}
.daily-analysis-pill{display:inline-flex;align-items:center;border:1px solid #d7e4f4;background:#f8fbff;color:#334155;border-radius:999px;padding:4px 9px;font-size:12px}
.daily-analysis-pill.is-unknown{border-color:#fed7aa;background:#fff7ed;color:#9a3412}
.daily-unknown-head{font-size:12px;font-weight:700;color:var(--text);margin-bottom:8px}
.daily-unknown-list{display:flex;flex-direction:column;gap:6px;max-height:360px;overflow:auto}
.daily-unknown-item{border:1px solid #edf0f5;border-radius:6px;padding:8px 10px;background:#fff}
.daily-unknown-title{font-size:13px;font-weight:600;color:var(--text);line-height:1.4}
.daily-unknown-meta{margin-top:2px;font-size:11px;color:var(--text-light)}
.daily-unknown-url{margin-top:4px;font-size:11px}
.daily-unknown-empty{padding:12px;border:1px dashed #d7e4f4;border-radius:6px;text-align:center;color:var(--text-light);font-size:13px}
.daily-rule-form{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}
.daily-rule-row{display:grid;grid-template-columns:minmax(90px,120px) auto minmax(92px,auto);gap:8px;align-items:center}
.daily-rule-enabled{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--text-light)}
.daily-report-rules-list{display:flex;flex-direction:column;gap:8px;max-height:560px;overflow:auto}
.daily-rule-item{display:grid;grid-template-columns:1fr auto;gap:3px 8px;width:100%;border:1px solid #e5eaf2;background:#fff;border-radius:7px;padding:9px 10px;text-align:left;cursor:pointer;transition:border-color .16s,box-shadow .16s,background .16s}
.daily-rule-item:hover{border-color:var(--primary);box-shadow:0 4px 12px rgba(64,158,255,.10)}
.daily-rule-item.is-disabled{opacity:.55;background:#f8fafc}
.daily-rule-name{font-size:14px;font-weight:700;color:var(--text)}
.daily-rule-meta{font-size:11px;color:var(--text-light);justify-self:end}
.daily-rule-keywords,.daily-rule-tags{grid-column:1 / -1;min-width:0;font-size:12px;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:1100px){
    .daily-report-layout{grid-template-columns:1fr}
    .daily-report-rules-list{max-height:360px}
}
@media(max-width:768px){
    .daily-report-card{padding:12px}
    .daily-report-card-head{flex-direction:column}
    .daily-report-controls{align-items:stretch}
    .daily-report-controls label,.daily-report-controls .btn{width:100%}
    .daily-report-controls input{width:100%;min-width:0}
    .daily-rule-row{grid-template-columns:1fr}
    .daily-rule-meta{justify-self:start}
}

/* 商品库/淘礼金独立滚动面板 */
.sp-list-panel{overflow-y:auto;display:flex;flex-direction:column;height:calc(100vh - 138px)}
.sp-list-panel.has-inner-tabs{height:calc(100vh - 180px)}
@media(min-width:769px){
    #spProducts .sp-list-panel{
        overflow:hidden;
        min-height:0;
    }
    #spProductList{
        flex:1;
        min-height:0;
        overflow:auto;
        padding-right:2px;
        scrollbar-gutter:stable;
    }
}
.scheme-list-panel.has-detail{width:360px;flex-shrink:0}
.scheme-detail-panel{flex:1;background:var(--white);border-radius:var(--radius);box-shadow:0 1px 4px rgba(0,0,0,.06);display:flex;flex-direction:column;overflow:hidden}
.scheme-detail-empty{display:flex;align-items:center;justify-content:center;height:100%;color:var(--text-light);font-size:15px}
.scheme-detail-content{padding:20px;flex:1;overflow-y:auto}
.scheme-detail-header{display:grid;grid-template-columns:minmax(260px,1fr) auto auto;grid-template-areas:"name status actions" "tag tag actions";align-items:start;gap:8px 14px;flex-shrink:0;background:var(--white);padding:12px 16px;border-bottom:1px solid var(--border);box-shadow:0 2px 6px rgba(0,0,0,.05)}
.scheme-name-input{grid-area:name;width:100%;min-width:0;padding:8px 12px;border:1px solid var(--border);border-radius:6px;font-size:16px;font-weight:600;transition:border-color .2s,box-shadow .2s}
.scheme-name-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px rgba(64,158,255,.15)}
.scheme-detail-header .save-status{grid-area:status;justify-self:end;align-self:center;max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.scheme-detail-actions{grid-area:actions;display:grid;grid-template-columns:repeat(2,minmax(56px,auto));gap:6px;align-items:stretch;justify-content:end;align-self:stretch}
.scheme-detail-actions .btn{min-height:32px;padding:4px 10px;white-space:nowrap}
.scheme-detail-panel{min-width:0}
@media(max-width:1180px) and (min-width:769px){
    .scheme-layout{gap:12px}
    .scheme-list-panel.has-detail{width:300px}
    .scheme-detail-header{grid-template-columns:minmax(0,1fr);grid-template-areas:"name" "tag" "actions";gap:8px;padding:10px 12px}
    .scheme-detail-actions{grid-template-columns:repeat(4,minmax(0,1fr));justify-content:stretch;width:100%}
    .scheme-detail-actions .btn{min-width:0;padding:4px 6px}
    .scheme-tag-add-row select{max-width:none;flex:1 1 150px}
}
.scheme-short-url{background:#ecf5ff;padding:10px 16px;border-radius:6px;margin-bottom:16px;font-size:14px;color:var(--primary);word-break:break-all}
.scheme-short-url a{color:var(--primary);text-decoration:none}

/* 方案预览面板 */
.scheme-preview-panel{display:flex;flex-direction:column;flex:1;overflow:hidden}
.scheme-preview-header{flex-shrink:0;padding:14px 20px;border-bottom:1px solid var(--border);background:var(--white)}
.scheme-preview-title-row{display:flex;align-items:center;gap:10px;margin-bottom:6px;flex-wrap:wrap}
.scheme-preview-name{font-size:18px;font-weight:700;margin:0;color:var(--text)}
.scheme-preview-tag{display:inline-block;padding:2px 10px;border-radius:12px;background:#ecf5ff;color:var(--primary);font-size:12px;font-weight:500}
.scheme-preview-tag .scheme-tag{margin:0 4px 0 0}
.scheme-preview-meta{display:flex;align-items:center;gap:16px;margin-bottom:10px;font-size:12px;color:var(--text-light)}
.scheme-preview-url{font-size:12px}
.scheme-preview-url a{color:var(--primary);text-decoration:none}
.scheme-preview-insights{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin:0 0 10px;color:#687385;font-size:12px;font-weight:800;line-height:1.35}
.scheme-preview-insights span{display:inline-flex;align-items:center;min-height:24px;padding:3px 8px;border:1px solid #e5edf6;border-radius:999px;background:#f8fafc}
.scheme-preview-insights .published-short-health.ok{border-color:#cfead9;background:#f1fbf4;color:#2f7a46}
.scheme-preview-insights .published-short-health.warn{border-color:#f8d8a8;background:#fff8ec;color:#9a5a12}
.scheme-preview-insights .published-short-health.err{border-color:#f3b8bd;background:#fff1f2;color:#b4232f}
.scheme-preview-actions{display:flex;gap:6px;flex-wrap:wrap}
.scheme-preview-body{flex:1;overflow:hidden;background:#f5f7fa;position:relative}
.scheme-preview-body iframe{position:absolute;top:0;left:0;z-index:1;width:100%;height:100%;border:none}
.scheme-preview-frame-state{position:absolute;inset:0;z-index:2;align-items:center;justify-content:center;background:rgba(245,247,250,.92);color:#687385;font-size:13px;font-weight:800;text-align:center;padding:20px}
.scheme-preview-frame-state.is-error{background:rgba(255,247,237,.94);color:#9a5a12}

/* 方案列表项 */
.scheme-list-item{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--border);cursor:pointer;transition:background .2s}
.scheme-list-item:hover{background:#f5f7fa}
.scheme-list-item.active{background:#ecf5ff;border-left:3px solid var(--primary)}
.scheme-list-item.pinned{background:#fff7e6}
.scheme-list-item.pinned:hover{background:#fff3d6}
.scheme-list-item-main{flex:1;cursor:pointer;min-width:0}
.scheme-list-item-actions{display:flex;gap:6px;flex-shrink:0;margin-left:12px}
.scheme-list-item-title{font-size:15px;font-weight:600;color:var(--text);margin-bottom:6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.scheme-list-item-time{font-size:12px;color:var(--text-light)}
.scheme-list-item-status{display:inline-block;padding:2px 8px;border-radius:10px;font-size:11px;margin-top:6px}
.scheme-list-item-url{font-size:11px;color:var(--primary);margin-top:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.scheme-list-item-checkbox{flex-shrink:0;margin-right:8px;display:flex;align-items:center}
.scheme-list-item-checkbox input[type="checkbox"]{width:16px;height:16px;cursor:pointer;accent-color:var(--primary)}

.scheme-group-label{padding:8px 16px;font-size:12px;font-weight:600;color:var(--text-light);background:#fafafa;border-bottom:1px solid var(--border);letter-spacing:0.5px}

/* 内容块编辑器 */
.scheme-editor{display:flex;gap:0;position:relative;align-items:flex-start}
.editor-sidebar{width:56px;flex-shrink:0;display:flex;flex-direction:column;gap:0;background:var(--white);border-right:1px solid var(--border);border-radius:var(--radius) 0 0 var(--radius);padding:8px 0;overflow:visible;position:sticky;top:0;z-index:10;max-height:calc(100vh - 240px)}
.sidebar-group{display:flex;flex-direction:column;gap:2px;padding:0 4px}
.sidebar-divider{height:1px;background:var(--border);margin:6px 8px}
.sidebar-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:6px 2px;border:none;background:none;color:var(--text-secondary);font-size:10px;cursor:pointer;border-radius:6px;transition:var(--transition);width:48px}
.sidebar-btn:hover{background:#ecf5ff;color:var(--primary)}
.sidebar-btn.active{background:#ecf5ff;color:var(--primary);box-shadow:inset 0 0 0 1px rgba(64,158,255,.18)}
.sidebar-icon{font-size:16px;line-height:1}
.sidebar-label{font-size:10px;line-height:1;white-space:nowrap}
.sidebar-select-group{gap:4px;padding:0 6px}
.sidebar-select-group select{width:44px;padding:3px 2px;border:1px solid var(--border);border-radius:4px;font-size:11px;background:var(--white);cursor:pointer;text-align:center}
.sidebar-select-group select:focus{outline:none;border-color:var(--primary)}
.editor-main{flex:1;min-width:0;overflow-y:auto}
.editor-toolbar{display:none}
.blocks-container{display:flex;flex-direction:column;gap:10px}
.sidebar-btn[draggable="true"]{user-select:none}
.sidebar-btn.is-dragging-tool{opacity:.65;box-shadow:inset 0 0 0 1px rgba(64,158,255,.35)}
.block-drop-indicator{display:flex;align-items:center;justify-content:center;min-height:30px;border:1px dashed rgba(64,158,255,.55);border-radius:8px;background:rgba(236,245,255,.78);color:var(--primary);font-size:12px;font-weight:700}
.block-drop-indicator span{display:inline-flex;align-items:center;gap:4px}

.scheme-quick-link-panel{display:none;position:absolute;left:62px;top:66px;width:286px;flex-direction:column;gap:8px;margin:0;padding:10px;border:1px solid #e7edf5;border-radius:10px;background:#fbfcff;box-shadow:0 12px 28px rgba(15,23,42,.14);z-index:60}
.scheme-quick-link-panel.is-open{display:flex}
.scheme-quick-link-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}
.scheme-quick-link-title{font-size:12px;font-weight:700;color:var(--text);white-space:nowrap}
.scheme-quick-link-hint{display:none}
.scheme-quick-link-actions{display:flex;align-items:center;gap:4px;flex-shrink:0;flex-wrap:wrap;justify-content:flex-end}
.scheme-quick-link-actions .btn{padding:2px 5px;font-size:10px;min-height:24px}
.scheme-quick-link-list{display:flex;flex-direction:column;gap:6px;max-height:260px;overflow-y:auto}
.scheme-quick-link-empty{padding:8px;border:1px dashed #d8e1ed;border-radius:8px;color:var(--text-light);font-size:11px;text-align:center;line-height:1.4}
.scheme-quick-link-item{position:relative;min-width:0;padding:8px 24px 8px 8px;border:1px solid #e4eaf2;border-radius:8px;background:#fff;cursor:pointer;transition:border-color .16s,box-shadow .16s,transform .16s}
.scheme-quick-link-item:hover{border-color:var(--primary);box-shadow:0 4px 12px rgba(64,158,255,.12);transform:translateY(-1px)}
.scheme-quick-link-note{font-size:12px;font-weight:700;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.scheme-quick-link-url{margin-top:2px;font-size:10px;color:var(--text-light);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.scheme-quick-link-del{position:absolute;top:6px;right:6px;width:18px;height:18px;border:none;border-radius:50%;background:#f1f3f7;color:#8a95a3;cursor:pointer;line-height:18px;padding:0}
.scheme-quick-link-del:hover{background:#fee2e2;color:var(--danger)}

.content-block{position:relative;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;transition:box-shadow .2s}
.content-block:hover{box-shadow:0 2px 8px rgba(0,0,0,.08)}
.block-header{display:flex;justify-content:space-between;align-items:center;padding:6px 10px;background:#f5f7fa;border-bottom:1px solid var(--border)}
.block-type-label{font-size:12px;color:var(--text-light);font-weight:500}
.block-actions{display:flex;gap:4px}
.block-action-btn{width:24px;height:24px;display:flex;align-items:center;justify-content:center;border:none;background:none;cursor:pointer;color:var(--text-light);font-size:14px;border-radius:4px;transition:var(--transition)}
.block-action-btn:hover{background:var(--bg);color:var(--text)}
.block-action-btn.delete:hover{color:var(--danger)}
.block-content{padding:12px}

/* 紧凑模式 - 图片块 */
.block-compact-bar{display:flex;align-items:center;gap:8px;padding:8px 12px;cursor:pointer;transition:background .2s}
.block-compact-bar:hover{background:#f5f7fa}
.block-compact-thumb{width:48px;height:36px;border-radius:4px;object-fit:cover;flex-shrink:0;border:1px solid var(--border)}
.block-compact-thumb-placeholder{width:48px;height:36px;border-radius:4px;background:#f0f2f5;display:flex;align-items:center;justify-content:center;font-size:16px;flex-shrink:0;border:1px solid var(--border)}
.block-compact-info{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;color:var(--text-secondary)}
.block-compact-expand{padding:3px 8px;border:1px solid var(--border);border-radius:4px;background:var(--white);font-size:11px;cursor:pointer;color:var(--text-light);transition:var(--transition);flex-shrink:0}
.block-compact-expand:hover{border-color:var(--primary);color:var(--primary)}

/* 紧凑模式 - 链接块 */
.block-link-compact{display:flex;align-items:center;gap:8px;padding:8px 12px}
.block-link-compact-icon{font-size:14px;flex-shrink:0}
.block-link-compact-url{flex:1;min-width:0;font-size:12px;color:var(--primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.block-link-compact-text{font-size:12px;color:var(--text-light);flex-shrink:0}
.block-link-expand-btn{padding:3px 8px;border:1px solid var(--border);border-radius:4px;background:var(--white);font-size:11px;cursor:pointer;color:var(--text-light);transition:var(--transition);flex-shrink:0}
.block-link-expand-btn:hover{border-color:var(--primary);color:var(--primary)}

.block-content .text-editor{min-height:80px;padding:12px 16px;border:none;border-radius:10px;font-size:14px;line-height:1.8;outline:none;word-break:break-all;white-space:pre-wrap;background:#f5f5f5;transition:background .2s,box-shadow .2s}
.block-content .text-editor:focus{background:#eaeaea;box-shadow:0 0 0 2px rgba(64,158,255,.15)}
.block-content .text-editor a{color:var(--primary);text-decoration:underline;cursor:pointer}
.block-content .text-editor a:hover{color:var(--primary-dark)}

.block-inline-toolbar{display:flex;gap:4px;margin-bottom:8px}
.block-inline-toolbar .inline-btn{padding:3px 8px;border:1px solid var(--border);border-radius:4px;background:var(--white);color:var(--text-light);font-size:11px;cursor:pointer;transition:var(--transition)}
.block-inline-toolbar .inline-btn:hover{border-color:var(--primary);color:var(--primary)}
.block-inline-toolbar .inline-btn.active{background:var(--primary);color:#fff;border-color:var(--primary)}

.block-content img{max-width:100%;height:auto;display:block;margin:0 auto}
.block-content .image-upload-area{border:2px dashed var(--border);border-radius:8px;padding:40px;text-align:center;cursor:pointer;transition:all .2s}
.block-content .image-upload-area:hover{border-color:var(--primary);background:#f5f7fa}
.block-content .image-upload-area .upload-icon{font-size:32px;color:var(--text-light);margin-bottom:8px}
.block-content .image-upload-area .upload-text{font-size:14px;color:var(--text-light)}

/* 图片块编辑器 */
.image-block-editor{display:flex;flex-direction:column;gap:8px}
.image-block-editor img{max-width:100%;max-height:200px;height:auto;border-radius:8px;object-fit:contain}
.image-replace-btn{display:inline-flex;align-items:center;gap:4px;padding:4px 12px;border:1px solid var(--border);border-radius:4px;background:var(--white);color:var(--text-light);font-size:12px;cursor:pointer;transition:var(--transition)}
.image-replace-btn:hover{border-color:var(--primary);color:var(--primary)}

/* 链接块编辑器 */
.link-block-editor{display:flex;flex-direction:column;gap:10px;padding:8px 0}
.link-field{display:flex;flex-direction:column;gap:4px}
.link-field label{font-size:12px;color:var(--text-light);font-weight:500}
.link-url-input,.link-text-input{width:100%;padding:8px 10px;border:1px solid var(--border);border-radius:6px;font-size:13px;transition:border-color .2s}
.link-url-input:focus,.link-text-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px rgba(232,115,80,.15)}
.link-preview{padding:10px 12px;background:#fdf9f6;border-radius:8px;text-align:center;border:1px dashed #f0d5c0}
.link-preview a{display:inline-block;padding:10px 28px;background:linear-gradient(135deg,#f08c6a 0%,#e87350 100%);color:#fff;text-decoration:none;border-radius:20px;font-size:14px;font-weight:600;transition:all .2s;box-shadow:0 2px 8px rgba(232,115,80,.25)}
.link-preview a:hover{transform:translateY(-1px);box-shadow:0 4px 12px rgba(232,115,80,.35)}

/* 图片宽高比容器 */
.image-aspect-wrapper{overflow:hidden;border-radius:8px;width:100%;max-height:200px}
.image-aspect-wrapper img{width:100%;height:100%;object-fit:contain;display:block}
.aspect-1-1 .image-aspect-wrapper{aspect-ratio:1/1}
.aspect-4-3 .image-aspect-wrapper{aspect-ratio:4/3}
.aspect-16-9 .image-aspect-wrapper{aspect-ratio:16/9}
.aspect-3-4 .image-aspect-wrapper{aspect-ratio:3/4}
.aspect-9-16 .image-aspect-wrapper{aspect-ratio:9/16}
.image-aspect-wrapper.aspect-auto{aspect-ratio:auto;max-height:none}
.image-aspect-wrapper.aspect-auto img{height:auto;object-fit:contain}

/* 块级图片比例选择器 */
.block-aspect-select{padding:3px 6px;border:1px solid var(--border);border-radius:4px;font-size:11px;background:var(--white);cursor:pointer;color:var(--text)}

/* 链接输入弹窗 */
.link-input-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.4);z-index:1000;display:flex;align-items:center;justify-content:center}
.link-input-dialog{background:var(--white);border-radius:12px;padding:20px;width:90%;max-width:380px;box-shadow:0 8px 32px rgba(0,0,0,.15)}
.link-input-title{font-size:15px;font-weight:600;margin-bottom:12px;color:var(--text)}
.link-input-field{width:100%;padding:8px 12px;border:1px solid var(--border);border-radius:6px;font-size:14px;box-sizing:border-box;outline:none}
.link-input-field:focus{border-color:var(--primary)}
.link-input-actions{display:flex;gap:8px;margin-top:12px;justify-content:flex-end}
.link-input-cancel,.link-input-confirm{padding:6px 16px;border-radius:6px;font-size:13px;cursor:pointer;border:1px solid var(--border)}
.link-input-cancel{background:var(--white);color:var(--text)}
.link-input-confirm{background:var(--primary);color:#fff;border-color:var(--primary)}
.link-input-cancel:hover{background:#f5f5f5}
.link-input-confirm:hover{opacity:.9}

/* 图片上传状态 */
.upload-status{display:flex;align-items:center;gap:8px;padding:8px;color:var(--primary);font-size:13px}
.upload-spinner{width:16px;height:16px;border:2px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:spin .6s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}

/* 全局任务指示器 */
.global-task-bar{position:fixed;top:12px;right:12px;z-index:2000;display:none;flex-direction:column;gap:8px;max-width:320px}
.task-indicator{position:relative;background:var(--white);border-radius:8px;padding:10px 32px 10px 12px;box-shadow:0 2px 12px rgba(0,0,0,.12);overflow:hidden;font-size:13px;color:var(--text);display:flex;align-items:center;gap:8px;animation:taskSlideIn .3s ease}
@keyframes taskSlideIn{from{opacity:0;transform:translateX(20px)}to{opacity:1;transform:translateX(0)}}
.task-ind-progress{position:absolute;left:0;top:0;height:100%;background:rgba(59,130,246,.08);transition:width .5s ease;pointer-events:none}
.task-ind-label{position:relative;z-index:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.task-ind-close{position:absolute;right:6px;top:50%;transform:translateY(-50%);background:none;border:none;font-size:16px;cursor:pointer;color:var(--text-light);padding:0 4px;line-height:1;z-index:1}
.task-ind-close:hover{color:var(--text)}
.task-ind-completed .task-ind-progress{background:rgba(34,197,94,.1)}
.task-ind-failed .task-ind-progress{background:rgba(239,68,68,.1)}

/* 转链任务状态 */
.convert-task-waiting{padding:16px;text-align:center;color:var(--text-light);font-size:13px}
.convert-task-error{padding:16px;text-align:center;color:#ef4444;font-size:13px}

/* 图片比例选择器 */
.aspect-ratio-selector{display:flex;align-items:center;gap:6px;margin-left:auto}
.aspect-ratio-selector label{font-size:12px;color:var(--text-light);white-space:nowrap}
.aspect-ratio-selector select{padding:4px 8px;border:1px solid var(--border);border-radius:4px;font-size:12px;background:var(--white);cursor:pointer}

/* 块样式设置面板 */
.block-style-panel{padding:12px;background:#fafafa;border-top:1px solid var(--border)}
.style-row{display:flex;align-items:center;gap:8px;margin-bottom:8px}
.style-row label{font-size:12px;color:var(--text-light);width:60px;flex-shrink:0}
.style-row input[type="color"]{width:40px;height:28px;border:1px solid var(--border);border-radius:4px;cursor:pointer;padding:2px}
.style-row input[type="text"],.style-row select{flex:1;padding:4px 8px;border:1px solid var(--border);border-radius:4px;font-size:12px}
.style-row input[type="range"]{flex:1}

/* 方案管理工具栏（两行分区） */
.toolbar-wrapper{background:var(--white);border-radius:var(--radius);box-shadow:0 1px 4px rgba(0,0,0,.04);overflow:hidden;margin-bottom:12px}
.toolbar-row-main{display:flex;align-items:center;gap:10px;padding:10px 16px;border-bottom:1px solid var(--border);flex-wrap:wrap}
.toolbar-search-area{display:flex;align-items:center;gap:8px;flex:1;min-width:0}
.toolbar-sort-select{padding:7px 24px 7px 10px;border:1px solid var(--border);border-radius:6px;font-size:12px;background:var(--white);color:var(--text);cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%23909399'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center}
.toolbar-actions-area{display:flex;align-items:center;gap:8px;flex-shrink:0;padding-left:12px;border-left:1px solid #eee}
.toolbar-divider{width:1px;height:20px;background:var(--border);flex-shrink:0}

/* 标签筛选栏（横向芯片） */
.toolbar-tag-row{display:flex;align-items:center;gap:6px;padding:8px 16px;overflow-x:auto;scrollbar-width:thin;background:#fafbfc}
.toolbar-tag-row::-webkit-scrollbar{height:4px}
.toolbar-tag-row::-webkit-scrollbar-thumb{background:#ddd;border-radius:2px}
.tag-label{font-size:12px;color:var(--text-light);white-space:nowrap;flex-shrink:0}
.tag-chip{display:inline-flex;align-items:center;gap:4px;padding:4px 14px;border:1px solid var(--border);border-radius:20px;font-size:12px;color:var(--text-secondary);background:var(--white);cursor:pointer;transition:all .15s;white-space:nowrap;flex-shrink:0}
.tag-chip:hover{border-color:var(--primary);color:var(--primary)}
.tag-chip.active{background:var(--primary);color:#fff;border-color:var(--primary)}
.tag-chip.active:hover{background:var(--primary-dark);border-color:var(--primary-dark);color:#fff}
.tag-count{opacity:.65;font-size:11px}
.tag-add-btn{padding:4px 12px;border:1px dashed var(--border);border-radius:20px;font-size:12px;color:var(--text-light);background:none;cursor:pointer;transition:all .15s;white-space:nowrap;flex-shrink:0}
.tag-add-btn:hover{border-color:var(--primary);color:var(--primary)}

/* 已发布 Tab 子工具栏（独立卡片样式） */
.sub-toolbar{display:flex;align-items:center;gap:12px;padding:10px 16px;background:var(--white);border-radius:var(--radius);box-shadow:0 1px 4px rgba(0,0,0,.04);margin-bottom:12px;flex-wrap:wrap;position:sticky;top:0;z-index:10}
/* 草稿 Tab 工具栏（列表顶部灰条） */
.draft-toolbar{display:flex;align-items:center;gap:8px;padding:8px 12px;background:#fafafa;border-bottom:1px solid var(--border);border-radius:var(--radius) var(--radius) 0 0;position:sticky;top:0;z-index:10}
.sub-toolbar-group{display:flex;align-items:center;gap:6px}
.sub-toolbar-divider{width:1px;height:18px;background:#e0e0e0;flex-shrink:0}
.filter-pill{padding:5px 14px;border:1px solid var(--border);border-radius:16px;font-size:12px;color:var(--text-secondary);background:var(--white);cursor:pointer;transition:all .15s;white-space:nowrap}
.filter-pill:hover{border-color:var(--primary);color:var(--primary)}
.filter-pill.active{background:var(--primary);color:#fff;border-color:var(--primary)}

/* 标签芯片右键菜单 */
.tag-context-menu{position:fixed;z-index:9999;background:var(--white);border:1px solid var(--border);border-radius:8px;box-shadow:0 4px 20px rgba(0,0,0,.12);min-width:150px;padding:4px 0;display:none}
.tag-context-menu.show{display:block}
.tag-context-menu .ctx-item{display:flex;align-items:center;gap:8px;padding:8px 14px;font-size:13px;color:var(--text);cursor:pointer;transition:background .1s;border:none;background:none;width:100%;text-align:left}
.tag-context-menu .ctx-item:hover{background:#f5f7fa}
.tag-context-menu .ctx-divider{height:1px;background:var(--border);margin:4px 0}
.tag-context-menu .ctx-item.danger{color:var(--danger)}
.tag-context-menu .ctx-item.danger:hover{background:#fef0f0}

/* 标签管理弹窗 */
.tag-modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.45);z-index:9998;display:none;align-items:center;justify-content:center}
.tag-modal-overlay.show{display:flex}
.tag-modal-dialog{background:var(--white);border-radius:12px;padding:24px;width:420px;max-width:90vw;box-shadow:0 8px 32px rgba(0,0,0,.15)}
.tag-modal-dialog h3{margin:0 0 16px;font-size:16px;color:var(--text)}
.tag-modal-dialog .tag-modal-body{margin-bottom:20px}
.tag-modal-dialog .tag-modal-body label{display:block;font-size:13px;color:var(--text-secondary);margin-bottom:6px}
.tag-modal-dialog .tag-modal-body input,.tag-modal-dialog .tag-modal-body select{width:100%;padding:9px 12px;border:1px solid var(--border);border-radius:6px;font-size:14px;outline:none;box-sizing:border-box}
.tag-modal-dialog .tag-modal-body input:focus,.tag-modal-dialog .tag-modal-body select:focus{border-color:var(--primary);box-shadow:0 0 0 2px rgba(64,158,255,.1)}
.tag-modal-dialog .tag-modal-hint{font-size:12px;color:var(--text-light);margin-top:6px}
.tag-modal-dialog .tag-modal-actions{display:flex;justify-content:flex-end;gap:10px}

.preview-modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.5);z-index:10000;display:none;align-items:center;justify-content:center}
.preview-modal-overlay.show{display:flex}
.preview-modal-dialog{background:var(--white);border-radius:12px;width:min(480px,95vw);max-height:90vh;display:flex;flex-direction:column;box-shadow:0 8px 32px rgba(0,0,0,.2)}
.preview-modal-header{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;border-bottom:1px solid var(--border);flex-shrink:0}
.preview-modal-header h3{margin:0;font-size:15px;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}
.preview-modal-close{background:none;border:none;font-size:22px;color:var(--text-light);cursor:pointer;padding:0 4px;line-height:1}
.preview-modal-close:hover{color:var(--text)}
.preview-modal-body{flex:1;overflow:hidden;padding:0}
.preview-modal-body iframe{width:100%;height:65vh;border:none;background:#fff}
.preview-modal-footer{display:flex;justify-content:center;gap:10px;padding:12px 20px;border-top:1px solid var(--border);flex-shrink:0}

.save-status{font-size:12px;color:var(--text-light);margin-left:8px;white-space:nowrap;align-self:center}
.save-status.saving{color:var(--primary)}
.save-status.saved{color:#67c23a}
.save-status.dirty{color:#e6a23c}

/* 已发布方案卡片网格 */
.published-toolbar{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:#fafafa;border-bottom:1px solid var(--border);margin-bottom:16px;border-radius:var(--radius)}
.select-all-label{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--text);cursor:pointer}
.select-all-label input[type="checkbox"]{width:16px;height:16px;cursor:pointer}
.scheme-toolbar{display:flex;align-items:center;gap:10px;padding:8px 16px;background:#fafafa;border-bottom:1px solid var(--border);margin-bottom:8px;border-radius:var(--radius);flex-wrap:wrap}
.scheme-toolbar .search-box{display:flex;gap:6px;flex:1;min-width:200px;max-width:600px;align-items:center}
.scheme-toolbar .search-box input{flex:1;min-width:0}
.scheme-filter-select{padding:6px 8px;border:1px solid var(--border);border-radius:6px;font-size:12px;background:var(--white);color:var(--text);cursor:pointer;transition:border-color .2s;max-width:110px;display:none}
.scheme-toolbar-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}
.taojin-toolbar{display:flex;align-items:center;gap:10px;padding:8px 16px;background:#fafafa;border-bottom:1px solid var(--border);margin-bottom:8px;border-radius:var(--radius);position:sticky;top:0;z-index:10}
.sp-toolbar{display:flex;align-items:center;gap:10px;margin-bottom:12px;position:sticky;top:0;z-index:10;background:var(--white);padding:10px 12px;border-radius:var(--radius) var(--radius) 0 0;box-shadow:0 1px 4px rgba(0,0,0,.04)}
.taojin-batch-toolbar{display:flex;align-items:center;gap:10px;padding:8px 12px;background:#fafafa;border-bottom:1px solid var(--border);margin-bottom:8px;border-radius:var(--radius);position:sticky;top:0;z-index:10}
.clean-by-time-modal{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:1000}
.clean-by-time-dialog{background:var(--white);border-radius:var(--radius);padding:24px;width:420px;max-width:90vw;box-shadow:var(--shadow)}
.clean-by-time-dialog h3{margin-bottom:16px;font-size:16px;color:var(--text)}
.clean-by-time-dialog .form-group{margin-bottom:12px}
.clean-by-time-dialog label{display:block;font-size:13px;color:var(--text-secondary);margin-bottom:4px}
.clean-by-time-dialog select,.clean-by-time-dialog input{width:100%;padding:8px 12px;border:1px solid var(--border);border-radius:4px;font-size:14px}
.clean-by-time-dialog .preview-info{padding:8px 12px;background:#f0f9eb;border-radius:4px;font-size:13px;color:var(--success);margin:12px 0}
.clean-by-time-dialog .preview-info.empty{background:#fdf6ec;color:var(--warning)}
.clean-by-time-dialog .dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:16px}
.taojin-checkbox{margin-right:8px;width:16px;height:16px;cursor:pointer;vertical-align:middle}
.scheme-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px;padding:0 4px}
.mobile-scheme-tabs{display:none}
.scheme-card{background:var(--white);border:1px solid var(--border);border-radius:var(--radius);padding:16px;display:flex;gap:12px;align-items:flex-start;transition:box-shadow .2s,transform .15s;min-height:140px}
.scheme-card:hover{box-shadow:0 4px 12px rgba(0,0,0,.08);transform:translateY(-1px)}
.scheme-card-checkbox{flex-shrink:0;padding-top:2px}
.scheme-card-checkbox input[type="checkbox"]{width:16px;height:16px;cursor:pointer}
.scheme-card-body{flex:1;min-width:0}
.scheme-card-title{font-size:15px;font-weight:600;color:var(--text);margin-bottom:6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.scheme-card-time{font-size:12px;color:var(--text-light);margin-bottom:6px}
.scheme-card-desc{font-size:12px;color:var(--text-light);margin-bottom:6px}
.scheme-card-url{font-size:12px;color:var(--text-light);word-break:break-all;margin-bottom:10px;background:#f5f5f5;padding:6px 10px;border-radius:6px;cursor:pointer;transition:background .2s}
.scheme-card-url:hover{background:#e8e8e8}
.scheme-card-actions{display:flex;gap:8px;flex-wrap:wrap}
.scheme-card-actions .btn{font-size:12px;padding:4px 10px}

.scheme-list-panel.full-width{width:100%;flex:1;max-height:none}
.scheme-list-panel.full-width .scheme-card-grid{grid-template-columns:1fr}
@media(min-width:768px){.scheme-list-panel.full-width .scheme-card-grid{grid-template-columns:1fr 1fr 1fr}}
@media(min-width:1200px){.scheme-list-panel.full-width .scheme-card-grid{grid-template-columns:1fr 1fr 1fr 1fr}}

/* 移动端适配 - 方案管理单栏切换 */
.scheme-back-btn{display:none;padding:6px 12px;border:1px solid var(--border);border-radius:4px;background:var(--white);font-size:12px;cursor:pointer;margin-bottom:12px}
.scheme-back-btn:hover{border-color:var(--primary);color:var(--primary)}
.preview-back-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    flex:0 0 auto;
    min-height:34px;
    padding:0 12px;
    border:1px solid #dfe6f0;
    border-radius:10px;
    background:#fff;
    color:#172033;
    font-size:13px;
    font-weight:800;
    cursor:pointer;
}
.preview-back-btn:hover{
    border-color:var(--primary);
    color:var(--primary);
    background:#f7fbff;
}
@media(max-width:768px){
    .scheme-layout.mobile-detail-active{flex-direction:column}
    .scheme-layout.mobile-detail-active .scheme-list-panel{display:none}
    .scheme-layout.mobile-detail-active .scheme-detail-panel{width:100%;height:calc(100vh - 56px);min-height:auto;flex:1}
    .scheme-layout.mobile-detail-active .scheme-preview-panel{width:100%;flex:1;min-height:calc(100vh - 120px)}
    .scheme-layout.mobile-detail-active .scheme-back-btn,
    .scheme-layout.show-detail .scheme-back-btn{display:inline-flex;position:sticky;top:0;z-index:10;background:var(--white);padding:8px 10px;margin:0 -8px 8px;border-bottom:1px solid var(--border);border-radius:0;border-left:none;border-right:none;width:calc(100% + 16px);font-size:12px}
    .preview-back-btn{
        min-height:32px;
        padding:0 10px;
        font-size:12px;
    }
    .preview-back-btn:hover{color:var(--primary)}
}

/* 图片点击放大遮罩层 */
.image-lightbox{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.85);z-index:9999;justify-content:center;align-items:center;cursor:pointer}
.image-lightbox.show{display:flex}
.image-lightbox img{max-width:90vw;max-height:90vh;object-fit:contain;border-radius:4px;box-shadow:0 4px 24px rgba(0,0,0,.5)}
.image-lightbox .lightbox-close{position:absolute;top:16px;right:24px;color:#fff;font-size:32px;cursor:pointer;opacity:.8;transition:opacity .2s;line-height:1}
.image-lightbox .lightbox-close:hover{opacity:1}

/* 淘礼金产品卡片样式 */
.taojin-page-header{display:flex;align-items:center;justify-content:flex-end;margin-bottom:20px}
.taojin-view-toggle{display:flex;gap:4px;border:1px solid var(--border);border-radius:6px;overflow:hidden}
.view-btn{padding:6px 12px;border:none;background:var(--white);color:var(--text-light);font-size:16px;cursor:pointer;transition:var(--transition)}
.view-btn:hover{color:var(--primary);background:var(--bg)}
.view-btn.active{background:var(--primary);color:#fff}
.taojin-finished-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.taojin-compact-card{background:var(--white);border:1px solid var(--border);border-radius:var(--radius);padding:14px;display:flex;flex-direction:column;gap:8px;transition:box-shadow .2s,transform .15s}
.taojin-compact-card:hover{box-shadow:0 4px 12px rgba(0,0,0,.08);transform:translateY(-1px)}
.taojin-compact-header{display:flex;align-items:center;gap:8px}
.taojin-compact-amount{font-size:18px;font-weight:700;color:#ff9f43}
.taojin-compact-amount::before{content:"¥";font-size:12px}
.taojin-compact-type{font-size:11px;padding:2px 6px;border-radius:4px;background:linear-gradient(135deg,#ff9f43,#f39c12);color:#fff}
.taojin-compact-body{flex:1;min-width:0}
.taojin-compact-title{font-size:13px;font-weight:600;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.taojin-compact-price{font-size:12px;color:var(--text-light);margin-top:4px}
.taojin-compact-price .price{color:#ff4757;font-weight:700;font-size:16px}
.taojin-compact-price .price::before{content:"¥";font-size:11px}
.taojin-compact-price .original{color:#999;text-decoration:line-through;margin-left:6px;font-size:12px}
.taojin-compact-actions{display:flex;gap:6px;margin-top:4px;flex-wrap:wrap;align-items:center}
.taojin-compact-actions .btn{font-size:11px;padding:3px 8px}
.btn-shorturl{font-size:11px !important;padding:3px 8px !important;background:#f0f5ff !important;color:#4080ff !important;border:1px solid #b3d0ff !important;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;transition:background .2s}
.btn-shorturl:hover{background:#dce8ff !important}
.btn-shorturl:active{background:#c8dcff !important}
.taojin-list-mode .taojin-list-row{display:flex;align-items:center;gap:12px;padding:10px 14px;background:var(--white);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:8px;transition:box-shadow .2s}
.taojin-list-mode .taojin-list-row:hover{box-shadow:0 2px 8px rgba(0,0,0,.06)}
.taojin-list-amount{font-size:16px;font-weight:700;color:#ff9f43;flex-shrink:0;min-width:50px}
.taojin-list-amount::before{content:"¥";font-size:11px}
.taojin-list-info{flex:1;min-width:0}
.taojin-list-title{font-size:13px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.taojin-list-price{font-size:12px;color:var(--text-light)}
.taojin-list-price .price{color:#ff4757;font-weight:600}
.taojin-list-actions{display:flex;gap:6px;flex-shrink:0}
.taojin-list-actions .btn{font-size:11px;padding:3px 8px}
.product-card{background:var(--white);border-radius:var(--radius);overflow:hidden;box-shadow:0 2px 12px rgba(0,0,0,.06);margin-bottom:16px;transition:box-shadow .2s}
.product-card:hover{box-shadow:0 4px 16px rgba(0,0,0,.1)}
.coupon-section{padding:12px 14px}
.coupon-card{background:linear-gradient(135deg,#ff6b6b,#ee5a24);border-radius:var(--radius);padding:12px 14px;color:#fff;margin-bottom:8px;display:flex;align-items:center;justify-content:space-between;transition:transform .15s}
.coupon-card:hover{transform:translateY(-1px)}
.coupon-card:last-child{margin-bottom:0}
.coupon-card.taojin{background:linear-gradient(135deg,#ff9f43,#f39c12)}
.coupon-card-left{flex:1;min-width:0}
.coupon-card-title{font-size:13px;font-weight:600;opacity:.95;margin-bottom:4px}
.coupon-card-time{font-size:11px;opacity:.75}
.coupon-card-amount{font-size:26px;font-weight:700;flex-shrink:0;margin-left:12px}
.coupon-card-amount::before{content:"¥";font-size:14px}
.product-body{display:flex;padding:14px;gap:14px}
.product-image-wrap{width:120px;height:120px;flex-shrink:0;border-radius:6px;overflow:hidden}
.product-image{width:100%;height:100%;object-fit:cover;display:block}
.product-info{flex:1;min-width:0;display:flex;flex-direction:column;justify-content:space-between}
.product-title{font-size:14px;font-weight:600;color:var(--text);line-height:1.5;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.product-price-row{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;margin-top:8px}
.product-price-label{font-size:13px;color:#ff4757;font-weight:600}
.product-price{font-size:24px;font-weight:700;color:#ff4757}
.product-price::before{content:"¥";font-size:14px}
.product-original-price{font-size:13px;color:#999;text-decoration:line-through}
.product-actions{padding:0 14px 14px}
.action-bubble{position:relative;background:#f9f9f9;border-radius:10px;padding:14px 16px;margin-bottom:12px}
.action-bubble::before{content:"";position:absolute;bottom:-8px;left:50%;transform:translateX(-50%);width:0;height:0;border-left:10px solid transparent;border-right:10px solid transparent;border-top:10px solid #f9f9f9}
.action-bubble-text{font-size:13px;color:var(--text-secondary);line-height:1.6;text-align:center}
.action-bubble-text .tao_ling-code{color:#ff4757;font-weight:600;word-break:break-all}
.action-bubble-text .action-hint{color:var(--text-light);font-size:12px}
.action-btn-row{display:flex;gap:10px}
.action-btn{flex:1;padding:14px 20px;border:none;border-radius:24px;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:6px;box-shadow:0 2px 8px rgba(0,0,0,.1)}
.action-btn.primary{background:linear-gradient(135deg,#ff6b6b,#ee5a24);color:#fff}
.action-btn.primary:hover{opacity:.9;transform:translateY(-1px);box-shadow:0 4px 12px rgba(238,90,36,.3)}
.action-btn.taojin-btn{background:linear-gradient(135deg,#ff9f43,#f39c12);color:#fff}
.action-btn.taojin-btn:hover{opacity:.9;transform:translateY(-1px);box-shadow:0 4px 12px rgba(243,156,18,.3)}
.action-btn:active{transform:translateY(0) scale(.98)}

/* 移动端适配 */
@media(max-width:480px){
    .coupon-section{padding:10px 12px}
    .coupon-card{padding:10px 12px}
    .coupon-card-title{font-size:12px}
    .coupon-card-time{font-size:10px}
    .coupon-card-amount{font-size:22px}
    .coupon-card-amount::before{font-size:12px}
    .product-body{padding:12px;gap:12px}
    .product-image-wrap{width:100px;height:100px}
    .product-title{font-size:13px;-webkit-line-clamp:2}
    .product-price{font-size:20px}
    .product-price::before{font-size:12px}
    .product-original-price{font-size:12px}
    .product-actions{padding:0 12px 12px}
    .action-bubble{padding:12px 14px}
    .action-bubble-text{font-size:12px}
    .action-btn{padding:12px 16px;font-size:14px}
    .taojin-finished-grid{grid-template-columns:1fr}
    .taojin-compact-card{padding:10px 12px;overflow:hidden}
    .taojin-compact-amount{font-size:15px}
    .taojin-compact-title{font-size:12px;white-space:normal;word-break:break-word}
    .taojin-compact-price .price{font-size:14px}
    .taojin-compact-actions{flex-wrap:wrap}
    .btn-shorturl{max-width:160px;font-size:10px !important}
    .taojin-list-row{flex-wrap:wrap;overflow:hidden}
    .taojin-list-title{white-space:normal;word-break:break-word}
    .taojin-list-actions{flex-wrap:wrap}
    .taojin-page-header{margin-bottom:14px}
    .taojin-view-toggle{display:none}
    #taojinWaiting .list-container{overflow-y:auto;-webkit-overflow-scrolling:touch}
    #taojinWaiting .list-item{padding:10px 12px;gap:8px}
    #taojinWaiting .list-item-actions{margin-top:6px;gap:6px}
    #taojinWaiting .list-item-actions .btn{font-size:11px;padding:4px 10px}

    /* 方案管理小屏适配 */
    .scheme-detail-content{padding:8px}
    .scheme-detail-header{padding:8px 10px;gap:8px}
    .scheme-name-input{font-size:13px;padding:5px 8px}
    .scheme-detail-actions .btn{font-size:11px;padding:3px 8px}
    .scheme-short-url{font-size:11px;padding:6px 8px;margin-bottom:8px}
    .editor-sidebar{padding:4px 6px}
    .sidebar-btn{width:34px;padding:3px 1px}
    .sidebar-icon{font-size:13px}
    .sidebar-label{font-size:8px}
    .sidebar-select-group select{width:44px;font-size:9px;padding:2px 1px}
    .block-content{padding:8px}
    .block-content .text-editor{padding:8px 10px;font-size:13px;min-height:50px}
    .image-block-editor img{max-height:120px}
}

/* 统计页面 */
.stats-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px}
.stats-header h2{font-size:22px;line-height:1.2;margin-bottom:4px}
.stats-subtitle{font-size:13px;color:var(--text-light)}
.stats-header-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.stats-updated{font-size:12px;color:var(--text-light)}
.stats-alerts{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px;margin-bottom:16px}
.stats-alert{display:flex;flex-direction:column;gap:3px;border:1px solid var(--border);border-left-width:4px;border-radius:var(--radius);background:var(--white);padding:12px 14px;box-shadow:0 1px 4px rgba(0,0,0,.04)}
.stats-alert strong{font-size:13px;color:var(--text)}
.stats-alert span{font-size:12px;color:var(--text-secondary)}
.stats-alert-ok{border-left-color:var(--success);background:#f7fbf4}
.stats-alert-info{border-left-color:var(--primary)}
.stats-alert-warning{border-left-color:var(--warning);background:#fffaf0}
.stats-alert-danger{border-left-color:var(--danger);background:#fff7f7}
.stats-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;margin-bottom:16px}
.stats-kpi-grid{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}
.stat-card{background:var(--white);border-radius:var(--radius);padding:16px;text-align:left;box-shadow:var(--shadow);transition:var(--transition);min-height:92px;border:1px solid transparent}
.stat-card:hover{transform:translateY(-2px);box-shadow:0 4px 16px rgba(0,0,0,.12)}
.stat-card-primary{border-color:#d9ecff;background:#f7fbff}
.stat-value{font-size:28px;font-weight:700;color:var(--primary);line-height:1.2;word-break:break-word}
.stat-label{font-size:12px;color:var(--text-light);margin-top:8px}
.stats-two-col{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;margin-bottom:16px}
.stats-three-col{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:16px}
.stats-card{margin-bottom:0;min-width:0}
.stats-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:12px}
.stats-card-header h3{font-size:15px;font-weight:600;color:var(--text);line-height:1.35}
.stats-card-header span{font-size:12px;color:var(--text-light)}
.stats-mini-list{display:flex;flex-direction:column;gap:8px}
.stats-mini-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid #ebeef5}
.stats-mini-row:last-child{border-bottom:none}
.stats-mini-row span{font-size:13px;color:var(--text-secondary)}
.stats-mini-row strong{font-size:14px;color:var(--text);text-align:right}
.stats-trend-chart{height:220px;display:grid;grid-template-columns:repeat(7,minmax(34px,1fr));gap:10px;align-items:end;padding:6px 2px 0}
.trend-day{display:flex;flex-direction:column;align-items:center;gap:8px;min-width:0}
.trend-bars{height:170px;width:100%;display:flex;align-items:flex-end;justify-content:center;gap:4px;border-bottom:1px solid var(--border);padding:0 2px}
.trend-bar{width:7px;border-radius:4px 4px 0 0;min-height:4px;transition:height .4s ease}
.trend-label{font-size:11px;color:var(--text-light);white-space:nowrap}
.platform-chart{display:flex;flex-direction:column;gap:8px}
.platform-bar-row{display:flex;align-items:center;gap:8px}
.platform-bar-label{width:76px;font-size:12px;color:var(--text-secondary);text-align:right;flex-shrink:0}
.platform-bar-track{flex:1;height:24px;background:#f0f2f5;border-radius:4px;overflow:hidden}
.platform-bar-fill{height:100%;border-radius:4px;transition:width .6s ease}
.platform-bar-count{font-size:12px;color:var(--text-light);width:40px;flex-shrink:0}
.stats-rank-list{display:flex;flex-direction:column;gap:2px}
.stats-rank-item{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid #ebeef5;min-width:0}
.stats-rank-item:last-child{border-bottom:none}
.rank-no{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;background:#ecf5ff;color:var(--primary);font-size:12px;font-weight:700;flex-shrink:0}
.rank-dot{width:8px;height:8px;border-radius:50%;background:var(--primary);flex-shrink:0}
.rank-main{flex:1;min-width:0}
.rank-title{font-size:13px;font-weight:600;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rank-meta{font-size:12px;color:var(--text-light);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.stats-rank-item strong{font-size:13px;color:var(--text);flex-shrink:0;max-width:78px;overflow:hidden;text-overflow:ellipsis}
.stats-empty{padding:28px 8px;text-align:center;color:var(--text-light);font-size:13px}
.stats-mini-sub{font-size:11px;color:var(--text-light);margin-top:2px;line-height:1.3;white-space:normal;word-break:break-word}
.stats-domain-form{display:flex;gap:8px;margin-bottom:12px}
.stats-domain-form .form-input{flex:1}
.stats-domain-list{margin-bottom:12px}
@media(max-width:768px){
    .stats-header{flex-direction:column;align-items:stretch;gap:10px}
    .stats-header-actions{justify-content:space-between}
    .stats-alerts{grid-template-columns:1fr}
    .stats-grid{grid-template-columns:repeat(2,1fr);gap:8px}
    .stats-two-col,.stats-three-col{grid-template-columns:1fr;gap:12px;margin-bottom:12px}
    .stats-card-header{flex-direction:column;gap:2px}
    .stats-trend-chart{height:180px;gap:6px}
    .trend-bars{height:130px;gap:3px}
    .trend-bar{width:6px}
    .platform-bar-label{width:68px}
    .stats-domain-form{flex-direction:column}
    .stats-domain-form .btn{width:100%}
    .stats-rank-item{gap:8px;padding:9px 0}
    .rank-title,.rank-meta{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
    .wechat-protection-head{flex-direction:column}
    .wechat-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
    .wechat-domain-form{grid-template-columns:1fr}
    .wechat-rule-row{grid-template-columns:1fr}
    .wechat-check-row{grid-template-columns:1fr}
}
.probe-result-box{margin:12px 0;border:1px solid #e6a23c;border-radius:8px;background:#fdf6ec;overflow:hidden}
.probe-header{padding:10px 14px;background:linear-gradient(135deg,#e6a23c,#f0c78a);color:#fff;font-weight:600;font-size:14px}
.probe-section{padding:8px 14px;border-bottom:1px solid #faecd8}
.probe-section:last-child{border-bottom:none}
.probe-label{font-size:12px;font-weight:600;color:#e6a23c;margin-bottom:6px}
.probe-chain-step{font-size:11px;color:#666;padding:2px 0;word-break:break-all}
.probe-param{font-size:11px;color:#555;padding:2px 0}
.probe-param-key{color:#e6a23c;font-weight:600}
.probe-param-val{color:#333}
.probe-platform{font-size:14px;font-weight:700;color:#409eff}
.probe-constructed-url{font-size:11px;color:#409eff;word-break:break-all;padding:4px 8px;background:#ecf5ff;border-radius:4px;margin-top:4px}
.probe-new-domain{display:flex;align-items:center;justify-content:space-between;padding:4px 0;gap:8px}
.probe-domain-name{font-size:12px;color:#e6a23c;font-weight:500}
.probe-add-domain-btn{font-size:11px;padding:2px 10px;border:1px solid #e6a23c;background:#fff;color:#e6a23c;border-radius:4px;cursor:pointer;transition:all .2s}
.probe-add-domain-btn:hover{background:#e6a23c;color:#fff}
.probe-add-domain-btn.added{background:#67c23a;border-color:#67c23a;color:#fff;cursor:default}
.probe-add-domain-btn.failed{background:#f56c6c;border-color:#f56c6c;color:#fff;cursor:default}

.wechat-protection-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px}
.wechat-protection-head h2{margin:0;color:var(--text);font-size:22px}
.wechat-protection-head p{margin:6px 0 0;color:var(--text-light);font-size:13px;line-height:1.5}
.wechat-protection-actions{display:flex;gap:8px;align-items:center;flex-shrink:0}
.wechat-summary-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin-bottom:14px}
.wechat-summary-card{padding:14px;border:1px solid #e6edf5;border-radius:8px;background:#fff;box-shadow:0 8px 22px rgba(15,23,42,.05)}
.wechat-summary-card strong{display:block;color:#172033;font-size:22px;line-height:1.1}
.wechat-summary-card span{display:block;margin-top:6px;color:#667085;font-size:12px;font-weight:700}
.wechat-card{margin-bottom:14px}
.wechat-domain-form{display:grid;grid-template-columns:minmax(170px,1fr) minmax(130px,.7fr) minmax(170px,1fr) 90px auto;gap:8px;align-items:center}
.wechat-domain-table td{vertical-align:middle}
.wechat-status{display:inline-flex;align-items:center;justify-content:center;min-width:58px;padding:3px 8px;border-radius:999px;font-size:11px;font-weight:800}
.wechat-status.normal{background:#ecfdf3;color:#16a34a}
.wechat-status.suspect{background:#fff7ed;color:#f97316}
.wechat-status.blocked{background:#fef2f2;color:#ef4444}
.wechat-status.disabled{background:#f1f5f9;color:#64748b}
.wechat-status.unknown{background:#eef6ff;color:#3b82f6}
.wechat-domain-actions{display:flex;gap:6px;flex-wrap:wrap}
.wechat-domain-actions .btn{padding:4px 8px;font-size:12px}
.wechat-rules-list{display:grid;gap:8px}
.wechat-rule-row{display:grid;grid-template-columns:minmax(90px,.7fr) minmax(150px,1fr) minmax(120px,.8fr) minmax(150px,1.2fr) auto;gap:8px;align-items:center;padding:10px;border:1px solid #edf1f7;border-radius:8px;background:#fbfdff}
.wechat-rule-name{color:#172033;font-weight:900}
.wechat-rule-note{color:#667085;font-size:12px;line-height:1.4}
.wechat-checks-list{display:grid;gap:8px}
.wechat-check-row{display:grid;grid-template-columns:120px minmax(160px,1fr) 80px 80px minmax(180px,1fr);gap:8px;align-items:center;padding:9px 10px;border:1px solid #edf1f7;border-radius:8px;background:#fff;color:#334155;font-size:12px}
.wechat-check-row code{word-break:break-all;color:#172033}

.health-toolbar{display:flex;align-items:center;gap:16px;margin-bottom:16px;flex-wrap:wrap}
.health-auto-refresh{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--text-secondary);cursor:pointer}
.health-auto-refresh input{cursor:pointer}
.health-last-check{font-size:12px;color:var(--text-light);margin-left:auto}
.health-content{min-height:200px}
.health-row{display:flex;gap:16px;margin-bottom:16px;flex-wrap:wrap}
.health-card{background:var(--white);border-radius:var(--radius);padding:20px;box-shadow:var(--shadow);flex:1;min-width:280px}
.health-card-wide{min-width:100%}
.health-card h3{font-size:15px;font-weight:600;color:var(--text);margin-bottom:14px;padding-bottom:10px;border-bottom:1px solid var(--border)}
.health-item{display:flex;align-items:center;gap:8px;padding:6px 0;font-size:13px;color:var(--text-secondary)}
.health-item label{min-width:70px;color:var(--text-light);font-size:12px}
.health-item span{color:var(--text)}
.health-item small{color:var(--text-light);font-size:11px;margin-left:4px}
.health-status{display:inline-block;padding:2px 8px;border-radius:4px;font-size:11px;font-weight:600}
.health-ok{background:#f0f9eb;color:#67c23a}
.health-warn{background:#fdf6ec;color:#e6a23c}
.health-err{background:#fef0f0;color:#f56c6c}
.health-off{background:#f4f4f5;color:#909399}
.health-progress{display:inline-block;width:120px;height:8px;background:#f0f2f5;border-radius:4px;overflow:hidden;vertical-align:middle}
.health-progress-bar{height:100%;border-radius:4px;transition:width .4s ease}
.health-progress-bar.progress-ok{background:#67c23a}
.health-progress-bar.progress-warn{background:#e6a23c}
.health-progress-bar.progress-err{background:#f56c6c}
.health-progress-text{font-size:12px;color:var(--text-secondary);margin-left:6px;vertical-align:middle}
.health-api-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px}
.health-api-item{background:var(--bg);border-radius:8px;padding:14px;text-align:center;border:1px solid var(--border);transition:var(--transition)}
.health-api-item:hover{box-shadow:0 2px 8px rgba(0,0,0,.06)}
.health-api-item.healthy{border-left:3px solid #67c23a}
.health-api-item.warning{border-left:3px solid #e6a23c}
.health-api-item.error{border-left:3px solid #f56c6c}
.health-api-item.disabled{border-left:3px solid #909399;opacity:.7}
.health-api-label{font-size:14px;font-weight:600;color:var(--text);margin-bottom:6px}
.health-api-status{margin-bottom:4px}
.health-api-item small{display:block;font-size:11px;color:var(--text-light);margin-top:2px}
.health-msg-warn{color:#e6a23c;font-size:12px;font-weight:500}
.health-divider{border:none;border-top:1px dashed var(--border);margin:10px 0}

.published-list-container{display:flex;flex-direction:column}
.published-list-item{display:flex;align-items:center;padding:12px 14px;border-bottom:1px solid var(--border);transition:background .2s;gap:10px}
.published-list-item:hover{background:#f5f7fa}
.published-list-item-checkbox{flex-shrink:0}
.published-list-item-checkbox input[type="checkbox"]{width:16px;height:16px;cursor:pointer}
.published-list-item-main{flex:1;min-width:0;cursor:pointer}
.published-list-item-title{font-size:14px;font-weight:600;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-bottom:4px}
.published-list-item-meta{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.published-list-item-time{font-size:12px;color:var(--text-light)}
.published-list-item-url{font-size:12px;color:var(--primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:200px;cursor:default}
.published-list-item-actions{display:flex;gap:6px;flex-shrink:0;flex-wrap:wrap}
.published-list-item-actions .btn{font-size:12px;padding:3px 8px}
.published-list-item.pinned{background:#fff8e1;border-left:3px solid var(--warning)}
.scheme-group-header{display:flex;align-items:center;padding:10px 16px;background:#fff8e1;border-bottom:1px solid var(--border);cursor:pointer;user-select:none;transition:background .2s}
.scheme-group-header:hover{background:#fff3cd}
.scheme-group-toggle{margin-right:8px;font-size:12px;color:var(--text-light);transition:transform .2s}
.scheme-group-content{transition:max-height .3s ease}
.btn-info{background:var(--primary);color:var(--white);border-color:var(--primary)}
.btn-info:hover{background:var(--primary-dark);border-color:var(--primary-dark)}

.scheme-tag{display:inline-block;padding:1px 8px;border-radius:10px;font-size:11px;background:#e8f4fd;color:var(--primary);margin-left:8px;vertical-align:middle;font-weight:400}
.published-list-item-summary{font-size:12px;color:var(--text-light);margin-bottom:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}
.scheme-tag-selector{grid-area:tag;display:flex;align-items:flex-start;gap:8px;min-width:0;width:100%}
.scheme-tag-selector label{font-size:13px;color:var(--text-light);white-space:nowrap}
.scheme-tag-selector select{padding:4px 8px;border:1px solid var(--border);border-radius:4px;font-size:13px;background:var(--white)}
.scheme-tag-custom{padding:4px 8px;border:1px solid var(--border);border-radius:4px;font-size:13px;min-width:96px;max-width:150px}
.scheme-tag-editor{display:flex;flex-direction:column;gap:6px;min-width:0;max-width:none;width:100%}
.scheme-tag-chips{display:flex;align-items:center;gap:5px;flex-wrap:wrap;min-height:24px}
.scheme-tag-empty{font-size:12px;color:var(--text-light)}
.scheme-tag-edit-chip{display:inline-flex;align-items:center;gap:4px;padding:2px 7px;border-radius:999px;background:#eef6ff;color:var(--primary);font-size:12px;font-weight:700}
.scheme-tag-edit-chip button{width:16px;height:16px;border:none;border-radius:50%;background:rgba(64,158,255,.12);color:var(--primary);cursor:pointer;line-height:16px;padding:0}
.scheme-tag-edit-chip button:hover{background:var(--primary);color:#fff}
.scheme-tag-add-row{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.scheme-tag-add-row select{min-width:120px;max-width:180px}
.scheme-tag-add-row .btn{white-space:nowrap}
.quick-tag-list{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}
.quick-tag-option{display:inline-flex;align-items:center;gap:5px;padding:5px 9px;border:1px solid var(--border);border-radius:999px;background:#fff;font-size:12px;color:var(--text-secondary);cursor:pointer}
.quick-tag-option input{accent-color:var(--primary)}

.published-filter-bar{display:flex;gap:4px;margin-right:auto}
.filter-btn{border:1px solid var(--border);background:var(--white);color:var(--text-light);font-size:12px;padding:3px 10px;border-radius:14px;cursor:pointer;transition:var(--transition)}
.filter-btn:hover{border-color:var(--primary);color:var(--primary)}
.filter-btn.active{background:var(--primary);color:#fff;border-color:var(--primary)}

.published-list-item-actions{display:flex;gap:4px;flex-shrink:0;align-items:center}
.published-list-item-actions .btn{font-size:14px;padding:4px 6px;line-height:1;min-width:28px;text-align:center}
.published-list-item-actions .btn.btn-warning{background:#fff3e0;color:#f59e0b;border-color:#f59e0b}
.published-list-item-actions .btn.btn-warning:hover{background:#f59e0b;color:#fff}

.load-more-container{display:flex;align-items:center;justify-content:center;gap:12px;padding:12px;border-top:1px solid var(--border)}
.load-more-btn{background:var(--white);border:1px solid var(--border);color:var(--text);cursor:pointer;transition:var(--transition)}
.load-more-btn:hover{border-color:var(--primary);color:var(--primary)}
.load-more-info{font-size:12px;color:var(--text-light)}

/* 阶段三：移动端后台最终覆盖层。放在文件末尾，避免被桌面布局反向覆盖。 */
@media(max-width:768px){
    html,body{height:100%;overflow:hidden}
    body{background:#f5f7fa}
    .header{height:50px;position:fixed;top:0;left:0;right:0;z-index:120;padding:0 10px}
    .header-left{min-width:0}
    .sidebar-toggle{display:none}
    .logo{font-size:15px;white-space:nowrap}
    .mobile-page-title{display:inline-flex;align-items:center;min-width:0;max-width:45vw;font-size:14px;font-weight:600;color:var(--text);padding-left:8px;border-left:1px solid #edf0f5;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
    .header-right{min-width:0;gap:6px}
    .api-key-input-group{display:none}
    .logout-btn{height:30px;padding:0 10px;font-size:12px}
    .main-container{height:100vh;padding-top:50px;padding-bottom:62px;display:block;overflow:hidden}
    .content{height:calc(100vh - 112px);padding:10px;overflow-y:auto;-webkit-overflow-scrolling:touch;display:block}
    .page.active{display:block;min-height:100%;overflow:visible}

    .sidebar.mobile-bottom-nav{position:fixed;left:0;right:0;bottom:0;top:auto;width:100%;height:62px;max-height:62px;opacity:1;overflow-x:auto;overflow-y:hidden;border-top:1px solid var(--border);border-right:none;border-bottom:none;background:rgba(255,255,255,.98);box-shadow:0 -2px 12px rgba(0,0,0,.08);z-index:130}
    .sidebar.mobile-bottom-nav.collapsed{width:100%;height:62px;max-height:62px;opacity:1;border-top:1px solid var(--border)}
    .sidebar.mobile-bottom-nav .nav-menu{display:grid;grid-template-columns:repeat(5,1fr);height:100%;padding:0;min-width:0;align-items:stretch}
    .sidebar.mobile-bottom-nav .nav-item{width:auto;min-width:0;height:62px;padding:6px 4px;flex-direction:column;justify-content:center;gap:2px;border-left:none;border-bottom:none;border-top:3px solid transparent;color:var(--text-light)}
    .sidebar.mobile-bottom-nav .nav-item.mobile-secondary-nav{display:none}
    .sidebar.mobile-bottom-nav .nav-item.active{background:#ecf5ff;color:var(--primary);border-top-color:var(--primary)}
    .sidebar.mobile-bottom-nav .nav-icon{width:auto;font-size:18px;line-height:1}
    .sidebar.mobile-bottom-nav .nav-text{font-size:11px;line-height:1.2;white-space:nowrap}
    .mobile-more-trigger{display:flex;width:auto;min-width:0;height:62px;padding:6px 4px;flex-direction:column;align-items:center;justify-content:center;gap:2px;border:none;border-top:3px solid transparent;background:transparent;color:var(--text-light);font:inherit;cursor:pointer}
    .mobile-more-trigger.active{background:#ecf5ff;color:var(--primary);border-top-color:var(--primary)}
    .mobile-more-trigger .nav-icon{width:auto;font-size:18px;line-height:1}
    .mobile-more-trigger .nav-text{font-size:11px;line-height:1.2;white-space:nowrap}
    .mobile-more-backdrop.show{display:block;position:fixed;inset:0;background:rgba(15,23,42,.28);z-index:220}
    .mobile-more-sheet{position:fixed;left:0;right:0;bottom:0;z-index:230;background:var(--white);border-radius:16px 16px 0 0;box-shadow:0 -10px 28px rgba(15,23,42,.16);padding:8px 14px 18px;transform:translateY(110%);transition:transform .22s ease;display:block;visibility:hidden;pointer-events:none}
    .mobile-more-sheet.show{transform:translateY(0);visibility:visible;pointer-events:auto}
    .mobile-more-handle{width:42px;height:4px;border-radius:999px;background:#d8dee8;margin:0 auto 10px}
    .mobile-more-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}
    .mobile-more-title{font-size:16px;font-weight:700;color:var(--text)}
    .mobile-more-subtitle{font-size:12px;color:var(--text-light)}
    .mobile-more-close{width:34px;height:34px;border:none;border-radius:50%;background:#f5f7fa;color:var(--text-light);font-size:22px;line-height:1;cursor:pointer}
    .mobile-more-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
    .mobile-more-item{display:flex;align-items:center;gap:10px;min-height:54px;border:1px solid var(--border);border-radius:var(--radius);background:#fff;color:var(--text);font-size:14px;font-weight:600;padding:0 12px;cursor:pointer}
    .mobile-more-item.active{border-color:var(--primary);background:#ecf5ff;color:var(--primary)}
    .mobile-more-icon{font-size:19px;width:24px;text-align:center}

    .card{padding:12px;margin-bottom:12px;border-radius:8px}
    .btn{min-height:34px;padding:7px 12px;font-size:13px}
    .btn-sm{min-height:28px;padding:4px 9px;font-size:11px}
    .tabs{display:flex;overflow-x:auto;border:1px solid var(--border);background:var(--white);border-radius:8px;margin-bottom:10px;box-shadow:0 1px 4px rgba(0,0,0,.04)}
    .tab{min-height:40px;padding:9px 14px;white-space:nowrap;border-bottom:none;margin-bottom:0;flex:1 0 auto}
    .tab.active{background:#ecf5ff;border-bottom:none;border-radius:6px;font-weight:600}
    .toolbar,.sp-toolbar,.taojin-toolbar,.taojin-batch-toolbar,.draft-toolbar,.sub-toolbar,.scheme-toolbar,.toolbar-row-main{position:static;display:flex;flex-wrap:wrap;gap:6px;padding:8px;margin-bottom:8px;border-radius:8px;background:var(--white);box-shadow:0 1px 4px rgba(0,0,0,.04)}
    .toolbar select,.toolbar input,.sp-toolbar select,.sp-toolbar input,.scheme-toolbar select,.scheme-toolbar input{min-width:0}
    .search-box,.search-input-wrap{width:100%;min-width:0}
    .search-box input,.search-input-wrap input{width:100%;min-width:0}
    .toolbar .btn,.sp-toolbar .btn,.scheme-toolbar .btn,.taojin-toolbar .btn,.taojin-batch-toolbar .btn{flex:1 1 auto;white-space:nowrap}

    .convert-layout{height:auto;display:flex;flex-direction:column}
    .convert-top-bar{position:sticky;top:0;z-index:20;background:#f5f7fa;padding-bottom:6px}
    .convert-top-bar .btn-convert{width:100%;min-height:42px}
    .convert-textarea-card{border:1px solid #e8edf5;box-shadow:0 1px 4px rgba(0,0,0,.04)}
    .convert-textarea-card textarea{min-height:42vh;font-size:15px;line-height:1.7}
    .mobile-copy-all-btn{display:block;min-height:42px;border-radius:8px}
    .convert-options-card{max-height:none}
    .convert-log{max-height:220px}

    .sp-list-panel,.sp-list-panel.has-inner-tabs{height:auto;max-height:none;overflow:visible}
    #spProducts.tab-content.active,#spEvents.tab-content.active,#spTaojin.tab-content.active{display:block}
    .template-cards{grid-template-columns:1fr!important}
    .template-card{padding:12px!important;border-radius:10px!important}
    .template-card>div[style*="display:flex"]{flex-wrap:wrap}
    .template-card .btn{flex:1 1 auto}
    .template-status-row{margin-bottom:10px}
    #settingsForm .form-group{margin-bottom:12px}
    .sp-toolbar .search-box{display:grid;grid-template-columns:minmax(0,1fr) minmax(96px,auto) minmax(118px,auto);gap:8px;align-items:center;width:100%}
    .sp-toolbar .search-input-wrap{grid-column:1/-1;width:100%;position:relative}
    .sp-toolbar .search-input-wrap input{width:100%;min-height:40px;padding-right:32px}
    .sp-toolbar select{width:100%!important;min-height:40px}
    .sp-toolbar .btn{min-height:40px}
    .list-container{display:flex;flex-direction:column;gap:8px}
    .list-item{display:flex;flex-direction:column;align-items:stretch;gap:8px;background:var(--white);border:1px solid #ebeef5;border-radius:8px;padding:12px;box-shadow:0 1px 4px rgba(0,0,0,.04)}
    .list-item:hover{transform:none;box-shadow:0 1px 4px rgba(0,0,0,.04)}
    .list-item-info{width:100%;align-items:flex-start}
    .list-item-title{font-size:14px;white-space:normal;word-break:break-word}
    .list-item-desc{font-size:12px;line-height:1.6}
    .list-item-actions{display:flex;width:100%;gap:6px;justify-content:flex-start;flex-wrap:wrap}
    .list-item-actions .btn{flex:1 1 auto}

    .scheme-layout{display:block;height:auto;min-height:0}
    .scheme-list-panel,.scheme-list-panel.has-detail,.scheme-list-panel.full-width{width:100%;height:auto;max-height:none;overflow:visible;box-shadow:none;background:transparent}
    .scheme-detail-panel{min-height:auto;height:auto;display:none}
    .scheme-layout.show-detail .scheme-list-panel,.scheme-layout.mobile-detail-active .scheme-list-panel{display:none}
    .scheme-layout.show-detail .scheme-detail-panel,.scheme-layout.mobile-detail-active .scheme-detail-panel{display:flex;width:100%;height:auto;min-height:calc(100vh - 124px)}
    .scheme-layout.show-detail .scheme-preview-panel,.scheme-layout.mobile-detail-active .scheme-preview-panel{display:flex;width:100%;height:calc(100vh - 124px);min-height:420px}
    .scheme-detail-header{position:sticky;top:0;z-index:20;display:grid;grid-template-columns:minmax(0,1fr);grid-template-areas:"name" "tag" "actions";padding:10px;gap:8px}
    .scheme-detail-content{padding:10px;overflow:visible}
    .scheme-editor{display:flex;flex-direction:column-reverse;min-height:0}
    .editor-main{overflow:visible}
    .editor-sidebar{position:sticky;bottom:0;z-index:30;border:1px solid var(--border);border-radius:8px;box-shadow:0 -2px 10px rgba(0,0,0,.06)}
    .mobile-scheme-tabs{display:flex;margin-bottom:8px}
    .scheme-card-grid{display:flex;flex-direction:column;gap:8px;padding:0}
    .scheme-card{min-height:auto;padding:12px}
    .scheme-list-item,.published-list-item{background:var(--white);border:1px solid #ebeef5;border-radius:8px;margin-bottom:8px;padding:12px;box-shadow:0 1px 4px rgba(0,0,0,.04)}
    .published-list-item{display:flex;align-items:flex-start;flex-wrap:wrap}
    .published-list-item-main{flex-basis:calc(100% - 28px)}
    .published-list-item-title,.published-list-item-summary,.published-list-item-url{white-space:normal;word-break:break-word;max-width:100%}
    .published-list-item-actions{width:100%;justify-content:flex-start;gap:6px;flex-wrap:wrap}
    .published-list-item-actions .btn{min-width:34px}

    .table-container{overflow:visible;background:transparent;box-shadow:none}
    .table tbody{padding:0;gap:8px}
    .table tr{margin-bottom:8px;border:1px solid #ebeef5;border-radius:8px;box-shadow:0 1px 4px rgba(0,0,0,.04)}
    .table td[data-label]::before{content:attr(data-label);display:block;font-size:11px;color:var(--text-light);font-weight:600;margin-bottom:2px}
    .table td[data-label="操作"]::before{width:100%;flex:0 0 100%}
    .table td:last-child{display:flex;gap:6px;flex-wrap:wrap}
    .table td:last-child .btn{flex:1 1 auto}
    .pagination{position:sticky;bottom:0;background:#f5f7fa;padding:8px 0}

    .stats-grid,.stats-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
    .stats-two-col,.stats-three-col{display:grid;grid-template-columns:1fr;gap:10px}
    .stat-card{min-height:76px;padding:12px}
    .stat-value{font-size:22px}
    .stats-header h2{font-size:20px}
    .stats-header-actions{align-items:center}
    .stats-header-actions .btn{min-width:80px}
    .stats-trend-chart{height:170px;gap:4px}
    .trend-bars{height:120px;gap:2px}
    .platform-bar-label{width:72px;text-align:left}
    .stats-rank-item{align-items:flex-start}
    .rank-main{min-width:0}
    .rank-title,.rank-meta{white-space:normal;word-break:break-word}

    .health-toolbar,.log-filter-row{display:flex;flex-direction:column;align-items:stretch}
    .health-row{display:block}
    .health-card{min-width:0;margin-bottom:10px}
    .health-api-grid{grid-template-columns:1fr 1fr}
    .log-stats-row{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}
    .log-category-tabs,.log-status-tabs,.log-toolbar-actions{display:flex;flex-wrap:wrap;gap:6px}
    .log-cat-btn,.log-status-btn{flex:1 1 auto}

    .modal.show{align-items:flex-end}
    .modal-content{width:100%;max-width:100%;max-height:92vh;margin:auto 0 0;border-radius:14px 14px 0 0}
    .modal-body{max-height:70vh;overflow-y:auto;-webkit-overflow-scrolling:touch}
    .toast{top:58px;left:10px;right:10px}
}

/* Stage 5 mobile refinement: make existing modules operate like compact cards. */
@media(max-width:768px){
    .list-item{position:relative;border-color:#e6ebf2}
    .list-item-info{display:flex;gap:10px}
    .list-item-info>img{width:56px!important;height:56px!important;border-radius:7px!important;margin-right:0!important}
    .list-item-info input[type="checkbox"]{width:18px;height:18px;margin-top:2px;flex-shrink:0}
    .list-item-title{display:block;font-size:14px;font-weight:700;line-height:1.45;margin-bottom:5px;color:#1f2937}
    .list-item-desc{color:#5f6b7a;line-height:1.55}
    .list-item-time{padding-top:4px;color:#8a95a3}
    .list-item-actions{padding-top:8px;border-top:1px dashed #e6ebf2}
    .list-item-actions .btn{flex:1 1 calc(50% - 6px);min-width:0;display:inline-flex;align-items:center;justify-content:center;overflow:hidden;text-overflow:ellipsis}
    .list-item-actions .btn-shorturl{flex-basis:100%;min-height:34px;justify-content:flex-start;text-align:left;white-space:nowrap;color:var(--primary);background:#eef6ff;border-color:#d9ecff}

    .scheme-list-item{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px 10px;align-items:flex-start}
    .scheme-list-item-main{min-width:0}
    .scheme-list-item-title,.published-list-item-title,.scheme-card-title{font-size:14px;line-height:1.45;font-weight:700}
    .scheme-list-item-time,.published-list-item-time,.scheme-card-time{font-size:11px;color:#8a95a3}
    .scheme-list-item-status,.scheme-tag{margin-top:4px}
    .scheme-list-item-actions{grid-column:1/-1;width:100%;margin-left:0;padding-top:8px;border-top:1px dashed #e6ebf2;display:flex;gap:6px;flex-wrap:wrap}
    .scheme-list-item-actions .btn{flex:1 1 calc(33.333% - 6px);min-width:0}
    .scheme-detail-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
    .scheme-detail-actions .btn{min-width:0;padding-left:8px;padding-right:8px}
    .scheme-editor{gap:10px}
    .scheme-editor .editor-main{width:100%;min-width:0}
    .scheme-editor .editor-sidebar{width:100%;max-height:none;display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;gap:6px;padding:8px;position:sticky;bottom:0;background:#fff}
    .scheme-editor .sidebar-group{display:flex;flex-direction:row;flex-wrap:wrap;gap:6px;padding:0}
    .scheme-editor .sidebar-divider{display:none}
    .scheme-editor .sidebar-btn{width:auto;min-width:58px;flex:1 1 58px}
    .scheme-editor .sidebar-select-group{display:flex;flex-direction:row;gap:6px;flex:1 1 100%;padding:0}
    .scheme-editor .sidebar-select-group select{width:auto;flex:1;min-width:0}
    .scheme-editor .scheme-quick-link-panel{position:static;width:100%;flex:1 1 100%;margin:0;box-shadow:none}

    .published-list-item{border-color:#e6ebf2}
    .published-list-item-main{min-width:0}
    .published-list-item-summary{font-size:12px;line-height:1.55;color:#5f6b7a;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
    .published-list-item-meta{display:flex;flex-direction:column;align-items:flex-start;gap:5px}
    .published-list-item-url,.scheme-card-url{display:block;width:100%;max-width:100%;padding:7px 9px;border-radius:7px;background:#f3f7fc;color:var(--primary);font-size:11px;line-height:1.4}
    .published-list-item-actions,.scheme-card-actions{padding-top:8px;border-top:1px dashed #e6ebf2}
    .published-list-item-actions .btn,.scheme-card-actions .btn{flex:1 1 calc(20% - 6px);min-width:34px;min-height:32px}
    .scheme-group-header{border-radius:8px;border:1px solid #f6dca7;margin-bottom:8px}
    .scheme-group-label{font-size:12px;color:#7c5a12}

    .table tr{padding:11px 12px;background:#fff}
    .table td{line-height:1.45}
    .table td[data-label]{display:block;padding:5px 0}
    .table td[data-label]::before{letter-spacing:0;color:#8a95a3}
    .table .long-url-cell .long-url-text,.table td a{word-break:break-all;white-space:normal}
    .table td[data-label="操作"]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding-top:8px;border-top:1px dashed #e6ebf2}
    .table td[data-label="操作"]::before{grid-column:1/-1}

    .stat-card{border-color:#e7edf5;box-shadow:0 1px 4px rgba(0,0,0,.04)}
    .stat-card:hover{transform:none;box-shadow:0 1px 4px rgba(0,0,0,.04)}
    .stats-card{border:1px solid #e7edf5}
    .stats-card-header h3{font-size:14px}
    .stats-alert{box-shadow:none;border-radius:8px}
    .stats-mini-row{padding:9px 0}
    .stats-rank-list{gap:8px}
    .stats-rank-item{padding:9px 10px;border:1px solid #edf0f5;border-radius:8px;background:#fff}
    .stats-rank-item:last-child{border-bottom:1px solid #edf0f5}
    .rank-no{width:22px;height:22px}
    .stats-rank-item strong{max-width:86px;text-align:right}

    .activity-item{gap:10px;border-color:#e6ebf2}
    .activity-body{min-width:0}
    .activity-meta-row{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:6px}
    .activity-pill{font-size:11px;padding:2px 7px}
    .activity-title{font-weight:700;line-height:1.45;color:#1f2937}
    .activity-summary{line-height:1.55;color:#5f6b7a}
    .activity-actions{display:flex;flex-direction:column;gap:8px;align-items:stretch;margin-top:8px}
    .activity-time{font-size:11px;color:#8a95a3}
    .activity-action-buttons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
    .activity-detail-btn,.activity-copy-btn{width:100%;min-height:32px;text-align:center}
    .activity-detail-json pre{max-height:260px;white-space:pre-wrap;word-break:break-word}

    .mobile-action-sheet{gap:12px}
    .mobile-action-message strong{color:#1f2937}
    .mobile-action-btn,.mobile-action-cancel{min-height:44px}
}

@media(max-width:390px){
    .content{padding:8px}
    .stats-grid,.stats-kpi-grid,.health-api-grid,.log-stats-row{grid-template-columns:1fr}
    .sidebar.mobile-bottom-nav .nav-item,.mobile-more-trigger{width:auto;min-width:0}
    .sidebar.mobile-bottom-nav .nav-text{font-size:10px}
    .stat-value{font-size:20px}
}

/* Stage 5 scheme mobile polish: real scheme functions with the earlier mobile mockup feel. */
@media(max-width:768px){
    #schemePage.page.active{display:block;min-height:100%;overflow:visible}
    #schemePage .scheme-page-header{margin:0 0 10px}
    #schemePage .tabs-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;margin:0;border:0}
    #schemePage .tabs-row>.tabs{display:grid;grid-template-columns:1fr 1fr;gap:0;margin:0;border:1px solid #dfe6f0;border-radius:14px;background:rgba(255,255,255,.86);box-shadow:0 1px 5px rgba(15,23,42,.06);overflow:hidden}
    #schemePage .tabs-row>.tabs .tab{min-height:46px;padding:0 14px;border:0;border-radius:0;background:transparent;color:#5f6b7a;font-size:15px;font-weight:700}
    #schemePage .tabs-row>.tabs .tab.active{background:#e9f3ff;color:var(--primary)}
    #createSchemeBtn{min-height:44px;border-radius:12px;padding:0 14px;font-weight:700;box-shadow:0 6px 16px rgba(64,158,255,.18)}

    #schemePage .toolbar-wrapper{background:rgba(255,255,255,.9);border:1px solid #e8edf5;border-radius:14px;box-shadow:0 1px 8px rgba(15,23,42,.05);margin-bottom:10px;overflow:hidden}
    #schemePage .toolbar-row-main{display:grid;grid-template-columns:1fr;gap:10px;padding:12px;border:0}
    #schemePage .toolbar-search-area{display:grid;grid-template-columns:minmax(0,1fr) 112px;gap:8px;width:100%}
    #schemePage .toolbar-search-area .search-box{display:contents}
    #schemePage .toolbar-search-area .search-input-wrap{grid-column:1/-1;width:100%;position:relative}
    #schemePage .toolbar-search-area .search-input-wrap input{width:100%;min-height:42px;border-radius:10px;border-color:#dfe6f0;background:#fff;font-size:14px}
    #schemeSearchBtn{grid-column:2;grid-row:2;min-height:42px;border-radius:10px;font-weight:700}
    #schemeSortSelect{grid-column:1;grid-row:2;width:100%;min-height:42px;border-radius:10px;border-color:#dfe6f0;background-color:#fff;font-size:14px}
    #schemePage .toolbar-divider{display:none}
    #schemePage .toolbar-actions-area{display:grid;grid-template-columns:1fr 1fr;gap:8px;width:100%;padding:0;border:0}
    #schemePage .toolbar-actions-area .btn{width:100%;min-height:40px;border-radius:10px;font-size:13px;font-weight:700;padding:0 10px}
    #schemePage .toolbar-tag-row{padding:10px 12px;background:#fbfcfe;border-top:1px solid #edf0f5;gap:8px;display:flex;align-items:center;overflow-x:auto}
    #schemePage .tag-label{font-size:13px;font-weight:700;color:#8a95a3;white-space:nowrap}
    #schemePage .tag-chip,.scheme-tag{border-radius:999px}

    #mobileSchemeTabs{display:none}
    #schemePage .scheme-layout{display:block;height:auto;min-height:0;overflow:visible}
    #schemePage .scheme-list-panel{display:block;width:100%;max-height:none;height:auto;overflow:visible;background:transparent;box-shadow:none;border-radius:0}
    #schemePage .scheme-list-panel.has-detail{width:100%}
    #schemePage .scheme-list-panel.full-width{background:transparent}
    #schemePage .scheme-list-panel .tab-content.active{display:block;min-height:0}

    #schemePage .draft-toolbar,#schemePage .sub-toolbar{position:static;background:rgba(255,255,255,.9);border:1px solid #e8edf5;border-radius:14px;box-shadow:0 1px 8px rgba(15,23,42,.05);padding:10px 12px;margin:0 0 10px;gap:8px}
    #schemePage .draft-toolbar{display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center}
    #schemePage .draft-toolbar .select-all-label,#schemePage .sub-toolbar .select-all-label{font-size:13px;color:#5f6b7a;font-weight:700}
    #schemePage .draft-toolbar .btn,#schemePage .sub-toolbar .btn{min-height:36px;border-radius:10px;font-size:13px;font-weight:700}
    #schemePage .sub-toolbar{display:flex;flex-wrap:wrap}
    #schemePage .sub-toolbar-group{display:flex;flex-wrap:wrap;gap:8px;align-items:center;width:auto}
    #schemePage .sub-toolbar-group:first-child{width:100%;padding:0 0 8px;margin:0;border-bottom:1px solid #edf0f5}
    #schemePage .sub-toolbar-divider{display:none}
    #schemePage .filter-pill{min-height:32px;border-radius:999px;padding:0 14px;font-size:13px;font-weight:700;background:#fff}
    #schemePage .filter-pill.active{background:var(--primary);border-color:var(--primary);color:#fff}

    #draftsList,#publishedList{display:flex;flex-direction:column;gap:10px}
    #schemePage .scheme-list-item,#schemePage .published-list-item{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:flex-start;margin:0;padding:16px;border:1px solid #e8edf5;border-radius:16px;background:rgba(255,255,255,.94);box-shadow:0 2px 10px rgba(15,23,42,.05)}
    #schemePage .scheme-list-item:hover,#schemePage .published-list-item:hover{transform:none;background:#fff}
    #schemePage .scheme-list-item-checkbox,#schemePage .published-list-item-checkbox{padding-top:3px;margin:0}
    #schemePage .scheme-list-item-checkbox input,#schemePage .published-list-item-checkbox input{width:18px;height:18px}
    #schemePage .scheme-list-item-main,#schemePage .published-list-item-main{min-width:0;cursor:pointer}
    #schemePage .scheme-list-item-title,#schemePage .published-list-item-title{display:block;margin:0 0 6px;color:#172033;font-size:15px;font-weight:800;line-height:1.45;white-space:normal;word-break:break-word}
    #schemePage .scheme-tag{display:inline-flex;align-items:center;margin:0 0 0 6px;padding:2px 8px;background:#eef6ff;color:var(--primary);font-size:11px;font-weight:700;vertical-align:middle}
    #schemePage .scheme-list-item-meta,#schemePage .published-list-item-time{display:block;margin-bottom:7px;color:#8a95a3;font-size:12px;line-height:1.4}
    #schemePage .scheme-list-item-summary,#schemePage .published-list-item-summary{margin:0 0 10px;color:#5f6b7a;font-size:13px;line-height:1.55;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
    #schemePage .scheme-list-item-time{margin:0}
    #schemePage .scheme-list-item-status{margin:0;padding:3px 9px;border-radius:999px;font-size:11px;font-weight:700}
    #schemePage .published-list-item-meta{display:flex;flex-direction:column;align-items:flex-start;gap:7px}
    #schemePage .published-list-item-url{display:block;width:100%;max-width:100%;padding:8px 10px;border-radius:10px;background:#f3f7fc;color:var(--primary);font-size:12px;line-height:1.35;word-break:break-all}
    #schemePage .scheme-list-item-actions,#schemePage .published-list-item-actions{grid-column:1/-1;display:grid;width:100%;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:0;padding-top:10px;border-top:1px dashed #e4e9f2}
    #schemePage .published-list-item-actions{grid-template-columns:repeat(5,minmax(0,1fr))}
    #schemePage .scheme-list-item-actions .btn,#schemePage .published-list-item-actions .btn{min-width:0;min-height:36px;padding:0 8px;border-radius:10px;font-size:13px;font-weight:700;line-height:1;overflow:hidden;text-overflow:ellipsis}
    #schemePage .scheme-list-item-actions .item-more-wrap,#schemePage .published-list-item-actions .item-more-wrap{min-width:0}
    #schemePage .scheme-list-item-actions .btn-more,#schemePage .published-list-item-actions .btn-more{width:100%;font-size:18px}
    #schemePage .item-more-menu{right:0;min-width:142px}
    #schemePage .scheme-list-item-actions .btn-success{background:#67c23a;border-color:#67c23a;color:#fff}
    #schemePage .scheme-list-item-actions .btn-danger,#schemePage .published-list-item-actions .btn-danger{background:#f56c6c;border-color:#f56c6c;color:#fff}
    #schemePage .published-list-item.pinned{border-left:4px solid #f5b041;background:#fffdf7}
    #schemePage .scheme-group-header{display:flex;align-items:center;gap:8px;margin:0 0 10px;padding:11px 14px;border:1px solid #f6dca7;border-radius:14px;background:#fff8e5;box-shadow:0 1px 6px rgba(245,176,65,.12)}
    #schemePage .scheme-group-label{padding:0;background:transparent;border:0;color:#7c5a12;font-size:13px;font-weight:800}

    #schemePage .scheme-detail-panel{display:none;background:#fff;border:1px solid #e8edf5;border-radius:16px;box-shadow:0 2px 10px rgba(15,23,42,.05);overflow:hidden}
    #schemePage .scheme-layout.mobile-detail-active .scheme-list-panel,#schemePage .scheme-layout.show-detail .scheme-list-panel{display:none}
    #schemePage .scheme-layout.mobile-detail-active .scheme-detail-panel,#schemePage .scheme-layout.show-detail .scheme-detail-panel{display:flex;width:100%;height:auto;min-height:calc(100vh - 126px);border-radius:16px}
    #schemePage .scheme-layout.mobile-detail-active .scheme-preview-panel,#schemePage .scheme-layout.show-detail .scheme-preview-panel{display:flex;width:100%;height:calc(100vh - 126px);min-height:420px;border:1px solid #e8edf5;border-radius:16px;overflow:hidden;background:#fff}
    #schemePage .scheme-detail-header{position:static;display:grid!important;grid-template-columns:1fr;grid-template-areas:"name" "tag" "actions";gap:10px;padding:14px;background:#fff;border-bottom:1px solid #edf0f5;box-shadow:none}
    #schemePage .scheme-name-input{min-height:42px;border-radius:10px;font-size:16px;font-weight:800}
    #schemePage .scheme-tag-selector{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px;align-items:center}
    #schemePage .scheme-tag-selector label{font-size:13px;font-weight:700;color:#8a95a3}
    #schemePage .scheme-tag-selector select,#schemePage .scheme-tag-custom{min-height:38px;border-radius:10px}
    #schemePage .scheme-tag-editor{min-width:0;max-width:none;width:100%}
    #schemePage .scheme-tag-add-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;gap:6px}
    #schemePage .scheme-detail-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
    #schemePage .scheme-detail-actions .btn{min-height:38px;border-radius:10px;font-size:13px;font-weight:800;padding:0 8px}
    #schemePage .scheme-detail-content{display:block;padding:0 14px 14px;overflow:visible}
    #schemeBackBtn{display:inline-flex!important;align-items:center;justify-content:flex-start;width:100%;min-height:42px;margin:0 0 12px;padding:0 2px;border:0;border-bottom:1px solid #edf0f5;border-radius:0;background:#fff;color:#172033;font-size:14px;font-weight:800}
    #schemePage .scheme-short-url{margin:0 0 12px;padding:10px 12px;border-radius:12px;background:#eef6ff;font-size:12px}
    #schemePage .scheme-editor{display:flex;flex-direction:column;gap:12px;overflow:visible}
    #schemePage .editor-main{width:100%;overflow:visible}
    #schemePage .scheme-quick-link-panel{margin:0;border-radius:14px}
    #schemePage .scheme-quick-link-head{align-items:flex-start}
    #schemePage .scheme-quick-link-list{grid-template-columns:1fr}
    #schemePage .blocks-container{display:flex;flex-direction:column;gap:12px}
    #schemePage .content-block{border:1px solid #e1e7f0;border-radius:14px;overflow:hidden;background:#fff;box-shadow:0 1px 6px rgba(15,23,42,.04)}
    #schemePage .block-header{padding:10px 12px;background:#f6f8fb}
    #schemePage .block-content{padding:12px}
    #schemePage .block-content .text-editor{min-height:86px;border-radius:14px;background:#f7f7f8;font-size:14px;line-height:1.6}
    #schemePage .editor-sidebar{position:static;width:100%;display:grid;grid-template-columns:1fr;gap:8px;padding:12px;border:1px solid #e1e7f0;border-radius:14px;background:#fff;box-shadow:none}
    #schemePage .editor-sidebar .sidebar-group{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;padding:0}
    #schemePage .editor-sidebar .sidebar-divider{display:none}
    #schemePage .sidebar-btn{width:100%;min-width:0;min-height:54px;border:1px solid #e1e7f0;border-radius:12px;background:#fff;color:#5f6b7a;font-size:12px;font-weight:700}
    #schemePage .sidebar-icon{font-size:17px;line-height:1}
    #schemePage .sidebar-label{font-size:11px}
    #schemePage .sidebar-select-group{display:grid!important;grid-template-columns:1fr 1fr;gap:8px}
    #schemePage .sidebar-select-group select{width:100%;min-height:36px;border-radius:10px;font-size:13px}
}

/* Stage 5 mobile final pass: explicit short-url actions and phone-first controls. */
.short-url-display,.scheme-card-url,.published-list-item-url,.scheme-short-url-value{display:inline-flex;min-width:0;max-width:100%;align-items:center;gap:6px;color:var(--primary);cursor:default}
.short-url-copyable{cursor:pointer}
.short-url-copyable:hover .short-url-text{text-decoration:underline}
.short-url-label{flex-shrink:0;color:#6b7280;font-weight:700}
.short-url-text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.scheme-short-url-row{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%}
.scheme-short-url-actions{display:flex;align-items:center;gap:6px;flex-shrink:0}
.short-url-copy-btn,.short-url-open-btn{border-radius:8px}

@media(max-width:768px){
    #convertPage .convert-top-bar{display:grid;grid-template-columns:1fr;gap:10px}
    #convertPage .btn-convert{width:100%;min-height:46px;border-radius:14px;font-size:16px}
    .mobile-convert-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
    .mobile-convert-action{min-height:40px;border:1px solid #dfe6f0;border-radius:12px;background:#fff;color:#172033;font-size:13px;font-weight:800}
    .mobile-convert-action-primary{background:var(--primary);border-color:var(--primary);color:#fff;box-shadow:0 6px 14px rgba(64,158,255,.18)}
    #convertPage .convert-desktop-option{display:none}
    #convertPage .convert-options-card{border:1px solid #e8edf5;border-radius:16px;background:rgba(255,255,255,.94);box-shadow:0 2px 10px rgba(15,23,42,.05);padding:12px}
    #convertPage .convert-options-title{margin-bottom:10px;border:0;color:#172033;font-size:14px;font-weight:800}
    #convertPage .convert-options-card select{min-height:42px;border-radius:12px}
    #convertPage .convert-textarea-card{border-radius:16px;background:#fff;box-shadow:0 2px 10px rgba(15,23,42,.05)}

    .short-url-text{white-space:normal;word-break:break-all;line-height:1.35}
    .short-url-display,.scheme-card-url,.published-list-item-url,.scheme-short-url-value{display:flex;width:100%;padding:8px 10px;border-radius:10px;background:#f3f7fc;font-size:12px;line-height:1.35}
    .scheme-short-url-row{display:grid;grid-template-columns:1fr;gap:8px}
    .scheme-short-url-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;width:100%}
    .scheme-short-url-actions .btn{width:100%;min-height:36px;border-radius:10px;font-weight:800}

    .list-item-actions .btn-shorturl{flex-basis:calc(50% - 6px);justify-content:center;text-align:center;white-space:nowrap}
    .list-item-actions .btn-shorturl+.btn{flex-basis:calc(50% - 6px)}
    .list-item-actions .btn{min-height:36px;border-radius:10px;font-weight:700}

    .table td[data-label="短链"] .short-url-display{padding:8px 10px}
    .table td[data-label="原始链接"].long-url-cell{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center}
    .table td[data-label="原始链接"].long-url-cell::before{grid-column:1/-1}
    .table .long-url-cell .btn-icon{min-width:58px;border-radius:10px;font-size:12px}
    .table td[data-label="操作"]{grid-template-columns:repeat(3,minmax(0,1fr))}
    .table td[data-label="操作"] .btn{min-width:0;min-height:36px;border-radius:10px;font-weight:700}

    #schemePage .published-list-item-actions{grid-template-columns:repeat(3,minmax(0,1fr))}
    #schemePage .scheme-card-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
    #schemePage .scheme-card-actions .btn{min-height:36px;border-radius:10px;font-weight:700}
    #schemePage .scheme-short-url{background:transparent;padding:0}
    #schemePage .scheme-preview-url{display:block;width:100%;margin-top:6px}
    #schemePage .scheme-preview-meta{display:grid;grid-template-columns:1fr;gap:6px;align-items:start}
    #schemePage .scheme-preview-url .scheme-short-url-row{padding:10px;border-radius:14px;background:#eef6ff}
    .pagination{position:static;bottom:auto;display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 10px;padding:10px;border:1px solid #e8edf5;border-radius:14px;background:#fff;box-shadow:0 1px 8px rgba(15,23,42,.05)}
    .pagination .btn{flex:1 1 92px;min-height:38px;border-radius:10px;font-weight:700}
    #pageInfo{order:-1;flex:1 1 100%;text-align:center;color:#172033;font-size:13px;font-weight:800}
    #shorturlPage{padding-bottom:10px}
}

@media(max-width:390px){
    .mobile-convert-actions{grid-template-columns:1fr}
    #schemePage .scheme-list-item-actions,#schemePage .published-list-item-actions,#schemePage .scheme-card-actions,.table td[data-label="操作"]{grid-template-columns:1fr 1fr}
}

/* Scheme draft editor: operator-friendly workspace. */
@media(min-width:769px){
    #schemePage .scheme-detail-content{padding:0;overflow:auto;background:#f6f8fb}
    #schemePage .scheme-ops-bar{position:sticky;top:0;z-index:12;display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;align-items:center;padding:12px 14px;border-bottom:1px solid #e6ebf3;background:rgba(255,255,255,.96);backdrop-filter:blur(8px)}
    #schemePage .scheme-ops-bar #schemeBackBtn{display:inline-flex!important;align-items:center;justify-content:center;width:auto;min-height:38px;margin:0;padding:0 12px;border:1px solid #dfe6f0;border-radius:10px;background:#fff;color:#172033;font-size:13px;font-weight:800}
    #schemePage .scheme-ops-bar #schemeBackBtn:hover{border-color:var(--primary);color:var(--primary);background:#f7fbff}
    #schemePage .scheme-ops-bar .scheme-short-url{margin:0;padding:9px 12px;border:1px solid #dbeafe;border-radius:12px;background:#eef6ff;font-size:12px;line-height:1.45}
    #schemePage .scheme-editor-ops{display:grid;grid-template-columns:240px minmax(0,1fr);gap:14px;align-items:start;padding:14px}
    #schemePage .scheme-ops-panel{position:sticky;top:64px;width:auto;max-height:calc(100vh - 280px);display:flex;flex-direction:column;gap:12px;padding:12px;border:1px solid #e2e8f0;border-radius:14px;background:#fff;box-shadow:0 8px 22px rgba(15,23,42,.06);overflow:auto}
    #schemePage .scheme-ops-panel-section{display:flex;flex-direction:column;gap:8px;min-width:0}
    #schemePage .scheme-ops-panel-title{font-size:12px;font-weight:800;color:#687385}
    #schemePage .scheme-ops-panel .sidebar-group{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:0}
    #schemePage .scheme-ops-panel-section:nth-child(2) .sidebar-group{grid-template-columns:repeat(2,minmax(0,1fr))}
    #schemePage .scheme-ops-panel .sidebar-select-group{grid-template-columns:1fr;gap:8px}
    #schemePage .scheme-ops-panel .sidebar-btn{width:100%;min-height:58px;padding:7px 4px;border:1px solid #e1e7f0;border-radius:12px;background:#fff;color:#4b5565;font-size:12px;font-weight:800}
    #schemePage .scheme-ops-panel .sidebar-btn:hover,#schemePage .scheme-ops-panel .sidebar-btn.active{border-color:#b9d9ff;background:#f4f9ff;color:var(--primary);box-shadow:0 5px 12px rgba(64,158,255,.10)}
    #schemePage .scheme-ops-panel .sidebar-icon{font-size:17px}
    #schemePage .scheme-ops-panel .sidebar-label{font-size:11px}
    #schemePage .scheme-ops-panel .sidebar-select-group select{width:100%;min-height:38px;padding:0 10px;border-radius:10px;font-size:13px;text-align:left}
    #schemePage .scheme-ops-panel .sidebar-divider{display:none}
    #schemePage .scheme-quick-link-panel{position:static;width:auto;margin:0;padding:10px;border-radius:12px;background:#f8fbff;box-shadow:none}
    #schemePage .scheme-ops-main{min-height:380px;padding:12px;border:1px solid #e2e8f0;border-radius:14px;background:#fff;box-shadow:0 8px 22px rgba(15,23,42,.05);overflow:visible}
    #schemePage .scheme-editor-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px;padding:2px 2px 12px;border-bottom:1px solid #edf1f7}
    #schemePage .scheme-editor-head strong{font-size:15px;font-weight:900;color:#172033}
    #schemePage .scheme-editor-head span{margin-left:8px;font-size:12px;font-weight:700;color:#8a95a3}
}

@media(max-width:768px){
    #schemePage .scheme-ops-bar{display:block}
    #schemePage .scheme-editor-head{display:none}
    #schemePage .scheme-ops-panel-title{display:none}
}

/* Mobile viewport correction: keep content above the fixed bottom nav. */
@media(max-width:768px){
    :root{
        --mobile-header-height:50px;
        --mobile-nav-height:62px;
        --mobile-safe-bottom:env(safe-area-inset-bottom,0px);
    }
    html,body{height:100%;min-height:100%;overflow:hidden}
    .main-container{height:100vh;height:100dvh;min-height:100svh;padding:0;display:block;overflow:hidden}
    .content{
        position:fixed;
        top:var(--mobile-header-height);
        left:0;
        right:0;
        bottom:calc(var(--mobile-nav-height) + var(--mobile-safe-bottom));
        height:auto;
        min-height:0;
        padding:10px 10px 18px;
        overflow-y:auto;
        -webkit-overflow-scrolling:touch;
        overscroll-behavior:contain;
        scroll-padding-bottom:24px;
        display:block;
    }
    .page.active{min-height:auto;padding-bottom:18px;overflow:visible}
    .sidebar.mobile-bottom-nav{
        height:calc(var(--mobile-nav-height) + var(--mobile-safe-bottom));
        max-height:calc(var(--mobile-nav-height) + var(--mobile-safe-bottom));
        padding-bottom:var(--mobile-safe-bottom);
    }
    .sidebar.mobile-bottom-nav.collapsed{
        height:calc(var(--mobile-nav-height) + var(--mobile-safe-bottom));
        max-height:calc(var(--mobile-nav-height) + var(--mobile-safe-bottom));
    }
    .sidebar.mobile-bottom-nav .nav-menu{height:var(--mobile-nav-height)}
    .sidebar.mobile-bottom-nav .nav-item,.mobile-more-trigger{height:var(--mobile-nav-height)}
}

@media(max-width:390px){
    .content{padding:8px 8px 18px}
}

/* Scheme management desktop workspace redesign. */
@media(min-width:769px){
    #schemePage .scheme-layout{
        display:grid;
        grid-template-columns:minmax(0,1fr);
        gap:16px;
        height:calc(100vh - 220px);
        min-height:620px;
        overflow:hidden;
    }
    #schemePage .scheme-layout.daily-report-mode{
        display:block;
        height:calc(100vh - 150px);
        min-height:420px;
        overflow:auto;
        padding-right:2px;
        scrollbar-gutter:stable;
    }
    #schemePage .scheme-layout.daily-report-mode #schemeDailyReport{
        min-height:0;
        padding-bottom:18px;
    }
    #schemePage .scheme-layout.is-workspace-open{
        grid-template-columns:minmax(360px,440px) minmax(0,1fr);
    }
    #schemePage .scheme-layout.is-preview-open{
        grid-template-columns:minmax(360px,420px) minmax(0,1fr);
    }
    #schemePage .scheme-list-panel,
    #schemePage .scheme-list-panel.full-width,
    #schemePage .scheme-list-panel.has-detail{
        width:auto;
        min-width:0;
        height:100%;
        max-height:none;
        overflow:hidden;
        border:1px solid #e8edf5;
        border-radius:16px;
        background:#fff;
        box-shadow:0 2px 10px rgba(15,23,42,.05);
        display:flex;
        flex-direction:column;
    }
    #schemePage .scheme-list-panel .tab-content.active{
        display:flex;
        flex:1;
        min-height:0;
        flex-direction:column;
    }
    #schemePage .scheme-list-panel .draft-toolbar,
    #schemePage .scheme-list-panel .sub-toolbar{
        position:sticky;
        top:0;
        z-index:8;
        display:flex;
        align-items:center;
        gap:8px;
        flex-wrap:wrap;
        margin:0;
        padding:12px 14px;
        border:0;
        border-bottom:1px solid #edf0f5;
        border-radius:16px 16px 0 0;
        background:rgba(255,255,255,.96);
        box-shadow:none;
    }
    #schemePage .scheme-list-panel .draft-toolbar .btn,
    #schemePage .scheme-list-panel .sub-toolbar .btn{
        min-height:34px;
        border-radius:9px;
        font-size:13px;
        font-weight:800;
    }
    #schemePage .sub-toolbar-divider{display:none}
    #schemePage .sub-toolbar-group{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
    #schemePage .sub-toolbar-group:first-child{margin-right:auto}
    #schemePage .filter-pill{
        min-height:32px;
        padding:0 12px;
        border-radius:999px;
        border:1px solid #dfe6f0;
        background:#fff;
        color:#5f6b7a;
        font-size:13px;
        font-weight:800;
    }
    #schemePage .filter-pill.active{
        border-color:var(--primary);
        background:var(--primary);
        color:#fff;
    }
    #draftsList,
    #publishedList{
        display:flex;
        flex:1;
        min-height:0;
        flex-direction:column;
        gap:10px;
        padding:14px;
        overflow:auto;
    }
    #schemePage .scheme-list-item,
    #schemePage .published-list-item{
        position:relative;
        display:grid;
        grid-template-columns:auto minmax(0,1fr) auto;
        gap:10px;
        align-items:center;
        margin:0;
        padding:14px;
        border:1px solid #e8edf5;
        border-radius:14px;
        background:#fff;
        box-shadow:none;
        transition:border-color .18s,background .18s,box-shadow .18s;
    }
    #schemePage .scheme-list-item:hover,
    #schemePage .published-list-item:hover{
        border-color:#cfe4ff;
        background:#fbfdff;
        box-shadow:0 6px 18px rgba(15,23,42,.06);
    }
    #schemePage .scheme-list-item.active{
        border-color:#9bc9ff;
        background:#eef6ff;
        border-left:3px solid var(--primary);
    }
    #schemePage .scheme-list-item-checkbox,
    #schemePage .published-list-item-checkbox{
        margin:0;
        padding:2px 0 0;
        align-self:start;
    }
    #schemePage .scheme-list-item-checkbox input,
    #schemePage .published-list-item-checkbox input{
        width:18px;
        height:18px;
        accent-color:var(--primary);
    }
    #schemePage .scheme-list-item-main,
    #schemePage .published-list-item-main{
        min-width:0;
        cursor:pointer;
    }
    #schemePage .scheme-list-item-title,
    #schemePage .published-list-item-title{
        margin:0 0 6px;
        color:#172033;
        font-size:15px;
        font-weight:900;
        line-height:1.45;
        white-space:normal;
        word-break:break-word;
    }
    #schemePage .scheme-list-item-meta,
    #schemePage .published-list-item-time{
        margin:0 0 6px;
        color:#8a95a3;
        font-size:12px;
        font-weight:700;
        line-height:1.45;
    }
    #schemePage .scheme-list-item-summary,
    #schemePage .published-list-item-summary{
        margin:0 0 8px;
        color:#5f6b7a;
        font-size:13px;
        line-height:1.55;
        display:-webkit-box;
        -webkit-line-clamp:2;
        -webkit-box-orient:vertical;
        overflow:hidden;
    }
    #schemePage .scheme-list-item-time{margin:0}
    #schemePage .scheme-list-item-status{
        margin:0;
        padding:3px 9px;
        border-radius:999px;
        font-size:11px;
        font-weight:800;
    }
    #schemePage .published-list-item-meta{
        display:flex;
        align-items:center;
        gap:10px;
        flex-wrap:wrap;
    }
    #schemePage .published-list-item-url{
        display:inline-flex;
        width:auto;
        max-width:360px;
        padding:6px 10px;
        border-radius:999px;
        background:#f3f7fc;
        font-size:12px;
        line-height:1.35;
        color:var(--primary);
    }
    #schemePage .published-list-item-insights{
        display:flex;
        align-items:center;
        gap:6px;
        flex-wrap:wrap;
        margin-top:8px;
        color:#687385;
        font-size:12px;
        font-weight:800;
        line-height:1.35;
    }
    #schemePage .published-list-item-insights span{
        display:inline-flex;
        align-items:center;
        min-height:24px;
        padding:3px 8px;
        border:1px solid #e5edf6;
        border-radius:999px;
        background:#f8fafc;
    }
    #schemePage .published-list-item-insights .published-short-health.ok{
        border-color:#cfead9;
        background:#f1fbf4;
        color:#2f7a46;
    }
    #schemePage .published-list-item-insights .published-short-health.warn{
        border-color:#f8d8a8;
        background:#fff8ec;
        color:#9a5a12;
    }
    #schemePage .published-list-item-insights .published-short-health.err{
        border-color:#f3b8bd;
        background:#fff1f2;
        color:#b4232f;
    }
    #schemePage .scheme-list-item-actions,
    #schemePage .published-list-item-actions{
        position:relative;
        display:flex;
        align-items:center;
        justify-content:flex-end;
        gap:6px;
        width:auto;
        min-width:0;
        margin:0;
        padding:0;
        border:0;
        grid-column:auto;
        align-self:start;
    }
    #schemePage .scheme-list-item-actions .btn,
    #schemePage .published-list-item-actions .btn{
        min-width:0;
        min-height:34px;
        padding:0 12px;
        border-radius:9px;
        font-size:13px;
        font-weight:800;
        line-height:1;
        white-space:nowrap;
    }
    #schemePage .scheme-layout.is-workspace-open .scheme-list-item,
    #schemePage .scheme-layout.is-workspace-open .published-list-item{
        grid-template-columns:auto minmax(0,1fr);
        align-items:start;
    }
    #schemePage .scheme-layout.is-workspace-open .scheme-list-item-actions,
    #schemePage .scheme-layout.is-workspace-open .published-list-item-actions{
        grid-column:2;
        justify-content:flex-start;
        padding-top:8px;
    }
    #schemePage .scheme-layout.is-workspace-open .scheme-list-item-actions .btn:not(.scheme-action-primary):not(.btn-more),
    #schemePage .scheme-layout.is-workspace-open .published-list-item-actions .btn:not(.scheme-action-primary):not(.btn-more){
        display:none;
    }
    #schemePage .item-more-wrap{
        position:relative;
        display:inline-flex;
        flex-shrink:0;
    }
    #schemePage .scheme-list-item-actions > .item-more-wrap,
    #schemePage .published-list-item-actions > .item-more-wrap{
        display:inline-flex;
    }
    #schemePage .btn-more{
        width:36px;
        padding:0;
        font-size:18px;
    }
    #schemePage .item-more-menu{
        position:absolute;
        top:calc(100% + 6px);
        right:0;
        z-index:80;
        min-width:132px;
        flex-direction:column;
        gap:2px;
        padding:6px;
        border:1px solid #dfe6f0;
        border-radius:10px;
        background:#fff;
        box-shadow:0 12px 28px rgba(15,23,42,.16);
    }
    #schemePage .item-more-menu button{
        width:100%;
        min-height:32px;
        padding:0 10px;
        border:0;
        border-radius:8px;
        background:transparent;
        color:#334155;
        text-align:left;
        font-size:13px;
        font-weight:800;
        cursor:pointer;
    }
    #schemePage .item-more-menu button:hover{
        background:#f4f9ff;
        color:var(--primary);
    }
    #schemePage .item-more-menu button.danger{
        color:var(--danger);
    }
    #schemePage .toolbar-actions-area{
        position:relative;
        padding-left:10px;
    }
    #schemePage .toolbar-more-wrap{
        position:relative;
        display:inline-flex;
    }
    #schemePage .toolbar-more-btn{
        width:auto;
        min-width:62px;
        padding:0 12px;
        font-size:13px;
    }
    #schemePage .toolbar-more-menu{
        right:0;
        min-width:150px;
    }
    #schemePage .load-more-container{
        flex-shrink:0;
        border-top:1px solid #edf0f5;
        background:#fff;
    }
    #schemePage .scheme-workspace{
        display:flex;
        min-width:0;
        min-height:0;
        height:100%;
        overflow:hidden;
    }
    #schemePage .scheme-detail-panel,
    #schemePage .scheme-preview-panel{
        display:flex;
        flex-direction:column;
        width:100%;
        height:100%;
        min-width:0;
        min-height:0;
        border:1px solid #e8edf5;
        border-radius:16px;
        background:#fff;
        box-shadow:0 2px 10px rgba(15,23,42,.05);
        overflow:hidden;
    }
    #schemePage .scheme-detail-empty{
        color:#8a95a3;
        background:#fbfcff;
    }
    #schemePage .scheme-detail-header{
        flex:0 0 auto;
        position:sticky;
        top:0;
        z-index:14;
        display:grid!important;
        grid-template-columns:minmax(280px,1fr) auto;
        grid-template-areas:"name actions" "shorturl actions" "tag actions";
        gap:8px 14px;
        align-items:start;
        min-height:0;
        padding:12px 16px;
        border-bottom:1px solid #edf0f5;
        background:rgba(255,255,255,.97);
        box-shadow:none;
        backdrop-filter:blur(8px);
    }
    #schemePage .scheme-name-input{
        grid-area:name;
        min-height:42px;
        border-radius:10px;
        border-color:#dfe6f0;
        font-size:18px;
        font-weight:900;
    }
    #schemePage .save-status{
        display:none;
    }
    #schemePage .scheme-header-short-url{
        grid-area:shorturl;
        min-width:0;
    }
    #schemePage .scheme-header-short-url .scheme-short-url{
        margin:0;
        padding:8px 10px;
        border:1px solid #dbeafe;
        border-radius:10px;
        background:#eef6ff;
        font-size:12px;
        line-height:1.45;
    }
    #schemePage .scheme-detail-actions{
        display:grid;
        grid-template-columns:72px 86px 86px 42px;
        gap:8px;
        align-self:start;
    }
    #schemePage .scheme-detail-actions.is-published-edit{
        grid-template-columns:86px 86px 42px;
    }
    #schemePage .scheme-detail-actions .btn{
        min-height:42px;
        border-radius:10px;
        font-size:14px;
        font-weight:900;
    }
    #schemePage .scheme-detail-more-wrap{
        width:42px;
        height:42px;
    }
    #schemePage .scheme-detail-more-btn{
        width:42px;
        height:42px;
        min-height:42px;
        padding:0;
        font-size:20px;
    }
    #schemePage .scheme-tag-selector{
        grid-area:tag;
        display:grid;
        grid-template-columns:auto auto minmax(0,1fr);
        gap:8px;
        align-items:start;
    }
    #schemePage .scheme-tag-back-btn{
        display:inline-flex!important;
        align-items:center;
        justify-content:center;
        width:auto!important;
        min-height:32px;
        margin:0;
        padding:0 10px;
        border:1px solid #dfe6f0;
        border-radius:9px;
        background:#fff;
        color:#172033;
        font-size:12px;
        font-weight:900;
        white-space:nowrap;
    }
    #schemePage .scheme-tag-back-btn:hover{
        border-color:var(--primary);
        color:var(--primary);
        background:#f7fbff;
    }
    #schemePage .scheme-tag-selector label{
        padding-top:4px;
        color:#8a95a3;
        font-size:13px;
        font-weight:800;
    }
    #schemePage .scheme-tag-editor{
        display:flex;
        flex-direction:row;
        align-items:center;
        gap:8px;
        min-width:0;
    }
    #schemePage .scheme-tag-chips{
        min-height:32px;
        gap:6px;
        flex:1 1 auto;
    }
    #schemePage .scheme-tag-add-row{
        display:flex;
        flex-wrap:nowrap;
        gap:6px;
        flex:0 0 auto;
    }
    #schemePage .scheme-tag-add-row select,
    #schemePage .scheme-tag-custom{
        min-height:32px;
        max-width:140px;
        border-radius:8px;
    }
    #schemePage .scheme-detail-content{
        flex:1 1 auto;
        min-height:0;
        height:auto;
        padding:0;
        overflow:hidden;
        background:#f6f8fb;
    }
    #schemePage .scheme-editor-ops{
        display:grid;
        grid-template-columns:240px minmax(0,1fr);
        gap:14px;
        align-items:start;
        height:100%;
        min-height:0;
        padding:14px;
    }
    #schemePage .scheme-ops-main{
        grid-column:2;
        grid-row:1;
        height:100%;
        min-height:0;
        padding:14px;
        border:1px solid #e2e8f0;
        border-radius:14px;
        background:#fff;
        box-shadow:0 8px 22px rgba(15,23,42,.05);
        overflow-y:scroll;
        overflow-x:hidden;
        overscroll-behavior:contain;
        scrollbar-gutter:stable;
        scroll-padding-bottom:32px;
    }
    #schemePage .scheme-ops-main::-webkit-scrollbar{
        width:12px;
    }
    #schemePage .scheme-ops-main::-webkit-scrollbar-track{
        background:#eef2f7;
    }
    #schemePage .scheme-ops-main::-webkit-scrollbar-thumb{
        min-height:56px;
        border:3px solid #eef2f7;
        border-radius:999px;
        background:#aeb8c6;
    }
    #schemePage .scheme-ops-main::-webkit-scrollbar-thumb:hover{
        background:#8f9aaa;
    }
    #schemePage .scheme-ops-panel{
        grid-column:1;
        grid-row:1;
        position:sticky;
        top:14px;
        width:auto;
        max-height:100%;
        display:flex;
        flex-direction:column;
        gap:12px;
        padding:12px;
        border:1px solid #e2e8f0;
        border-radius:14px;
        background:#fff;
        box-shadow:0 8px 22px rgba(15,23,42,.06);
        overflow:auto;
    }
    #schemePage .scheme-ops-panel-section{
        display:flex;
        flex-direction:column;
        gap:8px;
        min-width:0;
    }
    #schemePage .scheme-ops-panel-title{
        display:block;
        color:#687385;
        font-size:12px;
        font-weight:900;
    }
    #schemePage .scheme-ops-panel .sidebar-group{
        display:grid;
        grid-template-columns:repeat(3,minmax(0,1fr));
        gap:8px;
        padding:0;
    }
    #schemePage .scheme-ops-panel-section:nth-child(2) .sidebar-group{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
    #schemePage .scheme-ops-panel .sidebar-select-group{
        grid-template-columns:1fr;
        gap:8px;
    }
    #schemePage .scheme-ops-panel .sidebar-btn{
        width:100%;
        min-height:58px;
        padding:7px 4px;
        border:1px solid #e1e7f0;
        border-radius:12px;
        background:#fff;
        color:#4b5565;
        font-size:12px;
        font-weight:900;
    }
    #schemePage .scheme-ops-panel .sidebar-btn:hover,
    #schemePage .scheme-ops-panel .sidebar-btn.active{
        border-color:#b9d9ff;
        background:#f4f9ff;
        color:var(--primary);
        box-shadow:0 5px 12px rgba(64,158,255,.10);
    }
    #schemePage .scheme-ops-panel .sidebar-icon{font-size:17px}
    #schemePage .scheme-ops-panel .sidebar-label{font-size:11px}
    #schemePage .scheme-ops-panel .sidebar-select-group select{
        width:100%;
        min-height:38px;
        padding:0 10px;
        border-radius:10px;
        font-size:13px;
        text-align:left;
    }
    #schemePage .scheme-quick-link-panel{
        position:static;
        width:auto;
        margin:0;
        padding:10px;
        border-radius:12px;
        background:#f8fbff;
        box-shadow:none;
    }
    #schemePage .scheme-quick-link-list{
        max-height:280px;
    }
    #schemePage .scheme-editor-head{
        display:flex;
        align-items:center;
        justify-content:space-between;
        gap:10px;
        margin-bottom:12px;
        padding:2px 2px 12px;
        border-bottom:1px solid #edf1f7;
    }
    #schemePage .scheme-editor-head strong{
        color:#172033;
        font-size:16px;
        font-weight:900;
    }
    #schemePage .scheme-editor-head span{
        margin-left:8px;
        color:#8a95a3;
        font-size:12px;
        font-weight:800;
    }
    #schemePage .blocks-container{
        gap:12px;
    }
    #schemePage .content-block{
        border:1px solid #e1e7f0;
        border-radius:14px;
        background:#fff;
        box-shadow:0 1px 6px rgba(15,23,42,.04);
    }
    #schemePage .block-header{
        padding:10px 12px;
        background:#f7f9fc;
    }
    #schemePage .block-content{
        padding:12px;
    }
    #schemePage .block-content .text-editor{
        min-height:150px;
        padding:16px 18px;
        border-radius:14px;
        background:#f7f7f8;
        font-size:15px;
        line-height:1.75;
    }
    #schemePage .scheme-preview-panel{
        display:flex;
    }
    #schemePage .scheme-preview-header{
        padding:14px 18px;
    }
}

@media(min-width:769px) and (max-width:1280px){
    #schemePage .scheme-layout.is-workspace-open{
        grid-template-columns:minmax(300px,320px) minmax(0,1fr);
    }
    #schemePage .scheme-editor-ops{
        grid-template-columns:220px minmax(0,1fr);
        gap:12px;
    }
    #schemePage .scheme-detail-header{
        grid-template-columns:minmax(0,1fr);
        grid-template-areas:"name" "shorturl" "tag" "actions";
    }
    #schemePage .scheme-detail-actions{
        grid-template-columns:repeat(4,minmax(0,1fr));
    }
    #schemePage .scheme-detail-actions.is-published-edit{
        grid-template-columns:repeat(3,minmax(0,1fr));
    }
    #schemePage .scheme-tag-editor{
        flex-direction:row;
        flex-wrap:wrap;
        align-items:center;
    }
    #schemePage .scheme-tag-add-row{
        flex:0 0 auto;
    }
}

/* Stage 6 admin visual foundation: low-risk PC polish before deeper workflow changes. */
:root{
    --primary:#2f6fed;
    --primary-dark:#245bd4;
    --success:#3f9f5f;
    --warning:#c7791d;
    --danger:#df4b57;
    --info:#718096;
    --text:#172033;
    --text-secondary:#4b5565;
    --text-light:#8a95a3;
    --border:#dfe6f0;
    --bg:#f4f7fb;
    --white:#fff;
    --shadow:0 8px 22px rgba(15,23,42,.06);
    --radius:8px;
    --transition:all .2s ease;
}

body{
    background:linear-gradient(180deg,#f8fafc 0,#f3f6fb 100%);
    color:var(--text);
    font-family:"MiSans","PingFang SC","Microsoft YaHei UI","Microsoft YaHei",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
    font-variant-numeric:tabular-nums;
    letter-spacing:0;
}

button,input,select,textarea{
    font:inherit;
    font-variant-numeric:tabular-nums;
}

a{color:var(--primary)}

.logo{letter-spacing:0}

.btn{
    min-height:36px;
    border-color:#d9e1ec;
    border-radius:8px;
    font-weight:700;
    box-shadow:0 1px 0 rgba(15,23,42,.02);
}

.btn:hover{
    border-color:#b9d7ff;
    background:#f7fbff;
    color:var(--primary);
    box-shadow:0 4px 12px rgba(47,111,237,.10);
    transform:translateY(-1px);
}

.btn:active{transform:translateY(0) scale(.99)}

.btn:focus-visible,
.sidebar-toggle:focus-visible,
.nav-item:focus-visible,
.tab:focus-visible,
.filter-pill:focus-visible,
.modal-close:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible{
    outline:2px solid rgba(47,111,237,.24);
    outline-offset:2px;
}

.btn-primary{
    border-color:var(--primary);
    background:var(--primary);
    color:#fff;
    box-shadow:0 8px 16px rgba(47,111,237,.16);
}

.btn-primary:hover{
    border-color:var(--primary-dark);
    background:var(--primary-dark);
    color:#fff;
}

.btn-danger{background:var(--danger);border-color:var(--danger);color:#fff}
.btn-danger:hover{background:#cb3f4a;border-color:#cb3f4a;color:#fff}
.btn-success{background:var(--success);border-color:var(--success);color:#fff}
.btn-success:hover{background:#358a52;border-color:#358a52;color:#fff}
.btn-warning{background:var(--warning);border-color:var(--warning);color:#fff}
.btn-warning:hover{background:#a96618;border-color:#a96618;color:#fff}

.form-input,
textarea,
select,
.api-key-input{
    border-color:#d9e1ec;
    border-radius:8px;
    color:var(--text);
}

.form-input:focus,
textarea:focus,
select:focus,
.api-key-input:focus{
    border-color:#9bc9ff;
    box-shadow:0 0 0 3px rgba(47,111,237,.12);
}

.badge{border-radius:6px;font-weight:800}
.badge-warning{background:#fff4df;color:#a96618}
.badge-info{background:#eef6ff;color:var(--primary)}
.badge-success{background:#ecf8f1;color:#358a52}

.loading{
    color:var(--text-light);
    font-weight:700;
}

.empty-state{
    border:1px dashed #d9e1ec;
    border-radius:8px;
    background:#fbfcfe;
}

@media(min-width:769px){
    .header{
        height:60px;
        padding:0 18px;
        border-bottom-color:#e5ebf3;
        background:rgba(255,255,255,.96);
        box-shadow:0 1px 0 rgba(15,23,42,.04);
        backdrop-filter:blur(10px);
    }

    .header-left{gap:12px}
    .logo{font-size:18px;color:#1d4ed8}
    .logo-mark{
        width:32px;
        height:32px;
        border-radius:8px;
        box-shadow:0 4px 12px rgba(47,111,237,.12);
    }

    .version-badge{
        border:1px solid #e1e7f0;
        background:#f7f9fc;
        color:#8a95a3;
        font-weight:700;
    }

    .health-status{
        min-height:30px;
        padding:0 10px;
        border:1px solid #e6ebf2;
        border-radius:8px;
        background:#fbfcfe;
        color:var(--text-secondary);
        font-size:13px;
        font-weight:700;
    }

    .api-key-input-group{
        min-height:34px;
        padding:0 8px;
        border:1px solid #e6ebf2;
        border-radius:8px;
        background:#fbfcfe;
    }

    .api-key-input{
        height:28px;
        border:0;
        background:transparent;
    }

    .logout-btn{
        min-height:32px;
        border-radius:8px;
        font-weight:800;
    }

    .main-container{height:calc(100vh - 60px)}

    .sidebar{
        width:212px;
        border-right-color:#e5ebf3;
        background:#fbfcfe;
    }

    .nav-menu{padding:12px 10px}

    .nav-item{
        margin:2px 0;
        padding:11px 12px;
        border-left:0;
        border-radius:8px;
        color:#5f6b7a;
        font-weight:800;
    }

    .nav-item:hover{
        background:#f1f6fd;
        color:var(--primary);
    }

    .nav-item.active{
        background:#eaf3ff;
        color:var(--primary);
        box-shadow:inset 3px 0 0 var(--primary);
    }

    .nav-icon{
        width:22px;
        font-size:17px;
        opacity:.86;
    }

    .content{
        padding:18px;
        background:linear-gradient(180deg,#f7f9fc 0,#f3f6fb 100%);
    }

    .card,
    .toolbar-wrapper,
    .sp-list-panel,
    .scheme-import-card,
    .daily-report-card,
    .settings-section,
    .template-card,
    .table-container,
    .scheme-list-panel,
    .scheme-detail-panel,
    .scheme-preview-panel{
        border:1px solid #e3e9f2;
        border-radius:8px;
        box-shadow:0 4px 14px rgba(15,23,42,.045);
    }

    .tabs{
        gap:4px;
        border-bottom:1px solid #dfe6f0;
    }

    .tab{
        min-height:42px;
        padding:0 16px;
        color:#5f6b7a;
        font-weight:800;
        border-bottom-width:2px;
    }

    .tab:hover{color:var(--primary)}

    .tab.active{
        color:var(--primary);
        border-bottom-color:var(--primary);
        background:linear-gradient(180deg,rgba(47,111,237,0),rgba(47,111,237,.06));
    }

    .toolbar-wrapper,
    .sp-toolbar,
    .scheme-toolbar,
    .taojin-toolbar,
    .taojin-batch-toolbar,
    .draft-toolbar,
    .sub-toolbar,
    .published-toolbar{
        border-color:#e3e9f2;
        background:rgba(255,255,255,.96);
        box-shadow:0 2px 10px rgba(15,23,42,.04);
    }

    .filter-pill,
    .tag-chip{
        border-radius:8px;
        border-color:#d9e1ec;
        font-weight:800;
    }

    .filter-pill.active,
    .tag-chip.active{
        border-color:var(--primary);
        background:var(--primary);
        color:#fff;
    }

    .list-item,
    #schemePage .scheme-list-item,
    #schemePage .published-list-item,
    .taojin-compact-card,
    .taojin-list-mode .taojin-list-row,
    .activity-item{
        border:1px solid #e3e9f2;
        border-radius:8px;
        box-shadow:0 2px 10px rgba(15,23,42,.035);
    }

    .list-item:hover,
    #schemePage .scheme-list-item:hover,
    #schemePage .published-list-item:hover,
    .taojin-compact-card:hover,
    .taojin-list-mode .taojin-list-row:hover{
        border-color:#cfe4ff;
        box-shadow:0 8px 20px rgba(15,23,42,.06);
    }

    .table th{
        background:#f7f9fc;
        color:#5f6b7a;
        font-weight:800;
    }

    .table tr:hover{background:#fbfdff}

    .convert-layout{
        display:grid;
        grid-template-columns:minmax(0,1.55fr) minmax(320px,.8fr);
        gap:18px;
        height:calc(100vh - 60px - 36px);
    }

    .convert-main,
    .convert-sidebar{min-width:0}

    #convertPage .convert-tabs{
        margin-bottom:14px;
        border:1px solid #dfe6f0;
        border-radius:8px;
        background:rgba(255,255,255,.96);
        box-shadow:0 2px 10px rgba(15,23,42,.04);
        overflow:hidden;
        display:inline-flex;
    }

    #convertPage .convert-tabs .tab{
        min-width:150px;
        border-bottom:0;
        margin-bottom:0;
    }

    #convertPage .convert-tabs .tab.active{
        background:#eaf3ff;
        box-shadow:inset 0 -2px 0 var(--primary);
    }

    #convertPage .scheme-import-layout{
        height:calc(100vh - 60px - 36px - 56px);
        min-height:560px;
        align-items:stretch;
    }

    #convertPage .scheme-import-main,
    #convertPage .scheme-import-rules,
    #convertPage .scheme-import-card{
        min-height:0;
    }

    #convertPage .scheme-import-card{
        height:100%;
        display:flex;
        flex-direction:column;
        overflow:hidden;
    }

    #convertPage .scheme-import-textarea{
        flex:1;
        min-height:360px;
    }

    #convertPage .scheme-import-result,
    #convertPage .scheme-import-rules-list{
        overflow:auto;
    }

    .convert-sidebar{
        flex:none;
        gap:14px;
    }

    .convert-textarea-card{
        border:1px solid #dfe7f2;
        border-radius:8px;
        box-shadow:0 8px 22px rgba(15,23,42,.055);
    }

    .convert-textarea-card textarea{
        padding:18px;
        border-radius:8px;
        color:#1f2937;
        line-height:1.75;
    }

    .convert-options-card{
        flex:0 0 auto;
        max-height:none;
        border:1px solid #dfe7f2;
        border-radius:8px;
        box-shadow:0 4px 14px rgba(15,23,42,.045);
    }

    .convert-options-title{
        color:#172033;
        font-weight:900;
    }

    .log-container{
        border:1px solid #1f2937;
        border-radius:8px;
        background:#111827;
        box-shadow:0 8px 22px rgba(15,23,42,.12);
    }

    .modal{background:rgba(15,23,42,.46)}

    .modal-content{
        width:min(680px,90vw);
        border:1px solid rgba(226,232,240,.9);
        border-radius:8px;
        box-shadow:0 20px 60px rgba(15,23,42,.24);
    }

    .modal-header{
        background:#fbfcfe;
        border-bottom-color:#e6ebf2;
    }

    .modal-header h3{
        color:#172033;
        font-weight:900;
    }

    .toast{
        border:1px solid #e3e9f2;
        border-radius:8px;
        box-shadow:0 12px 28px rgba(15,23,42,.14);
        font-weight:800;
    }
}

/* Stage 7 product library final overrides: keep product rows ahead of older mobile list rules. */
@media(min-width:769px){
    #spProductList .sp-product-row{
        display:grid;
        grid-template-columns:minmax(360px,1fr) minmax(180px,220px) minmax(170px,.45fr) minmax(250px,auto);
        gap:12px;
        padding:12px 14px;
    }

    #spProductList .sp-product-actions{
        display:flex;
        align-self:center;
        justify-content:flex-end;
        flex-wrap:wrap;
    }

    #spProductList .sp-product-actions .btn{
        min-height:32px;
        padding:0 10px;
        font-size:12px;
        white-space:nowrap;
    }

    #spProductList .sp-product-title{
        display:block;
        margin:1px 0 7px;
        color:#172033;
        line-height:1.35;
    }
}

@media(max-width:768px){
    #spProductList .sp-product-row{
        display:flex;
        flex-direction:column;
        align-items:stretch;
        gap:10px;
    }

    #spProductList .sp-product-actions{
        display:grid;
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:8px;
        width:100%;
        padding-top:10px;
        border-top:1px dashed #e6ebf2;
    }

    #spProductList .sp-product-actions .btn,
    #spProductList .sp-product-actions .btn-shorturl{
        width:100%;
        min-height:36px;
        justify-content:center;
        text-align:center;
        white-space:nowrap;
    }

    #spProductList .sp-product-title{
        display:block;
        margin:0 0 6px;
        white-space:normal;
        word-break:break-word;
    }
}

/* Stage 7 product library compact pass: two-line rows, isolated clicks, commission split. */
.sp-product-commission label{
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}

.sp-product-click-box{
    display:flex;
    min-width:0;
    flex-direction:column;
    justify-content:center;
    gap:5px;
    color:#4b5565;
    font-size:12px;
    font-weight:800;
    line-height:1.25;
}

.sp-product-click-box span{
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}

@media(min-width:769px){
    #spProductList .sp-product-row{
        display:grid;
        grid-template-columns:minmax(380px,1fr) minmax(164px,190px) minmax(74px,90px) minmax(150px,.38fr) minmax(250px,auto);
        align-items:center;
        gap:12px;
        min-height:74px;
        padding:10px 14px;
    }

    #spProductList .sp-product-main{
        align-items:center;
    }

    #spProductList .sp-product-thumb{
        width:50px;
        height:50px;
        flex-basis:50px;
    }

    #spProductList .sp-product-title{
        display:block;
        margin:0 0 5px;
        color:#172033;
        font-size:14px;
        font-weight:900;
        line-height:1.35;
        overflow:hidden;
        text-overflow:ellipsis;
        white-space:nowrap;
    }

    #spProductList .sp-product-meta{
        display:block;
        color:#667085;
        font-size:12px;
        line-height:1.35;
        overflow:hidden;
        text-overflow:ellipsis;
        white-space:nowrap;
    }

    #spProductList .sp-product-meta span{
        display:block;
        overflow:hidden;
        text-overflow:ellipsis;
        white-space:nowrap;
    }

    #spProductList .sp-product-metrics{
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:6px;
    }

    #spProductList .sp-product-metric{
        min-height:50px;
        padding:7px 8px;
    }

    #spProductList .sp-product-metric label{
        margin-bottom:5px;
        font-size:11px;
        line-height:1;
    }

    #spProductList .sp-product-metric strong{
        font-size:14px;
        line-height:1.15;
    }

    #spProductList .sp-product-state{
        gap:6px;
    }

    #spProductList .sp-product-state > span{
        display:block;
        line-height:1.35;
    }

    #spProductList .sp-product-actions{
        display:flex;
        align-self:center;
        justify-content:flex-end;
        flex-wrap:wrap;
        gap:6px;
    }
}

@media(max-width:768px){
    #spProductList .sp-product-row{
        display:flex;
        flex-direction:column;
        gap:10px;
    }

    #spProductList .sp-product-click-box{
        display:grid;
        grid-template-columns:1fr 1fr;
        gap:8px;
    }

    #spProductList .sp-product-click-box span{
        padding:7px 9px;
        border:1px solid #e6ebf2;
        border-radius:8px;
        background:#fbfcfe;
        text-align:center;
    }
}
