.login-required-popup {
    width: 280px;
    padding: 16px;
    border: 1px solid var(--panel-border);
    border-radius: var(--radius-md);
    background: var(--panel);
    color: var(--text);
    box-shadow: var(--shadow-panel);
    font-size: var(--font-md);
    line-height: 1.5;
}

.login-required-popup p { margin: 0 0 10px; }
.login-required-popup a { display: inline-flex; align-items: center; min-height: 44px; }

:root {
    color-scheme: light;
    --font-family-sans: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    --blue: #1769a8;
    --blue-dark: #0f5589;
    --blue-deep: #0d4d7e;
    --blue-soft: #eaf5fc;
    --link: #1269a8;
    --line: #d5dce3;
    --line-soft: #dce8f0;
    --panel: #ffffff;
    --page: #e9eef4;
    --text: #1d2730;
    --muted: #6e7b86;
    --row: #f7fbff;
    --control-height-sm: 34px;
    --control-height-md: 36px;
    --font-sm: 0.84rem;
    --font-md: 0.94rem;
    --font-lg: 1.08rem;
    --map-panel-font-family: var(--font-family-sans);
    --map-panel-font-size: 12px;
    --map-panel-line-height: 1.5;
    --map-panel-toggle-bg: rgba(13, 77, 126, 0.22);
    --map-panel-toggle-hover-bg: rgba(13, 77, 126, 0.3);
    --radius-sm: 5px;
    --radius-md: 7px;
    --header-bg: #edf6fb;
    --hover-bg: #f2fbff;
    --focus-ring: 0 0 0 3px rgba(23, 105, 168, 0.22);
    --shadow-control: 0 2px 5px rgba(18, 83, 132, 0.14);
    --control-border: #b9c8d5;
    --control-border-hover: #82a9c8;
    --control-bg: #f8fbfd;
    --control-bg-hover: #eef7fd;
    --form-control-height: 40px;
    --form-control-radius: var(--radius-sm);
    --form-control-bg: #fff;
    --form-control-invalid-border: #d94a3f;
    --form-control-invalid-bg: #fffafa;
    --form-control-invalid-ring: 0 0 0 1px rgba(217, 74, 63, 0.12);
    --form-grid-gap: 16px;
    --form-field-gap: 6px;
    --form-section-gap: 24px;
    --form-actions-gap: 10px;
    --form-label-text: #354052;
    --form-label-weight: 650;
    --form-hint-text: #6e7b86;
    --form-error-text: #b42318;
    --form-placeholder-text: color-mix(in srgb, var(--muted) 52%, var(--form-control-bg));
    --form-placeholder-weight: 400;
    --row-hover: #f0f8fe;
    --row-selected: #e6f4fd;
    --followed-pilot-row-bg: #fff8e6;
    --followed-pilot-row-hover-bg: #fff1cc;
    --row-selected-accent: #2690d4;
    --accent: #2690d4;
    --accent-hover: #176fa8;
    --context-accent: #287c72;
    --context-accent-strong: #1f675f;
    --context-soft: #e2f0ed;
    --surface-raised: #f8fafa;
    --surface-section: #e7eef0;
    --border-strong: #9fb4bc;
    --warning: #9b6517;
    --danger: #b42318;
    --topbar-bg: linear-gradient(180deg, #2f8adc, #176fb6);
    --topbar-text: #fff;
    --topbar-text-muted: #eaf4fc;
    --topbar-hover-bg: rgba(255, 255, 255, 0.1);
    --topbar-active-indicator: #d8f0ff;
    --topbar-shadow: 0 2px 10px rgba(9, 46, 86, 0.22);
    --panel-border: #d4dde6;
    --profile-divider: #e2eaf1;
    --page-heading-bg: #fff;
    --table-header-text: #284d69;
    --sort-hover-bg: #ddebf5;
    --filter-chip-border: #bed5e6;
    --filter-chip-bg: #f5fbff;
    --filter-chip-label: #607080;
    --filter-chip-remove-bg: #7c8b9a;
    --filter-scroll-color: #5b7184;
    --filter-scroll-disabled: #b8c1cb;
    --focus-outline: rgba(23, 105, 168, 0.72);
    --avatar-border: #d4e1eb;
    --avatar-bg: linear-gradient(180deg, #f8fbfd, #e4edf5);
    --avatar-placeholder-bg: #d8e3ec;
    --avatar-placeholder-text: #35506a;
    --pilot-identity-link: var(--link);
    --pilot-identity-link-hover: var(--link);
    --pilot-identity-avatar-focus-offset: 2px;
    --rank-border: #c5d3df;
    --rank-bg: #fff;
    --rank-text: #536677;
    --badge-border: #d8e5ef;
    --badge-bg: #f2f7fb;
    --badge-text: #5f7385;
    --notification-bg: #f9d4be;
    --notification-fg: #e33030;
    --notification-border: #f9d4be;
    --status-badge-bg: #ffffff;
    --status-badge-text: var(--muted);
    --winner-color: #fd7725;
    --content-subtle-bg: #fbfdff;
    --detail-header-bg: #f8fbfd;
    --control-disabled-text: #8a98a6;
    --state-selected-bg: #e3f2f0;
    --state-selected-bg-hover: #d5edea;
    --state-selected-border: #a8d2cd;
    --state-selected-border-hover: #87bdb7;
    --state-selected-text: #0f6762;
    --state-selected-icon: #08736c;
    --social-like-border: var(--control-border);
    --social-like-border-hover: var(--control-border-hover);
    --social-like-bg-hover: var(--control-bg-hover);
    --social-like-active-border: var(--state-selected-border);
    --social-like-active-bg: var(--state-selected-bg);
    --social-like-active-bg-hover: var(--state-selected-bg-hover);
    --social-like-active-text: var(--state-selected-text);
    --social-follow-border: var(--control-border);
    --social-follow-border-hover: var(--control-border-hover);
    --social-follow-bg-hover: var(--control-bg-hover);
    --social-follow-active-border: var(--state-selected-border);
    --social-follow-active-border-hover: var(--state-selected-border-hover);
    --social-follow-active-bg: var(--state-selected-bg);
    --social-follow-active-bg-hover: var(--state-selected-bg-hover);
    --social-follow-active-text: var(--state-selected-text);
    --social-follow-active-icon: var(--state-selected-icon);
    --icon-muted: #5d6675;
    --icon-hover-border: #d6e2eb;
    --icon-hover-text: #1f2937;
    --shadow-panel: 0 2px 10px rgba(15, 54, 92, 0.08);
    --tooltip-surface: rgba(20, 31, 42, 0.96);
    --tooltip-border: rgba(255, 255, 255, 0.1);
    --tooltip-text: #fff;
    --tooltip-shadow: 0 8px 24px rgba(16, 26, 36, 0.22);
    --space: 12px;
    --space-sm: 6px;
    --page-shell-margin-block-start: var(--space);
    --page-shell-margin-block-end: 34px;
    --viewport-page-shell-margin-block: var(--space);
    --page-shell-gutter: var(--space);
    --page-shell-bg: var(--panel);
    --page-shell-padding-block: var(--space);
    --page-shell-padding-inline: var(--page-shell-gutter);
    --page-gutter: var(--space);
    --panel-gap: var(--space);
    --panel-gap-compact: var(--space-sm);
    --page-max-width: 1180px;
    --topbar-height: 64px;
    --flight-detail-header-height: 66px;
    --topbar-shell-overhang-inline: 68px;
    --topbar-shell-max-width: calc(
        var(--page-max-width)
        + var(--topbar-shell-overhang-inline)
        + var(--topbar-shell-overhang-inline)
    );
    --flight-detail-width: clamp(420px, 35vw, 480px);
    --flight-detail-gap: var(--panel-gap);
    --flight-detail-right: var(--page-shell-gutter);
    --flight-detail-top: calc(var(--topbar-height) + var(--space));
    --flight-detail-bottom: var(--space);
    --flight-detail-scrolled-top: 12px;
    --flight-detail-scrolled-bottom: var(--space);
    --z-local-overlay: 10;
    --z-local-popover: 20;
    --z-page-sticky: 100;
    --z-page-overlay: 120;
    --z-topbar: 200;
    --z-flight-detail: 300;
    --z-task-editor-fullscreen: 350;
    --z-modal: 400;
    --z-modal-popover: 410;
}


