/*
 * Pilot page-specific composition.
 */

.fe-console-summary {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--fe-space-5);
}

.fe-console-group {
    display: grid;
    gap: var(--fe-space-3);
}

.fe-console-group__title {
    color: var(--fe-text-muted);
    font-size: .72rem;
    font-weight: var(--fe-weight-semibold);
    text-transform: uppercase;
}

.fe-onboarding-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
    gap: var(--fe-space-3);
}

.fe-onboarding-step {
    display: grid;
    grid-template-columns: 34px minmax(0, 1fr);
    gap: var(--fe-space-3);
    padding: 14px;
    border-radius: var(--fe-radius-md);
    background: var(--fe-surface);
    box-shadow: var(--fe-shadow-inset);
}

.fe-onboarding-step__mark {
    width: 34px;
    height: 34px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: var(--fe-success-soft);
    color: var(--fe-success);
    font-size: .64rem;
    font-weight: var(--fe-weight-semibold);
}

.fe-onboarding-step strong,
.fe-onboarding-step small {
    display: block;
}

.fe-onboarding-step small {
    margin-top: 3px;
    color: var(--fe-text-muted);
}

@media (max-width: 900px) {
    .fe-console-summary {
        grid-template-columns: 1fr;
    }
}

.fe-analytics-indicator-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 230px), 1fr));
    gap: var(--fe-space-3);
}

.fe-analytics-indicator {
    min-width: 0;
    display: grid;
    gap: 10px;
    padding: 14px 16px;
    border: 1px solid var(--fe-border);
    border-radius: var(--fe-radius-md);
    background: var(--fe-surface);
    box-shadow: var(--fe-shadow-soft);
}

.fe-analytics-indicator__header {
    min-width: 0;
}

.fe-analytics-indicator__header h3 {
    margin: 0;
    overflow: hidden;
    color: var(--fe-text);
    font-size: .86rem;
    font-weight: var(--fe-weight-semibold);
    line-height: 1.3;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.fe-analytics-indicator__equipment {
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 5px;
    margin-top: 3px;
    overflow: hidden;
    color: var(--fe-text-muted);
    font-size: .68rem;
    line-height: 1.25;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.fe-analytics-indicator__equipment .material-symbols-outlined {
    flex: 0 0 auto;
    font-size: .85rem;
}

.fe-analytics-indicator__value {
    display: flex;
    align-items: baseline;
    gap: 5px;
}

.fe-analytics-indicator__value small {
    margin-right: auto;
    color: var(--fe-text-muted);
    font-size: .66rem;
}

.fe-analytics-indicator__value strong {
    min-width: 0;
    overflow: hidden;
    color: var(--fe-text);
    font-size: clamp(1.15rem, 1.55vw, 1.55rem);
    line-height: 1;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.fe-analytics-indicator__value > span {
    color: var(--fe-text-muted);
    font-size: .7rem;
    font-weight: var(--fe-weight-semibold);
}

.fe-analytics-indicator__range {
    position: relative;
    height: 6px;
    border-radius: var(--fe-radius-pill);
    background: linear-gradient(90deg, var(--fe-primary-soft), color-mix(in srgb, var(--fe-brand-primary) 42%, var(--fe-surface)));
    box-shadow: var(--fe-shadow-inset);
}

.fe-analytics-indicator__range-value {
    position: absolute;
    top: 50%;
    left: var(--fe-indicator-position, 50%);
    width: 10px;
    height: 10px;
    transform: translate(-50%, -50%);
    border: 2px solid var(--fe-surface);
    border-radius: 50%;
    background: var(--fe-primary);
    box-shadow: 0 2px 6px color-mix(in srgb, var(--fe-primary) 30%, transparent);
}

.fe-analytics-indicator__limits {
    display: flex;
    justify-content: space-between;
    gap: 12px;
}

.fe-analytics-indicator__limits > span {
    min-width: 0;
    display: flex;
    align-items: baseline;
    gap: 5px;
}

.fe-analytics-indicator__limits > span:last-child {
    justify-content: flex-end;
    text-align: right;
}

.fe-analytics-indicator__limits small {
    color: var(--fe-text-muted);
    font-size: .62rem;
}

.fe-analytics-indicator__limits strong {
    overflow: hidden;
    color: var(--fe-text);
    font-size: .7rem;
    font-weight: var(--fe-weight-semibold);
    text-overflow: ellipsis;
    white-space: nowrap;
}

@media (max-width: 560px) {
    .fe-analytics-indicator-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .fe-analytics-indicator {
        padding: 12px;
    }

    .fe-analytics-indicator__value {
        flex-wrap: wrap;
    }

    .fe-analytics-indicator__value small {
        flex-basis: 100%;
    }
}

@media (max-width: 390px) {
    .fe-analytics-indicator-grid {
        grid-template-columns: minmax(0, 1fr);
    }
}


.fe-customer-meta {
    display: flex;
    flex-wrap: wrap;
    gap: var(--fe-space-2);
}

.fe-detail-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: var(--fe-space-3);
}

.fe-detail-item {
    padding: 14px 16px;
    border: 1px solid var(--fe-border);
    border-radius: var(--fe-radius-md);
    background: var(--fe-surface);
    box-shadow: var(--fe-shadow-inset);
}

.fe-detail-item strong,
.fe-detail-item span,
.fe-detail-item small {
    display: block;
}

.fe-detail-item strong {
    color: var(--fe-text);
    font-weight: var(--fe-weight-medium);
}

.fe-detail-item span,
.fe-detail-item small {
    margin-top: 4px;
    color: var(--fe-text-muted);
    font-size: var(--fe-type-sm);
}

.fe-stack {
    display: grid;
    gap: var(--fe-space-3);
}

.fe-stack__item {
    padding: 14px 16px;
    border: 1px solid var(--fe-border);
    border-radius: var(--fe-radius-md);
    background: var(--fe-surface);
    box-shadow: var(--fe-shadow-inset);
}

.fe-stack__item > strong,
.fe-stack__item > span {
    display: block;
}

.fe-stack__item > strong {
    font-weight: var(--fe-weight-medium);
}

.fe-stack__item > span {
    margin-top: 4px;
    color: var(--fe-text-muted);
    font-size: var(--fe-type-sm);
}

.fe-stack__actions {
    margin-top: var(--fe-space-3);
}

.fe-communication-detail .fe-detail-item {
    min-width: 0;
}

.fe-communication-detail .fe-detail-item .fe-technical-value,
.fe-communication-value {
    overflow-wrap: anywhere;
}

.fe-communication-contract-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--fe-space-3);
}

.fe-communication-technical > summary {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: var(--fe-space-3);
    cursor: pointer;
    list-style: none;
}

.fe-communication-technical > summary::-webkit-details-marker {
    display: none;
}

.fe-communication-technical > summary strong,
.fe-communication-technical > summary small {
    display: block;
}

.fe-communication-technical > summary small {
    margin-top: 3px;
    color: var(--fe-text-muted);
}

.fe-communication-technical__chevron {
    transition: transform .18s ease;
}

.fe-communication-technical[open] .fe-communication-technical__chevron {
    transform: rotate(180deg);
}

.fe-code-disclosure {
    border: 1px solid var(--fe-border);
    border-radius: var(--fe-radius-md);
    background: var(--fe-surface);
    box-shadow: var(--fe-shadow-inset);
}

.fe-code-disclosure > summary {
    padding: 12px 14px;
    cursor: pointer;
    color: var(--fe-text-soft);
    font-size: var(--fe-type-sm);
    font-weight: var(--fe-weight-semibold);
}

.fe-code-disclosure > .fe-code-block {
    margin: 0 12px 12px;
}

.fe-support-data__body {
    display: grid;
    gap: var(--fe-space-3);
    padding: 0 12px 12px;
}

.fe-support-data__body > p {
    margin: 0;
}

@media (max-width: 760px) {
    .fe-communication-contract-row {
        align-items: flex-start;
        flex-direction: column;
    }
}


.fe-alert-kpi-grid {
    grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
}

.fe-profile-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
    gap: var(--fe-space-3);
}

.fe-profile-item {
    padding: 14px 16px;
    border: 1px solid var(--fe-border);
    border-radius: var(--fe-radius-md);
    background: var(--fe-surface);
    box-shadow: var(--fe-shadow-inset);
}

.fe-profile-item span,
.fe-profile-item strong {
    display: block;
}

.fe-profile-item span {
    color: var(--fe-text-muted);
    font-size: var(--fe-type-xs);
}

.fe-profile-item strong {
    margin-top: 4px;
    color: var(--fe-text);
    font-weight: var(--fe-weight-medium);
    overflow-wrap: anywhere;
}

.fe-chip-group {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.fe-section-actions {
    display: flex;
    justify-content: flex-end;
    gap: var(--fe-space-2);
    margin-bottom: var(--fe-space-3);
}


.fe-api-token-table .fe-technical-value {
    display: inline-block;
    max-width: 220px;
    overflow: hidden;
    text-overflow: ellipsis;
    vertical-align: middle;
    white-space: nowrap;
}

.fe-token-status {
    min-width: 82px;
    justify-content: center;
}


.fe-command-summary-grid {
    grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
}

.fe-command-detail-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(320px, .8fr);
    gap: var(--fe-space-5);
}

.fe-command-card-stack {
    display: grid;
    gap: var(--fe-space-4);
}

.fe-command-payload {
    min-height: 140px;
}

.fe-module-page [data-role="module-review"] .fe-list__item {
    display: grid;
    min-width: 0;
    gap: 4px;
}

.fe-module-page [data-role="module-review"] .fe-list__item strong {
    overflow-wrap: anywhere;
}

.fe-signal-type {
    overflow: hidden;
}

.fe-signal-type__summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--fe-space-4);
    padding: var(--fe-space-4);
    cursor: pointer;
    list-style: none;
}

.fe-signal-type__summary::-webkit-details-marker {
    display: none;
}

.fe-signal-type__summary::after {
    content: 'expand_more';
    flex: 0 0 auto;
    font-family: 'Material Symbols Outlined';
    font-size: 1.35rem;
}

.fe-signal-type[open] > .fe-signal-type__summary::after {
    content: 'expand_less';
}

.fe-module-details {
    overflow: hidden;
}

.fe-module-details__summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--fe-space-4);
    padding: var(--fe-space-4);
    cursor: pointer;
    list-style: none;
}

.fe-module-details__summary::-webkit-details-marker {
    display: none;
}

.fe-module-details__summary::after {
    content: 'expand_more';
    flex: 0 0 auto;
    font-family: 'Material Symbols Outlined';
    font-size: 1.35rem;
}

.fe-module-details[open] > .fe-module-details__summary::after {
    content: 'expand_less';
}

.fe-module-details__summary h3,
.fe-module-details__summary span {
    margin: 0;
}

.fe-module-details__body {
    display: grid;
    gap: var(--fe-space-4);
    padding: 0 var(--fe-space-4) var(--fe-space-4);
}

.fe-signal-type__summary h3,
.fe-signal-type__summary p {
    margin: 0;
}

.fe-signal-type__body {
    display: grid;
    gap: var(--fe-space-4);
    padding: 0 var(--fe-space-4) var(--fe-space-4);
}

.fe-signal-group {
    display: grid;
    gap: var(--fe-space-2);
}

.fe-signal-group__header {
    display: grid;
    gap: 2px;
}

.fe-compact-list {
    display: grid;
    gap: var(--fe-space-2);
    margin: 0;
    padding-left: 1.25rem;
}

.fe-signal-field-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.fe-signal-field {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 4px var(--fe-space-3);
    min-width: 0;
}

.fe-signal-field > strong,
.fe-signal-field > span,
.fe-signal-field > em,
.fe-signal-field__formula {
    grid-column: 1;
    overflow-wrap: anywhere;
}

.fe-signal-field__usage {
    grid-column: 2;
    grid-row: 1 / span 2;
}

.fe-signal-field > .fe-button {
    grid-column: 2;
    grid-row: 3;
}

.fe-signal-field__formula {
    color: var(--fe-text-muted);
}

@media (max-width: 900px) {
    .fe-signal-field-list {
        grid-template-columns: 1fr;
    }

    .fe-signal-type__summary {
        align-items: flex-start;
    }
}

@media (max-width: 980px) {
    .fe-command-detail-layout {
        grid-template-columns: 1fr;
    }
}


.fe-command-target-summary-grid {
    grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
}

.fe-command-target-detail-layout {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--fe-space-5);
}

@media (max-width: 900px) {
    .fe-command-target-detail-layout {
        grid-template-columns: 1fr;
    }
}


.fe-commercial-summary-grid {
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
}

.fe-commercial-dashboard {
    display: grid;
    gap: var(--fe-space-5);
}

.fe-commercial-access {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--fe-space-4);
    border-inline-start: 4px solid var(--fe-success, #3b8265);
}

.fe-commercial-access--restricted {
    border-inline-start-color: var(--fe-warning, #a77d2c);
}

@media (max-width: 680px) {
    .fe-commercial-access {
        align-items: flex-start;
        flex-direction: column;
    }
}

.fe-commercial-overview {
    display: grid;
    grid-template-columns: minmax(280px, .8fr) minmax(0, 1.2fr);
    gap: var(--fe-space-5);
}

.fe-usage-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: var(--fe-space-4);
}

.fe-usage-card {
    display: grid;
    gap: 12px;
    padding: 16px;
    border: 1px solid var(--fe-border);
    border-radius: var(--fe-radius-md);
    background: var(--fe-surface);
    box-shadow: var(--fe-shadow-inset);
}

.fe-usage-card__header {
    display: flex;
    justify-content: space-between;
    gap: var(--fe-space-3);
}

.fe-usage-card__header strong {
    font-weight: var(--fe-weight-medium);
}

.fe-commercial-section {
    display: grid;
    gap: var(--fe-space-4);
}

@media (max-width: 980px) {
    .fe-commercial-overview {
        grid-template-columns: 1fr;
    }
}
.fe-help-page {
    display: grid;
    gap: var(--fe-space-5);
}

.fe-help-search__form {
    display: grid;
    grid-template-columns: minmax(0, 2fr) minmax(14rem, 1fr) auto;
    gap: 1rem;
    align-items: end;
}

.fe-help-search__actions,
.fe-help-result,
.fe-help-warning {
    display: flex;
    gap: 0.75rem;
    align-items: center;
}

.fe-help-results {
    display: grid;
    gap: 0;
}

.fe-help-result {
    justify-content: space-between;
    padding: var(--fe-space-4) 0;
    border-bottom: 1px solid var(--fe-border);
}

.fe-help-result:last-child {
    border-bottom: 0;
}

.fe-help-result h3 {
    margin: 0.75rem 0 0.35rem;
}

.fe-help-kpi-text {
    font-size: clamp(1.1rem, 2vw, 1.65rem);
}

.fe-help-prose {
    max-width: 76ch;
}

.fe-help-prose pre,
.fe-help-prose code {
    overflow-wrap: anywhere;
}

.fe-help-warning {
    border-inline-start: 0.25rem solid var(--fe-warning, #b7791f);
    align-items: flex-start;
}

.fe-help-reviewed {
    margin: 0;
    text-align: end;
}

/* Digital Twin: alta densidade sem perder hierarquia operacional. */
.fe-twin-summary-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: var(--fe-space-3);
}

.fe-twin-kpi,
.fe-twin-health-kpi {
    min-width: 0;
    min-height: 92px;
    padding: 13px 15px;
    justify-content: flex-start;
}

.fe-twin-kpi .fe-kpi__value,
.fe-twin-health-kpi .fe-kpi__value {
    max-width: 100%;
    font-size: clamp(1.05rem, 1.6vw, 1.45rem);
    line-height: 1.15;
    overflow-wrap: anywhere;
    word-break: break-word;
}

.fe-twin-kpi .fe-kpi__meta,
.fe-twin-health-kpi .fe-kpi__meta {
    line-height: 1.3;
    overflow-wrap: anywhere;
}

.fe-twin-semantic-grid,
.fe-twin-health-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: var(--fe-space-3);
}

.fe-twin-health-grid {
    margin-bottom: var(--fe-space-4);
}

.fe-twin-health-kpi {
    border-inline-start: 3px solid var(--fe-success);
}

.fe-twin-health-kpi--freshness {
    border-inline-start-color: var(--fe-accent);
}

.fe-twin-health-kpi--attention {
    border-inline-start-color: var(--fe-warning);
}

.fe-twin-event-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--fe-space-3);
}

.fe-twin-field-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--fe-space-2);
    min-width: 0;
}

.fe-twin-field-item {
    min-width: 0;
    display: grid;
    gap: 3px;
    padding: 10px 12px;
    border: 1px solid var(--fe-border);
    border-radius: var(--fe-radius-md);
    background: var(--fe-surface);
    box-shadow: var(--fe-shadow-inset);
}

.fe-twin-field-item span {
    color: var(--fe-text-muted);
    font-size: .7rem;
    font-weight: var(--fe-weight-semibold);
    overflow-wrap: anywhere;
}

.fe-twin-field-item strong {
    min-width: 0;
    font-size: .9rem;
    line-height: 1.25;
    overflow-wrap: anywhere;
    word-break: break-word;
}

@media (max-width: 1180px) {
    .fe-twin-summary-grid,
    .fe-twin-semantic-grid,
    .fe-twin-health-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .fe-twin-field-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 680px) {
    .fe-twin-summary-grid,
    .fe-twin-semantic-grid,
    .fe-twin-health-grid,
    .fe-twin-event-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .fe-twin-field-grid {
        grid-template-columns: minmax(0, 1fr);
    }
}

@media (max-width: 760px) {
    .fe-help-search__form {
        grid-template-columns: 1fr;
    }

    .fe-help-result {
        align-items: flex-start;
    }
}
