      .preview-section {
        margin-top: var(--space-xl);
      }
      .form-group {
        margin-bottom: var(--space-lg);
      }
      .form-label {
        display: block;
        font-weight: 600;
        margin-bottom: var(--space-sm);
      }
      .form-control {
        width: 100%;
      }
      .form-control[readonly] {
        background: #f0f4f8;
        color: var(--muted);
      }
      .upload-area {
        border: 2px dashed var(--line);
        border-radius: var(--radius-lg);
        padding: 40px 24px;
        text-align: center;
        background: #fbfdff;
        cursor: pointer;
        transition: all 0.25s ease;
        margin-bottom: var(--space);
      }
      .upload-area:hover,
      .upload-area.dragover {
        border-color: var(--primary);
        background: rgba(47, 126, 247, 0.04);
      }
      .upload-icon {
        font-size: 40px;
        margin-bottom: var(--space);
      }
      .upload-text {
        font-size: var(--text-base);
        font-weight: 600;
      }
      .upload-subtext {
        margin-top: 6px;
        color: var(--muted);
        font-size: var(--text-sm);
      }
      .options-group,
      .file-info {
        background: #ffffff;
        border: 1px solid var(--line);
        border-radius: var(--radius-lg);
        padding: var(--space);
      }
      .options-title {
        font-weight: 700;
        margin-bottom: 12px;
      }
      .checkbox-group {
        display: grid;
        gap: 12px;
      }
      .checkbox-label {
        display: flex;
        align-items: center;
        gap: 10px;
        cursor: pointer;
      }
      .checkbox-input {
        width: 18px;
        height: 18px;
        accent-color: var(--primary);
      }
      .file-info {
        margin-top: var(--space);
        display: flex;
        align-items: center;
        gap: 12px;
      }
      .file-icon {
        font-size: 24px;
      }
      .file-details {
        flex: 1;
      }
      .file-name {
        font-weight: 700;
      }
      .file-size {
        color: var(--muted);
        font-size: var(--text-sm);
      }
      .remove-file {
        background: transparent;
        border: 0;
        color: var(--danger);
        font-size: 20px;
        cursor: pointer;
      }
      .textarea-md {
        min-height: 400px;
        resize: vertical;
        font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
      }
      .status {
        display: none;
        margin-top: var(--space);
        padding: 12px 16px;
        border-radius: var(--radius);
        border: 1px solid transparent;
      }
      .status.success,
      .status.error,
      .status.info {
        display: block;
      }
      .status.success {
        background: rgba(22, 163, 74, 0.1);
        color: #15803d;
        border-color: rgba(22, 163, 74, 0.2);
      }
      .status.error {
        background: rgba(220, 38, 38, 0.1);
        color: #b91c1c;
        border-color: rgba(220, 38, 38, 0.2);
      }
      .status.info {
        background: rgba(30, 58, 95, 0.1);
        color: var(--primary);
        border-color: rgba(30, 58, 95, 0.2);
      }
      .loading {
        display: inline-block;
        width: 18px;
        height: 18px;
        border: 2px solid rgba(255, 255, 255, 0.35);
        border-top-color: white;
        border-radius: 50%;
        animation: spin 1s linear infinite;
      }
      @keyframes spin {
        to { transform: rotate(360deg); }
      }
      .preview-tabs {
        display: flex;
        gap: 8px;
        margin-bottom: var(--space);
      }
      .preview-tab {
        padding: 10px 16px;
        background: rgba(47, 126, 247, 0.08);
        border: 1px solid transparent;
        border-radius: var(--radius);
        color: var(--muted);
        cursor: pointer;
        transition: all 0.2s ease;
      }
      .preview-tab:hover {
        background: rgba(47, 126, 247, 0.12);
      }
      .preview-tab.active {
        background: white;
        color: var(--primary);
        border-color: #d6e5fb;
      }
      .preview-container {
        background: white;
        border: 1px solid var(--line);
        border-radius: var(--radius-lg);
        padding: var(--space-lg);
        min-height: 300px;
        max-height: 520px;
        overflow: auto;
        line-height: 1.6;
      }
      .preview-container table {
        width: 100%;
        border-collapse: collapse;
        margin: 16px 0;
      }
      .preview-container th,
      .preview-container td {
        border: 1px solid var(--line);
        padding: 8px 12px;
        text-align: left;
      }
      .preview-container th {
        background: #f8fafc;
      }
      .raw-editor {
        width: 100%;
        min-height: 300px;
        max-height: 520px;
        padding: var(--space-lg);
        font-family: 'Monaco', 'Menlo', 'Courier New', monospace;
        font-size: 14px;
        line-height: 1.6;
        border: 1px solid var(--line);
        border-radius: var(--radius-lg);
        resize: vertical;
        outline: none;
        transition: border-color 0.2s;
      }
      .raw-editor:focus {
        border-color: var(--primary);
        box-shadow: 0 0 0 3px rgba(47, 126, 247, 0.12);
      }
      @media (max-width: 768px) {
        .layout-equal {
          grid-template-columns: 1fr;
        }
      }
      .pdf-preview-section {
        margin-top: var(--space);
        background: #ffffff;
        border: 1px solid var(--line);
        border-radius: var(--radius-lg);
        overflow: hidden;
      }
      .pdf-preview-header {
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 12px 16px;
        font-weight: 700;
        border-bottom: 1px solid var(--line);
        cursor: pointer;
        user-select: none;
      }
      .pdf-preview-toggle {
        background: transparent;
        border: 1px solid var(--line);
        border-radius: var(--radius);
        padding: 4px 10px;
        font-size: var(--text-sm);
        color: var(--muted);
        cursor: pointer;
        transition: all 0.2s;
      }
      .pdf-preview-toggle:hover {
        border-color: var(--primary);
        color: var(--primary);
      }
      .pdf-preview-content {
        padding: 16px;
        max-height: 600px;
        overflow-y: auto;
      }
      .pdf-preview-loading,
      .pdf-preview-error {
        text-align: center;
        padding: 40px 20px;
        color: var(--muted);
      }
      .pdf-preview-error {
        color: var(--danger);
      }
      .pdf-page-info {
        text-align: center;
        color: var(--muted);
        font-size: var(--text-sm);
        margin-bottom: 12px;
      }
      .pdf-page-wrapper {
        margin-bottom: 16px;
        text-align: center;
      }
      .pdf-page-wrapper:last-child {
        margin-bottom: 0;
      }
      .pdf-page-label {
        font-size: var(--text-sm);
        color: var(--muted);
        margin-bottom: 6px;
        font-weight: 600;
      }
      .pdf-page-canvas {
        border: 1px solid var(--line);
        border-radius: var(--radius);
        box-shadow: 0 1px 4px rgba(0,0,0,0.06);
        max-width: 100%;
        height: auto;
      }
      .page {
        padding-top: 8px;
      }
      .layout {
        margin-top: 4px;
      }
