@import url('https://fonts.googleapis.com/css2?family=Noto+Sans:wght@400;500;700&family=Playfair+Display:ital,wght@0,700;1,700&display=swap');

:root {
    --primary: #0a84ff !important;
    --primary-color: #0a84ff !important;
    --primary-dark: #0066d6 !important;
    --primary-light: #69b7ff !important;
    --accent-color: #5ac8fa !important;
    --warning-color: #f59e0b !important;
    --success-color: #2b7fff !important;
    --danger-color: #ef4444 !important;
    --light: #f8fafc !important;
    --light-bg: #f4f7fb !important;
    --dark: #1d1d1f !important;
    --gray-50: #fbfcfe !important;
    --gray-100: #f4f7fb !important;
    --gray-200: #e6ebf2 !important;
    --gray-300: #d2dae5 !important;
    --gray-400: #9aa8ba !important;
    --gray-500: #6c7a8d !important;
    --gray-600: #4d5b70 !important;
    --gray-700: #334155 !important;
    --gray-800: #1f2d3d !important;
    --gray-900: #111827 !important;
    --secondary: #6c7a8d !important;
    --gray: #e6ebf2 !important;
    --white: #ffffff !important;
    --up: #ef4444 !important;
    --up-color: #ef4444 !important;
    --down: #10b981 !important;
    --down-color: #10b981 !important;
    --vip-gold: #f59e0b !important;
    --vip-light: #fff7ed !important;
    --vip-dark: #9a3412 !important;
    --surface-gradient: linear-gradient(135deg, rgba(10, 132, 255, 0.08), rgba(90, 200, 250, 0.06)) !important;
    --vip-gradient: linear-gradient(135deg, #0a84ff 0%, #3b82f6 56%, #5ac8fa 100%) !important;
    --soft-blue: #78a6d5 !important;
    --soft-blue-dark: #0a84ff !important;
    --soft-sand: #a7b8cb !important;
    --soft-teal: #62b8b0 !important;
    --soft-violet: #8c84d9 !important;
    --soft-sage: #7ea57b !important;
    --soft-amber: #d3a065 !important;
    --soft-rose: #c88aa7 !important;
    --tint-blue: rgba(232, 242, 255, 0.98) !important;
    --tint-teal: rgba(235, 248, 247, 0.98) !important;
    --tint-violet: rgba(243, 241, 255, 0.98) !important;
    --tint-sage: rgba(240, 247, 239, 0.98) !important;
    --tint-amber: rgba(251, 245, 236, 0.98) !important;
    --tint-rose: rgba(250, 240, 246, 0.98) !important;
    --chart-1: #0a84ff !important;
    --chart-2: #54b6c2 !important;
    --chart-3: #7c79de !important;
    --chart-4: #76ab76 !important;
    --chart-5: #d1a062 !important;
    --chart-6: #bf86a2 !important;
    --soft-line: rgba(210, 218, 229, 0.92) !important;
    --soft-surface: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(245, 248, 252, 0.96)) !important;
    --table-head: linear-gradient(180deg, rgba(246, 249, 253, 0.98), rgba(232, 239, 248, 0.94)) !important;
    --border-radius: 24px;
    --shadow: 0 20px 44px rgba(16, 24, 40, 0.08);
    --shadow-hover: 0 26px 58px rgba(16, 24, 40, 0.12);
    --transition: all 0.28s cubic-bezier(0.22, 1, 0.36, 1);
}

html {
    scroll-behavior: smooth;
}

body {
    font-family: "Noto Sans", "SF Pro Display", "PingFang SC", "Avenir Next", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
    font-size: 16px;
    font-variant-numeric: lining-nums tabular-nums;
    color: var(--dark) !important;
    background:
        radial-gradient(circle at top left, rgba(10, 132, 255, 0.16), transparent 32%),
        radial-gradient(circle at top right, rgba(90, 200, 250, 0.10), transparent 26%),
        radial-gradient(circle at 78% 10%, rgba(140, 132, 217, 0.08), transparent 24%),
        radial-gradient(circle at 82% 88%, rgba(211, 160, 101, 0.08), transparent 28%),
        linear-gradient(180deg, #fbfcfe 0%, #f4f7fb 44%, #f7f9fc 100%) !important;
}

body::before {
    content: "";
    position: fixed;
    inset: 0;
    z-index: -1;
    pointer-events: none;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.56), rgba(255, 255, 255, 0)),
        radial-gradient(circle at 20% 0%, rgba(255, 255, 255, 0.95), transparent 34%);
}

a {
    text-underline-offset: 3px;
}

header {
    background: transparent !important;
    box-shadow: none !important;
}

.navbar,
footer,
.footer-text {
    opacity: 0;
}

body.ny-shell-ready .navbar,
body.ny-shell-ready footer,
body.ny-shell-ready .footer-text {
    opacity: 1;
    transition: opacity 0.18s ease;
}

.nw-soft-table-shell {
    position: relative;
    overflow: hidden !important;
    border-radius: 26px !important;
    border: 1px solid rgba(181, 193, 208, 0.34) !important;
    background:
        radial-gradient(circle at top left, rgba(255, 255, 255, 0.98), transparent 36%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(244, 248, 253, 0.96)) !important;
    box-shadow: 0 26px 54px rgba(16, 24, 40, 0.08) !important;
}

.nw-soft-table-shell::before {
    content: "";
    position: absolute;
    inset: 0 0 auto 0;
    height: 88px;
    background: linear-gradient(90deg, rgba(10, 132, 255, 0.08), rgba(84, 182, 194, 0.06), rgba(124, 121, 222, 0.05), rgba(255, 255, 255, 0));
    pointer-events: none;
    z-index: 0;
}

.nw-soft-table-shell > * {
    position: relative;
    z-index: 1;
}

.nw-soft-table-scroll {
    overflow: auto !important;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior-x: contain;
    scrollbar-width: thin;
    scrollbar-color: rgba(133, 156, 182, 0.66) rgba(232, 238, 245, 0.9);
    padding: 14px 16px 18px !important;
}

.nw-soft-table-scroll::-webkit-scrollbar {
    height: 10px;
    width: 10px;
}

.nw-soft-table-scroll::-webkit-scrollbar-track {
    background: rgba(232, 238, 245, 0.9);
    border-radius: 999px;
}

.nw-soft-table-scroll::-webkit-scrollbar-thumb {
    background: linear-gradient(180deg, rgba(10, 132, 255, 0.66), rgba(120, 166, 213, 0.72));
    border-radius: 999px;
    border: 2px solid rgba(232, 238, 245, 0.92);
}

.nw-soft-table {
    width: 100%;
    border-collapse: separate !important;
    border-spacing: 0 10px !important;
}

.nw-soft-table thead th {
    position: sticky;
    top: 0;
    z-index: 2;
    padding: 15px 16px !important;
    background: linear-gradient(180deg, rgba(248, 250, 253, 0.99), rgba(233, 240, 248, 0.96)) !important;
    color: var(--gray-700) !important;
    border: none !important;
    box-shadow: inset 0 -1px 0 rgba(255, 255, 255, 0.55), 0 10px 24px rgba(16, 24, 40, 0.04);
}

.nw-soft-table thead th:first-child {
    border-radius: 16px 0 0 16px;
}

.nw-soft-table thead th:last-child {
    border-radius: 0 16px 16px 0;
}

.nw-soft-table tbody td {
    padding: 15px 16px !important;
    background: rgba(255, 255, 255, 0.96) !important;
    border-top: 1px solid rgba(255, 255, 255, 0.85) !important;
    border-bottom: 1px solid rgba(210, 218, 229, 0.76) !important;
    border-left: none !important;
    border-right: none !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.78);
    font-size: 15px !important;
    line-height: 1.6 !important;
}

.nw-soft-table tbody tr:nth-child(6n + 1) td {
    background: var(--tint-blue) !important;
}

.nw-soft-table tbody tr:nth-child(6n + 2) td {
    background: var(--tint-teal) !important;
}

.nw-soft-table tbody tr:nth-child(6n + 3) td {
    background: var(--tint-violet) !important;
}

.nw-soft-table tbody tr:nth-child(6n + 4) td {
    background: var(--tint-sage) !important;
}

.nw-soft-table tbody tr:nth-child(6n + 5) td {
    background: var(--tint-amber) !important;
}

.nw-soft-table tbody tr:nth-child(6n) td {
    background: var(--tint-rose) !important;
}

.nw-soft-table tbody td:first-child {
    position: sticky;
    left: 0;
    z-index: 1;
    border-left: 1px solid rgba(210, 218, 229, 0.76) !important;
    border-radius: 16px 0 0 16px;
    color: var(--gray-900) !important;
    font-weight: 700;
    box-shadow: 12px 0 20px rgba(244, 248, 252, 0.92);
}

.nw-soft-table tbody td:last-child {
    border-right: 1px solid rgba(210, 218, 229, 0.76) !important;
    border-radius: 0 16px 16px 0;
}

.nw-soft-table tbody td:not(:first-child) {
    color: var(--gray-800) !important;
    font-weight: 650 !important;
    letter-spacing: -0.012em;
}

.nw-soft-table tbody tr:hover td {
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.99), rgba(243, 248, 255, 0.98)) !important;
    border-top-color: rgba(10, 132, 255, 0.16) !important;
    border-bottom-color: rgba(120, 166, 213, 0.26) !important;
}

.nw-soft-table thead th:first-child {
    left: 0;
    z-index: 4;
    box-shadow: 12px 0 20px rgba(244, 248, 252, 0.92), 0 10px 24px rgba(16, 24, 40, 0.04);
}

.nw-soft-table .empty-state {
    background: transparent !important;
    border: 1px dashed rgba(120, 166, 213, 0.28) !important;
    border-radius: 18px;
}

.nw-soft-table-shell .table-loading,
.nw-soft-table-shell .vip-prompt {
    position: relative;
    z-index: 2;
}

.nw-soft-table-shell .vip-prompt {
    margin: 6px 16px 18px !important;
    border-radius: 18px !important;
}

.navbar {
    position: sticky !important;
    top: 0 !important;
    z-index: 80 !important;
    backdrop-filter: blur(28px) saturate(165%);
    -webkit-backdrop-filter: blur(28px) saturate(165%);
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.88), rgba(247, 250, 253, 0.8)) !important;
    border-bottom: 1px solid rgba(219, 226, 236, 0.92) !important;
    box-shadow: 0 14px 34px rgba(16, 24, 40, 0.06) !important;
    transition: background 0.28s ease, box-shadow 0.28s ease, border-color 0.28s ease !important;
}

.navbar::before {
    content: "";
    position: absolute;
    inset: 0 0 auto 0;
    height: 2px;
    background: linear-gradient(90deg, rgba(10, 132, 255, 0.72), rgba(84, 182, 194, 0.58), rgba(124, 121, 222, 0.52), rgba(209, 160, 98, 0.46));
    pointer-events: none;
}

.navbar.scrolled {
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.95), rgba(248, 250, 253, 0.9)) !important;
    box-shadow: 0 18px 38px rgba(16, 24, 40, 0.08) !important;
}

.navbar > .container,
header > .container {
    max-width: 1400px;
    margin: 0 auto;
    padding-left: 24px !important;
    padding-right: 24px !important;
}

header .navbar,
.navbar .navbar-content {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 24px !important;
    min-height: 76px !important;
    padding: 12px 0 !important;
    flex-wrap: nowrap !important;
}

.brand,
.logo {
    display: inline-flex !important;
    align-items: center !important;
    gap: 10px !important;
    text-decoration: none !important;
    color: #0a84ff !important;
    font-family: "Playfair Display", Georgia, "Times New Roman", "Songti SC", serif !important;
    font-size: 24px !important;
    font-weight: 700 !important;
    letter-spacing: 0.01em;
    cursor: pointer;
    flex: 0 0 auto;
}

.brand-icon {
    width: 36px;
    height: 36px;
    flex: 0 0 auto;
    display: block;
}

.brand-text {
    background: linear-gradient(135deg, #0a84ff 0%, #5ac8fa 60%, #0a84ff 100%);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    display: inline-flex;
    align-items: center;
}

.navbar .brand::before,
.navbar .logo::before {
    display: none;
}

.brand span,
.logo span,
.ny-shell-footer-logo span {
    display: inline-flex;
    align-items: center;
}

.brand i,
.logo i,
.bull-icon,
.ny-shell-footer-logo i,
.footer-logo i {
    display: none !important;
}

.nav-links {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px 10px !important;
    flex: 1 !important;
    min-width: 0 !important;
    flex-wrap: nowrap !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

.nav-links a,
.nav-links > li > a,
.ny-shell-more-trigger {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    padding: 10px 15px !important;
    border-radius: 999px !important;
    border: 1px solid rgba(255, 255, 255, 0) !important;
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.76), rgba(245, 248, 252, 0.88)) !important;
    color: var(--gray-700) !important;
    text-decoration: none !important;
    font-size: 15px !important;
    font-weight: 650 !important;
    line-height: 1 !important;
    white-space: nowrap !important;
    transition: var(--transition) !important;
}

.ny-shell-more-trigger {
    cursor: pointer;
    font: inherit;
}

.ny-shell-more-trigger i {
    font-size: 13px;
    transition: transform 0.2s ease;
}

.nav-links a:hover,
.nav-links > li > a:hover,
.nav-links a.active,
.nav-links > li > a.active,
.ny-shell-more-trigger:hover,
.ny-shell-more-trigger.active {
    color: var(--primary) !important;
    background: linear-gradient(135deg, rgba(10, 132, 255, 0.14), rgba(84, 182, 194, 0.08), rgba(255, 255, 255, 0.96)) !important;
    border-color: rgba(120, 166, 213, 0.22) !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.88), 0 12px 24px rgba(10, 132, 255, 0.08) !important;
    transform: translateY(-1px);
}

.nav-links a.active::after,
.nav-links > li > a.active::after {
    display: none !important;
}

.nav-links .ny-shell-member-nav {
    display: none;
}

body.ny-shell-authenticated .nav-links .ny-shell-member-nav {
    display: list-item;
}

.ny-shell-nav-auth {
    display: flex;
    align-items: center;
    min-width: 0;
    max-width: 100%;
}

.ny-shell-compat-hidden,
.navbar #user-tier-toggle,
.navbar #userTierToggle,
.navbar #vipActionBtn,
.navbar .tier-toggle.ny-shell-compat-hidden,
.navbar .btn-register.ny-shell-compat-hidden {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
    width: 0 !important;
    height: 0 !important;
    overflow: hidden !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
}

.ny-shell-more {
    position: relative;
    display: inline-flex;
    align-items: center;
}

.ny-shell-dropdown {
    position: absolute;
    top: calc(100% + 10px);
    right: 0;
    min-width: 196px;
    display: grid;
    gap: 6px;
    padding: 10px;
    border-radius: 20px;
    border: 1px solid rgba(213, 217, 227, 0.95);
    background: rgba(255, 255, 255, 0.94);
    backdrop-filter: blur(20px);
    box-shadow: 0 18px 40px rgba(15, 23, 42, 0.1);
    opacity: 0;
    pointer-events: none;
    transform: translateY(10px) scale(0.98);
    transition: var(--transition);
}

.ny-shell-dropdown a {
    color: var(--gray-700);
    padding: 10px 12px;
    border-radius: 14px;
    text-decoration: none;
    font-size: 15px;
    font-weight: 600;
    transition: var(--transition);
}

.ny-shell-dropdown a:hover,
.ny-shell-dropdown a.active {
    color: var(--primary);
    background: rgba(37, 99, 235, 0.1);
}

.ny-shell-more:hover .ny-shell-dropdown,
.ny-shell-more.is-open .ny-shell-dropdown {
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0) scale(1);
}

.ny-shell-more.is-open .ny-shell-more-trigger i {
    transform: rotate(180deg);
}

.user-actions,
.nav-actions {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 10px !important;
    flex-wrap: nowrap !important;
    flex: 0 1 auto !important;
    min-width: 0 !important;
    max-width: min(420px, 36vw) !important;
    margin-left: auto !important;
}

.ny-shell-nav-auth .btn,
.ny-shell-nav-auth .btn-register,
.ny-shell-nav-auth .auth-link-primary,
.ny-shell-nav-auth .auth-link-secondary {
    min-height: 40px !important;
    padding: 9px 14px !important;
    border-radius: 14px !important;
    font-size: 14px !important;
    font-weight: 700 !important;
}

.tier-toggle {
    display: inline-flex !important;
    align-items: center !important;
    padding: 4px !important;
    border-radius: 999px !important;
    background: rgba(255, 255, 255, 0.86) !important;
    border: 1px solid rgba(213, 217, 227, 0.9) !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.9) !important;
}

.tier-option {
    padding: 8px 14px !important;
    border-radius: 999px !important;
    color: var(--gray-500) !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    transition: var(--transition) !important;
}

.tier-option.active {
    color: var(--primary) !important;
    background: rgba(37, 99, 235, 0.12) !important;
    box-shadow: none !important;
}

.btn,
.btn-register,
.secondary-btn,
.ghost-btn,
.ghost-button,
.primary-button,
.submit-button,
.tool-btn,
.time-btn,
.view-btn,
.chart-action-btn,
.quick-nav-btn,
.mode-option,
.auth-tab,
.filter-chip,
.tab-button,
.secondary-link,
.journey-link,
.stock-input-btn {
    border-radius: 18px !important;
    border: 1px solid rgba(211, 219, 229, 0.94) !important;
    background: rgba(255, 255, 255, 0.94) !important;
    color: var(--gray-700) !important;
    box-shadow: 0 14px 28px rgba(16, 24, 40, 0.05) !important;
    transition: var(--transition) !important;
}

.btn:hover,
.btn-register:hover,
.secondary-btn:hover,
.ghost-btn:hover,
.ghost-button:hover,
.primary-button:hover,
.submit-button:hover,
.tool-btn:hover,
.time-btn:hover,
.view-btn:hover,
.chart-action-btn:hover,
.quick-nav-btn:hover,
.mode-option:hover,
.auth-tab:hover,
.stock-input-btn:hover {
    transform: translateY(-1px);
    box-shadow: 0 16px 28px rgba(86, 109, 137, 0.08) !important;
}

.btn-primary,
.primary-button,
.submit-button,
.btn-register,
.btn.btn-primary,
.mode-option.active,
.time-btn.active,
.view-btn.active,
.tool-btn.active,
.auth-tab.active {
    color: #ffffff !important;
    border-color: transparent !important;
    background: linear-gradient(135deg, var(--primary-dark), var(--primary) 58%, var(--primary-light)) !important;
    box-shadow: 0 18px 32px rgba(10, 132, 255, 0.2) !important;
}

.btn-secondary,
.btn-outline,
.secondary-btn,
.ghost-btn,
.ghost-button,
.btn.btn-secondary {
    color: var(--gray-700) !important;
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.98), rgba(241, 245, 249, 0.92)) !important;
    border-color: rgba(201, 210, 221, 0.94) !important;
}

.btn-outline,
.btn.btn-outline {
    color: var(--primary) !important;
    background: linear-gradient(135deg, rgba(10, 132, 255, 0.08), rgba(255, 255, 255, 0.94)) !important;
    border-color: rgba(120, 166, 213, 0.2) !important;
}

.ny-auth-user {
    background: rgba(255, 255, 255, 0.94) !important;
    border-color: rgba(213, 217, 227, 0.95) !important;
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.06) !important;
}

.ny-auth-name {
    color: var(--gray-800) !important;
}

.ny-auth-membership {
    color: var(--gray-500) !important;
}

.ny-auth-membership.vip {
    color: var(--vip-dark) !important;
}

.ny-auth-logout {
    background: rgba(37, 99, 235, 0.08) !important;
}

.ny-auth-member-center {
    padding: 6px 10px;
    border-radius: 12px;
    background: rgba(37, 99, 235, 0.06);
    color: var(--primary);
    font-size: 12px;
    font-weight: 600;
    text-decoration: none;
    white-space: nowrap;
    transition: all 0.2s ease;
    flex-shrink: 0;
}
.ny-auth-member-center:hover {
    background: rgba(37, 99, 235, 0.12);
    transform: translateY(-1px);
}

.glass-panel,
.surface,
.panel,
.section-card,
.hero-card,
.hero-visual-card,
.hero-note-card,
.strategy-section,
.dashboard-card,
.search-section,
.price-chart-section,
.performance-section,
.comparison-section,
.service-package-card,
.pricing-card,
.persona-card,
.journey-card,
.faq-item,
.vip-plan-card,
.result-side-block,
.field-section,
.member-card,
.saved-panel,
.result-panel,
.stock-selector,
.strategy-card,
.comparison-wrap,
.preview-window,
.table-container,
.table-wrap,
.chart-container,
.workspace-main,
.workspace-side,
.builder-block,
.vip-upgrade-card,
.auth-panel,
.hero-main,
.member-panel,
.page-header,
.comparison-table,
.dashboard-grid .dashboard-card,
.strategy-library-section,
.smart-recommendation,
.vip-section {
    border: 1px solid rgba(226, 232, 240, 0.9) !important;
    box-shadow: var(--shadow) !important;
}

.glass-panel,
.surface,
.panel,
.section-card,
.hero-card,
.hero-visual-card,
.hero-note-card,
.strategy-section,
.dashboard-card,
.search-section,
.price-chart-section,
.performance-section,
.comparison-section,
.service-package-card,
.pricing-card,
.persona-card,
.journey-card,
.faq-item,
.vip-plan-card,
.result-side-block,
.field-section,
.member-card,
.saved-panel,
.result-panel,
.stock-selector,
.strategy-card,
.workspace-main,
.workspace-side,
.builder-block,
.vip-upgrade-card,
.auth-panel,
.hero-main,
.member-panel,
.strategy-library-section,
.smart-recommendation,
.vip-section {
    background: rgba(255, 255, 255, 0.92) !important;
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
}

.strategy-card:hover,
.service-package-card:hover,
.pricing-card:hover,
.persona-card:hover,
.journey-card:hover,
.faq-item:hover,
.vip-plan-card:hover,
.dashboard-card:hover,
.hero-card:hover,
.hero-visual-card:hover,
.hero-note-card:hover,
.template-card:hover,
.preview-ranking-card:hover,
.mini-strategy-card:hover,
.summary-card:hover,
.benefit-item:hover {
    transform: translateY(-4px);
    box-shadow: var(--shadow-hover) !important;
}

.page-title,
.hero-title,
.section-title {
    letter-spacing: -0.04em;
}

.hero h1,
.page-title,
.hero-title {
    background: linear-gradient(135deg, #111827 0%, #0a84ff 48%, #69b7ff 100%) !important;
    -webkit-background-clip: text !important;
    background-clip: text !important;
    color: transparent !important;
}

.metric-value,
.performance-value,
.price-value,
.hero-metric-value,
.rank-main,
.stock-price,
.compare-stock-price,
.score-badge,
.field-item-value,
.pricing-price strong,
.mini-metric-value,
.summary-card strong {
    font-family: "Noto Sans", "SF Pro Display", "PingFang SC", "Avenir Next", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
    letter-spacing: -0.035em !important;
    font-variant-numeric: lining-nums tabular-nums !important;
}

.metric-value,
.performance-value,
.price-value,
.hero-metric-value,
.rank-main {
    font-size: clamp(1.55rem, 1.16rem + 0.96vw, 2.3rem) !important;
    line-height: 1.04 !important;
    font-weight: 800 !important;
}

.stock-price,
.compare-stock-price,
.score-badge,
.field-item-value,
.pricing-price strong,
.mini-metric-value,
.summary-card strong {
    font-size: clamp(1rem, 0.92rem + 0.34vw, 1.28rem) !important;
    line-height: 1.18 !important;
    font-weight: 750 !important;
}

.page-subtitle,
.hero-subtitle,
.section-desc,
.section-note,
.vip-note,
.workflow-title + .section-note {
    color: var(--gray-600) !important;
}

.metric-value,
.performance-value,
.price-value,
.hero-metric-value,
.rank-main,
.stock-price,
.compare-stock-price,
.field-item-value {
    color: var(--gray-900) !important;
    text-shadow: 0 1px 0 rgba(255, 255, 255, 0.9);
}

.strategy-card .metric-value,
.strategy-card .performance-value,
.performance .performance-value {
    font-size: clamp(1.18rem, 1.04rem + 0.42vw, 1.52rem) !important;
    line-height: 1.08 !important;
}

.mini-strategy-card .mini-metric-value {
    font-size: clamp(1rem, 0.94rem + 0.22vw, 1.14rem) !important;
    line-height: 1.14 !important;
}

.strategy-card .metric-label,
.mini-strategy-card .mini-metric-label,
.performance-label {
    font-size: 13px !important;
    letter-spacing: 0.04em !important;
}

.metric-value.up,
.mini-metric-value.up,
.stock-change.up,
.stock-change.change-up,
.card-change.change-up,
.price-change.up,
.detail-stat-card strong.up,
.detail-kv-item strong.up,
.regime-card strong.up,
.template-metrics strong.up,
.performance-up,
.positive,
.trend-up,
.change-up {
    color: var(--up) !important;
}

.metric-value.down,
.mini-metric-value.down,
.stock-change.down,
.stock-change.change-down,
.card-change.change-down,
.price-change.down,
.detail-stat-card strong.down,
.detail-kv-item strong.down,
.regime-card strong.down,
.template-metrics strong.down,
.performance-down,
.negative,
.trend-down,
.change-down {
    color: var(--down) !important;
}

.metric-item.up,
.mini-metric-item.up {
    border-left-color: var(--up) !important;
}

.metric-item.down,
.mini-metric-item.down {
    border-left-color: var(--down) !important;
}

input,
select,
textarea {
    border-color: rgba(213, 217, 227, 0.95) !important;
    box-shadow: inset 0 1px 2px rgba(15, 23, 42, 0.04);
    background: rgba(255, 255, 255, 0.96) !important;
}

input:focus,
select:focus,
textarea:focus {
    outline: none;
    border-color: rgba(37, 99, 235, 0.42) !important;
    box-shadow: 0 0 0 4px rgba(37, 99, 235, 0.12) !important;
}

.table-container,
.table-wrap {
    overflow: hidden;
    background: var(--soft-surface) !important;
}

.hero-badge,
.section-kicker,
.pricing-badge,
.persona-tag,
.journey-index,
.visual-tag,
.hero-pill,
.vip-feature,
.vip-plan-tag,
.badge-member,
.badge-type,
.member-status,
.member-status.active,
.access-identity-note {
    background: rgba(10, 132, 255, 0.1) !important;
    color: var(--primary) !important;
    border-color: rgba(120, 166, 213, 0.2) !important;
}

.hero-pill,
.vip-feature,
.vip-plan-tag {
    border: 1px solid rgba(120, 166, 213, 0.16) !important;
}

.hero-pill i,
.vip-feature i,
.persona-tag i,
.visual-tag i,
.section-kicker i,
.hero-badge i,
.pricing-badge i,
.journey-index i {
    color: var(--primary) !important;
}

.vip-plan-card.featured,
.pricing-card.recommended,
.locked-copy,
.field-lock-panel,
.feature-tab.active,
.journey-card.active,
.hero-note-card {
    background: linear-gradient(135deg, rgba(10, 132, 255, 0.1), rgba(255, 255, 255, 0.96)) !important;
    border-color: rgba(120, 166, 213, 0.24) !important;
    box-shadow: 0 18px 34px rgba(10, 132, 255, 0.08) !important;
}

.locked-copy strong,
.field-lock-panel strong {
    color: var(--primary) !important;
}

.vip-prompt {
    background: linear-gradient(135deg, #0a84ff, #3b82f6 56%, #69b7ff) !important;
    box-shadow: 0 18px 32px rgba(10, 132, 255, 0.22) !important;
}

.vip-prompt:hover {
    box-shadow: 0 22px 38px rgba(10, 132, 255, 0.28) !important;
}

.stock-table,
.comparison-table,
.ranking-table {
    width: 100%;
    border-collapse: separate !important;
    border-spacing: 0 !important;
    background: transparent !important;
}

.stock-table thead,
.comparison-table thead,
.ranking-table thead {
    background: var(--table-head) !important;
}

.nw-soft-table thead th:nth-child(1) {
    box-shadow: inset 0 3px 0 var(--soft-blue-dark), 12px 0 20px rgba(244, 248, 252, 0.92), 0 10px 24px rgba(16, 24, 40, 0.04) !important;
}

.nw-soft-table thead th:nth-child(2) {
    box-shadow: inset 0 3px 0 var(--soft-teal), 0 10px 24px rgba(16, 24, 40, 0.04) !important;
}

.nw-soft-table thead th:nth-child(3) {
    box-shadow: inset 0 3px 0 var(--soft-violet), 0 10px 24px rgba(16, 24, 40, 0.04) !important;
}

.nw-soft-table thead th:nth-child(4) {
    box-shadow: inset 0 3px 0 var(--soft-sage), 0 10px 24px rgba(16, 24, 40, 0.04) !important;
}

.nw-soft-table thead th:nth-child(5) {
    box-shadow: inset 0 3px 0 var(--soft-amber), 0 10px 24px rgba(16, 24, 40, 0.04) !important;
}

.nw-soft-table thead th:nth-child(6) {
    box-shadow: inset 0 3px 0 var(--soft-rose), 0 10px 24px rgba(16, 24, 40, 0.04) !important;
}

.nw-soft-table thead th:nth-child(n + 7) {
    box-shadow: inset 0 3px 0 rgba(120, 166, 213, 0.58), 0 10px 24px rgba(16, 24, 40, 0.04) !important;
}

.stock-table th,
.comparison-table th,
.ranking-table th {
    border-bottom: 1px solid var(--soft-line) !important;
    color: #45566e !important;
    font-weight: 700 !important;
    font-size: 15px !important;
    letter-spacing: 0.01em;
}

.stock-table td,
.comparison-table td,
.ranking-table td {
    border-bottom: 1px solid rgba(226, 232, 240, 0.92) !important;
    color: var(--gray-700) !important;
    background: transparent !important;
}

.stock-table:not(.nw-soft-table) tbody tr:nth-child(even) td,
.comparison-table:not(.nw-soft-table) tbody tr:nth-child(even) td,
.ranking-table:not(.nw-soft-table) tbody tr:nth-child(even) td {
    background: rgba(241, 246, 252, 0.94) !important;
}

.stock-table:not(.nw-soft-table) tbody tr:hover td,
.comparison-table:not(.nw-soft-table) tbody tr:hover td,
.ranking-table:not(.nw-soft-table) tbody tr:hover td {
    background: rgba(232, 241, 250, 0.98) !important;
}

.stock-table tbody td:first-child,
.comparison-table tbody td:first-child,
.ranking-table tbody td:first-child {
    color: var(--gray-800) !important;
    font-weight: 600 !important;
}

.comparison-table.nw-soft-table .param-category {
    background: linear-gradient(135deg, rgba(28, 51, 84, 0.92), rgba(65, 98, 136, 0.92)) !important;
    color: #f8fbff !important;
    letter-spacing: 0.02em;
}

.comparison-table.nw-soft-table tr.param-group-basic td {
    background: var(--tint-blue) !important;
}

.comparison-table.nw-soft-table tr.param-group-valuation td {
    background: var(--tint-teal) !important;
}

.comparison-table.nw-soft-table tr.param-group-financial td {
    background: var(--tint-violet) !important;
}

.comparison-table.nw-soft-table tr.param-group-growth td {
    background: var(--tint-sage) !important;
}

.comparison-table.nw-soft-table tr.param-group-operation td {
    background: var(--tint-amber) !important;
}

.comparison-table.nw-soft-table td.param-value.best-value {
    background: rgba(225, 239, 255, 0.99) !important;
    color: #0059c9 !important;
    box-shadow: inset 0 0 0 1px rgba(10, 132, 255, 0.16) !important;
}

.comparison-table.nw-soft-table td.param-value.worst-value {
    background: rgba(241, 245, 251, 0.99) !important;
    color: #5f6f84 !important;
    box-shadow: inset 0 0 0 1px rgba(154, 166, 182, 0.18) !important;
}

.comparison-table.nw-soft-compare-grid .comparison-cell:nth-child(4n + 1) {
    background: rgba(250, 252, 254, 0.98) !important;
}

.comparison-table.nw-soft-compare-grid .comparison-cell:nth-child(4n + 2) {
    background: var(--tint-blue) !important;
}

.comparison-table.nw-soft-compare-grid .comparison-cell:nth-child(4n + 3) {
    background: var(--tint-teal) !important;
}

.comparison-table.nw-soft-compare-grid .comparison-cell:nth-child(4n) {
    background: var(--tint-violet) !important;
}

.comparison-table.nw-soft-compare-grid .comparison-cell.head {
    background: linear-gradient(180deg, rgba(248, 250, 253, 0.98), rgba(232, 239, 248, 0.94)) !important;
    color: var(--gray-900) !important;
}

.comparison-table.nw-soft-compare-grid .comparison-cell.head.featured {
    background: linear-gradient(135deg, rgba(10, 132, 255, 0.16), rgba(105, 183, 255, 0.12)) !important;
}

.loading-spinner {
    border-color: rgba(113, 136, 163, 0.16) !important;
    border-left-color: var(--soft-blue-dark) !important;
    box-shadow: 0 12px 24px rgba(86, 109, 137, 0.08);
}

.fa-spinner.fa-spin {
    color: var(--soft-blue-dark) !important;
}

.ny-shell-loading-block {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
    text-align: center !important;
}

.ny-shell-loading-block[hidden],
.ny-shell-loading-block[aria-hidden="true"] {
    display: none !important;
}

.ny-shell-loading-chip {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 7px 12px;
    border-radius: 999px;
    border: 1px solid rgba(120, 166, 213, 0.18);
    background: linear-gradient(135deg, rgba(10, 132, 255, 0.1), rgba(90, 200, 250, 0.08));
    color: var(--soft-blue-dark);
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 0.02em;
}

.ny-shell-loading-copy {
    display: grid;
    gap: 4px;
    max-width: 360px;
}

.ny-shell-loading-title {
    color: var(--gray-800);
    font-size: 16px;
    font-weight: 700;
}

.ny-shell-loading-meta {
    color: var(--gray-500);
    font-size: 14px;
    line-height: 1.7;
}

.chart-loading.ny-shell-loading-block,
.table-loading.ny-shell-loading-block {
    background: rgba(248, 250, 253, 0.84) !important;
    backdrop-filter: blur(12px);
}

.ny-shell-footer {
    position: relative;
    overflow: hidden;
    margin-top: 48px;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.92), rgba(243, 247, 252, 0.98)) !important;
    border-top: 1px solid rgba(224, 230, 239, 0.95) !important;
}

.ny-shell-footer::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background:
        radial-gradient(circle at top left, rgba(10, 132, 255, 0.12), transparent 28%),
        radial-gradient(circle at bottom right, rgba(90, 200, 250, 0.08), transparent 24%);
}

.ny-shell-footer-inner,
.ny-shell-footer-compliance,
.ny-shell-footer-bottom {
    position: relative;
    max-width: 1400px;
    margin: 0 auto;
    padding-left: 24px;
    padding-right: 24px;
}

.ny-shell-footer-inner {
    padding-top: 38px;
    padding-bottom: 20px;
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) repeat(3, minmax(0, 0.9fr));
    gap: 24px;
}

.ny-shell-footer-brand,
.ny-shell-footer-col {
    display: grid;
    align-content: start;
    gap: 12px;
}

.ny-shell-footer-logo {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: #0a84ff;
    text-decoration: none;
    font-family: "Playfair Display", Georgia, "Times New Roman", "Songti SC", serif;
    font-size: 22px;
    font-weight: 700;
    letter-spacing: 0.01em;
}
.ny-shell-footer-logo .brand-icon {
    width: 32px;
    height: 32px;
}
.ny-shell-footer-logo .brand-text {
    background: linear-gradient(135deg, #0a84ff 0%, #5ac8fa 60%, #0a84ff 100%);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}

.ny-shell-footer-brand p,
.ny-shell-footer-compliance-copy {
    margin: 0;
    color: var(--gray-600);
    line-height: 1.72;
    font-size: 15px;
}

.ny-shell-footer-col h4,
.ny-shell-footer-compliance-title {
    margin: 0;
    color: var(--gray-900);
    font-size: 16px;
    font-weight: 700;
}

.ny-shell-footer-col a {
    color: var(--gray-600);
    text-decoration: none;
    font-size: 15px;
    transition: var(--transition);
}

.ny-shell-footer-col span {
    color: var(--gray-600);
    font-size: 15px;
    line-height: 1.7;
}

.ny-shell-footer-col a:hover {
    color: var(--primary);
    transform: translateX(2px);
}

.ny-shell-footer-compliance {
    margin-top: 4px;
    margin-bottom: 10px;
    display: flex;
    align-items: flex-start;
    gap: 16px;
    padding-top: 22px;
    padding-bottom: 22px;
    border-top: 1px solid rgba(213, 217, 227, 0.95);
    border-bottom: 1px solid rgba(213, 217, 227, 0.95);
}

.ny-shell-footer-compliance-icon {
    flex-shrink: 0;
    width: 42px;
    height: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 14px;
    color: #ffffff;
    background: linear-gradient(135deg, #0a84ff, #5ac8fa);
    box-shadow: 0 12px 24px rgba(10, 132, 255, 0.16);
}

.ny-shell-footer-bottom {
    padding-top: 16px;
    padding-bottom: 24px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    color: var(--gray-500);
    font-size: 14px;
}

.footer {
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.92), rgba(243, 247, 252, 0.98)) !important;
    color: var(--gray-700) !important;
    border-top: 1px solid rgba(213, 217, 227, 0.95) !important;
}

.footer a,
.footer-links a,
.footer-title,
.footer h3,
.footer h4,
.footer-desc,
.footer-bottom,
.copyright {
    color: inherit !important;
}

.ny-shell-menu-toggle {
    display: none;
    align-items: center;
    justify-content: center;
    gap: 6px;
    height: 44px;
    padding: 0 16px;
    border: 1px solid rgba(219, 226, 236, 0.95);
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.96);
    color: var(--gray-800);
    cursor: pointer;
    box-shadow: 0 12px 24px rgba(16, 24, 40, 0.06);
    transition: var(--transition);
    white-space: nowrap;
    font-family: inherit;
}

.ny-shell-menu-toggle .ny-shell-menu-label {
    font-size: 14px;
    font-weight: 650;
    color: inherit;
}

.ny-shell-menu-toggle:hover {
    background: linear-gradient(135deg, rgba(10, 132, 255, 0.1), rgba(255, 255, 255, 0.98)) !important;
    border-color: rgba(120, 166, 213, 0.22) !important;
    color: var(--primary) !important;
}

.nav-links a:focus-visible,
.nav-links > li > a:focus-visible,
.btn:focus-visible,
.btn-register:focus-visible,
.ny-shell-menu-toggle:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
    outline: none;
    box-shadow: 0 0 0 4px rgba(10, 132, 255, 0.14) !important;
}

.ny-shell-reveal {
    opacity: 0;
    transform: translateY(18px);
    transition: opacity 0.58s ease, transform 0.58s ease;
}

.ny-shell-reveal.is-visible {
    opacity: 1;
    transform: translateY(0);
}

@media (max-width: 1180px) {
    .navbar > .container,
    header > .container,
    .ny-shell-footer-inner,
    .ny-shell-footer-compliance,
    .ny-shell-footer-bottom {
        padding-left: 20px !important;
        padding-right: 20px !important;
    }

    .navbar .navbar-content,
    header .navbar {
        position: relative;
        min-height: 72px !important;
        gap: 16px !important;
        padding: 12px 0 !important;
        flex-wrap: wrap !important;
    }

    .ny-shell-menu-toggle {
        display: inline-flex;
        order: 3;
        margin-left: auto;
    }

    .nav-links {
        position: absolute;
        top: calc(100% + 12px);
        left: 20px;
        right: 20px;
        display: none !important;
        flex-direction: column !important;
        align-items: stretch !important;
        justify-content: flex-start !important;
        max-height: min(70vh, 560px);
        overflow: auto;
        padding: 12px !important;
        border-radius: 24px !important;
        background: rgba(255, 255, 255, 0.97) !important;
        border: 1px solid rgba(219, 226, 236, 0.95) !important;
        box-shadow: 0 24px 48px rgba(16, 24, 40, 0.12) !important;
        flex-wrap: nowrap !important;
    }

    .navbar.ny-shell-nav-open .nav-links {
        display: flex !important;
    }

    .nav-links a,
    .nav-links > li > a,
    .ny-shell-more-trigger {
        width: 100%;
        justify-content: space-between;
        min-height: 48px;
        padding: 13px 14px !important;
    }

    .ny-shell-more {
        width: 100%;
        display: block;
    }

    .ny-shell-dropdown {
        position: static;
        min-width: 0;
        margin-top: 8px;
        display: none;
        opacity: 1;
        pointer-events: auto;
        transform: none;
        background: rgba(37, 99, 235, 0.04);
        box-shadow: none;
    }

    .ny-shell-more.is-open .ny-shell-dropdown {
        display: grid;
    }

    .ny-shell-footer-inner {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .user-actions,
    .nav-actions {
        order: 2;
        margin-left: 0 !important;
        max-width: min(100%, 360px) !important;
    }
}

@media (max-width: 1360px) {
    .nav-links {
        gap: 6px 8px !important;
    }

    .nav-links a,
    .nav-links > li > a,
    .ny-shell-more-trigger {
        padding: 9px 12px !important;
        font-size: 14px !important;
    }

    .user-actions,
    .nav-actions {
        max-width: min(340px, 33vw) !important;
        gap: 10px !important;
    }
}

@media (max-width: 768px) {
    .user-actions,
    .nav-actions,
    .ny-shell-footer-bottom,
    .ny-shell-footer-compliance {
        flex-direction: row;
        align-items: flex-start;
    }

    .ny-shell-footer-inner {
        grid-template-columns: 1fr;
    }

    .navbar > .container,
    header > .container,
    .ny-shell-footer-inner,
    .ny-shell-footer-compliance,
    .ny-shell-footer-bottom {
        padding-left: 16px !important;
        padding-right: 16px !important;
    }

    .nw-soft-table-shell {
        border-radius: 22px !important;
    }

    .nw-soft-table-scroll {
        padding: 12px 12px 16px !important;
    }

    .nw-soft-table thead th,
    .nw-soft-table tbody td {
        padding: 13px 14px !important;
    }

    .user-actions,
    .nav-actions {
        width: calc(100% - 56px);
        max-width: none !important;
    }

    .ny-shell-nav-auth {
        width: 100%;
    }

    .ny-shell-nav-auth > *,
    .ny-shell-nav-auth a,
    .ny-shell-nav-auth button,
    .ny-shell-nav-auth .btn,
    .ny-shell-nav-auth .btn-primary,
    .ny-shell-nav-auth .btn-outline {
        width: 100%;
        justify-content: center;
    }
}
