/* base-shell.css - shell chrome moved verbatim out of base.html's inline <style>.
   Linked in base.html at the same position to preserve cascade order. */
        [x-cloak] {
            display: none !important;
        }

        /* If the user is logged in, hide the welcome (logged-out) section */
        .is-logged-in .logged-out {
            display: none !important;
        }

        /* Hide main content by default until we confirm login status */
        #mainContent {
            display: none;
        }

        .admin-only {
            display: none;
        }

        body[data-admin="true"] .admin-only {
            display: block;
        }

        /* Chat iframe column theming for different targets */
        #iframe-column.chat-mode-production {
            border: 2px solid #0d6efd;
            background-color: rgba(13, 110, 253, 0.03);
        }

        #iframe-column.chat-mode-dev {
            border: 2px solid #fd7e14;
            background-color: rgba(253, 126, 20, 0.06);
        }

        #iframe-column.chat-mode-local {
            border: 2px solid #198754;
            background-color: rgba(25, 135, 84, 0.06);
        }

        /* Prominent EU-only toggle styles */
        .eu-toggle-wrapper {
            display: flex;
            align-items: center;
            padding: 6px 14px;
            border-radius: 999px;
            border: 1px solid rgba(255, 255, 255, 0.25);
            box-shadow: 0 2px 10px rgba(0, 0, 0, 0.15);
            transition: background-color 150ms ease-in-out, border-color 150ms ease-in-out;
            cursor: pointer;
        }
        .eu-toggle-wrapper .form-check-input {
            width: 3.0rem;
            height: 1.6rem;
            cursor: pointer;
            background-color: rgba(255,255,255,0.25);
            border-color: rgba(255,255,255,0.7);
        }
        .eu-toggle-wrapper .form-check-input:checked {
            background-color: rgba(255,255,255,0.35);
            border-color: rgba(255,255,255,0.95);
        }
        .eu-toggle-wrapper .form-check-label {
            margin-left: 10px;
            font-weight: 700;
            letter-spacing: 0.3px;
            color: #ffffff;
            user-select: none;
            cursor: pointer;
        }
        .eu-switch { position: relative; display: inline-block; margin-left: 10px; }
        /* Remove default browser/Bootstrap checkmark */
        .eu-switch .form-check-input,
        .eu-switch .form-check-input:checked {
            background-image: none !important;
        }
        .eu-toggle-indicator {
            position: absolute;
            left: 0;
            top: 50%;
            transform: translateY(-50%);
            width: 100%;
            text-align: center;
            font-weight: 800;
            font-size: 0.85rem;
            color: #ffffff;
            pointer-events: none;
            z-index: 2;
        }
        .eu-switch input:not(:checked) + .eu-toggle-indicator::after { content: 'NO'; }
        .eu-switch input:checked + .eu-toggle-indicator::after { content: 'YES'; }
        /* EU = blue theme */
        .eu-toggle-wrapper.eu {
            background-color: #2563eb; /* blue-600 */
            border-color: #1d4ed8;     /* blue-700 */
            color: #ffffff;
        }
        /* Non-EU = red theme */
        .eu-toggle-wrapper.non-eu {
            background-color: #b91c1c; /* red-700 */
            border-color: #991b1b;     /* red-800 */
            color: #ffffff;
        }
