/*
 * Pegasus mobile console
 *
 * Authentication is portrait-first. The authenticated application is a
 * landscape console. Desktop styles remain untouched by keeping all layout
 * changes inside short landscape viewports.
 */

html {
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
}

/* Portrait authentication ------------------------------------------------- */
@media (max-width: 600px) and (orientation: portrait) {
    body.login-page,
    body.auth-page {
        width: 100%;
        min-height: 100dvh;
        height: auto !important;
        margin: 0;
        padding:
            max(24px, env(safe-area-inset-top))
            max(18px, env(safe-area-inset-right))
            max(28px, env(safe-area-inset-bottom))
            max(18px, env(safe-area-inset-left));
        overflow-x: hidden;
        overflow-y: auto !important;
        box-sizing: border-box;
        justify-content: center;
        overscroll-behavior-y: contain;
    }

    .login-page .login-theme-toggle,
    .auth-page > .theme-switch-wrapper {
        position: fixed !important;
        top: max(14px, env(safe-area-inset-top)) !important;
        right: max(14px, env(safe-area-inset-right)) !important;
        z-index: 20;
        padding: 7px 8px;
        border: 1px solid rgba(255, 255, 255, .24);
        border-radius: 999px;
        background: rgba(15, 23, 42, .16);
        backdrop-filter: blur(14px);
        -webkit-backdrop-filter: blur(14px);
    }

    .login-page .brand-container {
        width: 100%;
        margin: 0 0 18px !important;
        padding: 0 10px;
    }

    .login-page .pegasus-logo-img {
        width: min(66vw, 270px);
        max-height: 24dvh;
        margin-bottom: 10px;
        object-fit: contain;
    }

    .login-page .login-title {
        margin: 0 !important;
        font-size: clamp(.78rem, 3.4vw, 1rem);
        line-height: 1.25;
        letter-spacing: 4px;
    }

    .login-page .login-form,
    .login-page .passkey-panel,
    .login-page .email-otp-panel,
    .login-page .login-mode-switch,
    .login-page .passkey-status {
        width: min(100%, 350px);
    }

    .login-page .login-form {
        padding: 0;
        gap: 18px;
    }

    .login-page #passwordPanel {
        gap: 18px !important;
    }

    .login-page .input-group {
        padding-bottom: 5px;
    }

    .login-page .login-input {
        min-height: 42px;
        padding: 8px 10px;
        font-size: 16px;
    }

    .login-page .login-mode-switch {
        margin-bottom: 14px;
    }

    .login-page .login-mode-button,
    .login-page .btn-login {
        min-height: 46px;
        border-radius: 10px;
        touch-action: manipulation;
    }

    .login-page .btn-login {
        margin-top: 8px;
        padding: 12px 14px;
    }

    .login-page .forgot-password-link {
        margin-top: 17px !important;
        padding: 4px;
    }

    .login-page .error-msg {
        width: min(100%, 390px);
        margin-bottom: 16px !important;
        padding: 10px 14px;
        font-size: .8rem;
    }

    .login-page .subtitle {
        margin: 8px auto 18px !important;
        font-size: .82rem !important;
    }

    .login-page .enroll-card {
        width: min(100%, 400px);
        margin: 0 auto !important;
    }

    .auth-page .auth-box {
        width: min(100%, 400px);
        max-width: 400px;
        padding: 28px 22px;
        box-sizing: border-box;
    }

    .auth-page .auth-subtitle {
        margin-bottom: 20px;
    }
}

@media (max-width: 600px) and (max-height: 720px) and (orientation: portrait) {
    body.login-page,
    body.auth-page {
        justify-content: flex-start;
        padding-top: max(62px, env(safe-area-inset-top));
    }
}

/* Orientation hand-off ---------------------------------------------------- */
@media (max-width: 600px) and (orientation: portrait) {
    body:not(.login-page):not(.auth-page) {
        min-height: 100dvh !important;
        overflow: hidden !important;
        background:
            radial-gradient(circle at 18% 8%, rgba(56, 189, 248, .22), transparent 35%),
            radial-gradient(circle at 82% 88%, rgba(14, 165, 233, .12), transparent 30%),
            linear-gradient(145deg, #172337, #0d1522) !important;
    }

    body:not(.login-page):not(.auth-page) > * {
        display: none !important;
    }

    body:not(.login-page):not(.auth-page)::before {
        content: "↻";
        position: fixed;
        top: max(18px, env(safe-area-inset-top));
        right: max(18px, env(safe-area-inset-right));
        bottom: max(18px, env(safe-area-inset-bottom));
        left: max(18px, env(safe-area-inset-left));
        z-index: 2147483646;
        display: flex;
        align-items: center;
        justify-content: center;
        padding-bottom: 118px;
        border: 1px solid rgba(125, 211, 252, .24);
        border-radius: 28px;
        background:
            linear-gradient(rgba(56, 189, 248, .045) 1px, transparent 1px),
            linear-gradient(90deg, rgba(56, 189, 248, .045) 1px, transparent 1px),
            rgba(15, 23, 42, .58);
        background-size: 28px 28px, 28px 28px, auto;
        color: #7dd3fc;
        font-family: Arial, sans-serif;
        font-size: clamp(5.5rem, 28vw, 7.5rem);
        font-weight: 400;
        line-height: 1;
        box-shadow: 0 28px 70px rgba(0, 0, 0, .36);
        box-sizing: border-box;
        text-shadow: 0 0 32px rgba(56, 189, 248, .52);
        backdrop-filter: blur(18px);
        -webkit-backdrop-filter: blur(18px);
    }

    body:not(.login-page):not(.auth-page)::after {
        content: "OTOČTE ZARIADENIE\A\A Pegasus je konzolové rozhranie.\A Pokračujte s telefónom na šírku.";
        position: fixed;
        top: max(42px, env(safe-area-inset-top));
        right: max(38px, env(safe-area-inset-right));
        bottom: max(38px, env(safe-area-inset-bottom));
        left: max(38px, env(safe-area-inset-left));
        z-index: 2147483647;
        display: flex;
        align-items: center;
        justify-content: center;
        padding-top: 150px;
        color: #f8fafc;
        font-family: "Montserrat", sans-serif;
        font-size: clamp(.78rem, 3.7vw, .96rem);
        font-weight: 700;
        line-height: 1.55;
        letter-spacing: 1.25px;
        text-align: center;
        white-space: pre-line;
        text-shadow: 0 0 24px rgba(56, 189, 248, .45);
    }
}

@media (max-width: 1180px) and (max-height: 600px) and (orientation: landscape) {
    body.login-page,
    body.auth-page {
        min-height: 100dvh !important;
        overflow: hidden !important;
    }

    body.login-page > *,
    body.auth-page > * {
        display: none !important;
    }

    body.login-page::before,
    body.auth-page::before {
        content: "↻";
        position: fixed;
        top: max(14px, env(safe-area-inset-top));
        right: max(14px, env(safe-area-inset-right), 5vw);
        bottom: max(14px, env(safe-area-inset-bottom));
        left: max(14px, env(safe-area-inset-left), 5vw);
        z-index: 2147483646;
        display: flex;
        align-items: center;
        justify-content: center;
        padding-right: 260px;
        border: 1px solid rgba(255, 255, 255, .25);
        border-radius: 24px;
        background:
            linear-gradient(rgba(255, 255, 255, .04) 1px, transparent 1px),
            linear-gradient(90deg, rgba(255, 255, 255, .04) 1px, transparent 1px),
            rgba(15, 23, 42, .25);
        background-size: 28px 28px, 28px 28px, auto;
        color: #fff;
        font-family: Arial, sans-serif;
        font-size: clamp(4.5rem, 12vw, 5.5rem);
        line-height: 1;
        box-shadow: 0 24px 60px rgba(0, 0, 0, .3);
        box-sizing: border-box;
        text-shadow: 0 0 28px rgba(255, 255, 255, .35);
        backdrop-filter: blur(18px);
        -webkit-backdrop-filter: blur(18px);
    }

    body.login-page::after,
    body.auth-page::after {
        content: "PRIHLÁSENIE POKRAČUJE NA VÝŠKU\A Otočte telefón do zvislej polohy.";
        position: fixed;
        inset: 32px;
        z-index: 2147483647;
        display: flex;
        align-items: center;
        justify-content: center;
        padding-left: 180px;
        color: #fff;
        font-family: "Montserrat", sans-serif;
        font-size: clamp(.72rem, 1.8vw, .9rem);
        font-weight: 700;
        line-height: 1.55;
        letter-spacing: 2px;
        text-align: center;
        white-space: pre-line;
        text-shadow: 0 0 24px rgba(255, 255, 255, .28);
    }
}

/* Landscape console ------------------------------------------------------- */
@media (max-width: 1180px) and (max-height: 600px) and (orientation: landscape) {
    :root {
        --mobile-console-header: 52px;
        --mobile-console-radius: 15px;
        --mobile-console-gap: 10px;
    }

    html {
        scroll-padding-top: calc(var(--mobile-console-header) + 8px);
        overscroll-behavior-y: none;
    }

    body:not(.login-page):not(.auth-page) {
        min-height: 100dvh;
        overflow-x: hidden !important;
        font-size: 13px;
    }

    body:not(.login-page):not(.auth-page) button,
    body:not(.login-page):not(.auth-page) a,
    body:not(.login-page):not(.auth-page) input,
    body:not(.login-page):not(.auth-page) select {
        touch-action: manipulation;
    }

    /* One-row command header */
    .utility-bar {
        min-height: var(--mobile-console-header) !important;
        height: var(--mobile-console-header) !important;
        padding:
            0 max(10px, env(safe-area-inset-right))
            0 max(7px, env(safe-area-inset-left)) !important;
        flex-flow: row nowrap !important;
        gap: 8px;
        background: var(--header-bg) !important;
        border-bottom: 1px solid var(--border-color) !important;
        box-shadow: var(--shadow-card) !important;
        backdrop-filter: var(--glass-blur) !important;
        -webkit-backdrop-filter: var(--glass-blur) !important;
    }

    .brand-area {
        width: auto !important;
        min-width: 0;
        height: var(--mobile-console-header) !important;
        flex: 1 1 auto;
        justify-content: flex-start !important;
        gap: 4px !important;
        padding: 0 !important;
        background: transparent !important;
        border: 0 !important;
        box-shadow: none !important;
        backdrop-filter: none !important;
        -webkit-backdrop-filter: none !important;
    }

    .brand-area img,
    .brand-area .theme-logo-img {
        width: auto !important;
        height: 42px !important;
        max-height: 42px !important;
        margin: 0 -4px 0 0 !important;
        transform: none !important;
        object-fit: contain;
    }

    .brand-text {
        display: block !important;
        max-width: min(47vw, 390px);
        overflow: hidden;
        font-size: clamp(.58rem, 1.45vw, .72rem) !important;
        line-height: 1.15;
        letter-spacing: .8px !important;
        text-align: left !important;
        text-overflow: ellipsis;
        white-space: nowrap !important;
    }

    .user-menu {
        width: auto !important;
        min-width: 0;
        flex: 0 0 auto;
        flex-flow: row nowrap !important;
        justify-content: flex-end !important;
        gap: 6px !important;
        padding: 0 !important;
    }

    .user-menu > .clearance-badge,
    .user-menu > .user-badge:not(.admin-agent-trigger):not(.agent-menu-trigger) {
        display: none !important;
    }

    .theme-toggle-btn,
    .logout-link {
        display: inline-flex !important;
        align-items: center;
        width: auto !important;
        min-width: 38px;
        min-height: 38px;
        height: 38px;
        justify-content: center;
        gap: 5px;
        margin: 0 !important;
        padding: 0 10px !important;
        border: 1px solid var(--border-color) !important;
        border-radius: 12px !important;
        box-sizing: border-box;
        font-size: .63rem !important;
        letter-spacing: .2px;
        white-space: nowrap;
    }

    .admin-agent-menu,
    .agent-menu-anchor {
        display: flex;
        align-items: center;
    }

    .admin-agent-trigger.user-badge,
    .agent-menu-trigger.user-badge {
        display: inline-flex !important;
        width: 38px !important;
        min-width: 38px;
        height: 38px;
        justify-content: center;
        gap: 0 !important;
        padding: 0 !important;
        border-radius: 12px !important;
        font-size: 0 !important;
    }

    .admin-agent-trigger.user-badge > i,
    .agent-menu-trigger.user-badge > i {
        font-size: .85rem;
    }

    .admin-agent-trigger .admin-agent-chevron,
    .agent-menu-trigger .agent-menu-chevron {
        display: none;
    }

    .admin-agent-dropdown,
    .agent-dropdown {
        position: fixed !important;
        top: calc(var(--mobile-console-header) + 6px) !important;
        right: max(8px, env(safe-area-inset-right)) !important;
        left: auto !important;
        width: min(430px, calc(100vw - 16px)) !important;
        max-height: calc(100dvh - var(--mobile-console-header) - 14px) !important;
        overflow-y: auto;
    }

    /* Shared executive hero */
    .command-shell,
    .members-hero-wrap {
        width: calc(100% - 20px) !important;
        margin: 10px auto 26px !important;
    }

    .members-hero-wrap {
        margin-bottom: 0 !important;
    }

    .executive-hero {
        grid-template-columns: 64px minmax(0, 1fr) minmax(210px, 31vw) !important;
        justify-items: stretch !important;
        align-items: center !important;
        gap: 10px !important;
        margin: 7px 0 10px !important;
        padding: 11px 12px !important;
        border-radius: var(--mobile-console-radius) !important;
        text-align: left !important;
    }

    .executive-hero .hero-logo {
        width: 60px !important;
        max-height: 76px;
        justify-self: center;
        object-fit: contain;
    }

    .executive-hero .eyebrow {
        max-width: 100%;
        margin-bottom: 6px !important;
        padding: 4px 7px !important;
        overflow: hidden;
        font-size: .5rem !important;
        letter-spacing: .65px !important;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .executive-hero .welcome-message {
        margin: 0 0 5px !important;
        font-size: clamp(1.05rem, 2.6vw, 1.45rem) !important;
        line-height: 1 !important;
        letter-spacing: -.35px !important;
    }

    .executive-hero .sub-message {
        display: -webkit-box;
        margin: 0 !important;
        overflow: hidden;
        font-size: clamp(.58rem, 1.25vw, .69rem) !important;
        line-height: 1.35 !important;
        letter-spacing: .1px !important;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
    }

    .hero-metrics {
        width: 100% !important;
        min-width: 0 !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 5px !important;
    }

    .metric-card {
        min-width: 0;
        min-height: 48px !important;
        padding: 7px 8px !important;
        border-radius: 11px !important;
    }

    .metric-label {
        margin-bottom: 3px !important;
        overflow: hidden;
        font-size: .48rem !important;
        line-height: 1.15;
        letter-spacing: .45px !important;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .metric-value {
        font-size: .86rem !important;
        line-height: 1.1;
    }

    .system-lines {
        gap: 3px !important;
        font-size: .48rem !important;
        letter-spacing: .1px !important;
    }

    /* Main menu and card collections */
    .terminal-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
        gap: 8px !important;
        margin-bottom: 12px !important;
    }

    .terminal-card {
        min-width: 0;
        min-height: 84px !important;
        padding: 10px !important;
        border-radius: 14px !important;
    }

    .terminal-card .card-icon {
        width: 30px !important;
        height: 30px !important;
        margin: 0 0 8px !important;
        border-radius: 9px !important;
        font-size: .9rem !important;
    }

    .terminal-card .card-title {
        font-size: .62rem !important;
        line-height: 1.25;
        letter-spacing: .45px !important;
    }

    .terminal-card small {
        margin-top: 4px !important;
        font-size: .52rem !important;
        line-height: 1.25;
    }

    .database-module-list {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: 9px !important;
    }

    .database-module-link {
        min-height: 120px !important;
        padding: 13px !important;
        border-radius: 15px !important;
    }

    .module-number {
        top: 12px !important;
        right: 12px !important;
    }

    .module-icon {
        width: 36px !important;
        height: 36px !important;
        margin-bottom: 11px !important;
        border-radius: 10px !important;
    }

    .module-copy strong {
        margin-bottom: 5px !important;
        font-size: .73rem !important;
    }

    .module-copy small {
        font-size: .57rem !important;
        line-height: 1.35 !important;
    }

    .module-arrow {
        padding-top: 8px !important;
    }

    .org-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: 9px !important;
    }

    .wg-card,
    .modern-item,
    .doc-list-item,
    .temporary-card {
        flex-direction: row !important;
        align-items: center !important;
    }

    /* Sections, sidebars and dense data */
    .section-header,
    .section-toolbar,
    .module-heading-row {
        flex-direction: row !important;
        align-items: flex-end !important;
        gap: 12px !important;
        margin-bottom: 12px !important;
        padding-bottom: 8px !important;
    }

    .section-header button,
    .section-header .btn-action {
        width: auto !important;
    }

    .section-title,
    .section-toolbar h2,
    .module-heading-row h2 {
        font-size: clamp(1.05rem, 2.25vw, 1.35rem) !important;
    }

    .section-desc,
    .section-toolbar p,
    .module-heading-row p {
        font-size: .62rem !important;
        line-height: 1.35 !important;
    }

    .database-section,
    .form-panel,
    .panel {
        padding: 14px !important;
        border-radius: var(--mobile-console-radius) !important;
    }

    .admin-grid {
        display: grid !important;
        width: calc(100% - 20px) !important;
        grid-template-columns: minmax(145px, 20vw) minmax(0, 1fr) !important;
        gap: 10px !important;
        margin: 10px auto 28px !important;
    }

    .sidebar {
        position: sticky !important;
        top: calc(var(--mobile-console-header) + 8px) !important;
        max-height: calc(100dvh - var(--mobile-console-header) - 16px);
        flex-direction: column !important;
        gap: 4px !important;
        padding: 7px !important;
        overflow: auto;
        border-radius: 14px !important;
    }

    .sidebar .nav-item {
        flex: 0 0 auto;
        padding: 8px 9px !important;
        border-width: 1px !important;
        border-radius: 9px !important;
        font-size: .56rem !important;
        line-height: 1.25;
        letter-spacing: .2px !important;
    }

    .admin-content {
        min-width: 0;
        padding: 0 !important;
    }

    .committee-grid {
        grid-template-columns: minmax(160px, 27vw) minmax(0, 1fr) !important;
        gap: 10px !important;
    }

    .action-panel {
        position: sticky !important;
        top: calc(var(--mobile-console-header) + 8px) !important;
        height: auto !important;
        max-height: calc(100dvh - var(--mobile-console-header) - 16px) !important;
        overflow: auto !important;
    }

    .info-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .regional-layout {
        grid-template-columns: minmax(160px, 24vw) minmax(0, 1fr) !important;
        gap: 10px !important;
    }

    .district-panel {
        position: sticky !important;
        top: calc(var(--mobile-console-header) + 8px) !important;
        max-height: calc(100dvh - var(--mobile-console-header) - 18px) !important;
        padding: 7px !important;
        border-radius: 13px !important;
    }

    .regional-scope-island {
        position: sticky !important;
        top: calc(var(--mobile-console-header) + 6px) !important;
        width: max-content !important;
        grid-template-columns: repeat(3, minmax(90px, 1fr)) !important;
        margin-bottom: 10px !important;
    }

    .regional-scope-island button {
        min-height: 34px !important;
        padding: 6px 10px !important;
        font-size: .58rem !important;
    }

    .regional-search,
    .database-search {
        width: min(360px, 42vw) !important;
        flex-basis: auto !important;
    }

    .member-card-grid {
        grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)) !important;
        gap: 9px !important;
    }

    .member-card {
        padding: 13px !important;
        border-radius: 15px !important;
    }

    .form-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 9px !important;
    }

    .form-group.full,
    .form-field.is-full,
    .form-field.full {
        grid-column: 1 / -1 !important;
    }

    .form-field:not(.is-full):not(.full) {
        grid-column: auto !important;
    }

    .form-group input,
    .form-group select,
    .form-group textarea,
    .form-field > input,
    .form-field > select,
    .form-field > textarea {
        min-height: 38px !important;
        padding: 8px 10px !important;
        border-radius: 9px !important;
        font-size: 16px;
    }

    .table-wrap,
    .table-responsive,
    .complete-table-wrap,
    .members-table-wrap,
    .responsive-table,
    .regional-results {
        max-width: 100%;
        overflow: auto !important;
        -webkit-overflow-scrolling: touch;
        overscroll-behavior: contain;
    }

    .complete-table-wrap {
        min-height: 0 !important;
        max-height: calc(100dvh - 150px) !important;
    }

    .temporary-card {
        display: grid !important;
        grid-template-columns: 44px minmax(0, 1fr) auto !important;
    }

    .temporary-card-meta {
        grid-column: auto !important;
        min-width: 130px !important;
        flex-direction: column !important;
        align-items: flex-end !important;
        padding: 0 0 0 12px !important;
        border-top: 0 !important;
        border-left: 1px solid var(--border-color) !important;
    }

    .temporary-detail-head {
        grid-template-columns: auto minmax(0, 1fr) auto !important;
        align-items: center !important;
        gap: 10px !important;
    }

    /* Protocol console keeps its three-part command layout */
    .shell {
        width: calc(100% - 20px) !important;
        margin: 10px auto 28px !important;
    }

    .shell > .hero {
        margin-bottom: 10px !important;
        padding: 15px !important;
        border-radius: var(--mobile-console-radius) !important;
    }

    .shell > .hero h1 {
        margin: 7px 0 !important;
        font-size: clamp(1.35rem, 3.5vw, 2rem) !important;
    }

    .shell > .hero p {
        margin: 6px 0 !important;
        font-size: .63rem !important;
        line-height: 1.4 !important;
    }

    .topline,
    .status-grid {
        gap: 6px !important;
    }

    .status-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        margin-top: 10px !important;
    }

    .gate {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 10px !important;
    }

    .protocol-console-header {
        flex-direction: row !important;
        align-items: center !important;
    }

    .protocol-unit {
        grid-template-columns: 48px minmax(0, 1fr) minmax(165px, 26vw) !important;
        min-height: 128px !important;
        border-radius: var(--mobile-console-radius) !important;
    }

    .protocol-index {
        display: grid !important;
    }

    .protocol-identity {
        padding: 14px !important;
    }

    .protocol-codeline {
        gap: 7px !important;
        margin-bottom: 7px !important;
    }

    .protocol-codeword {
        font-size: .9rem !important;
    }

    .protocol-class {
        padding: 4px 6px !important;
        font-size: .48rem !important;
    }

    .protocol-identity h3 {
        margin-bottom: 5px !important;
        font-size: .82rem !important;
    }

    .protocol-identity p {
        display: -webkit-box;
        overflow: hidden;
        font-size: .59rem !important;
        line-height: 1.35 !important;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
    }

    .protocol-warning {
        margin-top: 7px !important;
        padding: 7px 8px !important;
        border-radius: 9px !important;
        font-size: .53rem !important;
        line-height: 1.3 !important;
    }

    .protocol-telemetry {
        grid-column: 2 / 3 !important;
        padding: 10px 14px !important;
        border-left: 0 !important;
        border-top: 1px solid rgba(255, 255, 255, .075) !important;
    }

    .protocol-execute,
    .omega-action-panel {
        grid-column: 3 / 4 !important;
        grid-row: 1 / 3 !important;
        padding: 11px !important;
    }

    .telemetry-item {
        padding: 5px 0 !important;
        font-size: .58rem !important;
    }

    .telemetry-item b {
        font-size: .48rem !important;
    }

    .task-manage-body {
        display: grid !important;
        grid-template-columns: minmax(225px, 34vw) minmax(0, 1fr) !important;
        overflow: hidden !important;
    }

    .task-create-panel {
        overflow: auto !important;
        border-right: 1px solid var(--border-color) !important;
        border-bottom: 0 !important;
    }

    .task-manage-workspace {
        overflow: auto !important;
    }

    /* Dialogs stay fully reachable in short viewports */
    .modal-overlay,
    [class*="modal-overlay"],
    div[id^="modal"] {
        padding:
            max(7px, env(safe-area-inset-top))
            max(8px, env(safe-area-inset-right))
            max(7px, env(safe-area-inset-bottom))
            max(8px, env(safe-area-inset-left)) !important;
    }

    .database-modal,
    .modal-content,
    .task-dialog,
    .picker-dialog,
    div[id^="modal"] > div {
        width: min(760px, 96vw) !important;
        max-width: 96vw !important;
        max-height: calc(100dvh - 14px) !important;
        margin: auto !important;
        overflow: auto !important;
        border-radius: 14px !important;
    }

    .modal-header,
    .modal-footer,
    .modal-body {
        padding: 10px 12px !important;
    }

    .modal-footer {
        flex-direction: row !important;
        align-items: center !important;
    }

    .modal-footer .database-button {
        width: auto !important;
    }

    /* Secondary content does not dominate the short viewport */
    .modern-log-container {
        padding: 13px !important;
        border-radius: var(--mobile-console-radius) !important;
    }

    .log-header {
        margin-bottom: 8px !important;
        padding-bottom: 7px !important;
        font-size: .61rem !important;
    }

    .log-list {
        max-height: 155px !important;
        gap: 5px !important;
    }

    .log-item {
        flex-direction: row !important;
        align-items: center !important;
        padding: 6px !important;
    }

    .log-date {
        align-self: auto !important;
        margin: 0 !important;
    }

    .pegasus-footer {
        width: calc(100% - 24px) !important;
        margin: 22px auto 0 !important;
        padding: 0 0 max(12px, env(safe-area-inset-bottom)) !important;
    }

    .pegasus-footer p {
        max-width: 760px;
        margin-bottom: 10px !important;
        font-size: .5rem !important;
        line-height: 1.35 !important;
    }

    .pegasus-footer span {
        font-size: .52rem !important;
    }
}

/* Final type scale and iPhone-safe spacing ------------------------------- */
@media (max-width: 1180px) and (max-height: 600px) and (orientation: landscape) {
    .utility-bar {
        padding-right: max(14px, env(safe-area-inset-right), 5.5vw) !important;
        padding-left: max(14px, env(safe-area-inset-left), 5.5vw) !important;
    }

    .executive-hero .eyebrow {
        font-size: .58rem !important;
        line-height: 1.2 !important;
    }

    .executive-hero .sub-message {
        font-size: .66rem !important;
    }

    .metric-label,
    .system-lines {
        font-size: .54rem !important;
    }

    .terminal-card .card-title {
        font-size: .66rem !important;
    }

    .terminal-card small,
    .module-copy small,
    .section-desc,
    .section-toolbar p,
    .module-heading-row p {
        font-size: .59rem !important;
    }

    .sidebar .nav-item {
        font-size: .6rem !important;
    }

    /* The main command screen is deliberately narrower than the viewport. */
    .index-page .command-shell {
        width: auto !important;
        max-width: 940px !important;
        margin-top: 10px !important;
        margin-right: max(22px, env(safe-area-inset-right), 6.5vw) !important;
        margin-bottom: 28px !important;
        margin-left: max(22px, env(safe-area-inset-left), 6.5vw) !important;
    }

    .index-page .executive-hero {
        grid-template-columns: 56px minmax(0, 1fr) minmax(190px, 30vw) !important;
        gap: 9px !important;
        min-height: 0;
        padding: 10px 11px !important;
    }

    .index-page .executive-hero .hero-logo {
        width: 52px !important;
        max-height: 66px;
    }

    .index-page .executive-hero .welcome-message {
        font-size: clamp(1rem, 2.15vw, 1.18rem) !important;
        line-height: 1.06 !important;
    }

    .index-page .metric-card {
        min-height: 45px !important;
        padding: 7px 8px !important;
    }

    .index-page .metric-value {
        font-size: .8rem !important;
    }

    .index-page .system-notification {
        margin: -1px 0 12px !important;
        padding: 11px 13px !important;
        gap: 10px !important;
        border-radius: 14px !important;
    }

    .index-page .system-notification > i {
        width: 34px !important;
        height: 34px !important;
        border-radius: 10px !important;
        font-size: .72rem !important;
    }

    .index-page .system-notification strong {
        margin-bottom: 3px !important;
        font-size: .67rem !important;
        line-height: 1.3 !important;
        letter-spacing: .45px !important;
    }

    .index-page .system-notification p {
        font-size: .56rem !important;
        font-weight: 600 !important;
        line-height: 1.4 !important;
        letter-spacing: 0 !important;
    }

    .index-page .system-notification small {
        margin-top: 5px !important;
        font-size: .53rem !important;
        line-height: 1.25 !important;
        letter-spacing: .35px !important;
    }

    .index-page .executive-override-code {
        margin-top: 6px !important;
        padding: 4px 6px !important;
        font-size: .53rem !important;
        letter-spacing: .35px !important;
    }

    .index-page .modern-log-container {
        margin-top: 8px !important;
        padding: 0 !important;
        border-radius: 14px !important;
    }

    .index-page .log-header {
        min-height: 38px !important;
        margin: 0 !important;
        padding: 8px 12px !important;
        font-size: .68rem !important;
        line-height: 1.2 !important;
        letter-spacing: .5px !important;
    }

    .index-page .log-header-title {
        gap: 7px !important;
    }

    .index-page .log-toggle-btn {
        min-height: 28px !important;
        padding: 5px 9px !important;
        font-size: .55rem !important;
        letter-spacing: .4px !important;
    }

    .index-page .log-list {
        max-height: 190px !important;
        gap: 0 !important;
        padding: 0 !important;
    }

    .index-page .log-item {
        min-height: 48px;
        gap: 10px !important;
        padding: 8px 12px !important;
    }

    .index-page .log-info {
        gap: 9px !important;
    }

    .index-page .log-icon {
        width: 30px !important;
        height: 30px !important;
        flex-basis: 30px !important;
        border-radius: 9px !important;
        font-size: .65rem !important;
    }

    .index-page .log-text {
        font-size: .66rem !important;
        line-height: 1.3 !important;
    }

    .index-page .log-sub {
        margin-top: 2px !important;
        font-size: .59rem !important;
        line-height: 1.3 !important;
    }

    .index-page .log-date {
        font-size: .56rem !important;
        line-height: 1.25 !important;
    }

    .index-page .empty-log {
        padding: 14px !important;
        font-size: .64rem !important;
    }

    .index-page .task-queue-shell {
        margin: -1px 0 12px !important;
        border-radius: 14px !important;
    }

    .index-page .task-queue-header {
        gap: 9px !important;
        padding: 10px 12px !important;
    }

    .index-page .task-queue-mark {
        width: 34px !important;
        height: 34px !important;
        flex-basis: 34px !important;
        border-radius: 10px !important;
        font-size: .72rem !important;
    }

    .index-page .task-queue-kicker {
        margin-bottom: 2px !important;
        font-size: .58rem !important;
        letter-spacing: .8px !important;
    }

    .index-page .task-queue-heading h2 {
        font-size: .88rem !important;
        line-height: 1.2 !important;
        letter-spacing: .35px !important;
    }

    .index-page .task-queue-heading p {
        margin-top: 2px !important;
        font-size: .64rem !important;
        line-height: 1.35 !important;
    }

    .index-page .task-queue-count,
    .index-page .task-queue-completed,
    .index-page .task-manage-button {
        min-height: 30px !important;
        padding: 6px 9px !important;
        font-size: .57rem !important;
    }

    .index-page .task-queue-list {
        padding: 11px !important;
        gap: 9px !important;
    }

    .index-page .task-queue-empty {
        padding: 15px !important;
        border-radius: 12px !important;
        font-size: .65rem !important;
    }

    .index-page .task-row {
        grid-template-columns: 36px minmax(0, 1fr) auto !important;
        gap: 10px !important;
        padding: 11px 12px !important;
        border-radius: 13px !important;
    }

    .index-page .task-row-index {
        width: 34px !important;
        height: 34px !important;
        border-radius: 10px !important;
        font-size: .65rem !important;
    }

    .index-page .task-row-type,
    .index-page .task-row-meta {
        font-size: .56rem !important;
    }

    .index-page .task-row-copy h3 {
        font-size: .72rem !important;
        line-height: 1.35 !important;
    }

    .index-page .task-row-copy p {
        margin-top: 4px !important;
        font-size: .62rem !important;
        line-height: 1.4 !important;
    }

    .index-page .access-denied-banner {
        margin-bottom: 12px !important;
        padding: 10px 12px !important;
        gap: 9px !important;
        border-radius: 13px !important;
        font-size: .64rem !important;
        line-height: 1.4 !important;
    }

    .index-page .system-lines {
        gap: 2px !important;
        font-size: clamp(.45rem, 1.05vw, .5rem) !important;
        line-height: 1.2 !important;
        letter-spacing: 0 !important;
    }

    .index-page .system-lines span {
        gap: 3px !important;
    }

    .index-page .system-lines i {
        width: .36rem;
        height: .36rem;
        flex: 0 0 .36rem;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        font-size: .34rem !important;
        line-height: 1 !important;
    }
}

@media (max-width: 740px) and (max-height: 460px) and (orientation: landscape) {
    .brand-text {
        max-width: 34vw;
    }

    .theme-toggle-btn {
        width: 38px !important;
        padding: 0 !important;
        font-size: 0 !important;
    }

    .theme-toggle-btn i {
        font-size: .78rem;
    }

    .executive-hero {
        grid-template-columns: 52px minmax(0, 1fr) minmax(188px, 31vw) !important;
    }

    .executive-hero .hero-logo {
        width: 50px !important;
    }

    .terminal-card small,
    .executive-hero .sub-message {
        -webkit-line-clamp: 1;
    }

    .index-page .system-lines {
        gap: 2px !important;
        font-size: clamp(.45rem, 1.05vw, .5rem) !important;
        letter-spacing: 0 !important;
    }

    .index-page .system-lines span {
        gap: 3px !important;
    }
}

/* Module-specific landscape polish -------------------------------------- */
@media (max-width: 1180px) and (max-height: 600px) and (orientation: landscape) {
    /*
     * Keep every console module on the same readable measure as index.php.
     * The calculated part recentres the shell on wider landscape devices,
     * while the safe-area and viewport margins protect iPhone cutouts.
     */
    .command-shell,
    .shell {
        width: auto !important;
        max-width: 940px !important;
        margin-right: max(22px, env(safe-area-inset-right), 6.5vw, calc(50vw - 470px)) !important;
        margin-left: max(22px, env(safe-area-inset-left), 6.5vw, calc(50vw - 470px)) !important;
    }

    .membership-page .members-hero-wrap,
    .membership-page .admin-grid {
        width: auto !important;
        max-width: 940px !important;
        margin-right: max(22px, env(safe-area-inset-right), 6.5vw, calc(50vw - 470px)) !important;
        margin-left: max(22px, env(safe-area-inset-left), 6.5vw, calc(50vw - 470px)) !important;
    }

    .index-page .command-shell {
        margin-right: max(22px, env(safe-area-inset-right), 6.5vw, calc(50vw - 470px)) !important;
        margin-left: max(22px, env(safe-area-inset-left), 6.5vw, calc(50vw - 470px)) !important;
    }

    /* Admissions: applicants are primary; form detail is a compact rail. */
    .committee-page .committee-grid {
        grid-template-columns: minmax(0, 1.65fr) minmax(210px, .85fr) !important;
        gap: 8px !important;
    }

    .committee-page .table-panel,
    .committee-page .action-panel {
        border-radius: 14px !important;
    }

    .committee-page .scroll-table {
        max-height: calc(100dvh - var(--mobile-console-header) - 16px) !important;
    }

    .committee-page .hr-table {
        font-size: .66rem !important;
    }

    .committee-page .hr-table th,
    .committee-page .hr-table td {
        padding: 8px 9px !important;
    }

    .committee-page .hr-table th {
        font-size: .54rem !important;
        line-height: 1.2 !important;
        letter-spacing: .35px !important;
    }

    .committee-page .t-name {
        font-size: .7rem !important;
        line-height: 1.3 !important;
    }

    .committee-page .t-email {
        font-size: .61rem !important;
        line-height: 1.3 !important;
    }

    .committee-page .t-date,
    .committee-page .status-pill {
        font-size: .53rem !important;
        line-height: 1.2 !important;
    }

    .committee-page .status-pill {
        padding: 3px 5px !important;
    }

    .committee-page .action-panel {
        padding: 9px !important;
    }

    .committee-page .panel-placeholder {
        margin-top: 44px !important;
        font-size: .6rem !important;
        line-height: 1.4 !important;
    }

    .committee-page .panel-placeholder i {
        margin-bottom: 7px !important;
        font-size: 1.25rem !important;
    }

    .committee-page #contentPanel > div:first-child {
        gap: 5px !important;
        margin-bottom: 8px !important;
        padding-bottom: 7px !important;
    }

    .committee-page #pName {
        font-size: .78rem !important;
        line-height: 1.2 !important;
    }

    .committee-page #pEmail,
    .committee-page #pStatus {
        margin-top: 2px !important;
        font-size: .57rem !important;
        line-height: 1.25 !important;
    }

    .committee-page .info-grid {
        gap: 5px !important;
        margin-bottom: 6px !important;
    }

    .committee-page .detail-card {
        min-width: 0;
        padding: 6px !important;
        border-radius: 9px !important;
    }

    .committee-page .detail-label,
    .committee-page .q-title {
        margin-bottom: 2px !important;
        font-size: .47rem !important;
        line-height: 1.25 !important;
        letter-spacing: .3px !important;
    }

    .committee-page .detail-value {
        font-size: .58rem !important;
        line-height: 1.3 !important;
    }

    .committee-page .question-card {
        margin-bottom: 5px !important;
        padding: 6px !important;
        border-radius: 9px !important;
    }

    .committee-page .question-card[style] {
        margin-bottom: 8px !important;
    }

    .committee-page .q-answer {
        font-size: .55rem !important;
        line-height: 1.35 !important;
    }

    .committee-page #actionButtons {
        padding-top: 7px !important;
    }

    .committee-page .btn-panel {
        min-height: 28px !important;
        gap: 5px !important;
        margin-bottom: 5px !important;
        padding: 5px 7px !important;
        border-radius: 8px !important;
        font-size: .5rem !important;
        line-height: 1.2 !important;
        letter-spacing: .35px !important;
    }

    /* Databases: keep a stable three-card row even on the smallest iPhone. */
    .database-page .database-section {
        padding: 10px !important;
    }

    .database-page .regional-filterbar {
        position: static !important;
        top: auto !important;
        width: 100vw !important;
        gap: 0 !important;
        margin-bottom: 8px !important;
        padding: 5px 9px !important;
        border-radius: 0 !important;
    }

    .database-page .regional-district-scroll {
        gap: 6px !important;
        padding-bottom: 5px !important;
    }

    .database-page .regional-district-chip {
        min-height: 30px !important;
        gap: 5px !important;
        padding: 5px 8px !important;
        font-size: .53rem !important;
    }

    .database-page .regional-district-chip b {
        min-width: 15px !important;
        padding: 2px 4px !important;
        font-size: .48rem !important;
    }

    .database-page .regional-district-select {
        min-width: min(285px, 41vw) !important;
        gap: 6px !important;
        padding-left: 7px !important;
    }

    .database-page .regional-district-select > span {
        font-size: .5rem !important;
        letter-spacing: .35px !important;
    }

    .database-page .regional-district-select select {
        min-height: 30px !important;
        padding: 5px 27px 5px 8px !important;
        border-radius: 8px !important;
        font-size: .58rem !important;
    }

    .database-page .regional-filterbar .regional-scope-island {
        position: static !important;
        grid-template-columns: repeat(3, minmax(76px, 1fr)) !important;
        margin: 0 !important;
    }

    .database-page .regional-filterbar .regional-scope-island button {
        min-height: 30px !important;
        gap: 4px !important;
        padding: 5px 8px !important;
        font-size: .53rem !important;
    }

    .database-page .regional-scope-row {
        display: flex !important;
        justify-content: center !important;
        margin-bottom: 8px !important;
        padding: 0 8px !important;
    }

    .database-page .regional-scope-row .regional-scope-island {
        width: min(100%, 420px) !important;
        grid-template-columns: repeat(3, minmax(76px, 1fr)) !important;
        margin: 0 !important;
        padding: 4px !important;
    }

    .database-page .regional-scope-row .regional-scope-island button {
        min-height: 30px !important;
        gap: 4px !important;
        padding: 5px 8px !important;
        font-size: .53rem !important;
    }

    .database-page .regional-results {
        width: 100% !important;
        padding: 9px !important;
        border-radius: 14px !important;
    }

    .database-page .member-card-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: 7px !important;
    }

    .database-page .member-card {
        padding: 9px !important;
        border-radius: 12px !important;
    }

    .database-page .mc-header {
        gap: 7px !important;
        margin-bottom: 8px !important;
    }

    .database-page .mc-icon {
        width: 30px !important;
        height: 30px !important;
        flex-basis: 30px !important;
        border-radius: 9px !important;
        font-size: .61rem !important;
        letter-spacing: .3px !important;
    }

    .database-page .mc-name {
        margin-bottom: 2px !important;
        font-size: .68rem !important;
        line-height: 1.2 !important;
    }

    .database-page .mc-role {
        font-size: .48rem !important;
        line-height: 1.2 !important;
        letter-spacing: .3px !important;
    }

    .database-page .point-row {
        gap: 2px !important;
        margin-top: 3px !important;
    }

    .database-page .point-row span {
        padding: 1px 4px !important;
        font-size: .47rem !important;
    }

    .database-page .mc-info-grid {
        gap: 5px !important;
        margin-bottom: 7px !important;
        font-size: .55rem !important;
        line-height: 1.3 !important;
    }

    .database-page .mc-info-grid div {
        gap: 4px !important;
    }

    .database-page .mc-info-grid span {
        min-width: 0;
        display: block;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .database-page .mc-info-grid i {
        width: 11px !important;
        flex-basis: 11px !important;
    }

    .database-page .mc-school-box {
        padding: 6px !important;
        border-left-width: 2px !important;
        border-radius: 8px !important;
    }

    .database-page .mc-school-name {
        gap: 4px !important;
        font-size: .53rem !important;
        line-height: 1.3 !important;
    }

    .database-page .mc-school-name span {
        display: -webkit-box;
        overflow: hidden;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
    }

    .database-page .member-card-actions {
        grid-auto-columns: 27px !important;
        gap: 4px !important;
        margin-top: 7px !important;
        padding-top: 6px !important;
    }

    .database-page .member-action {
        width: 27px !important;
        height: 27px !important;
        border-radius: 8px !important;
        font-size: .55rem !important;
    }

    .database-page .regional-member-card .mc-info-grid span {
        display: -webkit-box;
        overflow: hidden;
        white-space: normal;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
    }

    /* Structure: centered control pair and centered, bounded organ cards. */
    .structure-page .terminal-grid {
        width: min(100%, 440px) !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 8px !important;
        margin-right: auto !important;
        margin-bottom: 14px !important;
        margin-left: auto !important;
    }

    .structure-page .content-section {
        width: min(100%, 820px) !important;
        margin-right: auto !important;
        margin-left: auto !important;
        padding-right: 0 !important;
        padding-left: 0 !important;
    }

    .structure-page .org-section-title {
        justify-content: center !important;
        margin-bottom: 10px !important;
        text-align: center !important;
        font-size: .72rem !important;
    }

    .structure-page .org-grid {
        width: min(100%, 720px) !important;
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: 8px !important;
        margin-right: auto !important;
        margin-bottom: 18px !important;
        margin-left: auto !important;
    }

    .structure-page .org-divider {
        margin: 18px auto !important;
    }

    .structure-page .org-slot-header {
        padding: 7px 9px !important;
        font-size: .52rem !important;
        line-height: 1.25 !important;
    }

    .structure-page .org-slot-body,
    .structure-page .org-slot.person-card .org-slot-body {
        padding: 9px !important;
    }

    .structure-page .member-name {
        font-size: .68rem !important;
        line-height: 1.25 !important;
    }

    .structure-page .member-email,
    .structure-page .role-badge,
    .structure-page .empty-text {
        font-size: .5rem !important;
        line-height: 1.25 !important;
    }

    .structure-page .role-badges {
        gap: 4px !important;
        margin-top: 7px !important;
    }

    .structure-page .role-badge {
        padding: 4px 6px !important;
    }

    .structure-page .org-slot.empty {
        min-height: 88px !important;
        padding: 10px !important;
    }

    .structure-page .empty-plus {
        margin-bottom: 4px !important;
        font-size: 1.2rem !important;
    }

    .structure-page .wg-list {
        width: min(100%, 720px) !important;
        gap: 7px !important;
        margin-right: auto !important;
        margin-left: auto !important;
    }

    .structure-page .wg-card {
        gap: 10px !important;
        padding: 10px 12px !important;
    }

    .structure-page .wg-info h3 {
        font-size: .72rem !important;
    }

    .structure-page .wg-info p,
    .structure-page .wg-leader,
    .structure-page .wg-count {
        font-size: .55rem !important;
    }

    .structure-page .wg-detail-panel {
        padding: 10px !important;
        overflow: visible !important;
        border-radius: 13px !important;
    }

    .structure-page .wg-detail-header {
        grid-template-columns: minmax(0, 1fr) auto !important;
        align-items: start !important;
        gap: 9px !important;
        margin-bottom: 10px !important;
        padding-bottom: 9px !important;
    }

    .structure-page .wg-detail-info {
        min-width: 0;
        padding-right: 0 !important;
    }

    .structure-page .wg-detail-info > .btn-action {
        width: auto !important;
        min-height: 27px !important;
        margin-bottom: 7px !important;
        padding: 5px 8px !important;
        border-radius: 8px !important;
        font-size: .49rem !important;
        letter-spacing: .25px !important;
    }

    .structure-page #det-wg-name {
        margin-bottom: 3px !important;
        font-size: .86rem !important;
        line-height: 1.2 !important;
    }

    .structure-page #det-wg-name span {
        font-size: .58rem !important;
    }

    .structure-page #det-wg-desc {
        margin-bottom: 5px !important;
        font-size: .55rem !important;
        line-height: 1.35 !important;
    }

    .structure-page .wg-detail-info > div:last-child {
        gap: 5px !important;
        margin-top: 7px !important;
    }

    .structure-page .wg-detail-info .wg-leader {
        width: auto !important;
        gap: 4px !important;
        padding: 5px 8px !important;
        font-size: .52rem !important;
    }

    .structure-page .wg-detail-info > div:last-child .btn-action {
        width: auto !important;
        min-height: 27px !important;
        padding: 5px 8px !important;
        border-radius: 8px !important;
        font-size: .49rem !important;
        letter-spacing: .25px !important;
    }

    .structure-page .wg-detail-controls {
        width: auto !important;
        min-width: 0 !important;
        max-width: 270px !important;
        justify-content: flex-end !important;
        gap: 5px !important;
        margin-top: 0 !important;
    }

    .structure-page .wg-detail-control-group {
        width: auto !important;
        gap: 5px !important;
    }

    .structure-page .wg-detail-control-group form {
        width: auto !important;
    }

    .structure-page .wg-detail-controls .btn-action {
        width: auto !important;
        min-height: 28px !important;
        gap: 4px !important;
        padding: 5px 8px !important;
        border-radius: 8px !important;
        font-size: .49rem !important;
        line-height: 1.2 !important;
        letter-spacing: .25px !important;
        justify-content: center !important;
    }

    .structure-page .wg-detail-panel > h3 {
        margin: 0 0 7px !important;
        font-size: .67rem !important;
    }

    .structure-page .wg-member-list {
        display: flex !important;
        flex-direction: column !important;
        gap: 5px !important;
        max-height: none !important;
        margin-bottom: 8px !important;
        overflow: visible !important;
    }

    .structure-page .wg-member-card {
        grid-template-columns: minmax(0, 1fr) auto !important;
        gap: 7px !important;
        padding: 7px 9px !important;
        border-radius: 9px !important;
    }

    .structure-page .wg-mc-info {
        grid-template-columns: minmax(100px, 1fr) minmax(145px, 1.35fr) minmax(85px, .75fr) !important;
        gap: 8px !important;
    }

    .structure-page .wg-mc-name {
        overflow: hidden;
        font-size: .61rem !important;
        line-height: 1.25 !important;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .structure-page .wg-mc-email,
    .structure-page .wg-mc-phone {
        overflow: hidden;
        font-size: .52rem !important;
        line-height: 1.25 !important;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .structure-page .btn-icon-red {
        padding: 3px !important;
        font-size: .72rem !important;
    }

    /* Membership: rating and interview records become dense console rows. */
    .membership-page .modern-list {
        width: 100% !important;
        max-width: none !important;
        gap: 6px !important;
    }

    .membership-page .modern-item {
        min-height: 44px !important;
        flex-wrap: nowrap !important;
        gap: 7px !important;
        padding: 7px 9px !important;
        border-radius: 11px !important;
    }

    .membership-page .mi-icon {
        width: 30px !important;
        height: 30px !important;
        flex-basis: 30px !important;
        margin-right: 2px !important;
        border-radius: 9px !important;
        font-size: .62rem !important;
    }

    .membership-page .mi-content {
        min-width: 0;
        flex: 1 1 auto !important;
    }

    .membership-page .mi-title {
        margin-bottom: 2px !important;
        overflow: hidden;
        font-size: .67rem !important;
        line-height: 1.25 !important;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .membership-page .mi-title span {
        margin-left: 4px !important;
        font-size: .48rem !important;
    }

    .membership-page .mi-meta {
        gap: 7px !important;
        overflow: hidden;
        font-size: .52rem !important;
        line-height: 1.3 !important;
        white-space: nowrap;
    }

    .membership-page .mi-meta span {
        padding: 1px 4px !important;
    }

    .membership-page .mi-status {
        width: auto !important;
        flex: 0 0 auto !important;
        gap: 8px !important;
        margin: 0 5px !important;
        justify-content: flex-start !important;
    }

    .membership-page .mi-status div > div:first-child {
        font-size: .46rem !important;
    }

    .membership-page .point-plus,
    .membership-page .point-minus {
        font-size: .72rem !important;
        line-height: 1.15 !important;
    }

    .membership-page .status-badge {
        padding: 3px 6px !important;
        font-size: .49rem !important;
    }

    .membership-page .mi-action .btn-action {
        width: auto !important;
        min-height: 27px !important;
        gap: 4px !important;
        padding: 5px 8px !important;
        border-radius: 8px !important;
        font-size: .5rem !important;
        letter-spacing: .25px !important;
        white-space: nowrap;
    }

    .membership-page .mi-action {
        width: auto !important;
        flex: 0 0 auto !important;
    }

    .membership-page .section-header > .btn-action {
        min-height: 30px !important;
        gap: 5px !important;
        padding: 6px 9px !important;
        border-radius: 9px !important;
        font-size: .54rem !important;
        line-height: 1.2 !important;
        letter-spacing: .35px !important;
        white-space: nowrap;
    }
}

@media (prefers-reduced-motion: reduce) {
    body *,
    body *::before,
    body *::after {
        scroll-behavior: auto !important;
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .01ms !important;
    }
}
