/* Visible file, scanner and composer actions rendered by IGenerator.
   This base component loads before AJAX views to prevent layout shifts. */

.dd-scanner-controls {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 6px;
    margin-bottom: 10px;
}

.dd-document-source-group {
    padding: 6px;
    background: var(--surface-2, #f8fafc);
    border: 1px solid var(--border, #dde3ea);
    border-radius: var(--radius-md, 8px);
}

.dd-document-source-lead {
    padding: 0 8px 0 4px;
    color: var(--text-muted, #64748b);
    font-size: 0.78rem;
    font-weight: 600;
    line-height: 32px;
    white-space: nowrap;
}

.dd-document-source-action,
.dd-scanner-trigger-btn {
    min-height: 32px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 6px 12px;
    color: var(--text);
    background: var(--surface-1, #fff);
    border: 1px solid var(--border, #d7dee8);
    border-radius: var(--radius-sm, 6px);
    cursor: pointer;
    font-family: inherit;
    font-size: 0.82rem;
    font-weight: 600;
    line-height: 1.1;
    text-decoration: none;
    transition: background 0.15s, border-color 0.15s, color 0.15s, box-shadow 0.15s;
    white-space: nowrap;
}

.dd-document-source-action:hover,
.dd-document-source-action:focus,
.dd-scanner-trigger-btn:hover,
.dd-scanner-trigger-btn:focus {
    color: var(--primary);
    background: rgba(13, 110, 253, 0.08);
    border-color: var(--primary);
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.08);
    outline: none;
}

.dd-document-source-action--scan,
.dd-scanner-trigger-btn {
    color: var(--primary);
}

.dd-document-source-action--redacta {
    color: var(--info, #0f766e);
}

.dd-document-source-action--existing {
    color: var(--primary, #2563eb);
}

.ms-existing-overlay {
    position: fixed; inset: 0 0 47.5px; z-index: 2050; display: flex; align-items: center; justify-content: center;
    padding: 20px; background: rgba(15, 23, 42, .58);
}
.ms-existing-dialog {
    width: min(760px, 100%); max-height: min(80vh, 760px); overflow: hidden; display: flex; flex-direction: column;
    padding: 22px; border: 1px solid var(--border, #d7dee8); border-radius: 14px;
    color: var(--text); background: var(--surface-1, #fff); box-shadow: 0 24px 72px rgba(0,0,0,.28);
}
.ms-existing-dialog h2 { margin: 0 0 6px; font-size: 1.15rem; }
.ms-existing-dialog > p { margin: 0 0 14px; color: var(--text-muted, #64748b); }
.ms-existing-list { overflow: auto; display: grid; gap: 8px; padding: 2px; }
.ms-existing-row { display: flex; gap: 10px; align-items: flex-start; padding: 10px 12px; border: 1px solid var(--border, #d7dee8); border-radius: 8px; cursor: pointer; }
.ms-existing-row:hover { border-color: var(--primary, #2563eb); background: color-mix(in srgb, var(--primary, #2563eb) 5%, transparent); }
.ms-existing-row input { margin-top: 4px; }
.ms-existing-row__info { min-width: 0; display: grid; gap: 3px; }
.ms-existing-row__info strong { overflow-wrap: anywhere; }
.ms-existing-row__info small { color: var(--text-muted, #64748b); }
.ms-existing-row__description { overflow-wrap: anywhere; }
.ms-existing-actions { display: flex; justify-content: flex-end; gap: 8px; padding-top: 14px; }
.ms-existing-selected { display: grid; gap: 6px; margin-top: 10px; padding: 10px; border: 1px solid var(--border, #d7dee8); border-radius: 8px; }
.ms-existing-selected__item { font-size: .86rem; color: var(--text-muted, #64748b); }

.dd-document-source-action[disabled],
.dd-document-source-action[aria-disabled="true"] {
    cursor: not-allowed;
    opacity: 0.55;
    box-shadow: none;
}

.dd-document-source-action svg,
.dd-scanner-trigger-btn svg {
    width: 15px;
    height: 15px;
    flex-shrink: 0;
}

.dd-document-source-file-input {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

.dd-scanner-field-wrapper .file-input-container {
    position: relative;
}

@media (max-width: 640px) {
    .dd-document-source-group {
        align-items: stretch;
    }

    .dd-document-source-lead {
        flex: 0 0 100%;
        line-height: 1.2;
        padding: 2px 4px;
    }

    .dd-document-source-action,
    .dd-scanner-trigger-btn {
        flex: 1 1 130px;
    }

    .ms-existing-dialog { padding: 16px; }
}

html[data-theme='dark'] .dd-document-source-group {
    background: var(--surface-2, #111827);
    border-color: var(--border, #334155);
}

html[data-theme='dark'] .dd-document-source-action,
html[data-theme='dark'] .dd-scanner-trigger-btn {
    background: var(--surface-1, #1f2937);
    border-color: var(--border, #334155);
    color: var(--text);
}

html[data-theme='dark'] .dd-document-source-action:hover,
html[data-theme='dark'] .dd-document-source-action:focus,
html[data-theme='dark'] .dd-scanner-trigger-btn:hover,
html[data-theme='dark'] .dd-scanner-trigger-btn:focus {
    color: var(--primary);
    background: rgba(59, 130, 246, 0.12);
    border-color: var(--primary);
}
