    :root {
      --wizard-bg: #f3f6f7;
      --wizard-surface: #fff;
      --wizard-text: #18303d;
      --wizard-muted: #6b7b84;
      --wizard-line: #d8e1e5;
      --wizard-accent: #176b5b;
      --wizard-accent-dark: #115347;
      --wizard-soft: #f8fafb;
      --wizard-success: #198754;
      --wizard-danger: #b42318;
    }

    body {
      background: var(--wizard-bg);
      color: var(--wizard-text);
    }

    .collab-upload-shell {
      padding: 1.25rem 0 2.5rem !important;
    }

    .upload-wizard-page {
      margin: 0 auto;
    }

    .upload-page-heading {
      display: flex;
      align-items: end;
      justify-content: space-between;
      gap: 1rem;
      margin-bottom: .85rem;
    }

    .upload-page-heading h1 {
      margin: 0 0 .15rem;
      font-size: 1.55rem;
      font-weight: 800;
      letter-spacing: -.03em;
    }

    .upload-page-heading p,
    .wizard-note {
      margin: 0;
      color: var(--wizard-muted);
      font-size: .8rem;
    }

    .wizard-tabs {
      display: grid;
      grid-template-columns: repeat(5, minmax(0, 1fr));
      gap: .45rem;
      margin-bottom: .65rem;
    }

    .wizard-tab {
      min-height: 50px;
      padding: .5rem .55rem;
      border: 1px solid var(--wizard-line);
      border-radius: 8px;
      background: var(--wizard-surface);
      color: var(--wizard-text);
      text-align: left;
      cursor: pointer;
    }

    .wizard-tab:hover {
      border-color: #9eb3aa;
    }

    .wizard-tab.is-active {
      border-color: var(--wizard-accent);
      background: #eef7f4;
      box-shadow: 0 0 0 2px rgba(23, 107, 91, .08);
    }

    .wizard-tab.is-complete {
      border-color: #a9cabb;
      background: #f4faf7;
    }

    .project-load-status { min-height: 1.1rem; }
    .project-load-status.is-error { color: var(--wizard-danger); }
    .project-create-dialog { border: 0; box-shadow: 0 24px 70px rgba(24, 48, 61, .2); }
    .project-create-kicker { color: var(--wizard-accent); font-size: .7rem; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }

    .searchable-select-source { position: absolute !important; width: 1px !important; height: 1px !important; opacity: 0 !important; pointer-events: none !important; }
    .searchable-combobox { position: relative; }
    .searchable-combobox-input { padding-right: 2.6rem; }
    .searchable-combobox-toggle { position: absolute; top: 0; right: 0; width: 2.6rem; height: 100%; border: 0; background: transparent; color: #31464f; font-size: 1.25rem; }
    .searchable-combobox-popup, .share-organization-menu { position: absolute; z-index: 1080; top: calc(100% + .3rem); left: 0; right: 0; overflow: hidden; border: 1px solid #aebdc4; border-radius: 9px; background: #fff; box-shadow: 0 16px 38px rgba(24, 48, 61, .18); }
    .searchable-combobox-list, .share-organization-options { max-height: 230px; overflow-y: auto; padding: .3rem; }
    .searchable-combobox-option, .searchable-combobox-footer, .share-organization-option { display: flex; width: 100%; align-items: center; gap: .55rem; border: 0; border-radius: 6px; background: #fff; color: var(--wizard-text); padding: .58rem .7rem; text-align: left; }
    .searchable-combobox-option:hover, .searchable-combobox-option.is-active, .share-organization-option:hover { background: #eef7f4; }
    .searchable-combobox-option.is-selected { background: #e2f1ec; font-weight: 700; }
    .searchable-combobox-footer { position: sticky; bottom: 0; border-top: 1px solid var(--wizard-line); border-radius: 0; color: var(--wizard-accent); font-weight: 800; }
    .searchable-combobox-empty { padding: .75rem; color: var(--wizard-muted); font-size: .85rem; }
    .share-organization-picker { position: relative; }
    .share-organization-chips { display: flex; flex-wrap: wrap; gap: .4rem; margin-top: .55rem; }
    .share-organization-chip { display: inline-flex; align-items: center; gap: .35rem; border: 1px solid #9fc6b8; border-radius: 999px; background: #eef7f4; color: #174b40; padding: .22rem .5rem; font-size: .78rem; font-weight: 700; }
    .share-organization-chip button { border: 0; background: transparent; color: inherit; padding: 0; line-height: 1; }

    .wizard-tab-number {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      width: 19px;
      height: 19px;
      margin-right: .25rem;
      border-radius: 50%;
      background: #e7edef;
      font-size: .66rem;
      font-weight: 800;
    }

    .wizard-tab.is-active .wizard-tab-number,
    .wizard-tab.is-complete .wizard-tab-number {
      background: var(--wizard-accent);
      color: #fff;
    }

    .wizard-tab-label {
      display: block;
      margin-top: .18rem;
      font-size: .72rem;
      font-weight: 800;
      line-height: 1.1;
    }

    .wizard-card {
      background: var(--wizard-surface);
      border: 1px solid var(--wizard-line);
      border-radius: 11px;
      overflow: visible;
      box-shadow: 0 4px 14px rgba(29, 52, 66, .05);
    }

    .wizard-panel {
      display: none;
      min-height: 240px;
      padding: 1rem;
    }

    .wizard-panel.is-active {
      display: block;
    }

    .wizard-panel-header {
      margin-bottom: .85rem;
    }

    .wizard-panel-header h2 {
      margin: 0 0 .15rem;
      font-size: 1.05rem;
      font-weight: 800;
    }

    .wizard-panel-header p {
      margin: 0;
      color: var(--wizard-muted);
      font-size: .76rem;
    }

    .wizard-field-grid {
      display: grid;
      grid-template-columns: 1.3fr .8fr 1fr;
      gap: .7rem;
    }

    .wizard-span-2 {
      grid-column: span 2;
    }

    .upload-wizard-page .form-label {
      margin-bottom: .22rem;
      font-size: .78rem;
      font-weight: 700;
    }

    .upload-wizard-page .form-control,
    .upload-wizard-page .form-select {
      min-height: 35px;
      font-size: .86rem;
    }

    .upload-wizard-page textarea.form-control {
      min-height: 66px;
      resize: vertical;
    }

    .upload-drop-zone {
      min-height: 88px;
      display: flex;
      align-items: center;
      justify-content: center;
      gap: .75rem;
      padding: 1rem;
      border: 2px dashed #9fafb7;
      border-radius: 9px;
      background: var(--wizard-soft);
      text-align: center;
      cursor: pointer;
      transition: .15s ease;
    }

    .upload-drop-zone:hover,
    .upload-drop-zone.dragover {
      border-color: var(--wizard-accent);
      background: #eef8f4;
    }

    .upload-drop-zone svg {
      width: 26px;
      height: 26px;
      color: var(--wizard-accent);
      flex: 0 0 auto;
    }

    .upload-drop-title {
      font-size: .88rem;
      font-weight: 800;
    }

    .upload-drop-note {
      color: var(--wizard-muted);
      font-size: .72rem;
    }

    .upload-format-details {
      margin-top: .45rem;
      color: var(--wizard-muted);
      font-size: .72rem;
    }

    .upload-format-details summary {
      color: var(--wizard-text);
      font-weight: 700;
      cursor: pointer;
    }

    #fileListContainer {
      margin-top: .65rem !important;
    }

    #fileListContainer h6 {
      margin-bottom: .4rem !important;
      font-size: .8rem;
      font-weight: 800;
    }

    #fileList {
      border: 1px solid var(--wizard-line);
      border-radius: 8px;
      overflow: hidden;
      background: #fff;
    }

    #progressContainer {
      margin-top: .65rem !important;
    }

    .progress {
      height: .55rem;
    }

    .tag-combobox {
      position: relative;
    }

    #existingTagsContainer {
      display: none;
      position: absolute;
      z-index: 200;
      top: calc(100% + .25rem);
      left: 0;
      right: 0;
      max-height: 190px;
      overflow-y: auto;
      padding: .4rem !important;
      border: 1px solid var(--wizard-line) !important;
      border-radius: 8px !important;
      background: #fff !important;
      box-shadow: 0 8px 22px rgba(29, 52, 66, .14);
    }

    #existingTagsContainer.is-open,
    .tag-combobox:focus-within #existingTagsContainer {
      display: block;
    }

    #existingTagsContainer .tag-checkbox-label {
      display: flex;
      align-items: center;
      gap: .45rem;
      width: 100%;
      margin: 0;
      padding: .34rem .4rem;
      border-radius: 6px;
      cursor: pointer;
    }

    #existingTagsContainer .tag-checkbox-label:hover,
    #existingTagsContainer .tag-checkbox-label:focus-within {
      background: var(--wizard-soft);
    }

    #existingTagsContainer .tag-checkbox-label[hidden] {
      display: none !important;
    }

    #selectedTagsSummary {
      min-height: 38px;
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      gap: .35rem;
      padding: .4rem;
      border: 1px solid var(--wizard-line);
      border-radius: 8px;
      background: var(--wizard-soft);
    }

    .selected-tag-chip {
      display: inline-flex;
      align-items: center;
      gap: .3rem;
      max-width: 100%;
      padding: .22rem .4rem .22rem .5rem;
      border-radius: 999px;
      background: #2f6f61;
      color: #fff;
      font-size: .72rem;
      font-weight: 700;
      line-height: 1.2;
    }

    .selected-tag-remove {
      width: 1rem;
      height: 1rem;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      padding: 0;
      border: 0;
      border-radius: 50%;
      background: rgba(255,255,255,.22);
      color: inherit;
      font-size: .78rem;
      line-height: 1;
    }

    .auto-tag-choice {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 1rem;
      padding: .7rem;
      border: 1px solid var(--wizard-line);
      border-radius: 8px;
      background: var(--wizard-soft);
      margin-bottom: .7rem;
    }

    .auto-tag-choice strong {
      display: block;
      font-size: .84rem;
    }

    .auto-tag-choice p {
      margin: .1rem 0 0;
      color: var(--wizard-muted);
      font-size: .72rem;
    }

    #autoTagHelpText {
      display: none;
      margin-top: .45rem;
      padding: .5rem .6rem;
      border-left: 3px solid #6aa5c4;
      border-radius: 6px;
      background: #eef6fb;
      color: #405b69;
      font-size: .74rem;
    }

    #autoTagHelpText.is-visible {
      display: block;
    }

    .overview-grid {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      gap: .55rem;
    }

    .overview-card {
      padding: .65rem;
      border: 1px solid var(--wizard-line);
      border-radius: 8px;
      background: var(--wizard-soft);
    }

    .overview-label {
      color: var(--wizard-muted);
      font-size: .66rem;
      font-weight: 800;
      letter-spacing: .05em;
      text-transform: uppercase;
    }

    .overview-value {
      margin-top: .15rem;
      font-size: .86rem;
      font-weight: 800;
      overflow-wrap: anywhere;
    }

    .wizard-actions {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 1rem;
      padding: .75rem 1rem;
      border-top: 1px solid var(--wizard-line);
      background: #fbfcfd;
    }

    .wizard-actions-left {
      color: var(--wizard-muted);
      font-size: .76rem;
    }

    .wizard-actions-right {
      display: flex;
      gap: .5rem;
    }

    #uploadBtn {
      background: var(--wizard-success);
      border-color: var(--wizard-success);
      color: #fff;
      font-weight: 800;
    }

    #uploadBtn:hover,
    #uploadBtn:focus {
      background: #146c43;
      border-color: #146c43;
      color: #fff;
    }

    .confirmation-state {
      padding: 1.5rem .75rem .75rem;
      text-align: center;
    }

    .confirmation-icon {
      width: 52px;
      height: 52px;
      display: grid;
      place-items: center;
      margin: 0 auto .65rem;
      border-radius: 50%;
      background: #e8f5ef;
      color: var(--wizard-success);
      font-size: 1.65rem;
      font-weight: 800;
    }

    .confirmation-state h2 {
      margin: 0 0 .2rem;
      font-size: 1.1rem;
      font-weight: 800;
    }

    .confirmation-state p {
      margin: 0;
      color: var(--wizard-muted);
      font-size: .78rem;
    }

    #uploadProcessingState {
      width: 100%;
      max-width: 600px;
      margin: 0 auto;
    }

    #uploadProcessingStatus {
      margin-top: 1rem;
      font-weight: 700;
      color: var(--wizard-text);
    }

    #uploadProcessingState .progress {
      width: 100%;
      height: 14px;
      margin: 1rem auto 0;
      border-radius: 999px;
    }

    #uploadProcessingPercent,
    #uploadProcessingInstruction {
      margin-top: 1rem;
    }

    #uploadProcessingPercent {
      font-weight: 800;
      color: var(--wizard-accent);
    }

    .confirmation-state.is-processing + #uploadResultsPanel {
      display: none !important;
    }

    #messageContainer {
      margin-top: .65rem !important;
    }

    #successMessage,
    #errorMessage {
      margin-bottom: 0;
      font-size: .8rem;
    }

    #uploadResultsPanel {
      margin-top: .8rem;
      border: 1px solid var(--wizard-line);
      border-radius: 9px;
      background: #fff;
      overflow: hidden;
      text-align: left;
    }

    .upload-results-heading {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: .7rem;
      padding: .65rem .75rem;
      border-bottom: 1px solid var(--wizard-line);
      background: #fbfcfd;
    }

    .result-eyebrow {
      margin: 0 0 .12rem;
      color: var(--wizard-muted);
      font-size: .64rem;
      font-weight: 800;
      letter-spacing: .06em;
      text-transform: uppercase;
    }

    .upload-total-chips {
      display: flex;
      gap: .3rem;
      flex-wrap: wrap;
    }

    .result-count {
      display: inline-flex;
      align-items: center;
      border-radius: 999px;
      padding: .18rem .4rem;
      font-size: .66rem;
      font-weight: 800;
    }

    .result-count-success {
      background: #e5f3ed;
      color: #155b4c;
    }

    .result-count-danger {
      background: #fff2f2;
      color: #8b2f2f;
    }

    .result-count-neutral {
      background: #edf1f3;
      color: #465a64;
    }

    .batch-result-section {
      padding: .65rem .75rem;
      border-bottom: 1px solid var(--wizard-line);
    }

    .batch-result-section:last-child {
      border-bottom: 0;
    }

    .batch-section-heading {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: .65rem;
      margin-bottom: .45rem;
    }

    .batch-metric-grid {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: .4rem;
    }

    .batch-metric {
      padding: .45rem;
      border: 1px solid var(--wizard-line);
      border-radius: 7px;
      background: var(--wizard-soft);
      text-align: center;
    }

    .batch-metric strong {
      display: block;
      font-size: .9rem;
    }

    .batch-metric span {
      color: var(--wizard-muted);
      font-size: .64rem;
    }

    #autoTagFileResults {
      overflow: visible;
    }

    #autoTagFileResults .auto-tag-file-result {
      margin-top: .4rem;
      padding: .5rem .6rem;
      border: 1px solid #d6dde8;
      border-radius: 7px;
      background: #fff;
    }

    #autoTagFileResults .auto-tag-result-header {
      display: flex;
      align-items: flex-start;
      justify-content: space-between;
      gap: .45rem;
    }

    #autoTagFileResults .auto-tag-result-summary {
      display: flex;
      flex-wrap: wrap;
      gap: .25rem;
      margin-top: .15rem;
      color: #5f6f82;
      font-size: .7rem;
    }

    #autoTagFileResults .auto-tag-toggle {
      padding: .18rem .35rem;
      border: 1px solid #ccd6e3;
      border-radius: 5px;
      background: #f7f9fc;
      color: #2c3e55;
      font-size: .68rem;
      white-space: nowrap;
    }

    #autoTagFileResults .auto-tag-file-result.is-collapsed .auto-tag-result-details {
      display: none;
    }

    #uploadDebugContainer {
      margin-top: .55rem !important;
    }

    #uploadDebugLog {
      max-height: 180px;
      overflow-y: auto;
    }

    .selected-tags-empty {
      color: var(--wizard-muted);
      font-size: .8rem;
      font-style: italic;
    }

    .upload-results-control {
      border-color: #d9dfd2 !important;
      background: #f7f8f3;
    }

    .upload-results-panel {
      border-top: 1px solid #d9dfd2;
    }

    .analysis-skipped-notice {
      margin-top: .7rem;
      padding: .8rem .9rem;
      border-left: 3px solid #c3922e;
      border-radius: 0 6px 6px 0;
      background: #fff8e5;
      color: #554313;
      font-size: .82rem;
    }

    .analysis-skipped-notice[hidden],
    .batch-metric-grid[hidden],
    #perFileResultsSection[hidden] {
      display: none;
    }

    .auto-tag-status-chip {
      display: inline-flex;
      align-items: center;
      min-height: 1.55rem;
      padding: .14rem .5rem;
      border: 1px solid transparent;
      border-radius: 999px;
      font-size: .72rem;
      font-weight: 750;
      line-height: 1.1;
      white-space: nowrap;
    }

    .auto-tag-status-chip.applied {
      border-color: #badbcc;
      background: #e6f3ec;
      color: #1d5c3c;
    }

    .auto-tag-status-chip.suggested {
      border-color: #c7d5e5;
      background: #edf4fb;
      color: #31587b;
    }

    .auto-tag-status-chip.missing {
      border-color: #ead49c;
      background: #fff7dc;
      color: #775c12;
    }

    #autoTagFileResults .auto-tag-file-result .file-name {
      margin-bottom: 0;
      overflow-wrap: anywhere;
      font-weight: 700;
    }

    .auto-tag-visible-tags {
      display: grid;
      gap: .25rem;
      margin-top: .55rem;
      padding-top: .5rem;
      border-top: 1px solid #edf0eb;
    }

    .auto-tag-visible-row {
      display: flex;
      align-items: flex-start;
      gap: .4rem;
      min-width: 0;
      font-size: .76rem;
      line-height: 1.35;
    }

    .auto-tag-visible-label {
      flex: 0 0 4.5rem;
      color: #59675c;
      font-weight: 750;
    }

    .auto-tag-visible-values {
      min-width: 0;
      color: #25362a;
      overflow-wrap: anywhere;
    }

    .auto-tag-visible-row.suggested .auto-tag-visible-values { color: #31587b; }
    .auto-tag-visible-row.missing .auto-tag-visible-values { color: #775c12; }

    .auto-tag-result-details {
      padding-top: .55rem;
      border-top: 1px dashed #d8ded6;
    }

    .auto-tag-evidence-list {
      margin: .3rem 0 0;
      padding-left: 1.1rem;
      color: #59675c;
      font-size: .75rem;
    }

    .auto-tag-evidence-list li + li { margin-top: .2rem; }

    .created-tag-list {
      display: grid;
      gap: .3rem;
      padding-left: 1.1rem;
      font-size: .8rem;
    }

    .created-tag-list li { overflow-wrap: anywhere; }
    .batch-failure-section { border-color: #efc7ca; }

    .upload-failed-file-result {
      margin-top: .45rem;
      padding: .6rem .75rem;
      border: 1px solid #f5c6cb;
      border-radius: 6px;
      background: #fff8f8;
      font-size: .85rem;
    }

    .upload-failed-file-result .file-name {
      margin-bottom: .3rem;
      color: #842029;
      font-weight: 600;
    }

    .upload-failed-file-result .failure-reason {
      color: #856404;
      font-style: italic;
    }

    @media (max-width: 760px) {
      .wizard-tabs {
        grid-template-columns: repeat(5, minmax(0, 1fr));
        gap: .25rem;
      }

      .wizard-tab {
        min-height: 44px;
        padding: .4rem .2rem;
        text-align: center;
      }

      .wizard-tab-number {
        margin-right: 0;
      }

      .wizard-tab-label {
        font-size: .62rem;
        overflow-wrap: anywhere;
      }

      .wizard-field-grid,
      .overview-grid {
        grid-template-columns: 1fr;
      }

      .wizard-span-2 {
        grid-column: auto;
      }

      .wizard-actions,
      .upload-page-heading {
        align-items: stretch;
        flex-direction: column;
      }

      .wizard-actions-right {
        width: 100%;
      }

      .wizard-actions-right .btn {
        flex: 1;
      }

      .batch-metric-grid {
        grid-template-columns: repeat(2, 1fr);
      }
    }

    @media (max-width: 575.98px) {
      .wizard-panel {
        min-height: 0;
      }

      .batch-metric-grid {
        grid-template-columns: 1fr;
      }

      .auto-tag-visible-row {
        display: grid;
        gap: .05rem;
      }

      .auto-tag-visible-label {
        flex-basis: auto;
      }
    }
