﻿* { box-sizing: border-box; margin: 0; padding: 0; }

    body {

      font-family: -apple-system, BlinkMacSystemFont, "PingFang SC", "Microsoft YaHei", sans-serif;

      background: linear-gradient(-45deg, #f8fafc, #f0f9ff, #f8fafc, #eef2ff);
      background-size: 400% 400%;
      animation: gradientShift 20s ease infinite;

      color: #1f2937;

      font-size: 15px;

      line-height: 1.6;

      position: relative;
      overflow-x: hidden;

    }

    /* v3.249: 科技感动态背景 - 渐变流动 */
    @keyframes gradientShift {
      0% { background-position: 0% 50%; }
      50% { background-position: 100% 50%; }
      100% { background-position: 0% 50%; }
    }

    /* v3.450: 网站科技感背景（蓝绿主色渐变 + 极淡网格 + 悬浮光点） */
    .bg-glow-base {
      position: fixed; inset: 0; z-index: 0; pointer-events: none;
      background:
        radial-gradient(1000px 680px at 10% 6%, rgba(96,165,250,0.20), transparent 62%),
        radial-gradient(900px 620px at 90% 94%, rgba(52,211,153,0.16), transparent 62%),
        radial-gradient(800px 560px at 72% 22%, rgba(59,130,246,0.12), transparent 60%),
        linear-gradient(180deg, #eef4fc 0%, #f8fafc 100%);
    }
    .bg-grid {
      position: fixed; inset: 0; z-index: 0; pointer-events: none;
      background-image:
        linear-gradient(rgba(59,130,246,0.045) 1px, transparent 1px),
        linear-gradient(90deg, rgba(59,130,246,0.045) 1px, transparent 1px);
      background-size: 48px 48px;
      -webkit-mask-image: radial-gradient(ellipse at center, rgba(0,0,0,0.9) 0%, transparent 72%);
      mask-image: radial-gradient(ellipse at center, rgba(0,0,0,0.9) 0%, transparent 72%);
    }
    .bg-dot { position: fixed; z-index: 0; pointer-events: none; border-radius: 50%; opacity: 0.20; }
    .bg-dot-1{width:6px;height:6px;background:#60a5fa;left:16%;top:20%;animation:dotFloat1 18s ease-in-out infinite;}
    .bg-dot-2{width:5px;height:5px;background:#34d399;left:74%;top:32%;animation:dotFloat2 22s ease-in-out infinite;}
    .bg-dot-3{width:4px;height:4px;background:#60a5fa;left:36%;top:68%;animation:dotFloat3 26s ease-in-out infinite;}
    .bg-dot-4{width:6px;height:6px;background:#34d399;left:86%;top:58%;animation:dotFloat4 20s ease-in-out infinite;}
    .bg-dot-5{width:4px;height:4px;background:#93c5fd;left:9%;top:76%;animation:dotFloat1 24s ease-in-out infinite reverse;}
    .bg-dot-6{width:5px;height:5px;background:#6ee7b7;left:55%;top:16%;animation:dotFloat2 28s ease-in-out infinite reverse;}
    @keyframes dotFloat1 { 0%,100%{transform:translate(0,0);} 50%{transform:translate(28px,-22px);} }
    @keyframes dotFloat2 { 0%,100%{transform:translate(0,0);} 50%{transform:translate(-24px,28px);} }
    @keyframes dotFloat3 { 0%,100%{transform:translate(0,0);} 50%{transform:translate(20px,32px);} }
    @keyframes dotFloat4 { 0%,100%{transform:translate(0,0);} 50%{transform:translate(-28px,-18px);} }

    /* 确保内容在背景之上 */
    .app { position: relative; z-index: 1; }

    /* v3.101: 政策动态滚动条（单条 + 10s 切换 + 圆点指示器） */
    @keyframes tickerFade {
      0%   { opacity: 0; transform: translateY(-4px); }
      100% { opacity: 1; transform: translateY(0); }
    }
    .ticker-fade { animation: tickerFade .35s ease-out; }

    .policy-ticker-wrap {
      display: none;
      margin-bottom: 14px;
      background: #fff; border-radius: 10px;
      padding: 10px 16px;
      box-shadow: 0 1px 3px rgba(0,0,0,0.05);
      align-items: center; gap: 12px;
      overflow: hidden;
    }
    .policy-ticker-wrap.show { display: flex; }
    .policy-ticker-badge {
      background: #2563eb; color: #fff; font-size: 12px; font-weight: 600;
      padding: 3px 8px; border-radius: 5px; flex-shrink: 0;
    }
    .policy-ticker-title {
      flex: 1; min-width: 0;
      color: #1f2937; font-size: 13px; text-decoration: none;
      display: block;
      white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
      transition: color .15s;
    }
    .policy-ticker-title:hover { color: #2563eb; }
    .policy-ticker-dots {
      display: flex; gap: 6px; flex-shrink: 0;
    }
    .policy-ticker-dots .dot {
      width: 7px; height: 7px; border-radius: 50%;
      background: #d1d5db; cursor: pointer;
      transition: all .25s;
    }
    .policy-ticker-dots .dot.active {
      background: #2563eb; transform: scale(1.4);
    }
    .policy-ticker-dots .dot:hover { background: #6b7280; }
    .policy-ticker-more {
      font-size: 12px; color: #2563eb; flex-shrink: 0; text-decoration: none;
    }
    .policy-ticker-more:hover { text-decoration: underline; }

    /* v3.81: 清空全部 → 贴内容区右边缘竖条悬浮按钮 */
    .app {
      position: relative;
      max-width: 1280px;
      margin: 0 auto;
      padding: 24px;
    }

    header {

      background: linear-gradient(135deg, #1e4fd8 0%, #1e3a8a 55%, #172554 100%);

      color: #fff;

      padding: 14px 26px;

      border-radius: 12px;

      margin-bottom: 18px;

      box-shadow: 0 10px 28px rgba(30, 58, 138, 0.25), inset 0 1px 0 rgba(255,255,255,0.12);

      display: flex;

      align-items: center;

      justify-content: space-between;

      gap: 18px;

      position: relative;

      min-height: 78px;

      overflow: hidden;

    }

    header::before {

      content: '';

      position: absolute;

      top: -60px;

      right: -60px;

      width: 220px;

      height: 220px;

      background: radial-gradient(circle, rgba(255,255,255,0.16) 0%, transparent 70%);

      pointer-events: none;

    }

    .header-left { display:flex; align-items:center; gap:14px; flex:1; min-width:0; }

    .header-left img { height: 46px; width: auto; flex-shrink:0; filter: drop-shadow(0 2px 4px rgba(0,0,0,0.25)); }

    .header-left .header-title { display:flex; flex-direction:column; justify-content:center; gap:5px; }

    header h1 { font-size: 22px; font-weight: 700; margin:0; line-height:1.15; letter-spacing:0.3px; text-shadow:0 2px 4px rgba(0,0,0,0.18); }

    header .subtitle { font-size: 11.5px; color: rgba(255,255,255,0.82); margin:0; line-height:1.35; font-weight:400; white-space:nowrap; }

    header .subtitle .step-arrow { color: #60a5fa; font-weight:600; margin:0 4px; }
    header .subtitle .step-badge { display:inline-flex; align-items:center; justify-content:center; width:15px; height:15px; border-radius:50%; background:rgba(255,255,255,0.16); border:1px solid rgba(255,255,255,0.45); color:#fff; font-size:10px; font-weight:700; margin-right:3px; vertical-align:-2px; line-height:1; }

    .header-right { display:flex; align-items:center; justify-content:flex-end; gap:12px; flex:0 0 auto; min-width:0; }

    .header-left .mascot-wrap { position:relative; display:block; align-self:flex-end; flex-shrink:0; height:92px; margin:0 0 -14px 26px; }
    .header-left .mascot { position:absolute; left:0; bottom:0; height:92px; width:auto; display:block; filter: drop-shadow(0 3px 6px rgba(0,0,0,0.25)); }
    .header-left .mascot-bubble-right { position:absolute !important; top:-8px !important; right:-130px !important; left:auto !important; width:50px !important; height:auto !important; flex-shrink:0; filter: drop-shadow(0 2px 4px rgba(0,0,0,0.18)); pointer-events:none; z-index:2; }

    .btn-3d { border:none; border-radius:999px; padding:7px 18px; font-size:13px; cursor:pointer; transition:all .15s; box-shadow:0 2px 6px rgba(0,0,0,0.08); position:relative; top:0; font-weight:600; }

    .btn-3d:active { top:1px; box-shadow:0 1px 3px rgba(0,0,0,0.10); }

    .btn-3d-login { background:rgba(255,255,255,0.14); color:#fff; border:1px solid rgba(255,255,255,0.6); }

    .btn-3d-login:hover { background:rgba(255,255,255,0.24); border-color:rgba(255,255,255,0.85); }

    .btn-3d-register { background:#2563eb; color:#fff; border:1px solid rgba(255,255,255,0.25); }

    .btn-3d-register:hover { background:#1e40af; border-color:rgba(255,255,255,0.45); }

    #user-menu-trigger { background:rgba(255,255,255,0.95); border:1px solid rgba(255,255,255,0.4); border-radius:999px; padding:5px 14px 5px 6px; cursor:pointer; display:flex; align-items:center; gap:9px; box-shadow:0 2px 6px rgba(0,0,0,0.08); font-size:13px; color:#1f2937; transition:all .15s; position:relative; top:0; font-weight:500; }

    #user-menu-trigger:active { top:1px; box-shadow:0 1px 3px rgba(0,0,0,0.10); }

    #user-menu-trigger:hover { background:#fff; }

    /* v3.66: 用户名默认最多显示 4 个字 */
    #user-menu-name {
      display: inline-block;
      max-width: 4em;
      overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap;
      vertical-align: middle;
    }

    section {

      background: #fff;

      padding: 20px;

      border-radius: 8px;

      margin-bottom: 16px;

      box-shadow: 0 1px 3px rgba(0,0,0,0.05);

    }

    section h2 {

      font-size: 15px;

      font-weight: 600;

      color: #1f2937;

      margin-bottom: 14px;

      padding-bottom: 8px;

      border-bottom: 1px solid #e5e7eb;

    }

    .hint { color: #6b7280; font-size: 12px; margin-bottom: 10px; }

    .hint code {

      background: #f3f4f6; padding: 1px 6px; border-radius: 3px;

      font-family: "Consolas", "Monaco", monospace; font-size: 12px;

    }

    textarea {

      width: 100%;

      min-height: 120px;

      padding: 10px;

      border: 1px solid #d1d5db;

      border-radius: 6px;

      font-family: "Consolas", "Monaco", monospace;

      font-size: 12px;

      resize: vertical;

    }

    textarea:focus { outline: none; border-color: #2563eb; box-shadow: 0 0 0 3px rgba(37,99,235,0.1); }

    .btn-row { display: flex; gap: 8px; margin-top: 10px; flex-wrap: wrap; }

    /* 发票切换器（v3.35b）：压缩高度，保持显眼但紧凑 */
    .invoice-switcher {
      display: none;
      align-items: center;
      justify-content: space-between;
      gap: 10px;
      flex-wrap: wrap;
      margin: 0 0 12px 0;
      padding: 8px 14px;
      background: #ffffff;
      border: 1px solid #bfdbfe;
      border-left: 4px solid #2563eb;
      border-radius: 8px;
      box-shadow: 0 2px 8px rgba(37,99,235,0.08);
    }
    /* v3.36: 切换器内容在卡片内分布更匀称，避免整体偏左留白 */
    .invoice-switcher .switcher-hint { margin-left: auto; }
    .invoice-switcher .switcher-card {
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 1px;
      min-width: 70px;
      padding: 5px 10px;
      background: linear-gradient(135deg, #eff6ff 0%, #dbeafe 100%);
      border: 1px solid #93c5fd;
      border-radius: 6px;
    }
    .invoice-switcher .switcher-label {
      font-size: 11px;
      color: #1e40af;
      font-weight: 600;
      letter-spacing: 0.5px;
    }
    .invoice-switcher .switcher-count {
      font-size: 18px;
      color: #1d4ed8;
      font-weight: 700;
      display: flex;
      align-items: center;
      gap: 3px;
    }
    .invoice-switcher .switcher-count strong { font-size: 22px; line-height: 1; }
    .invoice-switcher .switcher-count .slash { color: #93c5fd; font-weight: 400; font-size: 14px; }
    .invoice-switcher .switcher-flow {
      font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
      font-size: 11px;
      color: #2563eb;
      background: rgba(255,255,255,0.7);
      padding: 1px 6px;
      border-radius: 4px;
      margin-top: 1px;
    }
    .invoice-switcher .switcher-nav {
      display: flex;
      align-items: center;
      gap: 12px;
    }
    .invoice-switcher .nav-btn {
      padding: 7px 14px;
      font-size: 13px;
      border: 1px solid #bfdbfe;
      background: #f8fafc;
      color: #1d4ed8;
      border-radius: 5px;
      font-weight: 500;
      cursor: pointer;
    }
    .invoice-switcher .nav-btn:hover { background: #eff6ff; border-color: #60a5fa; }
    .invoice-switcher .nav-btn:disabled { opacity: 0.4; cursor: not-allowed; }
    .invoice-switcher .switcher-actions {
      display: flex;
      align-items: center;
      gap: 12px;
    }
    .invoice-switcher .switcher-actions button {
      padding: 7px 14px;
      font-size: 13px;
      border-radius: 5px;
      font-weight: 500;
    }
    .invoice-switcher .switcher-hint {
      display: flex;
      flex-direction: column;
      gap: 2px;
      font-size: 11px;
      color: #475569;
      max-width: 260px;
      line-height: 1.35;
    }
    .invoice-switcher .switcher-hint .hint-title {
      font-weight: 700;
      color: #2563eb;
      font-size: 12px;
    }
    @media (max-width: 860px) {
      .invoice-switcher { flex-direction: column; align-items: stretch; gap: 8px; }
      .invoice-switcher .switcher-card { flex-direction: row; justify-content: space-between; }
      .invoice-switcher .switcher-nav,
      .invoice-switcher .switcher-actions { justify-content: center; }
      .invoice-switcher .switcher-hint { max-width: none; }
    }

    button {

      padding: 8px 16px;

      border: 1px solid #d1d5db;

      background: #fff;

      color: #1f2937;

      border-radius: 6px;

      cursor: pointer;

      font-size: 13px;

      transition: all 0.15s;

    }

    button:hover { background: #f9fafb; border-color: #9ca3af; }

    button.primary {

      background: #2563eb; color: #fff; border-color: #2563eb;

    }

    button.primary:hover { background: #1e40af; border-color: #1e40af; }

    button.danger { color: #dc2626; border-color: #fca5a5; }

    button.danger:hover { background: #fef2f2; }

    button.success {

      background: #2563eb; color: #fff; border-color: #2563eb;

    }

    button.success:hover { background: #1e40af; border-color: #1e40af; }

    .form-grid {

      display: grid;

      grid-template-columns: repeat(2, 1fr);

      gap: 12px 24px;

    }

    /* 购方+销方 左右两栏 */

    .party-row {

      display: grid;

      grid-template-columns: 1fr 1fr;

      gap: 24px;

    }

    .party-row .party-col {

      background: #f9fafb;

      border: 1px solid #e5e7eb;

      border-radius: 6px;

      padding: 16px 18px;

      display: flex;

      flex-direction: column;

    }

    .party-row .party-col h2 {

      margin: 0 0 12px 0;

      font-size: 17px;

      font-weight: 600;

      color: #1f2937;

      height: 44px;

      display: flex;

      align-items: center;

      flex-wrap: nowrap;

      gap: 6px;

      overflow: visible;

    }

    .party-row .party-col .form-grid {

      grid-template-columns: 1fr 1fr;

      gap: 10px 16px;

      flex: 1;

    }

    .party-row .party-col .form-grid .full-width { grid-column: 1 / -1; }

    .form-grid label {

      display: flex;

      flex-direction: column;

      font-size: 12px;

      color: #6b7280;

      gap: 4px;

    }

    .form-grid input {

      padding: 7px 10px;

      border: 1px solid #d1d5db;

      border-radius: 5px;

      font-size: 13px;

      color: #1f2937;

    }

    .form-grid input:focus {

      outline: none; border-color: #2563eb;

      box-shadow: 0 0 0 3px rgba(37,99,235,0.1);

    }

    .full-width { grid-column: 1 / -1; }

    .badge {

      display: inline-block;

      padding: 1px 6px;

      background: #fef3c7;

      color: #92400e;

      border-radius: 3px;

      font-size: 11px;

      margin-left: 4px;

    }

    table {

      width: 100%;

      border-collapse: collapse;

      font-size: 13px;

    }

    th, td {

      padding: 8px 6px;

      border-bottom: 1px solid #e5e7eb;

      text-align: left;

    }

    th {

      background: #f9fafb;

      font-weight: 600;

      color: #4b5563;

      font-size: 12px;

      position: sticky;

      top: 0;

    }

    th.required::after {

      content: " *";

      color: #dc2626;

    }

    td input, td select {

      width: 100%;

      padding: 5px 6px;

      border: 1px solid #e5e7eb;

      border-radius: 4px;

      font-size: 13px;

      background: #fff;

    }

    td input:focus, td select:focus {

      outline: none; border-color: #2563eb;

    }

    td input:disabled {
      background: #f3f4f6;
      color: #9ca3af;
      cursor: not-allowed;
    }

    td .del-btn {

      color: #dc2626;

      background: transparent;

      border: 1px solid transparent;

      padding: 4px 8px;

      cursor: pointer;

    }

    td .del-btn:hover { background: #fef2f2; border-color: #fca5a5; }

    .row-num { color: #9ca3af; font-weight: 500; text-align: center; width: 32px; }

    .summary {

      background: #f9fafb;

      padding: 14px 20px;

      border-radius: 6px;

      display: flex;

      justify-content: space-between;

      align-items: center;

      margin-top: 12px;

    }

    .summary-row {

      display: flex; gap: 32px;

    }

    .summary-item { display: flex; flex-direction: column; gap: 2px; }

    .summary-label { font-size: 12px; color: #6b7280; }

    .summary-value {

      font-size: 18px; font-weight: 600; color: #1f2937;

      font-family: "Consolas", monospace;

    }

    .total-amount { color: #2563eb; font-size: 22px; }

    /* v3.247: 表格底部合计区域样式 */
    .table-summary {
      border: 1px solid #e2e8f0;
      border-top: none;
      border-radius: 0 0 8px 8px;
      overflow: hidden;
      margin-top: -1px;
    }
    .table-summary-row {
      display: flex;
      align-items: center;
      justify-content: space-between;
      padding: 8px 12px;
      background: #f9fafb;
    }
    .table-summary-label {
      font-size: 13px;
      font-weight: 600;
      color: #374151;
    }
    .table-summary-right {
      display: flex;
      gap: 0;
    }
    .table-summary-box {
      padding: 4px 16px;
      text-align: center;
      border-left: 1px solid #e2e8f0;
      min-width: 100px;
    }
    .table-summary-box-label {
      font-size: 11px;
      color: #6b7280;
      margin-bottom: 2px;
    }
    .table-summary-box-value {
      font-size: 14px;
      font-weight: 600;
      color: #1f2937;
      font-family: "Consolas", monospace;
    }
    .table-summary-total {
      background: #fff;
      border-top: 1px solid #e2e8f0;
      justify-content: flex-end;
      gap: 32px;
      padding: 8px 16px;
    }
    .table-summary-total-item {
      display: flex;
      align-items: center;
      gap: 6px;
      font-size: 12px;
      color: #6b7280;
    }
    .table-summary-cn {
      font-size: 14px;
      font-weight: 600;
      color: #1e40af;
    }
    .table-summary-value {
      font-size: 20px;
      font-weight: 800;
      color: #1f2937;
      font-family: "Consolas", monospace;
    }

    /* v3.85: 清空全部 → 固定悬浮图片按钮（熊猫清空） */
    .float-clear-btn {
      position: fixed;
      right: 24px;            /* 初始值，加载后由 JS 贴销方信息右边缘覆盖 */
      top: calc(45% + 57px);  /* 垂直偏下57px（52+5） */
      transform: translateY(-50%);
      z-index: 999;
      cursor: pointer;
      border: none;
      background: none;
      padding: 0;
      transition: transform .25s ease, filter .25s ease, box-shadow .25s ease;
    }
    .float-clear-btn img {
      display: block;
      width: 60px;
      height: auto;
      border-radius: 12px;
      transition: transform .25s ease, filter .2s ease;
    }
    .float-clear-btn:hover {
      transform: translateY(-50%) scale(1.08);
      filter: drop-shadow(0 8px 20px rgba(220,38,68,0.3));
    }
    .float-clear-btn:hover img {
      filter: brightness(1.06);
    }
    .float-clear-btn:active {
      transform: translateY(-50%) scale(0.95);
    }

    /* v3.284: 右侧悬浮保存按钮 */
    .float-save-btn {
      position: fixed;
      right: 33px;
      top: calc(45% + 175px);
      transform: translateY(-50%);
      z-index: 999;
      cursor: pointer;
      background: linear-gradient(135deg, #10b981, #059669);
      color: #fff;
      border-radius: 19px;
      padding: 8px 10px;
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 3px;
      box-shadow: 0 4px 16px rgba(16, 185, 129, .35);
      transition: transform .25s ease, box-shadow .25s ease;
      min-width: 45px;
      border: 1px solid rgba(255, 255, 255, 0.2);
    }
    .float-save-btn svg {
      width: 19px;
      height: 19px;
    }
    .float-save-btn span {
      font-size: 11px;
      font-weight: 600;
    }
    .float-save-btn img {
      width: 50px;
      height: auto;
      display: block;
      transition: transform 0.2s ease;
    }
    .float-save-btn:hover img {
      transform: scale(1.08);
    }
    .float-save-btn:active img {
      transform: scale(0.95);
    }

    /* v3.81: 导出说明 (示例) 悬停预览 */
    .export-example-link {
      color: #2563eb;
      text-decoration: underline;
      text-underline-offset: 2px;
      cursor: help;
      font-weight: 500;
      position: relative;
      display: inline-block;
    }
    .export-example-tooltip {
      position: absolute;
      left: 50%;
      bottom: calc(100% + 8px);
      transform: translateX(-50%) scale(0.95);
      width: 1640px;
      max-width: 90vw;
      padding: 8px;
      background: #fff;
      border: 1px solid #e5e7eb;
      border-radius: 8px;
      box-shadow: 0 10px 25px rgba(0,0,0,0.18);
      opacity: 0;
      visibility: hidden;
      pointer-events: none;
      transition: all 0.18s ease;
      z-index: 200;
    }
    .export-example-tooltip::after {
      content: '';
      position: absolute;
      top: 100%;
      left: 50%;
      transform: translateX(-50%);
      border-width: 6px;
      border-style: solid;
      border-color: #fff transparent transparent transparent;
    }
    .export-example-link:hover .export-example-tooltip {
      opacity: 1;
      visibility: visible;
      transform: translateX(-50%) scale(1);
    }
    .export-example-tooltip img {
      width: 100%;
      height: auto;
      border-radius: 4px;
      display: block;
    }

    .footer-actions {

      display: flex;

      gap: 14px;

      justify-content: center;

      padding: 4px 0 60px;  /* v3.22: 按钮上移紧贴模板选择行（去掉原 24px 顶部 padding） */

      margin-top: 0;        /* v3.22: 去掉原 20px 顶部 margin，进一步紧贴 */

      flex-wrap: wrap;

    }

    .footer-actions button { padding: 10px 22px; font-size: 14px; }

    /* v3.36: 导出区模板选择两卡片布局 */
    .export-tpl-row {
      display: flex;
      gap: 16px;
      flex-wrap: wrap;
      margin: 14px 0 6px;
    }
    .export-tpl-card {
      flex: 1;
      min-width: 260px;
      padding: 14px 16px;
      background: #f8fafc;
      border: 1px solid #e2e8f0;
      border-radius: 8px;
      display: flex;
      flex-direction: column;
      gap: 8px;
    }
    .export-tpl-card .tpl-name {
      font-size: 13px;
      font-weight: 600;
      color: #1e293b;
    }
    .export-tpl-card .tpl-ver {
      font-size: 11px;
      font-weight: 400;
      color: #64748b;
    }
    .export-tpl-card .tpl-status {
      font-size: 12px;
      color: #64748b;
    }
    .export-tpl-card button {
      align-self: flex-start;
      padding: 6px 14px;
      font-size: 13px;
    }

    /* v3.428: AI 解析后已填入字段的绿色框标注 */
    .parse-filled {
      border-color: #16a34a !important;
      box-shadow: 0 0 0 2px rgba(22,163,74,0.18) !important;
    }

    /* v3.36: 导出校验失败时的红框提醒 */
    .field-error {
      border-color: #dc2626 !important;
      box-shadow: 0 0 0 2px rgba(220,38,38,0.20) !important;
    }
    table.field-error {
      border: 2px solid #dc2626 !important;
      border-radius: 4px;
    }

    /* v3.19: 顶部 toast —— 提示信息不再贴底，滚动到任何位置都看得到 */

    .toast-top {
      position: fixed;
      top: 20px;
      left: 50%;
      transform: translateX(-50%);
      z-index: 9999;
      max-width: 640px;
      pointer-events: none;
      animation: toastSlideIn 0.25s ease-out;
    }

    .toast-top .alert {
      pointer-events: auto;
      box-shadow: 0 6px 20px rgba(0,0,0,0.18);
      font-size: 13px;
      padding: 10px 16px;
      margin-bottom: 6px;
    }

    @keyframes toastSlideIn {
      from { opacity: 0; transform: translateX(-50%) translateY(-15px); }
      to   { opacity: 1; transform: translateX(-50%) translateY(0); }
    }

    .alert {

      padding: 8px 10px;

      border-radius: 6px;

      margin-top: 10px;

      font-size: 13px;

    }

    .alert.ok { background: #dcfce7; color: #166534; border: 1px solid #86efac; }

    .alert.err { background: #fee2e2; color: #991b1b; border: 1px solid #fca5a5; }

    .alert.info { background: #dbeafe; color: #1e3a8a; border: 1px solid #93c5fd; }

    .hidden { display: none; }

    /* ==== 销方企业库相关样式 ==== */

    .seller-toolbar {

      display: flex; gap: 8px; align-items: center;

      margin-bottom: 14px; flex-wrap: wrap;

    }

    .seller-toolbar .count {

      margin-left: auto; font-size: 12px; color: #6b7280;

    }

    /* ==== 含税/不含税 切换按钮 ==== */

    .mode-toggles {

      display: inline-flex;

      gap: 3px;

      padding: 3px;

      border: 1px solid #e5e7eb;

      border-radius: 999px;

      background: #f3f4f6;

    }

    .mode-toggle {

      padding: 5px 16px;

      border: none;

      border-radius: 999px;

      background: transparent;

      color: #6b7280;

      font-size: 13px;

      cursor: pointer;

      transition: all 0.18s ease;

      white-space: nowrap;

    }

    .mode-toggle:hover { color: #1f2937; }

    .mode-toggle.active {

      background: #ffffff;

      color: #2563eb;

      font-weight: 600;

      box-shadow: 0 1px 3px rgba(16,24,40,0.12);

    }

    .mode-toggle + .mode-toggle { border-left: none; }

    .mode-toggle.active + .mode-toggle,

    .mode-toggle + .mode-toggle.active { border-left-color: transparent; }

    /* v3.33: 纳税人类型切换 */
    .tp-toggle {
      padding: 4px 12px;
      border: 1px solid #d1d5db;
      background: #fff;
      color: #374151;
      font-size: 12px;
      border-radius: 4px;
      cursor: pointer;
      transition: all 0.15s;
    }
    .tp-toggle:hover { background: #f3f4f6; }
    .tp-toggle.active { background: #2563eb; color: #fff; border-color: #2563eb; font-weight: 500; }
    @keyframes pulse-red { 0%,100% { box-shadow: 0 0 0 0 rgba(220,38,38,0.5); } 50% { box-shadow: 0 0 0 6px rgba(220,38,38,0); } }

    /* v3.34: 企业库列表中的纳税人类型标签 */
    .tp-tag {
      display: inline-block;
      font-size: 11px;
      padding: 1px 7px;
      border-radius: 10px;
      margin-left: 4px;
      vertical-align: middle;
      font-weight: 500;
    }
    .tp-tag.tp-general { background: #dbeafe; color: #1e40af; }
    .tp-tag.tp-small { background: #fef3c7; color: #b45309; }

    /* v3.68: 必填未选时的红框提醒（纳税人类型等） */
    .invalid-border {
      border: 2px solid #ef4444 !important;
      background: #fef2f2;
    }

    .seller-picker {

      background: #f9fafb;

      border: 1px solid #e5e7eb;

      border-radius: 6px;

      padding: 12px;

      margin-bottom: 14px;

    }

    .seller-picker input {

      width: 100%;

      padding: 8px 10px;

      border: 1px solid #d1d5db;

      border-radius: 5px;

      font-size: 13px;

      margin-bottom: 8px;

    }

    .seller-list {

      max-height: 280px;

      overflow-y: auto;

      display: flex; flex-direction: column; gap: 6px;

    }

    .seller-card {

      display: flex; justify-content: space-between; align-items: center;

      padding: 10px 12px;

      background: #fff;

      border: 1px solid #e5e7eb;

      border-radius: 6px;

      transition: all 0.15s;

    }

    .seller-card:hover { border-color: #2563eb; box-shadow: 0 1px 3px rgba(37,99,235,0.1); }

    .seller-info { flex: 1; min-width: 0; }

    .seller-name {

      font-weight: 600; color: #1f2937; font-size: 13px;

      overflow: hidden; text-overflow: ellipsis; white-space: nowrap;

    }

    .seller-tax {

      font-family: "Consolas", monospace;

      font-size: 12px; color: #4b5563; margin-top: 2px;

    }

    .seller-bank {

      font-size: 12px; color: #6b7280; margin-top: 2px;

      overflow: hidden; text-overflow: ellipsis; white-space: nowrap;

    }

    .seller-actions-row { display: flex; gap: 4px; flex-shrink: 0; margin-left: 12px; }

    .seller-actions-row button { padding: 5px 10px; font-size: 12px; }

    .empty-state {

      padding: 20px;

      text-align: center;

      color: #9ca3af;

      font-size: 13px;

    }

    /* ==== Modal 弹窗 ==== */

    .modal-mask {

      position: fixed; inset: 0;

      background: rgba(0,0,0,0.4);

      display: flex; align-items: center; justify-content: center;

      z-index: 1000;

    }

    .modal-mask.hidden { display: none !important; }

    .modal-content {

      background: #fff;

      width: 90%;

      max-width: 720px;

      max-height: 90vh;

      overflow-y: auto;

      border-radius: 8px;

      box-shadow: 0 10px 40px rgba(0,0,0,0.2);

    }

    .modal-header {

      padding: 16px 20px;

      border-bottom: 1px solid #e5e7eb;

      display: flex; justify-content: space-between; align-items: center;

    }

    .modal-header h3 { font-size: 16px; font-weight: 600; }

    .modal-close {

      background: transparent; border: none;

      font-size: 22px; color: #6b7280; cursor: pointer;

      padding: 0; line-height: 1; width: 28px; height: 28px;

      border-radius: 4px;

      display: flex; align-items: center; justify-content: center;

    }

    .modal-close:hover { background: #f3f4f6; }

    /* v3.506: 所有弹窗右上角关闭按钮统一 flex 居中（修复 ×/✕ 字符偏移歪斜） */
    button.x-close-btn,
    button[id$="-close"],
    button[id$="-close-btn"],
    .yik-close,
    .avatar-modal-close,
    .giveup-close,
    .modal-close {
      display: inline-flex !important;
      align-items: center !important;
      justify-content: center !important;
      padding: 0 !important;
      line-height: 1 !important;
      vertical-align: middle;
    }

    .modal-body { padding: 20px; }

    .modal-footer {

      padding: 12px 20px;

      border-top: 1px solid #e5e7eb;

      display: flex; gap: 8px; justify-content: flex-end;

    }

    .col-name { min-width: 180px; }

    .col-code { min-width: 110px; }

    .col-unit { width: 60px; }

    .col-qty { width: 110px; }

    .col-price { width: 120px; }

    .col-amount { width: 130px; }

    .col-rate { width: 70px; }

    .col-tax { width: 90px; }

    .col-op { width: 50px; }

    .col-chk { width: 32px; text-align: center; }

    /* 折扣行样式 */
    .discount-row td {
      background: #fef2f2;
      border-top: 1px dashed #fca5a5;
      font-size: 12px;
    }
    .discount-tag {
      display: inline-block;
      background: #dc2626;
      color: #fff;
      font-size: 11px;
      padding: 1px 5px;
      border-radius: 3px;
      margin-right: 4px;
      vertical-align: middle;
    }
    .discount-amount {
      color: #dc2626;
      font-weight: 600;
    }
    .discount-del {
      color: #9ca3af;
      cursor: pointer;
      font-size: 11px;
      margin-left: 6px;
    }
    .discount-del:hover { color: #dc2626; }

    /* 折扣弹窗样式 */
    .discount-mode-tabs {
      display: flex;
      gap: 0;
      margin-bottom: 16px;
      border: 1px solid #d1d5db;
      border-radius: 6px;
      overflow: hidden;
    }
    .discount-mode-tab {
      flex: 1;
      padding: 8px 0;
      text-align: center;
      cursor: pointer;
      font-size: 13px;
      font-weight: 500;
      background: #f9fafb;
      color: #6b7280;
      border: none;
      transition: all 0.15s;
    }
    .discount-mode-tab:first-child { border-right: 1px solid #d1d5db; }
    .discount-mode-tab.active {
      background: #2563eb;
      color: #fff;
    }
    .discount-input-row {
      display: flex;
      align-items: center;
      gap: 10px;
      margin-bottom: 4px;
    }
    .discount-input-row label {
      font-size: 13px;
      font-weight: 500;
      flex-shrink: 0;
    }
    .discount-input-row input {
      flex: 1;
      padding: 8px 10px;
      border: 1px solid #d1d5db;
      border-radius: 6px;
      font-size: 14px;
    }
    .discount-required {
      color: #dc2626;
      font-size: 11px;
    }

    @media (max-width: 900px) {

      .party-row { grid-template-columns: 1fr; }

      .party-row .party-col .form-grid { grid-template-columns: 1fr; }

    }

    @media (max-width: 768px) {

      .form-grid { grid-template-columns: 1fr; }

      .summary-row { flex-direction: column; gap: 8px; }

    }

    /* v3.30: AI 解析状态区动态沙漏 + 读秒 */

    .ai-hourglass-spin {

      display: inline-block;

      animation: ai-hourglass-flip 2s linear infinite;

      transform-origin: center;

    }

    @keyframes ai-hourglass-flip {

      0% { transform: rotate(0deg); }

      25% { transform: rotate(90deg); }

      50% { transform: rotate(180deg); }

      75% { transform: rotate(270deg); }

      100% { transform: rotate(360deg); }

    }

    #ai-parse-timer {

      color: #6366f1;

      font-variant-numeric: tabular-nums;

      min-width: 42px;

      margin-left: 4px;

    }

  /* 输入框自动补全下拉列表 */
  .auto-droplist {
    position: absolute;
    left: 0; right: 0; top: 100%;
    z-index: 1000;
    background: #fff;
    border: 1px solid #d1d5db;
    border-radius: 6px;
    box-shadow: 0 4px 12px rgba(0,0,0,0.1);
    max-height: 220px;
    overflow-y: auto;
    display: none;
    margin-top: 2px;
  }
  .auto-droplist.show { display: block; }
  .auto-dropitem {
    padding: 8px 12px;
    cursor: pointer;
    font-size: 13px;
    color: #1f2937;
    border-bottom: 1px solid #f3f4f6;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 8px;
    transition: background 0.1s;
  }
  .auto-dropitem:last-child { border-bottom: none; }
  .auto-dropitem:hover,
  .auto-dropitem.active { background: #eff6ff; color: #2563eb; }
  .auto-dropitem .drop-name {
    font-weight: 500;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    flex: 1;
    min-width: 0;
  }
  .auto-dropitem .drop-tax {
    font-size: 11px;
    color: #6b7280;
    font-family: "Consolas", monospace;
    flex-shrink: 0;
  }

  /* v3.153: 企信宝工商搜索联想下拉（与本地库 .auto-droplist 并存互不覆盖） */
  .qxb-droplist {
    position: absolute;
    left: 0; right: 0; top: 100%;
    z-index: 1100;
    background: #fff;
    border: 1px solid #d1d5db;
    border-radius: 6px;
    box-shadow: 0 4px 12px rgba(0,0,0,0.12);
    max-height: 260px;
    overflow-y: auto;
    display: none;
    margin-top: 2px;
  }
  .qxb-droplist.show { display: block; }
  .qxb-dropitem {
    padding: 7px 12px;
    cursor: pointer;
    font-size: 13px;
    color: #1f2937;
    border-bottom: 1px solid #f3f4f6;
    transition: background 0.1s;
  }
  .qxb-dropitem:last-child { border-bottom: none; }
  .qxb-dropitem:hover,
  .qxb-dropitem.active { background: #eff6ff; }
  .qxb-dropitem .qxb-name {
    font-weight: 500;
    color: #111827;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .qxb-dropitem.active .qxb-name { color: #2563eb; }
  .qxb-dropitem .qxb-sub {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-top: 2px;
    font-size: 11px;
    color: #6b7280;
  }
  .qxb-dropitem .qxb-tax {
    font-family: "Consolas", monospace;
  }
  .qxb-dropitem .qxb-legal {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .qxb-dropitem .qxb-source {
    margin-left: auto;
    flex-shrink: 0;
    color: #2563eb;
    font-size: 11px;
    border: 1px solid #bfdbfe;
    border-radius: 3px;
    padding: 0 4px;
    line-height: 16px;
  }

/* ===== v3.398: 科技感增强（与教程页面风格统一） ===== */

/* 1. 网格背景叠加 */
body {
  background-image:
    linear-gradient(rgba(37,99,235,0.025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(37,99,235,0.025) 1px, transparent 1px),
    linear-gradient(-45deg, #f8fafc, #f0f9ff, #f8fafc, #eef2ff);
  background-size: 40px 40px, 40px 40px, 400% 400%;
}

/* 2. 内容卡片科技感 */
section, .party-col {
  background: rgba(255,255,255,0.92);
  backdrop-filter: blur(10px);
  border: 1px solid rgba(191,219,254,0.6);
  border-radius: 14px;
  box-shadow: 0 4px 16px rgba(30,58,138,0.06);
  transition: all 0.3s;
  position: relative;
  overflow: hidden;
}
section::before, .party-col::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 3px;
  background: linear-gradient(90deg, #2563eb, #3b82f6, #60a5fa);
  opacity: 0.8;
}
section:hover, .party-col:hover {
  border-color: rgba(96,165,250,0.8);
  box-shadow: 0 8px 28px rgba(37,99,235,0.12);
}

/* 3. 标题渐变 */
section h2, .party-col h2 {
  background: linear-gradient(135deg, #1e3a8a, #2563eb);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  font-weight: 800;
}

/* 4. 步骤指示器发光 */
.step-indicator {
  background: rgba(255,255,255,0.92);
  backdrop-filter: blur(10px);
  border: 1px solid rgba(191,219,254,0.6);
  border-radius: 14px;
  box-shadow: 0 4px 16px rgba(30,58,138,0.06);
}
.step-indicator .step-item.active .step-num {
  box-shadow: 0 0 0 3px rgba(37,99,235,0.15), 0 4px 12px rgba(37,99,235,0.4);
  animation: stepPulse 2s ease-in-out infinite;
}
@keyframes stepPulse {
  0%, 100% { box-shadow: 0 0 0 3px rgba(37,99,235,0.15), 0 4px 12px rgba(37,99,235,0.4); }
  50% { box-shadow: 0 0 0 6px rgba(37,99,235,0.1), 0 4px 16px rgba(37,99,235,0.5); }
}

/* 5. 主按钮发光增强 */
button.primary, .btn-primary {
  background: linear-gradient(135deg, #2563eb, #1e40af);
  box-shadow: 0 4px 12px rgba(37,99,235,0.35), inset 0 1px 0 rgba(255,255,255,0.2);
  transition: all 0.2s;
}
button.primary:hover, .btn-primary:hover {
  transform: translateY(-1px);
  box-shadow: 0 6px 18px rgba(37,99,235,0.45), inset 0 1px 0 rgba(255,255,255,0.25);
}

/* 6. 一键开票绿色按钮发光 */
#btn-one-click-issue, .btn-issue {
  background: linear-gradient(135deg, #22c55e, #16a34a);
  box-shadow: 0 4px 14px rgba(34,197,94,0.4), inset 0 1px 0 rgba(255,255,255,0.2);
  transition: all 0.2s;
}
#btn-one-click-issue:hover, .btn-issue:hover {
  transform: translateY(-1px);
  box-shadow: 0 6px 20px rgba(34,197,94,0.5), inset 0 1px 0 rgba(255,255,255,0.25);
}

/* 7. 政策滚动条科技感 */
.policy-ticker-wrap {
  background: rgba(255,255,255,0.92);
  backdrop-filter: blur(10px);
  border: 1px solid rgba(191,219,254,0.6);
  box-shadow: 0 4px 12px rgba(30,58,138,0.06);
}

/* 8. 输入框聚焦发光 */
input:focus, textarea:focus, select:focus {
  border-color: #60a5fa !important;
  box-shadow: 0 0 0 3px rgba(37,99,235,0.12) !important;
  outline: none !important;
}

/* 9. 徽章科技感 */
.badge {
  background: linear-gradient(135deg, #eff6ff, #dbeafe);
  border: 1px solid #bfdbfe;
  color: #1e40af;
}


/* v3.398 修复：渐变标题不影响子元素文字（按钮/标签/徽章） */
section h2 *, .party-col h2 * {
  -webkit-text-fill-color: initial !important;
  background-clip: initial !important;
  -webkit-background-clip: initial !important;
  color: inherit;
}
section h2 .badge, .party-col h2 .badge {
  color: #1e40af !important;
}
section h2 label, .party-col h2 label {
  color: #0369a1 !important;
}


/* ===== v3.400: 科技感增强第二批 ===== */

/* 1. 商品表格科技感升级 */
.items-table {
  border: 1px solid rgba(191,219,254,0.5);
  border-radius: 10px;
  overflow: hidden;
  background: #fff;
}
.items-table th {
  background: linear-gradient(135deg, #eff6ff, #dbeafe) !important;
  color: #1e40af !important;
  border-bottom: 2px solid #bfdbfe !important;
  font-weight: 700 !important;
}
.items-table tr:nth-child(even) td {
  background: #f8fafc;
}
.items-table tr:hover td {
  background: #eff6ff !important;
}
.items-table td {
  border-bottom: 1px solid #f1f5f9;
}
.items-table input {
  border-radius: 8px !important;
  border: 1px solid #e2e8f0 !important;
  transition: all 0.15s !important;
}
.items-table input:focus {
  border-color: #60a5fa !important;
  box-shadow: 0 0 0 3px rgba(37,99,235,0.12) !important;
}

/* 2. 合计区域科技感 */
.table-summary {
  background: linear-gradient(135deg, #f8fafc, #f1f5f9);
  border: 1px solid rgba(191,219,254,0.5);
  border-radius: 0 0 10px 10px;
  border-top: none;
  padding: 12px 16px;
  margin-top: -1px;
}
.table-summary-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 6px 0;
}
.table-summary-label {
  font-weight: 700;
  color: #1e3a8a;
  font-size: 14px;
}
.table-summary-box {
  text-align: center;
  padding: 6px 16px;
  background: #fff;
  border-radius: 8px;
  border: 1px solid #e0e7ff;
  min-width: 120px;
}
.table-summary-box-label {
  font-size: 11px;
  color: #6b7280;
  margin-bottom: 2px;
}
.table-summary-box-value {
  font-size: 16px;
  font-weight: 700;
  color: #2563eb;
  font-family: 'SF Mono', 'Consolas', monospace;
}
.table-summary-total {
  border-top: 2px solid #bfdbfe;
  margin-top: 8px;
  padding-top: 10px;
  flex-wrap: wrap;
  gap: 12px;
}
.table-summary-cn {
  font-size: 13px;
  color: #6b7280;
  font-weight: 500;
}
.table-summary-value {
  font-size: 22px !important;
  font-weight: 800 !important;
  color: #1e40af !important;
  font-family: 'SF Mono', 'Consolas', monospace;
  background: linear-gradient(135deg, #1e3a8a, #2563eb);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

/* 3. 底部操作按钮统一科技感 */
#yik-btn-wrap #yik-btn {
  background: linear-gradient(135deg, #22c55e, #16a34a) !important;
  color: #fff !important;
  box-shadow: 0 4px 14px rgba(34,197,94,0.4), inset 0 1px 0 rgba(255,255,255,0.2) !important;
  border-radius: 10px !important;
  font-weight: 700 !important;
  transition: all 0.2s !important;
}
#yik-btn-wrap #yik-btn:hover {
  transform: translateY(-1px) !important;
  box-shadow: 0 6px 20px rgba(34,197,94,0.5), inset 0 1px 0 rgba(255,255,255,0.25) !important;
}
#btn-export-detail, #btn-export {
  background: linear-gradient(135deg, #3b82f6, #2563eb) !important;
  color: #fff !important;
  box-shadow: 0 4px 12px rgba(59,130,246,0.35), inset 0 1px 0 rgba(255,255,255,0.2) !important;
  border-radius: 10px !important;
  font-weight: 600 !important;
  transition: all 0.2s !important;
}
#btn-export-detail:hover, #btn-export:hover {
  transform: translateY(-1px) !important;
  box-shadow: 0 6px 18px rgba(59,130,246,0.45), inset 0 1px 0 rgba(255,255,255,0.25) !important;
}

/* 4. 所有输入框统一圆角 */
input[type="text"], input[type="number"], input[type="tel"], input[type="password"],
textarea, select {
  border-radius: 8px !important;
}

/* 5. 徽章/标签统一科技感 */
.badge {
  background: linear-gradient(135deg, #eff6ff, #dbeafe) !important;
  border: 1px solid #bfdbfe !important;
  color: #1e40af !important;
  border-radius: 6px !important;
  padding: 2px 8px !important;
  font-size: 11px !important;
  font-weight: 600 !important;
}

/* 6. 卡片间距统一 */
section, .party-row {
  margin-bottom: 20px !important;
}
.party-col {
  margin-bottom: 0 !important;
}

/* 7. 步骤条hover效果 */
.step-indicator .step-item {
  transition: all 0.2s;
  border-radius: 10px;
  padding: 4px 8px;
}
.step-indicator .step-item:hover {
  background: rgba(37,99,235,0.06);
}
.step-indicator .step-item:hover .step-num {
  transform: scale(1.1);
}

/* 8. 商品表格空状态 */
.items-empty-tip {
  text-align: center;
  padding: 24px 16px;
  color: #9ca3af;
  font-size: 13px;
  background: #fafbfc;
  border: 1px dashed #e5e7eb;
  border-radius: 8px;
  margin: 8px 0;
}
.items-empty-tip strong {
  color: #2563eb;
  font-weight: 600;
}


/* v3.401: 合计区域调整 */
.table-summary-box {
  padding: 3px 12px !important;
  min-width: 100px !important;
}
.table-summary-box-value {
  font-size: 15px !important;
}
.table-summary-cn {
  font-size: 15px !important;
  font-weight: 700 !important;
  color: #374151 !important;
}
.table-summary-total {
  justify-content: flex-end !important;
  gap: 32px !important;
  flex-wrap: wrap !important;
}
.table-summary-row {
  padding: 4px 0 !important;
}


/* v3.402: 微调 */
/* 1. 标题蓝色渐变调淡（不要太黑） */
section h2, .party-col h2 {
  background: linear-gradient(135deg, #2563eb, #3b82f6) !important;
  -webkit-background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  background-clip: text !important;
}
/* 2. 价税合计往左一点点（不要太靠右） */
.table-summary-total {
  padding-right: 20px !important;
}


/* v3.403: 修复导出区域示例tooltip被overflow:hidden裁剪 */
section:last-of-type {
  overflow: visible !important;
}
.export-example-tooltip {
  z-index: 9999 !important;
}


/* v3.404: 修复示例tooltip被步骤条/悬浮按钮遮挡 - 去掉导出区域backdrop-filter避免创建层叠上下文 */
section:last-of-type {
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  background: #fff !important;
}
.export-example-tooltip {
  z-index: 99999 !important;
  position: absolute !important;
}


/* v3.405: 修复导出区域顶部蓝色条两边溢出 - 给::before加顶部圆角 */
section:last-of-type::before {
  border-radius: 14px 14px 0 0 !important;
  left: 0 !important;
  right: 0 !important;
}


/* v3.406: 修复导出区域顶部蓝色条溢出 - 用clip-path裁剪圆角(3px高元素border-radius无效) */
section:last-of-type::before {
  border-radius: 0 !important;
  clip-path: inset(0 round 14px 14px 0 0) !important;
  -webkit-clip-path: inset(0 round 14px 14px 0 0) !important;
}


/* v3.407: 直接去掉导出区域顶部蓝色条 */
section:last-of-type::before {
  display: none !important;
}


/* v3.408: 标题蓝色再调淡，更柔和不突出 */
section h2, .party-col h2 {
  background: linear-gradient(135deg, #3b82f6, #60a5fa) !important;
  -webkit-background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  background-clip: text !important;
  font-weight: 700 !important;
}


/* v3.409: 标题改成淡蓝色普通文字，去掉渐变和强制加粗，更柔和 */
section h2, .party-col h2 {
  background: none !important;
  -webkit-background-clip: initial !important;
  -webkit-text-fill-color: initial !important;
  background-clip: initial !important;
  color: #3b82f6 !important;
  font-weight: 600 !important;
}


/* v3.410: 去掉所有区域顶部蓝色条 */
section::before, .party-col::before {
  display: none !important;
}


/* v3.411: 去掉按钮hover白光闪烁效果(顶部inset高光+上浮) */
button.primary, .btn-primary,
#btn-one-click-issue, .btn-issue,
#yik-btn-wrap #yik-btn,
#btn-export-detail, #btn-export {
  box-shadow: 0 4px 12px rgba(37,99,235,0.3) !important;
  inset: auto !important;
}
button.primary:hover, .btn-primary:hover,
#btn-one-click-issue:hover, .btn-issue:hover,
#yik-btn-wrap #yik-btn:hover,
#btn-export-detail:hover, #btn-export:hover {
  transform: none !important;
  box-shadow: 0 4px 12px rgba(37,99,235,0.3) !important;
  filter: brightness(1.05) !important;
}


/* v3.412: 恢复按钮上浮效果 + 纳税人类型按钮加蓝色框更显眼 */
button.primary:hover, .btn-primary:hover,
#btn-one-click-issue:hover, .btn-issue:hover,
#yik-btn-wrap #yik-btn:hover,
#btn-export-detail:hover, #btn-export:hover {
  transform: translateY(-1px) !important;
}

/* 销方纳税人类型按钮加蓝色框 */
.tp-toggle {
  border: 1px solid #60a5fa !important;
  background: #eff6ff !important;
  color: #1e40af !important;
  box-shadow: 0 0 0 2px rgba(59,130,246,0.08) !important;
  font-weight: 500 !important;
}
.tp-toggle:hover {
  background: #dbeafe !important;
  border-color: #3b82f6 !important;
}
.tp-toggle.active {
  background: linear-gradient(135deg, #2563eb, #1d4ed8) !important;
  color: #fff !important;
  border-color: #2563eb !important;
  box-shadow: 0 2px 8px rgba(37,99,235,0.35) !important;
  font-weight: 600 !important;
}


/* v3.413: 彻底去掉按钮白光扫过+恢复立体效果 */
button.primary, .btn-primary,
#btn-one-click-issue, .btn-issue,
#yik-btn-wrap #yik-btn,
#btn-export-detail, #btn-export {
  position: relative !important;
  overflow: visible !important;
  background: linear-gradient(180deg, #3b82f6, #2563eb) !important;
  border: 1px solid #1d4ed8 !important;
  box-shadow: 0 2px 6px rgba(37,99,235,0.3), inset 0 1px 0 rgba(255,255,255,0.25) !important;
  text-shadow: 0 1px 1px rgba(0,0,0,0.15) !important;
}
/* 一键开票/绿色按钮用绿色渐变 */
#btn-one-click-issue, .btn-issue,
#yik-btn-wrap #yik-btn {
  background: linear-gradient(180deg, #22c55e, #16a34a) !important;
  border-color: #15803d !important;
  box-shadow: 0 2px 6px rgba(34,197,94,0.35), inset 0 1px 0 rgba(255,255,255,0.25) !important;
}
/* 强制隐藏所有伪元素(白光扫过通常用::before/::after实现) */
button.primary::before, button.primary::after,
.btn-primary::before, .btn-primary::after,
#btn-one-click-issue::before, #btn-one-click-issue::after,
.btn-issue::before, .btn-issue::after,
#yik-btn-wrap #yik-btn::before, #yik-btn-wrap #yik-btn::after,
#btn-export-detail::before, #btn-export-detail::after,
#btn-export::before, #btn-export::after {
  display: none !important;
  content: none !important;
}
/* hover效果：上浮+变亮+阴影变大 */
button.primary:hover, .btn-primary:hover,
#btn-export-detail:hover, #btn-export:hover {
  transform: translateY(-1px) !important;
  background: linear-gradient(180deg, #60a5fa, #3b82f6) !important;
  box-shadow: 0 4px 10px rgba(37,99,235,0.4), inset 0 1px 0 rgba(255,255,255,0.3) !important;
  filter: none !important;
}
#btn-one-click-issue:hover, .btn-issue:hover,
#yik-btn-wrap #yik-btn:hover {
  transform: translateY(-1px) !important;
  background: linear-gradient(180deg, #4ade80, #22c55e) !important;
  box-shadow: 0 4px 10px rgba(34,197,94,0.45), inset 0 1px 0 rgba(255,255,255,0.3) !important;
  filter: none !important;
}


/* v3.431: 普通按钮立体化——白色渐变 + 阴影 + 顶部高光，hover 上浮更立体；danger 红色立体 */
button:not(.primary):not(.success):not(.btn-primary):not(#btn-one-click-issue):not(.btn-issue):not(#yik-btn-wrap #yik-btn):not(#btn-export-detail):not(#btn-export):not(#confirm-dialog-ok):not(.giveup-confirm):not(#yik-autologin):not(#yik-taxlogin):not(#yik-smssubmit):not(#yik-batch-download):not(#yik-quota-sms-btn):not(#yik-reauth-btn):not(#yik-reauth-btn2):not(#btn-feedback-submit):not(#yik-dl-xml):not(#yik-dl-pdf):not(#yik-dl-ofd):not(#yik-qr-deliver):not(#yik-continue-batch):not(#qr-save-btn):not(#yik-key-save):not(#acc-save):not(#vip-redeem-btn):not(#ir-qr-save):not(#yik-next):not(#yik-prev):not(#yik-issue-current-foot):not(.btn-3d) {
  background: linear-gradient(180deg, #ffffff, #f1f5f9);
  border: 1px solid #cbd5e1;
  box-shadow: 0 2px 4px rgba(15,23,42,0.08), inset 0 1px 0 rgba(255,255,255,0.9);
}
button:not(.primary):not(.success):not(.btn-primary):not(#btn-one-click-issue):not(.btn-issue):not(#yik-btn-wrap #yik-btn):not(#btn-export-detail):not(#btn-export):not(#confirm-dialog-ok):not(.giveup-confirm):not(#yik-autologin):not(#yik-taxlogin):not(#yik-smssubmit):not(#yik-batch-download):not(#yik-quota-sms-btn):not(#yik-reauth-btn):not(#yik-reauth-btn2):not(#btn-feedback-submit):not(#yik-dl-xml):not(#yik-dl-pdf):not(#yik-dl-ofd):not(#yik-qr-deliver):not(#yik-continue-batch):not(#qr-save-btn):not(#yik-key-save):not(#acc-save):not(#vip-redeem-btn):not(#ir-qr-save):not(#yik-next):not(#yik-prev):not(#yik-issue-current-foot):not(.btn-3d):hover {
  background: linear-gradient(180deg, #ffffff, #e2e8f0);
  box-shadow: 0 4px 10px rgba(15,23,42,0.12), inset 0 1px 0 rgba(255,255,255,0.95);
  transform: translateY(-1px) !important;
}
button.danger {
  color: #dc2626 !important;
  border-color: #f87171 !important;
  background: linear-gradient(180deg, #ffffff, #fef2f2) !important;
  box-shadow: 0 2px 4px rgba(220,38,38,0.12), inset 0 1px 0 rgba(255,255,255,0.9) !important;
}
button.danger:hover {
  background: linear-gradient(180deg, #fef2f2, #fee2e2) !important;
  box-shadow: 0 4px 10px rgba(220,38,38,0.18), inset 0 1px 0 rgba(255,255,255,0.95) !important;
  transform: translateY(-1px) !important;
}

/* v3.432: 修复无 .primary 的深蓝底白字按钮被 v3.431 白底规则覆盖成白底白字（文字看不见） */
#confirm-dialog-ok, .giveup-confirm,
#yik-autologin, #yik-taxlogin, #yik-smssubmit, #yik-batch-download,
#yik-quota-sms-btn, #yik-reauth-btn, #yik-reauth-btn2,
#btn-feedback-submit, #yik-dl-xml, #qr-save-btn,
#yik-key-save, #acc-save, #vip-redeem-btn, #ir-qr-save {
  background: linear-gradient(180deg, #3b82f6, #2563eb) !important;
  color: #fff !important;
  border: 1px solid #1d4ed8 !important;
  box-shadow: 0 2px 6px rgba(37,99,235,0.3), inset 0 1px 0 rgba(255,255,255,0.25) !important;
  text-shadow: 0 1px 1px rgba(0,0,0,0.15) !important;
}
#confirm-dialog-ok:hover, .giveup-confirm:hover,
#yik-autologin:hover, #yik-taxlogin:hover, #yik-smssubmit:hover, #yik-batch-download:hover,
#yik-quota-sms-btn:hover, #yik-reauth-btn:hover, #yik-reauth-btn2:hover,
#btn-feedback-submit:hover, #yik-dl-xml:hover, #qr-save-btn:hover,
#yik-key-save:hover, #acc-save:hover, #vip-redeem-btn:hover, #ir-qr-save:hover {
  background: linear-gradient(180deg, #60a5fa, #3b82f6) !important;
  color: #fff !important;
  transform: translateY(-1px) !important;
}

/* v3.453: 单张开票成功界面下载按钮立体化——PDF/OFD/二维码交付/继续开票 与 下载XML 同立体效果，保留各自颜色 */
#yik-dl-pdf {
  background: linear-gradient(180deg, #14b8a6, #0d9488) !important;
  color: #fff !important;
  border: 1px solid #0f766e !important;
  box-shadow: 0 2px 6px rgba(13,148,136,0.3), inset 0 1px 0 rgba(255,255,255,0.25) !important;
  text-shadow: 0 1px 1px rgba(0,0,0,0.15) !important;
}
#yik-dl-pdf:hover { background: linear-gradient(180deg, #2dd4bf, #14b8a6) !important; transform: translateY(-1px) !important; }
#yik-dl-ofd {
  background: linear-gradient(180deg, #22c55e, #16a34a) !important;
  color: #fff !important;
  border: 1px solid #15803d !important;
  box-shadow: 0 2px 6px rgba(34,197,94,0.3), inset 0 1px 0 rgba(255,255,255,0.25) !important;
  text-shadow: 0 1px 1px rgba(0,0,0,0.15) !important;
}
#yik-dl-ofd:hover { background: linear-gradient(180deg, #4ade80, #22c55e) !important; transform: translateY(-1px) !important; }
#yik-qr-deliver {
  background: linear-gradient(180deg, #8b5cf6, #7c3aed) !important;
  color: #fff !important;
  border: 1px solid #6d28d9 !important;
  box-shadow: 0 2px 6px rgba(124,58,237,0.3), inset 0 1px 0 rgba(255,255,255,0.25) !important;
  text-shadow: 0 1px 1px rgba(0,0,0,0.15) !important;
}
#yik-qr-deliver:hover { background: linear-gradient(180deg, #a78bfa, #8b5cf6) !important; transform: translateY(-1px) !important; }
#yik-continue-batch {
  background: linear-gradient(180deg, #fbbf24, #f59e0b) !important;
  color: #fff !important;
  border: 1px solid #d97706 !important;
  box-shadow: 0 2px 6px rgba(245,158,11,0.3), inset 0 1px 0 rgba(255,255,255,0.25) !important;
  text-shadow: 0 1px 1px rgba(0,0,0,0.15) !important;
}
#yik-continue-batch:hover { background: linear-gradient(180deg, #fcd34d, #fbbf24) !important; transform: translateY(-1px) !important; }


/* v3.437: 修复一键开票底部按钮(确认公司信息/预览页)被 v3.431 白底规则覆盖——绿色主按钮白底白字看不见，
   上一步/仅开具当前发票被刷白丢失样式。这三个按钮已加入 v3.431 排除列表，这里强制恢复各自原色。 */
#yik-foot .yik-prev {
  background: #f3f4f6 !important;
  color: #374151 !important;
  border: 1px solid #e5e7eb !important;
  box-shadow: 0 2px 4px rgba(15,23,42,0.06), inset 0 1px 0 rgba(255,255,255,0.9) !important;
}
#yik-foot .yik-prev:hover { background: #e5e7eb !important; }
#yik-foot .yik-next {
  background: linear-gradient(180deg, #22c55e, #16a34a) !important;
  color: #fff !important;
  border: 1px solid #15803d !important;
  box-shadow: 0 3px 8px rgba(22,163,74,0.35), inset 0 1px 0 rgba(255,255,255,0.3) !important;
  text-shadow: 0 1px 1px rgba(0,0,0,0.12) !important;
  font-weight: 600 !important;
}
#yik-foot .yik-next:hover { background: linear-gradient(180deg, #16a34a, #15803d) !important; }
#yik-foot .yik-next:disabled {
  background: #a7d9be !important;
  border-color: #86b9a0 !important;
  box-shadow: none !important;
  cursor: not-allowed !important;
}
#yik-foot #yik-issue-current-foot {
  border: 1.5px solid #1f9d55 !important;
  background: #fff !important;
  color: #1f9d55 !important;
  font-weight: 600 !important;
  box-shadow: 0 2px 4px rgba(31,157,85,0.10), inset 0 1px 0 rgba(255,255,255,0.9) !important;
}
#yik-foot #yik-issue-current-foot:hover { background: #f0fdf4 !important; }


/* v3.437: 修复顶部导航「登录/注册」按钮(.btn-3d-login/.btn-3d-register)被 v3.431 白底规则刷成白底白字(看不见) */
.btn-3d-login {
  background: rgba(255,255,255,0.14) !important;
  color: #fff !important;
  border: 1px solid rgba(255,255,255,0.6) !important;
  box-shadow: none !important;
}
.btn-3d-login:hover { background: rgba(255,255,255,0.24) !important; border-color: rgba(255,255,255,0.85) !important; }
.btn-3d-register {
  background: #2563eb !important;
  color: #fff !important;
  border: 1px solid rgba(255,255,255,0.25) !important;
  box-shadow: 0 3px 8px rgba(37,99,235,0.35), inset 0 1px 0 rgba(255,255,255,0.25) !important;
}
.btn-3d-register:hover { background: #1e40af !important; border-color: rgba(255,255,255,0.45) !important; }


/* ===== v3.477: 添加开票企业弹窗 · 视觉重构 ===== */
#add-seller-modal .add-seller-box {
  max-width: 660px; border-radius: 16px; overflow: hidden;
  border: 1px solid rgba(59,130,246,.16);
  box-shadow: 0 24px 70px rgba(20,60,130,.22);
}
#add-seller-modal .modal-header {
  padding: 20px 24px; border-bottom: 1px solid #e8eefb;
  background: linear-gradient(135deg, #f3f8ff, #e9f3ff);
}
#add-seller-modal .as-head h3 { margin: 0; font-size: 19px; font-weight: 700; color: #123a6b; }
#add-seller-modal .as-sub { margin-top: 4px; font-size: 12.5px; color: #6b82a3; }
#add-seller-modal .modal-body { padding: 22px 24px 10px; }
#add-seller-modal .as-group { margin-bottom: 18px; }
#add-seller-modal .as-group-title {
  display: flex; align-items: center; gap: 8px; margin-bottom: 12px;
  font-size: 13.5px; font-weight: 700; color: #1f4a86; letter-spacing: .3px;
}
#add-seller-modal .as-group-title::before {
  content: ''; width: 4px; height: 15px; border-radius: 3px;
  background: linear-gradient(180deg, #3b82f6, #22c1e4);
}
#add-seller-modal .as-grid { grid-template-columns: 1fr 1fr; gap: 13px 18px; }
#add-seller-modal .as-field { gap: 7px; }
#add-seller-modal .as-label { font-size: 13.5px; font-weight: 600; color: #233a55; }
#add-seller-modal .as-req { margin-left: 4px; font-size: 12px; color: #ef4444; font-weight: 600; }
#add-seller-modal .as-opt { margin-left: 4px; font-size: 12px; color: #9aa9bd; font-weight: 400; }
#add-seller-modal .as-field input {
  height: 40px; padding: 8px 13px; box-sizing: border-box;
  border: 1px solid #d6dfee; border-radius: 9px; font-size: 13.5px; color: #16233a;
  background: #fff; transition: border-color .18s, box-shadow .18s;
}
#add-seller-modal .as-field input::placeholder { color: #aab6c9; }
#add-seller-modal .as-field input:focus {
  outline: none; border-color: #3b82f6;
  box-shadow: 0 0 0 3px rgba(59,130,246,.14);
}
#add-seller-modal .as-pills {
  display: flex; gap: 12px; margin-top: 2px; padding: 5px;
  border: 1px solid transparent; border-radius: 11px; transition: border-color .15s, background .15s;
}
#add-seller-modal .as-pill {
  position: relative; flex: 1; display: flex; align-items: center; justify-content: center; gap: 7px;
  padding: 10px 12px; cursor: pointer; user-select: none;
  border: 1px solid #d6dfee; border-radius: 9px; background: #f6f9fd;
  font-size: 13.5px; font-weight: 600; color: #42516b; transition: all .16s;
}
#add-seller-modal .as-pill input { position: absolute; opacity: 0; pointer-events: none; width: 1px; height: 1px; }
#add-seller-modal .as-pill:has(input:checked) {
  background: linear-gradient(135deg, #2563eb, #1e9be6);
  border-color: transparent; color: #fff;
  box-shadow: 0 5px 14px rgba(37,99,235,.28);
}
#add-seller-modal .as-pill:not(:has(input:checked)):hover { border-color: #9db9e8; background: #eef4ff; color: #1f4a86; }
#add-seller-modal .as-hint {
  display: flex; align-items: center; gap: 8px; margin: 6px 0 4px; padding: 11px 14px;
  background: #f0f7ff; border: 1px dashed #b9d4f5; border-radius: 10px;
  font-size: 12.5px; color: #4a6b92; line-height: 1.6;
}
#add-seller-modal .as-hint::before { content: 'ℹ'; font-size: 14px; color: #3b82f6; flex: none; }
#add-seller-modal .modal-footer { padding: 16px 24px 18px; gap: 10px; border-top: 1px solid #e8eefb; background: #fbfdff; }
#add-seller-modal .modal-footer button { height: 40px; padding: 0 20px; font-size: 14px; border-radius: 9px; cursor: pointer; font-weight: 600; }
#add-seller-modal #btn-cancel-modal { background: #fff; border: 1px solid #d6dfee; color: #5a6b85; }
#add-seller-modal #btn-cancel-modal:hover { background: #f3f6fb; }
#add-seller-modal #btn-save-modal-temp { background: #fff; border: 1px solid #3b82f6; color: #2563eb; }
#add-seller-modal #btn-save-modal-temp:hover { background: #eef4ff; }
#add-seller-modal #btn-save-modal {
  background: linear-gradient(135deg, #2563eb, #1e40af);
  box-shadow: 0 4px 14px rgba(37,99,235,.35), inset 0 1px 0 rgba(255,255,255,.2);
  transition: all .2s;
}
#add-seller-modal #btn-save-modal:hover { transform: translateY(-1px); box-shadow: 0 6px 18px rgba(37,99,235,.45); }


/* ===== v3.478: 添加购方企业弹窗 · 与开票企业统一风格 ===== */
#add-buyer-modal .add-buyer-box {
  max-width: 660px; border-radius: 16px; overflow: hidden;
  border: 1px solid rgba(59,130,246,.16);
  box-shadow: 0 24px 70px rgba(20,60,130,.22);
}
#add-buyer-modal .modal-header {
  padding: 20px 24px; border-bottom: 1px solid #e8eefb;
  background: linear-gradient(135deg, #f3f8ff, #e9f3ff);
}
#add-buyer-modal .ab-head h3 { margin: 0; font-size: 19px; font-weight: 700; color: #123a6b; }
#add-buyer-modal .ab-sub { margin-top: 4px; font-size: 12.5px; color: #6b82a3; }
#add-buyer-modal .modal-body { padding: 22px 24px 10px; }
#add-buyer-modal .ab-group { margin-bottom: 18px; }
#add-buyer-modal .ab-group-title {
  display: flex; align-items: center; gap: 8px; margin-bottom: 12px;
  font-size: 13.5px; font-weight: 700; color: #1f4a86; letter-spacing: .3px;
}
#add-buyer-modal .ab-group-title::before {
  content: ''; width: 4px; height: 15px; border-radius: 3px;
  background: linear-gradient(180deg, #3b82f6, #22c1e4);
}
#add-buyer-modal .ab-grid { grid-template-columns: 1fr 1fr; gap: 13px 18px; }
#add-buyer-modal .ab-field { gap: 7px; }
#add-buyer-modal .ab-label { font-size: 13.5px; font-weight: 600; color: #233a55; }
#add-buyer-modal .ab-req { margin-left: 4px; font-size: 12px; color: #ef4444; font-weight: 600; }
#add-buyer-modal .ab-opt { margin-left: 4px; font-size: 12px; color: #9aa9bd; font-weight: 400; }
#add-buyer-modal .ab-field input {
  height: 40px; padding: 8px 13px; box-sizing: border-box;
  border: 1px solid #d6dfee; border-radius: 9px; font-size: 13.5px; color: #16233a;
  background: #fff; transition: border-color .18s, box-shadow .18s;
}
#add-buyer-modal .ab-field input::placeholder { color: #aab6c9; }
#add-buyer-modal .ab-field input:focus {
  outline: none; border-color: #3b82f6;
  box-shadow: 0 0 0 3px rgba(59,130,246,.14);
}
#add-buyer-modal .ab-hint {
  display: flex; align-items: center; gap: 8px; margin: 6px 0 4px; padding: 11px 14px;
  background: #f0f7ff; border: 1px dashed #b9d4f5; border-radius: 10px;
  font-size: 12.5px; color: #4a6b92; line-height: 1.6;
}
#add-buyer-modal .ab-hint::before { content: 'ℹ'; font-size: 14px; color: #3b82f6; flex: none; }
#add-buyer-modal .modal-footer { padding: 16px 24px 18px; gap: 10px; border-top: 1px solid #e8eefb; background: #fbfdff; }
#add-buyer-modal .modal-footer button { height: 40px; padding: 0 20px; font-size: 14px; border-radius: 9px; cursor: pointer; font-weight: 600; }
#add-buyer-modal #btn-cancel-buyer-modal { background: #fff; border: 1px solid #d6dfee; color: #5a6b85; }
#add-buyer-modal #btn-cancel-buyer-modal:hover { background: #f3f6fb; }
#add-buyer-modal #btn-save-buyer-modal {
  background: linear-gradient(135deg, #2563eb, #1e40af);
  box-shadow: 0 4px 14px rgba(37,99,235,.35), inset 0 1px 0 rgba(255,255,255,.2);
  transition: all .2s;
}
#add-buyer-modal #btn-save-buyer-modal:hover { transform: translateY(-1px); box-shadow: 0 6px 18px rgba(37,99,235,.45); }


/* v3.545: 修复折扣模式 tab 被「button:not(...)」全局立体化规则覆盖导致选中项白底白字看不清 */
.discount-mode-tab {
  background: #f9fafb !important;
  color: #6b7280 !important;
  border: none !important;
  box-shadow: none !important;
  border-radius: 0 !important;
}
.discount-mode-tab:first-child { border-right: 1px solid #d1d5db !important; }
.discount-mode-tab:hover {
  background: #f9fafb !important;
  color: #374151 !important;
  border: none !important;
  box-shadow: none !important;
  transform: none !important;
}
.discount-mode-tab.active {
  background: #2563eb !important;
  color: #fff !important;
  border: none !important;
  box-shadow: none !important;
}
.discount-mode-tab.active:hover {
  background: #2563eb !important;
  color: #fff !important;
  transform: none !important;
}
