/* 唛头生成器：仅作用于 .sm-tool 与打印容器 #sm-print，不影响其他页面。 */
.sm-tool{padding:26px 0 56px}
.sm-tool .back-link{font-size:13px;color:var(--muted)}
.sm-tool .back-link:hover{color:var(--ink)}
.sm-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:14px 0 12px}
.sm-title{display:flex;align-items:baseline;gap:18px;flex-wrap:wrap}
.sm-title h1{font-size:30px;letter-spacing:-1px;margin:5px 0 0;line-height:1.3}
.sm-title p{font-size:14px;color:var(--muted);margin:0}
.sm-tool .button.secondary{background:#fff;border:1px solid var(--border);color:var(--ink);padding:7px 13px;font-size:13px;border-radius:6px;cursor:pointer;font-family:inherit;font-weight:600}
.sm-tool .button.secondary:hover{border-color:#b9c6d1;background:#f8fafb}
.sm-tool .button.primary{border:0;cursor:pointer;font-family:inherit;padding:8px 18px;font-size:14px;border-radius:6px}
.sm-tool .button:disabled{opacity:.55;cursor:default}
.sm-tool [hidden]{display:none!important}

.sm-toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:14px}
.sm-confirm{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap;border:1px solid #f1d2ae;background:#fdf6ee;border-radius:8px;padding:6px 10px;font-size:13px;color:#875217}
.sm-confirm .button.primary{padding:5px 12px;font-size:13px}
.sm-confirm .button.secondary{padding:5px 12px}

.sm-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;align-items:start}
.sm-form{display:flex;flex-direction:column;gap:14px;min-width:0}
.sm-panel,.sm-preview{border:1px solid var(--border);border-radius:10px;background:#fff;padding:16px 18px;min-width:0}
.sm-preview{position:sticky;top:12px}
.sm-panel h2,.sm-preview h2{font-size:16px;margin:0;letter-spacing:-.2px}
.sm-panel h2 small{font-weight:500;color:#8a98a5;font-size:12px;margin-left:4px}
.sm-panel>h2{margin-bottom:10px}
.sm-panel-head{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;margin-bottom:10px}
.sm-note{font-size:12px;color:var(--muted);margin:6px 0 0;line-height:1.7}
.sm-note a{color:#be561f}
.sm-link{border:0;background:none;padding:0;font:inherit;font-size:12px;color:#be561f;cursor:pointer;text-decoration:underline;text-underline-offset:2px}
.sm-seg{display:inline-flex;border:1px solid var(--border);border-radius:7px;overflow:hidden;flex-shrink:0}
.sm-seg button{border:0;background:#fff;font:inherit;font-size:12px;padding:5px 10px;color:var(--muted);cursor:pointer}
.sm-seg button+button{border-left:1px solid var(--border)}
.sm-seg button[aria-pressed="true"]{background:var(--ink);color:#fff}
.sm-units{display:flex;gap:6px;flex-wrap:wrap}

.sm-input{width:100%;box-sizing:border-box;border:1px solid var(--border);border-radius:6px;padding:6px 9px;font:inherit;font-size:14px;color:var(--ink);background:#fff;min-width:0;height:36px;margin:0}
.sm-input:focus{outline:2px solid rgba(246,154,18,.35);border-color:var(--accent)}
.sm-input::placeholder{color:#9aa7b2}
.sm-input[aria-invalid="true"]{border-color:#d9822b;background:#fdf6ee}
.sm-input:disabled{background:#f5f7f8}
select.sm-input{-webkit-appearance:none;appearance:none;padding-right:26px;cursor:pointer;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%23617283' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right 9px center}
.sm-field{display:flex;flex-direction:column;gap:4px;min-width:0}
.sm-field>span:first-child{font-size:12px;font-weight:600;color:var(--ink)}
.sm-check{display:flex;align-items:center;gap:7px;font-size:13px;margin-top:10px;cursor:pointer}
.sm-check input{accent-color:var(--accent);width:16px;height:16px;margin:0;flex-shrink:0}
.sm-grid2{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}
.sm-grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:10px}
.sm-gap{margin-top:14px;padding-top:12px;border-top:1px solid #f0f3f5}
.sm-sum{font-size:13px;color:var(--ink);margin:10px 0 0;padding:8px 11px;background:var(--blue);border-radius:7px;line-height:1.6}
.sm-sum.bad{background:#fdf6ee;color:#875217}
.sm-bad{font-size:12px;color:#875217;margin:6px 0 0}

/* Logo */
.sm-logo{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:10px}
.sm-logo .sm-note{margin:0}
.sm-logo .sm-check{margin:0}

/* 行编辑器 */
.sm-rows{display:flex;flex-direction:column;gap:6px}
.sm-row{display:grid;grid-template-columns:18px minmax(0,.9fr) minmax(0,1.25fr) auto;gap:6px;align-items:center}
.sm-row>input[type=checkbox]{accent-color:var(--accent);width:16px;height:16px;margin:0}
.sm-row.off .sm-input,.sm-row.off .sm-auto,.sm-row.off .sm-tag{opacity:.45}
.sm-tag{font-size:12px;font-weight:700;color:#875217;background:#fff6e8;border-radius:5px;padding:0 8px;height:36px;display:flex;align-items:center}
.sm-auto{font-size:12px;color:#1f6b4a;background:#e7f2ed;border-radius:6px;padding:0 9px;height:36px;display:flex;align-items:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sm-row-btns{display:flex;gap:3px}
.sm-row-btns button{width:26px;height:30px;border:1px solid var(--border);background:#fff;border-radius:5px;cursor:pointer;color:var(--muted);font:inherit;font-size:13px;padding:0}
.sm-row-btns button:hover:not(:disabled){border-color:var(--accent);color:#be561f}
.sm-row-btns button:disabled{opacity:.35;cursor:default}
.sm-add{margin-top:8px;max-width:220px}
.sm-add select{color:var(--muted);font-size:13px}

/* 款式 */
.sm-skus{display:flex;flex-direction:column;gap:10px;margin-top:10px}
.sm-sku{border:1px solid #e6ecf0;border-radius:9px;padding:10px 12px 12px;background:#fbfcfd}
.sm-sku-head{display:flex;align-items:center;gap:10px;margin-bottom:8px;font-size:14px}
.sm-range{font-size:12px;color:#1f6b4a;background:#e7f2ed;border-radius:5px;padding:1px 7px}
.sm-range:empty{display:none}
.sm-sku-head .sm-link{margin-left:auto}
.sm-sku-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px 10px}
.sm-w2{grid-column:span 2}
.sm-dims{display:flex;align-items:center;gap:4px}
.sm-dims i{font-style:normal;color:#8a98a5;font-size:12px}
.sm-add-sku{margin-top:10px}

/* 包装标志 */
.sm-icons{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px}
.sm-icons button{border:1px solid var(--border);background:#fff;border-radius:8px;padding:8px 2px 6px;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:4px;font:inherit;font-size:11px;color:var(--muted);min-width:0}
.sm-icons button svg{opacity:.35}
.sm-icons button[aria-pressed="true"]{border-color:var(--accent);background:#fff6e8;box-shadow:inset 0 0 0 1px var(--accent);color:#875217}
.sm-icons button[aria-pressed="true"] svg{opacity:1}
.sm-icons span{white-space:nowrap}

/* 预览 */
.sm-prev-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.sm-pager{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--muted)}
.sm-pager label{display:flex;align-items:center;gap:5px}
.sm-pager input{width:64px;text-align:center;height:32px}
.sm-pager button{width:32px;height:32px;border:1px solid var(--border);background:#fff;border-radius:6px;cursor:pointer;font-size:17px;color:var(--ink);line-height:1}
.sm-pager button:disabled{opacity:.35;cursor:default}
.sm-marks{display:grid;grid-template-columns:1fr;gap:12px;margin-top:10px}
.sm-marks.tall{grid-template-columns:1fr 1fr}
.sm-mark{margin:0;border:1px solid var(--border);border-radius:9px;overflow:hidden;background:#eef2f5}
.sm-mark.dim{opacity:.45}
.sm-svg{padding:12px;display:flex;justify-content:center}
.sm-svg svg{display:block;width:100%;height:auto;max-height:430px;box-shadow:0 1px 4px rgba(18,45,75,.18);background:#fff}
.sm-mark figcaption{font-size:12px;color:var(--muted);padding:6px 10px;background:#f8fafb;border-top:1px solid #e6ecf0}
.sm-empty{border:1px dashed #d4dde4;border-radius:10px;padding:40px 16px;text-align:center;color:#8a98a5;font-size:14px;margin:0}
.sm-warn{margin-top:12px;border:1px solid #f1d2ae;background:#fdf6ee;border-radius:8px;padding:8px 12px;font-size:13px;color:#875217;line-height:1.7}
.sm-warn ul{margin:0;padding-left:18px}
.sm-out{margin-top:16px;padding-top:14px;border-top:1px solid #f0f3f5}
.sm-out h3{font-size:15px;margin:0}
.sm-out .sm-grid2{margin-top:10px}
.sm-custom{display:flex;align-items:flex-end;gap:8px;margin-top:10px;color:var(--muted)}
.sm-custom .sm-field{width:110px}
.sm-custom>span{padding-bottom:9px}
.sm-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:12px}
.sm-print-tip{margin-top:12px}
.sm-tool .privacy-note{margin-top:18px}

@media (max-width:950px){
  .sm-layout{grid-template-columns:1fr}
  .sm-preview{position:static}
  .sm-marks{grid-template-columns:1fr 1fr}
}
@media (max-width:680px){
  .sm-heading{flex-direction:column;align-items:flex-start;gap:6px}
  .sm-heading .badge{display:none}
  .sm-title h1{font-size:25px}
  .sm-panel,.sm-preview{padding:14px}
  .sm-row{grid-template-columns:18px minmax(0,1fr) auto;row-gap:4px}
  .sm-row>input[type=checkbox]{grid-column:1;grid-row:1}
  .sm-row>:nth-child(2){grid-column:2;grid-row:1}
  .sm-row>:nth-child(3):not(.sm-row-btns){grid-column:2;grid-row:2}
  .sm-row-btns{grid-column:3;grid-row:1}
  .sm-row+.sm-row{padding-top:6px;border-top:1px dashed #edf1f4}
  .sm-sku-grid{grid-template-columns:1fr 1fr}
  .sm-icons{grid-template-columns:repeat(3,minmax(0,1fr))}
  .sm-grid3{grid-template-columns:1fr 1fr 1fr;gap:6px}
  .sm-marks,.sm-marks.tall{grid-template-columns:1fr}
  .sm-actions .button{flex:1}
}

/* 打印：只输出唛头页面，纸张尺寸由脚本写入 @page */
#sm-print{display:none}
@media print{
  html,body{margin:0!important;padding:0!important;background:#fff!important}
  body>*:not(#sm-print){display:none!important}
  #sm-print{display:block}
  .sm-page{position:relative;overflow:hidden;break-after:page;page-break-after:always}
  .sm-page:last-child{break-after:auto;page-break-after:auto}
  .sm-slot{position:absolute;box-sizing:border-box}
  .sm-slot.cut{outline:0.2mm dashed #b4b4b4}
  .sm-slot svg{display:block;width:100%;height:100%}
  *{-webkit-print-color-adjust:exact;print-color-adjust:exact}
}
