.adc-shortcode,
.adc-shortcode.apui-shortcode,
.adc-shortcode.aplc-ui-shortcode {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    margin-top: var(--adc-shortcode-spacing-y, var(--apui-shortcode-margin-y, var(--apui-section-gap, 24px)));
    margin-bottom: var(--adc-shortcode-spacing-y, var(--apui-shortcode-margin-y, var(--apui-section-gap, 24px)));
}

.adc-shortcode .apui-shortcode__body,
.adc-shortcode .aplc-ui-shortcode__body {
    display: grid;
    gap: var(--apui-section-gap, var(--apui-spacing-lg, 20px));
}

.adc-group-description {
    color: var(--apui-text, inherit);
}

.adc-group-inline-header {
    display: grid;
    gap: var(--apui-spacing-sm, 10px);
    width: 100%;
}

.adc-group-inline-title {
    margin: 0;
    color: var(--apui-shortcode-title, var(--apui-heading, inherit));
    font-size: var(--apui-shortcode-title-size, 1.35rem);
    font-weight: var(--apui-shortcode-title-weight, 700);
    line-height: 1.25;
}

.adc-group-inline-header .adc-group-description {
    margin-top: 0;
}

.adc-documents-list {
    display: grid;
    gap: var(--apui-spacing-md, 16px);
    width: 100%;
}

.adc-document-card {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: var(--apui-spacing-md, 16px);
    align-items: center;
    background: var(--apui-panel-bg, transparent);
    border: 1px solid var(--apui-border-color, #d0d5dd);
    border-radius: var(--apui-radius-md, 12px);
    padding: var(--apui-spacing-md, 16px);
    box-shadow: none;
}

.adc-document-title {
    margin: 0 0 6px;
    font-size: 1.05rem;
}

.adc-document-title a {
    color: var(--apui-link-color, inherit);
    text-decoration: none;
}

.adc-document-title a:hover {
    text-decoration: underline;
}

.adc-document-meta {
    font-size: .92rem;
    color: var(--apui-muted, #667085);
    margin-bottom: 8px;
}

.adc-document-description {
    color: var(--apui-text, inherit);
}

.adc-document-description p:last-child,
.adc-group-description p:last-child {
    margin-bottom: 0;
}

.adc-admin-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 10px;
}

.adc-pill {
    display: inline-flex;
    align-items: center;
    border-radius: 999px;
    padding: 4px 8px;
    font-size: .8rem;
    background: var(--apui-warning-bg, #fffaeb);
    color: var(--apui-warning-text, #93370d);
}

.adc-document-banner {
    display: block;
    margin-top: var(--adc-shortcode-spacing-y, var(--apui-shortcode-margin-y, var(--apui-section-gap, 24px)));
    margin-bottom: var(--adc-shortcode-spacing-y, var(--apui-shortcode-margin-y, var(--apui-section-gap, 24px)));
    width: 100%;
    overflow: hidden;
    border-radius: var(--apui-radius-lg, 16px);
    border: 1px solid var(--apui-border-color, rgba(0, 0, 0, .08));
    background: var(--apui-panel-bg, #f9fafb);
    text-decoration: none;
    box-shadow: var(--apui-card-shadow, 0 1px 2px rgba(16, 24, 40, .06));
    transition: transform .18s ease, box-shadow .18s ease;
}

.adc-document-banner:hover {
    transform: translateY(-1px);
    box-shadow: var(--apui-card-hover-shadow, 0 8px 24px rgba(16, 24, 40, .12));
}

.adc-document-banner--horizontal {
    aspect-ratio: 16 / 5;
}

.adc-document-banner--vertical {
    aspect-ratio: 4 / 5;
    max-width: 420px;
}

.adc-banner-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.adc-banner-fallback {
    width: 100%;
    height: 100%;
    min-height: 180px;
    display: grid;
    place-items: center;
    gap: 10px;
    padding: 24px;
    text-align: center;
    color: var(--apui-heading, #101828);
    background: linear-gradient(135deg, var(--apui-panel-bg, #f9fafb), var(--apui-shortcode-bg, #fff));
}

.adc-banner-fallback svg {
    color: var(--apui-shortcode-icon-color, currentColor);
    width: 42px;
    height: 42px;
}

.adc-message {
    padding: var(--apui-shortcode-padding, 20px);
}

@media (max-width: 700px) {
    .adc-document-card {
        grid-template-columns: 1fr;
    }

    .adc-document-action .apui-button,
    .adc-document-action .aplc-ui-button {
        width: 100%;
        justify-content: center;
    }

    .adc-document-banner--horizontal {
        aspect-ratio: 16 / 8;
    }
}

.adc-document-action {
    display: flex;
    flex-wrap: wrap;
    gap: var(--apui-action-button-gap, 10px);
    justify-content: flex-end;
}

.adc-open-document-modal {
    cursor: pointer;
}

.adc-modal-open {
    overflow: hidden;
}

.adc-document-modal {
    position: fixed;
    inset: 0;
    z-index: 999999;
    display: none;
    align-items: center;
    justify-content: center;
    padding: clamp(12px, 2vw, 28px);
}

.adc-document-modal.is-open {
    display: flex;
}

.adc-document-modal__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, .64);
}

.adc-document-modal__panel {
    position: relative;
    z-index: 1;
    width: min(1180px, 96vw);
    height: min(860px, 92vh);
    display: grid;
    grid-template-rows: auto 1fr;
    background: var(--apui-shortcode-bg, #fff);
    color: var(--apui-shortcode-text, inherit);
    border: var(--apui-shortcode-border-width, 1px) solid var(--apui-shortcode-border-color, rgba(255, 255, 255, .25));
    border-radius: var(--apui-shortcode-radius, 16px);
    box-shadow: var(--apui-modal-shadow, 0 24px 70px rgba(0, 0, 0, .35));
    overflow: hidden;
}

.adc-document-modal__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--apui-shortcode-header-gap, 14px);
    padding: 14px 18px;
    border-bottom: var(--apui-shortcode-header-border-width, 1px) solid var(--apui-shortcode-header-border-color, var(--apui-border-color, #d0d5dd));
}

.adc-document-modal__title {
    margin: 0;
    font-size: var(--apui-shortcode-title-size, 1.1rem);
    font-weight: var(--apui-shortcode-title-weight, 700);
    color: var(--apui-shortcode-title, var(--apui-heading, inherit));
}

.adc-document-modal__close {
    width: 38px;
    height: 38px;
    border-radius: 999px;
    border: 1px solid var(--apui-border-color, #d0d5dd);
    background: var(--apui-panel-bg, #f9fafb);
    color: var(--apui-text, inherit);
    cursor: pointer;
    font-size: 24px;
    line-height: 1;
}

.adc-document-modal__body,
.adc-document-modal__frame {
    width: 100%;
    height: 100%;
}

.adc-document-modal__frame {
    display: block;
    border: 0;
    background: #fff;
}

@media (max-width: 700px) {
    .adc-document-action {
        justify-content: stretch;
    }

    .adc-document-action .apui-button,
    .adc-document-action .aplc-ui-button {
        width: 100%;
        justify-content: center;
    }

    .adc-document-modal {
        padding: 0;
    }

    .adc-document-modal__panel {
        width: 100%;
        height: 100dvh;
        border-radius: 0;
    }
}

.adc-document-group-shortcode,
.adc-document-group-shortcode.apui-shortcode,
.adc-document-group-shortcode.aplc-ui-shortcode {
    width: 100%;
    max-width: 100%;
}

.adc-documents-button-wrap {
    width: 100%;
    margin-top: var(--adc-shortcode-spacing-y, var(--apui-shortcode-margin-y, var(--apui-section-gap, 24px)));
    margin-bottom: var(--adc-shortcode-spacing-y, var(--apui-shortcode-margin-y, var(--apui-section-gap, 24px)));
    display: flex;
    justify-content: flex-start;
}

.adc-documents-index-button {
    display: inline-flex;
    align-items: center;
    gap: var(--apui-action-button-gap, 10px);
    text-decoration: none;
}

.adc-documents-index-button svg {
    width: var(--apui-action-button-icon-size, 18px);
    height: var(--apui-action-button-icon-size, 18px);
    color: currentColor;
}

.adc-documents-index-list {
    display: grid;
    gap: var(--apui-spacing-lg, 22px);
    width: 100%;
}

.adc-index-group-card {
    display: grid;
    gap: var(--apui-spacing-md, 16px);
    width: 100%;
    background: var(--apui-panel-bg, transparent);
    border: 1px solid var(--apui-border-color, #d0d5dd);
    border-radius: var(--apui-radius-md, 12px);
    padding: var(--apui-spacing-md, 16px);
    box-shadow: none;
}

.adc-index-group-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: var(--apui-spacing-md, 16px);
}

.adc-index-group-title-wrap {
    min-width: 0;
}

.adc-index-group-title {
    margin: 0 0 8px;
    color: var(--apui-heading, inherit);
    font-size: 1.15rem;
    font-weight: 700;
    line-height: 1.25;
}

.adc-index-group-description {
    color: var(--apui-text, inherit);
}

.adc-index-group-description p:last-child {
    margin-bottom: 0;
}

.adc-documents-list--compact .adc-document-card {
    background: var(--apui-shortcode-bg, #fff);
}

@media (max-width: 700px) {
    .adc-documents-button-wrap,
    .adc-index-group-head {
        display: grid;
        justify-content: stretch;
    }

    .adc-documents-index-button,
    .adc-index-group-link {
        width: 100%;
        justify-content: center;
    }
}

.adc-index-filters {
    display: grid;
    grid-template-columns: minmax(220px, 1.6fr) minmax(150px, 0.8fr) minmax(150px, 0.8fr) auto;
    gap: var(--apui-spacing-md, 16px);
    align-items: end;
    width: 100%;
    margin: 0 0 var(--apui-spacing-lg, 22px);
    padding: var(--apui-spacing-md, 16px);
    background: var(--apui-panel-bg, transparent);
    border: 1px solid var(--apui-border-color, #d0d5dd);
    border-radius: var(--apui-radius-md, 12px);
    box-sizing: border-box;
    box-shadow: none;
}

.adc-index-filter-field {
    display: grid;
    gap: 6px;
    min-width: 0;
}

.adc-index-filter-field label {
    font-size: 0.9rem;
    font-weight: 700;
    color: var(--apui-label-color, var(--apui-text, inherit));
}

.adc-index-filter-field input {
    display: block;
    position: static;
    visibility: visible;
    opacity: 1;
    appearance: auto;
    width: 100%;
    max-width: 100%;
    min-height: var(--apui-field-height, 42px);
    padding: var(--apui-field-padding-y, 9px) var(--apui-field-padding-x, 12px);
    color: var(--apui-field-text, inherit);
    background: var(--apui-field-bg, #fff);
    border: var(--apui-field-border-width, 1px) solid var(--apui-field-border-color, var(--apui-border-color, #d0d5dd));
    border-radius: var(--apui-field-radius, 8px);
    box-sizing: border-box;
}

.adc-index-filter-actions {
    display: flex;
    flex-wrap: wrap;
    gap: var(--apui-action-button-gap, 10px);
    align-items: center;
    justify-content: flex-start;
}

.adc-index-group-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 12px;
    color: var(--apui-muted, #667085);
    font-size: 0.95rem;
}

.adc-index-group-meta-item {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.adc-index-group-date::before,
.adc-index-group-count::before {
    content: '';
    display: inline-block;
    width: 0.42em;
    height: 0.42em;
    border-radius: 999px;
    background: currentColor;
    opacity: 0.55;
}

@media (max-width: 900px) {
    .adc-index-filters {
        grid-template-columns: 1fr 1fr;
    }

    .adc-index-filter-field--text,
    .adc-index-filter-actions {
        grid-column: 1 / -1;
    }
}

@media (max-width: 640px) {
    .adc-index-filters {
        grid-template-columns: 1fr;
    }

    .adc-index-filter-actions .apui-button,
    .adc-index-filter-actions .aplc-ui-button {
        width: 100%;
        justify-content: center;
    }
}


.adc-create-help {
    display: grid;
    gap: var(--apui-spacing-sm, 10px);
    margin-bottom: var(--apui-section-gap, 24px);
}

.adc-create-help__title {
    margin: 0;
}

.adc-create-help__steps,
.adc-create-help__note {
    margin-top: 0;
    margin-bottom: 0;
}

/* Frontend creation form */
.adc-documents-create-form-shortcode .adc-frontend-create-form {
    display: grid;
    gap: var(--apui-section-gap, 20px);
    width: var(--apui-form-width, var(--apui-shortcode-form-width, 100%));
    max-width: var(--apui-form-max-width, var(--apui-shortcode-form-max-width, var(--apui-content-max-width, var(--apui-shortcode-max-width, 100%))));
    inline-size: var(--apui-form-width, var(--apui-shortcode-form-width, 100%));
    max-inline-size: var(--apui-form-max-width, var(--apui-shortcode-form-max-width, var(--apui-content-max-width, var(--apui-shortcode-max-width, 100%))));
    margin-inline: var(--apui-form-margin-inline, auto);
    box-sizing: border-box;
}

.adc-documents-create-form-shortcode .adc-frontend-form-section {
    display: grid;
    gap: var(--apui-gap-md, 14px);
}

.adc-documents-create-form-shortcode .adc-frontend-form-section h3 {
    margin: 0;
    color: var(--apui-heading, var(--apui-text, inherit));
    font-size: var(--apui-h3-size, 1.05rem);
    font-weight: var(--apui-heading-weight, 700);
}

.adc-documents-create-form-shortcode .adc-frontend-form-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--apui-gap-md, 14px);
}

.adc-documents-create-form-shortcode .adc-field-full {
    grid-column: 1 / -1;
}

.adc-documents-create-form-shortcode .adc-frontend-form-actions {
    display: flex;
    flex-wrap: wrap;
    gap: var(--apui-actions-gap, 10px);
    align-items: center;
}

.adc-documents-create-form-shortcode .adc-form-message {
    padding: var(--apui-notice-padding, 12px 14px);
    border-radius: var(--apui-radius-md, 12px);
    border: 1px solid var(--apui-border, #d9e2f1);
}

.adc-documents-create-form-shortcode .adc-form-message--success {
    background: var(--apui-success-bg, #ecfdf3);
    color: var(--apui-success, #027a48);
}

.adc-documents-create-form-shortcode .adc-form-message--warning {
    background: var(--apui-warning-bg, #fffaeb);
    color: var(--apui-warning, #b54708);
}

.adc-documents-create-form-shortcode .adc-form-message--error {
    background: var(--apui-danger-bg, #fef3f2);
    color: var(--apui-danger, #b42318);
}

@media (max-width: 980px) {
    .adc-documents-create-form-shortcode .adc-frontend-form-grid {
        grid-template-columns: 1fr;
    }
}

.adc-shortcode .adc-form-message {
    padding: var(--apui-notice-padding, 12px 14px);
    border-radius: var(--apui-radius-md, 12px);
    border: 1px solid var(--apui-border, #d9e2f1);
}

.adc-shortcode .adc-form-message--success {
    background: var(--apui-success-bg, #ecfdf3);
    color: var(--apui-success, #027a48);
}

.adc-shortcode .adc-form-message--warning {
    background: var(--apui-warning-bg, #fffaeb);
    color: var(--apui-warning, #b54708);
}

.adc-shortcode .adc-form-message--error {
    background: var(--apui-danger-bg, #fef3f2);
    color: var(--apui-danger, #b42318);
}


/* -------------------------------------------------------------------------
 * 0.2.16 — Allineamento frontend ai token Mother/AP.
 * ---------------------------------------------------------------------- */
.adc-shortcode,
.adc-shortcode-shell,
.adc-document-banner,
.adc-document-modal {
    color: var(--apui-text, var(--plugin-text, #1f2937));
    font-family: var(--apui-font, var(--plugin-font, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif));
}

.adc-document-card,
.adc-index-group-card,
.adc-index-filters,
.adc-documents-create-form-shortcode .adc-frontend-form-section {
    background: var(--apui-card-bg, var(--apui-surface, var(--plugin-surface, #fff)));
    color: var(--apui-card-text, var(--apui-text, var(--plugin-text, #1f2937)));
    border: var(--apui-card-border-width, 1px) solid var(--apui-card-border-color, var(--apui-border, var(--plugin-border, #d9e2f1)));
    border-radius: var(--apui-card-radius, var(--apui-radius-lg, var(--plugin-radius-lg, 18px)));
    box-shadow: var(--apui-card-shadow, var(--apui-shadow-soft, var(--plugin-shadow-soft, 0 8px 26px rgba(16, 24, 40, .06))));
    padding: var(--apui-card-padding, var(--apui-spacing-md, 16px));
}

.adc-document-card:hover,
.adc-index-group-card:hover {
    border-color: var(--apui-card-hover-border-color, var(--apui-primary, var(--plugin-blue-700, #174ea6)));
    box-shadow: var(--apui-card-hover-shadow, var(--apui-shadow, var(--plugin-shadow, 0 18px 42px rgba(16, 24, 40, .08))));
}

.adc-index-group-card--logged-in {
    background: var(--apui-reserved-bg, var(--apui-info-bg, var(--plugin-info-bg, #eff6ff)));
    border-color: var(--apui-reserved-border-color, var(--apui-info, var(--plugin-info, #2563eb)));
    box-shadow: var(--apui-reserved-shadow, var(--apui-card-shadow, var(--apui-shadow-soft, 0 8px 26px rgba(16, 24, 40, .06))));
}

.adc-index-group-card--logged-in:hover {
    border-color: var(--apui-reserved-hover-border-color, var(--apui-primary-hover, var(--plugin-blue-800, #123f88)));
}

.adc-index-group-title-row {
    display: flex;
    flex-wrap: wrap;
    gap: var(--apui-spacing-xs, 8px);
    align-items: center;
    min-width: 0;
}

.adc-index-group-title-row .adc-index-group-title {
    margin-bottom: 0;
}

.adc-index-group-access-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    width: fit-content;
    max-width: 100%;
    padding: var(--apui-pill-padding-y, 4px) var(--apui-pill-padding-x, 9px);
    color: var(--apui-reserved-badge-text, var(--apui-info, var(--plugin-info, #175cd3)));
    background: var(--apui-reserved-badge-bg, var(--apui-info-bg, #eff6ff));
    border: 1px solid var(--apui-reserved-badge-border, color-mix(in srgb, var(--apui-info, #2563eb) 28%, transparent));
    border-radius: var(--apui-pill-radius, 999px);
    font-family: var(--apui-font, var(--plugin-font, inherit));
    font-size: var(--apui-pill-font-size, var(--apui-font-size-xs, .78rem));
    font-weight: var(--apui-pill-font-weight, 700);
    line-height: 1.2;
    white-space: nowrap;
}

.adc-index-group-access-badge::before,
.adc-index-group-access::before {
    content: "🔒";
    display: inline-block;
    font-size: .95em;
    line-height: 1;
    opacity: .9;
}

.adc-index-group-access {
    color: var(--apui-reserved-meta-text, var(--apui-info, var(--plugin-info, #175cd3)));
    font-weight: 600;
}

.adc-index-group-date::before,
.adc-index-group-count::before {
    background: var(--apui-muted, currentColor);
}

.adc-document-title,
.adc-index-group-title,
.adc-group-inline-title,
.adc-documents-create-form-shortcode .adc-frontend-form-section h3 {
    color: var(--apui-heading, var(--plugin-heading, var(--apui-text, #1f2937)));
    font-family: var(--apui-font, var(--plugin-font, inherit));
}

.adc-document-meta,
.adc-index-group-meta,
.adc-index-group-meta-item {
    color: var(--apui-muted, var(--plugin-muted, #64748b));
}

.adc-pill {
    color: var(--apui-warning, var(--plugin-warning, #b54708));
    background: var(--apui-warning-bg, var(--plugin-warning-bg, #fffaeb));
    border: 1px solid var(--apui-warning-border, color-mix(in srgb, var(--apui-warning, #b54708) 22%, transparent));
    border-radius: var(--apui-pill-radius, 999px);
    font-family: var(--apui-font, var(--plugin-font, inherit));
}

.adc-message {
    background: var(--apui-card-bg, var(--apui-surface, var(--plugin-surface, #fff)));
    color: var(--apui-text, var(--plugin-text, #1f2937));
    border: 1px solid var(--apui-card-border-color, var(--apui-border, var(--plugin-border, #d9e2f1)));
    border-radius: var(--apui-card-radius, var(--apui-radius-lg, 18px));
}

.adc-message--locked {
    background: var(--apui-warning-bg, var(--plugin-warning-bg, #fffaeb));
    color: var(--apui-warning, var(--plugin-warning, #b54708));
    border-color: var(--apui-warning-border, color-mix(in srgb, var(--apui-warning, #b54708) 24%, transparent));
}

.adc-message--error {
    background: var(--apui-danger-bg, var(--plugin-danger-bg, #fef3f2));
    color: var(--apui-danger, var(--plugin-danger, #b42318));
    border-color: var(--apui-danger-border, color-mix(in srgb, var(--apui-danger, #b42318) 24%, transparent));
}

.adc-document-banner {
    background: var(--apui-card-bg, var(--apui-surface, var(--plugin-surface, #fff)));
    border-color: var(--apui-card-border-color, var(--apui-border, var(--plugin-border, #d9e2f1)));
    border-radius: var(--apui-card-radius, var(--apui-radius-lg, 18px));
}

.adc-banner-fallback {
    color: var(--apui-heading, var(--plugin-heading, #1f2937));
    background: linear-gradient(
        135deg,
        var(--apui-soft, var(--plugin-soft, #f7f9fc)),
        var(--apui-surface, var(--plugin-surface, #fff))
    );
}

.adc-document-modal__backdrop {
    background: var(--apui-modal-overlay-bg, rgba(15, 23, 42, .68));
}

.adc-document-modal__panel {
    background: var(--apui-modal-bg, var(--apui-surface, var(--plugin-surface, #fff)));
    color: var(--apui-modal-text, var(--apui-text, var(--plugin-text, #1f2937)));
    border: var(--apui-modal-border-width, 1px) solid var(--apui-modal-border-color, var(--apui-border, rgba(255, 255, 255, .25)));
    border-radius: var(--apui-modal-radius, var(--apui-radius-xl, 22px));
    box-shadow: var(--apui-modal-shadow, var(--apui-shadow, 0 24px 70px rgba(0, 0, 0, .35)));
}

.adc-document-modal__header {
    background: var(--apui-modal-header-bg, transparent);
    color: var(--apui-modal-header-text, var(--apui-heading, var(--plugin-heading, #1f2937)));
    border-bottom: var(--apui-modal-header-border-width, 1px) solid var(--apui-modal-header-border-color, var(--apui-border, #d9e2f1));
    padding: var(--apui-modal-header-padding-y, 14px) var(--apui-modal-header-padding-x, 18px);
}

.adc-document-modal__title {
    color: var(--apui-modal-header-title, var(--apui-heading, var(--plugin-heading, #1f2937)));
    font-size: var(--apui-modal-header-title-size, var(--apui-shortcode-title-size, 1.1rem));
    font-weight: var(--apui-modal-header-title-weight, var(--apui-shortcode-title-weight, 700));
    line-height: var(--apui-modal-header-title-line-height, 1.2);
}

.adc-document-modal__close {
    width: var(--apui-modal-close-size, 38px);
    height: var(--apui-modal-close-size, 38px);
    color: var(--apui-modal-close-color, var(--apui-text, #1f2937));
    background: var(--apui-modal-close-bg, var(--apui-soft, #f7f9fc));
    border: var(--apui-modal-close-border-width, 1px) solid var(--apui-modal-close-border-color, var(--apui-border, #d9e2f1));
    border-radius: var(--apui-modal-close-radius, 999px);
    font-size: var(--apui-modal-close-font-size, 24px);
    font-weight: var(--apui-modal-close-font-weight, 400);
}

.adc-document-modal__close:hover,
.adc-document-modal__close:focus {
    color: var(--apui-modal-close-hover-color, var(--apui-primary, #174ea6));
    background: var(--apui-modal-close-hover-bg, var(--apui-soft-2, #eef4ff));
    border-color: var(--apui-modal-close-hover-border-color, var(--apui-primary, #174ea6));
    outline: none;
    box-shadow: var(--apui-focus-ring, 0 0 0 3px rgba(23, 78, 166, .16));
}

.adc-shortcode input[type="text"],
.adc-shortcode input[type="email"],
.adc-shortcode input[type="tel"],
.adc-shortcode input[type="url"],
.adc-shortcode input[type="number"],
.adc-shortcode input[type="date"],
.adc-shortcode input[type="search"],
.adc-shortcode input[type="password"],
.adc-shortcode input[type="file"],
.adc-shortcode textarea,
.adc-shortcode select,
.adc-index-filter-field input {
    accent-color: var(--apui-primary, var(--plugin-blue-700, #174ea6));
}

@media (max-width: 700px) {
    .adc-index-group-title-row {
        align-items: flex-start;
    }

    .adc-index-group-access-badge {
        white-space: normal;
    }
}


/* Mother-controlled frontend form width */
.adc-documents-create-form-shortcode,
.adc-documents-create-form-shortcode .apui-shortcode__body,
.adc-documents-create-form-shortcode .aplc-ui-shortcode__body {
    max-width: var(--apui-shortcode-max-width, var(--apui-content-max-width, 100%));
    max-inline-size: var(--apui-shortcode-max-width, var(--apui-content-max-width, 100%));
    margin-inline: var(--apui-shortcode-margin-inline, auto);
}

.adc-documents-create-form-shortcode .adc-frontend-form-section {
    width: var(--apui-form-section-width, 100%);
    max-width: var(--apui-form-section-max-width, var(--apui-form-max-width, 100%));
    inline-size: var(--apui-form-section-width, 100%);
    max-inline-size: var(--apui-form-section-max-width, var(--apui-form-max-width, 100%));
    margin-inline: var(--apui-form-section-margin-inline, 0);
}

.adc-documents-create-form-shortcode .adc-frontend-form-grid {
    width: var(--apui-form-grid-width, 100%);
    max-width: var(--apui-form-grid-max-width, 100%);
    inline-size: var(--apui-form-grid-width, 100%);
    max-inline-size: var(--apui-form-grid-max-width, 100%);
}

.adc-documents-create-form-shortcode .aplc-ui-field,
.adc-documents-create-form-shortcode .apui-field,
.adc-documents-create-form-shortcode .adc-frontend-field {
    min-width: 0;
    max-width: var(--apui-field-wrapper-max-width, 100%);
    max-inline-size: var(--apui-field-wrapper-max-width, 100%);
}

.adc-documents-create-form-shortcode input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]),
.adc-documents-create-form-shortcode textarea,
.adc-documents-create-form-shortcode select {
    width: var(--apui-field-width, var(--apui-input-width, 100%));
    max-width: var(--apui-field-max-width, var(--apui-input-max-width, 100%));
    inline-size: var(--apui-field-width, var(--apui-input-width, 100%));
    max-inline-size: var(--apui-field-max-width, var(--apui-input-max-width, 100%));
}


/* -------------------------------------------------------------------------
 * 0.2.19 — Form frontend: rispetto contenitore padre e token Mother.
 * Non usare misure viewport/full-bleed; gli elementi restano entro lo shortcode.
 * ---------------------------------------------------------------------- */
.adc-documents-create-form-shortcode,
.adc-documents-create-form-shortcode.apui-shortcode,
.adc-documents-create-form-shortcode.aplc-ui-shortcode {
	box-sizing: border-box;
	width: auto;
	inline-size: auto;
	max-width: 100%;
	max-inline-size: 100%;
	margin-inline: 0;
	overflow-x: clip;
}

.adc-documents-create-form-shortcode .apui-shortcode__body,
.adc-documents-create-form-shortcode .aplc-ui-shortcode__body {
	box-sizing: border-box;
	width: 100%;
	inline-size: 100%;
	max-width: 100%;
	max-inline-size: 100%;
	margin-inline: 0;
}

.adc-documents-create-form-shortcode .adc-frontend-create-form {
	box-sizing: border-box;
	width: var(--apui-form-width, var(--apui-shortcode-form-width, 100%));
	inline-size: var(--apui-form-width, var(--apui-shortcode-form-width, 100%));
	max-width: min(100%, var(--apui-form-max-width, var(--apui-shortcode-form-max-width, 100%)));
	max-inline-size: min(100%, var(--apui-form-max-width, var(--apui-shortcode-form-max-width, 100%)));
	margin-inline: var(--apui-form-margin-inline, 0);
}

/* Le sezioni del form non devono sembrare card annidate dentro lo shortcode. */
.adc-documents-create-form-shortcode .adc-frontend-form-section {
	background: var(--apui-form-section-bg, transparent);
	border: var(--apui-form-section-border-width, 0) solid var(--apui-form-section-border-color, transparent);
	border-radius: var(--apui-form-section-radius, 0);
	box-shadow: var(--apui-form-section-shadow, none);
	padding: var(--apui-form-section-padding, 0);
	margin: var(--apui-form-section-margin, 0 0 var(--apui-section-gap, var(--apui-spacing-lg, 24px)));
	width: 100%;
	inline-size: 100%;
	max-width: 100%;
	max-inline-size: 100%;
}

.adc-documents-create-form-shortcode .adc-frontend-form-section h3 {
	margin: var(--apui-form-section-title-margin, 0 0 var(--apui-spacing-md, 16px));
	padding: var(--apui-form-section-title-padding, 0);
	color: var(--apui-form-section-title-color, var(--apui-heading, var(--plugin-heading, #1f2937)));
	font-size: var(--apui-form-section-title-size, var(--apui-font-size-lg, 1.125rem));
	font-weight: var(--apui-form-section-title-weight, 700);
}

.adc-documents-create-form-shortcode .adc-frontend-form-grid {
	width: 100%;
	inline-size: 100%;
	max-width: 100%;
	max-inline-size: 100%;
}

/* Pulsanti frontend: nessuna larghezza rigida, colori e misure dai token Mother/AP. */
.adc-shortcode button,
.adc-shortcode .button,
.adc-shortcode input[type="submit"],
.adc-shortcode input[type="button"],
.adc-shortcode .apui-button,
.adc-shortcode .aplc-ui-button,
.adc-documents-button-wrap .adc-documents-index-button,
.adc-index-group-link,
.adc-open-document-modal,
.adc-document-action .apui-button,
.adc-document-action .aplc-ui-button {
	width: var(--apui-button-width, auto);
	inline-size: var(--apui-button-width, auto);
	max-width: 100%;
	max-inline-size: 100%;
	min-width: var(--apui-button-min-width, 0);
	background: var(--apui-button-bg, var(--apui-primary, var(--plugin-blue-700, #174ea6)));
	color: var(--apui-button-text, #fff);
	border-color: var(--apui-button-border, var(--apui-primary, var(--plugin-blue-700, #174ea6)));
}

.adc-shortcode button:hover,
.adc-shortcode .button:hover,
.adc-shortcode input[type="submit"]:hover,
.adc-shortcode input[type="button"]:hover,
.adc-shortcode .apui-button:hover,
.adc-shortcode .aplc-ui-button:hover,
.adc-documents-button-wrap .adc-documents-index-button:hover,
.adc-index-group-link:hover,
.adc-open-document-modal:hover,
.adc-document-action .apui-button:hover,
.adc-document-action .aplc-ui-button:hover {
	background: var(--apui-button-hover-bg, var(--apui-primary-hover, var(--plugin-blue-800, #123f88)));
	color: var(--apui-button-hover-text, #fff);
	border-color: var(--apui-button-hover-border, var(--apui-primary-hover, var(--plugin-blue-800, #123f88)));
}

.adc-frontend-form-actions {
	justify-content: var(--apui-form-actions-justify, flex-start);
}

/* -------------------------------------------------------------------------
 * Patch 0.2.21 — Form create shortcode governed by Mother tokens only.
 * La shell dello shortcode e la form interna non devono usare larghezze
 * viewport/full-page: leggono i token esposti da Mother/APLC e restano entro
 * il contenitore del tema.
 * ---------------------------------------------------------------------- */
.adc-shortcode.adc-documents-create-form-shortcode,
.adc-shortcode-shell.adc-documents-create-form-shortcode,
.apui-shortcode.adc-documents-create-form-shortcode,
.aplc-ui-shortcode.adc-documents-create-form-shortcode {
	--adc-create-form-width: var(--apui-documents-create-form-width, var(--apui-create-form-width, var(--apui-shortcode-form-width, var(--apui-form-width, 100%))));
	--adc-create-form-max-width: var(--apui-documents-create-form-max-width, var(--apui-create-form-max-width, var(--apui-shortcode-form-max-width, var(--apui-form-max-width, var(--apui-content-max-width, var(--apui-shortcode-max-width, 100%))))));
	box-sizing: border-box;
	inline-size: min(100%, var(--adc-create-form-width));
	width: min(100%, var(--adc-create-form-width));
	max-inline-size: min(100%, var(--adc-create-form-max-width));
	max-width: min(100%, var(--adc-create-form-max-width));
	margin-inline: var(--apui-shortcode-form-margin-inline, var(--apui-form-margin-inline, auto));
}

.adc-documents-create-form-shortcode .apui-shortcode__body,
.adc-documents-create-form-shortcode .aplc-ui-shortcode__body {
	box-sizing: border-box;
	inline-size: 100%;
	width: 100%;
	max-inline-size: 100%;
	max-width: 100%;
}

.adc-documents-create-form-shortcode .adc-frontend-create-form {
	--adc-create-inner-form-width: var(--apui-form-width, var(--apui-shortcode-form-width, 100%));
	--adc-create-inner-form-max-width: var(--apui-form-max-width, var(--apui-shortcode-form-max-width, 100%));
	box-sizing: border-box;
	inline-size: min(100%, var(--adc-create-inner-form-width));
	width: min(100%, var(--adc-create-inner-form-width));
	max-inline-size: min(100%, var(--adc-create-inner-form-max-width));
	max-width: min(100%, var(--adc-create-inner-form-max-width));
	margin-inline: var(--apui-form-margin-inline, auto);
}

.adc-documents-create-form-shortcode .adc-frontend-form-section,
.adc-documents-create-form-shortcode .adc-frontend-form-grid,
.adc-documents-create-form-shortcode .adc-field,
.adc-documents-create-form-shortcode .aplc-ui-field,
.adc-documents-create-form-shortcode .apui-field {
	min-inline-size: 0;
	max-inline-size: 100%;
}

/* Pulsanti: ultimo layer specifico, senza colori proprietari. */
.adc-shortcode.adc-documents-create-form-shortcode button,
.adc-shortcode.adc-documents-create-form-shortcode .button,
.adc-shortcode.adc-documents-create-form-shortcode input[type="submit"],
.adc-shortcode.adc-documents-create-form-shortcode input[type="button"],
.adc-shortcode.adc-documents-create-form-shortcode .apui-button,
.adc-shortcode.adc-documents-create-form-shortcode .aplc-ui-button,
.adc-shortcode .adc-open-document-modal,
.adc-shortcode .adc-index-group-link,
.adc-documents-button-wrap .adc-documents-index-button {
	background: var(--apui-button-bg, var(--apui-primary, var(--plugin-blue-700, #174ea6)));
	color: var(--apui-button-text, #fff);
	border-color: var(--apui-button-border, var(--apui-button-bg, var(--apui-primary, var(--plugin-blue-700, #174ea6))));
	border-radius: var(--apui-button-radius, var(--apui-radius-md, var(--plugin-radius-md, 12px)));
	box-shadow: var(--apui-button-shadow, none);
	padding-block: var(--apui-button-padding-y, 10px);
	padding-inline: var(--apui-button-padding-x, 16px);
	font-family: var(--apui-font, var(--plugin-font, inherit));
	font-size: var(--apui-button-font-size, var(--apui-font-size-sm, .95rem));
	font-weight: var(--apui-button-font-weight, 700);
	line-height: var(--apui-button-line-height, 1.2);
}

.adc-shortcode.adc-documents-create-form-shortcode button:hover,
.adc-shortcode.adc-documents-create-form-shortcode .button:hover,
.adc-shortcode.adc-documents-create-form-shortcode input[type="submit"]:hover,
.adc-shortcode.adc-documents-create-form-shortcode input[type="button"]:hover,
.adc-shortcode.adc-documents-create-form-shortcode .apui-button:hover,
.adc-shortcode.adc-documents-create-form-shortcode .aplc-ui-button:hover,
.adc-shortcode .adc-open-document-modal:hover,
.adc-shortcode .adc-index-group-link:hover,
.adc-documents-button-wrap .adc-documents-index-button:hover {
	background: var(--apui-button-hover-bg, var(--apui-primary-hover, var(--plugin-blue-800, #123f88)));
	color: var(--apui-button-hover-text, var(--apui-button-text, #fff));
	border-color: var(--apui-button-hover-border, var(--apui-button-hover-bg, var(--apui-primary-hover, var(--plugin-blue-800, #123f88))));
	box-shadow: var(--apui-button-hover-shadow, var(--apui-button-shadow, none));
}



/* -------------------------------------------------------------------------
 * Patch 0.2.24 — Button contrast via Client UI variants + Mother tokens.
 * Non usare il token generico --apui-button-text per i pulsanti primary:
 * in alcuni temi Mother può rappresentare il colore del testo base/secondary.
 * I pulsanti primary devono seguire i token variante oppure i token on-primary.
 * ---------------------------------------------------------------------- */
.apui-theme-scope .adc-shortcode :is(.aplc-ui-button--primary, .apui-button-primary, .apui-button--primary, .adc-ui-button--primary),
.adc-shortcode.apui-theme-scope :is(.aplc-ui-button--primary, .apui-button-primary, .apui-button--primary, .adc-ui-button--primary),
.adc-shortcode-shell.apui-theme-scope :is(.aplc-ui-button--primary, .apui-button-primary, .apui-button--primary, .adc-ui-button--primary) {
	background: var(--apui-button-primary-bg, var(--apui-button-bg, var(--apui-primary, var(--plugin-blue-700, #174ea6))));
	border-color: var(--apui-button-primary-border, var(--apui-button-border, var(--apui-primary, var(--plugin-blue-700, #174ea6))));
	color: var(--apui-button-primary-text, var(--apui-button-primary-color, var(--apui-button-text-on-primary, var(--apui-on-primary, var(--apui-on-dark, #fff)))));
}

.apui-theme-scope .adc-shortcode :is(.aplc-ui-button--primary, .apui-button-primary, .apui-button--primary, .adc-ui-button--primary) :is(.aplc-ui-button__label, .aplc-ui-button__icon),
.adc-shortcode.apui-theme-scope :is(.aplc-ui-button--primary, .apui-button-primary, .apui-button--primary, .adc-ui-button--primary) :is(.aplc-ui-button__label, .aplc-ui-button__icon),
.adc-shortcode-shell.apui-theme-scope :is(.aplc-ui-button--primary, .apui-button-primary, .apui-button--primary, .adc-ui-button--primary) :is(.aplc-ui-button__label, .aplc-ui-button__icon) {
	color: inherit;
}

.apui-theme-scope .adc-shortcode :is(.aplc-ui-button--primary, .apui-button-primary, .apui-button--primary, .adc-ui-button--primary):is(:hover, :focus),
.adc-shortcode.apui-theme-scope :is(.aplc-ui-button--primary, .apui-button-primary, .apui-button--primary, .adc-ui-button--primary):is(:hover, :focus),
.adc-shortcode-shell.apui-theme-scope :is(.aplc-ui-button--primary, .apui-button-primary, .apui-button--primary, .adc-ui-button--primary):is(:hover, :focus) {
	background: var(--apui-button-primary-hover-bg, var(--apui-button-hover-bg, var(--apui-primary-hover, var(--plugin-blue-800, #123f88))));
	border-color: var(--apui-button-primary-hover-border, var(--apui-button-hover-border, var(--apui-primary-hover, var(--plugin-blue-800, #123f88))));
	color: var(--apui-button-primary-hover-text, var(--apui-button-primary-hover-color, var(--apui-button-hover-text-on-primary, var(--apui-on-primary, var(--apui-on-dark, #fff)))));
}

.apui-theme-scope .adc-shortcode :is(.aplc-ui-button--secondary, .apui-button-secondary, .apui-button--secondary, .adc-ui-button--secondary),
.adc-shortcode.apui-theme-scope :is(.aplc-ui-button--secondary, .apui-button-secondary, .apui-button--secondary, .adc-ui-button--secondary),
.adc-shortcode-shell.apui-theme-scope :is(.aplc-ui-button--secondary, .apui-button-secondary, .apui-button--secondary, .adc-ui-button--secondary) {
	background: var(--apui-button-secondary-bg, var(--apui-surface, #fff));
	border-color: var(--apui-button-secondary-border, var(--apui-border, #d0d5dd));
	color: var(--apui-button-secondary-text, var(--apui-button-secondary-color, var(--apui-primary, var(--plugin-blue-700, #174ea6))));
}


/* -------------------------------------------------------------------------
 * 0.2.28 — Selettore destinazione: nuovo gruppo o gruppo esistente.
 * Il componente conserva la shell Client/Mother e non introduce card annidate.
 * ---------------------------------------------------------------------- */
.adc-documents-create-form-shortcode [data-adc-existing-group][hidden],
.adc-documents-create-form-shortcode [data-adc-new-group-fields][hidden] {
	display: none !important;
}

.adc-documents-create-form-shortcode .adc-frontend-existing-group {
	grid-column: 1 / -1;
	min-width: 0;
}

.adc-documents-create-form-shortcode .adc-frontend-existing-group .adc-field,
.adc-documents-create-form-shortcode .adc-frontend-existing-group .aplc-ui-field,
.adc-documents-create-form-shortcode .adc-frontend-existing-group .apui-field {
	width: 100%;
	max-width: 100%;
}

.adc-documents-create-form-shortcode .adc-frontend-existing-group--empty {
	color: var(--apui-muted, var(--plugin-muted, #667085));
}
