/* bidmio-css-layer-wrapped: app (Task #4343 cascade-layer pilot; wrapper added by scripts/wrap_standalone_css_layers.py — do not remove) */
@layer vendor, app, overrides, utilities;
@layer app {
/* Extracted from templates/auth/legal_document.html */
body {
            background-color: var(--color-bg-primary);
            min-height: 100vh;
            min-height: 100dvh;
        }
        .legal-return {
            position: sticky;
            top: 0;
            z-index: 20;
            display: flex;
            align-items: center;
            background: var(--color-bg-primary);
            border-bottom: 1px solid var(--color-border-secondary);
            padding: 0.5rem 1rem;
        }
        .legal-return__link {
            display: inline-flex;
            align-items: center;
            gap: 0.5rem;
            min-height: 44px;
            color: var(--color-brand-text);
            text-decoration: none;
            font-weight: 600;
        }
        .legal-return__link:hover {
            text-decoration: underline;
        }
        html[data-legal-framed] .legal-return {
            display: none;
        }
        .legal-container {
            max-width: 800px;
            margin: 0 auto;
            padding: 2rem 1rem;
        }
        .legal-header {
            text-align: center;
            margin-bottom: 2rem;
            padding-bottom: 1.5rem;
            border-bottom: 1px solid var(--color-border-secondary);
        }
        .legal-logo {
            max-height: 48px;
            margin-bottom: 1rem;
        }
        .legal-title {
            font-size: 1.75rem;
            font-weight: 600;
            color: var(--color-text-primary);
            margin-bottom: 0.5rem;
        }
        .legal-meta {
            font-size: 0.875rem;
            color: var(--color-text-tertiary);
        }
        .legal-content {
            position: relative;
            background: var(--color-bg-elevated);
            border-radius: var(--radius-lg);
            padding: 2rem;
            box-shadow: var(--shadow-sm);
            /* Wide cookie-inventory tables scroll inside the card, not the page. */
            overflow-x: auto;
            -webkit-overflow-scrolling: touch;
        }
        .legal-content h1, .legal-content h2, .legal-content h3 {
            color: var(--color-text-primary);
            margin-top: 1.5rem;
            margin-bottom: 0.75rem;
        }
        .legal-content h1:first-child, .legal-content h2:first-child {
            margin-top: 0;
        }
        .legal-content p {
            color: var(--color-text-secondary);
            line-height: 1.7;
            margin-bottom: 1rem;
        }
        .legal-content ul, .legal-content ol {
            color: var(--color-text-secondary);
            line-height: 1.7;
            margin-bottom: 1rem;
            padding-left: 1.5rem;
        }
        .legal-content li {
            margin-bottom: 0.5rem;
        }
        .legal-content table {
            width: 100%;
            border-collapse: collapse;
            margin: 1rem 0;
            font-size: 0.875rem;
        }
        .legal-content th,
        .legal-content td {
            border: 1px solid var(--color-border-secondary);
            padding: 0.625rem 0.75rem;
            text-align: left;
            vertical-align: top;
            color: var(--color-text-secondary);
            overflow-wrap: anywhere;
            word-break: break-word;
        }
        .legal-content th {
            background: var(--color-bg-secondary, var(--color-gray-50));
            color: var(--color-text-primary);
            font-weight: 600;
        }
        .legal-content code {
            font-size: 0.8125rem;
            word-break: break-all;
        }
        .legal-footer {
            display: flex;
            flex-wrap: wrap;
            gap: 1rem;
            align-items: center;
            justify-content: center;
            text-align: center;
            margin-top: 2rem;
            padding-top: 1.5rem;
            border-top: 1px solid var(--color-border-secondary);
        }
        .back-link {
            color: var(--color-brand-text);
            text-decoration: none;
            font-weight: 500;
        }
        .back-link:hover {
            text-decoration: underline;
        }
        .status-card {
            text-align: center;
            padding: 1.5rem 0.5rem 0.5rem;
        }
        .status-card__state {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: 0.75rem;
            font-size: 1.75rem;
            font-weight: 600;
            color: var(--color-text-primary);
            margin: 0 0 1rem;
        }
        .status-card__dot {
            width: 0.85rem;
            height: 0.85rem;
            border-radius: var(--border-radius-full, 9999px);
            flex-shrink: 0;
        }
        .status-card__dot--ok {
            background: var(--color-success, #16a34a);
            box-shadow: 0 0 0 6px var(--color-success-muted, rgba(22, 163, 74, 0.18));
        }
        .status-card__dot--degraded {
            background: var(--color-warning, #d97706);
            box-shadow: 0 0 0 6px var(--color-warning-muted, rgba(217, 119, 6, 0.18));
        }
        .status-card__note {
            color: var(--color-text-secondary);
            max-width: 36rem;
            margin: 0 auto;
            line-height: 1.6;
        }
        @media (max-width: 768px) {
            .legal-container {
                padding: 1rem;
            }
            .legal-content {
                padding: 1rem;
            }
            .legal-title {
                font-size: 1.375rem;
            }
            /* Keep columns readable on tablets: scroll the table instead of
               squashing five columns into ~350px (cookie policy inventory). */
            .legal-content table {
                width: max(100%, 40rem);
            }
        }
        /* Phones: stack each cookie as a card so purpose text stays readable
           without sideways scrolling. Headers stay available to AT via clip. */
        @media (max-width: 575.98px) {
            .legal-content table {
                width: 100%;
            }
            .legal-content thead {
                position: absolute;
                width: 1px;
                height: 1px;
                padding: 0;
                margin: -1px;
                overflow: hidden;
                clip: rect(0, 0, 0, 0);
                white-space: nowrap;
                border: 0;
            }
            .legal-content table,
            .legal-content tbody,
            .legal-content tr,
            .legal-content th,
            .legal-content td {
                display: block;
                width: 100%;
            }
            .legal-content tr {
                margin-bottom: 0.75rem;
                padding: 0.75rem;
                border: 1px solid var(--color-border-secondary);
                border-radius: var(--radius-md, 8px);
                background: var(--color-bg-primary);
            }
            .legal-content td {
                border: none;
                padding: 0.35rem 0;
            }
            .legal-content td:first-child {
                color: var(--color-text-primary);
                font-weight: 600;
                padding-bottom: 0.5rem;
                margin-bottom: 0.35rem;
                border-bottom: 1px solid var(--color-border-secondary);
            }
            .legal-content td:not(:first-child) {
                font-size: 0.8125rem;
            }
        }
} /* end @layer app */
