
    
    :root { color-scheme: light; }
    * { box-sizing: border-box; }
    html { scroll-behavior: smooth; }
    body { margin: 0; font-family: Inter, "PingFang SC", "Microsoft YaHei", system-ui, sans-serif; background: #f7f8fc; color: #0f172a; }
    [v-cloak] { display: none; }
    .soft-shadow { box-shadow: 0 1px 2px rgba(15,23,42,.04), 0 10px 30px rgba(15,23,42,.05); }
    .glass { background: rgba(255,255,255,.9); backdrop-filter: blur(18px); }
    .scrollbar::-webkit-scrollbar { width: 6px; height: 6px; }
    .scrollbar::-webkit-scrollbar-thumb { background: #cbd5e1; border-radius: 999px; }
    .scrollbar::-webkit-scrollbar-track { background: transparent; }
    .page-enter-active, .page-leave-active { transition: opacity .16s ease, transform .16s ease; }
    .page-enter-from, .page-leave-to { opacity: 0; transform: translateY(5px); }
    .modal-backdrop { background: rgba(15,23,42,.48); backdrop-filter: blur(5px); }
    .metric-grid { background-image: linear-gradient(to right, rgba(148,163,184,.11) 1px, transparent 1px), linear-gradient(to bottom, rgba(148,163,184,.11) 1px, transparent 1px); background-size: 24px 24px; }
    .money-input-group { display:grid; grid-template-columns:96px minmax(0,1fr); width:100%; }
    .money-input-group .money-currency { width:96px; border-top-right-radius:0; border-bottom-right-radius:0; border-right:0; }
    .money-input-group .money-amount { width:100%; min-width:0; border-top-left-radius:0; border-bottom-left-radius:0; }
    .spend-input-group { display:grid; grid-template-columns:96px minmax(0,1fr) auto; width:100%; }
    .spend-input-group .money-currency { width:96px; border-top-right-radius:0; border-bottom-right-radius:0; border-right:0; }
    .spend-input-group .money-amount { width:100%; min-width:0; border-radius:0; }
    .spend-input-group button { border-top-left-radius:0; border-bottom-left-radius:0; }

    /* Unified form controls */
    .field {
      width:100%; height:40px; border:1px solid #e2e8f0; border-radius:12px; background:#fff;
      padding:0 12px; font-size:12px; color:#0f172a; outline:none; transition:.18s ease;
    }
    .field:hover { border-color:#cbd5e1; }
    .field:focus { border-color:#94a3b8; box-shadow:0 0 0 4px rgba(148,163,184,.12); }

    /* Finance profit detail filters */
    .profit-filter-bar {
      display:grid; grid-template-columns:240px minmax(300px,1fr) 170px 220px; gap:12px; align-items:start;
    }
    .profit-filter-item { min-width:0; }
    .profit-filter-label {
      height:20px; display:flex; align-items:center; gap:6px; margin-bottom:7px;
      color:#64748b; font-size:10px; font-weight:800; letter-spacing:.01em;
    }
    .profit-filter-label i { width:14px; text-align:center; color:#94a3b8; }
    .profit-date-control {
      height:42px; display:grid; grid-template-columns:minmax(0,1fr) 38px; overflow:hidden;
      border:1px solid #dbe3ee; border-radius:12px; background:#fff; transition:.18s ease;
    }
    .profit-date-control:focus-within { border-color:#818cf8; box-shadow:0 0 0 4px rgba(99,102,241,.09); }
    .profit-date-control input {
      width:100%; min-width:0; height:40px; border:0; outline:0; background:transparent;
      padding:0 12px; color:#1e293b; font-size:12px; font-weight:700; font-family:inherit;
    }
    .profit-date-control button {
      border:0; border-left:1px solid #eef2f7; background:#fafbff; color:#94a3b8; cursor:pointer; transition:.15s;
    }
    .profit-date-control button:hover { background:#fff1f2; color:#e11d48; }
    .profit-filter-button, .profit-filter-select, .profit-period-box { height:42px; }
    .profit-filter-button {
      width:100%; border:1px solid #dbe3ee; border-radius:12px; background:#fff; padding:0 12px;
      display:flex; align-items:center; justify-content:space-between; gap:10px; text-align:left; transition:.18s ease;
    }
    .profit-filter-button:hover { border-color:#c7d2fe; background:#fafaff; }
    .profit-filter-button:focus { outline:0; border-color:#818cf8; box-shadow:0 0 0 4px rgba(99,102,241,.09); }
    .profit-filter-select {
      width:100%; border:1px solid #dbe3ee; border-radius:12px; background:#fff; padding:0 34px 0 12px;
      color:#334155; font-size:12px; font-weight:700; outline:0;
    }
    .profit-filter-select:focus { border-color:#818cf8; box-shadow:0 0 0 4px rgba(99,102,241,.09); }
    .profit-period-box {
      border:1px solid #e0e7ff; border-radius:12px; background:linear-gradient(135deg,#f8faff 0%,#eef2ff 100%);
      padding:0 12px; display:flex; align-items:center; justify-content:space-between; gap:12px;
    }
    .profit-period-box .period-label { color:#94a3b8; font-size:10px; font-weight:700; white-space:nowrap; }
    .profit-period-box .period-value { color:#4338ca; font-size:11px; font-weight:900; text-align:right; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
    .profit-filter-row-note {
      margin-top:8px; padding-left:2px; color:#94a3b8; font-size:10px; line-height:1.4;
      display:flex; align-items:center; gap:6px;
    }
    .profit-filter-row-note i { color:#cbd5e1; }
    @media (max-width:1279px) { .profit-filter-bar { grid-template-columns:repeat(2,minmax(0,1fr)); } }
    @media (max-width:767px) { .profit-filter-bar { grid-template-columns:1fr; } .profit-filter-row-note { font-size:9px; } }


    /* Finance summary redesign */
    .finance-kpi-layout {
      display:grid; grid-template-columns:1fr; gap:14px;
    }
    .finance-panel {
      background:#fff; border:1px solid #e2e8f0; border-radius:20px; padding:16px; box-shadow:0 8px 30px rgba(15,23,42,.04);
    }
    .finance-panel-header { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:12px; }
    .finance-panel-title { font-size:12px; font-weight:900; color:#0f172a; }
    .finance-panel-desc { font-size:10px; color:#94a3b8; margin-top:3px; line-height:1.45; }
    .finance-panel-tag {
      display:inline-flex; align-items:center; gap:6px; padding:6px 10px; border-radius:999px;
      background:#f8fafc; color:#64748b; font-size:10px; font-weight:800; white-space:nowrap;
    }
    .finance-kpi-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
    .finance-kpi-grid-three { grid-template-columns:repeat(3,minmax(0,1fr)); }
    .finance-kpi-grid-four { grid-template-columns:repeat(4,minmax(0,1fr)); }
    .finance-kpi-grid-five { grid-template-columns:repeat(5,minmax(0,1fr)); }
    .finance-kpi-grid-six { grid-template-columns:repeat(6,minmax(0,1fr)); }
    .finance-kpi-card {
      border:1px solid #e5e7eb; border-radius:18px; padding:14px 15px; background:linear-gradient(180deg,#ffffff 0%,#fbfdff 100%);
      min-width:0;
    }
    .finance-kpi-card .metric-label { font-size:10px; font-weight:800; }
    .finance-kpi-card .metric-value { margin-top:8px; font-size:24px; line-height:1.08; font-weight:900; letter-spacing:-.02em; word-break:break-word; }
    .finance-kpi-card .metric-note { margin-top:8px; font-size:10px; color:#94a3b8; line-height:1.45; }
    .metric-money-list { margin-top:8px; display:flex; flex-direction:column; gap:5px; }
    .metric-money-row { display:flex; align-items:baseline; justify-content:space-between; gap:10px; min-width:0; }
    .metric-money-currency { font-size:9px; font-weight:900; letter-spacing:.08em; color:#94a3b8; flex:0 0 auto; }
    .metric-money-amount { font-size:20px; line-height:1.1; font-weight:900; letter-spacing:-.02em; word-break:break-word; text-align:right; }
    .finance-income-card { display:flex; flex-direction:column; }
    .income-card-subline { margin-top:7px; font-size:9px; line-height:1.45; color:#94a3b8; }
    .profit-breakdown { margin-top:10px; padding-top:9px; border-top:1px dashed #e2e8f0; display:flex; flex-direction:column; gap:7px; }
    .profit-breakdown-row { display:grid; grid-template-columns:40px 1fr; gap:8px; align-items:start; }
    .profit-breakdown-currency { font-size:9px; font-weight:900; color:#64748b; padding-top:2px; }
    .profit-breakdown-formula { font-size:10px; line-height:1.55; color:#64748b; }
    .profit-breakdown-formula b { color:#0f172a; }
    .finance-kpi-card.is-emerald { border-color:#d1fae5; }
    .finance-kpi-card.is-emerald .metric-label, .finance-kpi-card.is-emerald .metric-value { color:#047857; }
    .finance-kpi-card.is-amber { border-color:#fde68a; }
    .finance-kpi-card.is-amber .metric-label, .finance-kpi-card.is-amber .metric-value { color:#d97706; }
    .finance-kpi-card.is-violet { border-color:#e9d5ff; }
    .finance-kpi-card.is-violet .metric-label, .finance-kpi-card.is-violet .metric-value { color:#7c3aed; }
    .finance-kpi-card.is-blue { border-color:#dbeafe; }
    .finance-kpi-card.is-blue .metric-label, .finance-kpi-card.is-blue .metric-value { color:#2563eb; }
    .finance-kpi-card.is-rose { border-color:#fecdd3; }
    .finance-kpi-card.is-rose .metric-label, .finance-kpi-card.is-rose .metric-value { color:#e11d48; }
    .finance-kpi-card.is-slate { border-color:#e2e8f0; }
    .finance-kpi-card.is-slate .metric-label, .finance-kpi-card.is-slate .metric-value { color:#0f172a; }
    .finance-profit-column { display:grid; grid-template-columns:1fr; gap:12px; }
    .finance-profit-card {
      border-radius:20px; padding:16px; min-height:134px; display:flex; flex-direction:column; justify-content:space-between;
      box-shadow:0 12px 28px rgba(15,23,42,.09);
    }
    .finance-profit-card .profit-label { font-size:10px; font-weight:800; }
    .finance-profit-card .profit-value { margin-top:10px; font-size:31px; line-height:1.08; font-weight:900; letter-spacing:-.03em; word-break:break-word; }
    .finance-profit-card .profit-note { margin-top:10px; font-size:10px; line-height:1.45; opacity:.9; }
    .finance-profit-card.is-expected { background:linear-gradient(135deg,#020617 0%,#0f172a 55%,#172554 100%); color:#fff; }
    .finance-profit-card.is-confirmed { background:linear-gradient(135deg,#be123c 0%,#e11d48 60%,#fb7185 100%); color:#fff; }
    .finance-profit-card.is-net { background:linear-gradient(135deg,#052e16 0%,#064e3b 55%,#0f766e 100%); color:#ecfeff; }
    .finance-profit-card .profit-chip {
      display:inline-flex; align-items:center; gap:6px; align-self:flex-start; padding:5px 10px; border-radius:999px;
      background:rgba(255,255,255,.12); font-size:10px; font-weight:800;
    }
    @media (max-width:1279px) {
      .finance-kpi-grid-three { grid-template-columns:repeat(3,minmax(0,1fr)); }
      .finance-kpi-grid-four { grid-template-columns:repeat(2,minmax(0,1fr)); }
      .finance-kpi-grid-five { grid-template-columns:repeat(3,minmax(0,1fr)); }
      .finance-kpi-grid-six { grid-template-columns:repeat(3,minmax(0,1fr)); }
      .finance-profit-column { grid-template-columns:repeat(3,minmax(0,1fr)); }
    }
    @media (max-width:767px) {
      .finance-kpi-grid, .finance-profit-column, .finance-kpi-grid-three, .finance-kpi-grid-four, .finance-kpi-grid-five, .finance-kpi-grid-six { grid-template-columns:1fr; }
      .finance-kpi-card .metric-value, .finance-profit-card .profit-value { font-size:24px; }
    }

    /* Provider contacts: fixed-height 1-person viewport when showing ALL */
    .provider-contact-list {
      background:#fff;
    }
    .provider-contact-list.is-all {
      max-height:138px;
      overflow-y:auto;
      overscroll-behavior:contain;
      scrollbar-width:thin;
      scrollbar-color:#cbd5e1 transparent;
    }
    .provider-contact-list.is-all::-webkit-scrollbar { width:5px; }
    .provider-contact-list.is-all::-webkit-scrollbar-track { background:transparent; }
    .provider-contact-list.is-all::-webkit-scrollbar-thumb { background:#cbd5e1; border-radius:999px; }
    .provider-contact-row { min-height:138px; }
    .provider-contact-view-note {
      display:inline-flex; align-items:center; gap:5px; padding:3px 7px; border-radius:999px;
      background:#fff; border:1px solid #ede9fe; color:#7c3aed; font-size:9px; font-weight:800; white-space:nowrap;
    }

    /* Toolkit dropdown theme: emerald accent to match the 投放工具 workspace */
    select.tool-select {
      -webkit-appearance:none; appearance:none;
      background-color:#f8fffc;
      border:1px solid #d1fae5;
      color:#0f172a;
      font-weight:700;
      padding-right:38px;
      cursor:pointer;
      background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20' fill='none'%3E%3Cpath d='m6.5 8 3.5 3.5L13.5 8' stroke='%23059669' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
      background-repeat:no-repeat;
      background-position:right 10px center;
      background-size:18px 18px;
      box-shadow:inset 0 1px 0 rgba(255,255,255,.8);
    }
    select.tool-select:hover { background-color:#f0fdf4; border-color:#86efac; }
    select.tool-select:focus { background-color:#fff; border-color:#10b981; box-shadow:0 0 0 4px rgba(16,185,129,.12); }
    select.tool-select:disabled { background-color:#f8fafc; border-color:#e2e8f0; color:#94a3b8; cursor:not-allowed; opacity:1; }
    select.tool-select option { background:#fff; color:#334155; font-weight:600; }
    select.tool-select option:checked { background:#ecfdf5; color:#047857; }

    /* Blue secondary select, used for the account step to visually distinguish hierarchy */
    select.account-select {
      background-color:#f8fbff; border-color:#dbeafe;
      background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20' fill='none'%3E%3Cpath d='m6.5 8 3.5 3.5L13.5 8' stroke='%232563eb' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    }
    select.account-select:hover { background-color:#eff6ff; border-color:#93c5fd; }
    select.account-select:focus { background-color:#fff; border-color:#3b82f6; box-shadow:0 0 0 4px rgba(59,130,246,.10); }
  