.drive-upload-dialog{box-sizing:border-box;width:min(760px,calc(100vw - 32px));max-height:calc(100dvh - 32px);padding:24px;border:1px solid var(--appearance-line,#cbd8ec);border-radius:20px;background:var(--appearance-surface,#f7f9fd);color:var(--appearance-ink,#15243b);overflow:auto}.drive-upload-dialog::backdrop{background:rgba(15,30,50,.55)}.drive-upload-dialog h2{margin:0 0 16px}.drive-upload-dialog p{margin:12px 0;line-height:1.5}.drive-upload-dialog label{display:block;margin:20px 0 8px;font-weight:600}.drive-upload-dialog select{width:100%;box-sizing:border-box;min-height:44px}.drive-upload-list{display:flex;flex-direction:column;gap:8px;margin:16px 0}.drive-upload-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}.drive-upload-dialog button{min-height:44px;padding:10px 16px;border:1px solid var(--appearance-line,#b6c8e4);border-radius:10px;background:var(--appearance-surface,#fff);color:var(--appearance-link,#153967);text-align:left;overflow-wrap:anywhere}.drive-upload-dialog button.primary,.drive-upload-dialog button[aria-pressed=true]{background:#1859d9;color:#fff}.drive-upload-dialog button:disabled{opacity:.55}.drive-upload-dialog :focus-visible{outline:3px solid var(--appearance-focus,#7443d6);outline-offset:3px}@media(max-width:480px){.drive-upload-dialog{padding:18px}.drive-upload-actions button{flex:1 1 140px}}
.drive-upload-dialog [hidden]{display:none!important}

/* Keep imported forms consistently rounded and spacious, including native file and consent controls. */
.drive-upload-dialog[open]{display:flex;flex-direction:column;gap:16px}
.drive-upload-dialog>h2,.drive-upload-dialog>p,.drive-upload-dialog>label{margin:0}
.drive-upload-dialog label{display:flex;flex-direction:column;gap:8px;margin:0;line-height:1.5}
.drive-upload-dialog :is(select,textarea,input){box-sizing:border-box;max-width:100%;min-width:0;font:inherit;color:inherit;border:1px solid var(--appearance-line,#b6c8e4);border-radius:10px;background:var(--appearance-surface,#fff)}
.drive-upload-dialog :is(select,textarea,input:not([type=checkbox])){width:100%;min-height:44px;padding:12px}
.drive-upload-dialog textarea{min-height:112px;resize:vertical;line-height:1.5}
.drive-upload-dialog input[type=file]::file-selector-button{font:inherit;color:inherit;background:var(--appearance-surface,#fff);border:1px solid var(--appearance-line,#b6c8e4);border-radius:10px;padding:10px 14px;margin-right:12px;cursor:pointer}
/* Native square controls share the watched-folder geometry and label alignment. */
.drive-upload-dialog label:has(input[type=checkbox]){flex-direction:row;align-items:center;gap:12px;padding:12px;border:1px solid var(--appearance-line,#cbd8ec);border-radius:12px;font-weight:400}
.drive-upload-dialog input[type=checkbox]{appearance:auto;box-sizing:border-box;flex:0 0 18px;width:18px;height:18px;min-width:18px;min-height:18px;max-width:18px;max-height:18px;margin:0;padding:0;border:initial;border-radius:2px;background:initial;accent-color:var(--appearance-link,#1859d9);order:-1;cursor:pointer}
.drive-upload-dialog input:disabled{opacity:.6;cursor:default}
/* Separate file choices, mapped fields and recommendations without collapsing adjacent action spacing. */
.drive-upload-dialog>div:not(.drive-upload-actions),.drive-upload-dialog section{display:grid;gap:16px;min-width:0}
.drive-upload-dialog section{padding:16px;border:1px solid var(--appearance-line,#cbd8ec);border-radius:14px}
.drive-upload-dialog section :is(h3,h4,p){margin:0;overflow-wrap:anywhere}
.drive-upload-dialog .drive-upload-list{margin:0;gap:12px}
.drive-upload-dialog .drive-upload-actions{margin:0;gap:12px}
.drive-upload-dialog button{border-radius:10px;max-width:100%;min-width:0}
@media(max-width:480px){.drive-upload-dialog[open]{gap:14px}.drive-upload-dialog section{padding:12px}}

/* Header actions share a row, while the Opportunity introduction remains one readable text block. */
.document-import-heading-actions{display:flex;align-items:center;gap:12px;flex-shrink:0}
.document-import-control{flex:0 0 auto}
.opportunity-wizard-intro.document-import-heading{display:flex;align-items:center;justify-content:space-between;gap:24px}
.document-import-heading-copy{min-width:0;flex:1}
/* Root UI zoom can exceed viewport units. The dialog fitter supplies zoom-aware bounds. */
.drive-upload-dialog{margin:auto;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}
.drive-upload-dialog[open]> *{flex-shrink:0}
.drive-upload-dialog::-webkit-scrollbar{width:10px}
.drive-upload-dialog::-webkit-scrollbar-thumb{background:var(--appearance-line,#91a5c0);border:2px solid var(--appearance-surface,#fff);border-radius:10px}
@media(max-width:600px){.opportunity-wizard-intro.document-import-heading{gap:12px}.document-import-heading-actions{gap:8px}}

/* No empty preview frame before parsing; populated previews keep their existing presentation. */
.drive-upload-dialog .document-import-preview:empty{display:none}
.drive-upload-dialog>.document-import-close{align-self:flex-end;width:auto}

/* Optional draft details stay spacious and rounded while all submission actions remain batch-wide. */
.drive-upload-dialog .document-import-result{min-width:0;padding:16px;border:1px solid var(--appearance-line,#cbd8ec);border-radius:14px;overflow-wrap:anywhere}
.drive-upload-dialog .document-import-result>summary{cursor:pointer;font-weight:600;line-height:1.5;border-radius:8px}
.drive-upload-dialog .document-import-result[open]>:not(summary){margin-top:16px}
.drive-upload-dialog section strong{overflow-wrap:anywhere}

/* Keep in-progress announcements visible while the import dialog scrolls. No simulated percentage or timer. */
.drive-upload-dialog .document-import-status:empty{display:none}
.drive-upload-dialog .document-import-status[data-processing=true]{position:sticky;top:0;z-index:2;padding:16px;border:1px solid var(--appearance-link,#1859d9);border-radius:12px;background:var(--appearance-surface,#f7f9fd);font-weight:600;box-shadow:0 2px 8px rgba(15,30,50,.12);overflow-wrap:anywhere}

/* Import dialogs keep their existing dismissal action reachable during scrolling. */
.drive-upload-dialog.document-import-dialog>.document-import-header{position:sticky;top:0;z-index:3;display:flex;align-items:center;justify-content:space-between;gap:16px;background:var(--appearance-surface,#f7f9fd);padding:8px 0 12px;border-bottom:1px solid var(--appearance-line,#cbd8ec)}
.drive-upload-dialog.document-import-dialog>.document-import-header h2{margin:0;min-width:0;overflow-wrap:anywhere}
.drive-upload-dialog.document-import-dialog>.document-import-header button{flex:0 0 auto;margin-left:auto}
.drive-upload-dialog.document-import-dialog>.document-import-status[data-processing=true]{position:static}

/* Keep the new document type input and its action together at every width. */
.drive-upload-dialog .import-document-type-add-row{display:flex;align-items:flex-end;gap:12px;min-width:0}
.drive-upload-dialog .import-document-type-add-row>label{flex:1 1 0;min-width:0}
.drive-upload-dialog .import-document-type-add-row>button{flex:0 0 auto;width:auto;margin:0;white-space:nowrap;align-self:flex-end}
.drive-upload-dialog .import-document-type-add-row input,.drive-upload-dialog .import-document-type-add-row>button{height:48px;min-height:48px}

.drive-upload-dialog .drive-upload-list>.drive-upload-group-heading{margin:16px 0 4px;padding-top:16px;border-top:1px solid var(--appearance-line,#cbd8ec);font-size:16px}
.drive-upload-dialog .drive-upload-list>.drive-upload-group-heading:first-child{margin-top:0;padding-top:0;border-top:0}

/* Compact selector rows retain native keyboard and pressed semantics. */
.drive-upload-dialog .drive-upload-list:has(>.drive-picker-row){gap:0;border:1px solid var(--appearance-line,#cbd8ec);border-radius:4px;padding:8px}
.drive-upload-dialog .drive-upload-list>.drive-picker-row{display:flex;align-items:center;gap:10px;width:100%;min-height:40px;padding:8px 10px;border:0;border-radius:0;background:transparent;box-shadow:none;color:var(--appearance-ink,#15243b);font-size:14px;text-align:left}
.drive-upload-dialog .drive-picker-row:not(:disabled):hover,.drive-upload-dialog .drive-picker-row[aria-pressed=true]{background:var(--appearance-blue-soft,#edf2fa);color:var(--appearance-ink,#15243b)}
.drive-upload-dialog .drive-picker-row:focus-visible{outline:2px solid var(--appearance-focus,#7443d6);outline-offset:-2px}
.drive-picker-row-icon{display:flex;flex:0 0 20px;width:20px;height:20px;color:var(--appearance-link,#1859d9)}
.drive-picker-row-icon svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.drive-picker-row-name{flex:1;min-width:0;overflow-wrap:anywhere}
.drive-picker-row-kind{font-size:12px;color:var(--appearance-muted,#52657f)}
.drive-picker-row-selection{flex:0 0 16px;width:16px;height:16px;box-sizing:border-box;border:1.5px solid currentColor;border-radius:50%;display:grid;place-items:center}
.drive-picker-row.is-multiple .drive-picker-row-selection{border-radius:2px}
.drive-picker-row[aria-pressed=true] .drive-picker-row-selection::after{content:'';width:8px;height:8px;border-radius:50%;background:currentColor}
.drive-picker-row.is-multiple[aria-pressed=true] .drive-picker-row-selection::after{content:'✓';width:auto;height:auto;border-radius:0;background:none;font-weight:700;font-size:12px}
.drive-picker-row-chevron{flex:0 0 16px;text-align:center;font-size:20px}
@media(max-width:480px){.drive-upload-dialog .drive-upload-list>.drive-picker-row{display:grid;grid-template-columns:20px minmax(0,1fr) 16px;gap:4px 8px;padding:8px}.drive-picker-row-icon{grid-column:1;grid-row:1 / span 2}.drive-picker-row-name{grid-column:2;grid-row:1}.drive-picker-row-kind{grid-column:2;grid-row:2;max-width:none}.drive-picker-row-selection,.drive-picker-row-chevron{grid-column:3;grid-row:1 / span 2}}

/* Actions fit their labels; selectable file rows keep their panel width. */
.drive-upload-dialog button:not(.drive-picker-row){width:fit-content;max-width:100%;justify-self:start;flex:0 0 auto}
.drive-upload-dialog .document-import-selected-file{margin:0;overflow-wrap:anywhere}
.drive-upload-dialog .document-import-selected-file:empty{display:none}

.drive-upload-dialog>button{align-self:flex-start}
