        /* === LIGHT THEME OVERRIDE === */
        body {
            background: #ffffff !important;
            color: #111827 !important;
        }

        body nav {
            background: rgba(255, 255, 255, 0.95) !important;
            border-bottom-color: #f3f4f6 !important;
        }

        body nav a {
            color: #4b5563 !important;
        }

        body nav a:hover {
            color: #d97706 !important;
        }

        body nav input[type=text] {
            color: #111827 !important;
            background: transparent;
        }

        /* Tab Bar */
        .tab-bar {
            display: flex;
            justify-content: center;
            gap: 12px;
            border-bottom: 1px solid #f3f4f6;
            background: #fff;
            position: sticky;
            top: 64px;
            z-index: 40;
            overflow-x: auto;
            padding: 12px 0;
            margin-bottom: 24px;
        }

        .tab-btn {
            padding: 8px 16px;
            font-size: 14px;
            font-weight: 600;
            color: #6b7280;
            background: none;
            border: none;
            cursor: pointer;
            white-space: nowrap;
            transition: all .2s;
            font-family: 'Be Vietnam Pro', sans-serif;
            border-radius: 6px;
        }

        .tab-btn:hover {
            color: #d97706;
            background: #fff7ed;
        }

        .tab-btn.active {
            color: #fff;
            background: #d97706;
        }

        .tab-panel {
            display: none;
            padding: 16px 0;
        }

        .tab-panel.active {
            display: block;
        }

        /* Grid */
        .laso-grid {
            display: grid;
            grid-template-columns: 1fr 280px;
            gap: 24px;
            align-items: start;
        }

        @media(max-width:768px) {
            .laso-grid {
                grid-template-columns: 1fr;
            }
        }

        /* Cards */
        .info-card {
            background: #fff;
            border: 1px solid #e5e0d8;
            border-radius: 10px;
            padding: 24px;
        }

        .info-card h3 {
            font-size: 13px;
            font-weight: 800;
            color: #888;
            margin-bottom: 16px;
            font-family: 'Be Vietnam Pro', sans-serif;
            letter-spacing: .08em;
        }

        .info-row {
            display: flex;
            justify-content: space-between;
            padding: 9px 0;
            border-bottom: 1px solid #f0ebe3;
            font-size: 14px;
        }

        .info-row:last-child {
            border-bottom: none;
        }

        .info-label {
            color: #888;
        }

        .info-value {
            color: #222;
            font-weight: 700;
        }

        .laso-iframe-wrap {
            overflow: hidden;
            line-height: 0;
            border: none;
            background: transparent;
        }

        .laso-iframe-wrap img {
            width: 100%;
            height: auto;
            display: block;
        }

        .loading-box {
            text-align: center;
            padding: 60px 20px;
            color: #aaa;
        }

        .coming-soon {
            text-align: center;
            padding: 80px 20px;
            color: #ccc;
            font-size: 16px;
        }

        .coming-soon span {
            font-size: 48px;
            display: block;
            margin-bottom: 16px;
        }

        /* Accordion - Luận Cung */
        .acc-item {
            border-bottom: 1px solid #ede8e0;
        }

        .acc-header {
            display: flex;
            align-items: center;
            gap: 14px;
            padding: 18px 4px;
            cursor: pointer;
            user-select: none;
        }

        .acc-header:hover .acc-title {
            color: #c0551a;
        }

        .acc-num {
            min-width: 40px;
            height: 40px;
            border-radius: 50%;
            background: #c0551a;
            color: #fff;
            font-size: 15px;
            font-weight: 700;
            display: flex;
            align-items: center;
            justify-content: center;
            flex-shrink: 0;
        }

        .acc-title {
            font-size: 18px;
            font-weight: 700;
            color: #222;
            flex: 1;
            font-family: 'Newsreader', serif;
        }

        .acc-icon {
            width: 28px;
            height: 28px;
            border-radius: 50%;
            border: 2px solid #c0551a;
            color: #c0551a;
            font-size: 18px;
            display: flex;
            align-items: center;
            justify-content: center;
            flex-shrink: 0;
            transition: .2s;
        }

        .acc-preview {
            font-size: 14px;
            color: #666;
            line-height: 1.7;
            padding: 0 4px 16px 58px;
            font-style: italic;
        }

        .acc-body {
            padding: 0 4px 20px 58px;
        }

        .cung-detail {}

        .cung-stars {
            font-size: 13px;
            color: #c0551a;
            margin-bottom: 10px;
        }

        .cung-ai {
            font-size: 15px;
            color: #444;
            line-height: 1.8;
            font-style: italic;
        }

        .badge-warn {
            display: inline-block;
            background: #fff3cd;
            color: #856404;
            border: 1px solid #ffc107;
            border-radius: 4px;
            padding: 2px 8px;
            font-size: 12px;
            font-weight: 600;
            margin-bottom: 10px;
            margin-right: 6px;
        }

        /* === ĐẠI VẬN CHART === */
        .dv-card {
            background: #fff;
            border: 1px solid #e5e0d8;
            border-radius: 10px;
            padding: 24px;
            margin-bottom: 24px;
        }

        .dv-chart-header {
            display: flex;
            align-items: center;
            justify-content: space-between;
            margin-bottom: 12px;
            flex-wrap: wrap;
            gap: 8px;
        }

        .dv-chart-badge {
            background: #f5e6d3;
            color: #c0551a;
            font-size: 12px;
            font-weight: 700;
            padding: 4px 14px;
            border-radius: 20px;
        }

        .dv-legend {
            display: flex;
            gap: 14px;
            font-size: 13px;
            align-items: center;
        }

        .dv-legend-tl {
            color: #4caf89;
            font-weight: 600;
        }

        .dv-legend-tt {
            color: #999;
            font-weight: 600;
        }

        .dv-chart-area {
            display: flex;
            gap: 6px;
            margin-top: 10px;
        }

        .dv-y {
            display: flex;
            flex-direction: column;
            justify-content: space-between;
            height: 180px;
        }

        .dv-y span {
            font-size: 10px;
            color: #bbb;
            line-height: 1;
        }

        .dv-bars-wrap {
            flex: 1;
            overflow-x: auto;
        }

        .dv-bars {
            display: flex;
            align-items: flex-end;
            height: 180px;
            gap: 4px;
            min-width: 100%;
            border-bottom: 2px solid #e5e0d8;
        }

        .dv-col {
            display: flex;
            flex-direction: column;
            align-items: center;
            flex: 1;
            min-width: 52px;
            position: relative;
            height: 180px;
            justify-content: flex-end;
        }

        .dv-col-current::after {
            content: '';
            position: absolute;
            top: 0;
            left: 50%;
            width: 2px;
            height: 100%;
            background: #c0551a;
            transform: translateX(-50%);
            z-index: 1;
        }

        .dv-bar-group {
            display: flex;
            gap: 2px;
            align-items: flex-end;
            width: 90%;
            justify-content: center;
            position: relative;
            z-index: 2;
        }

        .dv-bar-tl {
            background: #4caf89;
            flex: 1;
            border-radius: 3px 3px 0 0;
            transition: height .6s ease;
            min-height: 3px;
        }

        .dv-bar-tt {
            background: #c8c8c8;
            flex: 1;
            border-radius: 3px 3px 0 0;
            transition: height .6s ease;
            min-height: 3px;
        }

        .dv-bar-tl:hover,
        .dv-bar-tt:hover {
            opacity: .75;
            cursor: pointer;
        }

        .dv-x-labels {
            display: flex;
            gap: 4px;
            margin-top: 4px;
        }

        .dv-x-label {
            font-size: 10px;
            color: #999;
            text-align: center;
            flex: 1;
            min-width: 52px;
            white-space: nowrap;
        }

        .dv-x-label.is-current {
            background: #c0551a;
            color: #fff;
            border-radius: 4px;
            padding: 1px 3px;
        }

        .dv-summary {
            background: #fffbf5;
            border: 1px solid #f0e8da;
            border-radius: 8px;
            padding: 18px;
            margin-top: 18px;
        }

        .dv-summary-title {
            font-size: 15px;
            font-weight: 700;
            color: #222;
            margin-bottom: 8px;
        }

        .dv-summary-text {
            font-size: 14px;
            color: #666;
            line-height: 1.8;
            font-style: italic;
        }

        .badge-current {
            display: inline-block;
            background: #c0551a;
            color: #fff;
            border-radius: 4px;
            padding: 1px 8px;
            font-size: 11px;
            font-weight: 700;
            margin-left: 8px;
        }

        .acc-num-cur {
            background: #e04a12 !important;
            box-shadow: 0 0 0 3px rgba(192, 85, 26, .25);
        }

        .dv-tuhoa {
            display: flex;
            flex-wrap: wrap;
            gap: 6px;
            margin-bottom: 12px;
        }

        .dv-th {
            font-size: 12px;
            padding: 2px 10px;
            border-radius: 4px;
            font-weight: 600;
        }

        .dv-th-loc {
            background: #e8f5e9;
            color: #2e7d32;
        }

        .dv-th-quyen {
            background: #e3f2fd;
            color: #1565c0;
        }

        .dv-th-khoa {
            background: #f3e5f5;
            color: #6a1b9a;
        }

        .dv-th-ky {
            background: #fce4ec;
            color: #c62828;
        }

        .dv-sao {
            font-size: 13px;
            color: #c0551a;
            margin-bottom: 8px;
        }

        .dv-ai {
            font-size: 15px;
            color: #444;
            line-height: 1.8;
            font-style: italic;
        }

        /* Tooltip nổi */
        .bar-tooltip {
            position: fixed;
            background: #1a1a1a;
            color: #fff;
            padding: 10px 14px;
            border-radius: 8px;
            font-size: 13px;
            pointer-events: none;
            z-index: 9999;
            display: none;
            line-height: 1.8;
            box-shadow: 0 4px 20px rgba(0, 0, 0, .3);
            min-width: 160px;
        }

        .bar-tooltip .tt-period {
            font-weight: 700;
            font-size: 14px;
            border-bottom: 1px solid rgba(255, 255, 255, .2);
            padding-bottom: 5px;
            margin-bottom: 5px;
        }

        .bar-tooltip .tt-tl {
            color: #4caf89;
            font-weight: 600;
        }

        .bar-tooltip .tt-tt {
            color: #c8c8c8;
            font-weight: 600;
        }

        /* Nguyệt vận */
        .nv-item {
            border-bottom: 1px solid #ede8e0;
        }

        .nv-header {
            display: flex;
            align-items: flex-start;
            gap: 14px;
            padding: 18px 4px;
            cursor: pointer;
        }

        .nv-header:hover .nv-title {
            color: #c0551a;
        }

        .nv-icon-wrap {
            flex-shrink: 0;
            margin-top: 2px;
        }

        .nv-icon-lines {
            display: flex;
            flex-direction: column;
            gap: 3px;
            width: 20px;
        }

        .nv-icon-lines span {
            display: block;
            height: 2px;
            background: #c0551a;
            border-radius: 1px;
        }

        .nv-icon-lines span:nth-child(2) {
            width: 70%;
        }

        .nv-icon-lines span:nth-child(3) {
            width: 50%;
        }

        .nv-info {
            flex: 1;
        }

        .nv-title {
            font-size: 18px;
            font-weight: 700;
            color: #222;
            font-family: 'Newsreader', serif;
        }

        .nv-date {
            font-size: 13px;
            color: #999;
            margin-top: 2px;
        }

        .nv-plus {
            color: #c0551a;
            font-size: 22px;
            font-weight: 300;
            flex-shrink: 0;
        }

        .nv-preview {
            font-size: 14px;
            color: #666;
            line-height: 1.7;
            padding: 0 4px 16px 38px;
            font-style: italic;
        }

        .nv-body {
            padding: 0 4px 20px 38px;
        }

        .nv-body-inner {
            background: #fffbf5;
            border: 1px solid #f0e8da;
            border-radius: 8px;
            padding: 20px;
        }

        .nv-cung-row {
            display: flex;
            gap: 8px;
            flex-wrap: wrap;
            margin-bottom: 14px;
        }

        .nv-cung-badge {
            font-size: 13px;
            font-weight: 600;
            padding: 4px 12px;
            border-radius: 20px;
            background: #f5e6d3;
            color: #c0551a;
        }

        .nv-sao-list {
            font-size: 14px;
            color: #444;
            margin-bottom: 12px;
        }

        .nv-ai-text {
            font-size: 15px;
            color: #444;
            line-height: 1.8;
            white-space: pre-line;
        }

        .nv-tuhoa {
            display: flex;
            flex-wrap: wrap;
            gap: 6px;
            margin-bottom: 12px;
        }

        .nv-th {
            font-size: 12px;
            padding: 2px 10px;
            border-radius: 4px;
            font-weight: 600;
        }

        /* Nhật vận calendar */
        .nhv-wrap {
            max-width: 800px;
            margin: 0 auto;
        }

        .nhv-nav {
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 16px;
            margin-bottom: 16px;
        }

        .nhv-nav-btn {
            width: 32px;
            height: 32px;
            border: 1px solid #e5e0d8;
            border-radius: 50%;
            background: #fff;
            color: #c0551a;
            font-size: 18px;
            cursor: pointer;
            display: flex;
            align-items: center;
            justify-content: center;
            transition: .2s;
        }

        .nhv-nav-btn:hover {
            background: #c0551a;
            color: #fff;
        }

        .nhv-month-title {
            font-size: 17px;
            font-weight: 700;
            color: #222;
            min-width: 160px;
            text-align: center;
        }

        .nhv-grid {
            background: #fff;
            border: 1px solid #e5e0d8;
            border-radius: 10px;
            overflow: hidden;
        }

        .nhv-head {
            display: grid;
            grid-template-columns: repeat(7, 1fr);
            background: #8b2500;
        }

        .nhv-head span {
            text-align: center;
            padding: 10px 4px;
            font-size: 12px;
            font-weight: 700;
            color: #fff;
        }

        .nhv-head span:last-child {
            color: #ffcfbc;
        }

        .nhv-days {
            display: grid;
            grid-template-columns: repeat(7, 1fr);
        }

        .nhv-day {
            min-height: 80px;
            padding: 8px 6px;
            border-right: 1px solid #f0ebe3;
            border-bottom: 1px solid #f0ebe3;
            cursor: pointer;
            position: relative;
            transition: .15s;
        }

        .nhv-day:nth-child(7n) {
            border-right: none;
        }

        .nhv-day:hover {
            background: #fff8f5;
        }

        .nhv-day.empty {
            background: #fafafa;
            cursor: default;
        }

        .nhv-day.today {
            background: #fff3ed;
        }

        .nhv-day.selected {
            background: #fff3ed;
            outline: 2px solid #c0551a;
            outline-offset: -2px;
        }

        .nhv-day.sunday .nhv-dl {
            color: #1565c0;
        }

        .nhv-dl {
            font-size: 20px;
            font-weight: 700;
            color: #222;
            line-height: 1;
        }

        .nhv-al {
            font-size: 11px;
            color: #888;
            margin-top: 2px;
        }

        .nhv-cchi {
            font-size: 11px;
            color: #777;
            margin-top: 6px;
        }

        .nhv-dot {
            position: absolute;
            top: 8px;
            right: 8px;
            width: 8px;
            height: 8px;
            border-radius: 50%;
        }

        .nhv-dot.tot {
            background: #4caf89;
        }

        .nhv-dot.xau {
            background: #e53935;
        }

        .nhv-footer {
            display: flex;
            align-items: center;
            justify-content: space-between;
            padding: 10px 14px;
            background: #fff;
            border: 1px solid #e5e0d8;
            border-top: none;
            border-radius: 0 0 10px 10px;
        }

        .nhv-legend {
            display: flex;
            gap: 14px;
            font-size: 13px;
        }

        .nhv-legend span {
            display: flex;
            align-items: center;
            gap: 5px;
        }

        .nhv-date-input {
            display: flex;
            gap: 8px;
            align-items: center;
        }

        .nhv-date-input input {
            border: 1px solid #e5e0d8;
            border-radius: 6px;
            padding: 6px 10px;
            font-size: 13px;
        }

        .nhv-date-input button {
            background: #c0551a;
            color: #fff;
            border: none;
            border-radius: 6px;
            padding: 7px 14px;
            font-size: 13px;
            font-weight: 600;
            cursor: pointer;
        }

        /* Day detail card */
        .nhv-detail {
            margin-top: 20px;
        }

        .nhv-day-card {
            background: #fff;
            border: 1px solid #e5e0d8;
            border-radius: 10px;
            overflow: hidden;
            margin-bottom: 16px;
        }

        .nhv-day-card-head {
            background: #8b2500;
            color: #fff;
            text-align: center;
            padding: 12px;
            font-size: 16px;
            font-weight: 700;
            letter-spacing: .06em;
        }

        .nhv-day-card-body {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 0;
        }

        .nhv-cal-col {
            padding: 18px;
            text-align: center;
        }

        .nhv-cal-col:first-child {
            border-right: 1px solid #f0ebe3;
        }

        .nhv-cal-label {
            font-size: 11px;
            font-weight: 700;
            color: #888;
            letter-spacing: .08em;
            margin-bottom: 4px;
        }

        .nhv-cal-big {
            font-size: 52px;
            font-weight: 700;
            color: #222;
            line-height: 1;
        }

        .nhv-cal-sub {
            font-size: 13px;
            color: #888;
            margin-top: 4px;
        }

        .nhv-meta {
            display: flex;
            justify-content: center;
            gap: 24px;
            padding: 12px 18px;
            border-top: 1px solid #f0ebe3;
        }

        .nhv-meta-item {
            text-align: center;
        }

        .nhv-meta-item small {
            font-size: 11px;
            color: #999;
            display: block;
        }

        .nhv-meta-item strong {
            font-size: 13px;
            color: #222;
        }

        .nhv-good-badge {
            margin: 10px 18px;
            background: #e8f5e9;
            color: #2e7d32;
            border-radius: 20px;
            padding: 6px;
            text-align: center;
            font-size: 13px;
            font-weight: 600;
        }

        .nhv-bad-badge {
            margin: 10px 18px;
            background: #fce4ec;
            color: #c62828;
            border-radius: 20px;
            padding: 6px;
            text-align: center;
            font-size: 13px;
            font-weight: 600;
        }

        .nhv-luan {
            background: #fff;
            border: 1px solid #e5e0d8;
            border-radius: 10px;
            padding: 20px;
        }

        .nhv-luan-title {
            font-weight: 700;
            color: #222;
            margin-bottom: 4px;
            font-size: 15px;
        }

        .nhv-luan-sub {
            font-size: 12px;
            color: #888;
            margin-bottom: 14px;
        }

        .nhv-luan-text {
            font-size: 14px;
            color: #333;
            line-height: 1.9;
            white-space: pre-line;
        }

        /* Page wrapper */
        #laso-result-page {
            background: #ffffff;
            min-height: 100vh;
            padding: 24px 20px 60px;
            max-width: 1200px;
            margin: 0 auto;
        }

        #laso-result-page h1 {
            font-size: 24px;
            font-weight: 700;
            color: #111827;
            font-family: 'Be Vietnam Pro', sans-serif;
            margin-bottom: 4px;
        }

        #laso-result-page .sub-title {
            color: #6b7280;
            font-size: 14px;
            margin-bottom: 20px;
        }

        /* ============================================================
           RESPONSIVE – Mobile overrides
           ============================================================ */

        /* Hero */
        @media (max-width: 768px) {
            #lap-la-so-hero {
                min-height: unset !important;
                padding-top: 48px !important;
                padding-bottom: 48px !important;
            }
        }

        /* Result page */
        @media (max-width: 768px) {
            #laso-result-page {
                padding: 12px 12px 48px !important;
            }
        }

        /* Tab bar */
        @media (max-width: 640px) {
            .tab-bar {
                gap: 4px;
                padding: 8px 4px;
                justify-content: flex-start;
            }
            .tab-btn {
                font-size: 11px;
                padding: 6px 10px;
            }
        }

        /* Lá số SVG scroll */
        @media (max-width: 768px) {
            #laso-svg-container { overflow-x: auto; }
            #laso-svg-container svg { min-width: 480px; }
        }

        /* Accordion indentation */
        @media (max-width: 640px) {
            .acc-body  { padding: 0 4px 16px 0; }
            .acc-preview { padding: 0 4px 12px 0; }
            .acc-header { gap: 8px; padding: 12px 0; }
            .acc-title  { font-size: 15px; }
            .acc-num    { min-width: 30px; height: 30px; font-size: 13px; }
            .nv-body    { padding: 0 0 16px 0; }
            .nv-preview { padding: 0 0 12px 0; }
        }

        /* Đại vận detail panels – stack vertically */
        @media (max-width: 720px) {
            .dv-detail-panels {
                flex-direction: column !important;
                align-items: stretch !important;
            }
            .dv-detail-panels > div {
                flex: unset !important;
                width: 100% !important;
                height: auto !important;
                max-width: 100% !important;
            }
            .dv-detail-panels svg {
                width: 100% !important;
                height: auto !important;
            }
        }

        /* Bar chart scroll */
        @media (max-width: 768px) {
            .dv-bars-wrap { overflow-x: auto; }
            .dv-bars      { min-width: 420px; }
            .dv-x-labels  { min-width: 420px; }
        }

        /* Nhật vận calendar cells */
        @media (max-width: 640px) {
            .nhv-day  { min-height: 54px; padding: 5px 3px; }
            .nhv-dl   { font-size: 15px; }
            .nhv-al, .nhv-cchi { font-size: 9px; }
            .nhv-head span { font-size: 10px; padding: 7px 2px; }
            .nhv-cal-big { font-size: 36px; }
            .nhv-footer { flex-direction: column; gap: 8px; align-items: flex-start; }
            .nhv-date-input { flex-wrap: wrap; }
            .nhv-day-card-body { grid-template-columns: 1fr; }
            .nhv-cal-col:first-child { border-right: none; border-bottom: 1px solid #f0ebe3; }
        }

        /* General info cards */
        @media (max-width: 640px) {
            .info-card { padding: 14px 12px; }
            .info-row  { font-size: 13px; }
            .dv-ai     { font-size: 14px; }
            .dv-tuhoa  { gap: 4px; }
            .dv-th     { font-size: 11px; padding: 2px 7px; }
        }

        /* Page content */
        @media (max-width: 640px) {
            .wp-page-content { padding: 40px 16px; }
            .wp-page-content h1 { font-size: 1.75rem; }
            .wp-page-content h2 { font-size: 1.4rem; }
        }

        /* History list */
        @media (max-width: 640px) {
            #laso-history-list { max-height: 200px; }
        }


