.portal-stack {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.portal-note {
    margin: 0 0 1rem;
    color: var(--gray-600, #4b5563);
    font-size: 0.875rem;
    line-height: 1.5;
}

.portal-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0.75rem;
}

@media (min-width: 768px) {
    .portal-grid {
        grid-template-columns: 1fr 1fr;
    }
}

.portal-reading {
    padding: 0.875rem 1rem;
    border: 1px solid var(--gray-200, #e5e7eb);
    border-radius: 0.75rem;
    background: var(--gray-50, #f9fafb);
}

.portal-label {
    color: var(--gray-500, #6b7280);
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0.02em;
    text-transform: uppercase;
}

.portal-value {
    margin-top: 0.25rem;
    font-size: 1.05rem;
    font-weight: 600;
    line-height: 1.4;
}

.portal-definition,
.portal-notes {
    margin-top: 0.5rem;
    color: var(--gray-500, #6b7280);
    font-size: 0.75rem;
    line-height: 1.45;
}

.portal-notes {
    margin-top: 1rem;
    padding-left: 1.25rem;
}

.portal-table-wrap {
    margin-top: 1.25rem;
    overflow-x: auto;
}

.portal-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.875rem;
}

.portal-table th,
.portal-table td {
    padding: 0.5rem 0.75rem;
    border-top: 1px solid var(--gray-200, #e5e7eb);
    text-align: left;
    vertical-align: top;
}

.portal-table th {
    color: var(--gray-500, #6b7280);
    font-weight: 600;
}

.portal-form {
    display: flex;
    gap: 0.5rem;
    align-items: center;
    max-width: 36rem;
    margin-top: 1.25rem;
}

.portal-form .fi-input-wrp {
    flex: 1;
}

.dark .portal-reading {
    border-color: var(--gray-700, #374151);
    background: var(--gray-900, #111827);
}
