
  :root,
  html[data-theme="light"]{
    --ink:#1D1D1F;
    --ink-2:#3A3A3C;
    --parchment:#F5F5F7;
    --panel:#FFFFFF;
    --surface:#FFFFFF;
    --input-bg:#FFFFFF;
    --teal:#007AFF;
    --teal-bg:rgba(0,122,255,.12);
    --teal-fg:#0066D6;
    --amber:#007AFF;
    --amber-bg:rgba(0,122,255,.1);
    --amber-line:rgba(0,122,255,.28);
    --brick:#FF3B30;
    --brick-bg:rgba(255,59,48,.1);
    --brick-line:rgba(255,59,48,.28);
    --slate:#6E6E73;
    --muted:#8E8E93;
    --line:rgba(60,60,67,.12);
    --line-2:rgba(60,60,67,.18);
    --head-bg:rgba(255,255,255,.72);
    --head-fg:#1D1D1F;
    --head-muted:#6E6E73;
    --on-ink:#FFFFFF;
    --solid:#007AFF;
    --solid-2:#0066D6;
    --solid-fg:#FFFFFF;
    --row-alt:#F9F9FB;
    --shadow:rgba(0,0,0,.08);
    --selection-bg:rgba(0,122,255,.22);
    --selection-fg:#1D1D1F;
    --quote-border:#1a1a1a;
    --quote-cell-bg:#FFFFFF;
    --quote-cell-fg:#111111;
    --hl-input-bg:#F2F7FF;
    --hl-input-border:#007AFF;
    --serif:Arial, Helvetica, sans-serif;
    --mono:Arial, Helvetica, sans-serif;
    --sans:Arial, Helvetica, sans-serif;
    --radius:12px;
    --radius-sm:8px;
    color-scheme:light;
  }

  html[data-theme="dark"]{
    --ink:#F5F5F7;
    --ink-2:#E5E5EA;
    --parchment:#000000;
    --panel:#1C1C1E;
    --surface:#2C2C2E;
    --input-bg:#1C1C1E;
    --teal:#0A84FF;
    --teal-bg:rgba(10,132,255,.2);
    --teal-fg:#64B5FF;
    --amber:#0A84FF;
    --amber-bg:rgba(10,132,255,.18);
    --amber-line:rgba(10,132,255,.35);
    --brick:#FF453A;
    --brick-bg:rgba(255,69,58,.18);
    --brick-line:rgba(255,69,58,.35);
    --slate:#98989D;
    --muted:#8E8E93;
    --line:rgba(84,84,88,.65);
    --line-2:rgba(99,99,102,.6);
    --head-bg:rgba(28,28,30,.78);
    --head-fg:#F5F5F7;
    --head-muted:#98989D;
    --on-ink:#FFFFFF;
    --solid:#0A84FF;
    --solid-2:#409CFF;
    --solid-fg:#FFFFFF;
    --row-alt:#232326;
    --shadow:rgba(0,0,0,.45);
    --selection-bg:rgba(10,132,255,.35);
    --selection-fg:#F5F5F7;
    --quote-border:#8E8E93;
    --quote-cell-bg:#1C1C1E;
    --quote-cell-fg:#F5F5F7;
    --hl-input-bg:#0A2540;
    --hl-input-border:#0A84FF;
    --serif:Arial, Helvetica, sans-serif;
    --mono:Arial, Helvetica, sans-serif;
    --sans:Arial, Helvetica, sans-serif;
    --radius:12px;
    --radius-sm:8px;
    color-scheme:dark;
  }

  *{box-sizing:border-box;}
  input[type=text], input[type=number]{min-width:0;}
  html,body{height:100%;}
  body{
    margin:0;padding:0;background:var(--parchment);color:var(--ink);
    font-family:var(--sans);font-size:13px;letter-spacing:0;
    overflow:hidden;-webkit-font-smoothing:antialiased;
  }
  ::selection{background:var(--selection-bg);color:var(--selection-fg);}
  ::-moz-selection{background:var(--selection-bg);color:var(--selection-fg);}
  input::selection, textarea::selection{
    background:var(--selection-bg);color:var(--selection-fg);
  }

  .app{height:100vh;display:flex;flex-direction:column;}

  /* ---------- Header (Apple translucent bar) ---------- */
  header.top{
    background:var(--head-bg);color:var(--head-fg);
    padding:10px 18px;
    display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;
    border-bottom:1px solid var(--line);
    backdrop-filter:saturate(180%) blur(20px);
    -webkit-backdrop-filter:saturate(180%) blur(20px);
    flex:0 0 auto;
  }
  .brand{display:flex;align-items:center;gap:10px;}
  .brand .mark{
    width:28px;height:28px;border-radius:7px;
    background:linear-gradient(180deg, #5AC8FA, #007AFF);
    display:flex;align-items:center;justify-content:center;
    font-family:var(--sans);font-weight:700;font-size:11px;color:#fff;flex-shrink:0;
    box-shadow:0 1px 2px rgba(0,122,255,.25);
  }
  .brand h1{font-family:var(--sans);font-weight:600;font-size:15px;margin:0;letter-spacing:0;color:var(--head-fg);}
  .brand p{margin:0;font-size:10px;color:var(--head-muted);font-family:var(--sans);letter-spacing:.02em;font-weight:500;}
  .head-right{display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
  .auth-user{
    font-family:var(--sans);font-size:11px;font-weight:600;color:var(--head-muted);
    max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
  }
  .theme-switch{
    display:inline-flex;align-items:center;padding:2px;gap:0;
    background:var(--surface);border:1px solid var(--line);
    border-radius:980px;
    box-shadow:0 1px 2px var(--shadow);
  }
  .theme-opt{
    border:none;background:transparent;cursor:pointer;
    font-family:var(--sans);font-size:11px;font-weight:510;
    color:var(--head-muted);padding:5px 10px;border-radius:980px;
    line-height:1.2;
  }
  .theme-opt:hover{color:var(--head-fg);}
  .theme-opt.active{
    background:var(--panel);color:var(--head-fg);
    box-shadow:0 1px 3px var(--shadow);
  }
  html[data-theme="dark"] .theme-opt.active{
    background:#3A3A3C;
  }

  /* ---------- Body grid ---------- */
  .layout{
    flex:1 1 auto;
    display:flex;
    align-items:stretch;
    min-height:0;
    --split-left: min(420px, 38vw);
    --split-top: 48%;
  }
  .col{
    padding:14px 16px;
    overflow-y:auto;
    overflow-x:hidden;
    border-right:none;
    min-height:0;
    min-width:0;
  }
  .col.col-inputs{
    flex:0 0 var(--split-left);
    width:var(--split-left);
    max-width:none;
    background:transparent;
    border-right:none;
  }
  .col:last-child,.col.col-quote{border-right:none;flex:1 1 auto;min-width:0;}
  .col::-webkit-scrollbar{width:8px;}
  .col::-webkit-scrollbar-thumb{background:var(--line-2);border-radius:980px;}

  .layout-splitter{
    flex:0 0 7px;
    position:relative;
    z-index:5;
    cursor:col-resize;
    touch-action:none;
    background:transparent;
    border:none;
    padding:0;
    margin:0;
    align-self:stretch;
  }
  .layout-splitter::before{
    content:"";
    position:absolute;
    inset:0;
    background:var(--line);
    opacity:.85;
    transition:background .15s, opacity .15s, box-shadow .15s;
  }
  .layout-splitter::after{
    content:"";
    position:absolute;
    top:50%;
    left:50%;
    width:3px;
    height:28px;
    margin:-14px 0 0 -1.5px;
    border-radius:2px;
    background:var(--muted);
    opacity:.55;
    pointer-events:none;
  }
  .layout-splitter:hover::before,
  .layout-splitter:focus-visible::before,
  .layout.is-resizing .layout-splitter::before{
    background:var(--teal);
    opacity:1;
    box-shadow:0 0 0 1px color-mix(in srgb, var(--teal) 35%, transparent);
  }
  .layout-splitter:focus-visible{outline:none;}
  .layout.is-resizing{cursor:col-resize;user-select:none;}
  .layout.is-resizing .col{pointer-events:none;}
  .layout.is-resizing-row{cursor:row-resize;}
  .layout.is-resizing-row .layout-splitter{cursor:row-resize;}

  /* ---------- Section cards ---------- */
  .section{margin-bottom:18px;}
  .section-title{
    font-family:var(--sans);font-size:13px;font-weight:600;text-transform:none;letter-spacing:0;color:var(--ink);
    display:flex;align-items:baseline;gap:6px;margin:0 0 2px;
  }
  .section-title .en{font-family:var(--sans);font-weight:500;font-size:10px;letter-spacing:.01em;color:var(--muted);text-transform:none;}
  .section-title-row{
    display:flex;align-items:center;justify-content:space-between;gap:6px;flex-wrap:nowrap;
    margin:0 0 2px;
  }
  .section-title-row .section-title{margin:0;flex:1 1 auto;min-width:0;}
  .rare-folds{display:flex;align-items:center;gap:4px;flex:0 1 auto;flex-wrap:nowrap;max-width:100%;}
  .fold-chip{
    display:inline-flex;align-items:center;gap:3px;flex:0 0 auto;white-space:nowrap;
    font-family:var(--sans);font-size:11px;font-weight:510;line-height:1.2;
    padding:5px 8px;border-radius:980px;cursor:pointer;
    border:none;background:rgba(120,120,128,.12);color:var(--ink-2);
    transition:background .15s,color .15s;
  }
  .fold-chip:hover{background:rgba(120,120,128,.2);color:var(--ink);}
  .fold-chip.open{
    background:var(--teal-bg);color:var(--teal-fg);
  }
  .fold-chip .fold-caret{
    display:inline-block;font-size:9px;transition:transform .15s;line-height:1;opacity:.7;
  }
  .fold-chip.open .fold-caret{transform:rotate(90deg);}
  .convert-block{margin:0 0 12px;}
  .convert-block:last-child{margin-bottom:0;}
  .convert-head{
    display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0 0 8px;
  }
  .convert-label{
    font-family:var(--sans);font-size:12px;font-weight:600;letter-spacing:0;color:var(--ink-2);
  }
  .convert-len-grid{display:flex;flex-direction:column;gap:0;}
  .convert-len-grid .field-row{margin-bottom:0;}
  .fold-panel{
    margin-top:10px;padding:12px;border:none;
    border-radius:var(--radius);background:var(--panel);
    box-shadow:0 1px 3px var(--shadow);
  }
  .fold-panel-head{margin:0 0 8px;}
  .fold-panel-title{
    font-family:var(--sans);font-size:12px;font-weight:600;letter-spacing:0;
    color:var(--ink-2);text-transform:none;
  }
  .fold-panel-title .en{
    font-family:var(--sans);font-weight:500;font-size:10px;letter-spacing:0;
    color:var(--muted);text-transform:none;margin-left:4px;
  }
  .section-rare .fold-panel{margin-top:0;margin-bottom:8px;}
  .section-rare .fold-panel + .fold-panel{margin-top:0;}
  .section-rare:not(:has(.fold-panel:not([hidden])) ){display:none;}
  .section-rule{border:none;border-top:1px solid var(--line);margin:8px 0 12px;opacity:.9;}

  .field{margin-bottom:8px;min-width:0;}
  .field label{display:block;font-size:11px;color:var(--slate);margin-bottom:4px;font-weight:510;}
  .field label .unit{color:var(--muted);font-weight:400;}
  .field input[type=text], .field input[type=number]{
    width:100%;min-width:0;padding:8px 10px;border:1px solid var(--line-2);border-radius:var(--radius-sm);background:var(--input-bg);
    font-family:var(--sans);font-size:13px;color:var(--ink);transition:border-color .15s, box-shadow .15s;
  }
  .field input:focus{outline:none;border-color:var(--teal);box-shadow:0 0 0 3px var(--teal-bg);}
  .field-row{display:grid;grid-template-columns:1fr 1fr;gap:8px;min-width:0;}
  .field-row3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;min-width:0;}
  .field-row3 .field, .field-row .field{min-width:0;}
  .hint{font-size:11px;color:var(--muted);margin-top:4px;font-family:var(--sans);line-height:1.4;}
  .paste-hint{
    font-size:11px;color:var(--teal-fg);background:var(--teal-bg);border:none;
    padding:8px 10px;border-radius:var(--radius-sm);margin-bottom:8px;font-family:var(--sans);line-height:1.4;
  }

  /* ESP scrape confirm */
  .esp-confirm{
    margin:8px 0 10px;padding:12px;border:none;border-radius:var(--radius);
    background:var(--panel);box-shadow:0 1px 3px var(--shadow);
  }
  .esp-confirm-head{
    display:flex;justify-content:space-between;align-items:baseline;gap:8px;
    font-family:var(--sans);font-weight:600;font-size:13px;margin-bottom:10px;letter-spacing:0;
  }
  .esp-confirm-sku{font-family:var(--mono);font-size:11px;color:var(--slate);font-weight:500;}
  .esp-confirm-body{display:flex;gap:12px;align-items:flex-start;margin-bottom:8px;}
  .esp-img-col{flex-shrink:0;width:78px;text-align:center;}
  .esp-img-col.is-empty{display:none;}
  .esp-confirm-img{
    width:78px;height:78px;object-fit:contain;border:1px solid var(--line);
    border-radius:var(--radius-sm);background:transparent;cursor:pointer;display:block;
  }
  .esp-confirm-img:hover{border-color:var(--teal);box-shadow:0 0 0 3px var(--teal-bg);}
  .esp-img-hint{
    margin-top:3px;font-size:10px;color:var(--teal);font-family:var(--sans);font-weight:510;line-height:1.2;
  }
  .esp-confirm-meta{min-width:0;flex:1;display:flex;flex-direction:column;gap:6px;justify-content:center;}
  .esp-confirm-links{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;}
  .esp-confirm-links .link-btn{font-size:11.5px;}
  .esp-product-name-field{margin:0 0 10px;}
  .esp-confirm-note{
    font-size:11px;color:var(--slate);font-family:var(--sans);margin-top:0;line-height:1.4;
  }
  .sku-carton{
    margin:5px 0 0;padding:10px;border:none;border-radius:var(--radius-sm);
    background:var(--parchment);
  }
  .sku-carton-label{
    font-family:var(--sans);font-size:11px;font-weight:600;color:var(--ink-2);margin:0 0 4px;
  }
  .sku-carton .paste-hint{margin:0 0 6px;font-size:11px;}
  .sku-carton .field{margin-bottom:5px;}
  .sku-carton .field-row,.sku-carton .field-row3{gap:6px;}
  .sku-carton .hint{margin:0 0 4px;}
  .esp-carton-wrap{margin-top:8px;min-width:0;}
  .esp-carton-wrap.is-open .esp-catalog-caret{transform:rotate(90deg);}
  .esp-carton-body{margin-top:5px;}
  .esp-confirm-crawl{margin-bottom:2px;}
  .esp-confirm.carton-only .esp-catalog-wrap{display:none;}
  .esp-price-wrap{margin-top:8px;min-width:0;max-width:100%;}
  .esp-price-title{font-size:11px;font-weight:600;color:var(--ink-2);margin-bottom:4px;}
  .esp-table-scroll{
    width:100%;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;
  }
  .esp-price-table{
    width:100%;min-width:0;border-collapse:collapse;font-family:var(--mono);
    font-size:10px;background:var(--input-bg);table-layout:fixed;
  }
  .esp-price-table th,.esp-price-table td{
    border:1px solid var(--line);padding:4px 3px;text-align:center;
    word-break:break-word;overflow-wrap:anywhere;
  }
  .esp-price-table th{background:rgba(120,120,128,.12);color:var(--ink-2);font-family:var(--sans);font-size:10px;font-weight:600;}
  .esp-price-table td.hl,.esp-price-table .hl{background:var(--teal-bg);font-weight:600;}
  .esp-catalog-wrap{margin-top:6px;}
  .esp-catalog-toggle{
    display:flex;align-items:center;gap:5px;width:100%;margin:0;padding:8px 10px;
    border:none;border-radius:var(--radius-sm);background:rgba(120,120,128,.1);
    font-family:var(--sans);font-size:12px;font-weight:510;color:var(--ink-2);
    cursor:pointer;text-align:left;box-sizing:border-box;
  }
  .esp-catalog-toggle:hover{background:rgba(120,120,128,.16);}
  .esp-catalog-caret{display:inline-block;width:0.9em;flex:0 0 auto;transition:transform .15s ease;}
  .esp-catalog-wrap.is-open .esp-catalog-caret{transform:rotate(90deg);}
  .esp-catalog-body{margin-top:5px;min-width:0;}
  .esp-price-mismatch{
    margin-top:6px;padding:8px 10px;border-radius:var(--radius-sm);
    background:var(--brick-bg);border:none;
    font-size:11px;line-height:1.45;font-family:var(--sans);
  }
  .esp-confirm-actions{display:none;}
  .link-btn{
    font-size:12px;color:var(--teal);text-decoration:none;font-family:var(--sans);font-weight:510;
  }
  .link-btn:hover{text-decoration:underline;}
  .warn-hint{color:var(--brick) !important;font-weight:600;}
  .field.needs-purchase input{border-color:var(--brick) !important;background:var(--brick-bg) !important;}

  /* Tier rows */
  .tier-row{
    display:grid;grid-template-columns:14px 18px 1fr 1fr;gap:6px;align-items:center;
    margin-bottom:6px;min-width:0;padding:2px 0;border-radius:var(--radius-sm);
  }
  .tier-row.is-dragging{opacity:.45;}
  .tier-row.drag-over{box-shadow:inset 0 2px 0 0 var(--teal);}
  .tier-drag{
    display:flex;align-items:center;justify-content:center;
    width:14px;height:22px;cursor:grab;user-select:none;
    color:var(--muted);font-size:12px;line-height:1;letter-spacing:-1px;
    touch-action:none;
  }
  .tier-drag:active{cursor:grabbing;}
  .tier-qty-wrap{
    position:relative;display:flex;align-items:center;min-width:0;width:100%;
  }
  .tier-qty-wrap input[type=number]{
    width:100%;min-width:0;box-sizing:border-box;padding:8px 28px 8px 10px;
    border:1px solid var(--line-2);border-radius:var(--radius-sm);
    background:var(--input-bg);font-family:var(--sans);font-size:13px;color:var(--ink);
    -moz-appearance:textfield;
  }
  .tier-qty-wrap input[type=number]::-webkit-outer-spin-button,
  .tier-qty-wrap input[type=number]::-webkit-inner-spin-button{
    -webkit-appearance:none;margin:0;
  }
  .tier-qty-wrap input[type=number]:focus{outline:none;border-color:var(--teal);box-shadow:0 0 0 3px var(--teal-bg);}
  .tier-qty-wrap.is-moq-warn{
    margin-bottom:14px;
  }
  .tier-qty-wrap.is-moq-warn input[type=number],
  .tier-qty-wrap input[type=number].is-moq-warn{
    border-color:var(--brick) !important;
    background:var(--brick-bg) !important;
    color:var(--brick);
    font-weight:600;
  }
  .tier-qty-wrap.is-moq-warn input[type=number]:focus{
    border-color:var(--brick) !important;
    box-shadow:0 0 0 3px var(--brick-bg) !important;
  }
  .tier-moq-tip{
    position:absolute;left:0;right:0;top:calc(100% + 2px);
    font-family:var(--sans);font-size:10px;font-weight:600;line-height:1.25;
    color:var(--brick);pointer-events:none;white-space:nowrap;
  }
  .tier-qty-clear{
    position:absolute;right:4px;top:50%;transform:translateY(-50%);
    width:22px;height:22px;padding:0;margin:0;border:none;border-radius:980px;
    background:transparent;color:var(--muted);cursor:pointer;
    font-size:16px;line-height:1;font-family:var(--sans);font-weight:600;
    display:inline-flex;align-items:center;justify-content:center;
  }
  .tier-qty-clear:hover{background:rgba(120,120,128,.16);color:var(--brick);}
  .tier-row input[type=number]{
    width:100%;min-width:0;box-sizing:border-box;padding:8px 10px;border:1px solid var(--line-2);border-radius:var(--radius-sm);
    background:var(--input-bg);font-family:var(--sans);font-size:13px;color:var(--ink);
  }
  .tier-row input[type=number]:focus{outline:none;border-color:var(--teal);box-shadow:0 0 0 3px var(--teal-bg);}
  input.hl-input{background:var(--hl-input-bg) !important;border-color:var(--hl-input-border) !important;}
  input.hl-input:focus{box-shadow:0 0 0 3px var(--teal-bg) !important;}
  .tier-num{font-family:var(--sans);font-size:10px;color:var(--slate);width:18px;height:18px;border:none;background:rgba(120,120,128,.12);border-radius:980px;display:flex;align-items:center;justify-content:center;font-weight:600;}
  .tier-head{display:grid;grid-template-columns:14px 18px 1fr 1fr;gap:6px;font-size:10px;color:var(--muted);font-family:var(--sans);margin-bottom:4px;text-transform:none;letter-spacing:0;font-weight:510;}
  .precise-tier-bar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:8px 0 4px;}
  .precise-tier-label{font-family:var(--sans);font-size:12px;font-weight:600;color:var(--ink-2);}

  /* Setup option rows */
  .setup-block{
    padding:0;
  }
  .setup-block-top{
    display:flex;align-items:center;gap:8px;flex-wrap:wrap;
    margin:0 0 6px;
  }
  .setup-block-title{
    font-size:11px;font-weight:600;margin:0;color:var(--ink-2);
    font-family:var(--sans);flex:0 0 auto;
  }
  .setup-block-top .setup-label-seg{margin-left:0;}
  .setup-preset-bar{
    display:inline-flex;flex-wrap:wrap;align-items:center;gap:6px;
    flex:1 1 auto;min-width:0;
  }
  .setup-preset-bar .setup-preset-opt{
    flex:0 0 auto;
  }
  .setup-detail-toggle{
    margin-left:auto;padding:2px 8px;font-size:10px;line-height:1.3;
  }
  .setup-block.is-detail-open .setup-detail-toggle{
    color:var(--ink);
  }
  .setup-detail{
    margin-top:2px;
  }
  .setup-detail[hidden]{display:none !important;}
  .setup-detail-tools{
    display:flex;justify-content:flex-end;margin:0 0 6px;
  }
  .setup-detail-tools .add-setup-btn{
    padding:2px 8px;font-size:10px;line-height:1.3;
  }
  .setup-options-wrap{display:flex;flex-direction:column;gap:4px;}
  .setup-row{
    display:grid;
    grid-template-columns:52px 72px minmax(0,1fr) auto auto 16px;
    gap:4px;align-items:center;min-width:0;
    padding:4px 6px;border:1px solid var(--line-2);border-radius:7px;
    background:var(--input-bg);
  }
  .setup-row.is-slash .setup-amt,
  .setup-row.is-slash .setup-desc{opacity:.4;pointer-events:none;}
  .setup-row.is-slash .setup-flag-calc{opacity:.35;pointer-events:none;}
  .setup-row.is-run-charge .setup-desc{opacity:.4;pointer-events:none;}
  .setup-row input[type=number],
  .setup-row input[type=text],
  .setup-row select{
    width:100%;min-width:0;box-sizing:border-box;padding:3px 5px;border:1px solid transparent;
    border-radius:5px;background:var(--surface);font-family:var(--mono);font-size:11px;color:var(--ink);
    height:26px;
  }
  .setup-row select{font-family:var(--sans);font-size:10px;padding:3px 2px;}
  .setup-row input:focus, .setup-row select:focus{
    outline:none;border-color:var(--amber);box-shadow:0 0 0 2px var(--amber-bg);background:var(--input-bg);
  }
  .setup-flag{
    position:relative;margin:0;cursor:pointer;display:block;user-select:none;
  }
  .setup-flag input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer;}
  .setup-flag span{
    display:block;min-width:22px;text-align:center;padding:3px 5px;border-radius:5px;
    font-family:var(--sans);font-size:10px;font-weight:700;letter-spacing:.02em;
    color:var(--muted);background:var(--surface);border:1px solid var(--line-2);
    transition:background .12s,color .12s,border-color .12s;
  }
  .setup-flag:hover span{color:var(--ink-2);border-color:var(--line);}
  .setup-flag input:checked + span{
    color:var(--teal-fg);background:var(--teal-bg);border-color:color-mix(in srgb, var(--teal) 50%, var(--line-2));
  }
  .setup-row .setup-del{
    border:none;background:transparent;color:var(--brick);cursor:pointer;font-size:14px;
    line-height:1;padding:0;opacity:.55;width:16px;height:16px;
  }
  .setup-row .setup-del:hover{opacity:1;}
  .setup-label-seg{
    display:inline-flex;padding:2px;border-radius:7px;background:var(--line);
    border:1px solid var(--line-2);gap:1px;flex-shrink:0;
  }
  .setup-seg-btn{
    position:relative;margin:0;cursor:pointer;display:block;
  }
  .setup-seg-btn input{
    position:absolute;opacity:0;inset:0;margin:0;cursor:pointer;
  }
  .setup-seg-btn span{
    display:block;padding:3px 8px;border-radius:5px;
    font-family:var(--sans);font-size:10px;font-weight:600;color:var(--ink-2);
    letter-spacing:.01em;transition:background .15s,color .15s,box-shadow .15s;
    user-select:none;white-space:nowrap;
  }
  .setup-seg-btn input:checked + span{
    background:var(--input-bg);color:var(--ink);
    box-shadow:0 1px 2px rgba(22,35,61,.1);
  }
  .setup-seg-btn:hover span{color:var(--ink);}
  /* .btn.small defined with .btn below */

  /* Method cards */
  .method-card{border:none;border-radius:var(--radius);padding:10px;margin-bottom:8px;background:var(--panel);box-shadow:0 1px 3px var(--shadow);}
  .method-card.off{opacity:.5;}
  .method-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px;}
  .method-name{font-family:var(--sans);font-weight:600;font-size:12px;display:flex;align-items:center;gap:5px;}
  .method-name .dot{width:7px;height:7px;border-radius:50%;display:inline-block;}
  .toggle{position:relative;width:30px;height:16px;flex-shrink:0;}
  .toggle input{position:absolute;opacity:0;width:100%;height:100%;margin:0;cursor:pointer;}
  .toggle .track{position:absolute;inset:0;background:var(--line-2);border-radius:20px;transition:.15s;}
  .toggle .thumb{position:absolute;top:2px;left:2px;width:12px;height:12px;background:var(--input-bg);border-radius:50%;transition:.15s;box-shadow:0 1px 2px rgba(0,0,0,.3);}
  .toggle input:checked + .track{background:var(--teal);}
  .toggle input:checked ~ .thumb{transform:translateX(14px);}

  .method-card .field{margin-bottom:5px;}
  .method-card .field label{font-size:9px;}

  .small-parcel-bar{
    display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:2px 0 8px;
  }
  .small-parcel-editor{
    margin:0 0 10px;padding:10px;border:none;border-radius:var(--radius-sm);background:var(--parchment);
  }
  .small-parcel-tabs{display:flex;flex-wrap:wrap;gap:5px;margin:0 0 8px;}
  .small-parcel-tab{
    font-family:var(--sans);font-size:11px;font-weight:510;padding:5px 11px;border-radius:980px;
    border:none;background:rgba(120,120,128,.12);color:var(--ink-2);cursor:pointer;
  }
  .small-parcel-tab.active{background:var(--solid);color:var(--solid-fg);}
  .small-parcel-textarea{
    width:100%;box-sizing:border-box;min-height:160px;resize:vertical;
    font-family:var(--mono);font-size:12px;line-height:1.45;padding:10px;
    border:1px solid var(--line-2);border-radius:var(--radius-sm);background:var(--input-bg);color:var(--ink);
  }
  .small-parcel-textarea:focus{outline:none;border-color:var(--teal);box-shadow:0 0 0 3px var(--teal-bg);}
  .small-parcel-actions{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:8px;}

  /* ---------- Quote card (chrome only; .quote-table keeps document look for copy fidelity) ---------- */
  .quote-card{
    background:var(--panel);border:none;border-radius:16px;
    padding:16px 18px 14px;position:relative;
    box-shadow:0 2px 12px var(--shadow);margin-bottom:12px;
  }
  .quote-card::before{display:none;}
  .quote-top{display:flex;justify-content:space-between;align-items:flex-start;padding-bottom:10px;margin-bottom:10px;border-bottom:1px solid var(--line);gap:14px;}
  .parcel-warn{
    flex:1;display:flex;align-items:center;justify-content:center;gap:7px;
    align-self:center;
    background:var(--brick-bg);border:none;border-radius:var(--radius-sm);
    padding:8px 14px;color:var(--brick);font-weight:600;font-size:12px;text-align:center;
  }
  .parcel-warn-icon{font-size:15px;line-height:1;}
  .quote-ref{font-family:var(--mono);font-size:10px;color:var(--slate);letter-spacing:.02em;}
  .quote-title{font-family:var(--sans);font-size:18px;font-weight:600;margin:2px 0 0;color:var(--ink);letter-spacing:0;}
  .quote-title .sub{display:block;font-family:var(--sans);font-size:11px;font-weight:500;color:var(--slate);letter-spacing:0;margin-top:2px;text-transform:none;}
  .quote-sheet-head{
    display:flex;align-items:flex-start;justify-content:space-between;gap:10px;
  }
  .quote-sheet-head .quote-sheet-title{flex:1 1 auto;min-width:0;}
  table.quote-table{width:100%;border-collapse:collapse;font-size:12.5px;table-layout:fixed;}
  table.quote-table td{border:1px solid var(--quote-border);padding:7px 10px;vertical-align:middle;line-height:1.3;}
  table.quote-table td.qlabel{
    font-family:var(--sans);font-weight:700;color:var(--quote-cell-fg);font-size:12px;
    background:var(--quote-cell-bg);width:148px;white-space:nowrap;text-align:center;
  }
  table.quote-table td.qval{font-family:var(--sans);color:var(--quote-cell-fg);font-weight:500;text-align:center;background:var(--quote-cell-bg);word-break:break-word;}
  table.quote-table td.qval.align-left{text-align:center;}
  table.quote-table td.qval.highlight{background:#FFEB00;color:#111;font-weight:700;}
  table.quote-table td.qval.redtext{color:#D0201E;font-weight:700;}
  .quote-table-wrap{
    overflow:hidden;
    border:1px solid var(--quote-border);
    background:var(--quote-cell-bg);
  }
  .quote-table-wrap table.quote-table{
    margin:0;
  }
  .quote-table-wrap table.quote-table td{
    border-color:var(--quote-border);
  }
  .quote-mode-bar{
    display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;
    margin-top:8px;padding:7px 8px;background:var(--amber-bg);
    border:1px dashed var(--amber-line);border-radius:7px;font-size:11px;
  }
  .quote-mode-bar .quote-mode-label{font-weight:700;color:var(--ink);font-family:var(--sans);white-space:nowrap;}
  .quote-mode-bar .quote-mode-opt{display:inline-flex;align-items:center;gap:3px;cursor:pointer;color:var(--ink-2);font-family:var(--sans);white-space:nowrap;}
  .quote-mode-bar .quote-mode-opt input{accent-color:var(--teal);margin:0;}
  .quote-mode-bar #quoteModeHint{flex:1 1 100%;font-size:10px;line-height:1.35;}
  .quote-mode-bar #quoteModeHint.warn{color:var(--brick);font-weight:600;}
  .quote-mode-bar #quoteModeHint.ok{color:var(--teal);font-weight:600;}
  #quotesWrap{display:flex;flex-direction:column;gap:12px;}
  .sku-history{
    margin-top:14px;padding:10px 0 4px;border-top:1px dashed var(--line-2);
    flex:0 0 auto;
  }
  .sku-history-head{
    display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:8px;
  }
  .sku-history-title{font-family:var(--serif);font-size:13px;font-weight:600;color:var(--ink);}
  .sku-history-sku{font-family:var(--mono);font-size:10.5px;color:var(--slate);}
  .sku-history-item{
    position:relative;
    border:1px solid var(--line-2);border-radius:7px;background:var(--input-bg);
    padding:8px 10px 8px 10px;margin-bottom:8px;
  }
  .sku-history-item .sh-top{
    display:flex;align-items:flex-start;justify-content:space-between;gap:8px;margin-bottom:5px;
  }
  .sku-history-item .sh-time{
    font-family:var(--mono);font-size:10px;color:var(--teal);font-weight:600;min-width:0;
  }
  .sku-history-item .sh-ref{color:var(--slate);font-weight:500;margin-left:6px;}
  .sku-history-item .sh-actions{display:flex;align-items:center;gap:5px;flex:0 0 auto;}
  .sku-history-item .sh-restore,
  .sku-history-item .sh-del{
    border:1px solid var(--line-2);background:transparent;color:var(--ink-2);
    font-family:var(--sans);font-size:10px;font-weight:600;padding:3px 7px;border-radius:5px;
    cursor:pointer;line-height:1.2;opacity:.9;white-space:nowrap;
  }
  .sku-history-item .sh-restore{border-color:var(--teal);color:var(--teal);}
  .sku-history-item .sh-restore:hover{background:rgba(47,111,98,.1);opacity:1;}
  .sku-history-item .sh-del{
    border-color:var(--brick);color:var(--brick);
  }
  .sku-history-item .sh-del:hover{background:var(--brick-bg);opacity:1;}
  .sku-history-item .sh-note{
    font-family:var(--sans);font-size:11px;color:var(--ink);font-weight:510;
    margin:0 0 6px;padding:5px 7px;border-radius:5px;background:rgba(120,120,128,.08);
    line-height:1.4;word-break:break-word;
  }
  .sku-history-item .sh-note::before{content:'备注：';color:var(--slate);font-weight:600;margin-right:2px;}
  .sku-history-item pre{
    margin:0;white-space:pre-wrap;font-family:var(--mono);font-size:10.5px;color:var(--ink-2);
    line-height:1.45;max-height:160px;overflow:auto;
  }
  .quote-note-input{
    flex:1 1 220px;min-width:180px;max-width:420px;
    height:34px;padding:0 11px;border:1px solid var(--line-2);border-radius:8px;
    background:var(--input-bg);color:var(--ink);font-family:var(--sans);font-size:12.5px;
    outline:none;
  }
  .quote-note-input:focus{border-color:var(--teal);box-shadow:0 0 0 3px rgba(47,111,98,.12);}
  .quote-note-input::placeholder{color:var(--muted);}
  .sku-history-empty{font-size:11px;color:var(--muted);font-family:var(--sans);padding:4px 0;}
  .quote-opts-bar{
    display:flex;flex-wrap:wrap;align-items:center;gap:8px;
    margin:0 0 10px;padding:8px 10px;border:none;border-radius:var(--radius-sm);
    background:var(--panel);font-size:11.5px;
  }
  .quote-opts-bar .quote-methods-label{margin-right:2px;}
  .quote-block-title{
    font-family:var(--mono);font-size:10.5px;color:var(--slate);
    margin:0 0 5px;letter-spacing:.2px;
  }
  .quote-sheet{
    display:flex;flex-direction:column;gap:10px;
    margin:0 0 16px;padding:14px;
    border:none;border-radius:var(--radius);background:var(--parchment);
  }
  .quote-sheet:last-child{margin-bottom:0;}
  .quote-sheet-title{
    font-family:var(--sans);font-size:15px;font-weight:600;margin:0;
    color:var(--ink);letter-spacing:0;
  }
  .quote-methods-bar{
    display:flex;flex-wrap:wrap;align-items:center;gap:8px;
    padding:8px 10px;border:none;border-radius:var(--radius-sm);background:var(--panel);
  }
  .quote-methods-label{
    font-family:var(--sans);font-size:11px;font-weight:600;color:var(--ink-2);
    margin-right:4px;
  }
  .quote-method-opt{
    display:inline-flex;align-items:center;gap:7px;cursor:pointer;
    font-family:var(--sans);font-size:11px;font-weight:600;color:var(--muted);
    user-select:none;padding:4px 8px 4px 9px;border-radius:999px;
    border:1px solid var(--line-2);background:var(--input-bg);
    transition:color .15s,border-color .15s,background .15s,box-shadow .15s;
  }
  .quote-method-opt:hover{border-color:var(--line);color:var(--ink-2);}
  .quote-method-opt.on{
    color:var(--ink);border-color:color-mix(in srgb, var(--teal) 45%, var(--line-2));
    background:var(--teal-bg);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--teal) 18%, transparent);
  }
  .quote-method-opt .quote-method-name{
    display:inline-flex;align-items:center;gap:5px;
  }
  .quote-method-opt .dot{width:7px;height:7px;border-radius:50%;display:inline-block;flex-shrink:0;}
  .quote-method-opt .toggle{width:32px;height:18px;}
  .quote-method-opt .toggle .thumb{width:14px;height:14px;top:2px;left:2px;}
  .quote-method-opt .toggle input:checked ~ .thumb{transform:translateX(14px);}
  .quote-method-opt.on .toggle .track{background:var(--teal);}
  .quote-method-opt.is-disabled{
    opacity:.5;cursor:not-allowed;
  }
  .quote-method-opt.is-disabled:hover{
    border-color:var(--line-2);color:var(--muted);
  }
  .quote-prod-time-wrap{display:flex;flex-direction:column;gap:8px;}
  .quote-prod-time-head{
    display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 10px;
  }
  .quote-prod-time-title{
    font-size:11px;font-weight:600;color:var(--ink-2);font-family:var(--sans);
  }
  .quote-prod-time-row{display:flex;flex-direction:column;gap:4px;}
  .quote-prod-link{
    display:inline-flex;align-items:center;gap:8px;align-self:flex-start;
    font-family:var(--sans);font-size:11px;font-weight:500;color:var(--ink-2);cursor:pointer;
    padding:4px 8px;border-radius:8px;background:rgba(120,120,128,.08);
  }
  .quote-prod-link.on{background:var(--teal-bg);color:var(--teal-fg);}
  .quote-prod-link .toggle{width:32px;height:18px;}
  .quote-prod-link .toggle .thumb{width:14px;height:14px;top:2px;left:2px;}
  .quote-prod-link .toggle input:checked ~ .thumb{transform:translateX(14px);}
  .quote-prod-link.on .toggle .track{background:var(--teal);}
  .quote-prod-time-mirror{
    margin:0;padding:6px 10px;border-radius:8px;
    background:rgba(120,120,128,.06);color:var(--muted);font-size:12px;line-height:1.35;
  }
  .quote-prod-time{margin:0;}
  .quote-prod-time label{font-size:10.5px;}
  .quote-sheet .setup-block{
    padding:8px 0 0;border-top:1px dashed var(--line);
  }
  .quote-sheet .setup-block-top{
    display:flex;align-items:center;gap:8px;flex-wrap:wrap;
    margin:0 0 6px;
  }
  .quote-sheet .setup-block-title{
    font-size:11px;font-weight:600;margin:0;color:var(--ink-2);
    font-family:var(--sans);
  }
  .quote-sheet .quote-table-wrap{overflow-x:auto;}
  .quote-sheet .profit-slider-bar{margin:0;padding:9px 10px;}
  .quote-sheet .analysis-tables-wrap{margin:0;gap:10px;}
  .quote-sheet .tables-wrap{
    flex-direction:column;
    gap:12px;
  }
  .quote-sheet .table-block{
    flex:0 0 auto;
    width:100%;
    min-width:0;
  }
  .quote-sheet .table-scroll{max-height:none;overflow:auto;}
  .quote-extra-opt{
    display:inline-flex;align-items:center;gap:6px;margin:0 0 10px;
    font-family:var(--sans);font-size:11.5px;font-weight:600;color:var(--ink-2);cursor:pointer;
  }
  .quote-extra-opt input{accent-color:var(--teal);margin:0;width:14px;height:14px;}
  .pill{background:var(--amber-bg);border:1px solid var(--amber-line);color:var(--amber);padding:2px 8px;border-radius:20px;font-size:10.5px;}
  .pill.ship{background:var(--teal-bg);border-color:var(--teal);color:var(--teal-fg);}
  .quote-empty{color:var(--muted);font-style:italic;font-family:var(--sans);}
  .quote-actions{margin-top:11px;padding-top:9px;padding-bottom:2px;border-top:1px solid var(--line);display:flex;gap:8px;align-items:center;flex-wrap:wrap;}
  .btn{font-family:var(--sans);font-weight:600;font-size:13px;line-height:1.3;padding:8px 14px;border-radius:980px;border:none;background:var(--solid);color:var(--solid-fg);cursor:pointer;transition:opacity .12s, transform .1s, background .15s;box-sizing:border-box;white-space:nowrap;display:inline-flex;align-items:center;gap:4px;text-decoration:none;}
  .btn:hover{background:var(--solid-2);}
  .btn:active{transform:scale(.98);}
  .btn.ghost{background:rgba(120,120,128,.12);color:var(--ink);border:none;}
  .btn.ghost:hover{background:rgba(120,120,128,.2);}
  .btn.small{font-size:12px;padding:5px 11px;}
  .copy-msg{font-size:11px;color:var(--teal);font-family:var(--sans);opacity:0;transition:opacity .2s;}
  .copy-msg.show{opacity:1;}

  /* ---------- Tables ---------- */
  .profit-slider-bar{
    flex:0 0 auto;margin:0 0 12px;padding:10px 12px;
    border:1px solid var(--line-2);border-radius:8px;background:var(--surface);
  }
  .profit-slider-head{
    display:flex;align-items:center;gap:8px;margin:0 0 6px;flex-wrap:wrap;
  }
  .profit-slider-label{
    font-family:var(--sans);font-size:11px;font-weight:600;color:var(--ink);
  }
  .profit-slider-value{
    font-family:var(--mono);font-size:13px;font-weight:700;color:var(--teal);
    min-width:4.5em;
  }
  .profit-mode-switch{
    display:inline-flex;align-items:center;padding:2px;gap:0;width:100%;
    background:rgba(120,120,128,.14);border:1px solid var(--line-2);
    border-radius:8px;box-shadow:inset 0 1px 1px rgba(0,0,0,.04);
  }
  .profit-mode-opt{
    flex:1 1 0;border:none;background:transparent;cursor:pointer;
    font-family:var(--sans);font-size:11px;font-weight:600;
    color:var(--ink-2);padding:7px 8px;border-radius:6px;line-height:1.2;
  }
  .profit-mode-opt:hover{color:var(--ink);}
  .profit-mode-opt.active{
    background:#FFFFFF;color:var(--ink);
    box-shadow:0 1px 3px rgba(0,0,0,.12);
  }
  html[data-theme="dark"] .profit-mode-switch{
    background:rgba(120,120,128,.28);border-color:var(--line);
    box-shadow:none;
  }
  html[data-theme="dark"] .profit-mode-opt{color:var(--muted);}
  html[data-theme="dark"] .profit-mode-opt.active{
    background:#3A3A3C;color:var(--ink);
    box-shadow:0 1px 3px rgba(0,0,0,.35);
  }

  .profit-slider-bar .profit-slider-mode{margin-left:auto;}
  .profit-slider-bar .profit-slider-reset{margin-left:0;}
  .profit-slider-bar input[type="range"]{
    width:100%;accent-color:var(--solid);cursor:pointer;margin:2px 0 4px;
  }
  .profit-slider-bar input[type="range"]:disabled{opacity:.45;cursor:not-allowed;}
  .profit-slider-ends{
    display:flex;justify-content:space-between;
    font-size:9.5px;color:var(--slate);font-family:var(--sans);
  }
  .profit-slider-bar .hint{margin:4px 0 0;}

  /* Nested analysis inside quote sheets */
  .analysis-tables-wrap{
    display:flex;flex-direction:column;gap:18px;
    flex:0 0 auto;min-height:auto;overflow:visible;
  }
  .analysis-group{display:flex;flex-direction:column;gap:6px;flex:0 0 auto;}
  .analysis-group-title{
    font-family:var(--serif);font-size:13px;font-weight:600;margin:0;
    color:var(--ink);padding-bottom:2px;border-bottom:1px dashed var(--line);
  }
  .analysis-tables-wrap .analysis-group + .analysis-group{margin-top:4px;}
  .tables-wrap{display:flex;gap:14px;flex:0 0 auto;min-height:0;min-width:0;}
  .table-block{flex:1 1 0;display:flex;flex-direction:column;min-height:0;min-width:0;}
  .table-title{font-family:var(--serif);font-size:12.5px;font-weight:600;margin:0 0 1px;}
  .table-sub{font-size:9.5px;color:var(--slate);margin:0 0 6px;line-height:1.4;}
  .table-scroll{
    overflow:auto;border:1px solid var(--line-2);border-radius:7px;
    min-height:0;max-height:320px;max-width:100%;
  }
  table.data{
    width:100%;min-width:max-content;border-collapse:collapse;
    font-family:var(--mono);font-size:11px;background:var(--input-bg);
  }
  table.data th{background:var(--solid);color:var(--solid-fg);font-family:var(--sans);font-weight:600;font-size:9.5px;text-align:center;padding:5px 8px;letter-spacing:.2px;position:sticky;top:0;z-index:1;}
  table.data td{padding:4.5px 8px;border-top:1px solid var(--line);color:var(--ink);white-space:nowrap;text-align:center;}
  table.data tr:nth-child(even) td{background:var(--row-alt);}
  table.data td.label{font-family:var(--sans);font-weight:600;display:flex;align-items:center;justify-content:center;gap:5px;white-space:normal;text-align:center;}
  table.data .dot{width:6px;height:6px;border-radius:50%;display:inline-block;flex-shrink:0;}
  .muted{color:var(--muted);}
  .emph-num{font-weight:700;color:var(--ink);}
  .freight-input{
    width:74px;font-family:var(--mono);font-weight:700;color:var(--ink);
    border:1px solid var(--line-2);border-radius:5px;padding:3px 6px;font-size:11px;
    background:var(--input-bg);text-align:center;
  }
  .freight-input:focus{outline:none;border-color:var(--amber);box-shadow:0 0 0 3px var(--amber-bg);}
  .freight-input::placeholder{color:var(--muted);font-weight:400;}
  td.muted .freight-input{opacity:.45;}
  .badge-small{display:inline-block;font-size:8.5px;background:var(--brick-bg);color:var(--brick);padding:0 5px;border-radius:9px;margin-left:4px;font-family:var(--sans);font-weight:600;}
  .margin-cell{font-weight:600;padding:2px 6px;border-radius:4px;display:inline-block;}
  .margin-ok{background:var(--teal-bg);color:var(--ink);}
  .margin-low{background:var(--amber-bg);color:var(--ink);}
  .margin-bad{background:var(--brick-bg);color:var(--ink);}

  .foot-note{font-size:9px;color:var(--muted);font-family:var(--mono);line-height:1.5;padding-top:6px;flex:0 0 auto;}

  /* ---------- Save / History ---------- */
  .btn.save{background:var(--brick);border-color:var(--brick);}
  .btn.save:hover{background:#9C3529;}
  .btn.save:disabled{opacity:.55;cursor:wait;}
  .save-msg{font-size:10.5px;color:var(--brick);font-family:var(--mono);opacity:0;transition:opacity .2s;}
  .save-msg.show{opacity:1;}

  .modal-overlay{
    position:fixed;inset:0;background:rgba(22,35,61,.5);z-index:50;
    display:flex;align-items:center;justify-content:center;padding:24px;
  }
  .esp-pick-box{max-width:560px;}
  .esp-pick-hint{
    padding:10px 18px 0;font-size:12px;color:var(--slate);font-family:var(--sans);line-height:1.45;
  }
  .esp-pick-list{
    padding:12px 14px 16px;overflow-y:auto;max-height:min(62vh,520px);
    display:flex;flex-direction:column;gap:8px;
  }
  .esp-pick-item{
    display:flex;align-items:center;gap:12px;width:100%;text-align:left;
    border:1px solid var(--line-2);background:var(--panel);border-radius:8px;
    padding:10px 12px;cursor:pointer;transition:border-color .12s,background .12s,box-shadow .12s;
    font:inherit;color:inherit;
  }
  .esp-pick-item:hover,.esp-pick-item:focus-visible{
    border-color:var(--teal);background:var(--teal-bg);outline:none;
    box-shadow:0 0 0 3px var(--teal-bg);
  }
  .esp-pick-item img{
    width:64px;height:64px;object-fit:contain;border-radius:6px;border:1px solid var(--line);
    background:#fff;flex:0 0 64px;
  }
  .esp-pick-meta{min-width:0;flex:1;display:flex;flex-direction:column;gap:4px;}
  .esp-pick-sku{font-family:var(--mono);font-size:12px;font-weight:600;color:var(--ink);}
  .esp-pick-name{
    font-family:var(--sans);font-size:12.5px;color:var(--ink);line-height:1.35;
    display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
  }
  .esp-pick-id{font-family:var(--mono);font-size:9.5px;color:var(--slate);}
  .esp-pick-item.is-best{border-color:var(--teal);box-shadow:0 0 0 2px var(--teal-bg);}
  .esp-pick-badge{
    display:inline-block;margin-left:6px;padding:0 5px;border-radius:4px;
    font-size:9px;font-family:var(--mono);font-weight:600;background:var(--teal-bg);color:var(--teal-fg);
  }
  .modal-box{
    background:var(--panel);border-radius:11px;border:1px solid var(--line-2);
    width:100%;max-width:820px;max-height:82vh;display:flex;flex-direction:column;
    box-shadow:0 12px 40px rgba(22,35,61,.28);overflow:hidden;
  }
  .modal-head{
    display:flex;align-items:center;justify-content:space-between;
    padding:14px 18px;border-bottom:1px solid var(--line-2);flex:0 0 auto;
  }
  .modal-head h3{margin:0;font-family:var(--serif);font-size:15px;font-weight:600;color:var(--ink);display:flex;align-items:baseline;gap:7px;}
  .modal-head h3 .en{font-family:var(--mono);font-weight:400;font-size:9px;letter-spacing:.8px;color:var(--slate);}
  .modal-close{
    border:none;background:transparent;font-size:16px;color:var(--slate);cursor:pointer;
    width:26px;height:26px;border-radius:50%;line-height:1;
  }
  .modal-close:hover{background:var(--amber-bg);color:var(--ink);}
  .modal-search{padding:12px 18px;border-bottom:1px dashed var(--line-2);flex:0 0 auto;display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
  .modal-search input[type=text]{
    flex:1 1 220px;min-width:160px;padding:7px 10px;border:1px solid var(--line-2);border-radius:6px;
    font-family:var(--mono);font-size:12.5px;color:var(--ink);background:var(--input-bg);
  }
  .modal-search input[type=text]:focus{outline:none;border-color:var(--amber);box-shadow:0 0 0 3px var(--amber-bg);}
  .modal-search .storage-hint{font-size:9.5px;color:var(--slate);font-family:var(--sans);line-height:1.4;flex:1 1 100%;}
  .modal-search .link-btn{
    border:none;background:transparent;color:var(--teal);font-family:var(--sans);font-weight:600;
    font-size:11px;cursor:pointer;padding:2px 0;white-space:nowrap;
  }
  .modal-search .link-btn:hover{text-decoration:underline;}
  .modal-body{flex:1 1 auto;display:flex;min-height:0;}
  .history-list{
    width:280px;flex:0 0 280px;border-right:1px solid var(--line-2);overflow-y:auto;
  }
  .history-item{
    padding:9px 10px 9px 14px;border-bottom:1px solid var(--line);cursor:pointer;transition:background .1s;
    display:flex;align-items:flex-start;gap:8px;
  }
  .history-item:hover{background:var(--amber-bg);}
  .history-item.active{background:var(--teal-bg);}
  .history-item .hi-main{flex:1 1 auto;min-width:0;cursor:pointer;}
  .history-item .hi-name{font-family:var(--sans);font-weight:600;font-size:11.5px;color:var(--ink);
    display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.35;}
  .history-item .hi-time{font-family:var(--mono);font-size:9.5px;color:var(--slate);margin-top:3px;}
  .history-item .hi-del{
    flex:0 0 auto;align-self:flex-start;margin-top:1px;
    border:1px solid var(--brick);background:transparent;color:var(--brick);
    font-family:var(--sans);font-size:10px;font-weight:600;padding:4px 8px;border-radius:5px;
    cursor:pointer;line-height:1.2;opacity:.85;
  }
  .history-item .hi-del:hover{background:var(--brick-bg);opacity:1;}
  .history-item .hi-badge{display:inline-block;margin-top:3px;font-size:8.5px;font-family:var(--sans);font-weight:600;padding:0 5px;border-radius:8px;}
  .history-item .hi-badge.disk{background:var(--teal-bg);color:var(--teal-fg);}
  .history-item .hi-badge.dl{background:var(--amber-bg);color:var(--amber);}
  .history-item .hi-badge.imported{background:var(--teal-bg);color:var(--teal-fg);}
  .history-empty, .history-list-empty{color:var(--muted);font-size:11.5px;padding:18px;font-family:var(--sans);text-align:center;}
  .history-preview{flex:1 1 auto;display:flex;flex-direction:column;min-width:0;min-height:0;}
  .history-preview-head{
    padding:12px 16px 8px;border-bottom:1px dashed var(--line-2);flex:0 0 auto;
    display:flex;align-items:flex-start;justify-content:space-between;gap:12px;
  }
  .history-preview-head .hp-head-main{flex:1 1 auto;min-width:0;}
  .history-preview-head .hp-name{font-family:var(--serif);font-weight:600;font-size:14px;color:var(--ink);}
  .history-preview-head .hp-meta{font-family:var(--mono);font-size:9.5px;color:var(--slate);margin-top:3px;}
  .history-preview-head .hp-del-top{flex:0 0 auto;white-space:nowrap;}
  .history-preview-body{flex:1 1 auto;overflow-y:auto;padding:12px 16px;min-height:0;}
  .history-preview-body pre{
    margin:0;white-space:pre-wrap;word-break:break-word;font-family:var(--mono);font-size:11.5px;
    color:var(--ink);line-height:1.65;
  }
  .history-preview-actions{
    flex:0 0 auto;padding:10px 16px;border-top:1px dashed var(--line-2);
    display:flex;gap:8px;align-items:center;flex-wrap:wrap;
  }
  .btn.danger{background:transparent;border-color:var(--brick);color:var(--brick);}
  .btn.danger:hover{background:var(--brick-bg);}
  .btn.small{padding:5px 11px;font-size:10.5px;}

  /* ---------- WholeGifts 标签页助手面板 ---------- */
  .wg-helper-panel{
    background:var(--teal-bg);border:1px solid var(--line-2);border-left:3px solid var(--teal);
    border-radius:6px;padding:8px 10px;margin-top:7px;
  }
  .wg-helper-panel .helper-steps{font-size:10px;color:var(--ink);line-height:1.7;font-family:var(--sans);}
  .wg-helper-panel .helper-steps b{color:var(--teal);}
  .wg-helper-panel .helper-tip{margin-top:4px;color:var(--slate);font-size:9.5px;font-family:var(--mono);}

  @media (max-width:1180px){
    body{overflow:hidden;}
    .app{height:100dvh;height:100vh;min-height:0;overflow:hidden;}
    .layout{
      flex-direction:column;
      --split-left: auto;
      min-height:0;
      overflow:hidden;
    }
    .col{
      border-right:none;border-bottom:none;
      overflow-y:auto;max-height:none;
    }
    .col.col-inputs{
      flex:0 0 var(--split-top);
      width:auto;
      height:var(--split-top);
      max-height:var(--split-top);
      min-height:140px;
    }
    .col.col-quote{
      flex:1 1 auto;
      min-height:160px;
      border-bottom:none;
    }
    .layout-splitter{
      flex:0 0 10px;
      width:100%;
      height:10px;
      cursor:row-resize;
      align-self:stretch;
    }
    .layout-splitter::after{
      top:50%;
      left:50%;
      width:36px;
      height:3px;
      margin:-1.5px 0 0 -18px;
    }
    .layout.is-resizing{cursor:row-resize;}
    .tables-wrap{flex-direction:column;}
    .table-scroll{max-height:260px;}
    .modal-body{flex-direction:column;}
    .history-list{width:100%;flex:0 0 auto;max-height:180px;border-right:none;border-bottom:1px solid var(--line-2);}
  }
